summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/route_ui.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index c1f62f3a20..afaf4561c8 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -1243,13 +1243,13 @@ RouteUI::mute_active_state (Session* s, boost::shared_ptr<Route> r)
return ActiveState(0);
}
-
if (Config->get_show_solo_mutes() && !Config->get_solo_control_is_listen_control ()) {
if (r->muted ()) {
/* full mute */
return Gtkmm2ext::ExplicitActive;
- } else if (r->muted_by_others()) {
+ } else if (r->muted_by_others ()) {
+ /* this will reflect both solo mutes AND master mutes */
return Gtkmm2ext::ImplicitActive;
} else {
/* no mute at all */
@@ -1261,6 +1261,12 @@ RouteUI::mute_active_state (Session* s, boost::shared_ptr<Route> r)
if (r->muted()) {
/* full mute */
return Gtkmm2ext::ExplicitActive;
+ } else if (r->mute_master()->muted_by_others()) {
+ /* note the direct use of MuteMaster API here. We are
+ not interested in showing
+ others-soloed-so-this-muted status in this branch.
+ */
+ return Gtkmm2ext::ImplicitActive;
} else {
/* no mute at all */
return Gtkmm2ext::Off;