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