diff options
author | Robin Gareus <robin@gareus.org> | 2015-07-13 13:00:39 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-07-13 13:19:24 +0200 |
commit | f4229968d9e8d158984b6d930ebce81992511c47 (patch) | |
tree | 4bf7a2bee7e22eef5e5e6304de6cb186947ce171 /libs | |
parent | 1c438e9a052f4cd6541c77462e18bced12abe641 (diff) |
keep invisible processors enabled.
fixes issues with --disable-plugins disabling internal returns
(and breaking existing aux-sends).
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/route.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 7b4f1495fd..432473657c 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1215,7 +1215,7 @@ Route::add_processor (boost::shared_ptr<Processor> processor, boost::shared_ptr< } - if (activation_allowed && !_session.get_disable_all_loaded_plugins()) { + if (activation_allowed && (!_session.get_disable_all_loaded_plugins () || !processor->display_to_user ())) { processor->activate (); } @@ -1295,7 +1295,7 @@ Route::add_processor_from_xml_2X (const XMLNode& node, int version) //A2 uses the "active" flag in the toplevel redirect node, not in the child plugin/IO if (i != children.end()) { if ((prop = (*i)->property (X_("active"))) != 0) { - if ( string_is_affirmative (prop->value()) && !_session.get_disable_all_loaded_plugins() ) + if ( string_is_affirmative (prop->value()) && (!_session.get_disable_all_loaded_plugins () || !processor->display_to_user () ) ) processor->activate(); else processor->deactivate(); @@ -4503,6 +4503,12 @@ Route::setup_invisible_processors () _processors = new_processors; + for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { + if (!(*i)->display_to_user () && !(*i)->active ()) { + (*i)->activate (); + } + } + DEBUG_TRACE (DEBUG::Processors, string_compose ("%1: setup_invisible_processors\n", _name)); for (ProcessorList::iterator i = _processors.begin(); i != _processors.end(); ++i) { DEBUG_TRACE (DEBUG::Processors, string_compose ("\t%1\n", (*i)->name ())); |