Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::RTMidiBufferBase< TimeType, DistanceType > Class Template Reference

#include <rt_midibuffer.h>

Inheritance diagram for ARDOUR::RTMidiBufferBase< TimeType, DistanceType >:
[legend]

Classes

struct  Blob
 
struct  Item
 
class  WriteProtectRender
 

Public Member Functions

 RTMidiBufferBase ()
 
 ~RTMidiBufferBase ()
 
void convert (RTMidiBufferBase< Temporal::Beats, Temporal::Beats > &)
 
void clear ()
 
void resize (size_t)
 
size_t size () const
 
bool empty () const
 
DistanceType span () const
 
uint32_t write (TimeType time, Evoral::EventType type, uint32_t size, const uint8_t *buf)
 
uint32_t read (MidiBuffer &dst, TimeType start, TimeType end, MidiNoteTracker &tracker, DistanceType offset=0)
 
void track (MidiStateTracker &, TimeType start, TimeType 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) const
 
void shift (DistanceType distance)
 
void track_state (TimeType when, MidiStateTracker &mst) const
 
- Public Member Functions inherited from Evoral::EventSink< TimeType >
virtual ~EventSink ()
 

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
 
template<typename T , typename D >
class RTMidiBufferBase
 

Detailed Description

template<typename TimeType, typename DistanceType>
class ARDOUR::RTMidiBufferBase< TimeType, DistanceType >

Definition at line 43 of file rt_midibuffer.h.

Constructor & Destructor Documentation

◆ RTMidiBufferBase()

template<typename TimeType , typename DistanceType >
ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::RTMidiBufferBase ( )

◆ ~RTMidiBufferBase()

template<typename TimeType , typename DistanceType >
ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::~RTMidiBufferBase ( )

Member Function Documentation

◆ alloc_blob()

template<typename TimeType , typename DistanceType >
uint32_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::alloc_blob ( uint32_t  size)
private

◆ bytes()

template<typename TimeType , typename DistanceType >
uint8_t const* ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::bytes ( Item const &  item,
uint32_t &  size 
) const
inline

Definition at line 91 of file rt_midibuffer.h.

◆ clear()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::clear ( )

◆ convert()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::convert ( RTMidiBufferBase< Temporal::Beats, Temporal::Beats > &  )

◆ dump()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::dump ( uint32_t  )

◆ empty()

template<typename TimeType , typename DistanceType >
bool ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::empty ( ) const
inline

Definition at line 64 of file rt_midibuffer.h.

◆ operator[]()

template<typename TimeType , typename DistanceType >
Item const& ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::operator[] ( size_t  n) const
inline

Definition at line 84 of file rt_midibuffer.h.

◆ read()

template<typename TimeType , typename DistanceType >
uint32_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::read ( MidiBuffer dst,
TimeType  start,
TimeType  end,
MidiNoteTracker tracker,
DistanceType  offset = 0 
)

◆ resize()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::resize ( size_t  )

◆ reverse()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::reverse ( )

◆ reversed()

template<typename TimeType , typename DistanceType >
bool ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::reversed ( ) const

◆ shift()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::shift ( DistanceType  distance)
inline

Definition at line 108 of file rt_midibuffer.h.

◆ size()

template<typename TimeType , typename DistanceType >
size_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::size ( ) const
inline

Definition at line 63 of file rt_midibuffer.h.

◆ span()

template<typename TimeType , typename DistanceType >
DistanceType ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::span ( ) const

◆ store_blob()

template<typename TimeType , typename DistanceType >
uint32_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::store_blob ( uint32_t  size,
uint8_t const *  data 
)
private

◆ track()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::track ( MidiStateTracker ,
TimeType  start,
TimeType  end 
)

◆ track_state()

template<typename TimeType , typename DistanceType >
void ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::track_state ( TimeType  when,
MidiStateTracker mst 
) const

◆ write()

template<typename TimeType , typename DistanceType >
uint32_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::write ( TimeType  time,
Evoral::EventType  type,
uint32_t  size,
const uint8_t *  buf 
)
virtual

Friends And Related Function Documentation

◆ RTMidiBufferBase

template<typename TimeType , typename DistanceType >
template<typename T , typename D >
friend class RTMidiBufferBase
friend

Definition at line 119 of file rt_midibuffer.h.

◆ WriteProtectRender

template<typename TimeType , typename DistanceType >
friend struct WriteProtectRender
friend

Definition at line 117 of file rt_midibuffer.h.

Member Data Documentation

◆ _capacity

template<typename TimeType , typename DistanceType >
size_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_capacity
private

Definition at line 126 of file rt_midibuffer.h.

◆ _data

template<typename TimeType , typename DistanceType >
Item* ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_data
private

Definition at line 127 of file rt_midibuffer.h.

◆ _lock

template<typename TimeType , typename DistanceType >
Glib::Threads::RWLock ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_lock
private

Definition at line 137 of file rt_midibuffer.h.

◆ _pool

template<typename TimeType , typename DistanceType >
uint8_t* ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_pool
private

Definition at line 135 of file rt_midibuffer.h.

◆ _pool_capacity

template<typename TimeType , typename DistanceType >
uint32_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_pool_capacity
private

Definition at line 134 of file rt_midibuffer.h.

◆ _pool_size

template<typename TimeType , typename DistanceType >
uint32_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_pool_size
private

Definition at line 133 of file rt_midibuffer.h.

◆ _reversed

template<typename TimeType , typename DistanceType >
bool ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_reversed
private

Definition at line 128 of file rt_midibuffer.h.

◆ _size

template<typename TimeType , typename DistanceType >
size_t ARDOUR::RTMidiBufferBase< TimeType, DistanceType >::_size
private

Definition at line 125 of file rt_midibuffer.h.


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