A time-ordered list of UMP events for one audio block. More...
#include <ump_buffer.hpp>
Public Member Functions | |
| UmpBuffer () | |
| UmpBuffer (const UmpBuffer &other) | |
| UmpBuffer & | operator= (const UmpBuffer &other) |
| UmpBuffer (UmpBuffer &&) noexcept=default | |
| UmpBuffer & | operator= (UmpBuffer &&) noexcept=default |
| bool | add (const UmpEvent &e) |
| bool | add (UmpEvent &&e) |
| bool | add (const UmpPacket &p, int32_t sample_offset=0) |
| void | clear () |
| bool | empty () const |
| std::size_t | size () const |
| std::size_t | capacity () const |
| std::uint32_t | dropped_event_count () const |
| void | reserve (std::size_t capacity) |
| void | set_realtime_capacity_limit (bool enabled=true) |
| bool | realtime_capacity_limited () const |
| void | sort () |
| Sort by sample offset, preserving arrival order for equal offsets. | |
| auto | begin () |
| auto | end () |
| auto | begin () const |
| auto | end () const |
| const UmpEvent & | operator[] (std::size_t i) const |
A time-ordered list of UMP events for one audio block.
Ownership and lifetime mirror MidiBuffer/MpeBuffer: the format adapter owns the buffer, fills it before process(), passes a pointer to the processor, and clears it afterwards. Not thread-safe.
Realtime contract: reserve() storage and enable set_realtime_capacity_limit(true) before using add() on the audio thread. With the limit enabled, add() drops and counts overflow instead of growing the backing vector. Without that preparation, append operations may allocate and belong on a non-realtime path.
|
inline |
|
inline |
|
defaultnoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |