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

Last change on this file since 1036 was 97, checked in by phaller, 26 years ago

Add: added cvs variable $Id$ to source files.

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