summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-04-02 14:45:03 +0200
committerRobin Gareus <robin@gareus.org>2016-04-02 14:45:03 +0200
commit873498e196c1671e505631a3e526058a4458b419 (patch)
treeb9ad28d0301776c3a5ee9f00d54c257966cb3d17 /libs
parent8ac55574d2bb2effae377b4b385631ef98451872 (diff)
fix invalid mapping detection
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/plugin_insert.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/ardour/plugin_insert.cc b/libs/ardour/plugin_insert.cc
index b02437e130..99893ca022 100644
--- a/libs/ardour/plugin_insert.cc
+++ b/libs/ardour/plugin_insert.cc
@@ -959,14 +959,14 @@ PluginInsert::sanitize_maps ()
for (uint32_t i = 0; i < natural_input_streams().get (*t); ++i) {
bool valid;
uint32_t idx = _in_map[pc].get (*t, i, &valid);
- if (valid && idx <= _configured_in.get (*t)) {
+ if (valid && idx < _configured_in.get (*t)) {
new_in.set (*t, i, idx);
}
}
for (uint32_t o = 0; o < natural_output_streams().get (*t); ++o) {
bool valid;
uint32_t idx = _out_map[pc].get (*t, o, &valid);
- if (valid && idx <= _configured_out.get (*t)) {
+ if (valid && idx < _configured_out.get (*t)) {
new_out.set (*t, o, idx);
}
}
@@ -1034,6 +1034,7 @@ PluginInsert::reset_map (bool emit)
_out_map[pc].offset_to(*t, pc * natural_output_streams().get(*t));
}
}
+ sanitize_maps ();
if (old_in == _in_map && old_out == _out_map) {
return false;
}