summaryrefslogtreecommitdiff
path: root/libs/ardour/internal_send.cc
diff options
context:
space:
mode:
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());