source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/mmreg.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 85.9 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6#include <winapifamily.h>
7
8#ifndef __WIDL__
9
10#ifndef _INC_MMREG
11#define _INC_MMREG 158
12
13#ifndef RC_INVOKED
14#include "pshpack1.h"
15#endif
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
22
23#ifndef NOMMIDS
24#ifndef MM_MICROSOFT
25#define MM_MICROSOFT 1
26#endif /* MM_MICROSOFT */
27#define MM_CREATIVE 2
28#define MM_MEDIAVISION 3
29#define MM_FUJITSU 4
30#define MM_PRAGMATRAX 5
31#define MM_CYRIX 6
32#define MM_PHILIPS_SPEECH_PROCESSING 7
33#define MM_NETXL 8
34#define MM_ZYXEL 9
35#define MM_BECUBED 10
36#define MM_AARDVARK 11
37#define MM_BINTEC 12
38#define MM_HEWLETT_PACKARD 13
39#define MM_ACULAB 14
40#define MM_FAITH 15
41#define MM_MITEL 16
42#define MM_QUANTUM3D 17
43#define MM_SNI 18
44#define MM_EMU 19
45#define MM_ARTISOFT 20
46#define MM_TURTLE_BEACH 21
47#define MM_IBM 22
48#define MM_VOCALTEC 23
49#define MM_ROLAND 24
50#define MM_DSP_SOLUTIONS 25
51#define MM_NEC 26
52#define MM_ATI 27
53#define MM_WANGLABS 28
54#define MM_TANDY 29
55#define MM_VOYETRA 30
56#define MM_ANTEX 31
57#define MM_ICL_PS 32
58#define MM_INTEL 33
59#define MM_GRAVIS 34
60#define MM_VAL 35
61#define MM_INTERACTIVE 36
62#define MM_YAMAHA 37
63#define MM_EVEREX 38
64#define MM_ECHO 39
65#define MM_SIERRA 40
66#define MM_CAT 41
67#define MM_APPS 42
68#define MM_DSP_GROUP 43
69#define MM_MELABS 44
70#define MM_COMPUTER_FRIENDS 45
71#define MM_ESS 46
72#define MM_AUDIOFILE 47
73#define MM_MOTOROLA 48
74#define MM_CANOPUS 49
75#define MM_EPSON 50
76#define MM_TRUEVISION 51
77#define MM_AZTECH 52
78#define MM_VIDEOLOGIC 53
79#define MM_SCALACS 54
80#define MM_KORG 55
81#define MM_APT 56
82#define MM_ICS 57
83#define MM_ITERATEDSYS 58
84#define MM_METHEUS 59
85#define MM_LOGITECH 60
86#define MM_WINNOV 61
87#define MM_NCR 62
88#define MM_EXAN 63
89#define MM_AST 64
90#define MM_WILLOWPOND 65
91#define MM_SONICFOUNDRY 66
92#define MM_VITEC 67
93#define MM_MOSCOM 68
94#define MM_SILICONSOFT 69
95#define MM_TERRATEC 70
96#define MM_MEDIASONIC 71
97#define MM_SANYO 72
98#define MM_SUPERMAC 73
99#define MM_AUDIOPT 74
100#define MM_NOGATECH 75
101#define MM_SPEECHCOMP 76
102#define MM_AHEAD 77
103#define MM_DOLBY 78
104#define MM_OKI 79
105#define MM_AURAVISION 80
106#define MM_OLIVETTI 81
107#define MM_IOMAGIC 82
108#define MM_MATSUSHITA 83
109#define MM_CONTROLRES 84
110#define MM_XEBEC 85
111#define MM_NEWMEDIA 86
112#define MM_NMS 87
113#define MM_LYRRUS 88
114#define MM_COMPUSIC 89
115#define MM_OPTI 90
116#define MM_ADLACC 91
117#define MM_COMPAQ 92
118#define MM_DIALOGIC 93
119#define MM_INSOFT 94
120#define MM_MPTUS 95
121#define MM_WEITEK 96
122#define MM_LERNOUT_AND_HAUSPIE 97
123#define MM_QCIAR 98
124#define MM_APPLE 99
125#define MM_DIGITAL 100
126#define MM_MOTU 101
127#define MM_WORKBIT 102
128#define MM_OSITECH 103
129#define MM_MIRO 104
130#define MM_CIRRUSLOGIC 105
131#define MM_ISOLUTION 106
132#define MM_HORIZONS 107
133#define MM_CONCEPTS 108
134#define MM_VTG 109
135#define MM_RADIUS 110
136#define MM_ROCKWELL 111
137#define MM_XYZ 112
138#define MM_OPCODE 113
139#define MM_VOXWARE 114
140#define MM_NORTHERN_TELECOM 115
141#define MM_APICOM 116
142#define MM_GRANDE 117
143#define MM_ADDX 118
144#define MM_WILDCAT 119
145#define MM_RHETOREX 120
146#define MM_BROOKTREE 121
147#define MM_ENSONIQ 125
148#define MM_FAST 126
149#define MM_NVIDIA 127
150#define MM_OKSORI 128
151#define MM_DIACOUSTICS 129
152#define MM_GULBRANSEN 130
153#define MM_KAY_ELEMETRICS 131
154#define MM_CRYSTAL 132
155#define MM_SPLASH_STUDIOS 133
156#define MM_QUARTERDECK 134
157#define MM_TDK 135
158#define MM_DIGITAL_AUDIO_LABS 136
159#define MM_SEERSYS 137
160#define MM_PICTURETEL 138
161#define MM_ATT_MICROELECTRONICS 139
162#define MM_OSPREY 140
163#define MM_MEDIATRIX 141
164#define MM_SOUNDESIGNS 142
165#define MM_ALDIGITAL 143
166#define MM_SPECTRUM_SIGNAL_PROCESSING 144
167#define MM_ECS 145
168#define MM_AMD 146
169#define MM_COREDYNAMICS 147
170#define MM_CANAM 148
171#define MM_SOFTSOUND 149
172#define MM_NORRIS 150
173#define MM_DDD 151
174#define MM_EUPHONICS 152
175#define MM_PRECEPT 153
176#define MM_CRYSTAL_NET 154
177#define MM_CHROMATIC 155
178#define MM_VOICEINFO 156
179#define MM_VIENNASYS 157
180#define MM_CONNECTIX 158
181#define MM_GADGETLABS 159
182#define MM_FRONTIER 160
183#define MM_VIONA 161
184#define MM_CASIO 162
185#define MM_DIAMONDMM 163
186#define MM_S3 164
187#define MM_DVISION 165
188#define MM_NETSCAPE 166
189#define MM_SOUNDSPACE 167
190#define MM_VANKOEVERING 168
191#define MM_QTEAM 169
192#define MM_ZEFIRO 170
193#define MM_STUDER 171
194#define MM_FRAUNHOFER_IIS 172
195#define MM_QUICKNET 173
196#define MM_ALARIS 174
197#define MM_SICRESOURCE 175
198#define MM_NEOMAGIC 176
199#define MM_MERGING_TECHNOLOGIES 177
200#define MM_XIRLINK 178
201#define MM_COLORGRAPH 179
202#define MM_OTI 180
203#define MM_AUREAL 181
204#define MM_VIVO 182
205#define MM_SHARP 183
206#define MM_LUCENT 184
207#define MM_ATT 185
208#define MM_SUNCOM 186
209#define MM_SORVIS 187
210#define MM_INVISION 188
211#define MM_BERKOM 189
212#define MM_MARIAN 190
213#define MM_DPSINC 191
214#define MM_BCB 192
215#define MM_MOTIONPIXELS 193
216#define MM_QDESIGN 194
217#define MM_NMP 195
218#define MM_DATAFUSION 196
219#define MM_DUCK 197
220#define MM_FTR 198
221#define MM_BERCOS 199
222#define MM_ONLIVE 200
223#define MM_SIEMENS_SBC 201
224#define MM_TERALOGIC 202
225#define MM_PHONET 203
226#define MM_WINBOND 204
227#define MM_VIRTUALMUSIC 205
228#define MM_ENET 206
229#define MM_GUILLEMOT 207
230#define MM_EMAGIC 208
231#define MM_MWM 209
232#define MM_PACIFICRESEARCH 210
233#define MM_SIPROLAB 211
234#define MM_LYNX 212
235#define MM_SPECTRUM_PRODUCTIONS 213
236#define MM_DICTAPHONE 214
237#define MM_QUALCOMM 215
238#define MM_RZS 216
239#define MM_AUDIOSCIENCE 217
240#define MM_PINNACLE 218
241#define MM_EES 219
242#define MM_HAFTMANN 220
243#define MM_LUCID 221
244#define MM_HEADSPACE 222
245#define MM_UNISYS 223
246#define MM_LUMINOSITI 224
247#define MM_ACTIVEVOICE 225
248#define MM_DTS 226
249#define MM_DIGIGRAM 227
250#define MM_SOFTLAB_NSK 228
251#define MM_FORTEMEDIA 229
252#define MM_SONORUS 230
253#define MM_ARRAY 231
254#define MM_DATARAN 232
255#define MM_I_LINK 233
256#define MM_SELSIUS_SYSTEMS 234
257#define MM_ADMOS 235
258#define MM_LEXICON 236
259#define MM_SGI 237
260#define MM_IPI 238
261#define MM_ICE 239
262#define MM_VQST 240
263#define MM_ETEK 241
264#define MM_CS 242
265#define MM_ALESIS 243
266#define MM_INTERNET 244
267#define MM_SONY 245
268#define MM_HYPERACTIVE 246
269#define MM_UHER_INFORMATIC 247
270#define MM_SYDEC_NV 248
271#define MM_FLEXION 249
272#define MM_VIA 250
273#define MM_MICRONAS 251
274#define MM_ANALOGDEVICES 252
275#define MM_HP 253
276#define MM_MATROX_DIV 254
277#define MM_QUICKAUDIO 255
278#define MM_YOUCOM 256
279#define MM_RICHMOND 257
280#define MM_IODD 258
281#define MM_ICCC 259
282#define MM_3COM 260
283#define MM_MALDEN 261
284#define MM_3DFX 262
285#define MM_MINDMAKER 263
286#define MM_TELEKOL 264
287#define MM_ST_MICROELECTRONICS 265
288#define MM_ALGOVISION 266
289
290#define MM_UNMAPPED 0xffff
291#define MM_PID_UNMAPPED MM_UNMAPPED
292
293#ifdef GUID_DEFINED
294#if !defined (INIT_MMREG_MID)
295#define INIT_MMREG_MID(guid, id) { (guid)->Data1 = 0xd5a47fa7 + (USHORT) (id); (guid)->Data2 = 0x6d98; (guid)->Data3 = 0x11d1; (guid)->Data4[0] = 0xa2; (guid)->Data4[1] = 0x1a; (guid)->Data4[2] = 0x00; (guid)->Data4[3] = 0xa0; (guid)->Data4[4] = 0xc9; (guid)->Data4[5] = 0x22; (guid)->Data4[6] = 0x31; (guid)->Data4[7] = 0x96; }
296#define EXTRACT_MMREG_MID(guid) (USHORT) ((guid)->Data1 - 0xd5a47fa7)
297#define DEFINE_MMREG_MID_GUID(id) 0xd5a47fa7+ (USHORT) (id), 0x6d98, 0x11d1, 0xa2, 0x1a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96
298#define IS_COMPATIBLE_MMREG_MID(guid) (((guid)->Data1 >= 0xd5a47fa7) && ((guid)->Data1 < 0xd5a47fa7 + 0xffff) && ((guid)->Data2 == 0x6d98) && ((guid)->Data3 == 0x11d1) && ((guid)->Data4[0] == 0xa2) && ((guid)->Data4[1] == 0x1a) && ((guid)->Data4[2] == 0x00) && ((guid)->Data4[3] == 0xa0) && ((guid)->Data4[4] == 0xc9) && ((guid)->Data4[5] == 0x22) && ((guid)->Data4[6] == 0x31) && ((guid)->Data4[7] == 0x96))
299#endif
300#if !defined (INIT_MMREG_PID)
301#define INIT_MMREG_PID(guid, id) { (guid)->Data1 = 0xe36dc2ac + (USHORT) (id); (guid)->Data2 = 0x6d9a; (guid)->Data3 = 0x11d1; (guid)->Data4[0] = 0xa2; (guid)->Data4[1] = 0x1a; (guid)->Data4[2] = 0x00; (guid)->Data4[3] = 0xa0; (guid)->Data4[4] = 0xc9; (guid)->Data4[5] = 0x22; (guid)->Data4[6] = 0x31; (guid)->Data4[7] = 0x96; }
302#define EXTRACT_MMREG_PID(guid) (USHORT) ((guid)->Data1 - 0xe36dc2ac)
303#define DEFINE_MMREG_PID_GUID(id) 0xe36dc2ac+ (USHORT) (id), 0x6d9a, 0x11d1, 0xa2, 0x1a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96
304#define IS_COMPATIBLE_MMREG_PID(guid) (((guid)->Data1 >= 0xe36dc2ac) && ((guid)->Data1 < 0xe36dc2ac + 0xffff) && ((guid)->Data2 == 0x6d9a) && ((guid)->Data3 == 0x11d1) && ((guid)->Data4[0] == 0xa2) && ((guid)->Data4[1] == 0x1a) && ((guid)->Data4[2] == 0x00) && ((guid)->Data4[3] == 0xa0) && ((guid)->Data4[4] == 0xc9) && ((guid)->Data4[5] == 0x22) && ((guid)->Data4[6] == 0x31) && ((guid)->Data4[7] == 0x96))
305#endif
306#endif /* GUID_DEFINED */
307
308#ifndef MM_MIDI_MAPPER
309#define MM_MIDI_MAPPER 1
310#define MM_WAVE_MAPPER 2
311#define MM_SNDBLST_MIDIOUT 3
312#define MM_SNDBLST_MIDIIN 4
313#define MM_SNDBLST_SYNTH 5
314#define MM_SNDBLST_WAVEOUT 6
315#define MM_SNDBLST_WAVEIN 7
316#define MM_ADLIB 9
317#define MM_MPU401_MIDIOUT 10
318#define MM_MPU401_MIDIIN 11
319#define MM_PC_JOYSTICK 12
320#endif
321
322#define MM_PCSPEAKER_WAVEOUT 13
323#define MM_MSFT_WSS_WAVEIN 14
324#define MM_MSFT_WSS_WAVEOUT 15
325#define MM_MSFT_WSS_FMSYNTH_STEREO 16
326#define MM_MSFT_WSS_MIXER 17
327#define MM_MSFT_WSS_OEM_WAVEIN 18
328#define MM_MSFT_WSS_OEM_WAVEOUT 19
329#define MM_MSFT_WSS_OEM_FMSYNTH_STEREO 20
330#define MM_MSFT_WSS_AUX 21
331#define MM_MSFT_WSS_OEM_AUX 22
332#define MM_MSFT_GENERIC_WAVEIN 23
333#define MM_MSFT_GENERIC_WAVEOUT 24
334#define MM_MSFT_GENERIC_MIDIIN 25
335#define MM_MSFT_GENERIC_MIDIOUT 26
336#define MM_MSFT_GENERIC_MIDISYNTH 27
337#define MM_MSFT_GENERIC_AUX_LINE 28
338#define MM_MSFT_GENERIC_AUX_MIC 29
339#define MM_MSFT_GENERIC_AUX_CD 30
340#define MM_MSFT_WSS_OEM_MIXER 31
341#define MM_MSFT_MSACM 32
342#define MM_MSFT_ACM_MSADPCM 33
343#define MM_MSFT_ACM_IMAADPCM 34
344#define MM_MSFT_ACM_MSFILTER 35
345#define MM_MSFT_ACM_GSM610 36
346#define MM_MSFT_ACM_G711 37
347#define MM_MSFT_ACM_PCM 38
348#define MM_WSS_SB16_WAVEIN 39
349#define MM_WSS_SB16_WAVEOUT 40
350#define MM_WSS_SB16_MIDIIN 41
351#define MM_WSS_SB16_MIDIOUT 42
352#define MM_WSS_SB16_SYNTH 43
353#define MM_WSS_SB16_AUX_LINE 44
354#define MM_WSS_SB16_AUX_CD 45
355#define MM_WSS_SB16_MIXER 46
356#define MM_WSS_SBPRO_WAVEIN 47
357#define MM_WSS_SBPRO_WAVEOUT 48
358#define MM_WSS_SBPRO_MIDIIN 49
359#define MM_WSS_SBPRO_MIDIOUT 50
360#define MM_WSS_SBPRO_SYNTH 51
361#define MM_WSS_SBPRO_AUX_LINE 52
362#define MM_WSS_SBPRO_AUX_CD 53
363#define MM_WSS_SBPRO_MIXER 54
364#define MM_MSFT_WSS_NT_WAVEIN 55
365#define MM_MSFT_WSS_NT_WAVEOUT 56
366#define MM_MSFT_WSS_NT_FMSYNTH_STEREO 57
367#define MM_MSFT_WSS_NT_MIXER 58
368#define MM_MSFT_WSS_NT_AUX 59
369#define MM_MSFT_SB16_WAVEIN 60
370#define MM_MSFT_SB16_WAVEOUT 61
371#define MM_MSFT_SB16_MIDIIN 62
372#define MM_MSFT_SB16_MIDIOUT 63
373#define MM_MSFT_SB16_SYNTH 64
374#define MM_MSFT_SB16_AUX_LINE 65
375#define MM_MSFT_SB16_AUX_CD 66
376#define MM_MSFT_SB16_MIXER 67
377#define MM_MSFT_SBPRO_WAVEIN 68
378#define MM_MSFT_SBPRO_WAVEOUT 69
379#define MM_MSFT_SBPRO_MIDIIN 70
380#define MM_MSFT_SBPRO_MIDIOUT 71
381#define MM_MSFT_SBPRO_SYNTH 72
382#define MM_MSFT_SBPRO_AUX_LINE 73
383#define MM_MSFT_SBPRO_AUX_CD 74
384#define MM_MSFT_SBPRO_MIXER 75
385#define MM_MSFT_MSOPL_SYNTH 76
386#define MM_MSFT_VMDMS_LINE_WAVEIN 80
387#define MM_MSFT_VMDMS_LINE_WAVEOUT 81
388#define MM_MSFT_VMDMS_HANDSET_WAVEIN 82
389#define MM_MSFT_VMDMS_HANDSET_WAVEOUT 83
390#define MM_MSFT_VMDMW_LINE_WAVEIN 84
391#define MM_MSFT_VMDMW_LINE_WAVEOUT 85
392#define MM_MSFT_VMDMW_HANDSET_WAVEIN 86
393#define MM_MSFT_VMDMW_HANDSET_WAVEOUT 87
394#define MM_MSFT_VMDMW_MIXER 88
395#define MM_MSFT_VMDM_GAME_WAVEOUT 89
396#define MM_MSFT_VMDM_GAME_WAVEIN 90
397#define MM_MSFT_ACM_MSNAUDIO 91
398#define MM_MSFT_ACM_MSG723 92
399#define MM_MSFT_ACM_MSRT24 93
400
401#define MM_MSFT_WDMAUDIO_WAVEOUT 100
402#define MM_MSFT_WDMAUDIO_WAVEIN 101
403#define MM_MSFT_WDMAUDIO_MIDIOUT 102
404#define MM_MSFT_WDMAUDIO_MIDIIN 103
405#define MM_MSFT_WDMAUDIO_MIXER 104
406#define MM_MSFT_WDMAUDIO_AUX 105
407
408#define MM_CREATIVE_SB15_WAVEIN 1
409#define MM_CREATIVE_SB20_WAVEIN 2
410#define MM_CREATIVE_SBPRO_WAVEIN 3
411#define MM_CREATIVE_SBP16_WAVEIN 4
412#define MM_CREATIVE_PHNBLST_WAVEIN 5
413#define MM_CREATIVE_SB15_WAVEOUT 101
414#define MM_CREATIVE_SB20_WAVEOUT 102
415#define MM_CREATIVE_SBPRO_WAVEOUT 103
416#define MM_CREATIVE_SBP16_WAVEOUT 104
417#define MM_CREATIVE_PHNBLST_WAVEOUT 105
418#define MM_CREATIVE_MIDIOUT 201
419#define MM_CREATIVE_MIDIIN 202
420#define MM_CREATIVE_FMSYNTH_MONO 301
421#define MM_CREATIVE_FMSYNTH_STEREO 302
422#define MM_CREATIVE_MIDI_AWE32 303
423#define MM_CREATIVE_AUX_CD 401
424#define MM_CREATIVE_AUX_LINE 402
425#define MM_CREATIVE_AUX_MIC 403
426#define MM_CREATIVE_AUX_MASTER 404
427#define MM_CREATIVE_AUX_PCSPK 405
428#define MM_CREATIVE_AUX_WAVE 406
429#define MM_CREATIVE_AUX_MIDI 407
430#define MM_CREATIVE_SBPRO_MIXER 408
431#define MM_CREATIVE_SB16_MIXER 409
432
433#define MM_MEDIAVISION_PROAUDIO 0x10
434#define MM_PROAUD_MIDIOUT (MM_MEDIAVISION_PROAUDIO+1)
435#define MM_PROAUD_MIDIIN (MM_MEDIAVISION_PROAUDIO+2)
436#define MM_PROAUD_SYNTH (MM_MEDIAVISION_PROAUDIO+3)
437#define MM_PROAUD_WAVEOUT (MM_MEDIAVISION_PROAUDIO+4)
438#define MM_PROAUD_WAVEIN (MM_MEDIAVISION_PROAUDIO+5)
439#define MM_PROAUD_MIXER (MM_MEDIAVISION_PROAUDIO+6)
440#define MM_PROAUD_AUX (MM_MEDIAVISION_PROAUDIO+7)
441
442#define MM_MEDIAVISION_THUNDER 0x20
443#define MM_THUNDER_SYNTH (MM_MEDIAVISION_THUNDER+3)
444#define MM_THUNDER_WAVEOUT (MM_MEDIAVISION_THUNDER+4)
445#define MM_THUNDER_WAVEIN (MM_MEDIAVISION_THUNDER+5)
446#define MM_THUNDER_AUX (MM_MEDIAVISION_THUNDER+7)
447
448#define MM_MEDIAVISION_TPORT 0x40
449#define MM_TPORT_WAVEOUT (MM_MEDIAVISION_TPORT+1)
450#define MM_TPORT_WAVEIN (MM_MEDIAVISION_TPORT+2)
451#define MM_TPORT_SYNTH (MM_MEDIAVISION_TPORT+3)
452
453#define MM_MEDIAVISION_PROAUDIO_PLUS 0x50
454#define MM_PROAUD_PLUS_MIDIOUT (MM_MEDIAVISION_PROAUDIO_PLUS+1)
455#define MM_PROAUD_PLUS_MIDIIN (MM_MEDIAVISION_PROAUDIO_PLUS+2)
456#define MM_PROAUD_PLUS_SYNTH (MM_MEDIAVISION_PROAUDIO_PLUS+3)
457#define MM_PROAUD_PLUS_WAVEOUT (MM_MEDIAVISION_PROAUDIO_PLUS+4)
458#define MM_PROAUD_PLUS_WAVEIN (MM_MEDIAVISION_PROAUDIO_PLUS+5)
459#define MM_PROAUD_PLUS_MIXER (MM_MEDIAVISION_PROAUDIO_PLUS+6)
460#define MM_PROAUD_PLUS_AUX (MM_MEDIAVISION_PROAUDIO_PLUS+7)
461
462#define MM_MEDIAVISION_PROAUDIO_16 0x60
463#define MM_PROAUD_16_MIDIOUT (MM_MEDIAVISION_PROAUDIO_16+1)
464#define MM_PROAUD_16_MIDIIN (MM_MEDIAVISION_PROAUDIO_16+2)
465#define MM_PROAUD_16_SYNTH (MM_MEDIAVISION_PROAUDIO_16+3)
466#define MM_PROAUD_16_WAVEOUT (MM_MEDIAVISION_PROAUDIO_16+4)
467#define MM_PROAUD_16_WAVEIN (MM_MEDIAVISION_PROAUDIO_16+5)
468#define MM_PROAUD_16_MIXER (MM_MEDIAVISION_PROAUDIO_16+6)
469#define MM_PROAUD_16_AUX (MM_MEDIAVISION_PROAUDIO_16+7)
470
471#define MM_MEDIAVISION_PROSTUDIO_16 0x60
472#define MM_STUDIO_16_MIDIOUT (MM_MEDIAVISION_PROSTUDIO_16+1)
473#define MM_STUDIO_16_MIDIIN (MM_MEDIAVISION_PROSTUDIO_16+2)
474#define MM_STUDIO_16_SYNTH (MM_MEDIAVISION_PROSTUDIO_16+3)
475#define MM_STUDIO_16_WAVEOUT (MM_MEDIAVISION_PROSTUDIO_16+4)
476#define MM_STUDIO_16_WAVEIN (MM_MEDIAVISION_PROSTUDIO_16+5)
477#define MM_STUDIO_16_MIXER (MM_MEDIAVISION_PROSTUDIO_16+6)
478#define MM_STUDIO_16_AUX (MM_MEDIAVISION_PROSTUDIO_16+7)
479
480#define MM_MEDIAVISION_CDPC 0x70
481#define MM_CDPC_MIDIOUT (MM_MEDIAVISION_CDPC+1)
482#define MM_CDPC_MIDIIN (MM_MEDIAVISION_CDPC+2)
483#define MM_CDPC_SYNTH (MM_MEDIAVISION_CDPC+3)
484#define MM_CDPC_WAVEOUT (MM_MEDIAVISION_CDPC+4)
485#define MM_CDPC_WAVEIN (MM_MEDIAVISION_CDPC+5)
486#define MM_CDPC_MIXER (MM_MEDIAVISION_CDPC+6)
487#define MM_CDPC_AUX (MM_MEDIAVISION_CDPC+7)
488
489#define MM_MEDIAVISION_OPUS1208 0x80
490#define MM_OPUS401_MIDIOUT (MM_MEDIAVISION_OPUS1208+1)
491#define MM_OPUS401_MIDIIN (MM_MEDIAVISION_OPUS1208+2)
492#define MM_OPUS1208_SYNTH (MM_MEDIAVISION_OPUS1208+3)
493#define MM_OPUS1208_WAVEOUT (MM_MEDIAVISION_OPUS1208+4)
494#define MM_OPUS1208_WAVEIN (MM_MEDIAVISION_OPUS1208+5)
495#define MM_OPUS1208_MIXER (MM_MEDIAVISION_OPUS1208+6)
496#define MM_OPUS1208_AUX (MM_MEDIAVISION_OPUS1208+7)
497
498#define MM_MEDIAVISION_OPUS1216 0x90
499#define MM_OPUS1216_MIDIOUT (MM_MEDIAVISION_OPUS1216+1)
500#define MM_OPUS1216_MIDIIN (MM_MEDIAVISION_OPUS1216+2)
501#define MM_OPUS1216_SYNTH (MM_MEDIAVISION_OPUS1216+3)
502#define MM_OPUS1216_WAVEOUT (MM_MEDIAVISION_OPUS1216+4)
503#define MM_OPUS1216_WAVEIN (MM_MEDIAVISION_OPUS1216+5)
504#define MM_OPUS1216_MIXER (MM_MEDIAVISION_OPUS1216+6)
505#define MM_OPUS1216_AUX (MM_MEDIAVISION_OPUS1216+7)
506
507#define MM_CYRIX_XASYNTH 1
508#define MM_CYRIX_XAMIDIIN 2
509#define MM_CYRIX_XAMIDIOUT 3
510#define MM_CYRIX_XAWAVEIN 4
511#define MM_CYRIX_XAWAVEOUT 5
512#define MM_CYRIX_XAAUX 6
513#define MM_CYRIX_XAMIXER 7
514
515#define MM_PHILIPS_ACM_LPCBB 1
516#define MM_NETXL_XLVIDEO 1
517#define MM_ZYXEL_ACM_ADPCM 1
518
519#define MM_AARDVARK_STUDIO12_WAVEOUT 1
520#define MM_AARDVARK_STUDIO12_WAVEIN 2
521#define MM_AARDVARK_STUDIO88_WAVEOUT 3
522#define MM_AARDVARK_STUDIO88_WAVEIN 4
523
524#define MM_BINTEC_TAPI_WAVE 1
525
526#define MM_HEWLETT_PACKARD_CU_CODEC 1
527
528#define MM_MITEL_TALKTO_LINE_WAVEOUT 100
529#define MM_MITEL_TALKTO_LINE_WAVEIN 101
530#define MM_MITEL_TALKTO_HANDSET_WAVEOUT 102
531#define MM_MITEL_TALKTO_HANDSET_WAVEIN 103
532#define MM_MITEL_TALKTO_BRIDGED_WAVEOUT 104
533#define MM_MITEL_TALKTO_BRIDGED_WAVEIN 105
534#define MM_MITEL_MPA_HANDSET_WAVEOUT 200
535#define MM_MITEL_MPA_HANDSET_WAVEIN 201
536#define MM_MITEL_MPA_HANDSFREE_WAVEOUT 202
537#define MM_MITEL_MPA_HANDSFREE_WAVEIN 203
538#define MM_MITEL_MPA_LINE1_WAVEOUT 204
539#define MM_MITEL_MPA_LINE1_WAVEIN 205
540#define MM_MITEL_MPA_LINE2_WAVEOUT 206
541#define MM_MITEL_MPA_LINE2_WAVEIN 207
542#define MM_MITEL_MEDIAPATH_WAVEOUT 300
543#define MM_MITEL_MEDIAPATH_WAVEIN 301
544
545#define MM_SNI_ACM_G721 1
546
547#define MM_EMU_APSSYNTH 1
548#define MM_EMU_APSMIDIIN 2
549#define MM_EMU_APSMIDIOUT 3
550#define MM_EMU_APSWAVEIN 4
551#define MM_EMU_APSWAVEOUT 5
552
553#define MM_ARTISOFT_SBWAVEIN 1
554#define MM_ARTISOFT_SBWAVEOUT 2
555
556#define MM_TBS_TROPEZ_WAVEIN 37
557#define MM_TBS_TROPEZ_WAVEOUT 38
558#define MM_TBS_TROPEZ_AUX1 39
559#define MM_TBS_TROPEZ_AUX2 40
560#define MM_TBS_TROPEZ_LINE 41
561
562#define MM_MMOTION_WAVEAUX 1
563#define MM_MMOTION_WAVEOUT 2
564#define MM_MMOTION_WAVEIN 3
565#define MM_IBM_PCMCIA_WAVEIN 11
566#define MM_IBM_PCMCIA_WAVEOUT 12
567#define MM_IBM_PCMCIA_SYNTH 13
568#define MM_IBM_PCMCIA_MIDIIN 14
569#define MM_IBM_PCMCIA_MIDIOUT 15
570#define MM_IBM_PCMCIA_AUX 16
571#define MM_IBM_THINKPAD200 17
572#define MM_IBM_MWAVE_WAVEIN 18
573#define MM_IBM_MWAVE_WAVEOUT 19
574#define MM_IBM_MWAVE_MIXER 20
575#define MM_IBM_MWAVE_MIDIIN 21
576#define MM_IBM_MWAVE_MIDIOUT 22
577#define MM_IBM_MWAVE_AUX 23
578#define MM_IBM_WC_MIDIOUT 30
579#define MM_IBM_WC_WAVEOUT 31
580#define MM_IBM_WC_MIXEROUT 33
581
582#define MM_VOCALTEC_WAVEOUT 1
583#define MM_VOCALTEC_WAVEIN 2
584
585#define MM_ROLAND_RAP10_MIDIOUT 10
586#define MM_ROLAND_RAP10_MIDIIN 11
587#define MM_ROLAND_RAP10_SYNTH 12
588#define MM_ROLAND_RAP10_WAVEOUT 13
589#define MM_ROLAND_RAP10_WAVEIN 14
590#define MM_ROLAND_MPU401_MIDIOUT 15
591#define MM_ROLAND_MPU401_MIDIIN 16
592#define MM_ROLAND_SMPU_MIDIOUTA 17
593#define MM_ROLAND_SMPU_MIDIOUTB 18
594#define MM_ROLAND_SMPU_MIDIINA 19
595#define MM_ROLAND_SMPU_MIDIINB 20
596#define MM_ROLAND_SC7_MIDIOUT 21
597#define MM_ROLAND_SC7_MIDIIN 22
598#define MM_ROLAND_SERIAL_MIDIOUT 23
599#define MM_ROLAND_SERIAL_MIDIIN 24
600#define MM_ROLAND_SCP_MIDIOUT 38
601#define MM_ROLAND_SCP_MIDIIN 39
602#define MM_ROLAND_SCP_WAVEOUT 40
603#define MM_ROLAND_SCP_WAVEIN 41
604#define MM_ROLAND_SCP_MIXER 42
605#define MM_ROLAND_SCP_AUX 48
606
607#define MM_DSP_SOLUTIONS_WAVEOUT 1
608#define MM_DSP_SOLUTIONS_WAVEIN 2
609#define MM_DSP_SOLUTIONS_SYNTH 3
610#define MM_DSP_SOLUTIONS_AUX 4
611
612#define MM_NEC_73_86_SYNTH 5
613#define MM_NEC_73_86_WAVEOUT 6
614#define MM_NEC_73_86_WAVEIN 7
615#define MM_NEC_26_SYNTH 9
616#define MM_NEC_MPU401_MIDIOUT 10
617#define MM_NEC_MPU401_MIDIIN 11
618#define MM_NEC_JOYSTICK 12
619
620#define MM_WANGLABS_WAVEIN1 1
621#define MM_WANGLABS_WAVEOUT1 2
622
623#define MM_TANDY_VISWAVEIN 1
624#define MM_TANDY_VISWAVEOUT 2
625#define MM_TANDY_VISBIOSSYNTH 3
626#define MM_TANDY_SENS_MMAWAVEIN 4
627#define MM_TANDY_SENS_MMAWAVEOUT 5
628#define MM_TANDY_SENS_MMAMIDIIN 6
629#define MM_TANDY_SENS_MMAMIDIOUT 7
630#define MM_TANDY_SENS_VISWAVEOUT 8
631#define MM_TANDY_PSSJWAVEIN 9
632#define MM_TANDY_PSSJWAVEOUT 10
633
634#define MM_ANTEX_SX12_WAVEIN 1
635#define MM_ANTEX_SX12_WAVEOUT 2
636#define MM_ANTEX_SX15_WAVEIN 3
637#define MM_ANTEX_SX15_WAVEOUT 4
638#define MM_ANTEX_VP625_WAVEIN 5
639#define MM_ANTEX_VP625_WAVEOUT 6
640#define MM_ANTEX_AUDIOPORT22_WAVEIN 7
641#define MM_ANTEX_AUDIOPORT22_WAVEOUT 8
642#define MM_ANTEX_AUDIOPORT22_FEEDTHRU 9
643
644#define MM_INTELOPD_WAVEIN 1
645#define MM_INTELOPD_WAVEOUT 101
646#define MM_INTELOPD_AUX 401
647#define MM_INTEL_NSPMODEMLINEIN 501
648#define MM_INTEL_NSPMODEMLINEOUT 502
649
650#define MM_VAL_MICROKEY_AP_WAVEIN 1
651#define MM_VAL_MICROKEY_AP_WAVEOUT 2
652
653#define MM_INTERACTIVE_WAVEIN 0x45
654#define MM_INTERACTIVE_WAVEOUT 0x45
655
656#define MM_YAMAHA_GSS_SYNTH 0x01
657#define MM_YAMAHA_GSS_WAVEOUT 0x02
658#define MM_YAMAHA_GSS_WAVEIN 0x03
659#define MM_YAMAHA_GSS_MIDIOUT 0x04
660#define MM_YAMAHA_GSS_MIDIIN 0x05
661#define MM_YAMAHA_GSS_AUX 0x06
662#define MM_YAMAHA_SERIAL_MIDIOUT 0x07
663#define MM_YAMAHA_SERIAL_MIDIIN 0x08
664#define MM_YAMAHA_OPL3SA_WAVEOUT 0x10
665#define MM_YAMAHA_OPL3SA_WAVEIN 0x11
666#define MM_YAMAHA_OPL3SA_FMSYNTH 0x12
667#define MM_YAMAHA_OPL3SA_YSYNTH 0x13
668#define MM_YAMAHA_OPL3SA_MIDIOUT 0x14
669#define MM_YAMAHA_OPL3SA_MIDIIN 0x15
670#define MM_YAMAHA_OPL3SA_MIXER 0x17
671#define MM_YAMAHA_OPL3SA_JOYSTICK 0x18
672#define MM_YAMAHA_YMF724LEG_MIDIOUT 0x19
673#define MM_YAMAHA_YMF724LEG_MIDIIN 0x1a
674#define MM_YAMAHA_YMF724_WAVEOUT 0x1b
675#define MM_YAMAHA_YMF724_WAVEIN 0x1c
676#define MM_YAMAHA_YMF724_MIDIOUT 0x1d
677#define MM_YAMAHA_YMF724_AUX 0x1e
678#define MM_YAMAHA_YMF724_MIXER 0x1f
679#define MM_YAMAHA_YMF724LEG_FMSYNTH 0x20
680#define MM_YAMAHA_YMF724LEG_MIXER 0x21
681#define MM_YAMAHA_SXG_MIDIOUT 0x22
682#define MM_YAMAHA_SXG_WAVEOUT 0x23
683#define MM_YAMAHA_SXG_MIXER 0x24
684#define MM_YAMAHA_ACXG_WAVEIN 0x25
685#define MM_YAMAHA_ACXG_WAVEOUT 0x26
686#define MM_YAMAHA_ACXG_MIDIOUT 0x27
687#define MM_YAMAHA_ACXG_MIXER 0x28
688#define MM_YAMAHA_ACXG_AUX 0x29
689
690#define MM_EVEREX_CARRIER 1
691
692#define MM_ECHO_SYNTH 1
693#define MM_ECHO_WAVEOUT 2
694#define MM_ECHO_WAVEIN 3
695#define MM_ECHO_MIDIOUT 4
696#define MM_ECHO_MIDIIN 5
697#define MM_ECHO_AUX 6
698
699#define MM_SIERRA_ARIA_MIDIOUT 0x14
700#define MM_SIERRA_ARIA_MIDIIN 0x15
701#define MM_SIERRA_ARIA_SYNTH 0x16
702#define MM_SIERRA_ARIA_WAVEOUT 0x17
703#define MM_SIERRA_ARIA_WAVEIN 0x18
704#define MM_SIERRA_ARIA_AUX 0x19
705#define MM_SIERRA_ARIA_AUX2 0x20
706#define MM_SIERRA_QUARTET_WAVEIN 0x50
707#define MM_SIERRA_QUARTET_WAVEOUT 0x51
708#define MM_SIERRA_QUARTET_MIDIIN 0x52
709#define MM_SIERRA_QUARTET_MIDIOUT 0x53
710#define MM_SIERRA_QUARTET_SYNTH 0x54
711#define MM_SIERRA_QUARTET_AUX_CD 0x55
712#define MM_SIERRA_QUARTET_AUX_LINE 0x56
713#define MM_SIERRA_QUARTET_AUX_MODEM 0x57
714#define MM_SIERRA_QUARTET_MIXER 0x58
715
716#define MM_CAT_WAVEOUT 1
717
718#define MM_DSP_GROUP_TRUESPEECH 1
719
720#define MM_MELABS_MIDI2GO 1
721
722#define MM_ESS_AMWAVEOUT 0x01
723#define MM_ESS_AMWAVEIN 0x02
724#define MM_ESS_AMAUX 0x03
725#define MM_ESS_AMSYNTH 0x04
726#define MM_ESS_AMMIDIOUT 0x05
727#define MM_ESS_AMMIDIIN 0x06
728#define MM_ESS_MIXER 0x07
729#define MM_ESS_AUX_CD 0x08
730#define MM_ESS_MPU401_MIDIOUT 0x09
731#define MM_ESS_MPU401_MIDIIN 0x0a
732#define MM_ESS_ES488_WAVEOUT 0x10
733#define MM_ESS_ES488_WAVEIN 0x11
734#define MM_ESS_ES488_MIXER 0x12
735#define MM_ESS_ES688_WAVEOUT 0x13
736#define MM_ESS_ES688_WAVEIN 0x14
737#define MM_ESS_ES688_MIXER 0x15
738#define MM_ESS_ES1488_WAVEOUT 0x16
739#define MM_ESS_ES1488_WAVEIN 0x17
740#define MM_ESS_ES1488_MIXER 0x18
741#define MM_ESS_ES1688_WAVEOUT 0x19
742#define MM_ESS_ES1688_WAVEIN 0x1a
743#define MM_ESS_ES1688_MIXER 0x1b
744#define MM_ESS_ES1788_WAVEOUT 0x1c
745#define MM_ESS_ES1788_WAVEIN 0x1d
746#define MM_ESS_ES1788_MIXER 0x1e
747#define MM_ESS_ES1888_WAVEOUT 0x1f
748#define MM_ESS_ES1888_WAVEIN 0x20
749#define MM_ESS_ES1888_MIXER 0x21
750#define MM_ESS_ES1868_WAVEOUT 0x22
751#define MM_ESS_ES1868_WAVEIN 0x23
752#define MM_ESS_ES1868_MIXER 0x24
753#define MM_ESS_ES1878_WAVEOUT 0x25
754#define MM_ESS_ES1878_WAVEIN 0x26
755#define MM_ESS_ES1878_MIXER 0x27
756
757#define MM_CANOPUS_ACM_DVREX 1
758
759#define MM_EPS_FMSND 1
760
761#define MM_TRUEVISION_WAVEIN1 1
762#define MM_TRUEVISION_WAVEOUT1 2
763
764#define MM_AZTECH_MIDIOUT 3
765#define MM_AZTECH_MIDIIN 4
766#define MM_AZTECH_WAVEIN 17
767#define MM_AZTECH_WAVEOUT 18
768#define MM_AZTECH_FMSYNTH 20
769#define MM_AZTECH_MIXER 21
770#define MM_AZTECH_PRO16_WAVEIN 33
771#define MM_AZTECH_PRO16_WAVEOUT 34
772#define MM_AZTECH_PRO16_FMSYNTH 38
773#define MM_AZTECH_DSP16_WAVEIN 65
774#define MM_AZTECH_DSP16_WAVEOUT 66
775#define MM_AZTECH_DSP16_FMSYNTH 68
776#define MM_AZTECH_DSP16_WAVESYNTH 70
777#define MM_AZTECH_NOVA16_WAVEIN 71
778#define MM_AZTECH_NOVA16_WAVEOUT 72
779#define MM_AZTECH_NOVA16_MIXER 73
780#define MM_AZTECH_WASH16_WAVEIN 74
781#define MM_AZTECH_WASH16_WAVEOUT 75
782#define MM_AZTECH_WASH16_MIXER 76
783#define MM_AZTECH_AUX_CD 401
784#define MM_AZTECH_AUX_LINE 402
785#define MM_AZTECH_AUX_MIC 403
786#define MM_AZTECH_AUX 404
787
788#define MM_VIDEOLOGIC_MSWAVEIN 1
789#define MM_VIDEOLOGIC_MSWAVEOUT 2
790
791#define MM_KORG_PCIF_MIDIOUT 1
792#define MM_KORG_PCIF_MIDIIN 2
793#define MM_KORG_1212IO_MSWAVEIN 3
794#define MM_KORG_1212IO_MSWAVEOUT 4
795
796#define MM_APT_ACE100CD 1
797
798#define MM_ICS_WAVEDECK_WAVEOUT 1
799#define MM_ICS_WAVEDECK_WAVEIN 2
800#define MM_ICS_WAVEDECK_MIXER 3
801#define MM_ICS_WAVEDECK_AUX 4
802#define MM_ICS_WAVEDECK_SYNTH 5
803#define MM_ICS_WAVEDEC_SB_WAVEOUT 6
804#define MM_ICS_WAVEDEC_SB_WAVEIN 7
805#define MM_ICS_WAVEDEC_SB_FM_MIDIOUT 8
806#define MM_ICS_WAVEDEC_SB_MPU401_MIDIOUT 9
807#define MM_ICS_WAVEDEC_SB_MPU401_MIDIIN 10
808#define MM_ICS_WAVEDEC_SB_MIXER 11
809#define MM_ICS_WAVEDEC_SB_AUX 12
810#define MM_ICS_2115_LITE_MIDIOUT 13
811#define MM_ICS_2120_LITE_MIDIOUT 14
812
813#define MM_ITERATEDSYS_FUFCODEC 1
814
815#define MM_METHEUS_ZIPPER 1
816
817#define MM_WINNOV_CAVIAR_WAVEIN 1
818#define MM_WINNOV_CAVIAR_WAVEOUT 2
819#define MM_WINNOV_CAVIAR_VIDC 3
820#define MM_WINNOV_CAVIAR_CHAMPAGNE 4
821#define MM_WINNOV_CAVIAR_YUV8 5
822
823#define MM_NCR_BA_WAVEIN 1
824#define MM_NCR_BA_WAVEOUT 2
825#define MM_NCR_BA_SYNTH 3
826#define MM_NCR_BA_AUX 4
827#define MM_NCR_BA_MIXER 5
828
829#define MM_AST_MODEMWAVE_WAVEIN 13
830#define MM_AST_MODEMWAVE_WAVEOUT 14
831
832#define MM_WILLOWPOND_FMSYNTH_STEREO 20
833#define MM_WILLOWPOND_MPU401 21
834#define MM_WILLOWPOND_SNDPORT_WAVEIN 100
835#define MM_WILLOWPOND_SNDPORT_WAVEOUT 101
836#define MM_WILLOWPOND_SNDPORT_MIXER 102
837#define MM_WILLOWPOND_SNDPORT_AUX 103
838#define MM_WILLOWPOND_PH_WAVEIN 104
839#define MM_WILLOWPOND_PH_WAVEOUT 105
840#define MM_WILLOWPOND_PH_MIXER 106
841#define MM_WILLOWPOND_PH_AUX 107
842#define MM_WILLOPOND_SNDCOMM_WAVEIN 108
843#define MM_WILLOWPOND_SNDCOMM_WAVEOUT 109
844#define MM_WILLOWPOND_SNDCOMM_MIXER 110
845#define MM_WILLOWPOND_SNDCOMM_AUX 111
846#define MM_WILLOWPOND_GENERIC_WAVEIN 112
847#define MM_WILLOWPOND_GENERIC_WAVEOUT 113
848#define MM_WILLOWPOND_GENERIC_MIXER 114
849#define MM_WILLOWPOND_GENERIC_AUX 115
850
851#define MM_VITEC_VMAKER 1
852#define MM_VITEC_VMPRO 2
853
854#define MM_MOSCOM_VPC2400_IN 1
855#define MM_MOSCOM_VPC2400_OUT 2
856
857#define MM_SILICONSOFT_SC1_WAVEIN 1
858#define MM_SILICONSOFT_SC1_WAVEOUT 2
859#define MM_SILICONSOFT_SC2_WAVEIN 3
860#define MM_SILICONSOFT_SC2_WAVEOUT 4
861#define MM_SILICONSOFT_SOUNDJR2_WAVEOUT 5
862#define MM_SILICONSOFT_SOUNDJR2PR_WAVEIN 6
863#define MM_SILICONSOFT_SOUNDJR2PR_WAVEOUT 7
864#define MM_SILICONSOFT_SOUNDJR3_WAVEOUT 8
865
866#define MM_TTEWS_WAVEIN 1
867#define MM_TTEWS_WAVEOUT 2
868#define MM_TTEWS_MIDIIN 3
869#define MM_TTEWS_MIDIOUT 4
870#define MM_TTEWS_MIDISYNTH 5
871#define MM_TTEWS_MIDIMONITOR 6
872#define MM_TTEWS_VMIDIIN 7
873#define MM_TTEWS_VMIDIOUT 8
874#define MM_TTEWS_AUX 9
875#define MM_TTEWS_MIXER 10
876
877#define MM_MEDIASONIC_ACM_G723 1
878#define MM_MEDIASONIC_ICOM 2
879#define MM_ICOM_WAVEIN 3
880#define MM_ICOM_WAVEOUT 4
881#define MM_ICOM_MIXER 5
882#define MM_ICOM_AUX 6
883#define MM_ICOM_LINE 7
884
885#define MM_SANYO_ACM_LD_ADPCM 1
886
887#define MM_AHEAD_MULTISOUND 1
888#define MM_AHEAD_SOUNDBLASTER 2
889#define MM_AHEAD_PROAUDIO 3
890#define MM_AHEAD_GENERIC 4
891
892#define MM_OLIVETTI_WAVEIN 1
893#define MM_OLIVETTI_WAVEOUT 2
894#define MM_OLIVETTI_MIXER 3
895#define MM_OLIVETTI_AUX 4
896#define MM_OLIVETTI_MIDIIN 5
897#define MM_OLIVETTI_MIDIOUT 6
898#define MM_OLIVETTI_SYNTH 7
899#define MM_OLIVETTI_JOYSTICK 8
900#define MM_OLIVETTI_ACM_GSM 9
901#define MM_OLIVETTI_ACM_ADPCM 10
902#define MM_OLIVETTI_ACM_CELP 11
903#define MM_OLIVETTI_ACM_SBC 12
904#define MM_OLIVETTI_ACM_OPR 13
905
906#define MM_IOMAGIC_TEMPO_WAVEOUT 1
907#define MM_IOMAGIC_TEMPO_WAVEIN 2
908#define MM_IOMAGIC_TEMPO_SYNTH 3
909#define MM_IOMAGIC_TEMPO_MIDIOUT 4
910#define MM_IOMAGIC_TEMPO_MXDOUT 5
911#define MM_IOMAGIC_TEMPO_AUXOUT 6
912
913#define MM_MATSUSHITA_WAVEIN 1
914#define MM_MATSUSHITA_WAVEOUT 2
915#define MM_MATSUSHITA_FMSYNTH_STEREO 3
916#define MM_MATSUSHITA_MIXER 4
917#define MM_MATSUSHITA_AUX 5
918
919#define MM_NEWMEDIA_WAVJAMMER 1
920
921#define MM_LYRRUS_BRIDGE_GUITAR 1
922
923#define MM_OPTI_M16_FMSYNTH_STEREO 0x0001
924#define MM_OPTI_M16_MIDIIN 0x0002
925#define MM_OPTI_M16_MIDIOUT 0x0003
926#define MM_OPTI_M16_WAVEIN 0x0004
927#define MM_OPTI_M16_WAVEOUT 0x0005
928#define MM_OPTI_M16_MIXER 0x0006
929#define MM_OPTI_M16_AUX 0x0007
930#define MM_OPTI_P16_FMSYNTH_STEREO 0x0010
931#define MM_OPTI_P16_MIDIIN 0x0011
932#define MM_OPTI_P16_MIDIOUT 0x0012
933#define MM_OPTI_P16_WAVEIN 0x0013
934#define MM_OPTI_P16_WAVEOUT 0x0014
935#define MM_OPTI_P16_MIXER 0x0015
936#define MM_OPTI_P16_AUX 0x0016
937#define MM_OPTI_M32_WAVEIN 0x0020
938#define MM_OPTI_M32_WAVEOUT 0x0021
939#define MM_OPTI_M32_MIDIIN 0x0022
940#define MM_OPTI_M32_MIDIOUT 0x0023
941#define MM_OPTI_M32_SYNTH_STEREO 0x0024
942#define MM_OPTI_M32_MIXER 0x0025
943#define MM_OPTI_M32_AUX 0x0026
944
945#define MM_COMPAQ_BB_WAVEIN 1
946#define MM_COMPAQ_BB_WAVEOUT 2
947#define MM_COMPAQ_BB_WAVEAUX 3
948
949#define MM_MPTUS_SPWAVEOUT 1
950
951#define MM_LERNOUT_ANDHAUSPIE_LHCODECACM 1
952
953#define MM_DIGITAL_AV320_WAVEIN 1
954#define MM_DIGITAL_AV320_WAVEOUT 2
955#define MM_DIGITAL_ACM_G723 3
956#define MM_DIGITAL_ICM_H263 4
957#define MM_DIGITAL_ICM_H261 5
958
959#define MM_MOTU_MTP_MIDIOUT_ALL 100
960#define MM_MOTU_MTP_MIDIIN_1 101
961#define MM_MOTU_MTP_MIDIOUT_1 101
962#define MM_MOTU_MTP_MIDIIN_2 102
963#define MM_MOTU_MTP_MIDIOUT_2 102
964#define MM_MOTU_MTP_MIDIIN_3 103
965#define MM_MOTU_MTP_MIDIOUT_3 103
966#define MM_MOTU_MTP_MIDIIN_4 104
967#define MM_MOTU_MTP_MIDIOUT_4 104
968#define MM_MOTU_MTP_MIDIIN_5 105
969#define MM_MOTU_MTP_MIDIOUT_5 105
970#define MM_MOTU_MTP_MIDIIN_6 106
971#define MM_MOTU_MTP_MIDIOUT_6 106
972#define MM_MOTU_MTP_MIDIIN_7 107
973#define MM_MOTU_MTP_MIDIOUT_7 107
974#define MM_MOTU_MTP_MIDIIN_8 108
975#define MM_MOTU_MTP_MIDIOUT_8 108
976
977#define MM_MOTU_MTPII_MIDIOUT_ALL 200
978#define MM_MOTU_MTPII_MIDIIN_SYNC 200
979#define MM_MOTU_MTPII_MIDIIN_1 201
980#define MM_MOTU_MTPII_MIDIOUT_1 201
981#define MM_MOTU_MTPII_MIDIIN_2 202
982#define MM_MOTU_MTPII_MIDIOUT_2 202
983#define MM_MOTU_MTPII_MIDIIN_3 203
984#define MM_MOTU_MTPII_MIDIOUT_3 203
985#define MM_MOTU_MTPII_MIDIIN_4 204
986#define MM_MOTU_MTPII_MIDIOUT_4 204
987#define MM_MOTU_MTPII_MIDIIN_5 205
988#define MM_MOTU_MTPII_MIDIOUT_5 205
989#define MM_MOTU_MTPII_MIDIIN_6 206
990#define MM_MOTU_MTPII_MIDIOUT_6 206
991#define MM_MOTU_MTPII_MIDIIN_7 207
992#define MM_MOTU_MTPII_MIDIOUT_7 207
993#define MM_MOTU_MTPII_MIDIIN_8 208
994#define MM_MOTU_MTPII_MIDIOUT_8 208
995#define MM_MOTU_MTPII_NET_MIDIIN_1 209
996#define MM_MOTU_MTPII_NET_MIDIOUT_1 209
997#define MM_MOTU_MTPII_NET_MIDIIN_2 210
998#define MM_MOTU_MTPII_NET_MIDIOUT_2 210
999#define MM_MOTU_MTPII_NET_MIDIIN_3 211
1000#define MM_MOTU_MTPII_NET_MIDIOUT_3 211
1001#define MM_MOTU_MTPII_NET_MIDIIN_4 212
1002#define MM_MOTU_MTPII_NET_MIDIOUT_4 212
1003#define MM_MOTU_MTPII_NET_MIDIIN_5 213
1004#define MM_MOTU_MTPII_NET_MIDIOUT_5 213
1005#define MM_MOTU_MTPII_NET_MIDIIN_6 214
1006#define MM_MOTU_MTPII_NET_MIDIOUT_6 214
1007#define MM_MOTU_MTPII_NET_MIDIIN_7 215
1008#define MM_MOTU_MTPII_NET_MIDIOUT_7 215
1009#define MM_MOTU_MTPII_NET_MIDIIN_8 216
1010#define MM_MOTU_MTPII_NET_MIDIOUT_8 216
1011
1012#define MM_MOTU_MXP_MIDIIN_MIDIOUT_ALL 300
1013#define MM_MOTU_MXP_MIDIIN_SYNC 300
1014#define MM_MOTU_MXP_MIDIIN_MIDIIN_1 301
1015#define MM_MOTU_MXP_MIDIIN_MIDIOUT_1 301
1016#define MM_MOTU_MXP_MIDIIN_MIDIIN_2 302
1017#define MM_MOTU_MXP_MIDIIN_MIDIOUT_2 302
1018#define MM_MOTU_MXP_MIDIIN_MIDIIN_3 303
1019#define MM_MOTU_MXP_MIDIIN_MIDIOUT_3 303
1020#define MM_MOTU_MXP_MIDIIN_MIDIIN_4 304
1021#define MM_MOTU_MXP_MIDIIN_MIDIOUT_4 304
1022#define MM_MOTU_MXP_MIDIIN_MIDIIN_5 305
1023#define MM_MOTU_MXP_MIDIIN_MIDIOUT_5 305
1024#define MM_MOTU_MXP_MIDIIN_MIDIIN_6 306
1025#define MM_MOTU_MXP_MIDIIN_MIDIOUT_6 306
1026
1027#define MM_MOTU_MXPMPU_MIDIOUT_ALL 400
1028#define MM_MOTU_MXPMPU_MIDIIN_SYNC 400
1029#define MM_MOTU_MXPMPU_MIDIIN_1 401
1030#define MM_MOTU_MXPMPU_MIDIOUT_1 401
1031#define MM_MOTU_MXPMPU_MIDIIN_2 402
1032#define MM_MOTU_MXPMPU_MIDIOUT_2 402
1033#define MM_MOTU_MXPMPU_MIDIIN_3 403
1034#define MM_MOTU_MXPMPU_MIDIOUT_3 403
1035#define MM_MOTU_MXPMPU_MIDIIN_4 404
1036#define MM_MOTU_MXPMPU_MIDIOUT_4 404
1037#define MM_MOTU_MXPMPU_MIDIIN_5 405
1038#define MM_MOTU_MXPMPU_MIDIOUT_5 405
1039#define MM_MOTU_MXPMPU_MIDIIN_6 406
1040#define MM_MOTU_MXPMPU_MIDIOUT_6 406
1041
1042#define MM_MOTU_MXN_MIDIOUT_ALL 500
1043#define MM_MOTU_MXN_MIDIIN_SYNC 500
1044#define MM_MOTU_MXN_MIDIIN_1 501
1045#define MM_MOTU_MXN_MIDIOUT_1 501
1046#define MM_MOTU_MXN_MIDIIN_2 502
1047#define MM_MOTU_MXN_MIDIOUT_2 502
1048#define MM_MOTU_MXN_MIDIIN_3 503
1049#define MM_MOTU_MXN_MIDIOUT_3 503
1050#define MM_MOTU_MXN_MIDIIN_4 504
1051#define MM_MOTU_MXN_MIDIOUT_4 504
1052
1053#define MM_MOTU_FLYER_MIDI_IN_SYNC 600
1054#define MM_MOTU_FLYER_MIDI_IN_A 601
1055#define MM_MOTU_FLYER_MIDI_OUT_A 601
1056#define MM_MOTU_FLYER_MIDI_IN_B 602
1057#define MM_MOTU_FLYER_MIDI_OUT_B 602
1058
1059#define MM_MOTU_PKX_MIDI_IN_SYNC 700
1060#define MM_MOTU_PKX_MIDI_IN_A 701
1061#define MM_MOTU_PKX_MIDI_OUT_A 701
1062#define MM_MOTU_PKX_MIDI_IN_B 702
1063#define MM_MOTU_PKX_MIDI_OUT_B 702
1064
1065#define MM_MOTU_DTX_MIDI_IN_SYNC 800
1066#define MM_MOTU_DTX_MIDI_IN_A 801
1067#define MM_MOTU_DTX_MIDI_OUT_A 801
1068#define MM_MOTU_DTX_MIDI_IN_B 802
1069#define MM_MOTU_DTX_MIDI_OUT_B 802
1070
1071#define MM_MOTU_MTPAV_MIDIOUT_ALL 900
1072#define MM_MOTU_MTPAV_MIDIIN_SYNC 900
1073#define MM_MOTU_MTPAV_MIDIIN_1 901
1074#define MM_MOTU_MTPAV_MIDIOUT_1 901
1075#define MM_MOTU_MTPAV_MIDIIN_2 902
1076#define MM_MOTU_MTPAV_MIDIOUT_2 902
1077#define MM_MOTU_MTPAV_MIDIIN_3 903
1078#define MM_MOTU_MTPAV_MIDIOUT_3 903
1079#define MM_MOTU_MTPAV_MIDIIN_4 904
1080#define MM_MOTU_MTPAV_MIDIOUT_4 904
1081#define MM_MOTU_MTPAV_MIDIIN_5 905
1082#define MM_MOTU_MTPAV_MIDIOUT_5 905
1083#define MM_MOTU_MTPAV_MIDIIN_6 906
1084#define MM_MOTU_MTPAV_MIDIOUT_6 906
1085#define MM_MOTU_MTPAV_MIDIIN_7 907
1086#define MM_MOTU_MTPAV_MIDIOUT_7 907
1087#define MM_MOTU_MTPAV_MIDIIN_8 908
1088#define MM_MOTU_MTPAV_MIDIOUT_8 908
1089#define MM_MOTU_MTPAV_NET_MIDIIN_1 909
1090#define MM_MOTU_MTPAV_NET_MIDIOUT_1 909
1091#define MM_MOTU_MTPAV_NET_MIDIIN_2 910
1092#define MM_MOTU_MTPAV_NET_MIDIOUT_2 910
1093#define MM_MOTU_MTPAV_NET_MIDIIN_3 911
1094#define MM_MOTU_MTPAV_NET_MIDIOUT_3 911
1095#define MM_MOTU_MTPAV_NET_MIDIIN_4 912
1096#define MM_MOTU_MTPAV_NET_MIDIOUT_4 912
1097#define MM_MOTU_MTPAV_NET_MIDIIN_5 913
1098#define MM_MOTU_MTPAV_NET_MIDIOUT_5 913
1099#define MM_MOTU_MTPAV_NET_MIDIIN_6 914
1100#define MM_MOTU_MTPAV_NET_MIDIOUT_6 914
1101#define MM_MOTU_MTPAV_NET_MIDIIN_7 915
1102#define MM_MOTU_MTPAV_NET_MIDIOUT_7 915
1103#define MM_MOTU_MTPAV_NET_MIDIIN_8 916
1104#define MM_MOTU_MTPAV_NET_MIDIOUT_8 916
1105#define MM_MOTU_MTPAV_MIDIIN_ADAT 917
1106#define MM_MOTU_MTPAV_MIDIOUT_ADAT 917
1107#define MM_MOTU_MXPXT_MIDIIN_SYNC 1000
1108#define MM_MOTU_MXPXT_MIDIOUT_ALL 1000
1109#define MM_MOTU_MXPXT_MIDIIN_1 1001
1110#define MM_MOTU_MXPXT_MIDIOUT_1 1001
1111#define MM_MOTU_MXPXT_MIDIOUT_2 1002
1112#define MM_MOTU_MXPXT_MIDIIN_2 1002
1113#define MM_MOTU_MXPXT_MIDIIN_3 1003
1114#define MM_MOTU_MXPXT_MIDIOUT_3 1003
1115#define MM_MOTU_MXPXT_MIDIIN_4 1004
1116#define MM_MOTU_MXPXT_MIDIOUT_4 1004
1117#define MM_MOTU_MXPXT_MIDIIN_5 1005
1118#define MM_MOTU_MXPXT_MIDIOUT_5 1005
1119#define MM_MOTU_MXPXT_MIDIOUT_6 1006
1120#define MM_MOTU_MXPXT_MIDIIN_6 1006
1121#define MM_MOTU_MXPXT_MIDIOUT_7 1007
1122#define MM_MOTU_MXPXT_MIDIIN_7 1007
1123#define MM_MOTU_MXPXT_MIDIOUT_8 1008
1124#define MM_MOTU_MXPXT_MIDIIN_8 1008
1125
1126#define MM_WORKBIT_MIXER 1
1127#define MM_WORKBIT_WAVEOUT 2
1128#define MM_WORKBIT_WAVEIN 3
1129#define MM_WORKBIT_MIDIIN 4
1130#define MM_WORKBIT_MIDIOUT 5
1131#define MM_WORKBIT_FMSYNTH 6
1132#define MM_WORKBIT_AUX 7
1133#define MM_WORKBIT_JOYSTICK 8
1134
1135#define MM_OSITECH_TRUMPCARD 1
1136
1137#define MM_MIRO_MOVIEPRO 1
1138#define MM_MIRO_VIDEOD1 2
1139#define MM_MIRO_VIDEODC1TV 3
1140#define MM_MIRO_VIDEOTD 4
1141#define MM_MIRO_DC30_WAVEOUT 5
1142#define MM_MIRO_DC30_WAVEIN 6
1143#define MM_MIRO_DC30_MIX 7
1144
1145#define MM_ISOLUTION_PASCAL 1
1146
1147#define MM_VOICEMIXER 1
1148#define ROCKWELL_WA1_WAVEIN 100
1149#define ROCKWELL_WA1_WAVEOUT 101
1150#define ROCKWELL_WA1_SYNTH 102
1151#define ROCKWELL_WA1_MIXER 103
1152#define ROCKWELL_WA1_MPU401_IN 104
1153#define ROCKWELL_WA1_MPU401_OUT 105
1154#define ROCKWELL_WA2_WAVEIN 200
1155#define ROCKWELL_WA2_WAVEOUT 201
1156#define ROCKWELL_WA2_SYNTH 202
1157#define ROCKWELL_WA2_MIXER 203
1158#define ROCKWELL_WA2_MPU401_IN 204
1159#define ROCKWELL_WA2_MPU401_OUT 205
1160
1161#define MM_VOXWARE_CODEC 1
1162
1163#define MM_NORTEL_MPXAC_WAVEIN 1
1164#define MM_NORTEL_MPXAC_WAVEOUT 2
1165
1166#define MM_ADDX_PCTV_DIGITALMIX 1
1167#define MM_ADDX_PCTV_WAVEIN 2
1168#define MM_ADDX_PCTV_WAVEOUT 3
1169#define MM_ADDX_PCTV_MIXER 4
1170#define MM_ADDX_PCTV_AUX_CD 5
1171#define MM_ADDX_PCTV_AUX_LINE 6
1172
1173#define MM_WILDCAT_AUTOSCOREMIDIIN 1
1174
1175#define MM_RHETOREX_WAVEIN 1
1176#define MM_RHETOREX_WAVEOUT 2
1177
1178#define MM_BTV_WAVEIN 1
1179#define MM_BTV_WAVEOUT 2
1180#define MM_BTV_MIDIIN 3
1181#define MM_BTV_MIDIOUT 4
1182#define MM_BTV_MIDISYNTH 5
1183#define MM_BTV_AUX_LINE 6
1184#define MM_BTV_AUX_MIC 7
1185#define MM_BTV_AUX_CD 8
1186#define MM_BTV_DIGITALIN 9
1187#define MM_BTV_DIGITALOUT 10
1188#define MM_BTV_MIDIWAVESTREAM 11
1189#define MM_BTV_MIXER 12
1190
1191#define MM_ENSONIQ_SOUNDSCAPE 0x10
1192#define MM_SOUNDSCAPE_WAVEOUT MM_ENSONIQ_SOUNDSCAPE+1
1193#define MM_SOUNDSCAPE_WAVEOUT_AUX MM_ENSONIQ_SOUNDSCAPE+2
1194#define MM_SOUNDSCAPE_WAVEIN MM_ENSONIQ_SOUNDSCAPE+3
1195#define MM_SOUNDSCAPE_MIDIOUT MM_ENSONIQ_SOUNDSCAPE+4
1196#define MM_SOUNDSCAPE_MIDIIN MM_ENSONIQ_SOUNDSCAPE+5
1197#define MM_SOUNDSCAPE_SYNTH MM_ENSONIQ_SOUNDSCAPE+6
1198#define MM_SOUNDSCAPE_MIXER MM_ENSONIQ_SOUNDSCAPE+7
1199#define MM_SOUNDSCAPE_AUX MM_ENSONIQ_SOUNDSCAPE+8
1200
1201#define MM_NVIDIA_WAVEOUT 1
1202#define MM_NVIDIA_WAVEIN 2
1203#define MM_NVIDIA_MIDIOUT 3
1204#define MM_NVIDIA_MIDIIN 4
1205#define MM_NVIDIA_GAMEPORT 5
1206#define MM_NVIDIA_MIXER 6
1207#define MM_NVIDIA_AUX 7
1208
1209#define MM_OKSORI_BASE 0
1210#define MM_OKSORI_OSR8_WAVEOUT MM_OKSORI_BASE+1
1211#define MM_OKSORI_OSR8_WAVEIN MM_OKSORI_BASE+2
1212#define MM_OKSORI_OSR16_WAVEOUT MM_OKSORI_BASE+3
1213#define MM_OKSORI_OSR16_WAVEIN MM_OKSORI_BASE+4
1214#define MM_OKSORI_FM_OPL4 MM_OKSORI_BASE+5
1215#define MM_OKSORI_MIX_MASTER MM_OKSORI_BASE+6
1216#define MM_OKSORI_MIX_WAVE MM_OKSORI_BASE+7
1217#define MM_OKSORI_MIX_FM MM_OKSORI_BASE+8
1218#define MM_OKSORI_MIX_LINE MM_OKSORI_BASE+9
1219#define MM_OKSORI_MIX_CD MM_OKSORI_BASE+10
1220#define MM_OKSORI_MIX_MIC MM_OKSORI_BASE+11
1221#define MM_OKSORI_MIX_ECHO MM_OKSORI_BASE+12
1222#define MM_OKSORI_MIX_AUX1 MM_OKSORI_BASE+13
1223#define MM_OKSORI_MIX_LINE1 MM_OKSORI_BASE+14
1224#define MM_OKSORI_EXT_MIC1 MM_OKSORI_BASE+15
1225#define MM_OKSORI_EXT_MIC2 MM_OKSORI_BASE+16
1226#define MM_OKSORI_MIDIOUT MM_OKSORI_BASE+17
1227#define MM_OKSORI_MIDIIN MM_OKSORI_BASE+18
1228#define MM_OKSORI_MPEG_CDVISION MM_OKSORI_BASE+19
1229
1230#define MM_DIACOUSTICS_DRUM_ACTION 1
1231
1232#define MM_KAY_ELEMETRICS_CSL 0x4300
1233#define MM_KAY_ELEMETRICS_CSL_DAT 0x4308
1234#define MM_KAY_ELEMETRICS_CSL_4CHANNEL 0x4309
1235
1236#define MM_CRYSTAL_CS4232_WAVEIN 1
1237#define MM_CRYSTAL_CS4232_WAVEOUT 2
1238#define MM_CRYSTAL_CS4232_WAVEMIXER 3
1239#define MM_CRYSTAL_CS4232_WAVEAUX_AUX1 4
1240#define MM_CRYSTAL_CS4232_WAVEAUX_AUX2 5
1241#define MM_CRYSTAL_CS4232_WAVEAUX_LINE 6
1242#define MM_CRYSTAL_CS4232_WAVEAUX_MONO 7
1243#define MM_CRYSTAL_CS4232_WAVEAUX_MASTER 8
1244#define MM_CRYSTAL_CS4232_MIDIIN 9
1245#define MM_CRYSTAL_CS4232_MIDIOUT 10
1246#define MM_CRYSTAL_CS4232_INPUTGAIN_AUX1 13
1247#define MM_CRYSTAL_CS4232_INPUTGAIN_LOOP 14
1248#define MM_CRYSTAL_SOUND_FUSION_WAVEIN 21
1249#define MM_CRYSTAL_SOUND_FUSION_WAVEOUT 22
1250#define MM_CRYSTAL_SOUND_FUSION_MIXER 23
1251#define MM_CRYSTAL_SOUND_FUSION_MIDIIN 24
1252#define MM_CRYSTAL_SOUND_FUSION_MIDIOUT 25
1253#define MM_CRYSTAL_SOUND_FUSION_JOYSTICK 26
1254
1255#define MM_QUARTERDECK_LHWAVEIN 0
1256#define MM_QUARTERDECK_LHWAVEOUT 1
1257
1258#define MM_TDK_MW_MIDI_SYNTH 1
1259#define MM_TDK_MW_MIDI_IN 2
1260#define MM_TDK_MW_MIDI_OUT 3
1261#define MM_TDK_MW_WAVE_IN 4
1262#define MM_TDK_MW_WAVE_OUT 5
1263#define MM_TDK_MW_AUX 6
1264#define MM_TDK_MW_MIXER 10
1265#define MM_TDK_MW_AUX_MASTER 100
1266#define MM_TDK_MW_AUX_BASS 101
1267#define MM_TDK_MW_AUX_TREBLE 102
1268#define MM_TDK_MW_AUX_MIDI_VOL 103
1269#define MM_TDK_MW_AUX_WAVE_VOL 104
1270#define MM_TDK_MW_AUX_WAVE_RVB 105
1271#define MM_TDK_MW_AUX_WAVE_CHR 106
1272#define MM_TDK_MW_AUX_VOL 107
1273#define MM_TDK_MW_AUX_RVB 108
1274#define MM_TDK_MW_AUX_CHR 109
1275
1276#define MM_DIGITAL_AUDIO_LABS_TC 0x01
1277#define MM_DIGITAL_AUDIO_LABS_DOC 0x02
1278#define MM_DIGITAL_AUDIO_LABS_V8 0x10
1279#define MM_DIGITAL_AUDIO_LABS_CPRO 0x11
1280#define MM_DIGITAL_AUDIO_LABS_VP 0x12
1281#define MM_DIGITAL_AUDIO_LABS_CDLX 0x13
1282#define MM_DIGITAL_AUDIO_LABS_CTDIF 0x14
1283
1284#define MM_SEERSYS_SEERSYNTH 1
1285#define MM_SEERSYS_SEERWAVE 2
1286#define MM_SEERSYS_SEERMIX 3
1287#define MM_SEERSYS_WAVESYNTH 4
1288#define MM_SEERSYS_WAVESYNTH_WG 5
1289#define MM_SEERSYS_REALITY 6
1290
1291#define MM_OSPREY_1000WAVEIN 1
1292#define MM_OSPREY_1000WAVEOUT 2
1293
1294#define MM_SOUNDESIGNS_WAVEIN 1
1295#define MM_SOUNDESIGNS_WAVEOUT 2
1296
1297#define MM_SSP_SNDFESWAVEIN 1
1298#define MM_SSP_SNDFESWAVEOUT 2
1299#define MM_SSP_SNDFESMIDIIN 3
1300#define MM_SSP_SNDFESMIDIOUT 4
1301#define MM_SSP_SNDFESSYNTH 5
1302#define MM_SSP_SNDFESMIX 6
1303#define MM_SSP_SNDFESAUX 7
1304
1305#define MM_ECS_AADF_MIDI_IN 10
1306#define MM_ECS_AADF_MIDI_OUT 11
1307#define MM_ECS_AADF_WAVE2MIDI_IN 12
1308
1309#define MM_AMD_INTERWAVE_WAVEIN 1
1310#define MM_AMD_INTERWAVE_WAVEOUT 2
1311#define MM_AMD_INTERWAVE_SYNTH 3
1312#define MM_AMD_INTERWAVE_MIXER1 4
1313#define MM_AMD_INTERWAVE_MIXER2 5
1314#define MM_AMD_INTERWAVE_JOYSTICK 6
1315#define MM_AMD_INTERWAVE_EX_CD 7
1316#define MM_AMD_INTERWAVE_MIDIIN 8
1317#define MM_AMD_INTERWAVE_MIDIOUT 9
1318#define MM_AMD_INTERWAVE_AUX1 10
1319#define MM_AMD_INTERWAVE_AUX2 11
1320#define MM_AMD_INTERWAVE_AUX_MIC 12
1321#define MM_AMD_INTERWAVE_AUX_CD 13
1322#define MM_AMD_INTERWAVE_MONO_IN 14
1323#define MM_AMD_INTERWAVE_MONO_OUT 15
1324#define MM_AMD_INTERWAVE_EX_TELEPHONY 16
1325#define MM_AMD_INTERWAVE_WAVEOUT_BASE 17
1326#define MM_AMD_INTERWAVE_WAVEOUT_TREBLE 18
1327#define MM_AMD_INTERWAVE_STEREO_ENHANCED 19
1328
1329#define MM_COREDYNAMICS_DYNAMIXHR 1
1330#define MM_COREDYNAMICS_DYNASONIX_SYNTH 2
1331#define MM_COREDYNAMICS_DYNASONIX_MIDI_IN 3
1332#define MM_COREDYNAMICS_DYNASONIX_MIDI_OUT 4
1333#define MM_COREDYNAMICS_DYNASONIX_WAVE_IN 5
1334#define MM_COREDYNAMICS_DYNASONIX_WAVE_OUT 6
1335#define MM_COREDYNAMICS_DYNASONIX_AUDIO_IN 7
1336#define MM_COREDYNAMICS_DYNASONIX_AUDIO_OUT 8
1337#define MM_COREDYNAMICS_DYNAGRAFX_VGA 9
1338#define MM_COREDYNAMICS_DYNAGRAFX_WAVE_IN 10
1339#define MM_COREDYNAMICS_DYNAGRAFX_WAVE_OUT 11
1340
1341#define MM_CANAM_CBXWAVEOUT 1
1342#define MM_CANAM_CBXWAVEIN 2
1343
1344#define MM_SOFTSOUND_CODEC 1
1345
1346#define MM_NORRIS_VOICELINK 1
1347
1348#define MM_DDD_MIDILINK_MIDIIN 1
1349#define MM_DDD_MIDILINK_MIDIOUT 2
1350
1351#define MM_EUPHONICS_AUX_CD 1
1352#define MM_EUPHONICS_AUX_LINE 2
1353#define MM_EUPHONICS_AUX_MASTER 3
1354#define MM_EUPHONICS_AUX_MIC 4
1355#define MM_EUPHONICS_AUX_MIDI 5
1356#define MM_EUPHONICS_AUX_WAVE 6
1357#define MM_EUPHONICS_FMSYNTH_MONO 7
1358#define MM_EUPHONICS_FMSYNTH_STEREO 8
1359#define MM_EUPHONICS_MIDIIN 9
1360#define MM_EUPHONICS_MIDIOUT 10
1361#define MM_EUPHONICS_MIXER 11
1362#define MM_EUPHONICS_WAVEIN 12
1363#define MM_EUPHONICS_WAVEOUT 13
1364#define MM_EUPHONICS_EUSYNTH 14
1365
1366#define CRYSTAL_NET_SFM_CODEC 1
1367
1368#define MM_CHROMATIC_M1 0x0001
1369#define MM_CHROMATIC_M1_WAVEIN 0x0002
1370#define MM_CHROMATIC_M1_WAVEOUT 0x0003
1371#define MM_CHROMATIC_M1_FMSYNTH 0x0004
1372#define MM_CHROMATIC_M1_MIXER 0x0005
1373#define MM_CHROMATIC_M1_AUX 0x0006
1374#define MM_CHROMATIC_M1_AUX_CD 0x0007
1375#define MM_CHROMATIC_M1_MIDIIN 0x0008
1376#define MM_CHROMATIC_M1_MIDIOUT 0x0009
1377#define MM_CHROMATIC_M1_WTSYNTH 0x0010
1378#define MM_CHROMATIC_M1_MPEGWAVEIN 0x0011
1379#define MM_CHROMATIC_M1_MPEGWAVEOUT 0x0012
1380#define MM_CHROMATIC_M2 0x0013
1381#define MM_CHROMATIC_M2_WAVEIN 0x0014
1382#define MM_CHROMATIC_M2_WAVEOUT 0x0015
1383#define MM_CHROMATIC_M2_FMSYNTH 0x0016
1384#define MM_CHROMATIC_M2_MIXER 0x0017
1385#define MM_CHROMATIC_M2_AUX 0x0018
1386#define MM_CHROMATIC_M2_AUX_CD 0x0019
1387#define MM_CHROMATIC_M2_MIDIIN 0x0020
1388#define MM_CHROMATIC_M2_MIDIOUT 0x0021
1389#define MM_CHROMATIC_M2_WTSYNTH 0x0022
1390#define MM_CHROMATIC_M2_MPEGWAVEIN 0x0023
1391#define MM_CHROMATIC_M2_MPEGWAVEOUT 0x0024
1392
1393#define MM_VIENNASYS_TSP_WAVE_DRIVER 1
1394
1395#define MM_CONNECTIX_VIDEC_CODEC 1
1396
1397#define MM_GADGETLABS_WAVE44_WAVEIN 1
1398#define MM_GADGETLABS_WAVE44_WAVEOUT 2
1399#define MM_GADGETLABS_WAVE42_WAVEIN 3
1400#define MM_GADGETLABS_WAVE42_WAVEOUT 4
1401#define MM_GADGETLABS_WAVE4_MIDIIN 5
1402#define MM_GADGETLABS_WAVE4_MIDIOUT 6
1403
1404#define MM_FRONTIER_WAVECENTER_MIDIIN 1
1405#define MM_FRONTIER_WAVECENTER_MIDIOUT 2
1406#define MM_FRONTIER_WAVECENTER_WAVEIN 3
1407#define MM_FRONTIER_WAVECENTER_WAVEOUT 4
1408
1409#define MM_VIONA_QVINPCI_MIXER 1
1410#define MM_VIONA_QVINPCI_WAVEIN 2
1411#define MM_VIONAQVINPCI_WAVEOUT 3
1412#define MM_VIONA_BUSTER_MIXER 4
1413#define MM_VIONA_CINEMASTER_MIXER 5
1414#define MM_VIONA_CONCERTO_MIXER 6
1415
1416#define MM_CASIO_WP150_MIDIOUT 1
1417#define MM_CASIO_WP150_MIDIIN 2
1418#define MM_CASIO_LSG_MIDIOUT 3
1419
1420#define MM_DIMD_PLATFORM 0
1421#define MM_DIMD_DIRSOUND 1
1422#define MM_DIMD_VIRTMPU 2
1423#define MM_DIMD_VIRTSB 3
1424#define MM_DIMD_VIRTJOY 4
1425#define MM_DIMD_WAVEIN 5
1426#define MM_DIMD_WAVEOUT 6
1427#define MM_DIMD_MIDIIN 7
1428#define MM_DIMD_MIDIOUT 8
1429#define MM_DIMD_AUX_LINE 9
1430#define MM_DIMD_MIXER 10
1431#define MM_DIMD_WSS_WAVEIN 14
1432#define MM_DIMD_WSS_WAVEOUT 15
1433#define MM_DIMD_WSS_MIXER 17
1434#define MM_DIMD_WSS_AUX 21
1435#define MM_DIMD_WSS_SYNTH 76
1436
1437#define MM_S3_WAVEOUT 1
1438#define MM_S3_WAVEIN 2
1439#define MM_S3_MIDIOUT 3
1440#define MM_S3_MIDIIN 4
1441#define MM_S3_FMSYNTH 5
1442#define MM_S3_MIXER 6
1443#define MM_S3_AUX 7
1444
1445#define MM_VKC_MPU401_MIDIIN 0x0100
1446#define MM_VKC_SERIAL_MIDIIN 0x0101
1447#define MM_VKC_MPU401_MIDIOUT 0x0200
1448#define MM_VKC_SERIAL_MIDIOUT 0x0201
1449
1450#define MM_ZEFIRO_ZA2 2
1451
1452#define MM_FHGIIS_MPEGLAYER3_DECODE 9
1453#define MM_FHGIIS_MPEGLAYER3 10
1454#define MM_FHGIIS_MPEGLAYER3_LITE 10
1455#define MM_FHGIIS_MPEGLAYER3_BASIC 11
1456#define MM_FHGIIS_MPEGLAYER3_ADVANCED 12
1457#define MM_FHGIIS_MPEGLAYER3_PROFESSIONAL 13
1458#define MM_FHGIIS_MPEGLAYER3_ADVANCEDPLUS 14
1459
1460#define MM_QUICKNET_PJWAVEIN 1
1461#define MM_QUICKNET_PJWAVEOUT 2
1462
1463#define MM_SICRESOURCE_SSO3D 2
1464#define MM_SICRESOURCE_SSOW3DI 3
1465
1466#define MM_NEOMAGIC_SYNTH 1
1467#define MM_NEOMAGIC_WAVEOUT 2
1468#define MM_NEOMAGIC_WAVEIN 3
1469#define MM_NEOMAGIC_MIDIOUT 4
1470#define MM_NEOMAGIC_MIDIIN 5
1471#define MM_NEOMAGIC_AUX 6
1472#define MM_NEOMAGIC_MW3DX_WAVEOUT 10
1473#define MM_NEOMAGIC_MW3DX_WAVEIN 11
1474#define MM_NEOMAGIC_MW3DX_MIDIOUT 12
1475#define MM_NEOMAGIC_MW3DX_MIDIIN 13
1476#define MM_NEOMAGIC_MW3DX_FMSYNTH 14
1477#define MM_NEOMAGIC_MW3DX_GMSYNTH 15
1478#define MM_NEOMAGIC_MW3DX_MIXER 16
1479#define MM_NEOMAGIC_MW3DX_AUX 17
1480#define MM_NEOMAGIC_MWAVE_WAVEOUT 20
1481#define MM_NEOMAGIC_MWAVE_WAVEIN 21
1482#define MM_NEOMAGIC_MWAVE_MIDIOUT 22
1483#define MM_NEOMAGIC_MWAVE_MIDIIN 23
1484#define MM_NEOMAGIC_MWAVE_MIXER 24
1485#define MM_NEOMAGIC_MWAVE_AUX 25
1486
1487#define MM_MERGING_MPEGL3 1
1488
1489#define MM_XIRLINK_VISIONLINK 1
1490
1491#define MM_OTI_611WAVEIN 5
1492#define MM_OTI_611WAVEOUT 6
1493#define MM_OTI_611MIXER 7
1494#define MM_OTI_611MIDIN 0x12
1495#define MM_OTI_611MIDIOUT 0x13
1496
1497#define MM_AUREAL_AU8820 16
1498#define MM_AU8820_SYNTH 17
1499#define MM_AU8820_WAVEOUT 18
1500#define MM_AU8820_WAVEIN 19
1501#define MM_AU8820_MIXER 20
1502#define MM_AU8820_AUX 21
1503#define MM_AU8820_MIDIOUT 22
1504#define MM_AU8820_MIDIIN 23
1505#define MM_AUREAL_AU8830 32
1506#define MM_AU8830_SYNTH 33
1507#define MM_AU8830_WAVEOUT 34
1508#define MM_AU8830_WAVEIN 35
1509#define MM_AU8830_MIXER 36
1510#define MM_AU8830_AUX 37
1511#define MM_AU8830_MIDIOUT 38
1512#define MM_AU8830_MIDIIN 39
1513
1514#define MM_VIVO_AUDIO_CODEC 1
1515
1516#define MM_SHARP_MDC_MIDI_SYNTH 1
1517#define MM_SHARP_MDC_MIDI_IN 2
1518#define MM_SHARP_MDC_MIDI_OUT 3
1519#define MM_SHARP_MDC_WAVE_IN 4
1520#define MM_SHARP_MDC_WAVE_OUT 5
1521#define MM_SHARP_MDC_AUX 6
1522#define MM_SHARP_MDC_MIXER 10
1523#define MM_SHARP_MDC_AUX_MASTER 100
1524#define MM_SHARP_MDC_AUX_BASS 101
1525#define MM_SHARP_MDC_AUX_TREBLE 102
1526#define MM_SHARP_MDC_AUX_MIDI_VOL 103
1527#define MM_SHARP_MDC_AUX_WAVE_VOL 104
1528#define MM_SHARP_MDC_AUX_WAVE_RVB 105
1529#define MM_SHARP_MDC_AUX_WAVE_CHR 106
1530#define MM_SHARP_MDC_AUX_VOL 107
1531#define MM_SHARP_MDC_AUX_RVB 108
1532#define MM_SHARP_MDC_AUX_CHR 109
1533
1534#define MM_LUCENT_ACM_G723 0
1535
1536#define MM_ATT_G729A 1
1537
1538#define MM_MARIAN_ARC44WAVEIN 1
1539#define MM_MARIAN_ARC44WAVEOUT 2
1540#define MM_MARIAN_PRODIF24WAVEIN 3
1541#define MM_MARIAN_PRODIF24WAVEOUT 4
1542#define MM_MARIAN_ARC88WAVEIN 5
1543#define MM_MARIAN_ARC88WAVEOUT 6
1544
1545#define MM_BCB_NETBOARD_10 1
1546#define MM_BCB_TT75_10 2
1547
1548#define MM_MOTIONPIXELS_MVI2 1
1549
1550#define MM_QDESIGN_ACM_MPEG 1
1551#define MM_QDESIGN_ACM_QDESIGN_MUSIC 2
1552
1553#define MM_NMP_CCP_WAVEIN 1
1554#define MM_NMP_CCP_WAVEOUT 2
1555#define MM_NMP_ACM_AMR 10
1556
1557#define MM_DF_ACM_G726 1
1558#define MM_DF_ACM_GSM610 2
1559
1560#define MM_BERCOS_WAVEIN 1
1561#define MM_BERCOS_MIXER 2
1562#define MM_BERCOS_WAVEOUT 3
1563
1564#define MM_ONLIVE_MPCODEC 1
1565
1566#define MM_PHONET_PP_WAVEOUT 1
1567#define MM_PHONET_PP_WAVEIN 2
1568#define MM_PHONET_PP_MIXER 3
1569
1570#define MM_FTR_ENCODER_WAVEIN 1
1571#define MM_FTR_ACM 2
1572
1573#define MM_ENET_T2000_LINEIN 1
1574#define MM_ENET_T2000_LINEOUT 2
1575#define MM_ENET_T2000_HANDSETIN 3
1576#define MM_ENET_T2000_HANDSETOUT 4
1577
1578#define MM_EMAGIC_UNITOR8 1
1579
1580#define MM_SIPROLAB_ACELPNET 1
1581
1582#define MM_DICTAPHONE_G726 1
1583
1584#define MM_RZS_ACM_TUBGSM 1
1585
1586#define MM_EES_PCMIDI14 1
1587#define MM_EES_PCMIDI14_IN 2
1588#define MM_EES_PCMIDI14_OUT1 3
1589#define MM_EES_PCMIDI14_OUT2 4
1590#define MM_EES_PCMIDI14_OUT3 5
1591#define MM_EES_PCMIDI14_OUT4 6
1592
1593#define MM_HAFTMANN_LPTDAC2 1
1594
1595#define MM_LUCID_PCI24WAVEIN 1
1596#define MM_LUCID_PCI24WAVEOUT 2
1597
1598#define MM_HEADSPACE_HAESYNTH 1
1599#define MM_HEADSPACE_HAEWAVEOUT 2
1600#define MM_HEADSPACE_HAEWAVEIN 3
1601#define MM_HEADSPACE_HAEMIXER 4
1602
1603#define MM_UNISYS_ACM_NAP 1
1604
1605#define MM_LUMINOSITI_SCWAVEIN 1
1606#define MM_LUMINOSITI_SCWAVEOUT 2
1607#define MM_LUMINOSITI_SCWAVEMIX 3
1608
1609#define MM_ACTIVEVOICE_ACM_VOXADPCM 1
1610
1611#define MM_DTS_DS 1
1612
1613#define MM_SOFTLAB_NSK_FRW_WAVEIN 1
1614#define MM_SOFTLAB_NSK_FRW_WAVEOUT 2
1615#define MM_SOFTLAB_NSK_FRW_MIXER 3
1616#define MM_SOFTLAB_NSK_FRW_AUX 4
1617
1618#define MM_FORTEMEDIA_WAVEIN 1
1619#define MM_FORTEMEDIA_WAVEOUT 2
1620#define MM_FORTEMEDIA_FMSYNC 3
1621#define MM_FORTEMEDIA_MIXER 4
1622#define MM_FORTEMEDIA_AUX 5
1623
1624#define MM_SONORUS_STUDIO 1
1625
1626#define MM_I_LINK_VOICE_CODER 1
1627
1628#define MM_SELSIUS_SYSTEMS_RTPWAVEOUT 1
1629#define MM_SELSIUS_SYSTEMS_RTPWAVEIN 2
1630
1631#define MM_ADMOS_FM_SYNTH 1
1632#define MM_ADMOS_QS3AMIDIOUT 2
1633#define MM_ADMOS_QS3AMIDIIN 3
1634#define MM_ADMOS_QS3AWAVEOUT 4
1635#define MM_ADMOS_QS3AWAVEIN 5
1636
1637#define MM_LEXICON_STUDIO_WAVE_OUT 1
1638#define MM_LEXICON_STUDIO_WAVE_IN 2
1639
1640#define MM_SGI_320_WAVEIN 1
1641#define MM_SGI_320_WAVEOUT 2
1642#define MM_SGI_320_MIXER 3
1643#define MM_SGI_540_WAVEIN 4
1644#define MM_SGI_540_WAVEOUT 5
1645#define MM_SGI_540_MIXER 6
1646#define MM_SGI_RAD_ADATMONO1_WAVEIN 7
1647#define MM_SGI_RAD_ADATMONO2_WAVEIN 8
1648#define MM_SGI_RAD_ADATMONO3_WAVEIN 9
1649#define MM_SGI_RAD_ADATMONO4_WAVEIN 10
1650#define MM_SGI_RAD_ADATMONO5_WAVEIN 11
1651#define MM_SGI_RAD_ADATMONO6_WAVEIN 12
1652#define MM_SGI_RAD_ADATMONO7_WAVEIN 13
1653#define MM_SGI_RAD_ADATMONO8_WAVEIN 14
1654#define MM_SGI_RAD_ADATSTEREO12_WAVEIN 15
1655#define MM_SGI_RAD_ADATSTEREO34_WAVEIN 16
1656#define MM_SGI_RAD_ADATSTEREO56_WAVEIN 17
1657#define MM_SGI_RAD_ADATSTEREO78_WAVEIN 18
1658#define MM_SGI_RAD_ADAT8CHAN_WAVEIN 19
1659#define MM_SGI_RAD_ADATMONO1_WAVEOUT 20
1660#define MM_SGI_RAD_ADATMONO2_WAVEOUT 21
1661#define MM_SGI_RAD_ADATMONO3_WAVEOUT 22
1662#define MM_SGI_RAD_ADATMONO4_WAVEOUT 23
1663#define MM_SGI_RAD_ADATMONO5_WAVEOUT 24
1664#define MM_SGI_RAD_ADATMONO6_WAVEOUT 25
1665#define MM_SGI_RAD_ADATMONO7_WAVEOUT 26
1666#define MM_SGI_RAD_ADATMONO8_WAVEOUT 27
1667#define MM_SGI_RAD_ADATSTEREO12_WAVEOUT 28
1668#define MM_SGI_RAD_ADATSTEREO32_WAVEOUT 29
1669#define MM_SGI_RAD_ADATSTEREO56_WAVEOUT 30
1670#define MM_SGI_RAD_ADATSTEREO78_WAVEOUT 31
1671#define MM_SGI_RAD_ADAT8CHAN_WAVEOUT 32
1672#define MM_SGI_RAD_AESMONO1_WAVEIN 33
1673#define MM_SGI_RAD_AESMONO2_WAVEIN 34
1674#define MM_SGI_RAD_AESSTEREO_WAVEIN 35
1675#define MM_SGI_RAD_AESMONO1_WAVEOUT 36
1676#define MM_SGI_RAD_AESMONO2_WAVEOUT 37
1677#define MM_SGI_RAD_AESSTEREO_WAVEOUT 38
1678
1679#define MM_IPI_ACM_HSX 1
1680#define MM_IPI_ACM_RPELP 2
1681#define MM_IPI_WF_ASSS 3
1682#define MM_IPI_AT_WAVEOUT 4
1683#define MM_IPI_AT_WAVEIN 5
1684#define MM_IPI_AT_MIXER 6
1685
1686#define MM_ICE_WAVEOUT 1
1687#define MM_ICE_WAVEIN 2
1688#define MM_ICE_MTWAVEOUT 3
1689#define MM_ICE_MTWAVEIN 4
1690#define MM_ICE_MIDIOUT1 5
1691#define MM_ICE_MIDIIN1 6
1692#define MM_ICE_MIDIOUT2 7
1693#define MM_ICE_MIDIIN2 8
1694#define MM_ICE_SYNTH 9
1695#define MM_ICE_MIXER 10
1696#define MM_ICE_AUX 11
1697
1698#define MM_VQST_VQC1 1
1699#define MM_VQST_VQC2 2
1700
1701#define MM_ETEK_KWIKMIDI_MIDIIN 1
1702#define MM_ETEK_KWIKMIDI_MIDIOUT 2
1703
1704#define MM_INTERNET_SSW_MIDIOUT 10
1705#define MM_INTERNET_SSW_MIDIIN 11
1706#define MM_INTERNET_SSW_WAVEOUT 12
1707#define MM_INTERNET_SSW_WAVEIN 13
1708
1709#define MM_SONY_ACM_SCX 1
1710
1711#define MM_UH_ACM_ADPCM 1
1712
1713#define MM_SYDEC_NV_WAVEIN 1
1714#define MM_SYDEC_NV_WAVEOUT 2
1715
1716#define MM_FLEXION_X300_WAVEIN 1
1717#define MM_FLEXION_X300_WAVEOUT 2
1718
1719#define MM_VIA_WAVEOUT 1
1720#define MM_VIA_WAVEIN 2
1721#define MM_VIA_MIXER 3
1722#define MM_VIA_AUX 4
1723#define MM_VIA_MPU401_MIDIOUT 5
1724#define MM_VIA_MPU401_MIDIIN 6
1725#define MM_VIA_SWFM_SYNTH 7
1726#define MM_VIA_WDM_WAVEOUT 8
1727#define MM_VIA_WDM_WAVEIN 9
1728#define MM_VIA_WDM_MIXER 10
1729#define MM_VIA_WDM_MPU401_MIDIOUT 11
1730#define MM_VIA_WDM_MPU401_MIDIIN 12
1731
1732#define MM_MICRONAS_SC4 1
1733#define MM_MICRONAS_CLP833 2
1734
1735#define MM_HP_WAVEOUT 1
1736#define MM_HP_WAVEIN 2
1737
1738#define MM_QUICKAUDIO_MINIMIDI 1
1739#define MM_QUICKAUDIO_MAXIMIDI 2
1740
1741#define MM_ICCC_UNA3_WAVEIN 1
1742#define MM_ICCC_UNA3_WAVEOUT 2
1743#define MM_ICCC_UNA3_AUX 3
1744#define MM_ICCC_UNA3_MIXER 4
1745
1746#define MM_3COM_CB_MIXER 1
1747#define MM_3COM_CB_WAVEIN 2
1748#define MM_3COM_CB_WAVEOUT 3
1749
1750#define MM_MINDMAKER_GC_WAVEIN 1
1751#define MM_MINDMAKER_GC_WAVEOUT 2
1752#define MM_MINDMAKER_GC_MIXER 3
1753
1754#define MM_TELEKOL_WAVEOUT 1
1755#define MM_TELEKOL_WAVEIN 2
1756
1757#define MM_ALGOVISION_VB80WAVEOUT 1
1758#define MM_ALGOVISION_VB80WAVEIN 2
1759#define MM_ALGOVISION_VB80MIXER 3
1760#define MM_ALGOVISION_VB80AUX 4
1761#define MM_ALGOVISION_VB80AUX2 5
1762#endif
1763
1764#define RIFFINFO_IARL mmioFOURCC ('I', 'A', 'R', 'L')
1765#define RIFFINFO_IART mmioFOURCC ('I', 'A', 'R', 'T')
1766#define RIFFINFO_ICMS mmioFOURCC ('I', 'C', 'M', 'S')
1767#define RIFFINFO_ICMT mmioFOURCC ('I', 'C', 'M', 'T')
1768#define RIFFINFO_ICOP mmioFOURCC ('I', 'C', 'O', 'P')
1769#define RIFFINFO_ICRD mmioFOURCC ('I', 'C', 'R', 'D')
1770#define RIFFINFO_ICRP mmioFOURCC ('I', 'C', 'R', 'P')
1771#define RIFFINFO_IDIM mmioFOURCC ('I', 'D', 'I', 'M')
1772#define RIFFINFO_IDPI mmioFOURCC ('I', 'D', 'P', 'I')
1773#define RIFFINFO_IENG mmioFOURCC ('I', 'E', 'N', 'G')
1774#define RIFFINFO_IGNR mmioFOURCC ('I', 'G', 'N', 'R')
1775#define RIFFINFO_IKEY mmioFOURCC ('I', 'K', 'E', 'Y')
1776#define RIFFINFO_ILGT mmioFOURCC ('I', 'L', 'G', 'T')
1777#define RIFFINFO_IMED mmioFOURCC ('I', 'M', 'E', 'D')
1778#define RIFFINFO_INAM mmioFOURCC ('I', 'N', 'A', 'M')
1779#define RIFFINFO_IPLT mmioFOURCC ('I', 'P', 'L', 'T')
1780#define RIFFINFO_IPRD mmioFOURCC ('I', 'P', 'R', 'D')
1781#define RIFFINFO_ISBJ mmioFOURCC ('I', 'S', 'B', 'J')
1782#define RIFFINFO_ISFT mmioFOURCC ('I', 'S', 'F', 'T')
1783#define RIFFINFO_ISHP mmioFOURCC ('I', 'S', 'H', 'P')
1784#define RIFFINFO_ISRC mmioFOURCC ('I', 'S', 'R', 'C')
1785#define RIFFINFO_ISRF mmioFOURCC ('I', 'S', 'R', 'F')
1786#define RIFFINFO_ITCH mmioFOURCC ('I', 'T', 'C', 'H')
1787
1788#define RIFFINFO_ISMP mmioFOURCC ('I', 'S', 'M', 'P')
1789
1790#define RIFFINFO_IDIT mmioFOURCC ('I', 'D', 'I', 'T')
1791
1792#define RIFFINFO_ITRK mmioFOURCC ('I', 'T', 'R', 'K')
1793#define RIFFINFO_ITOC mmioFOURCC ('I', 'T', 'O', 'C')
1794#endif
1795
1796#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
1797
1798#ifndef NONEWWAVE
1799#define WAVE_FORMAT_UNKNOWN 0x0000
1800#define WAVE_FORMAT_ADPCM 0x0002
1801#define WAVE_FORMAT_IEEE_FLOAT 0x0003
1802#define WAVE_FORMAT_VSELP 0x0004
1803#define WAVE_FORMAT_IBM_CVSD 0x0005
1804#define WAVE_FORMAT_ALAW 0x0006
1805#define WAVE_FORMAT_MULAW 0x0007
1806#define WAVE_FORMAT_DTS 0x0008
1807#define WAVE_FORMAT_DRM 0x0009
1808#define WAVE_FORMAT_WMAVOICE9 0x000a
1809#define WAVE_FORMAT_WMAVOICE10 0x000b
1810#define WAVE_FORMAT_OKI_ADPCM 0x0010
1811#define WAVE_FORMAT_DVI_ADPCM 0x0011
1812#define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM)
1813#define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012
1814#define WAVE_FORMAT_SIERRA_ADPCM 0x0013
1815#define WAVE_FORMAT_G723_ADPCM 0x0014
1816#define WAVE_FORMAT_DIGISTD 0x0015
1817#define WAVE_FORMAT_DIGIFIX 0x0016
1818#define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017
1819#define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018
1820#define WAVE_FORMAT_CU_CODEC 0x0019
1821#define WAVE_FORMAT_HP_DYN_VOICE 0x001a
1822#define WAVE_FORMAT_YAMAHA_ADPCM 0x0020
1823#define WAVE_FORMAT_SONARC 0x0021
1824#define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022
1825#define WAVE_FORMAT_ECHOSC1 0x0023
1826#define WAVE_FORMAT_AUDIOFILE_AF36 0x0024
1827#define WAVE_FORMAT_APTX 0x0025
1828#define WAVE_FORMAT_AUDIOFILE_AF10 0x0026
1829#define WAVE_FORMAT_PROSODY_1612 0x0027
1830#define WAVE_FORMAT_LRC 0x0028
1831#define WAVE_FORMAT_DOLBY_AC2 0x0030
1832#define WAVE_FORMAT_GSM610 0x0031
1833#define WAVE_FORMAT_MSNAUDIO 0x0032
1834#define WAVE_FORMAT_ANTEX_ADPCME 0x0033
1835#define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034
1836#define WAVE_FORMAT_DIGIREAL 0x0035
1837#define WAVE_FORMAT_DIGIADPCM 0x0036
1838#define WAVE_FORMAT_CONTROL_RES_CR10 0x0037
1839#define WAVE_FORMAT_NMS_VBXADPCM 0x0038
1840#define WAVE_FORMAT_CS_IMAADPCM 0x0039
1841#define WAVE_FORMAT_ECHOSC3 0x003a
1842#define WAVE_FORMAT_ROCKWELL_ADPCM 0x003b
1843#define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003c
1844#define WAVE_FORMAT_XEBEC 0x003d
1845#define WAVE_FORMAT_G721_ADPCM 0x0040
1846#define WAVE_FORMAT_G728_CELP 0x0041
1847#define WAVE_FORMAT_MSG723 0x0042
1848#define WAVE_FORMAT_INTEL_G723_1 0x0043
1849#define WAVE_FORMAT_INTEL_G729 0x0044
1850#define WAVE_FORMAT_SHARP_G726 0x0045
1851#define WAVE_FORMAT_MPEG 0x0050
1852#define WAVE_FORMAT_RT24 0x0052
1853#define WAVE_FORMAT_PAC 0x0053
1854#define WAVE_FORMAT_MPEGLAYER3 0x0055
1855#define WAVE_FORMAT_LUCENT_G723 0x0059
1856#define WAVE_FORMAT_CIRRUS 0x0060
1857#define WAVE_FORMAT_ESPCM 0x0061
1858#define WAVE_FORMAT_VOXWARE 0x0062
1859#define WAVE_FORMAT_CANOPUS_ATRAC 0x0063
1860#define WAVE_FORMAT_G726_ADPCM 0x0064
1861#define WAVE_FORMAT_G722_ADPCM 0x0065
1862#define WAVE_FORMAT_DSAT 0x0066
1863#define WAVE_FORMAT_DSAT_DISPLAY 0x0067
1864#define WAVE_FORMAT_VOXWARE_BYTE_ALIGNED 0x0069
1865#define WAVE_FORMAT_VOXWARE_AC8 0x0070
1866#define WAVE_FORMAT_VOXWARE_AC10 0x0071
1867#define WAVE_FORMAT_VOXWARE_AC16 0x0072
1868#define WAVE_FORMAT_VOXWARE_AC20 0x0073
1869#define WAVE_FORMAT_VOXWARE_RT24 0x0074
1870#define WAVE_FORMAT_VOXWARE_RT29 0x0075
1871#define WAVE_FORMAT_VOXWARE_RT29HW 0x0076
1872#define WAVE_FORMAT_VOXWARE_VR12 0x0077
1873#define WAVE_FORMAT_VOXWARE_VR18 0x0078
1874#define WAVE_FORMAT_VOXWARE_TQ40 0x0079
1875#define WAVE_FORMAT_VOXWARE_SC3 0x007a
1876#define WAVE_FORMAT_VOXWARE_SC3_1 0x007b
1877#define WAVE_FORMAT_SOFTSOUND 0x0080
1878#define WAVE_FORMAT_VOXWARE_TQ60 0x0081
1879#define WAVE_FORMAT_MSRT24 0x0082
1880#define WAVE_FORMAT_G729A 0x0083
1881#define WAVE_FORMAT_MVI_MVI2 0x0084
1882#define WAVE_FORMAT_DF_G726 0x0085
1883#define WAVE_FORMAT_DF_GSM610 0x0086
1884#define WAVE_FORMAT_ISIAUDIO 0x0088
1885#define WAVE_FORMAT_ONLIVE 0x0089
1886#define WAVE_FORMAT_MULTITUDE_FT_SX20 0x008a
1887#define WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM 0x008b
1888#define WAVE_FORMAT_CONVEDIA_G729 0x008c
1889#define WAVE_FORMAT_CONGRUENCY 0x008d
1890#define WAVE_FORMAT_SBC24 0x0091
1891#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
1892#define WAVE_FORMAT_MEDIASONIC_G723 0x0093
1893#define WAVE_FORMAT_PROSODY_8KBPS 0x0094
1894#define WAVE_FORMAT_ZYXEL_ADPCM 0x0097
1895#define WAVE_FORMAT_PHILIPS_LPCBB 0x0098
1896#define WAVE_FORMAT_PACKED 0x0099
1897#define WAVE_FORMAT_MALDEN_PHONYTALK 0x00a0
1898#define WAVE_FORMAT_RACAL_RECORDER_GSM 0x00a1
1899#define WAVE_FORMAT_RACAL_RECORDER_G720_A 0x00a2
1900#define WAVE_FORMAT_RACAL_RECORDER_G723_1 0x00a3
1901#define WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP 0x00a4
1902#define WAVE_FORMAT_NEC_AAC 0x00b0
1903#define WAVE_FORMAT_RAW_AAC1 0x00ff
1904#define WAVE_FORMAT_RHETOREX_ADPCM 0x0100
1905#define WAVE_FORMAT_IRAT 0x0101
1906#define WAVE_FORMAT_VIVO_G723 0x0111
1907#define WAVE_FORMAT_VIVO_SIREN 0x0112
1908#define WAVE_FORMAT_PHILIPS_CELP 0x0120
1909#define WAVE_FORMAT_PHILIPS_GRUNDIG 0x0121
1910#define WAVE_FORMAT_DIGITAL_G723 0x0123
1911#define WAVE_FORMAT_SANYO_LD_ADPCM 0x0125
1912#define WAVE_FORMAT_SIPROLAB_ACEPLNET 0x0130
1913#define WAVE_FORMAT_SIPROLAB_ACELP4800 0x0131
1914#define WAVE_FORMAT_SIPROLAB_ACELP8V3 0x0132
1915#define WAVE_FORMAT_SIPROLAB_G729 0x0133
1916#define WAVE_FORMAT_SIPROLAB_G729A 0x0134
1917#define WAVE_FORMAT_SIPROLAB_KELVIN 0x0135
1918#define WAVE_FORMAT_VOICEAGE_AMR 0x0136
1919#define WAVE_FORMAT_G726ADPCM 0x0140
1920#define WAVE_FORMAT_DICTAPHONE_CELP68 0x0141
1921#define WAVE_FORMAT_DICTAPHONE_CELP54 0x0142
1922#define WAVE_FORMAT_QUALCOMM_PUREVOICE 0x0150
1923#define WAVE_FORMAT_QUALCOMM_HALFRATE 0x0151
1924#define WAVE_FORMAT_TUBGSM 0x0155
1925#define WAVE_FORMAT_MSAUDIO1 0x0160
1926#define WAVE_FORMAT_WMAUDIO2 0x0161
1927#define WAVE_FORMAT_WMAUDIO3 0x0162
1928#define WAVE_FORMAT_WMAUDIO_LOSSLESS 0x0163
1929#define WAVE_FORMAT_WMASPDIF 0x0164
1930#define WAVE_FORMAT_UNISYS_NAP_ADPCM 0x0170
1931#define WAVE_FORMAT_UNISYS_NAP_ULAW 0x0171
1932#define WAVE_FORMAT_UNISYS_NAP_ALAW 0x0172
1933#define WAVE_FORMAT_UNISYS_NAP_16K 0x0173
1934#define WAVE_FORMAT_SYCOM_ACM_SYC008 0x0174
1935#define WAVE_FORMAT_SYCOM_ACM_SYC701_G726L 0x0175
1936#define WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54 0x0176
1937#define WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68 0x0177
1938#define WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM 0x0178
1939#define WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC 0x0180
1940#define WAVE_FORMAT_DTS_DS 0x0190
1941#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200
1942#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202
1943#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203
1944#define WAVE_FORMAT_UHER_ADPCM 0x0210
1945#define WAVE_FORMAT_ULEAD_DV_AUDIO 0x0215
1946#define WAVE_FORMAT_ULEAD_DV_AUDIO_1 0x0216
1947#define WAVE_FORMAT_QUARTERDECK 0x0220
1948#define WAVE_FORMAT_ILINK_VC 0x0230
1949#define WAVE_FORMAT_RAW_SPORT 0x0240
1950#define WAVE_FORMAT_ESST_AC3 0x0241
1951#define WAVE_FORMAT_GENERIC_PASSTHRU 0x0249
1952#define WAVE_FORMAT_IPI_HSX 0x0250
1953#define WAVE_FORMAT_IPI_RPELP 0x0251
1954#define WAVE_FORMAT_CS2 0x0260
1955#define WAVE_FORMAT_SONY_SCX 0x0270
1956#define WAVE_FORMAT_SONY_SCY 0x0271
1957#define WAVE_FORMAT_SONY_ATRAC3 0x0272
1958#define WAVE_FORMAT_SONY_SPC 0x0273
1959#define WAVE_FORMAT_TELUM_AUDIO 0x0280
1960#define WAVE_FORMAT_TELUM_IA_AUDIO 0x0281
1961#define WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM 0x0285
1962#define WAVE_FORMAT_FM_TOWNS_SND 0x0300
1963#define WAVE_FORMAT_MICRONAS 0x0350
1964#define WAVE_FORMAT_MICRONAS_CELP833 0x0351
1965#define WAVE_FORMAT_BTV_DIGITAL 0x0400
1966#define WAVE_FORMAT_INTEL_MUSIC_CODER 0x0401
1967#define WAVE_FORMAT_INDEO_AUDIO 0x0402
1968#define WAVE_FORMAT_QDESIGN_MUSIC 0x0450
1969#define WAVE_FORMAT_ON2_VP7_AUDIO 0x0500
1970#define WAVE_FORMAT_ON2_VP6_AUDIO 0x0501
1971#define WAVE_FORMAT_VME_VMPCM 0x0680
1972#define WAVE_FORMAT_TPC 0x0681
1973#define WAVE_FORMAT_LIGHTWAVE_LOSSLESS 0x08ae
1974#define WAVE_FORMAT_OLIGSM 0x1000
1975#define WAVE_FORMAT_OLIADPCM 0x1001
1976#define WAVE_FORMAT_OLICELP 0x1002
1977#define WAVE_FORMAT_OLISBC 0x1003
1978#define WAVE_FORMAT_OLIOPR 0x1004
1979#define WAVE_FORMAT_LH_CODEC 0x1100
1980#define WAVE_FORMAT_LH_CODEC_CELP 0x1101
1981#define WAVE_FORMAT_LH_CODEC_SBC8 0x1102
1982#define WAVE_FORMAT_LH_CODEC_SBC12 0x1103
1983#define WAVE_FORMAT_LH_CODEC_SBC16 0x1104
1984#define WAVE_FORMAT_NORRIS 0x1400
1985#define WAVE_FORMAT_ISIAUDIO_2 0x1401
1986#define WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS 0x1500
1987#define WAVE_FORMAT_MPEG_ADTS_AAC 0x1600
1988#define WAVE_FORMAT_MPEG_RAW_AAC 0x1601
1989#define WAVE_FORMAT_MPEG_LOAS 0x1602
1990#define WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC 0x1608
1991#define WAVE_FORMAT_NOKIA_MPEG_RAW_AAC 0x1609
1992#define WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC 0x160a
1993#define WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC 0x160b
1994#define WAVE_FORMAT_MPEG_HEAAC 0x1610
1995#define WAVE_FORMAT_VOXWARE_RT24_SPEECH 0x181c
1996#define WAVE_FORMAT_SONICFOUNDRY_LOSSLESS 0x1971
1997#define WAVE_FORMAT_INNINGS_TELECOM_ADPCM 0x1979
1998#define WAVE_FORMAT_LUCENT_SX8300P 0x1c07
1999#define WAVE_FORMAT_LUCENT_SX5363S 0x1c0c
2000#define WAVE_FORMAT_CUSEEME 0x1f03
2001#define WAVE_FORMAT_NTCSOFT_ALF2CM_ACM 0x1fc4
2002#define WAVE_FORMAT_DVM 0x2000
2003#define WAVE_FORMAT_DTS2 0x2001
2004#define WAVE_FORMAT_MAKEAVIS 0x3313
2005#define WAVE_FORMAT_DIVIO_MPEG4_AAC 0x4143
2006#define WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE 0x4201
2007#define WAVE_FORMAT_DIVIO_G726 0x4243
2008#define WAVE_FORMAT_LEAD_SPEECH 0x434c
2009#define WAVE_FORMAT_LEAD_VORBIS 0x564c
2010#define WAVE_FORMAT_WAVPACK_AUDIO 0x5756
2011#define WAVE_FORMAT_ALAC 0x6c61
2012#define WAVE_FORMAT_OGG_VORBIS_MODE_1 0x674f
2013#define WAVE_FORMAT_OGG_VORBIS_MODE_2 0x6750
2014#define WAVE_FORMAT_OGG_VORBIS_MODE_3 0x6751
2015#define WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS 0x676f
2016#define WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS 0x6770
2017#define WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS 0x6771
2018#define WAVE_FORMAT_3COM_NBX 0x7000
2019#define WAVE_FORMAT_OPUS 0x704f
2020#define WAVE_FORMAT_FAAD_AAC 0x706d
2021#define WAVE_FORMAT_AMR_NB 0x7361
2022#define WAVE_FORMAT_AMR_WB 0x7362
2023#define WAVE_FORMAT_AMR_WP 0x7363
2024#define WAVE_FORMAT_GSM_AMR_CBR 0x7a21
2025#define WAVE_FORMAT_GSM_AMR_VBR_SID 0x7a22
2026#define WAVE_FORMAT_COMVERSE_INFOSYS_G723_1 0xa100
2027#define WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC 0xa101
2028#define WAVE_FORMAT_COMVERSE_INFOSYS_SBC 0xa102
2029#define WAVE_FORMAT_SYMBOL_G729_A 0xa103
2030#define WAVE_FORMAT_VOICEAGE_AMR_WB 0xa104
2031#define WAVE_FORMAT_INGENIENT_G726 0xa105
2032#define WAVE_FORMAT_MPEG4_AAC 0xa106
2033#define WAVE_FORMAT_ENCORE_G726 0xa107
2034#define WAVE_FORMAT_ZOLL_ASAO 0xa108
2035#define WAVE_FORMAT_SPEEX_VOICE 0xa109
2036#define WAVE_FORMAT_VIANIX_MASC 0xa10a
2037#define WAVE_FORMAT_WM9_SPECTRUM_ANALYZER 0xa10b
2038#define WAVE_FORMAT_WMF_SPECTRUM_ANAYZER 0xa10c
2039#define WAVE_FORMAT_GSM_610 0xa10d
2040#define WAVE_FORMAT_GSM_620 0xa10e
2041#define WAVE_FORMAT_GSM_660 0xa10f
2042#define WAVE_FORMAT_GSM_690 0xa110
2043#define WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB 0xa111
2044#define WAVE_FORMAT_POLYCOM_G722 0xa112
2045#define WAVE_FORMAT_POLYCOM_G728 0xa113
2046#define WAVE_FORMAT_POLYCOM_G729_A 0xa114
2047#define WAVE_FORMAT_POLYCOM_SIREN 0xa115
2048#define WAVE_FORMAT_GLOBAL_IP_ILBC 0xa116
2049#define WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO 0xa117
2050#define WAVE_FORMAT_NICE_ACA 0xa118
2051#define WAVE_FORMAT_NICE_ADPCM 0xa119
2052#define WAVE_FORMAT_VOCORD_G721 0xa11a
2053#define WAVE_FORMAT_VOCORD_G726 0xa11b
2054#define WAVE_FORMAT_VOCORD_G722_1 0xa11c
2055#define WAVE_FORMAT_VOCORD_G728 0xa11d
2056#define WAVE_FORMAT_VOCORD_G729 0xa11e
2057#define WAVE_FORMAT_VOCORD_G729_A 0xa11f
2058#define WAVE_FORMAT_VOCORD_G723_1 0xa120
2059#define WAVE_FORMAT_VOCORD_LBC 0xa121
2060#define WAVE_FORMAT_NICE_G728 0xa122
2061#define WAVE_FORMAT_FRACE_TELECOM_G729 0xa123
2062#define WAVE_FORMAT_CODIAN 0xa124
2063#define WAVE_FORMAT_DOLBY_AC4 0xac40
2064#define WAVE_FORMAT_FLAC 0xf1ac
2065
2066#if !defined (WAVE_FORMAT_EXTENSIBLE)
2067#define WAVE_FORMAT_EXTENSIBLE 0xfffe
2068#endif
2069
2070#define WAVE_FORMAT_DEVELOPMENT (0xffff)
2071#endif
2072
2073#ifndef WAVE_FORMAT_PCM
2074 typedef struct waveformat_tag {
2075 WORD wFormatTag;
2076 WORD nChannels;
2077 DWORD nSamplesPerSec;
2078 DWORD nAvgBytesPerSec;
2079 WORD nBlockAlign;
2080 } WAVEFORMAT,*PWAVEFORMAT,*NPWAVEFORMAT,*LPWAVEFORMAT;
2081
2082 typedef struct pcmwaveformat_tag {
2083 WAVEFORMAT wf;
2084 WORD wBitsPerSample;
2085 } PCMWAVEFORMAT,*PPCMWAVEFORMAT,*NPPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
2086#endif
2087
2088#ifndef WAVE_FORMAT_PCM
2089#define WAVE_FORMAT_PCM 1
2090#endif
2091
2092#ifndef _WAVEFORMATEX_
2093#define _WAVEFORMATEX_
2094 typedef struct tWAVEFORMATEX {
2095 WORD wFormatTag;
2096 WORD nChannels;
2097 DWORD nSamplesPerSec;
2098 DWORD nAvgBytesPerSec;
2099 WORD nBlockAlign;
2100 WORD wBitsPerSample;
2101 WORD cbSize;
2102 } WAVEFORMATEX,*PWAVEFORMATEX,*NPWAVEFORMATEX,*LPWAVEFORMATEX;
2103#endif
2104
2105#ifdef GUID_DEFINED
2106#ifndef _NTRTL_
2107#ifndef DEFINE_GUIDEX
2108#define DEFINE_GUIDEX(name) EXTERN_C const CDECL GUID name
2109#endif
2110
2111#ifndef STATICGUIDOF
2112#define STATICGUIDOF(guid) STATIC_##guid
2113#endif
2114#endif
2115
2116#ifndef DEFINE_GUIDSTRUCT
2117#define DEFINE_GUIDSTRUCT(g, n) DEFINE_GUIDEX (n)
2118#define DEFINE_GUIDNAMED(n) n
2119#endif
2120
2121#if !defined (DEFINE_WAVEFORMATEX_GUID)
2122#define DEFINE_WAVEFORMATEX_GUID(x) (USHORT) (x), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
2123#endif
2124
2125#if !defined (STATIC_KSDATAFORMAT_SUBTYPE_PCM)
2126#define STATIC_KSDATAFORMAT_SUBTYPE_PCM DEFINE_WAVEFORMATEX_GUID (WAVE_FORMAT_PCM)
2127
2128 DEFINE_GUIDSTRUCT ("00000001-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_PCM);
2129
2130#define KSDATAFORMAT_SUBTYPE_PCM DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PCM)
2131#endif
2132
2133#if !defined (RC_INVOKED)
2134#if !defined (STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT)
2135#define STATIC_KSDATAFORMAT_SUBTYPE_IEEE_FLOAT DEFINE_WAVEFORMATEX_GUID (WAVE_FORMAT_IEEE_FLOAT)
2136 DEFINE_GUIDSTRUCT("00000003-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_IEEE_FLOAT);
2137
2138#define KSDATAFORMAT_SUBTYPE_IEEE_FLOAT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT)
2139#endif
2140
2141#if !defined (STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX)
2142#define STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX __MSABI_LONG (0x00000000), 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71
2143 DEFINE_GUIDSTRUCT ("00000000-0000-0010-8000-00aa00389b71", KSDATAFORMAT_SUBTYPE_WAVEFORMATEX);
2144#define KSDATAFORMAT_SUBTYPE_WAVEFORMATEX DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_WAVEFORMATEX)
2145#endif
2146#endif
2147
2148#if !defined (INIT_WAVEFORMATEX_GUID)
2149#define INIT_WAVEFORMATEX_GUID(Guid, x) { *(Guid) = KSDATAFORMAT_SUBTYPE_WAVEFORMATEX; (Guid)->Data1 = (USHORT) (x); }
2150#endif
2151
2152#if !defined (EXTRACT_WAVEFORMATEX_ID)
2153#define EXTRACT_WAVEFORMATEX_ID(Guid) (USHORT) ((Guid)->Data1)
2154#endif
2155
2156#if !defined (IS_VALID_WAVEFORMATEX_GUID)
2157#define IS_VALID_WAVEFORMATEX_GUID(Guid) (!memcmp (((PUSHORT) &KSDATAFORMAT_SUBTYPE_WAVEFORMATEX) + 1,((PUSHORT) (Guid)) + 1, sizeof (GUID) - sizeof (USHORT)))
2158#endif
2159
2160#ifndef _WAVEFORMATEXTENSIBLE_
2161#define _WAVEFORMATEXTENSIBLE_
2162 typedef struct {
2163 WAVEFORMATEX Format;
2164 union {
2165 WORD wValidBitsPerSample;
2166 WORD wSamplesPerBlock;
2167 WORD wReserved;
2168 } Samples;
2169 DWORD dwChannelMask;
2170 GUID SubFormat;
2171 } WAVEFORMATEXTENSIBLE,*PWAVEFORMATEXTENSIBLE;
2172#endif
2173
2174 typedef WAVEFORMATEXTENSIBLE WAVEFORMATPCMEX;
2175 typedef WAVEFORMATPCMEX *PWAVEFORMATPCMEX;
2176 typedef WAVEFORMATPCMEX *NPWAVEFORMATPCMEX;
2177 typedef WAVEFORMATPCMEX *LPWAVEFORMATPCMEX;
2178 typedef WAVEFORMATEXTENSIBLE WAVEFORMATIEEEFLOATEX;
2179 typedef WAVEFORMATIEEEFLOATEX *PWAVEFORMATIEEEFLOATEX;
2180 typedef WAVEFORMATIEEEFLOATEX *NPWAVEFORMATIEEEFLOATEX;
2181 typedef WAVEFORMATIEEEFLOATEX *LPWAVEFORMATIEEEFLOATEX;
2182#endif /* GUID_DEFINED */
2183
2184#ifndef _SPEAKER_POSITIONS_
2185#define _SPEAKER_POSITIONS_
2186
2187#define SPEAKER_FRONT_LEFT 0x1
2188#define SPEAKER_FRONT_RIGHT 0x2
2189#define SPEAKER_FRONT_CENTER 0x4
2190#define SPEAKER_LOW_FREQUENCY 0x8
2191#define SPEAKER_BACK_LEFT 0x10
2192#define SPEAKER_BACK_RIGHT 0x20
2193#define SPEAKER_FRONT_LEFT_OF_CENTER 0x40
2194#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x80
2195#define SPEAKER_BACK_CENTER 0x100
2196#define SPEAKER_SIDE_LEFT 0x200
2197#define SPEAKER_SIDE_RIGHT 0x400
2198#define SPEAKER_TOP_CENTER 0x800
2199#define SPEAKER_TOP_FRONT_LEFT 0x1000
2200#define SPEAKER_TOP_FRONT_CENTER 0x2000
2201#define SPEAKER_TOP_FRONT_RIGHT 0x4000
2202#define SPEAKER_TOP_BACK_LEFT 0x8000
2203#define SPEAKER_TOP_BACK_CENTER 0x10000
2204#define SPEAKER_TOP_BACK_RIGHT 0x20000
2205
2206#define SPEAKER_RESERVED 0x7ffc0000
2207
2208#define SPEAKER_ALL 0x80000000
2209#endif
2210#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
2211
2212#ifndef NONEWWAVE
2213
2214#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
2215 typedef struct adpcmcoef_tag {
2216 short iCoef1;
2217 short iCoef2;
2218 } ADPCMCOEFSET,*PADPCMCOEFSET,*NPADPCMCOEFSET,*LPADPCMCOEFSET;
2219
2220 typedef struct adpcmwaveformat_tag {
2221 WAVEFORMATEX wfx;
2222 WORD wSamplesPerBlock;
2223 WORD wNumCoef;
2224 ADPCMCOEFSET aCoef[];
2225 } ADPCMWAVEFORMAT,*PADPCMWAVEFORMAT,*NPADPCMWAVEFORMAT,*LPADPCMWAVEFORMAT;
2226
2227 typedef struct drmwaveformat_tag {
2228 WAVEFORMATEX wfx;
2229 WORD wReserved;
2230 ULONG ulContentId;
2231 WAVEFORMATEX wfxSecure;
2232 } DRMWAVEFORMAT,*PDRMWAVEFORMAT,*NPDRMWAVEFORMAT,*LPDRMWAVEFORMAT;
2233#endif
2234
2235#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
2236 typedef struct dvi_adpcmwaveformat_tag {
2237 WAVEFORMATEX wfx;
2238 WORD wSamplesPerBlock;
2239 } DVIADPCMWAVEFORMAT,*PDVIADPCMWAVEFORMAT,*NPDVIADPCMWAVEFORMAT,*LPDVIADPCMWAVEFORMAT;
2240#endif
2241
2242#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
2243 typedef struct ima_adpcmwaveformat_tag {
2244 WAVEFORMATEX wfx;
2245 WORD wSamplesPerBlock;
2246 } IMAADPCMWAVEFORMAT,*PIMAADPCMWAVEFORMAT,*NPIMAADPCMWAVEFORMAT,*LPIMAADPCMWAVEFORMAT;
2247#endif
2248
2249#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
2250 typedef struct mediaspace_adpcmwaveformat_tag {
2251 WAVEFORMATEX wfx;
2252 WORD wRevision;
2253 } MEDIASPACEADPCMWAVEFORMAT,*PMEDIASPACEADPCMWAVEFORMAT,*NPMEDIASPACEADPCMWAVEFORMAT,*LPMEDIASPACEADPCMWAVEFORMAT;
2254
2255 typedef struct sierra_adpcmwaveformat_tag {
2256 WAVEFORMATEX wfx;
2257 WORD wRevision;
2258 } SIERRAADPCMWAVEFORMAT,*PSIERRAADPCMWAVEFORMAT,*NPSIERRAADPCMWAVEFORMAT,*LPSIERRAADPCMWAVEFORMAT;
2259
2260 typedef struct g723_adpcmwaveformat_tag {
2261 WAVEFORMATEX wfx;
2262 WORD cbExtraSize;
2263 WORD nAuxBlockSize;
2264 } G723_ADPCMWAVEFORMAT,*PG723_ADPCMWAVEFORMAT,*NPG723_ADPCMWAVEFORMAT,*LPG723_ADPCMWAVEFORMAT;
2265
2266 typedef struct digistdwaveformat_tag {
2267 WAVEFORMATEX wfx;
2268 } DIGISTDWAVEFORMAT,*PDIGISTDWAVEFORMAT,*NPDIGISTDWAVEFORMAT,*LPDIGISTDWAVEFORMAT;
2269
2270 typedef struct digifixwaveformat_tag {
2271 WAVEFORMATEX wfx;
2272 } DIGIFIXWAVEFORMAT,*PDIGIFIXWAVEFORMAT,*NPDIGIFIXWAVEFORMAT,*LPDIGIFIXWAVEFORMAT;
2273
2274 typedef struct creative_fastspeechformat_tag {
2275 WAVEFORMATEX ewf;
2276 } DIALOGICOKIADPCMWAVEFORMAT,*PDIALOGICOKIADPCMWAVEFORMAT,*NPDIALOGICOKIADPCMWAVEFORMAT,*LPDIALOGICOKIADPCMWAVEFORMAT;
2277
2278 typedef struct yamaha_adpmcwaveformat_tag {
2279 WAVEFORMATEX wfx;
2280 } YAMAHA_ADPCMWAVEFORMAT,*PYAMAHA_ADPCMWAVEFORMAT,*NPYAMAHA_ADPCMWAVEFORMAT,*LPYAMAHA_ADPCMWAVEFORMAT;
2281
2282 typedef struct sonarcwaveformat_tag {
2283 WAVEFORMATEX wfx;
2284 WORD wCompType;
2285 } SONARCWAVEFORMAT,*PSONARCWAVEFORMAT,*NPSONARCWAVEFORMAT,*LPSONARCWAVEFORMAT;
2286
2287 typedef struct truespeechwaveformat_tag {
2288 WAVEFORMATEX wfx;
2289 WORD wRevision;
2290 WORD nSamplesPerBlock;
2291 BYTE abReserved[28];
2292 } TRUESPEECHWAVEFORMAT,*PTRUESPEECHWAVEFORMAT,*NPTRUESPEECHWAVEFORMAT,*LPTRUESPEECHWAVEFORMAT;
2293
2294 typedef struct echosc1waveformat_tag {
2295 WAVEFORMATEX wfx;
2296 } ECHOSC1WAVEFORMAT,*PECHOSC1WAVEFORMAT,*NPECHOSC1WAVEFORMAT,*LPECHOSC1WAVEFORMAT;
2297
2298 typedef struct audiofile_af36waveformat_tag {
2299 WAVEFORMATEX wfx;
2300 } AUDIOFILE_AF36WAVEFORMAT,*PAUDIOFILE_AF36WAVEFORMAT,*NPAUDIOFILE_AF36WAVEFORMAT,*LPAUDIOFILE_AF36WAVEFORMAT;
2301
2302 typedef struct aptxwaveformat_tag {
2303 WAVEFORMATEX wfx;
2304 } APTXWAVEFORMAT,*PAPTXWAVEFORMAT,*NPAPTXWAVEFORMAT,*LPAPTXWAVEFORMAT;
2305
2306 typedef struct audiofile_af10waveformat_tag {
2307 WAVEFORMATEX wfx;
2308 } AUDIOFILE_AF10WAVEFORMAT,*PAUDIOFILE_AF10WAVEFORMAT,*NPAUDIOFILE_AF10WAVEFORMAT,*LPAUDIOFILE_AF10WAVEFORMAT;
2309
2310 typedef struct dolbyac2waveformat_tag {
2311 WAVEFORMATEX wfx;
2312 WORD nAuxBitsCode;
2313 } DOLBYAC2WAVEFORMAT;
2314#endif
2315
2316#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
2317 typedef struct gsm610waveformat_tag {
2318 WAVEFORMATEX wfx;
2319 WORD wSamplesPerBlock;
2320 } GSM610WAVEFORMAT,*PGSM610WAVEFORMAT,*NPGSM610WAVEFORMAT,*LPGSM610WAVEFORMAT;
2321#endif
2322
2323#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
2324 typedef struct adpcmewaveformat_tag {
2325 WAVEFORMATEX wfx;
2326 WORD wSamplesPerBlock;
2327 } ADPCMEWAVEFORMAT,*PADPCMEWAVEFORMAT,*NPADPCMEWAVEFORMAT,*LPADPCMEWAVEFORMAT;
2328
2329 typedef struct contres_vqlpcwaveformat_tag {
2330 WAVEFORMATEX wfx;
2331 WORD wSamplesPerBlock;
2332 } CONTRESVQLPCWAVEFORMAT,*PCONTRESVQLPCWAVEFORMAT,*NPCONTRESVQLPCWAVEFORMAT,*LPCONTRESVQLPCWAVEFORMAT;
2333
2334 typedef struct digirealwaveformat_tag {
2335 WAVEFORMATEX wfx;
2336 WORD wSamplesPerBlock;
2337 } DIGIREALWAVEFORMAT,*PDIGIREALWAVEFORMAT,*NPDIGIREALWAVEFORMAT,*LPDIGIREALWAVEFORMAT;
2338
2339 typedef struct digiadpcmmwaveformat_tag {
2340 WAVEFORMATEX wfx;
2341 WORD wSamplesPerBlock;
2342 } DIGIADPCMWAVEFORMAT,*PDIGIADPCMWAVEFORMAT,*NPDIGIADPCMWAVEFORMAT,*LPDIGIADPCMWAVEFORMAT;
2343
2344 typedef struct contres_cr10waveformat_tag {
2345 WAVEFORMATEX wfx;
2346 WORD wSamplesPerBlock;
2347 } CONTRESCR10WAVEFORMAT,*PCONTRESCR10WAVEFORMAT,*NPCONTRESCR10WAVEFORMAT,*LPCONTRESCR10WAVEFORMAT;
2348
2349 typedef struct nms_vbxadpcmmwaveformat_tag {
2350 WAVEFORMATEX wfx;
2351 WORD wSamplesPerBlock;
2352 } NMS_VBXADPCMWAVEFORMAT,*PNMS_VBXADPCMWAVEFORMAT,*NPNMS_VBXADPCMWAVEFORMAT,*LPNMS_VBXADPCMWAVEFORMAT;
2353
2354 typedef struct g721_adpcmwaveformat_tag {
2355 WAVEFORMATEX wfx;
2356 WORD nAuxBlockSize;
2357 } G721_ADPCMWAVEFORMAT,*PG721_ADPCMWAVEFORMAT,*NPG721_ADPCMWAVEFORMAT,*LPG721_ADPCMWAVEFORMAT;
2358#endif
2359
2360#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP)
2361 typedef struct mpeg1waveformat_tag {
2362 WAVEFORMATEX wfx;
2363 WORD fwHeadLayer;
2364 DWORD dwHeadBitrate;
2365 WORD fwHeadMode;
2366 WORD fwHeadModeExt;
2367 WORD wHeadEmphasis;
2368 WORD fwHeadFlags;
2369 DWORD dwPTSLow;
2370 DWORD dwPTSHigh;
2371 } MPEG1WAVEFORMAT,*PMPEG1WAVEFORMAT,*NPMPEG1WAVEFORMAT,*LPMPEG1WAVEFORMAT;
2372
2373#define ACM_MPEG_LAYER1 (0x0001)
2374#define ACM_MPEG_LAYER2 (0x0002)
2375#define ACM_MPEG_LAYER3 (0x0004)
2376#define ACM_MPEG_STEREO (0x0001)
2377#define ACM_MPEG_JOINTSTEREO (0x0002)
2378#define ACM_MPEG_DUALCHANNEL (0x0004)
2379#define ACM_MPEG_SINGLECHANNEL (0x0008)
2380#define ACM_MPEG_PRIVATEBIT (0x0001)
2381#define ACM_MPEG_COPYRIGHT (0x0002)
2382#define ACM_MPEG_ORIGINALHOME (0x0004)
2383#define ACM_MPEG_PROTECTIONBIT (0x0008)
2384#define ACM_MPEG_ID_MPEG1 (0x0010)
2385
2386#define MPEGLAYER3_WFX_EXTRA_BYTES 12
2387
2388 typedef struct mpeglayer3waveformat_tag {
2389 WAVEFORMATEX wfx;
2390 WORD wID;
2391 DWORD fdwFlags;
2392 WORD nBlockSize;
2393 WORD nFramesPerBlock;
2394 WORD nCodecDelay;
2395 } MPEGLAYER3WAVEFORMAT,*PMPEGLAYER3WAVEFORMAT,*NPMPEGLAYER3WAVEFORMAT,*LPMPEGLAYER3WAVEFORMAT;
2396
2397#define MPEGLAYER3_ID_UNKNOWN 0
2398#define MPEGLAYER3_ID_MPEG 1
2399#define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2
2400
2401#define MPEGLAYER3_FLAG_PADDING_ISO 0x00000000
2402#define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
2403#define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
2404
2405 typedef struct heaacwaveinfo_tag {
2406 WAVEFORMATEX wfx;
2407 WORD wPayloadType;
2408 WORD wAudioProfileLevelIndication;
2409 WORD wStructType;
2410 WORD wReserved1;
2411 DWORD dwReserved2;
2412 } HEAACWAVEINFO,*PHEAACWAVEINFO,*NPHEAACWAVEINFO,*LPHEAACWAVEINFO;
2413
2414 typedef struct heaacwaveformat_tag {
2415 HEAACWAVEINFO wfInfo;
2416 BYTE pbAudioSpecificConfig[1];
2417 } HEAACWAVEFORMAT,*PHEAACWAVEFORMAT,*NPHEAACWAVEFORMAT,*LPHEAACWAVEFORMAT;
2418
2419#define MM_MSFT_ACM_WMAUDIO 39
2420#define MM_MSFT_ACM_MSAUDIO1 39
2421
2422#define WMAUDIO_BITS_PER_SAMPLE 16
2423#define WMAUDIO_MAX_CHANNELS 2
2424
2425 typedef struct msaudio1waveformat_tag {
2426 WAVEFORMATEX wfx;
2427 WORD wSamplesPerBlock;
2428 WORD wEncodeOptions;
2429 } MSAUDIO1WAVEFORMAT,*LPMSAUDIO1WAVEFORMAT;
2430
2431#define MSAUDIO1_BITS_PER_SAMPLE WMAUDIO_BITS_PER_SAMPLE
2432#define MSAUDIO1_MAX_CHANNELS WMAUDIO_MAX_CHANNELS
2433#define MSAUDIO1_WFX_EXTRA_BYTES (sizeof (MSAUDIO1WAVEFORMAT) - sizeof (WAVEFORMATEX))
2434
2435#define MM_MSFT_ACM_WMAUDIO2 101
2436
2437 typedef struct wmaudio2waveformat_tag {
2438 WAVEFORMATEX wfx;
2439 DWORD dwSamplesPerBlock;
2440 WORD wEncodeOptions;
2441 DWORD dwSuperBlockAlign;
2442 } WMAUDIO2WAVEFORMAT,*LPWMAUDIO2WAVEFORMAT;
2443
2444#define WMAUDIO2_BITS_PER_SAMPLE WMAUDIO_BITS_PER_SAMPLE
2445#define WMAUDIO2_MAX_CHANNELS WMAUDIO_MAX_CHANNELS
2446#define WMAUDIO2_WFX_EXTRA_BYTES (sizeof (WMAUDIO2WAVEFORMAT) - sizeof (WAVEFORMATEX))
2447
2448 typedef struct wmaudio3waveformat_tag {
2449 WAVEFORMATEX wfx;
2450 WORD wValidBitsPerSample;
2451 DWORD dwChannelMask;
2452 DWORD dwReserved1;
2453 DWORD dwReserved2;
2454 WORD wEncodeOptions;
2455 WORD wReserved3;
2456 } WMAUDIO3WAVEFORMAT,*LPWMAUDIO3WAVEFORMAT;
2457
2458#define WMAUDIO3_WFX_EXTRA_BYTES (sizeof (WMAUDIO3WAVEFORMAT) - sizeof (WAVEFORMATEX))
2459#endif
2460
2461#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
2462 typedef struct creative_adpcmwaveformat_tag {
2463 WAVEFORMATEX wfx;
2464 WORD wRevision;
2465 } CREATIVEADPCMWAVEFORMAT,*PCREATIVEADPCMWAVEFORMAT,*NPCREATIVEADPCMWAVEFORMAT,*LPCREATIVEADPCMWAVEFORMAT;
2466
2467 typedef struct creative_fastspeech8format_tag {
2468 WAVEFORMATEX wfx;
2469 WORD wRevision;
2470 } CREATIVEFASTSPEECH8WAVEFORMAT,*PCREATIVEFASTSPEECH8WAVEFORMAT,*NPCREATIVEFASTSPEECH8WAVEFORMAT,*LPCREATIVEFASTSPEECH8WAVEFORMAT;
2471
2472 typedef struct creative_fastspeech10format_tag {
2473 WAVEFORMATEX wfx;
2474 WORD wRevision;
2475 } CREATIVEFASTSPEECH10WAVEFORMAT,*PCREATIVEFASTSPEECH10WAVEFORMAT,*NPCREATIVEFASTSPEECH10WAVEFORMAT,*LPCREATIVEFASTSPEECH10WAVEFORMAT;
2476
2477 typedef struct fmtowns_snd_waveformat_tag {
2478 WAVEFORMATEX wfx;
2479 WORD wRevision;
2480 } FMTOWNS_SND_WAVEFORMAT,*PFMTOWNS_SND_WAVEFORMAT,*NPFMTOWNS_SND_WAVEFORMAT,*LPFMTOWNS_SND_WAVEFORMAT;
2481
2482 typedef struct oligsmwaveformat_tag {
2483 WAVEFORMATEX wfx;
2484 } OLIGSMWAVEFORMAT,*POLIGSMWAVEFORMAT,*NPOLIGSMWAVEFORMAT,*LPOLIGSMWAVEFORMAT;
2485
2486 typedef struct oliadpcmwaveformat_tag {
2487 WAVEFORMATEX wfx;
2488 } OLIADPCMWAVEFORMAT,*POLIADPCMWAVEFORMAT,*NPOLIADPCMWAVEFORMAT,*LPOLIADPCMWAVEFORMAT;
2489
2490 typedef struct olicelpwaveformat_tag {
2491 WAVEFORMATEX wfx;
2492 } OLICELPWAVEFORMAT,*POLICELPWAVEFORMAT,*NPOLICELPWAVEFORMAT,*LPOLICELPWAVEFORMAT;
2493
2494 typedef struct olisbcwaveformat_tag {
2495 WAVEFORMATEX wfx;
2496 } OLISBCWAVEFORMAT,*POLISBCWAVEFORMAT,*NPOLISBCWAVEFORMAT,*LPOLISBCWAVEFORMAT;
2497
2498 typedef struct olioprwaveformat_tag {
2499 WAVEFORMATEX wfx;
2500 } OLIOPRWAVEFORMAT,*POLIOPRWAVEFORMAT,*NPOLIOPRWAVEFORMAT,*LPOLIOPRWAVEFORMAT;
2501
2502 typedef struct csimaadpcmwaveformat_tag {
2503 WAVEFORMATEX wfx;
2504 } CSIMAADPCMWAVEFORMAT,*PCSIMAADPCMWAVEFORMAT,*NPCSIMAADPCMWAVEFORMAT,*LPCSIMAADPCMWAVEFORMAT;
2505
2506#ifndef _ACM_WAVEFILTER
2507#define _ACM_WAVEFILTER
2508
2509#define WAVE_FILTER_UNKNOWN 0x0000
2510#define WAVE_FILTER_DEVELOPMENT (0xffff)
2511
2512 typedef struct wavefilter_tag {
2513 DWORD cbStruct;
2514 DWORD dwFilterTag;
2515 DWORD fdwFilter;
2516 DWORD dwReserved[5];
2517 } WAVEFILTER,*PWAVEFILTER,*NPWAVEFILTER,*LPWAVEFILTER;
2518#endif
2519
2520#ifndef WAVE_FILTER_VOLUME
2521#define WAVE_FILTER_VOLUME 0x0001
2522
2523 typedef struct wavefilter_volume_tag {
2524 WAVEFILTER wfltr;
2525 DWORD dwVolume;
2526 } VOLUMEWAVEFILTER,*PVOLUMEWAVEFILTER,*NPVOLUMEWAVEFILTER,*LPVOLUMEWAVEFILTER;
2527#endif
2528
2529#ifndef WAVE_FILTER_ECHO
2530#define WAVE_FILTER_ECHO 0x0002
2531
2532 typedef struct wavefilter_echo_tag {
2533 WAVEFILTER wfltr;
2534 DWORD dwVolume;
2535 DWORD dwDelay;
2536 } ECHOWAVEFILTER,*PECHOWAVEFILTER,*NPECHOWAVEFILTER,*LPECHOWAVEFILTER;
2537#endif
2538
2539#define RIFFWAVE_inst mmioFOURCC ('i', 'n', 's', 't')
2540
2541 struct tag_s_RIFFWAVE_inst {
2542 BYTE bUnshiftedNote;
2543 char chFineTune;
2544 char chGain;
2545 BYTE bLowNote;
2546 BYTE bHighNote;
2547 BYTE bLowVelocity;
2548 BYTE bHighVelocity;
2549 };
2550
2551 typedef struct tag_s_RIFFWAVE_INST s_RIFFWAVE_inst;
2552#endif
2553#endif
2554
2555#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
2556#ifndef NONEWRIFF
2557#define RIFFCPPO mmioFOURCC ('C', 'P', 'P', 'O')
2558#define RIFFCPPO_objr mmioFOURCC ('o', 'b', 'j', 'r')
2559#define RIFFCPPO_obji mmioFOURCC ('o', 'b', 'j', 'i')
2560#define RIFFCPPO_clsr mmioFOURCC ('c', 'l', 's', 'r')
2561#define RIFFCPPO_clsi mmioFOURCC ('c', 'l', 's', 'i')
2562#define RIFFCPPO_mbr mmioFOURCC ('m', 'b', 'r', ' ')
2563#define RIFFCPPO_char mmioFOURCC ('c', 'h', 'a', 'r')
2564#define RIFFCPPO_byte mmioFOURCC ('b', 'y', 't', 'e')
2565#define RIFFCPPO_int mmioFOURCC ('i', 'n', 't', ' ')
2566#define RIFFCPPO_word mmioFOURCC ('w', 'o', 'r', 'd')
2567#define RIFFCPPO_long mmioFOURCC ('l', 'o', 'n', 'g')
2568#define RIFFCPPO_dwrd mmioFOURCC ('d', 'w', 'r', 'd')
2569#define RIFFCPPO_flt mmioFOURCC ('f', 'l', 't', ' ')
2570#define RIFFCPPO_dbl mmioFOURCC ('d', 'b', 'l', ' ')
2571#define RIFFCPPO_str mmioFOURCC ('s', 't', 'r', ' ')
2572#endif
2573
2574#ifndef BI_BITFIELDS
2575#define BI_BITFIELDS 3
2576#endif
2577
2578#ifndef QUERYDIBSUPPORT
2579#define QUERYDIBSUPPORT 3073
2580#define QDI_SETDIBITS 0x0001
2581#define QDI_GETDIBITS 0x0002
2582#define QDI_DIBTOSCREEN 0x0004
2583#define QDI_STRETCHDIB 0x0008
2584#endif
2585
2586#ifndef NOBITMAP
2587 typedef struct tagEXBMINFOHEADER {
2588 BITMAPINFOHEADER bmi;
2589 DWORD biExtDataOffset;
2590 } EXBMINFOHEADER;
2591#endif
2592
2593#define BICOMP_IBMULTIMOTION mmioFOURCC ('U', 'L', 'T', 'I')
2594#define BICOMP_IBMPHOTOMOTION mmioFOURCC ('P', 'H', 'M', 'O')
2595#define BICOMP_CREATIVEYUV mmioFOURCC ('c', 'y', 'u', 'v')
2596
2597#ifndef NOJPEGDIB
2598#define JPEG_DIB mmioFOURCC ('J', 'P', 'E', 'G')
2599#define MJPG_DIB mmioFOURCC ('M', 'J', 'P', 'G')
2600
2601#define JPEG_PROCESS_BASELINE 0
2602
2603#define AVIIF_CONTROLFRAME __MSABI_LONG (0x00000200)
2604
2605#define JIFMK_SOF0 0xffc0
2606#define JIFMK_SOF1 0xffc1
2607#define JIFMK_SOF2 0xffc2
2608#define JIFMK_SOF3 0xffc3
2609#define JIFMK_SOF5 0xffc5
2610#define JIFMK_SOF6 0xffc6
2611#define JIFMK_SOF7 0xffc7
2612#define JIFMK_JPG 0xffc8
2613#define JIFMK_SOF9 0xffc9
2614#define JIFMK_SOF10 0xffca
2615#define JIFMK_SOF11 0xffcb
2616#define JIFMK_SOF13 0xffcd
2617#define JIFMK_SOF14 0xffce
2618#define JIFMK_SOF15 0xffcf
2619#define JIFMK_DHT 0xffc4
2620#define JIFMK_DAC 0xffcc
2621#define JIFMK_RST0 0xffd0
2622#define JIFMK_RST1 0xffd1
2623#define JIFMK_RST2 0xffd2
2624#define JIFMK_RST3 0xffd3
2625#define JIFMK_RST4 0xffd4
2626#define JIFMK_RST5 0xffd5
2627#define JIFMK_RST6 0xffd6
2628#define JIFMK_RST7 0xffd7
2629#define JIFMK_SOI 0xffd8
2630#define JIFMK_EOI 0xffd9
2631#define JIFMK_SOS 0xffda
2632#define JIFMK_DQT 0xffdb
2633#define JIFMK_DNL 0xffdc
2634#define JIFMK_DRI 0xffdd
2635#define JIFMK_DHP 0xffde
2636#define JIFMK_EXP 0xffdf
2637#define JIFMK_APP0 0xffe0
2638#define JIFMK_APP1 0xffe1
2639#define JIFMK_APP2 0xffe2
2640#define JIFMK_APP3 0xffe3
2641#define JIFMK_APP4 0xffe4
2642#define JIFMK_APP5 0xffe5
2643#define JIFMK_APP6 0xffe6
2644#define JIFMK_APP7 0xffe7
2645#define JIFMK_JPG0 0xfff0
2646#define JIFMK_JPG1 0xfff1
2647#define JIFMK_JPG2 0xfff2
2648#define JIFMK_JPG3 0xfff3
2649#define JIFMK_JPG4 0xfff4
2650#define JIFMK_JPG5 0xfff5
2651#define JIFMK_JPG6 0xfff6
2652#define JIFMK_JPG7 0xfff7
2653#define JIFMK_JPG8 0xfff8
2654#define JIFMK_JPG9 0xfff9
2655#define JIFMK_JPG10 0xfffa
2656#define JIFMK_JPG11 0xfffb
2657#define JIFMK_JPG12 0xfffc
2658#define JIFMK_JPG13 0xfffd
2659#define JIFMK_COM 0xfffe
2660#define JIFMK_TEM 0xff01
2661#define JIFMK_RES 0xff02
2662#define JIFMK_00 0xff00
2663#define JIFMK_FF 0xffff
2664
2665#define JPEG_Y 1
2666#define JPEG_YCbCr 2
2667#define JPEG_RGB 3
2668
2669 typedef struct tagJPEGINFOHEADER {
2670 DWORD JPEGSize;
2671 DWORD JPEGProcess;
2672 DWORD JPEGColorSpaceID;
2673 DWORD JPEGBitsPerSample;
2674 DWORD JPEGHSubSampling;
2675 DWORD JPEGVSubSampling;
2676 } JPEGINFOHEADER;
2677#ifdef MJPGDHTSEG_STORAGE
2678
2679 MJPGDHTSEG_STORAGE BYTE MJPGDHTSeg[0x1a4] = {
2680 0xff, 0xc4, 0x01, 0xa2, 0x00, 0x00, 0x01, 0x05, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
2681 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x01, 0x00, 0x03,
2682 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03,
2683 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x10, 0x00, 0x02, 0x01, 0x03, 0x03, 0x02, 0x04, 0x03, 0x05,
2684 0x05, 0x04, 0x04, 0x00, 0x00, 0x01, 0x7d, 0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41,
2685 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15,
2686 0x52, 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27,
2687 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
2688 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74,
2689 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95,
2690 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5,
2691 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5,
2692 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf1, 0xf2, 0xf3,
2693 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0x11, 0x00, 0x02, 0x01, 0x02, 0x04, 0x04, 0x03, 0x04, 0x07, 0x05,
2694 0x04, 0x04, 0x00, 0x01, 0x02, 0x77, 0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41,
2695 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33,
2696 0x52, 0xf0, 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
2697 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
2698 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74,
2699 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94,
2700 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
2701 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4,
2702 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4,
2703 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa
2704 };
2705#endif
2706#endif
2707
2708#ifndef NONEWIC
2709
2710#ifndef ICTYPE_VIDEO
2711#define ICTYPE_VIDEO mmioFOURCC ('v', 'i', 'd', 'c')
2712#define ICTYPE_AUDIO mmioFOURCC ('a', 'u', 'd', 'c')
2713#endif
2714#endif
2715
2716#define FOURCC_RDSP mmioFOURCC ('R', 'D', 'S', 'P')
2717
2718#ifndef MMNOMIXER
2719#define MIXERCONTROL_CONTROLTYPE_SRS_MTS (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 6)
2720#define MIXERCONTROL_CONTROLTYPE_SRS_ONOFF (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 7)
2721#define MIXERCONTROL_CONTROLTYPE_SRS_SYNTHSELECT (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 8)
2722#endif
2723#endif
2724
2725#ifndef RC_INVOKED
2726#include "poppack.h"
2727#endif
2728
2729#ifdef __cplusplus
2730}
2731#endif
2732
2733#endif
2734#else /* defined (__WIDL__) */
2735cpp_quote("#if 0")
2736/* FIXME: #pragma pack(push, 1) */
2737typedef struct tWAVEFORMATEX {
2738 WORD wFormatTag;
2739 WORD nChannels;
2740 DWORD nSamplesPerSec;
2741 DWORD nAvgBytesPerSec;
2742 WORD nBlockAlign;
2743 WORD wBitsPerSample;
2744 WORD cbSize;
2745 [size_is (cbSize)] BYTE pExtraBytes[];
2746} WAVEFORMATEX,*PWAVEFORMATEX,*NPWAVEFORMATEX,*LPWAVEFORMATEX;
2747typedef struct {
2748 WORD wFormatTag;
2749 WORD nChannels;
2750 DWORD nSamplesPerSec;
2751 DWORD nAvgBytesPerSec;
2752 WORD nBlockAlign;
2753 WORD wBitsPerSample;
2754 WORD cbSize;
2755 WORD wValidBitsPerSample;
2756 DWORD dwChannelMask;
2757 GUID SubFormat;
2758} WAVEFORMATEXTENSIBLE,*PWAVEFORMATEXTENSIBLE;
2759/* FIXME: #pragma pack(pop) */
2760cpp_quote("#endif")
2761#endif
Note: See TracBrowser for help on using the repository browser.