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