summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-06-16 15:08:10 +0200
committerRobin Gareus <robin@gareus.org>2016-06-16 15:08:25 +0200
commita9c09af816b3d7da40221ac4a2bb4c6074708d89 (patch)
tree83335b2ddbb497bc48d85fd311cc090ba1d4fad0 /libs/ardour/route.cc
parent321615e8eabc9c0085979af8af842d16433b1d1c (diff)
set latency of sidechain port
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 988f3251ef..6209b9f911 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -444,6 +444,11 @@ Route::process_output_buffers (BufferSet& bufs,
if (boost::dynamic_pointer_cast<Send>(*i) != 0) {
boost::dynamic_pointer_cast<Send>(*i)->set_delay_in(_signal_latency - latency);
}
+ if (boost::dynamic_pointer_cast<PluginInsert>(*i) != 0) {
+ const framecnt_t longest_session_latency = _initial_delay + _signal_latency;
+ boost::dynamic_pointer_cast<PluginInsert>(*i)->set_sidechain_latency (
+ _initial_delay + latency, longest_session_latency - latency);
+ }
(*i)->run (bufs, start_frame - latency, end_frame - latency, nframes, *i != _processors.back());
bufs.set_count ((*i)->output_streams());