diff options
Diffstat (limited to 'libs/ardour/ardour/automation_list.h')
-rw-r--r-- | libs/ardour/ardour/automation_list.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libs/ardour/ardour/automation_list.h b/libs/ardour/ardour/automation_list.h index 58d1fe4acf..01c9d0641a 100644 --- a/libs/ardour/ardour/automation_list.h +++ b/libs/ardour/ardour/automation_list.h @@ -29,6 +29,7 @@ #include "pbd/undo.h" #include "pbd/xml++.h" #include "pbd/statefuldestructible.h" +#include "pbd/properties.h" #include "ardour/ardour.h" @@ -36,6 +37,28 @@ namespace ARDOUR { +class AutomationList; + +/** A SharedStatefulProperty for AutomationLists */ +class AutomationListProperty : public PBD::SharedStatefulProperty<AutomationList> +{ +public: + AutomationListProperty (PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > d, Ptr p) + : PBD::SharedStatefulProperty<AutomationList> (d.property_id, p) + {} + + AutomationListProperty (PBD::PropertyDescriptor<boost::shared_ptr<AutomationList> > d, Ptr o, Ptr c) + : PBD::SharedStatefulProperty<AutomationList> (d.property_id, o, c) + {} + + PBD::PropertyBase* clone () const; + +private: + /* No copy-construction nor assignment */ + AutomationListProperty (AutomationListProperty const &); + AutomationListProperty& operator= (AutomationListProperty const &); +}; + class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlList { public: @@ -82,6 +105,8 @@ class AutomationList : public PBD::StatefulDestructible, public Evoral::ControlL XMLNode& state (bool full); XMLNode& serialize_events (); + bool operator!= (const AutomationList &) const; + private: void create_curve_if_necessary (); int deserialize_events (const XMLNode&); |