diff options
Diffstat (limited to 'libs/ardour/audio_diskstream.cc')
-rw-r--r-- | libs/ardour/audio_diskstream.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/ardour/audio_diskstream.cc b/libs/ardour/audio_diskstream.cc index 0ec6533aa4..f7a1240bdd 100644 --- a/libs/ardour/audio_diskstream.cc +++ b/libs/ardour/audio_diskstream.cc @@ -139,6 +139,8 @@ AudioDiskstream::~AudioDiskstream () } channels.flush (); + + delete deprecated_io_node; } void @@ -905,7 +907,6 @@ AudioDiskstream::read (Sample* buf, Sample* mixdown_buffer, float* gain_buffer, bool reloop = false; nframes_t loop_end = 0; nframes_t loop_start = 0; - nframes_t loop_length = 0; nframes_t offset = 0; Location *loc = 0; @@ -913,6 +914,8 @@ AudioDiskstream::read (Sample* buf, Sample* mixdown_buffer, float* gain_buffer, if (!reversed) { + nframes_t loop_length = 0; + /* Make the use of a Location atomic for this read operation. Note: Locations don't get deleted, so all we care about @@ -2258,11 +2261,10 @@ AudioDiskstream::set_non_layered (bool yn) int AudioDiskstream::set_destructive (bool yn) { - bool bounce_ignored; - if (yn != destructive()) { if (yn) { + bool bounce_ignored; /* requestor should already have checked this and bounced if necessary and desired */ |