X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fautomation_list.h;h=9a5420e74bf8f43548a00b2bbdcfab50654a52b5;hb=7b6b75f38ff6b34de3f70e36045498f227c1727d;hp=1778771c5fe54cb6d8fbb3cf0a17dadbd4cca55c;hpb=aae367b63c9b619db1e40f27dc334c6987219481;p=ardour.git diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h index 1778771c5f..9a5420e74b 100644 --- a/libs/ardour/ardour/automation_list.h +++ b/libs/ardour/ardour/automation_list.h @@ -50,33 +50,32 @@ class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlL AutomationList& operator= (const AutomationList&); bool operator== (const AutomationList&); - void freeze(); void thaw (); - void mark_dirty () const; void set_automation_state (AutoState); AutoState automation_state() const { return _state; } - PBD::Signal0 automation_state_changed; + PBD::Signal1 automation_state_changed; void set_automation_style (AutoStyle m); AutoStyle automation_style() const { return _style; } PBD::Signal0 automation_style_changed; bool automation_playback() const { - return (_state & Play) || ((_state & Touch) && !_touching); + return (_state & Play) || ((_state & Touch) && !touching()); } bool automation_write () const { - return (_state & Write) || ((_state & Touch) && _touching); - } + return ((_state & Write) || ((_state & Touch) && touching())); + } PBD::Signal0 StateChanged; static PBD::Signal1 AutomationListCreated; - mutable PBD::Signal0 Dirty; - void start_touch (); - void stop_touch (); - bool touching() const { return _touching; } + void start_touch (double when); + void stop_touch (bool mark, double when); + bool touching() const { return g_atomic_int_get (&_touching); } + bool writing() const { return _state == Write; } + bool touch_enabled() const { return _state == Touch; } XMLNode& get_state (); int set_state (const XMLNode &, int version); @@ -89,9 +88,9 @@ class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlL void maybe_signal_changed (); - AutoState _state; - AutoStyle _style; - bool _touching; + AutoState _state; + AutoStyle _style; + gint _touching; }; } // namespace