X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fmidi_playlist_source.h;h=c64b6e53f98868dae72dbaeec39de99acd1f8251;hb=e2757229a74a17a76682b6c72868d8e4822b7678;hp=1042b61369506e3e70082c30e5fe87e142361918;hpb=489d2ba1a76c64a935808591571ca63a053172c8;p=ardour.git diff --git a/libs/ardour/ardour/midi_playlist_source.h b/libs/ardour/ardour/midi_playlist_source.h index 1042b61369..c64b6e53f9 100644 --- a/libs/ardour/ardour/midi_playlist_source.h +++ b/libs/ardour/ardour/midi_playlist_source.h @@ -33,47 +33,47 @@ namespace ARDOUR { class MidiPlaylist; class MidiPlaylistSource : public MidiSource, public PlaylistSource { - public: - virtual ~MidiPlaylistSource (); - - bool empty() const; - framecnt_t length (framepos_t) const; - - framecnt_t read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const; - framecnt_t write_unlocked (Sample *src, framecnt_t cnt); - - XMLNode& get_state (); - int set_state (const XMLNode&, int version); - - void append_event_unlocked_beats(const Evoral::Event& ev); - void append_event_unlocked_frames(const Evoral::Event& ev, framepos_t source_start); - void load_model(bool lock=true, bool force_reload=false); - void destroy_model(); - - protected: - friend class SourceFactory; - - MidiPlaylistSource (Session&, const PBD::ID& orig, const std::string& name, boost::shared_ptr, uint32_t chn, - frameoffset_t begin, framecnt_t len, Source::Flag flags); - MidiPlaylistSource (Session&, const XMLNode&); - - - void flush_midi(); - - framepos_t read_unlocked (Evoral::EventSink& dst, - framepos_t position, - framepos_t start, framecnt_t cnt, - MidiStateTracker* tracker) const; - - framepos_t write_unlocked (MidiRingBuffer& dst, - framepos_t position, - framecnt_t cnt); - - private: - int set_state (const XMLNode&, int version, bool with_descendants); - framecnt_t _length; +public: + virtual ~MidiPlaylistSource (); + + bool empty() const; + framecnt_t length (framepos_t) const; + + framecnt_t read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const; + framecnt_t write_unlocked (Sample *src, framecnt_t cnt); + + XMLNode& get_state (); + int set_state (const XMLNode&, int version); + + void append_event_unlocked_beats(const Evoral::Event& ev); + void append_event_unlocked_frames(const Evoral::Event& ev, framepos_t source_start); + void load_model(bool lock=true, bool force_reload=false); + void destroy_model(); + +protected: + friend class SourceFactory; + + MidiPlaylistSource (Session&, const PBD::ID& orig, const std::string& name, boost::shared_ptr, uint32_t chn, + frameoffset_t begin, framecnt_t len, Source::Flag flags); + MidiPlaylistSource (Session&, const XMLNode&); + + + void flush_midi(); + + framepos_t read_unlocked (Evoral::EventSink& dst, + framepos_t position, + framepos_t start, framecnt_t cnt, + MidiStateTracker* tracker) const; + + framepos_t write_unlocked (MidiRingBuffer& dst, + framepos_t position, + framecnt_t cnt); + +private: + int set_state (const XMLNode&, int version, bool with_descendants); + framecnt_t _length; }; - + } /* namespace */ #endif /* __ardour_midi_playlist_source_h__ */