Part 1 of loading 2.X sessions; some things work, some things don't, hacks a-plenty.
[ardour.git] / libs / pbd / pbd / controllable.h
index 9fa374ebc66c842b126c04d28b3c55a5467ba3ae..4afcb5374004526232c2390034a4e4f02dd9c135 100644 (file)
@@ -26,7 +26,7 @@
 #include <sigc++/trackable.h>
 #include <sigc++/signal.h>
 
-#include <pbd/statefuldestructible.h>
+#include "pbd/statefuldestructible.h"
 
 class XMLNode;
 
@@ -51,16 +51,20 @@ class Controllable : public PBD::StatefulDestructible {
 
        sigc::signal<void> Changed;
 
-       int set_state (const XMLNode&);
+       int set_state (const XMLNode&, int version = 3000);
        XMLNode& get_state ();
 
-       std::string name() const { return _name; }
+       std::string name()      const { return _name; }
+       bool        touching () const { return _touching; }
+       
+       void set_touching (bool yn) { _touching = yn; }
 
        static Controllable* by_id (const PBD::ID&);
        static Controllable* by_name (const std::string&);
 
   private:
        std::string _name;
+       bool        _touching;
 
        void add ();
        void remove ();
@@ -80,7 +84,7 @@ class IgnorableControllable : public Controllable
     IgnorableControllable () : PBD::Controllable ("ignoreMe") {}
     ~IgnorableControllable () {}
     
-    void set_value (float v){}
+    void set_value (float /*v*/) {}
     float get_value () const { return 0.0; }
 };