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

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