DummyBackend: fix midi event mux+sorting
[ardour.git] / libs / ardour / export_channel.cc
index 8c5a7e4abefe1368a1d367c2f3416abb40752eea..8ea01f3ec3c424b583a6ee0834a1f257d30c3559 100644 (file)
@@ -131,7 +131,7 @@ RegionExportChannelFactory::RegionExportChannelFactory (Session * session, Audio
 
                mixdown_buffer.reset (new Sample [frames_per_cycle]);
                gain_buffer.reset (new Sample [frames_per_cycle]);
-               memset (gain_buffer.get(), 1.0, sizeof (Sample) * frames_per_cycle);
+               std::fill_n (gain_buffer.get(), frames_per_cycle, Sample (1.0));
 
                break;
          case Processed:
@@ -187,6 +187,7 @@ 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;
@@ -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();
 }