Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::AlsaMidiIO Class Referenceabstract

#include <alsa_midi.h>

Inheritance diagram for ARDOUR::AlsaMidiIO:
[legend]

Classes

struct  MidiEventHeader
 

Public Member Functions

 AlsaMidiIO ()
 
virtual ~AlsaMidiIO ()
 
int state (void) const
 
int start ()
 
int stop ()
 
void setup_timing (const size_t samples_per_period, const float samplerate)
 
void sync_time (uint64_t)
 
virtual void * main_process_thread ()=0
 
const std::string & name () const
 

Protected Member Functions

virtual void init (const char *device_name, const bool input)=0
 

Protected Attributes

pthread_t _main_thread
 
pthread_mutex_t _notify_mutex
 
pthread_cond_t _notify_ready
 
int _state
 
bool _running
 
int _npfds
 
struct pollfd * _pfds
 
double _sample_length_us
 
double _period_length_us
 
size_t _samples_per_period
 
uint64_t _clock_monotonic
 
PBD::RingBuffer< uint8_t > * _rb
 
std::string _name
 

Detailed Description

Definition at line 35 of file alsa_midi.h.

Constructor & Destructor Documentation

◆ AlsaMidiIO()

ARDOUR::AlsaMidiIO::AlsaMidiIO ( )

◆ ~AlsaMidiIO()

virtual ARDOUR::AlsaMidiIO::~AlsaMidiIO ( )
virtual

Member Function Documentation

◆ init()

virtual void ARDOUR::AlsaMidiIO::init ( const char *  device_name,
const bool  input 
)
protectedpure virtual

◆ main_process_thread()

virtual void* ARDOUR::AlsaMidiIO::main_process_thread ( )
pure virtual

◆ name()

const std::string& ARDOUR::AlsaMidiIO::name ( ) const
inline

Definition at line 49 of file alsa_midi.h.

◆ setup_timing()

void ARDOUR::AlsaMidiIO::setup_timing ( const size_t  samples_per_period,
const float  samplerate 
)

◆ start()

int ARDOUR::AlsaMidiIO::start ( )

◆ state()

int ARDOUR::AlsaMidiIO::state ( void  ) const
inline

Definition at line 40 of file alsa_midi.h.

◆ stop()

int ARDOUR::AlsaMidiIO::stop ( )

◆ sync_time()

void ARDOUR::AlsaMidiIO::sync_time ( uint64_t  )

Member Data Documentation

◆ _clock_monotonic

uint64_t ARDOUR::AlsaMidiIO::_clock_monotonic
protected

Definition at line 65 of file alsa_midi.h.

◆ _main_thread

pthread_t ARDOUR::AlsaMidiIO::_main_thread
protected

Definition at line 52 of file alsa_midi.h.

◆ _name

std::string ARDOUR::AlsaMidiIO::_name
protected

Definition at line 77 of file alsa_midi.h.

◆ _notify_mutex

pthread_mutex_t ARDOUR::AlsaMidiIO::_notify_mutex
protected

Definition at line 53 of file alsa_midi.h.

◆ _notify_ready

pthread_cond_t ARDOUR::AlsaMidiIO::_notify_ready
protected

Definition at line 54 of file alsa_midi.h.

◆ _npfds

int ARDOUR::AlsaMidiIO::_npfds
protected

Definition at line 59 of file alsa_midi.h.

◆ _period_length_us

double ARDOUR::AlsaMidiIO::_period_length_us
protected

Definition at line 63 of file alsa_midi.h.

◆ _pfds

struct pollfd* ARDOUR::AlsaMidiIO::_pfds
protected

Definition at line 60 of file alsa_midi.h.

◆ _rb

PBD::RingBuffer<uint8_t>* ARDOUR::AlsaMidiIO::_rb
protected

Definition at line 75 of file alsa_midi.h.

◆ _running

bool ARDOUR::AlsaMidiIO::_running
protected

Definition at line 57 of file alsa_midi.h.

◆ _sample_length_us

double ARDOUR::AlsaMidiIO::_sample_length_us
protected

Definition at line 62 of file alsa_midi.h.

◆ _samples_per_period

size_t ARDOUR::AlsaMidiIO::_samples_per_period
protected

Definition at line 64 of file alsa_midi.h.

◆ _state

int ARDOUR::AlsaMidiIO::_state
protected

Definition at line 56 of file alsa_midi.h.


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