{
uint32_t n;
bool changed = false;
+ bool do_not_and_did_not_need_panning = ((nouts < 2) && (outputs.size() < 2));
- if (nouts < 2 || (nouts == outputs.size() && npans == size())) {
+ /* if new and old config don't need panning, or if
+ the config hasn't changed, we're done.
+ */
+
+ if (do_not_and_did_not_need_panning ||
+ ((nouts == outputs.size()) && (npans == size()))) {
return;
}
changed = true;
}
+ if (nouts < 2) {
+ goto send_changed;
+ }
+
switch (nouts) {
case 0:
break;
}
}
+ send_changed:
if (changed) {
Changed (); /* EMIT SIGNAL */
}