Audio Effects Framework
CAudioFileIf Class Referenceabstract

open, read, and write audio files More...

#include <AudioFileIf.h>

Inheritance diagram for CAudioFileIf:

Classes

struct  FileSpec_t
 

Public Types

enum  FileIoType_t { kFileRead = 0x1L, kFileWrite = 0x2L, kNumFileOpenTypes = 2 }
 
enum  FileFormat_t {
  kFileFormatRaw, kFileFormatWav, kFileFormatAiff, kFileFormatUnknown,
  kNumFileFormats
}
 
enum  BitStream_t { kFileBitStreamInt16, kFileBitStreamFloat32, kFileBitStreamUnknown, kNumWordLengths }
 

Public Member Functions

virtual Error_t reset (bool bFreeMemory=false)
 
virtual Error_t openFile (std::string cAudioFileName, FileIoType_t eIoType, FileSpec_t const *psFileSpec=0)=0
 
virtual Error_t closeFile ()=0
 
virtual Error_t readData (float **ppfAudioData, long long int &iNumFrames)
 
virtual Error_t writeData (float **ppfAudioData, long long int iNumFrames)
 
Error_t getFileSpec (FileSpec_t &sFileSpec)
 
virtual Error_t setPosition (long long iFrame=0)
 
Error_t setPosition (double dTimeInS=.0)
 
Error_t setClippingEnabled (bool bIsEnabled=true)
 
bool isClippingEnabled ()
 
Error_t getPosition (long long &iFrame)
 
Error_t getPosition (double &dTimeInS)
 
Error_t getLength (long long &iLengthInFrames)
 
Error_t getLength (double &dLengthInSeconds)
 
virtual bool isEof ()=0
 
virtual bool isOpen ()=0
 
virtual bool isInitialized ()
 

Static Public Member Functions

static Error_t create (CAudioFileIf *&pCInstance)
 
static Error_t destroy (CAudioFileIf *&pCInstance)
 

Protected Member Functions

 CAudioFileIf ()
 
virtual ~CAudioFileIf ()
 
virtual Error_t freeMemory ()
 
virtual Error_t allocMemory ()
 
Error_t setInitialized (bool bInitialized=true)
 
Error_t setIoType (FileIoType_t eIoType)
 
FileIoType_t getIoType () const
 
Error_t setFileSpec (const FileSpec_t *pFileSpec)
 
int getNumChannels () const
 
long long convFrames2Bytes (long long iNumFrames)
 
long long convBytes2Frames (long long iNumFrames)
 
Error_t setNumBytesPerSample (int iNumBytes)
 
int getNumBytesPerSample () const
 
int getNumBitsPerSample () const
 
float clip2Range (float fSample2Clip, float fMin, float fMax)
 

Static Protected Attributes

static const long long int m_kiDefBlockLength = 1024
 buffer length for read and write operations More...
 

Detailed Description

open, read, and write audio files

Member Enumeration Documentation

◆ BitStream_t

Enumerator
kFileBitStreamInt16 

a sample is two byte (int16)

kFileBitStreamFloat32 

a sample is four byte (float32) (not available without sndlib)

kFileBitStreamUnknown 

word length is unknown

kNumWordLengths 

◆ FileFormat_t

Enumerator
kFileFormatRaw 

file is raw pcm format

kFileFormatWav 

file is wav riff format (not available without sndlib)

kFileFormatAiff 

file is aiff format (not available without sndlib)

kFileFormatUnknown 

file format is unknown

kNumFileFormats 

◆ FileIoType_t

Enumerator
kFileRead 

open file for reading

kFileWrite 

open file for writing

kNumFileOpenTypes 

Constructor & Destructor Documentation

◆ CAudioFileIf()

CAudioFileIf::CAudioFileIf ( )
protected

◆ ~CAudioFileIf()

CAudioFileIf::~CAudioFileIf ( )
protectedvirtual

Member Function Documentation

◆ allocMemory()

Error_t CAudioFileIf::allocMemory ( )
protectedvirtual

Reimplemented in CAudioFileSndLib.

◆ clip2Range()

float CAudioFileIf::clip2Range ( float  fSample2Clip,
float  fMin,
float  fMax 
)
inlineprotected

◆ closeFile()

virtual Error_t CAudioFileIf::closeFile ( )
pure virtual

close the current file

Returns
Error_t

Implemented in CAudioFileSndLib, and CAudioFileRaw.

◆ convBytes2Frames()

long long CAudioFileIf::convBytes2Frames ( long long  iNumFrames)
protected

◆ convFrames2Bytes()

long long CAudioFileIf::convFrames2Bytes ( long long  iNumFrames)
protected

◆ create()

Error_t CAudioFileIf::create ( CAudioFileIf *&  pCInstance)
static

opens a new instance for audio file IO

Parameters
pCInstance
Returns
Error_t

◆ destroy()

Error_t CAudioFileIf::destroy ( CAudioFileIf *&  pCInstance)
static

