Eric Oulashin's C++ Audio Mixer 1.0
Public Member Functions | Static Public Member Functions | List of all members
EOUtils::WAVFileInfo Class Reference

#include <WAVFileInfo.h>

Inheritance diagram for EOUtils::WAVFileInfo:
Inheritance graph
Collaboration diagram for EOUtils::WAVFileInfo:
Collaboration graph

Public Member Functions

 WAVFileInfo (int16_t pNumChannels=0, int32_t pSampleRateHz=0, int32_t pBytesPerSecond=0, int16_t pByteRate=0, int16_t pBitsPerSample=0)
 Constructor.
 
 WAVFileInfo (const AudioFileInfo &pAudioFileInfo)
 Constructor for copying an AudioFileInfo object.
 
AudioFileResultType read (std::fstream &pInFStream) override
 Reads the info from a file stream.
 
AudioFileResultType write (std::fstream &pOutFStream) override
 Writes the info to a file stream.
 
AudioFileResultType updateFileSizeSizeInFile (std::fstream &pOutFStream, int32_t pFileSize)
 
AudioFileResultType updateDataSizeSizeInFile (std::fstream &pOutFStream, int32_t pDataSize)
 
std::string WAVHeader () const
 
std::string RIFFType () const
 
std::string Subchunk2ID () const
 
int32_t Subchunk2Size () const
 
int32_t DataSizeBytes () const
 
int16_t BitsPerSample () const
 
void BitsPerSample (int16_t pBitsPerSample)
 
void SetWAVHeaderAndRIFFType ()
 
void SetSubchunk2IDAndSize ()
 
- Public Member Functions inherited from EOUtils::AudioFileInfo
 AudioFileInfo (int16_t pNumChannels=0, int32_t pSampleRateHz=0, int32_t pBytesPerSecond=0, int16_t pByteRate=0, int16_t pBitsPerSample=0)
 Constructor.
 
virtual void copyAudioFileInfo (const AudioFileInfo &pAudioFileInfo)
 Copies the values from another AudioFileInfo object.
 
virtual AudioFileResultType read (const char *pFilename)
 Reads the info from a WAV file.
 
virtual int32_t FileSize () const
 
void FileSize (int32_t pFileSize)
 
virtual int16_t NumChannels () const
 
virtual void NumChannels (int16_t pNumChannels)
 
virtual int32_t SampleRateHz () const
 
virtual void SampleRateHz (int32_t pSampleRateHz)
 
virtual int32_t BytesPerSecond () const
 
virtual void BytesPerSecond (int32_t pBytesPerSecond)
 
virtual int16_t ByteRate () const
 
virtual void ByteRate (int16_t pByteRate)
 
virtual size_t BytesPerSample () const
 

Static Public Member Functions

static size_t WAVFileHdrSize ()
 
static int16_t BitsPerSample (const char *pFilename)
 
static bool isWAVFile (const char *pFilename)
 

Additional Inherited Members

- Protected Attributes inherited from EOUtils::AudioFileInfo
int32_t mFileSize
 
int16_t mNumChannels
 
int32_t mSampleRateHz
 
int32_t mBytesPerSecond
 
int16_t mByteRate
 
int16_t mBitsPerSample
 

Constructor & Destructor Documentation

◆ WAVFileInfo() [1/2]

EOUtils::WAVFileInfo::WAVFileInfo ( int16_t  pNumChannels = 0,
int32_t  pSampleRateHz = 0,
int32_t  pBytesPerSecond = 0,
int16_t  pByteRate = 0,
int16_t  pBitsPerSample = 0 
)

Constructor.

Parameters
[in]pNumChannelsThe number of channels
[in]pSampleRateHzThe sample rate (in Hz)
[in]pBytesPerSecondThe number of bytes per second
[in]pByteRateThe byte rate (number of bytes per sample * number of channels)
[in]pBitsPerSampleThe number of bits per sample

◆ WAVFileInfo() [2/2]

EOUtils::WAVFileInfo::WAVFileInfo ( const AudioFileInfo pAudioFileInfo)

