#pragma once
#include "mof/sound/SoundFile.hpp"
#include <CWaveFile.h>
#include <mmsystem.h>
#include <mof/tstring.hpp>

namespace mof{
	class WaveFile : public SoundFile
	{
		CWaveFile* m_impl;
	public:
		WaveFile(void);
		virtual ~WaveFile(void);

		virtual bool open(const mof::tstring& filename);
		virtual bool close();
		virtual long read( BYTE* pBuffer1, long bufferSize1 , BYTE* pBuffer2 , long bufferSize2 );
		virtual long getSize();
		virtual bool resetFile();
		virtual WAVEFORMATEX* getFormat();
	};

};
