#ifndef _MIXER_SAMPLEDATAIMPL_HPP_ #define _MIXER_SAMPLEDATAIMPL_HPP_ #ifndef _MIXER_SAMPLEDATA_HPP_ #include #endif #ifndef _MIXER_SAMPLEDATAINTERFACE_HPP_ #include #endif class SampleDataByte : public SampleDataInterface, 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::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, 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::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