summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_buffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/midi_buffer.h')
-rw-r--r--libs/ardour/ardour/midi_buffer.h6
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);