MMReg.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:147k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1991 - 1999
  3. Module Name:
  4.     mmreg.h
  5. Abstract:
  6.     Multimedia Registration
  7. Revision History:
  8. --*/
  9. // Define the following to skip definitions
  10. //
  11. // NOMMIDS      Multimedia IDs are not defined
  12. // NONEWWAVE    No new waveform types are defined except WAVEFORMATEX
  13. // NONEWRIFF    No new RIFF forms are defined
  14. // NOJPEGDIB    No JPEG DIB definitions
  15. // NONEWIC      No new Image Compressor types are defined
  16. // NOBITMAP     No extended bitmap info header definition
  17. #ifndef _INC_MMREG
  18. /* use version number to verify compatibility */
  19. #define _INC_MMREG     158      // version * 100 + revision
  20. #if _MSC_VER > 1000
  21. #pragma once
  22. #endif
  23. #if !defined( RC_INVOKED ) && defined( _MSC_VER )
  24. #if (_MSC_VER <= 800)
  25. #pragma pack(1)
  26. #else
  27. #include "pshpack1.h"   /* Assume byte packing throughout */
  28. #endif
  29. #endif  /* RC_INVOKED */
  30. #ifdef __cplusplus
  31. extern "C" {            /* Assume C declarations for C++ */
  32. #endif  /* __cplusplus */
  33. #ifndef NOMMIDS
  34. /* manufacturer IDs */
  35. #ifndef MM_MICROSOFT
  36. #define   MM_MICROSOFT                  1           /* Microsoft Corporation */
  37. #endif
  38. #define   MM_CREATIVE                   2           /* Creative Labs, Inc. */
  39. #define   MM_MEDIAVISION                3           /* Media Vision, Inc. */
  40. #define   MM_FUJITSU                    4           /* Fujitsu Corp. */
  41. #define   MM_PRAGMATRAX                 5           /* PRAGMATRAX Software */
  42. #define   MM_CYRIX                      6           /* Cyrix Corporation */
  43. #define   MM_PHILIPS_SPEECH_PROCESSING  7           /* Philips Speech Processing */
  44. #define   MM_NETXL                      8           /* NetXL, Inc. */
  45. #define   MM_ZYXEL                      9           /* ZyXEL Communications, Inc. */
  46. #define   MM_BECUBED                    10          /* BeCubed Software Inc. */
  47. #define   MM_AARDVARK                   11          /* Aardvark Computer Systems, Inc. */
  48. #define   MM_BINTEC                     12          /* Bin Tec Communications GmbH */
  49. #define   MM_HEWLETT_PACKARD            13          /* Hewlett-Packard Company */
  50. #define   MM_ACULAB                     14          /* Aculab plc */
  51. #define   MM_FAITH                      15          /* Faith,Inc. */
  52. #define   MM_MITEL                      16          /* Mitel Corporation */
  53. #define   MM_QUANTUM3D                  17          /* Quantum3D, Inc. */
  54. #define   MM_SNI                        18          /* Siemens-Nixdorf */
  55. #define   MM_EMU                        19          /* E-mu Systems, Inc. */
  56. #define   MM_ARTISOFT                   20          /* Artisoft, Inc. */
  57. #define   MM_TURTLE_BEACH               21          /* Turtle Beach, Inc. */
  58. #define   MM_IBM                        22          /* IBM Corporation */
  59. #define   MM_VOCALTEC                   23          /* Vocaltec Ltd. */
  60. #define   MM_ROLAND                     24          /* Roland */
  61. #define   MM_DSP_SOLUTIONS              25          /* DSP Solutions, Inc. */
  62. #define   MM_NEC                        26          /* NEC */
  63. #define   MM_ATI                        27          /* ATI Technologies Inc. */
  64. #define   MM_WANGLABS                   28          /* Wang Laboratories, Inc. */
  65. #define   MM_TANDY                      29          /* Tandy Corporation */
  66. #define   MM_VOYETRA                    30          /* Voyetra */
  67. #define   MM_ANTEX                      31          /* Antex Electronics Corporation */
  68. #define   MM_ICL_PS                     32          /* ICL Personal Systems */
  69. #define   MM_INTEL                      33          /* Intel Corporation */
  70. #define   MM_GRAVIS                     34          /* Advanced Gravis */
  71. #define   MM_VAL                        35          /* Video Associates Labs, Inc. */
  72. #define   MM_INTERACTIVE                36          /* InterActive Inc. */
  73. #define   MM_YAMAHA                     37          /* Yamaha Corporation of America */
  74. #define   MM_EVEREX                     38          /* Everex Systems, Inc. */
  75. #define   MM_ECHO                       39          /* Echo Speech Corporation */
  76. #define   MM_SIERRA                     40          /* Sierra Semiconductor Corp */
  77. #define   MM_CAT                        41          /* Computer Aided Technologies */
  78. #define   MM_APPS                       42          /* APPS Software International */
  79. #define   MM_DSP_GROUP                  43          /* DSP Group, Inc. */
  80. #define   MM_MELABS                     44          /* microEngineering Labs */
  81. #define   MM_COMPUTER_FRIENDS           45          /* Computer Friends, Inc. */
  82. #define   MM_ESS                        46          /* ESS Technology */
  83. #define   MM_AUDIOFILE                  47          /* Audio, Inc. */
  84. #define   MM_MOTOROLA                   48          /* Motorola, Inc. */
  85. #define   MM_CANOPUS                    49          /* Canopus, co., Ltd. */
  86. #define   MM_EPSON                      50          /* Seiko Epson Corporation */
  87. #define   MM_TRUEVISION                 51          /* Truevision */
  88. #define   MM_AZTECH                     52          /* Aztech Labs, Inc. */
  89. #define   MM_VIDEOLOGIC                 53          /* Videologic */
  90. #define   MM_SCALACS                    54          /* SCALACS */
  91. #define   MM_KORG                       55          /* Korg Inc. */
  92. #define   MM_APT                        56          /* Audio Processing Technology */
  93. #define   MM_ICS                        57          /* Integrated Circuit Systems, Inc. */
  94. #define   MM_ITERATEDSYS                58          /* Iterated Systems, Inc. */
  95. #define   MM_METHEUS                    59          /* Metheus */
  96. #define   MM_LOGITECH                   60          /* Logitech, Inc. */
  97. #define   MM_WINNOV                     61          /* Winnov, Inc. */
  98. #define   MM_NCR                        62          /* NCR Corporation */
  99. #define   MM_EXAN                       63          /* EXAN */
  100. #define   MM_AST                        64          /* AST Research Inc. */
  101. #define   MM_WILLOWPOND                 65          /* Willow Pond Corporation */
  102. #define   MM_SONICFOUNDRY               66          /* Sonic Foundry */
  103. #define   MM_VITEC                      67          /* Vitec Multimedia */
  104. #define   MM_MOSCOM                     68          /* MOSCOM Corporation */
  105. #define   MM_SILICONSOFT                69          /* Silicon Soft, Inc. */
  106. #define   MM_TERRATEC                   70          /* TerraTec Electronic GmbH */
  107. #define   MM_MEDIASONIC                 71          /* MediaSonic Ltd. */
  108. #define   MM_SANYO                      72          /* SANYO Electric Co., Ltd. */
  109. #define   MM_SUPERMAC                   73          /* Supermac */
  110. #define   MM_AUDIOPT                    74          /* Audio Processing Technology */
  111. #define   MM_NOGATECH                   75          /* NOGATECH Ltd. */
  112. #define   MM_SPEECHCOMP                 76          /* Speech Compression */
  113. #define   MM_AHEAD                      77          /* Ahead, Inc. */
  114. #define   MM_DOLBY                      78          /* Dolby Laboratories */
  115. #define   MM_OKI                        79          /* OKI */
  116. #define   MM_AURAVISION                 80          /* AuraVision Corporation */
  117. #define   MM_OLIVETTI                   81          /* Ing C. Olivetti & C., S.p.A. */
  118. #define   MM_IOMAGIC                    82          /* I/O Magic Corporation */
  119. #define   MM_MATSUSHITA                 83          /* Matsushita Electric Industrial Co., Ltd. */
  120. #define   MM_CONTROLRES                 84          /* Control Resources Limited */
  121. #define   MM_XEBEC                      85          /* Xebec Multimedia Solutions Limited */
  122. #define   MM_NEWMEDIA                   86          /* New Media Corporation */
  123. #define   MM_NMS                        87          /* Natural MicroSystems */
  124. #define   MM_LYRRUS                     88          /* Lyrrus Inc. */
  125. #define   MM_COMPUSIC                   89          /* Compusic */
  126. #define   MM_OPTI                       90          /* OPTi Computers Inc. */
  127. #define   MM_ADLACC                     91          /* Adlib Accessories Inc. */
  128. #define   MM_COMPAQ                     92          /* Compaq Computer Corp. */
  129. #define   MM_DIALOGIC                   93          /* Dialogic Corporation */
  130. #define   MM_INSOFT                     94          /* InSoft, Inc. */
  131. #define   MM_MPTUS                      95          /* M.P. Technologies, Inc. */
  132. #define   MM_WEITEK                     96          /* Weitek */
  133. #define   MM_LERNOUT_AND_HAUSPIE        97          /* Lernout & Hauspie */
  134. #define   MM_QCIAR                      98          /* Quanta Computer Inc. */
  135. #define   MM_APPLE                      99          /* Apple Computer, Inc. */
  136. #define   MM_DIGITAL                    100         /* Digital Equipment Corporation */
  137. #define   MM_MOTU                       101         /* Mark of the Unicorn */
  138. #define   MM_WORKBIT                    102         /* Workbit Corporation */
  139. #define   MM_OSITECH                    103         /* Ositech Communications Inc. */
  140. #define   MM_MIRO                       104         /* miro Computer Products AG */
  141. #define   MM_CIRRUSLOGIC                105         /* Cirrus Logic */
  142. #define   MM_ISOLUTION                  106         /* ISOLUTION  B.V. */
  143. #define   MM_HORIZONS                   107         /* Horizons Technology, Inc. */
  144. #define   MM_CONCEPTS                   108         /* Computer Concepts Ltd. */
  145. #define   MM_VTG                        109         /* Voice Technologies Group, Inc. */
  146. #define   MM_RADIUS                     110         /* Radius */
  147. #define   MM_ROCKWELL                   111         /* Rockwell International */
  148. #define   MM_XYZ                        112         /* Co. XYZ for testing */
  149. #define   MM_OPCODE                     113         /* Opcode Systems */
  150. #define   MM_VOXWARE                    114         /* Voxware Inc. */
  151. #define   MM_NORTHERN_TELECOM           115         /* Northern Telecom Limited */
  152. #define   MM_APICOM                     116         /* APICOM */
  153. #define   MM_GRANDE                     117         /* Grande Software */
  154. #define   MM_ADDX                       118         /* ADDX */
  155. #define   MM_WILDCAT                    119         /* Wildcat Canyon Software */
  156. #define   MM_RHETOREX                   120         /* Rhetorex Inc. */
  157. #define   MM_BROOKTREE                  121         /* Brooktree Corporation */
  158. #define   MM_ENSONIQ                    125         /* ENSONIQ Corporation */
  159. #define   MM_FAST                       126         /* FAST Multimedia AG */
  160. #define   MM_NVIDIA                     127         /* NVidia Corporation */
  161. #define   MM_OKSORI                     128         /* OKSORI Co., Ltd. */
  162. #define   MM_DIACOUSTICS                129         /* DiAcoustics, Inc. */
  163. #define   MM_GULBRANSEN                 130         /* Gulbransen, Inc. */
  164. #define   MM_KAY_ELEMETRICS             131         /* Kay Elemetrics, Inc. */
  165. #define   MM_CRYSTAL                    132         /* Crystal Semiconductor Corporation */
  166. #define   MM_SPLASH_STUDIOS             133         /* Splash Studios */
  167. #define   MM_QUARTERDECK                134         /* Quarterdeck Corporation */
  168. #define   MM_TDK                        135         /* TDK Corporation */
  169. #define   MM_DIGITAL_AUDIO_LABS         136         /* Digital Audio Labs, Inc. */
  170. #define   MM_SEERSYS                    137         /* Seer Systems, Inc. */
  171. #define   MM_PICTURETEL                 138         /* PictureTel Corporation */
  172. #define   MM_ATT_MICROELECTRONICS       139         /* AT&T Microelectronics */
  173. #define   MM_OSPREY                     140         /* Osprey Technologies, Inc. */
  174. #define   MM_MEDIATRIX                  141         /* Mediatrix Peripherals */
  175. #define   MM_SOUNDESIGNS                142         /* SounDesignS M.C.S. Ltd. */
  176. #define   MM_ALDIGITAL                  143         /* A.L. Digital Ltd. */
  177. #define   MM_SPECTRUM_SIGNAL_PROCESSING 144         /* Spectrum Signal Processing, Inc. */
  178. #define   MM_ECS                        145         /* Electronic Courseware Systems, Inc. */
  179. #define   MM_AMD                        146         /* AMD */
  180. #define   MM_COREDYNAMICS               147         /* Core Dynamics */
  181. #define   MM_CANAM                      148         /* CANAM Computers */
  182. #define   MM_SOFTSOUND                  149         /* Softsound, Ltd. */
  183. #define   MM_NORRIS                     150         /* Norris Communications, Inc. */
  184. #define   MM_DDD                        151         /* Danka Data Devices */
  185. #define   MM_EUPHONICS                  152         /* EuPhonics */
  186. #define   MM_PRECEPT                    153         /* Precept Software, Inc. */
  187. #define   MM_CRYSTAL_NET                154         /* Crystal Net Corporation */
  188. #define   MM_CHROMATIC                  155         /* Chromatic Research, Inc. */
  189. #define   MM_VOICEINFO                  156         /* Voice Information Systems, Inc. */
  190. #define   MM_VIENNASYS                  157         /* Vienna Systems */
  191. #define   MM_CONNECTIX                  158         /* Connectix Corporation */
  192. #define   MM_GADGETLABS                 159         /* Gadget Labs LLC */
  193. #define   MM_FRONTIER                   160         /* Frontier Design Group LLC */
  194. #define   MM_VIONA                      161         /* Viona Development GmbH */
  195. #define   MM_CASIO                      162         /* Casio Computer Co., LTD */
  196. #define   MM_DIAMONDMM                  163         /* Diamond Multimedia */
  197. #define   MM_S3                         164         /* S3 */
  198. #define   MM_DVISION                    165         /* D-Vision Systems, Inc. */
  199. #define   MM_NETSCAPE                   166         /* Netscape Communications */
  200. #define   MM_SOUNDSPACE                 167         /* Soundspace Audio */
  201. #define   MM_VANKOEVERING               168         /* VanKoevering Company */
  202. #define   MM_QTEAM                      169         /* Q-Team */
  203. #define   MM_ZEFIRO                     170         /* Zefiro Acoustics */
  204. #define   MM_STUDER                     171         /* Studer Professional Audio AG */
  205. #define   MM_FRAUNHOFER_IIS             172         /* Fraunhofer IIS */
  206. #define   MM_QUICKNET                   173         /* Quicknet Technologies */
  207. #define   MM_ALARIS                     174         /* Alaris, Inc. */
  208. #define   MM_SICRESOURCE                175         /* SIC Resource Inc. */
  209. #define   MM_NEOMAGIC                   176         /* NeoMagic Corporation */
  210. #define   MM_MERGING_TECHNOLOGIES       177         /* Merging Technologies S.A. */
  211. #define   MM_XIRLINK                    178         /* Xirlink, Inc. */
  212. #define   MM_COLORGRAPH                 179         /* Colorgraph (UK) Ltd */
  213. #define   MM_OTI                        180         /* Oak Technology, Inc. */
  214. #define   MM_AUREAL                     181         /* Aureal Semiconductor */
  215. #define   MM_VIVO                       182         /* Vivo Software */
  216. #define   MM_SHARP                      183         /* Sharp */
  217. #define   MM_LUCENT                     184         /* Lucent Technologies */
  218. #define   MM_ATT                        185         /* AT&T Labs, Inc. */
  219. #define   MM_SUNCOM                     186         /* Sun Communications, Inc. */
  220. #define   MM_SORVIS                     187         /* Sorenson Vision */
  221. #define   MM_INVISION                   188         /* InVision Interactive */
  222. #define   MM_BERKOM                     189         /* Deutsche Telekom Berkom GmbH */
  223. #define   MM_MARIAN                     190         /* Marian GbR Leipzig */
  224. #define   MM_DPSINC                     191         /* Digital Processing Systems, Inc. */
  225. #define   MM_BCB                        192         /* BCB Holdings Inc. */
  226. #define   MM_MOTIONPIXELS               193         /* Motion Pixels */
  227. #define   MM_QDESIGN                    194         /* QDesign Corporation */
  228. #define   MM_NMP                        195         /* Nokia Mobile Phones */
  229. #define   MM_DATAFUSION                 196         /* DataFusion Systems (Pty) (Ltd) */
  230. #define   MM_DUCK                       197         /* The Duck Corporation */
  231. #define   MM_FTR                        198         /* Future Technology Resources Pty Ltd */
  232. #define   MM_BERCOS                     199         /* BERCOS GmbH */
  233. #define   MM_ONLIVE                     200         /* OnLive! Technologies, Inc. */
  234. #define   MM_SIEMENS_SBC                201         /* Siemens Business Communications Systems */
  235. #define   MM_TERALOGIC                  202         /* TeraLogic, Inc. */
  236. #define   MM_PHONET                     203         /* PhoNet Communications Ltd. */
  237. #define   MM_WINBOND                    204         /* Winbond Electronics Corp */
  238. #define   MM_VIRTUALMUSIC               205         /* Virtual Music, Inc. */
  239. #define   MM_ENET                       206         /* e-Net, Inc. */
  240. #define   MM_GUILLEMOT                  207         /* Guillemot International */
  241. #define   MM_EMAGIC                     208         /* Emagic Soft- und Hardware GmbH */
  242. #define   MM_MWM                        209         /* MWM Acoustics LLC */
  243. #define   MM_PACIFICRESEARCH            210         /* Pacific Research and Engineering Corporation */
  244. #define   MM_SIPROLAB                   211         /* Sipro Lab Telecom Inc. */
  245. #define   MM_LYNX                       212         /* Lynx Studio Technology, Inc. */
  246. #define   MM_SPECTRUM_PRODUCTIONS       213         /* Spectrum Productions */
  247. #define   MM_DICTAPHONE                 214         /* Dictaphone Corporation */
  248. #define   MM_QUALCOMM                   215         /* QUALCOMM, Inc. */
  249. #define   MM_RZS                        216         /* Ring Zero Systems, Inc */
  250. #define   MM_AUDIOSCIENCE               217         /* AudioScience Inc. */
  251. #define   MM_PINNACLE                   218         /* Pinnacle Systems, Inc. */
  252. #define   MM_EES                        219         /* EES Technik f黵 Musik GmbH */
  253. #define   MM_HAFTMANN                   220         /* haftmann#software */
  254. #define   MM_LUCID                      221         /* Lucid Technology, Symetrix Inc. */
  255. #define   MM_HEADSPACE                  222         /* Headspace, Inc */
  256. #define   MM_UNISYS                     223         /* UNISYS CORPORATION */
  257. #define   MM_LUMINOSITI                 224         /* Luminositi, Inc. */
  258. #define   MM_ACTIVEVOICE                225         /* ACTIVE VOICE CORPORATION */
  259. #define   MM_DTS                        226         /* Digital Theater Systems, Inc. */
  260. #define   MM_DIGIGRAM                   227         /* DIGIGRAM */
  261. #define   MM_SOFTLAB_NSK                228         /* Softlab-Nsk */
  262. #define   MM_FORTEMEDIA                 229         /* ForteMedia, Inc */
  263. #define   MM_SONORUS                    230         /* Sonorus, Inc. */
  264. #define   MM_ARRAY                      231         /* Array Microsystems, Inc. */
  265. #define   MM_DATARAN                    232         /* Data Translation, Inc. */
  266. #define   MM_I_LINK                     233         /* I-link Worldwide */
  267. #define   MM_SELSIUS_SYSTEMS            234         /* Selsius Systems Inc. */
  268. #define   MM_ADMOS                      235         /* AdMOS Technology, Inc. */
  269. #define   MM_LEXICON                    236         /* Lexicon Inc. */
  270. #define   MM_SGI                        237         /* Silicon Graphics Inc. */
  271. #define   MM_IPI                        238         /* Interactive Product Inc. */
  272. #define   MM_ICE                        239         /* IC Ensemble, Inc. */
  273. #define   MM_VQST                       240         /* ViewQuest Technologies Inc. */
  274. #define   MM_ETEK                       241         /* eTEK Labs Inc. */
  275. #define   MM_CS                         242         /* Consistent Software */
  276. #define   MM_ALESIS                     243         /* Alesis Studio Electronics */
  277. #define   MM_INTERNET                   244         /* INTERNET Corporation */
  278. #define   MM_SONY                       245         /* Sony Corporation */
  279. #define   MM_HYPERACTIVE                246         /* Hyperactive Audio Systems, Inc. */
  280. #define   MM_UHER_INFORMATIC            247         /* UHER informatic GmbH */
  281. #define   MM_SYDEC_NV                   248         /* Sydec NV */
  282. #define   MM_FLEXION                    249         /* Flexion Systems Ltd. */
  283. #define   MM_VIA                        250         /* Via Technologies, Inc. */
  284. #define   MM_MICRONAS                   251         /* Micronas Semiconductors, Inc. */
  285. #define   MM_ANALOGDEVICES              252         /* Analog Devices, Inc. */
  286. #define   MM_HP                         253         /* Hewlett Packard Company */
  287. #define   MM_MATROX_DIV                 254         /* Matrox */
  288. #define   MM_QUICKAUDIO                 255         /* Quick Audio, GbR */
  289. #define   MM_YOUCOM                     256         /* You/Com Audiocommunicatie BV */
  290. #define   MM_RICHMOND                   257         /* Richmond Sound Design Ltd. */
  291. #define   MM_IODD                       258         /* I-O Data Device, Inc. */
  292. #define   MM_ICCC                       259         /* ICCC A/S */
  293. #define   MM_3COM                       260         /* 3COM Corporation */
  294. #define   MM_MALDEN                     261         /* Malden Electronics Ltd. */
  295. #define   MM_3DFX                       262         /* 3Dfx Interactive, Inc. */
  296. #define   MM_MINDMAKER                  263         /* Mindmaker, Inc. */
  297. #define   MM_TELEKOL                    264         /* Telekol Corp. */
  298. #define   MM_ST_MICROELECTRONICS        265         /* ST Microelectronics */
  299. #define   MM_ALGOVISION                 266         /* Algo Vision Systems GmbH */
  300. #define   MM_UNMAPPED                   0xffff      /* extensible MID mapping */
  301. #define   MM_PID_UNMAPPED               MM_UNMAPPED /* extensible PID mapping */
  302. #ifdef GUID_DEFINED
  303. #if !defined(INIT_MMREG_MID)
  304. //{d5a47fa7-6d98-11d1-a21a-00a0c9223196}
  305. #define INIT_MMREG_MID(guid, id)
  306. {
  307.     (guid)->Data1 = 0xd5a47fa7 + (USHORT)(id);
  308.     (guid)->Data2 = 0x6d98;
  309.     (guid)->Data3 = 0x11d1;
  310.     (guid)->Data4[0] = 0xa2;
  311.     (guid)->Data4[1] = 0x1a;
  312.     (guid)->Data4[2] = 0x00;
  313.     (guid)->Data4[3] = 0xa0;
  314.     (guid)->Data4[4] = 0xc9;
  315.     (guid)->Data4[5] = 0x22;
  316.     (guid)->Data4[6] = 0x31;
  317.     (guid)->Data4[7] = 0x96;
  318. }
  319. #define EXTRACT_MMREG_MID(guid)
  320.     (USHORT)((guid)->Data1 - 0xd5a47fa7)
  321. #define DEFINE_MMREG_MID_GUID(id)
  322.     0xd5a47fa7+(USHORT)(id), 0x6d98, 0x11d1, 0xa2, 0x1a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96
  323. #define IS_COMPATIBLE_MMREG_MID(guid)
  324.     (((guid)->Data1 >= 0xd5a47fa7) &&
  325.     ((guid)->Data1 < 0xd5a47fa7 + 0xffff) &&
  326.     ((guid)->Data2 == 0x6d98) &&
  327.     ((guid)->Data3 == 0x11d1) &&
  328.     ((guid)->Data4[0] == 0xa2) &&
  329.     ((guid)->Data4[1] == 0x1a) &&
  330.     ((guid)->Data4[2] == 0x00) &&
  331.     ((guid)->Data4[3] == 0xa0) &&
  332.     ((guid)->Data4[4] == 0xc9) &&
  333.     ((guid)->Data4[5] == 0x22) &&
  334.     ((guid)->Data4[6] == 0x31) &&
  335.     ((guid)->Data4[7] == 0x96))
  336. #endif // !defined(INIT_MMREG_MID)
  337. #if !defined(INIT_MMREG_PID)
  338. //{e36dc2ac-6d9a-11d1-a21a-00a0c9223196}
  339. #define INIT_MMREG_PID(guid, id)
  340. {
  341.     (guid)->Data1 = 0xe36dc2ac + (USHORT)(id);
  342.     (guid)->Data2 = 0x6d9a;
  343.     (guid)->Data3 = 0x11d1;
  344.     (guid)->Data4[0] = 0xa2;
  345.     (guid)->Data4[1] = 0x1a;
  346.     (guid)->Data4[2] = 0x00;
  347.     (guid)->Data4[3] = 0xa0;
  348.     (guid)->Data4[4] = 0xc9;
  349.     (guid)->Data4[5] = 0x22;
  350.     (guid)->Data4[6] = 0x31;
  351.     (guid)->Data4[7] = 0x96;
  352. }
  353. #define EXTRACT_MMREG_PID(guid)
  354.     (USHORT)((guid)->Data1 - 0xe36dc2ac)
  355. #define DEFINE_MMREG_PID_GUID(id)
  356.     0xe36dc2ac+(USHORT)(id), 0x6d9a, 0x11d1, 0xa2, 0x1a, 0x00, 0xa0, 0xc9, 0x22, 0x31, 0x96
  357. #define IS_COMPATIBLE_MMREG_PID(guid)
  358.     (((guid)->Data1 >= 0xe36dc2ac) &&
  359.     ((guid)->Data1 < 0xe36dc2ac + 0xffff) &&
  360.     ((guid)->Data2 == 0x6d9a) &&
  361.     ((guid)->Data3 == 0x11d1) &&
  362.     ((guid)->Data4[0] == 0xa2) &&
  363.     ((guid)->Data4[1] == 0x1a) &&
  364.     ((guid)->Data4[2] == 0x00) &&
  365.     ((guid)->Data4[3] == 0xa0) &&
  366.     ((guid)->Data4[4] == 0xc9) &&
  367.     ((guid)->Data4[5] == 0x22) &&
  368.     ((guid)->Data4[6] == 0x31) &&
  369.     ((guid)->Data4[7] == 0x96))
  370. #endif // !defined(INIT_MMREG_PID)
  371. #endif // GUID_DEFINED
  372. /* MM_MICROSOFT product IDs */
  373. #ifndef MM_MIDI_MAPPER
  374. #define  MM_MIDI_MAPPER                     1       /*  Midi Mapper  */
  375. #define  MM_WAVE_MAPPER                     2       /*  Wave Mapper  */
  376. #define  MM_SNDBLST_MIDIOUT                 3       /*  Sound Blaster MIDI output port  */
  377. #define  MM_SNDBLST_MIDIIN                  4       /*  Sound Blaster MIDI input port  */
  378. #define  MM_SNDBLST_SYNTH                   5       /*  Sound Blaster internal synth  */
  379. #define  MM_SNDBLST_WAVEOUT                 6       /*  Sound Blaster waveform output  */
  380. #define  MM_SNDBLST_WAVEIN                  7       /*  Sound Blaster waveform input  */
  381. #define  MM_ADLIB                           9       /*  Ad Lib Compatible synth  */
  382. #define  MM_MPU401_MIDIOUT                  10      /*  MPU 401 compatible MIDI output port  */
  383. #define  MM_MPU401_MIDIIN                   11      /*  MPU 401 compatible MIDI input port  */
  384. #define  MM_PC_JOYSTICK                     12      /*  Joystick adapter  */
  385. #endif
  386. #define  MM_PCSPEAKER_WAVEOUT               13      /*  PC speaker waveform output  */
  387. #define  MM_MSFT_WSS_WAVEIN                 14      /*  MS Audio Board waveform input  */
  388. #define  MM_MSFT_WSS_WAVEOUT                15      /*  MS Audio Board waveform output  */
  389. #define  MM_MSFT_WSS_FMSYNTH_STEREO         16      /*  MS Audio Board  Stereo FM synth  */
  390. #define  MM_MSFT_WSS_MIXER                  17      /*  MS Audio Board Mixer Driver  */
  391. #define  MM_MSFT_WSS_OEM_WAVEIN             18      /*  MS OEM Audio Board waveform input  */
  392. #define  MM_MSFT_WSS_OEM_WAVEOUT            19      /*  MS OEM Audio Board waveform output  */
  393. #define  MM_MSFT_WSS_OEM_FMSYNTH_STEREO     20      /*  MS OEM Audio Board Stereo FM Synth  */
  394. #define  MM_MSFT_WSS_AUX                    21      /*  MS Audio Board Aux. Port  */
  395. #define  MM_MSFT_WSS_OEM_AUX                22      /*  MS OEM Audio Aux Port  */
  396. #define  MM_MSFT_GENERIC_WAVEIN             23      /*  MS Vanilla driver waveform input  */
  397. #define  MM_MSFT_GENERIC_WAVEOUT            24      /*  MS Vanilla driver wavefrom output  */
  398. #define  MM_MSFT_GENERIC_MIDIIN             25      /*  MS Vanilla driver MIDI in  */
  399. #define  MM_MSFT_GENERIC_MIDIOUT            26      /*  MS Vanilla driver MIDI  external out  */
  400. #define  MM_MSFT_GENERIC_MIDISYNTH          27      /*  MS Vanilla driver MIDI synthesizer  */
  401. #define  MM_MSFT_GENERIC_AUX_LINE           28      /*  MS Vanilla driver aux (line in)  */
  402. #define  MM_MSFT_GENERIC_AUX_MIC            29      /*  MS Vanilla driver aux (mic)  */
  403. #define  MM_MSFT_GENERIC_AUX_CD             30      /*  MS Vanilla driver aux (CD)  */
  404. #define  MM_MSFT_WSS_OEM_MIXER              31      /*  MS OEM Audio Board Mixer Driver  */
  405. #define  MM_MSFT_MSACM                      32      /*  MS Audio Compression Manager  */
  406. #define  MM_MSFT_ACM_MSADPCM                33      /*  MS ADPCM Codec  */
  407. #define  MM_MSFT_ACM_IMAADPCM               34      /*  IMA ADPCM Codec  */
  408. #define  MM_MSFT_ACM_MSFILTER               35      /*  MS Filter  */
  409. #define  MM_MSFT_ACM_GSM610                 36      /*  GSM 610 codec  */
  410. #define  MM_MSFT_ACM_G711                   37      /*  G.711 codec  */
  411. #define  MM_MSFT_ACM_PCM                    38      /*  PCM converter  */
  412.    // Microsoft Windows Sound System drivers
  413. #define  MM_WSS_SB16_WAVEIN                 39      /*  Sound Blaster 16 waveform input  */
  414. #define  MM_WSS_SB16_WAVEOUT                40      /*  Sound Blaster 16  waveform output  */
  415. #define  MM_WSS_SB16_MIDIIN                 41      /*  Sound Blaster 16 midi-in  */
  416. #define  MM_WSS_SB16_MIDIOUT                42      /*  Sound Blaster 16 midi out  */
  417. #define  MM_WSS_SB16_SYNTH                  43      /*  Sound Blaster 16 FM Synthesis  */
  418. #define  MM_WSS_SB16_AUX_LINE               44      /*  Sound Blaster 16 aux (line in)  */
  419. #define  MM_WSS_SB16_AUX_CD                 45      /*  Sound Blaster 16 aux (CD)  */
  420. #define  MM_WSS_SB16_MIXER                  46      /*  Sound Blaster 16 mixer device  */
  421. #define  MM_WSS_SBPRO_WAVEIN                47      /*  Sound Blaster Pro waveform input  */
  422. #define  MM_WSS_SBPRO_WAVEOUT               48      /*  Sound Blaster Pro waveform output  */
  423. #define  MM_WSS_SBPRO_MIDIIN                49      /*  Sound Blaster Pro midi in  */
  424. #define  MM_WSS_SBPRO_MIDIOUT               50      /*  Sound Blaster Pro midi out  */
  425. #define  MM_WSS_SBPRO_SYNTH                 51      /*  Sound Blaster Pro FM synthesis  */
  426. #define  MM_WSS_SBPRO_AUX_LINE              52      /*  Sound Blaster Pro aux (line in )  */
  427. #define  MM_WSS_SBPRO_AUX_CD                53      /*  Sound Blaster Pro aux (CD)  */
  428. #define  MM_WSS_SBPRO_MIXER                 54      /*  Sound Blaster Pro mixer  */
  429. #define  MM_MSFT_WSS_NT_WAVEIN              55      /*  WSS NT wave in  */
  430. #define  MM_MSFT_WSS_NT_WAVEOUT             56      /*  WSS NT wave out  */
  431. #define  MM_MSFT_WSS_NT_FMSYNTH_STEREO      57      /*  WSS NT FM synth  */
  432. #define  MM_MSFT_WSS_NT_MIXER               58      /*  WSS NT mixer  */
  433. #define  MM_MSFT_WSS_NT_AUX                 59      /*  WSS NT aux  */
  434. #define  MM_MSFT_SB16_WAVEIN                60      /*  Sound Blaster 16 waveform input  */
  435. #define  MM_MSFT_SB16_WAVEOUT               61      /*  Sound Blaster 16  waveform output  */
  436. #define  MM_MSFT_SB16_MIDIIN                62      /*  Sound Blaster 16 midi-in  */
  437. #define  MM_MSFT_SB16_MIDIOUT               63      /*  Sound Blaster 16 midi out  */
  438. #define  MM_MSFT_SB16_SYNTH                 64      /*  Sound Blaster 16 FM Synthesis  */
  439. #define  MM_MSFT_SB16_AUX_LINE              65      /*  Sound Blaster 16 aux (line in)  */
  440. #define  MM_MSFT_SB16_AUX_CD                66      /*  Sound Blaster 16 aux (CD)  */
  441. #define  MM_MSFT_SB16_MIXER                 67      /*  Sound Blaster 16 mixer device  */
  442. #define  MM_MSFT_SBPRO_WAVEIN               68      /*  Sound Blaster Pro waveform input  */
  443. #define  MM_MSFT_SBPRO_WAVEOUT              69      /*  Sound Blaster Pro waveform output  */
  444. #define  MM_MSFT_SBPRO_MIDIIN               70      /*  Sound Blaster Pro midi in  */
  445. #define  MM_MSFT_SBPRO_MIDIOUT              71      /*  Sound Blaster Pro midi out  */
  446. #define  MM_MSFT_SBPRO_SYNTH                72      /*  Sound Blaster Pro FM synthesis  */
  447. #define  MM_MSFT_SBPRO_AUX_LINE             73      /*  Sound Blaster Pro aux (line in)  */
  448. #define  MM_MSFT_SBPRO_AUX_CD               74      /*  Sound Blaster Pro aux (CD)  */
  449. #define  MM_MSFT_SBPRO_MIXER                75      /*  Sound Blaster Pro mixer  */
  450. #define  MM_MSFT_MSOPL_SYNTH                76      /*  Yamaha OPL2/OPL3 compatible FM synthesis */
  451. #define  MM_MSFT_VMDMS_LINE_WAVEIN          80     /* Voice Modem Serial Line Wave Input */
  452. #define  MM_MSFT_VMDMS_LINE_WAVEOUT         81     /* Voice Modem Serial Line Wave Output */
  453. #define  MM_MSFT_VMDMS_HANDSET_WAVEIN       82     /* Voice Modem Serial Handset Wave Input */
  454. #define  MM_MSFT_VMDMS_HANDSET_WAVEOUT      83     /* Voice Modem Serial Handset Wave Output */
  455. #define  MM_MSFT_VMDMW_LINE_WAVEIN          84     /* Voice Modem Wrapper Line Wave Input */
  456. #define  MM_MSFT_VMDMW_LINE_WAVEOUT         85     /* Voice Modem Wrapper Line Wave Output */
  457. #define  MM_MSFT_VMDMW_HANDSET_WAVEIN       86     /* Voice Modem Wrapper Handset Wave Input */
  458. #define  MM_MSFT_VMDMW_HANDSET_WAVEOUT      87     /* Voice Modem Wrapper Handset Wave Output */
  459. #define  MM_MSFT_VMDMW_MIXER                88     /* Voice Modem Wrapper Mixer */
  460. #define  MM_MSFT_VMDM_GAME_WAVEOUT          89     /* Voice Modem Game Compatible Wave Device */
  461. #define  MM_MSFT_VMDM_GAME_WAVEIN           90     /* Voice Modem Game Compatible Wave Device */
  462. #define  MM_MSFT_ACM_MSNAUDIO               91
  463. #define  MM_MSFT_ACM_MSG723                 92
  464. #define  MM_MSFT_ACM_MSRT24                 93
  465. #define  MM_MSFT_WDMAUDIO_WAVEOUT           100    /* Generic id for WDM Audio drivers */
  466. #define  MM_MSFT_WDMAUDIO_WAVEIN            101    /* Generic id for WDM Audio drivers */
  467. #define  MM_MSFT_WDMAUDIO_MIDIOUT           102    /* Generic id for WDM Audio drivers */
  468. #define  MM_MSFT_WDMAUDIO_MIDIIN            103    /* Generic id for WDM Audio drivers */
  469. #define  MM_MSFT_WDMAUDIO_MIXER             104    /* Generic id for WDM Audio drivers */
  470. #define  MM_MSFT_WDMAUDIO_AUX               105    /* Generic id for WDM Audio drivers */
  471. /* MM_CREATIVE product IDs */
  472. #define  MM_CREATIVE_SB15_WAVEIN            1       /*  SB (r) 1.5 waveform input  */
  473. #define  MM_CREATIVE_SB20_WAVEIN            2
  474. #define  MM_CREATIVE_SBPRO_WAVEIN           3
  475. #define  MM_CREATIVE_SBP16_WAVEIN           4
  476. #define  MM_CREATIVE_PHNBLST_WAVEIN         5
  477. #define  MM_CREATIVE_SB15_WAVEOUT           101
  478. #define  MM_CREATIVE_SB20_WAVEOUT           102
  479. #define  MM_CREATIVE_SBPRO_WAVEOUT          103
  480. #define  MM_CREATIVE_SBP16_WAVEOUT          104
  481. #define  MM_CREATIVE_PHNBLST_WAVEOUT        105
  482. #define  MM_CREATIVE_MIDIOUT                201     /*  SB (r)  */
  483. #define  MM_CREATIVE_MIDIIN                 202     /*  SB (r)  */
  484. #define  MM_CREATIVE_FMSYNTH_MONO           301     /*  SB (r)  */
  485. #define  MM_CREATIVE_FMSYNTH_STEREO         302     /*  SB Pro (r) stereo synthesizer  */
  486. #define  MM_CREATIVE_MIDI_AWE32             303
  487. #define  MM_CREATIVE_AUX_CD                 401     /*  SB Pro (r) aux (CD)  */
  488. #define  MM_CREATIVE_AUX_LINE               402     /*  SB Pro (r) aux (Line in )  */
  489. #define  MM_CREATIVE_AUX_MIC                403     /*  SB Pro (r) aux (mic)  */
  490. #define  MM_CREATIVE_AUX_MASTER             404
  491. #define  MM_CREATIVE_AUX_PCSPK              405
  492. #define  MM_CREATIVE_AUX_WAVE               406
  493. #define  MM_CREATIVE_AUX_MIDI               407
  494. #define  MM_CREATIVE_SBPRO_MIXER            408
  495. #define  MM_CREATIVE_SB16_MIXER             409
  496. /* MM_MEDIAVISION product IDs */
  497. // Pro Audio Spectrum
  498. #define  MM_MEDIAVISION_PROAUDIO            0x10
  499. #define  MM_PROAUD_MIDIOUT                  (MM_MEDIAVISION_PROAUDIO+1)
  500. #define  MM_PROAUD_MIDIIN                   (MM_MEDIAVISION_PROAUDIO+2)
  501. #define  MM_PROAUD_SYNTH                    (MM_MEDIAVISION_PROAUDIO+3)
  502. #define  MM_PROAUD_WAVEOUT                  (MM_MEDIAVISION_PROAUDIO+4)
  503. #define  MM_PROAUD_WAVEIN                   (MM_MEDIAVISION_PROAUDIO+5)
  504. #define  MM_PROAUD_MIXER                    (MM_MEDIAVISION_PROAUDIO+6)
  505. #define  MM_PROAUD_AUX                      (MM_MEDIAVISION_PROAUDIO+7)
  506. // Thunder Board
  507. #define  MM_MEDIAVISION_THUNDER             0x20
  508. #define  MM_THUNDER_SYNTH                   (MM_MEDIAVISION_THUNDER+3)
  509. #define  MM_THUNDER_WAVEOUT                 (MM_MEDIAVISION_THUNDER+4)
  510. #define  MM_THUNDER_WAVEIN                  (MM_MEDIAVISION_THUNDER+5)
  511. #define  MM_THUNDER_AUX                     (MM_MEDIAVISION_THUNDER+7)
  512. // Audio Port
  513. #define  MM_MEDIAVISION_TPORT               0x40
  514. #define  MM_TPORT_WAVEOUT                   (MM_MEDIAVISION_TPORT+1)
  515. #define  MM_TPORT_WAVEIN                    (MM_MEDIAVISION_TPORT+2)
  516. #define  MM_TPORT_SYNTH                     (MM_MEDIAVISION_TPORT+3)
  517. // Pro Audio Spectrum Plus
  518. #define  MM_MEDIAVISION_PROAUDIO_PLUS       0x50
  519. #define  MM_PROAUD_PLUS_MIDIOUT             (MM_MEDIAVISION_PROAUDIO_PLUS+1)
  520. #define  MM_PROAUD_PLUS_MIDIIN              (MM_MEDIAVISION_PROAUDIO_PLUS+2)
  521. #define  MM_PROAUD_PLUS_SYNTH               (MM_MEDIAVISION_PROAUDIO_PLUS+3)
  522. #define  MM_PROAUD_PLUS_WAVEOUT             (MM_MEDIAVISION_PROAUDIO_PLUS+4)
  523. #define  MM_PROAUD_PLUS_WAVEIN              (MM_MEDIAVISION_PROAUDIO_PLUS+5)
  524. #define  MM_PROAUD_PLUS_MIXER               (MM_MEDIAVISION_PROAUDIO_PLUS+6)
  525. #define  MM_PROAUD_PLUS_AUX                 (MM_MEDIAVISION_PROAUDIO_PLUS+7)
  526. // Pro Audio Spectrum 16
  527. #define  MM_MEDIAVISION_PROAUDIO_16         0x60
  528. #define  MM_PROAUD_16_MIDIOUT               (MM_MEDIAVISION_PROAUDIO_16+1)
  529. #define  MM_PROAUD_16_MIDIIN                (MM_MEDIAVISION_PROAUDIO_16+2)
  530. #define  MM_PROAUD_16_SYNTH                 (MM_MEDIAVISION_PROAUDIO_16+3)
  531. #define  MM_PROAUD_16_WAVEOUT               (MM_MEDIAVISION_PROAUDIO_16+4)
  532. #define  MM_PROAUD_16_WAVEIN                (MM_MEDIAVISION_PROAUDIO_16+5)
  533. #define  MM_PROAUD_16_MIXER                 (MM_MEDIAVISION_PROAUDIO_16+6)
  534. #define  MM_PROAUD_16_AUX                   (MM_MEDIAVISION_PROAUDIO_16+7)
  535. // Pro Audio Studio 16
  536. #define  MM_MEDIAVISION_PROSTUDIO_16        0x60
  537. #define  MM_STUDIO_16_MIDIOUT               (MM_MEDIAVISION_PROSTUDIO_16+1)
  538. #define  MM_STUDIO_16_MIDIIN                (MM_MEDIAVISION_PROSTUDIO_16+2)
  539. #define  MM_STUDIO_16_SYNTH                 (MM_MEDIAVISION_PROSTUDIO_16+3)
  540. #define  MM_STUDIO_16_WAVEOUT               (MM_MEDIAVISION_PROSTUDIO_16+4)
  541. #define  MM_STUDIO_16_WAVEIN                (MM_MEDIAVISION_PROSTUDIO_16+5)
  542. #define  MM_STUDIO_16_MIXER                 (MM_MEDIAVISION_PROSTUDIO_16+6)
  543. #define  MM_STUDIO_16_AUX                   (MM_MEDIAVISION_PROSTUDIO_16+7)
  544. // CDPC
  545. #define  MM_MEDIAVISION_CDPC                0x70
  546. #define  MM_CDPC_MIDIOUT                    (MM_MEDIAVISION_CDPC+1)
  547. #define  MM_CDPC_MIDIIN                     (MM_MEDIAVISION_CDPC+2)
  548. #define  MM_CDPC_SYNTH                      (MM_MEDIAVISION_CDPC+3)
  549. #define  MM_CDPC_WAVEOUT                    (MM_MEDIAVISION_CDPC+4)
  550. #define  MM_CDPC_WAVEIN                     (MM_MEDIAVISION_CDPC+5)
  551. #define  MM_CDPC_MIXER                      (MM_MEDIAVISION_CDPC+6)
  552. #define  MM_CDPC_AUX                        (MM_MEDIAVISION_CDPC+7)
  553. // Opus MV 1208 Chipsent
  554. #define  MM_MEDIAVISION_OPUS1208            0x80
  555. #define  MM_OPUS401_MIDIOUT                 (MM_MEDIAVISION_OPUS1208+1)
  556. #define  MM_OPUS401_MIDIIN                  (MM_MEDIAVISION_OPUS1208+2)
  557. #define  MM_OPUS1208_SYNTH                  (MM_MEDIAVISION_OPUS1208+3)
  558. #define  MM_OPUS1208_WAVEOUT                (MM_MEDIAVISION_OPUS1208+4)
  559. #define  MM_OPUS1208_WAVEIN                 (MM_MEDIAVISION_OPUS1208+5)
  560. #define  MM_OPUS1208_MIXER                  (MM_MEDIAVISION_OPUS1208+6)
  561. #define  MM_OPUS1208_AUX                    (MM_MEDIAVISION_OPUS1208+7)
  562. // Opus MV 1216 chipset
  563. #define  MM_MEDIAVISION_OPUS1216            0x90
  564. #define  MM_OPUS1216_MIDIOUT                (MM_MEDIAVISION_OPUS1216+1)
  565. #define  MM_OPUS1216_MIDIIN                 (MM_MEDIAVISION_OPUS1216+2)
  566. #define  MM_OPUS1216_SYNTH                  (MM_MEDIAVISION_OPUS1216+3)
  567. #define  MM_OPUS1216_WAVEOUT                (MM_MEDIAVISION_OPUS1216+4)
  568. #define  MM_OPUS1216_WAVEIN                 (MM_MEDIAVISION_OPUS1216+5)
  569. #define  MM_OPUS1216_MIXER                  (MM_MEDIAVISION_OPUS1216+6)
  570. #define  MM_OPUS1216_AUX                    (MM_MEDIAVISION_OPUS1216+7)
  571. /* MM_CYRIX product IDs */
  572. #define  MM_CYRIX_XASYNTH                   1
  573. #define  MM_CYRIX_XAMIDIIN                  2
  574. #define  MM_CYRIX_XAMIDIOUT                 3
  575. #define  MM_CYRIX_XAWAVEIN                  4
  576. #define  MM_CYRIX_XAWAVEOUT                 5
  577. #define  MM_CYRIX_XAAUX                     6
  578. #define  MM_CYRIX_XAMIXER                   7
  579. /* MM_PHILIPS_SPEECH_PROCESSING products IDs */
  580. #define  MM_PHILIPS_ACM_LPCBB               1
  581. /* MM_NETXL product IDs */
  582. #define  MM_NETXL_XLVIDEO                   1
  583. /* MM_ZYXEL product IDs */
  584. #define  MM_ZYXEL_ACM_ADPCM                 1
  585. /* MM_AARDVARK product IDs */
  586. #define  MM_AARDVARK_STUDIO12_WAVEOUT       1
  587. #define  MM_AARDVARK_STUDIO12_WAVEIN        2
  588. #define  MM_AARDVARK_STUDIO88_WAVEOUT       3
  589. #define  MM_AARDVARK_STUDIO88_WAVEIN        4
  590. /* MM_BINTEC product IDs */
  591. #define  MM_BINTEC_TAPI_WAVE                1
  592. /* MM_HEWLETT_PACKARD product IDs */
  593. #define  MM_HEWLETT_PACKARD_CU_CODEC        1
  594. /* MM_MITEL product IDs */
  595. #define  MM_MITEL_TALKTO_LINE_WAVEOUT       100
  596. #define  MM_MITEL_TALKTO_LINE_WAVEIN        101
  597. #define  MM_MITEL_TALKTO_HANDSET_WAVEOUT    102
  598. #define  MM_MITEL_TALKTO_HANDSET_WAVEIN     103
  599. #define  MM_MITEL_TALKTO_BRIDGED_WAVEOUT    104
  600. #define  MM_MITEL_TALKTO_BRIDGED_WAVEIN     105
  601. #define  MM_MITEL_MPA_HANDSET_WAVEOUT       200
  602. #define  MM_MITEL_MPA_HANDSET_WAVEIN        201
  603. #define  MM_MITEL_MPA_HANDSFREE_WAVEOUT     202
  604. #define  MM_MITEL_MPA_HANDSFREE_WAVEIN      203
  605. #define  MM_MITEL_MPA_LINE1_WAVEOUT         204
  606. #define  MM_MITEL_MPA_LINE1_WAVEIN          205
  607. #define  MM_MITEL_MPA_LINE2_WAVEOUT         206
  608. #define  MM_MITEL_MPA_LINE2_WAVEIN          207
  609. #define  MM_MITEL_MEDIAPATH_WAVEOUT         300
  610. #define  MM_MITEL_MEDIAPATH_WAVEIN          301
  611. /*  MM_SNI product IDs */
  612. #define  MM_SNI_ACM_G721                    1
  613. /* MM_EMU product IDs */
  614. #define  MM_EMU_APSSYNTH                    1
  615. #define  MM_EMU_APSMIDIIN                   2
  616. #define  MM_EMU_APSMIDIOUT                  3
  617. #define  MM_EMU_APSWAVEIN                   4
  618. #define  MM_EMU_APSWAVEOUT                  5
  619. /* MM_ARTISOFT product IDs */
  620. #define  MM_ARTISOFT_SBWAVEIN               1       /*  Artisoft sounding Board waveform input  */
  621. #define  MM_ARTISOFT_SBWAVEOUT              2       /*  Artisoft sounding Board waveform output  */
  622. /* MM_TURTLE_BEACH product IDs */
  623. #define  MM_TBS_TROPEZ_WAVEIN               37
  624. #define  MM_TBS_TROPEZ_WAVEOUT              38
  625. #define  MM_TBS_TROPEZ_AUX1                 39
  626. #define  MM_TBS_TROPEZ_AUX2                 40
  627. #define  MM_TBS_TROPEZ_LINE                 41
  628. /* MM_IBM product IDs */
  629. #define  MM_MMOTION_WAVEAUX                 1       /*  IBM M-Motion Auxiliary Device  */
  630. #define  MM_MMOTION_WAVEOUT                 2       /*  IBM M-Motion Waveform output  */
  631. #define  MM_MMOTION_WAVEIN                  3       /*  IBM M-Motion  Waveform Input  */
  632. #define  MM_IBM_PCMCIA_WAVEIN               11      /*  IBM waveform input  */
  633. #define  MM_IBM_PCMCIA_WAVEOUT              12      /*  IBM Waveform output  */
  634. #define  MM_IBM_PCMCIA_SYNTH                13      /*  IBM Midi Synthesis  */
  635. #define  MM_IBM_PCMCIA_MIDIIN               14      /*  IBM external MIDI in  */
  636. #define  MM_IBM_PCMCIA_MIDIOUT              15      /*  IBM external MIDI out  */
  637. #define  MM_IBM_PCMCIA_AUX                  16      /*  IBM auxiliary control  */
  638. #define  MM_IBM_THINKPAD200                 17
  639. #define  MM_IBM_MWAVE_WAVEIN                18
  640. #define  MM_IBM_MWAVE_WAVEOUT               19
  641. #define  MM_IBM_MWAVE_MIXER                 20
  642. #define  MM_IBM_MWAVE_MIDIIN                21
  643. #define  MM_IBM_MWAVE_MIDIOUT               22
  644. #define  MM_IBM_MWAVE_AUX                   23
  645. #define  MM_IBM_WC_MIDIOUT                  30
  646. #define  MM_IBM_WC_WAVEOUT                  31
  647. #define  MM_IBM_WC_MIXEROUT                 33
  648. /* MM_VOCALTEC product IDs */
  649. #define  MM_VOCALTEC_WAVEOUT                1
  650. #define  MM_VOCALTEC_WAVEIN                 2
  651. /* MM_ROLAND product IDs */
  652. #define  MM_ROLAND_RAP10_MIDIOUT            10      /* MM_ROLAND_RAP10 */
  653. #define  MM_ROLAND_RAP10_MIDIIN             11      /* MM_ROLAND_RAP10 */
  654. #define  MM_ROLAND_RAP10_SYNTH              12      /* MM_ROLAND_RAP10 */
  655. #define  MM_ROLAND_RAP10_WAVEOUT            13      /* MM_ROLAND_RAP10 */
  656. #define  MM_ROLAND_RAP10_WAVEIN             14      /* MM_ROLAND_RAP10 */
  657. #define  MM_ROLAND_MPU401_MIDIOUT           15
  658. #define  MM_ROLAND_MPU401_MIDIIN            16
  659. #define  MM_ROLAND_SMPU_MIDIOUTA            17
  660. #define  MM_ROLAND_SMPU_MIDIOUTB            18
  661. #define  MM_ROLAND_SMPU_MIDIINA             19
  662. #define  MM_ROLAND_SMPU_MIDIINB             20
  663. #define  MM_ROLAND_SC7_MIDIOUT              21
  664. #define  MM_ROLAND_SC7_MIDIIN               22
  665. #define  MM_ROLAND_SERIAL_MIDIOUT           23
  666. #define  MM_ROLAND_SERIAL_MIDIIN            24
  667. #define  MM_ROLAND_SCP_MIDIOUT              38
  668. #define  MM_ROLAND_SCP_MIDIIN               39
  669. #define  MM_ROLAND_SCP_WAVEOUT              40
  670. #define  MM_ROLAND_SCP_WAVEIN               41
  671. #define  MM_ROLAND_SCP_MIXER                42
  672. #define  MM_ROLAND_SCP_AUX                  48
  673. /* MM_DSP_SOLUTIONS product IDs */
  674. #define  MM_DSP_SOLUTIONS_WAVEOUT           1
  675. #define  MM_DSP_SOLUTIONS_WAVEIN            2
  676. #define  MM_DSP_SOLUTIONS_SYNTH             3
  677. #define  MM_DSP_SOLUTIONS_AUX               4
  678. /* MM_NEC product IDs */
  679. #define  MM_NEC_73_86_SYNTH                 5
  680. #define  MM_NEC_73_86_WAVEOUT               6
  681. #define  MM_NEC_73_86_WAVEIN                7
  682. #define  MM_NEC_26_SYNTH                    9
  683. #define  MM_NEC_MPU401_MIDIOUT              10
  684. #define  MM_NEC_MPU401_MIDIIN               11
  685. #define  MM_NEC_JOYSTICK                    12
  686. /* MM_WANGLABS product IDs */
  687. #define  MM_WANGLABS_WAVEIN1                1       /*  Input audio wave on CPU board models: Exec 4010, 4030, 3450; PC 251/25c, pc 461/25s , pc 461/33c  */
  688. #define  MM_WANGLABS_WAVEOUT1               2
  689. /* MM_TANDY product IDs */
  690. #define  MM_TANDY_VISWAVEIN                 1
  691. #define  MM_TANDY_VISWAVEOUT                2
  692. #define  MM_TANDY_VISBIOSSYNTH              3
  693. #define  MM_TANDY_SENS_MMAWAVEIN            4
  694. #define  MM_TANDY_SENS_MMAWAVEOUT           5
  695. #define  MM_TANDY_SENS_MMAMIDIIN            6
  696. #define  MM_TANDY_SENS_MMAMIDIOUT           7
  697. #define  MM_TANDY_SENS_VISWAVEOUT           8
  698. #define  MM_TANDY_PSSJWAVEIN                9
  699. #define  MM_TANDY_PSSJWAVEOUT               10
  700. /* MM_ANTEX product IDs */
  701. #define  MM_ANTEX_SX12_WAVEIN               1
  702. #define  MM_ANTEX_SX12_WAVEOUT              2
  703. #define  MM_ANTEX_SX15_WAVEIN               3
  704. #define  MM_ANTEX_SX15_WAVEOUT              4
  705. #define  MM_ANTEX_VP625_WAVEIN              5
  706. #define  MM_ANTEX_VP625_WAVEOUT             6
  707. #define  MM_ANTEX_AUDIOPORT22_WAVEIN        7
  708. #define  MM_ANTEX_AUDIOPORT22_WAVEOUT       8
  709. #define  MM_ANTEX_AUDIOPORT22_FEEDTHRU      9
  710. /* MM_INTEL product IDs */
  711. #define  MM_INTELOPD_WAVEIN                 1       /*  HID2 WaveAudio Driver  */
  712. #define  MM_INTELOPD_WAVEOUT                101     /*  HID2  */
  713. #define  MM_INTELOPD_AUX                    401     /*  HID2 for mixing  */
  714. #define  MM_INTEL_NSPMODEMLINEIN            501
  715. #define  MM_INTEL_NSPMODEMLINEOUT           502
  716. /* MM_VAL product IDs */
  717. #define  MM_VAL_MICROKEY_AP_WAVEIN          1
  718. #define  MM_VAL_MICROKEY_AP_WAVEOUT         2
  719. /* MM_INTERACTIVE product IDs */
  720. #define  MM_INTERACTIVE_WAVEIN              0x45
  721. #define  MM_INTERACTIVE_WAVEOUT             0x45
  722. /* MM_YAMAHA product IDs */
  723. #define  MM_YAMAHA_GSS_SYNTH                0x01
  724. #define  MM_YAMAHA_GSS_WAVEOUT              0x02
  725. #define  MM_YAMAHA_GSS_WAVEIN               0x03
  726. #define  MM_YAMAHA_GSS_MIDIOUT              0x04
  727. #define  MM_YAMAHA_GSS_MIDIIN               0x05
  728. #define  MM_YAMAHA_GSS_AUX                  0x06
  729. #define  MM_YAMAHA_SERIAL_MIDIOUT           0x07
  730. #define  MM_YAMAHA_SERIAL_MIDIIN            0x08
  731. #define  MM_YAMAHA_OPL3SA_WAVEOUT           0x10
  732. #define  MM_YAMAHA_OPL3SA_WAVEIN            0x11
  733. #define  MM_YAMAHA_OPL3SA_FMSYNTH           0x12
  734. #define  MM_YAMAHA_OPL3SA_YSYNTH            0x13
  735. #define  MM_YAMAHA_OPL3SA_MIDIOUT           0x14
  736. #define  MM_YAMAHA_OPL3SA_MIDIIN            0x15
  737. #define  MM_YAMAHA_OPL3SA_MIXER             0x17
  738. #define  MM_YAMAHA_OPL3SA_JOYSTICK          0x18
  739. #define  MM_YAMAHA_YMF724LEG_MIDIOUT        0x19
  740. #define  MM_YAMAHA_YMF724LEG_MIDIIN         0x1a
  741. #define  MM_YAMAHA_YMF724_WAVEOUT           0x1b
  742. #define  MM_YAMAHA_YMF724_WAVEIN            0x1c
  743. #define  MM_YAMAHA_YMF724_MIDIOUT           0x1d
  744. #define  MM_YAMAHA_YMF724_AUX               0x1e
  745. #define  MM_YAMAHA_YMF724_MIXER             0x1f
  746. #define  MM_YAMAHA_YMF724LEG_FMSYNTH        0x20
  747. #define  MM_YAMAHA_YMF724LEG_MIXER          0x21
  748. #define  MM_YAMAHA_SXG_MIDIOUT              0x22
  749. #define  MM_YAMAHA_SXG_WAVEOUT              0x23
  750. #define  MM_YAMAHA_SXG_MIXER                0x24
  751. #define  MM_YAMAHA_ACXG_WAVEIN              0x25
  752. #define  MM_YAMAHA_ACXG_WAVEOUT             0x26
  753. #define  MM_YAMAHA_ACXG_MIDIOUT             0x27
  754. #define  MM_YAMAHA_ACXG_MIXER               0x28
  755. #define  MM_YAMAHA_ACXG_AUX                 0x29
  756. /* MM_EVEREX product IDs */
  757. #define  MM_EVEREX_CARRIER                  1
  758. /* MM_ECHO product IDs */
  759. #define  MM_ECHO_SYNTH                      1
  760. #define  MM_ECHO_WAVEOUT                    2
  761. #define  MM_ECHO_WAVEIN                     3
  762. #define  MM_ECHO_MIDIOUT                    4
  763. #define  MM_ECHO_MIDIIN                     5
  764. #define  MM_ECHO_AUX                        6
  765. /* MM_SIERRA product IDs */
  766. #define  MM_SIERRA_ARIA_MIDIOUT             0x14
  767. #define  MM_SIERRA_ARIA_MIDIIN              0x15
  768. #define  MM_SIERRA_ARIA_SYNTH               0x16
  769. #define  MM_SIERRA_ARIA_WAVEOUT             0x17
  770. #define  MM_SIERRA_ARIA_WAVEIN              0x18
  771. #define  MM_SIERRA_ARIA_AUX                 0x19
  772. #define  MM_SIERRA_ARIA_AUX2                0x20
  773. #define  MM_SIERRA_QUARTET_WAVEIN           0x50
  774. #define  MM_SIERRA_QUARTET_WAVEOUT          0x51
  775. #define  MM_SIERRA_QUARTET_MIDIIN           0x52
  776. #define  MM_SIERRA_QUARTET_MIDIOUT          0x53
  777. #define  MM_SIERRA_QUARTET_SYNTH            0x54
  778. #define  MM_SIERRA_QUARTET_AUX_CD           0x55
  779. #define  MM_SIERRA_QUARTET_AUX_LINE         0x56
  780. #define  MM_SIERRA_QUARTET_AUX_MODEM        0x57
  781. #define  MM_SIERRA_QUARTET_MIXER            0x58
  782. /* MM_CAT product IDs */
  783. #define  MM_CAT_WAVEOUT                     1
  784. /* MM_DSP_GROUP product IDs */
  785. #define  MM_DSP_GROUP_TRUESPEECH            1
  786. /* MM_MELABS product IDs */
  787. #define  MM_MELABS_MIDI2GO                  1
  788. /* MM_ESS product IDs */
  789. #define  MM_ESS_AMWAVEOUT                   0x01
  790. #define  MM_ESS_AMWAVEIN                    0x02
  791. #define  MM_ESS_AMAUX                       0x03
  792. #define  MM_ESS_AMSYNTH                     0x04
  793. #define  MM_ESS_AMMIDIOUT                   0x05
  794. #define  MM_ESS_AMMIDIIN                    0x06
  795. #define  MM_ESS_MIXER                       0x07
  796. #define  MM_ESS_AUX_CD                      0x08
  797. #define  MM_ESS_MPU401_MIDIOUT              0x09
  798. #define  MM_ESS_MPU401_MIDIIN               0x0A
  799. #define  MM_ESS_ES488_WAVEOUT               0x10
  800. #define  MM_ESS_ES488_WAVEIN                0x11
  801. #define  MM_ESS_ES488_MIXER                 0x12
  802. #define  MM_ESS_ES688_WAVEOUT               0x13
  803. #define  MM_ESS_ES688_WAVEIN                0x14
  804. #define  MM_ESS_ES688_MIXER                 0x15
  805. #define  MM_ESS_ES1488_WAVEOUT              0x16
  806. #define  MM_ESS_ES1488_WAVEIN               0x17
  807. #define  MM_ESS_ES1488_MIXER                0x18
  808. #define  MM_ESS_ES1688_WAVEOUT              0x19
  809. #define  MM_ESS_ES1688_WAVEIN               0x1A
  810. #define  MM_ESS_ES1688_MIXER                0x1B
  811. #define  MM_ESS_ES1788_WAVEOUT              0x1C
  812. #define  MM_ESS_ES1788_WAVEIN               0x1D
  813. #define  MM_ESS_ES1788_MIXER                0x1E
  814. #define  MM_ESS_ES1888_WAVEOUT              0x1F
  815. #define  MM_ESS_ES1888_WAVEIN               0x20
  816. #define  MM_ESS_ES1888_MIXER                0x21
  817. #define  MM_ESS_ES1868_WAVEOUT              0x22
  818. #define  MM_ESS_ES1868_WAVEIN               0x23
  819. #define  MM_ESS_ES1868_MIXER                0x24
  820. #define  MM_ESS_ES1878_WAVEOUT              0x25
  821. #define  MM_ESS_ES1878_WAVEIN               0x26
  822. #define  MM_ESS_ES1878_MIXER                0x27
  823. /* MM_CANOPUS product IDs */
  824. #define  MM_CANOPUS_ACM_DVREX               1
  825. /* MM_EPSON product IDs */
  826. #define  MM_EPS_FMSND                       1
  827. /* MM_TRUEVISION product IDs */
  828. #define  MM_TRUEVISION_WAVEIN1              1
  829. #define  MM_TRUEVISION_WAVEOUT1             2
  830. /* MM_AZTECH product IDs */
  831. #define  MM_AZTECH_MIDIOUT                  3
  832. #define  MM_AZTECH_MIDIIN                   4
  833. #define  MM_AZTECH_WAVEIN                   17
  834. #define  MM_AZTECH_WAVEOUT                  18
  835. #define  MM_AZTECH_FMSYNTH                  20
  836. #define  MM_AZTECH_MIXER                    21
  837. #define  MM_AZTECH_PRO16_WAVEIN             33
  838. #define  MM_AZTECH_PRO16_WAVEOUT            34
  839. #define  MM_AZTECH_PRO16_FMSYNTH            38
  840. #define  MM_AZTECH_DSP16_WAVEIN             65
  841. #define  MM_AZTECH_DSP16_WAVEOUT            66
  842. #define  MM_AZTECH_DSP16_FMSYNTH            68
  843. #define  MM_AZTECH_DSP16_WAVESYNTH          70
  844. #define  MM_AZTECH_NOVA16_WAVEIN            71
  845. #define  MM_AZTECH_NOVA16_WAVEOUT           72
  846. #define  MM_AZTECH_NOVA16_MIXER             73
  847. #define  MM_AZTECH_WASH16_WAVEIN            74
  848. #define  MM_AZTECH_WASH16_WAVEOUT           75
  849. #define  MM_AZTECH_WASH16_MIXER             76
  850. #define  MM_AZTECH_AUX_CD                   401
  851. #define  MM_AZTECH_AUX_LINE                 402
  852. #define  MM_AZTECH_AUX_MIC                  403
  853. #define  MM_AZTECH_AUX                      404
  854. /* MM_VIDEOLOGIC product IDs */
  855. #define  MM_VIDEOLOGIC_MSWAVEIN             1
  856. #define  MM_VIDEOLOGIC_MSWAVEOUT            2
  857. /* MM_KORG product IDs */
  858. #define  MM_KORG_PCIF_MIDIOUT               1
  859. #define  MM_KORG_PCIF_MIDIIN                2
  860. #define  MM_KORG_1212IO_MSWAVEIN            3
  861. #define  MM_KORG_1212IO_MSWAVEOUT           4
  862. /* MM_APT product IDs */
  863. #define  MM_APT_ACE100CD                    1
  864. /* MM_ICS product IDs */
  865. #define  MM_ICS_WAVEDECK_WAVEOUT            1       /*  MS WSS compatible card and driver  */
  866. #define  MM_ICS_WAVEDECK_WAVEIN             2
  867. #define  MM_ICS_WAVEDECK_MIXER              3
  868. #define  MM_ICS_WAVEDECK_AUX                4
  869. #define  MM_ICS_WAVEDECK_SYNTH              5
  870. #define  MM_ICS_WAVEDEC_SB_WAVEOUT          6
  871. #define  MM_ICS_WAVEDEC_SB_WAVEIN           7
  872. #define  MM_ICS_WAVEDEC_SB_FM_MIDIOUT       8
  873. #define  MM_ICS_WAVEDEC_SB_MPU401_MIDIOUT   9
  874. #define  MM_ICS_WAVEDEC_SB_MPU401_MIDIIN    10
  875. #define  MM_ICS_WAVEDEC_SB_MIXER            11
  876. #define  MM_ICS_WAVEDEC_SB_AUX              12
  877. #define  MM_ICS_2115_LITE_MIDIOUT           13
  878. #define  MM_ICS_2120_LITE_MIDIOUT           14
  879. /* MM_ITERATEDSYS product IDs */
  880. #define  MM_ITERATEDSYS_FUFCODEC            1
  881. /* MM_METHEUS product IDs */
  882. #define  MM_METHEUS_ZIPPER                  1
  883. /* MM_WINNOV product IDs */
  884. #define  MM_WINNOV_CAVIAR_WAVEIN            1
  885. #define  MM_WINNOV_CAVIAR_WAVEOUT           2
  886. #define  MM_WINNOV_CAVIAR_VIDC              3
  887. #define  MM_WINNOV_CAVIAR_CHAMPAGNE         4       /*  Fourcc is CHAM  */
  888. #define  MM_WINNOV_CAVIAR_YUV8              5       /*  Fourcc is YUV8  */
  889. /* MM_NCR product IDs */
  890. #define  MM_NCR_BA_WAVEIN                   1
  891. #define  MM_NCR_BA_WAVEOUT                  2
  892. #define  MM_NCR_BA_SYNTH                    3
  893. #define  MM_NCR_BA_AUX                      4
  894. #define  MM_NCR_BA_MIXER                    5
  895. /* MM_AST product IDs */
  896. #define  MM_AST_MODEMWAVE_WAVEIN            13
  897. #define  MM_AST_MODEMWAVE_WAVEOUT           14
  898. /* MM_WILLOWPOND product IDs */
  899. #define  MM_WILLOWPOND_FMSYNTH_STEREO       20
  900. #define  MM_WILLOWPOND_MPU401               21
  901. #define  MM_WILLOWPOND_SNDPORT_WAVEIN       100
  902. #define  MM_WILLOWPOND_SNDPORT_WAVEOUT      101
  903. #define  MM_WILLOWPOND_SNDPORT_MIXER        102
  904. #define  MM_WILLOWPOND_SNDPORT_AUX          103
  905. #define  MM_WILLOWPOND_PH_WAVEIN            104
  906. #define  MM_WILLOWPOND_PH_WAVEOUT           105
  907. #define  MM_WILLOWPOND_PH_MIXER             106
  908. #define  MM_WILLOWPOND_PH_AUX               107
  909. #define  MM_WILLOPOND_SNDCOMM_WAVEIN        108
  910. #define  MM_WILLOWPOND_SNDCOMM_WAVEOUT      109
  911. #define  MM_WILLOWPOND_SNDCOMM_MIXER        110
  912. #define  MM_WILLOWPOND_SNDCOMM_AUX          111
  913. #define  MM_WILLOWPOND_GENERIC_WAVEIN       112
  914. #define  MM_WILLOWPOND_GENERIC_WAVEOUT      113
  915. #define  MM_WILLOWPOND_GENERIC_MIXER        114
  916. #define  MM_WILLOWPOND_GENERIC_AUX          115
  917. /* MM_VITEC product IDs */
  918. #define  MM_VITEC_VMAKER                    1
  919. #define  MM_VITEC_VMPRO                     2
  920. /* MM_MOSCOM product IDs */
  921. #define  MM_MOSCOM_VPC2400_IN               1       /*  Four Port Voice Processing / Voice Recognition Board  */
  922. #define  MM_MOSCOM_VPC2400_OUT              2       /*  VPC2400 */
  923. /* MM_SILICONSOFT product IDs */
  924. #define  MM_SILICONSOFT_SC1_WAVEIN          1       /*  Waveform in , high sample rate  */
  925. #define  MM_SILICONSOFT_SC1_WAVEOUT         2       /*  Waveform out , high sample rate  */
  926. #define  MM_SILICONSOFT_SC2_WAVEIN          3       /*  Waveform in 2 channels, high sample rate  */
  927. #define  MM_SILICONSOFT_SC2_WAVEOUT         4       /*  Waveform out 2 channels, high sample rate  */
  928. #define  MM_SILICONSOFT_SOUNDJR2_WAVEOUT    5       /*  Waveform out, self powered, efficient  */
  929. #define  MM_SILICONSOFT_SOUNDJR2PR_WAVEIN   6       /*  Waveform in, self powered, efficient  */
  930. #define  MM_SILICONSOFT_SOUNDJR2PR_WAVEOUT  7       /*  Waveform out 2 channels, self powered, efficient  */
  931. #define  MM_SILICONSOFT_SOUNDJR3_WAVEOUT    8       /*  Waveform in 2 channels, self powered, efficient  */
  932. /* MM_TERRATEC product IDs */
  933. #define  MM_TTEWS_WAVEIN                    1
  934. #define  MM_TTEWS_WAVEOUT                   2
  935. #define  MM_TTEWS_MIDIIN                    3
  936. #define  MM_TTEWS_MIDIOUT                   4
  937. #define  MM_TTEWS_MIDISYNTH                 5
  938. #define  MM_TTEWS_MIDIMONITOR               6
  939. #define  MM_TTEWS_VMIDIIN                   7
  940. #define  MM_TTEWS_VMIDIOUT                  8
  941. #define  MM_TTEWS_AUX                       9
  942. #define  MM_TTEWS_MIXER                     10
  943. /* MM_MEDIASONIC product IDs */
  944. #define  MM_MEDIASONIC_ACM_G723             1
  945. #define  MM_MEDIASONIC_ICOM                 2
  946. #define  MM_ICOM_WAVEIN                     3
  947. #define  MM_ICOM_WAVEOUT                    4
  948. #define  MM_ICOM_MIXER                      5
  949. #define  MM_ICOM_AUX                        6
  950. #define  MM_ICOM_LINE                       7
  951. /*  MM_SANYO product IDs */
  952. #define  MM_SANYO_ACM_LD_ADPCM              1
  953. /* MM_AHEAD product IDs */
  954. #define  MM_AHEAD_MULTISOUND                1
  955. #define  MM_AHEAD_SOUNDBLASTER              2
  956. #define  MM_AHEAD_PROAUDIO                  3
  957. #define  MM_AHEAD_GENERIC                   4
  958. /* MM_OLIVETTI product IDs */
  959. #define  MM_OLIVETTI_WAVEIN                 1
  960. #define  MM_OLIVETTI_WAVEOUT                2
  961. #define  MM_OLIVETTI_MIXER                  3
  962. #define  MM_OLIVETTI_AUX                    4
  963. #define  MM_OLIVETTI_MIDIIN                 5
  964. #define  MM_OLIVETTI_MIDIOUT                6
  965. #define  MM_OLIVETTI_SYNTH                  7
  966. #define  MM_OLIVETTI_JOYSTICK               8
  967. #define  MM_OLIVETTI_ACM_GSM                9
  968. #define  MM_OLIVETTI_ACM_ADPCM              10
  969. #define  MM_OLIVETTI_ACM_CELP               11
  970. #define  MM_OLIVETTI_ACM_SBC                12
  971. #define  MM_OLIVETTI_ACM_OPR                13
  972. /* MM_IOMAGIC product IDs */
  973. #define  MM_IOMAGIC_TEMPO_WAVEOUT           1
  974. #define  MM_IOMAGIC_TEMPO_WAVEIN            2
  975. #define  MM_IOMAGIC_TEMPO_SYNTH             3
  976. #define  MM_IOMAGIC_TEMPO_MIDIOUT           4
  977. #define  MM_IOMAGIC_TEMPO_MXDOUT            5
  978. #define  MM_IOMAGIC_TEMPO_AUXOUT            6
  979. /* MM_MATSUSHITA product IDs */
  980. #define  MM_MATSUSHITA_WAVEIN               1
  981. #define  MM_MATSUSHITA_WAVEOUT              2
  982. #define  MM_MATSUSHITA_FMSYNTH_STEREO       3
  983. #define  MM_MATSUSHITA_MIXER                4
  984. #define  MM_MATSUSHITA_AUX                  5
  985. /* MM_NEWMEDIA product IDs */
  986. #define  MM_NEWMEDIA_WAVJAMMER              1       /*  WSS Compatible sound card.  */
  987. /* MM_LYRRUS product IDs */
  988. #define  MM_LYRRUS_BRIDGE_GUITAR            1
  989. /* MM_OPTI product IDs */
  990. #define  MM_OPTI_M16_FMSYNTH_STEREO         0x0001
  991. #define  MM_OPTI_M16_MIDIIN                 0x0002
  992. #define  MM_OPTI_M16_MIDIOUT                0x0003
  993. #define  MM_OPTI_M16_WAVEIN                 0x0004
  994. #define  MM_OPTI_M16_WAVEOUT                0x0005
  995. #define  MM_OPTI_M16_MIXER                  0x0006
  996. #define  MM_OPTI_M16_AUX                    0x0007
  997. #define  MM_OPTI_P16_FMSYNTH_STEREO         0x0010
  998. #define  MM_OPTI_P16_MIDIIN                 0x0011
  999. #define  MM_OPTI_P16_MIDIOUT                0x0012
  1000. #define  MM_OPTI_P16_WAVEIN                 0x0013
  1001. #define  MM_OPTI_P16_WAVEOUT                0x0014
  1002. #define  MM_OPTI_P16_MIXER                  0x0015
  1003. #define  MM_OPTI_P16_AUX                    0x0016
  1004. #define  MM_OPTI_M32_WAVEIN                 0x0020
  1005. #define  MM_OPTI_M32_WAVEOUT                0x0021
  1006. #define  MM_OPTI_M32_MIDIIN                 0x0022
  1007. #define  MM_OPTI_M32_MIDIOUT                0x0023
  1008. #define  MM_OPTI_M32_SYNTH_STEREO           0x0024
  1009. #define  MM_OPTI_M32_MIXER                  0x0025
  1010. #define  MM_OPTI_M32_AUX                    0x0026
  1011. /* MM_COMPAQ product IDs */
  1012. #define  MM_COMPAQ_BB_WAVEIN                1
  1013. #define  MM_COMPAQ_BB_WAVEOUT               2
  1014. #define  MM_COMPAQ_BB_WAVEAUX               3
  1015. /* MM_MPTUS product IDs */
  1016. #define  MM_MPTUS_SPWAVEOUT                 1       /* Sound Pallette */
  1017. /* MM_LERNOUT_AND_HAUSPIE product IDs */
  1018. #define  MM_LERNOUT_ANDHAUSPIE_LHCODECACM   1
  1019. /* MM_DIGITAL product IDs */
  1020. #define  MM_DIGITAL_AV320_WAVEIN            1       /* Digital Audio Video Compression Board */
  1021. #define  MM_DIGITAL_AV320_WAVEOUT           2       /* Digital Audio Video Compression Board */
  1022. #define  MM_DIGITAL_ACM_G723                3
  1023. #define  MM_DIGITAL_ICM_H263                4
  1024. #define  MM_DIGITAL_ICM_H261                5
  1025. /* MM_MOTU product IDs */
  1026. #define  MM_MOTU_MTP_MIDIOUT_ALL            100
  1027. #define  MM_MOTU_MTP_MIDIIN_1               101
  1028. #define  MM_MOTU_MTP_MIDIOUT_1              101
  1029. #define  MM_MOTU_MTP_MIDIIN_2               102
  1030. #define  MM_MOTU_MTP_MIDIOUT_2              102
  1031. #define  MM_MOTU_MTP_MIDIIN_3               103
  1032. #define  MM_MOTU_MTP_MIDIOUT_3              103
  1033. #define  MM_MOTU_MTP_MIDIIN_4               104
  1034. #define  MM_MOTU_MTP_MIDIOUT_4              104
  1035. #define  MM_MOTU_MTP_MIDIIN_5               105
  1036. #define  MM_MOTU_MTP_MIDIOUT_5              105
  1037. #define  MM_MOTU_MTP_MIDIIN_6               106
  1038. #define  MM_MOTU_MTP_MIDIOUT_6              106
  1039. #define  MM_MOTU_MTP_MIDIIN_7               107
  1040. #define  MM_MOTU_MTP_MIDIOUT_7              107
  1041. #define  MM_MOTU_MTP_MIDIIN_8               108
  1042. #define  MM_MOTU_MTP_MIDIOUT_8              108
  1043. #define  MM_MOTU_MTPII_MIDIOUT_ALL          200
  1044. #define  MM_MOTU_MTPII_MIDIIN_SYNC          200
  1045. #define  MM_MOTU_MTPII_MIDIIN_1             201
  1046. #define  MM_MOTU_MTPII_MIDIOUT_1            201
  1047. #define  MM_MOTU_MTPII_MIDIIN_2             202
  1048. #define  MM_MOTU_MTPII_MIDIOUT_2            202
  1049. #define  MM_MOTU_MTPII_MIDIIN_3             203
  1050. #define  MM_MOTU_MTPII_MIDIOUT_3            203
  1051. #define  MM_MOTU_MTPII_MIDIIN_4             204
  1052. #define  MM_MOTU_MTPII_MIDIOUT_4            204
  1053. #define  MM_MOTU_MTPII_MIDIIN_5             205
  1054. #define  MM_MOTU_MTPII_MIDIOUT_5            205
  1055. #define  MM_MOTU_MTPII_MIDIIN_6             206
  1056. #define  MM_MOTU_MTPII_MIDIOUT_6            206
  1057. #define  MM_MOTU_MTPII_MIDIIN_7             207
  1058. #define  MM_MOTU_MTPII_MIDIOUT_7            207
  1059. #define  MM_MOTU_MTPII_MIDIIN_8             208
  1060. #define  MM_MOTU_MTPII_MIDIOUT_8            208
  1061. #define  MM_MOTU_MTPII_NET_MIDIIN_1         209
  1062. #define  MM_MOTU_MTPII_NET_MIDIOUT_1        209
  1063. #define  MM_MOTU_MTPII_NET_MIDIIN_2         210
  1064. #define  MM_MOTU_MTPII_NET_MIDIOUT_2        210
  1065. #define  MM_MOTU_MTPII_NET_MIDIIN_3         211
  1066. #define  MM_MOTU_MTPII_NET_MIDIOUT_3        211
  1067. #define  MM_MOTU_MTPII_NET_MIDIIN_4         212
  1068. #define  MM_MOTU_MTPII_NET_MIDIOUT_4        212
  1069. #define  MM_MOTU_MTPII_NET_MIDIIN_5         213
  1070. #define  MM_MOTU_MTPII_NET_MIDIOUT_5        213
  1071. #define  MM_MOTU_MTPII_NET_MIDIIN_6         214
  1072. #define  MM_MOTU_MTPII_NET_MIDIOUT_6        214
  1073. #define  MM_MOTU_MTPII_NET_MIDIIN_7         215
  1074. #define  MM_MOTU_MTPII_NET_MIDIOUT_7        215
  1075. #define  MM_MOTU_MTPII_NET_MIDIIN_8         216
  1076. #define  MM_MOTU_MTPII_NET_MIDIOUT_8        216
  1077. #define  MM_MOTU_MXP_MIDIIN_MIDIOUT_ALL     300
  1078. #define  MM_MOTU_MXP_MIDIIN_SYNC            300
  1079. #define  MM_MOTU_MXP_MIDIIN_MIDIIN_1        301
  1080. #define  MM_MOTU_MXP_MIDIIN_MIDIOUT_1       301
  1081. #define  MM_MOTU_MXP_MIDIIN_MIDIIN_2        302
  1082. #define  MM_MOTU_MXP_MIDIIN_MIDIOUT_2       302
  1083. #define  MM_MOTU_MXP_MIDIIN_MIDIIN_3        303
  1084. #define  MM_MOTU_MXP_MIDIIN_MIDIOUT_3       303
  1085. #define  MM_MOTU_MXP_MIDIIN_MIDIIN_4        304
  1086. #define  MM_MOTU_MXP_MIDIIN_MIDIOUT_4       304
  1087. #define  MM_MOTU_MXP_MIDIIN_MIDIIN_5        305
  1088. #define  MM_MOTU_MXP_MIDIIN_MIDIOUT_5       305
  1089. #define  MM_MOTU_MXP_MIDIIN_MIDIIN_6        306
  1090. #define  MM_MOTU_MXP_MIDIIN_MIDIOUT_6       306
  1091. #define  MM_MOTU_MXPMPU_MIDIOUT_ALL         400
  1092. #define  MM_MOTU_MXPMPU_MIDIIN_SYNC         400
  1093. #define  MM_MOTU_MXPMPU_MIDIIN_1            401
  1094. #define  MM_MOTU_MXPMPU_MIDIOUT_1           401
  1095. #define  MM_MOTU_MXPMPU_MIDIIN_2            402
  1096. #define  MM_MOTU_MXPMPU_MIDIOUT_2           402
  1097. #define  MM_MOTU_MXPMPU_MIDIIN_3            403
  1098. #define  MM_MOTU_MXPMPU_MIDIOUT_3           403
  1099. #define  MM_MOTU_MXPMPU_MIDIIN_4            404
  1100. #define  MM_MOTU_MXPMPU_MIDIOUT_4           404
  1101. #define  MM_MOTU_MXPMPU_MIDIIN_5            405
  1102. #define  MM_MOTU_MXPMPU_MIDIOUT_5           405
  1103. #define  MM_MOTU_MXPMPU_MIDIIN_6            406
  1104. #define  MM_MOTU_MXPMPU_MIDIOUT_6           406
  1105. #define  MM_MOTU_MXN_MIDIOUT_ALL            500
  1106. #define  MM_MOTU_MXN_MIDIIN_SYNC            500
  1107. #define  MM_MOTU_MXN_MIDIIN_1               501
  1108. #define  MM_MOTU_MXN_MIDIOUT_1              501
  1109. #define  MM_MOTU_MXN_MIDIIN_2               502
  1110. #define  MM_MOTU_MXN_MIDIOUT_2              502
  1111. #define  MM_MOTU_MXN_MIDIIN_3               503
  1112. #define  MM_MOTU_MXN_MIDIOUT_3              503
  1113. #define  MM_MOTU_MXN_MIDIIN_4               504
  1114. #define  MM_MOTU_MXN_MIDIOUT_4              504
  1115. #define  MM_MOTU_FLYER_MIDI_IN_SYNC         600
  1116. #define  MM_MOTU_FLYER_MIDI_IN_A            601
  1117. #define  MM_MOTU_FLYER_MIDI_OUT_A           601
  1118. #define  MM_MOTU_FLYER_MIDI_IN_B            602
  1119. #define  MM_MOTU_FLYER_MIDI_OUT_B           602
  1120. #define  MM_MOTU_PKX_MIDI_IN_SYNC           700
  1121. #define  MM_MOTU_PKX_MIDI_IN_A              701
  1122. #define  MM_MOTU_PKX_MIDI_OUT_A             701
  1123. #define  MM_MOTU_PKX_MIDI_IN_B              702
  1124. #define  MM_MOTU_PKX_MIDI_OUT_B             702
  1125. #define  MM_MOTU_DTX_MIDI_IN_SYNC           800
  1126. #define  MM_MOTU_DTX_MIDI_IN_A              801
  1127. #define  MM_MOTU_DTX_MIDI_OUT_A             801
  1128. #define  MM_MOTU_DTX_MIDI_IN_B              802
  1129. #define  MM_MOTU_DTX_MIDI_OUT_B             802
  1130. #define  MM_MOTU_MTPAV_MIDIOUT_ALL          900
  1131. #define  MM_MOTU_MTPAV_MIDIIN_SYNC          900
  1132. #define  MM_MOTU_MTPAV_MIDIIN_1             901
  1133. #define  MM_MOTU_MTPAV_MIDIOUT_1            901
  1134. #define  MM_MOTU_MTPAV_MIDIIN_2             902
  1135. #define  MM_MOTU_MTPAV_MIDIOUT_2            902
  1136. #define  MM_MOTU_MTPAV_MIDIIN_3             903
  1137. #define  MM_MOTU_MTPAV_MIDIOUT_3            903
  1138. #define  MM_MOTU_MTPAV_MIDIIN_4             904
  1139. #define  MM_MOTU_MTPAV_MIDIOUT_4            904
  1140. #define  MM_MOTU_MTPAV_MIDIIN_5             905
  1141. #define  MM_MOTU_MTPAV_MIDIOUT_5            905
  1142. #define  MM_MOTU_MTPAV_MIDIIN_6             906
  1143. #define  MM_MOTU_MTPAV_MIDIOUT_6            906
  1144. #define  MM_MOTU_MTPAV_MIDIIN_7             907
  1145. #define  MM_MOTU_MTPAV_MIDIOUT_7            907
  1146. #define  MM_MOTU_MTPAV_MIDIIN_8             908
  1147. #define  MM_MOTU_MTPAV_MIDIOUT_8            908
  1148. #define  MM_MOTU_MTPAV_NET_MIDIIN_1         909
  1149. #define  MM_MOTU_MTPAV_NET_MIDIOUT_1        909
  1150. #define  MM_MOTU_MTPAV_NET_MIDIIN_2         910
  1151. #define  MM_MOTU_MTPAV_NET_MIDIOUT_2        910
  1152. #define  MM_MOTU_MTPAV_NET_MIDIIN_3         911
  1153. #define  MM_MOTU_MTPAV_NET_MIDIOUT_3        911
  1154. #define  MM_MOTU_MTPAV_NET_MIDIIN_4         912
  1155. #define  MM_MOTU_MTPAV_NET_MIDIOUT_4        912
  1156. #define  MM_MOTU_MTPAV_NET_MIDIIN_5         913
  1157. #define  MM_MOTU_MTPAV_NET_MIDIOUT_5        913
  1158. #define  MM_MOTU_MTPAV_NET_MIDIIN_6         914
  1159. #define  MM_MOTU_MTPAV_NET_MIDIOUT_6        914
  1160. #define  MM_MOTU_MTPAV_NET_MIDIIN_7         915
  1161. #define  MM_MOTU_MTPAV_NET_MIDIOUT_7        915
  1162. #define  MM_MOTU_MTPAV_NET_MIDIIN_8         916
  1163. #define  MM_MOTU_MTPAV_NET_MIDIOUT_8        916
  1164. #define  MM_MOTU_MTPAV_MIDIIN_ADAT          917
  1165. #define  MM_MOTU_MTPAV_MIDIOUT_ADAT         917
  1166. #define  MM_MOTU_MXPXT_MIDIIN_SYNC          1000
  1167. #define  MM_MOTU_MXPXT_MIDIOUT_ALL          1000
  1168. #define  MM_MOTU_MXPXT_MIDIIN_1             1001
  1169. #define  MM_MOTU_MXPXT_MIDIOUT_1            1001
  1170. #define  MM_MOTU_MXPXT_MIDIOUT_2            1002
  1171. #define  MM_MOTU_MXPXT_MIDIIN_2             1002
  1172. #define  MM_MOTU_MXPXT_MIDIIN_3             1003
  1173. #define  MM_MOTU_MXPXT_MIDIOUT_3            1003
  1174. #define  MM_MOTU_MXPXT_MIDIIN_4             1004
  1175. #define  MM_MOTU_MXPXT_MIDIOUT_4            1004
  1176. #define  MM_MOTU_MXPXT_MIDIIN_5             1005
  1177. #define  MM_MOTU_MXPXT_MIDIOUT_5            1005
  1178. #define  MM_MOTU_MXPXT_MIDIOUT_6            1006
  1179. #define  MM_MOTU_MXPXT_MIDIIN_6             1006
  1180. #define  MM_MOTU_MXPXT_MIDIOUT_7            1007
  1181. #define  MM_MOTU_MXPXT_MIDIIN_7             1007
  1182. #define  MM_MOTU_MXPXT_MIDIOUT_8            1008
  1183. #define  MM_MOTU_MXPXT_MIDIIN_8             1008
  1184. /* MM_WORKBIT product IDs */
  1185. #define  MM_WORKBIT_MIXER                   1      /* Harmony Mixer */
  1186. #define  MM_WORKBIT_WAVEOUT                 2      /* Harmony Mixer */
  1187. #define  MM_WORKBIT_WAVEIN                  3      /* Harmony Mixer */
  1188. #define  MM_WORKBIT_MIDIIN                  4      /* Harmony Mixer */
  1189. #define  MM_WORKBIT_MIDIOUT                 5      /* Harmony Mixer */
  1190. #define  MM_WORKBIT_FMSYNTH                 6      /* Harmony Mixer */
  1191. #define  MM_WORKBIT_AUX                     7      /* Harmony Mixer */
  1192. #define  MM_WORKBIT_JOYSTICK                8
  1193. /* MM_OSITECH product IDs */
  1194. #define  MM_OSITECH_TRUMPCARD               1       /* Trumpcard */
  1195. /* MM_MIRO product IDs */
  1196. #define  MM_MIRO_MOVIEPRO                   1       /* miroMOVIE pro */
  1197. #define  MM_MIRO_VIDEOD1                    2       /* miroVIDEO D1 */
  1198. #define  MM_MIRO_VIDEODC1TV                 3       /* miroVIDEO DC1 tv */
  1199. #define  MM_MIRO_VIDEOTD                    4       /* miroVIDEO 10/20 TD */
  1200. #define  MM_MIRO_DC30_WAVEOUT               5
  1201. #define  MM_MIRO_DC30_WAVEIN                6
  1202. #define  MM_MIRO_DC30_MIX                   7
  1203. /* MM_ISOLUTION product IDs */
  1204. #define  MM_ISOLUTION_PASCAL                1
  1205. /* MM_ROCKWELL product IDs */
  1206. #define  MM_VOICEMIXER                      1
  1207. #define  ROCKWELL_WA1_WAVEIN                100
  1208. #define  ROCKWELL_WA1_WAVEOUT               101
  1209. #define  ROCKWELL_WA1_SYNTH                 102
  1210. #define  ROCKWELL_WA1_MIXER                 103
  1211. #define  ROCKWELL_WA1_MPU401_IN             104
  1212. #define  ROCKWELL_WA1_MPU401_OUT            105
  1213. #define  ROCKWELL_WA2_WAVEIN                200
  1214. #define  ROCKWELL_WA2_WAVEOUT               201
  1215. #define  ROCKWELL_WA2_SYNTH                 202
  1216. #define  ROCKWELL_WA2_MIXER                 203
  1217. #define  ROCKWELL_WA2_MPU401_IN             204
  1218. #define  ROCKWELL_WA2_MPU401_OUT            205
  1219. /* MM_VOXWARE product IDs */
  1220. #define  MM_VOXWARE_CODEC                   1
  1221. /* MM_NORTHERN_TELECOM product IDs */
  1222. #define  MM_NORTEL_MPXAC_WAVEIN             1       /* MPX Audio Card Wave Input Device */
  1223. #define  MM_NORTEL_MPXAC_WAVEOUT            2       /* MPX Audio Card Wave Output Device */
  1224. /* MM_ADDX product IDs */
  1225. #define  MM_ADDX_PCTV_DIGITALMIX            1       /* MM_ADDX_PCTV_DIGITALMIX */
  1226. #define  MM_ADDX_PCTV_WAVEIN                2       /* MM_ADDX_PCTV_WAVEIN */
  1227. #define  MM_ADDX_PCTV_WAVEOUT               3       /* MM_ADDX_PCTV_WAVEOUT */
  1228. #define  MM_ADDX_PCTV_MIXER                 4       /* MM_ADDX_PCTV_MIXER */
  1229. #define  MM_ADDX_PCTV_AUX_CD                5       /* MM_ADDX_PCTV_AUX_CD */
  1230. #define  MM_ADDX_PCTV_AUX_LINE              6       /* MM_ADDX_PCTV_AUX_LINE */
  1231. /* MM_WILDCAT product IDs */
  1232. #define  MM_WILDCAT_AUTOSCOREMIDIIN         1       /* Autoscore */
  1233. /* MM_RHETOREX product IDs */
  1234. #define  MM_RHETOREX_WAVEIN                 1
  1235. #define  MM_RHETOREX_WAVEOUT                2
  1236. /* MM_BROOKTREE product IDs */
  1237. #define  MM_BTV_WAVEIN                      1       /* Brooktree PCM Wave Audio In */
  1238. #define  MM_BTV_WAVEOUT                     2       /* Brooktree PCM Wave Audio Out */
  1239. #define  MM_BTV_MIDIIN                      3       /* Brooktree MIDI In */
  1240. #define  MM_BTV_MIDIOUT                     4       /* Brooktree MIDI out */
  1241. #define  MM_BTV_MIDISYNTH                   5       /* Brooktree MIDI FM synth */
  1242. #define  MM_BTV_AUX_LINE                    6       /* Brooktree Line Input */
  1243. #define  MM_BTV_AUX_MIC                     7       /* Brooktree Microphone Input */
  1244. #define  MM_BTV_AUX_CD                      8       /* Brooktree CD Input */
  1245. #define  MM_BTV_DIGITALIN                   9       /* Brooktree PCM Wave in with subcode information */
  1246. #define  MM_BTV_DIGITALOUT                  10      /* Brooktree PCM Wave out with subcode information */
  1247. #define  MM_BTV_MIDIWAVESTREAM              11      /* Brooktree WaveStream */
  1248. #define  MM_BTV_MIXER                       12      /* Brooktree WSS Mixer driver */
  1249. /* MM_ENSONIQ product IDs */
  1250. #define  MM_ENSONIQ_SOUNDSCAPE              0x10    /* ENSONIQ Soundscape */
  1251. #define  MM_SOUNDSCAPE_WAVEOUT              MM_ENSONIQ_SOUNDSCAPE+1
  1252. #define  MM_SOUNDSCAPE_WAVEOUT_AUX          MM_ENSONIQ_SOUNDSCAPE+2
  1253. #define  MM_SOUNDSCAPE_WAVEIN               MM_ENSONIQ_SOUNDSCAPE+3
  1254. #define  MM_SOUNDSCAPE_MIDIOUT              MM_ENSONIQ_SOUNDSCAPE+4
  1255. #define  MM_SOUNDSCAPE_MIDIIN               MM_ENSONIQ_SOUNDSCAPE+5
  1256. #define  MM_SOUNDSCAPE_SYNTH                MM_ENSONIQ_SOUNDSCAPE+6
  1257. #define  MM_SOUNDSCAPE_MIXER                MM_ENSONIQ_SOUNDSCAPE+7
  1258. #define  MM_SOUNDSCAPE_AUX                  MM_ENSONIQ_SOUNDSCAPE+8
  1259. /* MM_NVIDIA product IDs */
  1260. #define  MM_NVIDIA_WAVEOUT                  1
  1261. #define  MM_NVIDIA_WAVEIN                   2
  1262. #define  MM_NVIDIA_MIDIOUT                  3
  1263. #define  MM_NVIDIA_MIDIIN                   4
  1264. #define  MM_NVIDIA_GAMEPORT                 5
  1265. #define  MM_NVIDIA_MIXER                    6
  1266. #define  MM_NVIDIA_AUX                      7
  1267. /* MM_OKSORI product IDs */
  1268. #define  MM_OKSORI_BASE                     0                      /* Oksori Base */
  1269. #define  MM_OKSORI_OSR8_WAVEOUT             MM_OKSORI_BASE+1       /* Oksori 8bit Wave out */
  1270. #define  MM_OKSORI_OSR8_WAVEIN              MM_OKSORI_BASE+2       /* Oksori 8bit Wave in */
  1271. #define  MM_OKSORI_OSR16_WAVEOUT            MM_OKSORI_BASE+3       /* Oksori 16 bit Wave out */
  1272. #define  MM_OKSORI_OSR16_WAVEIN             MM_OKSORI_BASE+4       /* Oksori 16 bit Wave in */
  1273. #define  MM_OKSORI_FM_OPL4                  MM_OKSORI_BASE+5       /* Oksori FM Synth Yamaha OPL4 */
  1274. #define  MM_OKSORI_MIX_MASTER               MM_OKSORI_BASE+6       /* Oksori DSP Mixer - Master Volume */
  1275. #define  MM_OKSORI_MIX_WAVE                 MM_OKSORI_BASE+7       /* Oksori DSP Mixer - Wave Volume */
  1276. #define  MM_OKSORI_MIX_FM                   MM_OKSORI_BASE+8       /* Oksori DSP Mixer - FM Volume */
  1277. #define  MM_OKSORI_MIX_LINE                 MM_OKSORI_BASE+9       /* Oksori DSP Mixer - Line Volume */
  1278. #define  MM_OKSORI_MIX_CD                   MM_OKSORI_BASE+10      /* Oksori DSP Mixer - CD Volume */
  1279. #define  MM_OKSORI_MIX_MIC                  MM_OKSORI_BASE+11      /* Oksori DSP Mixer - MIC Volume */
  1280. #define  MM_OKSORI_MIX_ECHO                 MM_OKSORI_BASE+12      /* Oksori DSP Mixer - Echo Volume */
  1281. #define  MM_OKSORI_MIX_AUX1                 MM_OKSORI_BASE+13      /* Oksori AD1848 - AUX1 Volume */
  1282. #define  MM_OKSORI_MIX_LINE1                MM_OKSORI_BASE+14      /* Oksori AD1848 - LINE1 Volume */
  1283. #define  MM_OKSORI_EXT_MIC1                 MM_OKSORI_BASE+15      /* Oksori External - One Mic Connect */
  1284. #define  MM_OKSORI_EXT_MIC2                 MM_OKSORI_BASE+16      /* Oksori External - Two Mic Connect */
  1285. #define  MM_OKSORI_MIDIOUT                  MM_OKSORI_BASE+17      /* Oksori MIDI Out Device */
  1286. #define  MM_OKSORI_MIDIIN                   MM_OKSORI_BASE+18      /* Oksori MIDI In Device */
  1287. #define  MM_OKSORI_MPEG_CDVISION            MM_OKSORI_BASE+19      /* Oksori CD-Vision MPEG Decoder */
  1288. /* MM_DIACOUSTICS product IDs */
  1289. #define  MM_DIACOUSTICS_DRUM_ACTION         1       /* Drum Action */
  1290. /* MM_KAY_ELEMETRICS product IDs */
  1291. #define  MM_KAY_ELEMETRICS_CSL              0x4300
  1292. #define  MM_KAY_ELEMETRICS_CSL_DAT          0x4308
  1293. #define  MM_KAY_ELEMETRICS_CSL_4CHANNEL     0x4309
  1294. /* MM_CRYSTAL product IDs */
  1295. #define  MM_CRYSTAL_CS4232_WAVEIN           1
  1296. #define  MM_CRYSTAL_CS4232_WAVEOUT          2
  1297. #define  MM_CRYSTAL_CS4232_WAVEMIXER        3
  1298. #define  MM_CRYSTAL_CS4232_WAVEAUX_AUX1     4
  1299. #define  MM_CRYSTAL_CS4232_WAVEAUX_AUX2     5
  1300. #define  MM_CRYSTAL_CS4232_WAVEAUX_LINE     6
  1301. #define  MM_CRYSTAL_CS4232_WAVEAUX_MONO     7
  1302. #define  MM_CRYSTAL_CS4232_WAVEAUX_MASTER   8
  1303. #define  MM_CRYSTAL_CS4232_MIDIIN           9
  1304. #define  MM_CRYSTAL_CS4232_MIDIOUT          10
  1305. #define  MM_CRYSTAL_CS4232_INPUTGAIN_AUX1   13
  1306. #define  MM_CRYSTAL_CS4232_INPUTGAIN_LOOP   14
  1307. #define  MM_CRYSTAL_SOUND_FUSION_WAVEIN     21
  1308. #define  MM_CRYSTAL_SOUND_FUSION_WAVEOUT    22
  1309. #define  MM_CRYSTAL_SOUND_FUSION_MIXER      23
  1310. #define  MM_CRYSTAL_SOUND_FUSION_MIDIIN     24
  1311. #define  MM_CRYSTAL_SOUND_FUSION_MIDIOUT    25
  1312. #define  MM_CRYSTAL_SOUND_FUSION_JOYSTICK   26
  1313. /* MM_QUARTERDECK product IDs */
  1314. #define  MM_QUARTERDECK_LHWAVEIN            0      /* Quarterdeck L&H Codec Wave In */
  1315. #define  MM_QUARTERDECK_LHWAVEOUT           1      /* Quarterdeck L&H Codec Wave Out */
  1316. /* MM_TDK product IDs */
  1317. #define  MM_TDK_MW_MIDI_SYNTH               1
  1318. #define  MM_TDK_MW_MIDI_IN                  2
  1319. #define  MM_TDK_MW_MIDI_OUT                 3
  1320. #define  MM_TDK_MW_WAVE_IN                  4
  1321. #define  MM_TDK_MW_WAVE_OUT                 5
  1322. #define  MM_TDK_MW_AUX                      6
  1323. #define  MM_TDK_MW_MIXER                    10
  1324. #define  MM_TDK_MW_AUX_MASTER               100
  1325. #define  MM_TDK_MW_AUX_BASS                 101
  1326. #define  MM_TDK_MW_AUX_TREBLE               102
  1327. #define  MM_TDK_MW_AUX_MIDI_VOL             103
  1328. #define  MM_TDK_MW_AUX_WAVE_VOL             104
  1329. #define  MM_TDK_MW_AUX_WAVE_RVB             105
  1330. #define  MM_TDK_MW_AUX_WAVE_CHR             106
  1331. #define  MM_TDK_MW_AUX_VOL                  107
  1332. #define  MM_TDK_MW_AUX_RVB                  108
  1333. #define  MM_TDK_MW_AUX_CHR                  109
  1334. /* MM_DIGITAL_AUDIO_LABS product IDs */
  1335. #define  MM_DIGITAL_AUDIO_LABS_TC           0x01
  1336. #define  MM_DIGITAL_AUDIO_LABS_DOC          0x02
  1337. #define  MM_DIGITAL_AUDIO_LABS_V8           0x10
  1338. #define  MM_DIGITAL_AUDIO_LABS_CPRO         0x11
  1339. #define  MM_DIGITAL_AUDIO_LABS_VP           0x12
  1340. #define  MM_DIGITAL_AUDIO_LABS_CDLX         0x13
  1341. #define  MM_DIGITAL_AUDIO_LABS_CTDIF        0x14
  1342. /* MM_SEERSYS product IDs */
  1343. #define  MM_SEERSYS_SEERSYNTH               1
  1344. #define  MM_SEERSYS_SEERWAVE                2
  1345. #define  MM_SEERSYS_SEERMIX                 3
  1346. #define  MM_SEERSYS_WAVESYNTH               4
  1347. #define  MM_SEERSYS_WAVESYNTH_WG            5
  1348. #define  MM_SEERSYS_REALITY                 6
  1349. /* MM_OSPREY product IDs */
  1350. #define  MM_OSPREY_1000WAVEIN               1
  1351. #define  MM_OSPREY_1000WAVEOUT              2
  1352. /* MM_SOUNDESIGNS product IDs */
  1353. #define  MM_SOUNDESIGNS_WAVEIN              1
  1354. #define  MM_SOUNDESIGNS_WAVEOUT             2
  1355. /* MM_SPECTRUM_SIGNAL_PROCESSING product IDs */
  1356. #define  MM_SSP_SNDFESWAVEIN                1       /* Sound Festa Wave In Device */
  1357. #define  MM_SSP_SNDFESWAVEOUT               2       /* Sound Festa Wave Out Device */
  1358. #define  MM_SSP_SNDFESMIDIIN                3       /* Sound Festa MIDI In Device */
  1359. #define  MM_SSP_SNDFESMIDIOUT               4       /* Sound Festa MIDI Out Device */
  1360. #define  MM_SSP_SNDFESSYNTH                 5       /* Sound Festa MIDI Synth Device */
  1361. #define  MM_SSP_SNDFESMIX                   6       /* Sound Festa Mixer Device */
  1362. #define  MM_SSP_SNDFESAUX                   7       /* Sound Festa Auxilliary Device */
  1363. /* MM_ECS product IDs */
  1364. #define  MM_ECS_AADF_MIDI_IN                10
  1365. #define  MM_ECS_AADF_MIDI_OUT               11
  1366. #define  MM_ECS_AADF_WAVE2MIDI_IN           12
  1367. /* MM_AMD product IDs */
  1368. #define  MM_AMD_INTERWAVE_WAVEIN            1
  1369. #define  MM_AMD_INTERWAVE_WAVEOUT           2
  1370. #define  MM_AMD_INTERWAVE_SYNTH             3
  1371. #define  MM_AMD_INTERWAVE_MIXER1            4
  1372. #define  MM_AMD_INTERWAVE_MIXER2            5
  1373. #define  MM_AMD_INTERWAVE_JOYSTICK          6
  1374. #define  MM_AMD_INTERWAVE_EX_CD             7
  1375. #define  MM_AMD_INTERWAVE_MIDIIN            8
  1376. #define  MM_AMD_INTERWAVE_MIDIOUT           9
  1377. #define  MM_AMD_INTERWAVE_AUX1              10
  1378. #define  MM_AMD_INTERWAVE_AUX2              11
  1379. #define  MM_AMD_INTERWAVE_AUX_MIC           12
  1380. #define  MM_AMD_INTERWAVE_AUX_CD            13
  1381. #define  MM_AMD_INTERWAVE_MONO_IN           14
  1382. #define  MM_AMD_INTERWAVE_MONO_OUT          15
  1383. #define  MM_AMD_INTERWAVE_EX_TELEPHONY      16
  1384. #define  MM_AMD_INTERWAVE_WAVEOUT_BASE      17
  1385. #define  MM_AMD_INTERWAVE_WAVEOUT_TREBLE    18
  1386. #define  MM_AMD_INTERWAVE_STEREO_ENHANCED   19
  1387. /* MM_COREDYNAMICS product IDs */
  1388. #define  MM_COREDYNAMICS_DYNAMIXHR          1       /* DynaMax Hi-Rez */
  1389. #define  MM_COREDYNAMICS_DYNASONIX_SYNTH    2       /* DynaSonix */
  1390. #define  MM_COREDYNAMICS_DYNASONIX_MIDI_IN  3
  1391. #define  MM_COREDYNAMICS_DYNASONIX_MIDI_OUT 4
  1392. #define  MM_COREDYNAMICS_DYNASONIX_WAVE_IN  5
  1393. #define  MM_COREDYNAMICS_DYNASONIX_WAVE_OUT 6
  1394. #define  MM_COREDYNAMICS_DYNASONIX_AUDIO_IN 7
  1395. #define  MM_COREDYNAMICS_DYNASONIX_AUDIO_OUT    8
  1396. #define  MM_COREDYNAMICS_DYNAGRAFX_VGA      9       /* DynaGrfx */
  1397. #define  MM_COREDYNAMICS_DYNAGRAFX_WAVE_IN  10
  1398. #define  MM_COREDYNAMICS_DYNAGRAFX_WAVE_OUT 11
  1399. /* MM_CANAM product IDs */
  1400. #define  MM_CANAM_CBXWAVEOUT                1
  1401. #define  MM_CANAM_CBXWAVEIN                 2
  1402. /* MM_SOFTSOUND product IDs */
  1403. #define  MM_SOFTSOUND_CODEC                 1
  1404. /* MM_NORRIS product IDs */
  1405. #define  MM_NORRIS_VOICELINK                1
  1406. /* MM_DDD product IDs */
  1407. #define  MM_DDD_MIDILINK_MIDIIN             1
  1408. #define  MM_DDD_MIDILINK_MIDIOUT            2
  1409. /* MM_EUPHONICS product IDs */
  1410. #define  MM_EUPHONICS_AUX_CD                1
  1411. #define  MM_EUPHONICS_AUX_LINE              2
  1412. #define  MM_EUPHONICS_AUX_MASTER            3
  1413. #define  MM_EUPHONICS_AUX_MIC               4
  1414. #define  MM_EUPHONICS_AUX_MIDI              5
  1415. #define  MM_EUPHONICS_AUX_WAVE              6
  1416. #define  MM_EUPHONICS_FMSYNTH_MONO          7
  1417. #define  MM_EUPHONICS_FMSYNTH_STEREO        8
  1418. #define  MM_EUPHONICS_MIDIIN                9
  1419. #define  MM_EUPHONICS_MIDIOUT               10
  1420. #define  MM_EUPHONICS_MIXER                 11
  1421. #define  MM_EUPHONICS_WAVEIN                12
  1422. #define  MM_EUPHONICS_WAVEOUT               13
  1423. #define  MM_EUPHONICS_EUSYNTH               14
  1424. /* MM_CRYSTAL_NET product IDs */
  1425. #define  CRYSTAL_NET_SFM_CODEC              1
  1426. /* MM_CHROMATIC product IDs */
  1427. #define  MM_CHROMATIC_M1                    0x0001
  1428. #define  MM_CHROMATIC_M1_WAVEIN             0x0002
  1429. #define  MM_CHROMATIC_M1_WAVEOUT            0x0003
  1430. #define  MM_CHROMATIC_M1_FMSYNTH            0x0004
  1431. #define  MM_CHROMATIC_M1_MIXER              0x0005
  1432. #define  MM_CHROMATIC_M1_AUX                0x0006
  1433. #define  MM_CHROMATIC_M1_AUX_CD             0x0007
  1434. #define  MM_CHROMATIC_M1_MIDIIN             0x0008
  1435. #define  MM_CHROMATIC_M1_MIDIOUT            0x0009
  1436. #define  MM_CHROMATIC_M1_WTSYNTH            0x0010
  1437. #define  MM_CHROMATIC_M1_MPEGWAVEIN         0x0011
  1438. #define  MM_CHROMATIC_M1_MPEGWAVEOUT        0x0012
  1439. #define  MM_CHROMATIC_M2                    0x0013
  1440. #define  MM_CHROMATIC_M2_WAVEIN             0x0014
  1441. #define  MM_CHROMATIC_M2_WAVEOUT            0x0015
  1442. #define  MM_CHROMATIC_M2_FMSYNTH            0x0016
  1443. #define  MM_CHROMATIC_M2_MIXER              0x0017
  1444. #define  MM_CHROMATIC_M2_AUX                0x0018
  1445. #define  MM_CHROMATIC_M2_AUX_CD             0x0019
  1446. #define  MM_CHROMATIC_M2_MIDIIN             0x0020
  1447. #define  MM_CHROMATIC_M2_MIDIOUT            0x0021
  1448. #define  MM_CHROMATIC_M2_WTSYNTH            0x0022
  1449. #define  MM_CHROMATIC_M2_MPEGWAVEIN         0x0023
  1450. #define  MM_CHROMATIC_M2_MPEGWAVEOUT        0x0024
  1451. /* MM_VIENNASYS product IDs */
  1452. #define  MM_VIENNASYS_TSP_WAVE_DRIVER       1
  1453. /* MM_CONNECTIX product IDs */
  1454. #define  MM_CONNECTIX_VIDEC_CODEC           1
  1455. /* MM_GADGETLABS product IDs */
  1456. #define  MM_GADGETLABS_WAVE44_WAVEIN        1
  1457. #define  MM_GADGETLABS_WAVE44_WAVEOUT       2
  1458. #define  MM_GADGETLABS_WAVE42_WAVEIN        3
  1459. #define  MM_GADGETLABS_WAVE42_WAVEOUT       4
  1460. #define  MM_GADGETLABS_WAVE4_MIDIIN         5
  1461. #define  MM_GADGETLABS_WAVE4_MIDIOUT        6
  1462. /* MM_FRONTIER product IDs */
  1463. #define  MM_FRONTIER_WAVECENTER_MIDIIN      1       /* WaveCenter */
  1464. #define  MM_FRONTIER_WAVECENTER_MIDIOUT     2
  1465. #define  MM_FRONTIER_WAVECENTER_WAVEIN      3
  1466. #define  MM_FRONTIER_WAVECENTER_WAVEOUT     4
  1467. /* MM_VIONA product IDs */
  1468. #define  MM_VIONA_QVINPCI_MIXER             1       /* Q-Motion PCI II/Bravado 2000 */
  1469. #define  MM_VIONA_QVINPCI_WAVEIN            2
  1470. #define  MM_VIONAQVINPCI_WAVEOUT            3
  1471. #define  MM_VIONA_BUSTER_MIXER              4       /* Buster */
  1472. #define  MM_VIONA_CINEMASTER_MIXER          5       /* Cinemaster */
  1473. #define  MM_VIONA_CONCERTO_MIXER            6       /* Concerto */
  1474. /* MM_CASIO product IDs */
  1475. #define  MM_CASIO_WP150_MIDIOUT             1       /* wp150 */
  1476. #define  MM_CASIO_WP150_MIDIIN              2
  1477. #define  MM_CASIO_LSG_MIDIOUT               3
  1478. /* MM_DIAMONDMM product IDs */
  1479. #define  MM_DIMD_PLATFORM                   0       /* Freedom Audio */
  1480. #define  MM_DIMD_DIRSOUND                   1
  1481. #define  MM_DIMD_VIRTMPU                    2
  1482. #define  MM_DIMD_VIRTSB                     3
  1483. #define  MM_DIMD_VIRTJOY                    4