source: trunk/src/winmm/waveoutdaud.h@ 5364

Last change on this file since 5364 was 5358, checked in by sandervl, 25 years ago

Rewrite for DirectAudio interface

File size: 1.3 KB
Line 
1/* $Id: waveoutdaud.h,v 1.1 2001-03-23 16:23:47 sandervl Exp $ */
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 */
10#ifndef __DWAVEOUTEX_H__
11#define __DWAVEOUTEX_H__
12
13#include "waveoutbase.h"
14
15class DAudioWaveOut : public WaveOut
16{
17public:
18 DAudioWaveOut(LPWAVEFORMATEX pwfx, ULONG fdwOpen, ULONG nCallback, ULONG dwInstance);
19 virtual ~DAudioWaveOut();
20
21 virtual MMRESULT write(LPWAVEHDR pwh, UINT cbwh);
22 virtual MMRESULT pause();
23 virtual MMRESULT stop();
24 virtual MMRESULT restart();
25 virtual MMRESULT setVolume(ULONG ulVol);
26 virtual MMRESULT reset();
27 virtual ULONG getPosition();
28
29 static BOOL queryFormat(ULONG formatTag, ULONG nChannels,
30 ULONG nSamplesPerSec, ULONG sampleSize);
31
32
33protected:
34
35private:
36 MMRESULT resume();
37 void handler();
38 MMRESULT sendIOCTL(ULONG cmd, DAUDIO_CMD *pDataPacket);
39
40 HEV hSem;
41
42 ULONG bytesPlayed, bytesReturned;
43 int queuedbuffers;
44
45 BOOL fUnderrun;
46 HANDLE hThread;
47 DWORD dwThreadID;
48
49 HFILE hDAudioDrv;
50
51 friend DWORD WIN32API DAudioThreadHandler(LPVOID pUserData);
52};
53
54#endif
Note: See TracBrowser for help on using the repository browser.