summaryrefslogtreecommitdiff
path: root/libs/ardour/export_channel.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-05-26 21:30:58 +0200
committerRobin Gareus <robin@gareus.org>2014-05-26 21:30:58 +0200
commit314d210f2b862b90ad67e8f726d7a1af0cb1598c (patch)
tree3c87fe7409d33a3e32e526195a39b6a0ce407894 /libs/ardour/export_channel.cc
parent15adbf54e8dccebc8ffeed03098e98aad0609f69 (diff)
fix region export with fades and gain.
region.read_at() is additive - it assumes the buffer may already contain data from from lower regions.
Diffstat (limited to 'libs/ardour/export_channel.cc')
-rw-r--r--libs/ardour/export_channel.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/ardour/export_channel.cc b/libs/ardour/export_channel.cc
index fc71d8536f..8ea01f3ec3 100644
--- a/libs/ardour/export_channel.cc
+++ b/libs/ardour/export_channel.cc
@@ -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;