Mercurial > projects > ddbg_continued
comparison win32/mmsystem.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
1 /***********************************************************************\ | |
2 * mmsystem.d * | |
3 * * | |
4 * Windows API header module * | |
5 * * | |
6 * Translated from MinGW Windows headers * | |
7 * * | |
8 * Placed into public domain * | |
9 \***********************************************************************/ | |
10 module win32.mmsystem; | |
11 pragma(lib, "winmm.lib"); | |
12 | |
13 /* The #defines MAKEFOURCC, mmioFOURCC, sndAlias are used to define | |
14 * compile-time constants, so they are implemented as templates. | |
15 */ | |
16 | |
17 private import win32.w32api, win32.windef, win32.winver; | |
18 | |
19 align(1): | |
20 | |
21 const MAXPNAMELEN = 32; | |
22 const MAXERRORLENGTH = 256; | |
23 const MAX_JOYSTICKOEMVXDNAME = 260; | |
24 | |
25 const TIME_MS = 1; | |
26 const TIME_SAMPLES = 2; | |
27 const TIME_BYTES = 4; | |
28 const TIME_SMPTE = 8; | |
29 const TIME_MIDI = 16; | |
30 const TIME_TICKS = 32; | |
31 | |
32 template MAKEFOURCC(char c0, char c1, char c2, char c3) | |
33 { | |
34 const DWORD MAKEFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24); | |
35 } | |
36 | |
37 template mmioFOURCC(char c0, char c1, char c2, char c3) | |
38 { | |
39 const DWORD mmioFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24); | |
40 } | |
41 | |
42 enum { | |
43 MM_JOY1MOVE = 0x3A0, | |
44 MM_JOY2MOVE, | |
45 MM_JOY1ZMOVE, | |
46 MM_JOY2ZMOVE, // = 0x3A3 | |
47 MM_JOY1BUTTONDOWN = 0x3B5, | |
48 MM_JOY2BUTTONDOWN, | |
49 MM_JOY1BUTTONUP, | |
50 MM_JOY2BUTTONUP, | |
51 MM_MCINOTIFY, // = 0x3B9 | |
52 MM_WOM_OPEN = 0x3BB, | |
53 MM_WOM_CLOSE, | |
54 MM_WOM_DONE, | |
55 MM_WIM_OPEN, | |
56 MM_WIM_CLOSE, | |
57 MM_WIM_DATA, | |
58 MM_MIM_OPEN, | |
59 MM_MIM_CLOSE, | |
60 MM_MIM_DATA, | |
61 MM_MIM_LONGDATA, | |
62 MM_MIM_ERROR, | |
63 MM_MIM_LONGERROR, | |
64 MM_MOM_OPEN, | |
65 MM_MOM_CLOSE, | |
66 MM_MOM_DONE, // = 0x3C9 | |
67 MM_DRVM_OPEN = 0x3D0, | |
68 MM_DRVM_CLOSE, | |
69 MM_DRVM_DATA, | |
70 MM_DRVM_ERROR, | |
71 MM_STREAM_OPEN, | |
72 MM_STREAM_CLOSE, | |
73 MM_STREAM_DONE, | |
74 MM_STREAM_ERROR, // = 0x3D7 | |
75 MM_MOM_POSITIONCB = 0x3CA, | |
76 MM_MCISIGNAL, | |
77 MM_MIM_MOREDATA, // = 0x3CC | |
78 MM_MIXM_LINE_CHANGE = 0x3D0, | |
79 MM_MIXM_CONTROL_CHANGE = 0x3D1 | |
80 } | |
81 | |
82 const MMSYSERR_BASE = 0; | |
83 const WAVERR_BASE = 32; | |
84 const MIDIERR_BASE = 64; | |
85 const TIMERR_BASE = 96; | |
86 const JOYERR_BASE = 160; | |
87 const MCIERR_BASE = 256; | |
88 const MIXERR_BASE = 1024; | |
89 const MCI_STRING_OFFSET = 512; | |
90 const MCI_VD_OFFSET = 1024; | |
91 const MCI_CD_OFFSET = 1088; | |
92 const MCI_WAVE_OFFSET = 1152; | |
93 const MCI_SEQ_OFFSET = 1216; | |
94 | |
95 enum { | |
96 MMSYSERR_NOERROR = 0, | |
97 MMSYSERR_ERROR = MMSYSERR_BASE+1, | |
98 MMSYSERR_BADDEVICEID, | |
99 MMSYSERR_NOTENABLED, | |
100 MMSYSERR_ALLOCATED, | |
101 MMSYSERR_INVALHANDLE, | |
102 MMSYSERR_NODRIVER, | |
103 MMSYSERR_NOMEM, | |
104 MMSYSERR_NOTSUPPORTED, | |
105 MMSYSERR_BADERRNUM, | |
106 MMSYSERR_INVALFLAG, | |
107 MMSYSERR_INVALPARAM, | |
108 MMSYSERR_HANDLEBUSY, | |
109 MMSYSERR_INVALIDALIAS, | |
110 MMSYSERR_BADDB, | |
111 MMSYSERR_KEYNOTFOUND, | |
112 MMSYSERR_READERROR, | |
113 MMSYSERR_WRITEERROR, | |
114 MMSYSERR_DELETEERROR, | |
115 MMSYSERR_VALNOTFOUND, | |
116 MMSYSERR_NODRIVERCB, // = MMSYSERR_BASE+20 | |
117 MMSYSERR_LASTERROR = MMSYSERR_NODRIVERCB | |
118 } | |
119 | |
120 enum { | |
121 DRV_LOAD = 1, | |
122 DRV_ENABLE, | |
123 DRV_OPEN, | |
124 DRV_CLOSE, | |
125 DRV_DISABLE, | |
126 DRV_FREE, | |
127 DRV_CONFIGURE, | |
128 DRV_QUERYCONFIGURE, | |
129 DRV_INSTALL, | |
130 DRV_REMOVE, | |
131 DRV_EXITSESSION, | |
132 DRV_POWER | |
133 } | |
134 | |
135 const DRV_RESERVED = 0x800; | |
136 const DRV_USER = 0x4000; | |
137 | |
138 const DRVCNF_CANCEL = 0; | |
139 const DRVCNF_OK = 1; | |
140 const DRVCNF_RESTART = 2; | |
141 const DRV_CANCEL = DRVCNF_CANCEL; | |
142 const DRV_OK = DRVCNF_OK; | |
143 const DRV_RESTART = DRVCNF_RESTART; | |
144 const DRV_MCI_FIRST = DRV_RESERVED; | |
145 const DRV_MCI_LAST = DRV_RESERVED + 0xFFF; | |
146 | |
147 const CALLBACK_TYPEMASK = 0x70000; | |
148 const CALLBACK_NULL = 0; | |
149 const CALLBACK_WINDOW = 0x10000; | |
150 const CALLBACK_TASK = 0x20000; | |
151 const CALLBACK_FUNCTION = 0x30000; | |
152 const CALLBACK_THREAD = CALLBACK_TASK; | |
153 const CALLBACK_EVENT = 0x50000; | |
154 | |
155 const SND_SYNC=0; | |
156 const SND_ASYNC=1; | |
157 const SND_NODEFAULT=2; | |
158 const SND_MEMORY=4; | |
159 const SND_LOOP=8; | |
160 const SND_NOSTOP=16; | |
161 const SND_NOWAIT=0x2000; | |
162 const SND_ALIAS=0x10000; | |
163 const SND_ALIAS_ID=0x110000; | |
164 const SND_FILENAME=0x20000; | |
165 const SND_RESOURCE=0x40004; | |
166 const SND_PURGE=0x40; | |
167 const SND_APPLICATION=0x80; | |
168 const SND_ALIAS_START=0; | |
169 | |
170 template sndAlias(char c0, char c1) | |
171 { | |
172 const DWORD sndAlias = SND_ALIAS_START + c0 | (c1<<8); | |
173 } | |
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'); | |
183 | |
184 enum { | |
185 WAVERR_BADFORMAT = (WAVERR_BASE + 0), | |
186 WAVERR_STILLPLAYING, | |
187 WAVERR_UNPREPARED, | |
188 WAVERR_SYNC, // = WAVERR_BASE + 3; | |
189 WAVERR_LASTERROR = WAVERR_SYNC | |
190 } | |
191 | |
192 const WOM_OPEN = MM_WOM_OPEN; | |
193 const WOM_CLOSE = MM_WOM_CLOSE; | |
194 const WOM_DONE = MM_WOM_DONE; | |
195 const WIM_OPEN = MM_WIM_OPEN; | |
196 const WIM_CLOSE = MM_WIM_CLOSE; | |
197 const WIM_DATA = MM_WIM_DATA; | |
198 | |
199 const UINT WAVE_MAPPER= -1; // FIXME: This doesn't make sense! | |
200 const WAVE_FORMAT_QUERY=1; | |
201 const WAVE_ALLOWSYNC=2; | |
202 const WAVE_MAPPED=4; | |
203 const WAVE_FORMAT_DIRECT=8; | |
204 const WAVE_FORMAT_DIRECT_QUERY=(WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT); | |
205 const WHDR_DONE=1; | |
206 const WHDR_PREPARED=2; | |
207 const WHDR_BEGINLOOP=4; | |
208 const WHDR_ENDLOOP=8; | |
209 const WHDR_INQUEUE=16; | |
210 | |
211 const WAVECAPS_PITCH=1; | |
212 const WAVECAPS_PLAYBACKRATE=2; | |
213 const WAVECAPS_VOLUME=4; | |
214 const WAVECAPS_LRVOLUME=8; | |
215 const WAVECAPS_SYNC=16; | |
216 const WAVECAPS_SAMPLEACCURATE=32; | |
217 const WAVECAPS_DIRECTSOUND=64; | |
218 | |
219 const WAVE_INVALIDFORMAT=0; | |
220 const WAVE_FORMAT_1M08=1; | |
221 const WAVE_FORMAT_1S08=2; | |
222 const WAVE_FORMAT_1M16=4; | |
223 const WAVE_FORMAT_1S16=8; | |
224 const WAVE_FORMAT_2M08=16; | |
225 const WAVE_FORMAT_2S08=32; | |
226 const WAVE_FORMAT_2M16=64; | |
227 const WAVE_FORMAT_2S16=128; | |
228 const WAVE_FORMAT_4M08=256; | |
229 const WAVE_FORMAT_4S08=512; | |
230 const WAVE_FORMAT_4M16=1024; | |
231 const WAVE_FORMAT_4S16=2048; | |
232 const WAVE_FORMAT_PCM=1; | |
233 | |
234 enum { | |
235 MIDIERR_UNPREPARED = MIDIERR_BASE, | |
236 MIDIERR_STILLPLAYING, | |
237 MIDIERR_NOMAP, | |
238 MIDIERR_NOTREADY, | |
239 MIDIERR_NODEVICE, | |
240 MIDIERR_INVALIDSETUP, | |
241 MIDIERR_BADOPENMODE, | |
242 MIDIERR_DONT_CONTINUE, // = MIDIERR_BASE+7 | |
243 MIDIERR_LASTERROR = MIDIERR_DONT_CONTINUE | |
244 } | |
245 | |
246 const MIDIPATCHSIZE=128; | |
247 | |
248 const MIM_OPEN=MM_MIM_OPEN; | |
249 const MIM_CLOSE=MM_MIM_CLOSE; | |
250 const MIM_DATA=MM_MIM_DATA; | |
251 const MIM_LONGDATA=MM_MIM_LONGDATA; | |
252 const MIM_ERROR=MM_MIM_ERROR; | |
253 const MIM_LONGERROR=MM_MIM_LONGERROR; | |
254 const MOM_OPEN=MM_MOM_OPEN; | |
255 const MOM_CLOSE=MM_MOM_CLOSE; | |
256 const MOM_DONE=MM_MOM_DONE; | |
257 const MIM_MOREDATA=MM_MIM_MOREDATA; | |
258 const MOM_POSITIONCB=MM_MOM_POSITIONCB; | |
259 | |
260 const UINT MIDIMAPPER= -1; // FIXME: uint is nonsense for this! | |
261 const UINT MIDI_MAPPER= -1; // FIXME: uint is nonsense for this! | |
262 const MIDI_IO_STATUS=32; | |
263 const MIDI_CACHE_ALL=1; | |
264 const MIDI_CACHE_BESTFIT=2; | |
265 const MIDI_CACHE_QUERY=3; | |
266 const MIDI_UNCACHE=4; | |
267 const MOD_MIDIPORT=1; | |
268 const MOD_SYNTH=2; | |
269 const MOD_SQSYNTH=3; | |
270 const MOD_FMSYNTH=4; | |
271 const MOD_MAPPER=5; | |
272 const MIDICAPS_VOLUME=1; | |
273 const MIDICAPS_LRVOLUME=2; | |
274 const MIDICAPS_CACHE=4; | |
275 const MIDICAPS_STREAM=8; | |
276 const MHDR_DONE=1; | |
277 const MHDR_PREPARED=2; | |
278 const MHDR_INQUEUE=4; | |
279 const MHDR_ISSTRM=8; | |
280 const MEVT_F_SHORT=0; | |
281 const MEVT_F_LONG=0x80000000; | |
282 const MEVT_F_CALLBACK=0x40000000; | |
283 | |
284 BYTE MEVT_EVENTTYPE(DWORD x) { return cast(BYTE)((x>>24) &0xFF); } | |
285 DWORD MEVT_EVENTPARM(DWORD x) { return x & 0xFFFFFF; } | |
286 | |
287 const MEVT_SHORTMSG=0; | |
288 const MEVT_TEMPO=1; | |
289 const MEVT_NOP=2; | |
290 | |
291 const BYTE MEVT_LONGMSG = 0x80; | |
292 const BYTE MEVT_COMMENT = 0x82; | |
293 const BYTE MEVT_VERSION = 0x84; | |
294 | |
295 const MIDISTRM_ERROR = -2; | |
296 | |
297 const MIDIPROP_SET = 0x80000000; | |
298 const MIDIPROP_GET = 0x40000000; | |
299 const MIDIPROP_TIMEDIV = 1; | |
300 const MIDIPROP_TEMPO = 2; | |
301 | |
302 const UINT AUX_MAPPER = -1; | |
303 | |
304 const AUXCAPS_CDAUDIO=1; | |
305 const AUXCAPS_AUXIN=2; | |
306 const AUXCAPS_VOLUME=1; | |
307 const AUXCAPS_LRVOLUME=2; | |
308 const MIXER_SHORT_NAME_CHARS=16; | |
309 const MIXER_LONG_NAME_CHARS=64; | |
310 const MIXERR_INVALLINE=MIXERR_BASE; | |
311 const MIXERR_INVALCONTROL=(MIXERR_BASE+1); | |
312 const MIXERR_INVALVALUE=(MIXERR_BASE+2); | |
313 const MIXERR_LASTERROR=(MIXERR_BASE+2); | |
314 | |
315 const MIXER_OBJECTF_HANDLE=0x80000000; | |
316 const MIXER_OBJECTF_MIXER=0; | |
317 const MIXER_OBJECTF_HMIXER=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER); | |
318 const MIXER_OBJECTF_WAVEOUT=0x10000000; | |
319 const MIXER_OBJECTF_HWAVEOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT); | |
320 const MIXER_OBJECTF_WAVEIN=0x20000000; | |
321 const MIXER_OBJECTF_HWAVEIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN); | |
322 const MIXER_OBJECTF_MIDIOUT=0x30000000; | |
323 const MIXER_OBJECTF_HMIDIOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT); | |
324 const MIXER_OBJECTF_MIDIIN=0x40000000; | |
325 const MIXER_OBJECTF_HMIDIIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN); | |
326 const MIXER_OBJECTF_AUX=0x50000000; | |
327 | |
328 const MIXERLINE_LINEF_ACTIVE=1; | |
329 const MIXERLINE_LINEF_DISCONNECTED=0x8000; | |
330 const MIXERLINE_LINEF_SOURCE=0x80000000; | |
331 | |
332 const MIXERLINE_COMPONENTTYPE_DST_FIRST=0; | |
333 const MIXERLINE_COMPONENTTYPE_DST_UNDEFINED=MIXERLINE_COMPONENTTYPE_DST_FIRST; | |
334 const MIXERLINE_COMPONENTTYPE_DST_DIGITAL=(MIXERLINE_COMPONENTTYPE_DST_FIRST+1); | |
335 const MIXERLINE_COMPONENTTYPE_DST_LINE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+2); | |
336 const MIXERLINE_COMPONENTTYPE_DST_MONITOR=(MIXERLINE_COMPONENTTYPE_DST_FIRST+3); | |
337 const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS=(MIXERLINE_COMPONENTTYPE_DST_FIRST+4); | |
338 const MIXERLINE_COMPONENTTYPE_DST_HEADPHONES=(MIXERLINE_COMPONENTTYPE_DST_FIRST+5); | |
339 const MIXERLINE_COMPONENTTYPE_DST_TELEPHONE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+6); | |
340 const MIXERLINE_COMPONENTTYPE_DST_WAVEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+7); | |
341 const MIXERLINE_COMPONENTTYPE_DST_VOICEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8); | |
342 const MIXERLINE_COMPONENTTYPE_DST_LAST=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8); | |
343 const MIXERLINE_COMPONENTTYPE_SRC_FIRST=0x1000; | |
344 const MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED=MIXERLINE_COMPONENTTYPE_SRC_FIRST; | |
345 const MIXERLINE_COMPONENTTYPE_SRC_DIGITAL=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+1); | |
346 const MIXERLINE_COMPONENTTYPE_SRC_LINE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+2); | |
347 const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+3); | |
348 const MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+4); | |
349 const MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+5); | |
350 const MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+6); | |
351 const MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+7); | |
352 const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+8); | |
353 const MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+9); | |
354 const MIXERLINE_COMPONENTTYPE_SRC_ANALOG=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10); | |
355 const MIXERLINE_COMPONENTTYPE_SRC_LAST=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10); | |
356 | |
357 enum { | |
358 MIXERLINE_TARGETTYPE_UNDEFINED = 0, | |
359 MIXERLINE_TARGETTYPE_WAVEOUT, | |
360 MIXERLINE_TARGETTYPE_WAVEIN, | |
361 MIXERLINE_TARGETTYPE_MIDIOUT, | |
362 MIXERLINE_TARGETTYPE_MIDIIN, | |
363 MIXERLINE_TARGETTYPE_AUX // =5 | |
364 } | |
365 | |
366 const MIXER_GETLINEINFOF_DESTINATION=0; | |
367 const MIXER_GETLINEINFOF_SOURCE=1; | |
368 const MIXER_GETLINEINFOF_LINEID=2; | |
369 const MIXER_GETLINEINFOF_COMPONENTTYPE=3; | |
370 const MIXER_GETLINEINFOF_TARGETTYPE=4; | |
371 const MIXER_GETLINEINFOF_QUERYMASK=15; | |
372 | |
373 const MIXERCONTROL_CONTROLF_UNIFORM=1; | |
374 const MIXERCONTROL_CONTROLF_MULTIPLE=2; | |
375 const MIXERCONTROL_CONTROLF_DISABLED=0x80000000; | |
376 const MIXERCONTROL_CT_CLASS_MASK=0xF0000000; | |
377 const MIXERCONTROL_CT_CLASS_CUSTOM=0; | |
378 const MIXERCONTROL_CT_CLASS_METER=0x10000000; | |
379 const MIXERCONTROL_CT_CLASS_SWITCH=0x20000000; | |
380 const MIXERCONTROL_CT_CLASS_NUMBER=0x30000000; | |
381 const MIXERCONTROL_CT_CLASS_SLIDER=0x40000000; | |
382 const MIXERCONTROL_CT_CLASS_FADER=0x50000000; | |
383 const MIXERCONTROL_CT_CLASS_TIME=0x60000000; | |
384 const MIXERCONTROL_CT_CLASS_LIST=0x70000000; | |
385 const MIXERCONTROL_CT_SUBCLASS_MASK=0xF000000; | |
386 const MIXERCONTROL_CT_SC_SWITCH_BOOLEAN=0; | |
387 const MIXERCONTROL_CT_SC_SWITCH_BUTTON=0x1000000; | |
388 const MIXERCONTROL_CT_SC_METER_POLLED=0; | |
389 const MIXERCONTROL_CT_SC_TIME_MICROSECS=0; | |
390 const MIXERCONTROL_CT_SC_TIME_MILLISECS=0x1000000; | |
391 const MIXERCONTROL_CT_SC_LIST_SINGLE=0; | |
392 const MIXERCONTROL_CT_SC_LIST_MULTIPLE=0x1000000; | |
393 const MIXERCONTROL_CT_UNITS_MASK=0xFF0000; | |
394 const MIXERCONTROL_CT_UNITS_CUSTOM=0; | |
395 const MIXERCONTROL_CT_UNITS_BOOLEAN=0x10000; | |
396 const MIXERCONTROL_CT_UNITS_SIGNED=0x20000; | |
397 const MIXERCONTROL_CT_UNITS_UNSIGNED=0x30000; | |
398 const MIXERCONTROL_CT_UNITS_DECIBELS=0x40000; | |
399 const MIXERCONTROL_CT_UNITS_PERCENT=0x50000; | |
400 | |
401 const MIXERCONTROL_CONTROLTYPE_CUSTOM=(MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM); | |
402 const MIXERCONTROL_CONTROLTYPE_BOOLEANMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN); | |
403 const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED); | |
404 const MIXERCONTROL_CONTROLTYPE_PEAKMETER=(MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1); | |
405 const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED); | |
406 const MIXERCONTROL_CONTROLTYPE_BOOLEAN=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN); | |
407 const MIXERCONTROL_CONTROLTYPE_ONOFF=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+1); | |
408 const MIXERCONTROL_CONTROLTYPE_MUTE=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+2); | |
409 const MIXERCONTROL_CONTROLTYPE_MONO=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+3); | |
410 const MIXERCONTROL_CONTROLTYPE_LOUDNESS=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+4); | |
411 const MIXERCONTROL_CONTROLTYPE_STEREOENH=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+5); | |
412 const MIXERCONTROL_CONTROLTYPE_BUTTON=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN); | |
413 const MIXERCONTROL_CONTROLTYPE_DECIBELS=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS); | |
414 const MIXERCONTROL_CONTROLTYPE_SIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED); | |
415 const MIXERCONTROL_CONTROLTYPE_UNSIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED); | |
416 const MIXERCONTROL_CONTROLTYPE_PERCENT=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT); | |
417 const MIXERCONTROL_CONTROLTYPE_SLIDER=(MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED); | |
418 const MIXERCONTROL_CONTROLTYPE_PAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+1); | |
419 const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+2); | |
420 const MIXERCONTROL_CONTROLTYPE_FADER=(MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED); | |
421 const MIXERCONTROL_CONTROLTYPE_VOLUME=(MIXERCONTROL_CONTROLTYPE_FADER+1); | |
422 const MIXERCONTROL_CONTROLTYPE_BASS=(MIXERCONTROL_CONTROLTYPE_FADER+2); | |
423 const MIXERCONTROL_CONTROLTYPE_TREBLE=(MIXERCONTROL_CONTROLTYPE_FADER+3); | |
424 const MIXERCONTROL_CONTROLTYPE_EQUALIZER=(MIXERCONTROL_CONTROLTYPE_FADER+4); | |
425 const MIXERCONTROL_CONTROLTYPE_SINGLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN); | |
426 const MIXERCONTROL_CONTROLTYPE_MUX=(MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1); | |
427 const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN); | |
428 const MIXERCONTROL_CONTROLTYPE_MIXER=(MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1); | |
429 const MIXERCONTROL_CONTROLTYPE_MICROTIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED); | |
430 const MIXERCONTROL_CONTROLTYPE_MILLITIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED); | |
431 | |
432 const MIXER_GETLINECONTROLSF_ALL=0; | |
433 const MIXER_GETLINECONTROLSF_ONEBYID=1; | |
434 const MIXER_GETLINECONTROLSF_ONEBYTYPE=2; | |
435 const MIXER_GETLINECONTROLSF_QUERYMASK=15; | |
436 const MIXER_GETCONTROLDETAILSF_VALUE=0; | |
437 const MIXER_GETCONTROLDETAILSF_LISTTEXT=1; | |
438 const MIXER_GETCONTROLDETAILSF_QUERYMASK=15; | |
439 const MIXER_SETCONTROLDETAILSF_VALUE=0; | |
440 const MIXER_SETCONTROLDETAILSF_CUSTOM=1; | |
441 const MIXER_SETCONTROLDETAILSF_QUERYMASK=15; | |
442 | |
443 const TIMERR_NOERROR=0; | |
444 const TIMERR_NOCANDO=(TIMERR_BASE+1); | |
445 const TIMERR_STRUCT=(TIMERR_BASE+33); | |
446 const TIME_ONESHOT=0; | |
447 const TIME_PERIODIC=1; | |
448 const TIME_CALLBACK_FUNCTION=0; | |
449 const TIME_CALLBACK_EVENT_SET=16; | |
450 const TIME_CALLBACK_EVENT_PULSE=32; | |
451 | |
452 static if (WINVER >= 0x0501) { | |
453 | |
454 const TIME_KILL_SYNCHRONOUS=0x0100; | |
455 | |
456 } | |
457 | |
458 const JOYERR_NOERROR = 0; | |
459 const JOYERR_PARMS=(JOYERR_BASE+5); | |
460 const JOYERR_NOCANDO=(JOYERR_BASE+6); | |
461 const JOYERR_UNPLUGGED=(JOYERR_BASE+7); | |
462 | |
463 const JOY_BUTTON1=1; | |
464 const JOY_BUTTON2=2; | |
465 const JOY_BUTTON3=4; | |
466 const JOY_BUTTON4=8; | |
467 const JOY_BUTTON1CHG=256; | |
468 const JOY_BUTTON2CHG=512; | |
469 const JOY_BUTTON3CHG=1024; | |
470 const JOY_BUTTON4CHG=2048; | |
471 const JOY_BUTTON5=257; | |
472 const JOY_BUTTON6=513; | |
473 const JOY_BUTTON7=1025; | |
474 const JOY_BUTTON8=2049; | |
475 const JOY_BUTTON9=256; | |
476 const JOY_BUTTON10=512; | |
477 const JOY_BUTTON11=1024; | |
478 const JOY_BUTTON12=2048; | |
479 const JOY_BUTTON13=4096; | |
480 const JOY_BUTTON14=8192; | |
481 const JOY_BUTTON15=16384; | |
482 const JOY_BUTTON16=32768; | |
483 const JOY_BUTTON17=65536; | |
484 const JOY_BUTTON18=0x20000; | |
485 const JOY_BUTTON19=0x40000; | |
486 const JOY_BUTTON20=0x80000; | |
487 const JOY_BUTTON21=0x100000; | |
488 const JOY_BUTTON22=0x200000; | |
489 const JOY_BUTTON23=0x400000; | |
490 const JOY_BUTTON24=0x800000; | |
491 const JOY_BUTTON25=0x1000000; | |
492 const JOY_BUTTON26=0x2000000; | |
493 const JOY_BUTTON27=0x4000000; | |
494 const JOY_BUTTON28=0x8000000; | |
495 const JOY_BUTTON29=0x10000000; | |
496 const JOY_BUTTON30=0x20000000; | |
497 const JOY_BUTTON31=0x40000000; | |
498 const JOY_BUTTON32=0x80000000; | |
499 | |
500 enum : DWORD { | |
501 JOY_POVCENTERED = -1, | |
502 JOY_POVFORWARD = 0, | |
503 JOY_POVBACKWARD = 18000, | |
504 JOY_POVLEFT = 27000, | |
505 JOY_POVRIGHT = 9000 | |
506 } | |
507 | |
508 const DWORD | |
509 JOY_RETURNX = 0x00000001, | |
510 JOY_RETURNY = 0x00000002, | |
511 JOY_RETURNZ = 0x00000004, | |
512 JOY_RETURNR = 0x00000008, | |
513 JOY_RETURNU = 0x00000010, | |
514 JOY_RETURNV = 0x00000020, | |
515 JOY_RETURNPOV = 0x00000040, | |
516 JOY_RETURNBUTTONS = 0x00000080, | |
517 JOY_RETURNRAWDATA = 0x00000100, | |
518 JOY_RETURNPOVCTS = 0x00000200, | |
519 JOY_RETURNCENTERED = 0x00000400, | |
520 JOY_USEDEADZONE = 0x00000800, | |
521 JOY_RETURNALL = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETURNR | |
522 | JOY_RETURNU | JOY_RETURNV | JOY_RETURNPOV | |
523 | JOY_RETURNBUTTONS, | |
524 JOY_CAL_READALWAYS = 0x00010000, | |
525 JOY_CAL_READXYONLY = 0x00020000, | |
526 JOY_CAL_READ3 = 0x00040000, | |
527 JOY_CAL_READ4 = 0x00080000, | |
528 JOY_CAL_READXONLY = 0x00100000, | |
529 JOY_CAL_READYONLY = 0x00200000, | |
530 JOY_CAL_READ5 = 0x00400000, | |
531 JOY_CAL_READ6 = 0x00800000, | |
532 JOY_CAL_READZONLY = 0x01000000, | |
533 JOY_CAL_READRONLY = 0x02000000, | |
534 JOY_CAL_READUONLY = 0x04000000, | |
535 JOY_CAL_READVONLY = 0x08000000; | |
536 | |
537 const JOYSTICKID1=0; | |
538 const JOYSTICKID2=1; | |
539 | |
540 const JOYCAPS_HASZ=1; | |
541 const JOYCAPS_HASR=2; | |
542 const JOYCAPS_HASU=4; | |
543 const JOYCAPS_HASV=8; | |
544 const JOYCAPS_HASPOV=16; | |
545 const JOYCAPS_POV4DIR=32; | |
546 const JOYCAPS_POVCTS=64; | |
547 | |
548 const MMIOERR_BASE=256; | |
549 const MMIOERR_FILENOTFOUND=(MMIOERR_BASE+1); | |
550 const MMIOERR_OUTOFMEMORY=(MMIOERR_BASE+2); | |
551 const MMIOERR_CANNOTOPEN=(MMIOERR_BASE+3); | |
552 const MMIOERR_CANNOTCLOSE=(MMIOERR_BASE+4); | |
553 const MMIOERR_CANNOTREAD=(MMIOERR_BASE+5); | |
554 const MMIOERR_CANNOTWRITE=(MMIOERR_BASE+6); | |
555 const MMIOERR_CANNOTSEEK=(MMIOERR_BASE+7); | |
556 const MMIOERR_CANNOTEXPAND=(MMIOERR_BASE+8); | |
557 const MMIOERR_CHUNKNOTFOUND=(MMIOERR_BASE+9); | |
558 const MMIOERR_UNBUFFERED=(MMIOERR_BASE+10); | |
559 const MMIOERR_PATHNOTFOUND=(MMIOERR_BASE+11); | |
560 const MMIOERR_ACCESSDENIED=(MMIOERR_BASE+12); | |
561 const MMIOERR_SHARINGVIOLATION=(MMIOERR_BASE+13); | |
562 const MMIOERR_NETWORKERROR=(MMIOERR_BASE+14); | |
563 const MMIOERR_TOOMANYOPENFILES=(MMIOERR_BASE+15); | |
564 const MMIOERR_INVALIDFILE=(MMIOERR_BASE+16); | |
565 | |
566 const CFSEPCHAR='+'; | |
567 | |
568 const MMIO_RWMODE=3; | |
569 const MMIO_SHAREMODE=0x70; | |
570 const MMIO_CREATE=0x1000; | |
571 const MMIO_PARSE=256; | |
572 const MMIO_DELETE=512; | |
573 const MMIO_EXIST=0x4000; | |
574 const MMIO_ALLOCBUF=0x10000; | |
575 const MMIO_GETTEMP=0x20000; | |
576 const MMIO_DIRTY=0x10000000; | |
577 const MMIO_READ=0; | |
578 const MMIO_WRITE=1; | |
579 const MMIO_READWRITE=2; | |
580 const MMIO_COMPAT=0; | |
581 const MMIO_EXCLUSIVE=16; | |
582 const MMIO_DENYWRITE=32; | |
583 const MMIO_DENYREAD=0x30; | |
584 const MMIO_DENYNONE=64; | |
585 const MMIO_FHOPEN=16; | |
586 const MMIO_EMPTYBUF=16; | |
587 const MMIO_TOUPPER=16; | |
588 const MMIO_INSTALLPROC=0x10000; | |
589 const MMIO_GLOBALPROC=0x10000000; | |
590 const MMIO_REMOVEPROC=0x20000; | |
591 const MMIO_UNICODEPROC=0x1000000; | |
592 const MMIO_FINDPROC=0x40000; | |
593 const MMIO_FINDCHUNK=16; | |
594 const MMIO_FINDRIFF=32; | |
595 const MMIO_FINDLIST=64; | |
596 const MMIO_CREATERIFF=32; | |
597 const MMIO_CREATELIST=64; | |
598 const MMIOM_READ=MMIO_READ; | |
599 const MMIOM_WRITE=MMIO_WRITE; | |
600 const MMIOM_SEEK=2; | |
601 const MMIOM_OPEN=3; | |
602 const MMIOM_CLOSE=4; | |
603 const MMIOM_WRITEFLUSH=5; | |
604 const MMIOM_RENAME=6; | |
605 const MMIOM_USER=0x8000; | |
606 | |
607 const FOURCC_RIFF = mmioFOURCC!('R', 'I', 'F', 'F'); | |
608 const FOURCC_LIST = mmioFOURCC!('L', 'I', 'S', 'T'); | |
609 const FOURCC_DOS = mmioFOURCC!('D', 'O', 'S', ' '); | |
610 const FOURCC_MEM = mmioFOURCC!('M', 'E', 'M', ' '); | |
611 | |
612 const MMIO_DEFAULTBUFFER=8192; | |
613 | |
614 enum { | |
615 MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1, | |
616 MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3, | |
617 MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5, | |
618 MCIERR_HARDWARE, | |
619 MCIERR_INVALID_DEVICE_NAME, | |
620 MCIERR_OUT_OF_MEMORY, | |
621 MCIERR_DEVICE_OPEN, | |
622 MCIERR_CANNOT_LOAD_DRIVER, | |
623 MCIERR_MISSING_COMMAND_STRING, | |
624 MCIERR_PARAM_OVERFLOW, | |
625 MCIERR_MISSING_STRING_ARGUMENT, | |
626 MCIERR_BAD_INTEGER, | |
627 MCIERR_PARSER_INTERNAL, | |
628 MCIERR_DRIVER_INTERNAL, | |
629 MCIERR_MISSING_PARAMETER, | |
630 MCIERR_UNSUPPORTED_FUNCTION, | |
631 MCIERR_FILE_NOT_FOUND, | |
632 MCIERR_DEVICE_NOT_READY, | |
633 MCIERR_INTERNAL, | |
634 MCIERR_DRIVER, | |
635 MCIERR_CANNOT_USE_ALL, | |
636 MCIERR_MULTIPLE, | |
637 MCIERR_EXTENSION_NOT_FOUND, | |
638 MCIERR_OUTOFRANGE, // = MCIERR_BASE+26 | |
639 MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28, | |
640 MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30, | |
641 MCIERR_DEVICE_TYPE_REQUIRED, | |
642 MCIERR_DEVICE_LOCKED, | |
643 MCIERR_DUPLICATE_ALIAS, | |
644 MCIERR_BAD_CONSTANT, | |
645 MCIERR_MUST_USE_SHAREABLE, | |
646 MCIERR_MISSING_DEVICE_NAME, | |
647 MCIERR_BAD_TIME_FORMAT, | |
648 MCIERR_NO_CLOSING_QUOTE, | |
649 MCIERR_DUPLICATE_FLAGS, | |
650 MCIERR_INVALID_FILE, | |
651 MCIERR_NULL_PARAMETER_BLOCK, | |
652 MCIERR_UNNAMED_RESOURCE, | |
653 MCIERR_NEW_REQUIRES_ALIAS, | |
654 MCIERR_NOTIFY_ON_AUTO_OPEN, | |
655 MCIERR_NO_ELEMENT_ALLOWED, | |
656 MCIERR_NONAPPLICABLE_FUNCTION, | |
657 MCIERR_ILLEGAL_FOR_AUTO_OPEN, | |
658 MCIERR_FILENAME_REQUIRED, | |
659 MCIERR_EXTRA_CHARACTERS, | |
660 MCIERR_DEVICE_NOT_INSTALLED, | |
661 MCIERR_GET_CD, | |
662 MCIERR_SET_CD, | |
663 MCIERR_SET_DRIVE, | |
664 MCIERR_DEVICE_LENGTH, | |
665 MCIERR_DEVICE_ORD_LENGTH, | |
666 MCIERR_NO_INTEGER, // = MCIERR_BASE + 56 | |
667 MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64, | |
668 MCIERR_WAVE_SETOUTPUTINUSE, | |
669 MCIERR_WAVE_INPUTSINUSE, | |
670 MCIERR_WAVE_SETINPUTINUSE, | |
671 MCIERR_WAVE_OUTPUTUNSPECIFIED, | |
672 MCIERR_WAVE_INPUTUNSPECIFIED, | |
673 MCIERR_WAVE_OUTPUTSUNSUITABLE, | |
674 MCIERR_WAVE_SETOUTPUTUNSUITABLE, | |
675 MCIERR_WAVE_INPUTSUNSUITABLE, | |
676 MCIERR_WAVE_SETINPUTUNSUITABLE, // = MCIERR_BASE + 73 | |
677 MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80, | |
678 MCIERR_SEQ_PORT_INUSE, | |
679 MCIERR_SEQ_PORT_NONEXISTENT, | |
680 MCIERR_SEQ_PORT_MAPNODEVICE, | |
681 MCIERR_SEQ_PORT_MISCERROR, | |
682 MCIERR_SEQ_TIMER, | |
683 MCIERR_SEQ_PORTUNSPECIFIED, | |
684 MCIERR_SEQ_NOMIDIPRESENT, // = MCIERR_BASE + 87 | |
685 MCIERR_NO_WINDOW = MCIERR_BASE + 90, | |
686 MCIERR_CREATEWINDOW, | |
687 MCIERR_FILE_READ, | |
688 MCIERR_FILE_WRITE, | |
689 MCIERR_NO_IDENTITY // = MCIERR_BASE + 94 | |
690 } | |
691 const MCIERR_CUSTOM_DRIVER_BASE = MCIERR_BASE + 256; | |
692 | |
693 const MCI_FIRST=DRV_MCI_FIRST; | |
694 const MCI_OPEN=0x803; | |
695 const MCI_CLOSE=0x804; | |
696 const MCI_ESCAPE=0x805; | |
697 const MCI_PLAY=0x806; | |
698 const MCI_SEEK=0x807; | |
699 const MCI_STOP=0x808; | |
700 const MCI_PAUSE=0x809; | |
701 const MCI_INFO=0x80A; | |
702 const MCI_GETDEVCAPS=0x80B; | |
703 const MCI_SPIN=0x80C; | |
704 const MCI_SET=0x80D; | |
705 const MCI_STEP=0x80E; | |
706 const MCI_RECORD=0x80F; | |
707 const MCI_SYSINFO=0x810; | |
708 const MCI_BREAK=0x811; | |
709 const MCI_SAVE=0x813; | |
710 const MCI_STATUS=0x814; | |
711 const MCI_CUE=0x830; | |
712 const MCI_REALIZE=0x840; | |
713 const MCI_WINDOW=0x841; | |
714 const MCI_PUT=0x842; | |
715 const MCI_WHERE=0x843; | |
716 const MCI_FREEZE=0x844; | |
717 const MCI_UNFREEZE=0x845; | |
718 const MCI_LOAD=0x850; | |
719 const MCI_CUT=0x851; | |
720 const MCI_COPY=0x852; | |
721 const MCI_PASTE=0x853; | |
722 const MCI_UPDATE=0x854; | |
723 const MCI_RESUME=0x855; | |
724 const MCI_DELETE=0x856; | |
725 const MCI_USER_MESSAGES=(DRV_MCI_FIRST+0x400); | |
726 const MCI_LAST=0xFFF; | |
727 | |
728 const MCIDEVICEID MCI_ALL_DEVICE_ID = -1; | |
729 | |
730 const MCI_DEVTYPE_VCR=513; | |
731 const MCI_DEVTYPE_VIDEODISC=514; | |
732 const MCI_DEVTYPE_OVERLAY=515; | |
733 const MCI_DEVTYPE_CD_AUDIO=516; | |
734 const MCI_DEVTYPE_DAT=517; | |
735 const MCI_DEVTYPE_SCANNER=518; | |
736 const MCI_DEVTYPE_ANIMATION=519; | |
737 const MCI_DEVTYPE_DIGITAL_VIDEO=520; | |
738 const MCI_DEVTYPE_OTHER=521; | |
739 const MCI_DEVTYPE_WAVEFORM_AUDIO=522; | |
740 const MCI_DEVTYPE_SEQUENCER=523; | |
741 const MCI_DEVTYPE_FIRST=MCI_DEVTYPE_VCR; | |
742 const MCI_DEVTYPE_LAST=MCI_DEVTYPE_SEQUENCER; | |
743 const MCI_DEVTYPE_FIRST_USER=0x1000; | |
744 const MCI_MODE_NOT_READY=(MCI_STRING_OFFSET+12); | |
745 const MCI_MODE_STOP=(MCI_STRING_OFFSET+13); | |
746 const MCI_MODE_PLAY=(MCI_STRING_OFFSET+14); | |
747 const MCI_MODE_RECORD=(MCI_STRING_OFFSET+15); | |
748 const MCI_MODE_SEEK=(MCI_STRING_OFFSET+16); | |
749 const MCI_MODE_PAUSE=(MCI_STRING_OFFSET+17); | |
750 const MCI_MODE_OPEN=(MCI_STRING_OFFSET+18); | |
751 const MCI_FORMAT_MILLISECONDS=0; | |
752 const MCI_FORMAT_HMS=1; | |
753 const MCI_FORMAT_MSF=2; | |
754 const MCI_FORMAT_FRAMES=3; | |
755 const MCI_FORMAT_SMPTE_24=4; | |
756 const MCI_FORMAT_SMPTE_25=5; | |
757 const MCI_FORMAT_SMPTE_30=6; | |
758 const MCI_FORMAT_SMPTE_30DROP=7; | |
759 const MCI_FORMAT_BYTES=8; | |
760 const MCI_FORMAT_SAMPLES=9; | |
761 const MCI_FORMAT_TMSF=10; | |
762 | |
763 | |
764 | |
765 | |
766 // Macros | |
767 BYTE MCI_HMS_HOUR(DWORD t) { return cast(BYTE)(t); } | |
768 BYTE MCI_HMS_MINUTE(DWORD t) { return cast(BYTE)(t>>>8); } | |
769 BYTE MCI_HMS_SECOND(DWORD t) { return cast(BYTE)( t>>>16); } | |
770 DWORD MCI_MAKE_HMS(BYTE h, BYTE m, BYTE s) { return h |(m<<8)|(cast(DWORD)(s)<<16); } | |
771 DWORD MCI_MAKE_MSF(BYTE m, BYTE s, BYTE f) { return m |(s<<8)|(cast(DWORD)(f)<<16); } | |
772 DWORD MCI_MAKE_TMSF(BYTE t, BYTE m, BYTE s, BYTE f) { | |
773 return t |(m<<8)|(s<<16)|(cast(DWORD)(f)<< 24); } | |
774 | |
775 BYTE MCI_MSF_MINUTE(DWORD t) { return cast(BYTE)(t); } | |
776 BYTE MCI_MSF_SECOND(DWORD t) { return cast(BYTE)(t >>> 8); } | |
777 BYTE MCI_MSF_FRAME(DWORD t) { return cast(BYTE)(t >>> 16); } | |
778 | |
779 BYTE MCI_TMSF_TRACK(DWORD t) { return cast(BYTE)(t); } | |
780 BYTE MCI_TMSF_MINUTE(DWORD t) { return cast(BYTE)(t>>8); } | |
781 BYTE MCI_TMSF_SECOND(DWORD t) { return cast(BYTE)(t>>16); } | |
782 BYTE MCI_TMSF_FRAME(DWORD t) { return cast(BYTE)(t>>24); } | |
783 | |
784 | |
785 const MCI_NOTIFY_SUCCESSFUL=1; | |
786 const MCI_NOTIFY_SUPERSEDED=2; | |
787 const MCI_NOTIFY_ABORTED=4; | |
788 const MCI_NOTIFY_FAILURE=8; | |
789 const MCI_NOTIFY=1; | |
790 const MCI_WAIT=2; | |
791 const MCI_FROM=4; | |
792 const MCI_TO=8; | |
793 const MCI_TRACK=16; | |
794 const MCI_OPEN_SHAREABLE=256; | |
795 const MCI_OPEN_ELEMENT=512; | |
796 const MCI_OPEN_ALIAS=1024; | |
797 const MCI_OPEN_ELEMENT_ID=2048; | |
798 const MCI_OPEN_TYPE_ID=0x1000; | |
799 const MCI_OPEN_TYPE=0x2000; | |
800 const MCI_SEEK_TO_START=256; | |
801 const MCI_SEEK_TO_END=512; | |
802 const MCI_STATUS_ITEM=256; | |
803 const MCI_STATUS_START=512; | |
804 const MCI_STATUS_LENGTH=1; | |
805 const MCI_STATUS_POSITION=2; | |
806 const MCI_STATUS_NUMBER_OF_TRACKS=3; | |
807 const MCI_STATUS_MODE=4; | |
808 const MCI_STATUS_MEDIA_PRESENT=5; | |
809 const MCI_STATUS_TIME_FORMAT=6; | |
810 const MCI_STATUS_READY=7; | |
811 const MCI_STATUS_CURRENT_TRACK=8; | |
812 const MCI_INFO_PRODUCT=256; | |
813 const MCI_INFO_FILE=512; | |
814 const MCI_INFO_MEDIA_UPC=1024; | |
815 const MCI_INFO_MEDIA_IDENTITY=2048; | |
816 const MCI_INFO_NAME=0x1000; | |
817 const MCI_INFO_COPYRIGHT=0x2000; | |
818 | |
819 const MCI_GETDEVCAPS_ITEM=256; | |
820 const MCI_GETDEVCAPS_CAN_RECORD=1; | |
821 const MCI_GETDEVCAPS_HAS_AUDIO=2; | |
822 const MCI_GETDEVCAPS_HAS_VIDEO=3; | |
823 const MCI_GETDEVCAPS_DEVICE_TYPE=4; | |
824 const MCI_GETDEVCAPS_USES_FILES=5; | |
825 const MCI_GETDEVCAPS_COMPOUND_DEVICE=6; | |
826 const MCI_GETDEVCAPS_CAN_EJECT=7; | |
827 const MCI_GETDEVCAPS_CAN_PLAY=8; | |
828 const MCI_GETDEVCAPS_CAN_SAVE=9; | |
829 | |
830 const MCI_SYSINFO_QUANTITY=256; | |
831 const MCI_SYSINFO_OPEN=512; | |
832 const MCI_SYSINFO_NAME=1024; | |
833 const MCI_SYSINFO_INSTALLNAME=2048; | |
834 const MCI_SET_DOOR_OPEN=256; | |
835 const MCI_SET_DOOR_CLOSED=512; | |
836 const MCI_SET_TIME_FORMAT=1024; | |
837 const MCI_SET_AUDIO=2048; | |
838 const MCI_SET_VIDEO=0x1000; | |
839 const MCI_SET_ON=0x2000; | |
840 const MCI_SET_OFF=0x4000; | |
841 | |
842 const MCI_SET_AUDIO_ALL=0; | |
843 const MCI_SET_AUDIO_LEFT=1; | |
844 const MCI_SET_AUDIO_RIGHT=2; | |
845 | |
846 const MCI_BREAK_KEY=256; | |
847 const MCI_BREAK_HWND=512; | |
848 const MCI_BREAK_OFF=1024; | |
849 | |
850 const MCI_RECORD_INSERT=256; | |
851 const MCI_RECORD_OVERWRITE=512; | |
852 const MCI_SAVE_FILE=256; | |
853 const MCI_LOAD_FILE=256; | |
854 | |
855 const MCI_VD_MODE_PARK=(MCI_VD_OFFSET+1); | |
856 const MCI_VD_MEDIA_CLV=(MCI_VD_OFFSET+2); | |
857 const MCI_VD_MEDIA_CAV=(MCI_VD_OFFSET+3); | |
858 const MCI_VD_MEDIA_OTHER=(MCI_VD_OFFSET+4); | |
859 | |
860 const MCI_VD_FORMAT_TRACK=0x4001; | |
861 const MCI_VD_PLAY_REVERSE=0x10000; | |
862 const MCI_VD_PLAY_FAST=0x20000; | |
863 const MCI_VD_PLAY_SPEED=0x40000; | |
864 const MCI_VD_PLAY_SCAN=0x80000; | |
865 const MCI_VD_PLAY_SLOW=0x100000; | |
866 const MCI_VD_SEEK_REVERSE=0x10000; | |
867 const MCI_VD_STATUS_SPEED=0x4002; | |
868 const MCI_VD_STATUS_FORWARD=0x4003; | |
869 const MCI_VD_STATUS_MEDIA_TYPE=0x4004; | |
870 const MCI_VD_STATUS_SIDE=0x4005; | |
871 const MCI_VD_STATUS_DISC_SIZE=0x4006; | |
872 const MCI_VD_GETDEVCAPS_CLV=0x10000; | |
873 const MCI_VD_GETDEVCAPS_CAV=0x20000; | |
874 const MCI_VD_SPIN_UP=0x10000; | |
875 const MCI_VD_SPIN_DOWN=0x20000; | |
876 const MCI_VD_GETDEVCAPS_CAN_REVERSE=0x4002; | |
877 const MCI_VD_GETDEVCAPS_FAST_RATE=0x4003; | |
878 const MCI_VD_GETDEVCAPS_SLOW_RATE=0x4004; | |
879 const MCI_VD_GETDEVCAPS_NORMAL_RATE=0x4005; | |
880 const MCI_VD_STEP_FRAMES=0x10000; | |
881 const MCI_VD_STEP_REVERSE=0x20000; | |
882 const MCI_VD_ESCAPE_STRING=256; | |
883 | |
884 const MCI_CDA_STATUS_TYPE_TRACK=0x4001; | |
885 const MCI_CDA_TRACK_AUDIO=MCI_CD_OFFSET; | |
886 const MCI_CDA_TRACK_OTHER=(MCI_CD_OFFSET+1); | |
887 | |
888 const MCI_WAVE_PCM=MCI_WAVE_OFFSET; | |
889 const MCI_WAVE_MAPPER=(MCI_WAVE_OFFSET+1); | |
890 const MCI_WAVE_OPEN_BUFFER=0x10000; | |
891 const MCI_WAVE_SET_FORMATTAG=0x10000; | |
892 const MCI_WAVE_SET_CHANNELS=0x20000; | |
893 const MCI_WAVE_SET_SAMPLESPERSEC=0x40000; | |
894 const MCI_WAVE_SET_AVGBYTESPERSEC=0x80000; | |
895 const MCI_WAVE_SET_BLOCKALIGN=0x100000; | |
896 const MCI_WAVE_SET_BITSPERSAMPLE=0x200000; | |
897 const MCI_WAVE_INPUT=0x400000; | |
898 const MCI_WAVE_OUTPUT=0x800000; | |
899 const MCI_WAVE_STATUS_FORMATTAG=0x4001; | |
900 const MCI_WAVE_STATUS_CHANNELS=0x4002; | |
901 const MCI_WAVE_STATUS_SAMPLESPERSEC=0x4003; | |
902 const MCI_WAVE_STATUS_AVGBYTESPERSEC=0x4004; | |
903 const MCI_WAVE_STATUS_BLOCKALIGN=0x4005; | |
904 const MCI_WAVE_STATUS_BITSPERSAMPLE=0x4006; | |
905 const MCI_WAVE_STATUS_LEVEL=0x4007; | |
906 const MCI_WAVE_SET_ANYINPUT=0x4000000; | |
907 const MCI_WAVE_SET_ANYOUTPUT=0x8000000; | |
908 const MCI_WAVE_GETDEVCAPS_INPUTS=0x4001; | |
909 const MCI_WAVE_GETDEVCAPS_OUTPUTS=0x4002; | |
910 | |
911 const MCI_SEQ_DIV_PPQN=MCI_SEQ_OFFSET; | |
912 const MCI_SEQ_DIV_SMPTE_24=(MCI_SEQ_OFFSET+1); | |
913 const MCI_SEQ_DIV_SMPTE_25=(MCI_SEQ_OFFSET+2); | |
914 const MCI_SEQ_DIV_SMPTE_30DROP=(MCI_SEQ_OFFSET+3); | |
915 const MCI_SEQ_DIV_SMPTE_30=(MCI_SEQ_OFFSET+4); | |
916 const MCI_SEQ_FORMAT_SONGPTR=0x4001; | |
917 const MCI_SEQ_FILE=0x4002; | |
918 const MCI_SEQ_MIDI=0x4003; | |
919 const MCI_SEQ_SMPTE=0x4004; | |
920 const MCI_SEQ_NONE=65533; | |
921 const MCI_SEQ_MAPPER=65535; | |
922 | |
923 const MCI_SEQ_STATUS_TEMPO=0x4002; | |
924 const MCI_SEQ_STATUS_PORT=0x4003; | |
925 const MCI_SEQ_STATUS_SLAVE=0x4007; | |
926 const MCI_SEQ_STATUS_MASTER=0x4008; | |
927 const MCI_SEQ_STATUS_OFFSET=0x4009; | |
928 const MCI_SEQ_STATUS_DIVTYPE=0x400A; | |
929 const MCI_SEQ_STATUS_NAME=0x400B; | |
930 const MCI_SEQ_STATUS_COPYRIGHT=0x400C; | |
931 | |
932 const MCI_SEQ_SET_TEMPO=0x10000; | |
933 const MCI_SEQ_SET_PORT=0x20000; | |
934 const MCI_SEQ_SET_SLAVE=0x40000; | |
935 const MCI_SEQ_SET_MASTER=0x80000; | |
936 const MCI_SEQ_SET_OFFSET=0x1000000; | |
937 | |
938 const MCI_ANIM_OPEN_WS=0x10000; | |
939 const MCI_ANIM_OPEN_PARENT=0x20000; | |
940 const MCI_ANIM_OPEN_NOSTATIC=0x40000; | |
941 const MCI_ANIM_PLAY_SPEED=0x10000; | |
942 const MCI_ANIM_PLAY_REVERSE=0x20000; | |
943 const MCI_ANIM_PLAY_FAST=0x40000; | |
944 const MCI_ANIM_PLAY_SLOW=0x80000; | |
945 const MCI_ANIM_PLAY_SCAN=0x100000; | |
946 const MCI_ANIM_STEP_REVERSE=0x10000; | |
947 const MCI_ANIM_STEP_FRAMES=0x20000; | |
948 const MCI_ANIM_STATUS_SPEED=0x4001; | |
949 const MCI_ANIM_STATUS_FORWARD=0x4002; | |
950 const MCI_ANIM_STATUS_HWND=0x4003; | |
951 const MCI_ANIM_STATUS_HPAL=0x4004; | |
952 const MCI_ANIM_STATUS_STRETCH=0x4005; | |
953 const MCI_ANIM_INFO_TEXT=0x10000; | |
954 | |
955 const MCI_ANIM_GETDEVCAPS_CAN_REVERSE=0x4001; | |
956 const MCI_ANIM_GETDEVCAPS_FAST_RATE=0x4002; | |
957 const MCI_ANIM_GETDEVCAPS_SLOW_RATE=0x4003; | |
958 const MCI_ANIM_GETDEVCAPS_NORMAL_RATE=0x4004; | |
959 const MCI_ANIM_GETDEVCAPS_PALETTES=0x4006; | |
960 const MCI_ANIM_GETDEVCAPS_CAN_STRETCH=0x4007; | |
961 const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS=0x4008; | |
962 | |
963 const MCI_ANIM_REALIZE_NORM=0x10000; | |
964 const MCI_ANIM_REALIZE_BKGD=0x20000; | |
965 | |
966 const MCI_ANIM_WINDOW_HWND=0x10000; | |
967 const MCI_ANIM_WINDOW_STATE=0x40000; | |
968 const MCI_ANIM_WINDOW_TEXT=0x80000; | |
969 const MCI_ANIM_WINDOW_ENABLE_STRETCH=0x100000; | |
970 const MCI_ANIM_WINDOW_DISABLE_STRETCH=0x200000; | |
971 const MCI_ANIM_WINDOW_DEFAULT=0x0; | |
972 | |
973 const MCI_ANIM_RECT=0x10000; | |
974 const MCI_ANIM_PUT_SOURCE=0x20000; | |
975 const MCI_ANIM_PUT_DESTINATION=0x40000; | |
976 const MCI_ANIM_WHERE_SOURCE=0x20000; | |
977 const MCI_ANIM_WHERE_DESTINATION=0x40000; | |
978 const MCI_ANIM_UPDATE_HDC=0x20000; | |
979 | |
980 const MCI_OVLY_OPEN_WS=0x10000; | |
981 const MCI_OVLY_OPEN_PARENT=0x20000; | |
982 const MCI_OVLY_STATUS_HWND=0x4001; | |
983 const MCI_OVLY_STATUS_STRETCH=0x4002; | |
984 const MCI_OVLY_INFO_TEXT=0x10000; | |
985 const MCI_OVLY_GETDEVCAPS_CAN_STRETCH=0x4001; | |
986 const MCI_OVLY_GETDEVCAPS_CAN_FREEZE=0x4002; | |
987 const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS=0x4003; | |
988 const MCI_OVLY_WINDOW_HWND=0x10000; | |
989 const MCI_OVLY_WINDOW_STATE=0x40000; | |
990 const MCI_OVLY_WINDOW_TEXT=0x80000; | |
991 const MCI_OVLY_WINDOW_ENABLE_STRETCH=0x100000; | |
992 const MCI_OVLY_WINDOW_DISABLE_STRETCH=0x200000; | |
993 const MCI_OVLY_WINDOW_DEFAULT=0x0; | |
994 const MCI_OVLY_RECT=0x10000; | |
995 const MCI_OVLY_PUT_SOURCE=0x20000; | |
996 const MCI_OVLY_PUT_DESTINATION=0x40000; | |
997 const MCI_OVLY_PUT_FRAME=0x80000; | |
998 const MCI_OVLY_PUT_VIDEO=0x100000; | |
999 const MCI_OVLY_WHERE_SOURCE=0x20000; | |
1000 const MCI_OVLY_WHERE_DESTINATION=0x40000; | |
1001 const MCI_OVLY_WHERE_FRAME=0x80000; | |
1002 const MCI_OVLY_WHERE_VIDEO=0x100000; | |
1003 | |
1004 const NEWTRANSPARENT=3; | |
1005 const QUERYROPSUPPORT=40; | |
1006 const SELECTDIB=41; | |
1007 | |
1008 LONG DIBINDEX(WORD n) { | |
1009 return MAKELONG(n,0x10FF); | |
1010 } | |
1011 const CAPS1=94; | |
1012 const C1_TRANSPARENT=1; | |
1013 | |
1014 const SEEK_SET=0; | |
1015 const SEEK_CUR=1; | |
1016 const SEEK_END=2; | |
1017 | |
1018 alias DWORD MCIERROR; | |
1019 alias UINT MCIDEVICEID; | |
1020 alias UINT function (MCIDEVICEID,DWORD) YIELDPROC; | |
1021 alias UINT MMVERSION; | |
1022 alias UINT MMRESULT; | |
1023 | |
1024 struct MMTIME { | |
1025 UINT wType; | |
1026 union { | |
1027 DWORD ms; | |
1028 DWORD sample; | |
1029 DWORD cb; | |
1030 DWORD ticks; | |
1031 struct smpte { | |
1032 BYTE hour; | |
1033 BYTE min; | |
1034 BYTE sec; | |
1035 BYTE frame; | |
1036 BYTE fps; | |
1037 BYTE dummy; | |
1038 BYTE pad[2]; | |
1039 }; | |
1040 struct midi { | |
1041 DWORD songptrpos; | |
1042 } | |
1043 } | |
1044 } | |
1045 alias MMTIME* PMMTIME, LPMMTIME; | |
1046 | |
1047 typedef HANDLE HDRVR; | |
1048 | |
1049 struct DRVCONFIGINFO { | |
1050 DWORD dwDCISize; | |
1051 LPCWSTR lpszDCISectionName; | |
1052 LPCWSTR lpszDCIAliasName; | |
1053 } | |
1054 alias DRVCONFIGINFO * PDRVCONFIGINFO, LPDRVCONFIGINFO; | |
1055 | |
1056 struct DRVCONFIGINFOEX { | |
1057 DWORD dwDCISize; | |
1058 LPCWSTR lpszDCISectionName; | |
1059 LPCWSTR lpszDCIAliasName; | |
1060 DWORD dnDevNode; | |
1061 } | |
1062 alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX, LPDRVCONFIGINFOEX; | |
1063 | |
1064 extern(Windows): | |
1065 | |
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); | |
1069 alias DRVCALLBACK* LPDRVCALLBACK, PDRVCALLBACK; | |
1070 | |
1071 alias DRVCALLBACK WAVECALLBACK; | |
1072 alias WAVECALLBACK* LPWAVECALLBACK; | |
1073 | |
1074 alias DRVCALLBACK MIDICALLBACK; | |
1075 alias MIDICALLBACK* LPMIDICALLBACK; | |
1076 | |
1077 +/ | |
1078 | |
1079 typedef HANDLE HWAVE; | |
1080 typedef HANDLE HWAVEIN; | |
1081 typedef HANDLE HWAVEOUT; | |
1082 | |
1083 alias HWAVEIN* LPHWAVEIN; | |
1084 alias HWAVEOUT* LPHWAVEOUT; | |
1085 | |
1086 struct WAVEHDR { | |
1087 LPSTR lpData; | |
1088 DWORD dwBufferLength; | |
1089 DWORD dwBytesRecorded; | |
1090 DWORD dwUser; | |
1091 DWORD dwFlags; | |
1092 DWORD dwLoops; | |
1093 WAVEHDR *lpNext; | |
1094 DWORD reserved; | |
1095 } | |
1096 alias WAVEHDR* PWAVEHDR, LPWAVEHDR; | |
1097 | |
1098 struct WAVEOUTCAPSA { | |
1099 WORD wMid; | |
1100 WORD wPid; | |
1101 MMVERSION vDriverVersion; | |
1102 CHAR szPname[MAXPNAMELEN]; | |
1103 DWORD dwFormats; | |
1104 WORD wChannels; | |
1105 WORD wReserved1; | |
1106 DWORD dwSupport; | |
1107 } | |
1108 alias WAVEOUTCAPSA* PWAVEOUTCAPSA, LPWAVEOUTCAPSA; | |
1109 | |
1110 struct WAVEOUTCAPSW { | |
1111 WORD wMid; | |
1112 WORD wPid; | |
1113 MMVERSION vDriverVersion; | |
1114 WCHAR szPname[MAXPNAMELEN]; | |
1115 DWORD dwFormats; | |
1116 WORD wChannels; | |
1117 WORD wReserved1; | |
1118 DWORD dwSupport; | |
1119 } | |
1120 alias WAVEOUTCAPSW* PWAVEOUTCAPSW, LPWAVEOUTCAPSW; | |
1121 | |
1122 struct WAVEINCAPSA { | |
1123 WORD wMid; | |
1124 WORD wPid; | |
1125 MMVERSION vDriverVersion; | |
1126 CHAR szPname[MAXPNAMELEN]; | |
1127 DWORD dwFormats; | |
1128 WORD wChannels; | |
1129 WORD wReserved1; | |
1130 } | |
1131 alias WAVEINCAPSA* PWAVEINCAPSA, LPWAVEINCAPSA; | |
1132 | |
1133 struct WAVEINCAPSW { | |
1134 WORD wMid; | |
1135 WORD wPid; | |
1136 MMVERSION vDriverVersion; | |
1137 WCHAR szPname[MAXPNAMELEN]; | |
1138 DWORD dwFormats; | |
1139 WORD wChannels; | |
1140 WORD wReserved1; | |
1141 } | |
1142 alias WAVEINCAPSW* PWAVEINCAPSW, LPWAVEINCAPSW; | |
1143 | |
1144 struct WAVEFORMAT { | |
1145 WORD wFormatTag; | |
1146 WORD nChannels; | |
1147 DWORD nSamplesPerSec; | |
1148 DWORD nAvgBytesPerSec; | |
1149 WORD nBlockAlign; | |
1150 } | |
1151 alias WAVEFORMAT* PWAVEFORMAT, LPWAVEFORMAT; | |
1152 | |
1153 struct PCMWAVEFORMAT { | |
1154 WAVEFORMAT wf; | |
1155 WORD wBitsPerSample; | |
1156 } | |
1157 alias PCMWAVEFORMAT* PPCMWAVEFORMAT, LPPCMWAVEFORMAT; | |
1158 | |
1159 struct WAVEFORMATEX { | |
1160 WORD wFormatTag; | |
1161 WORD nChannels; | |
1162 DWORD nSamplesPerSec; | |
1163 DWORD nAvgBytesPerSec; | |
1164 WORD nBlockAlign; | |
1165 WORD wBitsPerSample; | |
1166 WORD cbSize; | |
1167 } | |
1168 alias WAVEFORMATEX* PWAVEFORMATEX, LPWAVEFORMATEX; | |
1169 alias WAVEFORMATEX* LPCWAVEFORMATEX; | |
1170 | |
1171 typedef HANDLE HMIDI; | |
1172 typedef HANDLE HMIDIIN; | |
1173 typedef HANDLE HMIDIOUT; | |
1174 typedef HANDLE HMIDISTRM; | |
1175 | |
1176 alias HMIDI* LPHMIDI; | |
1177 alias HMIDIIN* LPHMIDIIN; | |
1178 alias HMIDIOUT* LPHMIDIOUT; | |
1179 alias HMIDISTRM* LPHMIDISTRM; | |
1180 | |
1181 alias WORD PATCHARRAY[MIDIPATCHSIZE]; | |
1182 alias WORD* LPPATCHARRAY; | |
1183 alias WORD KEYARRAY[MIDIPATCHSIZE]; | |
1184 alias WORD* LPKEYARRAY; | |
1185 | |
1186 struct MIDIOUTCAPSA { | |
1187 WORD wMid; | |
1188 WORD wPid; | |
1189 MMVERSION vDriverVersion; | |
1190 CHAR szPname[MAXPNAMELEN]; | |
1191 WORD wTechnology; | |
1192 WORD wVoices; | |
1193 WORD wNotes; | |
1194 WORD wChannelMask; | |
1195 DWORD dwSupport; | |
1196 } | |
1197 alias MIDIOUTCAPSA* PMIDIOUTCAPSA, LPMIDIOUTCAPSA; | |
1198 | |
1199 struct MIDIOUTCAPSW { | |
1200 WORD wMid; | |
1201 WORD wPid; | |
1202 MMVERSION vDriverVersion; | |
1203 WCHAR szPname[MAXPNAMELEN]; | |
1204 WORD wTechnology; | |
1205 WORD wVoices; | |
1206 WORD wNotes; | |
1207 WORD wChannelMask; | |
1208 DWORD dwSupport; | |
1209 } | |
1210 alias MIDIOUTCAPSW* PMIDIOUTCAPSW, LPMIDIOUTCAPSW; | |
1211 | |
1212 struct MIDIINCAPSA { | |
1213 WORD wMid; | |
1214 WORD wPid; | |
1215 MMVERSION vDriverVersion; | |
1216 CHAR szPname[MAXPNAMELEN]; | |
1217 DWORD dwSupport; | |
1218 } | |
1219 alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA; | |
1220 | |
1221 struct MIDIINCAPSW { | |
1222 WORD wMid; | |
1223 WORD wPid; | |
1224 MMVERSION vDriverVersion; | |
1225 WCHAR szPname[MAXPNAMELEN]; | |
1226 DWORD dwSupport; | |
1227 } | |
1228 alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW; | |
1229 | |
1230 struct MIDIHDR { | |
1231 LPSTR lpData; | |
1232 DWORD dwBufferLength; | |
1233 DWORD dwBytesRecorded; | |
1234 DWORD dwUser; | |
1235 DWORD dwFlags; | |
1236 MIDIHDR *lpNext; | |
1237 DWORD reserved; | |
1238 DWORD dwOffset; | |
1239 DWORD dwReserved[8]; | |
1240 } | |
1241 alias MIDIHDR* PMIDIHDR, LPMIDIHDR; | |
1242 | |
1243 struct MIDIEVENT { | |
1244 DWORD dwDeltaTime; | |
1245 DWORD dwStreamID; | |
1246 DWORD dwEvent; | |
1247 DWORD dwParms[1]; | |
1248 } | |
1249 | |
1250 struct MIDISTRMBUFFVER { | |
1251 DWORD dwVersion; | |
1252 DWORD dwMid; | |
1253 DWORD dwOEMVersion; | |
1254 } | |
1255 | |
1256 struct MIDIPROPTIMEDIV { | |
1257 DWORD cbStruct; | |
1258 DWORD dwTimeDiv; | |
1259 } | |
1260 alias MIDIPROPTIMEDIV* LPMIDIPROPTIMEDIV; | |
1261 | |
1262 struct MIDIPROPTEMPO { | |
1263 DWORD cbStruct; | |
1264 DWORD dwTempo; | |
1265 } | |
1266 alias MIDIPROPTEMPO* LPMIDIPROPTEMPO; | |
1267 | |
1268 struct AUXCAPSA { | |
1269 WORD wMid; | |
1270 WORD wPid; | |
1271 MMVERSION vDriverVersion; | |
1272 CHAR szPname[MAXPNAMELEN]; | |
1273 WORD wTechnology; | |
1274 WORD wReserved1; | |
1275 DWORD dwSupport; | |
1276 } | |
1277 alias AUXCAPSA* PAUXCAPSA, LPAUXCAPSA; | |
1278 | |
1279 struct AUXCAPSW { | |
1280 WORD wMid; | |
1281 WORD wPid; | |
1282 MMVERSION vDriverVersion; | |
1283 WCHAR szPname[MAXPNAMELEN]; | |
1284 WORD wTechnology; | |
1285 WORD wReserved1; | |
1286 DWORD dwSupport; | |
1287 } | |
1288 alias AUXCAPSW* PAUXCAPSW, LPAUXCAPSW; | |
1289 | |
1290 typedef HANDLE HMIXEROBJ; | |
1291 alias HMIXEROBJ* LPHMIXEROBJ; | |
1292 | |
1293 typedef HANDLE HMIXER; | |
1294 alias HMIXER* LPHMIXER; | |
1295 | |
1296 struct MIXERCAPSA { | |
1297 WORD wMid; | |
1298 WORD wPid; | |
1299 MMVERSION vDriverVersion; | |
1300 CHAR szPname[MAXPNAMELEN]; | |
1301 DWORD fdwSupport; | |
1302 DWORD cDestinations; | |
1303 } | |
1304 alias MIXERCAPSA* PMIXERCAPSA, LPMIXERCAPSA; | |
1305 | |
1306 struct MIXERCAPSW { | |
1307 WORD wMid; | |
1308 WORD wPid; | |
1309 MMVERSION vDriverVersion; | |
1310 WCHAR szPname[MAXPNAMELEN]; | |
1311 DWORD fdwSupport; | |
1312 DWORD cDestinations; | |
1313 } | |
1314 alias MIXERCAPSW* PMIXERCAPSW, LPMIXERCAPSW; | |
1315 | |
1316 struct MIXERLINEA { | |
1317 DWORD cbStruct; | |
1318 DWORD dwDestination; | |
1319 DWORD dwSource; | |
1320 DWORD dwLineID; | |
1321 DWORD fdwLine; | |
1322 DWORD dwUser; | |
1323 DWORD dwComponentType; | |
1324 DWORD cChannels; | |
1325 DWORD cConnections; | |
1326 DWORD cControls; | |
1327 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; | |
1328 CHAR szName[MIXER_LONG_NAME_CHARS]; | |
1329 struct Target { | |
1330 DWORD dwType; | |
1331 DWORD dwDeviceID; | |
1332 WORD wMid; | |
1333 WORD wPid; | |
1334 MMVERSION vDriverVersion; | |
1335 CHAR szPname[MAXPNAMELEN]; | |
1336 } | |
1337 } | |
1338 alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA; | |
1339 | |
1340 struct MIXERLINEW { | |
1341 DWORD cbStruct; | |
1342 DWORD dwDestination; | |
1343 DWORD dwSource; | |
1344 DWORD dwLineID; | |
1345 DWORD fdwLine; | |
1346 DWORD dwUser; | |
1347 DWORD dwComponentType; | |
1348 DWORD cChannels; | |
1349 DWORD cConnections; | |
1350 DWORD cControls; | |
1351 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; | |
1352 WCHAR szName[MIXER_LONG_NAME_CHARS]; | |
1353 struct Target { | |
1354 DWORD dwType; | |
1355 DWORD dwDeviceID; | |
1356 WORD wMid; | |
1357 WORD wPid; | |
1358 MMVERSION vDriverVersion; | |
1359 WCHAR szPname[MAXPNAMELEN]; | |
1360 } | |
1361 } | |
1362 alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW; | |
1363 | |
1364 struct MIXERCONTROLA { | |
1365 DWORD cbStruct; | |
1366 DWORD dwControlID; | |
1367 DWORD dwControlType; | |
1368 DWORD fdwControl; | |
1369 DWORD cMultipleItems; | |
1370 CHAR szShortName[MIXER_SHORT_NAME_CHARS]; | |
1371 CHAR szName[MIXER_LONG_NAME_CHARS]; | |
1372 union _Bounds { | |
1373 struct { | |
1374 LONG lMinimum; | |
1375 LONG lMaximum; | |
1376 } | |
1377 struct { | |
1378 DWORD dwMinimum; | |
1379 DWORD dwMaximum; | |
1380 } | |
1381 DWORD dwReserved[6]; | |
1382 } | |
1383 _Bounds Bounds; | |
1384 union _Metrics { | |
1385 DWORD cSteps; | |
1386 DWORD cbCustomData; | |
1387 DWORD dwReserved[6]; | |
1388 } | |
1389 _Metrics Metrics; | |
1390 } | |
1391 alias MIXERCONTROLA* PMIXERCONTROLA, LPMIXERCONTROLA; | |
1392 | |
1393 struct MIXERCONTROLW { | |
1394 DWORD cbStruct; | |
1395 DWORD dwControlID; | |
1396 DWORD dwControlType; | |
1397 DWORD fdwControl; | |
1398 DWORD cMultipleItems; | |
1399 WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; | |
1400 WCHAR szName[MIXER_LONG_NAME_CHARS]; | |
1401 union _Bounds { | |
1402 struct { | |
1403 LONG lMinimum; | |
1404 LONG lMaximum; | |
1405 } | |
1406 struct { | |
1407 DWORD dwMinimum; | |
1408 DWORD dwMaximum; | |
1409 } | |
1410 DWORD dwReserved[6]; | |
1411 } | |
1412 _Bounds Bounds; | |
1413 union _Metrics { | |
1414 DWORD cSteps; | |
1415 DWORD cbCustomData; | |
1416 DWORD dwReserved[6]; | |
1417 } | |
1418 _Metrics Metrics; | |
1419 } | |
1420 | |
1421 alias MIXERCONTROLW* PMIXERCONTROLW, LPMIXERCONTROLW; | |
1422 | |
1423 struct MIXERLINECONTROLSA { | |
1424 DWORD cbStruct; | |
1425 DWORD dwLineID; | |
1426 union { | |
1427 DWORD dwControlID; | |
1428 DWORD dwControlType; | |
1429 } | |
1430 DWORD cControls; | |
1431 DWORD cbmxctrl; | |
1432 LPMIXERCONTROLA pamxctrl; | |
1433 } | |
1434 alias MIXERLINECONTROLSA* PMIXERLINECONTROLSA, LPMIXERLINECONTROLSA; | |
1435 | |
1436 struct MIXERLINECONTROLSW { | |
1437 DWORD cbStruct; | |
1438 DWORD dwLineID; | |
1439 union { | |
1440 DWORD dwControlID; | |
1441 DWORD dwControlType; | |
1442 } | |
1443 DWORD cControls; | |
1444 DWORD cbmxctrl; | |
1445 LPMIXERCONTROLW pamxctrl; | |
1446 } | |
1447 alias MIXERLINECONTROLSW* PMIXERLINECONTROLSW, LPMIXERLINECONTROLSW; | |
1448 | |
1449 struct MIXERCONTROLDETAILS { | |
1450 DWORD cbStruct; | |
1451 DWORD dwControlID; | |
1452 DWORD cChannels; | |
1453 union { | |
1454 HWND hwndOwner; | |
1455 DWORD cMultipleItems; | |
1456 } | |
1457 DWORD cbDetails; | |
1458 PVOID paDetails; | |
1459 } | |
1460 alias MIXERCONTROLDETAILS* PMIXERCONTROLDETAILS, LPMIXERCONTROLDETAILS; | |
1461 | |
1462 struct MIXERCONTROLDETAILS_LISTTEXTA { | |
1463 DWORD dwParam1; | |
1464 DWORD dwParam2; | |
1465 CHAR szName[MIXER_LONG_NAME_CHARS]; | |
1466 } | |
1467 alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA,LPMIXERCONTROLDETAILS_LISTTEXTA; | |
1468 | |
1469 struct MIXERCONTROLDETAILS_LISTTEXTW { | |
1470 DWORD dwParam1; | |
1471 DWORD dwParam2; | |
1472 WCHAR szName[MIXER_LONG_NAME_CHARS]; | |
1473 } | |
1474 alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW,LPMIXERCONTROLDETAILS_LISTTEXTW; | |
1475 | |
1476 struct MIXERCONTROLDETAILS_BOOLEAN { | |
1477 LONG fValue; | |
1478 } | |
1479 alias MIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN, LPMIXERCONTROLDETAILS_BOOLEAN; | |
1480 | |
1481 struct MIXERCONTROLDETAILS_SIGNED { | |
1482 LONG lValue; | |
1483 } | |
1484 alias MIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED, LPMIXERCONTROLDETAILS_SIGNED; | |
1485 | |
1486 struct MIXERCONTROLDETAILS_UNSIGNED { | |
1487 DWORD dwValue; | |
1488 } | |
1489 alias MIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED, LPMIXERCONTROLDETAILS_UNSIGNED; | |
1490 | |
1491 alias void function (UINT,UINT,DWORD,DWORD,DWORD) LPTIMECALLBACK; | |
1492 | |
1493 struct TIMECAPS { | |
1494 UINT wPeriodMin; | |
1495 UINT wPeriodMax; | |
1496 } | |
1497 alias TIMECAPS* PTIMECAPS, LPTIMECAPS; | |
1498 | |
1499 struct JOYCAPSA { | |
1500 WORD wMid; | |
1501 WORD wPid; | |
1502 CHAR szPname[MAXPNAMELEN]; | |
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 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]; | |
1552 } | |
1553 alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW; | |
1554 | |
1555 struct JOYINFO { | |
1556 UINT wXpos; | |
1557 UINT wYpos; | |
1558 UINT wZpos; | |
1559 UINT wButtons; | |
1560 } | |
1561 alias JOYINFO* PJOYINFO, LPJOYINFO; | |
1562 | |
1563 struct JOYINFOEX { | |
1564 DWORD dwSize; | |
1565 DWORD dwFlags; | |
1566 DWORD dwXpos; | |
1567 DWORD dwYpos; | |
1568 DWORD dwZpos; | |
1569 DWORD dwRpos; | |
1570 DWORD dwUpos; | |
1571 DWORD dwVpos; | |
1572 DWORD dwButtons; | |
1573 DWORD dwButtonNumber; | |
1574 DWORD dwPOV; | |
1575 DWORD dwReserved1; | |
1576 DWORD dwReserved2; | |
1577 } | |
1578 alias JOYINFOEX* PJOYINFOEX, LPJOYINFOEX; | |
1579 | |
1580 alias DWORD FOURCC; | |
1581 alias char* HPSTR; | |
1582 | |
1583 typedef HANDLE HMMIO; | |
1584 | |
1585 alias LRESULT function (LPSTR,UINT,LPARAM,LPARAM) LPMMIOPROC; | |
1586 | |
1587 struct MMIOINFO { | |
1588 DWORD dwFlags; | |
1589 FOURCC fccIOProc; | |
1590 LPMMIOPROC pIOProc; | |
1591 UINT wErrorRet; | |
1592 HTASK htask; | |
1593 LONG cchBuffer; | |
1594 HPSTR pchBuffer; | |
1595 HPSTR pchNext; | |
1596 HPSTR pchEndRead; | |
1597 HPSTR pchEndWrite; | |
1598 LONG lBufOffset; | |
1599 LONG lDiskOffset; | |
1600 DWORD adwInfo[3]; | |
1601 DWORD dwReserved1; | |
1602 DWORD dwReserved2; | |
1603 HMMIO hmmio; | |
1604 } | |
1605 alias MMIOINFO* PMMIOINFO, LPMMIOINFO; | |
1606 alias MMIOINFO* LPCMMIOINFO; | |
1607 | |
1608 struct MMCKINFO { | |
1609 FOURCC ckid; | |
1610 DWORD cksize; | |
1611 FOURCC fccType; | |
1612 DWORD dwDataOffset; | |
1613 DWORD dwFlags; | |
1614 } | |
1615 alias MMCKINFO* PMMCKINFO, LPMMCKINFO; | |
1616 alias MMCKINFO* LPCMMCKINFO; | |
1617 | |
1618 struct MCI_GENERIC_PARMS { | |
1619 DWORD dwCallback; | |
1620 } | |
1621 alias MCI_GENERIC_PARMS* PMCI_GENERIC_PARMS, LPMCI_GENERIC_PARMS; | |
1622 | |
1623 struct MCI_OPEN_PARMSA { | |
1624 DWORD dwCallback; | |
1625 MCIDEVICEID wDeviceID; | |
1626 LPCSTR lpstrDeviceType; | |
1627 LPCSTR lpstrElementName; | |
1628 LPCSTR lpstrAlias; | |
1629 } | |
1630 alias MCI_OPEN_PARMSA* PMCI_OPEN_PARMSA, LPMCI_OPEN_PARMSA; | |
1631 | |
1632 struct MCI_OPEN_PARMSW { | |
1633 DWORD dwCallback; | |
1634 MCIDEVICEID wDeviceID; | |
1635 LPCWSTR lpstrDeviceType; | |
1636 LPCWSTR lpstrElementName; | |
1637 LPCWSTR lpstrAlias; | |
1638 } | |
1639 alias MCI_OPEN_PARMSW* PMCI_OPEN_PARMSW, LPMCI_OPEN_PARMSW; | |
1640 | |
1641 struct MCI_PLAY_PARMS { | |
1642 DWORD dwCallback; | |
1643 DWORD dwFrom; | |
1644 DWORD dwTo; | |
1645 } | |
1646 alias MCI_PLAY_PARMS* PMCI_PLAY_PARMS, LPMCI_PLAY_PARMS; | |
1647 | |
1648 struct MCI_SEEK_PARMS { | |
1649 DWORD dwCallback; | |
1650 DWORD dwTo; | |
1651 } | |
1652 alias MCI_SEEK_PARMS* PMCI_SEEK_PARMS, LPMCI_SEEK_PARMS; | |
1653 | |
1654 struct MCI_STATUS_PARMS { | |
1655 DWORD dwCallback; | |
1656 DWORD dwReturn; | |
1657 DWORD dwItem; | |
1658 DWORD dwTrack; | |
1659 } | |
1660 alias MCI_STATUS_PARMS* PMCI_STATUS_PARMS, LPMCI_STATUS_PARMS; | |
1661 | |
1662 struct MCI_INFO_PARMSA { | |
1663 DWORD dwCallback; | |
1664 LPSTR lpstrReturn; | |
1665 DWORD dwRetSize; | |
1666 } | |
1667 alias MCI_INFO_PARMSA* LPMCI_INFO_PARMSA; | |
1668 | |
1669 struct MCI_INFO_PARMSW { | |
1670 DWORD dwCallback; | |
1671 LPWSTR lpstrReturn; | |
1672 DWORD dwRetSize; | |
1673 } | |
1674 alias MCI_INFO_PARMSW* LPMCI_INFO_PARMSW; | |
1675 | |
1676 struct MCI_GETDEVCAPS_PARMS { | |
1677 DWORD dwCallback; | |
1678 DWORD dwReturn; | |
1679 DWORD dwItem; | |
1680 } | |
1681 alias MCI_GETDEVCAPS_PARMS* PMCI_GETDEVCAPS_PARMS, LPMCI_GETDEVCAPS_PARMS; | |
1682 | |
1683 struct MCI_SYSINFO_PARMSA { | |
1684 DWORD dwCallback; | |
1685 LPSTR lpstrReturn; | |
1686 DWORD dwRetSize; | |
1687 DWORD dwNumber; | |
1688 UINT wDeviceType; | |
1689 } | |
1690 alias MCI_SYSINFO_PARMSA* PMCI_SYSINFO_PARMSA, LPMCI_SYSINFO_PARMSA; | |
1691 | |
1692 struct MCI_SYSINFO_PARMSW { | |
1693 DWORD dwCallback; | |
1694 LPWSTR lpstrReturn; | |
1695 DWORD dwRetSize; | |
1696 DWORD dwNumber; | |
1697 UINT wDeviceType; | |
1698 } | |
1699 alias MCI_SYSINFO_PARMSW* PMCI_SYSINFO_PARMSW, LPMCI_SYSINFO_PARMSW; | |
1700 | |
1701 struct MCI_SET_PARMS { | |
1702 DWORD dwCallback; | |
1703 DWORD dwTimeFormat; | |
1704 DWORD dwAudio; | |
1705 } | |
1706 alias MCI_SET_PARMS* PMCI_SET_PARMS, LPMCI_SET_PARMS; | |
1707 | |
1708 struct MCI_BREAK_PARMS { | |
1709 DWORD dwCallback; | |
1710 int nVirtKey; | |
1711 HWND hwndBreak; | |
1712 } | |
1713 alias MCI_BREAK_PARMS* PMCI_BREAK_PARMS, LPMCI_BREAK_PARMS; | |
1714 | |
1715 struct MCI_SAVE_PARMSA { | |
1716 DWORD dwCallback; | |
1717 LPCSTR lpfilename; | |
1718 } | |
1719 alias MCI_SAVE_PARMSA* PMCI_SAVE_PARMSA, LPMCI_SAVE_PARMSA; | |
1720 | |
1721 struct MCI_SAVE_PARMSW { | |
1722 DWORD dwCallback; | |
1723 LPCWSTR lpfilename; | |
1724 } | |
1725 alias MCI_SAVE_PARMSW* PMCI_SAVE_PARMSW, LPMCI_SAVE_PARMSW; | |
1726 | |
1727 struct MCI_LOAD_PARMSA { | |
1728 DWORD dwCallback; | |
1729 LPCSTR lpfilename; | |
1730 } | |
1731 alias MCI_LOAD_PARMSA* PMCI_LOAD_PARMSA, LPMCI_LOAD_PARMSA; | |
1732 | |
1733 struct MCI_LOAD_PARMSW { | |
1734 DWORD dwCallback; | |
1735 LPCWSTR lpfilename; | |
1736 } | |
1737 alias MCI_LOAD_PARMSW* PMCI_LOAD_PARMSW, LPMCI_LOAD_PARMSW; | |
1738 | |
1739 struct MCI_RECORD_PARMS { | |
1740 DWORD dwCallback; | |
1741 DWORD dwFrom; | |
1742 DWORD dwTo; | |
1743 } | |
1744 alias MCI_RECORD_PARMS* LPMCI_RECORD_PARMS; | |
1745 | |
1746 struct MCI_VD_PLAY_PARMS { | |
1747 DWORD dwCallback; | |
1748 DWORD dwFrom; | |
1749 DWORD dwTo; | |
1750 DWORD dwSpeed; | |
1751 } | |
1752 alias MCI_VD_PLAY_PARMS* PMCI_VD_PLAY_PARMS, LPMCI_VD_PLAY_PARMS; | |
1753 | |
1754 struct MCI_VD_STEP_PARMS { | |
1755 DWORD dwCallback; | |
1756 DWORD dwFrames; | |
1757 } | |
1758 alias MCI_VD_STEP_PARMS* PMCI_VD_STEP_PARMS, LPMCI_VD_STEP_PARMS; | |
1759 | |
1760 struct MCI_VD_ESCAPE_PARMSA { | |
1761 DWORD dwCallback; | |
1762 LPCSTR lpstrCommand; | |
1763 } | |
1764 alias MCI_VD_ESCAPE_PARMSA* PMCI_VD_ESCAPE_PARMSA, LPMCI_VD_ESCAPE_PARMSA; | |
1765 | |
1766 struct MCI_VD_ESCAPE_PARMSW { | |
1767 DWORD dwCallback; | |
1768 LPCWSTR lpstrCommand; | |
1769 } | |
1770 alias MCI_VD_ESCAPE_PARMSW* PMCI_VD_ESCAPE_PARMSW, LPMCI_VD_ESCAPE_PARMSW; | |
1771 | |
1772 struct MCI_WAVE_OPEN_PARMSA { | |
1773 DWORD dwCallback; | |
1774 MCIDEVICEID wDeviceID; | |
1775 LPCSTR lpstrDeviceType; | |
1776 LPCSTR lpstrElementName; | |
1777 LPCSTR lpstrAlias; | |
1778 DWORD dwBufferSeconds; | |
1779 } | |
1780 alias MCI_WAVE_OPEN_PARMSA* PMCI_WAVE_OPEN_PARMSA, LPMCI_WAVE_OPEN_PARMSA; | |
1781 | |
1782 struct MCI_WAVE_OPEN_PARMSW { | |
1783 DWORD dwCallback; | |
1784 MCIDEVICEID wDeviceID; | |
1785 LPCWSTR lpstrDeviceType; | |
1786 LPCWSTR lpstrElementName; | |
1787 LPCWSTR lpstrAlias; | |
1788 DWORD dwBufferSeconds; | |
1789 } | |
1790 alias MCI_WAVE_OPEN_PARMSW* PMCI_WAVE_OPEN_PARMSW, LPMCI_WAVE_OPEN_PARMSW; | |
1791 | |
1792 struct MCI_WAVE_DELETE_PARMS { | |
1793 DWORD dwCallback; | |
1794 DWORD dwFrom; | |
1795 DWORD dwTo; | |
1796 } | |
1797 alias MCI_WAVE_DELETE_PARMS* PMCI_WAVE_DELETE_PARMS, LPMCI_WAVE_DELETE_PARMS; | |
1798 | |
1799 struct MCI_WAVE_SET_PARMS { | |
1800 DWORD dwCallback; | |
1801 DWORD dwTimeFormat; | |
1802 DWORD dwAudio; | |
1803 UINT wInput; | |
1804 UINT wOutput; | |
1805 WORD wFormatTag; | |
1806 WORD wReserved2; | |
1807 WORD nChannels; | |
1808 WORD wReserved3; | |
1809 DWORD nSamplesPerSec; | |
1810 DWORD nAvgBytesPerSec; | |
1811 WORD nBlockAlign; | |
1812 WORD wReserved4; | |
1813 WORD wBitsPerSample; | |
1814 WORD wReserved5; | |
1815 } | |
1816 alias MCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS, LPMCI_WAVE_SET_PARMS; | |
1817 | |
1818 extern (Windows): | |
1819 LRESULT CloseDriver(HDRVR,LONG,LONG); | |
1820 HDRVR OpenDriver(LPCWSTR,LPCWSTR,LONG); | |
1821 LRESULT SendDriverMessage(HDRVR,UINT,LONG,LONG); | |
1822 HMODULE DrvGetModuleHandle(HDRVR); | |
1823 HMODULE GetDriverModuleHandle(HDRVR); | |
1824 LRESULT DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM); | |
1825 UINT mmsystemGetVersion(); | |
1826 // FIXME: I believe this next line is a mistake | |
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); | |
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); | |
1840 MMRESULT waveOutClose(HWAVEOUT); | |
1841 MMRESULT waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT); | |
1842 MMRESULT waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT); | |
1843 MMRESULT waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT); | |
1844 MMRESULT waveOutPause(HWAVEOUT); | |
1845 MMRESULT waveOutRestart(HWAVEOUT); | |
1846 MMRESULT waveOutReset(HWAVEOUT); | |
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); | |
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); | |
1861 MMRESULT waveInClose(HWAVEIN); | |
1862 MMRESULT waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT); | |
1863 MMRESULT waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT); | |
1864 MMRESULT waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT); | |
1865 MMRESULT waveInStart(HWAVEIN); | |
1866 MMRESULT waveInStop(HWAVEIN); | |
1867 MMRESULT waveInReset(HWAVEIN); | |
1868 MMRESULT waveInGetPosition(HWAVEIN,LPMMTIME,UINT); | |
1869 MMRESULT waveInGetID(HWAVEIN,LPUINT); | |
1870 MMRESULT waveInMessage(HWAVEIN,UINT,DWORD,DWORD); | |
1871 UINT midiOutGetNumDevs(); | |
1872 MMRESULT midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD); | |
1873 MMRESULT midiStreamClose(HMIDISTRM); | |
1874 MMRESULT midiStreamProperty(HMIDISTRM,LPBYTE,DWORD); | |
1875 MMRESULT midiStreamPosition(HMIDISTRM,LPMMTIME,UINT); | |
1876 MMRESULT midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT); | |
1877 MMRESULT midiStreamPause(HMIDISTRM); | |
1878 MMRESULT midiStreamRestart(HMIDISTRM); | |
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); | |
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); | |
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); | |
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); | |
1905 MMRESULT midiInClose(HMIDIIN); | |
1906 MMRESULT midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT); | |
1907 MMRESULT midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT); | |
1908 MMRESULT midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT); | |
1909 MMRESULT midiInStart(HMIDIIN); | |
1910 MMRESULT midiInStop(HMIDIIN); | |
1911 MMRESULT midiInReset(HMIDIIN); | |
1912 MMRESULT midiInGetID(HMIDIIN,LPUINT); | |
1913 MMRESULT midiInMessage(HMIDIIN,UINT,DWORD,DWORD); | |
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); | |
1920 UINT mixerGetNumDevs(); | |
1921 MMRESULT mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT); | |
1922 MMRESULT mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT); | |
1923 MMRESULT mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD); | |
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); | |
1935 DWORD timeGetTime(); | |
1936 MMRESULT timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT); | |
1937 MMRESULT timeKillEvent(UINT); | |
1938 MMRESULT timeGetDevCaps(LPTIMECAPS,UINT); | |
1939 MMRESULT timeBeginPeriod(UINT); | |
1940 MMRESULT timeEndPeriod(UINT); | |
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); | |
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, 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 MCIDEVICEID mciGetDeviceIDA(LPCSTR); | |
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); | |
1982 HTASK mciGetCreatorTask(MCIDEVICEID); | |
1983 YIELDPROC mciGetYieldProc(MCIDEVICEID,PDWORD); | |
1984 | |
1985 struct MCI_SEQ_SET_PARMS { | |
1986 DWORD dwCallback; | |
1987 DWORD dwTimeFormat; | |
1988 DWORD dwAudio; | |
1989 DWORD dwTempo; | |
1990 DWORD dwPort; | |
1991 DWORD dwSlave; | |
1992 DWORD dwMaster; | |
1993 DWORD dwOffset; | |
1994 } | |
1995 alias MCI_SEQ_SET_PARMS* PMCI_SEQ_SET_PARMS, LPMCI_SEQ_SET_PARMS; | |
1996 | |
1997 struct MCI_ANIM_OPEN_PARMSA { | |
1998 DWORD dwCallback; | |
1999 MCIDEVICEID wDeviceID; | |
2000 LPCSTR lpstrDeviceType; | |
2001 LPCSTR lpstrElementName; | |
2002 LPCSTR lpstrAlias; | |
2003 DWORD dwStyle; | |
2004 HWND hWndParent; | |
2005 } | |
2006 alias MCI_ANIM_OPEN_PARMSA* PMCI_ANIM_OPEN_PARMSA, LPMCI_ANIM_OPEN_PARMSA; | |
2007 | |
2008 struct MCI_ANIM_OPEN_PARMSW { | |
2009 DWORD dwCallback; | |
2010 MCIDEVICEID wDeviceID; | |
2011 LPCWSTR lpstrDeviceType; | |
2012 LPCWSTR lpstrElementName; | |
2013 LPCWSTR lpstrAlias; | |
2014 DWORD dwStyle; | |
2015 HWND hWndParent; | |
2016 } | |
2017 alias MCI_ANIM_OPEN_PARMSW* PMCI_ANIM_OPEN_PARMSW, LPMCI_ANIM_OPEN_PARMSW; | |
2018 | |
2019 struct MCI_ANIM_PLAY_PARMS { | |
2020 DWORD dwCallback; | |
2021 DWORD dwFrom; | |
2022 DWORD dwTo; | |
2023 DWORD dwSpeed; | |
2024 } | |
2025 alias MCI_ANIM_PLAY_PARMS* PMCI_ANIM_PLAY_PARMS, LPMCI_ANIM_PLAY_PARMS; | |
2026 | |
2027 struct MCI_ANIM_STEP_PARMS { | |
2028 DWORD dwCallback; | |
2029 DWORD dwFrames; | |
2030 } | |
2031 alias MCI_ANIM_STEP_PARMS* PMCI_ANIM_STEP_PARMS, LPMCI_ANIM_STEP_PARMS; | |
2032 | |
2033 struct MCI_ANIM_WINDOW_PARMSA { | |
2034 DWORD dwCallback; | |
2035 HWND hWnd; | |
2036 UINT nCmdShow; | |
2037 LPCSTR lpstrText; | |
2038 } | |
2039 alias MCI_ANIM_WINDOW_PARMSA* PMCI_ANIM_WINDOW_PARMSA, LPMCI_ANIM_WINDOW_PARMSA; | |
2040 | |
2041 struct MCI_ANIM_WINDOW_PARMSW { | |
2042 DWORD dwCallback; | |
2043 HWND hWnd; | |
2044 UINT nCmdShow; | |
2045 LPCWSTR lpstrText; | |
2046 } | |
2047 alias MCI_ANIM_WINDOW_PARMSW* PMCI_ANIM_WINDOW_PARMSW, LPMCI_ANIM_WINDOW_PARMSW; | |
2048 | |
2049 struct MCI_ANIM_RECT_PARMS { | |
2050 DWORD dwCallback; | |
2051 //#ifdef MCI_USE_OFFEXT | |
2052 // POINT ptOffset; | |
2053 // POINT ptExtent; | |
2054 //#else | |
2055 RECT rc; | |
2056 //#endif | |
2057 } | |
2058 alias MCI_ANIM_RECT_PARMS* PMCI_ANIM_RECT_PARMS, LPMCI_ANIM_RECT_PARMS; | |
2059 | |
2060 struct MCI_ANIM_UPDATE_PARMS { | |
2061 DWORD dwCallback; | |
2062 RECT rc; | |
2063 HDC hDC; | |
2064 } | |
2065 alias MCI_ANIM_UPDATE_PARMS* PMCI_ANIM_UPDATE_PARMS, LPMCI_ANIM_UPDATE_PARMS; | |
2066 | |
2067 struct MCI_OVLY_OPEN_PARMSA { | |
2068 DWORD dwCallback; | |
2069 MCIDEVICEID wDeviceID; | |
2070 LPCSTR lpstrDeviceType; | |
2071 LPCSTR lpstrElementName; | |
2072 LPCSTR lpstrAlias; | |
2073 DWORD dwStyle; | |
2074 HWND hWndParent; | |
2075 } | |
2076 alias MCI_OVLY_OPEN_PARMSA* PMCI_OVLY_OPEN_PARMSA, LPMCI_OVLY_OPEN_PARMSA; | |
2077 | |
2078 struct MCI_OVLY_OPEN_PARMSW { | |
2079 DWORD dwCallback; | |
2080 MCIDEVICEID wDeviceID; | |
2081 LPCWSTR lpstrDeviceType; | |
2082 LPCWSTR lpstrElementName; | |
2083 LPCWSTR lpstrAlias; | |
2084 DWORD dwStyle; | |
2085 HWND hWndParent; | |
2086 } | |
2087 alias MCI_OVLY_OPEN_PARMSW* PMCI_OVLY_OPEN_PARMSW, LPMCI_OVLY_OPEN_PARMSW; | |
2088 | |
2089 struct MCI_OVLY_WINDOW_PARMSA { | |
2090 DWORD dwCallback; | |
2091 HWND hWnd; | |
2092 UINT nCmdShow; | |
2093 LPCSTR lpstrText; | |
2094 } | |
2095 alias MCI_OVLY_WINDOW_PARMSA* PMCI_OVLY_WINDOW_PARMSA, LPMCI_OVLY_WINDOW_PARMSA; | |
2096 | |
2097 struct MCI_OVLY_WINDOW_PARMSW { | |
2098 DWORD dwCallback; | |
2099 HWND hWnd; | |
2100 UINT nCmdShow; | |
2101 LPCWSTR lpstrText; | |
2102 } | |
2103 alias MCI_OVLY_WINDOW_PARMSW* PMCI_OVLY_WINDOW_PARMSW, LPMCI_OVLY_WINDOW_PARMSW; | |
2104 | |
2105 struct MCI_OVLY_RECT_PARMS { | |
2106 DWORD dwCallback; | |
2107 //#ifdef MCI_USE_OFFEXT | |
2108 // POINT ptOffset; | |
2109 // POINT ptExtent; | |
2110 //#else | |
2111 RECT rc; | |
2112 //#endif | |
2113 } | |
2114 alias MCI_OVLY_RECT_PARMS* PMCI_OVLY_RECT_PARMS, LPMCI_OVLY_RECT_PARMS; | |
2115 | |
2116 struct MCI_OVLY_SAVE_PARMSA { | |
2117 DWORD dwCallback; | |
2118 LPCSTR lpfilename; | |
2119 RECT rc; | |
2120 } | |
2121 alias MCI_OVLY_SAVE_PARMSA* PMCI_OVLY_SAVE_PARMSA, LPMCI_OVLY_SAVE_PARMSA; | |
2122 | |
2123 struct MCI_OVLY_SAVE_PARMSW { | |
2124 DWORD dwCallback; | |
2125 LPCWSTR lpfilename; | |
2126 RECT rc; | |
2127 } | |
2128 alias MCI_OVLY_SAVE_PARMSW* PMCI_OVLY_SAVE_PARMSW, LPMCI_OVLY_SAVE_PARMSW; | |
2129 | |
2130 struct MCI_OVLY_LOAD_PARMSA { | |
2131 DWORD dwCallback; | |
2132 LPCSTR lpfilename; | |
2133 RECT rc; | |
2134 } | |
2135 alias MCI_OVLY_LOAD_PARMSA* PMCI_OVLY_LOAD_PARMSA, LPMCI_OVLY_LOAD_PARMSA; | |
2136 | |
2137 struct MCI_OVLY_LOAD_PARMSW { | |
2138 DWORD dwCallback; | |
2139 LPCWSTR lpfilename; | |
2140 RECT rc; | |
2141 } | |
2142 alias MCI_OVLY_LOAD_PARMSW* PMCI_OVLY_LOAD_PARMSW, LPMCI_OVLY_LOAD_PARMSW; | |
2143 | |
2144 version(Unicode) { | |
2145 alias WAVEOUTCAPSW WAVEOUTCAPS; | |
2146 alias WAVEINCAPSW WAVEINCAPS; | |
2147 alias MIDIOUTCAPSW MIDIOUTCAPS; | |
2148 alias MIDIINCAPSW MIDIINCAPS; | |
2149 alias AUXCAPSW AUXCAPS; | |
2150 alias MIXERCAPSW MIXERCAPS; | |
2151 alias MIXERLINEW MIXERLINE; | |
2152 alias MIXERCONTROLA MIXERCONTROL; | |
2153 alias MIXERLINECONTROLSW MIXERLINECONTROLS; | |
2154 alias MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT; | |
2155 alias JOYCAPSW JOYCAPS; | |
2156 alias MCI_OPEN_PARMSW MCI_OPEN_PARMS; | |
2157 alias MCI_INFO_PARMSW MCI_INFO_PARMS; | |
2158 alias MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS; | |
2159 alias MCI_SAVE_PARMSW MCI_SAVE_PARMS; | |
2160 alias MCI_LOAD_PARMSW MCI_LOAD_PARMS; | |
2161 alias MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS; | |
2162 alias MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS; | |
2163 alias MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS; | |
2164 alias MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS; | |
2165 alias MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS; | |
2166 alias MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS; | |
2167 alias MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS; | |
2168 | |
2169 alias sndPlaySoundW sndPlaySound; | |
2170 alias PlaySoundW PlaySound; | |
2171 alias waveOutGetDevCapsW waveOutGetDevCaps; | |
2172 alias waveOutGetErrorTextW waveOutGetErrorText; | |
2173 alias waveInGetDevCapsW waveInGetDevCaps; | |
2174 alias waveInGetErrorTextW waveInGetErrorText; | |
2175 alias midiOutGetDevCapsW midiOutGetDevCaps; | |
2176 alias midiOutGetErrorTextW midiOutGetErrorText; | |
2177 alias midiInGetDevCapsW midiInGetDevCaps; | |
2178 alias midiInGetErrorTextW midiInGetErrorText; | |
2179 alias auxGetDevCapsW auxGetDevCaps; | |
2180 alias mixerGetDevCapsW mixerGetDevCaps; | |
2181 alias mixerGetLineInfoW mixerGetLineInfo; | |
2182 alias mixerGetLineControlsW mixerGetLineControls; | |
2183 alias mixerGetControlDetailsW mixerGetControlDetails; | |
2184 alias joyGetDevCapsW joyGetDevCaps; | |
2185 alias mmioInstallIOProcW mmioInstallIOProc; | |
2186 alias mmioStringToFOURCCW mmioStringToFOURCC; | |
2187 alias mmioOpenW mmioOpen; | |
2188 alias mmioRenameW mmioRename; | |
2189 alias mciSendCommandW mciSendCommand; | |
2190 alias mciSendStringW mciSendString; | |
2191 alias mciGetDeviceIDW mciGetDeviceID; | |
2192 alias mciGetDeviceIDFromElementIDW mciGetDeviceIDFromElementID; | |
2193 alias mciGetErrorStringW mciGetErrorString; | |
2194 | |
2195 } else { | |
2196 alias WAVEOUTCAPSA WAVEOUTCAPS; | |
2197 alias WAVEINCAPSA WAVEINCAPS; | |
2198 alias MIDIOUTCAPSA MIDIOUTCAPS; | |
2199 alias MIDIINCAPSA MIDIINCAPS; | |
2200 alias AUXCAPSA AUXCAPS; | |
2201 alias MIXERCAPSA MIXERCAPS; | |
2202 alias MIXERLINEA MIXERLINE; | |
2203 alias MIXERCONTROLA MIXERCONTROL; | |
2204 alias MIXERLINECONTROLSA MIXERLINECONTROLS; | |
2205 alias MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT; | |
2206 alias JOYCAPSA JOYCAPS; | |
2207 alias MCI_OPEN_PARMSA MCI_OPEN_PARMS; | |
2208 alias MCI_INFO_PARMSA MCI_INFO_PARMS; | |
2209 alias MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS; | |
2210 alias MCI_SAVE_PARMSA MCI_SAVE_PARMS; | |
2211 alias MCI_LOAD_PARMSA MCI_LOAD_PARMS; | |
2212 alias MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS; | |
2213 alias MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS; | |
2214 alias MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS; | |
2215 alias MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS; | |
2216 alias MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS; | |
2217 alias MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS; | |
2218 alias MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS; | |
2219 | |
2220 alias sndPlaySoundA sndPlaySound; | |
2221 alias PlaySoundA PlaySound; | |
2222 alias waveOutGetDevCapsA waveOutGetDevCaps; | |
2223 alias waveOutGetErrorTextA waveOutGetErrorText; | |
2224 alias waveInGetDevCapsA waveInGetDevCaps; | |
2225 alias waveInGetErrorTextA waveInGetErrorText; | |
2226 alias midiOutGetDevCapsA midiOutGetDevCaps; | |
2227 alias midiOutGetErrorTextA midiOutGetErrorText; | |
2228 alias midiInGetDevCapsA midiInGetDevCaps; | |
2229 alias midiInGetErrorTextA midiInGetErrorText; | |
2230 alias auxGetDevCapsA auxGetDevCaps; | |
2231 alias mixerGetDevCapsA mixerGetDevCaps; | |
2232 alias mixerGetLineInfoA mixerGetLineInfo; | |
2233 alias mixerGetLineControlsA mixerGetLineControls; | |
2234 alias mixerGetControlDetailsA mixerGetControlDetails; | |
2235 alias joyGetDevCapsA joyGetDevCaps; | |
2236 alias mmioInstallIOProcA mmioInstallIOProc; | |
2237 alias mmioStringToFOURCCA mmioStringToFOURCC; | |
2238 alias mmioOpenA mmioOpen; | |
2239 alias mmioRenameA mmioRename; | |
2240 alias mciSendCommandA mciSendCommand; | |
2241 alias mciSendStringA mciSendString; | |
2242 alias mciGetDeviceIDA mciGetDeviceID; | |
2243 alias mciGetDeviceIDFromElementIDA mciGetDeviceIDFromElementID; | |
2244 alias mciGetErrorStringA mciGetErrorString; | |
2245 } | |
2246 | |
2247 alias WAVEOUTCAPS* PWAVEOUTCAPS, LPWAVEOUTCAPS; | |
2248 alias WAVEINCAPS* PWAVEINCAPS, LPWAVEINCAPS; | |
2249 alias MIDIOUTCAPS* PMIDIOUTCAPS, LPMIDIOUTCAPS; | |
2250 alias MIDIINCAPS* PMIDIINCAPS, LPMIDIINCAPS; | |
2251 alias AUXCAPS* PAUXCAPS, LPAUXCAPS; | |
2252 alias MIXERCAPS* PMIXERCAPS, LPMIXERCAPS; | |
2253 alias MIXERLINE* PMIXERLINE, LPMIXERLINE; | |
2254 alias MIXERCONTROL* PMIXERCONTROL, LPMIXERCONTROL; | |
2255 alias MIXERLINECONTROLS* PMIXERLINECONTROLS, LPMIXERLINECONTROLS; | |
2256 alias MIXERCONTROLDETAILS_LISTTEXT* PMIXERCONTROLDETAILS_LISTTEXT, LPMIXERCONTROLDETAILS_LISTTEXT; | |
2257 alias JOYCAPS* PJOYCAPS, LPJOYCAPS; | |
2258 alias MCI_OPEN_PARMS* PMCI_OPEN_PARMS, LPMCI_OPEN_PARMS; | |
2259 alias MCI_INFO_PARMS* LPMCI_INFO_PARMS; | |
2260 alias MCI_SYSINFO_PARMS* PMCI_SYSINFO_PARMS, LPMCI_SYSINFO_PARMS; | |
2261 alias MCI_SAVE_PARMS* PMCI_SAVE_PARMS, LPMCI_SAVE_PARMS; | |
2262 alias MCI_LOAD_PARMS* PMCI_LOAD_PARMS, LPMCI_LOAD_PARMS; | |
2263 alias MCI_VD_ESCAPE_PARMS* PMCI_VD_ESCAPE_PARMS, LPMCI_VD_ESCAPE_PARMS; | |
2264 alias MCI_WAVE_OPEN_PARMS* PMCI_WAVE_OPEN_PARMS, LPMCI_WAVE_OPEN_PARMS; | |
2265 alias MCI_ANIM_OPEN_PARMS* PMCI_ANIM_OPEN_PARMS, LPMCI_ANIM_OPEN_PARMS; | |
2266 alias MCI_ANIM_WINDOW_PARMS* PMCI_ANIM_WINDOW_PARMS, LPMCI_ANIM_WINDOW_PARMS; | |
2267 alias MCI_OVLY_OPEN_PARMS* PMCI_OVLY_OPEN_PARMS, LPMCI_OVLY_OPEN_PARMS; | |
2268 alias MCI_OVLY_WINDOW_PARMS* PMCI_OVLY_WINDOW_PARMS, LPMCI_OVLY_WINDOW_PARMS; | |
2269 alias MCI_OVLY_SAVE_PARMS* PMCI_OVLY_SAVE_PARMS, LPMCI_OVLY_SAVE_PARMS; |