summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_send.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-03-05 21:18:18 +0100
committerRobin Gareus <robin@gareus.org>2017-03-05 21:18:18 +0100
commit9089c1c6bfc650a3626fcd43f0a96f02cb507fa3 (patch)
treef50ca6e226dd2fba0678994004f21f5d28cb6b67 /libs/ardour/internal_send.cc
parent115987a29beec5d5267e23611d905f1bd55f0375 (diff)
Fix AFL/PFL from MIDI tracks without audio (zero buffers)
Diffstat (limited to 'libs/ardour/internal_send.cc')
-rw-r--r--libs/ardour/internal_send.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/ardour/internal_send.cc b/libs/ardour/internal_send.cc
index 241506bdea..4f9306f38e 100644
--- a/libs/ardour/internal_send.cc
+++ b/libs/ardour/internal_send.cc
@@ -195,7 +195,8 @@ InternalSend::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame
*/
uint32_t j = 0;
- for (uint32_t i = 0; i < mixbufs_audio; ++i) {
+ uint32_t i = 0;
+ for (i = 0; i < mixbufs_audio && j < bufs_audio; ++i) {
mixbufs.get_audio(i).read_from (bufs.get_audio(j), nframes);
++j;
@@ -203,6 +204,10 @@ InternalSend::run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame
j = 0;
}
}
+ /* in case or MIDI track with 0 audio channels */
+ for (; i < mixbufs_audio; ++i) {
+ mixbufs.get_audio(i).silence (nframes);
+ }
} else {
assert (mixbufs.available() >= bufs.count());