Constructor for copying an AudioFileInfo object.

Parameters
[in]pAudioFileInfoAn AudioFileInfo object to copy the values from

Member Function Documentation

◆ BitsPerSample() [1/3]

int16_t EOUtils::WAVFileInfo::BitsPerSample ( ) const
virtual

◆ BitsPerSample() [2/3]

int16_t EOUtils::WAVFileInfo::BitsPerSample ( const char *  pFilename)
static

◆ BitsPerSample() [3/3]

void EOUtils::WAVFileInfo::BitsPerSample ( int16_t  pBitsPerSample)
virtual

◆ DataSizeBytes()

int32_t EOUtils::WAVFileInfo::DataSizeBytes ( ) const

◆ isWAVFile()

bool EOUtils::WAVFileInfo::isWAVFile ( const char *  pFilename)
static

◆ read()

AudioFileResultType EOUtils::WAVFileInfo::read ( std::fstream &  pInFStream)
overridevirtual

Reads the info from a file stream.

Parameters
[in]pInFStreamA file stream object to read the information from. This must be already opened in read and binary mode.
Returns
An AudioFileResultType object containing error messages on failure, or no errors on success

Reimplemented from EOUtils::AudioFileInfo.

References EOUtils::AudioFileResultType::addError(), EOUtils::machineIsBigEndian, EOUtils::AudioFileInfo::mBitsPerSample, EOUtils::AudioFileInfo::mByteRate, EOUtils::AudioFileInfo::mBytesPerSecond, EOUtils::AudioFileInfo::mFileSize, EOUtils::AudioFileInfo::mNumChannels, EOUtils::AudioFileInfo::mSampleRateHz, result, and EOUtils::reverseBytes().

Referenced by EOUtils::WAVFile::open().

◆ RIFFType()

string EOUtils::WAVFileInfo::RIFFType ( ) const

Referenced by isWAVFile().

◆ SetSubchunk2IDAndSize()

void EOUtils::WAVFileInfo::SetSubchunk2IDAndSize ( )

◆ SetWAVHeaderAndRIFFType()

void EOUtils::WAVFileInfo::SetWAVHeaderAndRIFFType ( )

◆ Subchunk2ID()

string EOUtils::WAVFileInfo::Subchunk2ID ( ) const

◆ Subchunk2Size()

int32_t EOUtils::WAVFileInfo::Subchunk2Size ( ) const

◆ updateDataSizeSizeInFile()

AudioFileResultType EOUtils::WAVFileInfo::updateDataSizeSizeInFile ( std::fstream &  pOutFStream,
int32_t  pDataSize 
)

◆ updateFileSizeSizeInFile()

AudioFileResultType EOUtils::WAVFileInfo::updateFileSizeSizeInFile ( std::fstream &  pOutFStream,
int32_t  pFileSize 
)

◆ WAVFileHdrSize()

size_t EOUtils::WAVFileInfo::WAVFileHdrSize ( )
static

◆ WAVHeader()

string EOUtils::WAVFileInfo::WAVHeader ( ) const

Referenced by isWAVFile().

◆ write()

AudioFileResultType EOUtils::WAVFileInfo::write ( std::fstream &  pOutFStream)
overridevirtual

Writes the info to a file stream.

Parameters
[in]pOutFStreamA file stream object to write the information to. This must be already opened in write and binary mode.
Returns
An AudioFileResultType object containing error messages on failure, or no errors on success

Reimplemented from EOUtils::AudioFileInfo.

References EOUtils::AudioFileResultType::addError(), EOUtils::machineIsBigEndian, EOUtils::AudioFileInfo::mBitsPerSample, EOUtils::AudioFileInfo::mByteRate, EOUtils::AudioFileInfo::mBytesPerSecond, EOUtils::AudioFileInfo::mFileSize, EOUtils::AudioFileInfo::mNumChannels, EOUtils::AudioFileInfo::mSampleRateHz, result, and EOUtils::reverseBytes().

Referenced by EOUtils::WAVFile::open().


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