hydrogen 1.1.1
OssDriver Class Reference

OSS Audio Driver. More...

#include <OssDriver.h>

Inheritance diagram for OssDriver:
AudioOutput Object

Public Member Functions

 OssDriver (audioProcessCallback processCallback)
 
 ~OssDriver ()
 
int init (unsigned bufferSize)
 
int connect ()
 Connect return 0: Ok return 1: Generic error. More...
 
void disconnect ()
 
void write ()
 Write the audio data. More...
 
unsigned getBufferSize ()
 
unsigned getSampleRate ()
 
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)
 
- 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...
 

Private Member Functions

int log2 (int n)
 

Private Attributes

int fd
 file descriptor, for writing to /dev/dsp More...
 
short * audioBuffer
 
float * out_L
 
float * out_R
 
audioProcessCallback processCallback
 

Additional Inherited Members

- 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 inherited from AudioOutput
TransportInfo m_transport
 Local instance of the TransportInfo. More...
 
- 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

OSS Audio Driver.

Constructor & Destructor Documentation

◆ OssDriver()

OssDriver ( audioProcessCallback  processCallback)

◆ ~OssDriver()

~OssDriver ( )

Member Function Documentation

◆ connect()

int connect ( )
virtual

Connect return 0: Ok return 1: Generic error.

Implements AudioOutput.

◆ disconnect()

void disconnect ( )
virtual

Implements AudioOutput.

◆ getBufferSize()

unsigned getBufferSize ( )
virtual

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

◆ log2()

int log2 ( int  n)
private

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

◆ write()

void write ( )

Write the audio data.

Field Documentation

◆ audioBuffer

short* audioBuffer
private

◆ fd

int fd
private

file descriptor, for writing to /dev/dsp

◆ out_L

float* out_L
private

◆ out_R

float* out_R
private

◆ processCallback

audioProcessCallback processCallback
private