hydrogen 1.1.1
CoreAudioDriver Class Reference

#include <CoreAudioDriver.h>

Inheritance diagram for CoreAudioDriver:
AudioOutput Object

Public Member Functions

 CoreAudioDriver (audioProcessCallback processCallback)
 
virtual ~CoreAudioDriver ()
 
int init (unsigned bufferSize)
 
unsigned getSampleRate ()
 
unsigned getBufferSize ()
 
int connect ()
 
void disconnect ()
 
float * getOut_L ()
 
float * getOut_R ()
 
virtual void play ()
 
virtual void stop ()
 
virtual void locate (unsigned long nFrame)
 
virtual void updateTransportInfo ()
 
virtual void setBpm (float fBPM)
 
virtual int getLatency ()
 Approximate audio latency (in frames) A reasonable approximation is the buffer time on most audio systems. More...
 
- 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 ()
 
- 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

audioProcessCallback mProcessCallback
 
UInt32 m_nBufferSize
 
AudioUnit m_outputUnit
 
AudioDeviceID m_outputDevice
 
float * m_pOut_L
 
float * m_pOut_R
 
- Data Fields inherited from AudioOutput
TransportInfo m_transport
 Local instance of the TransportInfo. More...
 

Private Member Functions

AudioDeviceID defaultOutputDevice (void)
 
void retrieveBufferSize (void)
 
void printStreamInfo (void)
 
AudioDeviceID preferredOutputDevice ()
 

Static Private Member Functions

static QString deviceName (AudioDeviceID deviceID)
 
static std::vector< AudioDeviceID > outputDeviceIDs ()
 

Private Attributes

bool m_bIsRunning
 
unsigned m_nSampleRate
 
unsigned oSampleRate
 

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

◆ CoreAudioDriver()

CoreAudioDriver ( audioProcessCallback  processCallback)

◆ ~CoreAudioDriver()

~CoreAudioDriver ( )
virtual

Member Function Documentation

◆ connect()

int connect ( )
virtual

Implements AudioOutput.

◆ defaultOutputDevice()

AudioDeviceID defaultOutputDevice ( void  )
private

◆ deviceName()

QString deviceName ( AudioDeviceID  deviceID)
staticprivate

◆ disconnect()

void disconnect ( )
virtual

Implements AudioOutput.

◆ getBufferSize()

unsigned getBufferSize ( )
virtual

Implements AudioOutput.

◆ getDevices()

QStringList getDevices ( )
static

◆ getLatency()

int getLatency ( )
virtual

Approximate audio latency (in frames) A reasonable approximation is the buffer time on most audio systems.

For systems with variable buffer sizes, this isn't very useful though

Reimplemented from AudioOutput.

◆ 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  bufferSize)
virtual

Implements AudioOutput.

◆ locate()

void locate ( unsigned long  nFrame)
virtual

Implements AudioOutput.

◆ outputDeviceIDs()

std::vector< AudioDeviceID > outputDeviceIDs ( )
staticprivate

◆ play()

void play ( )
virtual

Implements AudioOutput.

◆ preferredOutputDevice()

AudioDeviceID preferredOutputDevice ( )
private

◆ printStreamInfo()

void printStreamInfo ( void  )
private

◆ retrieveBufferSize()

void retrieveBufferSize ( void  )
private

◆ 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
private

◆ m_nBufferSize

UInt32 m_nBufferSize

◆ m_nSampleRate

unsigned m_nSampleRate
private

◆ m_outputDevice

AudioDeviceID m_outputDevice

◆ m_outputUnit

AudioUnit m_outputUnit

◆ m_pOut_L

float* m_pOut_L

◆ m_pOut_R

float* m_pOut_R

◆ mProcessCallback

audioProcessCallback mProcessCallback

◆ oSampleRate

unsigned oSampleRate
private