make MMC work again, make tracing MIDI input work again, add GUI control for MMC...
[ardour.git] / libs / pbd / pbd / controllable.h
index c88eb298bcca4193dc57a5408d3a35d3fc2dcd31..c152013c663f896c5d43b4ce6fbb4a23c5cd165d 100644 (file)
@@ -2,6 +2,7 @@
 #define __pbd_controllable_h__
 
 #include <string>
+#include <set>
 
 #include <sigc++/trackable.h>
 #include <sigc++/signal.h>
@@ -36,8 +37,18 @@ class Controllable : public PBD::StatefulDestructible {
 
        std::string name() const { return _name; }
 
+       static Controllable* by_id (const PBD::ID&);
+       static Controllable* by_name (const std::string&);
+
   private:
        std::string _name;
+
+       void add ();
+       void remove ();
+
+       typedef std::set<PBD::Controllable*> Controllables;
+       static Glib::Mutex* registry_lock;
+       static Controllables registry;
 };
 
 }