From 52d746c5fb39263a42dd33de12e101c3fbeafaa9 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 20 Jul 2016 16:10:11 -0400 Subject: MuteMaster should (a) use a Muteable's own ::muted_by_others_soloing() (b) not try to use its own _solo_ignore to track Muteable::can_solo() or solo isolate state --- libs/ardour/mute_master.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'libs/ardour/mute_master.cc') diff --git a/libs/ardour/mute_master.cc b/libs/ardour/mute_master.cc index 29a2fe9143..ed77942f6c 100644 --- a/libs/ardour/mute_master.cc +++ b/libs/ardour/mute_master.cc @@ -36,13 +36,13 @@ const string MuteMaster::xml_node_name (X_("MuteMaster")); const MuteMaster::MutePoint MuteMaster::AllPoints = MuteMaster::MutePoint( PreFader|PostFader|Listen|Main); -MuteMaster::MuteMaster (Session& s, const std::string&) +MuteMaster::MuteMaster (Session& s, Muteable& m, const std::string&) : SessionHandleRef (s) + , _muteable (&m) , _mute_point (MutePoint (0)) , _muted_by_self (false) , _soloed_by_self (false) , _soloed_by_others (false) - , _solo_ignore (false) , _muted_by_masters (0) { @@ -166,10 +166,7 @@ MuteMaster::get_state() bool MuteMaster::muted_by_others_soloing_at (MutePoint mp) const { - /* note: this is currently called with the assumption that the owner is - not soloed. it does not test for this condition. - */ - return (!_solo_ignore && _session.soloing()) && (_mute_point & mp); + return _muteable->muted_by_others_soloing() && (_mute_point & mp); } void -- cgit v1.2.3