source: trunk/src/winmm/waveoutbase.h@ 22012

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

add FlashWaveOut class to winmm - see Ticket #2

File size: 1.3 KB
Line 
1/* $Id: waveoutbase.h,v 1.3 2002-06-04 17:36:55 sandervl Exp $ */
2
3/*
4 * Wave playback class (base)
5 *
6 * Copyright 1998-2001 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 * Project Odin Software License can be found in LICENSE.TXT
9 */
10
11#ifndef __DWAVEOUTBASE_H__
12#define __DWAVEOUTBASE_H__
13
14#include "waveinoutbase.h"
15#ifdef OS2_ONLY
16#include "winmmtype.h"
17#endif
18#include <vmutex.h>
19
20class WaveOut : public WaveInOut
21{
22public:
23 WaveOut(LPWAVEFORMATEX pwfx, DWORD fdwOpen, ULONG nCallback, ULONG dwInstance);
24 virtual ~WaveOut();
25
26 virtual MMRESULT open() = 0;
27 virtual MMRESULT write(LPWAVEHDR pwh, UINT cbwh) = 0;
28 virtual MMRESULT pause() = 0;
29 virtual MMRESULT stop() = 0;
30 virtual MMRESULT resume() = 0;
31 virtual MMRESULT reset() = 0;
32 virtual ULONG getPosition() = 0;
33 virtual MMRESULT setVolume(ULONG ulVol) = 0;
34
35 static int getNumDevices();
36 static BOOL queryFormat(ULONG formatTag, ULONG nChannels,
37 ULONG nSamplesPerSec, ULONG sampleSize);
38 static void setDefaultVolume(ULONG volume);
39 static DWORD getDefaultVolume();
40 ULONG getVolume() { return volume; };
41
42protected:
43 ULONG volume;
44 static ULONG defvolume; // default volume for streams
45 // (if waveOutSetVolume called with NULL stream)
46};
47
48#endif
Note: See TracBrowser for help on using the repository browser.