hydrogen 1.2.6
AudioOutput Class Referenceabstract

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

#include <AudioOutput.h>

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

Public Member Functions

 AudioOutput ()=default
 
virtual ~AudioOutput ()
 
virtual int connect ()=0
 
virtual void disconnect ()=0
 
virtual unsigned getBufferSize ()=0
 
virtual int getLatency ()
 Approximate audio latency (in frames) A reasonable approximation is the buffer time on most audio systems.
 
virtual float * getOut_L ()=0
 
virtual float * getOut_R ()=0
 
virtual unsigned getSampleRate ()=0
 
virtual int getXRuns () const
 Get the number of XRuns that occurred since the audio driver has started.
 
virtual int init (unsigned nBufferSize)=0
 
- Public Member Functions inherited from Object< AudioOutput >
 Object ()
 
 Object (const Object< AudioOutput > &other)
 
- Public Member Functions inherited from Base
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
void logBacktrace () const
 Print the current stack at point into the debug log.
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG.
 
virtual QString toQString (const QString &sPrefix="", bool bShort=true) const
 Formatted string version for debugging purposes.
 

Static Public Member Functions

static QStringList getDevices ()
 
- Static Public Member Functions inherited from Base
static const char * _class_name ()
 return the class name
 
static QString base_clock (const QString &sMsg)
 Measures the current time and stores it in __last_clock.
 
static QString base_clock_in (const QString &sMsg)
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation !
 
static bool count_active ()
 
static int getAliveObjectCount ()
 
static object_map_t getObjectMap ()
 
static Loggerlogger ()
 return the logger instance
 
static int objects_count ()
 
static void printObjectMapDiff (object_map_t map)
 Creates the difference between a snapshot of the object map and its current state and prints it to std::cout.
 
static void set_count (bool flag)
 enable/disable class instances counting
 
static void write_objects_map_to (std::ostream &out, object_map_t *map=nullptr)
 output the full objects map to a given ostream
 
static void write_objects_map_to_cerr ()
 output objects map to stderr
 

Additional Inherited Members

- Static Public Attributes inherited from Base
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes.
 
- Protected Member Functions inherited from Object< AudioOutput >
 ~Object ()
 
- Protected Member Functions inherited from Base
 ~Base ()
 
- Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
 
- Static Protected Attributes inherited from Base
static bool __count = false
 should we count class instances
 
static timeval __last_clock = { 0, 0 }
 
static Logger__logger = nullptr
 
static bool bLogColors = true
 

Detailed Description

Base abstract class for audio output classes.

Definition at line 38 of file AudioOutput.h.

Constructor & Destructor Documentation

◆ AudioOutput()

AudioOutput ( )
default

◆ ~AudioOutput()

virtual ~AudioOutput ( )
inlinevirtual

Definition at line 43 of file AudioOutput.h.

Member Function Documentation

◆ connect()

◆ disconnect()

◆ getBufferSize()

virtual unsigned getBufferSize ( )
pure virtual

◆ getDevices()

static QStringList getDevices ( )
inlinestatic

Definition at line 66 of file AudioOutput.h.

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

Definition at line 55 of file AudioOutput.h.

◆ getOut_L()

◆ getOut_R()

◆ getSampleRate()

virtual unsigned getSampleRate ( )
pure virtual

◆ getXRuns()

virtual int getXRuns ( ) const
inlinevirtual

Get the number of XRuns that occurred since the audio driver has started.

Reimplemented in AlsaAudioDriver, and JackAudioDriver.

Definition at line 62 of file AudioOutput.h.

◆ init()

virtual int init ( unsigned nBufferSize)
pure virtual