Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::CoreMidiPort Class Reference

#include <coreaudio_backend.h>

Inheritance diagram for ARDOUR::CoreMidiPort:
[legend]

Classes

struct  ParserEvent
 

Public Member Functions

 CoreMidiPort (CoreAudioBackend &b, const std::string &, PortFlags)
 
 ~CoreMidiPort ()
 
DataType type () const
 
void * get_buffer (pframes_t nframes)
 
const CoreMidiBufferconst_buffer () const
 
void next_period ()
 
void set_n_periods (int n)
 
void parse_events (const uint64_t time, const uint8_t *data, const size_t size)
 
void clear_events ()
 
void reset_parser ()
 
- Public Member Functions inherited from ARDOUR::BackendPort
virtual ~BackendPort ()
 
const std::string & name () const
 
const std::string & pretty_name () const
 
const std::string & hw_port_name () const
 
int set_name (const std::string &name)
 
int set_pretty_name (const std::string &name)
 
int set_hw_port_name (const std::string &name)
 
PortFlags flags () const
 
bool is_input () const
 
bool is_output () const
 
bool is_physical () const
 
bool is_terminal () const
 
bool is_connected () const
 
bool is_connected (BackendPortHandle port) const
 
bool is_physically_connected () const
 
const std::set< BackendPortPtr > & get_connections () const
 
int connect (BackendPortHandle port, BackendPortHandle self)
 
int disconnect (BackendPortHandle port, BackendPortHandle self)
 
void disconnect_all (BackendPortHandle self)
 
const LatencyRange latency_range (bool for_playback) const
 
void set_latency_range (const LatencyRange &latency_range, bool for_playback)
 
void update_connected_latency (bool for_playback)
 
- Public Member Functions inherited from ARDOUR::ProtoPort
 ProtoPort ()
 
virtual ~ProtoPort ()
 

Private Member Functions

int queue_event (void *port_buffer, pframes_t timestamp, const uint8_t *buffer, size_t size)
 
bool process_byte (const uint64_t, const uint8_t)
 
void record_byte (uint8_t byte)
 
void prepare_byte_event (const uint64_t time, const uint8_t byte)
 
bool prepare_buffered_event (const uint64_t time)
 

Private Attributes

CoreMidiBuffer _buffer [2]
 
int _n_periods
 
int _bufperiod
 
struct ARDOUR::CoreMidiPort::ParserEvent _event
 
bool _first_time
 
size_t _unbuffered_bytes
 
size_t _total_bytes
 
size_t _expected_bytes
 
uint8_t _status_byte
 
uint8_t _parser_buffer [1024]
 

Additional Inherited Members

- Protected Member Functions inherited from ARDOUR::BackendPort
 BackendPort (PortEngineSharedImpl &b, const std::string &, PortFlags)
 
- Protected Attributes inherited from ARDOUR::BackendPort
PortEngineSharedImpl_backend
 

Detailed Description

Definition at line 77 of file coreaudio_backend.h.

Constructor & Destructor Documentation

◆ CoreMidiPort()

ARDOUR::CoreMidiPort::CoreMidiPort ( CoreAudioBackend b,
const std::string &  ,
PortFlags   
)

◆ ~CoreMidiPort()

ARDOUR::CoreMidiPort::~CoreMidiPort ( )

Member Function Documentation

◆ clear_events()

void ARDOUR::CoreMidiPort::clear_events ( )

◆ const_buffer()

const CoreMidiBuffer* ARDOUR::CoreMidiPort::const_buffer ( ) const
inline

Definition at line 85 of file coreaudio_backend.h.

◆ get_buffer()

void* ARDOUR::CoreMidiPort::get_buffer ( pframes_t  nframes)
virtual

Implements ARDOUR::BackendPort.

◆ next_period()

void ARDOUR::CoreMidiPort::next_period ( )
inline

Definition at line 87 of file coreaudio_backend.h.

◆ parse_events()

void ARDOUR::CoreMidiPort::parse_events ( const uint64_t  time,
const uint8_t *  data,
const size_t  size 
)

◆ prepare_buffered_event()

bool ARDOUR::CoreMidiPort::prepare_buffered_event ( const uint64_t  time)
inlineprivate

Definition at line 116 of file coreaudio_backend.h.

◆ prepare_byte_event()

void ARDOUR::CoreMidiPort::prepare_byte_event ( const uint64_t  time,
const uint8_t  byte 
)
inlineprivate

Definition at line 111 of file coreaudio_backend.h.

◆ process_byte()

bool ARDOUR::CoreMidiPort::process_byte ( const uint64_t  ,
const uint8_t   
)
private

◆ queue_event()

int ARDOUR::CoreMidiPort::queue_event ( void *  port_buffer,
pframes_t  timestamp,
const uint8_t *  buffer,
size_t  size 
)
private

◆ record_byte()

void ARDOUR::CoreMidiPort::record_byte ( uint8_t  byte)
inlineprivate

Definition at line 102 of file coreaudio_backend.h.

◆ reset_parser()

void ARDOUR::CoreMidiPort::reset_parser ( )

◆ set_n_periods()

void ARDOUR::CoreMidiPort::set_n_periods ( int  n)
inline

Definition at line 88 of file coreaudio_backend.h.

◆ type()

DataType ARDOUR::CoreMidiPort::type ( ) const
inlinevirtual

Implements ARDOUR::BackendPort.

Definition at line 82 of file coreaudio_backend.h.

Member Data Documentation

◆ _buffer

CoreMidiBuffer ARDOUR::CoreMidiPort::_buffer[2]
private

Definition at line 95 of file coreaudio_backend.h.

◆ _bufperiod

int ARDOUR::CoreMidiPort::_bufperiod
private

Definition at line 97 of file coreaudio_backend.h.

◆ _event

struct ARDOUR::CoreMidiPort::ParserEvent ARDOUR::CoreMidiPort::_event
private

◆ _expected_bytes

size_t ARDOUR::CoreMidiPort::_expected_bytes
private

Definition at line 149 of file coreaudio_backend.h.

◆ _first_time

bool ARDOUR::CoreMidiPort::_first_time
private

Definition at line 146 of file coreaudio_backend.h.

◆ _n_periods

int ARDOUR::CoreMidiPort::_n_periods
private

Definition at line 96 of file coreaudio_backend.h.

◆ _parser_buffer

uint8_t ARDOUR::CoreMidiPort::_parser_buffer[1024]
private

Definition at line 151 of file coreaudio_backend.h.

◆ _status_byte

uint8_t ARDOUR::CoreMidiPort::_status_byte
private

Definition at line 150 of file coreaudio_backend.h.

◆ _total_bytes

size_t ARDOUR::CoreMidiPort::_total_bytes
private

Definition at line 148 of file coreaudio_backend.h.

◆ _unbuffered_bytes

size_t ARDOUR::CoreMidiPort::_unbuffered_bytes
private

Definition at line 147 of file coreaudio_backend.h.


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