From 4f3fed1c08f0c9263f28e39f06db66021b15d714 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 14 Apr 2016 21:02:28 +0200 Subject: fix split plugin default connection with strict-i/o Only connect the available input channels, ignore others. --- libs/ardour/plugin_insert.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc index 81c15efbf1..f7664d9951 100644 --- a/libs/ardour/plugin_insert.cc +++ b/libs/ardour/plugin_insert.cc @@ -1280,13 +1280,19 @@ PluginInsert::reset_map (bool emit) } else { if (_match.method == Split) { if (cend == 0) { continue; } + if (_strict_io && ic + stride * pc >= cend) { + break; + } /* connect *no* sidechain sinks in round-robin fashion */ _in_map[pc].set (*t, in, ic + stride * pc); + if (_strict_io && (ic + 1) == cend) { + break; + } ic = (ic + 1) % cend; } else { uint32_t s = in - shift; if (stride * pc + s < cend) { - _in_map[pc].set (*t, in, stride * pc + s); + _in_map[pc].set (*t, in, s + stride * pc); } } } -- cgit v1.2.3