lincoln's solo-mute-override should only take effect soloing in place
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 25 Nov 2008 13:30:55 +0000 (13:30 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 25 Nov 2008 13:30:55 +0000 (13:30 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4255 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/route.cc
libs/ardour/session.cc

index 92f6ca3acd07f28112a56be5ae76f4013d09bdda..41ba51b0d1797a428e93fe88533835fd0b49ca38 100644 (file)
@@ -824,16 +824,23 @@ Route::set_solo (bool yn, void *src)
 void
 Route::catch_up_on_solo_mute_override ()
 {
-       Glib::Mutex::Lock lm (declick_lock);
+       if (Config->get_solo_model() != InverseMute) {
+               return;
+       }
+       
+       {
 
-       if (_muted) {
-               if (Config->get_solo_mute_override()) {
-                       desired_mute_gain = (_soloed?1.0:0.0);
+               Glib::Mutex::Lock lm (declick_lock);
+               
+               if (_muted) {
+                       if (Config->get_solo_mute_override()) {
+                               desired_mute_gain = (_soloed?1.0:0.0);
+                       } else {
+                               desired_mute_gain = 0.0;
+                       }
                } else {
-                       desired_mute_gain = 0.0;
+                       desired_mute_gain = 1.0;
                }
-       } else {
-               desired_mute_gain = 1.0;
        }
 }
 
index 04fb880bcb9cedb6674ac5dc007bf101403301fb..8524aef9188a76c5f8c2b2e1f97de2a19efc66d9 100644 (file)
@@ -2406,6 +2406,10 @@ Session::catch_up_on_solo ()
 void
 Session::catch_up_on_solo_mute_override ()
 {
+       if (Config->get_solo_model() != InverseMute) {
+               return;
+       }
+
        /* this is called whenever the param solo-mute-override is
           changed.
        */