source: trunk/src/dsound/OS2SNDBUFFER.H@ 86

Last change on this file since 86 was 46, checked in by sandervl, 26 years ago

* empty log message *

File size: 4.9 KB
Line 
1/*
2 * DirectSound SoundBuffer class
3 *
4 * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
5 *
6 * Project Odin Software License can be found in LICENSE.TXT
7 *
8 */
9#ifndef __OS2SNDBUFFER_H__
10#define __OS2SNDBUFFER_H__
11
12//KSO Apr 19 1999: Seems to be necessary to define these now.
13#undef INTERFACE
14#define INTERFACE IDirectSoundBuffer
15
16class OS2IDirectSoundBuffer
17{
18 public:
19 //this one has to go first!
20 IDirectSoundBufferVtbl *lpVtbl;
21 IDirectSoundBufferVtbl Vtbl;
22
23 OS2IDirectSoundBuffer(const DSBUFFERDESC *lpDSBufferDesc);//KSO Apr 13 1999: const, SDK changes
24 ~OS2IDirectSoundBuffer();
25
26 int Referenced;
27 inline HRESULT GetLastError() { return lastError; };
28
29 private:
30
31 protected:
32 HRESULT lastError;
33
34 LONG pan;
35 ULONG writepos, playpos;
36 ULONG frequency;
37 WAVEFORMATEX *lpfxFormat;
38 ULONG status;
39 ULONG fLocked;
40 LONG volume;
41 DSBUFFERDESC bufferdesc;
42 char *lpBuffer;
43
44 // Linked list management
45 OS2IDirectSoundBuffer* next; // Next OS2IDirectSound
46 static OS2IDirectSoundBuffer* dsound; // List of OS2IDirectSound
47
48 friend HRESULT __stdcall SoundBufQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
49 friend ULONG __stdcall SoundBufAddRef(THIS);
50 friend ULONG __stdcall SoundBufRelease(THIS);
51 friend HRESULT __stdcall SoundBufGetCaps(THIS_ LPDSBCAPS );
52 friend HRESULT __stdcall SoundBufGetCurrentPosition(THIS_ LPDWORD,LPDWORD ) ;
53 friend HRESULT __stdcall SoundBufGetFormat(THIS_ LPWAVEFORMATEX, DWORD, LPDWORD ) ;
54 friend HRESULT __stdcall SoundBufGetVolume(THIS_ LPLONG ) ;
55 friend HRESULT __stdcall SoundBufGetPan(THIS_ LPLONG ) ;
56 friend HRESULT __stdcall SoundBufGetFrequency(THIS_ LPDWORD ) ;
57 friend HRESULT __stdcall SoundBufGetStatus(THIS_ LPDWORD ) ;
58 #if 0 //KSO Apr 19 1999: some parameter incompabilities between newer and older SDKs.
59 friend HRESULT __stdcall SoundBufInitialize(THIS_ LPDIRECTSOUND, LPDSBUFFERDESC ) ;
60 friend HRESULT __stdcall SoundBufLock(THIS_ DWORD,DWORD,LPVOID,LPDWORD,LPVOID,LPDWORD,DWORD ) ;
61 #else
62 friend HRESULT __stdcall SoundBufInitialize(THIS_ LPDIRECTSOUND, LPCDSBUFFERDESC ) ;
63 friend HRESULT __stdcall SoundBufLock(THIS_ DWORD,DWORD,LPVOID*,LPDWORD,LPVOID*,LPDWORD,DWORD ) ;
64 #endif
65 friend HRESULT __stdcall SoundBufPlay(THIS_ DWORD,DWORD,DWORD ) ;
66 friend HRESULT __stdcall SoundBufSetCurrentPosition(THIS_ DWORD ) ;
67 #if 0 //KSO Apr 19 1999: some parameter incompabilities between newer and older SDKs.
68 friend HRESULT __stdcall SoundBufSetFormat(THIS_ LPWAVEFORMATEX ) ;
69 #else
70 friend HRESULT __stdcall SoundBufSetFormat(THIS_ LPCWAVEFORMATEX ) ;
71 #endif
72 friend HRESULT __stdcall SoundBufSetVolume(THIS_ LONG ) ;
73 friend HRESULT __stdcall SoundBufSetPan(THIS_ LONG ) ;
74 friend HRESULT __stdcall SoundBufSetFrequency(THIS_ DWORD ) ;
75 friend HRESULT __stdcall SoundBufStop(THIS ) ;
76 friend HRESULT __stdcall SoundBufUnlock(THIS_ LPVOID,DWORD,LPVOID,DWORD ) ;
77 friend HRESULT __stdcall SoundBufRestore(THIS ) ;
78};
79//******************************************************************************
80//******************************************************************************
81HRESULT __stdcall SoundBufQueryInterface(THIS, REFIID riid, LPVOID FAR * ppvObj);
82ULONG __stdcall SoundBufAddRef(THIS);
83ULONG __stdcall SoundBufRelease(THIS);
84HRESULT __stdcall SoundBufGetCaps(THIS_ LPDSBCAPS );
85HRESULT __stdcall SoundBufGetCurrentPosition(THIS_ LPDWORD,LPDWORD ) ;
86HRESULT __stdcall SoundBufGetFormat(THIS_ LPWAVEFORMATEX, DWORD, LPDWORD ) ;
87HRESULT __stdcall SoundBufGetVolume(THIS_ LPLONG ) ;
88HRESULT __stdcall SoundBufGetPan(THIS_ LPLONG ) ;
89HRESULT __stdcall SoundBufGetFrequency(THIS_ LPDWORD ) ;
90HRESULT __stdcall SoundBufGetStatus(THIS_ LPDWORD ) ;
91#if 0 //KSO Apr 19 1999: some parameter incompabilities between newer and older SDKs.
92 HRESULT __stdcall SoundBufInitialize(THIS_ LPDIRECTSOUND, LPDSBUFFERDESC ) ;
93 HRESULT __stdcall SoundBufLock(THIS_ DWORD,DWORD,LPVOID,LPDWORD,LPVOID,LPDWORD,DWORD ) ;
94#else
95 HRESULT __stdcall SoundBufInitialize(THIS_ LPDIRECTSOUND, LPCDSBUFFERDESC ) ;
96 HRESULT __stdcall SoundBufLock(THIS_ DWORD,DWORD,LPVOID*,LPDWORD,LPVOID*,LPDWORD,DWORD ) ;
97#endif
98HRESULT __stdcall SoundBufPlay(THIS_ DWORD,DWORD,DWORD ) ;
99HRESULT __stdcall SoundBufSetCurrentPosition(THIS_ DWORD ) ;
100#if 0 //KSO Apr 19 1999: some parameter incompabilities between newer and older SDKs.
101 HRESULT __stdcall SoundBufSetFormat(THIS_ LPWAVEFORMATEX ) ;
102#else
103 HRESULT __stdcall SoundBufSetFormat(THIS_ LPCWAVEFORMATEX ) ;
104#endif
105HRESULT __stdcall SoundBufSetVolume(THIS_ LONG ) ;
106HRESULT __stdcall SoundBufSetPan(THIS_ LONG ) ;
107HRESULT __stdcall SoundBufSetFrequency(THIS_ DWORD ) ;
108HRESULT __stdcall SoundBufStop(THIS ) ;
109HRESULT __stdcall SoundBufUnlock(THIS_ LPVOID,DWORD,LPVOID,DWORD ) ;
110HRESULT __stdcall SoundBufRestore(THIS ) ;
111
112#endif
Note: See TracBrowser for help on using the repository browser.