summaryrefslogtreecommitdiff
path: root/libs/ardour/mute_master.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-07-20 16:10:11 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-07-20 16:10:11 -0400
commit52d746c5fb39263a42dd33de12e101c3fbeafaa9 (patch)
tree70a7db99a454b0d77ef0239684719da2f8ad5f67 /libs/ardour/mute_master.cc
parent316562ee9e04edccff6de5f97618cbd59ef12755 (diff)
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
Diffstat (limited to 'libs/ardour/mute_master.cc')
-rw-r--r--libs/ardour/mute_master.cc9
1 files changed, 3 insertions, 6 deletions
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