special case MB channelstrip
This commit is contained in:
parent
d324f5bb9e
commit
d3447dfd15
@ -1368,8 +1368,6 @@ PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
|
|||||||
return Match (Replicate, f, _strict_io);
|
return Match (Replicate, f, _strict_io);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Split:
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1382,6 +1380,12 @@ PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
|
|||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MIXBUS
|
||||||
|
if (is_channelstrip ()) {
|
||||||
|
return Match (Replicate, 1, _strict_io);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
ChanCount ns_inputs = inputs - sidechain_input_pins ();
|
ChanCount ns_inputs = inputs - sidechain_input_pins ();
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::ChanMapping, string_compose ("resolving 'Impossible' match for %1\n", name()));
|
DEBUG_TRACE (DEBUG::ChanMapping, string_compose ("resolving 'Impossible' match for %1\n", name()));
|
||||||
@ -1394,7 +1398,7 @@ PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
|
|||||||
// houston, we have a problem.
|
// houston, we have a problem.
|
||||||
return Match (Impossible, 0);
|
return Match (Impossible, 0);
|
||||||
}
|
}
|
||||||
return Match (Delegate, 1);
|
return Match (Delegate, 1, _strict_io);
|
||||||
}
|
}
|
||||||
|
|
||||||
ChanCount midi_bypass;
|
ChanCount midi_bypass;
|
||||||
@ -1413,7 +1417,7 @@ PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
|
|||||||
}
|
}
|
||||||
if (f > 0 && outputs * f >= _configured_out) {
|
if (f > 0 && outputs * f >= _configured_out) {
|
||||||
out = outputs * f + midi_bypass;
|
out = outputs * f + midi_bypass;
|
||||||
return Match (Replicate, f);
|
return Match (Replicate, f, _strict_io);
|
||||||
}
|
}
|
||||||
|
|
||||||
// add at least as many plugins needed to connect all inputs (w/o sidechain pins)
|
// add at least as many plugins needed to connect all inputs (w/o sidechain pins)
|
||||||
@ -1425,7 +1429,7 @@ PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
|
|||||||
}
|
}
|
||||||
if (f > 0) {
|
if (f > 0) {
|
||||||
out = outputs * f + midi_bypass;
|
out = outputs * f + midi_bypass;
|
||||||
return Match (Replicate, f);
|
return Match (Replicate, f, _strict_io);
|
||||||
}
|
}
|
||||||
|
|
||||||
// add at least as many plugins needed to connect all inputs
|
// add at least as many plugins needed to connect all inputs
|
||||||
@ -1436,7 +1440,7 @@ PluginInsert::private_can_support_io_configuration (ChanCount const & inx, ChanC
|
|||||||
f = max (f, (uint32_t) ceil (inx.get(*t) / (float)nin));
|
f = max (f, (uint32_t) ceil (inx.get(*t) / (float)nin));
|
||||||
}
|
}
|
||||||
out = outputs * f + midi_bypass;
|
out = outputs * f + midi_bypass;
|
||||||
return Match (Replicate, f);
|
return Match (Replicate, f, _strict_io);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* this is the original Ardour 3/4 behavior, mainly for backwards compatibility */
|
/* this is the original Ardour 3/4 behavior, mainly for backwards compatibility */
|
||||||
@ -1510,7 +1514,12 @@ PluginInsert::automatic_can_support_io_configuration (ChanCount const & inx, Cha
|
|||||||
|
|
||||||
uint32_t f = 0;
|
uint32_t f = 0;
|
||||||
bool can_replicate = true;
|
bool can_replicate = true;
|
||||||
for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) {
|
#ifdef MIXBUS
|
||||||
|
if (is_channelstrip ()) {
|
||||||
|
can_replicate = false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
for (DataType::iterator t = DataType::begin(); t != DataType::end() && can_replicate; ++t) {
|
||||||
|
|
||||||
// ignore side-chains
|
// ignore side-chains
|
||||||
uint32_t nin = ns_inputs.get (*t);
|
uint32_t nin = ns_inputs.get (*t);
|
||||||
|
Loading…
Reference in New Issue
Block a user