void silence (nframes_t nframes, nframes_t offset = 0);
void read_from (const Buffer& src, nframes_t nframes, nframes_t dst_offset = 0, nframes_t src_offset = 0);
+ void merge_from (const Buffer& src, nframes_t nframes, nframes_t dst_offset = 0, nframes_t src_offset = 0);
void copy(const MidiBuffer& copy);
*((TimeType*)(buffer._data + offset)),
event_size, ev_start);
}
+ inline EventType operator*() {
+ uint8_t* ev_start = buffer._data + offset + sizeof(TimeType);
+ int event_size = Evoral::midi_event_size(ev_start);
+ assert(event_size >= 0);
+ return EventType(EventTypeMap::instance().midi_event_type(*ev_start),
+ *((TimeType*)(buffer._data + offset)),
+ event_size, ev_start);
+ }
+
inline iterator_base<BufferType, EventType>& operator++() {
uint8_t* ev_start = buffer._data + offset + sizeof(TimeType);
int event_size = Evoral::midi_event_size(ev_start);