summaryrefslogtreecommitdiff
path: root/libs/ardour/plugin_insert.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/plugin_insert.cc')
-rw-r--r--libs/ardour/plugin_insert.cc8
1 files changed, 7 insertions, 1 deletions
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);
}
}
}