Include stripped down libsmf code internally.
[ardour.git] / libs / evoral / evoral / ControlList.hpp
index 1b2b46b10bfb959dcbd2e6b24ec6a4865470fe0d..70488b60be6e1ade383d6e9038875ccc34d7bc46 100644 (file)
@@ -23,9 +23,9 @@
 #include <boost/pool/pool.hpp>
 #include <boost/pool/pool_alloc.hpp>
 #include <glibmm/thread.h>
-#include <evoral/types.hpp>
-#include <evoral/Parameter.hpp>
-#include <evoral/Curve.hpp>
+#include "evoral/types.hpp"
+#include "evoral/Parameter.hpp"
+#include "evoral/Curve.hpp"
 
 namespace Evoral {
 
@@ -84,13 +84,12 @@ public:
        typedef EventList::const_iterator const_iterator;
 
        ControlList (const Parameter& id);
-       //ControlList (const XMLNode&, Parameter id);
+       ControlList (const ControlList&);
+       ControlList (const ControlList&, double start, double end);
        virtual ~ControlList();
        
        virtual boost::shared_ptr<ControlList> create(Parameter id);
-
-       ControlList (const ControlList&);
-       ControlList (const ControlList&, double start, double end);
+       
        ControlList& operator= (const ControlList&);
        bool operator== (const ControlList&);
        
@@ -121,7 +120,7 @@ public:
        void erase_range (double start, double end);
        void erase (iterator);
        void erase (iterator, iterator);
-       void move_range (iterator start, iterator end, double, double);
+       void move_ranges (std::list< RangeMove<double> > const &);
        void modify (iterator, double, double);
 
        boost::shared_ptr<ControlList> cut (double, double);
@@ -242,6 +241,7 @@ protected:
        bool rt_safe_earliest_event_linear_unlocked (double start, double end, double& x, double& y, bool inclusive) const;
 
        boost::shared_ptr<ControlList> cut_copy_clear (double, double, int op);
+       bool erase_range_internal (double start, double end, EventList &);
 
        virtual void maybe_signal_changed ();