|
| MidiRingBuffer (size_t size) |
|
bool | read_prefix (T *time, Evoral::EventType *type, uint32_t *size) |
|
bool | read_contents (uint32_t size, uint8_t *buf) |
|
size_t | read (MidiBuffer &dst, samplepos_t start, samplepos_t end, samplecnt_t offset=0, bool stop_on_overflow_in_destination=false) |
|
size_t | skip_to (samplepos_t start) |
|
void | dump (std::ostream &dst) |
|
void | flush (samplepos_t start, samplepos_t end) |
|
void | reset_tracker () |
|
void | resolve_tracker (MidiBuffer &dst, samplepos_t) |
|
void | resolve_tracker (Evoral::EventSink< samplepos_t > &dst, samplepos_t) |
|
| EventRingBuffer (size_t capacity) |
|
size_t | capacity () const |
|
bool | peek (uint8_t *, size_t size) |
|
uint32_t | write (T time, Evoral::EventType type, uint32_t size, const uint8_t *buf) |
|
bool | read (T *time, Evoral::EventType *type, uint32_t *size, uint8_t *buf) |
|
| RingBufferNPT (size_t sz) |
|
virtual | ~RingBufferNPT () |
|
void | reset () |
|
void | set (size_t r, size_t w) |
|
size_t | read (uint8_t *dest, size_t cnt) |
|
size_t | write (const uint8_t *src, size_t cnt) |
|
size_t | write_one (const uint8_t src) |
|
void | get_read_vector (rw_vector *) |
|
void | get_write_vector (rw_vector *) |
|
void | decrement_read_ptr (size_t cnt) |
|
void | increment_read_ptr (size_t cnt) |
|
void | increment_write_ptr (size_t cnt) |
|
size_t | write_space () |
|
size_t | read_space () |
|
uint8_t * | buffer () |
|
size_t | get_write_ptr () const |
|
size_t | get_read_ptr () const |
|
size_t | bufsize () const |
|
virtual | ~EventSink () |
|
template<typename T>
class ARDOUR::MidiRingBuffer< T >
A RingBuffer for (MIDI) events.
This is simply a wrapper around a raw ringbuffer which writes/reads events as flat placked blobs. The buffer looks like this:
[timestamp][type][size][size bytes of raw MIDI][timestamp][type]size
Definition at line 44 of file midi_ring_buffer.h.