From 402e9cb20d134e7803c33460d22c4330cfca66d2 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 4 Jul 2016 03:13:35 +0200 Subject: [PATCH] flush output buffers after processing - fixes midi-bus chaining --- libs/ardour/route.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 15848df31e..89f3e862c2 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -3443,6 +3443,12 @@ Route::no_roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, _trim->apply_gain_automation (false); passthru (bufs, start_frame, end_frame, nframes, 0); + for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { + boost::shared_ptr d = boost::dynamic_pointer_cast (*i); + if (d) { + d->flush_buffers (nframes); + } + } return 0; } @@ -3481,6 +3487,12 @@ Route::roll (pframes_t nframes, framepos_t start_frame, framepos_t end_frame, in passthru (bufs, start_frame, end_frame, nframes, declick); + for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { + boost::shared_ptr d = boost::dynamic_pointer_cast (*i); + if (d) { + d->flush_buffers (nframes); + } + } return 0; } -- 2.30.2