- virtual bool touching() const { return false; }
- virtual bool writing() const { return false; }
- virtual bool touch_enabled() const { return false; }
- void write_pass_finished (double when);
+ /** query default interpolation for parameter-descriptor */
+ virtual InterpolationStyle default_interpolation() const;
+
+ /** set the interpolation style of the automation data.
+ *
+ * This will fail when asking for Logarithmic scale and min,max crosses 0
+ * or Exponential scale with min != 0.
+ *
+ * @param is interpolation style
+ * @returns true if style change was successful
+ */
+ bool 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; }