Initial
This commit is contained in:
52
sample/WaveOut.hpp
Normal file
52
sample/WaveOut.hpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#ifndef _SAMPLE_WAVEOUTDEVICE_HPP_
|
||||
#define _SAMPLE_WAVEOUTDEVICE_HPP_
|
||||
#ifndef _COMMON_WINDOW_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_GLOBALDATA_HPP_
|
||||
#include <common/gdata.hpp>
|
||||
#endif
|
||||
#ifndef _SAMPLE_DEVICEHANDLER_HPP_
|
||||
#include <sample/devhndlr.hpp>
|
||||
#endif
|
||||
#ifndef _SAMPLE_WAVEOUTCAPS_HPP_
|
||||
#include <sample/outcaps.hpp>
|
||||
#endif
|
||||
#ifndef _SAMPLE_WAVEHEADER_HPP_
|
||||
#include <sample/wavehdr.hpp>
|
||||
#endif
|
||||
#ifndef _SAMPLE_WAVEFORM_HPP_
|
||||
#include <sample/wave.hpp>
|
||||
#endif
|
||||
#ifndef _SAMPLE_WAVEFORMATPCM_HPP_
|
||||
#include <sample/pcmform.hpp>
|
||||
#endif
|
||||
|
||||
class WaveOutDevice : public DeviceHandler
|
||||
{
|
||||
public:
|
||||
WaveOutDevice(UINT waveDeviceID,Window &windowHander);
|
||||
WaveOutDevice(const WaveOutDevice &someWaveOutDevice);
|
||||
virtual ~WaveOutDevice();
|
||||
WaveOutDevice &operator=(const WaveOutDevice &someWaveOutDevice);
|
||||
BOOL play(WaveForm &waveForm,DeviceHandler::PlayMode playMode=DeviceHandler::NoWait);
|
||||
BOOL pause(void);
|
||||
BOOL restart(void);
|
||||
protected:
|
||||
virtual void openHandler(CallbackData &someCallbackData);
|
||||
virtual void closeHandler(CallbackData &someCallbackData);
|
||||
virtual void doneHandler(CallbackData &someCallbackData);
|
||||
virtual void message(const String &strErrorMessage)const;
|
||||
private:
|
||||
enum Disposition{InPause,InPlay,InClose,InOpen,InIdle};
|
||||
BOOL openDevice(WaveFormatPCM &waveFormatPCM);
|
||||
BOOL closeDevice(void);
|
||||
void unprepareHeader(void);
|
||||
WaveOutCaps mWaveOutCaps;
|
||||
Window &mWindowHandler;
|
||||
UINT mWaveDeviceID;
|
||||
GlobalData<WaveHeader> mGlobalWaveHeader;
|
||||
HWAVEOUT mhWaveOut;
|
||||
Disposition mDisposition;
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user