destroys and audio file IO instance

Parameters
pCInstance
Returns
Error_t

◆ freeMemory()

Error_t CAudioFileIf::freeMemory ( )
protectedvirtual

Reimplemented in CAudioFileSndLib.

◆ getFileSpec()

Error_t CAudioFileIf::getFileSpec ( FileSpec_t sFileSpec)

retrieve file specifications

Parameters
sFileSpec
Returns
Error_t

◆ getIoType()

CAudioFileIf::FileIoType_t CAudioFileIf::getIoType ( ) const
protected

◆ getLength() [1/2]

Error_t CAudioFileIf::getLength ( double &  dLengthInSeconds)

get length of file

Parameters
dLengthInSecondsfile length in seconds
Returns
Error_t

◆ getLength() [2/2]

Error_t CAudioFileIf::getLength ( long long &  iLengthInFrames)

get length of file

Parameters
iLengthInFramesfile length in frames
Returns
Error_t

◆ getNumBitsPerSample()

int CAudioFileIf::getNumBitsPerSample ( ) const
inlineprotected

◆ getNumBytesPerSample()

int CAudioFileIf::getNumBytesPerSample ( ) const
protected

◆ getNumChannels()

int CAudioFileIf::getNumChannels ( ) const
protected

◆ getPosition() [1/2]

Error_t CAudioFileIf::getPosition ( double &  dTimeInS)

get current position in file

Parameters
dTimeInScurrent time in seconds
Returns
Error_t

◆ getPosition() [2/2]

Error_t CAudioFileIf::getPosition ( long long &  iFrame)

get current position in file

Parameters
iFramecurrent frame
Returns
Error_t

◆ isClippingEnabled()

bool CAudioFileIf::isClippingEnabled ( )
inline

check if clipping is enabled

Returns
bool

◆ isEof()

virtual bool CAudioFileIf::isEof ( )
pure virtual

check if EOF is true

Returns
bool

Implemented in CAudioFileSndLib, and CAudioFileRaw.

◆ isInitialized()

bool CAudioFileIf::isInitialized ( )
virtual

check is the instance is initialized

Returns
bool

◆ isOpen()

virtual bool CAudioFileIf::isOpen ( )
pure virtual

check if a file is opened

Returns
bool

Implemented in CAudioFileSndLib, and CAudioFileRaw.

◆ openFile()

virtual Error_t CAudioFileIf::openFile ( std::string  cAudioFileName,
FileIoType_t  eIoType,
FileSpec_t const *  psFileSpec = 0 
)
pure virtual

open a file for reading or writing

Parameters
cAudioFileName
eIoType
psFileSpec
Returns
Error_t

Implemented in CAudioFileSndLib, and CAudioFileRaw.

◆ readData()

Error_t CAudioFileIf::readData ( float **  ppfAudioData,
long long int &  iNumFrames 
)
virtual

read data from file and increments read position

Parameters
ppfAudioData[channels][iNumFrames]
iNumFramesnumber of frames to read (per channel), is updated to the number of frames actually read
Returns
Error_t

◆ reset()

Error_t CAudioFileIf::reset ( bool  bFreeMemory = false)
virtual

reset instance to initial state

Parameters
bFreeMemoryalso free the internal memory if true
Returns
Error_t

◆ setClippingEnabled()

Error_t CAudioFileIf::setClippingEnabled ( bool  bIsEnabled = true)

enable clipping to avoid wrap-arounds

Parameters
bIsEnabled
Returns
Error_t

◆ setFileSpec()

Error_t CAudioFileIf::setFileSpec ( const FileSpec_t pFileSpec)
protected

◆ setInitialized()

Error_t CAudioFileIf::setInitialized ( bool  bInitialized = true)
protected

◆ setIoType()

Error_t CAudioFileIf::setIoType ( FileIoType_t  eIoType)
protected

◆ setNumBytesPerSample()

Error_t CAudioFileIf::setNumBytesPerSample ( int  iNumBytes)
protected

◆ setPosition() [1/2]

Error_t CAudioFileIf::setPosition ( double  dTimeInS = .0)

jump to new position in file

Parameters
dTimeInStime to jump to
Returns
Error_t

◆ setPosition() [2/2]

Error_t CAudioFileIf::setPosition ( long long  iFrame = 0)
virtual

jump to new position in file

Parameters
iFrameframe to jump to
Returns
Error_t

◆ writeData()

Error_t CAudioFileIf::writeData ( float **  ppfAudioData,
long long int  iNumFrames 
)
virtual

write data to file and increments write position

Parameters
ppfAudioData[channels][iNumFrames]
iNumFramesnumber of frames to write (per channel)
Returns
Error_t

Member Data Documentation

◆ m_kiDefBlockLength

const long long int CAudioFileIf::m_kiDefBlockLength = 1024
staticprotected

buffer length for read and write operations


The documentation for this class was generated from the following files: