diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-17 03:10:40 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-07-17 03:10:40 +0000 |
commit | 3c252e9321dccf9b653b6b9ab4a7ffe5cda31b79 (patch) | |
tree | b8afdbe754818713249fb9d14e5b8a79ab24243d /libs/evoral/evoral | |
parent | 539b94490f7ab660f24b3de80df5514f61d481b0 (diff) |
lots more fidgety work on automation. sort of works now, but undo/redo needs attention
git-svn-id: svn://localhost/ardour2/branches/3.0@13047 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/evoral/evoral')
-rw-r--r-- | libs/evoral/evoral/Control.hpp | 2 | ||||
-rw-r--r-- | libs/evoral/evoral/ControlList.hpp | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/libs/evoral/evoral/Control.hpp b/libs/evoral/evoral/Control.hpp index 40f832d270..369c4df630 100644 --- a/libs/evoral/evoral/Control.hpp +++ b/libs/evoral/evoral/Control.hpp @@ -44,7 +44,7 @@ public: Control(const Parameter& parameter, boost::shared_ptr<ControlList>); virtual ~Control() {} - virtual void set_double (double val, double frame=0, bool to_list=false, bool erase_since_last=false); + virtual void set_double (double val, double frame=0, bool to_list=false); virtual double get_double (bool from_list=false, double frame=0) const; /** Get the latest user-set value diff --git a/libs/evoral/evoral/ControlList.hpp b/libs/evoral/evoral/ControlList.hpp index c6127a4e9b..74d4e5b982 100644 --- a/libs/evoral/evoral/ControlList.hpp +++ b/libs/evoral/evoral/ControlList.hpp @@ -124,7 +124,7 @@ public: virtual bool clamp_value (double& /*when*/, double& /*value*/) const { return true; } - void add (double when, double value, bool erase_since_last_add = false); + virtual void add (double when, double value); void fast_simple_add (double when, double value); void erase_range (double start, double end); @@ -245,6 +245,8 @@ public: virtual bool touch_enabled() const { return false; } void start_write_pass (double time); void write_pass_finished (double when); + void set_in_write_pass (bool); + bool in_write_pass () const; /** Emitted when mark_dirty() is called on this object */ mutable PBD::Signal0<void> Dirty; @@ -291,10 +293,11 @@ protected: static double _thinning_factor; private: - iterator insert_iterator; + iterator most_recent_insert_iterator; double insert_position; bool new_write_pass; bool did_write_during_pass; + bool _in_write_pass; void unlocked_invalidate_insert_iterator (); }; |