summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-07-13 13:00:39 +0200
committerRobin Gareus <robin@gareus.org>2015-07-13 13:19:24 +0200
commitf4229968d9e8d158984b6d930ebce81992511c47 (patch)
tree4bf7a2bee7e22eef5e5e6304de6cb186947ce171 /libs
parent1c438e9a052f4cd6541c77462e18bced12abe641 (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.cc10
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 ()));