Eric Oulashin's C++ Audio Mixer 1.0
AudioFileInfo.h
Go to the documentation of this file.
1#ifndef __EO_UTILS_AUDIO_FILE_INFO_H__
2#define __EO_UTILS_AUDIO_FILE_INFO_H__
3
4#include <string>
5#include <fstream>
6
8
9namespace EOUtils
10{
11 #define BITS_PER_BYTE 8
12
14 {
15 public:
25 AudioFileInfo(int16_t pNumChannels = 0, int32_t pSampleRateHz = 0, int32_t pBytesPerSecond = 0, int16_t pByteRate = 0, int16_t pBitsPerSample = 0);
26
32 virtual void copyAudioFileInfo(const AudioFileInfo& pAudioFileInfo);
33
41 virtual AudioFileResultType read(const char *pFilename);
42
50 // This would be pure virtual, but sometimes it has handy to instantiate objects of this class.
51 virtual AudioFileResultType read(std::fstream& pInFStream);
52
60 // This would be pure virtual, but sometimes it has handy to instantiate objects of this class.
61 virtual AudioFileResultType write(std::fstream& pOutFStream);
62
63 virtual int32_t FileSize() const;
64
65 void FileSize(int32_t pFileSize);
66
67 virtual int16_t NumChannels() const;
68
69 virtual void NumChannels(int16_t pNumChannels);
70
71 virtual int32_t SampleRateHz() const;
72
73 virtual void SampleRateHz(int32_t pSampleRateHz);
74
75 virtual int32_t BytesPerSecond() const;
76
77 virtual void BytesPerSecond(int32_t pBytesPerSecond);
78
79 virtual int16_t ByteRate() const;
80
81 virtual void ByteRate(int16_t pByteRate);
82
83 virtual int16_t BitsPerSample() const;
84
85 virtual void BitsPerSample(int16_t pBitsPerSample);
86
87 virtual size_t BytesPerSample() const;
88
89 protected:
90 int32_t mFileSize; // File size
91 int16_t mNumChannels; // The # of channels (1 or 2)
92 int32_t mSampleRateHz; // The audio sample rate (Hz)
94 int16_t mByteRate;
95 int16_t mBitsPerSample; // # of bits per sample
96 };
97}
98
99#endif
Definition AudioFileInfo.h:14
virtual int16_t NumChannels() const
Definition AudioFileInfo.cpp:70
int16_t mBitsPerSample
Definition AudioFileInfo.h:95
virtual int16_t BitsPerSample() const
Definition AudioFileInfo.cpp:110
virtual AudioFileResultType write(std::fstream &pOutFStream)
Writes the info to a file stream.
Definition AudioFileInfo.cpp:53
virtual int32_t SampleRateHz() const
Definition AudioFileInfo.cpp:80
int32_t mBytesPerSecond
Definition AudioFileInfo.h:93
int32_t mFileSize
Definition AudioFileInfo.h:90
virtual size_t BytesPerSample() const
Definition AudioFileInfo.cpp:120
virtual int16_t ByteRate() const
Definition AudioFileInfo.cpp:100
int16_t mByteRate
Definition AudioFileInfo.h:94
virtual AudioFileResultType read(const char *pFilename)
Reads the info from a WAV file.
Definition AudioFileInfo.cpp:30
virtual void copyAudioFileInfo(const AudioFileInfo &pAudioFileInfo)
Copies the values from another AudioFileInfo object.
Definition AudioFileInfo.cpp:20
int16_t mNumChannels
Definition AudioFileInfo.h:91
int32_t mSampleRateHz
Definition AudioFileInfo.h:92
virtual int32_t FileSize() const
Definition AudioFileInfo.cpp:60
virtual int32_t BytesPerSecond() const
Definition AudioFileInfo.cpp:90
Definition AudioFileResultType.h:13
Definition StringUtils.cpp:6