Add AutomationControl::set_value_unchecked() and AutomationControl::writable() and...
[ardour.git] / libs / ardour / ardour / automation_control.h
index c634e3474a7b437740e53341789f4de98c054eaf..9190b716774d5ffbe17760a891c5b70b628e4c08 100644 (file)
@@ -81,9 +81,21 @@ public:
        void start_touch(double when);
        void stop_touch(bool mark, double when);
 
+       /* inherited from PBD::Controllable.
+        * Derived classes MUST call ::writable() to verify
+        * that writing to the parameter is legal at that time.
+        */
        void set_value (double);
        double get_value () const;
 
+       /* automation related value setting */
+       virtual bool writable () const;
+       /* Call to ::set_value() with no test for writable() because
+        * this is only used by automation playback. We would like
+        * to make it pure virtual 
+        */
+       virtual void set_value_unchecked (double val) {}
+
        double lower()   const { return _desc.lower; }
        double upper()   const { return _desc.upper; }
        double normal()  const { return _desc.normal; }