summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/mute_master.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-03-12 22:58:00 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:40 -0400
commit194b213456df43cb522651db6f27286a48eadec6 (patch)
tree5b415907ecd38ad92b79834b56105a821ce961e1 /libs/ardour/ardour/mute_master.h
parent5531c834963726d5a35db078e17a7508f2b9d72d (diff)
add implicit mute state to MuteMaster and use when a master of a mute control is enabled/disabled. Add AutomationControl::master_changed() as a virtual method to handle ... master value changes
Diffstat (limited to 'libs/ardour/ardour/mute_master.h')
-rw-r--r--libs/ardour/ardour/mute_master.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/libs/ardour/ardour/mute_master.h b/libs/ardour/ardour/mute_master.h
index d88cbdcd39..14597cb56b 100644
--- a/libs/ardour/ardour/mute_master.h
+++ b/libs/ardour/ardour/mute_master.h
@@ -66,17 +66,21 @@ class LIBARDOUR_API MuteMaster : public SessionHandleRef, public PBD::Stateful
void set_soloed_by_others (bool yn) { _soloed_by_others = yn; }
void set_solo_ignore (bool yn) { _solo_ignore = yn; }
+ void mod_muted_by_others (int32_t delta);
+ bool muted_by_others () const { return _muted_by_others; }
+
PBD::Signal0<void> MutePointChanged;
XMLNode& get_state();
int set_state(const XMLNode&, int version);
private:
- volatile MutePoint _mute_point;
- volatile bool _muted_by_self;
- volatile bool _soloed_by_self;
- volatile bool _soloed_by_others;
- volatile bool _solo_ignore;
+ MutePoint _mute_point;
+ bool _muted_by_self;
+ bool _soloed_by_self;
+ bool _soloed_by_others;
+ bool _solo_ignore;
+ int32_t _muted_by_others;
};
} // namespace ARDOUR