79 lines
1.6 KiB
C++
79 lines
1.6 KiB
C++
#ifndef _MIXER_SAMPLEDATAIMPL_HPP_
|
|
#define _MIXER_SAMPLEDATAIMPL_HPP_
|
|
#ifndef _MIXER_SAMPLEDATA_HPP_
|
|
#include <mixer/SampleData.hpp>
|
|
#endif
|
|
#ifndef _MIXER_SAMPLEDATAINTERFACE_HPP_
|
|
#include <mixer/SampleDataInterface.hpp>
|
|
#endif
|
|
|
|
class SampleDataByte : public SampleDataInterface<BYTE>, public SampleData
|
|
{
|
|
public:
|
|
SampleDataByte();
|
|
virtual ~SampleDataByte();
|
|
virtual void setAt(DWORD index,BYTE sample);
|
|
virtual BYTE getAt(DWORD index);
|
|
private:
|
|
};
|
|
|
|
inline
|
|
SampleDataByte::SampleDataByte()
|
|
: SampleData((SampleData::BitsPerSample)SampleDataInterface<BYTE>::getBitsPerSample())
|
|
{
|
|
}
|
|
|
|
inline
|
|
SampleDataByte::~SampleDataByte()
|
|
{
|
|
}
|
|
|
|
inline
|
|
void SampleDataByte::setAt(DWORD index,BYTE sample)
|
|
{
|
|
operator[](index)=sample;
|
|
}
|
|
|
|
inline
|
|
BYTE SampleDataByte::getAt(DWORD index)
|
|
{
|
|
return operator[](index);
|
|
}
|
|
|
|
// ***************************************************************************************************
|
|
// ***************************************************************************************************
|
|
class SampleDataWord : public SampleDataInterface<WORD>, public SampleData
|
|
{
|
|
public:
|
|
SampleDataWord();
|
|
virtual ~SampleDataWord();
|
|
virtual void setAt(DWORD index,WORD sample);
|
|
virtual WORD getAt(DWORD index);
|
|
private:
|
|
};
|
|
|
|
inline
|
|
SampleDataWord::SampleDataWord()
|
|
: SampleData((SampleData::BitsPerSample)SampleDataInterface<WORD>::getBitsPerSample())
|
|
{
|
|
}
|
|
|
|
inline
|
|
SampleDataWord::~SampleDataWord()
|
|
{
|
|
}
|
|
|
|
inline
|
|
void SampleDataWord::setAt(DWORD index,WORD sample)
|
|
{
|
|
((WORD*)&operator[](0))[index]=sample;
|
|
}
|
|
|
|
inline
|
|
WORD SampleDataWord::getAt(DWORD index)
|
|
{
|
|
return ((WORD*)&operator[](0))[index];
|
|
}
|
|
|
|
#endif
|