*****************************************************} { } { Delphi Runtime Library } { Windows 32bit API Interface Unit } { Multimedia Interface unit } { } { Copyright (c) 1992,97 Borland International } { } {
auxGetDevCaps -
auxGetDevCapsA -
auxGetDevCapsW -
auxGetNumDevs - separate left-right volume control } { auxiliary audio function prototypes
auxGetVolume -
auxOutMessage -
auxSetVolume -
CloseDriver -
DefDriverProc -
DIBIndex - DIB.
DrvGetModuleHandle -
GetDriverModuleHandle -
joyGetDevCaps -
joyGetDevCapsA -
joyGetDevCapsW -
joyGetNumDevs - joystick function prototypes
joyGetPos -
joyGetPosEx -
joyGetThreshold -
joyReleaseCapture -
joySetCapture -
joySetThreshold -
mciExecute -
mciGetCreatorTask -
mciGetDeviceID -
mciGetDeviceIDA -
mciGetDeviceIDFromElementID -
mciGetDeviceIDFromElementIDA -
mciGetDeviceIDFromElementIDW -
mciGetDeviceIDW -
mciGetErrorString -
mciGetErrorStringA -
mciGetErrorStringW -
mciGetYieldProc -
mciSendCommand -
mciSendCommandA - MCI function prototypes
mciSendCommandW -
mciSendString -
mciSendStringA -
mciSendStringW -
mciSetYieldProc -
mci_HMS_Hour -
mci_HMS_Minute -
mci_HMS_Second -
mci_Make_HMS -
mci_Make_MSF -
mci_Make_TMSF -
mci_MSF_Frame -
mci_MSF_Minute - MCI time format conversion macros
mci_MSF_Second -
mci_TMSF_Frame -
mci_TMSF_Minute -
mci_TMSF_Second -
mci_TMSF_Track -
midiConnect -
midiDisconnect -
midiInAddBuffer -
midiInClose -
midiInGetDevCaps -
midiInGetDevCapsA -
midiInGetDevCapsW -
midiInGetErrorText -
midiInGetErrorTextA -
midiInGetErrorTextW -
midiInGetID -
midiInGetNumDevs -
midiInMessage -
midiInOpen -
midiInPrepareHeader -
midiInReset -
midiInStart -
midiInStop -
midiInUnprepareHeader -
midiOutCacheDrumPatches -
midiOutCachePatches -
midiOutClose -
midiOutGetDevCaps -
midiOutGetDevCapsA -
midiOutGetDevCapsW -
midiOutGetErrorText -
midiOutGetErrorTextA -
midiOutGetErrorTextW -
midiOutGetID -
midiOutGetNumDevs - MIDI function prototypes
midiOutGetVolume -
midiOutLongMsg -
midiOutMessage -
midiOutOpen -
midiOutPrepareHeader -
midiOutReset -
midiOutSetVolume -
midiOutShortMsg -
midiOutUnprepareHeader -
midiStreamClose -
midiStreamOpen -
midiStreamOut -
midiStreamPause -
midiStreamPosition -
midiStreamProperty -
midiStreamRestart -
midiStreamStop -
mixerClose -
mixerGetControlDetails -
mixerGetControlDetailsA -
mixerGetControlDetailsW -
mixerGetDevCaps -
mixerGetDevCapsA -
mixerGetDevCapsW -
mixerGetID -
mixerGetLineControls -
mixerGetLineControlsA -
mixerGetLineControlsW -
mixerGetLineInfo -
mixerGetLineInfoA -
mixerGetLineInfoW -
mixerGetNumDevs -
mixerMessage -
mixerOpen -
mixerSetControlDetails -
mmioAdvance -
mmioAscend -
mmioClose -
mmioCreateChunk -
mmioDescend -
mmioFlush -
mmioGetInfo -
mmioInstallIOProc -
mmioInstallIOProcA -
mmioInstallIOProcW -
mmioOpen -
mmioOpenA -
mmioOpenW -
mmioRead -
mmioRename -
mmioRenameA -
mmioRenameW -
mmioSeek -
mmioSendMessage -
mmioSetBuffer -
mmioSetInfo -
mmioStringToFOURCC -
mmioStringToFOURCCA - default buffer size } { MMIO function prototypes
mmioStringToFOURCCW -
mmioWrite -
mmsystemGetVersion - *************************************************************************
General MMSYSTEM support
OpenDriver -
PlaySound -
PlaySoundA -
PlaySoundW -
SendDriverMessage -
sndPlaySound -
sndPlaySoundA - *************************************************************************
Sound support
sndPlaySoundW -
timeBeginPeriod -
timeEndPeriod -
timeGetDevCaps -
timeGetSystemTime - timer function prototypes
timeGetTime -
timeKillEvent -
timeSetEvent -
waveInAddBuffer -
waveInClose -
waveInGetDevCaps -
waveInGetDevCapsA -
waveInGetDevCapsW -
waveInGetErrorText -
waveInGetErrorTextA -
waveInGetErrorTextW -
waveInGetID -
waveInGetNumDevs -
waveInGetPosition -
waveInMessage -
waveInOpen -
waveInPrepareHeader -
waveInReset -
waveInStart -
waveInStop -
waveInUnprepareHeader -
waveOutBreakLoop -
waveOutClose -
waveOutGetDevCaps -
waveOutGetDevCapsA -
waveOutGetDevCapsW -
waveOutGetErrorText -
waveOutGetErrorTextA -
waveOutGetErrorTextW -
waveOutGetID -
waveOutGetNumDevs - waveform audio function prototypes
waveOutGetPitch -
waveOutGetPlaybackRate -
waveOutGetPosition -
waveOutGetVolume -
waveOutMessage -
waveOutOpen -
waveOutPause -
waveOutPrepareHeader -
waveOutReset -
waveOutRestart -
waveOutSetPitch -
waveOutSetPlaybackRate -
waveOutSetVolume -
waveOutUnprepareHeader -
waveOutWrite -
FOURCC
HDRVR
HMIDI
HMIDIIN
HMIDIOUT
HMIDISTRM
HMIXER
HMIXEROBJ
HMMIO
HWAVE
HWAVEIN
HWAVEOUT
MCIDEVICEID
MCIERROR
MMRESULT
MMVERSION
PAuxCaps
PAuxCapsA
PAuxCapsW
PDrvConfigInfo
PDrvConfigInfoEx
PHMIDI
PHMIDIIN
PHMIDIOUT
PHMIDISTRM
PHMIXER
PHMIXEROBJ
PHMMIO
PHWAVE
PHWAVEIN
PHWAVEOUT
PJoyCaps
PJoyCapsA
PJoyCapsW
PJoyInfo
PJoyInfoEx
PKeyArray
PMCI_Anim_Open_Parms
PMCI_Anim_Open_ParmsA
PMCI_Anim_Open_ParmsW
PMCI_Anim_Play_Parms
PMCI_Anim_Rect_Parms
PMCI_Anim_Step_Parms
PMCI_Anim_Update_Parms
PMCI_Anim_Window_Parms
PMCI_Anim_Window_ParmsA
PMCI_Anim_Window_ParmsW
PMCI_Break_Parms
PMCI_Generic_Parms
PMCI_GetDevCaps_Parms
PMCI_Info_Parms
PMCI_Info_ParmsA
PMCI_Info_ParmsW
PMCI_Load_Parms
PMCI_Load_ParmsA
PMCI_Load_ParmsW
PMCI_Open_Parms
PMCI_Open_ParmsA
PMCI_Open_ParmsW
PMCI_Ovly_Load_Parms
PMCI_Ovly_Load_ParmsA
PMCI_Ovly_Load_ParmsW
PMCI_Ovly_Open_Parms
PMCI_Ovly_Open_ParmsA
PMCI_Ovly_Open_ParmsW
PMCI_Ovly_Rect_Parms
PMCI_Ovly_Save_Parms
PMCI_Ovly_Save_ParmsA
PMCI_Ovly_Save_ParmsW
PMCI_Ovly_Window_Parms
PMCI_Ovly_Window_ParmsA
PMCI_Ovly_Window_ParmsW
PMCI_Play_Parms
PMCI_Record_Parms
PMCI_Save_Parms
PMCI_Save_ParmsA
PMCI_Save_ParmsW
PMCI_Seek_Parms
PMCI_Seq_Set_Parms
PMCI_Set_Parms
PMCI_Sound_Parms
PMCI_Status_Parms
PMCI_SysInfo_Parms
PMCI_SysInfo_ParmsA
PMCI_SysInfo_ParmsW
PMCI_VD_Escape_Parms
PMCI_VD_Escape_ParmsA
PMCI_VD_Escape_ParmsW
PMCI_VD_Play_Parms
PMCI_VD_Step_Parms
PMCI_Wave_Delete_Parms
PMCI_Wave_Open_Parms
PMCI_Wave_Open_ParmsA
PMCI_Wave_Open_ParmsW
PMCI_Wave_Set_Parms
PMidiEvent
PMidiHdr
PMidiInCaps
PMidiInCapsA
PMidiInCapsW
PMidiOutCaps
PMidiOutCapsA
PMidiOutCapsW
PMidiPropTempo
PMidiPropTimeDiv
PMidiStrmBuffVer
PMixerCaps
PMixerCapsA
PMixerCapsW
PMixerControl
PMixerControlA
PMixerControlDetails
PMixerControlDetailsBoolean
PMixerControlDetailsListText
PMixerControlDetailsListTextA
PMixerControlDetailsListTextW
PMixerControlDetailsSigned
PMixerControlDetailsUnsigned
PMixerControlW
PMixerLine
PMixerLineA
PMixerLineControls
PMixerLineControlsA
PMixerLineControlsW
PMixerLineW
PMMCKInfo
PMMIOInfo
PMMTime
PPatchArray
PPCMWaveFormat
PTimeCaps
PWaveFormat
PWaveFormatEx
PWaveHdr
PWaveInCaps
PWaveInCapsA
PWaveInCapsW
PWaveOutCaps
PWaveOutCapsA
PWaveOutCapsW
TAuxCaps
TAuxCapsA
TAuxCapsW
TDrvConfigInfo
TDrvConfigInfoEx
TFNDriverProc
TFNDrvCallBack
TFNMidiCallBack
TFNMMIOProc
TFNTimeCallBack
TFNWaveCallBack
TFNYieldProc
TJoyCaps
TJoyCapsA
TJoyCapsW
TJoyInfo
TJoyInfoEx
TKeyArray
TMCI_Anim_Open_Parms
TMCI_Anim_Open_ParmsA
TMCI_Anim_Open_ParmsW
TMCI_Anim_Play_Parms
TMCI_Anim_Rect_Parms
TMCI_Anim_Step_Parms
TMCI_Anim_Update_Parms
TMCI_Anim_Window_Parms
TMCI_Anim_Window_ParmsA
TMCI_Anim_Window_ParmsW
TMCI_BReak_Parms
TMCI_Generic_Parms
TMCI_GetDevCaps_Parms
TMCI_Info_Parms
TMCI_Info_ParmsA
TMCI_Info_ParmsW
TMCI_Load_Parms
TMCI_Load_ParmsA
TMCI_Load_ParmsW
TMCI_Open_Parms
TMCI_Open_ParmsA
TMCI_Open_ParmsW
TMCI_Ovly_Load_Parms
TMCI_Ovly_Load_ParmsA
TMCI_Ovly_Load_ParmsW
TMCI_Ovly_Open_Parms
TMCI_Ovly_Open_ParmsA
TMCI_Ovly_Open_ParmsW
TMCI_Ovly_Rect_Parms
TMCI_Ovly_Save_Parms
TMCI_Ovly_Save_ParmsA
TMCI_Ovly_Save_ParmsW
TMCI_Ovly_Window_Parms
TMCI_Ovly_Window_ParmsA
TMCI_Ovly_Window_ParmsW
TMCI_Play_Parms
TMCI_Record_Parms
TMCI_SaveParms
TMCI_SaveParmsA
TMCI_SaveParmsW
TMCI_Seek_Parms
TMCI_Seq_Set_Parms
TMCI_Set_Parms
TMCI_Sound_Parms
TMCI_Status_Parms
TMCI_SysInfo_Parms
TMCI_SysInfo_ParmsA
TMCI_SysInfo_ParmsW
TMCI_VD_Escape_Parms
TMCI_VD_Escape_ParmsA
TMCI_VD_Escape_ParmsW
TMCI_VD_Play_Parms
TMCI_VD_Step_Parms
TMCI_Wave_Delete_Parms
TMCI_Wave_Open_Parms
TMCI_Wave_Open_ParmsA
TMCI_Wave_Open_ParmsW
TMCI_Wave_Set_Parms
TMidiEvent
TMidiHdr
TMidiInCaps
TMidiInCapsA
TMidiInCapsW
TMidiOutCaps
TMidiOutCapsA
TMidiOutCapsW
TMidiPropTempo
TMidiPropTimeDiv
TMidiStrmBuffVer
TMixerCaps
TMixerCapsA
TMixerCapsW
TMixerControl
TMixerControlA
TMixerControlDetails
TMixerControlDetailsBoolean
TMixerControlDetailsListText
TMixerControlDetailsListTextA
TMixerControlDetailsListTextW
TMixerControlDetailsSigned
TMixerControlDetailsUnsigned
TMixerControlW
TMixerLine
TMixerLineA
TMixerLineControls
TMixerLineControlsA
TMixerLineControlsW
TMixerLineW
TMMCKInfo
TMMIOInfo
TMMTime
TPatchArray
TPCMWaveFormat
TTimeCaps
TWaveFormat
TWaveFormatEx
TWaveHdr
TWaveInCaps
TWaveInCapsA
TWaveInCapsW
TWaveOutCaps
TWaveOutCapsA
TWaveOutCapsW
VERSION
AUXCAPS_AUXIN
AUXCAPS_CDAUDIO
AUXCAPS_LRVOLUME
AUXCAPS_VOLUME
AUX_MAPPER
CALLBACK_EVENT
CALLBACK_FUNCTION
CALLBACK_NULL
CALLBACK_TASK
CALLBACK_THREAD
CALLBACK_TYPEMASK
CALLBACK_WINDOW
CFSEPCHAR
DRVCNF_CANCEL
DRVCNF_OK
DRVCNF_RESTART
DRV_CANCEL
DRV_CLOSE
DRV_CONFIGURE
DRV_DISABLE
DRV_ENABLE
DRV_EXITSESSION
DRV_FREE
DRV_INSTALL
DRV_LOAD
DRV_MCI_FIRST
DRV_MCI_LAST
DRV_OK
DRV_OPEN
DRV_POWER
DRV_QUERYCONFIGURE
DRV_REMOVE
DRV_RESERVED
DRV_RESTART
DRV_USER
FOURCC_DOS
FOURCC_LIST
FOURCC_MEM
FOURCC_RIFF
JOYCAPS_HASPOV
JOYCAPS_HASR
JOYCAPS_HASU
JOYCAPS_HASV
JOYCAPS_HASZ
JOYCAPS_POV4DIR
JOYCAPS_POVCTS
JOYERR_BASE
JOYERR_NOCANDO
JOYERR_NOERROR
JOYERR_PARMS
JOYERR_UNPLUGGED
JOYSTICKID1
JOYSTICKID2
JOY_BUTTON1
JOY_BUTTON10
JOY_BUTTON11
JOY_BUTTON12
JOY_BUTTON13
JOY_BUTTON14
JOY_BUTTON15
JOY_BUTTON16
JOY_BUTTON17
JOY_BUTTON18
JOY_BUTTON19
JOY_BUTTON1CHG
JOY_BUTTON2
JOY_BUTTON20
JOY_BUTTON21
JOY_BUTTON22
JOY_BUTTON23
JOY_BUTTON24
JOY_BUTTON25
JOY_BUTTON26
JOY_BUTTON27
JOY_BUTTON28
JOY_BUTTON29
JOY_BUTTON2CHG
JOY_BUTTON3
JOY_BUTTON30
JOY_BUTTON31
JOY_BUTTON32
JOY_BUTTON3CHG
JOY_BUTTON4
JOY_BUTTON4CHG
JOY_BUTTON5
JOY_BUTTON6
JOY_BUTTON7
JOY_BUTTON8
JOY_BUTTON9
JOY_CAL_READ3
JOY_CAL_READ4
JOY_CAL_READ5
JOY_CAL_READ6
JOY_CAL_READALWAYS
JOY_CAL_READRONLY
JOY_CAL_READUONLY
JOY_CAL_READVONLY
JOY_CAL_READXONLY
JOY_CAL_READXYONLY
JOY_CAL_READYONLY
JOY_CAL_READZONLY
JOY_POVBACKWARD
JOY_POVCENTERED
JOY_POVFORWARD
JOY_POVLEFT
JOY_POVRIGHT
JOY_RETURNALL
JOY_RETURNBUTTONS
JOY_RETURNCENTERED
JOY_RETURNPOV
JOY_RETURNPOVCTS
JOY_RETURNR
JOY_RETURNRAWDATA
JOY_RETURNU
JOY_RETURNV
JOY_RETURNX
JOY_RETURNY
JOY_RETURNZ
JOY_USEDEADZONE
MAXERRORLENGTH
MAXPNAMELEN
MAX_JOYSTICKOEMVXDNAME
MCIERR_BAD_CONSTANT
MCIERR_BAD_INTEGER
MCIERR_BAD_TIME_FORMAT
MCIERR_BASE
MCIERR_CANNOT_LOAD_DRIVER
MCIERR_CANNOT_USE_ALL
MCIERR_CREATEWINDOW
MCIERR_CUSTOM_DRIVER_BASE
MCIERR_DEVICE_LENGTH
MCIERR_DEVICE_LOCKED
MCIERR_DEVICE_NOT_INSTALLED
MCIERR_DEVICE_NOT_READY
MCIERR_DEVICE_OPEN
MCIERR_DEVICE_ORD_LENGTH
MCIERR_DEVICE_TYPE_REQUIRED
MCIERR_DRIVER
MCIERR_DRIVER_INTERNAL
MCIERR_DUPLICATE_ALIAS
MCIERR_DUPLICATE_FLAGS
MCIERR_EXTENSION_NOT_FOUND
MCIERR_EXTRA_CHARACTERS
MCIERR_FILENAME_REQUIRED
MCIERR_FILE_NOT_FOUND
MCIERR_FILE_NOT_SAVED
MCIERR_FILE_READ
MCIERR_FILE_WRITE
MCIERR_FLAGS_NOT_COMPATIBLE
MCIERR_GET_CD
MCIERR_HARDWARE
MCIERR_ILLEGAL_FOR_AUTO_OPEN
MCIERR_INTERNAL
MCIERR_INVALID_DEVICE_ID
MCIERR_INVALID_DEVICE_NAME
MCIERR_INVALID_FILE
MCIERR_MISSING_COMMAND_STRING
MCIERR_MISSING_DEVICE_NAME
MCIERR_MISSING_PARAMETER
MCIERR_MISSING_STRING_ARGUMENT
MCIERR_MULTIPLE
MCIERR_MUST_USE_SHAREABLE
MCIERR_NEW_REQUIRES_ALIAS
MCIERR_NONAPPLICABLE_FUNCTION
MCIERR_NOTIFY_ON_AUTO_OPEN
MCIERR_NO_CLOSING_QUOTE
MCIERR_NO_ELEMENT_ALLOWED
MCIERR_NO_IDENTITY
MCIERR_NO_INTEGER
MCIERR_NO_WINDOW
MCIERR_NULL_PARAMETER_BLOCK
MCIERR_OUTOFRANGE
MCIERR_OUT_OF_MEMORY
MCIERR_PARAM_OVERFLOW
MCIERR_PARSER_INTERNAL
MCIERR_SEQ_DIV_INCOMPATIBLE
MCIERR_SEQ_NOMIDIPRESENT
MCIERR_SEQ_PORTUNSPECIFIED
MCIERR_SEQ_PORT_INUSE
MCIERR_SEQ_PORT_MAPNODEVICE
MCIERR_SEQ_PORT_MISCERROR
MCIERR_SEQ_PORT_NONEXISTENT
MCIERR_SEQ_TIMER
MCIERR_SET_CD
MCIERR_SET_DRIVE
MCIERR_UNNAMED_RESOURCE
MCIERR_UNRECOGNIZED_COMMAND
MCIERR_UNRECOGNIZED_KEYWORD
MCIERR_UNSUPPORTED_FUNCTION
MCIERR_WAVE_INPUTSINUSE
MCIERR_WAVE_INPUTSUNSUITABLE
MCIERR_WAVE_INPUTUNSPECIFIED
MCIERR_WAVE_OUTPUTSINUSE
MCIERR_WAVE_OUTPUTSUNSUITABLE
MCIERR_WAVE_OUTPUTUNSPECIFIED
MCIERR_WAVE_SETINPUTINUSE
MCIERR_WAVE_SETINPUTUNSUITABLE
MCIERR_WAVE_SETOUTPUTINUSE
MCIERR_WAVE_SETOUTPUTUNSUITABLE
MCI_ALL_DEVICE_ID
MCI_ANIM_GETDEVCAPS_CAN_REVERSE
MCI_ANIM_GETDEVCAPS_CAN_STRETCH
MCI_ANIM_GETDEVCAPS_FAST_RATE
MCI_ANIM_GETDEVCAPS_MAX_WINDOWS
MCI_ANIM_GETDEVCAPS_NORMAL_RATE
MCI_ANIM_GETDEVCAPS_PALETTES
MCI_ANIM_GETDEVCAPS_SLOW_RATE
MCI_ANIM_INFO_TEXT
MCI_ANIM_OPEN_NOSTATIC
MCI_ANIM_OPEN_PARENT
MCI_ANIM_OPEN_WS
MCI_ANIM_PLAY_FAST
MCI_ANIM_PLAY_REVERSE
MCI_ANIM_PLAY_SCAN
MCI_ANIM_PLAY_SLOW
MCI_ANIM_PLAY_SPEED
MCI_ANIM_PUT_DESTINATION
MCI_ANIM_PUT_SOURCE
MCI_ANIM_REALIZE_BKGD
MCI_ANIM_REALIZE_NORM
MCI_ANIM_RECT
MCI_ANIM_STATUS_FORWARD
MCI_ANIM_STATUS_HPAL
MCI_ANIM_STATUS_HWND
MCI_ANIM_STATUS_SPEED
MCI_ANIM_STATUS_STRETCH
MCI_ANIM_STEP_FRAMES
MCI_ANIM_STEP_REVERSE
MCI_ANIM_UPDATE_HDC
MCI_ANIM_WHERE_DESTINATION
MCI_ANIM_WHERE_SOURCE
MCI_ANIM_WINDOW_DEFAULT
MCI_ANIM_WINDOW_DISABLE_STRETCH
MCI_ANIM_WINDOW_ENABLE_STRETCH
MCI_ANIM_WINDOW_HWND
MCI_ANIM_WINDOW_STATE
MCI_ANIM_WINDOW_TEXT
MCI_BREAK
MCI_BREAK_HWND
MCI_BREAK_KEY
MCI_BREAK_OFF
MCI_CDA_STATUS_TYPE_TRACK
MCI_CDA_TRACK_AUDIO
MCI_CDA_TRACK_OTHER
MCI_CD_OFFSET
MCI_CLOSE
MCI_COPY
MCI_CUE
MCI_CUT
MCI_DELETE
MCI_DEVTYPE_ANIMATION
MCI_DEVTYPE_CD_AUDIO
MCI_DEVTYPE_DAT
MCI_DEVTYPE_DIGITAL_VIDEO
MCI_DEVTYPE_FIRST
MCI_DEVTYPE_FIRST_USER
MCI_DEVTYPE_LAST
MCI_DEVTYPE_OTHER
MCI_DEVTYPE_OVERLAY
MCI_DEVTYPE_SCANNER
MCI_DEVTYPE_SEQUENCER
MCI_DEVTYPE_VCR
MCI_DEVTYPE_VIDEODISC
MCI_DEVTYPE_WAVEFORM_AUDIO
MCI_ESCAPE
MCI_FORMAT_BYTES
MCI_FORMAT_FRAMES
MCI_FORMAT_HMS
MCI_FORMAT_MILLISECONDS
MCI_FORMAT_MSF
MCI_FORMAT_SAMPLES
MCI_FORMAT_SMPTE_24
MCI_FORMAT_SMPTE_25
MCI_FORMAT_SMPTE_30
MCI_FORMAT_SMPTE_30DROP
MCI_FORMAT_TMSF
MCI_FREEZE
MCI_FROM
MCI_GETDEVCAPs
MCI_GETDEVCAPS_CAN_EJECT
MCI_GETDEVCAPS_CAN_PLAY
MCI_GETDEVCAPS_CAN_RECORD
MCI_GETDEVCAPS_CAN_SAVE
MCI_GETDEVCAPS_COMPOUND_DEVICE
MCI_GETDEVCAPS_DEVICE_TYPE
MCI_GETDEVCAPS_HAS_AUDIO
MCI_GETDEVCAPS_HAS_VIDEO
MCI_GETDEVCAPS_ITEM
MCI_GETDEVCAPS_USES_FILES
MCI_INFO
MCI_INFO_COPYRIGHT
MCI_INFO_FILE
MCI_INFO_MEDIA_IDENTITY
MCI_INFO_MEDIA_UPC
MCI_INFO_NAME
MCI_INFO_PRODUCT
MCI_LAST
MCI_LOAD
MCI_LOAD_FILE
MCI_MODE_NOT_READY
MCI_MODE_OPEN
MCI_MODE_PAUSE
MCI_MODE_PLAY
MCI_MODE_RECORD
MCI_MODE_SEEK
MCI_MODE_STOP
MCI_NOTIFY
MCI_NOTIFY_ABORTED
MCI_NOTIFY_FAILURE
MCI_NOTIFY_SUCCESSFUL
MCI_NOTIFY_SUPERSEDED
MCI_OPEN
MCI_OPEN_ALIAS
MCI_OPEN_ELEMENT
MCI_OPEN_ELEMENT_ID
MCI_OPEN_SHAREABLE
MCI_OPEN_TYPE
MCI_OPEN_TYPE_ID
MCI_OVLY_GETDEVCAPS_CAN_FREEZE
MCI_OVLY_GETDEVCAPS_CAN_STRETCH
MCI_OVLY_GETDEVCAPS_MAX_WINDOWS
MCI_OVLY_INFO_TEXT
MCI_OVLY_OPEN_PARENT
MCI_OVLY_OPEN_WS
MCI_OVLY_PUT_DESTINATION
MCI_OVLY_PUT_FRAME
MCI_OVLY_PUT_SOURCE
MCI_OVLY_PUT_VIDEO
MCI_OVLY_RECT
MCI_OVLY_STATUS_HWND
MCI_OVLY_STATUS_STRETCH
MCI_OVLY_WHERE_DESTINATION
MCI_OVLY_WHERE_FRAME
MCI_OVLY_WHERE_SOURCE
MCI_OVLY_WHERE_VIDEO
MCI_OVLY_WINDOW_DEFAULT
MCI_OVLY_WINDOW_DISABLE_STRETCH
MCI_OVLY_WINDOW_ENABLE_STRETCH
MCI_OVLY_WINDOW_HWND
MCI_OVLY_WINDOW_STATE
MCI_OVLY_WINDOW_TEXT
MCI_PASTE
MCI_PAUSE
MCI_PLAY
MCI_PUT
MCI_REALIZE
MCI_RECORD
MCI_RECORD_INSERT
MCI_RECORD_OVERWRITE
MCI_RESUME
MCI_SAVE
MCI_SAVE_FILE
MCI_SEEK
MCI_SEEK_TO_END
MCI_SEEK_TO_START
MCI_SEQ_DIV_PPQN
MCI_SEQ_DIV_SMPTE_24
MCI_SEQ_DIV_SMPTE_25
MCI_SEQ_DIV_SMPTE_30
MCI_SEQ_DIV_SMPTE_30DROP
MCI_SEQ_FILE
MCI_SEQ_FORMAT_SONGPTR
MCI_SEQ_MAPPER
MCI_SEQ_MIDI
MCI_SEQ_NONE
MCI_SEQ_OFFSET
MCI_SEQ_SET_MASTER
MCI_SEQ_SET_OFFSET
MCI_SEQ_SET_PORT
MCI_SEQ_SET_SLAVE
MCI_SEQ_SET_TEMPO
MCI_SEQ_SMPTE
MCI_SEQ_STATUS_COPYRIGHT
MCI_SEQ_STATUS_DIVTYPE
MCI_SEQ_STATUS_MASTER
MCI_SEQ_STATUS_NAME
MCI_SEQ_STATUS_OFFSET
MCI_SEQ_STATUS_PORT
MCI_SEQ_STATUS_SLAVE
MCI_SEQ_STATUS_TEMPO
MCI_SET
MCI_SET_AUDIO
MCI_SET_AUDIO_ALL
MCI_SET_AUDIO_LEFT
MCI_SET_AUDIO_RIGHT
MCI_SET_DOOR_CLOSED
MCI_SET_DOOR_OPEN
MCI_SET_OFF
MCI_SET_ON
MCI_SET_TIME_FORMAT
MCI_SET_VIDEO
MCI_SOUND
MCI_SOUND_NAME
MCI_SPIN
MCI_STATUS
MCI_STATUS_CURRENT_TRACK
MCI_STATUS_ITEM
MCI_STATUS_LENGTH
MCI_STATUS_MEDIA_PRESENT
MCI_STATUS_MODE
MCI_STATUS_NUMBER_OF_TRACKS
MCI_STATUS_POSITION
MCI_STATUS_READY
MCI_STATUS_START
MCI_STATUS_TIME_FORMAT
MCI_STEP
MCI_STOP
MCI_STRING_OFFSET
MCI_SYSINFO
MCI_SYSINFO_INSTALLNAME
MCI_SYSINFO_NAME
MCI_SYSINFO_OPEN
MCI_SYSINFO_QUANTITY
MCI_TO
MCI_TRACK
MCI_UNFREEZE
MCI_UPDATE
MCI_USER_MESSAGES
MCI_VD_ESCAPE_STRING
MCI_VD_FORMAT_TRACK
MCI_VD_GETDEVCAPS_CAN_REVERSE
MCI_VD_GETDEVCAPS_CAV
MCI_VD_GETDEVCAPS_CLV
MCI_VD_GETDEVCAPS_FAST_RATE
MCI_VD_GETDEVCAPS_NORMAL_RATE
MCI_VD_GETDEVCAPS_SLOW_RATE
MCI_VD_MEDIA_CAV
MCI_VD_MEDIA_CLV
MCI_VD_MEDIA_OTHER
MCI_VD_MODE_PARK
MCI_VD_OFFSET
MCI_VD_PLAY_FAST
MCI_VD_PLAY_REVERSE
MCI_VD_PLAY_SCAN
MCI_VD_PLAY_SLOW
MCI_VD_PLAY_SPEED
MCI_VD_SEEK_REVERSE
MCI_VD_SPIN_DOWN
MCI_VD_SPIN_UP
MCI_VD_STATUS_DISC_SIZE
MCI_VD_STATUS_FORWARD
MCI_VD_STATUS_MEDIA_TYPE
MCI_VD_STATUS_SIDE
MCI_VD_STATUS_SPEED
MCI_VD_STEP_FRAMES
MCI_VD_STEP_REVERSE
MCI_WAIT
MCI_WAVE_GETDEVCAPS_INPUTS
MCI_WAVE_GETDEVCAPS_OUTPUTS
MCI_WAVE_INPUT
MCI_WAVE_MAPPER
MCI_WAVE_OFFSET
MCI_WAVE_OPEN_BUFFER
MCI_WAVE_OUTPUT
MCI_WAVE_PCM
MCI_WAVE_SET_ANYINPUT
MCI_WAVE_SET_ANYOUTPUT
MCI_WAVE_SET_AVGBYTESPERSEC
MCI_WAVE_SET_BITSPERSAMPLE
MCI_WAVE_SET_BLOCKALIGN
MCI_WAVE_SET_CHANNELS
MCI_WAVE_SET_FORMATTAG
MCI_WAVE_SET_SAMPLESPERSEC
MCI_WAVE_STATUS_AVGBYTESPERSEC
MCI_WAVE_STATUS_BITSPERSAMPLE
MCI_WAVE_STATUS_BLOCKALIGN
MCI_WAVE_STATUS_CHANNELS
MCI_WAVE_STATUS_FORMATTAG
MCI_WAVE_STATUS_LEVEL
MCI_WAVE_STATUS_SAMPLESPERSEC
MCI_WHERE
MCI_WINDOW
MEVT_COMMENT
MEVT_F_CALLBACK
MEVT_F_LONG
MEVT_F_SHORT
MEVT_LONGMSG
MEVT_NOP
MEVT_SHORTMSG
MEVT_TEMPO
MEVT_VERSION
MHDR_DONE
MHDR_INQUEUE
MHDR_ISSTRM
MHDR_PREPARED
MIDICAPS_CACHE
MIDICAPS_LRVOLUME
MIDICAPS_STREAM
MIDICAPS_VOLUME
MIDIERR_BADOPENMODE
MIDIERR_BASE
MIDIERR_DONT_CONTINUE
MIDIERR_INVALIDSETUP
MIDIERR_LASTERROR
MIDIERR_NODEVICE
MIDIERR_NOMAP
MIDIERR_NOTREADY
MIDIERR_STILLPLAYING
MIDIERR_UNPREPARED
MIDIMAPPER
MIDIPATCHSIZE
MIDIPROP_GET
MIDIPROP_SET
MIDIPROP_TEMPO
MIDIPROP_TIMEDIV
MIDISTRM_ERROR
MIDI_CACHE_ALL
MIDI_CACHE_BESTFIT
MIDI_CACHE_QUERY
MIDI_IO_STATUS
MIDI_MAPPER
MIDI_UNCACHE
MIM_CLOSE
MIM_DATA
MIM_ERROR
MIM_LONGDATA
MIM_LONGERROR
MIM_MOREDATA
MIM_OPEN
MIXERCONTROL_CONTROLF_DISABLED
MIXERCONTROL_CONTROLF_MULTIPLE
MIXERCONTROL_CONTROLF_UNIFORM
MIXERCONTROL_CONTROLTYPE_BASS
MIXERCONTROL_CONTROLTYPE_BOOLEAN
MIXERCONTROL_CONTROLTYPE_BOOLEANMETER
MIXERCONTROL_CONTROLTYPE_BUTTON
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CONTROLTYPE_DECIBELS
MIXERCONTROL_CONTROLTYPE_EQUALIZER
MIXERCONTROL_CONTROLTYPE_FADER
MIXERCONTROL_CONTROLTYPE_LOUDNESS
MIXERCONTROL_CONTROLTYPE_MICROTIME
MIXERCONTROL_CONTROLTYPE_MILLITIME
MIXERCONTROL_CONTROLTYPE_MIXER
MIXERCONTROL_CONTROLTYPE_MONO
MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT
MIXERCONTROL_CONTROLTYPE_MUTE
MIXERCONTROL_CONTROLTYPE_MUX
MIXERCONTROL_CONTROLTYPE_ONOFF
MIXERCONTROL_CONTROLTYPE_PAN
MIXERCONTROL_CONTROLTYPE_PEAKMETER
MIXERCONTROL_CONTROLTYPE_PERCENT
MIXERCONTROL_CONTROLTYPE_QSOUNDPAN
MIXERCONTROL_CONTROLTYPE_SIGNED
MIXERCONTROL_CONTROLTYPE_SIGNEDMETER
MIXERCONTROL_CONTROLTYPE_SINGLESELECT
MIXERCONTROL_CONTROLTYPE_SLIDER
MIXERCONTROL_CONTROLTYPE_STEREOENH
MIXERCONTROL_CONTROLTYPE_TREBLE
MIXERCONTROL_CONTROLTYPE_UNSIGNED
MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER
MIXERCONTROL_CONTROLTYPE_VOLUME
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CT_CLASS_FADER
MIXERCONTROL_CT_CLASS_LIST
MIXERCONTROL_CT_CLASS_MASK
MIXERCONTROL_CT_CLASS_METER
MIXERCONTROL_CT_CLASS_NUMBER
MIXERCONTROL_CT_CLASS_SLIDER
MIXERCONTROL_CT_CLASS_SWITCH
MIXERCONTROL_CT_CLASS_TIME
MIXERCONTROL_CT_SC_LIST_MULTIPLE
MIXERCONTROL_CT_SC_LIST_SINGLE
MIXERCONTROL_CT_SC_METER_POLLED
MIXERCONTROL_CT_SC_SWITCH_BOOLEAN
MIXERCONTROL_CT_SC_SWITCH_BUTTON
MIXERCONTROL_CT_SC_TIME_MICROSECS
MIXERCONTROL_CT_SC_TIME_MILLISECS
MIXERCONTROL_CT_SUBCLASS_MASK
MIXERCONTROL_CT_UNITS_BOOLEAN
MIXERCONTROL_CT_UNITS_CUSTOM
MIXERCONTROL_CT_UNITS_DECIBELS
MIXERCONTROL_CT_UNITS_MASK
MIXERCONTROL_CT_UNITS_PERCENT
MIXERCONTROL_CT_UNITS_SIGNED
MIXERCONTROL_CT_UNITS_UNSIGNED
MIXERLINE_COMPONENTTYPE_DST_DIGITAL
MIXERLINE_COMPONENTTYPE_DST_FIRST
MIXERLINE_COMPONENTTYPE_DST_HEADPHONES
MIXERLINE_COMPONENTTYPE_DST_LAST
MIXERLINE_COMPONENTTYPE_DST_LINE
MIXERLINE_COMPONENTTYPE_DST_MONITOR
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS
MIXERLINE_COMPONENTTYPE_DST_TELEPHONE
MIXERLINE_COMPONENTTYPE_DST_UNDEFINED
MIXERLINE_COMPONENTTYPE_DST_VOICEIN
MIXERLINE_COMPONENTTYPE_DST_WAVEIN
MIXERLINE_COMPONENTTYPE_SRC_ANALOG
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC
MIXERLINE_COMPONENTTYPE_SRC_DIGITAL
MIXERLINE_COMPONENTTYPE_SRC_FIRST
MIXERLINE_COMPONENTTYPE_SRC_LAST
MIXERLINE_COMPONENTTYPE_SRC_LINE
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE
MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER
MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER
MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE
MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED
MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT
MIXERLINE_LINEF_ACTIVE
MIXERLINE_LINEF_DISCONNECTED
MIXERLINE_LINEF_SOURCE
MIXERLINE_TARGETTYPE_AUX
MIXERLINE_TARGETTYPE_MIDIIN
MIXERLINE_TARGETTYPE_MIDIOUT
MIXERLINE_TARGETTYPE_UNDEFINED
MIXERLINE_TARGETTYPE_WAVEIN
MIXERLINE_TARGETTYPE_WAVEOUT
MIXERR_BASE
MIXERR_INVALCONTROL
MIXERR_INVALLINE
MIXERR_INVALVALUE
MIXERR_LASTERROR
MIXER_GETCONTROLDETAILSF_LISTTEXT
MIXER_GETCONTROLDETAILSF_QUERYMASK
MIXER_GETCONTROLDETAILSF_VALUE
MIXER_GETLINECONTROLSF_ALL
MIXER_GETLINECONTROLSF_ONEBYID
MIXER_GETLINECONTROLSF_ONEBYTYPE
MIXER_GETLINECONTROLSF_QUERYMASK
MIXER_GETLINEINFOF_COMPONENTTYPE
MIXER_GETLINEINFOF_DESTINATION
MIXER_GETLINEINFOF_LINEID
MIXER_GETLINEINFOF_QUERYMASK
MIXER_GETLINEINFOF_SOURCE
MIXER_GETLINEINFOF_TARGETTYPE
MIXER_LONG_NAME_CHARS
MIXER_OBJECTF_AUX
MIXER_OBJECTF_HANDLE
MIXER_OBJECTF_HMIDIIN
MIXER_OBJECTF_HMIDIOUT
MIXER_OBJECTF_HMIXER
MIXER_OBJECTF_HWAVEIN
MIXER_OBJECTF_HWAVEOUT
MIXER_OBJECTF_MIDIIN
MIXER_OBJECTF_MIDIOUT
MIXER_OBJECTF_MIXER
MIXER_OBJECTF_WAVEIN
MIXER_OBJECTF_WAVEOUT
MIXER_SETCONTROLDETAILSF_CUSTOM
MIXER_SETCONTROLDETAILSF_QUERYMASK
MIXER_SETCONTROLDETAILSF_VALUE
MIXER_SHORT_NAME_CHARS
MMIOERR_ACCESSDENIED
MMIOERR_BASE
MMIOERR_CANNOTCLOSE
MMIOERR_CANNOTEXPAND
MMIOERR_CANNOTOPEN
MMIOERR_CANNOTREAD
MMIOERR_CANNOTSEEK
MMIOERR_CANNOTWRITE
MMIOERR_CHUNKNOTFOUND
MMIOERR_FILENOTFOUND
MMIOERR_INVALIDFILE
MMIOERR_NETWORKERROR
MMIOERR_OUTOFMEMORY
MMIOERR_PATHNOTFOUND
MMIOERR_SHARINGVIOLATION
MMIOERR_TOOMANYOPENFILES
MMIOERR_UNBUFFERED
MMIOM_CLOSE
MMIOM_OPEN
MMIOM_READ
MMIOM_RENAME
MMIOM_SEEK
MMIOM_USER
MMIOM_WRITE
MMIOM_WRITEFLUSH
MMIO_ALLOCBUF
MMIO_COMPAT
MMIO_CREATE
MMIO_CREATELIST
MMIO_CREATERIFF
MMIO_DEFAULTBUFFER
MMIO_DELETE
MMIO_DENYNONE
MMIO_DENYREAD
MMIO_DENYWRITE
MMIO_DIRTY
MMIO_EMPTYBUF
MMIO_EXCLUSIVE
MMIO_EXIST
MMIO_FHOPEN
MMIO_FINDCHUNK
MMIO_FINDLIST
MMIO_FINDPROC
MMIO_FINDRIFF
MMIO_GETTEMP
MMIO_GLOBALPROC
MMIO_INSTALLPROC
MMIO_PARSE
MMIO_READ
MMIO_READWRITE
MMIO_REMOVEPROC
MMIO_RWMODE
MMIO_SHAREMODE
MMIO_TOUPPER
MMIO_UNICODEPROC
MMIO_WRITE
MMSYSERR_ALLOCATED
MMSYSERR_BADDB
MMSYSERR_BADDEVICEID
MMSYSERR_BADERRNUM
MMSYSERR_BASE
MMSYSERR_DELETEERROR
MMSYSERR_ERROR
MMSYSERR_HANDLEBUSY
MMSYSERR_INVALFLAG
MMSYSERR_INVALHANDLE
MMSYSERR_INVALIDALIAS
MMSYSERR_INVALPARAM
MMSYSERR_KEYNOTFOUND
MMSYSERR_LASTERROR
MMSYSERR_NODRIVER
MMSYSERR_NODRIVERCB
MMSYSERR_NOERROR
MMSYSERR_NOMEM
MMSYSERR_NOTENABLED
MMSYSERR_NOTSUPPORTED
MMSYSERR_READERROR
MMSYSERR_VALNOTFOUND
MMSYSERR_WRITEERROR
mmsyst
MM_ADLIB
MM_DRVM_CLOSE
MM_DRVM_DATA
MM_DRVM_ERROR
MM_DRVM_OPEN
MM_JOY1BUTTONDOWN
MM_JOY1BUTTONUP
MM_JOY1MOVE
MM_JOY1ZMOVE
MM_JOY2BUTTONDOWN
MM_JOY2BUTTONUP
MM_JOY2MOVE
MM_JOY2ZMOVE
MM_MCINOTIFY
MM_MCISIGNAL
MM_MICROSOFT
MM_MIDI_MAPPER
MM_MIM_CLOSE
MM_MIM_DATA
MM_MIM_ERROR
MM_MIM_LONGDATA
MM_MIM_LONGERROR
MM_MIM_MOREDATA
MM_MIM_OPEN
MM_MIXM_CONTROL_CHANGE
MM_MIXM_LINE_CHANGE
MM_MOM_CLOSE
MM_MOM_DONE
MM_MOM_OPEN
MM_MOM_POSITIONCB
MM_MPU401_MIDIIN
MM_MPU401_MIDIOUT
MM_PC_JOYSTICK
MM_SNDBLST_MIDIIN
MM_SNDBLST_MIDIOUT
MM_SNDBLST_SYNTH
MM_SNDBLST_WAVEIN
MM_SNDBLST_WAVEOUT
MM_STREAM_CLOSE
MM_STREAM_DONE
MM_STREAM_ERROR
MM_STREAM_OPEN
MM_WAVE_MAPPER
MM_WIM_CLOSE
MM_WIM_DATA
MM_WIM_OPEN
MM_WOM_CLOSE
MM_WOM_DONE
MM_WOM_OPEN
MOD_FMSYNTH
MOD_MAPPER
MOD_MIDIPORT
MOD_SQSYNTH
MOD_SYNTH
MOM_CLOSE
MOM_DONE
MOM_OPEN
MOM_POSITIONCB
NEWTRANSPARENT
QUERYROPSUPPORT
SC_SCREENSAVE
SEEK_CUR
SEEK_END
SEEK_SET
SELECTDIB
SND_ALIAS
SND_ALIAS_ID
SND_ALIAS_START
SND_ALIAS_SYSTEMASTERISK
SND_ALIAS_SYSTEMDEFAULT
SND_ALIAS_SYSTEMEXCLAMATION
SND_ALIAS_SYSTEMEXIT
SND_ALIAS_SYSTEMHAND
SND_ALIAS_SYSTEMQUESTION
SND_ALIAS_SYSTEMSTART
SND_ALIAS_SYSTEMWELCOME
SND_APPLICATION
SND_ASYNC
SND_FILENAME
SND_LOOP
SND_MEMORY
SND_NODEFAULT
SND_NOSTOP
SND_NOWAIT
SND_PURGE
SND_RESOURCE
SND_SYNC
TIMERR_BASE
TIMERR_NOCANDO
TIMERR_NOERROR
TIMERR_STRUCT
TIME_BYTES
TIME_CALLBACK_EVENT_PULSE
TIME_CALLBACK_EVENT_SET
TIME_CALLBACK_FUNCTION
TIME_MIDI
TIME_MS
TIME_ONESHOT
TIME_PERIODIC
TIME_SAMPLES
TIME_SMPTE
TIME_TICKS
WAVECAPS_DIRECTSOUND
WAVECAPS_LRVOLUME
WAVECAPS_PITCH
WAVECAPS_PLAYBACKRATE
WAVECAPS_SAMPLEACCURATE
WAVECAPS_SYNC
WAVECAPS_VOLUME
WAVERR_BADFORMAT
WAVERR_BASE
WAVERR_LASTERROR
WAVERR_STILLPLAYING
WAVERR_SYNC
WAVERR_UNPREPARED
WAVE_ALLOWSYNC
WAVE_FORMAT_1M08
WAVE_FORMAT_1M16
WAVE_FORMAT_1S08
WAVE_FORMAT_1S16
WAVE_FORMAT_2M08
WAVE_FORMAT_2M16
WAVE_FORMAT_2S08
WAVE_FORMAT_2S16
WAVE_FORMAT_4M08
WAVE_FORMAT_4M16
WAVE_FORMAT_4S08
WAVE_FORMAT_4S16
WAVE_FORMAT_PCM
WAVE_FORMAT_QUERY
WAVE_INVALIDFORMAT
WAVE_MAPPED
WAVE_MAPPER
WHDR_BEGINLOOP
WHDR_DONE
WHDR_ENDLOOP
WHDR_INQUEUE
WHDR_PREPARED
WIM_CLOSE
WIM_DATA
WIM_OPEN
WOM_CLOSE
WOM_DONE
WOM_OPEN
function auxGetDevCaps(uDeviceID: UINT; lpCaps: PAuxCaps; uSize: UINT): MMRESULT;
function auxGetDevCapsA(uDeviceID: UINT; lpCaps: PAuxCapsA; uSize: UINT): MMRESULT;
function auxGetDevCapsW(uDeviceID: UINT; lpCaps: PAuxCapsW; uSize: UINT): MMRESULT;
function auxGetNumDevs: UINT;
separate left-right volume control } { auxiliary audio function prototypes
function auxGetVolume(uDeviceID: UINT; lpdwVolume: PDWORD): MMRESULT;
function auxOutMessage(uDeviceID, uMessage: UINT; dw1, dw2: DWORD): MMRESULT;
function auxSetVolume(uDeviceID: UINT; dwVolume: DWORD): MMRESULT;
function CloseDriver(hDriver: HDRVR; lParam1, lParam2: Longint): Longint;
function DefDriverProc(dwDriverIdentifier: DWORD; hdrvr: HDRVR; uMsg: UINT;
lParam1, lParam2: LPARAM): Longint;
function DIBIndex(N: Integer): Longint;
DIB.DRV select dib escape
function DrvGetModuleHandle(hDriver: HDRVR): HMODULE;
function GetDriverModuleHandle(hDriver: HDRVR): HMODULE;
function joyGetDevCaps(uJoyID: UINT; lpCaps: PJoyCaps; uSize: UINT): MMRESULT;
function joyGetDevCapsA(uJoyID: UINT; lpCaps: PJoyCapsA; uSize: UINT): MMRESULT;
function joyGetDevCapsW(uJoyID: UINT; lpCaps: PJoyCapsW; uSize: UINT): MMRESULT;
function joyGetNumDevs: UINT;
joystick function prototypes
function joyGetPos(uJoyID: UINT; lpInfo: PJoyInfo): MMRESULT;
function joyGetPosEx(uJoyID: UINT; lpInfo: PJoyInfoEx): MMRESULT;
function joyGetThreshold(uJoyID: UINT; lpuThreshold: PUINT): MMRESULT;
function joyReleaseCapture(uJoyID: UINT): MMRESULT;
function joySetCapture(Handle: HWND; uJoyID, uPeriod: UINT; bChanged: BOOL): MMRESULT;
function joySetThreshold(uJoyID, uThreshold: UINT): MMRESULT;
function mciExecute(pszCommand: LPCSTR): BOOL;
function mciGetCreatorTask(mcierr: MCIERROR): HTASK;
function mciGetDeviceID(pszDevice: PChar): MCIDEVICEID;
function mciGetDeviceIDA(pszDevice: PAnsiChar): MCIDEVICEID;
function mciGetDeviceIDFromElementID(dwElementID: DWORD; lpstrType: PChar): MCIDEVICEID;
function mciGetDeviceIDFromElementIDA(dwElementID: DWORD; lpstrType: PAnsiChar): MCIDEVICEID;
function mciGetDeviceIDFromElementIDW(dwElementID: DWORD; lpstrType: PWideChar): MCIDEVICEID;
function mciGetDeviceIDW(pszDevice: PWideChar): MCIDEVICEID;
function mciGetErrorString(mcierr: MCIERROR; pszText: PChar; uLength: UINT): BOOL;
function mciGetErrorStringA(mcierr: MCIERROR; pszText: PAnsiChar; uLength: UINT): BOOL;
function mciGetErrorStringW(mcierr: MCIERROR; pszText: PWideChar; uLength: UINT): BOOL;
function mciGetYieldProc(mcierr: MCIERROR; lpdwYieldData: PDWORD): TFNYieldProc;
function mciSendCommand(mciId: MCIDEVICEID; uMessage: UINT;
dwParam1, dwParam2: DWORD): MCIERROR;
function mciSendCommandA(mciId: MCIDEVICEID; uMessage: UINT;
dwParam1, dwParam2: DWORD): MCIERROR;
MCI function prototypes
function mciSendCommandW(mciId: MCIDEVICEID; uMessage: UINT;
dwParam1, dwParam2: DWORD): MCIERROR;
function mciSendString(lpstrCommand, lpstrReturnString: PChar;
uReturnLength: UINT; hWndCallback: HWND): MCIERROR;
function mciSendStringA(lpstrCommand, lpstrReturnString: PAnsiChar;
uReturnLength: UINT; hWndCallback: HWND): MCIERROR;
function mciSendStringW(lpstrCommand, lpstrReturnString: PWideChar;
uReturnLength: UINT; hWndCallback: HWND): MCIERROR;
function mciSetYieldProc(mcierr: MCIERROR; fpYieldProc: TFNYieldProc;
dwYieldData: DWORD): BOOL;
function mci_HMS_Hour(hms: Longint): Byte;
function mci_HMS_Minute(hms: Longint): Byte;
function mci_HMS_Second(hms: Longint): Byte;
function mci_Make_HMS(h, m, s: Byte): Longint;
function mci_Make_MSF(m, s, f: Byte): Longint;
function mci_Make_TMSF(t, m, s, f: Byte): Longint;
function mci_MSF_Frame(msf: Longint): Byte;
function mci_MSF_Minute(msf: Longint): Byte;
MCI time format conversion macros
function mci_MSF_Second(msf: Longint): Byte;
function mci_TMSF_Frame(tmsf: Longint): Byte;
function mci_TMSF_Minute(tmsf: Longint): Byte;
function mci_TMSF_Second(tmsf: Longint): Byte;
function mci_TMSF_Track(tmsf: Longint): Byte;
function midiConnect(hmi: HMIDI; hmo: HMIDIOUT; pReserved: Pointer): MMRESULT;
function midiDisconnect(hmi: HMIDI; hmo: HMIDIOUT; pReserved: Pointer): MMRESULT;
function midiInAddBuffer(hMidiIn: HMIDIIN; lpMidiInHdr: PMidiHdr; uSize: UINT): MMRESULT;
function midiInClose(hMidiIn: HMIDIIN): MMRESULT;
function midiInGetDevCaps(DeviceID: UINT; lpCaps: PMidiInCaps; uSize: UINT): MMRESULT;
function midiInGetDevCapsA(DeviceID: UINT; lpCaps: PMidiInCapsA; uSize: UINT): MMRESULT;
function midiInGetDevCapsW(DeviceID: UINT; lpCaps: PMidiInCapsW; uSize: UINT): MMRESULT;
function midiInGetErrorText(mmrError: MMRESULT; pszText: PChar; uSize: UINT): MMRESULT;
function midiInGetErrorTextA(mmrError: MMRESULT; pszText: PAnsiChar; uSize: UINT): MMRESULT;
function midiInGetErrorTextW(mmrError: MMRESULT; pszText: PWideChar; uSize: UINT): MMRESULT;
function midiInGetID(hMidiIn: HMIDIIN; lpuDeviceID: PUINT): MMRESULT;
function midiInGetNumDevs: UINT;
function midiInMessage(hMidiIn: HMIDIIN; uMessage: UINT; dw1, dw2: DWORD): MMRESULT;
function midiInOpen(lphMidiIn: PHMIDIIN; uDeviceID: UINT;
dwCallback, dwInstance, dwFlags: DWORD): MMRESULT;
function midiInPrepareHeader(hMidiIn: HMIDIIN; lpMidiInHdr: PMidiHdr; uSize: UINT): MMRESULT;
function midiInReset(hMidiIn: HMIDIIN): MMRESULT;
function midiInStart(hMidiIn: HMIDIIN): MMRESULT;
function midiInStop(hMidiIn: HMIDIIN): MMRESULT;
function midiInUnprepareHeader(hMidiIn: HMIDIIN; lpMidiInHdr: PMidiHdr; uSize: UINT): MMRESULT;
function midiOutCacheDrumPatches(hMidiOut: HMIDIOUT;
uPatch: UINT; lpwKeyArray: PWord; uFlags: UINT): MMRESULT;
function midiOutCachePatches(hMidiOut: HMIDIOUT;
uBank: UINT; lpwPatchArray: PWord; uFlags: UINT): MMRESULT;
function midiOutClose(hMidiOut: HMIDIOUT): MMRESULT;
function midiOutGetDevCaps(uDeviceID: UINT; lpCaps: PMidiOutCaps; uSize: UINT): MMRESULT;
function midiOutGetDevCapsA(uDeviceID: UINT; lpCaps: PMidiOutCapsA; uSize: UINT): MMRESULT;
function midiOutGetDevCapsW(uDeviceID: UINT; lpCaps: PMidiOutCapsW; uSize: UINT): MMRESULT;
function midiOutGetErrorText(mmrError: MMRESULT; pszText: PChar; uSize: UINT): MMRESULT;
function midiOutGetErrorTextA(mmrError: MMRESULT; pszText: PAnsiChar; uSize: UINT): MMRESULT;
function midiOutGetErrorTextW(mmrError: MMRESULT; pszText: PWideChar; uSize: UINT): MMRESULT;
function midiOutGetID(hMidiOut: HMIDIOUT; lpuDeviceID: PUINT): MMRESULT;
function midiOutGetNumDevs: UINT;
MIDI function prototypes
function midiOutGetVolume(hmo: HMIDIOUT; lpdwVolume: PDWORD): MMRESULT;
function midiOutLongMsg(hMidiOut: HMIDIOUT; lpMidiOutHdr: PMidiHdr; uSize: UINT): MMRESULT;
function midiOutMessage(hMidiOut: HMIDIOUT; uMessage: UINT; dw1, dw2: DWORD): MMRESULT;
function midiOutOpen(lphMidiOut: PHMIDIOUT; uDeviceID: UINT;
dwCallback, dwInstance, dwFlags: DWORD): MMRESULT;
function midiOutPrepareHeader(hMidiOut: HMIDIOUT; lpMidiOutHdr: PMidiHdr; uSize: UINT): MMRESULT;
function midiOutReset(hMidiOut: HMIDIOUT): MMRESULT;
function midiOutSetVolume(hmo: HMIDIOUT; dwVolume: DWORD): MMRESULT;
function midiOutShortMsg(hMidiOut: HMIDIOUT; dwMsg: DWORD): MMRESULT;
function midiOutUnprepareHeader(hMidiOut: HMIDIOUT; lpMidiOutHdr: PMidiHdr; uSize: UINT): MMRESULT;
function midiStreamClose(hms: HMIDISTRM): MMRESULT;
function midiStreamOpen(phms: PHMIDISTRM; puDeviceID: PUINT;
cMidi, dwCallback, dwInstance, fdwOpen: DWORD): MMRESULT;
function midiStreamOut(hms: HMIDISTRM; pmh: PMidiHdr; cbmh: UINT): MMRESULT;
function midiStreamPause(hms: HMIDISTRM): MMRESULT;
function midiStreamPosition(hms: HMIDISTRM; lpmmt: PMMTime; cbmmt: UINT): MMRESULT;
function midiStreamProperty(hms: HMIDISTRM; lppropdata: PBYTE; dwProperty: DWORD): MMRESULT;
function midiStreamRestart(hms: HMIDISTRM): MMRESULT;
function midiStreamStop(hms: HMIDISTRM): MMRESULT;
function mixerClose(hmx: HMIXER): MMRESULT;
function mixerGetControlDetails(hmxobj: HMIXEROBJ; pmxcd: PMixerControlDetails; fdwDetails: DWORD): MMRESULT;
function mixerGetControlDetailsA(hmxobj: HMIXEROBJ; pmxcd: PMixerControlDetails; fdwDetails: DWORD): MMRESULT;
function mixerGetControlDetailsW(hmxobj: HMIXEROBJ; pmxcd: PMixerControlDetails; fdwDetails: DWORD): MMRESULT;
function mixerGetDevCaps(uMxId: UINT; pmxcaps: PMixerCaps; cbmxcaps: UINT): MMRESULT;
function mixerGetDevCapsA(uMxId: UINT; pmxcaps: PMixerCapsA; cbmxcaps: UINT): MMRESULT;
function mixerGetDevCapsW(uMxId: UINT; pmxcaps: PMixerCapsW; cbmxcaps: UINT): MMRESULT;
function mixerGetID(hmxobj: HMIXEROBJ; var puMxId: UINT; fdwId: DWORD): MMRESULT;
function mixerGetLineControls(hmxobj: HMIXEROBJ; pmxlc: PMixerLineControls; fdwControls: DWORD): MMRESULT;
function mixerGetLineControlsA(hmxobj: HMIXEROBJ; pmxlc: PMixerLineControlsA; fdwControls: DWORD): MMRESULT;
function mixerGetLineControlsW(hmxobj: HMIXEROBJ; pmxlc: PMixerLineControlsW; fdwControls: DWORD): MMRESULT;
function mixerGetLineInfo(hmxobj: HMIXEROBJ; pmxl: PMixerLine;
fdwInfo: DWORD): MMRESULT;
function mixerGetLineInfoA(hmxobj: HMIXEROBJ; pmxl: PMixerLineA;
fdwInfo: DWORD): MMRESULT;
function mixerGetLineInfoW(hmxobj: HMIXEROBJ; pmxl: PMixerLineW;
fdwInfo: DWORD): MMRESULT;
function mixerGetNumDevs: UINT;
function mixerMessage(hmx: HMIXER; uMsg: UINT; dwParam1, dwParam2: DWORD): DWORD;
function mixerOpen(phmx: PHMIXER; uMxId: UINT; dwCallback, dwInstance, fdwOpen: DWORD): MMRESULT;
function mixerSetControlDetails(hmxobj: HMIXEROBJ; pmxcd: PMixerControlDetails; fdwDetails: DWORD): MMRESULT;
function mmioAdvance(hmmio: HMMIO; lpmmioinfo: PMMIOInfo; uFlags: UINT): MMRESULT;
function mmioAscend(hmmio: HMMIO; lpck: PMMCKInfo; uFlags: UINT): MMRESULT;
function mmioClose(hmmio: HMMIO; uFlags: UINT): MMRESULT;
function mmioCreateChunk(hmmio: HMMIO; lpck: PMMCKInfo; uFlags: UINT): MMRESULT;
function mmioDescend(hmmio: HMMIO; lpck: PMMCKInfo;
lpckParent: PMMCKInfo; uFlags: UINT): MMRESULT;
function mmioFlush(hmmio: HMMIO; uFlags: UINT): MMRESULT;
function mmioGetInfo(hmmio: HMMIO; lpmmioinfo: PMMIOInfo; uFlags: UINT): MMRESULT;
function mmioInstallIOProc(fccIOProc: FOURCC; pIOProc: TFNMMIOProc;
dwFlags: DWORD): TFNMMIOProc;
function mmioInstallIOProcA(fccIOProc: FOURCC; pIOProc: TFNMMIOProc;
dwFlags: DWORD): TFNMMIOProc;
function mmioInstallIOProcW(fccIOProc: FOURCC; pIOProc: TFNMMIOProc;
dwFlags: DWORD): TFNMMIOProc;
function mmioOpen(szFileName: PChar; lpmmioinfo: PMMIOInfo;
dwOpenFlags: DWORD): HMMIO;
function mmioOpenA(szFileName: PChar; lpmmioinfo: PMMIOInfo;
dwOpenFlags: DWORD): HMMIO;
function mmioOpenW(szFileName: PChar; lpmmioinfo: PMMIOInfo;
dwOpenFlags: DWORD): HMMIO;
function mmioRead(hmmio: HMMIO; pch: PChar; cch: Longint): Longint;
function mmioRename(szFileName, szNewFileName: PChar;
lpmmioinfo: PMMIOInfo; dwRenameFlags: DWORD): MMRESULT;
function mmioRenameA(szFileName, szNewFileName: PAnsiChar;
lpmmioinfo: PMMIOInfo; dwRenameFlags: DWORD): MMRESULT;
function mmioRenameW(szFileName, szNewFileName: PWideChar;
lpmmioinfo: PMMIOInfo; dwRenameFlags: DWORD): MMRESULT;
function mmioSeek(hmmio: HMMIO; lOffset: Longint;
iOrigin: Integer): Longint;
function mmioSendMessage(hmmio: HMMIO; uMessage: UINT;
lParam1, lParam2: DWORD): Longint;
function mmioSetBuffer(hmmio: HMMIO; pchBuffer: PChar; cchBuffer: Longint;
uFlags: Word): MMRESULT;
function mmioSetInfo(hmmio: HMMIO; lpmmioinfo: PMMIOInfo; uFlags: UINT): MMRESULT;
function mmioStringToFOURCC(sz: PChar; uFlags: UINT): FOURCC;
function mmioStringToFOURCCA(sz: PAnsiChar; uFlags: UINT): FOURCC;
default buffer size } { MMIO function prototypes
function mmioStringToFOURCCW(sz: PWideChar; uFlags: UINT): FOURCC;
function mmioWrite(hmmio: HMMIO; pch: PChar; cch: Longint): Longint;
function mmsystemGetVersion: UINT;
*************************************************************************
General MMSYSTEM support
function OpenDriver(szDriverName: PWideChar; szSectionName: PWideChar; lParam2: Longint): HDRVR;
function PlaySound(pszSound: PChar; hmod: HMODULE; fdwSound: DWORD): BOOL;
function PlaySoundA(pszSound: PAnsiChar; hmod: HMODULE; fdwSound: DWORD): BOOL;
function PlaySoundW(pszSound: PWideChar; hmod: HMODULE; fdwSound: DWORD): BOOL;
function SendDriverMessage(hDriver: HDRVR; message: UINT; lParam1, lParam2: Longint): Longint;
function sndPlaySound(lpszSoundName: PChar; uFlags: UINT): BOOL;
function sndPlaySoundA(lpszSoundName: PAnsiChar; uFlags: UINT): BOOL;
*************************************************************************
Sound support
function sndPlaySoundW(lpszSoundName: PWideChar; uFlags: UINT): BOOL;
function timeBeginPeriod(uPeriod: UINT): MMRESULT;
function timeEndPeriod(uPeriod: UINT): MMRESULT;
function timeGetDevCaps(lpTimeCaps: PTimeCaps; uSize: UINT): MMRESULT;
function timeGetSystemTime(lpTime: PMMTime; uSize: Word): MMRESULT;
timer function prototypes
function timeGetTime: DWORD;
function timeKillEvent(uTimerID: UINT): MMRESULT;
function timeSetEvent(uDelay, uResolution: UINT;
lpFunction: TFNTimeCallBack; dwUser: DWORD; uFlags: UINT): MMRESULT;
function waveInAddBuffer(hWaveIn: HWAVEIN; lpWaveInHdr: PWaveHdr;
uSize: UINT): MMRESULT;
function waveInClose(hWaveIn: HWAVEIN): MMRESULT;
function waveInGetDevCaps(hwo: HWAVEOUT; lpCaps: PWaveInCaps; uSize: UINT): MMRESULT;
function waveInGetDevCapsA(hwo: HWAVEOUT; lpCaps: PWaveInCapsA; uSize: UINT): MMRESULT;
function waveInGetDevCapsW(hwo: HWAVEOUT; lpCaps: PWaveInCapsW; uSize: UINT): MMRESULT;
function waveInGetErrorText(mmrError: MMRESULT; lpText: PChar; uSize: UINT): MMRESULT;
function waveInGetErrorTextA(mmrError: MMRESULT; lpText: PAnsiChar; uSize: UINT): MMRESULT;
function waveInGetErrorTextW(mmrError: MMRESULT; lpText: PWideChar; uSize: UINT): MMRESULT;
function waveInGetID(hWaveIn: HWAVEIN; lpuDeviceID: PUINT): MMRESULT;
function waveInGetNumDevs: UINT;
function waveInGetPosition(hWaveIn: HWAVEIN; lpInfo: PMMTime;
uSize: UINT): MMRESULT;
function waveInMessage(hWaveIn: HWAVEIN; uMessage: UINT;
dw1, dw2: DWORD): MMRESULT;
function waveInOpen(lphWaveIn: PHWAVEIN; uDeviceID: UINT;
lpFormatEx: PWaveFormatEx; dwCallback, dwInstance, dwFlags: DWORD): MMRESULT;
function waveInPrepareHeader(hWaveIn: HWAVEIN; lpWaveInHdr: PWaveHdr;
uSize: UINT): MMRESULT;
function waveInReset(hWaveIn: HWAVEIN): MMRESULT;
function waveInStart(hWaveIn: HWAVEIN): MMRESULT;
function waveInStop(hWaveIn: HWAVEIN): MMRESULT;
function waveInUnprepareHeader(hWaveIn: HWAVEIN; lpWaveInHdr: PWaveHdr;
uSize: UINT): MMRESULT;
function waveOutBreakLoop(hWaveOut: HWAVEOUT): MMRESULT;
function waveOutClose(hWaveOut: HWAVEOUT): MMRESULT;
function waveOutGetDevCaps(uDeviceID: UINT; lpCaps: PWaveOutCaps; uSize: UINT): MMRESULT;
function waveOutGetDevCapsA(uDeviceID: UINT; lpCaps: PWaveOutCapsA; uSize: UINT): MMRESULT;
function waveOutGetDevCapsW(uDeviceID: UINT; lpCaps: PWaveOutCapsW; uSize: UINT): MMRESULT;
function waveOutGetErrorText(mmrError: MMRESULT; lpText: PChar; uSize: UINT): MMRESULT;
function waveOutGetErrorTextA(mmrError: MMRESULT; lpText: PAnsiChar; uSize: UINT): MMRESULT;
function waveOutGetErrorTextW(mmrError: MMRESULT; lpText: PWideChar; uSize: UINT): MMRESULT;
function waveOutGetID(hWaveOut: HWAVEOUT; lpuDeviceID: PUINT): MMRESULT;
function waveOutGetNumDevs: UINT;
waveform audio function prototypes
function waveOutGetPitch(hWaveOut: HWAVEOUT; lpdwPitch: PDWORD): MMRESULT;
function waveOutGetPlaybackRate(hWaveOut: HWAVEOUT; lpdwRate: PDWORD): MMRESULT;
function waveOutGetPosition(hWaveOut: HWAVEOUT; lpInfo: PMMTime; uSize: UINT): MMRESULT;
function waveOutGetVolume(hwo: HWAVEOUT; lpdwVolume: PDWORD): MMRESULT;
function waveOutMessage(hWaveOut: HWAVEOUT; uMessage: UINT; dw1, dw2: DWORD): Longint;
function waveOutOpen(lphWaveOut: PHWaveOut; uDeviceID: UINT;
lpFormat: PWaveFormatEx; dwCallback, dwInstance, dwFlags: DWORD): MMRESULT;
function waveOutPause(hWaveOut: HWAVEOUT): MMRESULT;
function waveOutPrepareHeader(hWaveOut: HWAVEOUT; lpWaveOutHdr: PWaveHdr;
uSize: UINT): MMRESULT;
function waveOutReset(hWaveOut: HWAVEOUT): MMRESULT;
function waveOutRestart(hWaveOut: HWAVEOUT): MMRESULT;
function waveOutSetPitch(hWaveOut: HWAVEOUT; dwPitch: DWORD): MMRESULT;
function waveOutSetPlaybackRate(hWaveOut: HWAVEOUT; dwRate: DWORD): MMRESULT;
function waveOutSetVolume(hwo: HWAVEOUT; dwVolume: DWORD): MMRESULT;
function waveOutUnprepareHeader(hWaveOut: HWAVEOUT; lpWaveOutHdr: PWaveHdr;
uSize: UINT): MMRESULT;
function waveOutWrite(hWaveOut: HWAVEOUT; lpWaveOutHdr: PWaveHdr;
uSize: UINT): MMRESULT;
FOURCC = DWORD
MMIO data types
HDRVR = Integer
last error in range
HMIDI = Integer
HMIDIIN = Integer
HMIDIOUT = Integer
HMIDISTRM = Integer
HMIXER = Integer
HMIXEROBJ = Integer
HMMIO = Integer
HWAVE = Integer
HWAVEIN = Integer
HWAVEOUT = Integer
MCIDEVICEID = UINT
error return code, 0 means no error
MCIERROR = DWORD
*************************************************************************
MCI support
MMRESULT = UINT
major (high byte), minor (low byte)
MMVERSION = UINT
major (high byte), minor (low byte)
PAuxCaps = PAuxCapsA
PAuxCapsA = ^TAuxCapsA
Auxiliary audio device capabilities structure
PAuxCapsW = ^TAuxCapsW
PDrvConfigInfo = ^TDrvConfigInfo
LPARAM of DRV_CONFIGURE message
PDrvConfigInfoEx = ^TDrvConfigInfoEx
*************************************************************************
Installable driver support
PHMIDI = ^HMIDI
last error in range } { MIDI audio data types
PHMIDIIN = ^HMIDIIN
PHMIDIOUT = ^HMIDIOUT
PHMIDISTRM = ^HMIDISTRM
PHMIXER = ^HMIXER
PHMIXEROBJ = ^HMIXEROBJ
**************************************************************************
Mixer Support
PHMMIO = ^HMMIO
a four character code
PHWAVE = ^HWAVE
last error in range } { waveform audio data types
PHWAVEIN = ^HWAVEIN
PHWAVEOUT = ^HWAVEOUT
PJoyCaps = PJoyCapsA
PJoyCapsA = ^TJoyCapsA
joystick device capabilities data structure
PJoyCapsW = ^TJoyCapsW
PJoyInfo = ^TJoyInfo
joystick information data structure
PJoyInfoEx = ^TJoyInfoEx
button states
PKeyArray = ^TKeyArray
PMCI_Anim_Open_Parms = PMCI_Anim_Open_ParmsA
PMCI_Anim_Open_ParmsA = ^TMCI_Anim_Open_ParmsA
parameter block for MCI_OPEN command message
PMCI_Anim_Open_ParmsW = ^TMCI_Anim_Open_ParmsW
PMCI_Anim_Play_Parms = ^TMCI_Anim_Play_Parms
parameter block for MCI_PLAY command message
PMCI_Anim_Rect_Parms = ^ TMCI_Anim_Rect_Parms
parameter block for MCI_PUT, MCI_UPDATE, MCI_WHERE command messages
PMCI_Anim_Step_Parms = ^TMCI_Anim_Step_Parms
parameter block for MCI_STEP command message
PMCI_Anim_Update_Parms = ^TMCI_Anim_Update_Parms
parameter block for MCI_UPDATE PARMS
PMCI_Anim_Window_Parms = PMCI_Anim_Window_ParmsA
PMCI_Anim_Window_ParmsA = ^TMCI_Anim_Window_ParmsA
parameter block for MCI_WINDOW command message
PMCI_Anim_Window_ParmsW = ^TMCI_Anim_Window_ParmsW
PMCI_Break_Parms = ^TMCI_BReak_Parms
parameter block for MCI_BREAK command message
PMCI_Generic_Parms = ^TMCI_Generic_Parms
generic parameter block for MCI command messages with no special parameters
PMCI_GetDevCaps_Parms = ^TMCI_GetDevCaps_Parms
parameter block for MCI_GETDEVCAPS command message
PMCI_Info_Parms = PMCI_Info_ParmsA
PMCI_Info_ParmsA = ^TMCI_Info_ParmsA
parameter block for MCI_INFO command message
PMCI_Info_ParmsW = ^TMCI_Info_ParmsW
PMCI_Load_Parms = PMCI_Load_ParmsA
PMCI_Load_ParmsA = ^TMCI_Load_ParmsA
parameter block for MCI_LOAD command message
PMCI_Load_ParmsW = ^TMCI_Load_ParmsW
PMCI_Open_Parms = PMCI_Open_ParmsA
PMCI_Open_ParmsA = ^TMCI_Open_ParmsA
parameter block for MCI_OPEN command message
PMCI_Open_ParmsW = ^TMCI_Open_ParmsW
PMCI_Ovly_Load_Parms = PMCI_Ovly_Load_ParmsA
PMCI_Ovly_Load_ParmsA = ^TMCI_Ovly_Load_ParmsA
parameter block for MCI_LOAD command message
PMCI_Ovly_Load_ParmsW = ^TMCI_Ovly_Load_ParmsW
PMCI_Ovly_Open_Parms = PMCI_Ovly_Open_ParmsA
PMCI_Ovly_Open_ParmsA = ^TMCI_Ovly_Open_ParmsA
parameter block for MCI_OPEN command message
PMCI_Ovly_Open_ParmsW = ^TMCI_Ovly_Open_ParmsW
PMCI_Ovly_Rect_Parms = ^ TMCI_Ovly_Rect_Parms
parameter block for MCI_PUT, MCI_UPDATE, and MCI_WHERE command messages
PMCI_Ovly_Save_Parms = PMCI_Ovly_Save_ParmsA
PMCI_Ovly_Save_ParmsA = ^TMCI_Ovly_Save_ParmsA
parameter block for MCI_SAVE command message
PMCI_Ovly_Save_ParmsW = ^TMCI_Ovly_Save_ParmsW
PMCI_Ovly_Window_Parms = PMCI_Ovly_Window_ParmsA
PMCI_Ovly_Window_ParmsA = ^TMCI_Ovly_Window_ParmsA
parameter block for MCI_WINDOW command message
PMCI_Ovly_Window_ParmsW = ^TMCI_Ovly_Window_ParmsW
PMCI_Play_Parms = ^TMCI_Play_Parms
parameter block for MCI_PLAY command message
PMCI_Record_Parms = ^TMCI_Record_Parms
parameter block for MCI_RECORD command message
PMCI_Save_Parms = PMCI_Save_ParmsA
PMCI_Save_ParmsA = ^TMCI_SaveParmsA
parameter block for MCI_SAVE command message
PMCI_Save_ParmsW = ^TMCI_SaveParmsW
PMCI_Seek_Parms = ^TMCI_Seek_Parms
parameter block for MCI_SEEK command message
PMCI_Seq_Set_Parms = ^TMCI_Seq_Set_Parms
parameter block for MCI_SET command message
PMCI_Set_Parms = ^TMCI_Set_Parms
parameter block for MCI_SET command message
PMCI_Sound_Parms = ^TMCI_Sound_Parms
parameter block for MCI_SOUND command message
PMCI_Status_Parms = ^TMCI_Status_Parms
parameter block for MCI_STATUS command message
PMCI_SysInfo_Parms = PMCI_SysInfo_ParmsA
PMCI_SysInfo_ParmsA = ^TMCI_SysInfo_ParmsA
parameter block for MCI_SYSINFO command message
PMCI_SysInfo_ParmsW = ^TMCI_SysInfo_ParmsW
PMCI_VD_Escape_Parms = PMCI_VD_Escape_ParmsA
PMCI_VD_Escape_ParmsA = ^TMCI_VD_Escape_ParmsA
parameter block for MCI_ESCAPE command message
PMCI_VD_Escape_ParmsW = ^TMCI_VD_Escape_ParmsW
PMCI_VD_Play_Parms = ^TMCI_VD_Play_Parms
parameter block for MCI_PLAY command message
PMCI_VD_Step_Parms = ^TMCI_VD_Step_Parms
parameter block for MCI_STEP command message
PMCI_Wave_Delete_Parms = ^TMCI_Wave_Delete_Parms
parameter block for MCI_DELETE command message
PMCI_Wave_Open_Parms = PMCI_Wave_Open_ParmsA
PMCI_Wave_Open_ParmsA = ^TMCI_Wave_Open_ParmsA
parameter block for MCI_OPEN command message
PMCI_Wave_Open_ParmsW = ^TMCI_Wave_Open_ParmsW
PMCI_Wave_Set_Parms = ^TMCI_Wave_Set_Parms
parameter block for MCI_SET command message
PMidiEvent = ^TMidiEvent
Reserved for MMSYSTEM
PMidiHdr = ^TMidiHdr
MIDI data block header
PMidiInCaps = PMidiInCapsA
PMidiInCapsA = ^TMidiInCapsA
driver supports midiStreamOut directly } { MIDI output device capabilities structure
PMidiInCapsW = ^TMidiInCapsW
PMidiOutCaps = PMidiOutCapsA
PMidiOutCapsA = ^TMidiOutCapsA
MIDI output device capabilities structure
PMidiOutCapsW = ^TMidiOutCapsW
PMidiPropTempo = ^TMidiPropTempo
PMidiPropTimeDiv = ^TMidiPropTimeDiv
PMidiStrmBuffVer = ^TMidiStrmBuffVer
Parameters if this is a long event
PMixerCaps = PMixerCapsA
PMixerCapsA = ^TMixerCapsA
PMixerCapsW = ^TMixerCapsW
PMixerControl = PMixerControlA
PMixerControlA = ^TMixerControlA
PMixerControlDetails = ^TMixerControlDetails
PMixerControlDetailsBoolean = ^TMixerControlDetailsBoolean
PMixerControlDetailsListText = PMixerControlDetailsListTextA
PMixerControlDetailsListTextA = ^TMixerControlDetailsListTextA
pointer to array of details_XX structs
PMixerControlDetailsListTextW = ^TMixerControlDetailsListTextW
PMixerControlDetailsSigned = ^TMixerControlDetailsSigned
PMixerControlDetailsUnsigned = ^TMixerControlDetailsUnsigned
PMixerControlW = ^TMixerControlW
PMixerLine = PMixerLineA
PMixerLineA = ^TMixerLineA
PMixerLineControls = PMixerLineControlsA
PMixerLineControlsA = ^TMixerLineControlsA
PMixerLineControlsW = ^TMixerLineControlsW
PMixerLineW = ^TMixerLineW
PMMCKInfo = ^TMMCKInfo
RIFF chunk information data structure
PMMIOInfo = ^TMMIOInfo
general MMIO information data structure
PMMTime = ^TMMTime
Ticks within MIDI stream } { MMTIME data structure
PPatchArray = ^TPatchArray
PPCMWaveFormat = ^TPCMWaveFormat
specific waveform format structure for PCM data
PTimeCaps = ^TTimeCaps
callback is event - use PulseEvent } { timer device capabilities data structure
PWaveFormat = ^TWaveFormat
44.1 kHz, Stereo, 16-bit } { general waveform format structure (information common to all formats)
PWaveFormatEx = ^TWaveFormatEx
extended waveform format structure used for all non-PCM formats. this
structure is common to all non-PCM formats.
PWaveHdr = ^TWaveHdr
wave data block header
PWaveInCaps = PWaveInCapsA
PWaveInCapsA = ^TWaveInCapsA
waveform input device capabilities structure
PWaveInCapsW = ^TWaveInCapsW
PWaveOutCaps = PWaveOutCapsA
PWaveOutCapsA = ^TWaveOutCapsA
reserved for driver } { waveform output device capabilities structure
PWaveOutCapsW = ^TWaveOutCapsW
TAuxCaps = TAuxCapsA
functionality supported by driver
TAuxCapsA = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of AnsiChar;
wTechnology : Word;
dwSupport : DWORD;
end;
TAuxCapsW = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of WideChar;
wTechnology : Word;
dwSupport : DWORD;
end;
functionality supported by driver
TDrvConfigInfo = record
dwDCISize : DWORD;
lpszDCISectionName : PWideChar;
lpszDCIAliasName : PWideChar;
end;
TDrvConfigInfoEx = record
dwDCISize : DWORD;
lpszDCISectionName : PWideChar;
lpszDCIAliasName : PWideChar;
dnDevNode : DWORD;
end;
TFNDriverProc = function(dwDriverId: DWORD; hdrvr: HDRVR;
msg: UINT; lparam1, lparam2: LPARAM): Longint stdcall
installable driver function prototypes
TFNDrvCallBack = procedure(hdrvr: HDRVR; uMsg: UINT; dwUser: DWORD;
dw1, dw2: DWORD) stdcall
dwCallback is an EVENT Handle } { driver callback prototypes
TFNMidiCallBack = TFNDrvCallBack
TFNMMIOProc = function(lpmmioinfo: PChar; uMessage: UINT; lParam1, lParam2: LPARAM): Longint stdcall
a handle to an open file
TFNTimeCallBack = procedure(uTimerID, uMessage: UINT;
dwUser, dw1, dw2: DWORD) stdcall
time struct size } { timer data types
TFNWaveCallBack = TFNDrvCallBack
TFNYieldProc = function(mciId: MCIDEVICEID; dwYieldData: DWORD): UINT stdcall
MCI device ID type
TJoyCaps = TJoyCapsA
OEM VxD in use
TJoyCapsA = record
wMid : Word;
wPid : Word;
szPname : array[0..MAXPNAMELEN-1] of AnsiChar;
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..MAXPNAMELEN - 1] of AnsiChar;
szOEMVxD : array[0..MAX_JOYSTICKOEMVXDNAME - 1] of AnsiChar;
end;
TJoyCapsW = record
wMid : Word;
wPid : Word;
szPname : array[0..MAXPNAMELEN-1] of WideChar;
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..MAXPNAMELEN - 1] of WideChar;
szOEMVxD : array[0..MAX_JOYSTICKOEMVXDNAME - 1] of WideChar;
end;
OEM VxD in use
TJoyInfo = record
wXpos : UINT;
wYpos : UINT;
wZpos : UINT;
wButtons : UINT;
end;
TJoyInfoEx = record
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;
end;
TKeyArray = array[0..MIDIPATCHSIZE-1] of Word;
TMCI_Anim_Open_Parms = TMCI_Anim_Open_ParmsA
TMCI_Anim_Open_ParmsA = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PAnsiChar;
lpstrElementName : PAnsiChar;
lpstrAlias : PAnsiChar;
dwStyle : DWORD;
hWndParent : HWND;
end;
TMCI_Anim_Open_ParmsW = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PWideChar;
lpstrElementName : PWideChar;
lpstrAlias : PWideChar;
dwStyle : DWORD;
hWndParent : HWND;
end;
TMCI_Anim_Play_Parms = record
dwCallback : DWORD;
dwFrom : DWORD;
dwTo : DWORD;
dwSpeed : DWORD;
end;
TMCI_Anim_Rect_Parms = record
dwCallback : DWORD;
rc : TRect;
end;
TMCI_Anim_Step_Parms = record
dwCallback : DWORD;
dwFrames : DWORD;
end;
TMCI_Anim_Update_Parms = record
dwCallback : DWORD;
rc : TRect;
hDC : HDC;
end;
TMCI_Anim_Window_Parms = TMCI_Anim_Window_ParmsA
TMCI_Anim_Window_ParmsA = record
dwCallback : DWORD;
Wnd : HWND;
nCmdShow : UINT;
lpstrText : PAnsiChar;
end;
TMCI_Anim_Window_ParmsW = record
dwCallback : DWORD;
Wnd : HWND;
nCmdShow : UINT;
lpstrText : PWideChar;
end;
TMCI_BReak_Parms = record
dwCallback : DWORD;
nVirtKey : Integer;
hWndBreak : HWND;
end;
TMCI_Generic_Parms = record
dwCallback : DWORD;
end;
TMCI_GetDevCaps_Parms = record
dwCallback : DWORD;
dwReturn : DWORD;
dwItem : DWORD;
end;
TMCI_Info_Parms = TMCI_Info_ParmsA
TMCI_Info_ParmsA = record
dwCallback : DWORD;
lpstrReturn : PAnsiChar;
dwRetSize : DWORD;
end;
TMCI_Info_ParmsW = record
dwCallback : DWORD;
lpstrReturn : PWideChar;
dwRetSize : DWORD;
end;
TMCI_Load_Parms = TMCI_Load_ParmsA
TMCI_Load_ParmsA = record
dwCallback : DWORD;
lpfilename : PAnsiChar;
end;
TMCI_Load_ParmsW = record
dwCallback : DWORD;
lpfilename : PWideChar;
end;
TMCI_Open_Parms = TMCI_Open_ParmsA
TMCI_Open_ParmsA = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PAnsiChar;
lpstrElementName : PAnsiChar;
lpstrAlias : PAnsiChar;
end;
TMCI_Open_ParmsW = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PWideChar;
lpstrElementName : PWideChar;
lpstrAlias : PWideChar;
end;
TMCI_Ovly_Load_Parms = TMCI_Ovly_Load_ParmsA
TMCI_Ovly_Load_ParmsA = record
dwCallback : DWORD;
lpfilename : PAnsiChar;
rc : TRect;
end;
TMCI_Ovly_Load_ParmsW = record
dwCallback : DWORD;
lpfilename : PWideChar;
rc : TRect;
end;
TMCI_Ovly_Open_Parms = TMCI_Ovly_Open_ParmsA
TMCI_Ovly_Open_ParmsA = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PAnsiChar;
lpstrElementName : PAnsiChar;
lpstrAlias : PAnsiChar;
dwStyle : DWORD;
hWndParent : HWND;
end;
TMCI_Ovly_Open_ParmsW = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PWideChar;
lpstrElementName : PWideChar;
lpstrAlias : PWideChar;
dwStyle : DWORD;
hWndParent : HWND;
end;
TMCI_Ovly_Rect_Parms = record
dwCallback : DWORD;
rc : TRect;
end;
TMCI_Ovly_Save_Parms = TMCI_Ovly_Save_ParmsA
TMCI_Ovly_Save_ParmsA = record
dwCallback : DWORD;
lpfilename : PAnsiChar;
rc : TRect;
end;
TMCI_Ovly_Save_ParmsW = record
dwCallback : DWORD;
lpfilename : PWideChar;
rc : TRect;
end;
TMCI_Ovly_Window_Parms = TMCI_Ovly_Window_ParmsA
TMCI_Ovly_Window_ParmsA = record
dwCallback : DWORD;
WHandle : HWND;
nCmdShow : UINT;
lpstrText : PAnsiChar;
end;
TMCI_Ovly_Window_ParmsW = record
dwCallback : DWORD;
WHandle : HWND;
nCmdShow : UINT;
lpstrText : PWideChar;
end;
TMCI_Play_Parms = record
dwCallback : DWORD;
dwFrom : DWORD;
dwTo : DWORD;
end;
TMCI_Record_Parms = record
dwCallback : DWORD;
dwFrom : DWORD;
dwTo : DWORD;
end;
TMCI_SaveParms = TMCI_SaveParmsA
TMCI_SaveParmsA = record
dwCallback : DWORD;
lpfilename : PAnsiChar;
end;
TMCI_SaveParmsW = record
dwCallback : DWORD;
lpfilename : PWideChar;
end;
TMCI_Seek_Parms = record
dwCallback : DWORD;
dwTo : DWORD;
end;
TMCI_Seq_Set_Parms = record
dwCallback : DWORD;
dwTimeFormat : DWORD;
dwAudio : DWORD;
dwTempo : DWORD;
dwPort : DWORD;
dwSlave : DWORD;
dwMaster : DWORD;
dwOffset : DWORD;
end;
TMCI_Set_Parms = record
dwCallback : DWORD;
dwTimeFormat : DWORD;
dwAudio : DWORD;
end;
TMCI_Sound_Parms = record
dwCallback : Longint;
lpstrSoundName : PChar;
end;
TMCI_Status_Parms = record
dwCallback : DWORD;
dwReturn : DWORD;
dwItem : DWORD;
dwTrack : DWORD;
end;
TMCI_SysInfo_Parms = TMCI_SysInfo_ParmsA
TMCI_SysInfo_ParmsA = record
dwCallback : DWORD;
lpstrReturn : PAnsiChar;
dwRetSize : DWORD;
dwNumber : DWORD;
wDeviceType : UINT;
end;
TMCI_SysInfo_ParmsW = record
dwCallback : DWORD;
lpstrReturn : PWideChar;
dwRetSize : DWORD;
dwNumber : DWORD;
wDeviceType : UINT;
end;
TMCI_VD_Escape_Parms = TMCI_VD_Escape_ParmsA
TMCI_VD_Escape_ParmsA = record
dwCallback : DWORD;
lpstrCommand : PAnsiChar;
end;
TMCI_VD_Escape_ParmsW = record
dwCallback : DWORD;
lpstrCommand : PWideChar;
end;
TMCI_VD_Play_Parms = record
dwCallback : DWORD;
dwFrom : DWORD;
dwTo : DWORD;
dwSpeed : DWORD;
end;
TMCI_VD_Step_Parms = record
dwCallback : DWORD;
dwFrames : DWORD;
end;
TMCI_Wave_Delete_Parms = record
dwCallback : DWORD;
dwFrom : DWORD;
dwTo : DWORD;
end;
TMCI_Wave_Open_Parms = TMCI_Wave_Open_ParmsA
TMCI_Wave_Open_ParmsA = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PAnsiChar;
lpstrElementName : PAnsiChar;
lpstrAlias : PAnsiChar;
dwBufferSeconds : DWORD;
end;
TMCI_Wave_Open_ParmsW = record
dwCallback : DWORD;
wDeviceID : MCIDEVICEID;
lpstrDeviceType : PWideChar;
lpstrElementName : PWideChar;
lpstrAlias : PWideChar;
dwBufferSeconds : DWORD;
end;
TMCI_Wave_Set_Parms = record
dwCallback : DWORD;
dwTimeFormat : DWORD;
dwAudio : DWORD;
wInput : UINT;
wOutput : UINT;
wFormatTag : Word;
wReserved2 : Word;
nChannels : Word;
wReserved3 : Word;
nSamplesPerSec : DWORD;
nAvgBytesPerSec : DWORD;
nBlockAlign : Word;
wReserved4 : Word;
wBitsPerSample : Word;
wReserved5 : Word;
end;
TMidiEvent = record
dwDeltaTime : DWORD;
dwStreamID : DWORD;
dwEvent : DWORD;
dwParms : array[0..0] of DWORD;
end;
TMidiHdr = record
lpData : PChar;
dwBufferLength : DWORD;
dwBytesRecorded : DWORD;
dwUser : DWORD;
dwFlags : DWORD;
lpNext : PMidiHdr;
reserved : DWORD;
dwOffset : DWORD;
dwReserved : array[0..7] of DWORD;
end;
TMidiInCaps = TMidiInCapsA
functionality supported by driver
TMidiInCapsA = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of AnsiChar;
dwSupport : DWORD;
end;
TMidiInCapsW = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of WideChar;
dwSupport : DWORD;
end;
functionality supported by driver
TMidiOutCaps = TMidiOutCapsA
functionality supported by driver
TMidiOutCapsA = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of AnsiChar;
wTechnology : Word;
wVoices : Word;
wNotes : Word;
wChannelMask : Word;
dwSupport : DWORD;
end;
TMidiOutCapsW = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of WideChar;
wTechnology : Word;
wVoices : Word;
wNotes : Word;
wChannelMask : Word;
dwSupport : DWORD;
end;
functionality supported by driver
TMidiPropTempo = record
cbStruct : DWORD;
dwTempo : DWORD;
end;
TMidiPropTimeDiv = record
cbStruct : DWORD;
dwTimeDiv : DWORD;
end;
TMidiStrmBuffVer = record
dwVersion : DWORD;
dwMid : DWORD;
dwOEMVersion : DWORD;
end;
TMixerCaps = TMixerCapsA
count of destinations
TMixerCapsA = record
wMid : WORD;
wPid : WORD;
vDriverVersion : MMVERSION;
szPname : array [0..MAXPNAMELEN - 1] of AnsiChar;
fdwSupport : DWORD;
cDestinations : DWORD;
end;
TMixerCapsW = record
wMid : WORD;
wPid : WORD;
vDriverVersion : MMVERSION;
szPname : array [0..MAXPNAMELEN - 1] of WideChar;
fdwSupport : DWORD;
cDestinations : DWORD;
end;
count of destinations
TMixerControl = TMixerControlA
size in bytes of custom data
TMixerControlA = record
cbStruct : DWORD;
dwControlID : DWORD;
dwControlType : DWORD;
fdwControl : DWORD;
cMultipleItems : DWORD;
szShortName : array[0..MIXER_SHORT_NAME_CHARS - 1] of AnsiChar;
szName : array[0..MIXER_LONG_NAME_CHARS - 1] of AnsiChar;
end;
TMixerControlDetails = record
cbStruct : DWORD;
dwControlID : DWORD;
cChannels : DWORD;
end;
TMixerControlDetailsBoolean = record
fValue : Longint;
end;
TMixerControlDetailsListText = TMixerControlDetailsListTextA
TMixerControlDetailsListTextA = record
dwParam1 : DWORD;
dwParam2 : DWORD;
szName : array[0..MIXER_LONG_NAME_CHARS - 1] of AnsiChar;
end;
TMixerControlDetailsListTextW = record
dwParam1 : DWORD;
dwParam2 : DWORD;
szName : array[0..MIXER_LONG_NAME_CHARS - 1] of WideChar;
end;
TMixerControlDetailsSigned = record
lValue : Longint;
end;
TMixerControlDetailsUnsigned = record
dwValue : DWORD;
end;
TMixerControlW = record
cbStruct : DWORD;
dwControlID : DWORD;
dwControlType : DWORD;
fdwControl : DWORD;
cMultipleItems : DWORD;
szShortName : array[0..MIXER_SHORT_NAME_CHARS - 1] of WideChar;
szName : array[0..MIXER_LONG_NAME_CHARS - 1] of WideChar;
end;
size in bytes of custom data
TMixerLine = TMixerLineA
"
TMixerLineA = record
cbStruct : DWORD;
dwDestination : DWORD;
dwSource : DWORD;
dwLineID : DWORD;
fdwLine : DWORD;
dwUser : DWORD;
dwComponentType : DWORD;
cChannels : DWORD;
cConnections : DWORD;
cControls : DWORD;
szShortName : array[0..MIXER_SHORT_NAME_CHARS - 1] of AnsiChar;
szName : array[0..MIXER_LONG_NAME_CHARS - 1] of AnsiChar;
end;
TMixerLineControls = TMixerLineControlsA
pointer to first MIXERCONTROL array
TMixerLineControlsA = record
cbStruct : DWORD;
dwLineID : DWORD;
end;
TMixerLineControlsW = record
cbStruct : DWORD;
dwLineID : DWORD;
end;
pointer to first MIXERCONTROL array
TMixerLineW = record
cbStruct : DWORD;
dwDestination : DWORD;
dwSource : DWORD;
dwLineID : DWORD;
fdwLine : DWORD;
dwUser : DWORD;
dwComponentType : DWORD;
cChannels : DWORD;
cConnections : DWORD;
cControls : DWORD;
szShortName : array[0..MIXER_SHORT_NAME_CHARS - 1] of WideChar;
szName : array[0..MIXER_LONG_NAME_CHARS - 1] of WideChar;
end;
"
TMMCKInfo = record
ckid : FOURCC;
cksize : DWORD;
fccType : FOURCC;
dwDataOffset : DWORD;
dwFlags : DWORD;
end;
TMMIOInfo = record
dwFlags : DWORD;
fccIOProc : FOURCC;
pIOProc : TFNMMIOProc;
wErrorRet : UINT;
hTask : HTASK;
cchBuffer : Longint;
pchBuffer : PChar;
pchNext : PChar;
pchEndRead : PChar;
pchEndWrite : PChar;
lBufOffset : Longint;
lDiskOffset : Longint;
adwInfo : array[0..2] of DWORD;
dwReserved1 : DWORD;
dwReserved2 : DWORD;
hmmio : HMMIO;
end;
TMMTime = record
end;
TPatchArray = array[0..MIDIPATCHSIZE-1] of Word;
TPCMWaveFormat = record
wf : TWaveFormat;
wBitsPerSample : Word;
end;
TTimeCaps = record
wPeriodMin : UINT;
wPeriodMax : UINT;
end;
TWaveFormat = record
wFormatTag : Word;
nChannels : Word;
nSamplesPerSec : DWORD;
nAvgBytesPerSec : DWORD;
nBlockAlign : Word;
end;
TWaveFormatEx = record
wFormatTag : Word;
nChannels : Word;
nSamplesPerSec : DWORD;
nAvgBytesPerSec : DWORD;
nBlockAlign : Word;
wBitsPerSample : Word;
cbSize : Word;
end;
TWaveHdr = record
lpData : PChar;
dwBufferLength : DWORD;
dwBytesRecorded : DWORD;
dwUser : DWORD;
dwFlags : DWORD;
dwLoops : DWORD;
lpNext : PWaveHdr;
reserved : DWORD;
end;
TWaveInCaps = TWaveInCapsA
structure packing
TWaveInCapsA = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of AnsiChar;
dwFormats : DWORD;
wChannels : Word;
wReserved1 : Word;
end;
TWaveInCapsW = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of WideChar;
dwFormats : DWORD;
wChannels : Word;
wReserved1 : Word;
end;
structure packing
TWaveOutCaps = TWaveOutCapsA
functionality supported by driver
TWaveOutCapsA = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of AnsiChar;
dwFormats : DWORD;
wChannels : Word;
dwSupport : DWORD;
end;
TWaveOutCapsW = record
wMid : Word;
wPid : Word;
vDriverVersion : MMVERSION;
szPname : array[0..MAXPNAMELEN-1] of WideChar;
dwFormats : DWORD;
wChannels : Word;
dwSupport : DWORD;
end;
functionality supported by driver
VERSION = UINT
Joystick adapter } { general data types
AUXCAPS_AUXIN = 2
audio from internal CD-ROM drive
AUXCAPS_CDAUDIO = 1
flags for wTechnology field in AUXCAPS structure
AUXCAPS_LRVOLUME = $0002
supports volume control
AUXCAPS_VOLUME = $0001
audio from auxiliary input jacks } { flags for dwSupport field in AUXCAPS structure
AUX_MAPPER = UINT(-1)
*************************************************************************
Auxiliary audio support
***************************************************************************} { device ID for aux device mapper
CALLBACK_EVENT = $00050000
thread ID replaces 16 bit task
CALLBACK_FUNCTION = $00030000
dwCallback is a HTASK
CALLBACK_NULL = $00000000
callback type mask
CALLBACK_TASK = $00020000
dwCallback is a HWND
CALLBACK_THREAD = CALLBACK_TASK
dwCallback is a FARPROC
CALLBACK_TYPEMASK = $00070000
*************************************************************************
Driver callback support
***************************************************************************} { flags used with waveOutOpen(), waveInOpen(), midiInOpen(), and } { midiOutOpen() to specify the type of the dwCallback parameter.
CALLBACK_WINDOW = $00010000
no callback
CFSEPCHAR = '+'
default error file error } { MMIO constants
DRVCNF_CANCEL = $0000
Supported return values for DRV_CONFIGURE message
DRVCNF_OK = $0001
DRVCNF_RESTART = $0002
DRV_CANCEL = DRVCNF_CANCEL
return values from DriverProc() function
DRV_CLOSE = $0004
DRV_CONFIGURE = $0007
DRV_DISABLE = $0005
DRV_ENABLE = $0002
DRV_EXITSESSION = $000B
DRV_FREE = $0006
DRV_INSTALL = $0009
DRV_LOAD = $0001
Driver messages
DRV_MCI_FIRST = DRV_RESERVED
DRV_MCI_LAST = DRV_RESERVED + $FFF
DRV_OK = DRVCNF_OK
DRV_OPEN = $0003
DRV_POWER = $000F
DRV_QUERYCONFIGURE = $0008
DRV_REMOVE = $000A
DRV_RESERVED = $0800
DRV_RESTART = DRVCNF_RESTART
DRV_USER = $4000
FOURCC_DOS = $20532F44
'LIST' } { four character codes used to identify standard built-in I/O procedures
FOURCC_LIST = $5453494C
'RIFF'
FOURCC_MEM = $204D454D
'DOS '
FOURCC_RIFF = $46464952
beginning of user-defined messages } { standard four character codes
JOYCAPS_HASPOV = $0010
JOYCAPS_HASR = $0002
JOYCAPS_HASU = $0004
JOYCAPS_HASV = $0008
JOYCAPS_HASZ = $000
joystick driver capabilites
JOYCAPS_POV4DIR = $0020
JOYCAPS_POVCTS = $0040
JOYERR_BASE = 160
JOYERR_NOCANDO = JOYERR_BASE+6
bad parameters
JOYERR_NOERROR = 0
*************************************************************************
Joystick support
***************************************************************************} { joystick error return values
JOYERR_PARMS = JOYERR_BASE+5
no error
JOYERR_UNPLUGGED = JOYERR_BASE+7
request not completed
JOYSTICKID1 = 0
joystick ID constants
JOYSTICKID2 = 1
JOY_BUTTON1 = $0001
joystick is unplugged } { constants used with TJoyInfo and TJoyInfoEx structure and MM_JOY* messages
JOY_BUTTON10 = $00000200
JOY_BUTTON11 = $00000400
JOY_BUTTON12 = $00000800
JOY_BUTTON13 = $00001000
JOY_BUTTON14 = $00002000
JOY_BUTTON15 = $00004000
JOY_BUTTON16 = $00008000
JOY_BUTTON17 = $00010000
JOY_BUTTON18 = $00020000
JOY_BUTTON19 = $00040000
JOY_BUTTON1CHG = $0100
JOY_BUTTON2 = $0002
JOY_BUTTON20 = $00080000
JOY_BUTTON21 = $00100000
JOY_BUTTON22 = $00200000
JOY_BUTTON23 = $00400000
JOY_BUTTON24 = $00800000
JOY_BUTTON25 = $01000000
JOY_BUTTON26 = $02000000
JOY_BUTTON27 = $04000000
JOY_BUTTON28 = $08000000
JOY_BUTTON29 = $10000000
JOY_BUTTON2CHG = $0200
JOY_BUTTON3 = $0004
JOY_BUTTON30 = $20000000
JOY_BUTTON31 = $40000000
JOY_BUTTON32 = $80000000
JOY_BUTTON3CHG = $0400
JOY_BUTTON4 = $0008
JOY_BUTTON4CHG = $0800
JOY_BUTTON5 = $00000010
constants used with TJoyInfoEx
JOY_BUTTON6 = $00000020
JOY_BUTTON7 = $00000040
JOY_BUTTON8 = $00000080
JOY_BUTTON9 = $00000100
JOY_CAL_READ3 = $00040000
JOY_CAL_READ4 = $00080000
JOY_CAL_READ5 = $00400000
JOY_CAL_READ6 = $00800000
JOY_CAL_READALWAYS = $00010000
JOY_CAL_READRONLY = $02000000
JOY_CAL_READUONLY = $04000000
JOY_CAL_READVONLY = $08000000
JOY_CAL_READXONLY = $00100000
JOY_CAL_READXYONLY = $00020000
JOY_CAL_READYONLY = $00200000
JOY_CAL_READZONLY = $01000000
JOY_POVBACKWARD = 18000
JOY_POVCENTERED = -1
constants used with TJoyInfoEx
JOY_POVFORWARD = 0
JOY_POVLEFT = 27000
JOY_POVRIGHT = 9000
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_RETURNBUTTONS = $00000080
JOY_RETURNCENTERED = $00000400
JOY_RETURNPOV = $00000040
axis 6
JOY_RETURNPOVCTS = $00000200
JOY_RETURNR = $00000008
JOY_RETURNRAWDATA = $00000100
JOY_RETURNU = $00000010
JOY_RETURNV = $00000020
axis 5
JOY_RETURNX = $00000001
JOY_RETURNY = $00000002
JOY_RETURNZ = $00000004
JOY_USEDEADZONE = $00000800
MAXERRORLENGTH = 128
max product name length (including nil)
MAXPNAMELEN = 32
*************************************************************************
General constants and data types
***************************************************************************} { general constants
MAX_JOYSTICKOEMVXDNAME = 260
max error text length (including nil)
MCIERR_BAD_CONSTANT = MCIERR_BASE + 34
MCIERR_BAD_INTEGER = MCIERR_BASE + 14
MCIERR_BAD_TIME_FORMAT = MCIERR_BASE + 37
MCIERR_BASE = 256
MCIERR_CANNOT_LOAD_DRIVER = MCIERR_BASE + 10
MCIERR_CANNOT_USE_ALL = MCIERR_BASE + 23
MCIERR_CREATEWINDOW = MCIERR_BASE + 91
MCIERR_CUSTOM_DRIVER_BASE = mcierr_Base + 256
all custom device driver errors must be >= this value
MCIERR_DEVICE_LENGTH = MCIERR_BASE + 54
MCIERR_DEVICE_LOCKED = MCIERR_BASE + 32
MCIERR_DEVICE_NOT_INSTALLED = MCIERR_BASE + 50
MCIERR_DEVICE_NOT_READY = MCIERR_BASE + 20
MCIERR_DEVICE_OPEN = MCIERR_BASE + 9
MCIERR_DEVICE_ORD_LENGTH = MCIERR_BASE + 55
MCIERR_DEVICE_TYPE_REQUIRED = MCIERR_BASE + 31
MCIERR_DRIVER = MCIERR_BASE + 22
MCIERR_DRIVER_INTERNAL = MCIERR_BASE + 16
MCIERR_DUPLICATE_ALIAS = MCIERR_BASE + 33
MCIERR_DUPLICATE_FLAGS = MCIERR_BASE + 39
MCIERR_EXTENSION_NOT_FOUND = MCIERR_BASE + 25
MCIERR_EXTRA_CHARACTERS = MCIERR_BASE + 49
MCIERR_FILENAME_REQUIRED = MCIERR_BASE + 48
MCIERR_FILE_NOT_FOUND = MCIERR_BASE + 19
MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30
MCIERR_FILE_READ = MCIERR_BASE + 92
MCIERR_FILE_WRITE = MCIERR_BASE + 93
MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28
MCIERR_GET_CD = MCIERR_BASE + 51
MCIERR_HARDWARE = MCIERR_BASE + 6
MCIERR_ILLEGAL_FOR_AUTO_OPEN = MCIERR_BASE + 47
MCIERR_INTERNAL = MCIERR_BASE + 21
MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1
MCI error return values
MCIERR_INVALID_DEVICE_NAME = MCIERR_BASE + 7
MCIERR_INVALID_FILE = MCIERR_BASE + 40
MCIERR_MISSING_COMMAND_STRING = MCIERR_BASE + 11
MCIERR_MISSING_DEVICE_NAME = MCIERR_BASE + 36
MCIERR_MISSING_PARAMETER = MCIERR_BASE + 17
MCIERR_MISSING_STRING_ARGUMENT = MCIERR_BASE + 13
MCIERR_MULTIPLE = MCIERR_BASE + 24
MCIERR_MUST_USE_SHAREABLE = MCIERR_BASE + 35
MCIERR_NEW_REQUIRES_ALIAS = MCIERR_BASE + 43
MCIERR_NONAPPLICABLE_FUNCTION = MCIERR_BASE + 46
MCIERR_NOTIFY_ON_AUTO_OPEN = MCIERR_BASE + 44
MCIERR_NO_CLOSING_QUOTE = MCIERR_BASE + 38
MCIERR_NO_ELEMENT_ALLOWED = MCIERR_BASE + 45
MCIERR_NO_IDENTITY = MCIERR_BASE + 94
MCIERR_NO_INTEGER = MCIERR_BASE + 56
MCIERR_NO_WINDOW = MCIERR_BASE + 90
MCIERR_NULL_PARAMETER_BLOCK = MCIERR_BASE + 41
MCIERR_OUTOFRANGE = MCIERR_BASE + 26
MCIERR_OUT_OF_MEMORY = MCIERR_BASE + 8
MCIERR_PARAM_OVERFLOW = MCIERR_BASE + 12
MCIERR_PARSER_INTERNAL = MCIERR_BASE + 15
MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80
MCIERR_SEQ_NOMIDIPRESENT = MCIERR_BASE + 87
MCIERR_SEQ_PORTUNSPECIFIED = MCIERR_BASE + 86
MCIERR_SEQ_PORT_INUSE = MCIERR_BASE + 81
MCIERR_SEQ_PORT_MAPNODEVICE = MCIERR_BASE + 83
MCIERR_SEQ_PORT_MISCERROR = MCIERR_BASE + 84
MCIERR_SEQ_PORT_NONEXISTENT = MCIERR_BASE + 82
MCIERR_SEQ_TIMER = MCIERR_BASE + 85
MCIERR_SET_CD = MCIERR_BASE + 52
MCIERR_SET_DRIVE = MCIERR_BASE + 53
MCIERR_UNNAMED_RESOURCE = MCIERR_BASE + 42
MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5
MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3
MCIERR_UNSUPPORTED_FUNCTION = MCIERR_BASE + 18
MCIERR_WAVE_INPUTSINUSE = MCIERR_BASE + 66
MCIERR_WAVE_INPUTSUNSUITABLE = MCIERR_BASE + 72
MCIERR_WAVE_INPUTUNSPECIFIED = MCIERR_BASE + 69
MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64
MCIERR_WAVE_OUTPUTSUNSUITABLE = MCIERR_BASE + 70
MCIERR_WAVE_OUTPUTUNSPECIFIED = MCIERR_BASE + 68
MCIERR_WAVE_SETINPUTINUSE = MCIERR_BASE + 67
MCIERR_WAVE_SETINPUTUNSUITABLE = MCIERR_BASE + 73
MCIERR_WAVE_SETOUTPUTINUSE = MCIERR_BASE + 65
MCIERR_WAVE_SETOUTPUTUNSUITABLE = MCIERR_BASE + 71
MCI_ALL_DEVICE_ID = UINT(-1)
device ID for "all devices"
MCI_ANIM_GETDEVCAPS_CAN_REVERSE = $00004001
flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block
MCI_ANIM_GETDEVCAPS_CAN_STRETCH = $00004007
MCI_ANIM_GETDEVCAPS_FAST_RATE = $00004002
MCI_ANIM_GETDEVCAPS_MAX_WINDOWS = $00004008
MCI_ANIM_GETDEVCAPS_NORMAL_RATE = $00004004
MCI_ANIM_GETDEVCAPS_PALETTES = $00004006
MCI_ANIM_GETDEVCAPS_SLOW_RATE = $00004003
MCI_ANIM_INFO_TEXT = $00010000
flags for the dwFlags parameter of MCI_INFO command message
MCI_ANIM_OPEN_NOSTATIC = $00040000
MCI_ANIM_OPEN_PARENT = $00020000
MCI_ANIM_OPEN_WS = $00010000
MCI extensions for animation devices } { flags for dwFlags parameter of MCI_OPEN command message
MCI_ANIM_PLAY_FAST = $00040000
MCI_ANIM_PLAY_REVERSE = $00020000
MCI_ANIM_PLAY_SCAN = $00100000
MCI_ANIM_PLAY_SLOW = $00080000
MCI_ANIM_PLAY_SPEED = $00010000
flags for dwFlags parameter of MCI_PLAY command message
MCI_ANIM_PUT_DESTINATION = $00040000
MCI_ANIM_PUT_SOURCE = $00020000
MCI_ANIM_REALIZE_BKGD = $00020000
MCI_ANIM_REALIZE_NORM = $00010000
flags for the MCI_REALIZE command message
MCI_ANIM_RECT = $00010000
flags for dwFlags parameter of MCI_PUT command message
MCI_ANIM_STATUS_FORWARD = $00004002
MCI_ANIM_STATUS_HPAL = $00004004
MCI_ANIM_STATUS_HWND = $00004003
MCI_ANIM_STATUS_SPEED = $00004001
flags for dwItem field of MCI_STATUS_PARMS parameter block
MCI_ANIM_STATUS_STRETCH = $00004005
MCI_ANIM_STEP_FRAMES = $00020000
MCI_ANIM_STEP_REVERSE = $00010000
flags for dwFlags parameter of MCI_STEP command message
MCI_ANIM_UPDATE_HDC = $00020000
flags for dwFlags parameter of MCI_UPDATE command message
MCI_ANIM_WHERE_DESTINATION = $00040000
MCI_ANIM_WHERE_SOURCE = $00020000
flags for dwFlags parameter of MCI_WHERE command message
MCI_ANIM_WINDOW_DEFAULT = $00000000
flags for hWnd field of MCI_ANIM_WINDOW_PARMS parameter block } { MCI_WINDOW command message, (dwFlags == MCI_ANIM_WINDOW_HWND)
MCI_ANIM_WINDOW_DISABLE_STRETCH = $00200000
MCI_ANIM_WINDOW_ENABLE_STRETCH = $00100000
MCI_ANIM_WINDOW_HWND = $00010000
flags for dwFlags parameter of MCI_WINDOW command message
MCI_ANIM_WINDOW_STATE = $00040000
MCI_ANIM_WINDOW_TEXT = $00080000
MCI_BREAK = $0811
MCI_BREAK_HWND = $00000200
MCI_BREAK_KEY = $00000100
flags for dwFlags parameter of MCI_BREAK command message
MCI_BREAK_OFF = $00000400
MCI_CDA_STATUS_TYPE_TRACK = 00004001
MCI extensions for CD audio devices } { flags for the dwItem field of the MCI_STATUS_PARMS parameter block
MCI_CDA_TRACK_AUDIO = MCI_CD_OFFSET + 0
flags for the dwReturn field of MCI_STATUS_PARMS parameter block } { MCI_STATUS command, (dwItem == MCI_CDA_STATUS_TYPE_TRACK)
MCI_CDA_TRACK_OTHER = MCI_CD_OFFSET + 1
MCI_CD_OFFSET = 1088
MCI_CLOSE = $0804
MCI_COPY = $0852
MCI_CUE = $0830
MCI_CUT = $0851
MCI_DELETE = $0856
MCI_DEVTYPE_ANIMATION = MCI_STRING_OFFSET + 7
MCI_DEVTYPE_CD_AUDIO = MCI_STRING_OFFSET + 4
MCI_DEVTYPE_DAT = MCI_STRING_OFFSET + 5
MCI_DEVTYPE_DIGITAL_VIDEO = MCI_STRING_OFFSET + 8
MCI_DEVTYPE_FIRST = MCI_DEVTYPE_VCR
MCI_DEVTYPE_FIRST_USER = 1000
MCI_DEVTYPE_LAST = MCI_DEVTYPE_SEQUENCER
MCI_DEVTYPE_OTHER = MCI_STRING_OFFSET + 9
MCI_DEVTYPE_OVERLAY = MCI_STRING_OFFSET + 3
MCI_DEVTYPE_SCANNER = MCI_STRING_OFFSET + 6
MCI_DEVTYPE_SEQUENCER = MCI_STRING_OFFSET + 11
MCI_DEVTYPE_VCR = MCI_STRING_OFFSET + 1
constants for predefined MCI device types
MCI_DEVTYPE_VIDEODISC = MCI_STRING_OFFSET + 2
MCI_DEVTYPE_WAVEFORM_AUDIO = MCI_STRING_OFFSET + 10
MCI_ESCAPE = $0805
MCI_FORMAT_BYTES = 8
MCI_FORMAT_FRAMES = 3
MCI_FORMAT_HMS = 1
MCI_FORMAT_MILLISECONDS = 0
constants used in 'set time format' and 'status time format' commands
MCI_FORMAT_MSF = 2
MCI_FORMAT_SAMPLES = 9
MCI_FORMAT_SMPTE_24 = 4
MCI_FORMAT_SMPTE_25 = 5
MCI_FORMAT_SMPTE_30 = 6
MCI_FORMAT_SMPTE_30DROP = 7
MCI_FORMAT_TMSF = 10
MCI_FREEZE = $0844
MCI_FROM = $00000004
MCI_GETDEVCAPs = $080B
MCI_GETDEVCAPS_CAN_EJECT = $00000007
MCI_GETDEVCAPS_CAN_PLAY = $00000008
MCI_GETDEVCAPS_CAN_RECORD = $00000001
flags for dwItem field of the MCI_GETDEVCAPS_PARMS parameter block
MCI_GETDEVCAPS_CAN_SAVE = $00000009
MCI_GETDEVCAPS_COMPOUND_DEVICE = $00000006
MCI_GETDEVCAPS_DEVICE_TYPE = $00000004
MCI_GETDEVCAPS_HAS_AUDIO = $00000002
MCI_GETDEVCAPS_HAS_VIDEO = $00000003
MCI_GETDEVCAPS_ITEM = $00000100
flags for dwFlags parameter of MCI_GETDEVCAPS command message
MCI_GETDEVCAPS_USES_FILES = $00000005
MCI_INFO = $080A
MCI_INFO_COPYRIGHT = $00002000
MCI_INFO_FILE = $00000200
MCI_INFO_MEDIA_IDENTITY = $00000800
MCI_INFO_MEDIA_UPC = $00000400
MCI_INFO_NAME = $00001000
MCI_INFO_PRODUCT = $00000100
flags for dwFlags parameter of MCI_INFO command message
MCI_LAST = $0FFF
MCI_LOAD = $0850
MCI_LOAD_FILE = $00000100
flags for dwFlags parameter of MCI_LOAD command message
MCI_MODE_NOT_READY = MCI_STRING_OFFSET + 12
return values for 'status mode' command
MCI_MODE_OPEN = MCI_STRING_OFFSET + 18
MCI_MODE_PAUSE = MCI_STRING_OFFSET + 17
MCI_MODE_PLAY = MCI_STRING_OFFSET + 14
MCI_MODE_RECORD = MCI_STRING_OFFSET + 15
MCI_MODE_SEEK = MCI_STRING_OFFSET + 16
MCI_MODE_STOP = MCI_STRING_OFFSET + 13
MCI_NOTIFY = $00000001
common flags for dwFlags parameter of MCI command messages
MCI_NOTIFY_ABORTED = $0004
MCI_NOTIFY_FAILURE = $0008
MCI_NOTIFY_SUCCESSFUL = $0001
flags for wParam of MM_MCINOTIFY message
MCI_NOTIFY_SUPERSEDED = $0002
MCI_OPEN = $0803
MCI command message identifiers
MCI_OPEN_ALIAS = $00000400
MCI_OPEN_ELEMENT = $00000200
MCI_OPEN_ELEMENT_ID = $00000800
MCI_OPEN_SHAREABLE = $00000100
flags for dwFlags parameter of MCI_OPEN command message
MCI_OPEN_TYPE = $00002000
MCI_OPEN_TYPE_ID = $00001000
MCI_OVLY_GETDEVCAPS_CAN_FREEZE = $00004002
MCI_OVLY_GETDEVCAPS_CAN_STRETCH = $00004001
flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block
MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = $00004003
MCI_OVLY_INFO_TEXT = $00010000
flags for dwFlags parameter of MCI_INFO command message
MCI_OVLY_OPEN_PARENT = $00020000
MCI_OVLY_OPEN_WS = $00010000
MCI extensions for video overlay devices } { flags for dwFlags parameter of MCI_OPEN command message
MCI_OVLY_PUT_DESTINATION = $00040000
MCI_OVLY_PUT_FRAME = $00080000
MCI_OVLY_PUT_SOURCE = $00020000
MCI_OVLY_PUT_VIDEO = $00100000
MCI_OVLY_RECT = $00010000
flags for dwFlags parameter of MCI_PUT command message
MCI_OVLY_STATUS_HWND = $00004001
flags for dwFlags parameter of MCI_STATUS command message
MCI_OVLY_STATUS_STRETCH = $00004002
MCI_OVLY_WHERE_DESTINATION = $00040000
MCI_OVLY_WHERE_FRAME = $00080000
MCI_OVLY_WHERE_SOURCE = $00020000
flags for dwFlags parameter of MCI_WHERE command message
MCI_OVLY_WHERE_VIDEO = $00100000
MCI_OVLY_WINDOW_DEFAULT = $00000000
flags for hWnd parameter of MCI_OVLY_WINDOW_PARMS parameter block
MCI_OVLY_WINDOW_DISABLE_STRETCH = $00200000
MCI_OVLY_WINDOW_ENABLE_STRETCH = $00100000
MCI_OVLY_WINDOW_HWND = $00010000
flags for dwFlags parameter of MCI_WINDOW command message
MCI_OVLY_WINDOW_STATE = $00040000
MCI_OVLY_WINDOW_TEXT = $00080000
MCI_PASTE = $0853
MCI_PAUSE = $0809
MCI_PLAY = $0806
MCI_PUT = $0842
MCI_REALIZE = $0840
MCI_RECORD = $080F
MCI_RECORD_INSERT = $00000100
flags for dwFlags parameter of MCI_RECORD command message
MCI_RECORD_OVERWRITE = $00000200
MCI_RESUME = $0855
MCI_SAVE = $0813
MCI_SAVE_FILE = $00000100
flags for dwFlags parameter of MCI_SAVE command message
MCI_SEEK = $0807
MCI_SEEK_TO_END = $00000200
MCI_SEEK_TO_START = $00000100
flags for dwFlags parameter of MCI_SEEK command message
MCI_SEQ_DIV_PPQN = 0 + MCI_SEQ_OFFSET
MCI extensions for MIDI sequencer devices } { flags for the dwReturn field of MCI_STATUS_PARMS parameter block } { MCI_STATUS command, (dwItem == MCI_SEQ_STATUS_DIVTYPE)
MCI_SEQ_DIV_SMPTE_24 = 1 + MCI_SEQ_OFFSET
MCI_SEQ_DIV_SMPTE_25 = 2 + MCI_SEQ_OFFSET
MCI_SEQ_DIV_SMPTE_30 = 4 + MCI_SEQ_OFFSET
MCI_SEQ_DIV_SMPTE_30DROP = 3 + MCI_SEQ_OFFSET
MCI_SEQ_FILE = $4002
MCI_SEQ_FORMAT_SONGPTR = $4001
flags for the dwMaster field of MCI_SEQ_SET_PARMS parameter block } { MCI_SET command, (dwFlags == MCI_SEQ_SET_MASTER)
MCI_SEQ_MAPPER = 65535
MCI_SEQ_MIDI = $4003
MCI_SEQ_NONE = 65533
MCI_SEQ_OFFSET = 1216
MCI_SEQ_SET_MASTER = $00080000
MCI_SEQ_SET_OFFSET = $01000000
MCI_SEQ_SET_PORT = $00020000
MCI_SEQ_SET_SLAVE = $00040000
MCI_SEQ_SET_TEMPO = $00010000
flags for the dwFlags parameter of MCI_SET command message
MCI_SEQ_SMPTE = $4004
MCI_SEQ_STATUS_COPYRIGHT = $0000400C
MCI_SEQ_STATUS_DIVTYPE = $0000400A
MCI_SEQ_STATUS_MASTER = $00004008
MCI_SEQ_STATUS_NAME = $0000400B
MCI_SEQ_STATUS_OFFSET = $00004009
MCI_SEQ_STATUS_PORT = $00004003
MCI_SEQ_STATUS_SLAVE = $00004007
MCI_SEQ_STATUS_TEMPO = $00004002
flags for the dwItem field of MCI_STATUS_PARMS parameter block
MCI_SET = $080D
MCI_SET_AUDIO = $00000800
MCI_SET_AUDIO_ALL = $00000000
flags for dwAudio field of MCI_SET_PARMS or MCI_SEQ_SET_PARMS
MCI_SET_AUDIO_LEFT = $00000001
MCI_SET_AUDIO_RIGHT = $00000002
MCI_SET_DOOR_CLOSED = $00000200
MCI_SET_DOOR_OPEN = $00000100
flags for dwFlags parameter of MCI_SET command message
MCI_SET_OFF = $00004000
MCI_SET_ON = $00002000
MCI_SET_TIME_FORMAT = $00000400
MCI_SET_VIDEO = $00001000
MCI_SOUND = $0812
MCI_SOUND_NAME = $00000100
flags for dwFlags parameter of MCI_SOUND command message
MCI_SPIN = $080C
MCI_STATUS = $0814
MCI_STATUS_CURRENT_TRACK = $00000008
MCI_STATUS_ITEM = $00000100
flags for dwFlags parameter of MCI_STATUS command message
MCI_STATUS_LENGTH = $00000001
flags for dwItem field of the MCI_STATUS_PARMS parameter block
MCI_STATUS_MEDIA_PRESENT = $00000005
MCI_STATUS_MODE = $00000004
MCI_STATUS_NUMBER_OF_TRACKS = $00000003
MCI_STATUS_POSITION = $00000002
MCI_STATUS_READY = $00000007
MCI_STATUS_START = $00000200
MCI_STATUS_TIME_FORMAT = $00000006
MCI_STEP = $080E
MCI_STOP = $0808
MCI_STRING_OFFSET = 512
MCI_SYSINFO = $0810
MCI_SYSINFO_INSTALLNAME = $00000800
MCI_SYSINFO_NAME = $00000400
MCI_SYSINFO_OPEN = $00000200
MCI_SYSINFO_QUANTITY = $00000100
flags for dwFlags parameter of MCI_SYSINFO command message
MCI_TO = $00000008
MCI_TRACK = $00000010
MCI_UNFREEZE = $0845
MCI_UPDATE = $0854
MCI_USER_MESSAGES = $400 + drv_MCI_First
all custom MCI command messages must be >= this value
MCI_VD_ESCAPE_STRING = $00000100
flag for the MCI_ESCAPE command message
MCI_VD_FORMAT_TRACK = $4001
MCI_VD_GETDEVCAPS_CAN_REVERSE = $00004002
flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block
MCI_VD_GETDEVCAPS_CAV = $00020000
MCI_VD_GETDEVCAPS_CLV = $00010000
flags for dwFlags parameter of MCI_GETDEVCAPS command message
MCI_VD_GETDEVCAPS_FAST_RATE = $00004003
MCI_VD_GETDEVCAPS_NORMAL_RATE = $00004005
MCI_VD_GETDEVCAPS_SLOW_RATE = $00004004
MCI_VD_MEDIA_CAV = MCI_VD_OFFSET + 3
MCI_VD_MEDIA_CLV = MCI_VD_OFFSET + 2
flag for dwReturn field of MCI_STATUS_PARMS } { MCI_STATUS command, (dwItem == MCI_VD_STATUS_MEDIA_TYPE)
MCI_VD_MEDIA_OTHER = MCI_VD_OFFSET + 4
MCI_VD_MODE_PARK = MCI_VD_OFFSET + 1
MCI extensions for videodisc devices } { flag for dwReturn field of MCI_STATUS_PARMS } { MCI_STATUS command, (dwItem == MCI_STATUS_MODE)
MCI_VD_OFFSET = 1024
MCI_VD_PLAY_FAST = $00020000
MCI_VD_PLAY_REVERSE = $00010000
flags for dwFlags parameter of MCI_PLAY command message
MCI_VD_PLAY_SCAN = $00080000
MCI_VD_PLAY_SLOW = $00100000
MCI_VD_PLAY_SPEED = $00040000
MCI_VD_SEEK_REVERSE = $00010000
flag for dwFlags parameter of MCI_SEEK command message
MCI_VD_SPIN_DOWN = $00020000
MCI_VD_SPIN_UP = $00010000
MCI_VD_STATUS_DISC_SIZE = $00004006
MCI_VD_STATUS_FORWARD = $00004003
MCI_VD_STATUS_MEDIA_TYPE = $00004004
MCI_VD_STATUS_SIDE = $00004005
MCI_VD_STATUS_SPEED = $00004002
flags for dwItem field of MCI_STATUS_PARMS parameter block
MCI_VD_STEP_FRAMES = $00010000
flags for the dwFlags parameter of MCI_STEP command message
MCI_VD_STEP_REVERSE = $00020000
MCI_WAIT = $00000002
MCI_WAVE_GETDEVCAPS_INPUTS = $00004001
flags for the dwFlags parameter of MCI_GETDEVCAPS command message
MCI_WAVE_GETDEVCAPS_OUTPUTS = $00004002
MCI_WAVE_INPUT = $00400000
flags for the dwFlags parameter of MCI_STATUS, MCI_SET command messages
MCI_WAVE_MAPPER = MCI_WAVE_OFFSET + 1
MCI_WAVE_OFFSET = 1152
MCI_WAVE_OPEN_BUFFER = $00010000
flags for the dwFlags parameter of MCI_OPEN command message
MCI_WAVE_OUTPUT = $00800000
MCI_WAVE_PCM = MCI_WAVE_OFFSET + 0
MCI extensions for waveform audio devices
MCI_WAVE_SET_ANYINPUT = $04000000
flags for the dwFlags parameter of MCI_SET command message
MCI_WAVE_SET_ANYOUTPUT = $08000000
MCI_WAVE_SET_AVGBYTESPERSEC = $00080000
MCI_WAVE_SET_BITSPERSAMPLE = $00200000
MCI_WAVE_SET_BLOCKALIGN = $00100000
MCI_WAVE_SET_CHANNELS = $00020000
MCI_WAVE_SET_FORMATTAG = $00010000
flags for the dwFlags parameter of MCI_SET command message
MCI_WAVE_SET_SAMPLESPERSEC = $00040000
MCI_WAVE_STATUS_AVGBYTESPERSEC = $00004004
MCI_WAVE_STATUS_BITSPERSAMPLE = $00004006
MCI_WAVE_STATUS_BLOCKALIGN = $00004005
MCI_WAVE_STATUS_CHANNELS = $00004002
MCI_WAVE_STATUS_FORMATTAG = $00004001
flags for the dwItem field of MCI_STATUS_PARMS parameter block
MCI_WAVE_STATUS_LEVEL = $00004007
MCI_WAVE_STATUS_SAMPLESPERSEC = $00004003
MCI_WHERE = $0843
MCI_WINDOW = $0841
MEVT_COMMENT = $82
parm = bytes to send verbatim
MEVT_F_CALLBACK = $40000000
MEVT_F_LONG = $80000000
MEVT_F_SHORT = $00000000
Buffer is stream buffer } (*
Type codes which go in the high byte of the event DWORD of a stream buffer
Type codes 00-7F contain parameters within the low 24 bits
Type codes 80-FF contain a length of their parameter in the low 24
bits, followed by their parameter data in the buffer. The event
DWORD contains the exact byte length; the parm data itself must be
padded to be an even multiple of 4 bytes long.
MEVT_LONGMSG = $80
parm = unused; does nothing } { 0x04-0x7F reserved
MEVT_NOP = $02
parm = new tempo in microsec/qn
MEVT_SHORTMSG = $00
MEVT_TEMPO = $01
parm = shortmsg for midiOutShortMsg
MEVT_VERSION = $84
parm = comment data
MHDR_DONE = $00000001
flags for dwFlags field of MIDIHDR structure
MHDR_INQUEUE = $00000004
set if header prepared
MHDR_ISSTRM = $00000008
reserved for driver
MHDR_PREPARED = $00000002
done bit
MIDICAPS_CACHE = $0004
separate left-right volume control
MIDICAPS_LRVOLUME = $0002
supports volume control
MIDICAPS_STREAM = $0008
MIDICAPS_VOLUME = $0001
MIDI mapper } { flags for dwSupport field of MIDIOUTCAPS structure
MIDIERR_BADOPENMODE = MIDIERR_BASE + 6
invalid setup
MIDIERR_BASE = 64
MIDIERR_DONT_CONTINUE = MIDIERR_BASE + 7
operation unsupported w/ open mode
MIDIERR_INVALIDSETUP = MIDIERR_BASE + 5
port no longer connected
MIDIERR_LASTERROR = MIDIERR_BASE + 5
thru device 'eating' a message
MIDIERR_NODEVICE = MIDIERR_BASE + 4
hardware is still busy
MIDIERR_NOMAP = MIDIERR_BASE + 2
still something playing
MIDIERR_NOTREADY = MIDIERR_BASE + 3
no current map
MIDIERR_STILLPLAYING = MIDIERR_BASE + 1
header not prepared
MIDIERR_UNPREPARED = MIDIERR_BASE + 0
*************************************************************************
MIDI audio support
***************************************************************************} { MIDI error return values
MIDIMAPPER = UINT(-1)
device ID for MIDI mapper
MIDIPATCHSIZE = 128
MIDIPROP_GET = $40000000
MIDIPROP_SET = $80000000
Structures and defines for midiStreamProperty
MIDIPROP_TEMPO = $00000002
MIDIPROP_TIMEDIV = $00000001
These are intentionally both non-zero so the app cannot accidentally
leave the operation off and happen to appear to work due to default
action.
MIDISTRM_ERROR = -2
parm = MIDISTRMBUFFVER struct } { 0x81-0xFF reserved
MIDI_CACHE_ALL = 1
flags for wFlags parm of midiOutCachePatches(), midiOutCacheDrumPatches()
MIDI_CACHE_BESTFIT = 2
MIDI_CACHE_QUERY = 3
MIDI_IO_STATUS = $00000020
flags for dwFlags parm of midiInOpen()
MIDI_MAPPER = UINT(-1)
MIDI_UNCACHE = 4
MIM_CLOSE = MM_MIM_CLOSE
MIM_DATA = MM_MIM_DATA
MIM_ERROR = MM_MIM_ERROR
MIM_LONGDATA = MM_MIM_LONGDATA
MIM_LONGERROR = MM_MIM_LONGERROR
MIM_MOREDATA = MM_MIM_MOREDATA
MIM_OPEN = MM_MIM_OPEN
MIDI callback messages
MIXERCONTROL_CONTROLF_DISABLED = $80000000
MIXERCONTROL_CONTROLF_MULTIPLE = $00000002
MIXERCONTROL_CONTROLF_UNIFORM = $00000001
TMixerControl.fdwControl
MIXERCONTROL_CONTROLTYPE_BASS = (MIXERCONTROL_CONTROLTYPE_FADER + 2)
MIXERCONTROL_CONTROLTYPE_BOOLEAN = (MIXERCONTROL_CT_CLASS_SWITCH or MIXERCONTROL_CT_SC_SWITCH_BOOLEAN or
MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_BOOLEANMETER = (MIXERCONTROL_CT_CLASS_METER or MIXERCONTROL_CT_SC_METER_POLLED or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_BUTTON = (MIXERCONTROL_CT_CLASS_SWITCH or MIXERCONTROL_CT_SC_SWITCH_BUTTON or
MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_CUSTOM = (MIXERCONTROL_CT_CLASS_CUSTOM or MIXERCONTROL_CT_UNITS_CUSTOM)
in 10ths } { Commonly used control types for specifying TMixerControl.dwControlType
MIXERCONTROL_CONTROLTYPE_DECIBELS = (MIXERCONTROL_CT_CLASS_NUMBER or MIXERCONTROL_CT_UNITS_DECIBELS)
MIXERCONTROL_CONTROLTYPE_EQUALIZER = (MIXERCONTROL_CONTROLTYPE_FADER + 4)
MIXERCONTROL_CONTROLTYPE_FADER = (MIXERCONTROL_CT_CLASS_FADER or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXERCONTROL_CONTROLTYPE_LOUDNESS = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4)
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)
MIXERCONTROL_CONTROLTYPE_MIXER = (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1)
MIXERCONTROL_CONTROLTYPE_MONO = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3)
MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT = (MIXERCONTROL_CT_CLASS_LIST or MIXERCONTROL_CT_SC_LIST_MULTIPLE or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_MUTE = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2)
MIXERCONTROL_CONTROLTYPE_MUX = (MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1)
MIXERCONTROL_CONTROLTYPE_ONOFF = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1)
MIXERCONTROL_CONTROLTYPE_PAN = (MIXERCONTROL_CONTROLTYPE_SLIDER + 1)
MIXERCONTROL_CONTROLTYPE_PEAKMETER = (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1)
MIXERCONTROL_CONTROLTYPE_PERCENT = (MIXERCONTROL_CT_CLASS_NUMBER or MIXERCONTROL_CT_UNITS_PERCENT)
MIXERCONTROL_CONTROLTYPE_QSOUNDPAN = (MIXERCONTROL_CONTROLTYPE_SLIDER + 2)
MIXERCONTROL_CONTROLTYPE_SIGNED = (MIXERCONTROL_CT_CLASS_NUMBER or MIXERCONTROL_CT_UNITS_SIGNED)
MIXERCONTROL_CONTROLTYPE_SIGNEDMETER = (MIXERCONTROL_CT_CLASS_METER or MIXERCONTROL_CT_SC_METER_POLLED or MIXERCONTROL_CT_UNITS_SIGNED)
MIXERCONTROL_CONTROLTYPE_SINGLESELECT = (MIXERCONTROL_CT_CLASS_LIST or MIXERCONTROL_CT_SC_LIST_SINGLE or MIXERCONTROL_CT_UNITS_BOOLEAN)
MIXERCONTROL_CONTROLTYPE_SLIDER = (MIXERCONTROL_CT_CLASS_SLIDER or MIXERCONTROL_CT_UNITS_SIGNED)
MIXERCONTROL_CONTROLTYPE_STEREOENH = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5)
MIXERCONTROL_CONTROLTYPE_TREBLE = (MIXERCONTROL_CONTROLTYPE_FADER + 3)
MIXERCONTROL_CONTROLTYPE_UNSIGNED = (MIXERCONTROL_CT_CLASS_NUMBER or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER = (MIXERCONTROL_CT_CLASS_METER or MIXERCONTROL_CT_SC_METER_POLLED or MIXERCONTROL_CT_UNITS_UNSIGNED)
MIXERCONTROL_CONTROLTYPE_VOLUME = (MIXERCONTROL_CONTROLTYPE_FADER + 1)
MIXERCONTROL_CT_CLASS_CUSTOM = $00000000
MIXERCONTROL_CT_CLASS_FADER = $50000000
MIXERCONTROL_CT_CLASS_LIST = $70000000
MIXERCONTROL_CT_CLASS_MASK = $F0000000
MIXERCONTROL_CONTROLTYPE_xxx building block defines
MIXERCONTROL_CT_CLASS_METER = $10000000
MIXERCONTROL_CT_CLASS_NUMBER = $30000000
MIXERCONTROL_CT_CLASS_SLIDER = $40000000
MIXERCONTROL_CT_CLASS_SWITCH = $20000000
MIXERCONTROL_CT_CLASS_TIME = $60000000
MIXERCONTROL_CT_SC_LIST_MULTIPLE = $01000000
MIXERCONTROL_CT_SC_LIST_SINGLE = $00000000
MIXERCONTROL_CT_SC_METER_POLLED = $00000000
MIXERCONTROL_CT_SC_SWITCH_BOOLEAN = $00000000
MIXERCONTROL_CT_SC_SWITCH_BUTTON = $01000000
MIXERCONTROL_CT_SC_TIME_MICROSECS = $00000000
MIXERCONTROL_CT_SC_TIME_MILLISECS = $01000000
MIXERCONTROL_CT_SUBCLASS_MASK = $0F000000
MIXERCONTROL_CT_UNITS_BOOLEAN = $00010000
MIXERCONTROL_CT_UNITS_CUSTOM = $00000000
MIXERCONTROL_CT_UNITS_DECIBELS = $00040000
MIXERCONTROL_CT_UNITS_MASK = $00FF0000
MIXERCONTROL_CT_UNITS_PERCENT = $00050000
in 10ths
MIXERCONTROL_CT_UNITS_SIGNED = $00020000
MIXERCONTROL_CT_UNITS_UNSIGNED = $00030000
MIXERLINE_COMPONENTTYPE_DST_DIGITAL = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 1)
MIXERLINE_COMPONENTTYPE_DST_FIRST = $00000000
TMixerLine.dwComponentType
component types for destinations and sources
MIXERLINE_COMPONENTTYPE_DST_HEADPHONES = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 5)
MIXERLINE_COMPONENTTYPE_DST_LAST = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)
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_TELEPHONE = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 6)
MIXERLINE_COMPONENTTYPE_DST_UNDEFINED = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 0)
MIXERLINE_COMPONENTTYPE_DST_VOICEIN = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 8)
MIXERLINE_COMPONENTTYPE_DST_WAVEIN = (MIXERLINE_COMPONENTTYPE_DST_FIRST + 7)
MIXERLINE_COMPONENTTYPE_SRC_ANALOG = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 9)
MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 5)
MIXERLINE_COMPONENTTYPE_SRC_DIGITAL = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 1)
MIXERLINE_COMPONENTTYPE_SRC_FIRST = $00001000
MIXERLINE_COMPONENTTYPE_SRC_LAST = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10)
MIXERLINE_COMPONENTTYPE_SRC_LINE = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2)
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3)
MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 7)
MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 4)
MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 6)
MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 0)
MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT = (MIXERLINE_COMPONENTTYPE_SRC_FIRST + 8)
MIXERLINE_LINEF_ACTIVE = $00000001
TMixerLine.fdwLine
MIXERLINE_LINEF_DISCONNECTED = $00008000
MIXERLINE_LINEF_SOURCE = $80000000
MIXERLINE_TARGETTYPE_AUX = 5
MIXERLINE_TARGETTYPE_MIDIIN = 4
MIXERLINE_TARGETTYPE_MIDIOUT = 3
MIXERLINE_TARGETTYPE_UNDEFINED = 0
TMixerLine.Target.dwType
MIXERLINE_TARGETTYPE_WAVEIN = 2
MIXERLINE_TARGETTYPE_WAVEOUT = 1
MIXERR_BASE = 1024
MIXERR_INVALCONTROL = (MIXERR_BASE + 1)
MIXERR_INVALLINE = (MIXERR_BASE + 0)
MMRESULT error return values specific to the mixer API
MIXERR_INVALVALUE = (MIXERR_BASE + 2)
MIXERR_LASTERROR = (MIXERR_BASE + 2)
MIXER_GETCONTROLDETAILSF_LISTTEXT = $00000001
MIXER_GETCONTROLDETAILSF_QUERYMASK = $0000000F
MIXER_GETCONTROLDETAILSF_VALUE = $00000000
MIXER_GETLINECONTROLSF_ALL = $00000000
MIXER_GETLINECONTROLSF_ONEBYID = $00000001
MIXER_GETLINECONTROLSF_ONEBYTYPE = $00000002
MIXER_GETLINECONTROLSF_QUERYMASK = $0000000F
MIXER_GETLINEINFOF_COMPONENTTYPE = $00000003
MIXER_GETLINEINFOF_DESTINATION = $00000000
MIXER_GETLINEINFOF_LINEID = $00000002
MIXER_GETLINEINFOF_QUERYMASK = $0000000F
MIXER_GETLINEINFOF_SOURCE = $00000001
MIXER_GETLINEINFOF_TARGETTYPE = $00000004
MIXER_LONG_NAME_CHARS = 64
MIXER_OBJECTF_AUX = $50000000
MIXER_OBJECTF_HANDLE = $80000000
MIXER_OBJECTF_HMIDIIN = (MIXER_OBJECTF_HANDLE or MIXER_OBJECTF_MIDIIN)
MIXER_OBJECTF_HMIDIOUT = (MIXER_OBJECTF_HANDLE or MIXER_OBJECTF_MIDIOUT)
MIXER_OBJECTF_HMIXER = (MIXER_OBJECTF_HANDLE or MIXER_OBJECTF_MIXER)
MIXER_OBJECTF_HWAVEIN = (MIXER_OBJECTF_HANDLE or MIXER_OBJECTF_WAVEIN)
MIXER_OBJECTF_HWAVEOUT = (MIXER_OBJECTF_HANDLE or MIXER_OBJECTF_WAVEOUT)
MIXER_OBJECTF_MIDIIN = $40000000
MIXER_OBJECTF_MIDIOUT = $30000000
MIXER_OBJECTF_MIXER = $00000000
MIXER_OBJECTF_WAVEIN = $20000000
MIXER_OBJECTF_WAVEOUT = $10000000
MIXER_SETCONTROLDETAILSF_CUSTOM = $00000001
MIXER_SETCONTROLDETAILSF_QUERYMASK = $0000000F
MIXER_SETCONTROLDETAILSF_VALUE = $00000000
MIXER_SHORT_NAME_CHARS = 16
MMIOERR_ACCESSDENIED = MMIOERR_BASE + 12
path incorrect
MMIOERR_BASE = 256
*************************************************************************
Multimedia File I/O support
***************************************************************************} { MMIO error return values
MMIOERR_CANNOTCLOSE = MMIOERR_BASE + 4
cannot open
MMIOERR_CANNOTEXPAND = MMIOERR_BASE + 8
cannot seek
MMIOERR_CANNOTOPEN = MMIOERR_BASE + 3
out of memory
MMIOERR_CANNOTREAD = MMIOERR_BASE + 5
cannot close
MMIOERR_CANNOTSEEK = MMIOERR_BASE + 7
cannot write
MMIOERR_CANNOTWRITE = MMIOERR_BASE + 6
cannot read
MMIOERR_CHUNKNOTFOUND = MMIOERR_BASE + 9
cannot expand file
MMIOERR_FILENOTFOUND = MMIOERR_BASE + 1
MMIOERR_INVALIDFILE = MMIOERR_BASE + 16
no more file handles
MMIOERR_NETWORKERROR = MMIOERR_BASE + 14
file in use
MMIOERR_OUTOFMEMORY = MMIOERR_BASE + 2
file not found
MMIOERR_PATHNOTFOUND = MMIOERR_BASE + 11
file is unbuffered
MMIOERR_SHARINGVIOLATION = MMIOERR_BASE + 13
file was protected
MMIOERR_TOOMANYOPENFILES = MMIOERR_BASE + 15
network not responding
MMIOERR_UNBUFFERED = MMIOERR_BASE + 10
chunk not found
MMIOM_CLOSE = 4
open file
MMIOM_OPEN = 3
seek to a new position in file
MMIOM_READ = MMIO_READ
mmioCreateChunk: make a RIFF chunk } { message numbers for MMIOPROC I/O procedure functions
MMIOM_RENAME = 6
write and flush
MMIOM_SEEK = 2
write
MMIOM_USER = $8000
rename specified file
MMIOM_WRITE = MMIO_WRITE
read
MMIOM_WRITEFLUSH = 5
close file
MMIO_ALLOCBUF = $00010000
checks for existence of file
MMIO_COMPAT = $00000000
open file for reading and writing } { share mode numbers (bit field MMIO_SHAREMODE)
MMIO_CREATE = $00001000
file sharing mode number } { constants for dwFlags field of MMIOINFO
MMIO_CREATELIST = $0040
mmioCreateChunk: make a LIST chunk
MMIO_CREATERIFF = $0020
mmioDescend: find a RIFF chunk
MMIO_DEFAULTBUFFER = 8192
seek relative to end of file } { other constants
MMIO_DELETE = $00000200
parse new file returning path
MMIO_DENYNONE = $00000040
deny reading to other processes
MMIO_DENYREAD = $00000030
deny writing to other processes
MMIO_DENYWRITE = $00000020
exclusive-access mode
MMIO_DIRTY = $10000000
mmioOpen() should retrieve temp name
MMIO_EMPTYBUF = $0010
mmioClose: keep file handle open
MMIO_EXCLUSIVE = $00000010
compatibility mode
MMIO_EXIST = $00004000
create new file (or truncate file)
MMIO_FHOPEN = $0010
deny nothing to other processes } { various MMIO flags
MMIO_FINDCHUNK = $0010
mmioInstallIOProc: find an MMIOProc
MMIO_FINDLIST = $0040
mmioDescend: find a LIST chunk
MMIO_FINDPROC = $00040000
mmioInstallIOProc: Unicode MMIOProc
MMIO_FINDRIFF = $0020
mmioDescend: find a chunk by ID
MMIO_GETTEMP = $00020000
mmioOpen() should allocate a buffer
MMIO_GLOBALPROC = $10000000
mmioInstallIOProc: install MMIOProc
MMIO_INSTALLPROC = $00010000
mmioStringToFOURCC: to u-case
MMIO_PARSE = $00000100
create new file (or truncate file)
MMIO_READ = $00000000
I/O buffer is dirty } { read/write mode numbers (bit field MMIO_RWMODE)
MMIO_READWRITE = $00000002
open file for writing only
MMIO_REMOVEPROC = $00020000
mmioInstallIOProc: install globally
MMIO_RWMODE = $00000003
bit field masks
MMIO_SHAREMODE = $00000070
open file for reading/writing/both
MMIO_TOUPPER = $0010
mmioFlush: empty the I/O buffer
MMIO_UNICODEPROC = $01000000
mmioInstallIOProc: remove MMIOProc
MMIO_WRITE = $00000001
open file for reading only
MMSYSERR_ALLOCATED = MMSYSERR_BASE + 4
driver failed enable
MMSYSERR_BADDB = MMSYSERR_BASE + 14
specified alias not found
MMSYSERR_BADDEVICEID = MMSYSERR_BASE + 2
unspecified error
MMSYSERR_BADERRNUM = MMSYSERR_BASE + 9
function isn't supported
MMSYSERR_BASE = 0
*************************************************************************
String resource number bases (internal use)
MMSYSERR_DELETEERROR = MMSYSERR_BASE + 18
registry write error
MMSYSERR_ERROR = MMSYSERR_BASE + 1
no error
MMSYSERR_HANDLEBUSY = MMSYSERR_BASE + 12
invalid parameter passed
MMSYSERR_INVALFLAG = MMSYSERR_BASE + 10
error value out of range
MMSYSERR_INVALHANDLE = MMSYSERR_BASE + 5
device already allocated
MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13
handle being used
simultaneously on another
thread (eg callback)
MMSYSERR_INVALPARAM = MMSYSERR_BASE + 11
invalid flag passed
MMSYSERR_KEYNOTFOUND = MMSYSERR_BASE + 15
bad registry database
MMSYSERR_LASTERROR = MMSYSERR_BASE + 20
driver does not call DriverCallback
MMSYSERR_NODRIVER = MMSYSERR_BASE + 6
device handle is invalid
MMSYSERR_NODRIVERCB = MMSYSERR_BASE + 20
registry value not found
MMSYSERR_NOERROR = 0
*************************************************************************
General error return values
***************************************************************************} { general error return values
MMSYSERR_NOMEM = MMSYSERR_BASE + 7
no device driver present
MMSYSERR_NOTENABLED = MMSYSERR_BASE + 3
device ID out of range
MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8
memory allocation error
MMSYSERR_READERROR = MMSYSERR_BASE + 16
registry key not found
MMSYSERR_VALNOTFOUND = MMSYSERR_BASE + 19
registry delete error
MMSYSERR_WRITEERROR = MMSYSERR_BASE + 17
registry read error
mmsyst = 'winmm.dll'
MM_ADLIB = 9
Sound Blaster waveform input
MM_DRVM_CLOSE = $3D1
MM_DRVM_DATA = $3D2
MM_DRVM_ERROR = $3D3
MM_DRVM_OPEN = $3D0
MM_JOY1BUTTONDOWN = $3B5
MM_JOY1BUTTONUP = $3B7
MM_JOY1MOVE = $3A0
*************************************************************************
Multimedia Extensions Window Messages
***************************************************************************} { joystick
MM_JOY1ZMOVE = $3A2
MM_JOY2BUTTONDOWN = $3B6
MM_JOY2BUTTONUP = $3B8
MM_JOY2MOVE = $3A1
MM_JOY2ZMOVE = $3A3
MM_MCINOTIFY = $3B9
MCI
MM_MCISIGNAL = $3CB
MM_MICROSOFT = 1
max oem vxd name length (including nil) } {***************************************************************************
Manufacturer and product IDs
Used with wMid and wPid fields in WAVEOUTCAPS, WAVEINCAPS,
MIDIOUTCAPS, MIDIINCAPS, AUXCAPS, JOYCAPS structures.
***************************************************************************} { manufacturer IDs
MM_MIDI_MAPPER = 1
Microsoft Corp. } { product IDs
MM_MIM_CLOSE = $3C2
MM_MIM_DATA = $3C3
MM_MIM_ERROR = $3C5
MM_MIM_LONGDATA = $3C4
MM_MIM_LONGERROR = $3C6
MM_MIM_MOREDATA = $3CC
MM_MIM_OPEN = $3C1
MIDI input
MM_MIXM_CONTROL_CHANGE = $3D1
MM_MIXM_LINE_CHANGE = $3D0
MM_MOM_CLOSE = $3C8
MM_MOM_DONE = $3C9
MM_MOM_OPEN = $3C7
MIDI output
MM_MOM_POSITIONCB = $3CA
MM_MPU401_MIDIIN = 11
MPU401-compatible MIDI output port
MM_MPU401_MIDIOUT = 10
Ad Lib-compatible synthesizer
MM_PC_JOYSTICK = 12
MPU401-compatible MIDI input port
MM_SNDBLST_MIDIIN = 4
Sound Blaster MIDI output port
MM_SNDBLST_MIDIOUT = 3
Wave Mapper
MM_SNDBLST_SYNTH = 5
Sound Blaster MIDI input port
MM_SNDBLST_WAVEIN = 7
Sound Blaster waveform output
MM_SNDBLST_WAVEOUT = 6
Sound Blaster internal synthesizer
MM_STREAM_CLOSE = $3D5
MM_STREAM_DONE = $3D6
MM_STREAM_ERROR = $3D7
MM_STREAM_OPEN = $3D4
MM_WAVE_MAPPER = 2
MIDI Mapper
MM_WIM_CLOSE = $3BF
MM_WIM_DATA = $3C0
MM_WIM_OPEN = $3BE
waveform input
MM_WOM_CLOSE = $3BC
MM_WOM_DONE = $3BD
MM_WOM_OPEN = $3BB
waveform output
MOD_FMSYNTH = 4
square wave internal synth
MOD_MAPPER = 5
FM internal synth
MOD_MIDIPORT = 1
flags for wTechnology field of MIDIOUTCAPS structure
MOD_SQSYNTH = 3
generic internal synth
MOD_SYNTH = 2
output port
MOM_CLOSE = MM_MOM_CLOSE
MOM_DONE = MM_MOM_DONE
MOM_OPEN = MM_MOM_OPEN
MOM_POSITIONCB = MM_MOM_POSITIONCB
NEWTRANSPARENT = 3
*************************************************************************
DISPLAY Driver extensions
QUERYROPSUPPORT = 40
use with SetBkMode()
SC_SCREENSAVE = $F140
*************************************************************************
ScreenSaver support
The current application will receive a syscommand of SC_SCREENSAVE just
before the screen saver is invoked. If the app wishes to prevent a
screen save, return a non-zero value, otherwise call DefWindowProc().
SEEK_CUR = 1
seek to an absolute position
SEEK_END = 2
seek relative to current position
SEEK_SET = 0
'MEM '} { flags for mmioSeek()
SELECTDIB = 41
use to determine ROP support } {***************************************************************************
DIB Driver extensions
SND_ALIAS = $00010000
don't wait if the driver is busy
SND_ALIAS_ID = $00110000
name is a registry alias
SND_ALIAS_START = 0
look for application specific association
SND_ALIAS_SYSTEMASTERISK = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('*')) shl 8))
alias base
SND_ALIAS_SYSTEMDEFAULT = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('D')) shl 8))
SND_ALIAS_SYSTEMEXCLAMATION = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('!')) shl 8))
SND_ALIAS_SYSTEMEXIT = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('E')) shl 8))
SND_ALIAS_SYSTEMHAND = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('H')) shl 8))
SND_ALIAS_SYSTEMQUESTION = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('?')) shl 8))
SND_ALIAS_SYSTEMSTART = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('S')) shl 8))
SND_ALIAS_SYSTEMWELCOME = SND_ALIAS_START + (Longint(Ord('S')) or (Longint(Ord('W')) shl 8))
SND_APPLICATION = $0080
purge non-static events for task
SND_ASYNC = $0001
play synchronously (default)
SND_FILENAME = $00020000
alias is a predefined ID
SND_LOOP = $0008
lpszSoundName points to a memory file
SND_MEMORY = $0004
don't use default sound
SND_NODEFAULT = $0002
play asynchronously
SND_NOSTOP = $0010
loop the sound until next sndPlaySound
SND_NOWAIT = $00002000
don't stop any currently playing sound
SND_PURGE = $0040
name is resource name or atom
SND_RESOURCE = $00040004
name is file name
SND_SYNC = $0000
flag values for wFlags parameter
TIMERR_BASE = 96
TIMERR_NOCANDO = TIMERR_BASE+1
no error
TIMERR_NOERROR = 0
*************************************************************************
Timer support
***************************************************************************} { timer error return values
TIMERR_STRUCT = TIMERR_BASE+33
request not completed
TIME_BYTES = $0004
number of wave samples
TIME_CALLBACK_EVENT_PULSE = $0020
callback is event - use SetEvent
TIME_CALLBACK_EVENT_SET = $0010
callback is function
TIME_CALLBACK_FUNCTION = $0000
program for continuous periodic event
TIME_MIDI = $0010
SMPTE time
TIME_MS = $0001
error return code, 0 means no error } { types for wType field in MMTIME struct
TIME_ONESHOT = 0
flags for wFlags parameter of timeSetEvent() function
TIME_PERIODIC = 1
program timer for single event
TIME_SAMPLES = $0002
time in milliseconds
TIME_SMPTE = $0008
current byte offset
TIME_TICKS = $0020
MIDI time
WAVECAPS_DIRECTSOUND = $0040
WAVECAPS_LRVOLUME = $0008
supports volume control
WAVECAPS_PITCH = $0001
flags for dwSupport field of WAVEOUTCAPS
WAVECAPS_PLAYBACKRATE = $0002
supports pitch control
WAVECAPS_SAMPLEACCURATE = $0020
WAVECAPS_SYNC = $0010
separate left-right volume control
WAVECAPS_VOLUME = $0004
supports playback rate control
WAVERR_BADFORMAT = WAVERR_BASE + 0
*************************************************************************
Waveform audio support
***************************************************************************} { waveform audio error return values
WAVERR_BASE = 32
WAVERR_LASTERROR = WAVERR_BASE + 3
device is synchronous
WAVERR_STILLPLAYING = WAVERR_BASE + 1
unsupported wave format
WAVERR_SYNC = WAVERR_BASE + 3
header not prepared
WAVERR_UNPREPARED = WAVERR_BASE + 2
still something playing
WAVE_ALLOWSYNC = $0002
WAVE_FORMAT_1M08 = $00000001
invalid format
WAVE_FORMAT_1M16 = $00000004
11.025 kHz, Stereo, 8-bit
WAVE_FORMAT_1S08 = $00000002
11.025 kHz, Mono, 8-bit
WAVE_FORMAT_1S16 = $00000008
11.025 kHz, Mono, 16-bit
WAVE_FORMAT_2M08 = $00000010
11.025 kHz, Stereo, 16-bit
WAVE_FORMAT_2M16 = $00000040
22.05 kHz, Stereo, 8-bit
WAVE_FORMAT_2S08 = $00000020
22.05 kHz, Mono, 8-bit
WAVE_FORMAT_2S16 = $00000080
22.05 kHz, Mono, 16-bit
WAVE_FORMAT_4M08 = $00000100
22.05 kHz, Stereo, 16-bit
WAVE_FORMAT_4M16 = $00000400
44.1 kHz, Stereo, 8-bit
WAVE_FORMAT_4S08 = $00000200
44.1 kHz, Mono, 8-bit
WAVE_FORMAT_4S16 = $00000800
44.1 kHz, Mono, 16-bit
WAVE_FORMAT_PCM = 1
flags for wFormatTag field of WAVEFORMAT
WAVE_FORMAT_QUERY = $0001
flags for dwFlags parameter in waveOutOpen() and waveInOpen()
WAVE_INVALIDFORMAT = $00000000
defines for dwFormat field of WAVEINCAPS and WAVEOUTCAPS
WAVE_MAPPED = $0004
WAVE_MAPPER = UINT(-1)
device ID for wave device mapper
WHDR_BEGINLOOP = $00000004
set if this header has been prepared
WHDR_DONE = $00000001
flags for dwFlags field of WAVEHDR
WHDR_ENDLOOP = $00000008
loop start block
WHDR_INQUEUE = $00000010
loop end block
WHDR_PREPARED = $00000002
done bit
WIM_CLOSE = MM_WIM_CLOSE
WIM_DATA = MM_WIM_DATA
WIM_OPEN = MM_WIM_OPEN
WOM_CLOSE = MM_WOM_CLOSE
WOM_DONE = MM_WOM_DONE
WOM_OPEN = MM_WOM_OPEN
wave callback messages