diff options
author | Robin Gareus <robin@gareus.org> | 2017-07-25 16:09:47 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-09-18 11:40:52 -0400 |
commit | 1d587592ca1472e38b2f8127b87b6202874f0d4e (patch) | |
tree | a3e282d5a21e0d23b0fc58541547160082343e21 /libs/ardour/ardour/pannable.h | |
parent | 1545c426d9e3bc0411f3b5532c0c5a9eb09394c8 (diff) |
Add support for Latch Automation
Diffstat (limited to 'libs/ardour/ardour/pannable.h')
-rw-r--r-- | libs/ardour/ardour/pannable.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/ardour/ardour/pannable.h b/libs/ardour/ardour/pannable.h index cd88a250cf..f96670afec 100644 --- a/libs/ardour/ardour/pannable.h +++ b/libs/ardour/ardour/pannable.h @@ -58,19 +58,19 @@ class LIBARDOUR_API Pannable : public PBD::Stateful, public Automatable, public PBD::Signal1<void, AutoState> automation_state_changed; bool automation_playback() const { - return (_auto_state & Play) || ((_auto_state & Touch) && !touching()); + return (_auto_state & Play) || ((_auto_state & (Touch | Latch)) && !touching()); } bool automation_write () const { - return ((_auto_state & Write) || ((_auto_state & Touch) && touching())); + return ((_auto_state & Write) || ((_auto_state & (Touch | Latch)) && touching())); } std::string value_as_string (boost::shared_ptr<const AutomationControl>) const; void start_touch (double when); void stop_touch (double when); - bool touching() const { return g_atomic_int_get (const_cast<gint*>(&_touching)); } + bool touching() const { return g_atomic_int_get (const_cast<gint*>(&_touching)); } bool writing() const { return _auto_state == Write; } - bool touch_enabled() const { return _auto_state == Touch; } + bool touch_enabled() const { return _auto_state & (Touch | Latch); } XMLNode& get_state (); XMLNode& state (bool full_state); |