improve AU Latency PropertyChange Events
[ardour.git] / libs / ardour / ardour / scene_change.h
index b81766b0eaf67b4a8194c7df457485fc279e6d17..adb65546b5cc40a3078675ce7b4d8cf27889f1e6 100644 (file)
@@ -30,20 +30,30 @@ namespace ARDOUR
 class SceneChange : public PBD::Stateful
 {
   public:
-        SceneChange (framepos_t t) : _time (t) {};
-        virtual ~SceneChange () {};
-
-       void set_time (framepos_t);
-       framepos_t time() const { return _time; }
+       SceneChange ();
+       virtual ~SceneChange () {};
 
        static boost::shared_ptr<SceneChange> factory (const XMLNode&, int version);
        static std::string xml_node_name;
 
-    private:
-       framepos_t _time;
+        uint32_t color() const;
+        void set_color (uint32_t);
+        bool color_out_of_bounds() const { return _color == out_of_bound_color; }
+        static const uint32_t out_of_bound_color;
+
+        bool active () const { return _active; }
+        void set_active (bool);
+
+        PBD::Signal0<void> ColorChanged;
+        PBD::Signal0<void> ActiveChanged;
+
+    protected:
+        /* derived classes are responsible for serializing & deserializing this value */
+        uint32_t _color;
+        bool     _active;
 };
 
 } /* namespace */
-       
+
 
 #endif /* __libardour_scene_change_h__ */