hydrogen 1.1.1
AudioOutput Class Referenceabstract

Base abstract class for audio output classes. More...

#include <AudioOutput.h>

Inheritance diagram for AudioOutput:
Object AlsaAudioDriver CoreAudioDriver DiskWriterDriver FakeDriver JackAudioDriver NullDriver OssDriver PortAudioDriver PulseAudioDriver

Public Member Functions

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

TransportInfo m_transport
 Local instance of the TransportInfo. More...
 

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...
 

Detailed Description

Base abstract class for audio output classes.

Constructor & Destructor Documentation

◆ AudioOutput()

AudioOutput ( const char *  class_name)
inline

◆ ~AudioOutput()

virtual ~AudioOutput ( )
inlinevirtual

Member Function Documentation

◆ connect()

◆ disconnect()

◆ getBufferSize()

virtual unsigned getBufferSize ( )
pure virtual

◆ getDevices()

static QStringList getDevices ( )
inlinestatic

◆ getLatency()

virtual int getLatency ( )
inlinevirtual

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 in CoreAudioDriver, and PortAudioDriver.

◆ getOut_L()

◆ getOut_R()

◆ getSampleRate()

virtual unsigned getSampleRate ( )
pure virtual

◆ init()

virtual int init ( unsigned  nBufferSize)
pure virtual

◆ locate()

virtual void locate ( unsigned long  nFrame)
pure virtual

◆ play()

◆ setBpm()

virtual void setBpm ( float  fBPM)
pure virtual

◆ stop()

◆ updateTransportInfo()

virtual void updateTransportInfo ( )
pure virtual

Field Documentation

◆ m_transport

TransportInfo m_transport

Local instance of the TransportInfo.