+
+ /** set the interpolation style of the automation data
+ * @param is interpolation style
+ */
+ void set_interpolation (InterpolationStyle is);
+
+ virtual bool touching() const { return false; }
+ virtual bool writing() const { return false; }
+ virtual bool touch_enabled() const { return false; }
+ void start_write_pass (double when);
+ void write_pass_finished (double when, double thinning_factor=0.0);
+ void set_in_write_pass (bool, bool add_point = false, double when = 0.0);
+ bool in_write_pass () const;
+ bool in_new_write_pass () { return new_write_pass; }
+
+ /** Emitted when mark_dirty() is called on this object */
+ mutable PBD::Signal0<void> Dirty;
+ /** Emitted when our interpolation style changes */
+ PBD::Signal1<void, InterpolationStyle> InterpolationChanged;
+
+ bool operator!= (ControlList const &) const;
+
+ void invalidate_insert_iterator ();