hydrogen 1.2.3
DiskWriterDriver Class Reference

Driver for export audio to disk. More...

#include <DiskWriterDriver.h>

Inheritance diagram for DiskWriterDriver:
Object< DiskWriterDriver > AudioOutput Base Object< AudioOutput > Base

Public Member Functions

 DiskWriterDriver (audioProcessCallback processCallback)
 
 ~DiskWriterDriver ()
 
virtual int connect () override
 
virtual void disconnect () override
 disconnect
 
virtual unsigned getBufferSize () override
 
virtual float * getOut_L () override
 
virtual float * getOut_R () override
 
virtual unsigned getSampleRate () override
 
virtual int init (unsigned nBufferSize) override
 
void setFileName (const QString &sFilename)
 
void setSampleDepth (int nNewDepth)
 
void setSampleRate (unsigned nNewRate)
 
void write ()
 
- Public Member Functions inherited from Object< DiskWriterDriver >
 Object ()
 
 Object (const Object< DiskWriterDriver > &other)
 
- Public Member Functions inherited from Base
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
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.
 
- Public Member Functions inherited from AudioOutput
 AudioOutput ()=default
 
virtual ~AudioOutput ()
 
virtual int getLatency ()
 Approximate audio latency (in frames) A reasonable approximation is the buffer time on most audio systems.
 
virtual int getXRuns () const
 Get the number of XRuns that occurred since the audio driver has started.
 
- Public Member Functions inherited from Object< AudioOutput >
 Object ()
 
 Object (const Object< AudioOutput > &other)
 

Data Fields

unsigned m_nBufferSize
 
int m_nSampleDepth
 
unsigned m_nSampleRate
 
float * m_pOut_L
 
float * m_pOut_R
 
audioProcessCallback m_processCallback
 
QString m_sFilename
 

Additional Inherited Members

- 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
 
- Static Public Member Functions inherited from AudioOutput
static QStringList getDevices ()
 
- 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< DiskWriterDriver >
 ~Object ()
 
- Protected Member Functions inherited from Base
 ~Base ()
 
- Protected Member Functions inherited from Object< AudioOutput >
 ~Object ()
 
- 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
 

Detailed Description

Driver for export audio to disk.

Definition at line 41 of file DiskWriterDriver.h.

Constructor & Destructor Documentation

◆ DiskWriterDriver()

Definition at line 316 of file DiskWriterDriver.cpp.

◆ ~DiskWriterDriver()

Definition at line 328 of file DiskWriterDriver.cpp.

Member Function Documentation

◆ connect()

int connect ( )
overridevirtual

Implements AudioOutput.

Definition at line 345 of file DiskWriterDriver.cpp.

◆ disconnect()

void disconnect ( )
overridevirtual

disconnect

Implements AudioOutput.

Definition at line 361 of file DiskWriterDriver.cpp.

◆ getBufferSize()

virtual unsigned getBufferSize ( )
inlineoverridevirtual

Implements AudioOutput.

Definition at line 64 of file DiskWriterDriver.h.

◆ getOut_L()

virtual float * getOut_L ( )
inlineoverridevirtual

Implements AudioOutput.

Definition at line 76 of file DiskWriterDriver.h.

◆ getOut_R()

virtual float * getOut_R ( )
inlineoverridevirtual

Implements AudioOutput.

Definition at line 79 of file DiskWriterDriver.h.

◆ getSampleRate()

unsigned getSampleRate ( )
overridevirtual

Implements AudioOutput.

Definition at line 375 of file DiskWriterDriver.cpp.

◆ init()

int init ( unsigned nBufferSize)
overridevirtual

Implements AudioOutput.

Definition at line 333 of file DiskWriterDriver.cpp.

◆ setFileName()

void setFileName ( const QString & sFilename)
inline

Definition at line 83 of file DiskWriterDriver.h.

◆ setSampleDepth()

void setSampleDepth ( int nNewDepth)
inline

Definition at line 72 of file DiskWriterDriver.h.

◆ setSampleRate()

void setSampleRate ( unsigned nNewRate)
inline

Definition at line 69 of file DiskWriterDriver.h.

◆ write()

void write ( )

Definition at line 350 of file DiskWriterDriver.cpp.

Field Documentation

◆ m_nBufferSize

unsigned m_nBufferSize

Definition at line 48 of file DiskWriterDriver.h.

◆ m_nSampleDepth

int m_nSampleDepth

Definition at line 49 of file DiskWriterDriver.h.

◆ m_nSampleRate

unsigned m_nSampleRate

Definition at line 46 of file DiskWriterDriver.h.

◆ m_pOut_L

float* m_pOut_L

Definition at line 51 of file DiskWriterDriver.h.

◆ m_pOut_R

float* m_pOut_R

Definition at line 52 of file DiskWriterDriver.h.

◆ m_processCallback

audioProcessCallback m_processCallback

Definition at line 50 of file DiskWriterDriver.h.

◆ m_sFilename

QString m_sFilename

Definition at line 47 of file DiskWriterDriver.h.