diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-19 21:09:40 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-08-19 21:09:40 +0000 |
commit | 7b6b75f38ff6b34de3f70e36045498f227c1727d (patch) | |
tree | d7bc76a8745daa5051b2bcce7f84910f3ad72aac /libs/ardour/ardour/automation_list.h | |
parent | b6642d14ca64153b5731d1a3a79e4d00060541ca (diff) |
forward port automation handling changes from 2.x, upto and including about rev 6981 (will need full testing in the 3.X context). as on 2.x, this removes real-time visual updates to automation curves during write/touch automation recording
git-svn-id: svn://localhost/ardour2/branches/3.0@7653 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/automation_list.h')
-rw-r--r-- | libs/ardour/ardour/automation_list.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h index acb071cca7..9a5420e74b 100644 --- a/libs/ardour/ardour/automation_list.h +++ b/libs/ardour/ardour/automation_list.h @@ -61,19 +61,21 @@ class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlL PBD::Signal0<void> 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<void> StateChanged; static PBD::Signal1<void,AutomationList*> AutomationListCreated; - 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); @@ -86,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 |