annotate lib/legacy_dx/dsound.h @ 703:a9c1fb7483c2

monster parser almost complete.
author Gloval
date Tue, 19 Mar 2013 01:33:35 +0400
parents 9c0607679772
children
rev   line source
0
Ritor1
parents:
diff changeset
1 /*==========================================================================;
Ritor1
parents:
diff changeset
2 *
Ritor1
parents:
diff changeset
3 * Copyright (c) Microsoft Corporation. All rights reserved.
Ritor1
parents:
diff changeset
4 *
Ritor1
parents:
diff changeset
5 * File: dsound.h
Ritor1
parents:
diff changeset
6 * Content: DirectSound include file
Ritor1
parents:
diff changeset
7 *
Ritor1
parents:
diff changeset
8 **************************************************************************/
Ritor1
parents:
diff changeset
9
Ritor1
parents:
diff changeset
10 #define COM_NO_WINDOWS_H
Ritor1
parents:
diff changeset
11 #include <objbase.h>
Ritor1
parents:
diff changeset
12 #include <float.h>
Ritor1
parents:
diff changeset
13
Ritor1
parents:
diff changeset
14 #ifndef DIRECTSOUND_VERSION
Ritor1
parents:
diff changeset
15 #define DIRECTSOUND_VERSION 0x0900 /* Version 9.0 */
Ritor1
parents:
diff changeset
16 #endif
Ritor1
parents:
diff changeset
17
Ritor1
parents:
diff changeset
18 #ifdef __cplusplus
Ritor1
parents:
diff changeset
19 extern "C" {
Ritor1
parents:
diff changeset
20 #endif // __cplusplus
Ritor1
parents:
diff changeset
21
Ritor1
parents:
diff changeset
22 #ifndef __DSOUND_INCLUDED__
Ritor1
parents:
diff changeset
23 #define __DSOUND_INCLUDED__
Ritor1
parents:
diff changeset
24
Ritor1
parents:
diff changeset
25 /* Type definitions shared with Direct3D */
Ritor1
parents:
diff changeset
26
Ritor1
parents:
diff changeset
27 #ifndef DX_SHARED_DEFINES
Ritor1
parents:
diff changeset
28
Ritor1
parents:
diff changeset
29 typedef float D3DVALUE, *LPD3DVALUE;
Ritor1
parents:
diff changeset
30
Ritor1
parents:
diff changeset
31 #ifndef D3DCOLOR_DEFINED
Ritor1
parents:
diff changeset
32 typedef DWORD D3DCOLOR;
Ritor1
parents:
diff changeset
33 #define D3DCOLOR_DEFINED
Ritor1
parents:
diff changeset
34 #endif
Ritor1
parents:
diff changeset
35
Ritor1
parents:
diff changeset
36 #ifndef LPD3DCOLOR_DEFINED
Ritor1
parents:
diff changeset
37 typedef DWORD *LPD3DCOLOR;
Ritor1
parents:
diff changeset
38 #define LPD3DCOLOR_DEFINED
Ritor1
parents:
diff changeset
39 #endif
Ritor1
parents:
diff changeset
40
Ritor1
parents:
diff changeset
41 #ifndef D3DVECTOR_DEFINED
Ritor1
parents:
diff changeset
42 typedef struct _D3DVECTOR {
Ritor1
parents:
diff changeset
43 float x;
Ritor1
parents:
diff changeset
44 float y;
Ritor1
parents:
diff changeset
45 float z;
Ritor1
parents:
diff changeset
46 } D3DVECTOR;
Ritor1
parents:
diff changeset
47 #define D3DVECTOR_DEFINED
Ritor1
parents:
diff changeset
48 #endif
Ritor1
parents:
diff changeset
49
Ritor1
parents:
diff changeset
50 #ifndef LPD3DVECTOR_DEFINED
Ritor1
parents:
diff changeset
51 typedef D3DVECTOR *LPD3DVECTOR;
Ritor1
parents:
diff changeset
52 #define LPD3DVECTOR_DEFINED
Ritor1
parents:
diff changeset
53 #endif
Ritor1
parents:
diff changeset
54
Ritor1
parents:
diff changeset
55 #define DX_SHARED_DEFINES
Ritor1
parents:
diff changeset
56 #endif // DX_SHARED_DEFINES
Ritor1
parents:
diff changeset
57
Ritor1
parents:
diff changeset
58 #define _FACDS 0x878 /* DirectSound's facility code */
Ritor1
parents:
diff changeset
59 #define MAKE_DSHRESULT(code) MAKE_HRESULT(1, _FACDS, code)
Ritor1
parents:
diff changeset
60
Ritor1
parents:
diff changeset
61 // DirectSound Component GUID {47D4D946-62E8-11CF-93BC-444553540000}
Ritor1
parents:
diff changeset
62 DEFINE_GUID(CLSID_DirectSound, 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
Ritor1
parents:
diff changeset
63
Ritor1
parents:
diff changeset
64 // DirectSound 8.0 Component GUID {3901CC3F-84B5-4FA4-BA35-AA8172B8A09B}
Ritor1
parents:
diff changeset
65 DEFINE_GUID(CLSID_DirectSound8, 0x3901cc3f, 0x84b5, 0x4fa4, 0xba, 0x35, 0xaa, 0x81, 0x72, 0xb8, 0xa0, 0x9b);
Ritor1
parents:
diff changeset
66
Ritor1
parents:
diff changeset
67 // DirectSound Capture Component GUID {B0210780-89CD-11D0-AF08-00A0C925CD16}
Ritor1
parents:
diff changeset
68 DEFINE_GUID(CLSID_DirectSoundCapture, 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
Ritor1
parents:
diff changeset
69
Ritor1
parents:
diff changeset
70 // DirectSound 8.0 Capture Component GUID {E4BCAC13-7F99-4908-9A8E-74E3BF24B6E1}
Ritor1
parents:
diff changeset
71 DEFINE_GUID(CLSID_DirectSoundCapture8, 0xe4bcac13, 0x7f99, 0x4908, 0x9a, 0x8e, 0x74, 0xe3, 0xbf, 0x24, 0xb6, 0xe1);
Ritor1
parents:
diff changeset
72
Ritor1
parents:
diff changeset
73 // DirectSound Full Duplex Component GUID {FEA4300C-7959-4147-B26A-2377B9E7A91D}
Ritor1
parents:
diff changeset
74 DEFINE_GUID(CLSID_DirectSoundFullDuplex, 0xfea4300c, 0x7959, 0x4147, 0xb2, 0x6a, 0x23, 0x77, 0xb9, 0xe7, 0xa9, 0x1d);
Ritor1
parents:
diff changeset
75
Ritor1
parents:
diff changeset
76
Ritor1
parents:
diff changeset
77 // DirectSound default playback device GUID {DEF00000-9C6D-47ED-AAF1-4DDA8F2B5C03}
Ritor1
parents:
diff changeset
78 DEFINE_GUID(DSDEVID_DefaultPlayback, 0xdef00000, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
Ritor1
parents:
diff changeset
79
Ritor1
parents:
diff changeset
80 // DirectSound default capture device GUID {DEF00001-9C6D-47ED-AAF1-4DDA8F2B5C03}
Ritor1
parents:
diff changeset
81 DEFINE_GUID(DSDEVID_DefaultCapture, 0xdef00001, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
Ritor1
parents:
diff changeset
82
Ritor1
parents:
diff changeset
83 // DirectSound default device for voice playback {DEF00002-9C6D-47ED-AAF1-4DDA8F2B5C03}
Ritor1
parents:
diff changeset
84 DEFINE_GUID(DSDEVID_DefaultVoicePlayback, 0xdef00002, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
Ritor1
parents:
diff changeset
85
Ritor1
parents:
diff changeset
86 // DirectSound default device for voice capture {DEF00003-9C6D-47ED-AAF1-4DDA8F2B5C03}
Ritor1
parents:
diff changeset
87 DEFINE_GUID(DSDEVID_DefaultVoiceCapture, 0xdef00003, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
Ritor1
parents:
diff changeset
88
Ritor1
parents:
diff changeset
89
Ritor1
parents:
diff changeset
90 //
Ritor1
parents:
diff changeset
91 // Forward declarations for interfaces.
Ritor1
parents:
diff changeset
92 // 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
Ritor1
parents:
diff changeset
93 //
Ritor1
parents:
diff changeset
94
Ritor1
parents:
diff changeset
95 #ifdef __cplusplus
Ritor1
parents:
diff changeset
96 struct IDirectSound;
Ritor1
parents:
diff changeset
97 struct IDirectSoundBuffer;
Ritor1
parents:
diff changeset
98 struct IDirectSound3DListener;
Ritor1
parents:
diff changeset
99 struct IDirectSound3DBuffer;
Ritor1
parents:
diff changeset
100 struct IDirectSoundCapture;
Ritor1
parents:
diff changeset
101 struct IDirectSoundCaptureBuffer;
Ritor1
parents:
diff changeset
102 struct IDirectSoundNotify;
Ritor1
parents:
diff changeset
103 #endif // __cplusplus
Ritor1
parents:
diff changeset
104
Ritor1
parents:
diff changeset
105
Ritor1
parents:
diff changeset
106 //
Ritor1
parents:
diff changeset
107 // DirectSound 8.0 interfaces.
Ritor1
parents:
diff changeset
108 //
Ritor1
parents:
diff changeset
109
Ritor1
parents:
diff changeset
110 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
111
Ritor1
parents:
diff changeset
112 #ifdef __cplusplus
Ritor1
parents:
diff changeset
113 struct IDirectSound8;
Ritor1
parents:
diff changeset
114 struct IDirectSoundBuffer8;
Ritor1
parents:
diff changeset
115 struct IDirectSoundCaptureBuffer8;
Ritor1
parents:
diff changeset
116 struct IDirectSoundFXGargle;
Ritor1
parents:
diff changeset
117 struct IDirectSoundFXChorus;
Ritor1
parents:
diff changeset
118 struct IDirectSoundFXFlanger;
Ritor1
parents:
diff changeset
119 struct IDirectSoundFXEcho;
Ritor1
parents:
diff changeset
120 struct IDirectSoundFXDistortion;
Ritor1
parents:
diff changeset
121 struct IDirectSoundFXCompressor;
Ritor1
parents:
diff changeset
122 struct IDirectSoundFXParamEq;
Ritor1
parents:
diff changeset
123 struct IDirectSoundFXWavesReverb;
Ritor1
parents:
diff changeset
124 struct IDirectSoundFXI3DL2Reverb;
Ritor1
parents:
diff changeset
125 struct IDirectSoundCaptureFXAec;
Ritor1
parents:
diff changeset
126 struct IDirectSoundCaptureFXNoiseSuppress;
Ritor1
parents:
diff changeset
127 struct IDirectSoundFullDuplex;
Ritor1
parents:
diff changeset
128 #endif // __cplusplus
Ritor1
parents:
diff changeset
129
Ritor1
parents:
diff changeset
130 // IDirectSound8, IDirectSoundBuffer8 and IDirectSoundCaptureBuffer8 are the
Ritor1
parents:
diff changeset
131 // only DirectSound 7.0 interfaces with changed functionality in version 8.0.
Ritor1
parents:
diff changeset
132 // The other level 8 interfaces as equivalent to their level 7 counterparts:
Ritor1
parents:
diff changeset
133
Ritor1
parents:
diff changeset
134 #define IDirectSoundCapture8 IDirectSoundCapture
Ritor1
parents:
diff changeset
135 #define IDirectSound3DListener8 IDirectSound3DListener
Ritor1
parents:
diff changeset
136 #define IDirectSound3DBuffer8 IDirectSound3DBuffer
Ritor1
parents:
diff changeset
137 #define IDirectSoundNotify8 IDirectSoundNotify
Ritor1
parents:
diff changeset
138 #define IDirectSoundFXGargle8 IDirectSoundFXGargle
Ritor1
parents:
diff changeset
139 #define IDirectSoundFXChorus8 IDirectSoundFXChorus
Ritor1
parents:
diff changeset
140 #define IDirectSoundFXFlanger8 IDirectSoundFXFlanger
Ritor1
parents:
diff changeset
141 #define IDirectSoundFXEcho8 IDirectSoundFXEcho
Ritor1
parents:
diff changeset
142 #define IDirectSoundFXDistortion8 IDirectSoundFXDistortion
Ritor1
parents:
diff changeset
143 #define IDirectSoundFXCompressor8 IDirectSoundFXCompressor
Ritor1
parents:
diff changeset
144 #define IDirectSoundFXParamEq8 IDirectSoundFXParamEq
Ritor1
parents:
diff changeset
145 #define IDirectSoundFXWavesReverb8 IDirectSoundFXWavesReverb
Ritor1
parents:
diff changeset
146 #define IDirectSoundFXI3DL2Reverb8 IDirectSoundFXI3DL2Reverb
Ritor1
parents:
diff changeset
147 #define IDirectSoundCaptureFXAec8 IDirectSoundCaptureFXAec
Ritor1
parents:
diff changeset
148 #define IDirectSoundCaptureFXNoiseSuppress8 IDirectSoundCaptureFXNoiseSuppress
Ritor1
parents:
diff changeset
149 #define IDirectSoundFullDuplex8 IDirectSoundFullDuplex
Ritor1
parents:
diff changeset
150
Ritor1
parents:
diff changeset
151 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
152
Ritor1
parents:
diff changeset
153 typedef struct IDirectSound *LPDIRECTSOUND;
Ritor1
parents:
diff changeset
154 typedef struct IDirectSoundBuffer *LPDIRECTSOUNDBUFFER;
Ritor1
parents:
diff changeset
155 typedef struct IDirectSound3DListener *LPDIRECTSOUND3DLISTENER;
Ritor1
parents:
diff changeset
156 typedef struct IDirectSound3DBuffer *LPDIRECTSOUND3DBUFFER;
Ritor1
parents:
diff changeset
157 typedef struct IDirectSoundCapture *LPDIRECTSOUNDCAPTURE;
Ritor1
parents:
diff changeset
158 typedef struct IDirectSoundCaptureBuffer *LPDIRECTSOUNDCAPTUREBUFFER;
Ritor1
parents:
diff changeset
159 typedef struct IDirectSoundNotify *LPDIRECTSOUNDNOTIFY;
Ritor1
parents:
diff changeset
160
Ritor1
parents:
diff changeset
161
Ritor1
parents:
diff changeset
162 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
163
Ritor1
parents:
diff changeset
164 typedef struct IDirectSoundFXGargle *LPDIRECTSOUNDFXGARGLE;
Ritor1
parents:
diff changeset
165 typedef struct IDirectSoundFXChorus *LPDIRECTSOUNDFXCHORUS;
Ritor1
parents:
diff changeset
166 typedef struct IDirectSoundFXFlanger *LPDIRECTSOUNDFXFLANGER;
Ritor1
parents:
diff changeset
167 typedef struct IDirectSoundFXEcho *LPDIRECTSOUNDFXECHO;
Ritor1
parents:
diff changeset
168 typedef struct IDirectSoundFXDistortion *LPDIRECTSOUNDFXDISTORTION;
Ritor1
parents:
diff changeset
169 typedef struct IDirectSoundFXCompressor *LPDIRECTSOUNDFXCOMPRESSOR;
Ritor1
parents:
diff changeset
170 typedef struct IDirectSoundFXParamEq *LPDIRECTSOUNDFXPARAMEQ;
Ritor1
parents:
diff changeset
171 typedef struct IDirectSoundFXWavesReverb *LPDIRECTSOUNDFXWAVESREVERB;
Ritor1
parents:
diff changeset
172 typedef struct IDirectSoundFXI3DL2Reverb *LPDIRECTSOUNDFXI3DL2REVERB;
Ritor1
parents:
diff changeset
173 typedef struct IDirectSoundCaptureFXAec *LPDIRECTSOUNDCAPTUREFXAEC;
Ritor1
parents:
diff changeset
174 typedef struct IDirectSoundCaptureFXNoiseSuppress *LPDIRECTSOUNDCAPTUREFXNOISESUPPRESS;
Ritor1
parents:
diff changeset
175 typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX;
Ritor1
parents:
diff changeset
176
Ritor1
parents:
diff changeset
177 typedef struct IDirectSound8 *LPDIRECTSOUND8;
Ritor1
parents:
diff changeset
178 typedef struct IDirectSoundBuffer8 *LPDIRECTSOUNDBUFFER8;
Ritor1
parents:
diff changeset
179 typedef struct IDirectSound3DListener8 *LPDIRECTSOUND3DLISTENER8;
Ritor1
parents:
diff changeset
180 typedef struct IDirectSound3DBuffer8 *LPDIRECTSOUND3DBUFFER8;
Ritor1
parents:
diff changeset
181 typedef struct IDirectSoundCapture8 *LPDIRECTSOUNDCAPTURE8;
Ritor1
parents:
diff changeset
182 typedef struct IDirectSoundCaptureBuffer8 *LPDIRECTSOUNDCAPTUREBUFFER8;
Ritor1
parents:
diff changeset
183 typedef struct IDirectSoundNotify8 *LPDIRECTSOUNDNOTIFY8;
Ritor1
parents:
diff changeset
184 typedef struct IDirectSoundFXGargle8 *LPDIRECTSOUNDFXGARGLE8;
Ritor1
parents:
diff changeset
185 typedef struct IDirectSoundFXChorus8 *LPDIRECTSOUNDFXCHORUS8;
Ritor1
parents:
diff changeset
186 typedef struct IDirectSoundFXFlanger8 *LPDIRECTSOUNDFXFLANGER8;
Ritor1
parents:
diff changeset
187 typedef struct IDirectSoundFXEcho8 *LPDIRECTSOUNDFXECHO8;
Ritor1
parents:
diff changeset
188 typedef struct IDirectSoundFXDistortion8 *LPDIRECTSOUNDFXDISTORTION8;
Ritor1
parents:
diff changeset
189 typedef struct IDirectSoundFXCompressor8 *LPDIRECTSOUNDFXCOMPRESSOR8;
Ritor1
parents:
diff changeset
190 typedef struct IDirectSoundFXParamEq8 *LPDIRECTSOUNDFXPARAMEQ8;
Ritor1
parents:
diff changeset
191 typedef struct IDirectSoundFXWavesReverb8 *LPDIRECTSOUNDFXWAVESREVERB8;
Ritor1
parents:
diff changeset
192 typedef struct IDirectSoundFXI3DL2Reverb8 *LPDIRECTSOUNDFXI3DL2REVERB8;
Ritor1
parents:
diff changeset
193 typedef struct IDirectSoundCaptureFXAec8 *LPDIRECTSOUNDCAPTUREFXAEC8;
Ritor1
parents:
diff changeset
194 typedef struct IDirectSoundCaptureFXNoiseSuppress8 *LPDIRECTSOUNDCAPTUREFXNOISESUPPRESS8;
Ritor1
parents:
diff changeset
195 typedef struct IDirectSoundFullDuplex8 *LPDIRECTSOUNDFULLDUPLEX8;
Ritor1
parents:
diff changeset
196
Ritor1
parents:
diff changeset
197 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
198
Ritor1
parents:
diff changeset
199 //
Ritor1
parents:
diff changeset
200 // IID definitions for the unchanged DirectSound 8.0 interfaces
Ritor1
parents:
diff changeset
201 //
Ritor1
parents:
diff changeset
202
Ritor1
parents:
diff changeset
203 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
204
Ritor1
parents:
diff changeset
205 #define IID_IDirectSoundCapture8 IID_IDirectSoundCapture
Ritor1
parents:
diff changeset
206 #define IID_IDirectSound3DListener8 IID_IDirectSound3DListener
Ritor1
parents:
diff changeset
207 #define IID_IDirectSound3DBuffer8 IID_IDirectSound3DBuffer
Ritor1
parents:
diff changeset
208 #define IID_IDirectSoundNotify8 IID_IDirectSoundNotify
Ritor1
parents:
diff changeset
209 #define IID_IDirectSoundFXGargle8 IID_IDirectSoundFXGargle
Ritor1
parents:
diff changeset
210 #define IID_IDirectSoundFXChorus8 IID_IDirectSoundFXChorus
Ritor1
parents:
diff changeset
211 #define IID_IDirectSoundFXFlanger8 IID_IDirectSoundFXFlanger
Ritor1
parents:
diff changeset
212 #define IID_IDirectSoundFXEcho8 IID_IDirectSoundFXEcho
Ritor1
parents:
diff changeset
213 #define IID_IDirectSoundFXDistortion8 IID_IDirectSoundFXDistortion
Ritor1
parents:
diff changeset
214 #define IID_IDirectSoundFXCompressor8 IID_IDirectSoundFXCompressor
Ritor1
parents:
diff changeset
215 #define IID_IDirectSoundFXParamEq8 IID_IDirectSoundFXParamEq
Ritor1
parents:
diff changeset
216 #define IID_IDirectSoundFXWavesReverb8 IID_IDirectSoundFXWavesReverb
Ritor1
parents:
diff changeset
217 #define IID_IDirectSoundFXI3DL2Reverb8 IID_IDirectSoundFXI3DL2Reverb
Ritor1
parents:
diff changeset
218 #define IID_IDirectSoundCaptureFXAec8 IID_IDirectSoundCaptureFXAec
Ritor1
parents:
diff changeset
219 #define IID_IDirectSoundCaptureFXNoiseSuppress8 IID_IDirectSoundCaptureFXNoiseSuppress
Ritor1
parents:
diff changeset
220 #define IID_IDirectSoundFullDuplex8 IID_IDirectSoundFullDuplex
Ritor1
parents:
diff changeset
221
Ritor1
parents:
diff changeset
222 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
223
Ritor1
parents:
diff changeset
224 //
Ritor1
parents:
diff changeset
225 // Compatibility typedefs
Ritor1
parents:
diff changeset
226 //
Ritor1
parents:
diff changeset
227
Ritor1
parents:
diff changeset
228 #ifndef _LPCWAVEFORMATEX_DEFINED
Ritor1
parents:
diff changeset
229 #define _LPCWAVEFORMATEX_DEFINED
Ritor1
parents:
diff changeset
230 typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
Ritor1
parents:
diff changeset
231 #endif // _LPCWAVEFORMATEX_DEFINED
Ritor1
parents:
diff changeset
232
Ritor1
parents:
diff changeset
233 #ifndef __LPCGUID_DEFINED__
Ritor1
parents:
diff changeset
234 #define __LPCGUID_DEFINED__
Ritor1
parents:
diff changeset
235 typedef const GUID *LPCGUID;
Ritor1
parents:
diff changeset
236 #endif // __LPCGUID_DEFINED__
Ritor1
parents:
diff changeset
237
Ritor1
parents:
diff changeset
238 typedef LPDIRECTSOUND *LPLPDIRECTSOUND;
Ritor1
parents:
diff changeset
239 typedef LPDIRECTSOUNDBUFFER *LPLPDIRECTSOUNDBUFFER;
Ritor1
parents:
diff changeset
240 typedef LPDIRECTSOUND3DLISTENER *LPLPDIRECTSOUND3DLISTENER;
Ritor1
parents:
diff changeset
241 typedef LPDIRECTSOUND3DBUFFER *LPLPDIRECTSOUND3DBUFFER;
Ritor1
parents:
diff changeset
242 typedef LPDIRECTSOUNDCAPTURE *LPLPDIRECTSOUNDCAPTURE;
Ritor1
parents:
diff changeset
243 typedef LPDIRECTSOUNDCAPTUREBUFFER *LPLPDIRECTSOUNDCAPTUREBUFFER;
Ritor1
parents:
diff changeset
244 typedef LPDIRECTSOUNDNOTIFY *LPLPDIRECTSOUNDNOTIFY;
Ritor1
parents:
diff changeset
245
Ritor1
parents:
diff changeset
246 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
247 typedef LPDIRECTSOUND8 *LPLPDIRECTSOUND8;
Ritor1
parents:
diff changeset
248 typedef LPDIRECTSOUNDBUFFER8 *LPLPDIRECTSOUNDBUFFER8;
Ritor1
parents:
diff changeset
249 typedef LPDIRECTSOUNDCAPTURE8 *LPLPDIRECTSOUNDCAPTURE8;
Ritor1
parents:
diff changeset
250 typedef LPDIRECTSOUNDCAPTUREBUFFER8 *LPLPDIRECTSOUNDCAPTUREBUFFER8;
Ritor1
parents:
diff changeset
251 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
252
Ritor1
parents:
diff changeset
253 //
Ritor1
parents:
diff changeset
254 // Structures
Ritor1
parents:
diff changeset
255 //
Ritor1
parents:
diff changeset
256
Ritor1
parents:
diff changeset
257 typedef struct _DSCAPS
Ritor1
parents:
diff changeset
258 {
Ritor1
parents:
diff changeset
259 DWORD dwSize;
Ritor1
parents:
diff changeset
260 DWORD dwFlags;
Ritor1
parents:
diff changeset
261 DWORD dwMinSecondarySampleRate;
Ritor1
parents:
diff changeset
262 DWORD dwMaxSecondarySampleRate;
Ritor1
parents:
diff changeset
263 DWORD dwPrimaryBuffers;
Ritor1
parents:
diff changeset
264 DWORD dwMaxHwMixingAllBuffers;
Ritor1
parents:
diff changeset
265 DWORD dwMaxHwMixingStaticBuffers;
Ritor1
parents:
diff changeset
266 DWORD dwMaxHwMixingStreamingBuffers;
Ritor1
parents:
diff changeset
267 DWORD dwFreeHwMixingAllBuffers;
Ritor1
parents:
diff changeset
268 DWORD dwFreeHwMixingStaticBuffers;
Ritor1
parents:
diff changeset
269 DWORD dwFreeHwMixingStreamingBuffers;
Ritor1
parents:
diff changeset
270 DWORD dwMaxHw3DAllBuffers;
Ritor1
parents:
diff changeset
271 DWORD dwMaxHw3DStaticBuffers;
Ritor1
parents:
diff changeset
272 DWORD dwMaxHw3DStreamingBuffers;
Ritor1
parents:
diff changeset
273 DWORD dwFreeHw3DAllBuffers;
Ritor1
parents:
diff changeset
274 DWORD dwFreeHw3DStaticBuffers;
Ritor1
parents:
diff changeset
275 DWORD dwFreeHw3DStreamingBuffers;
Ritor1
parents:
diff changeset
276 DWORD dwTotalHwMemBytes;
Ritor1
parents:
diff changeset
277 DWORD dwFreeHwMemBytes;
Ritor1
parents:
diff changeset
278 DWORD dwMaxContigFreeHwMemBytes;
Ritor1
parents:
diff changeset
279 DWORD dwUnlockTransferRateHwBuffers;
Ritor1
parents:
diff changeset
280 DWORD dwPlayCpuOverheadSwBuffers;
Ritor1
parents:
diff changeset
281 DWORD dwReserved1;
Ritor1
parents:
diff changeset
282 DWORD dwReserved2;
Ritor1
parents:
diff changeset
283 } DSCAPS, *LPDSCAPS;
Ritor1
parents:
diff changeset
284
Ritor1
parents:
diff changeset
285 typedef const DSCAPS *LPCDSCAPS;
Ritor1
parents:
diff changeset
286
Ritor1
parents:
diff changeset
287 typedef struct _DSBCAPS
Ritor1
parents:
diff changeset
288 {
Ritor1
parents:
diff changeset
289 DWORD dwSize;
Ritor1
parents:
diff changeset
290 DWORD dwFlags;
Ritor1
parents:
diff changeset
291 DWORD dwBufferBytes;
Ritor1
parents:
diff changeset
292 DWORD dwUnlockTransferRate;
Ritor1
parents:
diff changeset
293 DWORD dwPlayCpuOverhead;
Ritor1
parents:
diff changeset
294 } DSBCAPS, *LPDSBCAPS;
Ritor1
parents:
diff changeset
295
Ritor1
parents:
diff changeset
296 typedef const DSBCAPS *LPCDSBCAPS;
Ritor1
parents:
diff changeset
297
Ritor1
parents:
diff changeset
298 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
299
Ritor1
parents:
diff changeset
300 typedef struct _DSEFFECTDESC
Ritor1
parents:
diff changeset
301 {
Ritor1
parents:
diff changeset
302 DWORD dwSize;
Ritor1
parents:
diff changeset
303 DWORD dwFlags;
Ritor1
parents:
diff changeset
304 GUID guidDSFXClass;
Ritor1
parents:
diff changeset
305 DWORD_PTR dwReserved1;
Ritor1
parents:
diff changeset
306 DWORD_PTR dwReserved2;
Ritor1
parents:
diff changeset
307 } DSEFFECTDESC, *LPDSEFFECTDESC;
Ritor1
parents:
diff changeset
308 typedef const DSEFFECTDESC *LPCDSEFFECTDESC;
Ritor1
parents:
diff changeset
309
Ritor1
parents:
diff changeset
310 #define DSFX_LOCHARDWARE 0x00000001
Ritor1
parents:
diff changeset
311 #define DSFX_LOCSOFTWARE 0x00000002
Ritor1
parents:
diff changeset
312
Ritor1
parents:
diff changeset
313 enum
Ritor1
parents:
diff changeset
314 {
Ritor1
parents:
diff changeset
315 DSFXR_PRESENT, // 0
Ritor1
parents:
diff changeset
316 DSFXR_LOCHARDWARE, // 1
Ritor1
parents:
diff changeset
317 DSFXR_LOCSOFTWARE, // 2
Ritor1
parents:
diff changeset
318 DSFXR_UNALLOCATED, // 3
Ritor1
parents:
diff changeset
319 DSFXR_FAILED, // 4
Ritor1
parents:
diff changeset
320 DSFXR_UNKNOWN, // 5
Ritor1
parents:
diff changeset
321 DSFXR_SENDLOOP // 6
Ritor1
parents:
diff changeset
322 };
Ritor1
parents:
diff changeset
323
Ritor1
parents:
diff changeset
324 typedef struct _DSCEFFECTDESC
Ritor1
parents:
diff changeset
325 {
Ritor1
parents:
diff changeset
326 DWORD dwSize;
Ritor1
parents:
diff changeset
327 DWORD dwFlags;
Ritor1
parents:
diff changeset
328 GUID guidDSCFXClass;
Ritor1
parents:
diff changeset
329 GUID guidDSCFXInstance;
Ritor1
parents:
diff changeset
330 DWORD dwReserved1;
Ritor1
parents:
diff changeset
331 DWORD dwReserved2;
Ritor1
parents:
diff changeset
332 } DSCEFFECTDESC, *LPDSCEFFECTDESC;
Ritor1
parents:
diff changeset
333 typedef const DSCEFFECTDESC *LPCDSCEFFECTDESC;
Ritor1
parents:
diff changeset
334
Ritor1
parents:
diff changeset
335 #define DSCFX_LOCHARDWARE 0x00000001
Ritor1
parents:
diff changeset
336 #define DSCFX_LOCSOFTWARE 0x00000002
Ritor1
parents:
diff changeset
337
Ritor1
parents:
diff changeset
338 #define DSCFXR_LOCHARDWARE 0x00000010
Ritor1
parents:
diff changeset
339 #define DSCFXR_LOCSOFTWARE 0x00000020
Ritor1
parents:
diff changeset
340
Ritor1
parents:
diff changeset
341 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
342
Ritor1
parents:
diff changeset
343 typedef struct _DSBUFFERDESC
Ritor1
parents:
diff changeset
344 {
Ritor1
parents:
diff changeset
345 DWORD dwSize;
Ritor1
parents:
diff changeset
346 DWORD dwFlags;
Ritor1
parents:
diff changeset
347 DWORD dwBufferBytes;
Ritor1
parents:
diff changeset
348 DWORD dwReserved;
Ritor1
parents:
diff changeset
349 LPWAVEFORMATEX lpwfxFormat;
Ritor1
parents:
diff changeset
350 #if DIRECTSOUND_VERSION >= 0x0700
Ritor1
parents:
diff changeset
351 GUID guid3DAlgorithm;
Ritor1
parents:
diff changeset
352 #endif
Ritor1
parents:
diff changeset
353 } DSBUFFERDESC, *LPDSBUFFERDESC;
Ritor1
parents:
diff changeset
354
Ritor1
parents:
diff changeset
355 typedef const DSBUFFERDESC *LPCDSBUFFERDESC;
Ritor1
parents:
diff changeset
356
Ritor1
parents:
diff changeset
357 // Older version of this structure:
Ritor1
parents:
diff changeset
358
Ritor1
parents:
diff changeset
359 typedef struct _DSBUFFERDESC1
Ritor1
parents:
diff changeset
360 {
Ritor1
parents:
diff changeset
361 DWORD dwSize;
Ritor1
parents:
diff changeset
362 DWORD dwFlags;
Ritor1
parents:
diff changeset
363 DWORD dwBufferBytes;
Ritor1
parents:
diff changeset
364 DWORD dwReserved;
Ritor1
parents:
diff changeset
365 LPWAVEFORMATEX lpwfxFormat;
Ritor1
parents:
diff changeset
366 } DSBUFFERDESC1, *LPDSBUFFERDESC1;
Ritor1
parents:
diff changeset
367
Ritor1
parents:
diff changeset
368 typedef const DSBUFFERDESC1 *LPCDSBUFFERDESC1;
Ritor1
parents:
diff changeset
369
Ritor1
parents:
diff changeset
370 typedef struct _DS3DBUFFER
Ritor1
parents:
diff changeset
371 {
Ritor1
parents:
diff changeset
372 DWORD dwSize;
Ritor1
parents:
diff changeset
373 D3DVECTOR vPosition;
Ritor1
parents:
diff changeset
374 D3DVECTOR vVelocity;
Ritor1
parents:
diff changeset
375 DWORD dwInsideConeAngle;
Ritor1
parents:
diff changeset
376 DWORD dwOutsideConeAngle;
Ritor1
parents:
diff changeset
377 D3DVECTOR vConeOrientation;
Ritor1
parents:
diff changeset
378 LONG lConeOutsideVolume;
Ritor1
parents:
diff changeset
379 D3DVALUE flMinDistance;
Ritor1
parents:
diff changeset
380 D3DVALUE flMaxDistance;
Ritor1
parents:
diff changeset
381 DWORD dwMode;
Ritor1
parents:
diff changeset
382 } DS3DBUFFER, *LPDS3DBUFFER;
Ritor1
parents:
diff changeset
383
Ritor1
parents:
diff changeset
384 typedef const DS3DBUFFER *LPCDS3DBUFFER;
Ritor1
parents:
diff changeset
385
Ritor1
parents:
diff changeset
386 typedef struct _DS3DLISTENER
Ritor1
parents:
diff changeset
387 {
Ritor1
parents:
diff changeset
388 DWORD dwSize;
Ritor1
parents:
diff changeset
389 D3DVECTOR vPosition;
Ritor1
parents:
diff changeset
390 D3DVECTOR vVelocity;
Ritor1
parents:
diff changeset
391 D3DVECTOR vOrientFront;
Ritor1
parents:
diff changeset
392 D3DVECTOR vOrientTop;
Ritor1
parents:
diff changeset
393 D3DVALUE flDistanceFactor;
Ritor1
parents:
diff changeset
394 D3DVALUE flRolloffFactor;
Ritor1
parents:
diff changeset
395 D3DVALUE flDopplerFactor;
Ritor1
parents:
diff changeset
396 } DS3DLISTENER, *LPDS3DLISTENER;
Ritor1
parents:
diff changeset
397
Ritor1
parents:
diff changeset
398 typedef const DS3DLISTENER *LPCDS3DLISTENER;
Ritor1
parents:
diff changeset
399
Ritor1
parents:
diff changeset
400 typedef struct _DSCCAPS
Ritor1
parents:
diff changeset
401 {
Ritor1
parents:
diff changeset
402 DWORD dwSize;
Ritor1
parents:
diff changeset
403 DWORD dwFlags;
Ritor1
parents:
diff changeset
404 DWORD dwFormats;
Ritor1
parents:
diff changeset
405 DWORD dwChannels;
Ritor1
parents:
diff changeset
406 } DSCCAPS, *LPDSCCAPS;
Ritor1
parents:
diff changeset
407
Ritor1
parents:
diff changeset
408 typedef const DSCCAPS *LPCDSCCAPS;
Ritor1
parents:
diff changeset
409
Ritor1
parents:
diff changeset
410 typedef struct _DSCBUFFERDESC1
Ritor1
parents:
diff changeset
411 {
Ritor1
parents:
diff changeset
412 DWORD dwSize;
Ritor1
parents:
diff changeset
413 DWORD dwFlags;
Ritor1
parents:
diff changeset
414 DWORD dwBufferBytes;
Ritor1
parents:
diff changeset
415 DWORD dwReserved;
Ritor1
parents:
diff changeset
416 LPWAVEFORMATEX lpwfxFormat;
Ritor1
parents:
diff changeset
417 } DSCBUFFERDESC1, *LPDSCBUFFERDESC1;
Ritor1
parents:
diff changeset
418
Ritor1
parents:
diff changeset
419 typedef struct _DSCBUFFERDESC
Ritor1
parents:
diff changeset
420 {
Ritor1
parents:
diff changeset
421 DWORD dwSize;
Ritor1
parents:
diff changeset
422 DWORD dwFlags;
Ritor1
parents:
diff changeset
423 DWORD dwBufferBytes;
Ritor1
parents:
diff changeset
424 DWORD dwReserved;
Ritor1
parents:
diff changeset
425 LPWAVEFORMATEX lpwfxFormat;
Ritor1
parents:
diff changeset
426 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
427 DWORD dwFXCount;
Ritor1
parents:
diff changeset
428 LPDSCEFFECTDESC lpDSCFXDesc;
Ritor1
parents:
diff changeset
429 #endif
Ritor1
parents:
diff changeset
430 } DSCBUFFERDESC, *LPDSCBUFFERDESC;
Ritor1
parents:
diff changeset
431
Ritor1
parents:
diff changeset
432 typedef const DSCBUFFERDESC *LPCDSCBUFFERDESC;
Ritor1
parents:
diff changeset
433
Ritor1
parents:
diff changeset
434 typedef struct _DSCBCAPS
Ritor1
parents:
diff changeset
435 {
Ritor1
parents:
diff changeset
436 DWORD dwSize;
Ritor1
parents:
diff changeset
437 DWORD dwFlags;
Ritor1
parents:
diff changeset
438 DWORD dwBufferBytes;
Ritor1
parents:
diff changeset
439 DWORD dwReserved;
Ritor1
parents:
diff changeset
440 } DSCBCAPS, *LPDSCBCAPS;
Ritor1
parents:
diff changeset
441
Ritor1
parents:
diff changeset
442 typedef const DSCBCAPS *LPCDSCBCAPS;
Ritor1
parents:
diff changeset
443
Ritor1
parents:
diff changeset
444 typedef struct _DSBPOSITIONNOTIFY
Ritor1
parents:
diff changeset
445 {
Ritor1
parents:
diff changeset
446 DWORD dwOffset;
Ritor1
parents:
diff changeset
447 HANDLE hEventNotify;
Ritor1
parents:
diff changeset
448 } DSBPOSITIONNOTIFY, *LPDSBPOSITIONNOTIFY;
Ritor1
parents:
diff changeset
449
Ritor1
parents:
diff changeset
450 typedef const DSBPOSITIONNOTIFY *LPCDSBPOSITIONNOTIFY;
Ritor1
parents:
diff changeset
451
Ritor1
parents:
diff changeset
452 //
Ritor1
parents:
diff changeset
453 // DirectSound API
Ritor1
parents:
diff changeset
454 //
Ritor1
parents:
diff changeset
455
Ritor1
parents:
diff changeset
456 typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID, LPCSTR, LPCSTR, LPVOID);
Ritor1
parents:
diff changeset
457 typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID, LPCWSTR, LPCWSTR, LPVOID);
Ritor1
parents:
diff changeset
458
Ritor1
parents:
diff changeset
459 extern HRESULT WINAPI DirectSoundCreate(LPCGUID pcGuidDevice, LPDIRECTSOUND *ppDS, LPUNKNOWN pUnkOuter);
Ritor1
parents:
diff changeset
460 extern HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA pDSEnumCallback, LPVOID pContext);
Ritor1
parents:
diff changeset
461 extern HRESULT WINAPI DirectSoundEnumerateW(LPDSENUMCALLBACKW pDSEnumCallback, LPVOID pContext);
Ritor1
parents:
diff changeset
462
Ritor1
parents:
diff changeset
463 extern HRESULT WINAPI DirectSoundCaptureCreate(LPCGUID pcGuidDevice, LPDIRECTSOUNDCAPTURE *ppDSC, LPUNKNOWN pUnkOuter);
Ritor1
parents:
diff changeset
464 extern HRESULT WINAPI DirectSoundCaptureEnumerateA(LPDSENUMCALLBACKA pDSEnumCallback, LPVOID pContext);
Ritor1
parents:
diff changeset
465 extern HRESULT WINAPI DirectSoundCaptureEnumerateW(LPDSENUMCALLBACKW pDSEnumCallback, LPVOID pContext);
Ritor1
parents:
diff changeset
466
Ritor1
parents:
diff changeset
467 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
468 extern HRESULT WINAPI DirectSoundCreate8(LPCGUID pcGuidDevice, LPDIRECTSOUND8 *ppDS8, LPUNKNOWN pUnkOuter);
Ritor1
parents:
diff changeset
469 extern HRESULT WINAPI DirectSoundCaptureCreate8(LPCGUID pcGuidDevice, LPDIRECTSOUNDCAPTURE8 *ppDSC8, LPUNKNOWN pUnkOuter);
Ritor1
parents:
diff changeset
470 extern HRESULT WINAPI DirectSoundFullDuplexCreate(LPCGUID pcGuidCaptureDevice, LPCGUID pcGuidRenderDevice,
Ritor1
parents:
diff changeset
471 LPCDSCBUFFERDESC pcDSCBufferDesc, LPCDSBUFFERDESC pcDSBufferDesc, HWND hWnd,
Ritor1
parents:
diff changeset
472 DWORD dwLevel, LPDIRECTSOUNDFULLDUPLEX* ppDSFD, LPDIRECTSOUNDCAPTUREBUFFER8 *ppDSCBuffer8,
Ritor1
parents:
diff changeset
473 LPDIRECTSOUNDBUFFER8 *ppDSBuffer8, LPUNKNOWN pUnkOuter);
Ritor1
parents:
diff changeset
474 #define DirectSoundFullDuplexCreate8 DirectSoundFullDuplexCreate
Ritor1
parents:
diff changeset
475
Ritor1
parents:
diff changeset
476 extern HRESULT WINAPI GetDeviceID(LPCGUID pGuidSrc, LPGUID pGuidDest);
Ritor1
parents:
diff changeset
477 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
478
Ritor1
parents:
diff changeset
479 #ifdef UNICODE
Ritor1
parents:
diff changeset
480 #define LPDSENUMCALLBACK LPDSENUMCALLBACKW
Ritor1
parents:
diff changeset
481 #define DirectSoundEnumerate DirectSoundEnumerateW
Ritor1
parents:
diff changeset
482 #define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateW
Ritor1
parents:
diff changeset
483 #else // UNICODE
Ritor1
parents:
diff changeset
484 #define LPDSENUMCALLBACK LPDSENUMCALLBACKA
Ritor1
parents:
diff changeset
485 #define DirectSoundEnumerate DirectSoundEnumerateA
Ritor1
parents:
diff changeset
486 #define DirectSoundCaptureEnumerate DirectSoundCaptureEnumerateA
Ritor1
parents:
diff changeset
487 #endif // UNICODE
Ritor1
parents:
diff changeset
488
Ritor1
parents:
diff changeset
489 //
Ritor1
parents:
diff changeset
490 // IUnknown
Ritor1
parents:
diff changeset
491 //
Ritor1
parents:
diff changeset
492
Ritor1
parents:
diff changeset
493 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
494 #ifndef IUnknown_QueryInterface
Ritor1
parents:
diff changeset
495 #define IUnknown_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
496 #endif // IUnknown_QueryInterface
Ritor1
parents:
diff changeset
497 #ifndef IUnknown_AddRef
Ritor1
parents:
diff changeset
498 #define IUnknown_AddRef(p) (p)->lpVtbl->AddRef(p)
Ritor1
parents:
diff changeset
499 #endif // IUnknown_AddRef
Ritor1
parents:
diff changeset
500 #ifndef IUnknown_Release
Ritor1
parents:
diff changeset
501 #define IUnknown_Release(p) (p)->lpVtbl->Release(p)
Ritor1
parents:
diff changeset
502 #endif // IUnknown_Release
Ritor1
parents:
diff changeset
503 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
504 #ifndef IUnknown_QueryInterface
Ritor1
parents:
diff changeset
505 #define IUnknown_QueryInterface(p,a,b) (p)->QueryInterface(a,b)
Ritor1
parents:
diff changeset
506 #endif // IUnknown_QueryInterface
Ritor1
parents:
diff changeset
507 #ifndef IUnknown_AddRef
Ritor1
parents:
diff changeset
508 #define IUnknown_AddRef(p) (p)->AddRef()
Ritor1
parents:
diff changeset
509 #endif // IUnknown_AddRef
Ritor1
parents:
diff changeset
510 #ifndef IUnknown_Release
Ritor1
parents:
diff changeset
511 #define IUnknown_Release(p) (p)->Release()
Ritor1
parents:
diff changeset
512 #endif // IUnknown_Release
Ritor1
parents:
diff changeset
513 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
514
Ritor1
parents:
diff changeset
515 #ifndef __IReferenceClock_INTERFACE_DEFINED__
Ritor1
parents:
diff changeset
516 #define __IReferenceClock_INTERFACE_DEFINED__
Ritor1
parents:
diff changeset
517
Ritor1
parents:
diff changeset
518 typedef LONGLONG REFERENCE_TIME;
Ritor1
parents:
diff changeset
519 typedef REFERENCE_TIME *LPREFERENCE_TIME;
Ritor1
parents:
diff changeset
520
Ritor1
parents:
diff changeset
521 DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
Ritor1
parents:
diff changeset
522
Ritor1
parents:
diff changeset
523 #undef INTERFACE
Ritor1
parents:
diff changeset
524 #define INTERFACE IReferenceClock
Ritor1
parents:
diff changeset
525
Ritor1
parents:
diff changeset
526 DECLARE_INTERFACE_(IReferenceClock, IUnknown)
Ritor1
parents:
diff changeset
527 {
Ritor1
parents:
diff changeset
528 // IUnknown methods
Ritor1
parents:
diff changeset
529 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
530 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
531 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
532
Ritor1
parents:
diff changeset
533 // IReferenceClock methods
Ritor1
parents:
diff changeset
534 STDMETHOD(GetTime) (THIS_ REFERENCE_TIME *pTime) PURE;
Ritor1
parents:
diff changeset
535 STDMETHOD(AdviseTime) (THIS_ REFERENCE_TIME rtBaseTime, REFERENCE_TIME rtStreamTime,
Ritor1
parents:
diff changeset
536 HANDLE hEvent, LPDWORD pdwAdviseCookie) PURE;
Ritor1
parents:
diff changeset
537 STDMETHOD(AdvisePeriodic) (THIS_ REFERENCE_TIME rtStartTime, REFERENCE_TIME rtPeriodTime,
Ritor1
parents:
diff changeset
538 HANDLE hSemaphore, LPDWORD pdwAdviseCookie) PURE;
Ritor1
parents:
diff changeset
539 STDMETHOD(Unadvise) (THIS_ DWORD dwAdviseCookie) PURE;
Ritor1
parents:
diff changeset
540 };
Ritor1
parents:
diff changeset
541
Ritor1
parents:
diff changeset
542 #endif // __IReferenceClock_INTERFACE_DEFINED__
Ritor1
parents:
diff changeset
543
Ritor1
parents:
diff changeset
544 #ifndef IReferenceClock_QueryInterface
Ritor1
parents:
diff changeset
545
Ritor1
parents:
diff changeset
546 #define IReferenceClock_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
547 #define IReferenceClock_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
548 #define IReferenceClock_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
549
Ritor1
parents:
diff changeset
550 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
551 #define IReferenceClock_GetTime(p,a) (p)->lpVtbl->GetTime(p,a)
Ritor1
parents:
diff changeset
552 #define IReferenceClock_AdviseTime(p,a,b,c,d) (p)->lpVtbl->AdviseTime(p,a,b,c,d)
Ritor1
parents:
diff changeset
553 #define IReferenceClock_AdvisePeriodic(p,a,b,c,d) (p)->lpVtbl->AdvisePeriodic(p,a,b,c,d)
Ritor1
parents:
diff changeset
554 #define IReferenceClock_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
Ritor1
parents:
diff changeset
555 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
556 #define IReferenceClock_GetTime(p,a) (p)->GetTime(a)
Ritor1
parents:
diff changeset
557 #define IReferenceClock_AdviseTime(p,a,b,c,d) (p)->AdviseTime(a,b,c,d)
Ritor1
parents:
diff changeset
558 #define IReferenceClock_AdvisePeriodic(p,a,b,c,d) (p)->AdvisePeriodic(a,b,c,d)
Ritor1
parents:
diff changeset
559 #define IReferenceClock_Unadvise(p,a) (p)->Unadvise(a)
Ritor1
parents:
diff changeset
560 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
561
Ritor1
parents:
diff changeset
562 #endif // IReferenceClock_QueryInterface
Ritor1
parents:
diff changeset
563
Ritor1
parents:
diff changeset
564 //
Ritor1
parents:
diff changeset
565 // IDirectSound
Ritor1
parents:
diff changeset
566 //
Ritor1
parents:
diff changeset
567
Ritor1
parents:
diff changeset
568 DEFINE_GUID(IID_IDirectSound, 0x279AFA83, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
Ritor1
parents:
diff changeset
569
Ritor1
parents:
diff changeset
570 #undef INTERFACE
Ritor1
parents:
diff changeset
571 #define INTERFACE IDirectSound
Ritor1
parents:
diff changeset
572
Ritor1
parents:
diff changeset
573 DECLARE_INTERFACE_(IDirectSound, IUnknown)
Ritor1
parents:
diff changeset
574 {
Ritor1
parents:
diff changeset
575 // IUnknown methods
Ritor1
parents:
diff changeset
576 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
577 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
578 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
579
Ritor1
parents:
diff changeset
580 // IDirectSound methods
Ritor1
parents:
diff changeset
581 STDMETHOD(CreateSoundBuffer) (THIS_ LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDBUFFER *ppDSBuffer, LPUNKNOWN pUnkOuter) PURE;
Ritor1
parents:
diff changeset
582 STDMETHOD(GetCaps) (THIS_ LPDSCAPS pDSCaps) PURE;
Ritor1
parents:
diff changeset
583 STDMETHOD(DuplicateSoundBuffer) (THIS_ LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER *ppDSBufferDuplicate) PURE;
Ritor1
parents:
diff changeset
584 STDMETHOD(SetCooperativeLevel) (THIS_ HWND hwnd, DWORD dwLevel) PURE;
Ritor1
parents:
diff changeset
585 STDMETHOD(Compact) (THIS) PURE;
Ritor1
parents:
diff changeset
586 STDMETHOD(GetSpeakerConfig) (THIS_ LPDWORD pdwSpeakerConfig) PURE;
Ritor1
parents:
diff changeset
587 STDMETHOD(SetSpeakerConfig) (THIS_ DWORD dwSpeakerConfig) PURE;
Ritor1
parents:
diff changeset
588 STDMETHOD(Initialize) (THIS_ LPCGUID pcGuidDevice) PURE;
Ritor1
parents:
diff changeset
589 };
Ritor1
parents:
diff changeset
590
Ritor1
parents:
diff changeset
591 #define IDirectSound_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
592 #define IDirectSound_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
593 #define IDirectSound_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
594
Ritor1
parents:
diff changeset
595 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
596 #define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->lpVtbl->CreateSoundBuffer(p,a,b,c)
Ritor1
parents:
diff changeset
597 #define IDirectSound_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
Ritor1
parents:
diff changeset
598 #define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->lpVtbl->DuplicateSoundBuffer(p,a,b)
Ritor1
parents:
diff changeset
599 #define IDirectSound_SetCooperativeLevel(p,a,b) (p)->lpVtbl->SetCooperativeLevel(p,a,b)
Ritor1
parents:
diff changeset
600 #define IDirectSound_Compact(p) (p)->lpVtbl->Compact(p)
Ritor1
parents:
diff changeset
601 #define IDirectSound_GetSpeakerConfig(p,a) (p)->lpVtbl->GetSpeakerConfig(p,a)
Ritor1
parents:
diff changeset
602 #define IDirectSound_SetSpeakerConfig(p,b) (p)->lpVtbl->SetSpeakerConfig(p,b)
Ritor1
parents:
diff changeset
603 #define IDirectSound_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
Ritor1
parents:
diff changeset
604 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
605 #define IDirectSound_CreateSoundBuffer(p,a,b,c) (p)->CreateSoundBuffer(a,b,c)
Ritor1
parents:
diff changeset
606 #define IDirectSound_GetCaps(p,a) (p)->GetCaps(a)
Ritor1
parents:
diff changeset
607 #define IDirectSound_DuplicateSoundBuffer(p,a,b) (p)->DuplicateSoundBuffer(a,b)
Ritor1
parents:
diff changeset
608 #define IDirectSound_SetCooperativeLevel(p,a,b) (p)->SetCooperativeLevel(a,b)
Ritor1
parents:
diff changeset
609 #define IDirectSound_Compact(p) (p)->Compact()
Ritor1
parents:
diff changeset
610 #define IDirectSound_GetSpeakerConfig(p,a) (p)->GetSpeakerConfig(a)
Ritor1
parents:
diff changeset
611 #define IDirectSound_SetSpeakerConfig(p,b) (p)->SetSpeakerConfig(b)
Ritor1
parents:
diff changeset
612 #define IDirectSound_Initialize(p,a) (p)->Initialize(a)
Ritor1
parents:
diff changeset
613 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
614
Ritor1
parents:
diff changeset
615 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
616
Ritor1
parents:
diff changeset
617 //
Ritor1
parents:
diff changeset
618 // IDirectSound8
Ritor1
parents:
diff changeset
619 //
Ritor1
parents:
diff changeset
620
Ritor1
parents:
diff changeset
621 DEFINE_GUID(IID_IDirectSound8, 0xC50A7E93, 0xF395, 0x4834, 0x9E, 0xF6, 0x7F, 0xA9, 0x9D, 0xE5, 0x09, 0x66);
Ritor1
parents:
diff changeset
622
Ritor1
parents:
diff changeset
623 #undef INTERFACE
Ritor1
parents:
diff changeset
624 #define INTERFACE IDirectSound8
Ritor1
parents:
diff changeset
625
Ritor1
parents:
diff changeset
626 DECLARE_INTERFACE_(IDirectSound8, IDirectSound)
Ritor1
parents:
diff changeset
627 {
Ritor1
parents:
diff changeset
628 // IUnknown methods
Ritor1
parents:
diff changeset
629 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
630 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
631 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
632
Ritor1
parents:
diff changeset
633 // IDirectSound methods
Ritor1
parents:
diff changeset
634 STDMETHOD(CreateSoundBuffer) (THIS_ LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDBUFFER *ppDSBuffer, LPUNKNOWN pUnkOuter) PURE;
Ritor1
parents:
diff changeset
635 STDMETHOD(GetCaps) (THIS_ LPDSCAPS pDSCaps) PURE;
Ritor1
parents:
diff changeset
636 STDMETHOD(DuplicateSoundBuffer) (THIS_ LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER *ppDSBufferDuplicate) PURE;
Ritor1
parents:
diff changeset
637 STDMETHOD(SetCooperativeLevel) (THIS_ HWND hwnd, DWORD dwLevel) PURE;
Ritor1
parents:
diff changeset
638 STDMETHOD(Compact) (THIS) PURE;
Ritor1
parents:
diff changeset
639 STDMETHOD(GetSpeakerConfig) (THIS_ LPDWORD pdwSpeakerConfig) PURE;
Ritor1
parents:
diff changeset
640 STDMETHOD(SetSpeakerConfig) (THIS_ DWORD dwSpeakerConfig) PURE;
Ritor1
parents:
diff changeset
641 STDMETHOD(Initialize) (THIS_ LPCGUID pcGuidDevice) PURE;
Ritor1
parents:
diff changeset
642
Ritor1
parents:
diff changeset
643 // IDirectSound8 methods
Ritor1
parents:
diff changeset
644 STDMETHOD(VerifyCertification) (THIS_ LPDWORD pdwCertified) PURE;
Ritor1
parents:
diff changeset
645 };
Ritor1
parents:
diff changeset
646
Ritor1
parents:
diff changeset
647 #define IDirectSound8_QueryInterface(p,a,b) IDirectSound_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
648 #define IDirectSound8_AddRef(p) IDirectSound_AddRef(p)
Ritor1
parents:
diff changeset
649 #define IDirectSound8_Release(p) IDirectSound_Release(p)
Ritor1
parents:
diff changeset
650 #define IDirectSound8_CreateSoundBuffer(p,a,b,c) IDirectSound_CreateSoundBuffer(p,a,b,c)
Ritor1
parents:
diff changeset
651 #define IDirectSound8_GetCaps(p,a) IDirectSound_GetCaps(p,a)
Ritor1
parents:
diff changeset
652 #define IDirectSound8_DuplicateSoundBuffer(p,a,b) IDirectSound_DuplicateSoundBuffer(p,a,b)
Ritor1
parents:
diff changeset
653 #define IDirectSound8_SetCooperativeLevel(p,a,b) IDirectSound_SetCooperativeLevel(p,a,b)
Ritor1
parents:
diff changeset
654 #define IDirectSound8_Compact(p) IDirectSound_Compact(p)
Ritor1
parents:
diff changeset
655 #define IDirectSound8_GetSpeakerConfig(p,a) IDirectSound_GetSpeakerConfig(p,a)
Ritor1
parents:
diff changeset
656 #define IDirectSound8_SetSpeakerConfig(p,a) IDirectSound_SetSpeakerConfig(p,a)
Ritor1
parents:
diff changeset
657 #define IDirectSound8_Initialize(p,a) IDirectSound_Initialize(p,a)
Ritor1
parents:
diff changeset
658
Ritor1
parents:
diff changeset
659 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
660 #define IDirectSound8_VerifyCertification(p,a) (p)->lpVtbl->VerifyCertification(p,a)
Ritor1
parents:
diff changeset
661 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
662 #define IDirectSound8_VerifyCertification(p,a) (p)->VerifyCertification(a)
Ritor1
parents:
diff changeset
663 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
664
Ritor1
parents:
diff changeset
665 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
666
Ritor1
parents:
diff changeset
667 //
Ritor1
parents:
diff changeset
668 // IDirectSoundBuffer
Ritor1
parents:
diff changeset
669 //
Ritor1
parents:
diff changeset
670
Ritor1
parents:
diff changeset
671 DEFINE_GUID(IID_IDirectSoundBuffer, 0x279AFA85, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
Ritor1
parents:
diff changeset
672
Ritor1
parents:
diff changeset
673 #undef INTERFACE
Ritor1
parents:
diff changeset
674 #define INTERFACE IDirectSoundBuffer
Ritor1
parents:
diff changeset
675
Ritor1
parents:
diff changeset
676 DECLARE_INTERFACE_(IDirectSoundBuffer, IUnknown)
Ritor1
parents:
diff changeset
677 {
Ritor1
parents:
diff changeset
678 // IUnknown methods
Ritor1
parents:
diff changeset
679 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
680 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
681 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
682
Ritor1
parents:
diff changeset
683 // IDirectSoundBuffer methods
Ritor1
parents:
diff changeset
684 STDMETHOD(GetCaps) (THIS_ LPDSBCAPS pDSBufferCaps) PURE;
Ritor1
parents:
diff changeset
685 STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor) PURE;
Ritor1
parents:
diff changeset
686 STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
Ritor1
parents:
diff changeset
687 STDMETHOD(GetVolume) (THIS_ LPLONG plVolume) PURE;
Ritor1
parents:
diff changeset
688 STDMETHOD(GetPan) (THIS_ LPLONG plPan) PURE;
Ritor1
parents:
diff changeset
689 STDMETHOD(GetFrequency) (THIS_ LPDWORD pdwFrequency) PURE;
Ritor1
parents:
diff changeset
690 STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
Ritor1
parents:
diff changeset
691 STDMETHOD(Initialize) (THIS_ LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc) PURE;
Ritor1
parents:
diff changeset
692 STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
Ritor1
parents:
diff changeset
693 LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
694 STDMETHOD(Play) (THIS_ DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
695 STDMETHOD(SetCurrentPosition) (THIS_ DWORD dwNewPosition) PURE;
Ritor1
parents:
diff changeset
696 STDMETHOD(SetFormat) (THIS_ LPCWAVEFORMATEX pcfxFormat) PURE;
Ritor1
parents:
diff changeset
697 STDMETHOD(SetVolume) (THIS_ LONG lVolume) PURE;
Ritor1
parents:
diff changeset
698 STDMETHOD(SetPan) (THIS_ LONG lPan) PURE;
Ritor1
parents:
diff changeset
699 STDMETHOD(SetFrequency) (THIS_ DWORD dwFrequency) PURE;
Ritor1
parents:
diff changeset
700 STDMETHOD(Stop) (THIS) PURE;
Ritor1
parents:
diff changeset
701 STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
Ritor1
parents:
diff changeset
702 STDMETHOD(Restore) (THIS) PURE;
Ritor1
parents:
diff changeset
703 };
Ritor1
parents:
diff changeset
704
Ritor1
parents:
diff changeset
705 #define IDirectSoundBuffer_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
706 #define IDirectSoundBuffer_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
707 #define IDirectSoundBuffer_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
708
Ritor1
parents:
diff changeset
709 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
710 #define IDirectSoundBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
Ritor1
parents:
diff changeset
711 #define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
Ritor1
parents:
diff changeset
712 #define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
Ritor1
parents:
diff changeset
713 #define IDirectSoundBuffer_GetVolume(p,a) (p)->lpVtbl->GetVolume(p,a)
Ritor1
parents:
diff changeset
714 #define IDirectSoundBuffer_GetPan(p,a) (p)->lpVtbl->GetPan(p,a)
Ritor1
parents:
diff changeset
715 #define IDirectSoundBuffer_GetFrequency(p,a) (p)->lpVtbl->GetFrequency(p,a)
Ritor1
parents:
diff changeset
716 #define IDirectSoundBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
Ritor1
parents:
diff changeset
717 #define IDirectSoundBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
Ritor1
parents:
diff changeset
718 #define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
719 #define IDirectSoundBuffer_Play(p,a,b,c) (p)->lpVtbl->Play(p,a,b,c)
Ritor1
parents:
diff changeset
720 #define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->lpVtbl->SetCurrentPosition(p,a)
Ritor1
parents:
diff changeset
721 #define IDirectSoundBuffer_SetFormat(p,a) (p)->lpVtbl->SetFormat(p,a)
Ritor1
parents:
diff changeset
722 #define IDirectSoundBuffer_SetVolume(p,a) (p)->lpVtbl->SetVolume(p,a)
Ritor1
parents:
diff changeset
723 #define IDirectSoundBuffer_SetPan(p,a) (p)->lpVtbl->SetPan(p,a)
Ritor1
parents:
diff changeset
724 #define IDirectSoundBuffer_SetFrequency(p,a) (p)->lpVtbl->SetFrequency(p,a)
Ritor1
parents:
diff changeset
725 #define IDirectSoundBuffer_Stop(p) (p)->lpVtbl->Stop(p)
Ritor1
parents:
diff changeset
726 #define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
Ritor1
parents:
diff changeset
727 #define IDirectSoundBuffer_Restore(p) (p)->lpVtbl->Restore(p)
Ritor1
parents:
diff changeset
728 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
729 #define IDirectSoundBuffer_GetCaps(p,a) (p)->GetCaps(a)
Ritor1
parents:
diff changeset
730 #define IDirectSoundBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
Ritor1
parents:
diff changeset
731 #define IDirectSoundBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
Ritor1
parents:
diff changeset
732 #define IDirectSoundBuffer_GetVolume(p,a) (p)->GetVolume(a)
Ritor1
parents:
diff changeset
733 #define IDirectSoundBuffer_GetPan(p,a) (p)->GetPan(a)
Ritor1
parents:
diff changeset
734 #define IDirectSoundBuffer_GetFrequency(p,a) (p)->GetFrequency(a)
Ritor1
parents:
diff changeset
735 #define IDirectSoundBuffer_GetStatus(p,a) (p)->GetStatus(a)
Ritor1
parents:
diff changeset
736 #define IDirectSoundBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
Ritor1
parents:
diff changeset
737 #define IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
738 #define IDirectSoundBuffer_Play(p,a,b,c) (p)->Play(a,b,c)
Ritor1
parents:
diff changeset
739 #define IDirectSoundBuffer_SetCurrentPosition(p,a) (p)->SetCurrentPosition(a)
Ritor1
parents:
diff changeset
740 #define IDirectSoundBuffer_SetFormat(p,a) (p)->SetFormat(a)
Ritor1
parents:
diff changeset
741 #define IDirectSoundBuffer_SetVolume(p,a) (p)->SetVolume(a)
Ritor1
parents:
diff changeset
742 #define IDirectSoundBuffer_SetPan(p,a) (p)->SetPan(a)
Ritor1
parents:
diff changeset
743 #define IDirectSoundBuffer_SetFrequency(p,a) (p)->SetFrequency(a)
Ritor1
parents:
diff changeset
744 #define IDirectSoundBuffer_Stop(p) (p)->Stop()
Ritor1
parents:
diff changeset
745 #define IDirectSoundBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
Ritor1
parents:
diff changeset
746 #define IDirectSoundBuffer_Restore(p) (p)->Restore()
Ritor1
parents:
diff changeset
747 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
748
Ritor1
parents:
diff changeset
749 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
750
Ritor1
parents:
diff changeset
751 //
Ritor1
parents:
diff changeset
752 // IDirectSoundBuffer8
Ritor1
parents:
diff changeset
753 //
Ritor1
parents:
diff changeset
754
Ritor1
parents:
diff changeset
755 DEFINE_GUID(IID_IDirectSoundBuffer8, 0x6825a449, 0x7524, 0x4d82, 0x92, 0x0f, 0x50, 0xe3, 0x6a, 0xb3, 0xab, 0x1e);
Ritor1
parents:
diff changeset
756
Ritor1
parents:
diff changeset
757 #undef INTERFACE
Ritor1
parents:
diff changeset
758 #define INTERFACE IDirectSoundBuffer8
Ritor1
parents:
diff changeset
759
Ritor1
parents:
diff changeset
760 DECLARE_INTERFACE_(IDirectSoundBuffer8, IDirectSoundBuffer)
Ritor1
parents:
diff changeset
761 {
Ritor1
parents:
diff changeset
762 // IUnknown methods
Ritor1
parents:
diff changeset
763 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
764 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
765 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
766
Ritor1
parents:
diff changeset
767 // IDirectSoundBuffer methods
Ritor1
parents:
diff changeset
768 STDMETHOD(GetCaps) (THIS_ LPDSBCAPS pDSBufferCaps) PURE;
Ritor1
parents:
diff changeset
769 STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor) PURE;
Ritor1
parents:
diff changeset
770 STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
Ritor1
parents:
diff changeset
771 STDMETHOD(GetVolume) (THIS_ LPLONG plVolume) PURE;
Ritor1
parents:
diff changeset
772 STDMETHOD(GetPan) (THIS_ LPLONG plPan) PURE;
Ritor1
parents:
diff changeset
773 STDMETHOD(GetFrequency) (THIS_ LPDWORD pdwFrequency) PURE;
Ritor1
parents:
diff changeset
774 STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
Ritor1
parents:
diff changeset
775 STDMETHOD(Initialize) (THIS_ LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc) PURE;
Ritor1
parents:
diff changeset
776 STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
Ritor1
parents:
diff changeset
777 LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
778 STDMETHOD(Play) (THIS_ DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
779 STDMETHOD(SetCurrentPosition) (THIS_ DWORD dwNewPosition) PURE;
Ritor1
parents:
diff changeset
780 STDMETHOD(SetFormat) (THIS_ LPCWAVEFORMATEX pcfxFormat) PURE;
Ritor1
parents:
diff changeset
781 STDMETHOD(SetVolume) (THIS_ LONG lVolume) PURE;
Ritor1
parents:
diff changeset
782 STDMETHOD(SetPan) (THIS_ LONG lPan) PURE;
Ritor1
parents:
diff changeset
783 STDMETHOD(SetFrequency) (THIS_ DWORD dwFrequency) PURE;
Ritor1
parents:
diff changeset
784 STDMETHOD(Stop) (THIS) PURE;
Ritor1
parents:
diff changeset
785 STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
Ritor1
parents:
diff changeset
786 STDMETHOD(Restore) (THIS) PURE;
Ritor1
parents:
diff changeset
787
Ritor1
parents:
diff changeset
788 // IDirectSoundBuffer8 methods
Ritor1
parents:
diff changeset
789 STDMETHOD(SetFX) (THIS_ DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes) PURE;
Ritor1
parents:
diff changeset
790 STDMETHOD(AcquireResources) (THIS_ DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes) PURE;
Ritor1
parents:
diff changeset
791 STDMETHOD(GetObjectInPath) (THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
Ritor1
parents:
diff changeset
792 };
Ritor1
parents:
diff changeset
793
Ritor1
parents:
diff changeset
794 // Special GUID meaning "select all objects" for use in GetObjectInPath()
Ritor1
parents:
diff changeset
795 DEFINE_GUID(GUID_All_Objects, 0xaa114de5, 0xc262, 0x4169, 0xa1, 0xc8, 0x23, 0xd6, 0x98, 0xcc, 0x73, 0xb5);
Ritor1
parents:
diff changeset
796
Ritor1
parents:
diff changeset
797 #define IDirectSoundBuffer8_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
798 #define IDirectSoundBuffer8_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
799 #define IDirectSoundBuffer8_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
800
Ritor1
parents:
diff changeset
801 #define IDirectSoundBuffer8_GetCaps(p,a) IDirectSoundBuffer_GetCaps(p,a)
Ritor1
parents:
diff changeset
802 #define IDirectSoundBuffer8_GetCurrentPosition(p,a,b) IDirectSoundBuffer_GetCurrentPosition(p,a,b)
Ritor1
parents:
diff changeset
803 #define IDirectSoundBuffer8_GetFormat(p,a,b,c) IDirectSoundBuffer_GetFormat(p,a,b,c)
Ritor1
parents:
diff changeset
804 #define IDirectSoundBuffer8_GetVolume(p,a) IDirectSoundBuffer_GetVolume(p,a)
Ritor1
parents:
diff changeset
805 #define IDirectSoundBuffer8_GetPan(p,a) IDirectSoundBuffer_GetPan(p,a)
Ritor1
parents:
diff changeset
806 #define IDirectSoundBuffer8_GetFrequency(p,a) IDirectSoundBuffer_GetFrequency(p,a)
Ritor1
parents:
diff changeset
807 #define IDirectSoundBuffer8_GetStatus(p,a) IDirectSoundBuffer_GetStatus(p,a)
Ritor1
parents:
diff changeset
808 #define IDirectSoundBuffer8_Initialize(p,a,b) IDirectSoundBuffer_Initialize(p,a,b)
Ritor1
parents:
diff changeset
809 #define IDirectSoundBuffer8_Lock(p,a,b,c,d,e,f,g) IDirectSoundBuffer_Lock(p,a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
810 #define IDirectSoundBuffer8_Play(p,a,b,c) IDirectSoundBuffer_Play(p,a,b,c)
Ritor1
parents:
diff changeset
811 #define IDirectSoundBuffer8_SetCurrentPosition(p,a) IDirectSoundBuffer_SetCurrentPosition(p,a)
Ritor1
parents:
diff changeset
812 #define IDirectSoundBuffer8_SetFormat(p,a) IDirectSoundBuffer_SetFormat(p,a)
Ritor1
parents:
diff changeset
813 #define IDirectSoundBuffer8_SetVolume(p,a) IDirectSoundBuffer_SetVolume(p,a)
Ritor1
parents:
diff changeset
814 #define IDirectSoundBuffer8_SetPan(p,a) IDirectSoundBuffer_SetPan(p,a)
Ritor1
parents:
diff changeset
815 #define IDirectSoundBuffer8_SetFrequency(p,a) IDirectSoundBuffer_SetFrequency(p,a)
Ritor1
parents:
diff changeset
816 #define IDirectSoundBuffer8_Stop(p) IDirectSoundBuffer_Stop(p)
Ritor1
parents:
diff changeset
817 #define IDirectSoundBuffer8_Unlock(p,a,b,c,d) IDirectSoundBuffer_Unlock(p,a,b,c,d)
Ritor1
parents:
diff changeset
818 #define IDirectSoundBuffer8_Restore(p) IDirectSoundBuffer_Restore(p)
Ritor1
parents:
diff changeset
819
Ritor1
parents:
diff changeset
820 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
821 #define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->lpVtbl->SetFX(p,a,b,c)
Ritor1
parents:
diff changeset
822 #define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->lpVtbl->AcquireResources(p,a,b,c)
Ritor1
parents:
diff changeset
823 #define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
Ritor1
parents:
diff changeset
824 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
825 #define IDirectSoundBuffer8_SetFX(p,a,b,c) (p)->SetFX(a,b,c)
Ritor1
parents:
diff changeset
826 #define IDirectSoundBuffer8_AcquireResources(p,a,b,c) (p)->AcquireResources(a,b,c)
Ritor1
parents:
diff changeset
827 #define IDirectSoundBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
Ritor1
parents:
diff changeset
828 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
829
Ritor1
parents:
diff changeset
830 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
831
Ritor1
parents:
diff changeset
832 //
Ritor1
parents:
diff changeset
833 // IDirectSound3DListener
Ritor1
parents:
diff changeset
834 //
Ritor1
parents:
diff changeset
835
Ritor1
parents:
diff changeset
836 DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
Ritor1
parents:
diff changeset
837
Ritor1
parents:
diff changeset
838 #undef INTERFACE
Ritor1
parents:
diff changeset
839 #define INTERFACE IDirectSound3DListener
Ritor1
parents:
diff changeset
840
Ritor1
parents:
diff changeset
841 DECLARE_INTERFACE_(IDirectSound3DListener, IUnknown)
Ritor1
parents:
diff changeset
842 {
Ritor1
parents:
diff changeset
843 // IUnknown methods
Ritor1
parents:
diff changeset
844 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
845 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
846 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
847
Ritor1
parents:
diff changeset
848 // IDirectSound3DListener methods
Ritor1
parents:
diff changeset
849 STDMETHOD(GetAllParameters) (THIS_ LPDS3DLISTENER pListener) PURE;
Ritor1
parents:
diff changeset
850 STDMETHOD(GetDistanceFactor) (THIS_ D3DVALUE* pflDistanceFactor) PURE;
Ritor1
parents:
diff changeset
851 STDMETHOD(GetDopplerFactor) (THIS_ D3DVALUE* pflDopplerFactor) PURE;
Ritor1
parents:
diff changeset
852 STDMETHOD(GetOrientation) (THIS_ D3DVECTOR* pvOrientFront, D3DVECTOR* pvOrientTop) PURE;
Ritor1
parents:
diff changeset
853 STDMETHOD(GetPosition) (THIS_ D3DVECTOR* pvPosition) PURE;
Ritor1
parents:
diff changeset
854 STDMETHOD(GetRolloffFactor) (THIS_ D3DVALUE* pflRolloffFactor) PURE;
Ritor1
parents:
diff changeset
855 STDMETHOD(GetVelocity) (THIS_ D3DVECTOR* pvVelocity) PURE;
Ritor1
parents:
diff changeset
856 STDMETHOD(SetAllParameters) (THIS_ LPCDS3DLISTENER pcListener, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
857 STDMETHOD(SetDistanceFactor) (THIS_ D3DVALUE flDistanceFactor, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
858 STDMETHOD(SetDopplerFactor) (THIS_ D3DVALUE flDopplerFactor, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
859 STDMETHOD(SetOrientation) (THIS_ D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront,
Ritor1
parents:
diff changeset
860 D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
861 STDMETHOD(SetPosition) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
862 STDMETHOD(SetRolloffFactor) (THIS_ D3DVALUE flRolloffFactor, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
863 STDMETHOD(SetVelocity) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
864 STDMETHOD(CommitDeferredSettings) (THIS) PURE;
Ritor1
parents:
diff changeset
865 };
Ritor1
parents:
diff changeset
866
Ritor1
parents:
diff changeset
867 #define IDirectSound3DListener_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
868 #define IDirectSound3DListener_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
869 #define IDirectSound3DListener_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
870
Ritor1
parents:
diff changeset
871 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
872 #define IDirectSound3DListener_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
873 #define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->lpVtbl->GetDistanceFactor(p,a)
Ritor1
parents:
diff changeset
874 #define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->lpVtbl->GetDopplerFactor(p,a)
Ritor1
parents:
diff changeset
875 #define IDirectSound3DListener_GetOrientation(p,a,b) (p)->lpVtbl->GetOrientation(p,a,b)
Ritor1
parents:
diff changeset
876 #define IDirectSound3DListener_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
Ritor1
parents:
diff changeset
877 #define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->lpVtbl->GetRolloffFactor(p,a)
Ritor1
parents:
diff changeset
878 #define IDirectSound3DListener_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
Ritor1
parents:
diff changeset
879 #define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
Ritor1
parents:
diff changeset
880 #define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->lpVtbl->SetDistanceFactor(p,a,b)
Ritor1
parents:
diff changeset
881 #define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->lpVtbl->SetDopplerFactor(p,a,b)
Ritor1
parents:
diff changeset
882 #define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->lpVtbl->SetOrientation(p,a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
883 #define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
Ritor1
parents:
diff changeset
884 #define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->lpVtbl->SetRolloffFactor(p,a,b)
Ritor1
parents:
diff changeset
885 #define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
Ritor1
parents:
diff changeset
886 #define IDirectSound3DListener_CommitDeferredSettings(p) (p)->lpVtbl->CommitDeferredSettings(p)
Ritor1
parents:
diff changeset
887 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
888 #define IDirectSound3DListener_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
889 #define IDirectSound3DListener_GetDistanceFactor(p,a) (p)->GetDistanceFactor(a)
Ritor1
parents:
diff changeset
890 #define IDirectSound3DListener_GetDopplerFactor(p,a) (p)->GetDopplerFactor(a)
Ritor1
parents:
diff changeset
891 #define IDirectSound3DListener_GetOrientation(p,a,b) (p)->GetOrientation(a,b)
Ritor1
parents:
diff changeset
892 #define IDirectSound3DListener_GetPosition(p,a) (p)->GetPosition(a)
Ritor1
parents:
diff changeset
893 #define IDirectSound3DListener_GetRolloffFactor(p,a) (p)->GetRolloffFactor(a)
Ritor1
parents:
diff changeset
894 #define IDirectSound3DListener_GetVelocity(p,a) (p)->GetVelocity(a)
Ritor1
parents:
diff changeset
895 #define IDirectSound3DListener_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
Ritor1
parents:
diff changeset
896 #define IDirectSound3DListener_SetDistanceFactor(p,a,b) (p)->SetDistanceFactor(a,b)
Ritor1
parents:
diff changeset
897 #define IDirectSound3DListener_SetDopplerFactor(p,a,b) (p)->SetDopplerFactor(a,b)
Ritor1
parents:
diff changeset
898 #define IDirectSound3DListener_SetOrientation(p,a,b,c,d,e,f,g) (p)->SetOrientation(a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
899 #define IDirectSound3DListener_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
Ritor1
parents:
diff changeset
900 #define IDirectSound3DListener_SetRolloffFactor(p,a,b) (p)->SetRolloffFactor(a,b)
Ritor1
parents:
diff changeset
901 #define IDirectSound3DListener_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
Ritor1
parents:
diff changeset
902 #define IDirectSound3DListener_CommitDeferredSettings(p) (p)->CommitDeferredSettings()
Ritor1
parents:
diff changeset
903 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
904
Ritor1
parents:
diff changeset
905 //
Ritor1
parents:
diff changeset
906 // IDirectSound3DBuffer
Ritor1
parents:
diff changeset
907 //
Ritor1
parents:
diff changeset
908
Ritor1
parents:
diff changeset
909 DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
Ritor1
parents:
diff changeset
910
Ritor1
parents:
diff changeset
911 #undef INTERFACE
Ritor1
parents:
diff changeset
912 #define INTERFACE IDirectSound3DBuffer
Ritor1
parents:
diff changeset
913
Ritor1
parents:
diff changeset
914 DECLARE_INTERFACE_(IDirectSound3DBuffer, IUnknown)
Ritor1
parents:
diff changeset
915 {
Ritor1
parents:
diff changeset
916 // IUnknown methods
Ritor1
parents:
diff changeset
917 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
918 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
919 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
920
Ritor1
parents:
diff changeset
921 // IDirectSound3DBuffer methods
Ritor1
parents:
diff changeset
922 STDMETHOD(GetAllParameters) (THIS_ LPDS3DBUFFER pDs3dBuffer) PURE;
Ritor1
parents:
diff changeset
923 STDMETHOD(GetConeAngles) (THIS_ LPDWORD pdwInsideConeAngle, LPDWORD pdwOutsideConeAngle) PURE;
Ritor1
parents:
diff changeset
924 STDMETHOD(GetConeOrientation) (THIS_ D3DVECTOR* pvOrientation) PURE;
Ritor1
parents:
diff changeset
925 STDMETHOD(GetConeOutsideVolume) (THIS_ LPLONG plConeOutsideVolume) PURE;
Ritor1
parents:
diff changeset
926 STDMETHOD(GetMaxDistance) (THIS_ D3DVALUE* pflMaxDistance) PURE;
Ritor1
parents:
diff changeset
927 STDMETHOD(GetMinDistance) (THIS_ D3DVALUE* pflMinDistance) PURE;
Ritor1
parents:
diff changeset
928 STDMETHOD(GetMode) (THIS_ LPDWORD pdwMode) PURE;
Ritor1
parents:
diff changeset
929 STDMETHOD(GetPosition) (THIS_ D3DVECTOR* pvPosition) PURE;
Ritor1
parents:
diff changeset
930 STDMETHOD(GetVelocity) (THIS_ D3DVECTOR* pvVelocity) PURE;
Ritor1
parents:
diff changeset
931 STDMETHOD(SetAllParameters) (THIS_ LPCDS3DBUFFER pcDs3dBuffer, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
932 STDMETHOD(SetConeAngles) (THIS_ DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
933 STDMETHOD(SetConeOrientation) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
934 STDMETHOD(SetConeOutsideVolume) (THIS_ LONG lConeOutsideVolume, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
935 STDMETHOD(SetMaxDistance) (THIS_ D3DVALUE flMaxDistance, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
936 STDMETHOD(SetMinDistance) (THIS_ D3DVALUE flMinDistance, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
937 STDMETHOD(SetMode) (THIS_ DWORD dwMode, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
938 STDMETHOD(SetPosition) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
939 STDMETHOD(SetVelocity) (THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE;
Ritor1
parents:
diff changeset
940 };
Ritor1
parents:
diff changeset
941
Ritor1
parents:
diff changeset
942 #define IDirectSound3DBuffer_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
943 #define IDirectSound3DBuffer_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
944 #define IDirectSound3DBuffer_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
945
Ritor1
parents:
diff changeset
946 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
947 #define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
948 #define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->lpVtbl->GetConeAngles(p,a,b)
Ritor1
parents:
diff changeset
949 #define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->lpVtbl->GetConeOrientation(p,a)
Ritor1
parents:
diff changeset
950 #define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->lpVtbl->GetConeOutsideVolume(p,a)
Ritor1
parents:
diff changeset
951 #define IDirectSound3DBuffer_GetPosition(p,a) (p)->lpVtbl->GetPosition(p,a)
Ritor1
parents:
diff changeset
952 #define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->lpVtbl->GetMinDistance(p,a)
Ritor1
parents:
diff changeset
953 #define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->lpVtbl->GetMaxDistance(p,a)
Ritor1
parents:
diff changeset
954 #define IDirectSound3DBuffer_GetMode(p,a) (p)->lpVtbl->GetMode(p,a)
Ritor1
parents:
diff changeset
955 #define IDirectSound3DBuffer_GetVelocity(p,a) (p)->lpVtbl->GetVelocity(p,a)
Ritor1
parents:
diff changeset
956 #define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->lpVtbl->SetAllParameters(p,a,b)
Ritor1
parents:
diff changeset
957 #define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->lpVtbl->SetConeAngles(p,a,b,c)
Ritor1
parents:
diff changeset
958 #define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->lpVtbl->SetConeOrientation(p,a,b,c,d)
Ritor1
parents:
diff changeset
959 #define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->lpVtbl->SetConeOutsideVolume(p,a,b)
Ritor1
parents:
diff changeset
960 #define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->lpVtbl->SetPosition(p,a,b,c,d)
Ritor1
parents:
diff changeset
961 #define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->lpVtbl->SetMinDistance(p,a,b)
Ritor1
parents:
diff changeset
962 #define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->lpVtbl->SetMaxDistance(p,a,b)
Ritor1
parents:
diff changeset
963 #define IDirectSound3DBuffer_SetMode(p,a,b) (p)->lpVtbl->SetMode(p,a,b)
Ritor1
parents:
diff changeset
964 #define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->lpVtbl->SetVelocity(p,a,b,c,d)
Ritor1
parents:
diff changeset
965 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
966 #define IDirectSound3DBuffer_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
967 #define IDirectSound3DBuffer_GetConeAngles(p,a,b) (p)->GetConeAngles(a,b)
Ritor1
parents:
diff changeset
968 #define IDirectSound3DBuffer_GetConeOrientation(p,a) (p)->GetConeOrientation(a)
Ritor1
parents:
diff changeset
969 #define IDirectSound3DBuffer_GetConeOutsideVolume(p,a) (p)->GetConeOutsideVolume(a)
Ritor1
parents:
diff changeset
970 #define IDirectSound3DBuffer_GetPosition(p,a) (p)->GetPosition(a)
Ritor1
parents:
diff changeset
971 #define IDirectSound3DBuffer_GetMinDistance(p,a) (p)->GetMinDistance(a)
Ritor1
parents:
diff changeset
972 #define IDirectSound3DBuffer_GetMaxDistance(p,a) (p)->GetMaxDistance(a)
Ritor1
parents:
diff changeset
973 #define IDirectSound3DBuffer_GetMode(p,a) (p)->GetMode(a)
Ritor1
parents:
diff changeset
974 #define IDirectSound3DBuffer_GetVelocity(p,a) (p)->GetVelocity(a)
Ritor1
parents:
diff changeset
975 #define IDirectSound3DBuffer_SetAllParameters(p,a,b) (p)->SetAllParameters(a,b)
Ritor1
parents:
diff changeset
976 #define IDirectSound3DBuffer_SetConeAngles(p,a,b,c) (p)->SetConeAngles(a,b,c)
Ritor1
parents:
diff changeset
977 #define IDirectSound3DBuffer_SetConeOrientation(p,a,b,c,d) (p)->SetConeOrientation(a,b,c,d)
Ritor1
parents:
diff changeset
978 #define IDirectSound3DBuffer_SetConeOutsideVolume(p,a,b) (p)->SetConeOutsideVolume(a,b)
Ritor1
parents:
diff changeset
979 #define IDirectSound3DBuffer_SetPosition(p,a,b,c,d) (p)->SetPosition(a,b,c,d)
Ritor1
parents:
diff changeset
980 #define IDirectSound3DBuffer_SetMinDistance(p,a,b) (p)->SetMinDistance(a,b)
Ritor1
parents:
diff changeset
981 #define IDirectSound3DBuffer_SetMaxDistance(p,a,b) (p)->SetMaxDistance(a,b)
Ritor1
parents:
diff changeset
982 #define IDirectSound3DBuffer_SetMode(p,a,b) (p)->SetMode(a,b)
Ritor1
parents:
diff changeset
983 #define IDirectSound3DBuffer_SetVelocity(p,a,b,c,d) (p)->SetVelocity(a,b,c,d)
Ritor1
parents:
diff changeset
984 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
985
Ritor1
parents:
diff changeset
986 //
Ritor1
parents:
diff changeset
987 // IDirectSoundCapture
Ritor1
parents:
diff changeset
988 //
Ritor1
parents:
diff changeset
989
Ritor1
parents:
diff changeset
990 DEFINE_GUID(IID_IDirectSoundCapture, 0xb0210781, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
Ritor1
parents:
diff changeset
991
Ritor1
parents:
diff changeset
992 #undef INTERFACE
Ritor1
parents:
diff changeset
993 #define INTERFACE IDirectSoundCapture
Ritor1
parents:
diff changeset
994
Ritor1
parents:
diff changeset
995 DECLARE_INTERFACE_(IDirectSoundCapture, IUnknown)
Ritor1
parents:
diff changeset
996 {
Ritor1
parents:
diff changeset
997 // IUnknown methods
Ritor1
parents:
diff changeset
998 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
999 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1000 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1001
Ritor1
parents:
diff changeset
1002 // IDirectSoundCapture methods
Ritor1
parents:
diff changeset
1003 STDMETHOD(CreateCaptureBuffer) (THIS_ LPCDSCBUFFERDESC pcDSCBufferDesc, LPDIRECTSOUNDCAPTUREBUFFER *ppDSCBuffer, LPUNKNOWN pUnkOuter) PURE;
Ritor1
parents:
diff changeset
1004 STDMETHOD(GetCaps) (THIS_ LPDSCCAPS pDSCCaps) PURE;
Ritor1
parents:
diff changeset
1005 STDMETHOD(Initialize) (THIS_ LPCGUID pcGuidDevice) PURE;
Ritor1
parents:
diff changeset
1006 };
Ritor1
parents:
diff changeset
1007
Ritor1
parents:
diff changeset
1008 #define IDirectSoundCapture_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1009 #define IDirectSoundCapture_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1010 #define IDirectSoundCapture_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1011
Ritor1
parents:
diff changeset
1012 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1013 #define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->lpVtbl->CreateCaptureBuffer(p,a,b,c)
Ritor1
parents:
diff changeset
1014 #define IDirectSoundCapture_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
Ritor1
parents:
diff changeset
1015 #define IDirectSoundCapture_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
Ritor1
parents:
diff changeset
1016 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1017 #define IDirectSoundCapture_CreateCaptureBuffer(p,a,b,c) (p)->CreateCaptureBuffer(a,b,c)
Ritor1
parents:
diff changeset
1018 #define IDirectSoundCapture_GetCaps(p,a) (p)->GetCaps(a)
Ritor1
parents:
diff changeset
1019 #define IDirectSoundCapture_Initialize(p,a) (p)->Initialize(a)
Ritor1
parents:
diff changeset
1020 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1021
Ritor1
parents:
diff changeset
1022 //
Ritor1
parents:
diff changeset
1023 // IDirectSoundCaptureBuffer
Ritor1
parents:
diff changeset
1024 //
Ritor1
parents:
diff changeset
1025
Ritor1
parents:
diff changeset
1026 DEFINE_GUID(IID_IDirectSoundCaptureBuffer, 0xb0210782, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
Ritor1
parents:
diff changeset
1027
Ritor1
parents:
diff changeset
1028 #undef INTERFACE
Ritor1
parents:
diff changeset
1029 #define INTERFACE IDirectSoundCaptureBuffer
Ritor1
parents:
diff changeset
1030
Ritor1
parents:
diff changeset
1031 DECLARE_INTERFACE_(IDirectSoundCaptureBuffer, IUnknown)
Ritor1
parents:
diff changeset
1032 {
Ritor1
parents:
diff changeset
1033 // IUnknown methods
Ritor1
parents:
diff changeset
1034 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1035 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1036 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1037
Ritor1
parents:
diff changeset
1038 // IDirectSoundCaptureBuffer methods
Ritor1
parents:
diff changeset
1039 STDMETHOD(GetCaps) (THIS_ LPDSCBCAPS pDSCBCaps) PURE;
Ritor1
parents:
diff changeset
1040 STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCapturePosition, LPDWORD pdwReadPosition) PURE;
Ritor1
parents:
diff changeset
1041 STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
Ritor1
parents:
diff changeset
1042 STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
Ritor1
parents:
diff changeset
1043 STDMETHOD(Initialize) (THIS_ LPDIRECTSOUNDCAPTURE pDirectSoundCapture, LPCDSCBUFFERDESC pcDSCBufferDesc) PURE;
Ritor1
parents:
diff changeset
1044 STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
Ritor1
parents:
diff changeset
1045 LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
1046 STDMETHOD(Start) (THIS_ DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
1047 STDMETHOD(Stop) (THIS) PURE;
Ritor1
parents:
diff changeset
1048 STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
Ritor1
parents:
diff changeset
1049 };
Ritor1
parents:
diff changeset
1050
Ritor1
parents:
diff changeset
1051 #define IDirectSoundCaptureBuffer_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1052 #define IDirectSoundCaptureBuffer_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1053 #define IDirectSoundCaptureBuffer_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1054
Ritor1
parents:
diff changeset
1055 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1056 #define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->lpVtbl->GetCaps(p,a)
Ritor1
parents:
diff changeset
1057 #define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->lpVtbl->GetCurrentPosition(p,a,b)
Ritor1
parents:
diff changeset
1058 #define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->lpVtbl->GetFormat(p,a,b,c)
Ritor1
parents:
diff changeset
1059 #define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->lpVtbl->GetStatus(p,a)
Ritor1
parents:
diff changeset
1060 #define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->lpVtbl->Initialize(p,a,b)
Ritor1
parents:
diff changeset
1061 #define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->lpVtbl->Lock(p,a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
1062 #define IDirectSoundCaptureBuffer_Start(p,a) (p)->lpVtbl->Start(p,a)
Ritor1
parents:
diff changeset
1063 #define IDirectSoundCaptureBuffer_Stop(p) (p)->lpVtbl->Stop(p)
Ritor1
parents:
diff changeset
1064 #define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->lpVtbl->Unlock(p,a,b,c,d)
Ritor1
parents:
diff changeset
1065 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1066 #define IDirectSoundCaptureBuffer_GetCaps(p,a) (p)->GetCaps(a)
Ritor1
parents:
diff changeset
1067 #define IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b) (p)->GetCurrentPosition(a,b)
Ritor1
parents:
diff changeset
1068 #define IDirectSoundCaptureBuffer_GetFormat(p,a,b,c) (p)->GetFormat(a,b,c)
Ritor1
parents:
diff changeset
1069 #define IDirectSoundCaptureBuffer_GetStatus(p,a) (p)->GetStatus(a)
Ritor1
parents:
diff changeset
1070 #define IDirectSoundCaptureBuffer_Initialize(p,a,b) (p)->Initialize(a,b)
Ritor1
parents:
diff changeset
1071 #define IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g) (p)->Lock(a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
1072 #define IDirectSoundCaptureBuffer_Start(p,a) (p)->Start(a)
Ritor1
parents:
diff changeset
1073 #define IDirectSoundCaptureBuffer_Stop(p) (p)->Stop()
Ritor1
parents:
diff changeset
1074 #define IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d) (p)->Unlock(a,b,c,d)
Ritor1
parents:
diff changeset
1075 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1076
Ritor1
parents:
diff changeset
1077
Ritor1
parents:
diff changeset
1078 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
1079
Ritor1
parents:
diff changeset
1080 //
Ritor1
parents:
diff changeset
1081 // IDirectSoundCaptureBuffer8
Ritor1
parents:
diff changeset
1082 //
Ritor1
parents:
diff changeset
1083
Ritor1
parents:
diff changeset
1084 DEFINE_GUID(IID_IDirectSoundCaptureBuffer8, 0x990df4, 0xdbb, 0x4872, 0x83, 0x3e, 0x6d, 0x30, 0x3e, 0x80, 0xae, 0xb6);
Ritor1
parents:
diff changeset
1085
Ritor1
parents:
diff changeset
1086 #undef INTERFACE
Ritor1
parents:
diff changeset
1087 #define INTERFACE IDirectSoundCaptureBuffer8
Ritor1
parents:
diff changeset
1088
Ritor1
parents:
diff changeset
1089 DECLARE_INTERFACE_(IDirectSoundCaptureBuffer8, IDirectSoundCaptureBuffer)
Ritor1
parents:
diff changeset
1090 {
Ritor1
parents:
diff changeset
1091 // IUnknown methods
Ritor1
parents:
diff changeset
1092 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1093 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1094 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1095
Ritor1
parents:
diff changeset
1096 // IDirectSoundCaptureBuffer methods
Ritor1
parents:
diff changeset
1097 STDMETHOD(GetCaps) (THIS_ LPDSCBCAPS pDSCBCaps) PURE;
Ritor1
parents:
diff changeset
1098 STDMETHOD(GetCurrentPosition) (THIS_ LPDWORD pdwCapturePosition, LPDWORD pdwReadPosition) PURE;
Ritor1
parents:
diff changeset
1099 STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten) PURE;
Ritor1
parents:
diff changeset
1100 STDMETHOD(GetStatus) (THIS_ LPDWORD pdwStatus) PURE;
Ritor1
parents:
diff changeset
1101 STDMETHOD(Initialize) (THIS_ LPDIRECTSOUNDCAPTURE pDirectSoundCapture, LPCDSCBUFFERDESC pcDSCBufferDesc) PURE;
Ritor1
parents:
diff changeset
1102 STDMETHOD(Lock) (THIS_ DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1,
Ritor1
parents:
diff changeset
1103 LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
1104 STDMETHOD(Start) (THIS_ DWORD dwFlags) PURE;
Ritor1
parents:
diff changeset
1105 STDMETHOD(Stop) (THIS) PURE;
Ritor1
parents:
diff changeset
1106 STDMETHOD(Unlock) (THIS_ LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2) PURE;
Ritor1
parents:
diff changeset
1107
Ritor1
parents:
diff changeset
1108 // IDirectSoundCaptureBuffer8 methods
Ritor1
parents:
diff changeset
1109 STDMETHOD(GetObjectInPath) (THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE;
Ritor1
parents:
diff changeset
1110 STDMETHOD(GetFXStatus) (DWORD dwFXCount, LPDWORD pdwFXStatus) PURE;
Ritor1
parents:
diff changeset
1111 };
Ritor1
parents:
diff changeset
1112
Ritor1
parents:
diff changeset
1113 #define IDirectSoundCaptureBuffer8_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1114 #define IDirectSoundCaptureBuffer8_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1115 #define IDirectSoundCaptureBuffer8_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1116
Ritor1
parents:
diff changeset
1117 #define IDirectSoundCaptureBuffer8_GetCaps(p,a) IDirectSoundCaptureBuffer_GetCaps(p,a)
Ritor1
parents:
diff changeset
1118 #define IDirectSoundCaptureBuffer8_GetCurrentPosition(p,a,b) IDirectSoundCaptureBuffer_GetCurrentPosition(p,a,b)
Ritor1
parents:
diff changeset
1119 #define IDirectSoundCaptureBuffer8_GetFormat(p,a,b,c) IDirectSoundCaptureBuffer_GetFormat(p,a,b,c)
Ritor1
parents:
diff changeset
1120 #define IDirectSoundCaptureBuffer8_GetStatus(p,a) IDirectSoundCaptureBuffer_GetStatus(p,a)
Ritor1
parents:
diff changeset
1121 #define IDirectSoundCaptureBuffer8_Initialize(p,a,b) IDirectSoundCaptureBuffer_Initialize(p,a,b)
Ritor1
parents:
diff changeset
1122 #define IDirectSoundCaptureBuffer8_Lock(p,a,b,c,d,e,f,g) IDirectSoundCaptureBuffer_Lock(p,a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
1123 #define IDirectSoundCaptureBuffer8_Start(p,a) IDirectSoundCaptureBuffer_Start(p,a)
Ritor1
parents:
diff changeset
1124 #define IDirectSoundCaptureBuffer8_Stop(p) IDirectSoundCaptureBuffer_Stop(p))
Ritor1
parents:
diff changeset
1125 #define IDirectSoundCaptureBuffer8_Unlock(p,a,b,c,d) IDirectSoundCaptureBuffer_Unlock(p,a,b,c,d)
Ritor1
parents:
diff changeset
1126
Ritor1
parents:
diff changeset
1127 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1128 #define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->lpVtbl->GetObjectInPath(p,a,b,c,d)
Ritor1
parents:
diff changeset
1129 #define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->lpVtbl->GetFXStatus(p,a,b)
Ritor1
parents:
diff changeset
1130 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1131 #define IDirectSoundCaptureBuffer8_GetObjectInPath(p,a,b,c,d) (p)->GetObjectInPath(a,b,c,d)
Ritor1
parents:
diff changeset
1132 #define IDirectSoundCaptureBuffer8_GetFXStatus(p,a,b) (p)->GetFXStatus(a,b)
Ritor1
parents:
diff changeset
1133 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1134
Ritor1
parents:
diff changeset
1135 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
1136
Ritor1
parents:
diff changeset
1137 //
Ritor1
parents:
diff changeset
1138 // IDirectSoundNotify
Ritor1
parents:
diff changeset
1139 //
Ritor1
parents:
diff changeset
1140
Ritor1
parents:
diff changeset
1141 DEFINE_GUID(IID_IDirectSoundNotify, 0xb0210783, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
Ritor1
parents:
diff changeset
1142
Ritor1
parents:
diff changeset
1143 #undef INTERFACE
Ritor1
parents:
diff changeset
1144 #define INTERFACE IDirectSoundNotify
Ritor1
parents:
diff changeset
1145
Ritor1
parents:
diff changeset
1146 DECLARE_INTERFACE_(IDirectSoundNotify, IUnknown)
Ritor1
parents:
diff changeset
1147 {
Ritor1
parents:
diff changeset
1148 // IUnknown methods
Ritor1
parents:
diff changeset
1149 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1150 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1151 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1152
Ritor1
parents:
diff changeset
1153 // IDirectSoundNotify methods
Ritor1
parents:
diff changeset
1154 STDMETHOD(SetNotificationPositions) (THIS_ DWORD dwPositionNotifies, LPCDSBPOSITIONNOTIFY pcPositionNotifies) PURE;
Ritor1
parents:
diff changeset
1155 };
Ritor1
parents:
diff changeset
1156
Ritor1
parents:
diff changeset
1157 #define IDirectSoundNotify_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1158 #define IDirectSoundNotify_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1159 #define IDirectSoundNotify_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1160
Ritor1
parents:
diff changeset
1161 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1162 #define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->lpVtbl->SetNotificationPositions(p,a,b)
Ritor1
parents:
diff changeset
1163 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1164 #define IDirectSoundNotify_SetNotificationPositions(p,a,b) (p)->SetNotificationPositions(a,b)
Ritor1
parents:
diff changeset
1165 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1166
Ritor1
parents:
diff changeset
1167 //
Ritor1
parents:
diff changeset
1168 // IKsPropertySet
Ritor1
parents:
diff changeset
1169 //
Ritor1
parents:
diff changeset
1170
Ritor1
parents:
diff changeset
1171 #ifndef _IKsPropertySet_
Ritor1
parents:
diff changeset
1172 #define _IKsPropertySet_
Ritor1
parents:
diff changeset
1173
Ritor1
parents:
diff changeset
1174 #ifdef __cplusplus
Ritor1
parents:
diff changeset
1175 // 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
Ritor1
parents:
diff changeset
1176 struct IKsPropertySet;
Ritor1
parents:
diff changeset
1177 #endif // __cplusplus
Ritor1
parents:
diff changeset
1178
Ritor1
parents:
diff changeset
1179 typedef struct IKsPropertySet *LPKSPROPERTYSET;
Ritor1
parents:
diff changeset
1180
Ritor1
parents:
diff changeset
1181 #define KSPROPERTY_SUPPORT_GET 0x00000001
Ritor1
parents:
diff changeset
1182 #define KSPROPERTY_SUPPORT_SET 0x00000002
Ritor1
parents:
diff changeset
1183
Ritor1
parents:
diff changeset
1184 DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa, 0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
Ritor1
parents:
diff changeset
1185
Ritor1
parents:
diff changeset
1186 #undef INTERFACE
Ritor1
parents:
diff changeset
1187 #define INTERFACE IKsPropertySet
Ritor1
parents:
diff changeset
1188
Ritor1
parents:
diff changeset
1189 DECLARE_INTERFACE_(IKsPropertySet, IUnknown)
Ritor1
parents:
diff changeset
1190 {
Ritor1
parents:
diff changeset
1191 // IUnknown methods
Ritor1
parents:
diff changeset
1192 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1193 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1194 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1195
Ritor1
parents:
diff changeset
1196 // IKsPropertySet methods
Ritor1
parents:
diff changeset
1197 STDMETHOD(Get) (THIS_ REFGUID rguidPropSet, ULONG ulId, LPVOID pInstanceData, ULONG ulInstanceLength,
Ritor1
parents:
diff changeset
1198 LPVOID pPropertyData, ULONG ulDataLength, PULONG pulBytesReturned) PURE;
Ritor1
parents:
diff changeset
1199 STDMETHOD(Set) (THIS_ REFGUID rguidPropSet, ULONG ulId, LPVOID pInstanceData, ULONG ulInstanceLength,
Ritor1
parents:
diff changeset
1200 LPVOID pPropertyData, ULONG ulDataLength) PURE;
Ritor1
parents:
diff changeset
1201 STDMETHOD(QuerySupport) (THIS_ REFGUID rguidPropSet, ULONG ulId, PULONG pulTypeSupport) PURE;
Ritor1
parents:
diff changeset
1202 };
Ritor1
parents:
diff changeset
1203
Ritor1
parents:
diff changeset
1204 #define IKsPropertySet_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1205 #define IKsPropertySet_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1206 #define IKsPropertySet_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1207
Ritor1
parents:
diff changeset
1208 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1209 #define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->lpVtbl->Get(p,a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
1210 #define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->lpVtbl->Set(p,a,b,c,d,e,f)
Ritor1
parents:
diff changeset
1211 #define IKsPropertySet_QuerySupport(p,a,b,c) (p)->lpVtbl->QuerySupport(p,a,b,c)
Ritor1
parents:
diff changeset
1212 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1213 #define IKsPropertySet_Get(p,a,b,c,d,e,f,g) (p)->Get(a,b,c,d,e,f,g)
Ritor1
parents:
diff changeset
1214 #define IKsPropertySet_Set(p,a,b,c,d,e,f) (p)->Set(a,b,c,d,e,f)
Ritor1
parents:
diff changeset
1215 #define IKsPropertySet_QuerySupport(p,a,b,c) (p)->QuerySupport(a,b,c)
Ritor1
parents:
diff changeset
1216 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1217
Ritor1
parents:
diff changeset
1218 #endif // _IKsPropertySet_
Ritor1
parents:
diff changeset
1219
Ritor1
parents:
diff changeset
1220 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
1221
Ritor1
parents:
diff changeset
1222 //
Ritor1
parents:
diff changeset
1223 // IDirectSoundFXGargle
Ritor1
parents:
diff changeset
1224 //
Ritor1
parents:
diff changeset
1225
Ritor1
parents:
diff changeset
1226 DEFINE_GUID(IID_IDirectSoundFXGargle, 0xd616f352, 0xd622, 0x11ce, 0xaa, 0xc5, 0x00, 0x20, 0xaf, 0x0b, 0x99, 0xa3);
Ritor1
parents:
diff changeset
1227
Ritor1
parents:
diff changeset
1228 typedef struct _DSFXGargle
Ritor1
parents:
diff changeset
1229 {
Ritor1
parents:
diff changeset
1230 DWORD dwRateHz; // Rate of modulation in hz
Ritor1
parents:
diff changeset
1231 DWORD dwWaveShape; // DSFXGARGLE_WAVE_xxx
Ritor1
parents:
diff changeset
1232 } DSFXGargle, *LPDSFXGargle;
Ritor1
parents:
diff changeset
1233
Ritor1
parents:
diff changeset
1234 #define DSFXGARGLE_WAVE_TRIANGLE 0
Ritor1
parents:
diff changeset
1235 #define DSFXGARGLE_WAVE_SQUARE 1
Ritor1
parents:
diff changeset
1236
Ritor1
parents:
diff changeset
1237 typedef const DSFXGargle *LPCDSFXGargle;
Ritor1
parents:
diff changeset
1238
Ritor1
parents:
diff changeset
1239 #define DSFXGARGLE_RATEHZ_MIN 1
Ritor1
parents:
diff changeset
1240 #define DSFXGARGLE_RATEHZ_MAX 1000
Ritor1
parents:
diff changeset
1241
Ritor1
parents:
diff changeset
1242 #undef INTERFACE
Ritor1
parents:
diff changeset
1243 #define INTERFACE IDirectSoundFXGargle
Ritor1
parents:
diff changeset
1244
Ritor1
parents:
diff changeset
1245 DECLARE_INTERFACE_(IDirectSoundFXGargle, IUnknown)
Ritor1
parents:
diff changeset
1246 {
Ritor1
parents:
diff changeset
1247 // IUnknown methods
Ritor1
parents:
diff changeset
1248 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1249 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1250 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1251
Ritor1
parents:
diff changeset
1252 // IDirectSoundFXGargle methods
Ritor1
parents:
diff changeset
1253 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXGargle pcDsFxGargle) PURE;
Ritor1
parents:
diff changeset
1254 STDMETHOD(GetAllParameters) (THIS_ LPDSFXGargle pDsFxGargle) PURE;
Ritor1
parents:
diff changeset
1255 };
Ritor1
parents:
diff changeset
1256
Ritor1
parents:
diff changeset
1257 #define IDirectSoundFXGargle_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1258 #define IDirectSoundFXGargle_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1259 #define IDirectSoundFXGargle_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1260
Ritor1
parents:
diff changeset
1261 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1262 #define IDirectSoundFXGargle_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1263 #define IDirectSoundFXGargle_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1264 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1265 #define IDirectSoundFXGargle_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1266 #define IDirectSoundFXGargle_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1267 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1268
Ritor1
parents:
diff changeset
1269 //
Ritor1
parents:
diff changeset
1270 // IDirectSoundFXChorus
Ritor1
parents:
diff changeset
1271 //
Ritor1
parents:
diff changeset
1272
Ritor1
parents:
diff changeset
1273 DEFINE_GUID(IID_IDirectSoundFXChorus, 0x880842e3, 0x145f, 0x43e6, 0xa9, 0x34, 0xa7, 0x18, 0x06, 0xe5, 0x05, 0x47);
Ritor1
parents:
diff changeset
1274
Ritor1
parents:
diff changeset
1275 typedef struct _DSFXChorus
Ritor1
parents:
diff changeset
1276 {
Ritor1
parents:
diff changeset
1277 FLOAT fWetDryMix;
Ritor1
parents:
diff changeset
1278 FLOAT fDepth;
Ritor1
parents:
diff changeset
1279 FLOAT fFeedback;
Ritor1
parents:
diff changeset
1280 FLOAT fFrequency;
Ritor1
parents:
diff changeset
1281 LONG lWaveform; // LFO shape; DSFXCHORUS_WAVE_xxx
Ritor1
parents:
diff changeset
1282 FLOAT fDelay;
Ritor1
parents:
diff changeset
1283 LONG lPhase;
Ritor1
parents:
diff changeset
1284 } DSFXChorus, *LPDSFXChorus;
Ritor1
parents:
diff changeset
1285
Ritor1
parents:
diff changeset
1286 typedef const DSFXChorus *LPCDSFXChorus;
Ritor1
parents:
diff changeset
1287
Ritor1
parents:
diff changeset
1288 #define DSFXCHORUS_WAVE_TRIANGLE 0
Ritor1
parents:
diff changeset
1289 #define DSFXCHORUS_WAVE_SIN 1
Ritor1
parents:
diff changeset
1290
Ritor1
parents:
diff changeset
1291 #define DSFXCHORUS_WETDRYMIX_MIN 0.0f
Ritor1
parents:
diff changeset
1292 #define DSFXCHORUS_WETDRYMIX_MAX 100.0f
Ritor1
parents:
diff changeset
1293 #define DSFXCHORUS_DEPTH_MIN 0.0f
Ritor1
parents:
diff changeset
1294 #define DSFXCHORUS_DEPTH_MAX 100.0f
Ritor1
parents:
diff changeset
1295 #define DSFXCHORUS_FEEDBACK_MIN -99.0f
Ritor1
parents:
diff changeset
1296 #define DSFXCHORUS_FEEDBACK_MAX 99.0f
Ritor1
parents:
diff changeset
1297 #define DSFXCHORUS_FREQUENCY_MIN 0.0f
Ritor1
parents:
diff changeset
1298 #define DSFXCHORUS_FREQUENCY_MAX 10.0f
Ritor1
parents:
diff changeset
1299 #define DSFXCHORUS_DELAY_MIN 0.0f
Ritor1
parents:
diff changeset
1300 #define DSFXCHORUS_DELAY_MAX 20.0f
Ritor1
parents:
diff changeset
1301 #define DSFXCHORUS_PHASE_MIN 0
Ritor1
parents:
diff changeset
1302 #define DSFXCHORUS_PHASE_MAX 4
Ritor1
parents:
diff changeset
1303
Ritor1
parents:
diff changeset
1304 #define DSFXCHORUS_PHASE_NEG_180 0
Ritor1
parents:
diff changeset
1305 #define DSFXCHORUS_PHASE_NEG_90 1
Ritor1
parents:
diff changeset
1306 #define DSFXCHORUS_PHASE_ZERO 2
Ritor1
parents:
diff changeset
1307 #define DSFXCHORUS_PHASE_90 3
Ritor1
parents:
diff changeset
1308 #define DSFXCHORUS_PHASE_180 4
Ritor1
parents:
diff changeset
1309
Ritor1
parents:
diff changeset
1310 #undef INTERFACE
Ritor1
parents:
diff changeset
1311 #define INTERFACE IDirectSoundFXChorus
Ritor1
parents:
diff changeset
1312
Ritor1
parents:
diff changeset
1313 DECLARE_INTERFACE_(IDirectSoundFXChorus, IUnknown)
Ritor1
parents:
diff changeset
1314 {
Ritor1
parents:
diff changeset
1315 // IUnknown methods
Ritor1
parents:
diff changeset
1316 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1317 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1318 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1319
Ritor1
parents:
diff changeset
1320 // IDirectSoundFXChorus methods
Ritor1
parents:
diff changeset
1321 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXChorus pcDsFxChorus) PURE;
Ritor1
parents:
diff changeset
1322 STDMETHOD(GetAllParameters) (THIS_ LPDSFXChorus pDsFxChorus) PURE;
Ritor1
parents:
diff changeset
1323 };
Ritor1
parents:
diff changeset
1324
Ritor1
parents:
diff changeset
1325 #define IDirectSoundFXChorus_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1326 #define IDirectSoundFXChorus_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1327 #define IDirectSoundFXChorus_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1328
Ritor1
parents:
diff changeset
1329 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1330 #define IDirectSoundFXChorus_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1331 #define IDirectSoundFXChorus_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1332 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1333 #define IDirectSoundFXChorus_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1334 #define IDirectSoundFXChorus_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1335 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1336
Ritor1
parents:
diff changeset
1337 //
Ritor1
parents:
diff changeset
1338 // IDirectSoundFXFlanger
Ritor1
parents:
diff changeset
1339 //
Ritor1
parents:
diff changeset
1340
Ritor1
parents:
diff changeset
1341 DEFINE_GUID(IID_IDirectSoundFXFlanger, 0x903e9878, 0x2c92, 0x4072, 0x9b, 0x2c, 0xea, 0x68, 0xf5, 0x39, 0x67, 0x83);
Ritor1
parents:
diff changeset
1342
Ritor1
parents:
diff changeset
1343 typedef struct _DSFXFlanger
Ritor1
parents:
diff changeset
1344 {
Ritor1
parents:
diff changeset
1345 FLOAT fWetDryMix;
Ritor1
parents:
diff changeset
1346 FLOAT fDepth;
Ritor1
parents:
diff changeset
1347 FLOAT fFeedback;
Ritor1
parents:
diff changeset
1348 FLOAT fFrequency;
Ritor1
parents:
diff changeset
1349 LONG lWaveform;
Ritor1
parents:
diff changeset
1350 FLOAT fDelay;
Ritor1
parents:
diff changeset
1351 LONG lPhase;
Ritor1
parents:
diff changeset
1352 } DSFXFlanger, *LPDSFXFlanger;
Ritor1
parents:
diff changeset
1353
Ritor1
parents:
diff changeset
1354 typedef const DSFXFlanger *LPCDSFXFlanger;
Ritor1
parents:
diff changeset
1355
Ritor1
parents:
diff changeset
1356 #define DSFXFLANGER_WAVE_TRIANGLE 0
Ritor1
parents:
diff changeset
1357 #define DSFXFLANGER_WAVE_SIN 1
Ritor1
parents:
diff changeset
1358
Ritor1
parents:
diff changeset
1359 #define DSFXFLANGER_WETDRYMIX_MIN 0.0f
Ritor1
parents:
diff changeset
1360 #define DSFXFLANGER_WETDRYMIX_MAX 100.0f
Ritor1
parents:
diff changeset
1361 #define DSFXFLANGER_FREQUENCY_MIN 0.0f
Ritor1
parents:
diff changeset
1362 #define DSFXFLANGER_FREQUENCY_MAX 10.0f
Ritor1
parents:
diff changeset
1363 #define DSFXFLANGER_DEPTH_MIN 0.0f
Ritor1
parents:
diff changeset
1364 #define DSFXFLANGER_DEPTH_MAX 100.0f
Ritor1
parents:
diff changeset
1365 #define DSFXFLANGER_PHASE_MIN 0
Ritor1
parents:
diff changeset
1366 #define DSFXFLANGER_PHASE_MAX 4
Ritor1
parents:
diff changeset
1367 #define DSFXFLANGER_FEEDBACK_MIN -99.0f
Ritor1
parents:
diff changeset
1368 #define DSFXFLANGER_FEEDBACK_MAX 99.0f
Ritor1
parents:
diff changeset
1369 #define DSFXFLANGER_DELAY_MIN 0.0f
Ritor1
parents:
diff changeset
1370 #define DSFXFLANGER_DELAY_MAX 4.0f
Ritor1
parents:
diff changeset
1371
Ritor1
parents:
diff changeset
1372 #define DSFXFLANGER_PHASE_NEG_180 0
Ritor1
parents:
diff changeset
1373 #define DSFXFLANGER_PHASE_NEG_90 1
Ritor1
parents:
diff changeset
1374 #define DSFXFLANGER_PHASE_ZERO 2
Ritor1
parents:
diff changeset
1375 #define DSFXFLANGER_PHASE_90 3
Ritor1
parents:
diff changeset
1376 #define DSFXFLANGER_PHASE_180 4
Ritor1
parents:
diff changeset
1377
Ritor1
parents:
diff changeset
1378 #undef INTERFACE
Ritor1
parents:
diff changeset
1379 #define INTERFACE IDirectSoundFXFlanger
Ritor1
parents:
diff changeset
1380
Ritor1
parents:
diff changeset
1381 DECLARE_INTERFACE_(IDirectSoundFXFlanger, IUnknown)
Ritor1
parents:
diff changeset
1382 {
Ritor1
parents:
diff changeset
1383 // IUnknown methods
Ritor1
parents:
diff changeset
1384 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1385 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1386 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1387
Ritor1
parents:
diff changeset
1388 // IDirectSoundFXFlanger methods
Ritor1
parents:
diff changeset
1389 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXFlanger pcDsFxFlanger) PURE;
Ritor1
parents:
diff changeset
1390 STDMETHOD(GetAllParameters) (THIS_ LPDSFXFlanger pDsFxFlanger) PURE;
Ritor1
parents:
diff changeset
1391 };
Ritor1
parents:
diff changeset
1392
Ritor1
parents:
diff changeset
1393 #define IDirectSoundFXFlanger_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1394 #define IDirectSoundFXFlanger_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1395 #define IDirectSoundFXFlanger_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1396
Ritor1
parents:
diff changeset
1397 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1398 #define IDirectSoundFXFlanger_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1399 #define IDirectSoundFXFlanger_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1400 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1401 #define IDirectSoundFXFlanger_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1402 #define IDirectSoundFXFlanger_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1403 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1404
Ritor1
parents:
diff changeset
1405 //
Ritor1
parents:
diff changeset
1406 // IDirectSoundFXEcho
Ritor1
parents:
diff changeset
1407 //
Ritor1
parents:
diff changeset
1408
Ritor1
parents:
diff changeset
1409 DEFINE_GUID(IID_IDirectSoundFXEcho, 0x8bd28edf, 0x50db, 0x4e92, 0xa2, 0xbd, 0x44, 0x54, 0x88, 0xd1, 0xed, 0x42);
Ritor1
parents:
diff changeset
1410
Ritor1
parents:
diff changeset
1411 typedef struct _DSFXEcho
Ritor1
parents:
diff changeset
1412 {
Ritor1
parents:
diff changeset
1413 FLOAT fWetDryMix;
Ritor1
parents:
diff changeset
1414 FLOAT fFeedback;
Ritor1
parents:
diff changeset
1415 FLOAT fLeftDelay;
Ritor1
parents:
diff changeset
1416 FLOAT fRightDelay;
Ritor1
parents:
diff changeset
1417 LONG lPanDelay;
Ritor1
parents:
diff changeset
1418 } DSFXEcho, *LPDSFXEcho;
Ritor1
parents:
diff changeset
1419
Ritor1
parents:
diff changeset
1420 typedef const DSFXEcho *LPCDSFXEcho;
Ritor1
parents:
diff changeset
1421
Ritor1
parents:
diff changeset
1422 #define DSFXECHO_WETDRYMIX_MIN 0.0f
Ritor1
parents:
diff changeset
1423 #define DSFXECHO_WETDRYMIX_MAX 100.0f
Ritor1
parents:
diff changeset
1424 #define DSFXECHO_FEEDBACK_MIN 0.0f
Ritor1
parents:
diff changeset
1425 #define DSFXECHO_FEEDBACK_MAX 100.0f
Ritor1
parents:
diff changeset
1426 #define DSFXECHO_LEFTDELAY_MIN 1.0f
Ritor1
parents:
diff changeset
1427 #define DSFXECHO_LEFTDELAY_MAX 2000.0f
Ritor1
parents:
diff changeset
1428 #define DSFXECHO_RIGHTDELAY_MIN 1.0f
Ritor1
parents:
diff changeset
1429 #define DSFXECHO_RIGHTDELAY_MAX 2000.0f
Ritor1
parents:
diff changeset
1430 #define DSFXECHO_PANDELAY_MIN 0
Ritor1
parents:
diff changeset
1431 #define DSFXECHO_PANDELAY_MAX 1
Ritor1
parents:
diff changeset
1432
Ritor1
parents:
diff changeset
1433 #undef INTERFACE
Ritor1
parents:
diff changeset
1434 #define INTERFACE IDirectSoundFXEcho
Ritor1
parents:
diff changeset
1435
Ritor1
parents:
diff changeset
1436 DECLARE_INTERFACE_(IDirectSoundFXEcho, IUnknown)
Ritor1
parents:
diff changeset
1437 {
Ritor1
parents:
diff changeset
1438 // IUnknown methods
Ritor1
parents:
diff changeset
1439 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1440 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1441 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1442
Ritor1
parents:
diff changeset
1443 // IDirectSoundFXEcho methods
Ritor1
parents:
diff changeset
1444 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXEcho pcDsFxEcho) PURE;
Ritor1
parents:
diff changeset
1445 STDMETHOD(GetAllParameters) (THIS_ LPDSFXEcho pDsFxEcho) PURE;
Ritor1
parents:
diff changeset
1446 };
Ritor1
parents:
diff changeset
1447
Ritor1
parents:
diff changeset
1448 #define IDirectSoundFXEcho_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1449 #define IDirectSoundFXEcho_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1450 #define IDirectSoundFXEcho_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1451
Ritor1
parents:
diff changeset
1452 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1453 #define IDirectSoundFXEcho_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1454 #define IDirectSoundFXEcho_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1455 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1456 #define IDirectSoundFXEcho_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1457 #define IDirectSoundFXEcho_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1458 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1459
Ritor1
parents:
diff changeset
1460 //
Ritor1
parents:
diff changeset
1461 // IDirectSoundFXDistortion
Ritor1
parents:
diff changeset
1462 //
Ritor1
parents:
diff changeset
1463
Ritor1
parents:
diff changeset
1464 DEFINE_GUID(IID_IDirectSoundFXDistortion, 0x8ecf4326, 0x455f, 0x4d8b, 0xbd, 0xa9, 0x8d, 0x5d, 0x3e, 0x9e, 0x3e, 0x0b);
Ritor1
parents:
diff changeset
1465
Ritor1
parents:
diff changeset
1466 typedef struct _DSFXDistortion
Ritor1
parents:
diff changeset
1467 {
Ritor1
parents:
diff changeset
1468 FLOAT fGain;
Ritor1
parents:
diff changeset
1469 FLOAT fEdge;
Ritor1
parents:
diff changeset
1470 FLOAT fPostEQCenterFrequency;
Ritor1
parents:
diff changeset
1471 FLOAT fPostEQBandwidth;
Ritor1
parents:
diff changeset
1472 FLOAT fPreLowpassCutoff;
Ritor1
parents:
diff changeset
1473 } DSFXDistortion, *LPDSFXDistortion;
Ritor1
parents:
diff changeset
1474
Ritor1
parents:
diff changeset
1475 typedef const DSFXDistortion *LPCDSFXDistortion;
Ritor1
parents:
diff changeset
1476
Ritor1
parents:
diff changeset
1477 #define DSFXDISTORTION_GAIN_MIN -60.0f
Ritor1
parents:
diff changeset
1478 #define DSFXDISTORTION_GAIN_MAX 0.0f
Ritor1
parents:
diff changeset
1479 #define DSFXDISTORTION_EDGE_MIN 0.0f
Ritor1
parents:
diff changeset
1480 #define DSFXDISTORTION_EDGE_MAX 100.0f
Ritor1
parents:
diff changeset
1481 #define DSFXDISTORTION_POSTEQCENTERFREQUENCY_MIN 100.0f
Ritor1
parents:
diff changeset
1482 #define DSFXDISTORTION_POSTEQCENTERFREQUENCY_MAX 8000.0f
Ritor1
parents:
diff changeset
1483 #define DSFXDISTORTION_POSTEQBANDWIDTH_MIN 100.0f
Ritor1
parents:
diff changeset
1484 #define DSFXDISTORTION_POSTEQBANDWIDTH_MAX 8000.0f
Ritor1
parents:
diff changeset
1485 #define DSFXDISTORTION_PRELOWPASSCUTOFF_MIN 100.0f
Ritor1
parents:
diff changeset
1486 #define DSFXDISTORTION_PRELOWPASSCUTOFF_MAX 8000.0f
Ritor1
parents:
diff changeset
1487
Ritor1
parents:
diff changeset
1488 #undef INTERFACE
Ritor1
parents:
diff changeset
1489 #define INTERFACE IDirectSoundFXDistortion
Ritor1
parents:
diff changeset
1490
Ritor1
parents:
diff changeset
1491 DECLARE_INTERFACE_(IDirectSoundFXDistortion, IUnknown)
Ritor1
parents:
diff changeset
1492 {
Ritor1
parents:
diff changeset
1493 // IUnknown methods
Ritor1
parents:
diff changeset
1494 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1495 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1496 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1497
Ritor1
parents:
diff changeset
1498 // IDirectSoundFXDistortion methods
Ritor1
parents:
diff changeset
1499 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXDistortion pcDsFxDistortion) PURE;
Ritor1
parents:
diff changeset
1500 STDMETHOD(GetAllParameters) (THIS_ LPDSFXDistortion pDsFxDistortion) PURE;
Ritor1
parents:
diff changeset
1501 };
Ritor1
parents:
diff changeset
1502
Ritor1
parents:
diff changeset
1503 #define IDirectSoundFXDistortion_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1504 #define IDirectSoundFXDistortion_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1505 #define IDirectSoundFXDistortion_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1506
Ritor1
parents:
diff changeset
1507 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1508 #define IDirectSoundFXDistortion_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1509 #define IDirectSoundFXDistortion_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1510 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1511 #define IDirectSoundFXDistortion_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1512 #define IDirectSoundFXDistortion_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1513 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1514
Ritor1
parents:
diff changeset
1515 //
Ritor1
parents:
diff changeset
1516 // IDirectSoundFXCompressor
Ritor1
parents:
diff changeset
1517 //
Ritor1
parents:
diff changeset
1518
Ritor1
parents:
diff changeset
1519 DEFINE_GUID(IID_IDirectSoundFXCompressor, 0x4bbd1154, 0x62f6, 0x4e2c, 0xa1, 0x5c, 0xd3, 0xb6, 0xc4, 0x17, 0xf7, 0xa0);
Ritor1
parents:
diff changeset
1520
Ritor1
parents:
diff changeset
1521 typedef struct _DSFXCompressor
Ritor1
parents:
diff changeset
1522 {
Ritor1
parents:
diff changeset
1523 FLOAT fGain;
Ritor1
parents:
diff changeset
1524 FLOAT fAttack;
Ritor1
parents:
diff changeset
1525 FLOAT fRelease;
Ritor1
parents:
diff changeset
1526 FLOAT fThreshold;
Ritor1
parents:
diff changeset
1527 FLOAT fRatio;
Ritor1
parents:
diff changeset
1528 FLOAT fPredelay;
Ritor1
parents:
diff changeset
1529 } DSFXCompressor, *LPDSFXCompressor;
Ritor1
parents:
diff changeset
1530
Ritor1
parents:
diff changeset
1531 typedef const DSFXCompressor *LPCDSFXCompressor;
Ritor1
parents:
diff changeset
1532
Ritor1
parents:
diff changeset
1533 #define DSFXCOMPRESSOR_GAIN_MIN -60.0f
Ritor1
parents:
diff changeset
1534 #define DSFXCOMPRESSOR_GAIN_MAX 60.0f
Ritor1
parents:
diff changeset
1535 #define DSFXCOMPRESSOR_ATTACK_MIN 0.01f
Ritor1
parents:
diff changeset
1536 #define DSFXCOMPRESSOR_ATTACK_MAX 500.0f
Ritor1
parents:
diff changeset
1537 #define DSFXCOMPRESSOR_RELEASE_MIN 50.0f
Ritor1
parents:
diff changeset
1538 #define DSFXCOMPRESSOR_RELEASE_MAX 3000.0f
Ritor1
parents:
diff changeset
1539 #define DSFXCOMPRESSOR_THRESHOLD_MIN -60.0f
Ritor1
parents:
diff changeset
1540 #define DSFXCOMPRESSOR_THRESHOLD_MAX 0.0f
Ritor1
parents:
diff changeset
1541 #define DSFXCOMPRESSOR_RATIO_MIN 1.0f
Ritor1
parents:
diff changeset
1542 #define DSFXCOMPRESSOR_RATIO_MAX 100.0f
Ritor1
parents:
diff changeset
1543 #define DSFXCOMPRESSOR_PREDELAY_MIN 0.0f
Ritor1
parents:
diff changeset
1544 #define DSFXCOMPRESSOR_PREDELAY_MAX 4.0f
Ritor1
parents:
diff changeset
1545
Ritor1
parents:
diff changeset
1546 #undef INTERFACE
Ritor1
parents:
diff changeset
1547 #define INTERFACE IDirectSoundFXCompressor
Ritor1
parents:
diff changeset
1548
Ritor1
parents:
diff changeset
1549 DECLARE_INTERFACE_(IDirectSoundFXCompressor, IUnknown)
Ritor1
parents:
diff changeset
1550 {
Ritor1
parents:
diff changeset
1551 // IUnknown methods
Ritor1
parents:
diff changeset
1552 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1553 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1554 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1555
Ritor1
parents:
diff changeset
1556 // IDirectSoundFXCompressor methods
Ritor1
parents:
diff changeset
1557 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXCompressor pcDsFxCompressor) PURE;
Ritor1
parents:
diff changeset
1558 STDMETHOD(GetAllParameters) (THIS_ LPDSFXCompressor pDsFxCompressor) PURE;
Ritor1
parents:
diff changeset
1559 };
Ritor1
parents:
diff changeset
1560
Ritor1
parents:
diff changeset
1561 #define IDirectSoundFXCompressor_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1562 #define IDirectSoundFXCompressor_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1563 #define IDirectSoundFXCompressor_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1564
Ritor1
parents:
diff changeset
1565 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1566 #define IDirectSoundFXCompressor_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1567 #define IDirectSoundFXCompressor_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1568 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1569 #define IDirectSoundFXCompressor_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1570 #define IDirectSoundFXCompressor_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1571 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1572
Ritor1
parents:
diff changeset
1573 //
Ritor1
parents:
diff changeset
1574 // IDirectSoundFXParamEq
Ritor1
parents:
diff changeset
1575 //
Ritor1
parents:
diff changeset
1576
Ritor1
parents:
diff changeset
1577 DEFINE_GUID(IID_IDirectSoundFXParamEq, 0xc03ca9fe, 0xfe90, 0x4204, 0x80, 0x78, 0x82, 0x33, 0x4c, 0xd1, 0x77, 0xda);
Ritor1
parents:
diff changeset
1578
Ritor1
parents:
diff changeset
1579 typedef struct _DSFXParamEq
Ritor1
parents:
diff changeset
1580 {
Ritor1
parents:
diff changeset
1581 FLOAT fCenter;
Ritor1
parents:
diff changeset
1582 FLOAT fBandwidth;
Ritor1
parents:
diff changeset
1583 FLOAT fGain;
Ritor1
parents:
diff changeset
1584 } DSFXParamEq, *LPDSFXParamEq;
Ritor1
parents:
diff changeset
1585
Ritor1
parents:
diff changeset
1586 typedef const DSFXParamEq *LPCDSFXParamEq;
Ritor1
parents:
diff changeset
1587
Ritor1
parents:
diff changeset
1588 #define DSFXPARAMEQ_CENTER_MIN 80.0f
Ritor1
parents:
diff changeset
1589 #define DSFXPARAMEQ_CENTER_MAX 16000.0f
Ritor1
parents:
diff changeset
1590 #define DSFXPARAMEQ_BANDWIDTH_MIN 1.0f
Ritor1
parents:
diff changeset
1591 #define DSFXPARAMEQ_BANDWIDTH_MAX 36.0f
Ritor1
parents:
diff changeset
1592 #define DSFXPARAMEQ_GAIN_MIN -15.0f
Ritor1
parents:
diff changeset
1593 #define DSFXPARAMEQ_GAIN_MAX 15.0f
Ritor1
parents:
diff changeset
1594
Ritor1
parents:
diff changeset
1595 #undef INTERFACE
Ritor1
parents:
diff changeset
1596 #define INTERFACE IDirectSoundFXParamEq
Ritor1
parents:
diff changeset
1597
Ritor1
parents:
diff changeset
1598 DECLARE_INTERFACE_(IDirectSoundFXParamEq, IUnknown)
Ritor1
parents:
diff changeset
1599 {
Ritor1
parents:
diff changeset
1600 // IUnknown methods
Ritor1
parents:
diff changeset
1601 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1602 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1603 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1604
Ritor1
parents:
diff changeset
1605 // IDirectSoundFXParamEq methods
Ritor1
parents:
diff changeset
1606 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXParamEq pcDsFxParamEq) PURE;
Ritor1
parents:
diff changeset
1607 STDMETHOD(GetAllParameters) (THIS_ LPDSFXParamEq pDsFxParamEq) PURE;
Ritor1
parents:
diff changeset
1608 };
Ritor1
parents:
diff changeset
1609
Ritor1
parents:
diff changeset
1610 #define IDirectSoundFXParamEq_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1611 #define IDirectSoundFXParamEq_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1612 #define IDirectSoundFXParamEq_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1613
Ritor1
parents:
diff changeset
1614 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1615 #define IDirectSoundFXParamEq_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1616 #define IDirectSoundFXParamEq_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1617 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1618 #define IDirectSoundFXParamEq_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1619 #define IDirectSoundFXParamEq_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1620 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1621
Ritor1
parents:
diff changeset
1622 //
Ritor1
parents:
diff changeset
1623 // IDirectSoundFXI3DL2Reverb
Ritor1
parents:
diff changeset
1624 //
Ritor1
parents:
diff changeset
1625
Ritor1
parents:
diff changeset
1626 DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb, 0x4b166a6a, 0x0d66, 0x43f3, 0x80, 0xe3, 0xee, 0x62, 0x80, 0xde, 0xe1, 0xa4);
Ritor1
parents:
diff changeset
1627
Ritor1
parents:
diff changeset
1628 typedef struct _DSFXI3DL2Reverb
Ritor1
parents:
diff changeset
1629 {
Ritor1
parents:
diff changeset
1630 LONG lRoom; // [-10000, 0] default: -1000 mB
Ritor1
parents:
diff changeset
1631 LONG lRoomHF; // [-10000, 0] default: 0 mB
Ritor1
parents:
diff changeset
1632 FLOAT flRoomRolloffFactor; // [0.0, 10.0] default: 0.0
Ritor1
parents:
diff changeset
1633 FLOAT flDecayTime; // [0.1, 20.0] default: 1.49s
Ritor1
parents:
diff changeset
1634 FLOAT flDecayHFRatio; // [0.1, 2.0] default: 0.83
Ritor1
parents:
diff changeset
1635 LONG lReflections; // [-10000, 1000] default: -2602 mB
Ritor1
parents:
diff changeset
1636 FLOAT flReflectionsDelay; // [0.0, 0.3] default: 0.007 s
Ritor1
parents:
diff changeset
1637 LONG lReverb; // [-10000, 2000] default: 200 mB
Ritor1
parents:
diff changeset
1638 FLOAT flReverbDelay; // [0.0, 0.1] default: 0.011 s
Ritor1
parents:
diff changeset
1639 FLOAT flDiffusion; // [0.0, 100.0] default: 100.0 %
Ritor1
parents:
diff changeset
1640 FLOAT flDensity; // [0.0, 100.0] default: 100.0 %
Ritor1
parents:
diff changeset
1641 FLOAT flHFReference; // [20.0, 20000.0] default: 5000.0 Hz
Ritor1
parents:
diff changeset
1642 } DSFXI3DL2Reverb, *LPDSFXI3DL2Reverb;
Ritor1
parents:
diff changeset
1643
Ritor1
parents:
diff changeset
1644 typedef const DSFXI3DL2Reverb *LPCDSFXI3DL2Reverb;
Ritor1
parents:
diff changeset
1645
Ritor1
parents:
diff changeset
1646 #define DSFX_I3DL2REVERB_ROOM_MIN (-10000)
Ritor1
parents:
diff changeset
1647 #define DSFX_I3DL2REVERB_ROOM_MAX 0
Ritor1
parents:
diff changeset
1648 #define DSFX_I3DL2REVERB_ROOM_DEFAULT (-1000)
Ritor1
parents:
diff changeset
1649
Ritor1
parents:
diff changeset
1650 #define DSFX_I3DL2REVERB_ROOMHF_MIN (-10000)
Ritor1
parents:
diff changeset
1651 #define DSFX_I3DL2REVERB_ROOMHF_MAX 0
Ritor1
parents:
diff changeset
1652 #define DSFX_I3DL2REVERB_ROOMHF_DEFAULT (-100)
Ritor1
parents:
diff changeset
1653
Ritor1
parents:
diff changeset
1654 #define DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MIN 0.0f
Ritor1
parents:
diff changeset
1655 #define DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_MAX 10.0f
Ritor1
parents:
diff changeset
1656 #define DSFX_I3DL2REVERB_ROOMROLLOFFFACTOR_DEFAULT 0.0f
Ritor1
parents:
diff changeset
1657
Ritor1
parents:
diff changeset
1658 #define DSFX_I3DL2REVERB_DECAYTIME_MIN 0.1f
Ritor1
parents:
diff changeset
1659 #define DSFX_I3DL2REVERB_DECAYTIME_MAX 20.0f
Ritor1
parents:
diff changeset
1660 #define DSFX_I3DL2REVERB_DECAYTIME_DEFAULT 1.49f
Ritor1
parents:
diff changeset
1661
Ritor1
parents:
diff changeset
1662 #define DSFX_I3DL2REVERB_DECAYHFRATIO_MIN 0.1f
Ritor1
parents:
diff changeset
1663 #define DSFX_I3DL2REVERB_DECAYHFRATIO_MAX 2.0f
Ritor1
parents:
diff changeset
1664 #define DSFX_I3DL2REVERB_DECAYHFRATIO_DEFAULT 0.83f
Ritor1
parents:
diff changeset
1665
Ritor1
parents:
diff changeset
1666 #define DSFX_I3DL2REVERB_REFLECTIONS_MIN (-10000)
Ritor1
parents:
diff changeset
1667 #define DSFX_I3DL2REVERB_REFLECTIONS_MAX 1000
Ritor1
parents:
diff changeset
1668 #define DSFX_I3DL2REVERB_REFLECTIONS_DEFAULT (-2602)
Ritor1
parents:
diff changeset
1669
Ritor1
parents:
diff changeset
1670 #define DSFX_I3DL2REVERB_REFLECTIONSDELAY_MIN 0.0f
Ritor1
parents:
diff changeset
1671 #define DSFX_I3DL2REVERB_REFLECTIONSDELAY_MAX 0.3f
Ritor1
parents:
diff changeset
1672 #define DSFX_I3DL2REVERB_REFLECTIONSDELAY_DEFAULT 0.007f
Ritor1
parents:
diff changeset
1673
Ritor1
parents:
diff changeset
1674 #define DSFX_I3DL2REVERB_REVERB_MIN (-10000)
Ritor1
parents:
diff changeset
1675 #define DSFX_I3DL2REVERB_REVERB_MAX 2000
Ritor1
parents:
diff changeset
1676 #define DSFX_I3DL2REVERB_REVERB_DEFAULT (200)
Ritor1
parents:
diff changeset
1677
Ritor1
parents:
diff changeset
1678 #define DSFX_I3DL2REVERB_REVERBDELAY_MIN 0.0f
Ritor1
parents:
diff changeset
1679 #define DSFX_I3DL2REVERB_REVERBDELAY_MAX 0.1f
Ritor1
parents:
diff changeset
1680 #define DSFX_I3DL2REVERB_REVERBDELAY_DEFAULT 0.011f
Ritor1
parents:
diff changeset
1681
Ritor1
parents:
diff changeset
1682 #define DSFX_I3DL2REVERB_DIFFUSION_MIN 0.0f
Ritor1
parents:
diff changeset
1683 #define DSFX_I3DL2REVERB_DIFFUSION_MAX 100.0f
Ritor1
parents:
diff changeset
1684 #define DSFX_I3DL2REVERB_DIFFUSION_DEFAULT 100.0f
Ritor1
parents:
diff changeset
1685
Ritor1
parents:
diff changeset
1686 #define DSFX_I3DL2REVERB_DENSITY_MIN 0.0f
Ritor1
parents:
diff changeset
1687 #define DSFX_I3DL2REVERB_DENSITY_MAX 100.0f
Ritor1
parents:
diff changeset
1688 #define DSFX_I3DL2REVERB_DENSITY_DEFAULT 100.0f
Ritor1
parents:
diff changeset
1689
Ritor1
parents:
diff changeset
1690 #define DSFX_I3DL2REVERB_HFREFERENCE_MIN 20.0f
Ritor1
parents:
diff changeset
1691 #define DSFX_I3DL2REVERB_HFREFERENCE_MAX 20000.0f
Ritor1
parents:
diff changeset
1692 #define DSFX_I3DL2REVERB_HFREFERENCE_DEFAULT 5000.0f
Ritor1
parents:
diff changeset
1693
Ritor1
parents:
diff changeset
1694 #define DSFX_I3DL2REVERB_QUALITY_MIN 0
Ritor1
parents:
diff changeset
1695 #define DSFX_I3DL2REVERB_QUALITY_MAX 3
Ritor1
parents:
diff changeset
1696 #define DSFX_I3DL2REVERB_QUALITY_DEFAULT 2
Ritor1
parents:
diff changeset
1697
Ritor1
parents:
diff changeset
1698 #undef INTERFACE
Ritor1
parents:
diff changeset
1699 #define INTERFACE IDirectSoundFXI3DL2Reverb
Ritor1
parents:
diff changeset
1700
Ritor1
parents:
diff changeset
1701 DECLARE_INTERFACE_(IDirectSoundFXI3DL2Reverb, IUnknown)
Ritor1
parents:
diff changeset
1702 {
Ritor1
parents:
diff changeset
1703 // IUnknown methods
Ritor1
parents:
diff changeset
1704 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1705 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1706 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1707
Ritor1
parents:
diff changeset
1708 // IDirectSoundFXI3DL2Reverb methods
Ritor1
parents:
diff changeset
1709 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXI3DL2Reverb pcDsFxI3DL2Reverb) PURE;
Ritor1
parents:
diff changeset
1710 STDMETHOD(GetAllParameters) (THIS_ LPDSFXI3DL2Reverb pDsFxI3DL2Reverb) PURE;
Ritor1
parents:
diff changeset
1711 STDMETHOD(SetPreset) (THIS_ DWORD dwPreset) PURE;
Ritor1
parents:
diff changeset
1712 STDMETHOD(GetPreset) (THIS_ LPDWORD pdwPreset) PURE;
Ritor1
parents:
diff changeset
1713 STDMETHOD(SetQuality) (THIS_ LONG lQuality) PURE;
Ritor1
parents:
diff changeset
1714 STDMETHOD(GetQuality) (THIS_ LONG *plQuality) PURE;
Ritor1
parents:
diff changeset
1715 };
Ritor1
parents:
diff changeset
1716
Ritor1
parents:
diff changeset
1717 #define IDirectSoundFXI3DL2Reverb_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1718 #define IDirectSoundFXI3DL2Reverb_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1719 #define IDirectSoundFXI3DL2Reverb_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1720
Ritor1
parents:
diff changeset
1721 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1722 #define IDirectSoundFXI3DL2Reverb_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1723 #define IDirectSoundFXI3DL2Reverb_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1724 #define IDirectSoundFXI3DL2Reverb_SetPreset(p,a) (p)->lpVtbl->SetPreset(p,a)
Ritor1
parents:
diff changeset
1725 #define IDirectSoundFXI3DL2Reverb_GetPreset(p,a) (p)->lpVtbl->GetPreset(p,a)
Ritor1
parents:
diff changeset
1726 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1727 #define IDirectSoundFXI3DL2Reverb_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1728 #define IDirectSoundFXI3DL2Reverb_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1729 #define IDirectSoundFXI3DL2Reverb_SetPreset(p,a) (p)->SetPreset(a)
Ritor1
parents:
diff changeset
1730 #define IDirectSoundFXI3DL2Reverb_GetPreset(p,a) (p)->GetPreset(a)
Ritor1
parents:
diff changeset
1731 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1732
Ritor1
parents:
diff changeset
1733 //
Ritor1
parents:
diff changeset
1734 // IDirectSoundFXWavesReverb
Ritor1
parents:
diff changeset
1735 //
Ritor1
parents:
diff changeset
1736
Ritor1
parents:
diff changeset
1737 DEFINE_GUID(IID_IDirectSoundFXWavesReverb,0x46858c3a,0x0dc6,0x45e3,0xb7,0x60,0xd4,0xee,0xf1,0x6c,0xb3,0x25);
Ritor1
parents:
diff changeset
1738
Ritor1
parents:
diff changeset
1739 typedef struct _DSFXWavesReverb
Ritor1
parents:
diff changeset
1740 {
Ritor1
parents:
diff changeset
1741 FLOAT fInGain; // [-96.0,0.0] default: 0.0 dB
Ritor1
parents:
diff changeset
1742 FLOAT fReverbMix; // [-96.0,0.0] default: 0.0 db
Ritor1
parents:
diff changeset
1743 FLOAT fReverbTime; // [0.001,3000.0] default: 1000.0 ms
Ritor1
parents:
diff changeset
1744 FLOAT fHighFreqRTRatio; // [0.001,0.999] default: 0.001
Ritor1
parents:
diff changeset
1745 } DSFXWavesReverb, *LPDSFXWavesReverb;
Ritor1
parents:
diff changeset
1746
Ritor1
parents:
diff changeset
1747 typedef const DSFXWavesReverb *LPCDSFXWavesReverb;
Ritor1
parents:
diff changeset
1748
Ritor1
parents:
diff changeset
1749 #define DSFX_WAVESREVERB_INGAIN_MIN -96.0f
Ritor1
parents:
diff changeset
1750 #define DSFX_WAVESREVERB_INGAIN_MAX 0.0f
Ritor1
parents:
diff changeset
1751 #define DSFX_WAVESREVERB_INGAIN_DEFAULT 0.0f
Ritor1
parents:
diff changeset
1752 #define DSFX_WAVESREVERB_REVERBMIX_MIN -96.0f
Ritor1
parents:
diff changeset
1753 #define DSFX_WAVESREVERB_REVERBMIX_MAX 0.0f
Ritor1
parents:
diff changeset
1754 #define DSFX_WAVESREVERB_REVERBMIX_DEFAULT 0.0f
Ritor1
parents:
diff changeset
1755 #define DSFX_WAVESREVERB_REVERBTIME_MIN 0.001f
Ritor1
parents:
diff changeset
1756 #define DSFX_WAVESREVERB_REVERBTIME_MAX 3000.0f
Ritor1
parents:
diff changeset
1757 #define DSFX_WAVESREVERB_REVERBTIME_DEFAULT 1000.0f
Ritor1
parents:
diff changeset
1758 #define DSFX_WAVESREVERB_HIGHFREQRTRATIO_MIN 0.001f
Ritor1
parents:
diff changeset
1759 #define DSFX_WAVESREVERB_HIGHFREQRTRATIO_MAX 0.999f
Ritor1
parents:
diff changeset
1760 #define DSFX_WAVESREVERB_HIGHFREQRTRATIO_DEFAULT 0.001f
Ritor1
parents:
diff changeset
1761
Ritor1
parents:
diff changeset
1762 #undef INTERFACE
Ritor1
parents:
diff changeset
1763 #define INTERFACE IDirectSoundFXWavesReverb
Ritor1
parents:
diff changeset
1764
Ritor1
parents:
diff changeset
1765 DECLARE_INTERFACE_(IDirectSoundFXWavesReverb, IUnknown)
Ritor1
parents:
diff changeset
1766 {
Ritor1
parents:
diff changeset
1767 // IUnknown methods
Ritor1
parents:
diff changeset
1768 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1769 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1770 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1771
Ritor1
parents:
diff changeset
1772 // IDirectSoundFXWavesReverb methods
Ritor1
parents:
diff changeset
1773 STDMETHOD(SetAllParameters) (THIS_ LPCDSFXWavesReverb pcDsFxWavesReverb) PURE;
Ritor1
parents:
diff changeset
1774 STDMETHOD(GetAllParameters) (THIS_ LPDSFXWavesReverb pDsFxWavesReverb) PURE;
Ritor1
parents:
diff changeset
1775 };
Ritor1
parents:
diff changeset
1776
Ritor1
parents:
diff changeset
1777 #define IDirectSoundFXWavesReverb_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1778 #define IDirectSoundFXWavesReverb_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1779 #define IDirectSoundFXWavesReverb_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1780
Ritor1
parents:
diff changeset
1781 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1782 #define IDirectSoundFXWavesReverb_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1783 #define IDirectSoundFXWavesReverb_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1784 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1785 #define IDirectSoundFXWavesReverb_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1786 #define IDirectSoundFXWavesReverb_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1787 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1788
Ritor1
parents:
diff changeset
1789 //
Ritor1
parents:
diff changeset
1790 // IDirectSoundCaptureFXAec
Ritor1
parents:
diff changeset
1791 //
Ritor1
parents:
diff changeset
1792
Ritor1
parents:
diff changeset
1793 DEFINE_GUID(IID_IDirectSoundCaptureFXAec, 0xad74143d, 0x903d, 0x4ab7, 0x80, 0x66, 0x28, 0xd3, 0x63, 0x03, 0x6d, 0x65);
Ritor1
parents:
diff changeset
1794
Ritor1
parents:
diff changeset
1795 typedef struct _DSCFXAec
Ritor1
parents:
diff changeset
1796 {
Ritor1
parents:
diff changeset
1797 BOOL fEnable;
Ritor1
parents:
diff changeset
1798 BOOL fNoiseFill;
Ritor1
parents:
diff changeset
1799 DWORD dwMode;
Ritor1
parents:
diff changeset
1800 } DSCFXAec, *LPDSCFXAec;
Ritor1
parents:
diff changeset
1801
Ritor1
parents:
diff changeset
1802 typedef const DSCFXAec *LPCDSCFXAec;
Ritor1
parents:
diff changeset
1803
Ritor1
parents:
diff changeset
1804 // These match the AEC_MODE_* constants in the DDK's ksmedia.h file
Ritor1
parents:
diff changeset
1805 #define DSCFX_AEC_MODE_PASS_THROUGH 0x0
Ritor1
parents:
diff changeset
1806 #define DSCFX_AEC_MODE_HALF_DUPLEX 0x1
Ritor1
parents:
diff changeset
1807 #define DSCFX_AEC_MODE_FULL_DUPLEX 0x2
Ritor1
parents:
diff changeset
1808
Ritor1
parents:
diff changeset
1809 // These match the AEC_STATUS_* constants in ksmedia.h
Ritor1
parents:
diff changeset
1810 #define DSCFX_AEC_STATUS_HISTORY_UNINITIALIZED 0x0
Ritor1
parents:
diff changeset
1811 #define DSCFX_AEC_STATUS_HISTORY_CONTINUOUSLY_CONVERGED 0x1
Ritor1
parents:
diff changeset
1812 #define DSCFX_AEC_STATUS_HISTORY_PREVIOUSLY_DIVERGED 0x2
Ritor1
parents:
diff changeset
1813 #define DSCFX_AEC_STATUS_CURRENTLY_CONVERGED 0x8
Ritor1
parents:
diff changeset
1814
Ritor1
parents:
diff changeset
1815 #undef INTERFACE
Ritor1
parents:
diff changeset
1816 #define INTERFACE IDirectSoundCaptureFXAec
Ritor1
parents:
diff changeset
1817
Ritor1
parents:
diff changeset
1818 DECLARE_INTERFACE_(IDirectSoundCaptureFXAec, IUnknown)
Ritor1
parents:
diff changeset
1819 {
Ritor1
parents:
diff changeset
1820 // IUnknown methods
Ritor1
parents:
diff changeset
1821 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1822 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1823 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1824
Ritor1
parents:
diff changeset
1825 // IDirectSoundCaptureFXAec methods
Ritor1
parents:
diff changeset
1826 STDMETHOD(SetAllParameters) (THIS_ LPCDSCFXAec pDscFxAec) PURE;
Ritor1
parents:
diff changeset
1827 STDMETHOD(GetAllParameters) (THIS_ LPDSCFXAec pDscFxAec) PURE;
Ritor1
parents:
diff changeset
1828 STDMETHOD(GetStatus) (THIS_ PDWORD pdwStatus) PURE;
Ritor1
parents:
diff changeset
1829 STDMETHOD(Reset) (THIS) PURE;
Ritor1
parents:
diff changeset
1830 };
Ritor1
parents:
diff changeset
1831
Ritor1
parents:
diff changeset
1832 #define IDirectSoundCaptureFXAec_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1833 #define IDirectSoundCaptureFXAec_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1834 #define IDirectSoundCaptureFXAec_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1835
Ritor1
parents:
diff changeset
1836 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1837 #define IDirectSoundCaptureFXAec_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1838 #define IDirectSoundCaptureFXAec_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1839 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1840 #define IDirectSoundCaptureFXAec_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1841 #define IDirectSoundCaptureFXAec_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1842 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1843
Ritor1
parents:
diff changeset
1844
Ritor1
parents:
diff changeset
1845 //
Ritor1
parents:
diff changeset
1846 // IDirectSoundCaptureFXNoiseSuppress
Ritor1
parents:
diff changeset
1847 //
Ritor1
parents:
diff changeset
1848
Ritor1
parents:
diff changeset
1849 DEFINE_GUID(IID_IDirectSoundCaptureFXNoiseSuppress, 0xed311e41, 0xfbae, 0x4175, 0x96, 0x25, 0xcd, 0x8, 0x54, 0xf6, 0x93, 0xca);
Ritor1
parents:
diff changeset
1850
Ritor1
parents:
diff changeset
1851 typedef struct _DSCFXNoiseSuppress
Ritor1
parents:
diff changeset
1852 {
Ritor1
parents:
diff changeset
1853 BOOL fEnable;
Ritor1
parents:
diff changeset
1854 } DSCFXNoiseSuppress, *LPDSCFXNoiseSuppress;
Ritor1
parents:
diff changeset
1855
Ritor1
parents:
diff changeset
1856 typedef const DSCFXNoiseSuppress *LPCDSCFXNoiseSuppress;
Ritor1
parents:
diff changeset
1857
Ritor1
parents:
diff changeset
1858 #undef INTERFACE
Ritor1
parents:
diff changeset
1859 #define INTERFACE IDirectSoundCaptureFXNoiseSuppress
Ritor1
parents:
diff changeset
1860
Ritor1
parents:
diff changeset
1861 DECLARE_INTERFACE_(IDirectSoundCaptureFXNoiseSuppress, IUnknown)
Ritor1
parents:
diff changeset
1862 {
Ritor1
parents:
diff changeset
1863 // IUnknown methods
Ritor1
parents:
diff changeset
1864 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1865 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1866 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1867
Ritor1
parents:
diff changeset
1868 // IDirectSoundCaptureFXNoiseSuppress methods
Ritor1
parents:
diff changeset
1869 STDMETHOD(SetAllParameters) (THIS_ LPCDSCFXNoiseSuppress pcDscFxNoiseSuppress) PURE;
Ritor1
parents:
diff changeset
1870 STDMETHOD(GetAllParameters) (THIS_ LPDSCFXNoiseSuppress pDscFxNoiseSuppress) PURE;
Ritor1
parents:
diff changeset
1871 STDMETHOD(Reset) (THIS) PURE;
Ritor1
parents:
diff changeset
1872 };
Ritor1
parents:
diff changeset
1873
Ritor1
parents:
diff changeset
1874 #define IDirectSoundCaptureFXNoiseSuppress_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1875 #define IDirectSoundCaptureFXNoiseSuppress_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1876 #define IDirectSoundCaptureFXNoiseSuppress_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1877
Ritor1
parents:
diff changeset
1878 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1879 #define IDirectSoundCaptureFXNoiseSuppress_SetAllParameters(p,a) (p)->lpVtbl->SetAllParameters(p,a)
Ritor1
parents:
diff changeset
1880 #define IDirectSoundCaptureFXNoiseSuppress_GetAllParameters(p,a) (p)->lpVtbl->GetAllParameters(p,a)
Ritor1
parents:
diff changeset
1881 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1882 #define IDirectSoundCaptureFXNoiseSuppress_SetAllParameters(p,a) (p)->SetAllParameters(a)
Ritor1
parents:
diff changeset
1883 #define IDirectSoundCaptureFXNoiseSuppress_GetAllParameters(p,a) (p)->GetAllParameters(a)
Ritor1
parents:
diff changeset
1884 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1885
Ritor1
parents:
diff changeset
1886
Ritor1
parents:
diff changeset
1887 //
Ritor1
parents:
diff changeset
1888 // IDirectSoundFullDuplex
Ritor1
parents:
diff changeset
1889 //
Ritor1
parents:
diff changeset
1890
Ritor1
parents:
diff changeset
1891 #ifndef _IDirectSoundFullDuplex_
Ritor1
parents:
diff changeset
1892 #define _IDirectSoundFullDuplex_
Ritor1
parents:
diff changeset
1893
Ritor1
parents:
diff changeset
1894 #ifdef __cplusplus
Ritor1
parents:
diff changeset
1895 // 'struct' not 'class' per the way DECLARE_INTERFACE_ is defined
Ritor1
parents:
diff changeset
1896 struct IDirectSoundFullDuplex;
Ritor1
parents:
diff changeset
1897 #endif // __cplusplus
Ritor1
parents:
diff changeset
1898
Ritor1
parents:
diff changeset
1899 typedef struct IDirectSoundFullDuplex *LPDIRECTSOUNDFULLDUPLEX;
Ritor1
parents:
diff changeset
1900
Ritor1
parents:
diff changeset
1901 DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xedcb4c7a, 0xdaab, 0x4216, 0xa4, 0x2e, 0x6c, 0x50, 0x59, 0x6d, 0xdc, 0x1d);
Ritor1
parents:
diff changeset
1902
Ritor1
parents:
diff changeset
1903 #undef INTERFACE
Ritor1
parents:
diff changeset
1904 #define INTERFACE IDirectSoundFullDuplex
Ritor1
parents:
diff changeset
1905
Ritor1
parents:
diff changeset
1906 DECLARE_INTERFACE_(IDirectSoundFullDuplex, IUnknown)
Ritor1
parents:
diff changeset
1907 {
Ritor1
parents:
diff changeset
1908 // IUnknown methods
Ritor1
parents:
diff changeset
1909 STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
Ritor1
parents:
diff changeset
1910 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
Ritor1
parents:
diff changeset
1911 STDMETHOD_(ULONG,Release) (THIS) PURE;
Ritor1
parents:
diff changeset
1912
Ritor1
parents:
diff changeset
1913 // IDirectSoundFullDuplex methods
Ritor1
parents:
diff changeset
1914 STDMETHOD(Initialize) (THIS_ LPCGUID pCaptureGuid, LPCGUID pRenderGuid, LPCDSCBUFFERDESC lpDscBufferDesc, LPCDSBUFFERDESC lpDsBufferDesc, HWND hWnd, DWORD dwLevel, LPLPDIRECTSOUNDCAPTUREBUFFER8 lplpDirectSoundCaptureBuffer8, LPLPDIRECTSOUNDBUFFER8 lplpDirectSoundBuffer8) PURE;
Ritor1
parents:
diff changeset
1915 };
Ritor1
parents:
diff changeset
1916
Ritor1
parents:
diff changeset
1917 #define IDirectSoundFullDuplex_QueryInterface(p,a,b) IUnknown_QueryInterface(p,a,b)
Ritor1
parents:
diff changeset
1918 #define IDirectSoundFullDuplex_AddRef(p) IUnknown_AddRef(p)
Ritor1
parents:
diff changeset
1919 #define IDirectSoundFullDuplex_Release(p) IUnknown_Release(p)
Ritor1
parents:
diff changeset
1920
Ritor1
parents:
diff changeset
1921 #if !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1922 #define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Initialize(p,a,b,c,d,e,f,g,h)
Ritor1
parents:
diff changeset
1923 #else // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1924 #define IDirectSoundFullDuplex_Initialize(p,a,b,c,d,e,f,g,h) (p)->Initialize(a,b,c,d,e,f,g,h)
Ritor1
parents:
diff changeset
1925 #endif // !defined(__cplusplus) || defined(CINTERFACE)
Ritor1
parents:
diff changeset
1926
Ritor1
parents:
diff changeset
1927 #endif // _IDirectSoundFullDuplex_
Ritor1
parents:
diff changeset
1928
Ritor1
parents:
diff changeset
1929 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
1930
Ritor1
parents:
diff changeset
1931 //
Ritor1
parents:
diff changeset
1932 // Return Codes
Ritor1
parents:
diff changeset
1933 //
Ritor1
parents:
diff changeset
1934
Ritor1
parents:
diff changeset
1935 // The function completed successfully
Ritor1
parents:
diff changeset
1936 #define DS_OK S_OK
Ritor1
parents:
diff changeset
1937
Ritor1
parents:
diff changeset
1938 // The call succeeded, but we had to substitute the 3D algorithm
Ritor1
parents:
diff changeset
1939 #define DS_NO_VIRTUALIZATION MAKE_HRESULT(0, _FACDS, 10)
Ritor1
parents:
diff changeset
1940
Ritor1
parents:
diff changeset
1941 // The call failed because resources (such as a priority level)
Ritor1
parents:
diff changeset
1942 // were already being used by another caller
Ritor1
parents:
diff changeset
1943 #define DSERR_ALLOCATED MAKE_DSHRESULT(10)
Ritor1
parents:
diff changeset
1944
Ritor1
parents:
diff changeset
1945 // The control (vol, pan, etc.) requested by the caller is not available
Ritor1
parents:
diff changeset
1946 #define DSERR_CONTROLUNAVAIL MAKE_DSHRESULT(30)
Ritor1
parents:
diff changeset
1947
Ritor1
parents:
diff changeset
1948 // An invalid parameter was passed to the returning function
Ritor1
parents:
diff changeset
1949 #define DSERR_INVALIDPARAM E_INVALIDARG
Ritor1
parents:
diff changeset
1950
Ritor1
parents:
diff changeset
1951 // This call is not valid for the current state of this object
Ritor1
parents:
diff changeset
1952 #define DSERR_INVALIDCALL MAKE_DSHRESULT(50)
Ritor1
parents:
diff changeset
1953
Ritor1
parents:
diff changeset
1954 // An undetermined error occurred inside the DirectSound subsystem
Ritor1
parents:
diff changeset
1955 #define DSERR_GENERIC E_FAIL
Ritor1
parents:
diff changeset
1956
Ritor1
parents:
diff changeset
1957 // The caller does not have the priority level required for the function to
Ritor1
parents:
diff changeset
1958 // succeed
Ritor1
parents:
diff changeset
1959 #define DSERR_PRIOLEVELNEEDED MAKE_DSHRESULT(70)
Ritor1
parents:
diff changeset
1960
Ritor1
parents:
diff changeset
1961 // Not enough free memory is available to complete the operation
Ritor1
parents:
diff changeset
1962 #define DSERR_OUTOFMEMORY E_OUTOFMEMORY
Ritor1
parents:
diff changeset
1963
Ritor1
parents:
diff changeset
1964 // The specified WAVE format is not supported
Ritor1
parents:
diff changeset
1965 #define DSERR_BADFORMAT MAKE_DSHRESULT(100)
Ritor1
parents:
diff changeset
1966
Ritor1
parents:
diff changeset
1967 // The function called is not supported at this time
Ritor1
parents:
diff changeset
1968 #define DSERR_UNSUPPORTED E_NOTIMPL
Ritor1
parents:
diff changeset
1969
Ritor1
parents:
diff changeset
1970 // No sound driver is available for use
Ritor1
parents:
diff changeset
1971 #define DSERR_NODRIVER MAKE_DSHRESULT(120)
Ritor1
parents:
diff changeset
1972
Ritor1
parents:
diff changeset
1973 // This object is already initialized
Ritor1
parents:
diff changeset
1974 #define DSERR_ALREADYINITIALIZED MAKE_DSHRESULT(130)
Ritor1
parents:
diff changeset
1975
Ritor1
parents:
diff changeset
1976 // This object does not support aggregation
Ritor1
parents:
diff changeset
1977 #define DSERR_NOAGGREGATION CLASS_E_NOAGGREGATION
Ritor1
parents:
diff changeset
1978
Ritor1
parents:
diff changeset
1979 // The buffer memory has been lost, and must be restored
Ritor1
parents:
diff changeset
1980 #define DSERR_BUFFERLOST MAKE_DSHRESULT(150)
Ritor1
parents:
diff changeset
1981
Ritor1
parents:
diff changeset
1982 // Another app has a higher priority level, preventing this call from
Ritor1
parents:
diff changeset
1983 // succeeding
Ritor1
parents:
diff changeset
1984 #define DSERR_OTHERAPPHASPRIO MAKE_DSHRESULT(160)
Ritor1
parents:
diff changeset
1985
Ritor1
parents:
diff changeset
1986 // This object has not been initialized
Ritor1
parents:
diff changeset
1987 #define DSERR_UNINITIALIZED MAKE_DSHRESULT(170)
Ritor1
parents:
diff changeset
1988
Ritor1
parents:
diff changeset
1989 // The requested COM interface is not available
Ritor1
parents:
diff changeset
1990 #define DSERR_NOINTERFACE E_NOINTERFACE
Ritor1
parents:
diff changeset
1991
Ritor1
parents:
diff changeset
1992 // Access is denied
Ritor1
parents:
diff changeset
1993 #define DSERR_ACCESSDENIED E_ACCESSDENIED
Ritor1
parents:
diff changeset
1994
Ritor1
parents:
diff changeset
1995 // Tried to create a DSBCAPS_CTRLFX buffer shorter than DSBSIZE_FX_MIN milliseconds
Ritor1
parents:
diff changeset
1996 #define DSERR_BUFFERTOOSMALL MAKE_DSHRESULT(180)
Ritor1
parents:
diff changeset
1997
Ritor1
parents:
diff changeset
1998 // Attempt to use DirectSound 8 functionality on an older DirectSound object
Ritor1
parents:
diff changeset
1999 #define DSERR_DS8_REQUIRED MAKE_DSHRESULT(190)
Ritor1
parents:
diff changeset
2000
Ritor1
parents:
diff changeset
2001 // A circular loop of send effects was detected
Ritor1
parents:
diff changeset
2002 #define DSERR_SENDLOOP MAKE_DSHRESULT(200)
Ritor1
parents:
diff changeset
2003
Ritor1
parents:
diff changeset
2004 // The GUID specified in an audiopath file does not match a valid MIXIN buffer
Ritor1
parents:
diff changeset
2005 #define DSERR_BADSENDBUFFERGUID MAKE_DSHRESULT(210)
Ritor1
parents:
diff changeset
2006
Ritor1
parents:
diff changeset
2007 // The object requested was not found (numerically equal to DMUS_E_NOT_FOUND)
Ritor1
parents:
diff changeset
2008 #define DSERR_OBJECTNOTFOUND MAKE_DSHRESULT(4449)
Ritor1
parents:
diff changeset
2009
Ritor1
parents:
diff changeset
2010 // The effects requested could not be found on the system, or they were found
Ritor1
parents:
diff changeset
2011 // but in the wrong order, or in the wrong hardware/software locations.
Ritor1
parents:
diff changeset
2012 #define DSERR_FXUNAVAILABLE MAKE_DSHRESULT(220)
Ritor1
parents:
diff changeset
2013
Ritor1
parents:
diff changeset
2014 //
Ritor1
parents:
diff changeset
2015 // Flags
Ritor1
parents:
diff changeset
2016 //
Ritor1
parents:
diff changeset
2017
Ritor1
parents:
diff changeset
2018 #define DSCAPS_PRIMARYMONO 0x00000001
Ritor1
parents:
diff changeset
2019 #define DSCAPS_PRIMARYSTEREO 0x00000002
Ritor1
parents:
diff changeset
2020 #define DSCAPS_PRIMARY8BIT 0x00000004
Ritor1
parents:
diff changeset
2021 #define DSCAPS_PRIMARY16BIT 0x00000008
Ritor1
parents:
diff changeset
2022 #define DSCAPS_CONTINUOUSRATE 0x00000010
Ritor1
parents:
diff changeset
2023 #define DSCAPS_EMULDRIVER 0x00000020
Ritor1
parents:
diff changeset
2024 #define DSCAPS_CERTIFIED 0x00000040
Ritor1
parents:
diff changeset
2025 #define DSCAPS_SECONDARYMONO 0x00000100
Ritor1
parents:
diff changeset
2026 #define DSCAPS_SECONDARYSTEREO 0x00000200
Ritor1
parents:
diff changeset
2027 #define DSCAPS_SECONDARY8BIT 0x00000400
Ritor1
parents:
diff changeset
2028 #define DSCAPS_SECONDARY16BIT 0x00000800
Ritor1
parents:
diff changeset
2029
Ritor1
parents:
diff changeset
2030 #define DSSCL_NORMAL 0x00000001
Ritor1
parents:
diff changeset
2031 #define DSSCL_PRIORITY 0x00000002
Ritor1
parents:
diff changeset
2032 #define DSSCL_EXCLUSIVE 0x00000003
Ritor1
parents:
diff changeset
2033 #define DSSCL_WRITEPRIMARY 0x00000004
Ritor1
parents:
diff changeset
2034
Ritor1
parents:
diff changeset
2035 #define DSSPEAKER_DIRECTOUT 0x00000000
Ritor1
parents:
diff changeset
2036 #define DSSPEAKER_HEADPHONE 0x00000001
Ritor1
parents:
diff changeset
2037 #define DSSPEAKER_MONO 0x00000002
Ritor1
parents:
diff changeset
2038 #define DSSPEAKER_QUAD 0x00000003
Ritor1
parents:
diff changeset
2039 #define DSSPEAKER_STEREO 0x00000004
Ritor1
parents:
diff changeset
2040 #define DSSPEAKER_SURROUND 0x00000005
Ritor1
parents:
diff changeset
2041 #define DSSPEAKER_5POINT1 0x00000006
Ritor1
parents:
diff changeset
2042 #define DSSPEAKER_7POINT1 0x00000007
Ritor1
parents:
diff changeset
2043
Ritor1
parents:
diff changeset
2044 #define DSSPEAKER_GEOMETRY_MIN 0x00000005 // 5 degrees
Ritor1
parents:
diff changeset
2045 #define DSSPEAKER_GEOMETRY_NARROW 0x0000000A // 10 degrees
Ritor1
parents:
diff changeset
2046 #define DSSPEAKER_GEOMETRY_WIDE 0x00000014 // 20 degrees
Ritor1
parents:
diff changeset
2047 #define DSSPEAKER_GEOMETRY_MAX 0x000000B4 // 180 degrees
Ritor1
parents:
diff changeset
2048
Ritor1
parents:
diff changeset
2049 #define DSSPEAKER_COMBINED(c, g) ((DWORD)(((BYTE)(c)) | ((DWORD)((BYTE)(g))) << 16))
Ritor1
parents:
diff changeset
2050 #define DSSPEAKER_CONFIG(a) ((BYTE)(a))
Ritor1
parents:
diff changeset
2051 #define DSSPEAKER_GEOMETRY(a) ((BYTE)(((DWORD)(a) >> 16) & 0x00FF))
Ritor1
parents:
diff changeset
2052
Ritor1
parents:
diff changeset
2053 #define DSBCAPS_PRIMARYBUFFER 0x00000001
Ritor1
parents:
diff changeset
2054 #define DSBCAPS_STATIC 0x00000002
Ritor1
parents:
diff changeset
2055 #define DSBCAPS_LOCHARDWARE 0x00000004
Ritor1
parents:
diff changeset
2056 #define DSBCAPS_LOCSOFTWARE 0x00000008
Ritor1
parents:
diff changeset
2057 #define DSBCAPS_CTRL3D 0x00000010
Ritor1
parents:
diff changeset
2058 #define DSBCAPS_CTRLFREQUENCY 0x00000020
Ritor1
parents:
diff changeset
2059 #define DSBCAPS_CTRLPAN 0x00000040
Ritor1
parents:
diff changeset
2060 #define DSBCAPS_CTRLVOLUME 0x00000080
Ritor1
parents:
diff changeset
2061 #define DSBCAPS_CTRLPOSITIONNOTIFY 0x00000100
Ritor1
parents:
diff changeset
2062 #define DSBCAPS_CTRLFX 0x00000200
Ritor1
parents:
diff changeset
2063 #define DSBCAPS_STICKYFOCUS 0x00004000
Ritor1
parents:
diff changeset
2064 #define DSBCAPS_GLOBALFOCUS 0x00008000
Ritor1
parents:
diff changeset
2065 #define DSBCAPS_GETCURRENTPOSITION2 0x00010000
Ritor1
parents:
diff changeset
2066 #define DSBCAPS_MUTE3DATMAXDISTANCE 0x00020000
Ritor1
parents:
diff changeset
2067 #define DSBCAPS_LOCDEFER 0x00040000
Ritor1
parents:
diff changeset
2068
Ritor1
parents:
diff changeset
2069 #define DSBPLAY_LOOPING 0x00000001
Ritor1
parents:
diff changeset
2070 #define DSBPLAY_LOCHARDWARE 0x00000002
Ritor1
parents:
diff changeset
2071 #define DSBPLAY_LOCSOFTWARE 0x00000004
Ritor1
parents:
diff changeset
2072 #define DSBPLAY_TERMINATEBY_TIME 0x00000008
Ritor1
parents:
diff changeset
2073 #define DSBPLAY_TERMINATEBY_DISTANCE 0x000000010
Ritor1
parents:
diff changeset
2074 #define DSBPLAY_TERMINATEBY_PRIORITY 0x000000020
Ritor1
parents:
diff changeset
2075
Ritor1
parents:
diff changeset
2076 #define DSBSTATUS_PLAYING 0x00000001
Ritor1
parents:
diff changeset
2077 #define DSBSTATUS_BUFFERLOST 0x00000002
Ritor1
parents:
diff changeset
2078 #define DSBSTATUS_LOOPING 0x00000004
Ritor1
parents:
diff changeset
2079 #define DSBSTATUS_LOCHARDWARE 0x00000008
Ritor1
parents:
diff changeset
2080 #define DSBSTATUS_LOCSOFTWARE 0x00000010
Ritor1
parents:
diff changeset
2081 #define DSBSTATUS_TERMINATED 0x00000020
Ritor1
parents:
diff changeset
2082
Ritor1
parents:
diff changeset
2083 #define DSBLOCK_FROMWRITECURSOR 0x00000001
Ritor1
parents:
diff changeset
2084 #define DSBLOCK_ENTIREBUFFER 0x00000002
Ritor1
parents:
diff changeset
2085
Ritor1
parents:
diff changeset
2086 #define DSBFREQUENCY_ORIGINAL 0
Ritor1
parents:
diff changeset
2087 #define DSBFREQUENCY_MIN 100
Ritor1
parents:
diff changeset
2088 #if DIRECTSOUND_VERSION >= 0x0900
Ritor1
parents:
diff changeset
2089 #define DSBFREQUENCY_MAX 200000
Ritor1
parents:
diff changeset
2090 #else
Ritor1
parents:
diff changeset
2091 #define DSBFREQUENCY_MAX 100000
Ritor1
parents:
diff changeset
2092 #endif
Ritor1
parents:
diff changeset
2093
Ritor1
parents:
diff changeset
2094 #define DSBPAN_LEFT -10000
Ritor1
parents:
diff changeset
2095 #define DSBPAN_CENTER 0
Ritor1
parents:
diff changeset
2096 #define DSBPAN_RIGHT 10000
Ritor1
parents:
diff changeset
2097
Ritor1
parents:
diff changeset
2098 #define DSBVOLUME_MIN -10000
Ritor1
parents:
diff changeset
2099 #define DSBVOLUME_MAX 0
Ritor1
parents:
diff changeset
2100
Ritor1
parents:
diff changeset
2101 #define DSBSIZE_MIN 4
Ritor1
parents:
diff changeset
2102 #define DSBSIZE_MAX 0x0FFFFFFF
Ritor1
parents:
diff changeset
2103 #define DSBSIZE_FX_MIN 150 // NOTE: Milliseconds, not bytes
Ritor1
parents:
diff changeset
2104
Ritor1
parents:
diff changeset
2105 #define DS3DMODE_NORMAL 0x00000000
Ritor1
parents:
diff changeset
2106 #define DS3DMODE_HEADRELATIVE 0x00000001
Ritor1
parents:
diff changeset
2107 #define DS3DMODE_DISABLE 0x00000002
Ritor1
parents:
diff changeset
2108
Ritor1
parents:
diff changeset
2109 #define DS3D_IMMEDIATE 0x00000000
Ritor1
parents:
diff changeset
2110 #define DS3D_DEFERRED 0x00000001
Ritor1
parents:
diff changeset
2111
Ritor1
parents:
diff changeset
2112 #define DS3D_MINDISTANCEFACTOR FLT_MIN
Ritor1
parents:
diff changeset
2113 #define DS3D_MAXDISTANCEFACTOR FLT_MAX
Ritor1
parents:
diff changeset
2114 #define DS3D_DEFAULTDISTANCEFACTOR 1.0f
Ritor1
parents:
diff changeset
2115
Ritor1
parents:
diff changeset
2116 #define DS3D_MINROLLOFFFACTOR 0.0f
Ritor1
parents:
diff changeset
2117 #define DS3D_MAXROLLOFFFACTOR 10.0f
Ritor1
parents:
diff changeset
2118 #define DS3D_DEFAULTROLLOFFFACTOR 1.0f
Ritor1
parents:
diff changeset
2119
Ritor1
parents:
diff changeset
2120 #define DS3D_MINDOPPLERFACTOR 0.0f
Ritor1
parents:
diff changeset
2121 #define DS3D_MAXDOPPLERFACTOR 10.0f
Ritor1
parents:
diff changeset
2122 #define DS3D_DEFAULTDOPPLERFACTOR 1.0f
Ritor1
parents:
diff changeset
2123
Ritor1
parents:
diff changeset
2124 #define DS3D_DEFAULTMINDISTANCE 1.0f
Ritor1
parents:
diff changeset
2125 #define DS3D_DEFAULTMAXDISTANCE 1000000000.0f
Ritor1
parents:
diff changeset
2126
Ritor1
parents:
diff changeset
2127 #define DS3D_MINCONEANGLE 0
Ritor1
parents:
diff changeset
2128 #define DS3D_MAXCONEANGLE 360
Ritor1
parents:
diff changeset
2129 #define DS3D_DEFAULTCONEANGLE 360
Ritor1
parents:
diff changeset
2130
Ritor1
parents:
diff changeset
2131 #define DS3D_DEFAULTCONEOUTSIDEVOLUME DSBVOLUME_MAX
Ritor1
parents:
diff changeset
2132
Ritor1
parents:
diff changeset
2133 // IDirectSoundCapture attributes
Ritor1
parents:
diff changeset
2134
Ritor1
parents:
diff changeset
2135 #define DSCCAPS_EMULDRIVER DSCAPS_EMULDRIVER
Ritor1
parents:
diff changeset
2136 #define DSCCAPS_CERTIFIED DSCAPS_CERTIFIED
Ritor1
parents:
diff changeset
2137 #define DSCCAPS_MULTIPLECAPTURE 0x00000001
Ritor1
parents:
diff changeset
2138
Ritor1
parents:
diff changeset
2139 // IDirectSoundCaptureBuffer attributes
Ritor1
parents:
diff changeset
2140
Ritor1
parents:
diff changeset
2141 #define DSCBCAPS_WAVEMAPPED 0x80000000
Ritor1
parents:
diff changeset
2142
Ritor1
parents:
diff changeset
2143 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
2144 #define DSCBCAPS_CTRLFX 0x00000200
Ritor1
parents:
diff changeset
2145 #endif
Ritor1
parents:
diff changeset
2146
Ritor1
parents:
diff changeset
2147
Ritor1
parents:
diff changeset
2148 #define DSCBLOCK_ENTIREBUFFER 0x00000001
Ritor1
parents:
diff changeset
2149
Ritor1
parents:
diff changeset
2150 #define DSCBSTATUS_CAPTURING 0x00000001
Ritor1
parents:
diff changeset
2151 #define DSCBSTATUS_LOOPING 0x00000002
Ritor1
parents:
diff changeset
2152
Ritor1
parents:
diff changeset
2153 #define DSCBSTART_LOOPING 0x00000001
Ritor1
parents:
diff changeset
2154
Ritor1
parents:
diff changeset
2155 #define DSBPN_OFFSETSTOP 0xFFFFFFFF
Ritor1
parents:
diff changeset
2156
Ritor1
parents:
diff changeset
2157 #define DS_CERTIFIED 0x00000000
Ritor1
parents:
diff changeset
2158 #define DS_UNCERTIFIED 0x00000001
Ritor1
parents:
diff changeset
2159
Ritor1
parents:
diff changeset
2160
Ritor1
parents:
diff changeset
2161 //
Ritor1
parents:
diff changeset
2162 // Flags for the I3DL2 effects
Ritor1
parents:
diff changeset
2163 //
Ritor1
parents:
diff changeset
2164
Ritor1
parents:
diff changeset
2165 //
Ritor1
parents:
diff changeset
2166 // I3DL2 Material Presets
Ritor1
parents:
diff changeset
2167 //
Ritor1
parents:
diff changeset
2168
Ritor1
parents:
diff changeset
2169 enum
Ritor1
parents:
diff changeset
2170 {
Ritor1
parents:
diff changeset
2171 DSFX_I3DL2_MATERIAL_PRESET_SINGLEWINDOW,
Ritor1
parents:
diff changeset
2172 DSFX_I3DL2_MATERIAL_PRESET_DOUBLEWINDOW,
Ritor1
parents:
diff changeset
2173 DSFX_I3DL2_MATERIAL_PRESET_THINDOOR,
Ritor1
parents:
diff changeset
2174 DSFX_I3DL2_MATERIAL_PRESET_THICKDOOR,
Ritor1
parents:
diff changeset
2175 DSFX_I3DL2_MATERIAL_PRESET_WOODWALL,
Ritor1
parents:
diff changeset
2176 DSFX_I3DL2_MATERIAL_PRESET_BRICKWALL,
Ritor1
parents:
diff changeset
2177 DSFX_I3DL2_MATERIAL_PRESET_STONEWALL,
Ritor1
parents:
diff changeset
2178 DSFX_I3DL2_MATERIAL_PRESET_CURTAIN
Ritor1
parents:
diff changeset
2179 };
Ritor1
parents:
diff changeset
2180
Ritor1
parents:
diff changeset
2181 #define I3DL2_MATERIAL_PRESET_SINGLEWINDOW -2800,0.71f
Ritor1
parents:
diff changeset
2182 #define I3DL2_MATERIAL_PRESET_DOUBLEWINDOW -5000,0.40f
Ritor1
parents:
diff changeset
2183 #define I3DL2_MATERIAL_PRESET_THINDOOR -1800,0.66f
Ritor1
parents:
diff changeset
2184 #define I3DL2_MATERIAL_PRESET_THICKDOOR -4400,0.64f
Ritor1
parents:
diff changeset
2185 #define I3DL2_MATERIAL_PRESET_WOODWALL -4000,0.50f
Ritor1
parents:
diff changeset
2186 #define I3DL2_MATERIAL_PRESET_BRICKWALL -5000,0.60f
Ritor1
parents:
diff changeset
2187 #define I3DL2_MATERIAL_PRESET_STONEWALL -6000,0.68f
Ritor1
parents:
diff changeset
2188 #define I3DL2_MATERIAL_PRESET_CURTAIN -1200,0.15f
Ritor1
parents:
diff changeset
2189
Ritor1
parents:
diff changeset
2190 enum
Ritor1
parents:
diff changeset
2191 {
Ritor1
parents:
diff changeset
2192 DSFX_I3DL2_ENVIRONMENT_PRESET_DEFAULT,
Ritor1
parents:
diff changeset
2193 DSFX_I3DL2_ENVIRONMENT_PRESET_GENERIC,
Ritor1
parents:
diff changeset
2194 DSFX_I3DL2_ENVIRONMENT_PRESET_PADDEDCELL,
Ritor1
parents:
diff changeset
2195 DSFX_I3DL2_ENVIRONMENT_PRESET_ROOM,
Ritor1
parents:
diff changeset
2196 DSFX_I3DL2_ENVIRONMENT_PRESET_BATHROOM,
Ritor1
parents:
diff changeset
2197 DSFX_I3DL2_ENVIRONMENT_PRESET_LIVINGROOM,
Ritor1
parents:
diff changeset
2198 DSFX_I3DL2_ENVIRONMENT_PRESET_STONEROOM,
Ritor1
parents:
diff changeset
2199 DSFX_I3DL2_ENVIRONMENT_PRESET_AUDITORIUM,
Ritor1
parents:
diff changeset
2200 DSFX_I3DL2_ENVIRONMENT_PRESET_CONCERTHALL,
Ritor1
parents:
diff changeset
2201 DSFX_I3DL2_ENVIRONMENT_PRESET_CAVE,
Ritor1
parents:
diff changeset
2202 DSFX_I3DL2_ENVIRONMENT_PRESET_ARENA,
Ritor1
parents:
diff changeset
2203 DSFX_I3DL2_ENVIRONMENT_PRESET_HANGAR,
Ritor1
parents:
diff changeset
2204 DSFX_I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY,
Ritor1
parents:
diff changeset
2205 DSFX_I3DL2_ENVIRONMENT_PRESET_HALLWAY,
Ritor1
parents:
diff changeset
2206 DSFX_I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR,
Ritor1
parents:
diff changeset
2207 DSFX_I3DL2_ENVIRONMENT_PRESET_ALLEY,
Ritor1
parents:
diff changeset
2208 DSFX_I3DL2_ENVIRONMENT_PRESET_FOREST,
Ritor1
parents:
diff changeset
2209 DSFX_I3DL2_ENVIRONMENT_PRESET_CITY,
Ritor1
parents:
diff changeset
2210 DSFX_I3DL2_ENVIRONMENT_PRESET_MOUNTAINS,
Ritor1
parents:
diff changeset
2211 DSFX_I3DL2_ENVIRONMENT_PRESET_QUARRY,
Ritor1
parents:
diff changeset
2212 DSFX_I3DL2_ENVIRONMENT_PRESET_PLAIN,
Ritor1
parents:
diff changeset
2213 DSFX_I3DL2_ENVIRONMENT_PRESET_PARKINGLOT,
Ritor1
parents:
diff changeset
2214 DSFX_I3DL2_ENVIRONMENT_PRESET_SEWERPIPE,
Ritor1
parents:
diff changeset
2215 DSFX_I3DL2_ENVIRONMENT_PRESET_UNDERWATER,
Ritor1
parents:
diff changeset
2216 DSFX_I3DL2_ENVIRONMENT_PRESET_SMALLROOM,
Ritor1
parents:
diff changeset
2217 DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM,
Ritor1
parents:
diff changeset
2218 DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEROOM,
Ritor1
parents:
diff changeset
2219 DSFX_I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL,
Ritor1
parents:
diff changeset
2220 DSFX_I3DL2_ENVIRONMENT_PRESET_LARGEHALL,
Ritor1
parents:
diff changeset
2221 DSFX_I3DL2_ENVIRONMENT_PRESET_PLATE
Ritor1
parents:
diff changeset
2222 };
Ritor1
parents:
diff changeset
2223
Ritor1
parents:
diff changeset
2224 //
Ritor1
parents:
diff changeset
2225 // I3DL2 Reverberation Presets Values
Ritor1
parents:
diff changeset
2226 //
Ritor1
parents:
diff changeset
2227
Ritor1
parents:
diff changeset
2228 #define I3DL2_ENVIRONMENT_PRESET_DEFAULT -1000, -100, 0.0f, 1.49f, 0.83f, -2602, 0.007f, 200, 0.011f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2229 #define I3DL2_ENVIRONMENT_PRESET_GENERIC -1000, -100, 0.0f, 1.49f, 0.83f, -2602, 0.007f, 200, 0.011f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2230 #define I3DL2_ENVIRONMENT_PRESET_PADDEDCELL -1000,-6000, 0.0f, 0.17f, 0.10f, -1204, 0.001f, 207, 0.002f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2231 #define I3DL2_ENVIRONMENT_PRESET_ROOM -1000, -454, 0.0f, 0.40f, 0.83f, -1646, 0.002f, 53, 0.003f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2232 #define I3DL2_ENVIRONMENT_PRESET_BATHROOM -1000,-1200, 0.0f, 1.49f, 0.54f, -370, 0.007f, 1030, 0.011f, 100.0f, 60.0f, 5000.0f
Ritor1
parents:
diff changeset
2233 #define I3DL2_ENVIRONMENT_PRESET_LIVINGROOM -1000,-6000, 0.0f, 0.50f, 0.10f, -1376, 0.003f, -1104, 0.004f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2234 #define I3DL2_ENVIRONMENT_PRESET_STONEROOM -1000, -300, 0.0f, 2.31f, 0.64f, -711, 0.012f, 83, 0.017f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2235 #define I3DL2_ENVIRONMENT_PRESET_AUDITORIUM -1000, -476, 0.0f, 4.32f, 0.59f, -789, 0.020f, -289, 0.030f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2236 #define I3DL2_ENVIRONMENT_PRESET_CONCERTHALL -1000, -500, 0.0f, 3.92f, 0.70f, -1230, 0.020f, -2, 0.029f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2237 #define I3DL2_ENVIRONMENT_PRESET_CAVE -1000, 0, 0.0f, 2.91f, 1.30f, -602, 0.015f, -302, 0.022f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2238 #define I3DL2_ENVIRONMENT_PRESET_ARENA -1000, -698, 0.0f, 7.24f, 0.33f, -1166, 0.020f, 16, 0.030f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2239 #define I3DL2_ENVIRONMENT_PRESET_HANGAR -1000,-1000, 0.0f,10.05f, 0.23f, -602, 0.020f, 198, 0.030f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2240 #define I3DL2_ENVIRONMENT_PRESET_CARPETEDHALLWAY -1000,-4000, 0.0f, 0.30f, 0.10f, -1831, 0.002f, -1630, 0.030f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2241 #define I3DL2_ENVIRONMENT_PRESET_HALLWAY -1000, -300, 0.0f, 1.49f, 0.59f, -1219, 0.007f, 441, 0.011f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2242 #define I3DL2_ENVIRONMENT_PRESET_STONECORRIDOR -1000, -237, 0.0f, 2.70f, 0.79f, -1214, 0.013f, 395, 0.020f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2243 #define I3DL2_ENVIRONMENT_PRESET_ALLEY -1000, -270, 0.0f, 1.49f, 0.86f, -1204, 0.007f, -4, 0.011f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2244 #define I3DL2_ENVIRONMENT_PRESET_FOREST -1000,-3300, 0.0f, 1.49f, 0.54f, -2560, 0.162f, -613, 0.088f, 79.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2245 #define I3DL2_ENVIRONMENT_PRESET_CITY -1000, -800, 0.0f, 1.49f, 0.67f, -2273, 0.007f, -2217, 0.011f, 50.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2246 #define I3DL2_ENVIRONMENT_PRESET_MOUNTAINS -1000,-2500, 0.0f, 1.49f, 0.21f, -2780, 0.300f, -2014, 0.100f, 27.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2247 #define I3DL2_ENVIRONMENT_PRESET_QUARRY -1000,-1000, 0.0f, 1.49f, 0.83f,-10000, 0.061f, 500, 0.025f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2248 #define I3DL2_ENVIRONMENT_PRESET_PLAIN -1000,-2000, 0.0f, 1.49f, 0.50f, -2466, 0.179f, -2514, 0.100f, 21.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2249 #define I3DL2_ENVIRONMENT_PRESET_PARKINGLOT -1000, 0, 0.0f, 1.65f, 1.50f, -1363, 0.008f, -1153, 0.012f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2250 #define I3DL2_ENVIRONMENT_PRESET_SEWERPIPE -1000,-1000, 0.0f, 2.81f, 0.14f, 429, 0.014f, 648, 0.021f, 80.0f, 60.0f, 5000.0f
Ritor1
parents:
diff changeset
2251 #define I3DL2_ENVIRONMENT_PRESET_UNDERWATER -1000,-4000, 0.0f, 1.49f, 0.10f, -449, 0.007f, 1700, 0.011f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2252
Ritor1
parents:
diff changeset
2253 //
Ritor1
parents:
diff changeset
2254 // Examples simulating 'musical' reverb presets
Ritor1
parents:
diff changeset
2255 //
Ritor1
parents:
diff changeset
2256 // Name Decay time Description
Ritor1
parents:
diff changeset
2257 // Small Room 1.1s A small size room with a length of 5m or so.
Ritor1
parents:
diff changeset
2258 // Medium Room 1.3s A medium size room with a length of 10m or so.
Ritor1
parents:
diff changeset
2259 // Large Room 1.5s A large size room suitable for live performances.
Ritor1
parents:
diff changeset
2260 // Medium Hall 1.8s A medium size concert hall.
Ritor1
parents:
diff changeset
2261 // Large Hall 1.8s A large size concert hall suitable for a full orchestra.
Ritor1
parents:
diff changeset
2262 // Plate 1.3s A plate reverb simulation.
Ritor1
parents:
diff changeset
2263 //
Ritor1
parents:
diff changeset
2264
Ritor1
parents:
diff changeset
2265 #define I3DL2_ENVIRONMENT_PRESET_SMALLROOM -1000, -600, 0.0f, 1.10f, 0.83f, -400, 0.005f, 500, 0.010f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2266 #define I3DL2_ENVIRONMENT_PRESET_MEDIUMROOM -1000, -600, 0.0f, 1.30f, 0.83f, -1000, 0.010f, -200, 0.020f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2267 #define I3DL2_ENVIRONMENT_PRESET_LARGEROOM -1000, -600, 0.0f, 1.50f, 0.83f, -1600, 0.020f, -1000, 0.040f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2268 #define I3DL2_ENVIRONMENT_PRESET_MEDIUMHALL -1000, -600, 0.0f, 1.80f, 0.70f, -1300, 0.015f, -800, 0.030f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2269 #define I3DL2_ENVIRONMENT_PRESET_LARGEHALL -1000, -600, 0.0f, 1.80f, 0.70f, -2000, 0.030f, -1400, 0.060f, 100.0f, 100.0f, 5000.0f
Ritor1
parents:
diff changeset
2270 #define I3DL2_ENVIRONMENT_PRESET_PLATE -1000, -200, 0.0f, 1.30f, 0.90f, 0, 0.002f, 0, 0.010f, 100.0f, 75.0f, 5000.0f
Ritor1
parents:
diff changeset
2271
Ritor1
parents:
diff changeset
2272 //
Ritor1
parents:
diff changeset
2273 // DirectSound3D Algorithms
Ritor1
parents:
diff changeset
2274 //
Ritor1
parents:
diff changeset
2275
Ritor1
parents:
diff changeset
2276 // Default DirectSound3D algorithm {00000000-0000-0000-0000-000000000000}
Ritor1
parents:
diff changeset
2277 #define DS3DALG_DEFAULT GUID_NULL
Ritor1
parents:
diff changeset
2278
Ritor1
parents:
diff changeset
2279 // No virtualization (Pan3D) {C241333F-1C1B-11d2-94F5-00C04FC28ACA}
Ritor1
parents:
diff changeset
2280 DEFINE_GUID(DS3DALG_NO_VIRTUALIZATION, 0xc241333f, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
Ritor1
parents:
diff changeset
2281
Ritor1
parents:
diff changeset
2282 // High-quality HRTF algorithm {C2413340-1C1B-11d2-94F5-00C04FC28ACA}
Ritor1
parents:
diff changeset
2283 DEFINE_GUID(DS3DALG_HRTF_FULL, 0xc2413340, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
Ritor1
parents:
diff changeset
2284
Ritor1
parents:
diff changeset
2285 // Lower-quality HRTF algorithm {C2413342-1C1B-11d2-94F5-00C04FC28ACA}
Ritor1
parents:
diff changeset
2286 DEFINE_GUID(DS3DALG_HRTF_LIGHT, 0xc2413342, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
Ritor1
parents:
diff changeset
2287
Ritor1
parents:
diff changeset
2288
Ritor1
parents:
diff changeset
2289 #if DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
2290
Ritor1
parents:
diff changeset
2291 //
Ritor1
parents:
diff changeset
2292 // DirectSound Internal Effect Algorithms
Ritor1
parents:
diff changeset
2293 //
Ritor1
parents:
diff changeset
2294
Ritor1
parents:
diff changeset
2295
Ritor1
parents:
diff changeset
2296 // Gargle {DAFD8210-5711-4B91-9FE3-F75B7AE279BF}
Ritor1
parents:
diff changeset
2297 DEFINE_GUID(GUID_DSFX_STANDARD_GARGLE, 0xdafd8210, 0x5711, 0x4b91, 0x9f, 0xe3, 0xf7, 0x5b, 0x7a, 0xe2, 0x79, 0xbf);
Ritor1
parents:
diff changeset
2298
Ritor1
parents:
diff changeset
2299 // Chorus {EFE6629C-81F7-4281-BD91-C9D604A95AF6}
Ritor1
parents:
diff changeset
2300 DEFINE_GUID(GUID_DSFX_STANDARD_CHORUS, 0xefe6629c, 0x81f7, 0x4281, 0xbd, 0x91, 0xc9, 0xd6, 0x04, 0xa9, 0x5a, 0xf6);
Ritor1
parents:
diff changeset
2301
Ritor1
parents:
diff changeset
2302 // Flanger {EFCA3D92-DFD8-4672-A603-7420894BAD98}
Ritor1
parents:
diff changeset
2303 DEFINE_GUID(GUID_DSFX_STANDARD_FLANGER, 0xefca3d92, 0xdfd8, 0x4672, 0xa6, 0x03, 0x74, 0x20, 0x89, 0x4b, 0xad, 0x98);
Ritor1
parents:
diff changeset
2304
Ritor1
parents:
diff changeset
2305 // Echo/Delay {EF3E932C-D40B-4F51-8CCF-3F98F1B29D5D}
Ritor1
parents:
diff changeset
2306 DEFINE_GUID(GUID_DSFX_STANDARD_ECHO, 0xef3e932c, 0xd40b, 0x4f51, 0x8c, 0xcf, 0x3f, 0x98, 0xf1, 0xb2, 0x9d, 0x5d);
Ritor1
parents:
diff changeset
2307
Ritor1
parents:
diff changeset
2308 // Distortion {EF114C90-CD1D-484E-96E5-09CFAF912A21}
Ritor1
parents:
diff changeset
2309 DEFINE_GUID(GUID_DSFX_STANDARD_DISTORTION, 0xef114c90, 0xcd1d, 0x484e, 0x96, 0xe5, 0x09, 0xcf, 0xaf, 0x91, 0x2a, 0x21);
Ritor1
parents:
diff changeset
2310
Ritor1
parents:
diff changeset
2311 // Compressor/Limiter {EF011F79-4000-406D-87AF-BFFB3FC39D57}
Ritor1
parents:
diff changeset
2312 DEFINE_GUID(GUID_DSFX_STANDARD_COMPRESSOR, 0xef011f79, 0x4000, 0x406d, 0x87, 0xaf, 0xbf, 0xfb, 0x3f, 0xc3, 0x9d, 0x57);
Ritor1
parents:
diff changeset
2313
Ritor1
parents:
diff changeset
2314 // Parametric Equalization {120CED89-3BF4-4173-A132-3CB406CF3231}
Ritor1
parents:
diff changeset
2315 DEFINE_GUID(GUID_DSFX_STANDARD_PARAMEQ, 0x120ced89, 0x3bf4, 0x4173, 0xa1, 0x32, 0x3c, 0xb4, 0x06, 0xcf, 0x32, 0x31);
Ritor1
parents:
diff changeset
2316
Ritor1
parents:
diff changeset
2317 // I3DL2 Environmental Reverberation: Reverb (Listener) Effect {EF985E71-D5C7-42D4-BA4D-2D073E2E96F4}
Ritor1
parents:
diff changeset
2318 DEFINE_GUID(GUID_DSFX_STANDARD_I3DL2REVERB, 0xef985e71, 0xd5c7, 0x42d4, 0xba, 0x4d, 0x2d, 0x07, 0x3e, 0x2e, 0x96, 0xf4);
Ritor1
parents:
diff changeset
2319
Ritor1
parents:
diff changeset
2320 // Waves Reverberation {87FC0268-9A55-4360-95AA-004A1D9DE26C}
Ritor1
parents:
diff changeset
2321 DEFINE_GUID(GUID_DSFX_WAVES_REVERB, 0x87fc0268, 0x9a55, 0x4360, 0x95, 0xaa, 0x00, 0x4a, 0x1d, 0x9d, 0xe2, 0x6c);
Ritor1
parents:
diff changeset
2322
Ritor1
parents:
diff changeset
2323 //
Ritor1
parents:
diff changeset
2324 // DirectSound Capture Effect Algorithms
Ritor1
parents:
diff changeset
2325 //
Ritor1
parents:
diff changeset
2326
Ritor1
parents:
diff changeset
2327
Ritor1
parents:
diff changeset
2328 // Acoustic Echo Canceller {BF963D80-C559-11D0-8A2B-00A0C9255AC1}
Ritor1
parents:
diff changeset
2329 // Matches KSNODETYPE_ACOUSTIC_ECHO_CANCEL in ksmedia.h
Ritor1
parents:
diff changeset
2330 DEFINE_GUID(GUID_DSCFX_CLASS_AEC, 0xBF963D80L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1);
Ritor1
parents:
diff changeset
2331
Ritor1
parents:
diff changeset
2332 // Microsoft AEC {CDEBB919-379A-488a-8765-F53CFD36DE40}
Ritor1
parents:
diff changeset
2333 DEFINE_GUID(GUID_DSCFX_MS_AEC, 0xcdebb919, 0x379a, 0x488a, 0x87, 0x65, 0xf5, 0x3c, 0xfd, 0x36, 0xde, 0x40);
Ritor1
parents:
diff changeset
2334
Ritor1
parents:
diff changeset
2335 // System AEC {1C22C56D-9879-4f5b-A389-27996DDC2810}
Ritor1
parents:
diff changeset
2336 DEFINE_GUID(GUID_DSCFX_SYSTEM_AEC, 0x1c22c56d, 0x9879, 0x4f5b, 0xa3, 0x89, 0x27, 0x99, 0x6d, 0xdc, 0x28, 0x10);
Ritor1
parents:
diff changeset
2337
Ritor1
parents:
diff changeset
2338 // Noise Supression {E07F903F-62FD-4e60-8CDD-DEA7236665B5}
Ritor1
parents:
diff changeset
2339 // Matches KSNODETYPE_NOISE_SUPPRESS in post Windows ME DDK's ksmedia.h
Ritor1
parents:
diff changeset
2340 DEFINE_GUID(GUID_DSCFX_CLASS_NS, 0xe07f903f, 0x62fd, 0x4e60, 0x8c, 0xdd, 0xde, 0xa7, 0x23, 0x66, 0x65, 0xb5);
Ritor1
parents:
diff changeset
2341
Ritor1
parents:
diff changeset
2342 // Microsoft Noise Suppresion {11C5C73B-66E9-4ba1-A0BA-E814C6EED92D}
Ritor1
parents:
diff changeset
2343 DEFINE_GUID(GUID_DSCFX_MS_NS, 0x11c5c73b, 0x66e9, 0x4ba1, 0xa0, 0xba, 0xe8, 0x14, 0xc6, 0xee, 0xd9, 0x2d);
Ritor1
parents:
diff changeset
2344
Ritor1
parents:
diff changeset
2345 // System Noise Suppresion {5AB0882E-7274-4516-877D-4EEE99BA4FD0}
Ritor1
parents:
diff changeset
2346 DEFINE_GUID(GUID_DSCFX_SYSTEM_NS, 0x5ab0882e, 0x7274, 0x4516, 0x87, 0x7d, 0x4e, 0xee, 0x99, 0xba, 0x4f, 0xd0);
Ritor1
parents:
diff changeset
2347
Ritor1
parents:
diff changeset
2348 #endif // DIRECTSOUND_VERSION >= 0x0800
Ritor1
parents:
diff changeset
2349
Ritor1
parents:
diff changeset
2350 #endif // __DSOUND_INCLUDED__
Ritor1
parents:
diff changeset
2351
Ritor1
parents:
diff changeset
2352
Ritor1
parents:
diff changeset
2353
Ritor1
parents:
diff changeset
2354 #ifdef __cplusplus
Ritor1
parents:
diff changeset
2355 };
Ritor1
parents:
diff changeset
2356 #endif // __cplusplus
Ritor1
parents:
diff changeset
2357
Ritor1
parents:
diff changeset
2358