MuseScore  3.4
Music composition and notation
Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Ms::AlsaDriver Class Reference

#include <alsa.h>

Public Member Functions

 AlsaDriver (QString, unsigned, snd_pcm_uframes_t, unsigned)
 
 ~AlsaDriver ()
 
bool init ()
 
void printinfo ()
 
bool pcmStart ()
 
int pcmStop ()
 
snd_pcm_uframes_t fsize () const
 
unsigned int sampleRate () const
 
void write (int n, float *l, float *r)
 

Private Types

enum  { MAXPFD = 8, MAXPLAY = 4 }
 
typedef char *(* play_function) (const float *, char *, int, int)
 
typedef char *(* clear_function) (char *, int, int)
 

Private Member Functions

bool setHwpar (snd_pcm_t *handle, snd_pcm_hw_params_t *hwpar)
 
bool setSwpar (snd_pcm_t *handle, snd_pcm_sw_params_t *swpar)
 
bool recover ()
 
int playInit (snd_pcm_uframes_t len)
 
snd_pcm_sframes_t pcmWait ()
 
snd_pcm_t * playHandle () const
 
void clearChan (int chan, snd_pcm_uframes_t len)
 

Static Private Member Functions

static char * clear_32le (char *dst, int step, int nfrm)
 
static char * clear_24le (char *dst, int step, int nfrm)
 
static char * clear_16le (char *dst, int step, int nfrm)
 
static char * play_32le (const float *src, char *dst, int step, int nfrm)
 
static char * play_24le (const float *src, char *dst, int step, int nfrm)
 
static char * play_16le (const float *src, char *dst, int step, int nfrm)
 

Private Attributes

QString _name
 
unsigned int _rate
 
snd_pcm_uframes_t _frsize
 
unsigned int _nfrags
 
snd_pcm_format_t _play_format
 
snd_pcm_access_t _play_access
 
snd_pcm_t * _play_handle
 
snd_pcm_hw_params_t * _play_hwpar
 
snd_pcm_sw_params_t * _play_swpar
 
unsigned int _play_nchan
 
int _play_npfd
 
PollFd _pfd [MAXPFD]
 
snd_pcm_uframes_t _capt_offs
 
snd_pcm_uframes_t _play_offs
 
int _play_step
 
char * _play_ptr [MAXPLAY]
 
int _stat
 
int _pcnt
 
bool _xrun
 
clear_function _clear_func
 
play_function _play_func
 
bool mmappedInterface
 

Member Typedef Documentation

◆ clear_function

typedef char*(* Ms::AlsaDriver::clear_function) (char *, int, int)
private

◆ play_function

typedef char*(* Ms::AlsaDriver::play_function) (const float *, char *, int, int)
private

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
MAXPFD 
MAXPLAY 

Constructor & Destructor Documentation

◆ AlsaDriver()

Ms::AlsaDriver::AlsaDriver ( QString  ,
unsigned  ,
snd_pcm_uframes_t  ,
unsigned   
)

◆ ~AlsaDriver()

Ms::AlsaDriver::~AlsaDriver ( )

Member Function Documentation

◆ clear_16le()

static char* Ms::AlsaDriver::clear_16le ( char *  dst,
int  step,
int  nfrm 
)
staticprivate

◆ clear_24le()

static char* Ms::AlsaDriver::clear_24le ( char *  dst,
int  step,
int  nfrm 
)
staticprivate

◆ clear_32le()

static char* Ms::AlsaDriver::clear_32le ( char *  dst,
int  step,
int  nfrm 
)
staticprivate

◆ clearChan()

void Ms::AlsaDriver::clearChan ( int  chan,
snd_pcm_uframes_t  len 
)
inlineprivate

◆ fsize()

snd_pcm_uframes_t Ms::AlsaDriver::fsize ( ) const
inline

◆ init()

bool Ms::AlsaDriver::init ( )

◆ pcmStart()

bool Ms::AlsaDriver::pcmStart ( )

◆ pcmStop()

int Ms::AlsaDriver::pcmStop ( )

◆ pcmWait()

snd_pcm_sframes_t Ms::AlsaDriver::pcmWait ( )
private

◆ play_16le()

static char* Ms::AlsaDriver::play_16le ( const float *  src,
char *  dst,
int  step,
int  nfrm 
)
staticprivate

◆ play_24le()

static char* Ms::AlsaDriver::play_24le ( const float *  src,
char *  dst,
int  step,
int  nfrm 
)
staticprivate

◆ play_32le()

static char* Ms::AlsaDriver::play_32le ( const float *  src,
char *  dst,
int  step,
int  nfrm 
)
staticprivate

◆ playHandle()

snd_pcm_t* Ms::AlsaDriver::playHandle ( ) const
inlineprivate

◆ playInit()

int Ms::AlsaDriver::playInit ( snd_pcm_uframes_t  len)
private

◆ printinfo()

void Ms::AlsaDriver::printinfo ( )

◆ recover()

bool Ms::AlsaDriver::recover ( )
private

◆ sampleRate()

unsigned int Ms::AlsaDriver::sampleRate ( ) const
inline

◆ setHwpar()

bool Ms::AlsaDriver::setHwpar ( snd_pcm_t *  handle,
snd_pcm_hw_params_t *  hwpar 
)
private

◆ setSwpar()

bool Ms::AlsaDriver::setSwpar ( snd_pcm_t *  handle,
snd_pcm_sw_params_t *  swpar 
)
private

◆ write()

void Ms::AlsaDriver::write ( int  n,
float *  l,
float *  r 
)

Member Data Documentation

◆ _capt_offs

snd_pcm_uframes_t Ms::AlsaDriver::_capt_offs
private

◆ _clear_func

clear_function Ms::AlsaDriver::_clear_func
private

◆ _frsize

snd_pcm_uframes_t Ms::AlsaDriver::_frsize
private

◆ _name

QString Ms::AlsaDriver::_name
private

◆ _nfrags

unsigned int Ms::AlsaDriver::_nfrags
private

◆ _pcnt

int Ms::AlsaDriver::_pcnt
private

◆ _pfd

PollFd Ms::AlsaDriver::_pfd[MAXPFD]
private

◆ _play_access

snd_pcm_access_t Ms::AlsaDriver::_play_access
private

◆ _play_format

snd_pcm_format_t Ms::AlsaDriver::_play_format
private

◆ _play_func

play_function Ms::AlsaDriver::_play_func
private

◆ _play_handle

snd_pcm_t* Ms::AlsaDriver::_play_handle
private

◆ _play_hwpar

snd_pcm_hw_params_t* Ms::AlsaDriver::_play_hwpar
private

◆ _play_nchan

unsigned int Ms::AlsaDriver::_play_nchan
private

◆ _play_npfd

int Ms::AlsaDriver::_play_npfd
private

◆ _play_offs

snd_pcm_uframes_t Ms::AlsaDriver::_play_offs
private

◆ _play_ptr

char* Ms::AlsaDriver::_play_ptr[MAXPLAY]
private

◆ _play_step

int Ms::AlsaDriver::_play_step
private

◆ _play_swpar

snd_pcm_sw_params_t* Ms::AlsaDriver::_play_swpar
private

◆ _rate

unsigned int Ms::AlsaDriver::_rate
private

◆ _stat

int Ms::AlsaDriver::_stat
private

◆ _xrun

bool Ms::AlsaDriver::_xrun
private

◆ mmappedInterface

bool Ms::AlsaDriver::mmappedInterface
private

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