Files
Work/mixer/SampleData.hpp
2024-08-07 09:16:27 -04:00

51 lines
946 B
C++

#ifndef _MIXER_SAMPLEDATA_HPP_
#define _MIXER_SAMPLEDATA_HPP_
#ifndef _COMMON_ARRAY_HPP_
#include <common/array.hpp>
#endif
class SampleData : protected Array<BYTE>
{
public:
friend class SampleDataByte;
friend class SampleDataWord;
typedef enum BitsPerSample{Bit16=16,Bit8=8};
BitsPerSample getBitsPerSample(void)const;
void setNumSamples(int numSamples);
int getNumSamples(void)const;
virtual ~SampleData();
private:
SampleData(BitsPerSample bitsPerSample=Bit16);
BitsPerSample mBitsPerSample;
};
inline
SampleData::SampleData(BitsPerSample bitsPerSample)
: mBitsPerSample(bitsPerSample)
{
}
inline
SampleData::~SampleData()
{
}
inline
SampleData::BitsPerSample SampleData::getBitsPerSample(void)const
{
return mBitsPerSample;
}
inline
void SampleData::setNumSamples(int numSamples)
{
size(numSamples*(mBitsPerSample>>3));
}
inline
int SampleData::getNumSamples(void)const
{
return size()/(mBitsPerSample>>3);
}
#endif