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