From: Robin Gareus Date: Mon, 13 Jul 2015 11:00:39 +0000 (+0200) Subject: keep invisible processors enabled. X-Git-Tag: 4.2~255 X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=f4229968d9e8d158984b6d930ebce81992511c47 keep invisible processors enabled. fixes issues with --disable-plugins disabling internal returns (and breaking existing aux-sends). --- 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, 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 ()));