#
#
# Nimrod's Runtime Library
# (c) Copyright 2006 Andreas Rumpf
#
# See the file "copying.txt", included in this
# distribution, for details about the copyright.
#
#*********************************
#*******************************
# Generated by c2pas32 v0.9b
# Fixed by P.V.Ozerski
# (c) 2001 Oleg Bulychov
# Original C header file
# Gladiators Software
# (created at Dec-03-1998)
# http://www.astonshell.com/
# from LCC-win32 is used
#*********************************
# LCC-win32 (c) Jacob Navia
#*******************************
{.deadCodeElim: on.}
import
windows
type
MMRESULT* = UINT
MMVERSION* = UINT
HWAVEOUT* = THandle
LPHWAVEOUT* = ptr HWAVEOUT
HWAVEIN* = THandle
LPHWAVEIN* = ptr HWAVEOUT
HWAVE* = THandle
LPHWAVE* = ptr THandle
LPUINT* = ptr UINT
const
MAXPNAMELEN* = 32
MAXERRORLENGTH* = 256
MAX_JOYSTICKOEMVXDNAME* = 260
MM_MIDI_MAPPER* = 1
MM_WAVE_MAPPER* = 2
MM_SNDBLST_MIDIOUT* = 3
MM_SNDBLST_MIDIIN* = 4
MM_SNDBLST_SYNTH* = 5
MM_SNDBLST_WAVEOUT* = 6
MM_SNDBLST_WAVEIN* = 7
MM_ADLIB* = 9
MM_MPU401_MIDIOUT* = 10
MM_MPU401_MIDIIN* = 11
MM_PC_JOYSTICK* = 12
TIME_MS* = 1
TIME_SAMPLES* = 2
TIME_BYTES* = 4
TIME_SMPTE* = 8
TIME_MIDI* = 16
TIME_TICKS* = 32
MM_MCINOTIFY* = 0x000003B9
MM_WOM_OPEN* = 0x000003BB
MM_WOM_CLOSE* = 0x000003BC
MM_WOM_DONE* = 0x000003BD
MM_WIM_OPEN* = 0x000003BE
MM_WIM_CLOSE* = 0x000003BF
MM_WIM_DATA* = 0x000003C0
MM_MIM_OPEN* = 0x000003C1
MM_MIM_CLOSE* = 0x000003C2
MM_MIM_DATA* = 0x000003C3
MM_MIM_LONGDATA* = 0x000003C4
MM_MIM_ERROR* = 0x000003C5
MM_MIM_LONGERROR* = 0x000003C6
MM_MOM_OPEN* = 0x000003C7
MM_MOM_CLOSE* = 0x000003C8
MM_MOM_DONE* = 0x000003C9
MM_DRVM_OPEN* = 0x000003D0
MM_DRVM_CLOSE* = 0x000003D1
MM_DRVM_DATA* = 0x000003D2
MM_DRVM_ERROR* = 0x000003D3
MM_STREAM_OPEN* = 0x000003D4
MM_STREAM_CLOSE* = 0x000003D5
MM_STREAM_DONE* = 0x000003D6
MM_STREAM_ERROR* = 0x000003D7
MM_MOM_POSITIONCB* = 0x000003CA
MM_MCISIGNAL* = 0x000003CB
WAVE_INVALIDFORMAT* = 0
WAVE_FORMAT_1M08* = 1
WAVE_FORMAT_1S08* = 2
WAVE_FORMAT_1M16* = 4
WAVE_FORMAT_1S16* = 8
WAVE_FORMAT_2M08* = 16
WAVE_FORMAT_2S08* = 32
WAVE_FORMAT_2M16* = 64
WAVE_FORMAT_2S16* = 128
WAVE_FORMAT_4M08* = 256
WAVE_FORMAT_4S08* = 512
WAVE_FORMAT_4M16* = 0x00000400
WAVE_FORMAT_4S16* = 0x00000800
MM_MIM_MOREDATA* = 0x000003CC
MM_MIXM_LINE_CHANGE* = 0x000003D0
MM_MIXM_CONTROL_CHANGE* = 0x000003D1
MMSYSERR_BASE* = 0
WAVERR_BASE* = 32
MIDIERR_BASE* = 64
TIMERR_BASE* = 96
JOYERR_BASE* = 160
MCIERR_BASE* = 256
MIXERR_BASE* = 1024
MCI_STRING_OFFSET* = 512
MCI_VD_OFFSET* = 1024
MCI_CD_OFFSET* = 1088
MCI_WAVE_OFFSET* = 1152
MCI_SEQ_OFFSET* = 1216
MMSYSERR_NOERROR* = 0
MMSYSERR_ERROR* = (MMSYSERR_BASE + 1)
MMSYSERR_BADDEVICEID* = (MMSYSERR_BASE + 2)
MMSYSERR_NOTENABLED* = (MMSYSERR_BASE + 3)
MMSYSERR_ALLOCATED* = (MMSYSERR_BASE + 4)
MMSYSERR_INVALHANDLE* = (MMSYSERR_BASE + 5)
MMSYSERR_NODRIVER* = (MMSYSERR_BASE + 6)
MMSYSERR_NOMEM* = (MMSYSERR_BASE + 7)
MMSYSERR_NOTSUPPORTED* = (MMSYSERR_BASE + 8)
MMSYSERR_BADERRNUM* = (MMSYSERR_BASE + 9)
MMSYSERR_INVALFLAG* = (MMSYSERR_BASE + 10)
MMSYSERR_INVALPARAM* = (MMSYSERR_BASE + 11)
MMSYSERR_HANDLEBUSY* = (MMSYSERR_BASE + 12)
MMSYSERR_INVALIDALIAS* = (MMSYSERR_BASE + 13)
MMSYSERR_BADDB* = (MMSYSERR_BASE + 14)
MMSYSERR_KEYNOTFOUND* = (MMSYSERR_BASE + 15)
MMSYSERR_READERROR* = (MMSYSERR_BASE + 16)
MMSYSERR_WRITEERROR* = (MMSYSERR_BASE + 17)
MMSYSERR_DELETEERROR* = (MMSYSERR_BASE + 18)
MMSYSERR_VALNOTFOUND* = (MMSYSERR_BASE + 19)
MMSYSERR_NODRIVERCB* = (MMSYSERR_BASE + 20)
MMSYSERR_LASTERROR* = (MMSYSERR_BASE + 20)
MM_JOY1MOVE* = 0x000003A0
MM_JOY2MOVE* = 0x000003A1
MM_JOY1ZMOVE* = 0x000003A2
MM_JOY2ZMOVE* = 0x000003A3
MM_JOY1BUTTONDOWN* = 0x000003B5
MM_JOY2BUTTONDOWN* = 0x000003B6
MM_JOY1BUTTONUP* = 0x000003B7
MM_JOY2BUTTONUP* = 0x000003B8
CALLBACK_TYPEMASK* = 0x00070000
CALLBACK_NULL* = 0
CALLBACK_EVENT* = 0x00050000
CALLBACK_WINDOW* = 0x00010000
CALLBACK_TASK* = 0x00020000
CALLBACK_THREAD* = CALLBACK_TASK
CALLBACK_FUNCTION* = 0x00030000
type
HDRVR* = THandle
const
DRV_LOAD* = 1
DRV_ENABLE* = 2
DRV_OPEN* = 0x00000003
DRV_CLOSE* = 4
DRV_DISABLE* = 0x00000005
DRV_FREE* = 0x00000006
DRV_CONFIGURE* = 0x00000007
DRV_QUERYCONFIGURE* = 8
DRV_INSTALL* = 0x00000009
DRV_REMOVE* = 0x0000000A
DRV_EXITSESSION* = 0x0000000B
DRV_POWER* = 0x0000000F
DRV_RESERVED* = 0x00000800
DRV_USER* = 0x00004000
DRVCNF_CANCEL* = 0
DRVCNF_OK* = 1
DRVCNF_RESTART* = 2
DRV_CANCEL* = DRVCNF_CANCEL
DRV_OK* = DRVCNF_OK
DRV_RESTART* = DRVCNF_RESTART
DRV_MCI_FIRST* = DRV_RESERVED
DRV_MCI_LAST* = (DRV_RESERVED + 0x00000FFF)
type
PDRVCALLBACK* = proc (hdrvr: tHandle, uMsg: UINT, dwUser, dw1, dw2: DWORD){.
stdcall.}
proc sndPlaySoundA*(Name: LPCSTR, flags: UINT): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "sndPlaySoundA".}
proc sndPlaySoundW*(Name: LPCWSTR, flags: UINT): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "sndPlaySoundW".}
when defined(winUNICODE):
proc sndPlaySound*(Name: cstring, flags: UINT): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "sndPlaySoundW".}
else:
proc sndPlaySound*(Name: cstring, flags: UINT): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "sndPlaySoundA".}
const
SND_NODEFAULT* = 2
SND_MEMORY* = 4
SND_LOOP* = 8
SND_NOSTOP* = 16
SND_SYNC* = 0
SND_ASYNC* = 1
SND_PURGE* = 64
SND_APPLICATION* = 128
SND_ALIAS_START* = 0
SND_ALIAS_SYSTEMHAND* = 18515
SND_ALIAS_SYSTEMEXCLAMATION* = 8531
SND_ALIAS_SYSTEMASTERISK* = 10835
SND_ALIAS_SYSTEMQUESTION* = 16211
SND_ALIAS_SYSTEMDEFAULT* = 17491
SND_ALIAS_SYSTEMEXIT* = 17747
SND_ALIAS_SYSTEMSTART* = 21331
SND_ALIAS_SYSTEMWELCOME* = 22355
SND_NOWAIT* = 0x00002000
SND_ALIAS* = 0x00010000
SND_ALIAS_ID* = 0x00110000
SND_FILENAME* = 0x00020000
SND_RESOURCE* = 0x00040004
WAVERR_BADFORMAT* = (WAVERR_BASE + 0)
WAVERR_STILLPLAYING* = (WAVERR_BASE + 1)
WAVERR_UNPREPARED* = (WAVERR_BASE + 2)
WAVERR_SYNC* = (WAVERR_BASE + 3)
WAVERR_LASTERROR* = (WAVERR_BASE + 3)
WOM_OPEN* = MM_WOM_OPEN
WOM_CLOSE* = MM_WOM_CLOSE
WOM_DONE* = MM_WOM_DONE
WIM_OPEN* = MM_WIM_OPEN
WIM_CLOSE* = MM_WIM_CLOSE
WIM_DATA* = MM_WIM_DATA
WAVE_MAPPER* = UINT(- 1)
WAVE_FORMAT_QUERY* = 1
WAVE_ALLOWSYNC* = 2
WAVE_MAPPED* = 4
WAVE_FORMAT_DIRECT* = 8
WAVE_FORMAT_DIRECT_QUERY* = (WAVE_FORMAT_QUERY Or WAVE_FORMAT_DIRECT)
MIM_OPEN* = MM_MIM_OPEN
MIM_CLOSE* = MM_MIM_CLOSE
MIM_DATA* = MM_MIM_DATA
MIM_LONGDATA* = MM_MIM_LONGDATA
MIM_ERROR* = MM_MIM_ERROR
MIM_LONGERROR* = MM_MIM_LONGERROR
MOM_OPEN* = MM_MOM_OPEN
MOM_CLOSE* = MM_MOM_CLOSE
MOM_DONE* = MM_MOM_DONE
MIM_MOREDATA* = MM_MIM_MOREDATA
MOM_POSITIONCB* = MM_MOM_POSITIONCB
MIDIMAPPER* = UINT(- 1)
MIDI_IO_STATUS* = 32
MIDI_CACHE_ALL* = 1
MIDI_CACHE_BESTFIT* = 2
MIDI_CACHE_QUERY* = 3
MIDI_UNCACHE* = 4
WHDR_DONE* = 1
WHDR_PREPARED* = 2
WHDR_BEGINLOOP* = 0x00000004
WHDR_ENDLOOP* = 0x00000008
WHDR_INQUEUE* = 0x00000010
MOD_MIDIPORT* = 1
MOD_SYNTH* = 2
MOD_SQSYNTH* = 3
MOD_FMSYNTH* = 4
MOD_MAPPER* = 5
MIDICAPS_VOLUME* = 1
MIDICAPS_LRVOLUME* = 2
MIDICAPS_CACHE* = 4
MIDICAPS_STREAM* = 8
MHDR_DONE* = 1
MHDR_PREPARED* = 2
MHDR_INQUEUE* = 0x00000004
MHDR_ISSTRM* = 0x00000008
MEVT_F_SHORT* = 0
MEVT_F_LONG* = 0x80000000
MEVT_F_CALLBACK* = 0x40000000
proc MEVT_EVENTTYPE*(x: int8): int8
proc MEVT_EVENTPARM*(x: DWORD): DWORD
const
MEVT_SHORTMSG* = 0
MEVT_TEMPO* = 0x00000001
MEVT_NOP* = 0x00000002
MEVT_LONGMSG* = 0x00000080
MEVT_COMMENT* = 0x00000082
MEVT_VERSION* = 0x00000084
MIDISTRM_ERROR* = - 2
MIDIPROP_SET* = 0x80000000
MIDIPROP_GET* = 0x40000000
MIDIPROP_TIMEDIV* = 1
MIDIPROP_TEMPO* = 2
MIXERLINE_LINEF_ACTIVE* = 1
MIXERLINE_LINEF_DISCONNECTED* = 0x00008000
MIXERLINE_LINEF_SOURCE* = 0x80000000
MIXERLINE_COMPONENTTYPE_DST_FIRST* = 0
MIXERLINE_COMPONENTTYPE_DST_UNDEFINED* = (MIXERLINE_COMPONENTTYPE_DST_FIRST)
MIXERLINE_COMPONENTTYPE_DST_DIGITAL* = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 1)
MIXERLINE_COMPONENTTYPE_DST_LINE* = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 2)
MIXERLINE_COMPONENTTYPE_DST_MONITOR* = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 3)
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS* = (MIXERLINE_COMPONENTTYPE_DST_FIRST +
4)
MIXERLINE_COMPONENTTYPE_DST_HEADPHONES* = (
MIXERLINE_COMPONENTTYPE_DST_FIRST + 5)
MIXERLINE_COMPONENTTYPE_DST_TELEPHONE* = (
MIXERLINE_COMPONENTTYPE_DST_FIRST + 6)
MIXERLINE_COMPONENTTYPE_DST_WAVEIN* = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 7)
MIXERLINE_COMPONENTTYPE_DST_VOICEIN* = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)
MIXERLINE_COMPONENTTYPE_DST_LAST* = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)
MIXERLINE_COMPONENTTYPE_SRC_FIRST* = 0x00001000
MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED* = (
MIXERLINE_COMPONENTTYPE_SRC_FIRST + 0)
MIXERLINE_COMPONENTTYPE_SRC_DIGITAL* = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 1)
MIXERLINE_COMPONENTTYPE_SRC_LINE* = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2)
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE* = (
MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3)
MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER* = (
MIXERLINE_COMPONENTTYPE_SRC_FIRST + 4)
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC* = (
MIXERLINE_COMPONENTTYPE_SRC_FIRST + 5)
MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE* = (
MIXERLINE_COMPONENTTYPE_SRC_FIRST + 6)
MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER* = (
MIXERLINE_COMPONENTTYPE_SRC_FIRST + 7)
MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT* = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 8)
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY* = (
MIXERLINE_COMPONENTTYPE_SRC_FIRST + 9)
MIXERLINE_COMPONENTTYPE_SRC_ANALOG* = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
MIXERLINE_COMPONENTTYPE_SRC_LAST* = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
MIXERLINE_TARGETTYPE_UNDEFINED* = 0
MIXERLINE_TARGETTYPE_WAVEOUT* = 1
MIXERLINE_TARGETTYPE_WAVEIN* = 2
MIXERLINE_TARGETTYPE_MIDIOUT* = 3
MIXERLINE_TARGETTYPE_MIDIIN* = 4
MIXERLINE_TARGETTYPE_AUX* = 5
MIDIERR_UNPREPARED* = (MIDIERR_BASE + 0)
MIDIERR_STILLPLAYING* = (MIDIERR_BASE + 1)
MIDIERR_NOMAP* = (MIDIERR_BASE + 2)
MIDIERR_NOTREADY* = (MIDIERR_BASE + 3)
MIDIERR_NODEVICE* = (MIDIERR_BASE + 4)
MIDIERR_INVALIDSETUP* = (MIDIERR_BASE + 5)
MIDIERR_BADOPENMODE* = (MIDIERR_BASE + 6)
MIDIERR_DONT_CONTINUE* = (MIDIERR_BASE + 7)
MIDIERR_LASTERROR* = (MIDIERR_BASE + 7)
MIXERCONTROL_CONTROLF_UNIFORM* = 1
MIXERCONTROL_CONTROLF_MULTIPLE* = 2
MIXERCONTROL_CONTROLF_DISABLED* = 0x80000000
MIXERCONTROL_CT_CLASS_MASK* = 0xF0000000
MIXERCONTROL_CT_CLASS_CUSTOM* = 0
MIXERCONTROL_CT_CLASS_METER* = 0x10000000
MIXERCONTROL_CT_CLASS_SWITCH* = 0x20000000
MIXERCONTROL_CT_CLASS_NUMBER* = 0x30000000
MIXERCONTROL_CT_CLASS_SLIDER* = 0x40000000
MIXERCONTROL_CT_CLASS_FADER* = 0x50000000
MIXERCONTROL_CT_CLASS_TIME* = 0x60000000
MIXERCONTROL_CT_CLASS_LIST* = 0x70000000
MIXERCONTROL_CT_SUBCLASS_MASK* = 0x0F000000
MIXERCONTROL_CT_SC_SWITCH_BOOLEAN* = 0
MIXERCONTROL_CT_SC_SWITCH_BUTTON* = 0x01000000
MIXERCONTROL_CT_SC_METER_POLLED* = 0
MIXERCONTROL_CT_SC_TIME_MICROSECS* = 0
MIXERCONTROL_CT_SC_TIME_MILLISECS* = 0x01000000
MIXERCONTROL_CT_SC_LIST_SINGLE* = 0
MIXERCONTROL_CT_SC_LIST_MULTIPLE* = 0x01000000
MIXERCONTROL_CT_UNITS_MASK* = 0x00FF0000
MIXERCONTROL_CT_UNITS_CUSTOM* = 0
MIXERCONTROL_CT_UNITS_BOOLEAN* = 0x00010000
MIXERCONTROL_CT_UNITS_SIGNED* = 0x00020000
MIXERCONTROL_CT_UNITS_UNSIGNED* = 0x00030000
MIXERCONTROL_CT_UNITS_DECIBELS* = 0x00040000
MIXERCONTROL_CT_UNITS_PERCENT* = 0x00050000
MIXERCONTROL_CONTROLTYPE_CUSTOM* = (
MIXERCONTROL_CT_CLASS_CUSTOM Or MIXERCONTROL_CT_UNITS_CUSTOM)
MIXERCONTROL_CONTROLTYPE_BOOLEANMETER* = (MIXERCONTROL_CT_CLASS_METER Or
MIXERCONTROL_CT_SC_METER_POLLED Or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_SIGNEDMETER* = (MIXERCONTROL_CT_CLASS_METER Or
MIXERCONTROL_CT_SC_METER_POLLED Or MIXERCONTROL_CT_UNITS_SIGNED)
MIXERCONTROL_CONTROLTYPE_PEAKMETER* = (
MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1)
MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER* = (MIXERCONTROL_CT_CLASS_METER Or
MIXERCONTROL_CT_SC_METER_POLLED Or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXERCONTROL_CONTROLTYPE_BOOLEAN* = (MIXERCONTROL_CT_CLASS_SWITCH Or
MIXERCONTROL_CT_SC_SWITCH_BOOLEAN Or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_ONOFF* = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1)
MIXERCONTROL_CONTROLTYPE_MUTE* = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2)
MIXERCONTROL_CONTROLTYPE_MONO* = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3)
MIXERCONTROL_CONTROLTYPE_LOUDNESS* = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4)
MIXERCONTROL_CONTROLTYPE_STEREOENH* = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5)
MIXERCONTROL_CONTROLTYPE_BUTTON* = (MIXERCONTROL_CT_CLASS_SWITCH Or
MIXERCONTROL_CT_SC_SWITCH_BUTTON Or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_DECIBELS* = (
MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_DECIBELS)
MIXERCONTROL_CONTROLTYPE_SIGNED* = (
MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_SIGNED)
MIXERCONTROL_CONTROLTYPE_UNSIGNED* = (
MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXERCONTROL_CONTROLTYPE_PERCENT* = (
MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_PERCENT)
MIXERCONTROL_CONTROLTYPE_SLIDER* = (
MIXERCONTROL_CT_CLASS_SLIDER Or MIXERCONTROL_CT_UNITS_SIGNED)
MIXERCONTROL_CONTROLTYPE_PAN* = (MIXERCONTROL_CONTROLTYPE_SLIDER + 1)
MIXERCONTROL_CONTROLTYPE_QSOUNDPAN* = (MIXERCONTROL_CONTROLTYPE_SLIDER + 2)
MIXERCONTROL_CONTROLTYPE_FADER* = (
MIXERCONTROL_CT_CLASS_FADER Or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXERCONTROL_CONTROLTYPE_VOLUME* = (MIXERCONTROL_CONTROLTYPE_FADER + 1)
MIXERCONTROL_CONTROLTYPE_BASS* = (MIXERCONTROL_CONTROLTYPE_FADER + 2)
MIXERCONTROL_CONTROLTYPE_TREBLE* = (MIXERCONTROL_CONTROLTYPE_FADER + 3)
MIXERCONTROL_CONTROLTYPE_EQUALIZER* = (MIXERCONTROL_CONTROLTYPE_FADER + 4)
MIXERCONTROL_CONTROLTYPE_SINGLESELECT* = (MIXERCONTROL_CT_CLASS_LIST Or
MIXERCONTROL_CT_SC_LIST_SINGLE Or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_MUX* = (MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1)
MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT* = (MIXERCONTROL_CT_CLASS_LIST Or
MIXERCONTROL_CT_SC_LIST_MULTIPLE Or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_MIXER* = (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT +
1)
MIXERCONTROL_CONTROLTYPE_MICROTIME* = (MIXERCONTROL_CT_CLASS_TIME Or
MIXERCONTROL_CT_SC_TIME_MICROSECS Or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXERCONTROL_CONTROLTYPE_MILLITIME* = (MIXERCONTROL_CT_CLASS_TIME Or
MIXERCONTROL_CT_SC_TIME_MILLISECS Or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXER_SHORT_NAME_CHARS* = 16
MIXER_LONG_NAME_CHARS* = 64
MIXERR_INVALLINE* = (MIXERR_BASE + 0)
MIXERR_INVALCONTROL* = (MIXERR_BASE + 1)
MIXERR_INVALVALUE* = (MIXERR_BASE + 2)
MIXERR_LASTERROR* = (MIXERR_BASE + 2)
MIXER_OBJECTF_HANDLE* = 0x80000000
MIXER_OBJECTF_MIXER* = 0
MIXER_OBJECTF_HMIXER* = (MIXER_OBJECTF_HANDLE Or MIXER_OBJECTF_MIXER)
MIXER_OBJECTF_WAVEOUT* = 0x10000000
MIXER_OBJECTF_HWAVEOUT* = (MIXER_OBJECTF_HANDLE Or MIXER_OBJECTF_WAVEOUT)
MIXER_OBJECTF_WAVEIN* = 0x20000000
MIXER_OBJECTF_HWAVEIN* = (MIXER_OBJECTF_HANDLE Or MIXER_OBJECTF_WAVEIN)
MIXER_OBJECTF_MIDIOUT* = 0x30000000
MIXER_OBJECTF_HMIDIOUT* = (MIXER_OBJECTF_HANDLE Or MIXER_OBJECTF_MIDIOUT)
MIXER_OBJECTF_MIDIIN* = 0x40000000
MIXER_OBJECTF_HMIDIIN* = (MIXER_OBJECTF_HANDLE Or MIXER_OBJECTF_MIDIIN)
MIXER_OBJECTF_AUX* = 0x50000000
MIXER_GETCONTROLDETAILSF_VALUE* = 0
MIXER_GETCONTROLDETAILSF_LISTTEXT* = 1
MIXER_GETCONTROLDETAILSF_QUERYMASK* = 0x0000000F
MIXER_SETCONTROLDETAILSF_VALUE* = 0
MIXER_SETCONTROLDETAILSF_CUSTOM* = 1
MIXER_SETCONTROLDETAILSF_QUERYMASK* = 0x0000000F
JOYERR_NOERROR* = (0)
JOYERR_PARMS* = (JOYERR_BASE + 5)
JOYERR_NOCANDO* = (JOYERR_BASE + 6)
JOYERR_UNPLUGGED* = (JOYERR_BASE + 7)
JOY_BUTTON1* = 1
JOY_BUTTON2* = 2
JOY_BUTTON3* = 4
JOY_BUTTON4* = 8
JOY_BUTTON1CHG* = 256
JOY_BUTTON2CHG* = 512
JOY_BUTTON3CHG* = 0x00000400
JOY_BUTTON4CHG* = 0x00000800
JOY_BUTTON5* = 16
JOY_BUTTON6* = 32
JOY_BUTTON7* = 64
JOY_BUTTON8* = 128
JOY_BUTTON9* = 256
JOY_BUTTON10* = 512
JOY_BUTTON11* = 0x00000400
JOY_BUTTON12* = 0x00000800
JOY_BUTTON13* = 0x00001000
JOY_BUTTON14* = 0x00002000
JOY_BUTTON15* = 0x00004000
JOY_BUTTON16* = 0x00008000
JOY_BUTTON17* = 0x00010000
JOY_BUTTON18* = 0x00020000
JOY_BUTTON19* = 0x00040000
JOY_BUTTON20* = 0x00080000
JOY_BUTTON21* = 0x00100000
JOY_BUTTON22* = 0x00200000
JOY_BUTTON23* = 0x00400000
JOY_BUTTON24* = 0x00800000
JOY_BUTTON25* = 0x01000000
JOY_BUTTON26* = 0x02000000
JOY_BUTTON27* = 0x04000000
JOY_BUTTON28* = 0x08000000
JOY_BUTTON29* = 0x10000000
JOY_BUTTON30* = 0x20000000
JOY_BUTTON31* = 0x40000000
JOY_BUTTON32* = 0x80000000
JOY_POVCENTERED* = - 1
JOY_POVFORWARD* = 0
JOY_POVRIGHT* = 9000
JOY_POVBACKWARD* = 18000
JOY_POVLEFT* = 27000
JOY_RETURNX* = 1
JOY_RETURNY* = 2
JOY_RETURNZ* = 4
JOY_RETURNR* = 8
JOY_RETURNU* = 16
JOY_RETURNV* = 32
JOY_RETURNPOV* = 64
JOY_RETURNBUTTONS* = 128
JOY_RETURNRAWDATA* = 256
JOY_RETURNPOVCTS* = 512
JOY_RETURNCENTERED* = 0x00000400
JOY_USEDEADZONE* = 0x00000800
JOY_RETURNALL* = (JOY_RETURNX Or JOY_RETURNY Or JOY_RETURNZ Or JOY_RETURNR Or
JOY_RETURNU Or JOY_RETURNV Or JOY_RETURNPOV Or 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
JOYSTICKID1* = 0
JOYSTICKID2* = 1
JOYCAPS_HASZ* = 1
JOYCAPS_HASR* = 2
JOYCAPS_HASU* = 4
JOYCAPS_HASV* = 8
JOYCAPS_HASPOV* = 16
JOYCAPS_POV4DIR* = 32
JOYCAPS_POVCTS* = 64
MMIOERR_BASE* = 256
MMIOERR_FILENOTFOUND* = (MMIOERR_BASE + 1)
MMIOERR_OUTOFMEMORY* = (MMIOERR_BASE + 2)
MMIOERR_CANNOTOPEN* = (MMIOERR_BASE + 3)
MMIOERR_CANNOTCLOSE* = (MMIOERR_BASE + 4)
MMIOERR_CANNOTREAD* = (MMIOERR_BASE + 5)
MMIOERR_CANNOTWRITE* = (MMIOERR_BASE + 6)
MMIOERR_CANNOTSEEK* = (MMIOERR_BASE + 7)
MMIOERR_CANNOTEXPAND* = (MMIOERR_BASE + 8)
MMIOERR_CHUNKNOTFOUND* = (MMIOERR_BASE + 9)
MMIOERR_UNBUFFERED* = (MMIOERR_BASE + 10)
MMIOERR_PATHNOTFOUND* = (MMIOERR_BASE + 11)
MMIOERR_ACCESSDENIED* = (MMIOERR_BASE + 12)
MMIOERR_SHARINGVIOLATION* = (MMIOERR_BASE + 13)
MMIOERR_NETWORKERROR* = (MMIOERR_BASE + 14)
MMIOERR_TOOMANYOPENFILES* = (MMIOERR_BASE + 15)
MMIOERR_INVALIDFILE* = (MMIOERR_BASE + 16)
CFSEPCHAR* = '+'
WAVECAPS_PITCH* = 1
WAVECAPS_PLAYBACKRATE* = 2
WAVECAPS_VOLUME* = 4
WAVECAPS_LRVOLUME* = 8
WAVECAPS_SYNC* = 16
WAVECAPS_SAMPLEACCURATE* = 32
WAVECAPS_DIRECTSOUND* = 64
MIXER_GETLINEINFOF_DESTINATION* = 0
MIXER_GETLINEINFOF_SOURCE* = 1
MIXER_GETLINEINFOF_LINEID* = 2
MIXER_GETLINEINFOF_COMPONENTTYPE* = 3
MIXER_GETLINEINFOF_TARGETTYPE* = 4
MIXER_GETLINEINFOF_QUERYMASK* = 0x0000000F
MMIO_RWMODE* = 3
MMIO_SHAREMODE* = 0x00000070
MMIO_CREATE* = 0x00001000
MMIO_PARSE* = 256
MMIO_DELETE* = 512
MMIO_EXIST* = 0x00004000
MMIO_ALLOCBUF* = 0x00010000
MMIO_GETTEMP* = 0x00020000
MMIO_DIRTY* = 0x10000000
cMMIO_READ* = 0
cMMIO_WRITE* = 1
MMIO_READWRITE* = 2
MMIO_COMPAT* = 0
MMIO_EXCLUSIVE* = 16
MMIO_DENYWRITE* = 32
MMIO_DENYREAD* = 0x00000030
MMIO_DENYNONE* = 64
MMIO_FHOPEN* = 16
MMIO_EMPTYBUF* = 16
MMIO_TOUPPER* = 16
MMIO_INSTALLPROC* = 0x00010000
MMIO_GLOBALPROC* = 0x10000000
MMIO_REMOVEPROC* = 0x00020000
MMIO_UNICODEPROC* = 0x01000000
MMIO_FINDPROC* = 0x00040000
MMIO_FINDCHUNK* = 16
MMIO_FINDRIFF* = 32
MMIO_FINDLIST* = 64
MMIO_CREATERIFF* = 32
MMIO_CREATELIST* = 64
MMIOM_READ* = cMMIO_READ
MMIOM_WRITE* = cMMIO_WRITE
MMIOM_SEEK* = 2
MMIOM_OPEN* = 3
MMIOM_CLOSE* = 4
MMIOM_WRITEFLUSH* = 5
MMIOM_RENAME* = 6
MMIOM_USER* = 0x00008000
FOURCC_RIFF* = 0x46464952 #'R','I','F','F'
FOURCC_LIST* = 0x5453494C #'L','I','S','T'
FOURCC_DOS* = 0x20532F44 #'D','O','S',' '
FOURCC_MEM* = 0x204D454D #'M','E','M',' '
SEEK_SET* = 0
SEEK_CUR* = 1
SEEK_END* = 2
MMIO_DEFAULTBUFFER* = 8192
MCIERR_INVALID_DEVICE_ID* = (MCIERR_BASE + 1)
MCIERR_UNRECOGNIZED_KEYWORD* = (MCIERR_BASE + 3)
MCIERR_UNRECOGNIZED_COMMAND* = (MCIERR_BASE + 5)
MCIERR_HARDWARE* = (MCIERR_BASE + 6)
MCIERR_INVALID_DEVICE_NAME* = (MCIERR_BASE + 7)
MCIERR_OUT_OF_MEMORY* = (MCIERR_BASE + 8)
MCIERR_DEVICE_OPEN* = (MCIERR_BASE + 9)
MCIERR_CANNOT_LOAD_DRIVER* = (MCIERR_BASE + 10)
MCIERR_MISSING_COMMAND_STRING* = (MCIERR_BASE + 11)
MCIERR_PARAM_OVERFLOW* = (MCIERR_BASE + 12)
MCIERR_MISSING_STRING_ARGUMENT* = (MCIERR_BASE + 13)
MCIERR_BAD_INTEGER* = (MCIERR_BASE + 14)
MCIERR_PARSER_INTERNAL* = (MCIERR_BASE + 15)
MCIERR_DRIVER_INTERNAL* = (MCIERR_BASE + 16)
MCIERR_MISSING_PARAMETER* = (MCIERR_BASE + 17)
MCIERR_UNSUPPORTED_FUNCTION* = (MCIERR_BASE + 18)
MCIERR_FILE_NOT_FOUND* = (MCIERR_BASE + 19)
MCIERR_DEVICE_NOT_READY* = (MCIERR_BASE + 20)
MCIERR_INTERNAL* = (MCIERR_BASE + 21)
MCIERR_DRIVER* = (MCIERR_BASE + 22)
MCIERR_CANNOT_USE_ALL* = (MCIERR_BASE + 23)
MCIERR_MULTIPLE* = (MCIERR_BASE + 24)
MCIERR_EXTENSION_NOT_FOUND* = (MCIERR_BASE + 25)
MCIERR_OUTOFRANGE* = (MCIERR_BASE + 26)
MCIERR_FLAGS_NOT_COMPATIBLE* = (MCIERR_BASE + 28)
MCIERR_FILE_NOT_SAVED* = (MCIERR_BASE + 30)
MCIERR_DEVICE_TYPE_REQUIRED* = (MCIERR_BASE + 31)
MCIERR_DEVICE_LOCKED* = (MCIERR_BASE + 32)
MCIERR_DUPLICATE_ALIAS* = (MCIERR_BASE + 33)
MCIERR_BAD_CONSTANT* = (MCIERR_BASE + 34)
MCIERR_MUST_USE_SHAREABLE* = (MCIERR_BASE + 35)
MCIERR_MISSING_DEVICE_NAME* = (MCIERR_BASE + 36)
MCIERR_BAD_TIME_FORMAT* = (MCIERR_BASE + 37)
MCIERR_NO_CLOSING_QUOTE* = (MCIERR_BASE + 38)
MCIERR_DUPLICATE_FLAGS* = (MCIERR_BASE + 39)
MCIERR_INVALID_FILE* = (MCIERR_BASE + 40)
MCIERR_NULL_PARAMETER_BLOCK* = (MCIERR_BASE + 41)
MCIERR_UNNAMED_RESOURCE* = (MCIERR_BASE + 42)
MCIERR_NEW_REQUIRES_ALIAS* = (MCIERR_BASE + 43)
MCIERR_NOTIFY_ON_AUTO_OPEN* = (MCIERR_BASE + 44)
MCIERR_NO_ELEMENT_ALLOWED* = (MCIERR_BASE + 45)
MCIERR_NONAPPLICABLE_FUNCTION* = (MCIERR_BASE + 46)
MCIERR_ILLEGAL_FOR_AUTO_OPEN* = (MCIERR_BASE + 47)
MCIERR_FILENAME_REQUIRED* = (MCIERR_BASE + 48)
MCIERR_EXTRA_CHARACTERS* = (MCIERR_BASE + 49)
MCIERR_DEVICE_NOT_INSTALLED* = (MCIERR_BASE + 50)
MCIERR_GET_CD* = (MCIERR_BASE + 51)
MCIERR_SET_CD* = (MCIERR_BASE + 52)
MCIERR_SET_DRIVE* = (MCIERR_BASE + 53)
MCIERR_DEVICE_LENGTH* = (MCIERR_BASE + 54)
MCIERR_DEVICE_ORD_LENGTH* = (MCIERR_BASE + 55)
MCIERR_NO_INTEGER* = (MCIERR_BASE + 56)
MCIERR_WAVE_OUTPUTSINUSE* = (MCIERR_BASE + 64)
MCIERR_WAVE_SETOUTPUTINUSE* = (MCIERR_BASE + 65)
MCIERR_WAVE_INPUTSINUSE* = (MCIERR_BASE + 66)
MCIERR_WAVE_SETINPUTINUSE* = (MCIERR_BASE + 67)
MCIERR_WAVE_OUTPUTUNSPECIFIED* = (MCIERR_BASE + 68)
MCIERR_WAVE_INPUTUNSPECIFIED* = (MCIERR_BASE + 69)
MCIERR_WAVE_OUTPUTSUNSUITABLE* = (MCIERR_BASE + 70)
MCIERR_WAVE_SETOUTPUTUNSUITABLE* = (MCIERR_BASE + 71)
MCIERR_WAVE_INPUTSUNSUITABLE* = (MCIERR_BASE + 72)
MCIERR_WAVE_SETINPUTUNSUITABLE* = (MCIERR_BASE + 73)
MCIERR_SEQ_DIV_INCOMPATIBLE* = (MCIERR_BASE + 80)
MCIERR_SEQ_PORT_INUSE* = (MCIERR_BASE + 81)
MCIERR_SEQ_PORT_NONEXISTENT* = (MCIERR_BASE + 82)
MCIERR_SEQ_PORT_MAPNODEVICE* = (MCIERR_BASE + 83)
MCIERR_SEQ_PORT_MISCERROR* = (MCIERR_BASE + 84)
MCIERR_SEQ_TIMER* = (MCIERR_BASE + 85)
MCIERR_SEQ_PORTUNSPECIFIED* = (MCIERR_BASE + 86)
MCIERR_SEQ_NOMIDIPRESENT* = (MCIERR_BASE + 87)
MCIERR_NO_WINDOW* = (MCIERR_BASE + 90)
MCIERR_CREATEWINDOW* = (MCIERR_BASE + 91)
MCIERR_FILE_READ* = (MCIERR_BASE + 92)
MCIERR_FILE_WRITE* = (MCIERR_BASE + 93)
MCIERR_NO_IDENTITY* = (MCIERR_BASE + 94)
MCIERR_CUSTOM_DRIVER_BASE* = (MCIERR_BASE + 256)
MCI_FIRST* = DRV_MCI_FIRST
MCI_ESCAPE* = 0x00000805
MCI_PLAY* = 0x00000806
MCI_SEEK* = 0x00000807
MCI_STOP* = 0x00000808
MCI_PAUSE* = 0x00000809
MCI_INFO* = 0x0000080A
MCI_GETDEVCAPS* = 0x0000080B
MCI_BREAK* = 0x00000811
MCI_WHERE* = 0x00000843
MCI_FREEZE* = 0x00000844
MCI_UNFREEZE* = 0x00000845
MCI_LOAD* = 0x00000850
MCI_CUT* = 0x00000851
MCI_COPY* = 0x00000852
MCI_PASTE* = 0x00000853
MCI_UPDATE* = 0x00000854
MCI_RESUME* = 0x00000855
MCI_DELETE* = 0x00000856
MCI_SET* = 0x0000080D
MCI_STEP* = 0x0000080E
MCI_SAVE* = 0x00000813
MCI_SPIN* = 0x0000080C
MCI_STATUS* = 0x00000814
MCI_CUE* = 0x00000830
MCI_REALIZE* = 0x00000840
MCI_WINDOW* = 0x00000841
MCI_PUT* = 0x00000842
MCI_RECORD* = 0x0000080F
MCI_SYSINFO* = 0x00000810
MCI_OPEN* = 0x00000803
MCI_CLOSE* = 0x00000804
MCI_USER_MESSAGES* = (DRV_MCI_FIRST + 0x00000400)
MCI_LAST* = 0x00000FFF
MCI_ALL_DEVICE_ID* = - 1
MCI_DEVTYPE_VCR* = 513
MCI_DEVTYPE_VIDEODISC* = 514
MCI_DEVTYPE_OVERLAY* = 515
MCI_DEVTYPE_CD_AUDIO* = 516
MCI_DEVTYPE_DAT* = 517
MCI_DEVTYPE_SCANNER* = 518
MCI_DEVTYPE_ANIMATION* = 519
MCI_DEVTYPE_DIGITAL_VIDEO* = 520
MCI_DEVTYPE_OTHER* = 521
MCI_DEVTYPE_WAVEFORM_AUDIO* = 522
MCI_DEVTYPE_SEQUENCER* = 523
MCI_DEVTYPE_FIRST* = MCI_DEVTYPE_VCR
MCI_DEVTYPE_LAST* = MCI_DEVTYPE_SEQUENCER
MCI_DEVTYPE_FIRST_USER* = 0x00001000
MCI_MODE_NOT_READY* = (MCI_STRING_OFFSET + 12)
MCI_MODE_STOP* = (MCI_STRING_OFFSET + 13)
MCI_MODE_PLAY* = (MCI_STRING_OFFSET + 14)
MCI_MODE_RECORD* = (MCI_STRING_OFFSET + 15)
MCI_MODE_SEEK* = (MCI_STRING_OFFSET + 16)
MCI_MODE_PAUSE* = (MCI_STRING_OFFSET + 17)
MCI_MODE_OPEN* = (MCI_STRING_OFFSET + 18)
MCI_FORMAT_MILLISECONDS* = 0
MCI_FORMAT_HMS* = 1
MCI_FORMAT_MSF* = 2
MCI_FORMAT_FRAMES* = 3
MCI_FORMAT_SMPTE_24* = 4
MCI_FORMAT_SMPTE_25* = 5
MCI_FORMAT_SMPTE_30* = 6
MCI_FORMAT_SMPTE_30DROP* = 7
MCI_FORMAT_BYTES* = 8
MCI_FORMAT_SAMPLES* = 9
MCI_FORMAT_TMSF* = 10
proc MCI_MSF_MINUTE*(msf: int32): int8
proc MCI_MSF_SECOND*(msf: int32): int8
proc MCI_MSF_FRAME*(msf: int32): int8
proc MCI_MAKE_MSF*(m, s, f: int8): int32
const
MCI_SET_DOOR_OPEN* = 256
MCI_SET_DOOR_CLOSED* = 512
MCI_SET_TIME_FORMAT* = 0x00000400
MCI_SET_AUDIO* = 0x00000800
MCI_SET_VIDEO* = 0x00001000
MCI_SET_ON* = 0x00002000
MCI_SET_OFF* = 0x00004000
MCI_SET_AUDIO_ALL* = 0
MCI_SET_AUDIO_LEFT* = 1
MCI_SET_AUDIO_RIGHT* = 2
proc MCI_TMSF_TRACK*(tmsf: int32): int8
proc MCI_TMSF_MINUTE*(tmsf: int32): int8
proc MCI_TMSF_SECOND*(tmsf: int32): int8
proc MCI_TMSF_FRAME*(tmsf: int32): int8
proc MCI_HMS_HOUR*(h: int32): int8
proc MCI_HMS_MINUTE*(h: int32): int8
proc MCI_HMS_SECOND*(h: int32): int8
proc MCI_MAKE_HMS*(h, m, s: int8): int32
const
MCI_INFO_PRODUCT* = 256
MCI_INFO_FILE* = 512
MCI_INFO_MEDIA_UPC* = 0x00000400
MCI_INFO_MEDIA_IDENTITY* = 0x00000800
MCI_INFO_NAME* = 0x00001000
MCI_INFO_COPYRIGHT* = 0x00002000
proc MCI_MAKE_TMSF*(t, m, s, f: int8): int32
const
MCI_WAIT* = 2
MCI_FROM* = 4
MCI_TO* = 8
MCI_TRACK* = 16
MCI_SEEK_TO_START* = 256
MCI_SEEK_TO_END* = 512
MCI_STATUS_ITEM* = 256
MCI_STATUS_START* = 512
MCI_STATUS_LENGTH* = 1
MCI_STATUS_POSITION* = 2
MCI_STATUS_NUMBER_OF_TRACKS* = 3
MCI_STATUS_MODE* = 4
MCI_STATUS_MEDIA_PRESENT* = 5
MCI_STATUS_TIME_FORMAT* = 6
MCI_STATUS_READY* = 7
MCI_STATUS_CURRENT_TRACK* = 8
MCI_OPEN_SHAREABLE* = 256
MCI_OPEN_ELEMENT* = 512
MCI_OPEN_ALIAS* = 0x00000400
MCI_OPEN_ELEMENT_ID* = 0x00000800
MCI_OPEN_TYPE_ID* = 0x00001000
MCI_OPEN_TYPE* = 0x00002000
MCI_GETDEVCAPS_ITEM* = 256
MCI_GETDEVCAPS_CAN_RECORD* = 1
MCI_GETDEVCAPS_HAS_AUDIO* = 2
MCI_GETDEVCAPS_HAS_VIDEO* = 3
MCI_GETDEVCAPS_DEVICE_TYPE* = 4
MCI_GETDEVCAPS_USES_FILES* = 5
MCI_GETDEVCAPS_COMPOUND_DEVICE* = 6
MCI_GETDEVCAPS_CAN_EJECT* = 7
MCI_GETDEVCAPS_CAN_PLAY* = 8
MCI_GETDEVCAPS_CAN_SAVE* = 9
MCI_SYSINFO_QUANTITY* = 256
MCI_SYSINFO_OPEN* = 512
MCI_SYSINFO_NAME* = 0x00000400
MCI_SYSINFO_INSTALLNAME* = 0x00000800
MCI_NOTIFY_SUCCESSFUL* = 1
MCI_NOTIFY_SUPERSEDED* = 2
MCI_NOTIFY_ABORTED* = 4
MCI_NOTIFY_FAILURE* = 8
MCI_NOTIFY* = 1
MCI_BREAK_KEY* = 256
MCI_BREAK_HWND* = 512
MCI_BREAK_OFF* = 0x00000400
MCI_RECORD_INSERT* = 256
MCI_RECORD_OVERWRITE* = 512
MCI_SAVE_FILE* = 256
MCI_LOAD_FILE* = 256
MCI_VD_GETDEVCAPS_FAST_RATE* = 0x00004003
MCI_VD_GETDEVCAPS_SLOW_RATE* = 0x00004004
MCI_VD_GETDEVCAPS_NORMAL_RATE* = 0x00004005
MCI_VD_STEP_FRAMES* = 0x00010000
MCI_VD_STEP_REVERSE* = 0x00020000
MCI_VD_ESCAPE_STRING* = 256
MCI_VD_FORMAT_TRACK* = 0x00004001
MCI_VD_PLAY_REVERSE* = 0x00010000
MCI_VD_PLAY_FAST* = 0x00020000
MCI_VD_MODE_PARK* = (MCI_VD_OFFSET + 1)
MCI_VD_GETDEVCAPS_CAV* = 0x00020000
MCI_VD_SPIN_UP* = 0x00010000
MCI_VD_SPIN_DOWN* = 0x00020000
MCI_VD_SEEK_REVERSE* = 0x00010000
MCI_VD_STATUS_SPEED* = 0x00004002
MCI_VD_STATUS_FORWARD* = 0x00004003
MCI_VD_STATUS_MEDIA_TYPE* = 0x00004004
MCI_VD_STATUS_SIDE* = 0x00004005
MCI_VD_GETDEVCAPS_CAN_REVERSE* = 0x00004002
MCI_VD_MEDIA_CLV* = (MCI_VD_OFFSET + 2)
MCI_VD_MEDIA_CAV* = (MCI_VD_OFFSET + 3)
MCI_VD_MEDIA_OTHER* = (MCI_VD_OFFSET + 4)
MCI_VD_STATUS_DISC_SIZE* = 0x00004006
MCI_VD_GETDEVCAPS_CLV* = 0x00010000
MCI_VD_PLAY_SPEED* = 0x00040000
MCI_VD_PLAY_SCAN* = 0x00080000
MCI_VD_PLAY_SLOW* = 0x00100000
MCI_WAVE_STATUS_CHANNELS* = 0x00004002
MCI_WAVE_STATUS_SAMPLESPERSEC* = 0x00004003
MCI_WAVE_PCM* = MCI_WAVE_OFFSET
MCI_WAVE_MAPPER* = (MCI_WAVE_OFFSET + 1)
MCI_WAVE_OPEN_BUFFER* = 0x00010000
MCI_WAVE_STATUS_BITSPERSAMPLE* = 0x00004006
MCI_WAVE_STATUS_LEVEL* = 0x00004007
MCI_WAVE_SET_FORMATTAG* = 0x00010000
MCI_WAVE_SET_CHANNELS* = 0x00020000
MCI_WAVE_SET_SAMPLESPERSEC* = 0x00040000
MCI_WAVE_SET_AVGBYTESPERSEC* = 0x00080000
MCI_WAVE_SET_BLOCKALIGN* = 0x00100000
MCI_WAVE_SET_BITSPERSAMPLE* = 0x00200000
MCI_WAVE_INPUT* = 0x00400000
MCI_WAVE_OUTPUT* = 0x00800000
MCI_WAVE_STATUS_FORMATTAG* = 0x00004001
MCI_WAVE_SET_ANYINPUT* = 0x04000000
MCI_WAVE_SET_ANYOUTPUT* = 0x08000000
MCI_WAVE_GETDEVCAPS_INPUTS* = 0x00004001
MCI_WAVE_GETDEVCAPS_OUTPUTS* = 0x00004002
MCI_WAVE_STATUS_AVGBYTESPERSEC* = 0x00004004
MCI_WAVE_STATUS_BLOCKALIGN* = 0x00004005
MCI_CDA_STATUS_TYPE_TRACK* = 0x00004001
MCI_CDA_TRACK_AUDIO* = (MCI_CD_OFFSET)
MCI_CDA_TRACK_OTHER* = (MCI_CD_OFFSET + 1)
MCI_SEQ_DIV_PPQN* = (MCI_SEQ_OFFSET)
MCI_SEQ_DIV_SMPTE_24* = (MCI_SEQ_OFFSET + 1)
MCI_SEQ_DIV_SMPTE_25* = (MCI_SEQ_OFFSET + 2)
MCI_SEQ_DIV_SMPTE_30DROP* = (MCI_SEQ_OFFSET + 3)
MCI_SEQ_DIV_SMPTE_30* = (MCI_SEQ_OFFSET + 4)
MCI_SEQ_FORMAT_SONGPTR* = 0x00004001
MCI_SEQ_FILE* = 0x00004002
MCI_SEQ_MIDI* = 0x00004003
MCI_SEQ_SMPTE* = 0x00004004
MCI_SEQ_NONE* = 65533
MCI_SEQ_MAPPER* = 65535
MCI_SEQ_STATUS_TEMPO* = 0x00004002
MCI_SEQ_STATUS_PORT* = 0x00004003
MCI_SEQ_STATUS_SLAVE* = 0x00004007
MCI_SEQ_STATUS_MASTER* = 0x00004008
MCI_SEQ_STATUS_OFFSET* = 0x00004009
MCI_SEQ_STATUS_DIVTYPE* = 0x0000400A
MCI_SEQ_STATUS_NAME* = 0x0000400B
MCI_SEQ_STATUS_COPYRIGHT* = 0x0000400C
MCI_SEQ_SET_TEMPO* = 0x00010000
MCI_SEQ_SET_PORT* = 0x00020000
MCI_SEQ_SET_SLAVE* = 0x00040000
MCI_SEQ_SET_MASTER* = 0x00080000
MCI_SEQ_SET_OFFSET* = 0x01000000
MCI_ANIM_PLAY_SLOW* = 0x00080000
MCI_ANIM_PLAY_SCAN* = 0x00100000
MCI_ANIM_GETDEVCAPS_SLOW_RATE* = 0x00004003
MCI_ANIM_GETDEVCAPS_NORMAL_RATE* = 0x00004004
MCI_ANIM_STEP_REVERSE* = 0x00010000
MCI_ANIM_STEP_FRAMES* = 0x00020000
MCI_ANIM_STATUS_SPEED* = 0x00004001
MCI_ANIM_GETDEVCAPS_PALETTES* = 0x00004006
MCI_ANIM_OPEN_WS* = 0x00010000
MCI_ANIM_OPEN_PARENT* = 0x00020000
MCI_ANIM_OPEN_NOSTATIC* = 0x00040000
MCI_ANIM_GETDEVCAPS_FAST_RATE* = 0x00004002
MCI_ANIM_PLAY_SPEED* = 0x00010000
MCI_ANIM_PLAY_REVERSE* = 0x00020000
MCI_ANIM_PLAY_FAST* = 0x00040000
MCI_ANIM_STATUS_FORWARD* = 0x00004002
MCI_ANIM_STATUS_HWND* = 0x00004003
MCI_ANIM_STATUS_HPAL* = 0x00004004
MCI_ANIM_STATUS_STRETCH* = 0x00004005
MCI_ANIM_INFO_TEXT* = 0x00010000
MCI_ANIM_GETDEVCAPS_CAN_REVERSE* = 0x00004001
MCI_ANIM_WINDOW_TEXT* = 0x00080000
MCI_ANIM_WINDOW_ENABLE_STRETCH* = 0x00100000
MCI_ANIM_WINDOW_DISABLE_STRETCH* = 0x00200000
MCI_ANIM_WINDOW_DEFAULT* = 0
MCI_ANIM_RECT* = 0x00010000
MCI_ANIM_PUT_SOURCE* = 0x00020000
MCI_ANIM_PUT_DESTINATION* = 0x00040000
MCI_ANIM_WHERE_SOURCE* = 0x00020000
MCI_ANIM_WHERE_DESTINATION* = 0x00040000
MCI_ANIM_UPDATE_HDC* = 0x00020000
MCI_ANIM_GETDEVCAPS_CAN_STRETCH* = 0x00004007
MCI_ANIM_GETDEVCAPS_MAX_WINDOWS* = 0x00004008
MCI_ANIM_REALIZE_NORM* = 0x00010000
MCI_ANIM_REALIZE_BKGD* = 0x00020000
MCI_ANIM_WINDOW_HWND* = 0x00010000
MCI_ANIM_WINDOW_STATE* = 0x00040000
TIMERR_NOERROR* = 0
TIMERR_NOCANDO* = (TIMERR_BASE + 1)
TIMERR_STRUCT* = (TIMERR_BASE + 33)
TIME_ONESHOT* = 0
TIME_PERIODIC* = 1
TIME_CALLBACK_FUNCTION* = 0
TIME_CALLBACK_EVENT_SET* = 16
TIME_CALLBACK_EVENT_PULSE* = 32
MCI_OVLY_OPEN_WS* = 0x00010000
MCI_OVLY_OPEN_PARENT* = 0x00020000
MCI_OVLY_STATUS_HWND* = 0x00004001
MCI_OVLY_STATUS_STRETCH* = 0x00004002
MCI_OVLY_INFO_TEXT* = 0x00010000
MCI_OVLY_GETDEVCAPS_CAN_STRETCH* = 0x00004001
MCI_OVLY_GETDEVCAPS_CAN_FREEZE* = 0x00004002
MCI_OVLY_GETDEVCAPS_MAX_WINDOWS* = 0x00004003
MCI_OVLY_WINDOW_HWND* = 0x00010000
MCI_OVLY_WINDOW_STATE* = 0x00040000
MCI_OVLY_WINDOW_TEXT* = 0x00080000
MCI_OVLY_WINDOW_ENABLE_STRETCH* = 0x00100000
MCI_OVLY_WINDOW_DISABLE_STRETCH* = 0x00200000
MCI_OVLY_WINDOW_DEFAULT* = 0
MCI_OVLY_RECT* = 0x00010000
MCI_OVLY_PUT_SOURCE* = 0x00020000
MCI_OVLY_PUT_DESTINATION* = 0x00040000
MCI_OVLY_PUT_FRAME* = 0x00080000
MCI_OVLY_PUT_VIDEO* = 0x00100000
MCI_OVLY_WHERE_SOURCE* = 0x00020000
MCI_OVLY_WHERE_DESTINATION* = 0x00040000
MCI_OVLY_WHERE_FRAME* = 0x00080000
MCI_OVLY_WHERE_VIDEO* = 0x00100000
AUX_MAPPER* = - 1
MIXER_GETLINECONTROLSF_ONEBYID* = 1
MIXER_GETLINECONTROLSF_ONEBYTYPE* = 2
MIXER_GETLINECONTROLSF_ALL* = 0
MIXER_GETLINECONTROLSF_QUERYMASK* = 0x0000000F
NEWTRANSPARENT* = 3
QUERYROPSUPPORT* = 40
SELECTDIB* = 41
proc DIBINDEX*(n: int32): int32
const
SC_SCREENSAVE* = 0x0000F140
AUXCAPS_CDAUDIO* = 1
AUXCAPS_AUXIN* = 2
AUXCAPS_VOLUME* = 1
AUXCAPS_LRVOLUME* = 2 #/////////////////////////////////////////////////////////
# Structures and typedefs
#/////////////////////////////////////////////////////////
type
mmtime* {.final.} = object
wType*: UINT
hour*, min*, sec*, frame*, fps*, dummy*: int8
pad*: array[0..1, int8]
PMMTIME* = ptr mmtime
NPMMTIME* = ptr mmtime
LPMMTIME* = ptr mmtime
PWAVEHDR* = ptr wavehdr
TMMTime* = mmtime
wavehdr* {.final.} = object
lpData*: cstring
dwBufferLength*: DWORD
dwBytesRecorded*: DWORD
dwUser*: DWORD
dwFlags*: DWORD
dwLoops*: DWORD
lpNext*: PWAVEHDR
reserved*: DWORD
TWAVEHDR* = WAVEHDR
NPWAVEHDR* = ptr wavehdr
LPWAVEHDR* = ptr wavehdr
WAVEOUTCAPSA* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), CHAR]
dwFormats*: DWORD
wChannels*: int16
wReserved1*: int16
dwSupport*: DWORD
TWAVEOUTCAPSA* = WAVEOUTCAPSA
PWAVEOUTCAPSA* = ptr WAVEOUTCAPSA
NPWAVEOUTCAPSA* = ptr WAVEOUTCAPSA
LPWAVEOUTCAPSA* = ptr WAVEOUTCAPSA
WAVEOUTCAPSW* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), WCHAR]
dwFormats*: DWORD
wChannels*: int16
wReserved1*: int16
dwSupport*: DWORD
PWAVEOUTCAPSW* = ptr WAVEOUTCAPSW
NPWAVEOUTCAPSW* = ptr WAVEOUTCAPSW
LPWAVEOUTCAPSW* = ptr WAVEOUTCAPSW
TWAVEOUTCAPSW* = WAVEOUTCAPSW
when defined(UNICODE):
type
WAVEOUTCAPS* = WAVEOUTCAPSW
PWAVEOUTCAPS* = PWAVEOUTCAPSW
NPWAVEOUTCAPS* = NPWAVEOUTCAPSW
LPWAVEOUTCAPS* = LPWAVEOUTCAPSW
else:
type
WAVEOUTCAPS* = WAVEOUTCAPSA
PWAVEOUTCAPS* = PWAVEOUTCAPSA
NPWAVEOUTCAPS* = NPWAVEOUTCAPSA
LPWAVEOUTCAPS* = LPWAVEOUTCAPSA
type
TWAVEOUTCAPS* = WAVEOUTCAPS
WAVEINCAPSA* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), CHAR]
dwFormats*: DWORD
wChannels*: int16
wReserved1*: int16
PWAVEINCAPSA* = ptr WAVEINCAPSA
NPWAVEINCAPSA* = ptr WAVEINCAPSA
LPWAVEINCAPSA* = ptr WAVEINCAPSA
TWAVEINCAPSA* = WAVEINCAPSA
WAVEINCAPSW* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), WCHAR]
dwFormats*: DWORD
wChannels*: int16
wReserved1*: int16
PWAVEINCAPSW* = ptr WAVEINCAPSW
NPWAVEINCAPSW* = ptr WAVEINCAPSW
LPWAVEINCAPSW* = ptr WAVEINCAPSW
TWAVEINCAPSW* = WAVEINCAPSW
when defined(UNICODE):
type
WAVEINCAPS* = WAVEINCAPSW
PWAVEINCAPS* = PWAVEINCAPSW
NPWAVEINCAPS* = NPWAVEINCAPSW
LPWAVEINCAPS* = LPWAVEINCAPSW
else:
type
WAVEINCAPS* = WAVEINCAPSA
PWAVEINCAPS* = PWAVEINCAPSA
NPWAVEINCAPS* = NPWAVEINCAPSA
LPWAVEINCAPS* = LPWAVEINCAPSA
type
TWAVEINCAPS* = WAVEINCAPS
waveformat* {.final.} = object
wFormatTag*: int16
nChannels*: int16
nSamplesPerSec*: DWORD
nAvgBytesPerSec*: DWORD
nBlockAlign*: int16
PWAVEFORMAT* = ptr waveformat
NPWAVEFORMAT* = ptr waveformat
LPWAVEFORMAT* = ptr waveformat
TWAVEFORMAT* = waveformat
const
WAVE_FORMAT_PCM* = 1
type
pcmwaveformat* {.final.} = object
wf*: WAVEFORMAT
wBitsPerSample*: int16
PPCMWAVEFORMAT* = ptr pcmwaveformat
NPPCMWAVEFORMAT* = ptr pcmwaveformat
LPPCMWAVEFORMAT* = ptr pcmwaveformat
TPCMWAVEFORMAT* = PCMWAVEFORMAT
WAVEFORMATEX* {.final.} = object
wFormatTag*: int16
nChannels*: int16
nSamplesPerSec*: DWORD
nAvgBytesPerSec*: DWORD
nBlockAlign*: int16
wBitsPerSample*: int16
cbSize*: int16
PWAVEFORMATEX* = ptr WAVEFORMATEX
NPWAVEFORMATEX* = ptr WAVEFORMATEX
LPWAVEFORMATEX* = ptr WAVEFORMATEX
LPCWAVEFORMATEX* = ptr WAVEFORMATEX
TWAVEFORMATEX* = WAVEFORMATEX
HMIDI* = THandle
HMIDIIN* = THandle
HMIDIOUT* = THandle
HMIDISTRM* = THandle
LPHMIDI* = ptr HMIDI
LPHMIDIIN* = ptr HMIDIIN
LPHMIDIOUT* = ptr HMIDIOUT
LPHMIDISTRM* = ptr HMIDISTRM
LPMIDICALLBACK* = PDRVCALLBACK
const
MIDIPATCHSIZE* = 128
type
PATCHARRAY* = array[0..Pred(MIDIPATCHSIZE), int16]
LPPATCHARRAY* = ptr int16
KEYARRAY* = array[0..Pred(MIDIPATCHSIZE), int16]
LPKEYARRAY* = ptr int16
MIDIOUTCAPSA* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), CHAR]
wTechnology*: int16
wVoices*: int16
wNotes*: int16
wChannelMask*: int16
dwSupport*: DWORD
PMIDIOUTCAPSA* = ptr MIDIOUTCAPSA
NPMIDIOUTCAPSA* = ptr MIDIOUTCAPSA
LPMIDIOUTCAPSA* = ptr MIDIOUTCAPSA
TMIDIOUTCAPSA* = MIDIOUTCAPSA
MIDIOUTCAPSW* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), WCHAR]
wTechnology*: int16
wVoices*: int16
wNotes*: int16
wChannelMask*: int16
dwSupport*: DWORD
PMIDIOUTCAPSW* = ptr MIDIOUTCAPSW
NPMIDIOUTCAPSW* = ptr MIDIOUTCAPSW
LPMIDIOUTCAPSW* = ptr MIDIOUTCAPSW
TMIDIOUTCAPSW* = MIDIOUTCAPSW
MIDIINCAPSA* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), CHAR]
dwSupport*: DWORD
PMIDIINCAPSA* = ptr MIDIINCAPSA
NPMIDIINCAPSA* = ptr MIDIINCAPSA
LPMIDIINCAPSA* = ptr MIDIINCAPSA
TMIDIINCAPSA* = MIDIINCAPSA
MIDIINCAPSW* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), WCHAR]
dwSupport*: DWORD
PMIDIINCAPSW* = ptr MIDIINCAPSW
NPMIDIINCAPSW* = ptr MIDIINCAPSW
LPMIDIINCAPSW* = ptr MIDIINCAPSW
TMIDIINCAPSW* = MIDIINCAPSW
when defined(UNICODE):
type
MIDIINCAPS* = MIDIINCAPSW
PMIDIINCAPS* = PMIDIINCAPSW
NPMIDIINCAPS* = NPMIDIINCAPSW
LPMIDIINCAPS* = LPMIDIINCAPSW
MIDIOUTCAPS* = MIDIOUTCAPSW
PMIDIOUTCAPS* = PMIDIOUTCAPSW
NPMIDIOUTCAPS* = NPMIDIOUTCAPSW
LPMIDIOUTCAPS* = LPMIDIOUTCAPSW
else:
type
MIDIOUTCAPS* = MIDIOUTCAPSA
PMIDIOUTCAPS* = PMIDIOUTCAPSA
NPMIDIOUTCAPS* = NPMIDIOUTCAPSA
LPMIDIOUTCAPS* = LPMIDIOUTCAPSA
MIDIINCAPS* = MIDIINCAPSA
PMIDIINCAPS* = PMIDIINCAPSA
NPMIDIINCAPS* = NPMIDIINCAPSA
LPMIDIINCAPS* = LPMIDIINCAPSA
type
TMIDIINCAPS* = MIDIINCAPS
PMIDIHDR* = ptr midihdr
midihdr* {.final.} = object
lpData*: cstring
dwBufferLength*: DWORD
dwBytesRecorded*: DWORD
dwUser*: DWORD
dwFlags*: DWORD
lpNext*: PMIDIHDR
reserved*: DWORD
dwOffset*: DWORD
dwReserved*: array[0..Pred(8), DWORD]
NPMIDIHDR* = ptr midihdr
LPMIDIHDR* = ptr midihdr
TMIDIHDR* = MIDIHDR
midievent* {.final.} = object
dwDeltaTime*: DWORD
dwStreamID*: DWORD
dwEvent*: DWORD
dwParms*: array[0..Pred(1), DWORD]
TMIDIEVENT* = MIDIEVENT
midistrmbuffver* {.final.} = object
dwVersion*: DWORD
dwMid*: DWORD
dwOEMVersion*: DWORD
TMIDISTRMBUFFVER* = MIDISTRMBUFFVER
Tmidiproptimediv* {.final.} = object
cbStruct*: DWORD
dwTimeDiv*: DWORD
LPMIDIPROPTIMEDIV* = ptr Tmidiproptimediv
Tmidiproptempo* {.final.} = object
cbStruct*: DWORD
dwTempo*: DWORD
LPMIDIPROPTEMPO* = ptr Tmidiproptempo
AUXCAPSA* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), CHAR]
wTechnology*: int16
wReserved1*: int16
dwSupport*: DWORD
PAUXCAPSA* = ptr AUXCAPSA
NPAUXCAPSA* = ptr AUXCAPSA
LPAUXCAPSA* = ptr AUXCAPSA
TAUXCAPSA* = AUXCAPSA
AUXCAPSW* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), WCHAR]
wTechnology*: int16
wReserved1*: int16
dwSupport*: DWORD
PAUXCAPSW* = ptr AUXCAPSW
NPAUXCAPSW* = ptr AUXCAPSW
LPAUXCAPSW* = ptr AUXCAPSW
TAUXCAPSW* = AUXCAPSW
when defined(UNICODE):
type
AUXCAPS* = AUXCAPSW
PAUXCAPS* = PAUXCAPSW
NPAUXCAPS* = NPAUXCAPSW
LPAUXCAPS* = LPAUXCAPSW
else:
type
AUXCAPS* = AUXCAPSA
PAUXCAPS* = PAUXCAPSA
NPAUXCAPS* = NPAUXCAPSA
LPAUXCAPS* = LPAUXCAPSA
type
TAUXCAPS* = AUXCAPS
HMIXEROBJ* = THandle
LPHMIXEROBJ* = ptr HMIXEROBJ
HMIXER* = THandle
LPHMIXER* = ptr HMIXER
proc mixerGetNumDevs*(): UINT{.stdcall, dynlib: "winmm.dll",
importc: "mixerGetNumDevs".}
type
MIXERCAPSA* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), CHAR]
fdwSupport*: DWORD
cDestinations*: DWORD
PMIXERCAPSA* = ptr MIXERCAPSA
LPMIXERCAPSA* = ptr MIXERCAPSA
TMIXERCAPSA* = MIXERCAPSA
MIXERCAPSW* {.final.} = object
wMid*: int16
wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..Pred(MAXPNAMELEN), WCHAR]
fdwSupport*: DWORD
cDestinations*: DWORD
PMIXERCAPSW* = ptr MIXERCAPSW
LPMIXERCAPSW* = ptr MIXERCAPSW
TMIXERCAPSW* = MIXERCAPSW
when defined(UNICODE):
type
MIXERCAPS* = MIXERCAPSW
PMIXERCAPS* = PMIXERCAPSW
LPMIXERCAPS* = LPMIXERCAPSW
else:
type
MIXERCAPS* = MIXERCAPSA
PMIXERCAPS* = PMIXERCAPSA
LPMIXERCAPS* = LPMIXERCAPSA
type
TMIXERCAPS* = MIXERCAPS
MIXERLINEA* {.final.} = object
cbStruct*: DWORD
dwDestination*: DWORD
dwSource*: DWORD
dwLineID*: DWORD
fdwLine*: DWORD
dwUser*: DWORD
dwComponentType*: DWORD
cChannels*: DWORD
cConnections*: DWORD
cControls*: DWORD
szShortName*: array[0..Pred(MIXER_SHORT_NAME_CHARS), CHAR]
szName*: array[0..Pred(MIXER_LONG_NAME_CHARS), CHAR]
dwType*, dwDeviceID*: DWORD
wMid*, wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..pred(MAXPNAMELEN), Char]
PMIXERLINEA* = ptr MIXERLINEA
LPMIXERLINEA* = ptr MIXERLINEA
TMIXERLINEA* = MIXERLINEA
MIXERLINEW* {.final.} = object
cbStruct*: DWORD
dwDestination*: DWORD
dwSource*: DWORD
dwLineID*: DWORD
fdwLine*: DWORD
dwUser*: DWORD
dwComponentType*: DWORD
cChannels*: DWORD
cConnections*: DWORD
cControls*: DWORD
szShortName*: array[0..Pred(MIXER_SHORT_NAME_CHARS), WCHAR]
szName*: array[0..Pred(MIXER_LONG_NAME_CHARS), WCHAR]
dwType*, dwDeviceID*: DWORD
wMid*, wPid*: int16
vDriverVersion*: MMVERSION
szPname*: array[0..pred(MAXPNAMELEN), WChar]
TMIXERLINEW* = MIXERLINEW
PMIXERLINEW* = ptr MIXERLINEW
LPMIXERLINEW* = ptr MIXERLINEW
when defined(UNICODE):
type
MIXERLINE* = MIXERLINEW
PMIXERLINE* = PMIXERLINEW
LPMIXERLINE* = LPMIXERLINEW
else:
type
MIXERLINE* = MIXERLINEA
PMIXERLINE* = PMIXERLINEA
LPMIXERLINE* = LPMIXERLINEA
type
TMIXERLINE* = MIXERLINE
MIXERCONTROLA* {.final.} = object
cbStruct*: DWORD
dwControlID*: DWORD
dwControlType*: DWORD
fdwControl*: DWORD
cMultipleItems*: DWORD
szShortName*: array[0..Pred(MIXER_SHORT_NAME_CHARS), CHAR]
szName*: array[0..Pred(MIXER_LONG_NAME_CHARS), CHAR]
dwMinimum*, dwMaximum*: DWORD
dwReserved*: array[0..3, DWORD]
cSteps*: DWORD
dwReserved2*: array[0..4, DWORD]
PMIXERCONTROLA* = ptr MIXERCONTROLA
LPMIXERCONTROLA* = ptr MIXERCONTROLA
TMIXERCONTROLA* = MIXERCONTROLA
MIXERCONTROLW* {.final.} = object
cbStruct*: DWORD
dwControlID*: DWORD
dwControlType*: DWORD
fdwControl*: DWORD
cMultipleItems*: DWORD
szShortName*: array[0..Pred(MIXER_SHORT_NAME_CHARS), WCHAR]
szName*: array[0..Pred(MIXER_LONG_NAME_CHARS), WCHAR]
dwMinimum*, dwMaximum*: DWORD
dwReserved*: array[0..3, DWORD]
cSteps*: DWORD
dwReserved2*: array[0..4, DWORD]
PMIXERCONTROLW* = ptr MIXERCONTROLW
LPMIXERCONTROLW* = ptr MIXERCONTROLW
TMIXERCONTROLW* = MIXERCONTROLW
when defined(UNICODE):
type
MIXERCONTROL* = MIXERCONTROLW
PMIXERCONTROL* = PMIXERCONTROLW
LPMIXERCONTROL* = LPMIXERCONTROLW
else:
type
MIXERCONTROL* = MIXERCONTROLA
PMIXERCONTROL* = PMIXERCONTROLA
LPMIXERCONTROL* = LPMIXERCONTROLA
type
TMIXERCONTROL* = MIXERCONTROL
MIXERLINECONTROLSA* {.final.} = object
cbStruct*: DWORD
dwLineID*: DWORD
dwControlType*, cControls*, cbmxctrl*: DWORD
pamxctrl*: PMIXERCONTROLA
PMIXERLINECONTROLSA* = ptr MIXERLINECONTROLSA
LPMIXERLINECONTROLSA* = ptr MIXERLINECONTROLSA
TMIXERLINECONTROLSA* = MIXERLINECONTROLSA
MIXERLINECONTROLSW* {.final.} = object
cbStruct*: DWORD
dwLineID*: DWORD
dwControlType*, cControls*, cbmxctrl*: DWORD
pamxctrl*: PMIXERCONTROLW
PMIXERLINECONTROLSW* = ptr MIXERLINECONTROLSW
LPMIXERLINECONTROLSW* = ptr MIXERLINECONTROLSW
TMIXERLINECONTROLSW* = MIXERLINECONTROLSW
when defined(UNICODE):
type
MIXERLINECONTROLS* = MIXERLINECONTROLSW
PMIXERLINECONTROLS* = PMIXERLINECONTROLSW
LPMIXERLINECONTROLS* = LPMIXERLINECONTROLSW
else:
type
MIXERLINECONTROLS* = MIXERLINECONTROLSA
PMIXERLINECONTROLS* = PMIXERLINECONTROLSA
LPMIXERLINECONTROLS* = LPMIXERLINECONTROLSA
type
TMIXERLINECONTROLS* = MIXERLINECONTROLS
TMIXERCONTROLDETAILS* {.final.} = object
cbStruct*: DWORD
dwControlID*: DWORD
cChannels*: DWORD
cMultipleItems*, cbDetails*: DWORD
paDetails*: Pointer
MIXERCONTROLDETAILS* = tMIXERCONTROLDETAILS
PMIXERCONTROLDETAILS* = ptr tMIXERCONTROLDETAILS
LPMIXERCONTROLDETAILS* = ptr tMIXERCONTROLDETAILS
MIXERCONTROLDETAILS_LISTTEXTA* {.final.} = object
dwParam1*: DWORD
dwParam2*: DWORD
szName*: array[0..Pred(MIXER_LONG_NAME_CHARS), CHAR]
PMIXERCONTROLDETAILS_LISTTEXTA* = ptr MIXERCONTROLDETAILS_LISTTEXTA
LPMIXERCONTROLDETAILS_LISTTEXTA* = ptr MIXERCONTROLDETAILS_LISTTEXTA
TMIXERCONTROLDETAILS_LISTTEXTA* = MIXERCONTROLDETAILS_LISTTEXTA
MIXERCONTROLDETAILS_LISTTEXTW* {.final.} = object
dwParam1*: DWORD
dwParam2*: DWORD
szName*: array[0..Pred(MIXER_LONG_NAME_CHARS), WCHAR]
PMIXERCONTROLDETAILS_LISTTEXTW* = ptr MIXERCONTROLDETAILS_LISTTEXTW
LPMIXERCONTROLDETAILS_LISTTEXTW* = ptr MIXERCONTROLDETAILS_LISTTEXTW
TMIXERCONTROLDETAILS_LISTTEXTW* = MIXERCONTROLDETAILS_LISTTEXTW
when defined(UNICODE):
type
MIXERCONTROLDETAILS_LISTTEXT* = MIXERCONTROLDETAILS_LISTTEXTW
PMIXERCONTROLDETAILS_LISTTEXT* = PMIXERCONTROLDETAILS_LISTTEXTW
LPMIXERCONTROLDETAILS_LISTTEXT* = LPMIXERCONTROLDETAILS_LISTTEXTW
else:
type
MIXERCONTROLDETAILS_LISTTEXT* = MIXERCONTROLDETAILS_LISTTEXTA
PMIXERCONTROLDETAILS_LISTTEXT* = PMIXERCONTROLDETAILS_LISTTEXTA
LPMIXERCONTROLDETAILS_LISTTEXT* = LPMIXERCONTROLDETAILS_LISTTEXTA
type
TMIXERCONTROLDETAILS_LISTTEXT* = MIXERCONTROLDETAILS_LISTTEXT
MIXERCONTROLDETAILS_BOOLEAN* {.final.} = object
fValue*: int32
PMIXERCONTROLDETAILS_BOOLEAN* = ptr MIXERCONTROLDETAILS_BOOLEAN
LPMIXERCONTROLDETAILS_BOOLEAN* = ptr MIXERCONTROLDETAILS_BOOLEAN
TMIXERCONTROLDETAILS_BOOLEAN* = MIXERCONTROLDETAILS_BOOLEAN
MIXERCONTROLDETAILS_SIGNED* {.final.} = object
lValue*: int32
PMIXERCONTROLDETAILS_SIGNED* = ptr MIXERCONTROLDETAILS_SIGNED
LPMIXERCONTROLDETAILS_SIGNED* = ptr MIXERCONTROLDETAILS_SIGNED
TMIXERCONTROLDETAILS_SIGNED* = MIXERCONTROLDETAILS_SIGNED
MIXERCONTROLDETAILS_UNSIGNED* {.final.} = object
dwValue*: DWORD
PMIXERCONTROLDETAILS_UNSIGNED* = ptr MIXERCONTROLDETAILS_UNSIGNED
LPMIXERCONTROLDETAILS_UNSIGNED* = ptr MIXERCONTROLDETAILS_UNSIGNED
TMIXERCONTROLDETAILS_UNSIGNED* = MIXERCONTROLDETAILS_UNSIGNED
LPTIMECALLBACK* = proc (uTimerID, uMsg: UINT, dwUser, dw1, dw2: DWORD){.
stdcall.}
TTIMECALLBACK* = LPTIMECALLBACK
timecaps* {.final.} = object
wPeriodMin*: UINT
wPeriodMax*: UINT
PTIMECAPS* = ptr timecaps
NPTIMECAPS* = ptr timecaps
LPTIMECAPS* = ptr timecaps
TTIMECAS* = TIMECAPS
JOYCAPSA* {.final.} = object
wMid*: int16
wPid*: int16
szPname*: array[0..Pred(MAXPNAMELEN), CHAR]
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*: UINT
szRegKey*: array[0..Pred(MAXPNAMELEN), CHAR]
szOEMVxD*: array[0..Pred(MAX_JOYSTICKOEMVXDNAME), CHAR]
PJOYCAPSA* = ptr JOYCAPSA
NPJOYCAPSA* = ptr JOYCAPSA
LPJOYCAPSA* = ptr JOYCAPSA
TJOYCAPSA* = JOYCAPSA
JOYCAPSW* {.final.} = object
wMid*: int16
wPid*: int16
szPname*: array[0..Pred(MAXPNAMELEN), WCHAR]
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*: UINT
szRegKey*: array[0..Pred(MAXPNAMELEN), WCHAR]
szOEMVxD*: array[0..Pred(MAX_JOYSTICKOEMVXDNAME), WCHAR]
PJOYCAPSW* = ptr JOYCAPSW
NPJOYCAPSW* = ptr JOYCAPSW
LPJOYCAPSW* = ptr JOYCAPSW
TJOYCAPSW* = JOYCAPSW
when defined(UNICODE):
type
JOYCAPS* = JOYCAPSW
PJOYCAPS* = PJOYCAPSW
NPJOYCAPS* = NPJOYCAPSW
LPJOYCAPS* = LPJOYCAPSW
else:
type
JOYCAPS* = JOYCAPSA
PJOYCAPS* = PJOYCAPSA
NPJOYCAPS* = NPJOYCAPSA
LPJOYCAPS* = LPJOYCAPSA
type
TJOYCAPS* = JOYCAPS
joyinfo* {.final.} = object
wXpos*: UINT
wYpos*: UINT
wZpos*: UINT
wButtons*: UINT
PJOYINFO* = ptr joyinfo
NPJOYINFO* = ptr joyinfo
LPJOYINFO* = ptr joyinfo
TJOYINFO* = JOYINFO
joyinfoex* {.final.} = object
dwSize*: DWORD
dwFlags*: DWORD
wXpos*: UINT
wYpos*: UINT
wZpos*: UINT
dwRpos*: DWORD
dwUpos*: DWORD
dwVpos*: DWORD
wButtons*: UINT
dwButtonNumber*: DWORD
dwPOV*: DWORD
dwReserved1*: DWORD
dwReserved2*: DWORD
PJOYINFOEX* = ptr joyinfoex
NPJOYINFOEX* = ptr joyinfoex
LPJOYINFOEX* = ptr joyinfoex
TJOYINFOEX* = JOYINFOEX
FOURCC* = DWORD
HPSTR* = cstring
HMMIO* = THandle
LPMMIOPROC* = proc (x1: LPSTR, x2: UINT, x3, x4: LPARAM): LRESULT{.stdcall.}
TMMIOPROC* = LPMMIOPROC
MMIOINFO* {.final.} = object
dwFlags*: DWORD
fccIOProc*: FOURCC
pIOProc*: LPMMIOPROC
wErrorRet*: UINT
htask*: HTASK
cchBuffer*: int32
pchBuffer*: HPSTR
pchNext*: HPSTR
pchEndRead*: HPSTR
pchEndWrite*: HPSTR
lBufOffset*: int32
lDiskOffset*: int32
adwInfo*: array[0..Pred(3), DWORD]
dwReserved1*: DWORD
dwReserved2*: DWORD
hmmio*: HMMIO
PMMIOINFO* = ptr MMIOINFO
NPMMIOINFO* = ptr MMIOINFO
LPMMIOINFO* = ptr MMIOINFO
LPCMMIOINFO* = ptr MMIOINFO
TMMIOINFO* = MMIOINFO
MMCKINFO* {.final.} = object
ckid*: FOURCC
cksize*: DWORD
fccType*: FOURCC
dwDataOffset*: DWORD
dwFlags*: DWORD
PMMCKINFO* = ptr MMCKINFO
NPMMCKINFO* = ptr MMCKINFO
LPMMCKINFO* = ptr MMCKINFO
LPCMMCKINFO* = ptr MMCKINFO
TMMCKINFO* = MMCKINFO
MCIERROR* = DWORD
MCIDEVICEID* = UINT
YIELDPROC* = proc (mciId: MCIDEVICEID, dwYieldData: DWORD): UINT{.stdcall.}
TYIELDPROC* = YIELDPROC
MCI_GENERIC_PARMS* {.final.} = object
dwCallback*: DWORD
PMCI_GENERIC_PARMS* = ptr MCI_GENERIC_PARMS
LPMCI_GENERIC_PARMS* = ptr MCI_GENERIC_PARMS
TMCI_GENERIC_PARMS* = MCI_GENERIC_PARMS
MCI_OPEN_PARMSA* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCSTR
lpstrElementName*: LPCSTR
lpstrAlias*: LPCSTR
PMCI_OPEN_PARMSA* = ptr MCI_OPEN_PARMSA
LPMCI_OPEN_PARMSA* = ptr MCI_OPEN_PARMSA
TMCI_OPEN_PARMSA* = MCI_OPEN_PARMSA
MCI_OPEN_PARMSW* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCWSTR
lpstrElementName*: LPCWSTR
lpstrAlias*: LPCWSTR
PMCI_OPEN_PARMSW* = ptr MCI_OPEN_PARMSW
LPMCI_OPEN_PARMSW* = ptr MCI_OPEN_PARMSW
TMCI_OPEN_PARMSW* = MCI_OPEN_PARMSW
when defined(UNICODE):
type
MCI_OPEN_PARMS* = MCI_OPEN_PARMSW
PMCI_OPEN_PARMS* = PMCI_OPEN_PARMSW
LPMCI_OPEN_PARMS* = LPMCI_OPEN_PARMSW
else:
type
MCI_OPEN_PARMS* = MCI_OPEN_PARMSA
PMCI_OPEN_PARMS* = PMCI_OPEN_PARMSA
LPMCI_OPEN_PARMS* = LPMCI_OPEN_PARMSA
type
TMCI_OPEN_PARMS* = MCI_OPEN_PARMS
MCI_PLAY_PARMS* {.final.} = object
dwCallback*: DWORD
dwFrom*: DWORD
dwTo*: DWORD
PMCI_PLAY_PARMS* = ptr MCI_PLAY_PARMS
LPMCI_PLAY_PARMS* = ptr MCI_PLAY_PARMS
TMCI_PLAY_PARMS* = MCI_PLAY_PARMS
MCI_SEEK_PARMS* {.final.} = object
dwCallback*: DWORD
dwTo*: DWORD
PMCI_SEEK_PARMS* = ptr MCI_SEEK_PARMS
LPMCI_SEEK_PARMS* = ptr MCI_SEEK_PARMS
TMCI_SEEK_PARMS* = MCI_SEEK_PARMS
MCI_STATUS_PARMS* {.final.} = object
dwCallback*: DWORD
dwReturn*: DWORD
dwItem*: DWORD
dwTrack*: DWORD
PMCI_STATUS_PARMS* = ptr MCI_STATUS_PARMS
LPMCI_STATUS_PARMS* = ptr MCI_STATUS_PARMS
TMCI_STATUS_PARMS* = MCI_STATUS_PARMS
MCI_INFO_PARMSA* {.final.} = object
dwCallback*: DWORD
lpstrReturn*: cstring
dwRetSize*: DWORD
LPMCI_INFO_PARMSA* = ptr MCI_INFO_PARMSA
TMCI_INFO_PARMSA* = MCI_INFO_PARMSA
MCI_INFO_PARMSW* {.final.} = object
dwCallback*: DWORD
lpstrReturn*: LPWSTR
dwRetSize*: DWORD
LPMCI_INFO_PARMSW* = ptr MCI_INFO_PARMSW
TMCI_INFO_PARMSW* = MCI_INFO_PARMSW
when defined(UNICODE):
type
MCI_INFO_PARMS* = MCI_INFO_PARMSW
LPMCI_INFO_PARMS* = LPMCI_INFO_PARMSW
else:
type
MCI_INFO_PARMS* = MCI_INFO_PARMSA
LPMCI_INFO_PARMS* = LPMCI_INFO_PARMSA
type
TMCI_INFO_PARMS* = MCI_INFO_PARMS
MCI_GETDEVCAPS_PARMS* {.final.} = object
dwCallback*: DWORD
dwReturn*: DWORD
dwItem*: DWORD
PMCI_GETDEVCAPS_PARMS* = ptr MCI_GETDEVCAPS_PARMS
LPMCI_GETDEVCAPS_PARMS* = ptr MCI_GETDEVCAPS_PARMS
TMCI_GETDEVCAPS_PARMS* = MCI_GETDEVCAPS_PARMS
MCI_SYSINFO_PARMSA* {.final.} = object
dwCallback*: DWORD
lpstrReturn*: cstring
dwRetSize*: DWORD
dwNumber*: DWORD
wDeviceType*: UINT
PMCI_SYSINFO_PARMSA* = ptr MCI_SYSINFO_PARMSA
LPMCI_SYSINFO_PARMSA* = ptr MCI_SYSINFO_PARMSA
TMCI_SYSINFO_PARMSA* = MCI_SYSINFO_PARMSA
MCI_SYSINFO_PARMSW* {.final.} = object
dwCallback*: DWORD
lpstrReturn*: LPWSTR
dwRetSize*: DWORD
dwNumber*: DWORD
wDeviceType*: UINT
PMCI_SYSINFO_PARMSW* = ptr MCI_SYSINFO_PARMSW
LPMCI_SYSINFO_PARMSW* = ptr MCI_SYSINFO_PARMSW
TMCI_SYSINFO_PARMSW* = MCI_SYSINFO_PARMSW
when defined(UNICODE):
type
MCI_SYSINFO_PARMS* = MCI_SYSINFO_PARMSW
PMCI_SYSINFO_PARMS* = PMCI_SYSINFO_PARMSW
LPMCI_SYSINFO_PARMS* = LPMCI_SYSINFO_PARMSW
else:
type
MCI_SYSINFO_PARMS* = MCI_SYSINFO_PARMSA
PMCI_SYSINFO_PARMS* = PMCI_SYSINFO_PARMSA
LPMCI_SYSINFO_PARMS* = LPMCI_SYSINFO_PARMSA
type
TMCI_SYSINFO_PARMS* = MCI_SYSINFO_PARMS
MCI_SET_PARMS* {.final.} = object
dwCallback*: DWORD
dwTimeFormat*: DWORD
dwAudio*: DWORD
PMCI_SET_PARMS* = ptr MCI_SET_PARMS
LPMCI_SET_PARMS* = ptr MCI_SET_PARMS
TMCI_SET_PARMS* = MCI_SET_PARMS
MCI_BREAK_PARMS* {.final.} = object
dwCallback*: DWORD
nVirtKey*: int32
hwndBreak*: HWND
PMCI_BREAK_PARMS* = ptr MCI_BREAK_PARMS
LPMCI_BREAK_PARMS* = ptr MCI_BREAK_PARMS
TMCI_BREAK_PARMS* = MCI_BREAK_PARMS
MCI_SAVE_PARMSA* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCSTR
PMCI_SAVE_PARMSA* = ptr MCI_SAVE_PARMSA
LPMCI_SAVE_PARMSA* = ptr MCI_SAVE_PARMSA
TMCI_SAVE_PARMSA* = MCI_SAVE_PARMSA
MCI_SAVE_PARMSW* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCWSTR
PMCI_SAVE_PARMSW* = ptr MCI_SAVE_PARMSW
LPMCI_SAVE_PARMSW* = ptr MCI_SAVE_PARMSW
TMCI_SAVE_PARMSW* = MCI_SAVE_PARMSW
when defined(UNICODE):
type
MCI_SAVE_PARMS* = MCI_SAVE_PARMSW
PMCI_SAVE_PARMS* = PMCI_SAVE_PARMSW
LPMCI_SAVE_PARMS* = LPMCI_SAVE_PARMSW
else:
type
MCI_SAVE_PARMS* = MCI_SAVE_PARMSA
PMCI_SAVE_PARMS* = PMCI_SAVE_PARMSA
LPMCI_SAVE_PARMS* = LPMCI_SAVE_PARMSA
type
TMCI_SAVE_PARMS* = MCI_SAVE_PARMS
MCI_LOAD_PARMSA* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCSTR
PMCI_LOAD_PARMSA* = ptr MCI_LOAD_PARMSA
LPMCI_LOAD_PARMSA* = ptr MCI_LOAD_PARMSA
TMCI_LOAD_PARMSA* = MCI_LOAD_PARMSA
MCI_LOAD_PARMSW* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCWSTR
PMCI_LOAD_PARMSW* = ptr MCI_LOAD_PARMSW
LPMCI_LOAD_PARMSW* = ptr MCI_LOAD_PARMSW
TMCI_LOAD_PARMSW* = MCI_LOAD_PARMSW
when defined(UNICODE):
type
MCI_LOAD_PARMS* = MCI_LOAD_PARMSW
PMCI_LOAD_PARMS* = PMCI_LOAD_PARMSW
LPMCI_LOAD_PARMS* = LPMCI_LOAD_PARMSW
else:
type
MCI_LOAD_PARMS* = MCI_LOAD_PARMSA
PMCI_LOAD_PARMS* = PMCI_LOAD_PARMSA
LPMCI_LOAD_PARMS* = LPMCI_LOAD_PARMSA
type
TMCI_LOAD_PARMS* = MCI_LOAD_PARMS
MCI_RECORD_PARMS* {.final.} = object
dwCallback*: DWORD
dwFrom*: DWORD
dwTo*: DWORD
LPMCI_RECORD_PARMS* = ptr MCI_RECORD_PARMS
TMCI_RECORD_PARMS* = MCI_RECORD_PARMS
MCI_VD_PLAY_PARMS* {.final.} = object
dwCallback*: DWORD
dwFrom*: DWORD
dwTo*: DWORD
dwSpeed*: DWORD
PMCI_VD_PLAY_PARMS* = ptr MCI_VD_PLAY_PARMS
LPMCI_VD_PLAY_PARMS* = ptr MCI_VD_PLAY_PARMS
TMCI_VD_PLAY_PARMS* = MCI_VD_PLAY_PARMS
MCI_VD_STEP_PARMS* {.final.} = object
dwCallback*: DWORD
dwFrames*: DWORD
PMCI_VD_STEP_PARMS* = ptr MCI_VD_STEP_PARMS
LPMCI_VD_STEP_PARMS* = ptr MCI_VD_STEP_PARMS
MCI_VD_ESCAPE_PARMSA* {.final.} = object
dwCallback*: DWORD
lpstrCommand*: LPCSTR
PMCI_VD_ESCAPE_PARMSA* = ptr MCI_VD_ESCAPE_PARMSA
LPMCI_VD_ESCAPE_PARMSA* = ptr MCI_VD_ESCAPE_PARMSA
TMCI_VD_ESCAPE_PARMSA* = MCI_VD_ESCAPE_PARMSA
MCI_VD_ESCAPE_PARMSW* {.final.} = object
dwCallback*: DWORD
lpstrCommand*: LPCWSTR
PMCI_VD_ESCAPE_PARMSW* = ptr MCI_VD_ESCAPE_PARMSW
LPMCI_VD_ESCAPE_PARMSW* = ptr MCI_VD_ESCAPE_PARMSW
TMCI_VD_ESCAPE_PARMSW* = MCI_VD_ESCAPE_PARMSW
when defined(UNICODE):
type
MCI_VD_ESCAPE_PARMS* = MCI_VD_ESCAPE_PARMSW
PMCI_VD_ESCAPE_PARMS* = PMCI_VD_ESCAPE_PARMSW
LPMCI_VD_ESCAPE_PARMS* = LPMCI_VD_ESCAPE_PARMSW
else:
type
MCI_VD_ESCAPE_PARMS* = MCI_VD_ESCAPE_PARMSA
PMCI_VD_ESCAPE_PARMS* = PMCI_VD_ESCAPE_PARMSA
LPMCI_VD_ESCAPE_PARMS* = LPMCI_VD_ESCAPE_PARMSA
type
TMCI_VD_ESCAPE_PARMS* = MCI_VD_ESCAPE_PARMS
MCI_WAVE_OPEN_PARMSA* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCSTR
lpstrElementName*: LPCSTR
lpstrAlias*: LPCSTR
dwBufferSeconds*: DWORD
PMCI_WAVE_OPEN_PARMSA* = ptr MCI_WAVE_OPEN_PARMSA
LPMCI_WAVE_OPEN_PARMSA* = ptr MCI_WAVE_OPEN_PARMSA
TMCI_WAVE_OPEN_PARMSA* = MCI_WAVE_OPEN_PARMSA
MCI_WAVE_OPEN_PARMSW* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCWSTR
lpstrElementName*: LPCWSTR
lpstrAlias*: LPCWSTR
dwBufferSeconds*: DWORD
PMCI_WAVE_OPEN_PARMSW* = ptr MCI_WAVE_OPEN_PARMSW
LPMCI_WAVE_OPEN_PARMSW* = ptr MCI_WAVE_OPEN_PARMSW
TMCI_WAVE_OPEN_PARMSW* = MCI_WAVE_OPEN_PARMSW
when defined(UNICODE):
type
MCI_WAVE_OPEN_PARMS* = MCI_WAVE_OPEN_PARMSW
PMCI_WAVE_OPEN_PARMS* = PMCI_WAVE_OPEN_PARMSW
LPMCI_WAVE_OPEN_PARMS* = LPMCI_WAVE_OPEN_PARMSW
else:
type
MCI_WAVE_OPEN_PARMS* = MCI_WAVE_OPEN_PARMSA
PMCI_WAVE_OPEN_PARMS* = PMCI_WAVE_OPEN_PARMSA
LPMCI_WAVE_OPEN_PARMS* = LPMCI_WAVE_OPEN_PARMSA
type
TMCI_WAVE_OPEN_PARMS* = MCI_WAVE_OPEN_PARMS
MCI_WAVE_DELETE_PARMS* {.final.} = object
dwCallback*: DWORD
dwFrom*: DWORD
dwTo*: DWORD
PMCI_WAVE_DELETE_PARMS* = ptr MCI_WAVE_DELETE_PARMS
LPMCI_WAVE_DELETE_PARMS* = ptr MCI_WAVE_DELETE_PARMS
TMCI_WAVE_DELETE_PARMS* = MCI_WAVE_DELETE_PARMS
MCI_WAVE_SET_PARMS* {.final.} = object
dwCallback*: DWORD
dwTimeFormat*: DWORD
dwAudio*: DWORD
wInput*: UINT
wOutput*: UINT
wFormatTag*: int16
wReserved2*: int16
nChannels*: int16
wReserved3*: int16
nSamplesPerSec*: DWORD
nAvgBytesPerSec*: DWORD
nBlockAlign*: int16
wReserved4*: int16
wBitsPerSample*: int16
wReserved5*: int16
PMCI_WAVE_SET_PARMS* = ptr MCI_WAVE_SET_PARMS
LPMCI_WAVE_SET_PARMS* = ptr MCI_WAVE_SET_PARMS
TMCI_WAVE_SET_PARMS* = MCI_WAVE_SET_PARMS
MCI_SEQ_SET_PARMS* {.final.} = object
dwCallback*: DWORD
dwTimeFormat*: DWORD
dwAudio*: DWORD
dwTempo*: DWORD
dwPort*: DWORD
dwSlave*: DWORD
dwMaster*: DWORD
dwOffset*: DWORD
PMCI_SEQ_SET_PARMS* = ptr MCI_SEQ_SET_PARMS
LPMCI_SEQ_SET_PARMS* = ptr MCI_SEQ_SET_PARMS
TMCI_SEQ_SET_PARMS* = MCI_SEQ_SET_PARMS
MCI_ANIM_OPEN_PARMSA* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCSTR
lpstrElementName*: LPCSTR
lpstrAlias*: LPCSTR
dwStyle*: DWORD
hWndParent*: HWND
PMCI_ANIM_OPEN_PARMSA* = ptr MCI_ANIM_OPEN_PARMSA
LPMCI_ANIM_OPEN_PARMSA* = ptr MCI_ANIM_OPEN_PARMSA
TMCI_ANIM_OPEN_PARMSA* = MCI_ANIM_OPEN_PARMSA
MCI_ANIM_OPEN_PARMSW* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCWSTR
lpstrElementName*: LPCWSTR
lpstrAlias*: LPCWSTR
dwStyle*: DWORD
hWndParent*: HWND
PMCI_ANIM_OPEN_PARMSW* = ptr MCI_ANIM_OPEN_PARMSW
LPMCI_ANIM_OPEN_PARMSW* = ptr MCI_ANIM_OPEN_PARMSW
when defined(UNICODE):
type
MCI_ANIM_OPEN_PARMS* = MCI_ANIM_OPEN_PARMSW
PMCI_ANIM_OPEN_PARMS* = PMCI_ANIM_OPEN_PARMSW
LPMCI_ANIM_OPEN_PARMS* = LPMCI_ANIM_OPEN_PARMSW
else:
type
MCI_ANIM_OPEN_PARMS* = MCI_ANIM_OPEN_PARMSA
PMCI_ANIM_OPEN_PARMS* = PMCI_ANIM_OPEN_PARMSA
LPMCI_ANIM_OPEN_PARMS* = LPMCI_ANIM_OPEN_PARMSA
type
TMCI_ANIM_OPEN_PARMS* = MCI_ANIM_OPEN_PARMS
MCI_ANIM_WINDOW_PARMSW* {.final.} = object
dwCallback*: DWORD
hWnd*: HWND
nCmdShow*: UINT
lpstrText*: LPCWSTR
PMCI_ANIM_WINDOW_PARMSW* = ptr MCI_ANIM_WINDOW_PARMSW
LPMCI_ANIM_WINDOW_PARMSW* = ptr MCI_ANIM_WINDOW_PARMSW
TMCI_ANIM_WINDOW_PARMSW* = MCI_ANIM_WINDOW_PARMSW
MCI_ANIM_STEP_PARMS* {.final.} = object
dwCallback*: DWORD
dwFrames*: DWORD
PMCI_ANIM_STEP_PARMS* = ptr MCI_ANIM_STEP_PARMS
LPMCI_ANIM_STEP_PARMS* = ptr MCI_ANIM_STEP_PARMS
TMCI_ANIM_STEP_PARMS* = MCI_ANIM_STEP_PARMS
MCI_ANIM_WINDOW_PARMSA* {.final.} = object
dwCallback*: DWORD
hWnd*: HWND
nCmdShow*: UINT
lpstrText*: LPCSTR
PMCI_ANIM_WINDOW_PARMSA* = ptr MCI_ANIM_WINDOW_PARMSA
LPMCI_ANIM_WINDOW_PARMSA* = ptr MCI_ANIM_WINDOW_PARMSA
TMCI_ANIM_WINDOW_PARMSA* = MCI_ANIM_WINDOW_PARMSA
MCI_ANIM_PLAY_PARMS* {.final.} = object
dwCallback*: DWORD
dwFrom*: DWORD
dwTo*: DWORD
dwSpeed*: DWORD
PMCI_ANIM_PLAY_PARMS* = ptr MCI_ANIM_PLAY_PARMS
LPMCI_ANIM_PLAY_PARMS* = ptr MCI_ANIM_PLAY_PARMS
when defined(UNICODE):
type
MCI_ANIM_WINDOW_PARMS* = MCI_ANIM_WINDOW_PARMSW
PMCI_ANIM_WINDOW_PARMS* = PMCI_ANIM_WINDOW_PARMSW
LPMCI_ANIM_WINDOW_PARMS* = LPMCI_ANIM_WINDOW_PARMSW
else:
type
MCI_ANIM_WINDOW_PARMS* = MCI_ANIM_WINDOW_PARMSA
PMCI_ANIM_WINDOW_PARMS* = PMCI_ANIM_WINDOW_PARMSA
LPMCI_ANIM_WINDOW_PARMS* = LPMCI_ANIM_WINDOW_PARMSA
type
MCI_ANIM_RECT_PARMS* {.final.} = object
dwCallback*: DWORD
rc*: TRECT
PMCI_ANIM_RECT_PARMS* = ptr MCI_ANIM_RECT_PARMS
LPMCI_ANIM_RECT_PARMS* = ptr MCI_ANIM_RECT_PARMS
TMCI_ANIM_RECT_PARMS* = MCI_ANIM_RECT_PARMS
MCI_ANIM_UPDATE_PARMS* {.final.} = object
dwCallback*: DWORD
rc*: TRECT
hDC*: HDC
PMCI_ANIM_UPDATE_PARMS* = ptr MCI_ANIM_UPDATE_PARMS
LPMCI_ANIM_UPDATE_PARMS* = ptr MCI_ANIM_UPDATE_PARMS
TMCI_ANIM_UPDATE_PARMS* = MCI_ANIM_UPDATE_PARMS
MCI_OVLY_OPEN_PARMSA* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCSTR
lpstrElementName*: LPCSTR
lpstrAlias*: LPCSTR
dwStyle*: DWORD
hWndParent*: HWND
PMCI_OVLY_OPEN_PARMSA* = ptr MCI_OVLY_OPEN_PARMSA
LPMCI_OVLY_OPEN_PARMSA* = ptr MCI_OVLY_OPEN_PARMSA
TMCI_OVLY_OPEN_PARMSA* = MCI_OVLY_OPEN_PARMSA
MCI_OVLY_OPEN_PARMSW* {.final.} = object
dwCallback*: DWORD
wDeviceID*: MCIDEVICEID
lpstrDeviceType*: LPCWSTR
lpstrElementName*: LPCWSTR
lpstrAlias*: LPCWSTR
dwStyle*: DWORD
hWndParent*: HWND
PMCI_OVLY_OPEN_PARMSW* = ptr MCI_OVLY_OPEN_PARMSW
LPMCI_OVLY_OPEN_PARMSW* = ptr MCI_OVLY_OPEN_PARMSW
TMCI_OVLY_OPEN_PARMSW* = MCI_OVLY_OPEN_PARMSW
when defined(UNICODE):
type
MCI_OVLY_OPEN_PARMS* = MCI_OVLY_OPEN_PARMSW
PMCI_OVLY_OPEN_PARMS* = PMCI_OVLY_OPEN_PARMSW
LPMCI_OVLY_OPEN_PARMS* = LPMCI_OVLY_OPEN_PARMSW
else:
type
MCI_OVLY_OPEN_PARMS* = MCI_OVLY_OPEN_PARMSA
PMCI_OVLY_OPEN_PARMS* = PMCI_OVLY_OPEN_PARMSA
LPMCI_OVLY_OPEN_PARMS* = LPMCI_OVLY_OPEN_PARMSA
type
TMCI_OVLY_OPEN_PARMS* = MCI_OVLY_OPEN_PARMS
MCI_OVLY_WINDOW_PARMSA* {.final.} = object
dwCallback*: DWORD
hWnd*: HWND
nCmdShow*: UINT
lpstrText*: LPCSTR
PMCI_OVLY_WINDOW_PARMSA* = ptr MCI_OVLY_WINDOW_PARMSA
LPMCI_OVLY_WINDOW_PARMSA* = ptr MCI_OVLY_WINDOW_PARMSA
TMCI_OVLY_WINDOW_PARMSA* = MCI_OVLY_WINDOW_PARMSA
MCI_OVLY_WINDOW_PARMSW* {.final.} = object
dwCallback*: DWORD
hWnd*: HWND
nCmdShow*: UINT
lpstrText*: LPCWSTR
PMCI_OVLY_WINDOW_PARMSW* = ptr MCI_OVLY_WINDOW_PARMSW
LPMCI_OVLY_WINDOW_PARMSW* = ptr MCI_OVLY_WINDOW_PARMSW
TMCI_OVLY_WINDOW_PARMSW* = MCI_OVLY_WINDOW_PARMSW
when defined(UNICODE):
type
MCI_OVLY_WINDOW_PARMS* = MCI_OVLY_WINDOW_PARMSW
PMCI_OVLY_WINDOW_PARMS* = PMCI_OVLY_WINDOW_PARMSW
LPMCI_OVLY_WINDOW_PARMS* = LPMCI_OVLY_WINDOW_PARMSW
else:
type
MCI_OVLY_WINDOW_PARMS* = MCI_OVLY_WINDOW_PARMSA
PMCI_OVLY_WINDOW_PARMS* = PMCI_OVLY_WINDOW_PARMSA
LPMCI_OVLY_WINDOW_PARMS* = LPMCI_OVLY_WINDOW_PARMSA
type
TMCI_OVLY_WINDOW_PARMS* = MCI_OVLY_WINDOW_PARMSW
MCI_OVLY_RECT_PARMS* {.final.} = object
dwCallback*: DWORD
rc*: TRECT
PMCI_OVLY_RECT_PARMS* = ptr MCI_OVLY_RECT_PARMS
LPMCI_OVLY_RECT_PARMS* = ptr MCI_OVLY_RECT_PARMS
TMCI_OVLY_RECT_PARMS* = MCI_OVLY_RECT_PARMS
MCI_OVLY_SAVE_PARMSA* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCSTR
rc*: TRECT
PMCI_OVLY_SAVE_PARMSA* = ptr MCI_OVLY_SAVE_PARMSA
LPMCI_OVLY_SAVE_PARMSA* = ptr MCI_OVLY_SAVE_PARMSA
TMCI_OVLY_SAVE_PARMSA* = MCI_OVLY_SAVE_PARMSA
MCI_OVLY_SAVE_PARMSW* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCWSTR
rc*: TRECT
PMCI_OVLY_SAVE_PARMSW* = ptr MCI_OVLY_SAVE_PARMSW
LPMCI_OVLY_SAVE_PARMSW* = ptr MCI_OVLY_SAVE_PARMSW
TMCI_OVLY_SAVE_PARMSW* = MCI_OVLY_SAVE_PARMSW
when defined(UNICODE):
type
MCI_OVLY_SAVE_PARMS* = MCI_OVLY_SAVE_PARMSW
PMCI_OVLY_SAVE_PARMS* = PMCI_OVLY_SAVE_PARMSW
LPMCI_OVLY_SAVE_PARMS* = LPMCI_OVLY_SAVE_PARMSW
else:
type
MCI_OVLY_SAVE_PARMS* = MCI_OVLY_SAVE_PARMSA
PMCI_OVLY_SAVE_PARMS* = PMCI_OVLY_SAVE_PARMSA
LPMCI_OVLY_SAVE_PARMS* = LPMCI_OVLY_SAVE_PARMSA
type
TMCI_OVLY_SAVE_PARMS* = MCI_OVLY_SAVE_PARMS
MCI_OVLY_LOAD_PARMSA* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCSTR
rc*: TRECT
PMCI_OVLY_LOAD_PARMSA* = ptr MCI_OVLY_LOAD_PARMSA
LPMCI_OVLY_LOAD_PARMSA* = ptr MCI_OVLY_LOAD_PARMSA
TMCI_OVLY_LOAD_PARMSA* = MCI_OVLY_LOAD_PARMSA
MCI_OVLY_LOAD_PARMSW* {.final.} = object
dwCallback*: DWORD
lpfilename*: LPCWSTR
rc*: TRECT
PMCI_OVLY_LOAD_PARMSW* = ptr MCI_OVLY_LOAD_PARMSW
LPMCI_OVLY_LOAD_PARMSW* = ptr MCI_OVLY_LOAD_PARMSW
TMCI_OVLY_LOAD_PARMSW* = MCI_OVLY_LOAD_PARMSW
when defined(UNICODE):
type
MCI_OVLY_LOAD_PARMS* = MCI_OVLY_LOAD_PARMSW
PMCI_OVLY_LOAD_PARMS* = PMCI_OVLY_LOAD_PARMSW
LPMCI_OVLY_LOAD_PARMS* = LPMCI_OVLY_LOAD_PARMSW
else:
type
MCI_OVLY_LOAD_PARMS* = MCI_OVLY_LOAD_PARMSA
PMCI_OVLY_LOAD_PARMS* = PMCI_OVLY_LOAD_PARMSA
LPMCI_OVLY_LOAD_PARMS* = LPMCI_OVLY_LOAD_PARMSA
type
TMCI_OVLY_LOAD_PARMS* = MCI_OVLY_LOAD_PARMS
type
pcmwaveformat_tag* = PCMWAVEFORMAT
proc mmioStringToFOURCCA*(x1: LPCSTR, x2: UINT): FOURCC{.stdcall,
dynlib: "winmm.dll", importc: "mmioStringToFOURCCA".}
proc mmioStringToFOURCCW*(x1: LPCWSTR, x2: UINT): FOURCC{.stdcall,
dynlib: "winmm.dll", importc: "mmioStringToFOURCCW".}
proc mmioStringToFOURCC*(x1: cstring, x2: UINT): FOURCC{.stdcall,
dynlib: "winmm.dll", importc: "mmioStringToFOURCCA".}
proc mmioInstallIOProcA*(x1: FOURCC, x2: LPMMIOPROC, x3: DWORD): LPMMIOPROC{.
stdcall, dynlib: "winmm.dll", importc: "mmioInstallIOProcA".}
proc mmioInstallIOProcW*(x1: FOURCC, x2: LPMMIOPROC, x3: DWORD): LPMMIOPROC{.
stdcall, dynlib: "winmm.dll", importc: "mmioInstallIOProcW".}
proc mmioInstallIOProc*(x1: FOURCC, x2: LPMMIOPROC, x3: DWORD): LPMMIOPROC{.
stdcall, dynlib: "winmm.dll", importc: "mmioInstallIOProcA".}
proc mmioOpenA*(x1: LPSTR, x2: LPMMIOINFO, x3: DWORD): HMMIO{.stdcall,
dynlib: "winmm.dll", importc: "mmioOpenA".}
proc mmioOpenW*(x1: LPWSTR, x2: LPMMIOINFO, x3: DWORD): HMMIO{.stdcall,
dynlib: "winmm.dll", importc: "mmioOpenW".}
proc mmioOpen*(x1: cstring, x2: LPMMIOINFO, x3: DWORD): HMMIO{.stdcall,
dynlib: "winmm.dll", importc: "mmioOpenA".}
proc mmioRenameA*(x1: LPCSTR, x2: LPCSTR, x3: LPCMMIOINFO, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mmioRenameA".}
proc mmioRenameW*(x1: LPCWSTR, x2: LPCWSTR, x3: LPCMMIOINFO, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mmioRenameW".}
proc mmioRename*(x1: cstring, x2: cstring, x3: LPCMMIOINFO, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mmioRenameA".}
proc mmioClose*(x1: HMMIO, x2: UINT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "mmioClose".}
proc mmioRead*(x1: HMMIO, x2: HPSTR, x3: LONG): LONG{.stdcall,
dynlib: "winmm.dll", importc: "mmioRead".}
proc mmioWrite*(x1: HMMIO, x2: cstring, x3: LONG): LONG{.stdcall,
dynlib: "winmm.dll", importc: "mmioWrite".}
proc mmioSeek*(x1: HMMIO, x2: LONG, x3: WINT): LONG{.stdcall,
dynlib: "winmm.dll", importc: "mmioSeek".}
proc mmioGetInfo*(x1: HMMIO, x2: LPMMIOINFO, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mmioGetInfo".}
proc mmioSetInfo*(x1: HMMIO, x2: LPCMMIOINFO, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mmioSetInfo".}
proc mmioSetBuffer*(x1: HMMIO, x2: LPSTR, x3: LONG, x4: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mmioSetBuffer".}
proc mmioFlush*(x1: HMMIO, x2: UINT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "mmioFlush".}
proc mmioAdvance*(x1: HMMIO, x2: LPMMIOINFO, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mmioAdvance".}
proc mmioSendMessage*(x1: HMMIO, x2: UINT, x3: LPARAM, x4: LPARAM): LRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mmioSendMessage".}
proc mmioDescend*(x1: HMMIO, x2: LPMMCKINFO, x3: PMMCKINFO, x4: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mmioDescend".}
proc mmioAscend*(x1: HMMIO, x2: LPMMCKINFO, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mmioAscend".}
proc mmioCreateChunk*(x1: HMMIO, x2: LPMMCKINFO, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mmioCreateChunk".}
proc mciSendCommandA*(x1: MCIDEVICEID, x2: UINT, x3: DWORD, x4: DWORD): MCIERROR{.
stdcall, dynlib: "winmm.dll", importc: "mciSendCommandA".}
proc mciSendCommandW*(x1: MCIDEVICEID, x2: UINT, x3: DWORD, x4: DWORD): MCIERROR{.
stdcall, dynlib: "winmm.dll", importc: "mciSendCommandW".}
proc mciSendCommand*(x1: MCIDEVICEID, x2: UINT, x3: DWORD, x4: DWORD): MCIERROR{.
stdcall, dynlib: "winmm.dll", importc: "mciSendCommandA".}
proc mciSendStringA*(x1: LPCSTR, x2: LPSTR, x3: UINT, x4: HWND): MCIERROR{.
stdcall, dynlib: "winmm.dll", importc: "mciSendStringA".}
proc mciSendStringW*(x1: LPCWSTR, x2: LPWSTR, x3: UINT, x4: HWND): MCIERROR{.
stdcall, dynlib: "winmm.dll", importc: "mciSendStringW".}
proc mciSendString*(x1: cstring, x2: cstring, x3: UINT, x4: HWND): MCIERROR{.
stdcall, dynlib: "winmm.dll", importc: "mciSendStringA".}
proc mciGetDeviceIDA*(x1: LPCSTR): MCIDEVICEID{.stdcall, dynlib: "winmm.dll",
importc: "mciGetDeviceIDA".}
proc mciGetDeviceIDW*(x1: LPCWSTR): MCIDEVICEID{.stdcall, dynlib: "winmm.dll",
importc: "mciGetDeviceIDW".}
proc mciGetDeviceID*(x1: cstring): MCIDEVICEID{.stdcall, dynlib: "winmm.dll",
importc: "mciGetDeviceIDA".}
proc mciGetDeviceIDFromElementIDA*(x1: DWORD, x2: LPCSTR): MCIDEVICEID{.stdcall,
dynlib: "winmm.dll", importc: "mciGetDeviceIDFromElementIDA".}
proc mciGetDeviceIDFromElementIDW*(x1: DWORD, x2: LPCWSTR): MCIDEVICEID{.
stdcall, dynlib: "winmm.dll", importc: "mciGetDeviceIDFromElementIDW".}
proc mciGetDeviceIDFromElementID*(x1: DWORD, x2: cstring): MCIDEVICEID{.stdcall,
dynlib: "winmm.dll", importc: "mciGetDeviceIDFromElementIDA".}
proc mciGetErrorStringA*(x1: MCIERROR, x2: LPSTR, x3: UINT): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "mciGetErrorStringA".}
proc mciGetErrorStringW*(x1: MCIERROR, x2: LPWSTR, x3: UINT): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "mciGetErrorStringW".}
proc mciGetErrorString*(x1: MCIERROR, x2: cstring, x3: UINT): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "mciGetErrorStringA".}
proc mciSetYieldProc*(x1: MCIDEVICEID, x2: YIELDPROC, x3: DWORD): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "mciSetYieldProc".}
proc mciGetCreatorTask*(x1: MCIDEVICEID): HTASK{.stdcall, dynlib: "winmm.dll",
importc: "mciGetCreatorTask".}
proc mciGetYieldProc*(x1: MCIDEVICEID, x2: LPDWORD): YIELDPROC{.stdcall,
dynlib: "winmm.dll", importc: "mciGetYieldProc".}
proc mciExecute*(x1: LPCSTR): BOOL{.stdcall, dynlib: "winmm.dll",
importc: "mciExecute".}
proc joyGetPos*(x1: UINT, x2: LPJOYINFO): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joyGetPos".}
proc joyGetPosEx*(x1: UINT, x2: LPJOYINFOEX): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joyGetPosEx".}
proc joyGetThreshold*(x1: UINT, x2: LPUINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joyGetThreshold".}
proc joyReleaseCapture*(x1: UINT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "joyReleaseCapture".}
proc joySetCapture*(x1: HWND, x2: UINT, x3: UINT, x4: BOOL): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joySetCapture".}
proc joySetThreshold*(x1: UINT, x2: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joySetThreshold".}
proc waveOutGetNumDevs*(): UINT{.stdcall, dynlib: "winmm.dll",
importc: "waveOutGetNumDevs".}
proc waveOutGetDevCapsA*(x1: UINT, x2: LPWAVEOUTCAPSA, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutGetDevCapsA".}
proc waveOutGetDevCapsW*(x1: UINT, x2: LPWAVEOUTCAPSW, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutGetDevCapsW".}
proc waveOutGetDevCaps*(x1: UINT, x2: LPWAVEOUTCAPS, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutGetDevCapsA".}
proc waveOutGetVolume*(x1: HWAVEOUT, x2: LPDWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutGetVolume".}
proc waveOutSetVolume*(x1: HWAVEOUT, x2: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutSetVolume".}
proc waveOutGetErrorTextA*(x1: MMRESULT, x2: LPSTR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutGetErrorTextA".}
proc waveOutGetErrorTextW*(x1: MMRESULT, x2: LPWSTR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutGetErrorTextW".}
proc waveOutGetErrorText*(x1: MMRESULT, x2: cstring, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutGetErrorTextA".}
proc waveOutOpen*(x1: LPHWAVEOUT, x2: UINT, x3: LPCWAVEFORMATEX, x4: DWORD,
x5: DWORD, x6: DWORD): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveOutOpen".}
proc waveOutClose*(x1: HWAVEOUT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveOutClose".}
proc waveOutPrepareHeader*(x1: HWAVEOUT, x2: LPWAVEHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutPrepareHeader".}
proc waveOutUnprepareHeader*(x1: HWAVEOUT, x2: LPWAVEHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutUnprepareHeader".}
proc waveOutWrite*(x1: HWAVEOUT, x2: LPWAVEHDR, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutWrite".}
proc waveOutPause*(x1: HWAVEOUT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveOutPause".}
proc waveOutRestart*(x1: HWAVEOUT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveOutRestart".}
proc waveOutReset*(x1: HWAVEOUT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveOutReset".}
proc waveOutBreakLoop*(x1: HWAVEOUT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveOutBreakLoop".}
proc waveOutGetPosition*(x1: HWAVEOUT, x2: LPMMTIME, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutGetPosition".}
proc waveOutGetPitch*(x1: HWAVEOUT, x2: LPDWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutGetPitch".}
proc waveOutSetPitch*(x1: HWAVEOUT, x2: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutSetPitch".}
proc waveOutGetPlaybackRate*(x1: HWAVEOUT, x2: LPDWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutGetPlaybackRate".}
proc waveOutSetPlaybackRate*(x1: HWAVEOUT, x2: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutSetPlaybackRate".}
proc waveOutGetID*(x1: HWAVEOUT, x2: LPUINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveOutGetID".}
proc waveOutMessage*(x1: HWAVEOUT, x2: UINT, x3: DWORD, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveOutMessage".}
proc waveInGetNumDevs*(): UINT{.stdcall, dynlib: "winmm.dll",
importc: "waveInGetNumDevs".}
proc waveInGetDevCapsA*(x1: UINT, x2: LPWAVEINCAPSA, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveInGetDevCapsA".}
proc waveInGetDevCapsW*(x1: UINT, x2: LPWAVEINCAPSW, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveInGetDevCapsW".}
proc waveInGetDevCaps*(x1: UINT, x2: LPWAVEINCAPS, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveInGetDevCapsA".}
proc waveInGetErrorTextA*(x1: MMRESULT, x2: LPSTR, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveInGetErrorTextA".}
proc waveInGetErrorTextW*(x1: MMRESULT, x2: LPWSTR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveInGetErrorTextW".}
proc waveInGetErrorText*(x1: MMRESULT, x2: cstring, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveInGetErrorTextA".}
proc waveInOpen*(x1: LPHWAVEIN, x2: UINT, x3: LPCWAVEFORMATEX, x4: DWORD,
x5: DWORD, x6: DWORD): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveInOpen".}
proc waveInClose*(x1: HWAVEIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveInClose".}
proc waveInPrepareHeader*(x1: HWAVEIN, x2: LPWAVEHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveInPrepareHeader".}
proc waveInUnprepareHeader*(x1: HWAVEIN, x2: LPWAVEHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveInUnprepareHeader".}
proc waveInAddBuffer*(x1: HWAVEIN, x2: LPWAVEHDR, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveInAddBuffer".}
proc waveInStart*(x1: HWAVEIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveInStart".}
proc waveInStop*(x1: HWAVEIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveInStop".}
proc waveInReset*(x1: HWAVEIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "waveInReset".}
proc waveInGetPosition*(x1: HWAVEIN, x2: LPMMTIME, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveInGetPosition".}
proc waveInGetID*(x1: HWAVEIN, x2: LPUINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "waveInGetID".}
proc waveInMessage*(x1: HWAVEIN, x2: UINT, x3: DWORD, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "waveInMessage".}
proc mixerGetLineControlsA*(x1: HMIXEROBJ, x2: LPMIXERLINECONTROLSA, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerGetLineControlsA".}
proc mixerGetLineControlsW*(x1: HMIXEROBJ, x2: LPMIXERLINECONTROLSW, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerGetLineControlsW".}
proc mixerGetLineControls*(x1: HMIXEROBJ, x2: LPMIXERLINECONTROLS, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerGetLineControlsA".}
proc joyGetNumDevs*(): UINT{.stdcall, dynlib: "winmm.dll",
importc: "joyGetNumDevs".}
proc joyGetDevCapsA*(x1: UINT, x2: LPJOYCAPSA, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joyGetDevCapsA".}
proc joyGetDevCapsW*(x1: UINT, x2: LPJOYCAPSW, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joyGetDevCapsW".}
proc joyGetDevCaps*(x1: UINT, x2: LPJOYCAPS, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "joyGetDevCapsA".}
proc mixerGetControlDetailsA*(x1: HMIXEROBJ, x2: LPMIXERCONTROLDETAILS,
x3: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mixerGetControlDetailsA".}
proc mixerGetControlDetailsW*(x1: HMIXEROBJ, x2: LPMIXERCONTROLDETAILS,
x3: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mixerGetControlDetailsW".}
proc mixerGetControlDetails*(x1: HMIXEROBJ, x2: LPMIXERCONTROLDETAILS, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerGetControlDetailsA".}
proc timeGetSystemTime*(x1: LPMMTIME, x2: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "timeGetSystemTime".}
proc timeGetTime*(): DWORD{.stdcall, dynlib: "winmm.dll", importc: "timeGetTime".}
proc timeSetEvent*(x1: UINT, x2: UINT, x3: LPTIMECALLBACK, x4: DWORD, x5: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "timeSetEvent".}
proc timeKillEvent*(x1: UINT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "timeKillEvent".}
proc timeGetDevCaps*(x1: LPTIMECAPS, x2: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "timeGetDevCaps".}
proc timeBeginPeriod*(x1: UINT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "timeBeginPeriod".}
proc timeEndPeriod*(x1: UINT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "timeEndPeriod".}
proc mixerGetDevCapsA*(x1: UINT, x2: LPMIXERCAPSA, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mixerGetDevCapsA".}
proc mixerGetDevCapsW*(x1: UINT, x2: LPMIXERCAPSW, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mixerGetDevCapsW".}
proc mixerGetDevCaps*(x1: UINT, x2: LPMIXERCAPS, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mixerGetDevCapsA".}
proc mixerOpen*(x1: LPHMIXER, x2: UINT, x3: DWORD, x4: DWORD, x5: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerOpen".}
proc mixerClose*(x1: HMIXER): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "mixerClose".}
proc mixerMessage*(x1: HMIXER, x2: UINT, x3: DWORD, x4: DWORD): DWORD{.stdcall,
dynlib: "winmm.dll", importc: "mixerMessage".}
proc auxGetNumDevs*(): UINT{.stdcall, dynlib: "winmm.dll",
importc: "auxGetNumDevs".}
proc auxGetDevCapsA*(x1: UINT, x2: LPAUXCAPSA, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "auxGetDevCapsA".}
proc auxGetDevCapsW*(x1: UINT, x2: LPAUXCAPSW, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "auxGetDevCapsW".}
proc auxGetDevCaps*(x1: UINT, x2: LPAUXCAPS, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "auxGetDevCapsA".}
proc auxSetVolume*(x1: UINT, x2: DWORD): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "auxSetVolume".}
proc auxGetVolume*(x1: UINT, x2: LPDWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "auxGetVolume".}
proc auxOutMessage*(x1: UINT, x2: UINT, x3: DWORD, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "auxOutMessage".}
proc midiOutGetNumDevs*(): UINT{.stdcall, dynlib: "winmm.dll",
importc: "midiOutGetNumDevs".}
proc midiStreamOpen*(x1: LPHMIDISTRM, x2: LPUINT, x3: DWORD, x4: DWORD,
x5: DWORD, x6: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiStreamOpen".}
proc midiStreamClose*(x1: HMIDISTRM): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiStreamClose".}
proc midiStreamProperty*(x1: HMIDISTRM, x2: LPBYTE, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiStreamProperty".}
proc midiStreamPosition*(x1: HMIDISTRM, x2: LPMMTIME, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiStreamPosition".}
proc midiStreamOut*(x1: HMIDISTRM, x2: LPMIDIHDR, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiStreamOut".}
proc midiStreamPause*(x1: HMIDISTRM): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiStreamPause".}
proc midiStreamRestart*(x1: HMIDISTRM): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiStreamRestart".}
proc midiStreamStop*(x1: HMIDISTRM): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiStreamStop".}
proc midiConnect*(x1: HMIDI, x2: HMIDIOUT, x3: pointer): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiConnect".}
proc midiDisconnect*(x1: HMIDI, x2: HMIDIOUT, x3: pointer): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiDisconnect".}
proc midiOutGetDevCapsA*(x1: UINT, x2: LPMIDIOUTCAPSA, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutGetDevCapsA".}
proc midiOutGetDevCapsW*(x1: UINT, x2: LPMIDIOUTCAPSW, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutGetDevCapsW".}
proc midiOutGetDevCaps*(x1: UINT, x2: LPMIDIOUTCAPS, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutGetDevCapsA".}
proc midiOutGetVolume*(x1: HMIDIOUT, x2: LPDWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiOutGetVolume".}
proc midiOutSetVolume*(x1: HMIDIOUT, x2: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiOutSetVolume".}
proc midiOutGetErrorTextA*(x1: MMRESULT, x2: LPSTR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutGetErrorTextA".}
proc midiOutGetErrorTextW*(x1: MMRESULT, x2: LPWSTR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutGetErrorTextW".}
proc midiOutGetErrorText*(x1: MMRESULT, x2: cstring, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutGetErrorTextA".}
proc midiOutOpen*(x1: LPHMIDIOUT, x2: UINT, x3: DWORD, x4: DWORD, x5: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutOpen".}
proc midiOutClose*(x1: HMIDIOUT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiOutClose".}
proc midiOutPrepareHeader*(x1: HMIDIOUT, x2: LPMIDIHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutPrepareHeader".}
proc midiOutUnprepareHeader*(x1: HMIDIOUT, x2: LPMIDIHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutUnprepareHeader".}
proc midiOutShortMsg*(x1: HMIDIOUT, x2: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiOutShortMsg".}
proc midiOutLongMsg*(x1: HMIDIOUT, x2: LPMIDIHDR, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiOutLongMsg".}
proc midiOutReset*(x1: HMIDIOUT): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiOutReset".}
proc midiOutCachePatches*(x1: HMIDIOUT, x2: UINT, x3: LPWORD, x4: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutCachePatches".}
proc midiOutCacheDrumPatches*(x1: HMIDIOUT, x2: UINT, x3: LPWORD, x4: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutCacheDrumPatches".}
proc midiOutGetID*(x1: HMIDIOUT, x2: LPUINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiOutGetID".}
proc midiOutMessage*(x1: HMIDIOUT, x2: UINT, x3: DWORD, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiOutMessage".}
proc midiInGetNumDevs*(): UINT{.stdcall, dynlib: "winmm.dll",
importc: "midiInGetNumDevs".}
proc midiInGetDevCapsA*(x1: UINT, x2: LPMIDIINCAPSA, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInGetDevCapsA".}
proc midiInGetDevCapsW*(x1: UINT, x2: LPMIDIINCAPSW, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInGetDevCapsW".}
proc midiInGetDevCaps*(x1: UINT, x2: LPMIDIINCAPS, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiInGetDevCapsA".}
proc midiInGetErrorTextA*(x1: MMRESULT, x2: LPSTR, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiInGetErrorTextA".}
proc midiInGetErrorTextW*(x1: MMRESULT, x2: LPWSTR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInGetErrorTextW".}
proc midiInGetErrorText*(x1: MMRESULT, x2: cstring, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInGetErrorTextA".}
proc midiInOpen*(x1: LPHMIDIIN, x2: UINT, x3: DWORD, x4: DWORD, x5: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInOpen".}
proc midiInClose*(x1: HMIDIIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiInClose".}
proc midiInPrepareHeader*(x1: HMIDIIN, x2: LPMIDIHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInPrepareHeader".}
proc midiInUnprepareHeader*(x1: HMIDIIN, x2: LPMIDIHDR, x3: UINT): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInUnprepareHeader".}
proc midiInAddBuffer*(x1: HMIDIIN, x2: LPMIDIHDR, x3: UINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiInAddBuffer".}
proc midiInStart*(x1: HMIDIIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiInStart".}
proc midiInStop*(x1: HMIDIIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiInStop".}
proc midiInReset*(x1: HMIDIIN): MMRESULT{.stdcall, dynlib: "winmm.dll",
importc: "midiInReset".}
proc midiInGetID*(x1: HMIDIIN, x2: LPUINT): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "midiInGetID".}
proc midiInMessage*(x1: HMIDIIN, x2: UINT, x3: DWORD, x4: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "midiInMessage".}
proc mixerGetLineInfoA*(x1: HMIXEROBJ, x2: LPMIXERLINEA, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerGetLineInfoA".}
proc mixerGetLineInfoW*(x1: HMIXEROBJ, x2: LPMIXERLINEW, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerGetLineInfoW".}
proc mixerGetLineInfo*(x1: HMIXEROBJ, x2: LPMIXERLINE, x3: DWORD): MMRESULT{.
stdcall, dynlib: "winmm.dll", importc: "mixerGetLineInfoA".}
proc mixerGetID*(x1: HMIXEROBJ, x2: var UINT, x3: DWORD): MMRESULT{.stdcall,
dynlib: "winmm.dll", importc: "mixerGetID".}
proc PlaySoundA*(x1: LPCSTR, x2: HMODULE, x3: DWORD): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "PlaySoundA".}
proc PlaySoundW*(x1: LPCWSTR, x2: HMODULE, x3: DWORD): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "PlaySoundW".}
proc PlaySound*(x1: cstring, x2: HMODULE, x3: DWORD): BOOL{.stdcall,
dynlib: "winmm.dll", importc: "PlaySoundA".}
# implementation
proc MEVT_EVENTTYPE(x: int8): int8 =
result = toU8(x shr 24)
proc MEVT_EVENTPARM(x: DWORD): DWORD =
result = x And 0x00FFFFFF
proc MCI_MSF_MINUTE(msf: int32): int8 =
result = toU8(msf and 0xff)
proc MCI_TMSF_TRACK(tmsf: int32): int8 =
result = toU8(tmsf and 0xff)
proc MCI_HMS_HOUR(h: int32): int8 =
result = toU8(h and 0xff)
proc MCI_MSF_SECOND(msf: int32): int8 =
result = toU8(msf shr 8)
proc MCI_TMSF_MINUTE(tmsf: int32): int8 =
result = toU8(tmsf shr 8)
proc MCI_HMS_MINUTE(h: int32): int8 =
result = toU8(h shr 8)
proc MCI_MSF_FRAME(msf: int32): int8 =
result = toU8(msf shr 16)
proc MCI_TMSF_SECOND(tmsf: int32): int8 =
result = toU8(tmsf shr 16)
proc MCI_HMS_SECOND(h: int32): int8 =
result = toU8(h shr 16)
proc MCI_MAKE_MSF(m, s, f: int8): int32 =
result = toU32(ze(m) or ze(s) shl 8 or ze(f) shl 16)
proc MCI_MAKE_HMS(h, m, s: int8): int32 =
result = toU32(ze(h) or ze(m) shl 8 or ze(s) shl 16)
proc MCI_TMSF_FRAME(tmsf: int32): int8 =
result = toU8(tmsf shr 24)
proc mci_Make_TMSF(t, m, s, f: int8): int32 =
result = ze(t) or ze(m) shl 8 or ze(s) shl 16 or ze(f) shl 24
proc DIBINDEX(n: int32): int32 =
result = n Or 0x000010FF'i32 shl 16'i32