X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fmute_master.h;h=228126b5820dd6f50bc229be8223584af71e19a3;hb=ba0458cf1f6c69366e89631d8fff916ad183d768;hp=2a90a0284e379923577fe8551429c9a7a13c68cf;hpb=bf6de6da77ca8fdeda6e92ae5adffd0a9f14da1c;p=ardour.git diff --git a/libs/ardour/ardour/mute_master.h b/libs/ardour/ardour/mute_master.h index 2a90a0284e..228126b582 100644 --- a/libs/ardour/ardour/mute_master.h +++ b/libs/ardour/ardour/mute_master.h @@ -34,11 +34,12 @@ class Session; class MuteMaster : public SessionHandleRef, public PBD::Stateful { public: + /** deliveries to mute when the channel is "muted" */ enum MutePoint { - PreFader = 0x1, - PostFader = 0x2, - Listen = 0x4, - Main = 0x8 + PreFader = 0x1, ///< mute all pre-fader sends + PostFader = 0x2, ///< mute all post-fader sends + Listen = 0x4, ///< mute listen out + Main = 0x8 ///< mute main out }; static const MutePoint AllPoints; @@ -46,17 +47,13 @@ class MuteMaster : public SessionHandleRef, public PBD::Stateful MuteMaster (Session& s, const std::string& name); ~MuteMaster() {} - bool muted() const { return _muted && (_mute_point != MutePoint (0)); } - bool muted_at (MutePoint mp) const { return _muted && (_mute_point & mp); } - - bool muted_pre_fader() const { return muted_at (PreFader); } - bool muted_post_fader() const { return muted_at (PostFader); } - bool muted_listen() const { return muted_at (Listen); } - bool muted_main () const { return muted_at (Main); } + bool muted_by_self () const { return _muted_by_self && (_mute_point != MutePoint (0)); } + bool muted_by_self_at (MutePoint mp) const { return _muted_by_self && (_mute_point & mp); } + bool muted_by_others_at (MutePoint mp) const; gain_t mute_gain_at (MutePoint) const; - void set_muted (bool yn) { _muted = yn; } + void set_muted_by_self (bool yn) { _muted_by_self = yn; } void mute_at (MutePoint); void unmute_at (MutePoint); @@ -75,7 +72,7 @@ class MuteMaster : public SessionHandleRef, public PBD::Stateful private: volatile MutePoint _mute_point; - volatile bool _muted; + volatile bool _muted_by_self; volatile bool _soloed; volatile bool _solo_ignore; };