summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_buffer.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-11 12:59:08 +0200
committerRobin Gareus <robin@gareus.org>2014-06-11 16:27:23 +0200
commit33db3c854d83390a299ff32ea50cdaad938a7248 (patch)
tree30188d98072f2cf0015aa34858235d1ffd9cea61 /libs/ardour/ardour/midi_buffer.h
parent0400fa64da5fda36edaad135e74d3ca8b93c6dc6 (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.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);