diff options
author | Robin Gareus <robin@gareus.org> | 2014-06-11 12:59:08 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-06-11 16:27:23 +0200 |
commit | 33db3c854d83390a299ff32ea50cdaad938a7248 (patch) | |
tree | 30188d98072f2cf0015aa34858235d1ffd9cea61 /libs/ardour/ardour/midi_buffer.h | |
parent | 0400fa64da5fda36edaad135e74d3ca8b93c6dc6 (diff) |
prepare midi buffer API for midi-delaylines
Diffstat (limited to 'libs/ardour/ardour/midi_buffer.h')
-rw-r--r-- | libs/ardour/ardour/midi_buffer.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/ardour/midi_buffer.h b/libs/ardour/ardour/midi_buffer.h index f1f8d678b9..b6966faa06 100644 --- a/libs/ardour/ardour/midi_buffer.h +++ b/libs/ardour/ardour/midi_buffer.h @@ -45,12 +45,14 @@ public: bool push_back(const Evoral::MIDIEvent<TimeType>& event); bool push_back(TimeType time, size_t size, const uint8_t* data); + uint8_t* reserve(TimeType time, size_t size); void resize(size_t); size_t size() const { return _size; } bool empty() const { return _size == 0; } + bool insert_event(const Evoral::MIDIEvent<TimeType>& event); bool merge_in_place(const MidiBuffer &other); template<typename BufferType, typename EventType> @@ -86,6 +88,10 @@ public: event_size, ev_start); } + inline TimeType * timeptr() { + return ((TimeType*)(buffer->_data + offset)); + } + inline iterator_base<BufferType, EventType>& operator++() { uint8_t* ev_start = buffer->_data + offset + sizeof(TimeType); int event_size = Evoral::midi_event_size(ev_start); |