Safe-guard non-rt-safe sidechain operations

This is required by 7d8b93ad for showing error when actively recording.
It also prevents other UIs (OSC, Lua,..) to change re-configuring
sidechain ports/plugins while recording.
This commit is contained in:
Robin Gareus 2018-10-29 21:52:47 +01:00
parent 7d8b93add1
commit 5bd9bf868f

View File

@ -2168,6 +2168,10 @@ Route::reorder_processors (const ProcessorList& new_order, ProcessorStreams* err
bool
Route::add_remove_sidechain (boost::shared_ptr<Processor> proc, bool add)
{
if (_session.actively_recording ()) {
return false;
}
boost::shared_ptr<PluginInsert> pi;
if ((pi = boost::dynamic_pointer_cast<PluginInsert>(proc)) == 0) {
return false;
@ -2230,6 +2234,10 @@ Route::add_remove_sidechain (boost::shared_ptr<Processor> proc, bool add)
bool
Route::plugin_preset_output (boost::shared_ptr<Processor> proc, ChanCount outs)
{
if (_session.actively_recording ()) {
return false;
}
boost::shared_ptr<PluginInsert> pi;
if ((pi = boost::dynamic_pointer_cast<PluginInsert>(proc)) == 0) {
return false;
@ -2276,6 +2284,9 @@ Route::reset_plugin_insert (boost::shared_ptr<Processor> proc)
bool
Route::customize_plugin_insert (boost::shared_ptr<Processor> proc, uint32_t count, ChanCount outs, ChanCount sinks)
{
if (_session.actively_recording ()) {
return false;
}
boost::shared_ptr<PluginInsert> pi;
if ((pi = boost::dynamic_pointer_cast<PluginInsert>(proc)) == 0) {
return false;