Eric Oulashin's C++ Audio Mixer 1.0
EOUtils::AudioFileInfo Class Reference

#include <AudioFileInfo.h>

Inheritance diagram for EOUtils::AudioFileInfo:
Inheritance graph
Collaboration diagram for EOUtils::AudioFileInfo:
Collaboration graph

Public Member Functions

 AudioFileInfo (int16_t pNumChannels=0, int32_t pSampleRateHz=0, int32_t pBytesPerSecond=0, int16_t pByteRate=0, int16_t pBitsPerSample=0)
 Constructor.
virtual ~AudioFileInfo ()=default
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 AudioFileResultType read (std::fstream &pInFStream)
 Reads the info from a file stream.
virtual AudioFileResultType write (std::fstream &pOutFStream)
 Writes the info to a file stream.
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 int16_t BitsPerSample () const
virtual void BitsPerSample (int16_t pBitsPerSample)
virtual size_t BytesPerSample () const

Protected Attributes

int32_t mFileSize
int16_t mNumChannels
int32_t mSampleRateHz
int32_t mBytesPerSecond
int16_t mByteRate
int16_t mBitsPerSample

Constructor & Destructor Documentation

◆ AudioFileInfo()

EOUtils::AudioFileInfo::AudioFileInfo ( 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

References mBitsPerSample, mByteRate, mBytesPerSecond, mFileSize, mNumChannels, and mSampleRateHz.

Referenced by EOUtils::AiffFileInfo::AiffFileInfo(), EOUtils::AiffFileInfo::AiffFileInfo(), copyAudioFileInfo(), EOUtils::FLACFileInfo::FLACFileInfo(), EOUtils::FLACFileInfo::FLACFileInfo(), EOUtils::FLACFileInfo::FLACFileInfo(), EOUtils::MP3FileInfo::MP3FileInfo(), EOUtils::MP3FileInfo::MP3FileInfo(), EOUtils::OggFileInfo::OggFileInfo(), EOUtils::OggFileInfo::OggFileInfo(), EOUtils::WAVFileInfo::WAVFileInfo(), EOUtils::WAVFileInfo::WAVFileInfo(), and ~AudioFileInfo().

◆ ~AudioFileInfo()

virtual EOUtils::AudioFileInfo::~AudioFileInfo ( )
virtualdefault

References AudioFileInfo().

Member Function Documentation

◆ BitsPerSample() [1/2]

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

◆ BitsPerSample() [2/2]

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

Reimplemented in EOUtils::WAVFileInfo.

References mBitsPerSample.

◆ ByteRate() [1/2]

int16_t EOUtils::AudioFileInfo::ByteRate ( ) const
virtual

◆ ByteRate() [2/2]

void EOUtils::AudioFileInfo::ByteRate ( int16_t pByteRate)
virtual

References mByteRate.

◆ BytesPerSample()

size_t EOUtils::AudioFileInfo::BytesPerSample ( ) const
virtual

References BITS_PER_BYTE, and mBitsPerSample.

◆ BytesPerSecond() [1/2]

int32_t EOUtils::AudioFileInfo::BytesPerSecond ( ) const
virtual

◆ BytesPerSecond() [2/2]

void EOUtils::AudioFileInfo::BytesPerSecond ( int32_t pBytesPerSecond)
virtual

References mBytesPerSecond.

◆ copyAudioFileInfo()

void EOUtils::AudioFileInfo::copyAudioFileInfo ( const AudioFileInfo & pAudioFileInfo)
virtual

Copies the values from another AudioFileInfo object.

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

References AudioFileInfo(), mBitsPerSample, mByteRate, mBytesPerSecond, mFileSize, mNumChannels, and mSampleRateHz.

Referenced by EOUtils::getAudioFileInfo().

◆ FileSize() [1/2]

int32_t EOUtils::AudioFileInfo::FileSize ( ) const
virtual

◆ FileSize() [2/2]

void EOUtils::AudioFileInfo::FileSize ( int32_t pFileSize)

References mFileSize.

◆ NumChannels() [1/2]

int16_t EOUtils::AudioFileInfo::NumChannels ( ) const
virtual

◆ NumChannels() [2/2]

void EOUtils::AudioFileInfo::NumChannels ( int16_t pNumChannels)
virtual

References mNumChannels.

◆ read() [1/2]

AudioFileResultType EOUtils::AudioFileInfo::read ( const char * pFilename)
virtual

Reads the info from a WAV file.

Parameters
[in]pFilenameThe name of a WAV file to read from
Returns
An AudioFileResultType object containing error messages on failure, or no errors on success

Reimplemented in EOUtils::AiffFileInfo, EOUtils::FLACFileInfo, EOUtils::MP3FileInfo, and EOUtils::OggFileInfo.

References EOUtils::AudioFileResultType::addError(), and read().

Referenced by read().

◆ read() [2/2]

AudioFileResultType EOUtils::AudioFileInfo::read ( std::fstream & pInFStream)
virtual

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 in EOUtils::AiffFileInfo, EOUtils::FLACFileInfo, EOUtils::MP3FileInfo, EOUtils::OggFileInfo, and EOUtils::WAVFileInfo.

References EOUtils::AudioFileResultType::addError().

◆ SampleRateHz() [1/2]

int32_t EOUtils::AudioFileInfo::SampleRateHz ( ) const
virtual

◆ SampleRateHz() [2/2]

void EOUtils::AudioFileInfo::SampleRateHz ( int32_t pSampleRateHz)
virtual

References mSampleRateHz.

◆ write()

AudioFileResultType EOUtils::AudioFileInfo::write ( std::fstream & pOutFStream)
virtual

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 in EOUtils::AiffFileInfo, EOUtils::FLACFileInfo, EOUtils::MP3FileInfo, EOUtils::OggFileInfo, and EOUtils::WAVFileInfo.

References EOUtils::AudioFileResultType::addError().

Member Data Documentation

◆ mBitsPerSample

◆ mByteRate

◆ mBytesPerSecond

◆ mFileSize

◆ mNumChannels

◆ mSampleRateHz


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