1#ifndef __EO_UTILS_AUDIO_FILE_H__
2#define __EO_UTILS_AUDIO_FILE_H__
43 virtual bool isOpen()
const;
106 const std::string&
Filename()
const;
121 void setMetadata(
const std::string& pName,
const std::string& pValue);
133 std::ostringstream oss;
160 std::map<std::string, std::string>::const_iterator iterator =
mMetadata.find(pName);
163 std::istringstream iss(iterator->second);
167 result.addError(
"Audio flie metadata with name " + pName +
" was not found");
184 std::map<std::string, std::string>::const_iterator iterator =
mMetadata.find(pName);
187 std::istringstream iss(iterator->second);
203 T value = pDefaultVal;
204 std::map<std::string, std::string>::const_iterator iterator =
mMetadata.find(pName);
207 std::istringstream iss(iterator->second);
AudioFileResultType * result
Definition FLACFileInfo.cpp:24
Definition AudioFileInfo.h:14
Definition AudioFileResultType.h:13
Definition AudioFile.h:22
virtual int64_t maxValueForSampleSize() const =0
Returns the maximum possible positive value of the audio file's sample size.
std::string getMetadata(const std::string &pName) const
Gets a metadata value.
virtual AudioFileResultType getHighestSampleValue_int64(int64_t &pHighestAudioSample)=0
Gets the highest audio sample value from the file, cast to a 64-bit integer.
std::ios_base::openmode mFileOpenMode
Definition AudioFile.h:232
virtual void setAudioFileInfo(const AudioFileInfo &pAudioFileInfo)=0
virtual void setFileMode(AudioFileModes pFileMode)
Definition AudioFile.cpp:127
AudioFileResultType getMetadata(const std::string &pName, std::string &pValue) const
Gets a metadata value as a string.
virtual void close()
Closes the audio file.
Definition AudioFile.cpp:69
T getMetadataAs(const std::string &pName) const
Definition AudioFile.h:181
size_t mDataSizeBytes
Definition AudioFile.h:233
virtual AudioFileResultType open(AudioFileModes pOpenMode)
Definition AudioFile.cpp:38
void setMetadata(const std::string &pName, const std::string &pValue)
Adds a piece of metadata for the audio file.
Definition AudioFile.cpp:85
AudioFile(const std::string &pFilename, AudioFileModes pFileMode)
AudioFileResultType getMetadataAs(const std::string &pName, T &pValue) const
Gets a metadata value. Templatized to capture the value as any type.
Definition AudioFile.h:157
virtual bool hasWriteMode() const
Returns whether or not write mode is enabled for the file.
Definition AudioFile.cpp:64
void setMetadataFromVal(const std::string &pName, const T &pValue)
Adds a piece of metadata for the audio file. Templatized for any value type. The value will be conver...
Definition AudioFile.h:131
std::map< std::string, std::string > mMetadata
Definition AudioFile.h:234
AudioFile(const std::string &pFilename)
Constructor.
virtual bool hasReadMode() const
Returns whether or not read mode is enabled for the file.
Definition AudioFile.cpp:59
virtual AudioFileResultType writeSample_int64(int64_t pAudioSample)=0
Writes an audio sample to the file. The parameter is a 64-bit integer but will be cast to the bitness...
virtual size_t numSamples() const =0
Returns the number of audio samples in the audio file.
virtual AudioFileResultType getNextSample_int64(int64_t &pAudioSample)=0
Gets the next sample from the file, cast to a 64-bit integer.
void Filename(const std::string &pFilename)
Setter for the filename of the audio file.
virtual bool isOpen() const
Returns whether or not the audio file is open.
Definition AudioFile.cpp:54
T getMetadataAs(const std::string &pName, const T &pDefaultVal) const
Gets a metadata value. Templatized to return it as any type.
Definition AudioFile.h:201
virtual std::streampos fileSizeAccordingToStream()
Definition AudioFile.cpp:116
const std::string & Filename() const
Gets the filename of the audio file.
Definition AudioFile.cpp:75
std::string mFilename
Definition AudioFile.h:230
virtual AudioFileResultType goToAudioDataPos()=0
Goes to the audio data position in the audio file.
std::fstream mFileStream
Definition AudioFile.h:231
bool hasMetadata(const std::string &pName) const
Returns whether or not a metadata item exists.
Definition AudioFile.cpp:111
virtual void seekOutputToSampleNum(size_t pSampleNum)=0
virtual ~AudioFile()
Definition AudioFile.cpp:32
virtual AudioFileInfo getAudioFileInfo() const =0
Returns an AudioFile object with information about the audio file.
Definition StringUtils.cpp:6
AudioFileModes
Definition AudioFile.h:15
@ AUDIO_FILE_WRITE
Definition AudioFile.h:17
@ AUDIO_FILE_READ
Definition AudioFile.h:16
@ AUDIO_FILE_READ_WRITE
Definition AudioFile.h:18