hydrogen 1.1.1
AlsaAudioDriver Class Reference

#include <AlsaAudioDriver.h>

Inheritance diagram for AlsaAudioDriver:
AudioOutput Object

Public Member Functions

 AlsaAudioDriver (audioProcessCallback processCallback)
 
 ~AlsaAudioDriver ()
 
virtual int init (unsigned nBufferSize)
 
virtual int connect ()
 
virtual void disconnect ()
 
virtual unsigned getBufferSize ()
 
virtual unsigned getSampleRate ()
 
virtual float * getOut_L ()
 
virtual float * getOut_R ()
 
virtual void updateTransportInfo ()
 
virtual void play ()
 
virtual void stop ()
 
virtual void locate (unsigned long nFrame)
 
virtual void setBpm (float fBPM)
 
- Public Member Functions inherited from AudioOutput
 AudioOutput (const char *class_name)
 
virtual ~AudioOutput ()
 
virtual int init (unsigned nBufferSize)=0
 
virtual int connect ()=0
 
virtual void disconnect ()=0
 
virtual unsigned getBufferSize ()=0
 
virtual unsigned getSampleRate ()=0
 
virtual int getLatency ()
 Approximate audio latency (in frames) A reasonable approximation is the buffer time on most audio systems. More...
 
virtual float * getOut_L ()=0
 
virtual float * getOut_R ()=0
 
virtual void updateTransportInfo ()=0
 
virtual void play ()=0
 
virtual void stop ()=0
 
virtual void locate (unsigned long nFrame)=0
 
virtual void setBpm (float fBPM)=0
 
- Public Member Functions inherited from Object
 ~Object ()
 destructor More...
 
 Object (const Object &obj)
 copy constructor More...
 
 Object (const char *class_name)
 constructor More...
 
const char * class_name () const
 return the class name More...
 
virtual QString toQString (const QString &sPrefix, bool bShort=true) const
 Formatted string version for debugging purposes. More...
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG. More...
 

Static Public Member Functions

static QStringList getDevices ()
 Use the name hints to build a list of potential device names. More...
 
- Static Public Member Functions inherited from AudioOutput
static QStringList getDevices ()
 
- Static Public Member Functions inherited from Object
static void set_count (bool flag)
 enable/disable class instances counting More...
 
static bool count_active ()
 return true if class instances counting is enabled More...
 
static unsigned objects_count ()
 return the number of objects More...
 
static void write_objects_map_to (std::ostream &out)
 output the full objects map to a given ostream More...
 
static void write_objects_map_to_cerr ()
 output objects map to stderr More...
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation ! More...
 
static Loggerlogger ()
 return the logger instance More...
 

Data Fields

snd_pcm_t * m_pPlayback_handle
 
bool m_bIsRunning
 
unsigned long m_nBufferSize
 
float * m_pOut_L
 
float * m_pOut_R
 
int m_nXRuns
 
QString m_sAlsaAudioDevice
 
audioProcessCallback m_processCallback
 
- Data Fields inherited from AudioOutput
TransportInfo m_transport
 Local instance of the TransportInfo. More...
 

Private Attributes

unsigned int m_nSampleRate
 

Additional Inherited Members

- Static Public Attributes inherited from Object
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes. More...
 
- Static Protected Attributes inherited from Object
static Logger__logger = nullptr
 logger instance pointer More...
 

Constructor & Destructor Documentation

◆ AlsaAudioDriver()

AlsaAudioDriver ( audioProcessCallback  processCallback)

◆ ~AlsaAudioDriver()

Member Function Documentation

◆ connect()

int connect ( )
virtual

Implements AudioOutput.

◆ disconnect()

void disconnect ( )
virtual

Implements AudioOutput.

◆ getBufferSize()

unsigned getBufferSize ( )
virtual

Implements AudioOutput.

◆ getDevices()

QStringList getDevices ( )
static

Use the name hints to build a list of potential device names.

◆ getOut_L()

float * getOut_L ( )
virtual

Implements AudioOutput.

◆ getOut_R()

float * getOut_R ( )
virtual

Implements AudioOutput.

◆ getSampleRate()

unsigned getSampleRate ( )
virtual

Implements AudioOutput.

◆ init()

int init ( unsigned  nBufferSize)
virtual

Implements AudioOutput.

◆ locate()

void locate ( unsigned long  nFrame)
virtual

Implements AudioOutput.

◆ play()

void play ( )
virtual

Implements AudioOutput.

◆ setBpm()

void setBpm ( float  fBPM)
virtual

Implements AudioOutput.

◆ stop()

void stop ( )
virtual

Implements AudioOutput.

◆ updateTransportInfo()

void updateTransportInfo ( )
virtual

Implements AudioOutput.

Field Documentation

◆ m_bIsRunning

bool m_bIsRunning

◆ m_nBufferSize

unsigned long m_nBufferSize

◆ m_nSampleRate

unsigned int m_nSampleRate
private

◆ m_nXRuns

int m_nXRuns

◆ m_pOut_L

float* m_pOut_L

◆ m_pOut_R

float* m_pOut_R

◆ m_pPlayback_handle

snd_pcm_t* m_pPlayback_handle

◆ m_processCallback

audioProcessCallback m_processCallback

◆ m_sAlsaAudioDevice

QString m_sAlsaAudioDevice