Initial
This commit is contained in:
50
mixer/SampleData.hpp
Normal file
50
mixer/SampleData.hpp
Normal file
@@ -0,0 +1,50 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user