summaryrefslogtreecommitdiff
path: root/libs/ardour/route.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-11-25 13:30:55 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-11-25 13:30:55 +0000
commit33b4d64094008633bca74764af00a9a73eafc8af (patch)
tree5d3dc466ecc8a36830c1de60b96094d3323b4277 /libs/ardour/route.cc
parentcbd258bc097a0c0280d927f184e72ee4a8312da5 (diff)
lincoln's solo-mute-override should only take effect soloing in place
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4255 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r--libs/ardour/route.cc21
1 files changed, 14 insertions, 7 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 92f6ca3acd..41ba51b0d1 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -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;
}
}