FS2_Open
Open source remastering of the Freespace 2 engine
mmreg.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright 1991-1998 Microsoft Corporation
4 
5 Module Name:
6 
7  mmreg.h
8 
9 Abstract:
10 
11  Multimedia Registration
12 
13 Revision History:
14 
15 --*/
16 
17 // Define the following to skip definitions
18 //
19 // NOMMIDS Multimedia IDs are not defined
20 // NONEWWAVE No new waveform types are defined except WAVEFORMATEX
21 // NONEWRIFF No new RIFF forms are defined
22 // NOJPEGDIB No JPEG DIB definitions
23 // NONEWIC No new Image Compressor types are defined
24 // NOBITMAP No extended bitmap info header definition
25 
26 #ifndef _INC_MMREG
27 /* use version number to verify compatibility */
28 #define _INC_MMREG 146 // version * 100 + revision
29 
30 #ifndef RC_INVOKED
31 #include "pshpack1.h" /* Assume byte packing throughout */
32 #endif /* RC_INVOKED */
33 
34 #ifdef __cplusplus
35 extern "C" { /* Assume C declarations for C++ */
36 #endif /* __cplusplus */
37 
38 #ifndef NOMMIDS
39 
40 /* manufacturer IDs */
41 #ifndef MM_MICROSOFT
42 #define MM_MICROSOFT 1 /* Microsoft Corporation */
43 #endif
44 
45 #define MM_CREATIVE 2 /* Creative Labs, Inc */
46 #define MM_MEDIAVISION 3 /* Media Vision, Inc. */
47 #define MM_FUJITSU 4 /* Fujitsu Corp. */
48 #define MM_ARTISOFT 20 /* Artisoft, Inc. */
49 #define MM_TURTLE_BEACH 21 /* Turtle Beach, Inc. */
50 #define MM_IBM 22 /* IBM Corporation */
51 #define MM_VOCALTEC 23 /* Vocaltec LTD. */
52 #define MM_ROLAND 24 /* Roland */
53 #define MM_DSP_SOLUTIONS 25 /* DSP Solutions, Inc. */
54 #define MM_NEC 26 /* NEC */
55 #define MM_ATI 27 /* ATI */
56 #define MM_WANGLABS 28 /* Wang Laboratories, Inc */
57 #define MM_TANDY 29 /* Tandy Corporation */
58 #define MM_VOYETRA 30 /* Voyetra */
59 #define MM_ANTEX 31 /* Antex Electronics Corporation */
60 #define MM_ICL_PS 32 /* ICL Personal Systems */
61 #define MM_INTEL 33 /* Intel Corporation */
62 #define MM_GRAVIS 34 /* Advanced Gravis */
63 #define MM_VAL 35 /* Video Associates Labs, Inc. */
64 #define MM_INTERACTIVE 36 /* InterActive Inc */
65 #define MM_YAMAHA 37 /* Yamaha Corporation of America */
66 #define MM_EVEREX 38 /* Everex Systems, Inc */
67 #define MM_ECHO 39 /* Echo Speech Corporation */
68 #define MM_SIERRA 40 /* Sierra Semiconductor Corp */
69 #define MM_CAT 41 /* Computer Aided Technologies */
70 #define MM_APPS 42 /* APPS Software International */
71 #define MM_DSP_GROUP 43 /* DSP Group, Inc */
72 #define MM_MELABS 44 /* microEngineering Labs */
73 #define MM_COMPUTER_FRIENDS 45 /* Computer Friends, Inc. */
74 #define MM_ESS 46 /* ESS Technology */
75 #define MM_AUDIOFILE 47 /* Audio, Inc. */
76 #define MM_MOTOROLA 48 /* Motorola, Inc. */
77 #define MM_CANOPUS 49 /* Canopus, co., Ltd. */
78 #define MM_EPSON 50 /* Seiko Epson Corporation */
79 #define MM_TRUEVISION 51 /* Truevision */
80 #define MM_AZTECH 52 /* Aztech Labs, Inc. */
81 #define MM_VIDEOLOGIC 53 /* Videologic */
82 #define MM_SCALACS 54 /* SCALACS */
83 #define MM_KORG 55 /* Korg Inc. */
84 #define MM_APT 56 /* Audio Processing Technology */
85 #define MM_ICS 57 /* Integrated Circuit Systems, Inc. */
86 #define MM_ITERATEDSYS 58 /* Iterated Systems, Inc. */
87 #define MM_METHEUS 59 /* Metheus */
88 #define MM_LOGITECH 60 /* Logitech, Inc. */
89 #define MM_WINNOV 61 /* Winnov, Inc. */
90 #define MM_NCR 62 /* NCR Corporation */
91 #define MM_EXAN 63 /* EXAN */
92 #define MM_AST 64 /* AST Research Inc. */
93 #define MM_WILLOWPOND 65 /* Willow Pond Corporation */
94 #define MM_SONICFOUNDRY 66 /* Sonic Foundry */
95 #define MM_VITEC 67 /* Vitec Multimedia */
96 #define MM_MOSCOM 68 /* MOSCOM Corporation */
97 #define MM_SILICONSOFT 69 /* Silicon Soft, Inc. */
98 #define MM_SUPERMAC 73 /* Supermac */
99 #define MM_AUDIOPT 74 /* Audio Processing Technology */
100 #define MM_SPEECHCOMP 76 /* Speech Compression */
101 #define MM_AHEAD 77 /* Ahead, Inc. */
102 #define MM_DOLBY 78 /* Dolby Laboratories */
103 #define MM_OKI 79 /* OKI */
104 #define MM_AURAVISION 80 /* AuraVision Corporation */
105 #define MM_OLIVETTI 81 /* Ing C. Olivetti & C., S.p.A. */
106 #define MM_IOMAGIC 82 /* I/O Magic Corporation */
107 #define MM_MATSUSHITA 83 /* Matsushita Electric Industrial Co., LTD. */
108 #define MM_CONTROLRES 84 /* Control Resources Limited */
109 #define MM_XEBEC 85 /* Xebec Multimedia Solutions Limited */
110 #define MM_NEWMEDIA 86 /* New Media Corporation */
111 #define MM_NMS 87 /* Natural MicroSystems */
112 #define MM_LYRRUS 88 /* Lyrrus Inc. */
113 #define MM_COMPUSIC 89 /* Compusic */
114 #define MM_OPTI 90 /* OPTi Computers Inc. */
115 #define MM_ADLACC 91 /* Adlib Accessories Inc. */
116 #define MM_COMPAQ 92 /* Compaq Computer Corp. */
117 #define MM_DIALOGIC 93 /* Dialogic Corporation */
118 #define MM_INSOFT 94 /* InSoft, Inc. */
119 #define MM_MPTUS 95 /* M.P. Technologies, Inc. */
120 #define MM_WEITEK 96 /* Weitek */
121 #define MM_LERNOUT_AND_HAUSPIE 97 /* Lernout & Hauspie */
122 #define MM_QCIAR 98 /* Quanta Computer Inc. */
123 #define MM_APPLE 99 /* Apple Computer, Inc. */
124 #define MM_DIGITAL 100 /* Digital Equipment Corporation */
125 #define MM_MOTU 101 /* Mark of the Unicorn */
126 #define MM_WORKBIT 102 /* Workbit Corporation */
127 #define MM_OSITECH 103 /* Ositech Communications Inc. */
128 #define MM_MIRO 104 /* miro Computer Products AG */
129 #define MM_CIRRUSLOGIC 105 /* Cirrus Logic */
130 #define MM_ISOLUTION 106 /* ISOLUTION B.V. */
131 #define MM_HORIZONS 107 /* Horizons Technology, Inc */
132 #define MM_CONCEPTS 108 /* Computer Concepts Ltd */
133 #define MM_VTG 109 /* Voice Technologies Group, Inc. */
134 #define MM_RADIUS 110 /* Radius */
135 #define MM_ROCKWELL 111 /* Rockwell International */
136 #define MM_XYz 112 /* Co. XYZ for testing */
137 #define MM_OPCODE 113 /* Opcode Systems */
138 #define MM_VOXWARE 114 /* Voxware Inc */
139 #define MM_NORTHERN_TELECOM 115 /* Northern Telecom Limited */
140 #define MM_APICOM 116 /* APICOM */
141 #define MM_GRANDE 117 /* Grande Software */
142 #define MM_ADDX 118 /* ADDX */
143 #define MM_WILDCAT 119 /* Wildcat Canyon Software */
144 #define MM_RHETOREX 120 /* Rhetorex Inc */
145 #define MM_BROOKTREE 121 /* Brooktree Corporation */
146 #define MM_ENSONIQ 125 /* ENSONIQ Corporation */
147 #define MM_FAST 126 /* ///FAST Multimedia AG */
148 #define MM_NVIDIA 127 /* NVidia Corporation */
149 #define MM_OKSORI 128 /* OKSORI Co., Ltd. */
150 #define MM_DIACOUSTICS 129 /* DiAcoustics, Inc. */
151 #define MM_GULBRANSEN 130 /* Gulbransen, Inc. */
152 #define MM_KAY_ELEMETRICS 131 /* Kay Elemetrics, Inc. */
153 #define MM_CRYSTAL 132 /* Crystal Semiconductor Corporation */
154 #define MM_SPLASH_STUDIOS 133 /* Splash Studios */
155 #define MM_QUARTERDECK 134 /* Quarterdeck Corporation */
156 #define MM_TDK 135 /* TDK Corporation */
157 #define MM_DIGITAL_AUDIO_LABS 136 /* Digital Audio Labs, Inc. */
158 #define MM_SEERSYS 137 /* Seer Systems, Inc. */
159 #define MM_PICTURETEL 138 /* PictureTel Corporation */
160 #define MM_ATT_MICROELECTRONICS 139 /* AT&T Microelectronics */
161 #define MM_OSPREY 140 /* Osprey Technologies, Inc. */
162 #define MM_MEDIATRIX 141 /* Mediatrix Peripherals */
163 #define MM_SOUNDESIGNS 142 /* SounDesignS M.C.S. Ltd. */
164 #define MM_ALDIGITAL 143 /* A.L. Digital Ltd. */
165 #define MM_SPECTRUM_SIGNAL_PROCESSING 144 /* Spectrum Signal Processing, Inc. */
166 #define MM_ECS 145 /* Electronic Courseware Systems, Inc. */
167 #define MM_AMD 146 /* AMD */
168 #define MM_COREDYNAMICS 147 /* Core Dynamics */
169 #define MM_CANAM 148 /* CANAM Computers */
170 #define MM_SOFTSOUND 149 /* Softsound, Ltd. */
171 #define MM_NORRIS 150 /* Norris Communications, Inc. */
172 #define MM_DDD 151 /* Danka Data Devices */
173 #define MM_EUPHONICS 152 /* EuPhonics */
174 #define MM_PRECEPT 153 /* Precept Software, Inc. */
175 #define MM_CRYSTAL_NET 154 /* Crystal Net Corporation */
176 #define MM_CHROMATIC 155 /* Chromatic Research, Inc */
177 #define MM_VOICEINFO 156 /* Voice Information Systems, Inc */
178 #define MM_VIENNASYS 157 /* Vienna Systems */
179 #define MM_CONNECTIX 158 /* Connectix Corporation */
180 #define MM_GADGETLABS 159 /* Gadget Labs LLC */
181 #define MM_FRONTIER 160 /* Frontier Design Group LLC */
182 #define MM_VIONA 161 /* Viona Development GmbH */
183 #define MM_CASIO 162 /* Casio Computer Co., LTD */
184 #define MM_DIAMONDMM 163 /* Diamond Multimedia */
185 #define MM_S3 164 /* S3 */
186 #define MM_FRAUNHOFER_IIS 172 /* Fraunhofer */
187 
188 /* MM_MICROSOFT product IDs */
189 
190 #ifndef MM_MIDI_MAPPER
191 
192 #define MM_MIDI_MAPPER 1 /* Midi Mapper */
193 #define MM_WAVE_MAPPER 2 /* Wave Mapper */
194 #define MM_SNDBLST_MIDIOUT 3 /* Sound Blaster MIDI output port */
195 #define MM_SNDBLST_MIDIIN 4 /* Sound Blaster MIDI input port */
196 #define MM_SNDBLST_SYNTH 5 /* Sound Blaster internal synth */
197 #define MM_SNDBLST_WAVEOUT 6 /* Sound Blaster waveform output */
198 #define MM_SNDBLST_WAVEIN 7 /* Sound Blaster waveform input */
199 #define MM_ADLIB 9 /* Ad Lib Compatible synth */
200 #define MM_MPU401_MIDIOUT 10 /* MPU 401 compatible MIDI output port */
201 #define MM_MPU401_MIDIIN 11 /* MPU 401 compatible MIDI input port */
202 #define MM_PC_JOYSTICK 12 /* Joystick adapter */
203 
204 #endif
205 
206 #define MM_PCSPEAKER_WAVEOUT 13 /* PC speaker waveform output */
207 #define MM_MSFT_WSS_WAVEIN 14 /* MS Audio Board waveform input */
208 #define MM_MSFT_WSS_WAVEOUT 15 /* MS Audio Board waveform output */
209 #define MM_MSFT_WSS_FMSYNTH_STEREO 16 /* MS Audio Board Stereo FM synth */
210 #define MM_MSFT_WSS_MIXER 17 /* MS Audio Board Mixer Driver */
211 #define MM_MSFT_WSS_OEM_WAVEIN 18 /* MS OEM Audio Board waveform input */
212 #define MM_MSFT_WSS_OEM_WAVEOUT 19 /* MS OEM Audio Board waveform output */
213 #define MM_MSFT_WSS_OEM_FMSYNTH_STEREO 20 /* MS OEM Audio Board Stereo FM Synth */
214 #define MM_MSFT_WSS_AUX 21 /* MS Audio Board Aux. Port */
215 #define MM_MSFT_WSS_OEM_AUX 22 /* MS OEM Audio Aux Port */
216 #define MM_MSFT_GENERIC_WAVEIN 23 /* MS Vanilla driver waveform input */
217 #define MM_MSFT_GENERIC_WAVEOUT 24 /* MS Vanilla driver wavefrom output */
218 #define MM_MSFT_GENERIC_MIDIIN 25 /* MS Vanilla driver MIDI in */
219 #define MM_MSFT_GENERIC_MIDIOUT 26 /* MS Vanilla driver MIDI external out */
220 #define MM_MSFT_GENERIC_MIDISYNTH 27 /* MS Vanilla driver MIDI synthesizer */
221 #define MM_MSFT_GENERIC_AUX_LINE 28 /* MS Vanilla driver aux (line in) */
222 #define MM_MSFT_GENERIC_AUX_MIC 29 /* MS Vanilla driver aux (mic) */
223 #define MM_MSFT_GENERIC_AUX_CD 30 /* MS Vanilla driver aux (CD) */
224 #define MM_MSFT_WSS_OEM_MIXER 31 /* MS OEM Audio Board Mixer Driver */
225 #define MM_MSFT_MSACM 32 /* MS Audio Compression Manager */
226 #define MM_MSFT_ACM_MSADPCM 33 /* MS ADPCM Codec */
227 #define MM_MSFT_ACM_IMAADPCM 34 /* IMA ADPCM Codec */
228 #define MM_MSFT_ACM_MSFILTER 35 /* MS Filter */
229 #define MM_MSFT_ACM_GSM610 36 /* GSM 610 codec */
230 #define MM_MSFT_ACM_G711 37 /* G.711 codec */
231 #define MM_MSFT_ACM_PCM 38 /* PCM converter */
232 
233  // Microsoft Windows Sound System drivers
234 
235 #define MM_WSS_SB16_WAVEIN 39 /* Sound Blaster 16 waveform input */
236 #define MM_WSS_SB16_WAVEOUT 40 /* Sound Blaster 16 waveform output */
237 #define MM_WSS_SB16_MIDIIN 41 /* Sound Blaster 16 midi-in */
238 #define MM_WSS_SB16_MIDIOUT 42 /* Sound Blaster 16 midi out */
239 #define MM_WSS_SB16_SYNTH 43 /* Sound Blaster 16 FM Synthesis */
240 #define MM_WSS_SB16_AUX_LINE 44 /* Sound Blaster 16 aux (line in) */
241 #define MM_WSS_SB16_AUX_CD 45 /* Sound Blaster 16 aux (CD) */
242 #define MM_WSS_SB16_MIXER 46 /* Sound Blaster 16 mixer device */
243 #define MM_WSS_SBPRO_WAVEIN 47 /* Sound Blaster Pro waveform input */
244 #define MM_WSS_SBPRO_WAVEOUT 48 /* Sound Blaster Pro waveform output */
245 #define MM_WSS_SBPRO_MIDIIN 49 /* Sound Blaster Pro midi in */
246 #define MM_WSS_SBPRO_MIDIOUT 50 /* Sound Blaster Pro midi out */
247 #define MM_WSS_SBPRO_SYNTH 51 /* Sound Blaster Pro FM synthesis */
248 #define MM_WSS_SBPRO_AUX_LINE 52 /* Sound Blaster Pro aux (line in ) */
249 #define MM_WSS_SBPRO_AUX_CD 53 /* Sound Blaster Pro aux (CD) */
250 #define MM_WSS_SBPRO_MIXER 54 /* Sound Blaster Pro mixer */
251 
252 #define MM_MSFT_WSS_NT_WAVEIN 55 /* WSS NT wave in */
253 #define MM_MSFT_WSS_NT_WAVEOUT 56 /* WSS NT wave out */
254 #define MM_MSFT_WSS_NT_FMSYNTH_STEREO 57 /* WSS NT FM synth */
255 #define MM_MSFT_WSS_NT_MIXER 58 /* WSS NT mixer */
256 #define MM_MSFT_WSS_NT_AUX 59 /* WSS NT aux */
257 
258 #define MM_MSFT_SB16_WAVEIN 60 /* Sound Blaster 16 waveform input */
259 #define MM_MSFT_SB16_WAVEOUT 61 /* Sound Blaster 16 waveform output */
260 #define MM_MSFT_SB16_MIDIIN 62 /* Sound Blaster 16 midi-in */
261 #define MM_MSFT_SB16_MIDIOUT 63 /* Sound Blaster 16 midi out */
262 #define MM_MSFT_SB16_SYNTH 64 /* Sound Blaster 16 FM Synthesis */
263 #define MM_MSFT_SB16_AUX_LINE 65 /* Sound Blaster 16 aux (line in) */
264 #define MM_MSFT_SB16_AUX_CD 66 /* Sound Blaster 16 aux (CD) */
265 #define MM_MSFT_SB16_MIXER 67 /* Sound Blaster 16 mixer device */
266 #define MM_MSFT_SBPRO_WAVEIN 68 /* Sound Blaster Pro waveform input */
267 #define MM_MSFT_SBPRO_WAVEOUT 69 /* Sound Blaster Pro waveform output */
268 #define MM_MSFT_SBPRO_MIDIIN 70 /* Sound Blaster Pro midi in */
269 #define MM_MSFT_SBPRO_MIDIOUT 71 /* Sound Blaster Pro midi out */
270 #define MM_MSFT_SBPRO_SYNTH 72 /* Sound Blaster Pro FM synthesis */
271 #define MM_MSFT_SBPRO_AUX_LINE 73 /* Sound Blaster Pro aux (line in ) */
272 #define MM_MSFT_SBPRO_AUX_CD 74 /* Sound Blaster Pro aux (CD) */
273 #define MM_MSFT_SBPRO_MIXER 75 /* Sound Blaster Pro mixer */
274 
275 #define MM_MSFT_MSOPL_SYNTH 76 /* Yamaha OPL2/OPL3 compatible FM synthesis */
276 
277 #define MM_MSFT_VMDMS_LINE_WAVEIN 80 /* Voice Modem Serial Line Wave Input */
278 #define MM_MSFT_VMDMS_LINE_WAVEOUT 81 /* Voice Modem Serial Line Wave Output */
279 #define MM_MSFT_VMDMS_HANDSET_WAVEIN 82 /* Voice Modem Serial Handset Wave Input */
280 #define MM_MSFT_VMDMS_HANDSET_WAVEOUT 83 /* Voice Modem Serial Handset Wave Output */
281 #define MM_MSFT_VMDMW_LINE_WAVEIN 84 /* Voice Modem Wrapper Line Wave Input */
282 #define MM_MSFT_VMDMW_LINE_WAVEOUT 85 /* Voice Modem Wrapper Line Wave Output */
283 #define MM_MSFT_VMDMW_HANDSET_WAVEIN 86 /* Voice Modem Wrapper Handset Wave Input */
284 #define MM_MSFT_VMDMW_HANDSET_WAVEOUT 87 /* Voice Modem Wrapper Handset Wave Output */
285 #define MM_MSFT_VMDMW_MIXER 88 /* Voice Modem Wrapper Mixer */
286 #define MM_MSFT_VMDM_GAME_WAVEOUT 89 /* Voice Modem Game Compatible Wave Device */
287 #define MM_MSFT_VMDM_GAME_WAVEIN 90 /* Voice Modem Game Compatible Wave Device */
288 
289 #define MM_MSFT_ACM_MSNAUDIO 91 /* */
290 #define MM_MSFT_ACM_MSG723 92 /* */
291 
292 #define MM_MSFT_WDMAUDIO_WAVEOUT 100 /* Generic id for WDM Audio drivers */
293 #define MM_MSFT_WDMAUDIO_WAVEIN 101 /* Generic id for WDM Audio drivers */
294 #define MM_MSFT_WDMAUDIO_MIDIOUT 102 /* Generic id for WDM Audio drivers */
295 #define MM_MSFT_WDMAUDIO_MIDIIN 103 /* Generic id for WDM Audio drivers */
296 #define MM_MSFT_WDMAUDIO_MIXER 104 /* Generic id for WDM Audio drivers */
297 
298 
299 /* MM_CREATIVE product IDs */
300 #define MM_CREATIVE_SB15_WAVEIN 1 /* SB (r) 1.5 waveform input */
301 #define MM_CREATIVE_SB20_WAVEIN 2
302 #define MM_CREATIVE_SBPRO_WAVEIN 3
303 #define MM_CREATIVE_SBP16_WAVEIN 4
304 #define MM_CREATIVE_PHNBLST_WAVEIN 5
305 #define MM_CREATIVE_SB15_WAVEOUT 101
306 #define MM_CREATIVE_SB20_WAVEOUT 102
307 #define MM_CREATIVE_SBPRO_WAVEOUT 103
308 #define MM_CREATIVE_SBP16_WAVEOUT 104
309 #define MM_CREATIVE_PHNBLST_WAVEOUT 105
310 #define MM_CREATIVE_MIDIOUT 201 /* SB (r) */
311 #define MM_CREATIVE_MIDIIN 202 /* SB (r) */
312 #define MM_CREATIVE_FMSYNTH_MONO 301 /* SB (r) */
313 #define MM_CREATIVE_FMSYNTH_STEREO 302 /* SB Pro (r) stereo synthesizer */
314 #define MM_CREATIVE_MIDI_AWE32 303
315 #define MM_CREATIVE_AUX_CD 401 /* SB Pro (r) aux (CD) */
316 #define MM_CREATIVE_AUX_LINE 402 /* SB Pro (r) aux (Line in ) */
317 #define MM_CREATIVE_AUX_MIC 403 /* SB Pro (r) aux (mic) */
318 #define MM_CREATIVE_AUX_MASTER 404
319 #define MM_CREATIVE_AUX_PCSPK 405
320 #define MM_CREATIVE_AUX_WAVE 406
321 #define MM_CREATIVE_AUX_MIDI 407
322 #define MM_CREATIVE_SBPRO_MIXER 408
323 #define MM_CREATIVE_SB16_MIXER 409
324 
325 /* MM_MEDIAVISION product IDs */
326 
327 // Pro Audio Spectrum
328 #define MM_MEDIAVISION_PROAUDIO 0x10
329 #define MM_PROAUD_MIDIOUT (MM_MEDIAVISION_PROAUDIO+1)
330 #define MM_PROAUD_MIDIIN (MM_MEDIAVISION_PROAUDIO+2)
331 #define MM_PROAUD_SYNTH (MM_MEDIAVISION_PROAUDIO+3)
332 #define MM_PROAUD_WAVEOUT (MM_MEDIAVISION_PROAUDIO+4)
333 #define MM_PROAUD_WAVEIN (MM_MEDIAVISION_PROAUDIO+5)
334 #define MM_PROAUD_MIXER (MM_MEDIAVISION_PROAUDIO+6)
335 #define MM_PROAUD_AUX (MM_MEDIAVISION_PROAUDIO+7)
336 
337 // Thunder Board
338 #define MM_MEDIAVISION_THUNDER 0x20
339 #define MM_THUNDER_SYNTH (MM_MEDIAVISION_THUNDER+3)
340 #define MM_THUNDER_WAVEOUT (MM_MEDIAVISION_THUNDER+4)
341 #define MM_THUNDER_WAVEIN (MM_MEDIAVISION_THUNDER+5)
342 #define MM_THUNDER_AUX (MM_MEDIAVISION_THUNDER+7)
343 
344 // Audio Port
345 #define MM_MEDIAVISION_TPORT 0x40
346 #define MM_TPORT_WAVEOUT (MM_MEDIAVISION_TPORT+1)
347 #define MM_TPORT_WAVEIN (MM_MEDIAVISION_TPORT+2)
348 #define MM_TPORT_SYNTH (MM_MEDIAVISION_TPORT+3)
349 
350 // Pro Audio Spectrum Plus
351 #define MM_MEDIAVISION_PROAUDIO_PLUS 0x50
352 #define MM_PROAUD_PLUS_MIDIOUT (MM_MEDIAVISION_PROAUDIO_PLUS+1)
353 #define MM_PROAUD_PLUS_MIDIIN (MM_MEDIAVISION_PROAUDIO_PLUS+2)
354 #define MM_PROAUD_PLUS_SYNTH (MM_MEDIAVISION_PROAUDIO_PLUS+3)
355 #define MM_PROAUD_PLUS_WAVEOUT (MM_MEDIAVISION_PROAUDIO_PLUS+4)
356 #define MM_PROAUD_PLUS_WAVEIN (MM_MEDIAVISION_PROAUDIO_PLUS+5)
357 #define MM_PROAUD_PLUS_MIXER (MM_MEDIAVISION_PROAUDIO_PLUS+6)
358 #define MM_PROAUD_PLUS_AUX (MM_MEDIAVISION_PROAUDIO_PLUS+7)
359 
360 // Pro Audio Spectrum 16
361 #define MM_MEDIAVISION_PROAUDIO_16 0x60
362 #define MM_PROAUD_16_MIDIOUT (MM_MEDIAVISION_PROAUDIO_16+1)
363 #define MM_PROAUD_16_MIDIIN (MM_MEDIAVISION_PROAUDIO_16+2)
364 #define MM_PROAUD_16_SYNTH (MM_MEDIAVISION_PROAUDIO_16+3)
365 #define MM_PROAUD_16_WAVEOUT (MM_MEDIAVISION_PROAUDIO_16+4)
366 #define MM_PROAUD_16_WAVEIN (MM_MEDIAVISION_PROAUDIO_16+5)
367 #define MM_PROAUD_16_MIXER (MM_MEDIAVISION_PROAUDIO_16+6)
368 #define MM_PROAUD_16_AUX (MM_MEDIAVISION_PROAUDIO_16+7)
369 
370 // Pro Audio Studio 16
371 #define MM_MEDIAVISION_PROSTUDIO_16 0x60
372 #define MM_STUDIO_16_MIDIOUT (MM_MEDIAVISION_PROSTUDIO_16+1)
373 #define MM_STUDIO_16_MIDIIN (MM_MEDIAVISION_PROSTUDIO_16+2)
374 #define MM_STUDIO_16_SYNTH (MM_MEDIAVISION_PROSTUDIO_16+3)
375 #define MM_STUDIO_16_WAVEOUT (MM_MEDIAVISION_PROSTUDIO_16+4)
376 #define MM_STUDIO_16_WAVEIN (MM_MEDIAVISION_PROSTUDIO_16+5)
377 #define MM_STUDIO_16_MIXER (MM_MEDIAVISION_PROSTUDIO_16+6)
378 #define MM_STUDIO_16_AUX (MM_MEDIAVISION_PROSTUDIO_16+7)
379 
380 // CDPC
381 #define MM_MEDIAVISION_CDPC 0x70
382 #define MM_CDPC_MIDIOUT (MM_MEDIAVISION_CDPC+1)
383 #define MM_CDPC_MIDIIN (MM_MEDIAVISION_CDPC+2)
384 #define MM_CDPC_SYNTH (MM_MEDIAVISION_CDPC+3)
385 #define MM_CDPC_WAVEOUT (MM_MEDIAVISION_CDPC+4)
386 #define MM_CDPC_WAVEIN (MM_MEDIAVISION_CDPC+5)
387 #define MM_CDPC_MIXER (MM_MEDIAVISION_CDPC+6)
388 #define MM_CDPC_AUX (MM_MEDIAVISION_CDPC+7)
389 
390 // Opus MV 1208 Chipsent
391 #define MM_MEDIAVISION_OPUS1208 0x80
392 #define MM_OPUS401_MIDIOUT (MM_MEDIAVISION_OPUS1208+1)
393 #define MM_OPUS401_MIDIIN (MM_MEDIAVISION_OPUS1208+2)
394 #define MM_OPUS1208_SYNTH (MM_MEDIAVISION_OPUS1208+3)
395 #define MM_OPUS1208_WAVEOUT (MM_MEDIAVISION_OPUS1208+4)
396 #define MM_OPUS1208_WAVEIN (MM_MEDIAVISION_OPUS1208+5)
397 #define MM_OPUS1208_MIXER (MM_MEDIAVISION_OPUS1208+6)
398 #define MM_OPUS1208_AUX (MM_MEDIAVISION_OPUS1208+7)
399 
400 // Opus MV 1216 chipset
401 #define MM_MEDIAVISION_OPUS1216 0x90
402 #define MM_OPUS1216_MIDIOUT (MM_MEDIAVISION_OPUS1216+1)
403 #define MM_OPUS1216_MIDIIN (MM_MEDIAVISION_OPUS1216+2)
404 #define MM_OPUS1216_SYNTH (MM_MEDIAVISION_OPUS1216+3)
405 #define MM_OPUS1216_WAVEOUT (MM_MEDIAVISION_OPUS1216+4)
406 #define MM_OPUS1216_WAVEIN (MM_MEDIAVISION_OPUS1216+5)
407 #define MM_OPUS1216_MIXER (MM_MEDIAVISION_OPUS1216+6)
408 #define MM_OPUS1216_AUX (MM_MEDIAVISION_OPUS1216+7)
409 
410 /* MM_ARTISOFT product IDs */
411 #define MM_ARTISOFT_SBWAVEIN 1 /* Artisoft sounding Board waveform input */
412 #define MM_ARTISOFT_SBWAVEOUT 2 /* Artisoft sounding Board waveform output */
413 
414 /* MM_IBM product IDs */
415 #define MM_MMOTION_WAVEAUX 1 /* IBM M-Motion Auxiliary Device */
416 #define MM_MMOTION_WAVEOUT 2 /* IBM M-Motion Waveform output */
417 #define MM_MMOTION_WAVEIN 3 /* IBM M-Motion Waveform Input */
418 #define MM_IBM_PCMCIA_WAVEIN 11 /* IBM waveform input */
419 #define MM_IBM_PCMCIA_WAVEOUT 12 /* IBM Waveform output */
420 #define MM_IBM_PCMCIA_SYNTH 13 /* IBM Midi Synthesis */
421 #define MM_IBM_PCMCIA_MIDIIN 14 /* IBM external MIDI in */
422 #define MM_IBM_PCMCIA_MIDIOUT 15 /* IBM external MIDI out */
423 #define MM_IBM_PCMCIA_AUX 16 /* IBM auxiliary control */
424 #define MM_IBM_THINKPAD200 17
425 #define MM_IBM_MWAVE_WAVEIN 18
426 #define MM_IBM_MWAVE_WAVEOUT 19
427 #define MM_IBM_MWAVE_MIXER 20
428 #define MM_IBM_MWAVE_MIDIIN 21
429 #define MM_IBM_MWAVE_MIDIOUT 22
430 #define MM_IBM_MWAVE_AUX 23
431 #define MM_IBM_WC_MIDIOUT 30
432 #define MM_IBM_WC_WAVEOUT 31
433 #define MM_IBM_WC_MIXEROUT 33
434 
435 /* MM_VOCALTEC product IDs */
436 #define MM_VOCALTEC_WAVEOUT 1
437 #define MM_VOCALTEC_WAVEIN 2
438 
439 /* MM_ROLAND product IDs */
440 #define MM_ROLAND_RAP10_MIDIOUT 10 /* MM_ROLAND_RAP10 */
441 #define MM_ROLAND_RAP10_MIDIIN 11 /* MM_ROLAND_RAP10 */
442 #define MM_ROLAND_RAP10_SYNTH 12 /* MM_ROLAND_RAP10 */
443 #define MM_ROLAND_RAP10_WAVEOUT 13 /* MM_ROLAND_RAP10 */
444 #define MM_ROLAND_RAP10_WAVEIN 14 /* MM_ROLAND_RAP10 */
445 #define MM_ROLAND_MPU401_MIDIOUT 15
446 #define MM_ROLAND_MPU401_MIDIIN 16
447 #define MM_ROLAND_SMPU_MIDIOUTA 17
448 #define MM_ROLAND_SMPU_MIDIOUTB 18
449 #define MM_ROLAND_SMPU_MIDIINA 19
450 #define MM_ROLAND_SMPU_MIDIINB 20
451 #define MM_ROLAND_SC7_MIDIOUT 21
452 #define MM_ROLAND_SC7_MIDIIN 22
453 #define MM_ROLAND_SERIAL_MIDIOUT 23
454 #define MM_ROLAND_SERIAL_MIDIIN 24
455 #define MM_ROLAND_SCP_MIDIOUT 38
456 #define MM_ROLAND_SCP_MIDIIN 39
457 #define MM_ROLAND_SCP_WAVEOUT 40
458 #define MM_ROLAND_SCP_WAVEIN 41
459 #define MM_ROLAND_SCP_MIXER 42
460 #define MM_ROLAND_SCP_AUX 48
461 
462 /* MM_DSP_SOLUTIONS product IDs */
463 #define MM_DSP_SOLUTIONS_WAVEOUT 1
464 #define MM_DSP_SOLUTIONS_WAVEIN 2
465 #define MM_DSP_SOLUTIONS_SYNTH 3
466 #define MM_DSP_SOLUTIONS_AUX 4
467 
468 /* MM_WANGLABS product IDs */
469 #define MM_WANGLABS_WAVEIN1 1 /* Input audio wave on CPU board models: Exec 4010, 4030, 3450; PC 251/25c, pc 461/25s , pc 461/33c */
470 #define MM_WANGLABS_WAVEOUT1 2
471 
472 /* MM_TANDY product IDs */
473 #define MM_TANDY_VISWAVEIN 1
474 #define MM_TANDY_VISWAVEOUT 2
475 #define MM_TANDY_VISBIOSSYNTH 3
476 #define MM_TANDY_SENS_MMAWAVEIN 4
477 #define MM_TANDY_SENS_MMAWAVEOUT 5
478 #define MM_TANDY_SENS_MMAMIDIIN 6
479 #define MM_TANDY_SENS_MMAMIDIOUT 7
480 #define MM_TANDY_SENS_VISWAVEOUT 8
481 #define MM_TANDY_PSSJWAVEIN 9
482 #define MM_TANDY_PSSJWAVEOUT 10
483 
484 /* product IDs */
485 #define MM_INTELOPD_WAVEIN 1 /* HID2 WaveAudio Driver */
486 #define MM_INTELOPD_WAVEOUT 101 /* HID2 */
487 #define MM_INTELOPD_AUX 401 /* HID2 for mixing */
488 #define MM_INTEL_NSPMODEMLINE 501
489 
490 /* MM_INTERACTIVE product IDs */
491 #define MM_INTERACTIVE_WAVEIN 0x45
492 #define MM_INTERACTIVE_WAVEOUT 0x45
493 
494 /* MM_YAMAHA product IDs */
495 #define MM_YAMAHA_GSS_SYNTH 0x01
496 #define MM_YAMAHA_GSS_WAVEOUT 0x02
497 #define MM_YAMAHA_GSS_WAVEIN 0x03
498 #define MM_YAMAHA_GSS_MIDIOUT 0x04
499 #define MM_YAMAHA_GSS_MIDIIN 0x05
500 #define MM_YAMAHA_GSS_AUX 0x06
501 #define MM_YAMAHA_SERIAL_MIDIOUT 0x07
502 #define MM_YAMAHA_SERIAL_MIDIIN 0x08
503 #define MM_YAMAHA_OPL3SA_WAVEOUT 0x10
504 #define MM_YAMAHA_OPL3SA_WAVEIN 0x11
505 #define MM_YAMAHA_OPL3SA_FMSYNTH 0x12
506 #define MM_YAMAHA_OPL3SA_YSYNTH 0x13
507 #define MM_YAMAHA_OPL3SA_MIDIOUT 0x14
508 #define MM_YAMAHA_OPL3SA_MIDIIN 0x15
509 #define MM_YAMAHA_OPL3SA_MIXER 0x17
510 #define MM_YAMAHA_OPL3SA_JOYSTICK 0x18
511 
512 /* MM_EVEREX product IDs */
513 #define MM_EVEREX_CARRIER 0x01
514 
515 /* MM_ECHO product IDs */
516 #define MM_ECHO_SYNTH 0x01
517 #define MM_ECHO_WAVEOUT 0x02
518 #define MM_ECHO_WAVEIN 0x03
519 #define MM_ECHO_MIDIOUT 0x04
520 #define MM_ECHO_MIDIIN 0x05
521 #define MM_ECHO_AUX 0x06
522 
523 /* MM_SIERRA product IDs */
524 #define MM_SIERRA_ARIA_MIDIOUT 0x14
525 #define MM_SIERRA_ARIA_MIDIIN 0x15
526 #define MM_SIERRA_ARIA_SYNTH 0x16
527 #define MM_SIERRA_ARIA_WAVEOUT 0x17
528 #define MM_SIERRA_ARIA_WAVEIN 0x18
529 #define MM_SIERRA_ARIA_AUX 0x19
530 #define MM_SIERRA_ARIA_AUX2 0x20
531 #define MM_SIERRA_QUARTET_WAVEIN 0x50
532 #define MM_SIERRA_QUARTET_WAVEOUT 0x51
533 #define MM_SIERRA_QUARTET_MIDIIN 0x52
534 #define MM_SIERRA_QUARTET_MIDIOUT 0x53
535 #define MM_SIERRA_QUARTET_SYNTH 0x54
536 #define MM_SIERRA_QUARTET_AUX_CD 0x55
537 #define MM_SIERRA_QUARTET_AUX_LINE 0x56
538 #define MM_SIERRA_QUARTET_AUX_MODEM 0x57
539 #define MM_SIERRA_QUARTET_MIXER 0x58
540 
541 /* MM_CAT product IDs */
542 #define MM_CAT_WAVEOUT 1
543 
544 /* MM_DSP_GROUP product IDs */
545 #define MM_DSP_GROUP_TRUESPEECH 0x01
546 
547 /* MM_MELABS product IDs */
548 #define MM_MELABS_MIDI2GO 0x01
549 
550 /* MM_ESS product IDs */
551 #define MM_ESS_AMWAVEOUT 0x01
552 #define MM_ESS_AMWAVEIN 0x02
553 #define MM_ESS_AMAUX 0x03
554 #define MM_ESS_AMSYNTH 0x04
555 #define MM_ESS_AMMIDIOUT 0x05
556 #define MM_ESS_AMMIDIIN 0x06
557 #define MM_ESS_MIXER 0x07
558 #define MM_ESS_AUX_CD 0x08
559 #define MM_ESS_MPU401_MIDIOUT 0x09
560 #define MM_ESS_MPU401_MIDIIN 0x0A
561 #define MM_ESS_ES488_WAVEOUT 0x10
562 #define MM_ESS_ES488_WAVEIN 0x11
563 #define MM_ESS_ES488_MIXER 0x12
564 #define MM_ESS_ES688_WAVEOUT 0x13
565 #define MM_ESS_ES688_WAVEIN 0x14
566 #define MM_ESS_ES688_MIXER 0x15
567 #define MM_ESS_ES1488_WAVEOUT 0x16
568 #define MM_ESS_ES1488_WAVEIN 0x17
569 #define MM_ESS_ES1488_MIXER 0x18
570 #define MM_ESS_ES1688_WAVEOUT 0x19
571 #define MM_ESS_ES1688_WAVEIN 0x1A
572 #define MM_ESS_ES1688_MIXER 0x1B
573 #define MM_ESS_ES1788_WAVEOUT 0x1C
574 #define MM_ESS_ES1788_WAVEIN 0x1D
575 #define MM_ESS_ES1788_MIXER 0x1E
576 #define MM_ESS_ES1888_WAVEOUT 0x1F
577 #define MM_ESS_ES1888_WAVEIN 0x20
578 #define MM_ESS_ES1888_MIXER 0x21
579 #define MM_ESS_ES1868_WAVEOUT 0x22
580 #define MM_ESS_ES1868_WAVEIN 0x23
581 #define MM_ESS_ES1868_MIXER 0x24
582 #define MM_ESS_ES1878_WAVEOUT 0x25
583 #define MM_ESS_ES1878_WAVEIN 0x26
584 #define MM_ESS_ES1878_MIXER 0x27
585 
586 /* product IDs */
587 #define MM_EPS_FMSND 1
588 
589 /* MM_TRUEVISION product IDs */
590 #define MM_TRUEVISION_WAVEIN1 1
591 #define MM_TRUEVISION_WAVEOUT1 2
592 
593 /* MM_AZTECH product IDs */
594 #define MM_AZTECH_MIDIOUT 3
595 #define MM_AZTECH_MIDIIN 4
596 #define MM_AZTECH_WAVEIN 17
597 #define MM_AZTECH_WAVEOUT 18
598 #define MM_AZTECH_FMSYNTH 20
599 #define MM_AZTECH_MIXER 21
600 #define MM_AZTECH_PRO16_WAVEIN 33
601 #define MM_AZTECH_PRO16_WAVEOUT 34
602 #define MM_AZTECH_PRO16_FMSYNTH 38
603 #define MM_AZTECH_DSP16_WAVEIN 65
604 #define MM_AZTECH_DSP16_WAVEOUT 66
605 #define MM_AZTECH_DSP16_FMSYNTH 68
606 #define MM_AZTECH_DSP16_WAVESYNTH 70
607 #define MM_AZTECH_NOVA16_WAVEIN 71
608 #define MM_AZTECH_NOVA16_WAVEOUT 72
609 #define MM_AZTECH_NOVA16_MIXER 73
610 #define MM_AZTECH_WASH16_WAVEIN 74
611 #define MM_AZTECH_WASH16_WAVEOUT 75
612 #define MM_AZTECH_WASH16_MIXER 76
613 #define MM_AZTECH_AUX_CD 401
614 #define MM_AZTECH_AUX_LINE 402
615 #define MM_AZTECH_AUX_MIC 403
616 #define MM_AZTECH_AUX 404
617 
618 /* MM_VIDEOLOGIC product IDs */
619 #define MM_VIDEOLOGIC_MSWAVEIN 1
620 #define MM_VIDEOLOGIC_MSWAVEOUT 2
621 
622 /* MM_KORG product IDs */
623 #define MM_KORG_PCIF_MIDIOUT 1
624 #define MM_KORG_PCIF_MIDIIN 2
625 
626 /* MM_APT product IDs */
627 #define MM_APT_ACE100CD 1
628 
629 /* MM_ICS product IDs */
630 #define MM_ICS_WAVEDECK_WAVEOUT 1 /* MS WSS compatible card and driver */
631 #define MM_ICS_WAVEDECK_WAVEIN 2
632 #define MM_ICS_WAVEDECK_MIXER 3
633 #define MM_ICS_WAVEDECK_AUX 4
634 #define MM_ICS_WAVEDECK_SYNTH 5
635 #define MM_ICS_WAVEDEC_SB_WAVEOUT 6
636 #define MM_ICS_WAVEDEC_SB_WAVEIN 7
637 #define MM_ICS_WAVEDEC_SB_FM_MIDIOUT 8
638 #define MM_ICS_WAVEDEC_SB_MPU401_MIDIOUT 9
639 #define MM_ICS_WAVEDEC_SB_MPU401_MIDIIN 10
640 #define MM_ICS_WAVEDEC_SB_MIXER 11
641 #define MM_ICS_WAVEDEC_SB_AUX 12
642 #define MM_ICS_2115_LITE_MIDIOUT 13
643 #define MM_ICS_2120_LITE_MIDIOUT 14
644 
645 /* MM_ITERATEDSYS product IDs */
646 #define MM_ITERATEDSYS_FUFCODEC 1
647 
648 /* MM_METHEUS product IDs */
649 #define MM_METHEUS_ZIPPER 1
650 
651 /* MM_WINNOV product IDs */
652 #define MM_WINNOV_CAVIAR_WAVEIN 1
653 #define MM_WINNOV_CAVIAR_WAVEOUT 2
654 #define MM_WINNOV_CAVIAR_VIDC 3
655 #define MM_WINNOV_CAVIAR_CHAMPAGNE 4 /* Fourcc is CHAM */
656 #define MM_WINNOV_CAVIAR_YUV8 5 /* Fourcc is YUV8 */
657 
658 /* MM_NCR product IDs */
659 #define MM_NCR_BA_WAVEIN 1
660 #define MM_NCR_BA_WAVEOUT 2
661 #define MM_NCR_BA_SYNTH 3
662 #define MM_NCR_BA_AUX 4
663 #define MM_NCR_BA_MIXER 5
664 
665 /* MM_VITEC product IDs */
666 #define MM_VITEC_VMAKER 1
667 #define MM_VITEC_VMPRO 2
668 
669 /* MM_MOSCOM product IDs */
670 #define MM_MOSCOM_VPC2400_IN 1 /* Four Port Voice Processing / Voice Recognition Board */
671 #define MM_MOSCOM_VPC2400_OUT 2 /* VPC2400 */
672 
673 /* MM_SILICONSOFT product IDs */
674 #define MM_SILICONSOFT_SC1_WAVEIN 1 /* Waveform in , high sample rate */
675 #define MM_SILICONSOFT_SC1_WAVEOUT 2 /* Waveform out , high sample rate */
676 #define MM_SILICONSOFT_SC2_WAVEIN 3 /* Waveform in 2 channels, high sample rate */
677 #define MM_SILICONSOFT_SC2_WAVEOUT 4 /* Waveform out 2 channels, high sample rate */
678 #define MM_SILICONSOFT_SOUNDJR2_WAVEOUT 5 /* Waveform out, self powered, efficient */
679 #define MM_SILICONSOFT_SOUNDJR2PR_WAVEIN 6 /* Waveform in, self powered, efficient */
680 #define MM_SILICONSOFT_SOUNDJR2PR_WAVEOUT 7 /* Waveform out 2 channels, self powered, efficient */
681 #define MM_SILICONSOFT_SOUNDJR3_WAVEOUT 8 /* Waveform in 2 channels, self powered, efficient */
682 
683 /* MM_OLIVETTI product IDs */
684 #define MM_OLIVETTI_WAVEIN 1
685 #define MM_OLIVETTI_WAVEOUT 2
686 #define MM_OLIVETTI_MIXER 3
687 #define MM_OLIVETTI_AUX 4
688 #define MM_OLIVETTI_MIDIIN 5
689 #define MM_OLIVETTI_MIDIOUT 6
690 #define MM_OLIVETTI_SYNTH 7
691 #define MM_OLIVETTI_JOYSTICK 8
692 #define MM_OLIVETTI_ACM_GSM 9
693 #define MM_OLIVETTI_ACM_ADPCM 10
694 #define MM_OLIVETTI_ACM_CELP 11
695 #define MM_OLIVETTI_ACM_SBC 12
696 #define MM_OLIVETTI_ACM_OPR 13
697 
698 /* MM_IOMAGIC product IDs */
699 
700 /* The I/O Magic Tempo is a PCMCIA Type 2 audio card featuring wave audio
701  record and playback, FM synthesizer, and MIDI output. The I/O Magic
702  Tempo WaveOut device supports mono and stereo PCM playback at rates
703  of 7350, 11025, 22050, and 44100 samples */
704 
705 #define MM_IOMAGIC_TEMPO_WAVEOUT 1
706 #define MM_IOMAGIC_TEMPO_WAVEIN 2
707 #define MM_IOMAGIC_TEMPO_SYNTH 3
708 #define MM_IOMAGIC_TEMPO_MIDIOUT 4
709 #define MM_IOMAGIC_TEMPO_MXDOUT 5
710 #define MM_IOMAGIC_TEMPO_AUXOUT 6
711 
712 /* MM_MATSUSHITA product IDs */
713 #define MM_MATSUSHITA_WAVEIN 1
714 #define MM_MATSUSHITA_WAVEOUT 2
715 #define MM_MATSUSHITA_FMSYNTH_STEREO 3
716 #define MM_MATSUSHITA_MIXER 4
717 #define MM_MATSUSHITA_AUX 5
718 
719 /* MM_NEWMEDIA product IDs */
720 #define MM_NEWMEDIA_WAVJAMMER 1 /* WSS Compatible sound card. */
721 
722 /* MM_LYRRUS product IDs */
723 
724 /* Bridge is a MIDI driver that allows the the Lyrrus G-VOX hardware to
725  communicate with Windows base transcription and sequencer applications.
726  The driver also provides a mechanism for the user to configure the system
727  to their personal playing style. */
728 
729 #define MM_LYRRUS_BRIDGE_GUITAR 1
730 
731 /* MM_OPTI product IDs */
732 #define MM_OPTI_M16_FMSYNTH_STEREO 0x0001
733 #define MM_OPTI_M16_MIDIIN 0x0002
734 #define MM_OPTI_M16_MIDIOUT 0x0003
735 #define MM_OPTI_M16_WAVEIN 0x0004
736 #define MM_OPTI_M16_WAVEOUT 0x0005
737 #define MM_OPTI_M16_MIXER 0x0006
738 #define MM_OPTI_M16_AUX 0x0007
739 #define MM_OPTI_P16_FMSYNTH_STEREO 0x0010
740 #define MM_OPTI_P16_MIDIIN 0x0011
741 #define MM_OPTI_P16_MIDIOUT 0x0012
742 #define MM_OPTI_P16_WAVEIN 0x0013
743 #define MM_OPTI_P16_WAVEOUT 0x0014
744 #define MM_OPTI_P16_MIXER 0x0015
745 #define MM_OPTI_P16_AUX 0x0016
746 #define MM_OPTI_M32_WAVEIN 0x0020
747 #define MM_OPTI_M32_WAVEOUT 0x0021
748 #define MM_OPTI_M32_MIDIIN 0x0022
749 #define MM_OPTI_M32_MIDIOUT 0x0023
750 #define MM_OPTI_M32_SYNTH_STEREO 0x0024
751 #define MM_OPTI_M32_MIXER 0x0025
752 #define MM_OPTI_M32_AUX 0x0026
753 
754 /* Product IDs for MM_ADDX - ADDX */
755 #define MM_ADDX_PCTV_DIGITALMIX 1 /* MM_ADDX_PCTV_DIGITALMIX */
756 #define MM_ADDX_PCTV_WAVEIN 2 /* MM_ADDX_PCTV_WAVEIN */
757 #define MM_ADDX_PCTV_WAVEOUT 3 /* MM_ADDX_PCTV_WAVEOUT */
758 #define MM_ADDX_PCTV_MIXER 4 /* MM_ADDX_PCTV_MIXER */
759 #define MM_ADDX_PCTV_AUX_CD 5 /* MM_ADDX_PCTV_AUX_CD */
760 #define MM_ADDX_PCTV_AUX_LINE 6 /* MM_ADDX_PCTV_AUX_LINE */
761 
762 /* Product IDs for MM_AHEAD - Ahead, Inc. */
763 #define MM_AHEAD_MULTISOUND 1
764 #define MM_AHEAD_SOUNDBLASTER 2
765 #define MM_AHEAD_PROAUDIO 3
766 #define MM_AHEAD_GENERIC 4
767 
768 /* Product IDs for MM_AMD - AMD */
769 #define MM_AMD_INTERWAVE_WAVEIN 1
770 #define MM_AMD_INTERWAVE_WAVEOUT 2
771 #define MM_AMD_INTERWAVE_SYNTH 3
772 #define MM_AMD_INTERWAVE_MIXER1 4
773 #define MM_AMD_INTERWAVE_MIXER2 5
774 #define MM_AMD_INTERWAVE_JOYSTICK 6
775 #define MM_AMD_INTERWAVE_EX_CD 7
776 #define MM_AMD_INTERWAVE_MIDIIN 8
777 #define MM_AMD_INTERWAVE_MIDIOUT 9
778 #define MM_AMD_INTERWAVE_AUX1 10
779 #define MM_AMD_INTERWAVE_AUX2 11
780 #define MM_AMD_INTERWAVE_AUX_MIC 12
781 #define MM_AMD_INTERWAVE_AUX_CD 13
782 #define MM_AMD_INTERWAVE_MONO_IN 14
783 #define MM_AMD_INTERWAVE_MONO_OUT 15
784 #define MM_AMD_INTERWAVE_EX_TELEPHONY 16
785 #define MM_AMD_INTERWAVE_WAVEOUT_BASE 17
786 #define MM_AMD_INTERWAVE_WAVEOUT_TREBLE 18
787 #define MM_AMD_INTERWAVE_STEREO_ENHANCED 19
788 
789 /* Product IDs for MM_AST - AST Research Inc. */
790 #define MM_AST_MODEMWAVE_WAVEIN 13
791 #define MM_AST_MODEMWAVE_WAVEOUT 14
792 
793 /* Product IDs for MM_BROOKTREE - Brooktree Corporation */
794 #define MM_BTV_WAVEIN 1 /* Brooktree PCM Wave Audio In */
795 #define MM_BTV_WAVEOUT 2 /* Brooktree PCM Wave Audio Out */
796 #define MM_BTV_MIDIIN 3 /* Brooktree MIDI In */
797 #define MM_BTV_MIDIOUT 4 /* Brooktree MIDI out */
798 #define MM_BTV_MIDISYNTH 5 /* Brooktree MIDI FM synth */
799 #define MM_BTV_AUX_LINE 6 /* Brooktree Line Input */
800 #define MM_BTV_AUX_MIC 7 /* Brooktree Microphone Input */
801 #define MM_BTV_AUX_CD 8 /* Brooktree CD Input */
802 #define MM_BTV_DIGITALIN 9 /* Brooktree PCM Wave in with subcode information */
803 #define MM_BTV_DIGITALOUT 10 /* Brooktree PCM Wave out with subcode information */
804 #define MM_BTV_MIDIWAVESTREAM 11 /* Brooktree WaveStream */
805 #define MM_BTV_MIXER 12 /* Brooktree WSS Mixer driver */
806 
807 /* Product IDs for MM_CANAM - CANAM Computers */
808 #define MM_CANAM_CBXWAVEOUT 1
809 #define MM_CANAM_CBXWAVEIN 2
810 
811 /* Product IDs for MM_CASIO - Casio Computer Co., LTD */
812 #define MM_CASIO_WP150_MIDIOUT 1 /* wp150 */
813 #define MM_CASIO_WP150_MIDIIN 2
814 
815 /* Product IDs for MM_COMPAQ - Compaq Computer Corp. */
816 #define MM_COMPAQ_BB_WAVEIN 1
817 #define MM_COMPAQ_BB_WAVEOUT 2
818 #define MM_COMPAQ_BB_WAVEAUX 3
819 
820 /* Product IDs for MM_COREDYNAMICS - Core Dynamics */
821 #define MM_COREDYNAMICS_DYNAMIXHR 1 /* DynaMax Hi-Rez */
822 #define MM_COREDYNAMICS_DYNASONIX_SYNTH 2 /* DynaSonix */
823 #define MM_COREDYNAMICS_DYNASONIX_MIDI_IN 3
824 #define MM_COREDYNAMICS_DYNASONIX_MIDI_OUT 4
825 #define MM_COREDYNAMICS_DYNASONIX_WAVE_IN 5
826 #define MM_COREDYNAMICS_DYNASONIX_WAVE_OUT 6
827 #define MM_COREDYNAMICS_DYNASONIX_AUDIO_IN 7
828 #define MM_COREDYNAMICS_DYNASONIX_AUDIO_OUT 8
829 #define MM_COREDYNAMICS_DYNAGRAFX_VGA 9 /* DynaGrfx */
830 #define MM_COREDYNAMICS_DYNAGRAFX_WAVE_IN 10
831 #define MM_COREDYNAMICS_DYNAGRAFX_WAVE_OUT 11
832 
833 /* Product IDs for MM_CRYSTAL - Crystal Semiconductor Corporation */
834 #define MM_CRYSTAL_CS4232_WAVEIN 1
835 #define MM_CRYSTAL_CS4232_WAVEOUT 2
836 #define MM_CRYSTAL_CS4232_WAVEMIXER 3
837 #define MM_CRYSTAL_CS4232_WAVEAUX_AUX1 4
838 #define MM_CRYSTAL_CS4232_WAVEAUX_AUX2 5
839 #define MM_CRYSTAL_CS4232_WAVEAUX_LINE 6
840 #define MM_CRYSTAL_CS4232_WAVEAUX_MONO 7
841 #define MM_CRYSTAL_CS4232_WAVEAUX_MASTER 8
842 #define MM_CRYSTAL_CS4232_MIDIIN 9
843 #define MM_CRYSTAL_CS4232_MIDIOUT 10
844 #define MM_CRYSTAL_CS4232_INPUTGAIN_AUX1 13
845 #define MM_CRYSTAL_CS4232_INPUTGAIN_LOOP 14
846 
847 /* Product IDs for MM_DDD - Danka Data Devices */
848 #define MM_DDD_MIDILINK_MIDIIN 1
849 #define MM_DDD_MIDILINK_MIDIOUT 2
850 
851 /* Product IDs for MM_DIACOUSTICS - DiAcoustics, Inc. */
852 #define MM_DIACOUSTICS_DRUM_ACTION 1 /* Drum Action */
853 
854 /* Product IDs for MM_DIAMONDMM - Diamond Multimedia */
855 #define MM_DIMD_PLATFORM 0 /* Freedom Audio */
856 #define MM_DIMD_DIRSOUND 1
857 #define MM_DIMD_VIRTMPU 2
858 #define MM_DIMD_VIRTSB 3
859 #define MM_DIMD_VIRTJOY 4
860 #define MM_DIMD_WAVEIN 5
861 #define MM_DIMD_WAVEOUT 6
862 #define MM_DIMD_MIDIIN 7
863 #define MM_DIMD_MIDIOUT 8
864 #define MM_DIMD_AUX_LINE 9
865 #define MM_DIMD_MIXER 10
866 
867 /* Product IDs for MM_DIGITAL_AUDIO_LABS - Digital Audio Labs, Inc. */
868 #define MM_DIGITAL_AUDIO_LABS_V8 0x10
869 #define MM_DIGITAL_AUDIO_LABS_CPRO 0x11
870 
871 /* Product IDs for MM_DIGITAL - Digital Equipment Corporation */
872 #define MM_DIGITAL_AV320_WAVEIN 1 /* Digital Audio Video Compression Board */
873 #define MM_DIGITAL_AV320_WAVEOUT 2 /* Digital Audio Video Compression Board */
874 
875 /* Product IDs for MM_ECS - Electronic Courseware Systems, Inc. */
876 #define MM_ECS_AADF_MIDI_IN 10
877 #define MM_ECS_AADF_MIDI_OUT 11
878 #define MM_ECS_AADF_WAVE2MIDI_IN 12
879 
880 /* Product IDs for MM_ENSONIQ - ENSONIQ Corporation */
881 #define MM_ENSONIQ_SOUNDSCAPE 0x10 /* ENSONIQ Soundscape */
882 #define MM_SOUNDSCAPE_WAVEOUT MM_ENSONIQ_SOUNDSCAPE+1
883 #define MM_SOUNDSCAPE_WAVEOUT_AUX MM_ENSONIQ_SOUNDSCAPE+2
884 #define MM_SOUNDSCAPE_WAVEIN MM_ENSONIQ_SOUNDSCAPE+3
885 #define MM_SOUNDSCAPE_MIDIOUT MM_ENSONIQ_SOUNDSCAPE+4
886 #define MM_SOUNDSCAPE_MIDIIN MM_ENSONIQ_SOUNDSCAPE+5
887 #define MM_SOUNDSCAPE_SYNTH MM_ENSONIQ_SOUNDSCAPE+6
888 #define MM_SOUNDSCAPE_MIXER MM_ENSONIQ_SOUNDSCAPE+7
889 #define MM_SOUNDSCAPE_AUX MM_ENSONIQ_SOUNDSCAPE+8
890 
891 /* Product IDs for MM_FRONTIER - Frontier Design Group LLC */
892 #define MM_FRONTIER_WAVECENTER_MIDIIN 1 /* WaveCenter */
893 #define MM_FRONTIER_WAVECENTER_MIDIOUT 2
894 #define MM_FRONTIER_WAVECENTER_WAVEIN 3
895 #define MM_FRONTIER_WAVECENTER_WAVEOUT 4
896 
897 /* Product IDs for MM_GADGETLABS - Gadget Labs LLC */
898 #define MM_GADGETLABS_WAVE44_WAVEIN 1
899 #define MM_GADGETLABS_WAVE44_WAVEOUT 2
900 #define MM_GADGETLABS_WAVE42_WAVEIN 3
901 #define MM_GADGETLABS_WAVE42_WAVEOUT 4
902 #define MM_GADGETLABS_WAVE4_MIDIIN 5
903 #define MM_GADGETLABS_WAVE4_MIDIOUT 6
904 
905 /* Product IDs for MM_KAY_ELEMETRICS - Kay Elemetrics, Inc. */
906 #define MM_KAY_ELEMETRICS_CSL 0x4300
907 #define MM_KAY_ELEMETRICS_CSL_DAT 0x4308
908 #define MM_KAY_ELEMETRICS_CSL_4CHANNEL 0x4309
909 
910 /* Product IDs for MM_LERNOUT_AND_HAUSPIE - Lernout & Hauspie */
911 #define MM_LERNOUT_ANDHAUSPIE_LHCODECACM 1
912 
913 /* Product IDs for MM_MPTUS - M.P. Technologies, Inc. */
914 #define MM_MPTUS_SPWAVEOUT 1 /* Sound Pallette */
915 
916 /* Product IDs for MM_MOTU - Mark of the Unicorn */
917 #define MM_MOTU_MTP_MIDIOUT_ALL 100
918 #define MM_MOTU_MTP_MIDIIN_1 101
919 #define MM_MOTU_MTP_MIDIOUT_1 101
920 #define MM_MOTU_MTP_MIDIIN_2 102
921 #define MM_MOTU_MTP_MIDIOUT_2 102
922 #define MM_MOTU_MTP_MIDIIN_3 103
923 #define MM_MOTU_MTP_MIDIOUT_3 103
924 #define MM_MOTU_MTP_MIDIIN_4 104
925 #define MM_MOTU_MTP_MIDIOUT_4 104
926 #define MM_MOTU_MTP_MIDIIN_5 105
927 #define MM_MOTU_MTP_MIDIOUT_5 105
928 #define MM_MOTU_MTP_MIDIIN_6 106
929 #define MM_MOTU_MTP_MIDIOUT_6 106
930 #define MM_MOTU_MTP_MIDIIN_7 107
931 #define MM_MOTU_MTP_MIDIOUT_7 107
932 #define MM_MOTU_MTP_MIDIIN_8 108
933 #define MM_MOTU_MTP_MIDIOUT_8 108
934 
935 #define MM_MOTU_MTPII_MIDIOUT_ALL 200
936 #define MM_MOTU_MTPII_MIDIIN_SYNC 200
937 #define MM_MOTU_MTPII_MIDIIN_1 201
938 #define MM_MOTU_MTPII_MIDIOUT_1 201
939 #define MM_MOTU_MTPII_MIDIIN_2 202
940 #define MM_MOTU_MTPII_MIDIOUT_2 202
941 #define MM_MOTU_MTPII_MIDIIN_3 203
942 #define MM_MOTU_MTPII_MIDIOUT_3 203
943 #define MM_MOTU_MTPII_MIDIIN_4 204
944 #define MM_MOTU_MTPII_MIDIOUT_4 204
945 #define MM_MOTU_MTPII_MIDIIN_5 205
946 #define MM_MOTU_MTPII_MIDIOUT_5 205
947 #define MM_MOTU_MTPII_MIDIIN_6 206
948 #define MM_MOTU_MTPII_MIDIOUT_6 206
949 #define MM_MOTU_MTPII_MIDIIN_7 207
950 #define MM_MOTU_MTPII_MIDIOUT_7 207
951 #define MM_MOTU_MTPII_MIDIIN_8 208
952 #define MM_MOTU_MTPII_MIDIOUT_8 208
953 #define MM_MOTU_MTPII_NET_MIDIIN_1 209
954 #define MM_MOTU_MTPII_NET_MIDIOUT_1 209
955 #define MM_MOTU_MTPII_NET_MIDIIN_2 210
956 #define MM_MOTU_MTPII_NET_MIDIOUT_2 210
957 #define MM_MOTU_MTPII_NET_MIDIIN_3 211
958 #define MM_MOTU_MTPII_NET_MIDIOUT_3 211
959 #define MM_MOTU_MTPII_NET_MIDIIN_4 212
960 #define MM_MOTU_MTPII_NET_MIDIOUT_4 212
961 #define MM_MOTU_MTPII_NET_MIDIIN_5 213
962 #define MM_MOTU_MTPII_NET_MIDIOUT_5 213
963 #define MM_MOTU_MTPII_NET_MIDIIN_6 214
964 #define MM_MOTU_MTPII_NET_MIDIOUT_6 214
965 #define MM_MOTU_MTPII_NET_MIDIIN_7 215
966 #define MM_MOTU_MTPII_NET_MIDIOUT_7 215
967 #define MM_MOTU_MTPII_NET_MIDIIN_8 216
968 #define MM_MOTU_MTPII_NET_MIDIOUT_8 216
969 
970 #define MM_MOTU_MXP_MIDIIN_MIDIOUT_ALL 300
971 #define MM_MOTU_MXP_MIDIIN_SYNC 300
972 #define MM_MOTU_MXP_MIDIIN_MIDIIN_1 301
973 #define MM_MOTU_MXP_MIDIIN_MIDIOUT_1 301
974 #define MM_MOTU_MXP_MIDIIN_MIDIIN_2 302
975 #define MM_MOTU_MXP_MIDIIN_MIDIOUT_2 302
976 #define MM_MOTU_MXP_MIDIIN_MIDIIN_3 303
977 #define MM_MOTU_MXP_MIDIIN_MIDIOUT_3 303
978 #define MM_MOTU_MXP_MIDIIN_MIDIIN_4 304
979 #define MM_MOTU_MXP_MIDIIN_MIDIOUT_4 304
980 #define MM_MOTU_MXP_MIDIIN_MIDIIN_5 305
981 #define MM_MOTU_MXP_MIDIIN_MIDIOUT_5 305
982 #define MM_MOTU_MXP_MIDIIN_MIDIIN_6 306
983 #define MM_MOTU_MXP_MIDIIN_MIDIOUT_6 306
984 
985 #define MM_MOTU_MXPMPU_MIDIOUT_ALL 400
986 #define MM_MOTU_MXPMPU_MIDIIN_SYNC 400
987 #define MM_MOTU_MXPMPU_MIDIIN_1 401
988 #define MM_MOTU_MXPMPU_MIDIOUT_1 401
989 #define MM_MOTU_MXPMPU_MIDIIN_2 402
990 #define MM_MOTU_MXPMPU_MIDIOUT_2 402
991 #define MM_MOTU_MXPMPU_MIDIIN_3 403
992 #define MM_MOTU_MXPMPU_MIDIOUT_3 403
993 #define MM_MOTU_MXPMPU_MIDIIN_4 404
994 #define MM_MOTU_MXPMPU_MIDIOUT_4 404
995 #define MM_MOTU_MXPMPU_MIDIIN_5 405
996 #define MM_MOTU_MXPMPU_MIDIOUT_5 405
997 #define MM_MOTU_MXPMPU_MIDIIN_6 406
998 #define MM_MOTU_MXPMPU_MIDIOUT_6 406
999 
1000 #define MM_MOTU_MXN_MIDIOUT_ALL 500
1001 #define MM_MOTU_MXN_MIDIIN_SYNC 500
1002 #define MM_MOTU_MXN_MIDIIN_1 501
1003 #define MM_MOTU_MXN_MIDIOUT_1 501
1004 #define MM_MOTU_MXN_MIDIIN_2 502
1005 #define MM_MOTU_MXN_MIDIOUT_2 502
1006 #define MM_MOTU_MXN_MIDIIN_3 503
1007 #define MM_MOTU_MXN_MIDIOUT_3 503
1008 #define MM_MOTU_MXN_MIDIIN_4 504
1009 #define MM_MOTU_MXN_MIDIOUT_4 504
1010 
1011 #define MM_MOTU_FLYER_MIDI_IN_SYNC 600
1012 #define MM_MOTU_FLYER_MIDI_IN_A 601
1013 #define MM_MOTU_FLYER_MIDI_OUT_A 601
1014 #define MM_MOTU_FLYER_MIDI_IN_B 602
1015 #define MM_MOTU_FLYER_MIDI_OUT_B 602
1016 
1017 #define MM_MOTU_PKX_MIDI_IN_SYNC 700
1018 #define MM_MOTU_PKX_MIDI_IN_A 701
1019 #define MM_MOTU_PKX_MIDI_OUT_A 701
1020 #define MM_MOTU_PKX_MIDI_IN_B 702
1021 #define MM_MOTU_PKX_MIDI_OUT_B 702
1022 
1023 #define MM_MOTU_DTX_MIDI_IN_SYNC 800
1024 #define MM_MOTU_DTX_MIDI_IN_A 801
1025 #define MM_MOTU_DTX_MIDI_OUT_A 801
1026 #define MM_MOTU_DTX_MIDI_IN_B 802
1027 #define MM_MOTU_DTX_MIDI_OUT_B 802
1028 
1029 #define MM_MOTU_MTPAV_MIDIOUT_ALL 900
1030 #define MM_MOTU_MTPAV_MIDIIN_SYNC 900
1031 #define MM_MOTU_MTPAV_MIDIIN_1 901
1032 #define MM_MOTU_MTPAV_MIDIOUT_1 901
1033 #define MM_MOTU_MTPAV_MIDIIN_2 902
1034 #define MM_MOTU_MTPAV_MIDIOUT_2 902
1035 #define MM_MOTU_MTPAV_MIDIIN_3 903
1036 #define MM_MOTU_MTPAV_MIDIOUT_3 903
1037 #define MM_MOTU_MTPAV_MIDIIN_4 904
1038 #define MM_MOTU_MTPAV_MIDIOUT_4 904
1039 #define MM_MOTU_MTPAV_MIDIIN_5 905
1040 #define MM_MOTU_MTPAV_MIDIOUT_5 905
1041 #define MM_MOTU_MTPAV_MIDIIN_6 906
1042 #define MM_MOTU_MTPAV_MIDIOUT_6 906
1043 #define MM_MOTU_MTPAV_MIDIIN_7 907
1044 #define MM_MOTU_MTPAV_MIDIOUT_7 907
1045 #define MM_MOTU_MTPAV_MIDIIN_8 908
1046 #define MM_MOTU_MTPAV_MIDIOUT_8 908
1047 #define MM_MOTU_MTPAV_NET_MIDIIN_1 909
1048 #define MM_MOTU_MTPAV_NET_MIDIOUT_1 909
1049 #define MM_MOTU_MTPAV_NET_MIDIIN_2 910
1050 #define MM_MOTU_MTPAV_NET_MIDIOUT_2 910
1051 #define MM_MOTU_MTPAV_NET_MIDIIN_3 911
1052 #define MM_MOTU_MTPAV_NET_MIDIOUT_3 911
1053 #define MM_MOTU_MTPAV_NET_MIDIIN_4 912
1054 #define MM_MOTU_MTPAV_NET_MIDIOUT_4 912
1055 #define MM_MOTU_MTPAV_NET_MIDIIN_5 913
1056 #define MM_MOTU_MTPAV_NET_MIDIOUT_5 913
1057 #define MM_MOTU_MTPAV_NET_MIDIIN_6 914
1058 #define MM_MOTU_MTPAV_NET_MIDIOUT_6 914
1059 #define MM_MOTU_MTPAV_NET_MIDIIN_7 915
1060 #define MM_MOTU_MTPAV_NET_MIDIOUT_7 915
1061 #define MM_MOTU_MTPAV_NET_MIDIIN_8 916
1062 #define MM_MOTU_MTPAV_NET_MIDIOUT_8 916
1063 #define MM_MOTU_MTPAV_MIDIIN_ADAT 917
1064 #define MM_MOTU_MTPAV_MIDIOUT_ADAT 917
1065 
1066 
1067 /* Product IDs for MM_MIRO - miro Computer Products AG */
1068 #define MM_MIRO_MOVIEPRO 1 /* miroMOVIE pro */
1069 #define MM_MIRO_VIDEOD1 2 /* miroVIDEO D1 */
1070 #define MM_MIRO_VIDEODC1TV 3 /* miroVIDEO DC1 tv */
1071 #define MM_MIRO_VIDEOTD 4 /* miroVIDEO 10/20 TD */
1072 #define MM_MIRO_DC30_WAVEOUT 5
1073 #define MM_MIRO_DC30_WAVEIN 6
1074 #define MM_MIRO_DC30_MIX 7
1075 
1076 /* Product IDs for MM_NEC - NEC */
1077 #define MM_NEC_73_86_SYNTH 5
1078 #define MM_NEC_73_86_WAVEOUT 6
1079 #define MM_NEC_73_86_WAVEIN 7
1080 #define MM_NEC_26_SYNTH 9
1081 #define MM_NEC_MPU401_MIDIOUT 10
1082 #define MM_NEC_MPU401_MIDIIN 11
1083 #define MM_NEC_JOYSTICK 12
1084 
1085 /* Product IDs for MM_NORRIS - Norris Communications, Inc. */
1086 #define MM_NORRIS_VOICELINK 1
1087 
1088 /* Product IDs for MM_NORTHERN_TELECOM - Northern Telecom Limited */
1089 #define MM_NORTEL_MPXAC_WAVEIN 1 /* MPX Audio Card Wave Input Device */
1090 #define MM_NORTEL_MPXAC_WAVEOUT 2 /* MPX Audio Card Wave Output Device */
1091 
1092 /* Product IDs for MM_NVIDIA - NVidia Corporation */
1093 #define MM_NVIDIA_WAVEOUT 1
1094 #define MM_NVIDIA_WAVEIN 2
1095 #define MM_NVIDIA_MIDIOUT 3
1096 #define MM_NVIDIA_MIDIIN 4
1097 #define MM_NVIDIA_GAMEPORT 5
1098 #define MM_NVIDIA_MIXER 6
1099 #define MM_NVIDIA_AUX 7
1100 
1101 /* Product IDs for MM_OKSORI - OKSORI Co., Ltd. */
1102 #define MM_OKSORI_BASE 0 /* Oksori Base */
1103 #define MM_OKSORI_OSR8_WAVEOUT MM_OKSORI_BASE+1 /* Oksori 8bit Wave out */
1104 #define MM_OKSORI_OSR8_WAVEIN MM_OKSORI_BASE+2 /* Oksori 8bit Wave in */
1105 #define MM_OKSORI_OSR16_WAVEOUT MM_OKSORI_BASE+3 /* Oksori 16 bit Wave out */
1106 #define MM_OKSORI_OSR16_WAVEIN MM_OKSORI_BASE+4 /* Oksori 16 bit Wave in */
1107 #define MM_OKSORI_FM_OPL4 MM_OKSORI_BASE+5 /* Oksori FM Synth Yamaha OPL4 */
1108 #define MM_OKSORI_MIX_MASTER MM_OKSORI_BASE+6 /* Oksori DSP Mixer - Master Volume */
1109 #define MM_OKSORI_MIX_WAVE MM_OKSORI_BASE+7 /* Oksori DSP Mixer - Wave Volume */
1110 #define MM_OKSORI_MIX_FM MM_OKSORI_BASE+8 /* Oksori DSP Mixer - FM Volume */
1111 #define MM_OKSORI_MIX_LINE MM_OKSORI_BASE+9 /* Oksori DSP Mixer - Line Volume */
1112 #define MM_OKSORI_MIX_CD MM_OKSORI_BASE+10 /* Oksori DSP Mixer - CD Volume */
1113 #define MM_OKSORI_MIX_MIC MM_OKSORI_BASE+11 /* Oksori DSP Mixer - MIC Volume */
1114 #define MM_OKSORI_MIX_ECHO MM_OKSORI_BASE+12 /* Oksori DSP Mixer - Echo Volume */
1115 #define MM_OKSORI_MIX_AUX1 MM_OKSORI_BASE+13 /* Oksori AD1848 - AUX1 Volume */
1116 #define MM_OKSORI_MIX_LINE1 MM_OKSORI_BASE+14 /* Oksori AD1848 - LINE1 Volume */
1117 #define MM_OKSORI_EXT_MIC1 MM_OKSORI_BASE+15 /* Oksori External - One Mic Connect */
1118 #define MM_OKSORI_EXT_MIC2 MM_OKSORI_BASE+16 /* Oksori External - Two Mic Connect */
1119 #define MM_OKSORI_MIDIOUT MM_OKSORI_BASE+17 /* Oksori MIDI Out Device */
1120 #define MM_OKSORI_MIDIIN MM_OKSORI_BASE+18 /* Oksori MIDI In Device */
1121 #define MM_OKSORI_MPEG_CDVISION MM_OKSORI_BASE+19 /* Oksori CD-Vision MPEG Decoder */
1122 
1123 /* Product IDs for MM_OSITECH - Ositech Communications Inc. */
1124 #define MM_OSITECH_TRUMPCARD 1 /* Trumpcard */
1125 
1126 /* Product IDs for MM_OSPREY - Osprey Technologies, Inc. */
1127 #define MM_OSPREY_1000WAVEIN 1
1128 #define MM_OSPREY_1000WAVEOUT 2
1129 
1130 /* Product IDs for MM_QUARTERDECK - Quarterdeck Corporation */
1131 #define MM_QUARTERDECK_LHWAVEIN 0 /* Quarterdeck L&H Codec Wave In */
1132 #define MM_QUARTERDECK_LHWAVEOUT 1 /* Quarterdeck L&H Codec Wave Out */
1133 
1134 /* Product IDs for MM_RHETOREX - Rhetorex Inc */
1135 #define MM_RHETOREX_WAVEIN 1
1136 #define MM_RHETOREX_WAVEOUT 2
1137 
1138 /* Product IDs for MM_ROCKWELL - Rockwell International */
1139 #define MM_VOICEMIXER 1
1140 #define ROCKWELL_WA1_WAVEIN 100
1141 #define ROCKWELL_WA1_WAVEOUT 101
1142 #define ROCKWELL_WA1_SYNTH 102
1143 #define ROCKWELL_WA1_MIXER 103
1144 #define ROCKWELL_WA1_MPU401_IN 104
1145 #define ROCKWELL_WA1_MPU401_OUT 105
1146 #define ROCKWELL_WA2_WAVEIN 200
1147 #define ROCKWELL_WA2_WAVEOUT 201
1148 #define ROCKWELL_WA2_SYNTH 202
1149 #define ROCKWELL_WA2_MIXER 203
1150 #define ROCKWELL_WA2_MPU401_IN 204
1151 #define ROCKWELL_WA2_MPU401_OUT 205
1152 
1153 /* Product IDs for MM_S3 - S3 */
1154 #define MM_S3_WAVEOUT 0x1
1155 #define MM_S3_WAVEIN 0x2
1156 #define MM_S3_MIDIOUT 0x3
1157 #define MM_S3_MIDIIN 0x4
1158 #define MM_S3_FMSYNTH 0x5
1159 #define MM_S3_MIXER 0x6
1160 #define MM_S3_AUX 0x7
1161 
1162 /* Product IDs for MM_SEERSYS - Seer Systems, Inc. */
1163 #define MM_SEERSYS_SEERSYNTH 1
1164 #define MM_SEERSYS_SEERWAVE 2
1165 #define MM_SEERSYS_SEERMIX 3
1166 
1167 /* Product IDs for MM_SOFTSOUND - Softsound, Ltd. */
1168 #define MM_SOFTSOUND_CODEC 1
1169 
1170 /* Product IDs for MM_SOUNDESIGNS - SounDesignS M.C.S. Ltd. */
1171 #define MM_SOUNDESIGNS_WAVEIN 1
1172 #define MM_SOUNDESIGNS_WAVEOUT 2
1173 
1174 /* Product IDs for MM_SPECTRUM_SIGNAL_PROCESSING - Spectrum Signal Processing, Inc. */
1175 #define MM_SSP_SNDFESWAVEIN 1 /* Sound Festa Wave In Device */
1176 #define MM_SSP_SNDFESWAVEOUT 2 /* Sound Festa Wave Out Device */
1177 #define MM_SSP_SNDFESMIDIIN 3 /* Sound Festa MIDI In Device */
1178 #define MM_SSP_SNDFESMIDIOUT 4 /* Sound Festa MIDI Out Device */
1179 #define MM_SSP_SNDFESSYNTH 5 /* Sound Festa MIDI Synth Device */
1180 #define MM_SSP_SNDFESMIX 6 /* Sound Festa Mixer Device */
1181 #define MM_SSP_SNDFESAUX 7 /* Sound Festa Auxilliary Device */
1182 
1183 /* Product IDs for MM_TDK - TDK Corporation */
1184 #define MM_TDK_MW_MIDI_SYNTH 1
1185 #define MM_TDK_MW_MIDI_IN 2
1186 #define MM_TDK_MW_MIDI_OUT 3
1187 #define MM_TDK_MW_WAVE_IN 4
1188 #define MM_TDK_MW_WAVE_OUT 5
1189 #define MM_TDK_MW_AUX 6
1190 #define MM_TDK_MW_MIXER 10
1191 #define MM_TDK_MW_AUX_MASTER 100
1192 #define MM_TDK_MW_AUX_BASS 101
1193 #define MM_TDK_MW_AUX_TREBLE 102
1194 #define MM_TDK_MW_AUX_MIDI_VOL 103
1195 #define MM_TDK_MW_AUX_WAVE_VOL 104
1196 #define MM_TDK_MW_AUX_WAVE_RVB 105
1197 #define MM_TDK_MW_AUX_WAVE_CHR 106
1198 #define MM_TDK_MW_AUX_VOL 107
1199 #define MM_TDK_MW_AUX_RVB 108
1200 #define MM_TDK_MW_AUX_CHR 109
1201 
1202 /* Product IDs for MM_TURTLE_BEACH - Turtle Beach, Inc. */
1203 #define MM_TBS_TROPEZ_WAVEIN 37
1204 #define MM_TBS_TROPEZ_WAVEOUT 38
1205 #define MM_TBS_TROPEZ_AUX1 39
1206 #define MM_TBS_TROPEZ_AUX2 40
1207 #define MM_TBS_TROPEZ_LINE 41
1208 
1209 /* Product IDs for MM_VIENNASYS - Vienna Systems */
1210 #define MM_VIENNASYS_TSP_WAVE_DRIVER 1
1211 
1212 /* Product IDs for MM_VIONA - Viona Development GmbH */
1213 #define MM_VIONA_QVINPCI_MIXER 1 /* Q-Motion PCI II/Bravado 2000 */
1214 #define MM_VIONA_QVINPCI_WAVEIN 2
1215 #define MM_VIONAQVINPCI_WAVEOUT 3
1216 #define MM_VIONA_BUSTER_MIXER 4 /* Buster */
1217 #define MM_VIONA_CINEMASTER_MIXER 5 /* Cinemaster */
1218 #define MM_VIONA_CONCERTO_MIXER 6 /* Concerto */
1219 
1220 /* Product IDs for MM_WILDCAT - Wildcat Canyon Software */
1221 #define MM_WILDCAT_AUTOSCOREMIDIIN 1 /* Autoscore */
1222 
1223 /* Product IDs for MM_WILLOWPOND - Willow Pond Corporation */
1224 #define MM_WILLOWPOND_FMSYNTH_STEREO 20
1225 #define MM_WILLOWPOND_SNDPORT_WAVEIN 100
1226 #define MM_WILLOWPOND_SNDPORT_WAVEOUT 101
1227 #define MM_WILLOWPOND_SNDPORT_MIXER 102
1228 #define MM_WILLOWPOND_SNDPORT_AUX 103
1229 #define MM_WILLOWPOND_PH_WAVEIN 104
1230 #define MM_WILLOWPOND_PH_WAVEOUT 105
1231 #define MM_WILLOWPOND_PH_MIXER 106
1232 #define MM_WILLOWPOND_PH_AUX 107
1233 
1234 /* Product IDs for MM_WORKBIT - Workbit Corporation */
1235 #define MM_WORKBIT_MIXER 1 /* Harmony Mixer */
1236 #define MM_WORKBIT_WAVEOUT 2 /* Harmony Mixer */
1237 #define MM_WORKBIT_WAVEIN 3 /* Harmony Mixer */
1238 #define MM_WORKBIT_MIDIIN 4 /* Harmony Mixer */
1239 #define MM_WORKBIT_MIDIOUT 5 /* Harmony Mixer */
1240 #define MM_WORKBIT_FMSYNTH 6 /* Harmony Mixer */
1241 #define MM_WORKBIT_AUX 7 /* Harmony Mixer */
1242 #define MM_WORKBIT_JOYSTICK 8
1243 
1244 /* Product IDs for MM_FRAUNHOFER_IIS - Fraunhofer */
1245 #define MM_FHGIIS_MPEGLAYER3 10
1246 
1247 #endif // !NOMMIDS
1248 
1249 /*////////////////////////////////////////////////////////////////////////// */
1250 
1251 /* INFO LIST CHUNKS (from the Multimedia Programmer's Reference
1252  plus new ones)
1253 */
1254 #define RIFFINFO_IARL mmioFOURCC ('I', 'A', 'R', 'L') /*Archival location */
1255 #define RIFFINFO_IART mmioFOURCC ('I', 'A', 'R', 'T') /*Artist */
1256 #define RIFFINFO_ICMS mmioFOURCC ('I', 'C', 'M', 'S') /*Commissioned */
1257 #define RIFFINFO_ICMT mmioFOURCC ('I', 'C', 'M', 'T') /*Comments */
1258 #define RIFFINFO_ICOP mmioFOURCC ('I', 'C', 'O', 'P') /*Copyright */
1259 #define RIFFINFO_ICRD mmioFOURCC ('I', 'C', 'R', 'D') /*Creation date of subject */
1260 #define RIFFINFO_ICRP mmioFOURCC ('I', 'C', 'R', 'P') /*Cropped */
1261 #define RIFFINFO_IDIM mmioFOURCC ('I', 'D', 'I', 'M') /*Dimensions */
1262 #define RIFFINFO_IDPI mmioFOURCC ('I', 'D', 'P', 'I') /*Dots per inch */
1263 #define RIFFINFO_IENG mmioFOURCC ('I', 'E', 'N', 'G') /*Engineer */
1264 #define RIFFINFO_IGNR mmioFOURCC ('I', 'G', 'N', 'R') /*Genre */
1265 #define RIFFINFO_IKEY mmioFOURCC ('I', 'K', 'E', 'Y') /*Keywords */
1266 #define RIFFINFO_ILGT mmioFOURCC ('I', 'L', 'G', 'T') /*Lightness settings */
1267 #define RIFFINFO_IMED mmioFOURCC ('I', 'M', 'E', 'D') /*Medium */
1268 #define RIFFINFO_INAM mmioFOURCC ('I', 'N', 'A', 'M') /*Name of subject */
1269 #define RIFFINFO_IPLT mmioFOURCC ('I', 'P', 'L', 'T') /*Palette Settings. No. of colors requested. */
1270 #define RIFFINFO_IPRD mmioFOURCC ('I', 'P', 'R', 'D') /*Product */
1271 #define RIFFINFO_ISBJ mmioFOURCC ('I', 'S', 'B', 'J') /*Subject description */
1272 #define RIFFINFO_ISFT mmioFOURCC ('I', 'S', 'F', 'T') /*Software. Name of package used to create file. */
1273 #define RIFFINFO_ISHP mmioFOURCC ('I', 'S', 'H', 'P') /*Sharpness. */
1274 #define RIFFINFO_ISRC mmioFOURCC ('I', 'S', 'R', 'C') /*Source. */
1275 #define RIFFINFO_ISRF mmioFOURCC ('I', 'S', 'R', 'F') /*Source Form. ie slide, paper */
1276 #define RIFFINFO_ITCH mmioFOURCC ('I', 'T', 'C', 'H') /*Technician who digitized the subject. */
1277 
1278 /* New INFO Chunks as of August 30, 1993: */
1279 #define RIFFINFO_ISMP mmioFOURCC ('I', 'S', 'M', 'P') /*SMPTE time code */
1280 /* ISMP: SMPTE time code of digitization start point expressed as a NULL terminated
1281  text string "HH:MM:SS:FF". If performing MCI capture in AVICAP, this
1282  chunk will be automatically set based on the MCI start time.
1283 */
1284 #define RIFFINFO_IDIT mmioFOURCC ('I', 'D', 'I', 'T') /*Digitization Time */
1285 /* IDIT: "Digitization Time" Specifies the time and date that the digitization commenced.
1286  The digitization time is contained in an ASCII string which
1287  contains exactly 26 characters and is in the format
1288  "Wed Jan 02 02:03:55 1990\n\0".
1289  The ctime(), asctime(), functions can be used to create strings
1290  in this format. This chunk is automatically added to the capture
1291  file based on the current system time at the moment capture is initiated.
1292 */
1293 
1294 /*Template line for new additions*/
1295 /*#define RIFFINFO_I mmioFOURCC ('I', '', '', '') */
1296 
1297 /*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
1298 
1299 #ifndef NONEWWAVE
1300 
1301 /* WAVE form wFormatTag IDs */
1302 #define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
1303 #define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
1304 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 /* Microsoft Corporation */
1305  /* IEEE754: range (+1, -1] */
1306  /* 32-bit/64-bit format as defined by */
1307  /* MSVC++ float/double type */
1308 #define WAVE_FORMAT_IBM_CVSD 0x0005 /* IBM Corporation */
1309 #define WAVE_FORMAT_ALAW 0x0006 /* Microsoft Corporation */
1310 #define WAVE_FORMAT_MULAW 0x0007 /* Microsoft Corporation */
1311 #define WAVE_FORMAT_OKI_ADPCM 0x0010 /* OKI */
1312 #define WAVE_FORMAT_DVI_ADPCM 0x0011 /* Intel Corporation */
1313 #define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) /* Intel Corporation */
1314 #define WAVE_FORMAT_MEDIASPACE_ADPCM 0x0012 /* Videologic */
1315 #define WAVE_FORMAT_SIERRA_ADPCM 0x0013 /* Sierra Semiconductor Corp */
1316 #define WAVE_FORMAT_G723_ADPCM 0x0014 /* Antex Electronics Corporation */
1317 #define WAVE_FORMAT_DIGISTD 0x0015 /* DSP Solutions, Inc. */
1318 #define WAVE_FORMAT_DIGIFIX 0x0016 /* DSP Solutions, Inc. */
1319 #define WAVE_FORMAT_DIALOGIC_OKI_ADPCM 0x0017 /* Dialogic Corporation */
1320 #define WAVE_FORMAT_MEDIAVISION_ADPCM 0x0018 /* Media Vision, Inc. */
1321 #define WAVE_FORMAT_YAMAHA_ADPCM 0x0020 /* Yamaha Corporation of America */
1322 #define WAVE_FORMAT_SONARC 0x0021 /* Speech Compression */
1323 #define WAVE_FORMAT_DSPGROUP_TRUESPEECH 0x0022 /* DSP Group, Inc */
1324 #define WAVE_FORMAT_ECHOSC1 0x0023 /* Echo Speech Corporation */
1325 #define WAVE_FORMAT_AUDIOFILE_AF36 0x0024 /* */
1326 #define WAVE_FORMAT_APTX 0x0025 /* Audio Processing Technology */
1327 #define WAVE_FORMAT_AUDIOFILE_AF10 0x0026 /* */
1328 #define WAVE_FORMAT_DOLBY_AC2 0x0030 /* Dolby Laboratories */
1329 #define WAVE_FORMAT_GSM610 0x0031 /* Microsoft Corporation */
1330 #define WAVE_FORMAT_MSNAUDIO 0x0032 /* Microsoft Corporation */
1331 #define WAVE_FORMAT_ANTEX_ADPCME 0x0033 /* Antex Electronics Corporation */
1332 #define WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 /* Control Resources Limited */
1333 #define WAVE_FORMAT_DIGIREAL 0x0035 /* DSP Solutions, Inc. */
1334 #define WAVE_FORMAT_DIGIADPCM 0x0036 /* DSP Solutions, Inc. */
1335 #define WAVE_FORMAT_CONTROL_RES_CR10 0x0037 /* Control Resources Limited */
1336 #define WAVE_FORMAT_NMS_VBXADPCM 0x0038 /* Natural MicroSystems */
1337 #define WAVE_FORMAT_CS_IMAADPCM 0x0039 /* Crystal Semiconductor IMA ADPCM */
1338 #define WAVE_FORMAT_ECHOSC3 0x003A /* Echo Speech Corporation */
1339 #define WAVE_FORMAT_ROCKWELL_ADPCM 0x003B /* Rockwell International */
1340 #define WAVE_FORMAT_ROCKWELL_DIGITALK 0x003C /* Rockwell International */
1341 #define WAVE_FORMAT_XEBEC 0x003D /* Xebec Multimedia Solutions Limited */
1342 #define WAVE_FORMAT_G721_ADPCM 0x0040 /* Antex Electronics Corporation */
1343 #define WAVE_FORMAT_G728_CELP 0x0041 /* Antex Electronics Corporation */
1344 #define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
1345 #define WAVE_FORMAT_MPEGLAYER3 0x0055 /* ISO/MPEG Layer3 Format Tag */
1346 #define WAVE_FORMAT_CIRRUS 0x0060 /* Cirrus Logic */
1347 #define WAVE_FORMAT_ESPCM 0x0061 /* ESS Technology */
1348 #define WAVE_FORMAT_VOXWARE 0x0062 /* Voxware Inc */
1349 #define WAVEFORMAT_CANOPUS_ATRAC 0x0063 /* Canopus, co., Ltd. */
1350 #define WAVE_FORMAT_G726_ADPCM 0x0064 /* APICOM */
1351 #define WAVE_FORMAT_G722_ADPCM 0x0065 /* APICOM */
1352 #define WAVE_FORMAT_DSAT 0x0066 /* Microsoft Corporation */
1353 #define WAVE_FORMAT_DSAT_DISPLAY 0x0067 /* Microsoft Corporation */
1354 #define WAVE_FORMAT_SOFTSOUND 0x0080 /* Softsound, Ltd. */
1355 #define WAVE_FORMAT_RHETOREX_ADPCM 0x0100 /* Rhetorex Inc */
1356 #define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 /* Creative Labs, Inc */
1357 #define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 /* Creative Labs, Inc */
1358 #define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 /* Creative Labs, Inc */
1359 #define WAVE_FORMAT_QUARTERDECK 0x0220 /* Quarterdeck Corporation */
1360 #define WAVE_FORMAT_FM_TOWNS_SND 0x0300 /* Fujitsu Corp. */
1361 #define WAVE_FORMAT_BTV_DIGITAL 0x0400 /* Brooktree Corporation */
1362 #define WAVE_FORMAT_OLIGSM 0x1000 /* Ing C. Olivetti & C., S.p.A. */
1363 #define WAVE_FORMAT_OLIADPCM 0x1001 /* Ing C. Olivetti & C., S.p.A. */
1364 #define WAVE_FORMAT_OLICELP 0x1002 /* Ing C. Olivetti & C., S.p.A. */
1365 #define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
1366 #define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
1367 #define WAVE_FORMAT_LH_CODEC 0x1100 /* Lernout & Hauspie */
1368 #define WAVE_FORMAT_NORRIS 0x1400 /* Norris Communications, Inc. */
1369 
1370 //
1371 // the WAVE_FORMAT_DEVELOPMENT format tag can be used during the
1372 // development phase of a new wave format. Before shipping, you MUST
1373 // acquire an official format tag from Microsoft.
1374 //
1375 #define WAVE_FORMAT_DEVELOPMENT (0xFFFF)
1376 
1377 #endif /* NONEWWAVE */
1378 
1379 #ifndef WAVE_FORMAT_PCM
1380 
1381 /* general waveform format structure (information common to all formats) */
1382 typedef struct waveformat_tag {
1383  WORD wFormatTag; /* format type */
1384  WORD nChannels; /* number of channels (i.e. mono, stereo...) */
1385  DWORD nSamplesPerSec; /* sample rate */
1386  DWORD nAvgBytesPerSec; /* for buffer estimation */
1387  WORD nBlockAlign; /* block size of data */
1388 } WAVEFORMAT;
1390 typedef WAVEFORMAT NEAR *NPWAVEFORMAT;
1392 
1393 /* flags for wFormatTag field of WAVEFORMAT */
1394 #define WAVE_FORMAT_PCM 1
1395 
1396 /* specific waveform format structure for PCM data */
1397 typedef struct pcmwaveformat_tag {
1400 } PCMWAVEFORMAT;
1404 
1405 #endif /* WAVE_FORMAT_PCM */
1406 
1407 /* general extended waveform format structure
1408  Use this for all NON PCM formats
1409  (information common to all formats)
1410 */
1411 #ifndef _WAVEFORMATEX_
1412 #define _WAVEFORMATEX_
1413 typedef struct tWAVEFORMATEX
1414 {
1415  WORD wFormatTag; /* format type */
1416  WORD nChannels; /* number of channels (i.e. mono, stereo...) */
1417  DWORD nSamplesPerSec; /* sample rate */
1418  DWORD nAvgBytesPerSec; /* for buffer estimation */
1419  WORD nBlockAlign; /* block size of data */
1420  WORD wBitsPerSample; /* Number of bits per sample of mono data */
1421  WORD cbSize; /* The count in bytes of the size of
1422  extra information (after cbSize) */
1423 
1424 } WAVEFORMATEX;
1428 #endif /* _WAVEFORMATEX_ */
1429 
1430 #ifndef NONEWWAVE
1431 
1432 /* Define data for MS ADPCM */
1433 
1434 typedef struct adpcmcoef_tag {
1435  short iCoef1;
1436  short iCoef2;
1437 } ADPCMCOEFSET;
1441 
1442 /*
1443  * this pragma disables the warning issued by the Microsoft C compiler
1444  * when using a zero size array as place holder when compiling for
1445  * C++ or with -W4.
1446  *
1447  */
1448 #ifdef _MSC_VER
1449 #pragma warning(disable:4200)
1450 #endif
1451 
1452 typedef struct adpcmwaveformat_tag {
1457 } ADPCMWAVEFORMAT;
1461 
1462 #ifdef _MSC_VER
1463 #pragma warning(default:4200)
1464 #endif
1465 
1466 //
1467 // Intel's DVI ADPCM structure definitions
1468 //
1469 // for WAVE_FORMAT_DVI_ADPCM (0x0011)
1470 //
1471 //
1472 
1473 typedef struct dvi_adpcmwaveformat_tag {
1480 
1481 //
1482 // IMA endorsed ADPCM structure definitions--note that this is exactly
1483 // the same format as Intel's DVI ADPCM.
1484 //
1485 // for WAVE_FORMAT_IMA_ADPCM (0x0011)
1486 //
1487 //
1488 
1489 typedef struct ima_adpcmwaveformat_tag {
1496 
1497 /*
1498 //VideoLogic's Media Space ADPCM Structure definitions
1499 // for WAVE_FORMAT_MEDIASPACE_ADPCM (0x0012)
1500 //
1501 //
1502 */
1510 
1511 //
1512 // Sierra Semiconductor
1513 //
1514 // for WAVE_FORMAT_SIERRA_ADPCM (0x0013)
1515 //
1516 //
1517 
1525 
1526 //
1527 // Antex Electronics structure definitions
1528 //
1529 // for WAVE_FORMAT_G723_ADPCM (0x0014)
1530 //
1531 //
1532 
1541 
1542 //
1543 // DSP Solutions (formerly DIGISPEECH) structure definitions
1544 //
1545 // for WAVE_FORMAT_DIGISTD (0x0015)
1546 //
1547 //
1548 
1549 typedef struct digistdwaveformat_tag {
1555 
1556 //
1557 // DSP Solutions (formerly DIGISPEECH) structure definitions
1558 //
1559 // for WAVE_FORMAT_DIGIFIX (0x0016)
1560 //
1561 //
1562 
1563 typedef struct digifixwaveformat_tag {
1569 
1570 //
1571 // Dialogic Corporation
1572 // WAVEFORMAT_DIALOGIC_OKI_ADPCM (0x0017)
1573 //
1580 
1581 //
1582 // Yamaha Compression's ADPCM structure definitions
1583 //
1584 // for WAVE_FORMAT_YAMAHA_ADPCM (0x0020)
1585 //
1586 //
1587 
1590 
1595 
1596 //
1597 // Speech Compression's Sonarc structure definitions
1598 //
1599 // for WAVE_FORMAT_SONARC (0x0021)
1600 //
1601 //
1602 
1603 typedef struct sonarcwaveformat_tag {
1610 
1611 //
1612 // DSP Groups's TRUESPEECH structure definitions
1613 //
1614 // for WAVE_FORMAT_DSPGROUP_TRUESPEECH (0x0022)
1615 //
1616 //
1617 
1622  BYTE abReserved[28];
1627 
1628 //
1629 // Echo Speech Corp structure definitions
1630 //
1631 // for WAVE_FORMAT_ECHOSC1 (0x0023)
1632 //
1633 //
1634 
1635 typedef struct echosc1waveformat_tag {
1641 
1642 //
1643 // Audiofile Inc.structure definitions
1644 //
1645 // for WAVE_FORMAT_AUDIOFILE_AF36 (0x0024)
1646 //
1647 //
1648 
1655 
1656 //
1657 // Audio Processing Technology structure definitions
1658 //
1659 // for WAVE_FORMAT_APTX (0x0025)
1660 //
1661 //
1662 typedef struct aptxwaveformat_tag {
1664 } APTXWAVEFORMAT;
1668 
1669 //
1670 // Audiofile Inc.structure definitions
1671 //
1672 // for WAVE_FORMAT_AUDIOFILE_AF10 (0x0026)
1673 //
1674 //
1675 
1682 
1683 //
1684 /* Dolby's AC-2 wave format structure definition
1685  WAVE_FORMAT_DOLBY_AC2 (0x0030)*/
1686 //
1687 typedef struct dolbyac2waveformat_tag {
1691 
1692 /*Microsoft's */
1693 // WAVE_FORMAT_GSM 610 0x0031
1694 //
1695 typedef struct gsm610waveformat_tag {
1702 
1703 //
1704 // Antex Electronics Corp
1705 //
1706 // for WAVE_FORMAT_ADPCME (0x0033)
1707 //
1708 //
1709 
1710 typedef struct adpcmewaveformat_tag {
1717 
1718 /* Control Resources Limited */
1719 // WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034
1720 //
1728 
1729 //
1730 //
1731 //
1732 // for WAVE_FORMAT_DIGIREAL (0x0035)
1733 //
1734 //
1735 
1736 typedef struct digirealwaveformat_tag {
1743 
1744 //
1745 // DSP Solutions
1746 //
1747 // for WAVE_FORMAT_DIGIADPCM (0x0036)
1748 //
1749 //
1750 
1758 
1759 /* Control Resources Limited */
1760 // WAVE_FORMAT_CONTROL_RES_CR10 0x0037
1761 //
1769 
1770 //
1771 // Natural Microsystems
1772 //
1773 // for WAVE_FORMAT_NMS_VBXADPCM (0x0038)
1774 //
1775 //
1776 
1784 
1785 //
1786 // Antex Electronics structure definitions
1787 //
1788 // for WAVE_FORMAT_G721_ADPCM (0x0040)
1789 //
1790 //
1791 
1799 
1800 //
1801 //
1802 // Microsoft MPEG audio WAV definition
1803 //
1804 /* MPEG-1 audio wave format (audio layer only). (0x0050) */
1805 typedef struct mpeg1waveformat_tag {
1815 } MPEG1WAVEFORMAT;
1819 
1820 #define ACM_MPEG_LAYER1 (0x0001)
1821 #define ACM_MPEG_LAYER2 (0x0002)
1822 #define ACM_MPEG_LAYER3 (0x0004)
1823 #define ACM_MPEG_STEREO (0x0001)
1824 #define ACM_MPEG_JOINTSTEREO (0x0002)
1825 #define ACM_MPEG_DUALCHANNEL (0x0004)
1826 #define ACM_MPEG_SINGLECHANNEL (0x0008)
1827 #define ACM_MPEG_PRIVATEBIT (0x0001)
1828 #define ACM_MPEG_COPYRIGHT (0x0002)
1829 #define ACM_MPEG_ORIGINALHOME (0x0004)
1830 #define ACM_MPEG_PROTECTIONBIT (0x0008)
1831 #define ACM_MPEG_ID_MPEG1 (0x0010)
1832 
1833 //
1834 // MPEG Layer3 WAVEFORMATEX structure
1835 // for WAVE_FORMAT_MPEGLAYER3 (0x0055)
1836 //
1837 #define MPEGLAYER3_WFX_EXTRA_BYTES 12
1838 
1839 // WAVE_FORMAT_MPEGLAYER3 format sructure
1840 //
1849 
1853 
1854 //==========================================================================;
1855 
1856 #define MPEGLAYER3_ID_UNKNOWN 0
1857 #define MPEGLAYER3_ID_MPEG 1
1858 #define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2
1859 
1860 #define MPEGLAYER3_FLAG_PADDING_ISO 0x00000000
1861 #define MPEGLAYER3_FLAG_PADDING_ON 0x00000001
1862 #define MPEGLAYER3_FLAG_PADDING_OFF 0x00000002
1863 
1864 //
1865 // Creative's ADPCM structure definitions
1866 //
1867 // for WAVE_FORMAT_CREATIVE_ADPCM (0x0200)
1868 //
1869 //
1870 
1878 
1879 //
1880 // Creative FASTSPEECH
1881 // WAVEFORMAT_CREATIVE_FASTSPEECH8 (0x0202)
1882 //
1890 //
1891 // Creative FASTSPEECH
1892 // WAVEFORMAT_CREATIVE_FASTSPEECH10 (0x0203)
1893 //
1901 
1902 //
1903 // Fujitsu FM Towns 'SND' structure
1904 //
1905 // for WAVE_FORMAT_FMMTOWNS_SND (0x0300)
1906 //
1907 //
1908 
1916 
1917 //
1918 // Olivetti structure
1919 //
1920 // for WAVE_FORMAT_OLIGSM (0x1000)
1921 //
1922 //
1923 
1924 typedef struct oligsmwaveformat_tag {
1930 
1931 //
1932 // Olivetti structure
1933 //
1934 // for WAVE_FORMAT_OLIADPCM (0x1001)
1935 //
1936 //
1937 
1938 typedef struct oliadpcmwaveformat_tag {
1944 
1945 //
1946 // Olivetti structure
1947 //
1948 // for WAVE_FORMAT_OLICELP (0x1002)
1949 //
1950 //
1951 
1952 typedef struct olicelpwaveformat_tag {
1958 
1959 //
1960 // Olivetti structure
1961 //
1962 // for WAVE_FORMAT_OLISBC (0x1003)
1963 //
1964 //
1965 
1966 typedef struct olisbcwaveformat_tag {
1972 
1973 //
1974 // Olivetti structure
1975 //
1976 // for WAVE_FORMAT_OLIOPR (0x1004)
1977 //
1978 //
1979 
1980 typedef struct olioprwaveformat_tag {
1986 
1987 //
1988 // Crystal Semiconductor IMA ADPCM format
1989 //
1990 // for WAVE_FORMAT_CS_IMAADPCM (0x0039)
1991 //
1992 //
1993 
2000 
2001 //==========================================================================;
2002 //
2003 // ACM Wave Filters
2004 //
2005 //
2006 //==========================================================================;
2007 
2008 #ifndef _ACM_WAVEFILTER
2009 #define _ACM_WAVEFILTER
2010 
2011 #define WAVE_FILTER_UNKNOWN 0x0000
2012 #define WAVE_FILTER_DEVELOPMENT (0xFFFF)
2013 
2014 typedef struct wavefilter_tag {
2015  DWORD cbStruct; /* Size of the filter in bytes */
2016  DWORD dwFilterTag; /* filter type */
2017  DWORD fdwFilter; /* Flags for the filter (Universal Dfns) */
2018  DWORD dwReserved[5]; /* Reserved for system use */
2019 } WAVEFILTER;
2021 typedef WAVEFILTER NEAR *NPWAVEFILTER;
2023 
2024 #endif /* _ACM_WAVEFILTER */
2025 
2026 #ifndef WAVE_FILTER_VOLUME
2027 #define WAVE_FILTER_VOLUME 0x0001
2028 
2029 typedef struct wavefilter_volume_tag {
2036 
2037 #endif /* WAVE_FILTER_VOLUME */
2038 
2039 #ifndef WAVE_FILTER_ECHO
2040 #define WAVE_FILTER_ECHO 0x0002
2041 
2042 typedef struct wavefilter_echo_tag {
2046 } ECHOWAVEFILTER;
2050 
2051 #endif /* WAVEFILTER_ECHO */
2052 
2053 /*//////////////////////////////////////////////////////////////////////////
2054 //
2055 // New RIFF WAVE Chunks
2056 //
2057 */
2058 
2059 #define RIFFWAVE_inst mmioFOURCC('i','n','s','t')
2060 
2064  char chGain;
2065  BYTE bLowNote;
2069 };
2070 
2071 typedef struct tag_s_RIFFWAVE_INST s_RIFFWAVE_inst;
2072 
2073 #endif
2074 
2075 /*//////////////////////////////////////////////////////////////////////////
2076 //
2077 // New RIFF Forms
2078 //
2079 */
2080 
2081 #ifndef NONEWRIFF
2082 
2083 /* RIFF AVI */
2084 
2085 //
2086 // AVI file format is specified in a seperate file (AVIFMT.H),
2087 // which is available in the VfW and Win 32 SDK
2088 //
2089 
2090 /* RIFF CPPO */
2091 
2092 #define RIFFCPPO mmioFOURCC('C','P','P','O')
2093 
2094 #define RIFFCPPO_objr mmioFOURCC('o','b','j','r')
2095 #define RIFFCPPO_obji mmioFOURCC('o','b','j','i')
2096 
2097 #define RIFFCPPO_clsr mmioFOURCC('c','l','s','r')
2098 #define RIFFCPPO_clsi mmioFOURCC('c','l','s','i')
2099 
2100 #define RIFFCPPO_mbr mmioFOURCC('m','b','r',' ')
2101 
2102 #define RIFFCPPO_char mmioFOURCC('c','h','a','r')
2103 
2104 #define RIFFCPPO_byte mmioFOURCC('b','y','t','e')
2105 #define RIFFCPPO_int mmioFOURCC('i','n','t',' ')
2106 #define RIFFCPPO_word mmioFOURCC('w','o','r','d')
2107 #define RIFFCPPO_long mmioFOURCC('l','o','n','g')
2108 #define RIFFCPPO_dwrd mmioFOURCC('d','w','r','d')
2109 #define RIFFCPPO_flt mmioFOURCC('f','l','t',' ')
2110 #define RIFFCPPO_dbl mmioFOURCC('d','b','l',' ')
2111 #define RIFFCPPO_str mmioFOURCC('s','t','r',' ')
2112 
2113 #endif
2114 
2115 /*
2117 //
2118 // DIB Compression Defines
2119 //
2120 */
2121 
2122 #ifndef BI_BITFIELDS
2123 #define BI_BITFIELDS 3
2124 #endif
2125 
2126 #ifndef QUERYDIBSUPPORT
2127 
2128 #define QUERYDIBSUPPORT 3073
2129 #define QDI_SETDIBITS 0x0001
2130 #define QDI_GETDIBITS 0x0002
2131 #define QDI_DIBTOSCREEN 0x0004
2132 #define QDI_STRETCHDIB 0x0008
2133 
2134 #endif
2135 
2136 #ifndef NOBITMAP
2137 /* Structure definitions */
2138 
2139 typedef struct tagEXBMINFOHEADER {
2140  BITMAPINFOHEADER bmi;
2141  /* extended BITMAPINFOHEADER fields */
2143 
2144  /* Other stuff will go here */
2145 
2146  /* ... */
2147 
2148  /* Format-specific information */
2149  /* biExtDataOffset points here */
2150 
2151 } EXBMINFOHEADER;
2152 
2153 #endif //NOBITMAP
2154 
2155 /* New DIB Compression Defines */
2156 
2157 #define BICOMP_IBMULTIMOTION mmioFOURCC('U', 'L', 'T', 'I')
2158 #define BICOMP_IBMPHOTOMOTION mmioFOURCC('P', 'H', 'M', 'O')
2159 #define BICOMP_CREATIVEYUV mmioFOURCC('c', 'y', 'u', 'v')
2160 
2161 #ifndef NOJPEGDIB
2162 
2163 /* New DIB Compression Defines */
2164 #define JPEG_DIB mmioFOURCC('J','P','E','G') /* Still image JPEG DIB biCompression */
2165 #define MJPG_DIB mmioFOURCC('M','J','P','G') /* Motion JPEG DIB biCompression */
2166 
2167 /* JPEGProcess Definitions */
2168 #define JPEG_PROCESS_BASELINE 0 /* Baseline DCT */
2169 
2170 /* AVI File format extensions */
2171 #define AVIIF_CONTROLFRAME 0x00000200L /* This is a control frame */
2172 
2173  /* JIF Marker byte pairs in JPEG Interchange Format sequence */
2174 #define JIFMK_SOF0 0xFFC0 /* SOF Huff - Baseline DCT*/
2175 #define JIFMK_SOF1 0xFFC1 /* SOF Huff - Extended sequential DCT*/
2176 #define JIFMK_SOF2 0xFFC2 /* SOF Huff - Progressive DCT*/
2177 #define JIFMK_SOF3 0xFFC3 /* SOF Huff - Spatial (sequential) lossless*/
2178 #define JIFMK_SOF5 0xFFC5 /* SOF Huff - Differential sequential DCT*/
2179 #define JIFMK_SOF6 0xFFC6 /* SOF Huff - Differential progressive DCT*/
2180 #define JIFMK_SOF7 0xFFC7 /* SOF Huff - Differential spatial*/
2181 #define JIFMK_JPG 0xFFC8 /* SOF Arith - Reserved for JPEG extensions*/
2182 #define JIFMK_SOF9 0xFFC9 /* SOF Arith - Extended sequential DCT*/
2183 #define JIFMK_SOF10 0xFFCA /* SOF Arith - Progressive DCT*/
2184 #define JIFMK_SOF11 0xFFCB /* SOF Arith - Spatial (sequential) lossless*/
2185 #define JIFMK_SOF13 0xFFCD /* SOF Arith - Differential sequential DCT*/
2186 #define JIFMK_SOF14 0xFFCE /* SOF Arith - Differential progressive DCT*/
2187 #define JIFMK_SOF15 0xFFCF /* SOF Arith - Differential spatial*/
2188 #define JIFMK_DHT 0xFFC4 /* Define Huffman Table(s) */
2189 #define JIFMK_DAC 0xFFCC /* Define Arithmetic coding conditioning(s) */
2190 #define JIFMK_RST0 0xFFD0 /* Restart with modulo 8 count 0 */
2191 #define JIFMK_RST1 0xFFD1 /* Restart with modulo 8 count 1 */
2192 #define JIFMK_RST2 0xFFD2 /* Restart with modulo 8 count 2 */
2193 #define JIFMK_RST3 0xFFD3 /* Restart with modulo 8 count 3 */
2194 #define JIFMK_RST4 0xFFD4 /* Restart with modulo 8 count 4 */
2195 #define JIFMK_RST5 0xFFD5 /* Restart with modulo 8 count 5 */
2196 #define JIFMK_RST6 0xFFD6 /* Restart with modulo 8 count 6 */
2197 #define JIFMK_RST7 0xFFD7 /* Restart with modulo 8 count 7 */
2198 #define JIFMK_SOI 0xFFD8 /* Start of Image */
2199 #define JIFMK_EOI 0xFFD9 /* End of Image */
2200 #define JIFMK_SOS 0xFFDA /* Start of Scan */
2201 #define JIFMK_DQT 0xFFDB /* Define quantization Table(s) */
2202 #define JIFMK_DNL 0xFFDC /* Define Number of Lines */
2203 #define JIFMK_DRI 0xFFDD /* Define Restart Interval */
2204 #define JIFMK_DHP 0xFFDE /* Define Hierarchical progression */
2205 #define JIFMK_EXP 0xFFDF /* Expand Reference Component(s) */
2206 #define JIFMK_APP0 0xFFE0 /* Application Field 0*/
2207 #define JIFMK_APP1 0xFFE1 /* Application Field 1*/
2208 #define JIFMK_APP2 0xFFE2 /* Application Field 2*/
2209 #define JIFMK_APP3 0xFFE3 /* Application Field 3*/
2210 #define JIFMK_APP4 0xFFE4 /* Application Field 4*/
2211 #define JIFMK_APP5 0xFFE5 /* Application Field 5*/
2212 #define JIFMK_APP6 0xFFE6 /* Application Field 6*/
2213 #define JIFMK_APP7 0xFFE7 /* Application Field 7*/
2214 #define JIFMK_JPG0 0xFFF0 /* Reserved for JPEG extensions */
2215 #define JIFMK_JPG1 0xFFF1 /* Reserved for JPEG extensions */
2216 #define JIFMK_JPG2 0xFFF2 /* Reserved for JPEG extensions */
2217 #define JIFMK_JPG3 0xFFF3 /* Reserved for JPEG extensions */
2218 #define JIFMK_JPG4 0xFFF4 /* Reserved for JPEG extensions */
2219 #define JIFMK_JPG5 0xFFF5 /* Reserved for JPEG extensions */
2220 #define JIFMK_JPG6 0xFFF6 /* Reserved for JPEG extensions */
2221 #define JIFMK_JPG7 0xFFF7 /* Reserved for JPEG extensions */
2222 #define JIFMK_JPG8 0xFFF8 /* Reserved for JPEG extensions */
2223 #define JIFMK_JPG9 0xFFF9 /* Reserved for JPEG extensions */
2224 #define JIFMK_JPG10 0xFFFA /* Reserved for JPEG extensions */
2225 #define JIFMK_JPG11 0xFFFB /* Reserved for JPEG extensions */
2226 #define JIFMK_JPG12 0xFFFC /* Reserved for JPEG extensions */
2227 #define JIFMK_JPG13 0xFFFD /* Reserved for JPEG extensions */
2228 #define JIFMK_COM 0xFFFE /* Comment */
2229 #define JIFMK_TEM 0xFF01 /* for temp private use arith code */
2230 #define JIFMK_RES 0xFF02 /* Reserved */
2231 #define JIFMK_00 0xFF00 /* Zero stuffed byte - entropy data */
2232 #define JIFMK_FF 0xFFFF /* Fill byte */
2233 
2234 /* JPEGColorSpaceID Definitions */
2235 #define JPEG_Y 1 /* Y only component of YCbCr */
2236 #define JPEG_YCbCr 2 /* YCbCr as define by CCIR 601 */
2237 #define JPEG_RGB 3 /* 3 component RGB */
2238 
2239 /* Structure definitions */
2240 
2241 typedef struct tagJPEGINFOHEADER {
2242  /* compression-specific fields */
2243  /* these fields are defined for 'JPEG' and 'MJPG' */
2246 
2247  /* Process specific fields */
2252 } JPEGINFOHEADER;
2253 
2254 #ifdef MJPGDHTSEG_STORAGE
2255 
2256 /* Default DHT Segment */
2257 
2258 MJPGHDTSEG_STORAGE BYTE MJPGDHTSeg[0x1A4] = {
2259  /* JPEG DHT Segment for YCrCb omitted from MJPG data */
2260 0xFF,0xC4,0x01,0xA2,
2261 0x00,0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
2262 0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x01,0x00,0x03,0x01,0x01,0x01,0x01,
2263 0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
2264 0x08,0x09,0x0A,0x0B,0x10,0x00,0x02,0x01,0x03,0x03,0x02,0x04,0x03,0x05,0x05,0x04,0x04,0x00,
2265 0x00,0x01,0x7D,0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,
2266 0x07,0x22,0x71,0x14,0x32,0x81,0x91,0xA1,0x08,0x23,0x42,0xB1,0xC1,0x15,0x52,0xD1,0xF0,0x24,
2267 0x33,0x62,0x72,0x82,0x09,0x0A,0x16,0x17,0x18,0x19,0x1A,0x25,0x26,0x27,0x28,0x29,0x2A,0x34,
2268 0x35,0x36,0x37,0x38,0x39,0x3A,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x53,0x54,0x55,0x56,
2269 0x57,0x58,0x59,0x5A,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x73,0x74,0x75,0x76,0x77,0x78,
2270 0x79,0x7A,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,
2271 0x9A,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9,
2272 0xBA,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,0xD9,
2273 0xDA,0xE1,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,
2274 0xF8,0xF9,0xFA,0x11,0x00,0x02,0x01,0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,
2275 0x02,0x77,0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,
2276 0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91,0xA1,0xB1,0xC1,0x09,0x23,0x33,0x52,0xF0,0x15,0x62,
2277 0x72,0xD1,0x0A,0x16,0x24,0x34,0xE1,0x25,0xF1,0x17,0x18,0x19,0x1A,0x26,0x27,0x28,0x29,0x2A,
2278 0x35,0x36,0x37,0x38,0x39,0x3A,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4A,0x53,0x54,0x55,0x56,
2279 0x57,0x58,0x59,0x5A,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x73,0x74,0x75,0x76,0x77,0x78,
2280 0x79,0x7A,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8A,0x92,0x93,0x94,0x95,0x96,0x97,0x98,
2281 0x99,0x9A,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9,0xAA,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,
2282 0xB9,0xBA,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7,0xC8,0xC9,0xCA,0xD2,0xD3,0xD4,0xD5,0xD6,0xD7,0xD8,
2283 0xD9,0xDA,0xE2,0xE3,0xE4,0xE5,0xE6,0xE7,0xE8,0xE9,0xEA,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7,0xF8,
2284 0xF9,0xFA
2285 };
2286 
2287 /* End DHT default */
2288 #endif
2289 
2290 /* End JPEG */
2291 #endif
2292 
2293 /*//////////////////////////////////////////////////////////////////////////
2294 //
2295 // Defined IC types
2296 */
2297 
2298 #ifndef NONEWIC
2299 
2300 #ifndef ICTYPE_VIDEO
2301 #define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c')
2302 #define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c')
2303 #endif
2304 
2305 #endif
2306 /*
2307 // Misc. FOURCC registration
2308 */
2309 
2310 /* Sierra Semiconductor: RDSP- Confidential RIFF file format
2311 // for the storage and downloading of DSP
2312 // code for Audio and communications devices.
2313 */
2314 #define FOURCC_RDSP mmioFOURCC('R', 'D', 'S', 'P')
2315 
2316 #ifndef MMNOMIXER
2317 #define MIXERCONTROL_CONTROLTYPE_SRS_MTS (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 6)
2318 #define MIXERCONTROL_CONTROLTYPE_SRS_ONOFF (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 7)
2319 #define MIXERCONTROL_CONTROLTYPE_SRS_SYNTHSELECT (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 8)
2320 #endif
2321 
2322 #ifndef RC_INVOKED
2323 #include "poppack.h" /* Revert to default packing */
2324 #endif /* RC_INVOKED */
2325 
2326 #ifdef __cplusplus
2327 } /* End of extern "C" { */
2328 #endif /* __cplusplus */
2329 
2330 #endif /* _INC_MMREG */
short iCoef2
Definition: mmreg.h:1436
DIALOGICOKIADPCMWAVEFORMAT NEAR * NPDIALOGICOKIADPCMWAVEFORMAT
Definition: mmreg.h:1578
WAVEFORMATEX wfx
Definition: mmreg.h:1534
ADPCMCOEFSET NEAR * NPADPCMCOEFSET
Definition: mmreg.h:1439
struct mediaspace_adpcmwaveformat_tag MEDIASPACEADPCMWAVEFORMAT
DWORD JPEGVSubSampling
Definition: mmreg.h:2251
DIGIFIXWAVEFORMAT * PDIGIFIXWAVEFORMAT
Definition: mmreg.h:1566
G721_ADPCMWAVEFORMAT * PG721_ADPCMWAVEFORMAT
Definition: mmreg.h:1796
struct yamaha_adpmcwaveformat_tag YAMAHA_ADPCMWAVEFORMAT
MPEGLAYER3WAVEFORMAT * PMPEGLAYER3WAVEFORMAT
Definition: mmreg.h:1850
CREATIVEADPCMWAVEFORMAT FAR * LPCREATIVEADPCMWAVEFORMAT
Definition: mmreg.h:1877
TRUESPEECHWAVEFORMAT * PTRUESPEECHWAVEFORMAT
Definition: mmreg.h:1624
G723_ADPCMWAVEFORMAT * PG723_ADPCMWAVEFORMAT
Definition: mmreg.h:1538
WAVEFILTER FAR * LPWAVEFILTER
Definition: mmreg.h:2022
WORD nChannels
Definition: mmreg.h:1416
WAVEFORMAT * PWAVEFORMAT
Definition: mmreg.h:1389
WAVEFORMATEX wfx
Definition: mmreg.h:1550
AUDIOFILE_AF36WAVEFORMAT * PAUDIOFILE_AF36WAVEFORMAT
Definition: mmreg.h:1652
struct wavefilter_tag WAVEFILTER
struct digistdwaveformat_tag DIGISTDWAVEFORMAT
struct fmtowns_snd_waveformat_tag FMTOWNS_SND_WAVEFORMAT
NMS_VBXADPCMWAVEFORMAT * PNMS_VBXADPCMWAVEFORMAT
Definition: mmreg.h:1781
WAVEFORMATEX wfx
Definition: mmreg.h:1806
NMS_VBXADPCMWAVEFORMAT FAR * LPNMS_VBXADPCMWAVEFORMAT
Definition: mmreg.h:1783
WORD wFormatTag
Definition: mmreg.h:1383
DWORD nAvgBytesPerSec
Definition: mmreg.h:1418
DWORD JPEGProcess
Definition: mmreg.h:2245
WAVEFILTER wfltr
Definition: mmreg.h:2030
struct nms_vbxadpcmmwaveformat_tag NMS_VBXADPCMWAVEFORMAT
DVIADPCMWAVEFORMAT FAR * LPDVIADPCMWAVEFORMAT
Definition: mmreg.h:1479
struct gsm610waveformat_tag GSM610WAVEFORMAT
WAVEFORMAT wf
Definition: mmreg.h:1398
WORD wBitsPerSample
Definition: mmreg.h:1399
VOLUMEWAVEFILTER FAR * LPVOLUMEWAVEFILTER
Definition: mmreg.h:2035
OLIGSMWAVEFORMAT NEAR * NPOLIGSMWAVEFORMAT
Definition: mmreg.h:1928
struct contres_cr10waveformat_tag CONTRESCR10WAVEFORMAT
struct truespeechwaveformat_tag TRUESPEECHWAVEFORMAT
AUDIOFILE_AF36WAVEFORMAT NEAR * NPAUDIOFILE_AF36WAVEFORMAT
Definition: mmreg.h:1653
DWORD dwReserved[5]
Definition: mmreg.h:2018
struct waveformat_tag WAVEFORMAT
CONTRESCR10WAVEFORMAT * PCONTRESCR10WAVEFORMAT
Definition: mmreg.h:1766
OLIGSMWAVEFORMAT FAR * LPOLIGSMWAVEFORMAT
Definition: mmreg.h:1929
struct olioprwaveformat_tag OLIOPRWAVEFORMAT
WAVEFORMAT FAR * LPWAVEFORMAT
Definition: mmreg.h:1391
WAVEFORMATEX wfx
Definition: mmreg.h:1474
WAVEFORMATEX wfx
Definition: mmreg.h:1564
MPEG1WAVEFORMAT FAR * LPMPEG1WAVEFORMAT
Definition: mmreg.h:1818
ADPCMCOEFSET aCoef[]
Definition: mmreg.h:1456
VOLUMEWAVEFILTER NEAR * NPVOLUMEWAVEFILTER
Definition: mmreg.h:2034
G721_ADPCMWAVEFORMAT NEAR * NPG721_ADPCMWAVEFORMAT
Definition: mmreg.h:1797
DIALOGICOKIADPCMWAVEFORMAT * PDIALOGICOKIADPCMWAVEFORMAT
Definition: mmreg.h:1577
struct creative_fastspeech10format_tag CREATIVEFASTSPEECH10WAVEFORMAT
WORD nBlockAlign
Definition: mmreg.h:1387
struct olicelpwaveformat_tag OLICELPWAVEFORMAT
MPEGLAYER3WAVEFORMAT NEAR * NPMPEGLAYER3WAVEFORMAT
Definition: mmreg.h:1851
CREATIVEFASTSPEECH8WAVEFORMAT FAR * LPCREATIVEFASTSPEECH8WAVEFORMAT
Definition: mmreg.h:1889
WAVEFORMAT NEAR * NPWAVEFORMAT
Definition: mmreg.h:1390
NMS_VBXADPCMWAVEFORMAT NEAR * NPNMS_VBXADPCMWAVEFORMAT
Definition: mmreg.h:1782
FMTOWNS_SND_WAVEFORMAT * PFMTOWNS_SND_WAVEFORMAT
Definition: mmreg.h:1913
MPEG1WAVEFORMAT * PMPEG1WAVEFORMAT
Definition: mmreg.h:1816
OLIOPRWAVEFORMAT FAR * LPOLIOPRWAVEFORMAT
Definition: mmreg.h:1985
AUDIOFILE_AF36WAVEFORMAT FAR * LPAUDIOFILE_AF36WAVEFORMAT
Definition: mmreg.h:1654
struct oliadpcmwaveformat_tag OLIADPCMWAVEFORMAT
OLIADPCMWAVEFORMAT FAR * LPOLIADPCMWAVEFORMAT
Definition: mmreg.h:1943
CONTRESVQLPCWAVEFORMAT NEAR * NPCONTRESVQLPCWAVEFORMAT
Definition: mmreg.h:1726
AUDIOFILE_AF10WAVEFORMAT * PAUDIOFILE_AF10WAVEFORMAT
Definition: mmreg.h:1679
WAVEFORMATEX wfx
Definition: mmreg.h:1737
ADPCMCOEFSET FAR * LPADPCMCOEFSET
Definition: mmreg.h:1440
struct audiofile_af10waveformat_tag AUDIOFILE_AF10WAVEFORMAT
struct sierra_adpcmwaveformat_tag SIERRAADPCMWAVEFORMAT
DWORD JPEGBitsPerSample
Definition: mmreg.h:2249
OLIOPRWAVEFORMAT NEAR * NPOLIOPRWAVEFORMAT
Definition: mmreg.h:1984
GSM610WAVEFORMAT NEAR * NPGSM610WAVEFORMAT
Definition: mmreg.h:1700
APTXWAVEFORMAT * PAPTXWAVEFORMAT
Definition: mmreg.h:1665
OLIADPCMWAVEFORMAT * POLIADPCMWAVEFORMAT
Definition: mmreg.h:1941
DWORD JPEGSize
Definition: mmreg.h:2244
struct audiofile_af36waveformat_tag AUDIOFILE_AF36WAVEFORMAT
struct csimaadpcmwaveformat_tag CSIMAADPCMWAVEFORMAT
DWORD JPEGColorSpaceID
Definition: mmreg.h:2248
PCMWAVEFORMAT NEAR * NPPCMWAVEFORMAT
Definition: mmreg.h:1402
ADPCMWAVEFORMAT FAR * LPADPCMWAVEFORMAT
Definition: mmreg.h:1460
struct mpeg1waveformat_tag MPEG1WAVEFORMAT
OLICELPWAVEFORMAT * POLICELPWAVEFORMAT
Definition: mmreg.h:1955
PCMWAVEFORMAT FAR * LPPCMWAVEFORMAT
Definition: mmreg.h:1403
struct wavefilter_volume_tag VOLUMEWAVEFILTER
AUDIOFILE_AF10WAVEFORMAT NEAR * NPAUDIOFILE_AF10WAVEFORMAT
Definition: mmreg.h:1680
CREATIVEADPCMWAVEFORMAT NEAR * NPCREATIVEADPCMWAVEFORMAT
Definition: mmreg.h:1876
TRUESPEECHWAVEFORMAT FAR * LPTRUESPEECHWAVEFORMAT
Definition: mmreg.h:1626
ADPCMWAVEFORMAT * PADPCMWAVEFORMAT
Definition: mmreg.h:1458
DIGIREALWAVEFORMAT NEAR * NPDIGIREALWAVEFORMAT
Definition: mmreg.h:1741
CONTRESVQLPCWAVEFORMAT FAR * LPCONTRESVQLPCWAVEFORMAT
Definition: mmreg.h:1727
DVIADPCMWAVEFORMAT NEAR * NPDVIADPCMWAVEFORMAT
Definition: mmreg.h:1478
short iCoef1
Definition: mmreg.h:1435
WAVEFORMATEX wfx
Definition: mmreg.h:1939
WAVEFORMATEX wfx
Definition: mmreg.h:1663
WAVEFORMATEX wfx
Definition: mmreg.h:1925
DWORD nAvgBytesPerSec
Definition: mmreg.h:1386
struct digirealwaveformat_tag DIGIREALWAVEFORMAT
struct echosc1waveformat_tag ECHOSC1WAVEFORMAT
struct aptxwaveformat_tag APTXWAVEFORMAT
WORD wSamplesPerBlock
Definition: mmreg.h:1454
WAVEFILTER NEAR * NPWAVEFILTER
Definition: mmreg.h:2021
CONTRESCR10WAVEFORMAT FAR * LPCONTRESCR10WAVEFORMAT
Definition: mmreg.h:1768
IMAADPCMWAVEFORMAT FAR * LPIMAADPCMWAVEFORMAT
Definition: mmreg.h:1495
struct tag_s_RIFFWAVE_INST s_RIFFWAVE_inst
Definition: mmreg.h:2071
WAVEFORMATEX wfx
Definition: mmreg.h:1842
SIERRAADPCMWAVEFORMAT FAR * LPSIERRAADPCMWAVEFORMAT
Definition: mmreg.h:1524
SIERRAADPCMWAVEFORMAT NEAR * NPSIERRAADPCMWAVEFORMAT
Definition: mmreg.h:1523
DIALOGICOKIADPCMWAVEFORMAT FAR * LPDIALOGICOKIADPCMWAVEFORMAT
Definition: mmreg.h:1579
GSM610WAVEFORMAT * PGSM610WAVEFORMAT
Definition: mmreg.h:1699
WAVEFORMATEX * PWAVEFORMATEX
Definition: mmreg.h:1425
unsigned long DWORD
Definition: config.h:90
DIGIADPCMWAVEFORMAT NEAR * NPDIGIADPCMWAVEFORMAT
Definition: mmreg.h:1756
WAVEFORMATEX wfx
Definition: mmreg.h:1981
ADPCMWAVEFORMAT NEAR * NPADPCMWAVEFORMAT
Definition: mmreg.h:1459
struct g721_adpcmwaveformat_tag G721_ADPCMWAVEFORMAT
struct tWAVEFORMATEX WAVEFORMATEX
MEDIASPACEADPCMWAVEFORMAT FAR * LPMEDIASPACEADPCMWAVEFORMAT
Definition: mmreg.h:1509
WAVEFORMATEX wfx
Definition: mmreg.h:1696
G723_ADPCMWAVEFORMAT FAR * LPG723_ADPCMWAVEFORMAT
Definition: mmreg.h:1540
IMAADPCMWAVEFORMAT NEAR * NPIMAADPCMWAVEFORMAT
Definition: mmreg.h:1494
WAVEFORMATEX wfx
Definition: mmreg.h:1688
DIGIREALWAVEFORMAT FAR * LPDIGIREALWAVEFORMAT
Definition: mmreg.h:1742
struct g723_adpcmwaveformat_tag G723_ADPCMWAVEFORMAT
MPEGLAYER3WAVEFORMAT FAR * LPMPEGLAYER3WAVEFORMAT
Definition: mmreg.h:1852
WAVEFORMATEX wfx
Definition: mmreg.h:1793
WORD nBlockAlign
Definition: mmreg.h:1419
CONTRESCR10WAVEFORMAT NEAR * NPCONTRESCR10WAVEFORMAT
Definition: mmreg.h:1767
WAVEFORMATEX wfx
Definition: mmreg.h:1636
WAVEFORMATEX wfx
Definition: mmreg.h:1995
OLIADPCMWAVEFORMAT NEAR * NPOLIADPCMWAVEFORMAT
Definition: mmreg.h:1942
struct adpcmwaveformat_tag ADPCMWAVEFORMAT
YAMAHA_ADPCMWAVEFORMAT * PYAMAHA_ADPCMWAVEFORMAT
Definition: mmreg.h:1592
struct creative_fastspeech8format_tag CREATIVEFASTSPEECH8WAVEFORMAT
#define FAR
Definition: config.h:77
ECHOWAVEFILTER FAR * LPECHOWAVEFILTER
Definition: mmreg.h:2049
OLISBCWAVEFORMAT * POLISBCWAVEFORMAT
Definition: mmreg.h:1969
IMAADPCMWAVEFORMAT * PIMAADPCMWAVEFORMAT
Definition: mmreg.h:1493
DWORD nSamplesPerSec
Definition: mmreg.h:1417
ECHOSC1WAVEFORMAT FAR * LPECHOSC1WAVEFORMAT
Definition: mmreg.h:1640
DWORD fdwFilter
Definition: mmreg.h:2017
WAVEFORMATEX wfx
Definition: mmreg.h:1453
APTXWAVEFORMAT NEAR * NPAPTXWAVEFORMAT
Definition: mmreg.h:1666
FMTOWNS_SND_WAVEFORMAT FAR * LPFMTOWNS_SND_WAVEFORMAT
Definition: mmreg.h:1915
CREATIVEFASTSPEECH8WAVEFORMAT NEAR * NPCREATIVEFASTSPEECH8WAVEFORMAT
Definition: mmreg.h:1888
CONTRESVQLPCWAVEFORMAT * PCONTRESVQLPCWAVEFORMAT
Definition: mmreg.h:1725
SIERRAADPCMWAVEFORMAT * PSIERRAADPCMWAVEFORMAT
Definition: mmreg.h:1522
OLISBCWAVEFORMAT NEAR * NPOLISBCWAVEFORMAT
Definition: mmreg.h:1970
CSIMAADPCMWAVEFORMAT FAR * LPCSIMAADPCMWAVEFORMAT
Definition: mmreg.h:1999
struct mpeglayer3waveformat_tag MPEGLAYER3WAVEFORMAT
WAVEFORMATEX wfx
Definition: mmreg.h:1711
WAVEFILTER wfltr
Definition: mmreg.h:2043
DWORD dwFilterTag
Definition: mmreg.h:2016
unsigned short WORD
Definition: config.h:81
struct tagEXBMINFOHEADER EXBMINFOHEADER
DIGIADPCMWAVEFORMAT FAR * LPDIGIADPCMWAVEFORMAT
Definition: mmreg.h:1757
struct ima_adpcmwaveformat_tag IMAADPCMWAVEFORMAT
MPEG1WAVEFORMAT NEAR * NPMPEG1WAVEFORMAT
Definition: mmreg.h:1817
MEDIASPACEADPCMWAVEFORMAT * PMEDIASPACEADPCMWAVEFORMAT
Definition: mmreg.h:1507
struct tagJPEGINFOHEADER JPEGINFOHEADER
WORD wBitsPerSample
Definition: mmreg.h:1420
OLIGSMWAVEFORMAT * POLIGSMWAVEFORMAT
Definition: mmreg.h:1927
WAVEFORMATEX wfx
Definition: mmreg.h:1953
PCMWAVEFORMAT * PPCMWAVEFORMAT
Definition: mmreg.h:1401
WAVEFORMATEX FAR * LPWAVEFORMATEX
Definition: mmreg.h:1427
CREATIVEFASTSPEECH10WAVEFORMAT * PCREATIVEFASTSPEECH10WAVEFORMAT
Definition: mmreg.h:1898
ECHOSC1WAVEFORMAT * PECHOSC1WAVEFORMAT
Definition: mmreg.h:1638
struct dvi_adpcmwaveformat_tag DVIADPCMWAVEFORMAT
DIGISTDWAVEFORMAT NEAR * NPDIGISTDWAVEFORMAT
Definition: mmreg.h:1553
DIGIFIXWAVEFORMAT NEAR * NPDIGIFIXWAVEFORMAT
Definition: mmreg.h:1567
DIGIFIXWAVEFORMAT FAR * LPDIGIFIXWAVEFORMAT
Definition: mmreg.h:1568
DIGISTDWAVEFORMAT FAR * LPDIGISTDWAVEFORMAT
Definition: mmreg.h:1554
WORD wFormatTag
Definition: mmreg.h:1415
WAVEFORMATEX NEAR * NPWAVEFORMATEX
Definition: mmreg.h:1426
DWORD cbStruct
Definition: mmreg.h:2015
MEDIASPACEADPCMWAVEFORMAT NEAR * NPMEDIASPACEADPCMWAVEFORMAT
Definition: mmreg.h:1508
DWORD nSamplesPerSec
Definition: mmreg.h:1385
DIGIADPCMWAVEFORMAT * PDIGIADPCMWAVEFORMAT
Definition: mmreg.h:1755
struct pcmwaveformat_tag PCMWAVEFORMAT
struct digifixwaveformat_tag DIGIFIXWAVEFORMAT
DIGISTDWAVEFORMAT * PDIGISTDWAVEFORMAT
Definition: mmreg.h:1552
DWORD JPEGHSubSampling
Definition: mmreg.h:2250
OLIOPRWAVEFORMAT * POLIOPRWAVEFORMAT
Definition: mmreg.h:1983
struct creative_adpcmwaveformat_tag CREATIVEADPCMWAVEFORMAT
ADPCMCOEFSET * PADPCMCOEFSET
Definition: mmreg.h:1438
YAMAHA_ADPCMWAVEFORMAT NEAR * NPYAMAHA_ADPCMWAVEFORMAT
Definition: mmreg.h:1593
SONARCWAVEFORMAT FAR * LPSONARCWAVEFORMAT
Definition: mmreg.h:1609
CSIMAADPCMWAVEFORMAT NEAR * NPCSIMAADPCMWAVEFORMAT
Definition: mmreg.h:1998
WAVEFORMATEX wfx
Definition: mmreg.h:1752
WAVEFORMATEX wfx
Definition: mmreg.h:1967
OLICELPWAVEFORMAT NEAR * NPOLICELPWAVEFORMAT
Definition: mmreg.h:1956
ECHOSC1WAVEFORMAT NEAR * NPECHOSC1WAVEFORMAT
Definition: mmreg.h:1639
DWORD biExtDataOffset
Definition: mmreg.h:2142
OLISBCWAVEFORMAT FAR * LPOLISBCWAVEFORMAT
Definition: mmreg.h:1971
DWORD dwHeadBitrate
Definition: mmreg.h:1808
struct wavefilter_echo_tag ECHOWAVEFILTER
DVIADPCMWAVEFORMAT * PDVIADPCMWAVEFORMAT
Definition: mmreg.h:1477
WORD cbSize
Definition: mmreg.h:1421
TRUESPEECHWAVEFORMAT NEAR * NPTRUESPEECHWAVEFORMAT
Definition: mmreg.h:1625
struct dolbyac2waveformat_tag DOLBYAC2WAVEFORMAT
CREATIVEFASTSPEECH10WAVEFORMAT NEAR * NPCREATIVEFASTSPEECH10WAVEFORMAT
Definition: mmreg.h:1899
WAVEFILTER * PWAVEFILTER
Definition: mmreg.h:2020
struct creative_fastspeechformat_tag DIALOGICOKIADPCMWAVEFORMAT
struct oligsmwaveformat_tag OLIGSMWAVEFORMAT
OLICELPWAVEFORMAT FAR * LPOLICELPWAVEFORMAT
Definition: mmreg.h:1957
DIGIREALWAVEFORMAT * PDIGIREALWAVEFORMAT
Definition: mmreg.h:1740
CREATIVEFASTSPEECH8WAVEFORMAT * PCREATIVEFASTSPEECH8WAVEFORMAT
Definition: mmreg.h:1887
FMTOWNS_SND_WAVEFORMAT NEAR * NPFMTOWNS_SND_WAVEFORMAT
Definition: mmreg.h:1914
CREATIVEFASTSPEECH10WAVEFORMAT FAR * LPCREATIVEFASTSPEECH10WAVEFORMAT
Definition: mmreg.h:1900
ADPCMEWAVEFORMAT FAR * LPADPCMEWAVEFORMAT
Definition: mmreg.h:1716
GSM610WAVEFORMAT FAR * LPGSM610WAVEFORMAT
Definition: mmreg.h:1701
CSIMAADPCMWAVEFORMAT * PCSIMAADPCMWAVEFORMAT
Definition: mmreg.h:1997
G721_ADPCMWAVEFORMAT FAR * LPG721_ADPCMWAVEFORMAT
Definition: mmreg.h:1798
APTXWAVEFORMAT FAR * LPAPTXWAVEFORMAT
Definition: mmreg.h:1667
AUDIOFILE_AF10WAVEFORMAT FAR * LPAUDIOFILE_AF10WAVEFORMAT
Definition: mmreg.h:1681
ADPCMEWAVEFORMAT * PADPCMEWAVEFORMAT
Definition: mmreg.h:1714
struct sonarcwaveformat_tag SONARCWAVEFORMAT
VOLUMEWAVEFILTER * PVOLUMEWAVEFILTER
Definition: mmreg.h:2033
WAVEFORMATEX wfx
Definition: mmreg.h:1619
ECHOWAVEFILTER * PECHOWAVEFILTER
Definition: mmreg.h:2047
ADPCMEWAVEFORMAT NEAR * NPADPCMEWAVEFORMAT
Definition: mmreg.h:1715
struct contres_vqlpcwaveformat_tag CONTRESVQLPCWAVEFORMAT
G723_ADPCMWAVEFORMAT NEAR * NPG723_ADPCMWAVEFORMAT
Definition: mmreg.h:1539
struct digiadpcmmwaveformat_tag DIGIADPCMWAVEFORMAT
ECHOWAVEFILTER NEAR * NPECHOWAVEFILTER
Definition: mmreg.h:2048
struct adpcmewaveformat_tag ADPCMEWAVEFORMAT
BITMAPINFOHEADER bmi
Definition: mmreg.h:2140
WAVEFORMATEX wfx
Definition: mmreg.h:1490
struct olisbcwaveformat_tag OLISBCWAVEFORMAT
SONARCWAVEFORMAT NEAR * NPSONARCWAVEFORMAT
Definition: mmreg.h:1608
CREATIVEADPCMWAVEFORMAT * PCREATIVEADPCMWAVEFORMAT
Definition: mmreg.h:1875
WAVEFORMATEX wfx
Definition: mmreg.h:1604
SONARCWAVEFORMAT * PSONARCWAVEFORMAT
Definition: mmreg.h:1607
struct adpcmcoef_tag ADPCMCOEFSET
WORD nChannels
Definition: mmreg.h:1384
YAMAHA_ADPCMWAVEFORMAT FAR * LPYAMAHA_ADPCMWAVEFORMAT
Definition: mmreg.h:1594