source: trunk/src/winmm/waveoutdaud.h

Last change on this file was 21358, checked in by rlwalsh, 16 years ago

add FlashWaveOut class to winmm - see Ticket #2

File size: 1.5 KB
RevLine 
[8568]1/* $Id: waveoutdaud.h,v 1.5 2002-06-04 17:36:56 sandervl Exp $ */
[5358]2
3/*
4 * Wave playback class (DirectAudio)
5 *
6 * Copyright 2001 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 * Project Odin Software License can be found in LICENSE.TXT
9 */
[21358]10
[5358]11#ifndef __DWAVEOUTEX_H__
12#define __DWAVEOUTEX_H__
13
14#include "waveoutbase.h"
[5366]15#include <daudio.h>
[5358]16
[5366]17#ifdef _OS2WIN_H
18typedef DWORD HEV;
19#endif
20
[5643]21#define SECTION_WINMM "WINMM"
22#define KEY_DIRECTAUDIO "DirectAudio"
23
[5358]24class DAudioWaveOut : public WaveOut
25{
26public:
[21358]27 DAudioWaveOut(LPWAVEFORMATEX pwfx, ULONG fdwOpen,
28 ULONG nCallback, ULONG dwInstance);
29 virtual ~DAudioWaveOut();
[5358]30
[21358]31 virtual MMRESULT open();
32 virtual MMRESULT write(LPWAVEHDR pwh, UINT cbwh);
33 virtual MMRESULT pause();
34 virtual MMRESULT stop();
35 virtual MMRESULT resume();
36 virtual MMRESULT setVolume(ULONG ulVol);
37 virtual MMRESULT reset();
38 virtual ULONG getPosition();
[5358]39
[21358]40 static BOOL queryFormat(ULONG formatTag, ULONG nChannels,
41 ULONG nSamplesPerSec, ULONG sampleSize);
42 static BOOL isDirectAudioAvailable();
[5358]43
44protected:
45
46private:
[21358]47 BOOL handler();
48 MMRESULT sendIOCTL(ULONG cmd, DAUDIO_CMD *pDataPacket);
[5358]49
[21358]50 HEV hSem;
51 HFILE hDAudioDrv;
52 HANDLE hThread;
53 DWORD dwThreadID;
54 ULONG bytesReturned;
55 BOOL fUnderrun;
[5358]56
[21358]57 friend DWORD WIN32API DAudioThreadHandler(LPVOID pUserData);
[5358]58};
59
60#endif
Note: See TracBrowser for help on using the repository browser.