Use ActionModel API in the Control Surfaces that can make use of it
[ardour.git] / libs / surfaces / mackie / controls.h
index e8098ccf7ebf5abc58e9ed72e9598d2227a61fe8..e5d723a7d1e2a2945c3ee2bd04e8abbf5bef7cdd 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <boost/smart_ptr.hpp>
 
+#include "pbd/controllable.h"
 #include "pbd/signals.h"
 
 #include "mackie_control_exception.h"
@@ -48,14 +49,14 @@ class Control {
 public:
        Control (int id, std::string name, Group& group);
        virtual ~Control() {}
-       
+
        int id() const { return _id; }
        const std::string & name() const  { return _name; }
        Group & group() const { return _group; }
 
        bool in_use () const;
        void set_in_use (bool);
-       
+
        // Keep track of the timeout so it can be updated with more incoming events
        sigc::connection in_use_connection;
 
@@ -70,10 +71,10 @@ public:
        virtual void set_control (boost::shared_ptr<ARDOUR::AutomationControl>);
 
        float get_value ();
-       void set_value (float val);
-       
+       void set_value (float val, PBD::Controllable::GroupControlDisposition gcd = PBD::Controllable::UseGroup);
+
        virtual void start_touch (double when);
-       virtual void stop_touch (bool mark, double when);
+       virtual void stop_touch (double when);
 
   protected:
        boost::shared_ptr<ARDOUR::AutomationControl> normal_ac;