Fixes to bundle manager to make it vaguely usable.
[ardour.git] / libs / ardour / ardour / midi_playlist.h
index 44f04b781b2c5810a18bf007d43721d5ee7cb997..d7fdadb2f532092b129459a374315a4d38c03379 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <ardour/ardour.h>
 #include <ardour/playlist.h>
+#include <evoral/Parameter.hpp>
 
 namespace ARDOUR
 {
@@ -33,7 +34,7 @@ class Session;
 class Region;
 class MidiRegion;
 class Source;
-class MidiRingBuffer;
+template<typename T> class MidiRingBuffer;
 
 class MidiPlaylist : public ARDOUR::Playlist
 {
@@ -46,18 +47,21 @@ public:
 
        ~MidiPlaylist ();
 
-       nframes_t read (MidiRingBuffer& buf,
+       nframes_t read (MidiRingBuffer<double>& buf,
                        nframes_t start, nframes_t cnt, uint32_t chan_n=0);
 
        int set_state (const XMLNode&);
        UndoAction get_memento() const;
 
        bool destroy_region (boost::shared_ptr<Region>);
+       
+       void set_note_mode (NoteMode m) { _note_mode = m; }
+
+       std::set<Evoral::Parameter> contained_automation();
 
 protected:
 
        /* playlist "callbacks" */
-       void flush_notifications ();
 
        void finalize_split_region (boost::shared_ptr<Region> original, boost::shared_ptr<Region> left, boost::shared_ptr<Region> right);
        
@@ -66,10 +70,11 @@ protected:
        void remove_dependents (boost::shared_ptr<Region> region);
 
 private:
-       XMLNode& state (bool full_state);
        void dump () const;
 
        bool region_changed (Change, boost::shared_ptr<Region>);
+       
+       NoteMode _note_mode;  
 };
 
 } /* namespace ARDOUR */