fixes for desirable playback when using seamless looping.
[ardour.git] / libs / ardour / export_channel.cc
index 296bfc9022493ada07e2d2a03e41de1fc9c8e59c..93621717381ca19c2c4ea4a7d95761aa47dd75d7 100644 (file)
@@ -187,11 +187,12 @@ RegionExportChannelFactory::update_buffers (framecnt_t frames)
                assert (mixdown_buffer && gain_buffer);
                for (size_t channel = 0; channel < n_channels; ++channel) {
                        memset (mixdown_buffer.get(), 0, sizeof (Sample) * frames);
+                       buffers.get_audio (channel).silence(frames);
                        region.read_at (buffers.get_audio (channel).data(), mixdown_buffer.get(), gain_buffer.get(), position, frames, channel);
                }
                break;
        case Processed:
-               track.export_stuff (buffers, position, frames, track.main_outs(), true, true);
+               track.export_stuff (buffers, position, frames, track.main_outs(), true, true, false);
                break;
        default:
                throw ExportFailed ("Unhandled type in ExportChannelFactory::update_buffers");
@@ -242,7 +243,7 @@ RouteExportChannel::read (Sample const *& data, framecnt_t frames) const
 #ifndef NDEBUG
        (void) frames;
 #else
-       assert (frames <= (framecnt_t) buffer.size());
+       assert (frames <= (framecnt_t) buffer.capacity());
 #endif
        data = buffer.data();
 }