Differences From Artifact [e73903b559a6e2de]:
- File
src/win32/mmsystem.d
- 2015-04-21 10:46:55 - part of checkin [4e2933c620] on branch trunk - Rebased to the latest verson dmd 2.067. Not yet verified the outcome. (user: kinaba) [annotate]
To Artifact [1ee3ecea1f52ad94]:
- File
src/win32/mmsystem.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
4 4 * Windows API header module *
5 5 * *
6 6 * Translated from MinGW Windows headers *
7 7 * *
8 8 * Placed into public domain *
9 9 \***********************************************************************/
10 10 module win32.mmsystem;
11 -pragma(lib, "winmm.lib");
11 +pragma(lib, "winmm");
12 12
13 13 /* The #defines MAKEFOURCC, mmioFOURCC, sndAlias are used to define
14 14 * compile-time constants, so they are implemented as templates.
15 15 */
16 16
17 17 private import win32.w32api, win32.windef, win32.winver;
18 18
................................................................................
168 168 const SND_ALIAS_START=0;
169 169
170 170 template sndAlias(char c0, char c1)
171 171 {
172 172 const DWORD sndAlias = SND_ALIAS_START + c0 | (c1<<8);
173 173 }
174 174
175 -const SND_ALIAS_SYSTEMASTERISK = sndAlias!('S','*');
176 -const SND_ALIAS_SYSTEMQUESTION = sndAlias!('S','?');
177 -const SND_ALIAS_SYSTEMHAND = sndAlias!('S','H');
178 -const SND_ALIAS_SYSTEMEXIT = sndAlias!('S','E');
179 -const SND_ALIAS_SYSTEMSTART = sndAlias!('S','S');
180 -const SND_ALIAS_SYSTEMWELCOME = sndAlias!('S','W');
181 -const SND_ALIAS_SYSTEMEXCLAMATION = sndAlias!('S','!');
182 -const SND_ALIAS_SYSTEMDEFAULT = sndAlias!('S','D');
175 +const SND_ALIAS_SYSTEMASTERISK = sndAlias!('S', '*');
176 +const SND_ALIAS_SYSTEMQUESTION = sndAlias!('S', '?');
177 +const SND_ALIAS_SYSTEMHAND = sndAlias!('S', 'H');
178 +const SND_ALIAS_SYSTEMEXIT = sndAlias!('S', 'E');
179 +const SND_ALIAS_SYSTEMSTART = sndAlias!('S', 'S');
180 +const SND_ALIAS_SYSTEMWELCOME = sndAlias!('S', 'W');
181 +const SND_ALIAS_SYSTEMEXCLAMATION = sndAlias!('S', '!');
182 +const SND_ALIAS_SYSTEMDEFAULT = sndAlias!('S', 'D');
183 183
184 184 enum {
185 185 WAVERR_BADFORMAT = (WAVERR_BASE + 0),
186 186 WAVERR_STILLPLAYING,
187 187 WAVERR_UNPREPARED,
188 188 WAVERR_SYNC, // = WAVERR_BASE + 3;
189 189 WAVERR_LASTERROR = WAVERR_SYNC
................................................................................
445 445 const TIMERR_STRUCT=(TIMERR_BASE+33);
446 446 const TIME_ONESHOT=0;
447 447 const TIME_PERIODIC=1;
448 448 const TIME_CALLBACK_FUNCTION=0;
449 449 const TIME_CALLBACK_EVENT_SET=16;
450 450 const TIME_CALLBACK_EVENT_PULSE=32;
451 451
452 -static if (WINVER >= 0x0501) {
452 +static if (_WIN32_WINNT >= 0x501) {
453 453
454 454 const TIME_KILL_SYNCHRONOUS=0x0100;
455 455
456 456 }
457 457
458 458 const JOYERR_NOERROR = 0;
459 459 const JOYERR_PARMS=(JOYERR_BASE+5);
................................................................................
1002 1002 const MCI_OVLY_WHERE_VIDEO=0x100000;
1003 1003
1004 1004 const NEWTRANSPARENT=3;
1005 1005 const QUERYROPSUPPORT=40;
1006 1006 const SELECTDIB=41;
1007 1007
1008 1008 LONG DIBINDEX(WORD n) {
1009 - return MAKELONG(n,0x10FF);
1009 + return MAKELONG(n, 0x10FF);
1010 1010 }
1011 1011 const CAPS1=94;
1012 1012 const C1_TRANSPARENT=1;
1013 1013
1014 1014 const SEEK_SET=0;
1015 1015 const SEEK_CUR=1;
1016 1016 const SEEK_END=2;
1017 1017
1018 1018 alias DWORD MCIERROR;
1019 1019 alias UINT MCIDEVICEID;
1020 -alias UINT function (MCIDEVICEID,DWORD) YIELDPROC;
1020 +alias UINT function (MCIDEVICEID, DWORD) YIELDPROC;
1021 1021 alias UINT MMVERSION;
1022 1022 alias UINT MMRESULT;
1023 1023
1024 1024 struct MMTIME {
1025 1025 UINT wType;
1026 1026 union {
1027 1027 DWORD ms;
................................................................................
1031 1031 struct smpte {
1032 1032 BYTE hour;
1033 1033 BYTE min;
1034 1034 BYTE sec;
1035 1035 BYTE frame;
1036 1036 BYTE fps;
1037 1037 BYTE dummy;
1038 - BYTE pad[2];
1038 + BYTE[2] pad;
1039 1039 };
1040 1040 struct midi {
1041 1041 DWORD songptrpos;
1042 1042 }
1043 1043 }
1044 1044 }
1045 1045 alias MMTIME* PMMTIME, LPMMTIME;
1046 1046
1047 -alias HANDLE HDRVR;
1047 +alias TypeDef!(HANDLE) HDRVR;
1048 1048
1049 1049 struct DRVCONFIGINFO {
1050 1050 DWORD dwDCISize;
1051 1051 LPCWSTR lpszDCISectionName;
1052 1052 LPCWSTR lpszDCIAliasName;
1053 1053 }
1054 1054 alias DRVCONFIGINFO * PDRVCONFIGINFO, LPDRVCONFIGINFO;
................................................................................
1060 1060 DWORD dnDevNode;
1061 1061 }
1062 1062 alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX, LPDRVCONFIGINFOEX;
1063 1063
1064 1064 extern(Windows):
1065 1065
1066 1066 /+FIXME: I couldn't find these in MSDN.
1067 -alias void function (HDRVR,UINT,DWORD,DWORD,DWORD) DRVCALLBACK;
1068 -LRESULT DRIVERPROC (DWORD,HDRVR,UINT,LPARAM,LPARAM);
1067 +alias void function (HDRVR, UINT, DWORD, DWORD, DWORD) DRVCALLBACK;
1068 +LRESULT DRIVERPROC (DWORD, HDRVR, UINT, LPARAM, LPARAM);
1069 1069 alias DRVCALLBACK* LPDRVCALLBACK, PDRVCALLBACK;
1070 1070
1071 1071 alias DRVCALLBACK WAVECALLBACK;
1072 1072 alias WAVECALLBACK* LPWAVECALLBACK;
1073 1073
1074 1074 alias DRVCALLBACK MIDICALLBACK;
1075 1075 alias MIDICALLBACK* LPMIDICALLBACK;
1076 1076
1077 1077 +/
1078 1078
1079 -alias HANDLE HWAVE;
1080 -alias HANDLE HWAVEIN;
1081 -alias HANDLE HWAVEOUT;
1079 +alias TypeDef!(HANDLE) HWAVE;
1080 +alias TypeDef!(HANDLE) HWAVEIN;
1081 +alias TypeDef!(HANDLE) HWAVEOUT;
1082 1082
1083 1083 alias HWAVEIN* LPHWAVEIN;
1084 1084 alias HWAVEOUT* LPHWAVEOUT;
1085 1085
1086 1086 struct WAVEHDR {
1087 1087 LPSTR lpData;
1088 1088 DWORD dwBufferLength;
................................................................................
1095 1095 }
1096 1096 alias WAVEHDR* PWAVEHDR, LPWAVEHDR;
1097 1097
1098 1098 struct WAVEOUTCAPSA {
1099 1099 WORD wMid;
1100 1100 WORD wPid;
1101 1101 MMVERSION vDriverVersion;
1102 - CHAR szPname[MAXPNAMELEN];
1102 + CHAR[MAXPNAMELEN] szPname;
1103 1103 DWORD dwFormats;
1104 1104 WORD wChannels;
1105 1105 WORD wReserved1;
1106 1106 DWORD dwSupport;
1107 1107 }
1108 1108 alias WAVEOUTCAPSA* PWAVEOUTCAPSA, LPWAVEOUTCAPSA;
1109 1109
1110 1110 struct WAVEOUTCAPSW {
1111 1111 WORD wMid;
1112 1112 WORD wPid;
1113 1113 MMVERSION vDriverVersion;
1114 - WCHAR szPname[MAXPNAMELEN];
1114 + WCHAR[MAXPNAMELEN] szPname;
1115 1115 DWORD dwFormats;
1116 1116 WORD wChannels;
1117 1117 WORD wReserved1;
1118 1118 DWORD dwSupport;
1119 1119 }
1120 1120 alias WAVEOUTCAPSW* PWAVEOUTCAPSW, LPWAVEOUTCAPSW;
1121 1121
1122 1122 struct WAVEINCAPSA {
1123 1123 WORD wMid;
1124 1124 WORD wPid;
1125 1125 MMVERSION vDriverVersion;
1126 - CHAR szPname[MAXPNAMELEN];
1126 + CHAR[MAXPNAMELEN] szPname;
1127 1127 DWORD dwFormats;
1128 1128 WORD wChannels;
1129 1129 WORD wReserved1;
1130 1130 }
1131 1131 alias WAVEINCAPSA* PWAVEINCAPSA, LPWAVEINCAPSA;
1132 1132
1133 1133 struct WAVEINCAPSW {
1134 1134 WORD wMid;
1135 1135 WORD wPid;
1136 1136 MMVERSION vDriverVersion;
1137 - WCHAR szPname[MAXPNAMELEN];
1137 + WCHAR[MAXPNAMELEN] szPname;
1138 1138 DWORD dwFormats;
1139 1139 WORD wChannels;
1140 1140 WORD wReserved1;
1141 1141 }
1142 1142 alias WAVEINCAPSW* PWAVEINCAPSW, LPWAVEINCAPSW;
1143 1143
1144 1144 struct WAVEFORMAT {
................................................................................
1162 1162 DWORD nSamplesPerSec;
1163 1163 DWORD nAvgBytesPerSec;
1164 1164 WORD nBlockAlign;
1165 1165 WORD wBitsPerSample;
1166 1166 WORD cbSize;
1167 1167 }
1168 1168 alias WAVEFORMATEX* PWAVEFORMATEX, LPWAVEFORMATEX;
1169 -alias CPtr!(WAVEFORMATEX) LPCWAVEFORMATEX;
1169 +alias const(WAVEFORMATEX)* LPCWAVEFORMATEX;
1170 1170
1171 -alias HANDLE HMIDI;
1172 -alias HANDLE HMIDIIN;
1173 -alias HANDLE HMIDIOUT;
1174 -alias HANDLE HMIDISTRM;
1171 +alias TypeDef!(HANDLE) HMIDI;
1172 +alias TypeDef!(HANDLE) HMIDIIN;
1173 +alias TypeDef!(HANDLE) HMIDIOUT;
1174 +alias TypeDef!(HANDLE) HMIDISTRM;
1175 1175
1176 1176 alias HMIDI* LPHMIDI;
1177 1177 alias HMIDIIN* LPHMIDIIN;
1178 1178 alias HMIDIOUT* LPHMIDIOUT;
1179 1179 alias HMIDISTRM* LPHMIDISTRM;
1180 1180
1181 -alias WORD PATCHARRAY[MIDIPATCHSIZE];
1181 +alias WORD[MIDIPATCHSIZE] PATCHARRAY;
1182 1182 alias WORD* LPPATCHARRAY;
1183 -alias WORD KEYARRAY[MIDIPATCHSIZE];
1183 +alias WORD[MIDIPATCHSIZE] KEYARRAY;
1184 1184 alias WORD* LPKEYARRAY;
1185 1185
1186 1186 struct MIDIOUTCAPSA {
1187 1187 WORD wMid;
1188 1188 WORD wPid;
1189 1189 MMVERSION vDriverVersion;
1190 - CHAR szPname[MAXPNAMELEN];
1190 + CHAR[MAXPNAMELEN] szPname;
1191 1191 WORD wTechnology;
1192 1192 WORD wVoices;
1193 1193 WORD wNotes;
1194 1194 WORD wChannelMask;
1195 1195 DWORD dwSupport;
1196 1196 }
1197 1197 alias MIDIOUTCAPSA* PMIDIOUTCAPSA, LPMIDIOUTCAPSA;
1198 1198
1199 1199 struct MIDIOUTCAPSW {
1200 1200 WORD wMid;
1201 1201 WORD wPid;
1202 1202 MMVERSION vDriverVersion;
1203 - WCHAR szPname[MAXPNAMELEN];
1203 + WCHAR[MAXPNAMELEN] szPname;
1204 1204 WORD wTechnology;
1205 1205 WORD wVoices;
1206 1206 WORD wNotes;
1207 1207 WORD wChannelMask;
1208 1208 DWORD dwSupport;
1209 1209 }
1210 1210 alias MIDIOUTCAPSW* PMIDIOUTCAPSW, LPMIDIOUTCAPSW;
1211 1211
1212 1212 struct MIDIINCAPSA {
1213 1213 WORD wMid;
1214 1214 WORD wPid;
1215 1215 MMVERSION vDriverVersion;
1216 - CHAR szPname[MAXPNAMELEN];
1216 + CHAR[MAXPNAMELEN] szPname;
1217 1217 DWORD dwSupport;
1218 1218 }
1219 1219 alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA;
1220 1220
1221 1221 struct MIDIINCAPSW {
1222 1222 WORD wMid;
1223 1223 WORD wPid;
1224 1224 MMVERSION vDriverVersion;
1225 - WCHAR szPname[MAXPNAMELEN];
1225 + WCHAR[MAXPNAMELEN] szPname;
1226 1226 DWORD dwSupport;
1227 1227 }
1228 1228 alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW;
1229 1229
1230 1230 struct MIDIHDR {
1231 1231 LPSTR lpData;
1232 1232 DWORD dwBufferLength;
1233 1233 DWORD dwBytesRecorded;
1234 1234 DWORD dwUser;
1235 1235 DWORD dwFlags;
1236 1236 MIDIHDR *lpNext;
1237 1237 DWORD reserved;
1238 1238 DWORD dwOffset;
1239 - DWORD dwReserved[8];
1239 + DWORD[8] dwReserved;
1240 1240 }
1241 1241 alias MIDIHDR* PMIDIHDR, LPMIDIHDR;
1242 1242
1243 1243 struct MIDIEVENT {
1244 1244 DWORD dwDeltaTime;
1245 1245 DWORD dwStreamID;
1246 1246 DWORD dwEvent;
1247 - DWORD dwParms[1];
1247 + DWORD[1] dwParms;
1248 1248 }
1249 1249
1250 1250 struct MIDISTRMBUFFVER {
1251 1251 DWORD dwVersion;
1252 1252 DWORD dwMid;
1253 1253 DWORD dwOEMVersion;
1254 1254 }
................................................................................
1265 1265 }
1266 1266 alias MIDIPROPTEMPO* LPMIDIPROPTEMPO;
1267 1267
1268 1268 struct AUXCAPSA {
1269 1269 WORD wMid;
1270 1270 WORD wPid;
1271 1271 MMVERSION vDriverVersion;
1272 - CHAR szPname[MAXPNAMELEN];
1272 + CHAR[MAXPNAMELEN] szPname;
1273 1273 WORD wTechnology;
1274 1274 WORD wReserved1;
1275 1275 DWORD dwSupport;
1276 1276 }
1277 1277 alias AUXCAPSA* PAUXCAPSA, LPAUXCAPSA;
1278 1278
1279 1279 struct AUXCAPSW {
1280 1280 WORD wMid;
1281 1281 WORD wPid;
1282 1282 MMVERSION vDriverVersion;
1283 - WCHAR szPname[MAXPNAMELEN];
1283 + WCHAR[MAXPNAMELEN] szPname;
1284 1284 WORD wTechnology;
1285 1285 WORD wReserved1;
1286 1286 DWORD dwSupport;
1287 1287 }
1288 1288 alias AUXCAPSW* PAUXCAPSW, LPAUXCAPSW;
1289 1289
1290 -alias HANDLE HMIXEROBJ;
1290 +alias TypeDef!(HANDLE) HMIXEROBJ;
1291 1291 alias HMIXEROBJ* LPHMIXEROBJ;
1292 1292
1293 -alias HANDLE HMIXER;
1293 +alias TypeDef!(HANDLE) HMIXER;
1294 1294 alias HMIXER* LPHMIXER;
1295 1295
1296 1296 struct MIXERCAPSA {
1297 1297 WORD wMid;
1298 1298 WORD wPid;
1299 1299 MMVERSION vDriverVersion;
1300 - CHAR szPname[MAXPNAMELEN];
1300 + CHAR[MAXPNAMELEN] szPname;
1301 1301 DWORD fdwSupport;
1302 1302 DWORD cDestinations;
1303 1303 }
1304 1304 alias MIXERCAPSA* PMIXERCAPSA, LPMIXERCAPSA;
1305 1305
1306 1306 struct MIXERCAPSW {
1307 1307 WORD wMid;
1308 1308 WORD wPid;
1309 1309 MMVERSION vDriverVersion;
1310 - WCHAR szPname[MAXPNAMELEN];
1310 + WCHAR[MAXPNAMELEN] szPname;
1311 1311 DWORD fdwSupport;
1312 1312 DWORD cDestinations;
1313 1313 }
1314 1314 alias MIXERCAPSW* PMIXERCAPSW, LPMIXERCAPSW;
1315 1315
1316 1316 struct MIXERLINEA {
1317 1317 DWORD cbStruct;
................................................................................
1320 1320 DWORD dwLineID;
1321 1321 DWORD fdwLine;
1322 1322 DWORD dwUser;
1323 1323 DWORD dwComponentType;
1324 1324 DWORD cChannels;
1325 1325 DWORD cConnections;
1326 1326 DWORD cControls;
1327 - CHAR szShortName[MIXER_SHORT_NAME_CHARS];
1328 - CHAR szName[MIXER_LONG_NAME_CHARS];
1327 + CHAR[MIXER_SHORT_NAME_CHARS] szShortName;
1328 + CHAR[MIXER_LONG_NAME_CHARS] szName;
1329 1329 struct Target {
1330 1330 DWORD dwType;
1331 1331 DWORD dwDeviceID;
1332 1332 WORD wMid;
1333 1333 WORD wPid;
1334 1334 MMVERSION vDriverVersion;
1335 - CHAR szPname[MAXPNAMELEN];
1335 + CHAR[MAXPNAMELEN] szPname;
1336 1336 }
1337 1337 }
1338 1338 alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA;
1339 1339
1340 1340 struct MIXERLINEW {
1341 1341 DWORD cbStruct;
1342 1342 DWORD dwDestination;
................................................................................
1344 1344 DWORD dwLineID;
1345 1345 DWORD fdwLine;
1346 1346 DWORD dwUser;
1347 1347 DWORD dwComponentType;
1348 1348 DWORD cChannels;
1349 1349 DWORD cConnections;
1350 1350 DWORD cControls;
1351 - WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
1352 - WCHAR szName[MIXER_LONG_NAME_CHARS];
1351 + WCHAR[MIXER_SHORT_NAME_CHARS] szShortName;
1352 + WCHAR[MIXER_LONG_NAME_CHARS] szName;
1353 1353 struct Target {
1354 1354 DWORD dwType;
1355 1355 DWORD dwDeviceID;
1356 1356 WORD wMid;
1357 1357 WORD wPid;
1358 1358 MMVERSION vDriverVersion;
1359 - WCHAR szPname[MAXPNAMELEN];
1359 + WCHAR[MAXPNAMELEN] szPname;
1360 1360 }
1361 1361 }
1362 1362 alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW;
1363 1363
1364 1364 struct MIXERCONTROLA {
1365 1365 DWORD cbStruct;
1366 1366 DWORD dwControlID;
1367 1367 DWORD dwControlType;
1368 1368 DWORD fdwControl;
1369 1369 DWORD cMultipleItems;
1370 - CHAR szShortName[MIXER_SHORT_NAME_CHARS];
1371 - CHAR szName[MIXER_LONG_NAME_CHARS];
1370 + CHAR[MIXER_SHORT_NAME_CHARS] szShortName;
1371 + CHAR[MIXER_LONG_NAME_CHARS] szName;
1372 1372 union _Bounds {
1373 1373 struct {
1374 1374 LONG lMinimum;
1375 1375 LONG lMaximum;
1376 1376 }
1377 1377 struct {
1378 1378 DWORD dwMinimum;
1379 1379 DWORD dwMaximum;
1380 1380 }
1381 - DWORD dwReserved[6];
1381 + DWORD[6] dwReserved;
1382 1382 }
1383 1383 _Bounds Bounds;
1384 1384 union _Metrics {
1385 1385 DWORD cSteps;
1386 1386 DWORD cbCustomData;
1387 - DWORD dwReserved[6];
1387 + DWORD[6] dwReserved;
1388 1388 }
1389 1389 _Metrics Metrics;
1390 1390 }
1391 1391 alias MIXERCONTROLA* PMIXERCONTROLA, LPMIXERCONTROLA;
1392 1392
1393 1393 struct MIXERCONTROLW {
1394 1394 DWORD cbStruct;
1395 1395 DWORD dwControlID;
1396 1396 DWORD dwControlType;
1397 1397 DWORD fdwControl;
1398 1398 DWORD cMultipleItems;
1399 - WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
1400 - WCHAR szName[MIXER_LONG_NAME_CHARS];
1399 + WCHAR[MIXER_SHORT_NAME_CHARS] szShortName;
1400 + WCHAR[MIXER_LONG_NAME_CHARS] szName;
1401 1401 union _Bounds {
1402 1402 struct {
1403 1403 LONG lMinimum;
1404 1404 LONG lMaximum;
1405 1405 }
1406 1406 struct {
1407 1407 DWORD dwMinimum;
1408 1408 DWORD dwMaximum;
1409 1409 }
1410 - DWORD dwReserved[6];
1410 + DWORD[6] dwReserved;
1411 1411 }
1412 1412 _Bounds Bounds;
1413 1413 union _Metrics {
1414 1414 DWORD cSteps;
1415 1415 DWORD cbCustomData;
1416 - DWORD dwReserved[6];
1416 + DWORD[6] dwReserved;
1417 1417 }
1418 1418 _Metrics Metrics;
1419 1419 }
1420 1420
1421 1421 alias MIXERCONTROLW* PMIXERCONTROLW, LPMIXERCONTROLW;
1422 1422
1423 1423 struct MIXERLINECONTROLSA {
................................................................................
1458 1458 PVOID paDetails;
1459 1459 }
1460 1460 alias MIXERCONTROLDETAILS* PMIXERCONTROLDETAILS, LPMIXERCONTROLDETAILS;
1461 1461
1462 1462 struct MIXERCONTROLDETAILS_LISTTEXTA {
1463 1463 DWORD dwParam1;
1464 1464 DWORD dwParam2;
1465 - CHAR szName[MIXER_LONG_NAME_CHARS];
1465 + CHAR[MIXER_LONG_NAME_CHARS] szName;
1466 1466 }
1467 -alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA,LPMIXERCONTROLDETAILS_LISTTEXTA;
1467 +alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA, LPMIXERCONTROLDETAILS_LISTTEXTA;
1468 1468
1469 1469 struct MIXERCONTROLDETAILS_LISTTEXTW {
1470 1470 DWORD dwParam1;
1471 1471 DWORD dwParam2;
1472 - WCHAR szName[MIXER_LONG_NAME_CHARS];
1472 + WCHAR[MIXER_LONG_NAME_CHARS] szName;
1473 1473 }
1474 -alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW,LPMIXERCONTROLDETAILS_LISTTEXTW;
1474 +alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW, LPMIXERCONTROLDETAILS_LISTTEXTW;
1475 1475
1476 1476 struct MIXERCONTROLDETAILS_BOOLEAN {
1477 1477 LONG fValue;
1478 1478 }
1479 1479 alias MIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN, LPMIXERCONTROLDETAILS_BOOLEAN;
1480 1480
1481 1481 struct MIXERCONTROLDETAILS_SIGNED {
................................................................................
1484 1484 alias MIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED, LPMIXERCONTROLDETAILS_SIGNED;
1485 1485
1486 1486 struct MIXERCONTROLDETAILS_UNSIGNED {
1487 1487 DWORD dwValue;
1488 1488 }
1489 1489 alias MIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED, LPMIXERCONTROLDETAILS_UNSIGNED;
1490 1490
1491 -alias void function (UINT,UINT,DWORD,DWORD,DWORD) LPTIMECALLBACK;
1491 +alias void function (UINT, UINT, DWORD, DWORD, DWORD) LPTIMECALLBACK;
1492 1492
1493 1493 struct TIMECAPS {
1494 1494 UINT wPeriodMin;
1495 1495 UINT wPeriodMax;
1496 1496 }
1497 1497 alias TIMECAPS* PTIMECAPS, LPTIMECAPS;
1498 1498
1499 1499 struct JOYCAPSA {
1500 1500 WORD wMid;
1501 1501 WORD wPid;
1502 - CHAR szPname[MAXPNAMELEN];
1502 + CHAR[MAXPNAMELEN] szPname;
1503 + UINT wXmin;
1504 + UINT wXmax;
1505 + UINT wYmin;
1506 + UINT wYmax;
1507 + UINT wZmin;
1508 + UINT wZmax;
1509 + UINT wNumButtons;
1510 + UINT wPeriodMin;
1511 + UINT wPeriodMax;
1512 + UINT wRmin;
1513 + UINT wRmax;
1514 + UINT wUmin;
1515 + UINT wUmax;
1516 + UINT wVmin;
1517 + UINT wVmax;
1518 + UINT wCaps;
1519 + UINT wMaxAxes;
1520 + UINT wNumAxes;
1521 + UINT wMaxButtons;
1522 + CHAR[MAXPNAMELEN] szRegKey;
1523 + CHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD;
1524 +}
1525 +alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA;
1526 +
1527 +struct JOYCAPSW {
1528 + WORD wMid;
1529 + WORD wPid;
1530 + WCHAR[MAXPNAMELEN] szPname;
1503 1531 UINT wXmin;
1504 1532 UINT wXmax;
1505 1533 UINT wYmin;
1506 1534 UINT wYmax;
1507 1535 UINT wZmin;
1508 1536 UINT wZmax;
1509 1537 UINT wNumButtons;
................................................................................
1515 1543 UINT wUmax;
1516 1544 UINT wVmin;
1517 1545 UINT wVmax;
1518 1546 UINT wCaps;
1519 1547 UINT wMaxAxes;
1520 1548 UINT wNumAxes;
1521 1549 UINT wMaxButtons;
1522 - CHAR szRegKey[MAXPNAMELEN];
1523 - CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
1524 -}
1525 -alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA;
1526 -
1527 -struct JOYCAPSW {
1528 - WORD wMid;
1529 - WORD wPid;
1530 - WCHAR szPname[MAXPNAMELEN];
1531 - UINT wXmin;
1532 - UINT wXmax;
1533 - UINT wYmin;
1534 - UINT wYmax;
1535 - UINT wZmin;
1536 - UINT wZmax;
1537 - UINT wNumButtons;
1538 - UINT wPeriodMin;
1539 - UINT wPeriodMax;
1540 - UINT wRmin;
1541 - UINT wRmax;
1542 - UINT wUmin;
1543 - UINT wUmax;
1544 - UINT wVmin;
1545 - UINT wVmax;
1546 - UINT wCaps;
1547 - UINT wMaxAxes;
1548 - UINT wNumAxes;
1549 - UINT wMaxButtons;
1550 - WCHAR szRegKey[MAXPNAMELEN];
1551 - WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
1550 + WCHAR[MAXPNAMELEN] szRegKey;
1551 + WCHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD;
1552 1552 }
1553 1553 alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW;
1554 1554
1555 1555 struct JOYINFO {
1556 1556 UINT wXpos;
1557 1557 UINT wYpos;
1558 1558 UINT wZpos;
................................................................................
1576 1576 DWORD dwReserved2;
1577 1577 }
1578 1578 alias JOYINFOEX* PJOYINFOEX, LPJOYINFOEX;
1579 1579
1580 1580 alias DWORD FOURCC;
1581 1581 alias char* HPSTR;
1582 1582
1583 -alias HANDLE HMMIO;
1583 +alias TypeDef!(HANDLE) HMMIO;
1584 1584
1585 -alias LRESULT function (LPSTR,UINT,LPARAM,LPARAM) LPMMIOPROC;
1585 +alias LRESULT function (LPSTR, UINT, LPARAM, LPARAM) LPMMIOPROC;
1586 1586
1587 1587 struct MMIOINFO {
1588 1588 DWORD dwFlags;
1589 1589 FOURCC fccIOProc;
1590 1590 LPMMIOPROC pIOProc;
1591 1591 UINT wErrorRet;
1592 1592 HTASK htask;
................................................................................
1593 1593 LONG cchBuffer;
1594 1594 HPSTR pchBuffer;
1595 1595 HPSTR pchNext;
1596 1596 HPSTR pchEndRead;
1597 1597 HPSTR pchEndWrite;
1598 1598 LONG lBufOffset;
1599 1599 LONG lDiskOffset;
1600 - DWORD adwInfo[3];
1600 + DWORD[3] adwInfo;
1601 1601 DWORD dwReserved1;
1602 1602 DWORD dwReserved2;
1603 1603 HMMIO hmmio;
1604 1604 }
1605 1605 alias MMIOINFO* PMMIOINFO, LPMMIOINFO;
1606 -alias CPtr!(MMIOINFO) LPCMMIOINFO;
1606 +alias const(MMIOINFO)* LPCMMIOINFO;
1607 1607
1608 1608 struct MMCKINFO {
1609 1609 FOURCC ckid;
1610 1610 DWORD cksize;
1611 1611 FOURCC fccType;
1612 1612 DWORD dwDataOffset;
1613 1613 DWORD dwFlags;
1614 1614 }
1615 1615 alias MMCKINFO* PMMCKINFO, LPMMCKINFO;
1616 -alias CPtr!(MMCKINFO) LPCMMCKINFO;
1616 +alias const(MMCKINFO)* LPCMMCKINFO;
1617 1617
1618 1618 struct MCI_GENERIC_PARMS {
1619 1619 DWORD dwCallback;
1620 1620 }
1621 1621 alias MCI_GENERIC_PARMS* PMCI_GENERIC_PARMS, LPMCI_GENERIC_PARMS;
1622 1622
1623 1623 struct MCI_OPEN_PARMSA {
................................................................................
1812 1812 WORD wReserved4;
1813 1813 WORD wBitsPerSample;
1814 1814 WORD wReserved5;
1815 1815 }
1816 1816 alias MCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS, LPMCI_WAVE_SET_PARMS;
1817 1817
1818 1818 extern (Windows):
1819 -LRESULT CloseDriver(HDRVR,LONG,LONG);
1820 -HDRVR OpenDriver(LPCWSTR,LPCWSTR,LONG);
1821 -LRESULT SendDriverMessage(HDRVR,UINT,LONG,LONG);
1819 +LRESULT CloseDriver(HDRVR, LONG, LONG);
1820 +HDRVR OpenDriver(LPCWSTR, LPCWSTR, LONG);
1821 +LRESULT SendDriverMessage(HDRVR, UINT, LONG, LONG);
1822 1822 HMODULE DrvGetModuleHandle(HDRVR);
1823 1823 HMODULE GetDriverModuleHandle(HDRVR);
1824 -LRESULT DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM);
1824 +LRESULT DefDriverProc(DWORD, HDRVR, UINT, LPARAM, LPARAM);
1825 1825 UINT mmsystemGetVersion();
1826 1826 // FIXME: I believe this next line is a mistake
1827 1827 //alias OutputDebugString OutputDebugStr;
1828 -BOOL sndPlaySoundA(LPCSTR,UINT);
1829 -BOOL sndPlaySoundW(LPCWSTR,UINT);
1830 -BOOL PlaySoundA(LPCSTR,HMODULE,DWORD);
1831 -BOOL PlaySoundW(LPCWSTR,HMODULE,DWORD);
1828 +BOOL sndPlaySoundA(LPCSTR, UINT);
1829 +BOOL sndPlaySoundW(LPCWSTR, UINT);
1830 +BOOL PlaySoundA(LPCSTR, HMODULE, DWORD);
1831 +BOOL PlaySoundW(LPCWSTR, HMODULE, DWORD);
1832 1832 UINT waveOutGetNumDevs();
1833 -MMRESULT waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
1834 -MMRESULT waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
1835 -MMRESULT waveOutGetVolume(HWAVEOUT,PDWORD);
1836 -MMRESULT waveOutSetVolume(HWAVEOUT,DWORD);
1837 -MMRESULT waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
1838 -MMRESULT waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
1839 -MMRESULT waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
1833 +MMRESULT waveOutGetDevCapsA(UINT, LPWAVEOUTCAPSA, UINT);
1834 +MMRESULT waveOutGetDevCapsW(UINT, LPWAVEOUTCAPSW, UINT);
1835 +MMRESULT waveOutGetVolume(HWAVEOUT, PDWORD);
1836 +MMRESULT waveOutSetVolume(HWAVEOUT, DWORD);
1837 +MMRESULT waveOutGetErrorTextA(MMRESULT, LPSTR, UINT);
1838 +MMRESULT waveOutGetErrorTextW(MMRESULT, LPWSTR, UINT);
1839 +MMRESULT waveOutOpen(LPHWAVEOUT, UINT, LPCWAVEFORMATEX, DWORD, DWORD, DWORD);
1840 1840 MMRESULT waveOutClose(HWAVEOUT);
1841 -MMRESULT waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
1842 -MMRESULT waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
1843 -MMRESULT waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
1841 +MMRESULT waveOutPrepareHeader(HWAVEOUT, LPWAVEHDR, UINT);
1842 +MMRESULT waveOutUnprepareHeader(HWAVEOUT, LPWAVEHDR, UINT);
1843 +MMRESULT waveOutWrite(HWAVEOUT, LPWAVEHDR, UINT);
1844 1844 MMRESULT waveOutPause(HWAVEOUT);
1845 1845 MMRESULT waveOutRestart(HWAVEOUT);
1846 1846 MMRESULT waveOutReset(HWAVEOUT);
1847 1847 MMRESULT waveOutBreakLoop(HWAVEOUT);
1848 -MMRESULT waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
1849 -MMRESULT waveOutGetPitch(HWAVEOUT,PDWORD);
1850 -MMRESULT waveOutSetPitch(HWAVEOUT,DWORD);
1851 -MMRESULT waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
1852 -MMRESULT waveOutSetPlaybackRate(HWAVEOUT,DWORD);
1853 -MMRESULT waveOutGetID(HWAVEOUT,LPUINT);
1854 -MMRESULT waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
1848 +MMRESULT waveOutGetPosition(HWAVEOUT, LPMMTIME, UINT);
1849 +MMRESULT waveOutGetPitch(HWAVEOUT, PDWORD);
1850 +MMRESULT waveOutSetPitch(HWAVEOUT, DWORD);
1851 +MMRESULT waveOutGetPlaybackRate(HWAVEOUT, PDWORD);
1852 +MMRESULT waveOutSetPlaybackRate(HWAVEOUT, DWORD);
1853 +MMRESULT waveOutGetID(HWAVEOUT, LPUINT);
1854 +MMRESULT waveOutMessage(HWAVEOUT, UINT, DWORD, DWORD);
1855 1855 UINT waveInGetNumDevs();
1856 -MMRESULT waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
1857 -MMRESULT waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
1858 -MMRESULT waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
1859 -MMRESULT waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
1860 -MMRESULT waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
1856 +MMRESULT waveInGetDevCapsA(UINT, LPWAVEINCAPSA, UINT);
1857 +MMRESULT waveInGetDevCapsW(UINT, LPWAVEINCAPSW, UINT);
1858 +MMRESULT waveInGetErrorTextA(MMRESULT, LPSTR, UINT);
1859 +MMRESULT waveInGetErrorTextW(MMRESULT, LPWSTR, UINT);
1860 +MMRESULT waveInOpen(LPHWAVEIN, UINT, LPCWAVEFORMATEX, DWORD, DWORD, DWORD);
1861 1861 MMRESULT waveInClose(HWAVEIN);
1862 -MMRESULT waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
1863 -MMRESULT waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
1864 -MMRESULT waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
1862 +MMRESULT waveInPrepareHeader(HWAVEIN, LPWAVEHDR, UINT);
1863 +MMRESULT waveInUnprepareHeader(HWAVEIN, LPWAVEHDR, UINT);
1864 +MMRESULT waveInAddBuffer(HWAVEIN, LPWAVEHDR, UINT);
1865 1865 MMRESULT waveInStart(HWAVEIN);
1866 1866 MMRESULT waveInStop(HWAVEIN);
1867 1867 MMRESULT waveInReset(HWAVEIN);
1868 -MMRESULT waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
1869 -MMRESULT waveInGetID(HWAVEIN,LPUINT);
1870 -MMRESULT waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
1868 +MMRESULT waveInGetPosition(HWAVEIN, LPMMTIME, UINT);
1869 +MMRESULT waveInGetID(HWAVEIN, LPUINT);
1870 +MMRESULT waveInMessage(HWAVEIN, UINT, DWORD, DWORD);
1871 1871 UINT midiOutGetNumDevs();
1872 -MMRESULT midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD);
1872 +MMRESULT midiStreamOpen(LPHMIDISTRM, LPUINT, DWORD, DWORD, DWORD, DWORD);
1873 1873 MMRESULT midiStreamClose(HMIDISTRM);
1874 -MMRESULT midiStreamProperty(HMIDISTRM,LPBYTE,DWORD);
1875 -MMRESULT midiStreamPosition(HMIDISTRM,LPMMTIME,UINT);
1876 -MMRESULT midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT);
1874 +MMRESULT midiStreamProperty(HMIDISTRM, LPBYTE, DWORD);
1875 +MMRESULT midiStreamPosition(HMIDISTRM, LPMMTIME, UINT);
1876 +MMRESULT midiStreamOut(HMIDISTRM, LPMIDIHDR, UINT);
1877 1877 MMRESULT midiStreamPause(HMIDISTRM);
1878 1878 MMRESULT midiStreamRestart(HMIDISTRM);
1879 1879 MMRESULT midiStreamStop(HMIDISTRM);
1880 -MMRESULT midiConnect(HMIDI,HMIDIOUT,PVOID);
1881 -MMRESULT midiDisconnect(HMIDI,HMIDIOUT,PVOID);
1882 -MMRESULT midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT);
1883 -MMRESULT midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT);
1884 -MMRESULT midiOutGetVolume(HMIDIOUT,PDWORD);
1885 -MMRESULT midiOutSetVolume(HMIDIOUT,DWORD);
1886 -MMRESULT midiOutGetErrorTextA(MMRESULT,LPSTR,UINT);
1887 -MMRESULT midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
1888 -MMRESULT midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD);
1880 +MMRESULT midiConnect(HMIDI, HMIDIOUT, PVOID);
1881 +MMRESULT midiDisconnect(HMIDI, HMIDIOUT, PVOID);
1882 +MMRESULT midiOutGetDevCapsA(UINT, LPMIDIOUTCAPSA, UINT);
1883 +MMRESULT midiOutGetDevCapsW(UINT, LPMIDIOUTCAPSW, UINT);
1884 +MMRESULT midiOutGetVolume(HMIDIOUT, PDWORD);
1885 +MMRESULT midiOutSetVolume(HMIDIOUT, DWORD);
1886 +MMRESULT midiOutGetErrorTextA(MMRESULT, LPSTR, UINT);
1887 +MMRESULT midiOutGetErrorTextW(MMRESULT, LPWSTR, UINT);
1888 +MMRESULT midiOutOpen(LPHMIDIOUT, UINT, DWORD, DWORD, DWORD);
1889 1889 MMRESULT midiOutClose(HMIDIOUT);
1890 -MMRESULT midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
1891 -MMRESULT midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
1892 -MMRESULT midiOutShortMsg(HMIDIOUT,DWORD);
1893 -MMRESULT midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT);
1890 +MMRESULT midiOutPrepareHeader(HMIDIOUT, LPMIDIHDR, UINT);
1891 +MMRESULT midiOutUnprepareHeader(HMIDIOUT, LPMIDIHDR, UINT);
1892 +MMRESULT midiOutShortMsg(HMIDIOUT, DWORD);
1893 +MMRESULT midiOutLongMsg(HMIDIOUT, LPMIDIHDR, UINT);
1894 1894 MMRESULT midiOutReset(HMIDIOUT);
1895 -MMRESULT midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT);
1896 -MMRESULT midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT);
1897 -MMRESULT midiOutGetID(HMIDIOUT,LPUINT);
1898 -MMRESULT midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
1895 +MMRESULT midiOutCachePatches(HMIDIOUT, UINT, LPWORD, UINT);
1896 +MMRESULT midiOutCacheDrumPatches(HMIDIOUT, UINT, LPWORD, UINT);
1897 +MMRESULT midiOutGetID(HMIDIOUT, LPUINT);
1898 +MMRESULT midiOutMessage(HMIDIOUT, UINT, DWORD, DWORD);
1899 1899 UINT midiInGetNumDevs();
1900 -MMRESULT midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT);
1901 -MMRESULT midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT);
1902 -MMRESULT midiInGetErrorTextA(MMRESULT,LPSTR,UINT);
1903 -MMRESULT midiInGetErrorTextW(MMRESULT,LPWSTR,UINT);
1904 -MMRESULT midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD);
1900 +MMRESULT midiInGetDevCapsA(UINT, LPMIDIINCAPSA, UINT);
1901 +MMRESULT midiInGetDevCapsW(UINT, LPMIDIINCAPSW, UINT);
1902 +MMRESULT midiInGetErrorTextA(MMRESULT, LPSTR, UINT);
1903 +MMRESULT midiInGetErrorTextW(MMRESULT, LPWSTR, UINT);
1904 +MMRESULT midiInOpen(LPHMIDIIN, UINT, DWORD, DWORD, DWORD);
1905 1905 MMRESULT midiInClose(HMIDIIN);
1906 -MMRESULT midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT);
1907 -MMRESULT midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT);
1908 -MMRESULT midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT);
1906 +MMRESULT midiInPrepareHeader(HMIDIIN, LPMIDIHDR, UINT);
1907 +MMRESULT midiInUnprepareHeader(HMIDIIN, LPMIDIHDR, UINT);
1908 +MMRESULT midiInAddBuffer(HMIDIIN, LPMIDIHDR, UINT);
1909 1909 MMRESULT midiInStart(HMIDIIN);
1910 1910 MMRESULT midiInStop(HMIDIIN);
1911 1911 MMRESULT midiInReset(HMIDIIN);
1912 -MMRESULT midiInGetID(HMIDIIN,LPUINT);
1913 -MMRESULT midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
1912 +MMRESULT midiInGetID(HMIDIIN, LPUINT);
1913 +MMRESULT midiInMessage(HMIDIIN, UINT, DWORD, DWORD);
1914 1914 UINT auxGetNumDevs();
1915 -MMRESULT auxGetDevCapsA(UINT,LPAUXCAPSA,UINT);
1916 -MMRESULT auxGetDevCapsW(UINT,LPAUXCAPSW,UINT);
1917 -MMRESULT auxSetVolume(UINT,DWORD);
1918 -MMRESULT auxGetVolume(UINT,PDWORD);
1919 -MMRESULT auxOutMessage(UINT,UINT,DWORD,DWORD);
1915 +MMRESULT auxGetDevCapsA(UINT, LPAUXCAPSA, UINT);
1916 +MMRESULT auxGetDevCapsW(UINT, LPAUXCAPSW, UINT);
1917 +MMRESULT auxSetVolume(UINT, DWORD);
1918 +MMRESULT auxGetVolume(UINT, PDWORD);
1919 +MMRESULT auxOutMessage(UINT, UINT, DWORD, DWORD);
1920 1920 UINT mixerGetNumDevs();
1921 -MMRESULT mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT);
1922 -MMRESULT mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
1923 -MMRESULT mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
1921 +MMRESULT mixerGetDevCapsA(UINT, LPMIXERCAPSA, UINT);
1922 +MMRESULT mixerGetDevCapsW(UINT, LPMIXERCAPSW, UINT);
1923 +MMRESULT mixerOpen(LPHMIXER, UINT, DWORD, DWORD, DWORD);
1924 1924 MMRESULT mixerClose(HMIXER);
1925 -DWORD mixerMessage(HMIXER,UINT,DWORD,DWORD);
1926 -MMRESULT mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
1927 -MMRESULT mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
1928 -MMRESULT mixerGetID(HMIXEROBJ,PUINT,DWORD);
1929 -MMRESULT mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
1930 -MMRESULT mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
1931 -MMRESULT mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
1932 -MMRESULT mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
1933 -MMRESULT mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
1934 -MMRESULT timeGetSystemTime(LPMMTIME,UINT);
1925 +DWORD mixerMessage(HMIXER, UINT, DWORD, DWORD);
1926 +MMRESULT mixerGetLineInfoA(HMIXEROBJ, LPMIXERLINEA, DWORD);
1927 +MMRESULT mixerGetLineInfoW(HMIXEROBJ, LPMIXERLINEW, DWORD);
1928 +MMRESULT mixerGetID(HMIXEROBJ, PUINT, DWORD);
1929 +MMRESULT mixerGetLineControlsA(HMIXEROBJ, LPMIXERLINECONTROLSA, DWORD);
1930 +MMRESULT mixerGetLineControlsW(HMIXEROBJ, LPMIXERLINECONTROLSW, DWORD);
1931 +MMRESULT mixerGetControlDetailsA(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD);
1932 +MMRESULT mixerGetControlDetailsW(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD);
1933 +MMRESULT mixerSetControlDetails(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD);
1934 +MMRESULT timeGetSystemTime(LPMMTIME, UINT);
1935 1935 DWORD timeGetTime();
1936 -MMRESULT timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT);
1936 +MMRESULT timeSetEvent(UINT, UINT, LPTIMECALLBACK, DWORD, UINT);
1937 1937 MMRESULT timeKillEvent(UINT);
1938 -MMRESULT timeGetDevCaps(LPTIMECAPS,UINT);
1938 +MMRESULT timeGetDevCaps(LPTIMECAPS, UINT);
1939 1939 MMRESULT timeBeginPeriod(UINT);
1940 1940 MMRESULT timeEndPeriod(UINT);
1941 1941 UINT joyGetNumDevs();
1942 -MMRESULT joyGetDevCapsA(UINT,LPJOYCAPSA,UINT);
1943 -MMRESULT joyGetDevCapsW(UINT,LPJOYCAPSW,UINT);
1944 -MMRESULT joyGetPos(UINT,LPJOYINFO);
1945 -MMRESULT joyGetPosEx(UINT,LPJOYINFOEX);
1946 -MMRESULT joyGetThreshold(UINT,LPUINT);
1942 +MMRESULT joyGetDevCapsA(UINT, LPJOYCAPSA, UINT);
1943 +MMRESULT joyGetDevCapsW(UINT, LPJOYCAPSW, UINT);
1944 +MMRESULT joyGetPos(UINT, LPJOYINFO);
1945 +MMRESULT joyGetPosEx(UINT, LPJOYINFOEX);
1946 +MMRESULT joyGetThreshold(UINT, LPUINT);
1947 1947 MMRESULT joyReleaseCapture(UINT);
1948 -MMRESULT joySetCapture(HWND,UINT,UINT,BOOL);
1949 -MMRESULT joySetThreshold(UINT,UINT);
1950 -FOURCC mmioStringToFOURCCA(LPCSTR,UINT);
1951 -FOURCC mmioStringToFOURCCW(LPCWSTR,UINT);
1952 -LPMMIOPROC mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD);
1953 -LPMMIOPROC mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD);
1954 -HMMIO mmioOpenA(LPSTR,LPMMIOINFO,DWORD);
1955 -HMMIO mmioOpenW(LPWSTR,LPMMIOINFO,DWORD);
1956 -MMRESULT mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD);
1957 -MMRESULT mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD);
1958 -MMRESULT mmioClose(HMMIO,UINT);
1959 -LONG mmioRead(HMMIO,HPSTR,LONG);
1960 -LONG mmioWrite(HMMIO,LPCSTR,LONG);
1961 -LONG mmioSeek(HMMIO,LONG,int);
1962 -MMRESULT mmioGetInfo(HMMIO,LPMMIOINFO,UINT);
1963 -MMRESULT mmioSetInfo(HMMIO,LPCMMIOINFO,UINT);
1964 -MMRESULT mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
1965 -MMRESULT mmioFlush(HMMIO,UINT);
1966 -MMRESULT mmioAdvance(HMMIO,LPMMIOINFO,UINT);
1967 -LRESULT mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
1968 -MMRESULT mmioDescend(HMMIO,LPMMCKINFO, CPtr!(MMCKINFO),UINT);
1969 -MMRESULT mmioAscend(HMMIO,LPMMCKINFO,UINT);
1970 -MMRESULT mmioCreateChunk(HMMIO,LPMMCKINFO,UINT);
1971 -MCIERROR mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD);
1972 -MCIERROR mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD);
1973 -MCIERROR mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
1974 -MCIERROR mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
1948 +MMRESULT joySetCapture(HWND, UINT, UINT, BOOL);
1949 +MMRESULT joySetThreshold(UINT, UINT);
1950 +FOURCC mmioStringToFOURCCA(LPCSTR, UINT);
1951 +FOURCC mmioStringToFOURCCW(LPCWSTR, UINT);
1952 +LPMMIOPROC mmioInstallIOProcA(FOURCC, LPMMIOPROC, DWORD);
1953 +LPMMIOPROC mmioInstallIOProcW(FOURCC, LPMMIOPROC, DWORD);
1954 +HMMIO mmioOpenA(LPSTR, LPMMIOINFO, DWORD);
1955 +HMMIO mmioOpenW(LPWSTR, LPMMIOINFO, DWORD);
1956 +MMRESULT mmioRenameA(LPCSTR, LPCSTR, LPCMMIOINFO, DWORD);
1957 +MMRESULT mmioRenameW(LPCWSTR, LPCWSTR, LPCMMIOINFO, DWORD);
1958 +MMRESULT mmioClose(HMMIO, UINT);
1959 +LONG mmioRead(HMMIO, HPSTR, LONG);
1960 +LONG mmioWrite(HMMIO, LPCSTR, LONG);
1961 +LONG mmioSeek(HMMIO, LONG, int);
1962 +MMRESULT mmioGetInfo(HMMIO, LPMMIOINFO, UINT);
1963 +MMRESULT mmioSetInfo(HMMIO, LPCMMIOINFO, UINT);
1964 +MMRESULT mmioSetBuffer(HMMIO, LPSTR, LONG, UINT);
1965 +MMRESULT mmioFlush(HMMIO, UINT);
1966 +MMRESULT mmioAdvance(HMMIO, LPMMIOINFO, UINT);
1967 +LRESULT mmioSendMessage(HMMIO, UINT, LPARAM, LPARAM);
1968 +MMRESULT mmioDescend(HMMIO, LPMMCKINFO, const(MMCKINFO)*, UINT);
1969 +MMRESULT mmioAscend(HMMIO, LPMMCKINFO, UINT);
1970 +MMRESULT mmioCreateChunk(HMMIO, LPMMCKINFO, UINT);
1971 +MCIERROR mciSendCommandA(MCIDEVICEID, UINT, DWORD, DWORD);
1972 +MCIERROR mciSendCommandW(MCIDEVICEID, UINT, DWORD, DWORD);
1973 +MCIERROR mciSendStringA(LPCSTR, LPSTR, UINT, HWND);
1974 +MCIERROR mciSendStringW(LPCWSTR, LPWSTR, UINT, HWND);
1975 1975 MCIDEVICEID mciGetDeviceIDA(LPCSTR);
1976 1976 MCIDEVICEID mciGetDeviceIDW(LPCWSTR);
1977 -MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD,LPCSTR);
1978 -MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR);
1979 -BOOL mciGetErrorStringA(MCIERROR,LPSTR,UINT);
1980 -BOOL mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
1981 -BOOL mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
1977 +MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD, LPCSTR);
1978 +MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD, LPCWSTR);
1979 +BOOL mciGetErrorStringA(MCIERROR, LPSTR, UINT);
1980 +BOOL mciGetErrorStringW(MCIERROR, LPWSTR, UINT);
1981 +BOOL mciSetYieldProc(MCIDEVICEID, YIELDPROC, DWORD);
1982 1982 HTASK mciGetCreatorTask(MCIDEVICEID);
1983 -YIELDPROC mciGetYieldProc(MCIDEVICEID,PDWORD);
1983 +YIELDPROC mciGetYieldProc(MCIDEVICEID, PDWORD);
1984 1984
1985 1985 struct MCI_SEQ_SET_PARMS {
1986 1986 DWORD dwCallback;
1987 1987 DWORD dwTimeFormat;
1988 1988 DWORD dwAudio;
1989 1989 DWORD dwTempo;
1990 1990 DWORD dwPort;