13
0

Require Session MIDI buffer for Triggerbox sidechain

This fixes an issue when adding a MIDI track, but there there
are no session-buffers for it, leading to:

ARDOUR::Buffer& ARDOUR::BufferSet::get_available(ARDOUR::DataType, size_t): Assertioni < _available.get(type)' failed.
This commit is contained in:
Robin Gareus 2022-01-22 04:15:18 +01:00
parent b3f524a78a
commit 687149d8d2
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -1982,6 +1982,11 @@ Route::configure_processors_unlocked (ProcessorStreams* err, Glib::Threads::RWLo
processor_max_streams = ChanCount::max(processor_max_streams, iop->natural_input_streams()); processor_max_streams = ChanCount::max(processor_max_streams, iop->natural_input_streams());
processor_max_streams = ChanCount::max(processor_max_streams, iop->natural_output_streams()); processor_max_streams = ChanCount::max(processor_max_streams, iop->natural_output_streams());
} }
else if (boost::dynamic_pointer_cast<TriggerBox>(*p) != 0) {
/* TB sidechain control input */
processor_max_streams = ChanCount::max(processor_max_streams, c->first + ChanCount (DataType::MIDI, 1));
}
out = c->second; out = c->second;
if (boost::dynamic_pointer_cast<Delivery> (*p) if (boost::dynamic_pointer_cast<Delivery> (*p)
@ -2000,7 +2005,6 @@ Route::configure_processors_unlocked (ProcessorStreams* err, Glib::Threads::RWLo
lr.release (); lr.release ();
lm->acquire (); lm->acquire ();
if (_meter) { if (_meter) {
_meter->set_max_channels (processor_max_streams); _meter->set_max_channels (processor_max_streams);
} }