diff options
author | Robin Gareus <robin@gareus.org> | 2015-10-05 14:19:32 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-10-05 14:19:32 +0200 |
commit | e11ba7b79d68bc1070b170236c22123966d7bcc3 (patch) | |
tree | 496d95bf15d879c7e16b1130d5402df1ad55ad98 /libs/ardour/route.cc | |
parent | f42ae066cc98359a9d2861b83c68dd102748fdcf (diff) |
SiP and "solo overrides mutes" tweak:
Only Explicit solos should override mutes.
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 8f845bb8c9..74c00409c7 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -779,11 +779,12 @@ Route::set_listen (bool yn, void* src) if (yn != _monitor_send->active()) { if (yn) { _monitor_send->activate (); - _mute_master->set_soloed (true); + _mute_master->set_soloed_by_self (true); } else { _monitor_send->deactivate (); - _mute_master->set_soloed (false); + _mute_master->set_soloed_by_self (false); } + _mute_master->set_soloed_by_others (false); listen_changed (src); /* EMIT SIGNAL */ } @@ -949,7 +950,8 @@ Route::mod_solo_by_others_downstream (int32_t delta) void Route::set_mute_master_solo () { - _mute_master->set_soloed (self_soloed() || soloed_by_others_downstream() || soloed_by_others_upstream()); + _mute_master->set_soloed_by_self (self_soloed()); + _mute_master->set_soloed_by_others (soloed_by_others_downstream() || soloed_by_others_upstream()); } void |