| /** |
| * Windows API header module |
| * |
| * Translated from MinGW Windows headers |
| * |
| * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) |
| * Source: $(DRUNTIMESRC core/sys/windows/_mmsystem.d) |
| */ |
| module core.sys.windows.mmsystem; |
| version (Windows): |
| |
| version (ANSI) {} else version = Unicode; |
| pragma(lib, "winmm"); |
| |
| /* The #defines MAKEFOURCC, mmioFOURCC, sndAlias are used to define |
| * compile-time constants, so they are implemented as templates. |
| */ |
| |
| import core.sys.windows.w32api, core.sys.windows.windef, core.sys.windows.winver; |
| |
| align(1): |
| |
| enum MAXPNAMELEN = 32; |
| enum MAXERRORLENGTH = 256; |
| enum MAX_JOYSTICKOEMVXDNAME = 260; |
| |
| enum TIME_MS = 1; |
| enum TIME_SAMPLES = 2; |
| enum TIME_BYTES = 4; |
| enum TIME_SMPTE = 8; |
| enum TIME_MIDI = 16; |
| enum TIME_TICKS = 32; |
| |
| template MAKEFOURCC(char c0, char c1, char c2, char c3) |
| { |
| enum DWORD MAKEFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24); |
| } |
| |
| template mmioFOURCC(char c0, char c1, char c2, char c3) |
| { |
| enum DWORD mmioFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24); |
| } |
| |
| enum { |
| MM_JOY1MOVE = 0x3A0, |
| MM_JOY2MOVE, |
| MM_JOY1ZMOVE, |
| MM_JOY2ZMOVE, // = 0x3A3 |
| MM_JOY1BUTTONDOWN = 0x3B5, |
| MM_JOY2BUTTONDOWN, |
| MM_JOY1BUTTONUP, |
| MM_JOY2BUTTONUP, |
| MM_MCINOTIFY, // = 0x3B9 |
| MM_WOM_OPEN = 0x3BB, |
| MM_WOM_CLOSE, |
| MM_WOM_DONE, |
| MM_WIM_OPEN, |
| MM_WIM_CLOSE, |
| MM_WIM_DATA, |
| MM_MIM_OPEN, |
| MM_MIM_CLOSE, |
| MM_MIM_DATA, |
| MM_MIM_LONGDATA, |
| MM_MIM_ERROR, |
| MM_MIM_LONGERROR, |
| MM_MOM_OPEN, |
| MM_MOM_CLOSE, |
| MM_MOM_DONE, // = 0x3C9 |
| MM_DRVM_OPEN = 0x3D0, |
| MM_DRVM_CLOSE, |
| MM_DRVM_DATA, |
| MM_DRVM_ERROR, |
| MM_STREAM_OPEN, |
| MM_STREAM_CLOSE, |
| MM_STREAM_DONE, |
| MM_STREAM_ERROR, // = 0x3D7 |
| MM_MOM_POSITIONCB = 0x3CA, |
| MM_MCISIGNAL, |
| MM_MIM_MOREDATA, // = 0x3CC |
| MM_MIXM_LINE_CHANGE = 0x3D0, |
| MM_MIXM_CONTROL_CHANGE = 0x3D1 |
| } |
| |
| enum MMSYSERR_BASE = 0; |
| enum WAVERR_BASE = 32; |
| enum MIDIERR_BASE = 64; |
| enum TIMERR_BASE = 96; |
| enum JOYERR_BASE = 160; |
| enum MCIERR_BASE = 256; |
| enum MIXERR_BASE = 1024; |
| enum MCI_STRING_OFFSET = 512; |
| enum MCI_VD_OFFSET = 1024; |
| enum MCI_CD_OFFSET = 1088; |
| enum MCI_WAVE_OFFSET = 1152; |
| enum MCI_SEQ_OFFSET = 1216; |
| |
| enum { |
| MMSYSERR_NOERROR = 0, |
| MMSYSERR_ERROR = MMSYSERR_BASE+1, |
| MMSYSERR_BADDEVICEID, |
| MMSYSERR_NOTENABLED, |
| MMSYSERR_ALLOCATED, |
| MMSYSERR_INVALHANDLE, |
| MMSYSERR_NODRIVER, |
| MMSYSERR_NOMEM, |
| MMSYSERR_NOTSUPPORTED, |
| MMSYSERR_BADERRNUM, |
| MMSYSERR_INVALFLAG, |
| MMSYSERR_INVALPARAM, |
| MMSYSERR_HANDLEBUSY, |
| MMSYSERR_INVALIDALIAS, |
| MMSYSERR_BADDB, |
| MMSYSERR_KEYNOTFOUND, |
| MMSYSERR_READERROR, |
| MMSYSERR_WRITEERROR, |
| MMSYSERR_DELETEERROR, |
| MMSYSERR_VALNOTFOUND, |
| MMSYSERR_NODRIVERCB, // = MMSYSERR_BASE+20 |
| MMSYSERR_LASTERROR = MMSYSERR_NODRIVERCB |
| } |
| |
| enum { |
| DRV_LOAD = 1, |
| DRV_ENABLE, |
| DRV_OPEN, |
| DRV_CLOSE, |
| DRV_DISABLE, |
| DRV_FREE, |
| DRV_CONFIGURE, |
| DRV_QUERYCONFIGURE, |
| DRV_INSTALL, |
| DRV_REMOVE, |
| DRV_EXITSESSION, |
| DRV_POWER |
| } |
| |
| enum DRV_RESERVED = 0x800; |
| enum DRV_USER = 0x4000; |
| |
| enum DRVCNF_CANCEL = 0; |
| enum DRVCNF_OK = 1; |
| enum DRVCNF_RESTART = 2; |
| enum DRV_CANCEL = DRVCNF_CANCEL; |
| enum DRV_OK = DRVCNF_OK; |
| enum DRV_RESTART = DRVCNF_RESTART; |
| enum DRV_MCI_FIRST = DRV_RESERVED; |
| enum DRV_MCI_LAST = DRV_RESERVED + 0xFFF; |
| |
| enum CALLBACK_TYPEMASK = 0x70000; |
| enum CALLBACK_NULL = 0; |
| enum CALLBACK_WINDOW = 0x10000; |
| enum CALLBACK_TASK = 0x20000; |
| enum CALLBACK_FUNCTION = 0x30000; |
| enum CALLBACK_THREAD = CALLBACK_TASK; |
| enum CALLBACK_EVENT = 0x50000; |
| |
| enum SND_SYNC=0; |
| enum SND_ASYNC=1; |
| enum SND_NODEFAULT=2; |
| enum SND_MEMORY=4; |
| enum SND_LOOP=8; |
| enum SND_NOSTOP=16; |
| enum SND_NOWAIT=0x2000; |
| enum SND_ALIAS=0x10000; |
| enum SND_ALIAS_ID=0x110000; |
| enum SND_FILENAME=0x20000; |
| enum SND_RESOURCE=0x40004; |
| enum SND_PURGE=0x40; |
| enum SND_APPLICATION=0x80; |
| enum SND_ALIAS_START=0; |
| |
| template sndAlias(char c0, char c1) |
| { |
| enum DWORD sndAlias = SND_ALIAS_START + c0 | (c1<<8); |
| } |
| |
| enum SND_ALIAS_SYSTEMASTERISK = sndAlias!('S', '*'); |
| enum SND_ALIAS_SYSTEMQUESTION = sndAlias!('S', '?'); |
| enum SND_ALIAS_SYSTEMHAND = sndAlias!('S', 'H'); |
| enum SND_ALIAS_SYSTEMEXIT = sndAlias!('S', 'E'); |
| enum SND_ALIAS_SYSTEMSTART = sndAlias!('S', 'S'); |
| enum SND_ALIAS_SYSTEMWELCOME = sndAlias!('S', 'W'); |
| enum SND_ALIAS_SYSTEMEXCLAMATION = sndAlias!('S', '!'); |
| enum SND_ALIAS_SYSTEMDEFAULT = sndAlias!('S', 'D'); |
| |
| enum { |
| WAVERR_BADFORMAT = (WAVERR_BASE + 0), |
| WAVERR_STILLPLAYING, |
| WAVERR_UNPREPARED, |
| WAVERR_SYNC, // = WAVERR_BASE + 3; |
| WAVERR_LASTERROR = WAVERR_SYNC |
| } |
| |
| enum WOM_OPEN = MM_WOM_OPEN; |
| enum WOM_CLOSE = MM_WOM_CLOSE; |
| enum WOM_DONE = MM_WOM_DONE; |
| enum WIM_OPEN = MM_WIM_OPEN; |
| enum WIM_CLOSE = MM_WIM_CLOSE; |
| enum WIM_DATA = MM_WIM_DATA; |
| |
| enum UINT WAVE_MAPPER= -1; // FIXME: This doesn't make sense! |
| enum WAVE_FORMAT_QUERY=1; |
| enum WAVE_ALLOWSYNC=2; |
| enum WAVE_MAPPED=4; |
| enum WAVE_FORMAT_DIRECT=8; |
| enum WAVE_FORMAT_DIRECT_QUERY=(WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT); |
| enum WHDR_DONE=1; |
| enum WHDR_PREPARED=2; |
| enum WHDR_BEGINLOOP=4; |
| enum WHDR_ENDLOOP=8; |
| enum WHDR_INQUEUE=16; |
| |
| enum WAVECAPS_PITCH=1; |
| enum WAVECAPS_PLAYBACKRATE=2; |
| enum WAVECAPS_VOLUME=4; |
| enum WAVECAPS_LRVOLUME=8; |
| enum WAVECAPS_SYNC=16; |
| enum WAVECAPS_SAMPLEACCURATE=32; |
| enum WAVECAPS_DIRECTSOUND=64; |
| |
| enum WAVE_INVALIDFORMAT=0; |
| enum WAVE_FORMAT_1M08=1; |
| enum WAVE_FORMAT_1S08=2; |
| enum WAVE_FORMAT_1M16=4; |
| enum WAVE_FORMAT_1S16=8; |
| enum WAVE_FORMAT_2M08=16; |
| enum WAVE_FORMAT_2S08=32; |
| enum WAVE_FORMAT_2M16=64; |
| enum WAVE_FORMAT_2S16=128; |
| enum WAVE_FORMAT_4M08=256; |
| enum WAVE_FORMAT_4S08=512; |
| enum WAVE_FORMAT_4M16=1024; |
| enum WAVE_FORMAT_4S16=2048; |
| enum WAVE_FORMAT_PCM=1; |
| |
| enum { |
| MIDIERR_UNPREPARED = MIDIERR_BASE, |
| MIDIERR_STILLPLAYING, |
| MIDIERR_NOMAP, |
| MIDIERR_NOTREADY, |
| MIDIERR_NODEVICE, |
| MIDIERR_INVALIDSETUP, |
| MIDIERR_BADOPENMODE, |
| MIDIERR_DONT_CONTINUE, // = MIDIERR_BASE+7 |
| MIDIERR_LASTERROR = MIDIERR_DONT_CONTINUE |
| } |
| |
| enum MIDIPATCHSIZE=128; |
| |
| enum MIM_OPEN=MM_MIM_OPEN; |
| enum MIM_CLOSE=MM_MIM_CLOSE; |
| enum MIM_DATA=MM_MIM_DATA; |
| enum MIM_LONGDATA=MM_MIM_LONGDATA; |
| enum MIM_ERROR=MM_MIM_ERROR; |
| enum MIM_LONGERROR=MM_MIM_LONGERROR; |
| enum MOM_OPEN=MM_MOM_OPEN; |
| enum MOM_CLOSE=MM_MOM_CLOSE; |
| enum MOM_DONE=MM_MOM_DONE; |
| enum MIM_MOREDATA=MM_MIM_MOREDATA; |
| enum MOM_POSITIONCB=MM_MOM_POSITIONCB; |
| |
| enum UINT MIDIMAPPER= -1; // FIXME: uint is nonsense for this! |
| enum UINT MIDI_MAPPER= -1; // FIXME: uint is nonsense for this! |
| enum MIDI_IO_STATUS=32; |
| enum MIDI_CACHE_ALL=1; |
| enum MIDI_CACHE_BESTFIT=2; |
| enum MIDI_CACHE_QUERY=3; |
| enum MIDI_UNCACHE=4; |
| enum MOD_MIDIPORT=1; |
| enum MOD_SYNTH=2; |
| enum MOD_SQSYNTH=3; |
| enum MOD_FMSYNTH=4; |
| enum MOD_MAPPER=5; |
| enum MIDICAPS_VOLUME=1; |
| enum MIDICAPS_LRVOLUME=2; |
| enum MIDICAPS_CACHE=4; |
| enum MIDICAPS_STREAM=8; |
| enum MHDR_DONE=1; |
| enum MHDR_PREPARED=2; |
| enum MHDR_INQUEUE=4; |
| enum MHDR_ISSTRM=8; |
| enum MEVT_F_SHORT=0; |
| enum MEVT_F_LONG=0x80000000; |
| enum MEVT_F_CALLBACK=0x40000000; |
| |
| BYTE MEVT_EVENTTYPE()(DWORD x) { return cast(BYTE)((x>>24) &0xFF); } |
| DWORD MEVT_EVENTPARM()(DWORD x) { return x & 0xFFFFFF; } |
| |
| enum MEVT_SHORTMSG=0; |
| enum MEVT_TEMPO=1; |
| enum MEVT_NOP=2; |
| |
| enum BYTE MEVT_LONGMSG = 0x80; |
| enum BYTE MEVT_COMMENT = 0x82; |
| enum BYTE MEVT_VERSION = 0x84; |
| |
| enum MIDISTRM_ERROR = -2; |
| |
| enum MIDIPROP_SET = 0x80000000; |
| enum MIDIPROP_GET = 0x40000000; |
| enum MIDIPROP_TIMEDIV = 1; |
| enum MIDIPROP_TEMPO = 2; |
| |
| enum UINT AUX_MAPPER = -1; |
| |
| enum AUXCAPS_CDAUDIO=1; |
| enum AUXCAPS_AUXIN=2; |
| enum AUXCAPS_VOLUME=1; |
| enum AUXCAPS_LRVOLUME=2; |
| enum MIXER_SHORT_NAME_CHARS=16; |
| enum MIXER_LONG_NAME_CHARS=64; |
| enum MIXERR_INVALLINE=MIXERR_BASE; |
| enum MIXERR_INVALCONTROL=(MIXERR_BASE+1); |
| enum MIXERR_INVALVALUE=(MIXERR_BASE+2); |
| enum MIXERR_LASTERROR=(MIXERR_BASE+2); |
| |
| enum MIXER_OBJECTF_HANDLE=0x80000000; |
| enum MIXER_OBJECTF_MIXER=0; |
| enum MIXER_OBJECTF_HMIXER=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER); |
| enum MIXER_OBJECTF_WAVEOUT=0x10000000; |
| enum MIXER_OBJECTF_HWAVEOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT); |
| enum MIXER_OBJECTF_WAVEIN=0x20000000; |
| enum MIXER_OBJECTF_HWAVEIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN); |
| enum MIXER_OBJECTF_MIDIOUT=0x30000000; |
| enum MIXER_OBJECTF_HMIDIOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT); |
| enum MIXER_OBJECTF_MIDIIN=0x40000000; |
| enum MIXER_OBJECTF_HMIDIIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN); |
| enum MIXER_OBJECTF_AUX=0x50000000; |
| |
| enum MIXERLINE_LINEF_ACTIVE=1; |
| enum MIXERLINE_LINEF_DISCONNECTED=0x8000; |
| enum MIXERLINE_LINEF_SOURCE=0x80000000; |
| |
| enum MIXERLINE_COMPONENTTYPE_DST_FIRST=0; |
| enum MIXERLINE_COMPONENTTYPE_DST_UNDEFINED=MIXERLINE_COMPONENTTYPE_DST_FIRST; |
| enum MIXERLINE_COMPONENTTYPE_DST_DIGITAL=(MIXERLINE_COMPONENTTYPE_DST_FIRST+1); |
| enum MIXERLINE_COMPONENTTYPE_DST_LINE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+2); |
| enum MIXERLINE_COMPONENTTYPE_DST_MONITOR=(MIXERLINE_COMPONENTTYPE_DST_FIRST+3); |
| enum MIXERLINE_COMPONENTTYPE_DST_SPEAKERS=(MIXERLINE_COMPONENTTYPE_DST_FIRST+4); |
| enum MIXERLINE_COMPONENTTYPE_DST_HEADPHONES=(MIXERLINE_COMPONENTTYPE_DST_FIRST+5); |
| enum MIXERLINE_COMPONENTTYPE_DST_TELEPHONE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+6); |
| enum MIXERLINE_COMPONENTTYPE_DST_WAVEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+7); |
| enum MIXERLINE_COMPONENTTYPE_DST_VOICEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8); |
| enum MIXERLINE_COMPONENTTYPE_DST_LAST=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8); |
| enum MIXERLINE_COMPONENTTYPE_SRC_FIRST=0x1000; |
| enum MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED=MIXERLINE_COMPONENTTYPE_SRC_FIRST; |
| enum MIXERLINE_COMPONENTTYPE_SRC_DIGITAL=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+1); |
| enum MIXERLINE_COMPONENTTYPE_SRC_LINE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+2); |
| enum MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+3); |
| enum MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+4); |
| enum MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+5); |
| enum MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+6); |
| enum MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+7); |
| enum MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+8); |
| enum MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+9); |
| enum MIXERLINE_COMPONENTTYPE_SRC_ANALOG=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10); |
| enum MIXERLINE_COMPONENTTYPE_SRC_LAST=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10); |
| |
| enum { |
| MIXERLINE_TARGETTYPE_UNDEFINED = 0, |
| MIXERLINE_TARGETTYPE_WAVEOUT, |
| MIXERLINE_TARGETTYPE_WAVEIN, |
| MIXERLINE_TARGETTYPE_MIDIOUT, |
| MIXERLINE_TARGETTYPE_MIDIIN, |
| MIXERLINE_TARGETTYPE_AUX // =5 |
| } |
| |
| enum MIXER_GETLINEINFOF_DESTINATION=0; |
| enum MIXER_GETLINEINFOF_SOURCE=1; |
| enum MIXER_GETLINEINFOF_LINEID=2; |
| enum MIXER_GETLINEINFOF_COMPONENTTYPE=3; |
| enum MIXER_GETLINEINFOF_TARGETTYPE=4; |
| enum MIXER_GETLINEINFOF_QUERYMASK=15; |
| |
| enum MIXERCONTROL_CONTROLF_UNIFORM=1; |
| enum MIXERCONTROL_CONTROLF_MULTIPLE=2; |
| enum MIXERCONTROL_CONTROLF_DISABLED=0x80000000; |
| enum MIXERCONTROL_CT_CLASS_MASK=0xF0000000; |
| enum MIXERCONTROL_CT_CLASS_CUSTOM=0; |
| enum MIXERCONTROL_CT_CLASS_METER=0x10000000; |
| enum MIXERCONTROL_CT_CLASS_SWITCH=0x20000000; |
| enum MIXERCONTROL_CT_CLASS_NUMBER=0x30000000; |
| enum MIXERCONTROL_CT_CLASS_SLIDER=0x40000000; |
| enum MIXERCONTROL_CT_CLASS_FADER=0x50000000; |
| enum MIXERCONTROL_CT_CLASS_TIME=0x60000000; |
| enum MIXERCONTROL_CT_CLASS_LIST=0x70000000; |
| enum MIXERCONTROL_CT_SUBCLASS_MASK=0xF000000; |
| enum MIXERCONTROL_CT_SC_SWITCH_BOOLEAN=0; |
| enum MIXERCONTROL_CT_SC_SWITCH_BUTTON=0x1000000; |
| enum MIXERCONTROL_CT_SC_METER_POLLED=0; |
| enum MIXERCONTROL_CT_SC_TIME_MICROSECS=0; |
| enum MIXERCONTROL_CT_SC_TIME_MILLISECS=0x1000000; |
| enum MIXERCONTROL_CT_SC_LIST_SINGLE=0; |
| enum MIXERCONTROL_CT_SC_LIST_MULTIPLE=0x1000000; |
| enum MIXERCONTROL_CT_UNITS_MASK=0xFF0000; |
| enum MIXERCONTROL_CT_UNITS_CUSTOM=0; |
| enum MIXERCONTROL_CT_UNITS_BOOLEAN=0x10000; |
| enum MIXERCONTROL_CT_UNITS_SIGNED=0x20000; |
| enum MIXERCONTROL_CT_UNITS_UNSIGNED=0x30000; |
| enum MIXERCONTROL_CT_UNITS_DECIBELS=0x40000; |
| enum MIXERCONTROL_CT_UNITS_PERCENT=0x50000; |
| |
| enum MIXERCONTROL_CONTROLTYPE_CUSTOM=(MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM); |
| enum MIXERCONTROL_CONTROLTYPE_BOOLEANMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN); |
| enum MIXERCONTROL_CONTROLTYPE_SIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED); |
| enum MIXERCONTROL_CONTROLTYPE_PEAKMETER=(MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1); |
| enum MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED); |
| enum MIXERCONTROL_CONTROLTYPE_BOOLEAN=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN); |
| enum MIXERCONTROL_CONTROLTYPE_ONOFF=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+1); |
| enum MIXERCONTROL_CONTROLTYPE_MUTE=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+2); |
| enum MIXERCONTROL_CONTROLTYPE_MONO=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+3); |
| enum MIXERCONTROL_CONTROLTYPE_LOUDNESS=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+4); |
| enum MIXERCONTROL_CONTROLTYPE_STEREOENH=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+5); |
| enum MIXERCONTROL_CONTROLTYPE_BUTTON=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN); |
| enum MIXERCONTROL_CONTROLTYPE_DECIBELS=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS); |
| enum MIXERCONTROL_CONTROLTYPE_SIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED); |
| enum MIXERCONTROL_CONTROLTYPE_UNSIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED); |
| enum MIXERCONTROL_CONTROLTYPE_PERCENT=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT); |
| enum MIXERCONTROL_CONTROLTYPE_SLIDER=(MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED); |
| enum MIXERCONTROL_CONTROLTYPE_PAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+1); |
| enum MIXERCONTROL_CONTROLTYPE_QSOUNDPAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+2); |
| enum MIXERCONTROL_CONTROLTYPE_FADER=(MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED); |
| enum MIXERCONTROL_CONTROLTYPE_VOLUME=(MIXERCONTROL_CONTROLTYPE_FADER+1); |
| enum MIXERCONTROL_CONTROLTYPE_BASS=(MIXERCONTROL_CONTROLTYPE_FADER+2); |
| enum MIXERCONTROL_CONTROLTYPE_TREBLE=(MIXERCONTROL_CONTROLTYPE_FADER+3); |
| enum MIXERCONTROL_CONTROLTYPE_EQUALIZER=(MIXERCONTROL_CONTROLTYPE_FADER+4); |
| enum MIXERCONTROL_CONTROLTYPE_SINGLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN); |
| enum MIXERCONTROL_CONTROLTYPE_MUX=(MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1); |
| enum MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN); |
| enum MIXERCONTROL_CONTROLTYPE_MIXER=(MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1); |
| enum MIXERCONTROL_CONTROLTYPE_MICROTIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED); |
| enum MIXERCONTROL_CONTROLTYPE_MILLITIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED); |
| |
| enum MIXER_GETLINECONTROLSF_ALL=0; |
| enum MIXER_GETLINECONTROLSF_ONEBYID=1; |
| enum MIXER_GETLINECONTROLSF_ONEBYTYPE=2; |
| enum MIXER_GETLINECONTROLSF_QUERYMASK=15; |
| enum MIXER_GETCONTROLDETAILSF_VALUE=0; |
| enum MIXER_GETCONTROLDETAILSF_LISTTEXT=1; |
| enum MIXER_GETCONTROLDETAILSF_QUERYMASK=15; |
| enum MIXER_SETCONTROLDETAILSF_VALUE=0; |
| enum MIXER_SETCONTROLDETAILSF_CUSTOM=1; |
| enum MIXER_SETCONTROLDETAILSF_QUERYMASK=15; |
| |
| enum TIMERR_NOERROR=0; |
| enum TIMERR_NOCANDO=(TIMERR_BASE+1); |
| enum TIMERR_STRUCT=(TIMERR_BASE+33); |
| enum TIME_ONESHOT=0; |
| enum TIME_PERIODIC=1; |
| enum TIME_CALLBACK_FUNCTION=0; |
| enum TIME_CALLBACK_EVENT_SET=16; |
| enum TIME_CALLBACK_EVENT_PULSE=32; |
| |
| static if (_WIN32_WINNT >= 0x501) { |
| |
| enum TIME_KILL_SYNCHRONOUS=0x0100; |
| |
| } |
| |
| enum JOYERR_NOERROR = 0; |
| enum JOYERR_PARMS=(JOYERR_BASE+5); |
| enum JOYERR_NOCANDO=(JOYERR_BASE+6); |
| enum JOYERR_UNPLUGGED=(JOYERR_BASE+7); |
| |
| enum JOY_BUTTON1=1; |
| enum JOY_BUTTON2=2; |
| enum JOY_BUTTON3=4; |
| enum JOY_BUTTON4=8; |
| enum JOY_BUTTON1CHG=256; |
| enum JOY_BUTTON2CHG=512; |
| enum JOY_BUTTON3CHG=1024; |
| enum JOY_BUTTON4CHG=2048; |
| enum JOY_BUTTON5=257; |
| enum JOY_BUTTON6=513; |
| enum JOY_BUTTON7=1025; |
| enum JOY_BUTTON8=2049; |
| enum JOY_BUTTON9=256; |
| enum JOY_BUTTON10=512; |
| enum JOY_BUTTON11=1024; |
| enum JOY_BUTTON12=2048; |
| enum JOY_BUTTON13=4096; |
| enum JOY_BUTTON14=8192; |
| enum JOY_BUTTON15=16384; |
| enum JOY_BUTTON16=32768; |
| enum JOY_BUTTON17=65536; |
| enum JOY_BUTTON18=0x20000; |
| enum JOY_BUTTON19=0x40000; |
| enum JOY_BUTTON20=0x80000; |
| enum JOY_BUTTON21=0x100000; |
| enum JOY_BUTTON22=0x200000; |
| enum JOY_BUTTON23=0x400000; |
| enum JOY_BUTTON24=0x800000; |
| enum JOY_BUTTON25=0x1000000; |
| enum JOY_BUTTON26=0x2000000; |
| enum JOY_BUTTON27=0x4000000; |
| enum JOY_BUTTON28=0x8000000; |
| enum JOY_BUTTON29=0x10000000; |
| enum JOY_BUTTON30=0x20000000; |
| enum JOY_BUTTON31=0x40000000; |
| enum JOY_BUTTON32=0x80000000; |
| |
| enum : DWORD { |
| JOY_POVCENTERED = -1, |
| JOY_POVFORWARD = 0, |
| JOY_POVBACKWARD = 18000, |
| JOY_POVLEFT = 27000, |
| JOY_POVRIGHT = 9000 |
| } |
| |
| enum DWORD |
| JOY_RETURNX = 0x00000001, |
| JOY_RETURNY = 0x00000002, |
| JOY_RETURNZ = 0x00000004, |
| JOY_RETURNR = 0x00000008, |
| JOY_RETURNU = 0x00000010, |
| JOY_RETURNV = 0x00000020, |
| JOY_RETURNPOV = 0x00000040, |
| JOY_RETURNBUTTONS = 0x00000080, |
| JOY_RETURNRAWDATA = 0x00000100, |
| JOY_RETURNPOVCTS = 0x00000200, |
| JOY_RETURNCENTERED = 0x00000400, |
| JOY_USEDEADZONE = 0x00000800, |
| JOY_RETURNALL = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETURNR |
| | JOY_RETURNU | JOY_RETURNV | JOY_RETURNPOV |
| | JOY_RETURNBUTTONS, |
| JOY_CAL_READALWAYS = 0x00010000, |
| JOY_CAL_READXYONLY = 0x00020000, |
| JOY_CAL_READ3 = 0x00040000, |
| JOY_CAL_READ4 = 0x00080000, |
| JOY_CAL_READXONLY = 0x00100000, |
| JOY_CAL_READYONLY = 0x00200000, |
| JOY_CAL_READ5 = 0x00400000, |
| JOY_CAL_READ6 = 0x00800000, |
| JOY_CAL_READZONLY = 0x01000000, |
| JOY_CAL_READRONLY = 0x02000000, |
| JOY_CAL_READUONLY = 0x04000000, |
| JOY_CAL_READVONLY = 0x08000000; |
| |
| enum JOYSTICKID1=0; |
| enum JOYSTICKID2=1; |
| |
| enum JOYCAPS_HASZ=1; |
| enum JOYCAPS_HASR=2; |
| enum JOYCAPS_HASU=4; |
| enum JOYCAPS_HASV=8; |
| enum JOYCAPS_HASPOV=16; |
| enum JOYCAPS_POV4DIR=32; |
| enum JOYCAPS_POVCTS=64; |
| |
| enum MMIOERR_BASE=256; |
| enum MMIOERR_FILENOTFOUND=(MMIOERR_BASE+1); |
| enum MMIOERR_OUTOFMEMORY=(MMIOERR_BASE+2); |
| enum MMIOERR_CANNOTOPEN=(MMIOERR_BASE+3); |
| enum MMIOERR_CANNOTCLOSE=(MMIOERR_BASE+4); |
| enum MMIOERR_CANNOTREAD=(MMIOERR_BASE+5); |
| enum MMIOERR_CANNOTWRITE=(MMIOERR_BASE+6); |
| enum MMIOERR_CANNOTSEEK=(MMIOERR_BASE+7); |
| enum MMIOERR_CANNOTEXPAND=(MMIOERR_BASE+8); |
| enum MMIOERR_CHUNKNOTFOUND=(MMIOERR_BASE+9); |
| enum MMIOERR_UNBUFFERED=(MMIOERR_BASE+10); |
| enum MMIOERR_PATHNOTFOUND=(MMIOERR_BASE+11); |
| enum MMIOERR_ACCESSDENIED=(MMIOERR_BASE+12); |
| enum MMIOERR_SHARINGVIOLATION=(MMIOERR_BASE+13); |
| enum MMIOERR_NETWORKERROR=(MMIOERR_BASE+14); |
| enum MMIOERR_TOOMANYOPENFILES=(MMIOERR_BASE+15); |
| enum MMIOERR_INVALIDFILE=(MMIOERR_BASE+16); |
| |
| enum CFSEPCHAR='+'; |
| |
| enum MMIO_RWMODE=3; |
| enum MMIO_SHAREMODE=0x70; |
| enum MMIO_CREATE=0x1000; |
| enum MMIO_PARSE=256; |
| enum MMIO_DELETE=512; |
| enum MMIO_EXIST=0x4000; |
| enum MMIO_ALLOCBUF=0x10000; |
| enum MMIO_GETTEMP=0x20000; |
| enum MMIO_DIRTY=0x10000000; |
| enum MMIO_READ=0; |
| enum MMIO_WRITE=1; |
| enum MMIO_READWRITE=2; |
| enum MMIO_COMPAT=0; |
| enum MMIO_EXCLUSIVE=16; |
| enum MMIO_DENYWRITE=32; |
| enum MMIO_DENYREAD=0x30; |
| enum MMIO_DENYNONE=64; |
| enum MMIO_FHOPEN=16; |
| enum MMIO_EMPTYBUF=16; |
| enum MMIO_TOUPPER=16; |
| enum MMIO_INSTALLPROC=0x10000; |
| enum MMIO_GLOBALPROC=0x10000000; |
| enum MMIO_REMOVEPROC=0x20000; |
| enum MMIO_UNICODEPROC=0x1000000; |
| enum MMIO_FINDPROC=0x40000; |
| enum MMIO_FINDCHUNK=16; |
| enum MMIO_FINDRIFF=32; |
| enum MMIO_FINDLIST=64; |
| enum MMIO_CREATERIFF=32; |
| enum MMIO_CREATELIST=64; |
| enum MMIOM_READ=MMIO_READ; |
| enum MMIOM_WRITE=MMIO_WRITE; |
| enum MMIOM_SEEK=2; |
| enum MMIOM_OPEN=3; |
| enum MMIOM_CLOSE=4; |
| enum MMIOM_WRITEFLUSH=5; |
| enum MMIOM_RENAME=6; |
| enum MMIOM_USER=0x8000; |
| |
| enum FOURCC_RIFF = mmioFOURCC!('R', 'I', 'F', 'F'); |
| enum FOURCC_LIST = mmioFOURCC!('L', 'I', 'S', 'T'); |
| enum FOURCC_DOS = mmioFOURCC!('D', 'O', 'S', ' '); |
| enum FOURCC_MEM = mmioFOURCC!('M', 'E', 'M', ' '); |
| |
| enum MMIO_DEFAULTBUFFER=8192; |
| |
| enum { |
| MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1, |
| MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3, |
| MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5, |
| MCIERR_HARDWARE, |
| MCIERR_INVALID_DEVICE_NAME, |
| MCIERR_OUT_OF_MEMORY, |
| MCIERR_DEVICE_OPEN, |
| MCIERR_CANNOT_LOAD_DRIVER, |
| MCIERR_MISSING_COMMAND_STRING, |
| MCIERR_PARAM_OVERFLOW, |
| MCIERR_MISSING_STRING_ARGUMENT, |
| MCIERR_BAD_INTEGER, |
| MCIERR_PARSER_INTERNAL, |
| MCIERR_DRIVER_INTERNAL, |
| MCIERR_MISSING_PARAMETER, |
| MCIERR_UNSUPPORTED_FUNCTION, |
| MCIERR_FILE_NOT_FOUND, |
| MCIERR_DEVICE_NOT_READY, |
| MCIERR_INTERNAL, |
| MCIERR_DRIVER, |
| MCIERR_CANNOT_USE_ALL, |
| MCIERR_MULTIPLE, |
| MCIERR_EXTENSION_NOT_FOUND, |
| MCIERR_OUTOFRANGE, // = MCIERR_BASE+26 |
| MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28, |
| MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30, |
| MCIERR_DEVICE_TYPE_REQUIRED, |
| MCIERR_DEVICE_LOCKED, |
| MCIERR_DUPLICATE_ALIAS, |
| MCIERR_BAD_CONSTANT, |
| MCIERR_MUST_USE_SHAREABLE, |
| MCIERR_MISSING_DEVICE_NAME, |
| MCIERR_BAD_TIME_FORMAT, |
| MCIERR_NO_CLOSING_QUOTE, |
| MCIERR_DUPLICATE_FLAGS, |
| MCIERR_INVALID_FILE, |
| MCIERR_NULL_PARAMETER_BLOCK, |
| MCIERR_UNNAMED_RESOURCE, |
| MCIERR_NEW_REQUIRES_ALIAS, |
| MCIERR_NOTIFY_ON_AUTO_OPEN, |
| MCIERR_NO_ELEMENT_ALLOWED, |
| MCIERR_NONAPPLICABLE_FUNCTION, |
| MCIERR_ILLEGAL_FOR_AUTO_OPEN, |
| MCIERR_FILENAME_REQUIRED, |
| MCIERR_EXTRA_CHARACTERS, |
| MCIERR_DEVICE_NOT_INSTALLED, |
| MCIERR_GET_CD, |
| MCIERR_SET_CD, |
| MCIERR_SET_DRIVE, |
| MCIERR_DEVICE_LENGTH, |
| MCIERR_DEVICE_ORD_LENGTH, |
| MCIERR_NO_INTEGER, // = MCIERR_BASE + 56 |
| MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64, |
| MCIERR_WAVE_SETOUTPUTINUSE, |
| MCIERR_WAVE_INPUTSINUSE, |
| MCIERR_WAVE_SETINPUTINUSE, |
| MCIERR_WAVE_OUTPUTUNSPECIFIED, |
| MCIERR_WAVE_INPUTUNSPECIFIED, |
| MCIERR_WAVE_OUTPUTSUNSUITABLE, |
| MCIERR_WAVE_SETOUTPUTUNSUITABLE, |
| MCIERR_WAVE_INPUTSUNSUITABLE, |
| MCIERR_WAVE_SETINPUTUNSUITABLE, // = MCIERR_BASE + 73 |
| MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80, |
| MCIERR_SEQ_PORT_INUSE, |
| MCIERR_SEQ_PORT_NONEXISTENT, |
| MCIERR_SEQ_PORT_MAPNODEVICE, |
| MCIERR_SEQ_PORT_MISCERROR, |
| MCIERR_SEQ_TIMER, |
| MCIERR_SEQ_PORTUNSPECIFIED, |
| MCIERR_SEQ_NOMIDIPRESENT, // = MCIERR_BASE + 87 |
| MCIERR_NO_WINDOW = MCIERR_BASE + 90, |
| MCIERR_CREATEWINDOW, |
| MCIERR_FILE_READ, |
| MCIERR_FILE_WRITE, |
| MCIERR_NO_IDENTITY // = MCIERR_BASE + 94 |
| } |
| enum MCIERR_CUSTOM_DRIVER_BASE = MCIERR_BASE + 256; |
| |
| enum MCI_FIRST=DRV_MCI_FIRST; |
| enum MCI_OPEN=0x803; |
| enum MCI_CLOSE=0x804; |
| enum MCI_ESCAPE=0x805; |
| enum MCI_PLAY=0x806; |
| enum MCI_SEEK=0x807; |
| enum MCI_STOP=0x808; |
| enum MCI_PAUSE=0x809; |
| enum MCI_INFO=0x80A; |
| enum MCI_GETDEVCAPS=0x80B; |
| enum MCI_SPIN=0x80C; |
| enum MCI_SET=0x80D; |
| enum MCI_STEP=0x80E; |
| enum MCI_RECORD=0x80F; |
| enum MCI_SYSINFO=0x810; |
| enum MCI_BREAK=0x811; |
| enum MCI_SAVE=0x813; |
| enum MCI_STATUS=0x814; |
| enum MCI_CUE=0x830; |
| enum MCI_REALIZE=0x840; |
| enum MCI_WINDOW=0x841; |
| enum MCI_PUT=0x842; |
| enum MCI_WHERE=0x843; |
| enum MCI_FREEZE=0x844; |
| enum MCI_UNFREEZE=0x845; |
| enum MCI_LOAD=0x850; |
| enum MCI_CUT=0x851; |
| enum MCI_COPY=0x852; |
| enum MCI_PASTE=0x853; |
| enum MCI_UPDATE=0x854; |
| enum MCI_RESUME=0x855; |
| enum MCI_DELETE=0x856; |
| enum MCI_USER_MESSAGES=(DRV_MCI_FIRST+0x400); |
| enum MCI_LAST=0xFFF; |
| |
| enum MCIDEVICEID MCI_ALL_DEVICE_ID = -1; |
| |
| enum MCI_DEVTYPE_VCR=513; |
| enum MCI_DEVTYPE_VIDEODISC=514; |
| enum MCI_DEVTYPE_OVERLAY=515; |
| enum MCI_DEVTYPE_CD_AUDIO=516; |
| enum MCI_DEVTYPE_DAT=517; |
| enum MCI_DEVTYPE_SCANNER=518; |
| enum MCI_DEVTYPE_ANIMATION=519; |
| enum MCI_DEVTYPE_DIGITAL_VIDEO=520; |
| enum MCI_DEVTYPE_OTHER=521; |
| enum MCI_DEVTYPE_WAVEFORM_AUDIO=522; |
| enum MCI_DEVTYPE_SEQUENCER=523; |
| enum MCI_DEVTYPE_FIRST=MCI_DEVTYPE_VCR; |
| enum MCI_DEVTYPE_LAST=MCI_DEVTYPE_SEQUENCER; |
| enum MCI_DEVTYPE_FIRST_USER=0x1000; |
| enum MCI_MODE_NOT_READY=(MCI_STRING_OFFSET+12); |
| enum MCI_MODE_STOP=(MCI_STRING_OFFSET+13); |
| enum MCI_MODE_PLAY=(MCI_STRING_OFFSET+14); |
| enum MCI_MODE_RECORD=(MCI_STRING_OFFSET+15); |
| enum MCI_MODE_SEEK=(MCI_STRING_OFFSET+16); |
| enum MCI_MODE_PAUSE=(MCI_STRING_OFFSET+17); |
| enum MCI_MODE_OPEN=(MCI_STRING_OFFSET+18); |
| enum MCI_FORMAT_MILLISECONDS=0; |
| enum MCI_FORMAT_HMS=1; |
| enum MCI_FORMAT_MSF=2; |
| enum MCI_FORMAT_FRAMES=3; |
| enum MCI_FORMAT_SMPTE_24=4; |
| enum MCI_FORMAT_SMPTE_25=5; |
| enum MCI_FORMAT_SMPTE_30=6; |
| enum MCI_FORMAT_SMPTE_30DROP=7; |
| enum MCI_FORMAT_BYTES=8; |
| enum MCI_FORMAT_SAMPLES=9; |
| enum MCI_FORMAT_TMSF=10; |
| |
| |
| |
| |
| // Macros |
| BYTE MCI_HMS_HOUR()(DWORD t) { return cast(BYTE)(t); } |
| BYTE MCI_HMS_MINUTE()(DWORD t) { return cast(BYTE)(t>>>8); } |
| BYTE MCI_HMS_SECOND()(DWORD t) { return cast(BYTE)( t>>>16); } |
| DWORD MCI_MAKE_HMS()(BYTE h, BYTE m, BYTE s) { return h |(m<<8)|(cast(DWORD)(s)<<16); } |
| DWORD MCI_MAKE_MSF()(BYTE m, BYTE s, BYTE f) { return m |(s<<8)|(cast(DWORD)(f)<<16); } |
| DWORD MCI_MAKE_TMSF(BYTE t, BYTE m, BYTE s, BYTE f) { |
| return t |(m<<8)|(s<<16)|(cast(DWORD)(f)<< 24); } |
| |
| BYTE MCI_MSF_MINUTE()(DWORD t) { return cast(BYTE)(t); } |
| BYTE MCI_MSF_SECOND()(DWORD t) { return cast(BYTE)(t >>> 8); } |
| BYTE MCI_MSF_FRAME(DWORD t) { return cast(BYTE)(t >>> 16); } |
| |
| BYTE MCI_TMSF_TRACK()(DWORD t) { return cast(BYTE)(t); } |
| BYTE MCI_TMSF_MINUTE()(DWORD t) { return cast(BYTE)(t>>8); } |
| BYTE MCI_TMSF_SECOND()(DWORD t) { return cast(BYTE)(t>>16); } |
| BYTE MCI_TMSF_FRAME()(DWORD t) { return cast(BYTE)(t>>24); } |
| |
| |
| enum MCI_NOTIFY_SUCCESSFUL=1; |
| enum MCI_NOTIFY_SUPERSEDED=2; |
| enum MCI_NOTIFY_ABORTED=4; |
| enum MCI_NOTIFY_FAILURE=8; |
| enum MCI_NOTIFY=1; |
| enum MCI_WAIT=2; |
| enum MCI_FROM=4; |
| enum MCI_TO=8; |
| enum MCI_TRACK=16; |
| enum MCI_OPEN_SHAREABLE=256; |
| enum MCI_OPEN_ELEMENT=512; |
| enum MCI_OPEN_ALIAS=1024; |
| enum MCI_OPEN_ELEMENT_ID=2048; |
| enum MCI_OPEN_TYPE_ID=0x1000; |
| enum MCI_OPEN_TYPE=0x2000; |
| enum MCI_SEEK_TO_START=256; |
| enum MCI_SEEK_TO_END=512; |
| enum MCI_STATUS_ITEM=256; |
| enum MCI_STATUS_START=512; |
| enum MCI_STATUS_LENGTH=1; |
| enum MCI_STATUS_POSITION=2; |
| enum MCI_STATUS_NUMBER_OF_TRACKS=3; |
| enum MCI_STATUS_MODE=4; |
| enum MCI_STATUS_MEDIA_PRESENT=5; |
| enum MCI_STATUS_TIME_FORMAT=6; |
| enum MCI_STATUS_READY=7; |
| enum MCI_STATUS_CURRENT_TRACK=8; |
| enum MCI_INFO_PRODUCT=256; |
| enum MCI_INFO_FILE=512; |
| enum MCI_INFO_MEDIA_UPC=1024; |
| enum MCI_INFO_MEDIA_IDENTITY=2048; |
| enum MCI_INFO_NAME=0x1000; |
| enum MCI_INFO_COPYRIGHT=0x2000; |
| |
| enum MCI_GETDEVCAPS_ITEM=256; |
| enum MCI_GETDEVCAPS_CAN_RECORD=1; |
| enum MCI_GETDEVCAPS_HAS_AUDIO=2; |
| enum MCI_GETDEVCAPS_HAS_VIDEO=3; |
| enum MCI_GETDEVCAPS_DEVICE_TYPE=4; |
| enum MCI_GETDEVCAPS_USES_FILES=5; |
| enum MCI_GETDEVCAPS_COMPOUND_DEVICE=6; |
| enum MCI_GETDEVCAPS_CAN_EJECT=7; |
| enum MCI_GETDEVCAPS_CAN_PLAY=8; |
| enum MCI_GETDEVCAPS_CAN_SAVE=9; |
| |
| enum MCI_SYSINFO_QUANTITY=256; |
| enum MCI_SYSINFO_OPEN=512; |
| enum MCI_SYSINFO_NAME=1024; |
| enum MCI_SYSINFO_INSTALLNAME=2048; |
| enum MCI_SET_DOOR_OPEN=256; |
| enum MCI_SET_DOOR_CLOSED=512; |
| enum MCI_SET_TIME_FORMAT=1024; |
| enum MCI_SET_AUDIO=2048; |
| enum MCI_SET_VIDEO=0x1000; |
| enum MCI_SET_ON=0x2000; |
| enum MCI_SET_OFF=0x4000; |
| |
| enum MCI_SET_AUDIO_ALL=0; |
| enum MCI_SET_AUDIO_LEFT=1; |
| enum MCI_SET_AUDIO_RIGHT=2; |
| |
| enum MCI_BREAK_KEY=256; |
| enum MCI_BREAK_HWND=512; |
| enum MCI_BREAK_OFF=1024; |
| |
| enum MCI_RECORD_INSERT=256; |
| enum MCI_RECORD_OVERWRITE=512; |
| enum MCI_SAVE_FILE=256; |
| enum MCI_LOAD_FILE=256; |
| |
| enum MCI_VD_MODE_PARK=(MCI_VD_OFFSET+1); |
| enum MCI_VD_MEDIA_CLV=(MCI_VD_OFFSET+2); |
| enum MCI_VD_MEDIA_CAV=(MCI_VD_OFFSET+3); |
| enum MCI_VD_MEDIA_OTHER=(MCI_VD_OFFSET+4); |
| |
| enum MCI_VD_FORMAT_TRACK=0x4001; |
| enum MCI_VD_PLAY_REVERSE=0x10000; |
| enum MCI_VD_PLAY_FAST=0x20000; |
| enum MCI_VD_PLAY_SPEED=0x40000; |
| enum MCI_VD_PLAY_SCAN=0x80000; |
| enum MCI_VD_PLAY_SLOW=0x100000; |
| enum MCI_VD_SEEK_REVERSE=0x10000; |
| enum MCI_VD_STATUS_SPEED=0x4002; |
| enum MCI_VD_STATUS_FORWARD=0x4003; |
| enum MCI_VD_STATUS_MEDIA_TYPE=0x4004; |
| enum MCI_VD_STATUS_SIDE=0x4005; |
| enum MCI_VD_STATUS_DISC_SIZE=0x4006; |
| enum MCI_VD_GETDEVCAPS_CLV=0x10000; |
| enum MCI_VD_GETDEVCAPS_CAV=0x20000; |
| enum MCI_VD_SPIN_UP=0x10000; |
| enum MCI_VD_SPIN_DOWN=0x20000; |
| enum MCI_VD_GETDEVCAPS_CAN_REVERSE=0x4002; |
| enum MCI_VD_GETDEVCAPS_FAST_RATE=0x4003; |
| enum MCI_VD_GETDEVCAPS_SLOW_RATE=0x4004; |
| enum MCI_VD_GETDEVCAPS_NORMAL_RATE=0x4005; |
| enum MCI_VD_STEP_FRAMES=0x10000; |
| enum MCI_VD_STEP_REVERSE=0x20000; |
| enum MCI_VD_ESCAPE_STRING=256; |
| |
| enum MCI_CDA_STATUS_TYPE_TRACK=0x4001; |
| enum MCI_CDA_TRACK_AUDIO=MCI_CD_OFFSET; |
| enum MCI_CDA_TRACK_OTHER=(MCI_CD_OFFSET+1); |
| |
| enum MCI_WAVE_PCM=MCI_WAVE_OFFSET; |
| enum MCI_WAVE_MAPPER=(MCI_WAVE_OFFSET+1); |
| enum MCI_WAVE_OPEN_BUFFER=0x10000; |
| enum MCI_WAVE_SET_FORMATTAG=0x10000; |
| enum MCI_WAVE_SET_CHANNELS=0x20000; |
| enum MCI_WAVE_SET_SAMPLESPERSEC=0x40000; |
| enum MCI_WAVE_SET_AVGBYTESPERSEC=0x80000; |
| enum MCI_WAVE_SET_BLOCKALIGN=0x100000; |
| enum MCI_WAVE_SET_BITSPERSAMPLE=0x200000; |
| enum MCI_WAVE_INPUT=0x400000; |
| enum MCI_WAVE_OUTPUT=0x800000; |
| enum MCI_WAVE_STATUS_FORMATTAG=0x4001; |
| enum MCI_WAVE_STATUS_CHANNELS=0x4002; |
| enum MCI_WAVE_STATUS_SAMPLESPERSEC=0x4003; |
| enum MCI_WAVE_STATUS_AVGBYTESPERSEC=0x4004; |
| enum MCI_WAVE_STATUS_BLOCKALIGN=0x4005; |
| enum MCI_WAVE_STATUS_BITSPERSAMPLE=0x4006; |
| enum MCI_WAVE_STATUS_LEVEL=0x4007; |
| enum MCI_WAVE_SET_ANYINPUT=0x4000000; |
| enum MCI_WAVE_SET_ANYOUTPUT=0x8000000; |
| enum MCI_WAVE_GETDEVCAPS_INPUTS=0x4001; |
| enum MCI_WAVE_GETDEVCAPS_OUTPUTS=0x4002; |
| |
| enum MCI_SEQ_DIV_PPQN=MCI_SEQ_OFFSET; |
| enum MCI_SEQ_DIV_SMPTE_24=(MCI_SEQ_OFFSET+1); |
| enum MCI_SEQ_DIV_SMPTE_25=(MCI_SEQ_OFFSET+2); |
| enum MCI_SEQ_DIV_SMPTE_30DROP=(MCI_SEQ_OFFSET+3); |
| enum MCI_SEQ_DIV_SMPTE_30=(MCI_SEQ_OFFSET+4); |
| enum MCI_SEQ_FORMAT_SONGPTR=0x4001; |
| enum MCI_SEQ_FILE=0x4002; |
| enum MCI_SEQ_MIDI=0x4003; |
| enum MCI_SEQ_SMPTE=0x4004; |
| enum MCI_SEQ_NONE=65533; |
| enum MCI_SEQ_MAPPER=65535; |
| |
| enum MCI_SEQ_STATUS_TEMPO=0x4002; |
| enum MCI_SEQ_STATUS_PORT=0x4003; |
| enum MCI_SEQ_STATUS_SLAVE=0x4007; |
| enum MCI_SEQ_STATUS_MASTER=0x4008; |
| enum MCI_SEQ_STATUS_OFFSET=0x4009; |
| enum MCI_SEQ_STATUS_DIVTYPE=0x400A; |
| enum MCI_SEQ_STATUS_NAME=0x400B; |
| enum MCI_SEQ_STATUS_COPYRIGHT=0x400C; |
| |
| enum MCI_SEQ_SET_TEMPO=0x10000; |
| enum MCI_SEQ_SET_PORT=0x20000; |
| enum MCI_SEQ_SET_SLAVE=0x40000; |
| enum MCI_SEQ_SET_MASTER=0x80000; |
| enum MCI_SEQ_SET_OFFSET=0x1000000; |
| |
| enum MCI_ANIM_OPEN_WS=0x10000; |
| enum MCI_ANIM_OPEN_PARENT=0x20000; |
| enum MCI_ANIM_OPEN_NOSTATIC=0x40000; |
| enum MCI_ANIM_PLAY_SPEED=0x10000; |
| enum MCI_ANIM_PLAY_REVERSE=0x20000; |
| enum MCI_ANIM_PLAY_FAST=0x40000; |
| enum MCI_ANIM_PLAY_SLOW=0x80000; |
| enum MCI_ANIM_PLAY_SCAN=0x100000; |
| enum MCI_ANIM_STEP_REVERSE=0x10000; |
| enum MCI_ANIM_STEP_FRAMES=0x20000; |
| enum MCI_ANIM_STATUS_SPEED=0x4001; |
| enum MCI_ANIM_STATUS_FORWARD=0x4002; |
| enum MCI_ANIM_STATUS_HWND=0x4003; |
| enum MCI_ANIM_STATUS_HPAL=0x4004; |
| enum MCI_ANIM_STATUS_STRETCH=0x4005; |
| enum MCI_ANIM_INFO_TEXT=0x10000; |
| |
| enum MCI_ANIM_GETDEVCAPS_CAN_REVERSE=0x4001; |
| enum MCI_ANIM_GETDEVCAPS_FAST_RATE=0x4002; |
| enum MCI_ANIM_GETDEVCAPS_SLOW_RATE=0x4003; |
| enum MCI_ANIM_GETDEVCAPS_NORMAL_RATE=0x4004; |
| enum MCI_ANIM_GETDEVCAPS_PALETTES=0x4006; |
| enum MCI_ANIM_GETDEVCAPS_CAN_STRETCH=0x4007; |
| enum MCI_ANIM_GETDEVCAPS_MAX_WINDOWS=0x4008; |
| |
| enum MCI_ANIM_REALIZE_NORM=0x10000; |
| enum MCI_ANIM_REALIZE_BKGD=0x20000; |
| |
| enum MCI_ANIM_WINDOW_HWND=0x10000; |
| enum MCI_ANIM_WINDOW_STATE=0x40000; |
| enum MCI_ANIM_WINDOW_TEXT=0x80000; |
| enum MCI_ANIM_WINDOW_ENABLE_STRETCH=0x100000; |
| enum MCI_ANIM_WINDOW_DISABLE_STRETCH=0x200000; |
| enum MCI_ANIM_WINDOW_DEFAULT=0x0; |
| |
| enum MCI_ANIM_RECT=0x10000; |
| enum MCI_ANIM_PUT_SOURCE=0x20000; |
| enum MCI_ANIM_PUT_DESTINATION=0x40000; |
| enum MCI_ANIM_WHERE_SOURCE=0x20000; |
| enum MCI_ANIM_WHERE_DESTINATION=0x40000; |
| enum MCI_ANIM_UPDATE_HDC=0x20000; |
| |
| enum MCI_OVLY_OPEN_WS=0x10000; |
| enum MCI_OVLY_OPEN_PARENT=0x20000; |
| enum MCI_OVLY_STATUS_HWND=0x4001; |
| enum MCI_OVLY_STATUS_STRETCH=0x4002; |
| enum MCI_OVLY_INFO_TEXT=0x10000; |
| enum MCI_OVLY_GETDEVCAPS_CAN_STRETCH=0x4001; |
| enum MCI_OVLY_GETDEVCAPS_CAN_FREEZE=0x4002; |
| enum MCI_OVLY_GETDEVCAPS_MAX_WINDOWS=0x4003; |
| enum MCI_OVLY_WINDOW_HWND=0x10000; |
| enum MCI_OVLY_WINDOW_STATE=0x40000; |
| enum MCI_OVLY_WINDOW_TEXT=0x80000; |
| enum MCI_OVLY_WINDOW_ENABLE_STRETCH=0x100000; |
| enum MCI_OVLY_WINDOW_DISABLE_STRETCH=0x200000; |
| enum MCI_OVLY_WINDOW_DEFAULT=0x0; |
| enum MCI_OVLY_RECT=0x10000; |
| enum MCI_OVLY_PUT_SOURCE=0x20000; |
| enum MCI_OVLY_PUT_DESTINATION=0x40000; |
| enum MCI_OVLY_PUT_FRAME=0x80000; |
| enum MCI_OVLY_PUT_VIDEO=0x100000; |
| enum MCI_OVLY_WHERE_SOURCE=0x20000; |
| enum MCI_OVLY_WHERE_DESTINATION=0x40000; |
| enum MCI_OVLY_WHERE_FRAME=0x80000; |
| enum MCI_OVLY_WHERE_VIDEO=0x100000; |
| |
| enum NEWTRANSPARENT=3; |
| enum QUERYROPSUPPORT=40; |
| enum SELECTDIB=41; |
| |
| LONG DIBINDEX(WORD n) { |
| return MAKELONG(n, 0x10FF); |
| } |
| enum CAPS1=94; |
| enum C1_TRANSPARENT=1; |
| |
| //const SEEK_SET=0; |
| //const SEEK_CUR=1; |
| //const SEEK_END=2; |
| public import core.stdc.stdio : SEEK_SET, SEEK_CUR, SEEK_END; |
| |
| alias MCIERROR = DWORD; |
| alias MCIDEVICEID = UINT; |
| extern(Windows) alias YIELDPROC = UINT function (MCIDEVICEID, DWORD); |
| alias MMVERSION = UINT; |
| alias MMRESULT = UINT; |
| |
| struct MMTIME { |
| UINT wType; |
| union { |
| DWORD ms; |
| DWORD sample; |
| DWORD cb; |
| DWORD ticks; |
| struct _smpte { |
| BYTE hour; |
| BYTE min; |
| BYTE sec; |
| BYTE frame; |
| BYTE fps; |
| BYTE dummy; |
| BYTE[2] pad; |
| } |
| _smpte smpte; |
| struct _midi { |
| DWORD songptrpos; |
| } |
| _midi midi; |
| } |
| } |
| alias PMMTIME = MMTIME*, LPMMTIME = MMTIME*; |
| |
| alias HDRVR = HANDLE; |
| |
| struct DRVCONFIGINFO { |
| align(1): |
| DWORD dwDCISize; |
| LPCWSTR lpszDCISectionName; |
| LPCWSTR lpszDCIAliasName; |
| } |
| alias PDRVCONFIGINFO = DRVCONFIGINFO *, LPDRVCONFIGINFO = DRVCONFIGINFO *; |
| |
| struct DRVCONFIGINFOEX { |
| align(1): |
| DWORD dwDCISize; |
| LPCWSTR lpszDCISectionName; |
| LPCWSTR lpszDCIAliasName; |
| DWORD dnDevNode; |
| } |
| alias PDRVCONFIGINFOEX = DRVCONFIGINFOEX*, LPDRVCONFIGINFOEX = DRVCONFIGINFOEX*; |
| |
| extern(Windows): |
| |
| /+FIXME: I couldn't find these in MSDN. |
| alias void function (HDRVR, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR) DRVCALLBACK; |
| LRESULT DRIVERPROC (DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM); |
| alias DRVCALLBACK* LPDRVCALLBACK, PDRVCALLBACK; |
| |
| alias DRVCALLBACK WAVECALLBACK; |
| alias WAVECALLBACK* LPWAVECALLBACK; |
| |
| alias DRVCALLBACK MIDICALLBACK; |
| alias MIDICALLBACK* LPMIDICALLBACK; |
| |
| +/ |
| |
| alias HWAVE = HANDLE; |
| alias HWAVEIN = HANDLE; |
| alias HWAVEOUT = HANDLE; |
| |
| alias LPHWAVEIN = HWAVEIN*; |
| alias LPHWAVEOUT = HWAVEOUT*; |
| |
| struct WAVEHDR { |
| LPSTR lpData; |
| DWORD dwBufferLength; |
| DWORD dwBytesRecorded; |
| DWORD_PTR dwUser; |
| DWORD dwFlags; |
| DWORD dwLoops; |
| WAVEHDR *lpNext; |
| DWORD_PTR reserved; |
| } |
| alias PWAVEHDR = WAVEHDR*, LPWAVEHDR = WAVEHDR*; |
| |
| struct WAVEOUTCAPSA { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| DWORD dwFormats; |
| WORD wChannels; |
| WORD wReserved1; |
| DWORD dwSupport; |
| } |
| alias PWAVEOUTCAPSA = WAVEOUTCAPSA*, LPWAVEOUTCAPSA = WAVEOUTCAPSA*; |
| |
| struct WAVEOUTCAPSW { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| DWORD dwFormats; |
| WORD wChannels; |
| WORD wReserved1; |
| DWORD dwSupport; |
| } |
| alias PWAVEOUTCAPSW = WAVEOUTCAPSW*, LPWAVEOUTCAPSW = WAVEOUTCAPSW*; |
| |
| struct WAVEINCAPSA { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| DWORD dwFormats; |
| WORD wChannels; |
| WORD wReserved1; |
| } |
| alias PWAVEINCAPSA = WAVEINCAPSA*, LPWAVEINCAPSA = WAVEINCAPSA*; |
| |
| struct WAVEINCAPSW { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| DWORD dwFormats; |
| WORD wChannels; |
| WORD wReserved1; |
| } |
| alias PWAVEINCAPSW = WAVEINCAPSW*, LPWAVEINCAPSW = WAVEINCAPSW*; |
| |
| struct WAVEFORMAT { |
| WORD wFormatTag; |
| WORD nChannels; |
| DWORD nSamplesPerSec; |
| DWORD nAvgBytesPerSec; |
| WORD nBlockAlign; |
| } |
| alias PWAVEFORMAT = WAVEFORMAT*, LPWAVEFORMAT = WAVEFORMAT*; |
| |
| struct PCMWAVEFORMAT { |
| WAVEFORMAT wf; |
| WORD wBitsPerSample; |
| } |
| alias PPCMWAVEFORMAT = PCMWAVEFORMAT*, LPPCMWAVEFORMAT = PCMWAVEFORMAT*; |
| |
| struct WAVEFORMATEX { |
| WORD wFormatTag; |
| WORD nChannels; |
| DWORD nSamplesPerSec; |
| DWORD nAvgBytesPerSec; |
| WORD nBlockAlign; |
| WORD wBitsPerSample; |
| WORD cbSize; |
| } |
| alias PWAVEFORMATEX = WAVEFORMATEX*, LPWAVEFORMATEX = WAVEFORMATEX*; |
| alias LPCWAVEFORMATEX = const(WAVEFORMATEX)*; |
| |
| alias HMIDI = HANDLE; |
| alias HMIDIIN = HANDLE; |
| alias HMIDIOUT = HANDLE; |
| alias HMIDISTRM = HANDLE; |
| |
| alias LPHMIDI = HMIDI*; |
| alias LPHMIDIIN = HMIDIIN*; |
| alias LPHMIDIOUT = HMIDIOUT*; |
| alias LPHMIDISTRM = HMIDISTRM*; |
| |
| alias PATCHARRAY = WORD[MIDIPATCHSIZE]; |
| alias LPPATCHARRAY = WORD*; |
| alias KEYARRAY = WORD[MIDIPATCHSIZE]; |
| alias LPKEYARRAY = WORD*; |
| |
| struct MIDIOUTCAPSA { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| WORD wTechnology; |
| WORD wVoices; |
| WORD wNotes; |
| WORD wChannelMask; |
| DWORD dwSupport; |
| } |
| alias PMIDIOUTCAPSA = MIDIOUTCAPSA*, LPMIDIOUTCAPSA = MIDIOUTCAPSA*; |
| |
| struct MIDIOUTCAPSW { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| WORD wTechnology; |
| WORD wVoices; |
| WORD wNotes; |
| WORD wChannelMask; |
| DWORD dwSupport; |
| } |
| alias PMIDIOUTCAPSW = MIDIOUTCAPSW*, LPMIDIOUTCAPSW = MIDIOUTCAPSW*; |
| |
| struct MIDIINCAPSA { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| DWORD dwSupport; |
| } |
| alias PMIDIINCAPSA = MIDIINCAPSA*, LPMIDIINCAPSA = MIDIINCAPSA*; |
| |
| struct MIDIINCAPSW { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| DWORD dwSupport; |
| } |
| alias PMIDIINCAPSW = MIDIINCAPSW*, LPMIDIINCAPSW = MIDIINCAPSW*; |
| |
| struct MIDIHDR { |
| align(1): |
| LPSTR lpData; |
| DWORD dwBufferLength; |
| DWORD dwBytesRecorded; |
| DWORD_PTR dwUser; |
| DWORD dwFlags; |
| MIDIHDR *lpNext; |
| DWORD_PTR reserved; |
| DWORD dwOffset; |
| DWORD_PTR[8] dwReserved; |
| } |
| alias PMIDIHDR = MIDIHDR*, LPMIDIHDR = MIDIHDR*; |
| |
| struct MIDIEVENT { |
| DWORD dwDeltaTime; |
| DWORD dwStreamID; |
| DWORD dwEvent; |
| DWORD[1] dwParms; |
| } |
| |
| struct MIDISTRMBUFFVER { |
| DWORD dwVersion; |
| DWORD dwMid; |
| DWORD dwOEMVersion; |
| } |
| |
| struct MIDIPROPTIMEDIV { |
| DWORD cbStruct; |
| DWORD dwTimeDiv; |
| } |
| alias LPMIDIPROPTIMEDIV = MIDIPROPTIMEDIV*; |
| |
| struct MIDIPROPTEMPO { |
| DWORD cbStruct; |
| DWORD dwTempo; |
| } |
| alias LPMIDIPROPTEMPO = MIDIPROPTEMPO*; |
| |
| struct AUXCAPSA { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| WORD wTechnology; |
| WORD wReserved1; |
| DWORD dwSupport; |
| } |
| alias PAUXCAPSA = AUXCAPSA*, LPAUXCAPSA = AUXCAPSA*; |
| |
| struct AUXCAPSW { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| WORD wTechnology; |
| WORD wReserved1; |
| DWORD dwSupport; |
| } |
| alias PAUXCAPSW = AUXCAPSW*, LPAUXCAPSW = AUXCAPSW*; |
| |
| alias HMIXEROBJ = HANDLE; |
| alias LPHMIXEROBJ = HMIXEROBJ*; |
| |
| alias HMIXER = HANDLE; |
| alias LPHMIXER = HMIXER*; |
| |
| struct MIXERCAPSA { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| DWORD fdwSupport; |
| DWORD cDestinations; |
| } |
| alias PMIXERCAPSA = MIXERCAPSA*, LPMIXERCAPSA = MIXERCAPSA*; |
| |
| struct MIXERCAPSW { |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| DWORD fdwSupport; |
| DWORD cDestinations; |
| } |
| alias PMIXERCAPSW = MIXERCAPSW*, LPMIXERCAPSW = MIXERCAPSW*; |
| |
| struct MIXERLINEA { |
| align(1): |
| DWORD cbStruct; |
| DWORD dwDestination; |
| DWORD dwSource; |
| DWORD dwLineID; |
| DWORD fdwLine; |
| DWORD_PTR dwUser; |
| DWORD dwComponentType; |
| DWORD cChannels; |
| DWORD cConnections; |
| DWORD cControls; |
| CHAR[MIXER_SHORT_NAME_CHARS] szShortName = 0; |
| CHAR[MIXER_LONG_NAME_CHARS] szName = 0; |
| struct _Target { |
| DWORD dwType; |
| DWORD dwDeviceID; |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| } |
| _Target Target; |
| } |
| alias PMIXERLINEA = MIXERLINEA*, LPMIXERLINEA = MIXERLINEA*; |
| |
| struct MIXERLINEW { |
| align(1): |
| DWORD cbStruct; |
| DWORD dwDestination; |
| DWORD dwSource; |
| DWORD dwLineID; |
| DWORD fdwLine; |
| DWORD_PTR dwUser; |
| DWORD dwComponentType; |
| DWORD cChannels; |
| DWORD cConnections; |
| DWORD cControls; |
| WCHAR[MIXER_SHORT_NAME_CHARS] szShortName = 0; |
| WCHAR[MIXER_LONG_NAME_CHARS] szName = 0; |
| struct _Target { |
| DWORD dwType; |
| DWORD dwDeviceID; |
| WORD wMid; |
| WORD wPid; |
| MMVERSION vDriverVersion; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| } |
| _Target Target; |
| } |
| alias PMIXERLINEW = MIXERLINEW*, LPMIXERLINEW = MIXERLINEW*; |
| |
| struct MIXERCONTROLA { |
| DWORD cbStruct; |
| DWORD dwControlID; |
| DWORD dwControlType; |
| DWORD fdwControl; |
| DWORD cMultipleItems; |
| CHAR[MIXER_SHORT_NAME_CHARS] szShortName = 0; |
| CHAR[MIXER_LONG_NAME_CHARS] szName = 0; |
| union _Bounds { |
| struct { |
| LONG lMinimum; |
| LONG lMaximum; |
| } |
| struct { |
| DWORD dwMinimum; |
| DWORD dwMaximum; |
| } |
| DWORD[6] dwReserved; |
| } |
| _Bounds Bounds; |
| union _Metrics { |
| DWORD cSteps; |
| DWORD cbCustomData; |
| DWORD[6] dwReserved; |
| } |
| _Metrics Metrics; |
| } |
| alias PMIXERCONTROLA = MIXERCONTROLA*, LPMIXERCONTROLA = MIXERCONTROLA*; |
| |
| struct MIXERCONTROLW { |
| DWORD cbStruct; |
| DWORD dwControlID; |
| DWORD dwControlType; |
| DWORD fdwControl; |
| DWORD cMultipleItems; |
| WCHAR[MIXER_SHORT_NAME_CHARS] szShortName = 0; |
| WCHAR[MIXER_LONG_NAME_CHARS] szName = 0; |
| union _Bounds { |
| struct { |
| LONG lMinimum; |
| LONG lMaximum; |
| } |
| struct { |
| DWORD dwMinimum; |
| DWORD dwMaximum; |
| } |
| DWORD[6] dwReserved; |
| } |
| _Bounds Bounds; |
| union _Metrics { |
| DWORD cSteps; |
| DWORD cbCustomData; |
| DWORD[6] dwReserved; |
| } |
| _Metrics Metrics; |
| } |
| |
| alias PMIXERCONTROLW = MIXERCONTROLW*, LPMIXERCONTROLW = MIXERCONTROLW*; |
| |
| struct MIXERLINECONTROLSA { |
| align(1): |
| DWORD cbStruct; |
| DWORD dwLineID; |
| union { |
| DWORD dwControlID; |
| DWORD dwControlType; |
| } |
| DWORD cControls; |
| DWORD cbmxctrl; |
| LPMIXERCONTROLA pamxctrl; |
| } |
| alias PMIXERLINECONTROLSA = MIXERLINECONTROLSA*, LPMIXERLINECONTROLSA = MIXERLINECONTROLSA*; |
| |
| struct MIXERLINECONTROLSW { |
| align(1): |
| DWORD cbStruct; |
| DWORD dwLineID; |
| union { |
| DWORD dwControlID; |
| DWORD dwControlType; |
| } |
| DWORD cControls; |
| DWORD cbmxctrl; |
| LPMIXERCONTROLW pamxctrl; |
| } |
| alias PMIXERLINECONTROLSW = MIXERLINECONTROLSW*, LPMIXERLINECONTROLSW = MIXERLINECONTROLSW*; |
| |
| struct MIXERCONTROLDETAILS { |
| align(1): |
| DWORD cbStruct; |
| DWORD dwControlID; |
| DWORD cChannels; |
| union { |
| HWND hwndOwner; |
| DWORD cMultipleItems; |
| } |
| DWORD cbDetails; |
| PVOID paDetails; |
| } |
| alias PMIXERCONTROLDETAILS = MIXERCONTROLDETAILS*, LPMIXERCONTROLDETAILS = MIXERCONTROLDETAILS*; |
| |
| struct MIXERCONTROLDETAILS_LISTTEXTA { |
| DWORD dwParam1; |
| DWORD dwParam2; |
| CHAR[MIXER_LONG_NAME_CHARS] szName = 0; |
| } |
| alias PMIXERCONTROLDETAILS_LISTTEXTA = MIXERCONTROLDETAILS_LISTTEXTA*, LPMIXERCONTROLDETAILS_LISTTEXTA = MIXERCONTROLDETAILS_LISTTEXTA*; |
| |
| struct MIXERCONTROLDETAILS_LISTTEXTW { |
| DWORD dwParam1; |
| DWORD dwParam2; |
| WCHAR[MIXER_LONG_NAME_CHARS] szName = 0; |
| } |
| alias PMIXERCONTROLDETAILS_LISTTEXTW = MIXERCONTROLDETAILS_LISTTEXTW*, LPMIXERCONTROLDETAILS_LISTTEXTW = MIXERCONTROLDETAILS_LISTTEXTW*; |
| |
| struct MIXERCONTROLDETAILS_BOOLEAN { |
| LONG fValue; |
| } |
| alias PMIXERCONTROLDETAILS_BOOLEAN = MIXERCONTROLDETAILS_BOOLEAN*, LPMIXERCONTROLDETAILS_BOOLEAN = MIXERCONTROLDETAILS_BOOLEAN*; |
| |
| struct MIXERCONTROLDETAILS_SIGNED { |
| LONG lValue; |
| } |
| alias PMIXERCONTROLDETAILS_SIGNED = MIXERCONTROLDETAILS_SIGNED*, LPMIXERCONTROLDETAILS_SIGNED = MIXERCONTROLDETAILS_SIGNED*; |
| |
| struct MIXERCONTROLDETAILS_UNSIGNED { |
| DWORD dwValue; |
| } |
| alias PMIXERCONTROLDETAILS_UNSIGNED = MIXERCONTROLDETAILS_UNSIGNED*, LPMIXERCONTROLDETAILS_UNSIGNED = MIXERCONTROLDETAILS_UNSIGNED*; |
| |
| alias LPTIMECALLBACK = void function (UINT, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR); |
| |
| struct TIMECAPS { |
| UINT wPeriodMin; |
| UINT wPeriodMax; |
| } |
| alias PTIMECAPS = TIMECAPS*, LPTIMECAPS = TIMECAPS*; |
| |
| struct JOYCAPSA { |
| WORD wMid; |
| WORD wPid; |
| CHAR[MAXPNAMELEN] szPname = 0; |
| UINT wXmin; |
| UINT wXmax; |
| UINT wYmin; |
| UINT wYmax; |
| UINT wZmin; |
| UINT wZmax; |
| UINT wNumButtons; |
| UINT wPeriodMin; |
| UINT wPeriodMax; |
| UINT wRmin; |
| UINT wRmax; |
| UINT wUmin; |
| UINT wUmax; |
| UINT wVmin; |
| UINT wVmax; |
| UINT wCaps; |
| UINT wMaxAxes; |
| UINT wNumAxes; |
| UINT wMaxButtons; |
| CHAR[MAXPNAMELEN] szRegKey = 0; |
| CHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD = 0; |
| } |
| alias PJOYCAPSA = JOYCAPSA*, LPJOYCAPSA = JOYCAPSA*; |
| |
| struct JOYCAPSW { |
| WORD wMid; |
| WORD wPid; |
| WCHAR[MAXPNAMELEN] szPname = 0; |
| UINT wXmin; |
| UINT wXmax; |
| UINT wYmin; |
| UINT wYmax; |
| UINT wZmin; |
| UINT wZmax; |
| UINT wNumButtons; |
| UINT wPeriodMin; |
| UINT wPeriodMax; |
| UINT wRmin; |
| UINT wRmax; |
| UINT wUmin; |
| UINT wUmax; |
| UINT wVmin; |
| UINT wVmax; |
| UINT wCaps; |
| UINT wMaxAxes; |
| UINT wNumAxes; |
| UINT wMaxButtons; |
| WCHAR[MAXPNAMELEN] szRegKey = 0; |
| WCHAR[MAX_JOYSTICKOEMVXDNAME] szOEMVxD = 0; |
| } |
| alias PJOYCAPSW = JOYCAPSW*, LPJOYCAPSW = JOYCAPSW*; |
| |
| struct JOYINFO { |
| UINT wXpos; |
| UINT wYpos; |
| UINT wZpos; |
| UINT wButtons; |
| } |
| alias PJOYINFO = JOYINFO*, LPJOYINFO = JOYINFO*; |
| |
| struct JOYINFOEX { |
| DWORD dwSize; |
| DWORD dwFlags; |
| DWORD dwXpos; |
| DWORD dwYpos; |
| DWORD dwZpos; |
| DWORD dwRpos; |
| DWORD dwUpos; |
| DWORD dwVpos; |
| DWORD dwButtons; |
| DWORD dwButtonNumber; |
| DWORD dwPOV; |
| DWORD dwReserved1; |
| DWORD dwReserved2; |
| } |
| alias PJOYINFOEX = JOYINFOEX*, LPJOYINFOEX = JOYINFOEX*; |
| |
| alias FOURCC = DWORD; |
| alias HPSTR = char*; |
| |
| alias HMMIO = HANDLE; |
| |
| alias LPMMIOPROC = LRESULT function (LPSTR, UINT, LPARAM, LPARAM); |
| |
| struct MMIOINFO { |
| align(1): |
| DWORD dwFlags; |
| FOURCC fccIOProc; |
| LPMMIOPROC pIOProc; |
| UINT wErrorRet; |
| HTASK htask; |
| LONG cchBuffer; |
| HPSTR pchBuffer; |
| HPSTR pchNext; |
| HPSTR pchEndRead; |
| HPSTR pchEndWrite; |
| LONG lBufOffset; |
| LONG lDiskOffset; |
| DWORD[3] adwInfo; |
| DWORD dwReserved1; |
| DWORD dwReserved2; |
| HMMIO hmmio; |
| } |
| alias PMMIOINFO = MMIOINFO*, LPMMIOINFO = MMIOINFO*; |
| alias LPCMMIOINFO = const(MMIOINFO)*; |
| |
| struct MMCKINFO { |
| FOURCC ckid; |
| DWORD cksize; |
| FOURCC fccType; |
| DWORD dwDataOffset; |
| DWORD dwFlags; |
| } |
| alias PMMCKINFO = MMCKINFO*, LPMMCKINFO = MMCKINFO*; |
| alias LPCMMCKINFO = const(MMCKINFO)*; |
| |
| struct MCI_GENERIC_PARMS { |
| DWORD_PTR dwCallback; |
| } |
| alias PMCI_GENERIC_PARMS = MCI_GENERIC_PARMS*, LPMCI_GENERIC_PARMS = MCI_GENERIC_PARMS*; |
| |
| struct MCI_OPEN_PARMSA { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCSTR lpstrDeviceType; |
| LPCSTR lpstrElementName; |
| LPCSTR lpstrAlias; |
| } |
| alias PMCI_OPEN_PARMSA = MCI_OPEN_PARMSA*, LPMCI_OPEN_PARMSA = MCI_OPEN_PARMSA*; |
| |
| struct MCI_OPEN_PARMSW { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCWSTR lpstrDeviceType; |
| LPCWSTR lpstrElementName; |
| LPCWSTR lpstrAlias; |
| } |
| alias PMCI_OPEN_PARMSW = MCI_OPEN_PARMSW*, LPMCI_OPEN_PARMSW = MCI_OPEN_PARMSW*; |
| |
| struct MCI_PLAY_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwFrom; |
| DWORD dwTo; |
| } |
| alias PMCI_PLAY_PARMS = MCI_PLAY_PARMS*, LPMCI_PLAY_PARMS = MCI_PLAY_PARMS*; |
| |
| struct MCI_SEEK_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwTo; |
| } |
| alias PMCI_SEEK_PARMS = MCI_SEEK_PARMS*, LPMCI_SEEK_PARMS = MCI_SEEK_PARMS*; |
| |
| struct MCI_STATUS_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD_PTR dwReturn; |
| DWORD dwItem; |
| DWORD dwTrack; |
| } |
| alias PMCI_STATUS_PARMS = MCI_STATUS_PARMS*, LPMCI_STATUS_PARMS = MCI_STATUS_PARMS*; |
| |
| struct MCI_INFO_PARMSA { |
| DWORD_PTR dwCallback; |
| LPSTR lpstrReturn; |
| DWORD dwRetSize; |
| } |
| alias LPMCI_INFO_PARMSA = MCI_INFO_PARMSA*; |
| |
| struct MCI_INFO_PARMSW { |
| DWORD_PTR dwCallback; |
| LPWSTR lpstrReturn; |
| DWORD dwRetSize; |
| } |
| alias LPMCI_INFO_PARMSW = MCI_INFO_PARMSW*; |
| |
| struct MCI_GETDEVCAPS_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwReturn; |
| DWORD dwItem; |
| } |
| alias PMCI_GETDEVCAPS_PARMS = MCI_GETDEVCAPS_PARMS*, LPMCI_GETDEVCAPS_PARMS = MCI_GETDEVCAPS_PARMS*; |
| |
| struct MCI_SYSINFO_PARMSA { |
| DWORD_PTR dwCallback; |
| LPSTR lpstrReturn; |
| DWORD dwRetSize; |
| DWORD dwNumber; |
| UINT wDeviceType; |
| } |
| alias PMCI_SYSINFO_PARMSA = MCI_SYSINFO_PARMSA*, LPMCI_SYSINFO_PARMSA = MCI_SYSINFO_PARMSA*; |
| |
| struct MCI_SYSINFO_PARMSW { |
| DWORD_PTR dwCallback; |
| LPWSTR lpstrReturn; |
| DWORD dwRetSize; |
| DWORD dwNumber; |
| UINT wDeviceType; |
| } |
| alias PMCI_SYSINFO_PARMSW = MCI_SYSINFO_PARMSW*, LPMCI_SYSINFO_PARMSW = MCI_SYSINFO_PARMSW*; |
| |
| struct MCI_SET_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwTimeFormat; |
| DWORD dwAudio; |
| } |
| alias PMCI_SET_PARMS = MCI_SET_PARMS*, LPMCI_SET_PARMS = MCI_SET_PARMS*; |
| |
| struct MCI_BREAK_PARMS { |
| align(1): |
| DWORD_PTR dwCallback; |
| int nVirtKey; |
| HWND hwndBreak; |
| } |
| alias PMCI_BREAK_PARMS = MCI_BREAK_PARMS*, LPMCI_BREAK_PARMS = MCI_BREAK_PARMS*; |
| |
| struct MCI_SAVE_PARMSA { |
| DWORD_PTR dwCallback; |
| LPCSTR lpfilename; |
| } |
| alias PMCI_SAVE_PARMSA = MCI_SAVE_PARMSA*, LPMCI_SAVE_PARMSA = MCI_SAVE_PARMSA*; |
| |
| struct MCI_SAVE_PARMSW { |
| DWORD_PTR dwCallback; |
| LPCWSTR lpfilename; |
| } |
| alias PMCI_SAVE_PARMSW = MCI_SAVE_PARMSW*, LPMCI_SAVE_PARMSW = MCI_SAVE_PARMSW*; |
| |
| struct MCI_LOAD_PARMSA { |
| DWORD_PTR dwCallback; |
| LPCSTR lpfilename; |
| } |
| alias PMCI_LOAD_PARMSA = MCI_LOAD_PARMSA*, LPMCI_LOAD_PARMSA = MCI_LOAD_PARMSA*; |
| |
| struct MCI_LOAD_PARMSW { |
| DWORD_PTR dwCallback; |
| LPCWSTR lpfilename; |
| } |
| alias PMCI_LOAD_PARMSW = MCI_LOAD_PARMSW*, LPMCI_LOAD_PARMSW = MCI_LOAD_PARMSW*; |
| |
| struct MCI_RECORD_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwFrom; |
| DWORD dwTo; |
| } |
| alias LPMCI_RECORD_PARMS = MCI_RECORD_PARMS*; |
| |
| struct MCI_VD_PLAY_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwFrom; |
| DWORD dwTo; |
| DWORD dwSpeed; |
| } |
| alias PMCI_VD_PLAY_PARMS = MCI_VD_PLAY_PARMS*, LPMCI_VD_PLAY_PARMS = MCI_VD_PLAY_PARMS*; |
| |
| struct MCI_VD_STEP_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwFrames; |
| } |
| alias PMCI_VD_STEP_PARMS = MCI_VD_STEP_PARMS*, LPMCI_VD_STEP_PARMS = MCI_VD_STEP_PARMS*; |
| |
| struct MCI_VD_ESCAPE_PARMSA { |
| DWORD_PTR dwCallback; |
| LPCSTR lpstrCommand; |
| } |
| alias PMCI_VD_ESCAPE_PARMSA = MCI_VD_ESCAPE_PARMSA*, LPMCI_VD_ESCAPE_PARMSA = MCI_VD_ESCAPE_PARMSA*; |
| |
| struct MCI_VD_ESCAPE_PARMSW { |
| DWORD_PTR dwCallback; |
| LPCWSTR lpstrCommand; |
| } |
| alias PMCI_VD_ESCAPE_PARMSW = MCI_VD_ESCAPE_PARMSW*, LPMCI_VD_ESCAPE_PARMSW = MCI_VD_ESCAPE_PARMSW*; |
| |
| struct MCI_WAVE_OPEN_PARMSA { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCSTR lpstrDeviceType; |
| LPCSTR lpstrElementName; |
| LPCSTR lpstrAlias; |
| DWORD dwBufferSeconds; |
| } |
| alias PMCI_WAVE_OPEN_PARMSA = MCI_WAVE_OPEN_PARMSA*, LPMCI_WAVE_OPEN_PARMSA = MCI_WAVE_OPEN_PARMSA*; |
| |
| struct MCI_WAVE_OPEN_PARMSW { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCWSTR lpstrDeviceType; |
| LPCWSTR lpstrElementName; |
| LPCWSTR lpstrAlias; |
| DWORD dwBufferSeconds; |
| } |
| alias PMCI_WAVE_OPEN_PARMSW = MCI_WAVE_OPEN_PARMSW*, LPMCI_WAVE_OPEN_PARMSW = MCI_WAVE_OPEN_PARMSW*; |
| |
| struct MCI_WAVE_DELETE_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwFrom; |
| DWORD dwTo; |
| } |
| alias PMCI_WAVE_DELETE_PARMS = MCI_WAVE_DELETE_PARMS*, LPMCI_WAVE_DELETE_PARMS = MCI_WAVE_DELETE_PARMS*; |
| |
| struct MCI_WAVE_SET_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwTimeFormat; |
| DWORD dwAudio; |
| UINT wInput; |
| UINT wOutput; |
| WORD wFormatTag; |
| WORD wReserved2; |
| WORD nChannels; |
| WORD wReserved3; |
| DWORD nSamplesPerSec; |
| DWORD nAvgBytesPerSec; |
| WORD nBlockAlign; |
| WORD wReserved4; |
| WORD wBitsPerSample; |
| WORD wReserved5; |
| } |
| alias PMCI_WAVE_SET_PARMS = MCI_WAVE_SET_PARMS*, LPMCI_WAVE_SET_PARMS = MCI_WAVE_SET_PARMS*; |
| |
| extern (Windows) nothrow @nogc: |
| LRESULT CloseDriver(HDRVR, LONG, LONG); |
| HDRVR OpenDriver(LPCWSTR, LPCWSTR, LONG); |
| LRESULT SendDriverMessage(HDRVR, UINT, LONG, LONG); |
| HMODULE DrvGetModuleHandle(HDRVR); |
| HMODULE GetDriverModuleHandle(HDRVR); |
| LRESULT DefDriverProc(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM); |
| UINT mmsystemGetVersion(); |
| // FIXME: I believe this next line is a mistake |
| //alias OutputDebugString OutputDebugStr; |
| BOOL sndPlaySoundA(LPCSTR, UINT); |
| BOOL sndPlaySoundW(LPCWSTR, UINT); |
| BOOL PlaySoundA(LPCSTR, HMODULE, DWORD); |
| BOOL PlaySoundW(LPCWSTR, HMODULE, DWORD); |
| UINT waveOutGetNumDevs(); |
| MMRESULT waveOutGetDevCapsA(UINT_PTR, LPWAVEOUTCAPSA, UINT); |
| MMRESULT waveOutGetDevCapsW(UINT_PTR, LPWAVEOUTCAPSW, UINT); |
| MMRESULT waveOutGetVolume(HWAVEOUT, PDWORD); |
| MMRESULT waveOutSetVolume(HWAVEOUT, DWORD); |
| MMRESULT waveOutGetErrorTextA(MMRESULT, LPSTR, UINT); |
| MMRESULT waveOutGetErrorTextW(MMRESULT, LPWSTR, UINT); |
| MMRESULT waveOutOpen(LPHWAVEOUT, UINT, LPCWAVEFORMATEX, DWORD_PTR, DWORD_PTR, DWORD); |
| MMRESULT waveOutClose(HWAVEOUT); |
| MMRESULT waveOutPrepareHeader(HWAVEOUT, LPWAVEHDR, UINT); |
| MMRESULT waveOutUnprepareHeader(HWAVEOUT, LPWAVEHDR, UINT); |
| MMRESULT waveOutWrite(HWAVEOUT, LPWAVEHDR, UINT); |
| MMRESULT waveOutPause(HWAVEOUT); |
| MMRESULT waveOutRestart(HWAVEOUT); |
| MMRESULT waveOutReset(HWAVEOUT); |
| MMRESULT waveOutBreakLoop(HWAVEOUT); |
| MMRESULT waveOutGetPosition(HWAVEOUT, LPMMTIME, UINT); |
| MMRESULT waveOutGetPitch(HWAVEOUT, PDWORD); |
| MMRESULT waveOutSetPitch(HWAVEOUT, DWORD); |
| MMRESULT waveOutGetPlaybackRate(HWAVEOUT, PDWORD); |
| MMRESULT waveOutSetPlaybackRate(HWAVEOUT, DWORD); |
| MMRESULT waveOutGetID(HWAVEOUT, LPUINT); |
| MMRESULT waveOutMessage(HWAVEOUT, UINT, DWORD_PTR, DWORD_PTR); |
| UINT waveInGetNumDevs(); |
| MMRESULT waveInGetDevCapsA(UINT_PTR, LPWAVEINCAPSA, UINT); |
| MMRESULT waveInGetDevCapsW(UINT_PTR, LPWAVEINCAPSW, UINT); |
| MMRESULT waveInGetErrorTextA(MMRESULT, LPSTR, UINT); |
| MMRESULT waveInGetErrorTextW(MMRESULT, LPWSTR, UINT); |
| MMRESULT waveInOpen(LPHWAVEIN, UINT, LPCWAVEFORMATEX, DWORD_PTR, DWORD_PTR, DWORD); |
| MMRESULT waveInClose(HWAVEIN); |
| MMRESULT waveInPrepareHeader(HWAVEIN, LPWAVEHDR, UINT); |
| MMRESULT waveInUnprepareHeader(HWAVEIN, LPWAVEHDR, UINT); |
| MMRESULT waveInAddBuffer(HWAVEIN, LPWAVEHDR, UINT); |
| MMRESULT waveInStart(HWAVEIN); |
| MMRESULT waveInStop(HWAVEIN); |
| MMRESULT waveInReset(HWAVEIN); |
| MMRESULT waveInGetPosition(HWAVEIN, LPMMTIME, UINT); |
| MMRESULT waveInGetID(HWAVEIN, LPUINT); |
| MMRESULT waveInMessage(HWAVEIN, UINT, DWORD_PTR, DWORD_PTR); |
| UINT midiOutGetNumDevs(); |
| MMRESULT midiStreamOpen(LPHMIDISTRM, LPUINT, DWORD, DWORD_PTR, DWORD_PTR, DWORD); |
| MMRESULT midiStreamClose(HMIDISTRM); |
| MMRESULT midiStreamProperty(HMIDISTRM, LPBYTE, DWORD); |
| MMRESULT midiStreamPosition(HMIDISTRM, LPMMTIME, UINT); |
| MMRESULT midiStreamOut(HMIDISTRM, LPMIDIHDR, UINT); |
| MMRESULT midiStreamPause(HMIDISTRM); |
| MMRESULT midiStreamRestart(HMIDISTRM); |
| MMRESULT midiStreamStop(HMIDISTRM); |
| MMRESULT midiConnect(HMIDI, HMIDIOUT, PVOID); |
| MMRESULT midiDisconnect(HMIDI, HMIDIOUT, PVOID); |
| MMRESULT midiOutGetDevCapsA(UINT_PTR, LPMIDIOUTCAPSA, UINT); |
| MMRESULT midiOutGetDevCapsW(UINT_PTR, LPMIDIOUTCAPSW, UINT); |
| MMRESULT midiOutGetVolume(HMIDIOUT, PDWORD); |
| MMRESULT midiOutSetVolume(HMIDIOUT, DWORD); |
| MMRESULT midiOutGetErrorTextA(MMRESULT, LPSTR, UINT); |
| MMRESULT midiOutGetErrorTextW(MMRESULT, LPWSTR, UINT); |
| MMRESULT midiOutOpen(LPHMIDIOUT, UINT, DWORD_PTR, DWORD_PTR, DWORD); |
| MMRESULT midiOutClose(HMIDIOUT); |
| MMRESULT midiOutPrepareHeader(HMIDIOUT, LPMIDIHDR, UINT); |
| MMRESULT midiOutUnprepareHeader(HMIDIOUT, LPMIDIHDR, UINT); |
| MMRESULT midiOutShortMsg(HMIDIOUT, DWORD); |
| MMRESULT midiOutLongMsg(HMIDIOUT, LPMIDIHDR, UINT); |
| MMRESULT midiOutReset(HMIDIOUT); |
| MMRESULT midiOutCachePatches(HMIDIOUT, UINT, LPWORD, UINT); |
| MMRESULT midiOutCacheDrumPatches(HMIDIOUT, UINT, LPWORD, UINT); |
| MMRESULT midiOutGetID(HMIDIOUT, LPUINT); |
| MMRESULT midiOutMessage(HMIDIOUT, UINT, DWORD_PTR, DWORD_PTR); |
| UINT midiInGetNumDevs(); |
| MMRESULT midiInGetDevCapsA(UINT_PTR, LPMIDIINCAPSA, UINT); |
| MMRESULT midiInGetDevCapsW(UINT_PTR, LPMIDIINCAPSW, UINT); |
| MMRESULT midiInGetErrorTextA(MMRESULT, LPSTR, UINT); |
| MMRESULT midiInGetErrorTextW(MMRESULT, LPWSTR, UINT); |
| MMRESULT midiInOpen(LPHMIDIIN, UINT, DWORD_PTR, DWORD_PTR, DWORD); |
| MMRESULT midiInClose(HMIDIIN); |
| MMRESULT midiInPrepareHeader(HMIDIIN, LPMIDIHDR, UINT); |
| MMRESULT midiInUnprepareHeader(HMIDIIN, LPMIDIHDR, UINT); |
| MMRESULT midiInAddBuffer(HMIDIIN, LPMIDIHDR, UINT); |
| MMRESULT midiInStart(HMIDIIN); |
| MMRESULT midiInStop(HMIDIIN); |
| MMRESULT midiInReset(HMIDIIN); |
| MMRESULT midiInGetID(HMIDIIN, LPUINT); |
| MMRESULT midiInMessage(HMIDIIN, UINT, DWORD_PTR, DWORD_PTR); |
| UINT auxGetNumDevs(); |
| MMRESULT auxGetDevCapsA(UINT_PTR, LPAUXCAPSA, UINT); |
| MMRESULT auxGetDevCapsW(UINT_PTR, LPAUXCAPSW, UINT); |
| MMRESULT auxSetVolume(UINT, DWORD); |
| MMRESULT auxGetVolume(UINT, PDWORD); |
| MMRESULT auxOutMessage(UINT, UINT, DWORD_PTR, DWORD_PTR); |
| UINT mixerGetNumDevs(); |
| MMRESULT mixerGetDevCapsA(UINT_PTR, LPMIXERCAPSA, UINT); |
| MMRESULT mixerGetDevCapsW(UINT_PTR, LPMIXERCAPSW, UINT); |
| MMRESULT mixerOpen(LPHMIXER, UINT, DWORD_PTR, DWORD_PTR, DWORD); |
| MMRESULT mixerClose(HMIXER); |
| DWORD mixerMessage(HMIXER, UINT, DWORD_PTR, DWORD_PTR); |
| MMRESULT mixerGetLineInfoA(HMIXEROBJ, LPMIXERLINEA, DWORD); |
| MMRESULT mixerGetLineInfoW(HMIXEROBJ, LPMIXERLINEW, DWORD); |
| MMRESULT mixerGetID(HMIXEROBJ, PUINT, DWORD); |
| MMRESULT mixerGetLineControlsA(HMIXEROBJ, LPMIXERLINECONTROLSA, DWORD); |
| MMRESULT mixerGetLineControlsW(HMIXEROBJ, LPMIXERLINECONTROLSW, DWORD); |
| MMRESULT mixerGetControlDetailsA(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD); |
| MMRESULT mixerGetControlDetailsW(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD); |
| MMRESULT mixerSetControlDetails(HMIXEROBJ, LPMIXERCONTROLDETAILS, DWORD); |
| MMRESULT timeGetSystemTime(LPMMTIME, UINT); |
| DWORD timeGetTime(); |
| MMRESULT timeSetEvent(UINT, UINT, LPTIMECALLBACK, DWORD_PTR, UINT); |
| MMRESULT timeKillEvent(UINT); |
| MMRESULT timeGetDevCaps(LPTIMECAPS, UINT); |
| MMRESULT timeBeginPeriod(UINT); |
| MMRESULT timeEndPeriod(UINT); |
| UINT joyGetNumDevs(); |
| MMRESULT joyGetDevCapsA(UINT_PTR, LPJOYCAPSA, UINT); |
| MMRESULT joyGetDevCapsW(UINT_PTR, LPJOYCAPSW, UINT); |
| MMRESULT joyGetPos(UINT, LPJOYINFO); |
| MMRESULT joyGetPosEx(UINT, LPJOYINFOEX); |
| MMRESULT joyGetThreshold(UINT, LPUINT); |
| MMRESULT joyReleaseCapture(UINT); |
| MMRESULT joySetCapture(HWND, UINT, UINT, BOOL); |
| MMRESULT joySetThreshold(UINT, UINT); |
| FOURCC mmioStringToFOURCCA(LPCSTR, UINT); |
| FOURCC mmioStringToFOURCCW(LPCWSTR, UINT); |
| LPMMIOPROC mmioInstallIOProcA(FOURCC, LPMMIOPROC, DWORD); |
| LPMMIOPROC mmioInstallIOProcW(FOURCC, LPMMIOPROC, DWORD); |
| HMMIO mmioOpenA(LPSTR, LPMMIOINFO, DWORD); |
| HMMIO mmioOpenW(LPWSTR, LPMMIOINFO, DWORD); |
| MMRESULT mmioRenameA(LPCSTR, LPCSTR, LPCMMIOINFO, DWORD); |
| MMRESULT mmioRenameW(LPCWSTR, LPCWSTR, LPCMMIOINFO, DWORD); |
| MMRESULT mmioClose(HMMIO, UINT); |
| LONG mmioRead(HMMIO, HPSTR, LONG); |
| LONG mmioWrite(HMMIO, LPCSTR, LONG); |
| LONG mmioSeek(HMMIO, LONG, int); |
| MMRESULT mmioGetInfo(HMMIO, LPMMIOINFO, UINT); |
| MMRESULT mmioSetInfo(HMMIO, LPCMMIOINFO, UINT); |
| MMRESULT mmioSetBuffer(HMMIO, LPSTR, LONG, UINT); |
| MMRESULT mmioFlush(HMMIO, UINT); |
| MMRESULT mmioAdvance(HMMIO, LPMMIOINFO, UINT); |
| LRESULT mmioSendMessage(HMMIO, UINT, LPARAM, LPARAM); |
| MMRESULT mmioDescend(HMMIO, LPMMCKINFO, const(MMCKINFO)*, UINT); |
| MMRESULT mmioAscend(HMMIO, LPMMCKINFO, UINT); |
| MMRESULT mmioCreateChunk(HMMIO, LPMMCKINFO, UINT); |
| MCIERROR mciSendCommandA(MCIDEVICEID, UINT, DWORD_PTR, DWORD_PTR); |
| MCIERROR mciSendCommandW(MCIDEVICEID, UINT, DWORD_PTR, DWORD_PTR); |
| MCIERROR mciSendStringA(LPCSTR, LPSTR, UINT, HWND); |
| MCIERROR mciSendStringW(LPCWSTR, LPWSTR, UINT, HWND); |
| MCIDEVICEID mciGetDeviceIDA(LPCSTR); |
| MCIDEVICEID mciGetDeviceIDW(LPCWSTR); |
| MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD, LPCSTR); |
| MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD, LPCWSTR); |
| BOOL mciGetErrorStringA(MCIERROR, LPSTR, UINT); |
| BOOL mciGetErrorStringW(MCIERROR, LPWSTR, UINT); |
| BOOL mciSetYieldProc(MCIDEVICEID, YIELDPROC, DWORD); |
| HTASK mciGetCreatorTask(MCIDEVICEID); |
| YIELDPROC mciGetYieldProc(MCIDEVICEID, PDWORD); |
| |
| struct MCI_SEQ_SET_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwTimeFormat; |
| DWORD dwAudio; |
| DWORD dwTempo; |
| DWORD dwPort; |
| DWORD dwSlave; |
| DWORD dwMaster; |
| DWORD dwOffset; |
| } |
| alias PMCI_SEQ_SET_PARMS = MCI_SEQ_SET_PARMS*, LPMCI_SEQ_SET_PARMS = MCI_SEQ_SET_PARMS*; |
| |
| struct MCI_ANIM_OPEN_PARMSA { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCSTR lpstrDeviceType; |
| LPCSTR lpstrElementName; |
| LPCSTR lpstrAlias; |
| DWORD dwStyle; |
| HWND hWndParent; |
| } |
| alias PMCI_ANIM_OPEN_PARMSA = MCI_ANIM_OPEN_PARMSA*, LPMCI_ANIM_OPEN_PARMSA = MCI_ANIM_OPEN_PARMSA*; |
| |
| struct MCI_ANIM_OPEN_PARMSW { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCWSTR lpstrDeviceType; |
| LPCWSTR lpstrElementName; |
| LPCWSTR lpstrAlias; |
| DWORD dwStyle; |
| HWND hWndParent; |
| } |
| alias PMCI_ANIM_OPEN_PARMSW = MCI_ANIM_OPEN_PARMSW*, LPMCI_ANIM_OPEN_PARMSW = MCI_ANIM_OPEN_PARMSW*; |
| |
| struct MCI_ANIM_PLAY_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwFrom; |
| DWORD dwTo; |
| DWORD dwSpeed; |
| } |
| alias PMCI_ANIM_PLAY_PARMS = MCI_ANIM_PLAY_PARMS*, LPMCI_ANIM_PLAY_PARMS = MCI_ANIM_PLAY_PARMS*; |
| |
| struct MCI_ANIM_STEP_PARMS { |
| DWORD_PTR dwCallback; |
| DWORD dwFrames; |
| } |
| alias PMCI_ANIM_STEP_PARMS = MCI_ANIM_STEP_PARMS*, LPMCI_ANIM_STEP_PARMS = MCI_ANIM_STEP_PARMS*; |
| |
| struct MCI_ANIM_WINDOW_PARMSA { |
| align(1): |
| DWORD_PTR dwCallback; |
| HWND hWnd; |
| UINT nCmdShow; |
| LPCSTR lpstrText; |
| } |
| alias PMCI_ANIM_WINDOW_PARMSA = MCI_ANIM_WINDOW_PARMSA*, LPMCI_ANIM_WINDOW_PARMSA = MCI_ANIM_WINDOW_PARMSA*; |
| |
| struct MCI_ANIM_WINDOW_PARMSW { |
| align(1): |
| DWORD_PTR dwCallback; |
| HWND hWnd; |
| UINT nCmdShow; |
| LPCWSTR lpstrText; |
| } |
| alias PMCI_ANIM_WINDOW_PARMSW = MCI_ANIM_WINDOW_PARMSW*, LPMCI_ANIM_WINDOW_PARMSW = MCI_ANIM_WINDOW_PARMSW*; |
| |
| struct MCI_ANIM_RECT_PARMS { |
| DWORD_PTR dwCallback; |
| //#ifdef MCI_USE_OFFEXT |
| // POINT ptOffset; |
| // POINT ptExtent; |
| //#else |
| RECT rc; |
| //#endif |
| } |
| alias PMCI_ANIM_RECT_PARMS = MCI_ANIM_RECT_PARMS*, LPMCI_ANIM_RECT_PARMS = MCI_ANIM_RECT_PARMS*; |
| |
| struct MCI_ANIM_UPDATE_PARMS { |
| DWORD_PTR dwCallback; |
| RECT rc; |
| HDC hDC; |
| } |
| alias PMCI_ANIM_UPDATE_PARMS = MCI_ANIM_UPDATE_PARMS*, LPMCI_ANIM_UPDATE_PARMS = MCI_ANIM_UPDATE_PARMS*; |
| |
| struct MCI_OVLY_OPEN_PARMSA { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCSTR lpstrDeviceType; |
| LPCSTR lpstrElementName; |
| LPCSTR lpstrAlias; |
| DWORD dwStyle; |
| HWND hWndParent; |
| } |
| alias PMCI_OVLY_OPEN_PARMSA = MCI_OVLY_OPEN_PARMSA*, LPMCI_OVLY_OPEN_PARMSA = MCI_OVLY_OPEN_PARMSA*; |
| |
| struct MCI_OVLY_OPEN_PARMSW { |
| align(1): |
| DWORD_PTR dwCallback; |
| MCIDEVICEID wDeviceID; |
| LPCWSTR lpstrDeviceType; |
| LPCWSTR lpstrElementName; |
| LPCWSTR lpstrAlias; |
| DWORD dwStyle; |
| HWND hWndParent; |
| } |
| alias PMCI_OVLY_OPEN_PARMSW = MCI_OVLY_OPEN_PARMSW*, LPMCI_OVLY_OPEN_PARMSW = MCI_OVLY_OPEN_PARMSW*; |
| |
| struct MCI_OVLY_WINDOW_PARMSA { |
| align(1): |
| DWORD_PTR dwCallback; |
| HWND hWnd; |
| UINT nCmdShow; |
| LPCSTR lpstrText; |
| } |
| alias PMCI_OVLY_WINDOW_PARMSA = MCI_OVLY_WINDOW_PARMSA*, LPMCI_OVLY_WINDOW_PARMSA = MCI_OVLY_WINDOW_PARMSA*; |
| |
| struct MCI_OVLY_WINDOW_PARMSW { |
| align(1): |
| DWORD_PTR dwCallback; |
| HWND hWnd; |
| UINT nCmdShow; |
| LPCWSTR lpstrText; |
| } |
| alias PMCI_OVLY_WINDOW_PARMSW = MCI_OVLY_WINDOW_PARMSW*, LPMCI_OVLY_WINDOW_PARMSW = MCI_OVLY_WINDOW_PARMSW*; |
| |
| struct MCI_OVLY_RECT_PARMS { |
| DWORD_PTR dwCallback; |
| //#ifdef MCI_USE_OFFEXT |
| // POINT ptOffset; |
| // POINT ptExtent; |
| //#else |
| RECT rc; |
| //#endif |
| } |
| alias PMCI_OVLY_RECT_PARMS = MCI_OVLY_RECT_PARMS*, LPMCI_OVLY_RECT_PARMS = MCI_OVLY_RECT_PARMS*; |
| |
| struct MCI_OVLY_SAVE_PARMSA { |
| DWORD_PTR dwCallback; |
| LPCSTR lpfilename; |
| RECT rc; |
| } |
| alias PMCI_OVLY_SAVE_PARMSA = MCI_OVLY_SAVE_PARMSA*, LPMCI_OVLY_SAVE_PARMSA = MCI_OVLY_SAVE_PARMSA*; |
| |
| struct MCI_OVLY_SAVE_PARMSW { |
| DWORD_PTR dwCallback; |
| LPCWSTR lpfilename; |
| RECT rc; |
| } |
| alias PMCI_OVLY_SAVE_PARMSW = MCI_OVLY_SAVE_PARMSW*, LPMCI_OVLY_SAVE_PARMSW = MCI_OVLY_SAVE_PARMSW*; |
| |
| struct MCI_OVLY_LOAD_PARMSA { |
| DWORD_PTR dwCallback; |
| LPCSTR lpfilename; |
| RECT rc; |
| } |
| alias PMCI_OVLY_LOAD_PARMSA = MCI_OVLY_LOAD_PARMSA*, LPMCI_OVLY_LOAD_PARMSA = MCI_OVLY_LOAD_PARMSA*; |
| |
| struct MCI_OVLY_LOAD_PARMSW { |
| DWORD_PTR dwCallback; |
| LPCWSTR lpfilename; |
| RECT rc; |
| } |
| alias PMCI_OVLY_LOAD_PARMSW = MCI_OVLY_LOAD_PARMSW*, LPMCI_OVLY_LOAD_PARMSW = MCI_OVLY_LOAD_PARMSW*; |
| |
| version (Unicode) { |
| alias WAVEOUTCAPS = WAVEOUTCAPSW; |
| alias WAVEINCAPS = WAVEINCAPSW; |
| alias MIDIOUTCAPS = MIDIOUTCAPSW; |
| alias MIDIINCAPS = MIDIINCAPSW; |
| alias AUXCAPS = AUXCAPSW; |
| alias MIXERCAPS = MIXERCAPSW; |
| alias MIXERLINE = MIXERLINEW; |
| alias MIXERCONTROL = MIXERCONTROLA; |
| alias MIXERLINECONTROLS = MIXERLINECONTROLSW; |
| alias MIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXTW; |
| alias JOYCAPS = JOYCAPSW; |
| alias MCI_OPEN_PARMS = MCI_OPEN_PARMSW; |
| alias MCI_INFO_PARMS = MCI_INFO_PARMSW; |
| alias MCI_SYSINFO_PARMS = MCI_SYSINFO_PARMSW; |
| alias MCI_SAVE_PARMS = MCI_SAVE_PARMSW; |
| alias MCI_LOAD_PARMS = MCI_LOAD_PARMSW; |
| alias MCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMSW; |
| alias MCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMSW; |
| alias MCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMSW; |
| alias MCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMSW; |
| alias MCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMSW; |
| alias MCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMSW; |
| alias MCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMSW; |
| |
| alias sndPlaySound = sndPlaySoundW; |
| alias PlaySound = PlaySoundW; |
| alias waveOutGetDevCaps = waveOutGetDevCapsW; |
| alias waveOutGetErrorText = waveOutGetErrorTextW; |
| alias waveInGetDevCaps = waveInGetDevCapsW; |
| alias waveInGetErrorText = waveInGetErrorTextW; |
| alias midiOutGetDevCaps = midiOutGetDevCapsW; |
| alias midiOutGetErrorText = midiOutGetErrorTextW; |
| alias midiInGetDevCaps = midiInGetDevCapsW; |
| alias midiInGetErrorText = midiInGetErrorTextW; |
| alias auxGetDevCaps = auxGetDevCapsW; |
| alias mixerGetDevCaps = mixerGetDevCapsW; |
| alias mixerGetLineInfo = mixerGetLineInfoW; |
| alias mixerGetLineControls = mixerGetLineControlsW; |
| alias mixerGetControlDetails = mixerGetControlDetailsW; |
| alias joyGetDevCaps = joyGetDevCapsW; |
| alias mmioInstallIOProc = mmioInstallIOProcW; |
| alias mmioStringToFOURCC = mmioStringToFOURCCW; |
| alias mmioOpen = mmioOpenW; |
| alias mmioRename = mmioRenameW; |
| alias mciSendCommand = mciSendCommandW; |
| alias mciSendString = mciSendStringW; |
| alias mciGetDeviceID = mciGetDeviceIDW; |
| alias mciGetDeviceIDFromElementID = mciGetDeviceIDFromElementIDW; |
| alias mciGetErrorString = mciGetErrorStringW; |
| |
| } else { |
| alias WAVEOUTCAPS = WAVEOUTCAPSA; |
| alias WAVEINCAPS = WAVEINCAPSA; |
| alias MIDIOUTCAPS = MIDIOUTCAPSA; |
| alias MIDIINCAPS = MIDIINCAPSA; |
| alias AUXCAPS = AUXCAPSA; |
| alias MIXERCAPS = MIXERCAPSA; |
| alias MIXERLINE = MIXERLINEA; |
| alias MIXERCONTROL = MIXERCONTROLA; |
| alias MIXERLINECONTROLS = MIXERLINECONTROLSA; |
| alias MIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXTA; |
| alias JOYCAPS = JOYCAPSA; |
| alias MCI_OPEN_PARMS = MCI_OPEN_PARMSA; |
| alias MCI_INFO_PARMS = MCI_INFO_PARMSA; |
| alias MCI_SYSINFO_PARMS = MCI_SYSINFO_PARMSA; |
| alias MCI_SAVE_PARMS = MCI_SAVE_PARMSA; |
| alias MCI_LOAD_PARMS = MCI_LOAD_PARMSA; |
| alias MCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMSA; |
| alias MCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMSA; |
| alias MCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMSA; |
| alias MCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMSA; |
| alias MCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMSA; |
| alias MCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMSA; |
| alias MCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMSA; |
| |
| alias sndPlaySound = sndPlaySoundA; |
| alias PlaySound = PlaySoundA; |
| alias waveOutGetDevCaps = waveOutGetDevCapsA; |
| alias waveOutGetErrorText = waveOutGetErrorTextA; |
| alias waveInGetDevCaps = waveInGetDevCapsA; |
| alias waveInGetErrorText = waveInGetErrorTextA; |
| alias midiOutGetDevCaps = midiOutGetDevCapsA; |
| alias midiOutGetErrorText = midiOutGetErrorTextA; |
| alias midiInGetDevCaps = midiInGetDevCapsA; |
| alias midiInGetErrorText = midiInGetErrorTextA; |
| alias auxGetDevCaps = auxGetDevCapsA; |
| alias mixerGetDevCaps = mixerGetDevCapsA; |
| alias mixerGetLineInfo = mixerGetLineInfoA; |
| alias mixerGetLineControls = mixerGetLineControlsA; |
| alias mixerGetControlDetails = mixerGetControlDetailsA; |
| alias joyGetDevCaps = joyGetDevCapsA; |
| alias mmioInstallIOProc = mmioInstallIOProcA; |
| alias mmioStringToFOURCC = mmioStringToFOURCCA; |
| alias mmioOpen = mmioOpenA; |
| alias mmioRename = mmioRenameA; |
| alias mciSendCommand = mciSendCommandA; |
| alias mciSendString = mciSendStringA; |
| alias mciGetDeviceID = mciGetDeviceIDA; |
| alias mciGetDeviceIDFromElementID = mciGetDeviceIDFromElementIDA; |
| alias mciGetErrorString = mciGetErrorStringA; |
| } |
| |
| alias PWAVEOUTCAPS = WAVEOUTCAPS*, LPWAVEOUTCAPS = WAVEOUTCAPS*; |
| alias PWAVEINCAPS = WAVEINCAPS*, LPWAVEINCAPS = WAVEINCAPS*; |
| alias PMIDIOUTCAPS = MIDIOUTCAPS*, LPMIDIOUTCAPS = MIDIOUTCAPS*; |
| alias PMIDIINCAPS = MIDIINCAPS*, LPMIDIINCAPS = MIDIINCAPS*; |
| alias PAUXCAPS = AUXCAPS*, LPAUXCAPS = AUXCAPS*; |
| alias PMIXERCAPS = MIXERCAPS*, LPMIXERCAPS = MIXERCAPS*; |
| alias PMIXERLINE = MIXERLINE*, LPMIXERLINE = MIXERLINE*; |
| alias PMIXERCONTROL = MIXERCONTROL*, LPMIXERCONTROL = MIXERCONTROL*; |
| alias PMIXERLINECONTROLS = MIXERLINECONTROLS*, LPMIXERLINECONTROLS = MIXERLINECONTROLS*; |
| alias PMIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXT*, LPMIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXT*; |
| alias PJOYCAPS = JOYCAPS*, LPJOYCAPS = JOYCAPS*; |
| alias PMCI_OPEN_PARMS = MCI_OPEN_PARMS*, LPMCI_OPEN_PARMS = MCI_OPEN_PARMS*; |
| alias LPMCI_INFO_PARMS = MCI_INFO_PARMS*; |
| alias PMCI_SYSINFO_PARMS = MCI_SYSINFO_PARMS*, LPMCI_SYSINFO_PARMS = MCI_SYSINFO_PARMS*; |
| alias PMCI_SAVE_PARMS = MCI_SAVE_PARMS*, LPMCI_SAVE_PARMS = MCI_SAVE_PARMS*; |
| alias PMCI_LOAD_PARMS = MCI_LOAD_PARMS*, LPMCI_LOAD_PARMS = MCI_LOAD_PARMS*; |
| alias PMCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMS*, LPMCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMS*; |
| alias PMCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMS*, LPMCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMS*; |
| alias PMCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMS*, LPMCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMS*; |
| alias PMCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMS*, LPMCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMS*; |
| alias PMCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMS*, LPMCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMS*; |
| alias PMCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMS*, LPMCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMS*; |
| alias PMCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMS*, LPMCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMS*; |