summaryrefslogtreecommitdiff
path: root/libs/evoral/evoral
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-07-17 03:10:40 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-07-17 03:10:40 +0000
commit3c252e9321dccf9b653b6b9ab4a7ffe5cda31b79 (patch)
treeb8afdbe754818713249fb9d14e5b8a79ab24243d /libs/evoral/evoral
parent539b94490f7ab660f24b3de80df5514f61d481b0 (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.hpp2
-rw-r--r--libs/evoral/evoral/ControlList.hpp7
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 ();
};