fix --disable-plugins (bypass ‘em all)
[ardour.git] / libs / ardour / route.cc
index 3ff30f826eb4335064d2bf8773deceef22b37d5d..36adbfa148f6b4e9442a5bb5495a80e78703e3f3 100644 (file)
@@ -772,6 +772,11 @@ Route::set_solo (bool yn, void *src)
                return;
        }
 
+       if (is_master() || is_monitor() || is_auditioner()) {
+               DEBUG_TRACE (DEBUG::Solo, string_compose ("%1 ignore solo change (master, monitor or auditioner)\n", name()));
+               return;
+       }
+
        if (_route_group && src != _route_group && _route_group->is_active() && _route_group->is_solo()) {
                _route_group->foreach_route (boost::bind (&Route::set_solo, _1, yn, _route_group));
                return;
@@ -1221,7 +1226,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()) )
+                               if ( string_is_affirmative (prop->value()) && !_session.get_disable_all_loaded_plugins() )
                                        processor->activate();
                                else
                                        processor->deactivate();