Prepare for non-bypassable plugins (Mixbus channelstrip)

This commit is contained in:
Robin Gareus 2018-07-31 22:24:15 +02:00
parent 1d55ac1706
commit 465ceb63fa
3 changed files with 15 additions and 0 deletions

View File

@ -115,6 +115,10 @@ public:
#ifdef MIXBUS
bool is_channelstrip () const;
bool is_nonbypassable () const;
#else
bool is_channelstrip () const { return false; }
bool is_nonbypassable () const { return false; }
#endif
void set_input_map (uint32_t, ChanMapping);

View File

@ -1462,6 +1462,8 @@ LuaBindings::common (lua_State* L)
.addFunction ("type", &PluginInsert::type)
.addFunction ("signal_latency", &PluginInsert::signal_latency)
.addFunction ("get_count", &PluginInsert::get_count)
.addFunction ("is_channelstrip", &PluginInsert::is_channelstrip)
.addFunction ("is_nonbypassable", &PluginInsert::is_channelstrip)
.endClass ()
.deriveWSPtrClass <ReadOnlyControl, PBD::StatefulDestructible> ("ReadOnlyControl")

View File

@ -639,6 +639,11 @@ PluginInsert::activate ()
void
PluginInsert::deactivate ()
{
#ifdef MIXBUS
if (is_nonbypassable ()) {
return;
}
#endif
_timing_stats.reset ();
Processor::deactivate ();
@ -1551,6 +1556,10 @@ bool
PluginInsert::is_channelstrip () const {
return _plugins.front()->is_channelstrip();
}
bool
PluginInsert::is_nonbypassable () const {
return _plugins.front()->is_nonbypassable ();
}
#endif
bool