r283@gandalf: fugalh | 2006-08-09 08:13:37 -0600
[ardour.git] / gtk2_ardour / automation_line.h
index 0567abba0541b2ed25dc6863e3e81eceb6a529e8..ec86b7455fd2cfddf4c6d3de4cd6997698abbe64 100644 (file)
@@ -26,7 +26,6 @@
 #include <string>
 #include <sys/types.h>
 
-#include <gtkmm.h>
 #include <libgnomecanvasmm/line.h>
 #include <sigc++/signal.h>
 #include "canvas.h"
@@ -95,10 +94,10 @@ class ControlPoint
        ShapeType _shape;
 };
 
-class AutomationLine : public sigc::trackable
+class AutomationLine : public sigc::trackable, public Stateful
 {
   public:
-        AutomationLine (string name, TimeAxisView&, ArdourCanvas::Group&, ARDOUR::AutomationList&);
+        AutomationLine (const string & name, TimeAxisView&, ArdourCanvas::Group&, ARDOUR::AutomationList&);
        virtual ~AutomationLine ();
 
        void queue_reset ();
@@ -159,7 +158,12 @@ class AutomationLine : public sigc::trackable
        bool is_last_point (ControlPoint &);
        bool is_first_point (ControlPoint &);
 
+       XMLNode& get_state (void);
+       int set_state (const XMLNode&);
+
+        PBD::ID id() { return _id; }
   protected:
+        PBD::ID _id;
        string _name;
        guint32 _height;
        uint32_t _line_color;