summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_playlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/midi_playlist.h')
-rw-r--r--libs/ardour/ardour/midi_playlist.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/libs/ardour/ardour/midi_playlist.h b/libs/ardour/ardour/midi_playlist.h
index 5e334d5546..f49593bd85 100644
--- a/libs/ardour/ardour/midi_playlist.h
+++ b/libs/ardour/ardour/midi_playlist.h
@@ -47,13 +47,30 @@ public:
MidiPlaylist (Session&, const XMLNode&, bool hidden = false);
MidiPlaylist (Session&, std::string name, bool hidden = false);
MidiPlaylist (boost::shared_ptr<const MidiPlaylist> other, std::string name, bool hidden = false);
- MidiPlaylist (boost::shared_ptr<const MidiPlaylist> other, framepos_t start, framecnt_t cnt,
- std::string name, bool hidden = false);
+
+ /** This constructor does NOT notify others (session) */
+ MidiPlaylist (boost::shared_ptr<const MidiPlaylist> other,
+ framepos_t start,
+ framecnt_t cnt,
+ std::string name,
+ bool hidden = false);
~MidiPlaylist ();
+ /** Read a range from the playlist into an event sink.
+ *
+ * @param buf Destination for events.
+ * @param start First frame of read range.
+ * @param cnt Number of frames in read range.
+ * @param chan_n Must be 0 (this is the audio-style "channel", where each
+ * channel is backed by a separate region, not MIDI channels, which all
+ * exist in the same region and are not handled here).
+ * @return The number of frames read (time, not an event count).
+ */
framecnt_t read (Evoral::EventSink<framepos_t>& buf,
- framepos_t start, framecnt_t cnt, uint32_t chan_n = 0);
+ framepos_t start,
+ framecnt_t cnt,
+ uint32_t chan_n = 0);
int set_state (const XMLNode&, int version);
@@ -86,7 +103,6 @@ private:
typedef std::map<Region*,MidiStateTracker*> NoteTrackers;
NoteTrackers _note_trackers;
-
};
} /* namespace ARDOUR */