Ardour  8.12
ARDOUR::RTMidiBuffer Class Reference

#include <rt_midibuffer.h>

Inheritance diagram for ARDOUR::RTMidiBuffer:
[legend]

Classes

struct  Blob
 
struct  Item
 
class  WriteProtectRender
 

Public Types

typedef samplepos_t TimeType
 

Public Member Functions

 RTMidiBuffer ()
 
 ~RTMidiBuffer ()
 
void clear ()
 
void resize (size_t)
 
size_t size () const
 
bool empty () const
 
samplecnt_t span () const
 
uint32_t write (TimeType time, Evoral::EventType type, uint32_t size, const uint8_t *buf)
 
uint32_t read (MidiBuffer &dst, samplepos_t start, samplepos_t end, MidiNoteTracker &tracker, samplecnt_t offset=0)
 
void track (MidiStateTracker &, samplepos_t start, samplepos_t end)
 
void dump (uint32_t)
 
void reverse ()
 
bool reversed () const
 
Item const & operator[] (size_t n) const
 
uint8_t const * bytes (Item const &item, uint32_t &size)
 
void shift (sampleoffset_t distance)
 
- Public Member Functions inherited from Evoral::EventSink< samplepos_t >
virtual ~EventSink ()
 
virtual uint32_t write (samplepos_t time, EventType type, uint32_t size, const uint8_t *buf)=0
 

Private Member Functions

uint32_t alloc_blob (uint32_t size)
 
uint32_t store_blob (uint32_t size, uint8_t const *data)
 

Private Attributes

size_t _size
 
size_t _capacity
 
Item_data
 
bool _reversed
 
uint32_t _pool_size
 
uint32_t _pool_capacity
 
uint8_t * _pool
 
Glib::Threads::RWLock _lock
 

Friends

struct WriteProtectRender
 

Detailed Description

Definition at line 43 of file rt_midibuffer.h.

Member Typedef Documentation

◆ TimeType

Definition at line 52 of file rt_midibuffer.h.

Constructor & Destructor Documentation

◆ RTMidiBuffer()

ARDOUR::RTMidiBuffer::RTMidiBuffer ( )

◆ ~RTMidiBuffer()

ARDOUR::RTMidiBuffer::~RTMidiBuffer ( )

Member Function Documentation

◆ alloc_blob()

uint32_t ARDOUR::RTMidiBuffer::alloc_blob ( uint32_t  size)
private

◆ bytes()

uint8_t const* ARDOUR::RTMidiBuffer::bytes ( Item const &  item,
uint32_t &  size 
)
inline

Definition at line 87 of file rt_midibuffer.h.

◆ clear()

void ARDOUR::RTMidiBuffer::clear ( )

◆ dump()

void ARDOUR::RTMidiBuffer::dump ( uint32_t  )

◆ empty()

bool ARDOUR::RTMidiBuffer::empty ( ) const
inline

Definition at line 60 of file rt_midibuffer.h.

◆ operator[]()

Item const& ARDOUR::RTMidiBuffer::operator[] ( size_t  n) const
inline

Definition at line 80 of file rt_midibuffer.h.

◆ read()

uint32_t ARDOUR::RTMidiBuffer::read ( MidiBuffer dst,
samplepos_t  start,
samplepos_t  end,
MidiNoteTracker tracker,
samplecnt_t  offset = 0 
)

◆ resize()

void ARDOUR::RTMidiBuffer::resize ( size_t  )

◆ reverse()

void ARDOUR::RTMidiBuffer::reverse ( )

◆ reversed()

bool ARDOUR::RTMidiBuffer::reversed ( ) const

◆ shift()

void ARDOUR::RTMidiBuffer::shift ( sampleoffset_t  distance)
inline

Definition at line 100 of file rt_midibuffer.h.

◆ size()

size_t ARDOUR::RTMidiBuffer::size ( ) const
inline

Definition at line 59 of file rt_midibuffer.h.

◆ span()

samplecnt_t ARDOUR::RTMidiBuffer::span ( ) const

◆ store_blob()

uint32_t ARDOUR::RTMidiBuffer::store_blob ( uint32_t  size,
uint8_t const *  data 
)
private

◆ track()

void ARDOUR::RTMidiBuffer::track ( MidiStateTracker ,
samplepos_t  start,
samplepos_t  end 
)

◆ write()

uint32_t ARDOUR::RTMidiBuffer::write ( TimeType  time,
Evoral::EventType  type,
uint32_t  size,
const uint8_t *  buf 
)

Friends And Related Function Documentation

◆ WriteProtectRender

friend struct WriteProtectRender
friend

Definition at line 110 of file rt_midibuffer.h.

Member Data Documentation

◆ _capacity

size_t ARDOUR::RTMidiBuffer::_capacity
private

Definition at line 117 of file rt_midibuffer.h.

◆ _data

Item* ARDOUR::RTMidiBuffer::_data
private

Definition at line 118 of file rt_midibuffer.h.

◆ _lock

Glib::Threads::RWLock ARDOUR::RTMidiBuffer::_lock
private

Definition at line 128 of file rt_midibuffer.h.

◆ _pool

uint8_t* ARDOUR::RTMidiBuffer::_pool
private

Definition at line 126 of file rt_midibuffer.h.

◆ _pool_capacity

uint32_t ARDOUR::RTMidiBuffer::_pool_capacity
private

Definition at line 125 of file rt_midibuffer.h.

◆ _pool_size

uint32_t ARDOUR::RTMidiBuffer::_pool_size
private

Definition at line 124 of file rt_midibuffer.h.

◆ _reversed

bool ARDOUR::RTMidiBuffer::_reversed
private

Definition at line 119 of file rt_midibuffer.h.

◆ _size

size_t ARDOUR::RTMidiBuffer::_size
private

Definition at line 116 of file rt_midibuffer.h.


The documentation for this class was generated from the following file: