12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537 |
- {
- $Id$
- Copyright (c) 1991, 1992, 1993 International Business Machines Corporation
- Copyright (c) 2002 by Andry Svirgunov ([email protected])
- Copyright (c) 2002-2003 by Yuri Prokushev ([email protected])
- This is Media Control Interface of MMPM/2
- This program is free software; you can redistribute it and/or modify it
- under the terms of the GNU Library General Public License (LGPL) as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version. This program is
- distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.
- See the GNU Library General Public License for more details. You should
- have received a copy of the GNU Library General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- **********************************************************************}
- {
- @abstract(Media Control Interface of MMPM/2)
- @author(Andry Svirgunov ([email protected]))
- @author(Yuri Prokushev ([email protected]))
- @created(29 Nov 2002)
- @lastmod(05 Dec 2002)
- This is Media Control Interface of MMPM/2.
- Warning: This code is alfa. Future versions of this unit will propably
- not be compatible.
- }
- Unit mci;
- Interface
- Uses
- mmbase,
- os2def,
- pmgpi;
- Const
- MCI_TRUE = 1;
- MCI_FALSE = 0;
- // MCI command message identifiers
- MCI_OPEN = 1;
- MCI_CLOSE = 2;
- MCI_ESCAPE = 3;
- MCI_PLAY = 4;
- MCI_SEEK = 5;
- MCI_STOP = 6;
- MCI_PAUSE = 7;
- MCI_INFO = 8;
- MCI_GETDEVCAPS = 9;
- MCI_STATUS = 10;
- MCI_SPIN = 11;
- MCI_SET = 12;
- MCI_STEP = 13;
- MCI_RECORD = 14;
- MCI_SYSINFO = 15;
- MCI_SAVE = 16;
- MCI_CUE = 17;
- MCI_UPDATE = 18;
- MCI_SET_CUEPOINT = 19;
- MCI_SET_POSITION_ADVISE = 20;
- MCI_SET_SYNC_OFFSET = 21;
- MCI_LOAD = 22;
- MCI_ACQUIREDEVICE = 23;
- MCI_RELEASEDEVICE = 24;
- MCI_MASTERAUDIO = 25;
- MCI_GETTOC = 26;
- MCI_DEVICESETTINGS = 27;
- MCI_CONNECTOR = 28;
- MCI_RESUME = 29;
- MCI_CONNECTORINFO = 31;
- MCI_DEFAULT_CONNECTION = 32;
- MCI_CONNECTION = 33;
- MCI_GROUP = 34;
- MCI_NETWORD_DEFAULT_CONNECTION= 35;
- // MCI command message identifiers reserved for Digital Video and Video Overlay
- MCI_CAPTURE = 40;
- MCI_FREEZE = 41;
- MCI_GETIMAGEBUFFER = 42;
- MCI_GETIMAGEPALETTE = 43;
- MCI_PUT = 44;
- MCI_REALIZE = 45;
- MCI_REWIND = 46;
- MCI_RESTORE = 47;
- MCI_SETIMAGEBUFFER = 48;
- MCI_SETIMAGEPALETTE = 49;
- MCI_UNFREEZE = 50;
- MCI_WHERE = 51;
- MCI_WINDOW = 52;
- MCI_DELETE = 53;
- MCI_CUT = 54;
- MCI_PASTE = 55;
- MCI_COPY = 56;
- MCI_REDO = 57;
- MCI_UNDO = 58;
- MCI_MIXNOTIFY = 59;
- MCI_SETTUNER = 60;
- MCI_FILTER = 61;
- MCI_BUFFER = 62;
- MCI_MIXSETUP = 63;
- MCI_MAX_COMMAND = 64;
- Type
- RECT = LongInt;
- HDCT = LongInt;
- Const
- // this and all subsequent message ID's are reserved for the user
- MCI_USER_MESSAGES = 2000;
- // Special Device ID for "all"
- MCI_ALL_DEVICE_ID = $FFFF;
- // MCI implementation limits
- MAX_DEVICE_NAME = 20;
- MAX_ALIAS_NAME = 20;
- MAX_PRODINFO = 40;
- MAX_EXTENSION_NAME = 4;
- MAX_DEV_PARAMS = 128;
- MAX_VERSION_NUMBER = 6;
- MAX_PDD_NAME = 9;
- MAX_DLL_NAME = 260;
- MAX_CLASSES = 10;
- MAX_CONNECTORS = 10;
- MAX_EXTENSIONS = 25;
- MAX_TYPEBUFFER = 256;
- // MCI Device Type Constants
- MCI_DEVTYPE_VIDEOTAPE = 1;
- MCI_DEVTYPE_VIDEODISC = 2;
- MCI_DEVTYPE_CD_AUDIO = 3;
- MCI_DEVTYPE_DAT = 4;
- MCI_DEVTYPE_AUDIO_TAPE = 5;
- MCI_DEVTYPE_OTHER = 6;
- MCI_DEVTYPE_WAVEFORM_AUDIO = 7;
- MCI_DEVTYPE_SEQUENCER = 8;
- MCI_DEVTYPE_AUDIO_AMPMIX = 9;
- MCI_DEVTYPE_OVERLAY = 10;
- MCI_DEVTYPE_ANIMATION = 11;
- MCI_DEVTYPE_DIGITAL_VIDEO = 12;
- MCI_DEVTYPE_SPEAKER = 13;
- MCI_DEVTYPE_HEADPHONE = 14;
- MCI_DEVTYPE_MICROPHONE = 15;
- MCI_DEVTYPE_MONITOR = 16;
- MCI_DEVTYPE_CDXA = 17;
- MCI_DEVTYPE_FILTER = 18;
- MCI_DEVTYPE_TTS = 19;
- // MCI Device Type Names
- MCI_DEVTYPE_VIDEOTAPE_NAME = 'Videotape';
- MCI_DEVTYPE_VIDEODISC_NAME = 'Videodisc';
- MCI_DEVTYPE_CD_AUDIO_NAME = 'CDaudio';
- MCI_DEVTYPE_DAT_NAME = 'DAT';
- MCI_DEVTYPE_AUDIO_TAPE_NAME = 'Audiotape';
- MCI_DEVTYPE_OTHER_NAME = 'Other';
- MCI_DEVTYPE_WAVEFORM_AUDIO_NAME = 'Waveaudio';
- MCI_DEVTYPE_SEQUENCER_NAME = 'Sequencer';
- MCI_DEVTYPE_AUDIO_AMPMIX_NAME = 'Ampmix';
- MCI_DEVTYPE_OVERLAY_NAME = 'Overlay';
- MCI_DEVTYPE_ANIMATION_NAME = 'Animation';
- MCI_DEVTYPE_DIGITAL_VIDEO_NAME= 'Digitalvideo';
- MCI_DEVTYPE_SPEAKER_NAME = 'Speaker';
- MCI_DEVTYPE_HEADPHONE_NAME = 'Headphone';
- MCI_DEVTYPE_MICROPHONE_NAME = 'Microphone';
- MCI_DEVTYPE_MONITOR_NAME = 'Monitor';
- MCI_DEVTYPE_CDXA_NAME = 'CDXA';
- MCI_DEVTYPE_FILTER_NAME = 'Filter';
- MCI_DEVTYPE_TTS_NAME = 'Texttospeech';
- MCI_MAX_SYSTEM_DEVICE_NAMES = 19;
- // Getdevcaps, set, and status item base values
- MCI_AMP_ITEM_BASE = $1000;
- MCI_CD_ITEM_BASE = $2000;
- MCI_CDXA_ITEM_BASE = $3000;
- MCI_VD_ITEM_BASE = $4000;
- MCI_SEQ_ITEM_BASE = $5000;
- MCI_WAVE_ITEM_BASE = $6000;
- MCI_VID_ITEM_BASE = $7000;
- MCI_DGV_ITEM_BASE = $8000;
- MCI_OVLY_ITEM_BASE = $9000;
- // Flags for mciDriverNotify
- MCI_NOTIFY_SUCCESSFUL = $0000;
- MCI_NOTIFY_SUPERSEDED = $0001;
- MCI_NOTIFY_ABORTED = $0002;
- MCI_NOTIFY_ERROR = $0003;
- // mciDriverNotify Message Types
- MM_MCINOTIFY = $0500;
- MM_MCIPASSDEVICE = $0501;
- MM_MCIPOSITIONCHANGE = $0502;
- MM_MCICUEPOINT = $0503;
- MM_MCIPLAYLISTMESSAGE = $0504;
- MM_MCIEVENT = $0505;
- MM_MCISYNCH = $0506;
- MCI_LOSING_USE = $00000001;
- MCI_GAINING_USE = $00000002;
- // Common message flags 0x000000XX are reserved for common flags */
- MCI_NOTIFY = $00000001;
- MCI_WAIT = $00000002;
- MCI_FROM = $00000004;
- MCI_TO = $00000008;
- MCI_MILLISECONDS = $00000010;
- MCI_TRACK = $00000020;
- MCI_OVER = $00000040;
- MCI_TEST = $00000080;
- MCI_TO_BUFFER = $00000100;
- MCI_FROM_BUFFER = $00000200;
- MCI_CONVERT_FORMAT = $00000400;
- // Time formats
- MCI_FORMAT_MILLISECONDS = $00000001;
- MCI_FORMAT_mmTime = $00000002;
- MCI_FORMAT_MSF = $00000005;
- MCI_FORMAT_TMSF = $00000006;
- MCI_FORMAT_CHAPTERS = $00000007;
- MCI_FORMAT_FRAMES = $00000008;
- MCI_FORMAT_HMS = $00000009;
- MCI_FORMAT_TRACKS = $0000000A;
- MCI_FORMAT_BYTES = $0000000B;
- MCI_FORMAT_SAMPLES = $0000000C;
- MCI_FORMAT_HMSF = $0000000D;
- MCI_FORMAT_SET_SMPTE_24 = $0000000E;
- MCI_FORMAT_SET_SMPTE_25 = $0000000F;
- MCI_FORMAT_SET_SMPTE_30 = $00000010;
- MCI_FORMAT_SET_SMPTE_30DROP = $00000011;
- MCI_FORMAT_SET_SONGPTR = $00000012;
- MCI_FORMAT_uSec = $00000013;
- // Speed formats
- MCI_FORMAT_PERCENTAGE = $00000003;
- MCI_FORMAT_FPS = $00000004;
- // Time format conversions functions
- function mSecFromMM(Value: mmTime): LongInt;
- function mSecToMM(Value: Cardinal): mmTime;
- function RedBookToMM(Value: Cardinal): mmTime;
- function fps24ToMM(Value: Cardinal): mmTime;
- function fps25ToMM(Value: Cardinal): mmTime;
- function fps30ToMM(Value: Cardinal): mmTime;
- function HMSToMM(Value: Cardinal): mmTime;
- // The +20 is used for rounding purposes. It is derived by:
- // 1/2 * ((300 MMTIME/SEC / (75 FRAMES/SEC)) = 20 MMTIME/HALF-FRAME
- function RedBookFromMM(Value: mmTime): Cardinal;
- function FPS24FromMM(Value: mmTime): Cardinal;
- function FPS25FromMM(value: mmTime): Cardinal;
- function FPS30FromMM(value: mmTime): Cardinal;
- function HMSFromMM(value: mmTime): Cardinal;
- function tmsf_track(time: mmTime): Byte;
- function tmsf_minute(time: mmTime): Byte;
- function tmsf_second(time: mmTime): Byte;
- function tmsf_frame(time: mmTime): Byte;
- function msf_minute(time: mmTime): Byte;
- function msf_second(time: mmTime): Byte;
- function msf_frame(time: mmTime): Byte;
- // BYTE ACCESS WITH A DWORD MACROS
- function uLong_lwlb(var ul): Byte; // Low word low byte
- function uLong_lwhb(var ul): Byte; // Low word high byte
- function uLong_hwlb(var ul): Byte; // High word low byte
- function uLong_hwhb(var ul): Byte; // High word high byte
- function uLong_lowd(var ul): Word; // Low word
- function uLong_hiwd(var ul): Word; // High word
- // parameters for default command messages with empty parameter lists
- type
- mci_Generic_Parms = record
- hwndCallback : hwnd;
- end;
- pmci_Generic_Parms = ^mci_Generic_Parms;
- // flags for the MCI_ACQUIREDEVICE message
- // 0x00000X00 are reserved for MCI_ACQUIREDEVICE flags
- Const
- MCI_EXCLUSIVE = $00000100;
- MCI_EXCLUSIVE_INSTANCE = $00000200;
- MCI_ACQUIRE_QUEUE = $00000400;
- // flags for the MCI_CAPTURE message */
- // 0x0000XX00 are reserved for MCI_CAPTURE flags */
- // MCI_CONVERT is used by MCI_GETIMAGEBUFFER, MCI_SETIMAGEBUFFER */
- // MCI_CAPTURE, and MCI_RESTORE */
- MCI_CAPTURE_RECT = $00000100;
- MCI_CONVERT = $00001000;
- type
- // parameter structure for the MCI_CAPTURE message */
- mci_Capture_Parms = record
- hwndCallback : hwnd;
- Rect : RectL;
- end;
- pmci_Capture_Parms = ^mci_Capture_Parms;
- // flags for MCI_CONNECTOR and MCI_CONNECTION messages */
- Const
- MCI_ENABLE_CONNECTOR = $00000100;
- MCI_DISABLE_CONNECTOR = $00000200;
- MCI_QUERY_CONNECTOR_STATUS = $00000400;
- MCI_CONNECTOR_TYPE = $00000800;
- MCI_CONNECTOR_INDEX = $00001000;
- MCI_TO_CONNECTOR_INDEX = $00002000;
- MCI_TO_CONNECTOR_TYPE = $00004000;
- MCI_QUERY_CONNECTION = $00008000;
- MCI_MAKE_CONNECTION = $00010000;
- MCI_BREAK_CONNECTION = $00020000;
- MCI_ENUMERATE_CONNECTORS = $00040000;
- MCI_QUERY_CONNECTOR_TYPE = $00080000;
- MCI_QUERY_VALID_CONNECTION = $00100000;
- MCI_CONNECTOR_ALIAS = $00200000;
- MCI_EXTERNAL_CONNECTION = $00400000;
- // Connector types
- MCI_MIDI_STREAM_CONNECTOR = $00000001;
- MCI_CD_STREAM_CONNECTOR = $00000002;
- MCI_WAVE_STREAM_CONNECTOR = $00000003;
- MCI_AMP_STREAM_CONNECTOR = $00000004;
- MCI_XA_STREAM_CONNECTOR = $00000005;
- MCI_HEADPHONES_CONNECTOR = $00000006;
- MCI_SPEAKERS_CONNECTOR = $00000007;
- MCI_MICROPHONE_CONNECTOR = $00000008;
- MCI_LINE_IN_CONNECTOR = $00000009;
- MCI_LINE_OUT_CONNECTOR = $0000000a;
- MCI_VIDEO_IN_CONNECTOR = $0000000b;
- MCI_VIDEO_OUT_CONNECTOR = $0000000c;
- MCI_PHONE_SET_CONNECTOR = $0000000d;
- MCI_PHONE_LINE_CONNECTOR = $0000000e;
- MCI_AUDIO_IN_CONNECTOR = $0000000f;
- MCI_AUDIO_OUT_CONNECTOR = $00000010;
- MCI_UNIVERSAL_CONNECTOR = $00000011;
- MCI_INTERNAL_AUDIO_CONNECTOR = $00000012;
- MCI_MIDI_IN_CONNECTOR = $00000013;
- MCI_MIDI_OUT_CONNECTOR = $00000014;
- MCI_NULL_CONNECTOR = $00000015;
- Type
- // parameter structure for the MCI_CONNECTION message
- mci_Connection_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulConnectorType : LongInt; // Connector type
- ulConnectorIndex : LongInt; // Connector index
- pszAlias : pChar; // Connection device alias
- usToDeviceID : Integer; // Connected to device ID
- usReserved0 : Integer; // Reserved field
- ulReserved1 : LongInt; // Reserved field
- ulReserved2 : LongInt; // Reserved field
- end;
- pmci_Connection_Parms = ^mci_Connection_Parms;
- //********************************************************************/
- // parameter structure for the MCI_CONNECTOR message */
- //********************************************************************/
- mci_Connector_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulReturn : LongInt; // Return information
- ulConnectorType : LongInt; // If specified, ulConnectorIndex is relative
- // to the specified connector type
- ulConnectorIndex : LongInt; // Connector number
- end;
- pmci_Connector_Parms = ^mci_Connector_Parms;
- //********************************************************************/
- // Flags for use with ulParam1 */
- //********************************************************************/
- CONST
- MCI_MIXSETUP_INIT =$00010000;
- MCI_MIXSETUP_DEINIT =$00020000;
- MCI_MIXSETUP_QUERYMODE =$00040000;
- //********************************************************************/
- // parameter structure for the MCI_BUFFER message */
- //********************************************************************/
- Type
- mci_mix_buffer = record
- ulStructLength:LongInt; // Length of the structure */
- pBuffer:Pointer; // Pointer to a buffer */
- ulBufferLength:LongInt; // Length of the buffer */
- ulFlags:LongInt; // Flags */
- ulUserParm:LongInt; // Caller parameter */
- ulTime:LongInt; // OUT--Current time in MS */
- ulReserved1:LongInt; // Unused. */
- ulReserved2:LongInt; // Unused. */
- end;
- PMCI_MIX_BUFFER=^mci_mix_buffer;
- //********************************************************************/
- // valid options for the ulFlags field of MCI_MIX_BUFFER */
- //********************************************************************/
- CONST
- MIX_BUFFER_EOS =$00000001;
- type
- MixerProc=Function(ulHandle:LongInt;pBuffer:PMCI_MIX_BUFFER;ulFlags:LongInt):Longint; cdecl;
- MixerEvent=Function(ulStatus:LongInt;pBuffer:PMCI_MIX_BUFFER;ulFlags:LongInt):LongInt; cdecl;
- //********************************************************************/
- // valid returns for the ulFlags param of the MIXEREVENT entry */
- //********************************************************************/
- CONST
- MIX_STREAM_ERROR =$00000080;
- MIX_READ_COMPLETE =$00000001;
- MIX_WRITE_COMPLETE =$00000002;
- //********************************************************************/
- // parameter structure for the MCI_MIXSETUP_PARMS message */
- //********************************************************************/
- TYPE MCI_MIXSETUP_PARMS = record
- hwndCallback:HWND; // PM window handle for MCI notify message */
- ulBitsPerSample:LongInt; // IN Number of Bits per Sample */
- ulFormatTag:LongInt; // IN Format Tag */
- ulSamplesPerSec:LongInt; // IN Sampling Rate */
- ulChannels:LongInt; // IN Number of channels */
- ulFormatMode:LongInt; // IN Either MCI_RECORD or MCI_PLAY */
- ulDeviceType:LongInt; // IN MCI_DEVTYPE (i.e. DEVTYPE_WAVEFORM etc.) */
- ulMixHandle:LongInt; // OUT--mixer returns handle for write/read */
- pmixWrite:MixerProc; // OUT-Mixer Write Routine entry point */
- pmixRead:MixerProc; // OUT-Mixer Read Routine entry point */
- pmixEvent:MixerEvent; // IN--Mixer Read Routine entry point */
- pExtendedInfo:Pointer; // Ptr to extended wave information */
- ulBufferSize:longInt; // OUT--suggested buffer size for current mode */
- ulNumBuffers:LongInt; // OUT--suggested # of buffers for current mode */
- end;
- pmci_mixsetup_parms=^mci_mixsetup_parms;
- //********************************************************************/
- // Flags for use with ulParam1 */
- //********************************************************************/
- CONST
- MCI_BUFFER_QUERY =$00010000;
- MCI_BUFFER_SET =$00020000;
- MCI_ALLOCATE_MEMORY =$00040000;
- MCI_DEALLOCATE_MEMORY =$00080000;
- //********************************************************************/
- // parameter structure for the MCI_BUFFER message */
- //********************************************************************/
- type mci_buffer_parms=record
- hwndCallback:hwnd; // PM window handle for MCI notify message */
- ulStructLength:longint; // Length of the MCI Buffer command */
- ulNumBuffers:longInt; // Number of buffers MCI driver should use */
- ulBufferSize:longint; // Size of buffers MCI driver should use */
- ulMinToStart:longint; // Min number of buffers to create a stream. */
- ulSrcStart:longint; // # of EMPTY buffers required to start Source*/
- ulTgtStart:longint; // # of FULL buffers required to start Target */
- pBufList:pointer; // Pointer to a list of buffers */
- end;
- pmci_buffer_parms=^mci_buffer_parms;
- //********************************************************************/
- // parameter structure for the MCI_CONNECTORINFO message */
- //********************************************************************/
- mci_ConnectorInfo_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulReturn : Longint; // Return information
- ulDeviceTypeID : Longint; // MCI device type
- ulConnectorType : Longint; // If specified, ulConnectorIndex is relative
- // to the specified connector type
- ulConnectorIndex : Longint; // Connector number
- ulToConnectorType: Longint; // Connector type to test if
- // MCI_QUERY_VALID_CONNECTION is specified
- end;
- pmci_ConnectorInfo_Parms = ^mci_ConnectorInfo_Parms;
- //********************************************************************/
- // flags for the MCI_CUE message */
- // 0x00000x00 are reserved for MCI_CUE flags */
- //********************************************************************/
- CONST
- MCI_CUE_INPUT = $00000100;
- MCI_CUE_OUTPUT = $00000200;
- MCI_SHOW = $00000400;
- MCI_NOSHOW = $00000800;
- //************************************************/
- // Additional flags for Wave Audio for MCI_CUE */
- //************************************************/
- MCI_WAVE_INPUT = $00001000;
- MCI_WAVE_OUTPUT = $00002000;
- //****************************************************************************/
- // the MCI_CONNLIST structure used in the NETWORK_DEFAULT_CONNECTION message */
- //****************************************************************************/
- type mci_connlist=record
- ulFromDevice: LongInt; // Ordinal position of device within pDevices array */
- ulSrcConnType: LongInt; // Type of source connector */
- ulSrcConnNum: LongInt; // Source Connector Number */
- ulToDevice: LongInt; // Ordinal position of device within pDevices array */
- ulTgtConnType: LongInt; // Type of target connector */
- ulTgtConnNum: Longint; // Target Connector Number */
- end;
- pmci_connlist=^mci_connlist;
- //****************************************************************************/
- // parameter structure for the MCI_NETWORK_DEFAULT_CONNECTION message */
- //****************************************************************************/
- type mci_network_default_connection_parms=record
- hwndCallback:HWND; // PM window handle for MCI notify message */
- szInstallName:ARRAY [0..MAX_DEVICE_NAME] of Char; // Name of section containing default conn. */
- ulNumDevices:LongInt; // Number of additional devices in connection */
- ulNumPlayConnections:LongInt; // Number of Play connections */
- ulNumRecordConnections:LongInt; // Number of Record connections */
- pDevices:ARRAY [0..MAX_DEVICE_NAME] of ^Char; // Pointer to array of device names to open */
- pPlayConnections:PMCI_CONNLIST; // Pointer to array of connections to "make" */
- pRecordConnections:PMCI_CONNLIST; // Pointer to array of connections to "make" */
- end;
- type pmci_network_default_connection_parms=^mci_network_default_connection_parms;
- //******************************************************/
- // Additional flags for MCI_NETWORK_DEFAULT_CONNECTION */
- //******************************************************/
- CONST
- MCI_RECORD_DEFAULTS =$00000004;
- MCI_PLAY_DEFAULTS =$00000008;
- //********************************************************************/
- // parameter structure for the MCI_DEFAULT_CONNECTION message */
- //********************************************************************/
- type mci_Default_Connection_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- pszDevice : pChar; // Device name
- ulConnectorType : LongInt; // If specified, ulConnectorIndex is relative
- // to the specified connector type
- ulConnectorIndex : LongInt; // Connector number
- pszToDevice : pChar; // Return device name to which the connection exists
- ulToConnectorType: LongInt; // Connector type
- ulToConnectorIndex:LongInt; // Connector number
- end;
- pmci_Default_Connection_Parms = ^mci_Default_Connection_Parms;
- //********************************************************************/
- // parameter structure for the MCI_DEVICESETTINGS message */
- //********************************************************************/
- mci_DeviceSettings_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- hwndNotebook : hwnd; // Hwhd to notebook window
- usDeviceType : Integer; // Device type
- pszDeviceName : pChar; // Device name
- end;
- pmci_DeviceSettings_Parms = ^mci_DeviceSettings_Parms;
- //*********************************************************************/
- // parameter structure for the MCI_CUT / COPY / DELETE / UNDO / etc...*/
- //*********************************************************************/
- mci_Edit_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulStructLen : Longint; // Length of the Structure
- ulFrom : Longint; // Beginning Point of Range
- ulTo : Longint; // ending point of range
- pBuff : Pointer; // user buffer
- ulBufLen : Longint; // length of user buffer
- pHeader : Pointer; // header which describes the buffer
- end;
- pmci_Edit_Parms = ^mci_Edit_Parms;
- //********************************************************************/
- // flags and parameter structure for the MCI_ESCAPE message */
- // 0x00000X00 are reserved for MCI_ESCAPE flags */
- //********************************************************************/
- const
- mci_Escape_String = $00000100;
- type
- mci_Escape_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- pszCommand : pChar; // Command to send to the device
- end;
- pmci_Escape_Parms = ^mci_Escape_Parms;
- //********************************************************************/
- // flags for the MCI_FREEZE message */
- // 0x0000XX00 are reserved for MCI_FREEZE flags */
- //********************************************************************/
- CONST
- MCI_OVLY_FREEZE_RECT = $00000100;
- MCI_OVLY_FREEZE_RECT_OUTSIDE = $00000200;
- //********************************************************************/
- // flags for the MCI_GETDEVCAPS message */
- // 0x00XXXX00 are reserved for MCI_GETDEVCAPS flags */
- //********************************************************************/
- MCI_GETDEVCAPS_MESSAGE = $00000100;
- MCI_GETDEVCAPS_ITEM = $00000200;
- MCI_GETDEVCAPS_EXTENDED = $00000400;
- //************************************************/
- // General MCI_GETDEVCAPS item values */
- //************************************************/
- MCI_GETDEVCAPS_CAN_EJECT = $00000001;
- MCI_GETDEVCAPS_CAN_LOCKEJECT = $00000002;
- MCI_GETDEVCAPS_CAN_PLAY = $00000003;
- MCI_GETDEVCAPS_CAN_PROCESS_INTERNAL = $00000004;
- MCI_GETDEVCAPS_CAN_RECORD = $00000005;
- MCI_GETDEVCAPS_CAN_RECORD_INSERT = $00000006;
- MCI_GETDEVCAPS_CAN_SAVE = $00000007;
- MCI_GETDEVCAPS_CAN_SETVOLUME = $00000008;
- MCI_GETDEVCAPS_CAN_STREAM = $00000009;
- MCI_GETDEVCAPS_DEVICE_TYPE = $0000000A;
- MCI_GETDEVCAPS_HAS_AUDIO = $0000000B;
- MCI_GETDEVCAPS_HAS_VIDEO = $0000000C;
- MCI_GETDEVCAPS_PREROLL_TIME = $0000000D;
- MCI_GETDEVCAPS_PREROLL_TYPE = $0000000E;
- MCI_GETDEVCAPS_USES_FILES = $0000000F;
- MCI_GETDEVCAPS_HAS_IMAGE = $00000010;
- MCI_GETDEVCAPS_WAVE_FORMAT = $00000011;
- MCI_GETDEVCAPS_CAN_CLOSE_DOOR = $00000012;
- //**********************************************/
- // return ID's for videodisc MCI_GETDEVCAPS */
- //**********************************************/
- MCI_VD_MEDIA_CLV=$00000001;
- MCI_VD_MEDIA_CAV=$00000002;
- MCI_VD_MEDIA_OTHER=$00000003;
- //************************************************/
- // MCI_GETDEVCAPS item values for video devices */
- //************************************************/
- MCI_VID_GETDEVCAPS_CAN_STRETCH = MCI_VID_ITEM_BASE;
- MCI_VID_GETDEVCAPS_CAN_DISTORT = MCI_VID_ITEM_BASE+1;
- MCI_VID_GETDEVCAPS_VIDEO_X_EXTENT = MCI_VID_ITEM_BASE+2;
- MCI_VID_GETDEVCAPS_VIDEO_Y_EXTENT = MCI_VID_ITEM_BASE+3;
- MCI_VID_GETDEVCAPS_IMAGE_X_EXTENT = MCI_VID_ITEM_BASE+4;
- MCI_VID_GETDEVCAPS_IMAGE_Y_EXTENT = MCI_VID_ITEM_BASE+5;
- MCI_VID_GETDEVCAPS_MAX_WINDOWS = MCI_VID_ITEM_BASE+6;
- MCI_VID_GETDEVCAPS_CAN_FREEZE = MCI_VID_ITEM_BASE+7;
- MCI_VID_GETDEVCAPS_OVERLAY_GRAPHICS = MCI_VID_ITEM_BASE+8;
- MCI_VID_GETDEVCAPS_CAN_REVERSE = MCI_VID_ITEM_BASE+9;
- MCI_VID_GETDEVCAPS_FAST_RATE = MCI_VID_ITEM_BASE+10;
- MCI_VID_GETDEVCAPS_SLOW_RATE = MCI_VID_ITEM_BASE+11;
- MCI_VID_GETDEVCAPS_NORMAL_RATE = MCI_VID_ITEM_BASE+12;
- MCI_VID_GETDEVCAPS_MINIMUM_RATE = MCI_VID_ITEM_BASE+13;
- MCI_VID_GETDEVCAPS_MAXIMUM_RATE = MCI_VID_ITEM_BASE+14;
- //************************************************/
- // MCI_GETDEVCAPS flag values for Videodisc */
- //************************************************/
- MCI_VD_GETDEVCAPS_CLV = $00000400;
- MCI_VD_GETDEVCAPS_CAV = $00000800;
- //************************************************/
- // MCI_GETDEVCAPS item values for Videodisc */
- //************************************************/
- MCI_VD_GETDEVCAPS_CAN_REVERSE = MCI_VID_GETDEVCAPS_CAN_REVERSE;
- MCI_VD_GETDEVCAPS_FAST_RATE = MCI_VID_GETDEVCAPS_FAST_RATE;
- MCI_VD_GETDEVCAPS_SLOW_RATE = MCI_VID_GETDEVCAPS_SLOW_RATE;
- MCI_VD_GETDEVCAPS_NORMAL_RATE = MCI_VID_GETDEVCAPS_NORMAL_RATE;
- MCI_VD_GETDEVCAPS_MINIMUM_RATE = MCI_VID_GETDEVCAPS_MINIMUM_RATE;
- MCI_VD_GETDEVCAPS_MAXIMUM_RATE = MCI_VID_GETDEVCAPS_MAXIMUM_RATE;
- //***********************************************/
- // MCI_GETDEVCAPS item values for Digital Video */
- //***********************************************/
- MCI_DGV_GETDEVCAPS_CAN_REVERSE = MCI_VID_GETDEVCAPS_CAN_REVERSE;
- MCI_DGV_GETDEVCAPS_CAN_STRETCH = MCI_VID_GETDEVCAPS_CAN_STRETCH;
- MCI_DGV_GETDEVCAPS_CAN_DISTORT = MCI_VID_GETDEVCAPS_CAN_DISTORT;
- MCI_DGV_GETDEVCAPS_FAST_RATE = MCI_VID_GETDEVCAPS_FAST_RATE;
- MCI_DGV_GETDEVCAPS_SLOW_RATE = MCI_VID_GETDEVCAPS_SLOW_RATE;
- MCI_DGV_GETDEVCAPS_NORMAL_RATE = MCI_VID_GETDEVCAPS_NORMAL_RATE;
- MCI_DGV_GETDEVCAPS_MINIMUM_RATE = MCI_VID_GETDEVCAPS_MINIMUM_RATE;
- MCI_DGV_GETDEVCAPS_MAXIMUM_RATE = MCI_VID_GETDEVCAPS_MAXIMUM_RATE;
- MCI_DGV_GETDEVCAPS_VIDEO_X_EXTENT = MCI_VID_GETDEVCAPS_VIDEO_X_EXTENT;
- MCI_DGV_GETDEVCAPS_VIDEO_Y_EXTENT = MCI_VID_GETDEVCAPS_VIDEO_Y_EXTENT;
- MCI_DGV_GETDEVCAPS_IMAGE_X_EXTENT = MCI_VID_GETDEVCAPS_IMAGE_X_EXTENT;
- MCI_DGV_GETDEVCAPS_IMAGE_Y_EXTENT = MCI_VID_GETDEVCAPS_IMAGE_Y_EXTENT;
- MCI_DGV_GETDEVCAPS_MAX_WINDOWS = MCI_VID_GETDEVCAPS_MAX_WINDOWS;
- MCI_DGV_GETDEVCAPS_OVERLAY_GRAPHICS = MCI_VID_GETDEVCAPS_OVERLAY_GRAPHICS;
- MCI_DGV_GETDEVCAPS_HAS_TUNER = MCI_DGV_ITEM_BASE;
- MCI_DGV_GETDEVCAPS_HAS_TELETEX = MCI_DGV_ITEM_BASE+1;
- MCI_DGV_GETDEVCAPS_HAS_AFC = MCI_DGV_ITEM_BASE+2;
- //************************************************/
- // MCI_GETDEVCAPS item values for Video Overlay */
- //************************************************/
- MCI_OVLY_GETDEVCAPS_CAN_STRETCH = MCI_VID_GETDEVCAPS_CAN_STRETCH;
- MCI_OVLY_GETDEVCAPS_CAN_DISTORT = MCI_VID_GETDEVCAPS_CAN_DISTORT;
- MCI_OVLY_GETDEVCAPS_VIDEO_X_EXTENT = MCI_VID_GETDEVCAPS_VIDEO_X_EXTENT;
- MCI_OVLY_GETDEVCAPS_VIDEO_Y_EXTENT = MCI_VID_GETDEVCAPS_VIDEO_Y_EXTENT;
- MCI_OVLY_GETDEVCAPS_IMAGE_X_EXTENT = MCI_VID_GETDEVCAPS_IMAGE_X_EXTENT;
- MCI_OVLY_GETDEVCAPS_IMAGE_Y_EXTENT = MCI_VID_GETDEVCAPS_IMAGE_Y_EXTENT;
- MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = MCI_VID_GETDEVCAPS_MAX_WINDOWS;
- MCI_OVLY_GETDEVCAPS_CAN_FREEZE = MCI_VID_GETDEVCAPS_CAN_FREEZE;
- MCI_OVLY_GETDEVCAPS_OVERLAY_GRAPHICS = MCI_VID_GETDEVCAPS_OVERLAY_GRAPHICS;
- MCI_PREROLL_NOTIFIED = $00000001;
- MCI_PREROLL_DETERMINISTIC = $00000002;
- MCI_PREROLL_NONE = $00000003;
- //********************************************************************/
- // parameter structure for the MCI_GETDEVCAPS message */
- //********************************************************************/
- TYPE
- mci_GetDevCaps_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulReturn : Longint; // Return field
- ulItem : Longint; // Item field for GETDEVCAPS item to query
- usMessage : integer; // Field to hold MCI message to query
- usReserved0 : integer; // Reserved field
- end;
- pmci_GetDevCaps_Parms = ^mci_GetDevCaps_Parms;
- //********************************************************************/
- // parameter structure for the MCI_WAVE_GETDEVCAPS */
- //********************************************************************/
- mci_Wave_GetDevCaps_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulReturn : Longint; // Return field
- ulItem : Longint; // Item field for GETDEVCAPS item to query
- usMessage : Integer; // Field to hold MCI message to query
- usReserved0 : Integer; // Reserved field
- ulLength : Longint; // Length of structure in ULONGS
- ulBitsPerSample : Longint; // Number of Bits per Sample
- ulFormatTag : Longint; // Format Tag
- ulSamplesPerSec : Longint; // Sampling Rate
- ulChannels : Longint; // Number of channels
- ulFormatMode : Longint; // Either MCI_RECORD or MCI_PLAY
- end;
- pmci_Wave_GetDevCaps_Parms = ^mci_Wave_GetDevCaps_Parms;
- //********************************************************************/
- // potential values for the ulValue field of MCI_AMP_GETDEVCAPS */
- //********************************************************************/
- CONST
- MCI_SET_MONITOR = $00000001;
- MCI_SET_MONITOR_AUDIO = $00000002;
- MCI_SET_MONITOR_VIDEO = $00000003;
- MCI_SET_RECORD = $00000004;
- // MCI_SET flags for amp/mixer;
- MCI_AMP_SET_BALANCE = $00100000;
- MCI_AMP_SET_PITCH = $00200000;
- MCI_AMP_SET_TREBLE = $00400000;
- MCI_AMP_SET_BASS = $00800000;
- MCI_AMP_SET_GAIN = $01000000;
- MCI_AMP_SET_ALC = $00000004;
- MCI_AMP_SET_AUDIO = $00000008;
- MCI_AMP_SET_CROSSOVER = $00000010;
- MCI_AMP_SET_LOUDNESS = $00000020;
- MCI_AMP_SET_MUTE = $00000040;
- MCI_AMP_SET_REVERB = $00000080;
- MCI_AMP_SET_STEREOENHANCE = $00000100;
- MCI_AMP_SET_CUSTOM1 = $00000200;
- MCI_AMP_SET_CUSTOM2 = $00000400;
- MCI_AMP_SET_CUSTOM3 = $00000800;
- MCI_AMP_SET_LRVOLUME = $00001000;
- MCI_AMP_SET_MID = $00020000;
- MCI_AMP_SET_CHORUS = $00004000; // typo? 40000?
- MCI_AMP_SET_VOLUME = $00080000; // MCI_SET_VOLUME;
- MCI_AMP_SET_MONITOR = MCI_SET_MONITOR_AUDIO;
- // Potential values for the ulValue field of MCI_AMP_GETDEVCAPS
- MCI_AMP_CAN_SET_MONITOR = MCI_AMP_SET_MONITOR;
- MCI_AMP_CAN_SET_BALANCE = MCI_AMP_SET_BALANCE;
- MCI_AMP_CAN_SET_ALC = MCI_AMP_SET_ALC;
- MCI_AMP_CAN_SET_CROSSOVER = MCI_AMP_SET_CROSSOVER;
- MCI_AMP_CAN_SET_LOUDNESS = MCI_AMP_SET_LOUDNESS;
- MCI_AMP_CAN_SET_MUTE = MCI_AMP_SET_MUTE;
- MCI_AMP_CAN_SET_REVERB = MCI_AMP_SET_REVERB;
- MCI_AMP_CAN_SET_STEREOENHANCE = MCI_AMP_SET_STEREOENHANCE;
- MCI_AMP_CAN_SET_CUSTOM1 = MCI_AMP_SET_CUSTOM1;
- MCI_AMP_CAN_SET_CUSTOM2 = MCI_AMP_SET_CUSTOM2;
- MCI_AMP_CAN_SET_CUSTOM3 = MCI_AMP_SET_CUSTOM3;
- MCI_AMP_CAN_SET_LRVOLUME = MCI_AMP_SET_LRVOLUME;
- MCI_AMP_CAN_SET_BASS = MCI_AMP_SET_BASS;
- MCI_AMP_CAN_SET_MID = MCI_AMP_SET_MID;
- MCI_AMP_CAN_SET_TREBLE = MCI_AMP_SET_TREBLE;
- MCI_AMP_CAN_SET_PITCH = MCI_AMP_SET_PITCH;
- MCI_AMP_CAN_SET_GAIN = MCI_AMP_SET_GAIN;
- MCI_AMP_CAN_SET_CHORUS = MCI_AMP_SET_CHORUS;
- MCI_AMP_CAN_SET_VOLUME = MCI_AMP_SET_VOLUME;
- //************************************************************************/
- // potential values for the ulExtended field of MCI_AMP_GETDEVCAPS_PARMS */
- //************************************************************************/
- MCI_MIXER_LINE = $00000001;
- //********************************************************************/
- // parameter structure for the MCI_AMP_GETDEVCAPS */
- //********************************************************************/
- type
- mci_Amp_GetDevCaps_Parms = record
- hwndCallback : Longint; // PM window handle for MCI notify message
- ulReturn : Longint; // Return field
- ulItem : Longint; // Item field for GETDEVCAPS item to query
- usMessage : Integer; // Field to hold MCI message to query
- usReserved0 : Integer; // Reserved field
- ulLength : LongInt; // Length of structure in uLongS
- ulValue : LongInt; // Value to determine caps
- ulAttribute : LongInt; // Flags to modified the extended parms
- ulExtended : LongInt; // Extended flags field
- end;
- pmci_Amp_GetDevCaps_Parms = ^mci_Amp_GetDevCaps_Parms;
- //********************************************************************/
- // values for the ulFlags field of MCI_MIXEVENT_PARMS */
- //********************************************************************/
- CONST
- MCI_MIX_ATTRIBUTE = $00000001;
- MCI_MIX_CONNECTOR = $00000002;
- //********************************************************************/
- // values for the lParam field for mix_notify */
- //********************************************************************/
- MCI_MIXNOTIFY_ON = $00000004;
- MCI_MIXNOTIFY_OFF = $00000008;
- //********************************************************************/
- // value to indicate type of MM_MCIEVENT */
- //********************************************************************/
- MCI_MIXEVENT = $00000001;
- //********************************************************************/
- // parameter structure for the MCI_MIXEVENT_PARMS */
- //********************************************************************/
- type
- mci_MixEvent_Parms = record
- ulLength : Longint; // Length of struct
- hwndMixer : hwnd; // window to inform of mixer changes
- ulFlags : Longint; // Either MCI_MIX_ATTRIBUTE
- // or MCI_MIX_CONNECTOR
- usDeviceID : Integer; // device id to notify of the change
- ulDeviceType : LongInt; // Device Type which generated the change
- ulDeviceOrdinal : LongInt; // Ordinal of device Type
- ulAttribute : LongInt; // Attribute that changed(volume, bass etc.)
- ulValue : LongInt; // new value of the attribute which changed
- ulConnectorType : LongInt; // Connector Type
- ulConnectorIndex : LongInt; // Connector Index
- ulConnStatus : LongInt; // Is connector enabled/disabled.
- end;
- pmci_MixEvent_Parms = ^mci_MixEvent_Parms;
- //********************************************************************/
- // flag values for the MCI_GETIMAGEBUFFER and MCI_SETIMAGEBUFFER msg */
- // 0x0000XX00 are reserved for MCI_GETIMAGEBUFFER and */
- // MCI_SETIMAGEBUFFER Flags */
- // MCI_CONVERT is defined by MCI_CAPTURE message as 0x00001000L */
- //********************************************************************/
- CONST
- MCI_USE_HW_BUFFER = $00000400;
- MCI_GET_HW_BUFFER_PTR = $00000800;
- //**************************************************/
- // parm structure for MCI_GETIMAGEBUFFER and */
- // MCI_SETIMAGEBUFFER messages */
- //**************************************************/
- type
- mci_Image_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulPelFormat : Longint; // Format of the image data returned
- usBitCount : Integer; // Number of bitsimage data returned
- usReserved0 : Integer; // Reserved field
- ulImageCompression : LongInt; //
- rect : RectL; // Image area to get/set
- pPelBuffer : Pointer; // Pel data buffer
- ulPelBufferHeight : LongInt; // Number of rows in buffer
- ulPelBufferWidth : LongInt; // Pels per row in buffer
- ulBufLen : LongInt; // Pel data buffer length in bytes
- end;
- pmci_Image_Parms = ^mci_Image_Parms;
- //********************************************************************/
- // flags for the MCI_GETIMAGEPALETTE message */
- // 0x0000XX00 are reserved for MCI_GETIMAGEPALETTE flags */
- //********************************************************************/
- CONST
- MCI_FIND_BEST_REGISTERED = $00000100;
- MCI_QUERY_REGISTERED_MAP = $00000200;
- MCI_QUERY_REGISTERED_MAP_SIZE = $00000400;
- //**************************************************/
- // parameter structure for MCI_GETIMAGEPALETTE and */
- // MCI_SETIMAGEPALETTE messages */
- //**************************************************/
- type
- mci_Palette_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- usRegisteredMap : Integer; // Id of the palette from the registed color map
- usReserved0 : Integer; // Reserved field
- ulPalEntries : LongInt; // size of the palette returned
- pPalette : Pointer; // pointer to the palette
- end;
- pmci_Palette_Parms = ^mci_Palette_Parms;
- //********************************************************************/
- // Parameter structure for the MCI_GETTOC message */
- //********************************************************************/
- mci_Toc_Rec = record
- TrackNum : BYTE; // Returned Track Number
- ulStartAddr : LongInt; // Starting address of the track in MMTIME format
- ulEndAddr : LongInt; // Ending address of the track in MMTIME format
- Control : BYTE; // Track Control information
- usCountry : Integer; // Country
- ulOwner : LongInt; // Owner
- ulSerialNum : LongInt; // Serial Number
- end;
- pTocRec = ^mci_Toc_Rec;
- mci_Toc_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- pBuf : pTocRec; // Pointer to array MCI_TOC_REC structures to
- // be filled in by the mci device
- ulBufSize : LongInt; // Size of the array
- end;
- pmci_Toc_Parms = ^mci_Toc_Parms;
- //********************************************************************/
- // parameters for the MCI_GROUP message */
- // 0x00XXXX00 are reserved for MCI_GROUP flags */
- //********************************************************************/
- const
- MCI_SYNCHRONIZE = $00000100;
- MCI_NOPIECEMEAL = $00000200;
- MCI_GROUP_MAKE = $00000400;
- MCI_GROUP_DELETE = $00000800;
- MCI_GROUP_ALIAS = $00001000;
- MCI_GROUP_MASTER = $00002000;
- MCI_GROUP_NONE = $00004000; // No group!
- type
- mci_Group_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message.
- usGroupID : Integer; // GroupID
- usReserved0 : Integer; // RESERVED
- ulStructLength : LongInt; // Length of Structure in ULONGS.
- usMasterID : Integer; // ID of Master device in Synchrounous groups.
- usReserved1 : Integer; // RESERVED
- pszGroupAlias : pChar; // Pointer to Alias Name.
- ulNumDevices : LongInt; // Number of Devices in group.
- paulDeviceID : PLongInt; // Array of Device ids in the group.
- end;
- pmci_Group_Parms = ^mci_Group_Parms;
- //********************************************************************/
- // flags for the MCI_INFO message */
- // 0x00000X00 are reserved for MCI_INFO flags */
- //********************************************************************/
- CONST
- MCI_INFO_PRODUCT = $00000100;
- MCI_INFO_FILE = $00000200;
- //***********************************************/
- // CD Audio MCI_INFO */
- //***********************************************/
- MCI_CD_INFO_ID = $00010000;
- MCI_CD_INFO_UPC = $00020000;
- //***********************************************/
- // Videodisc MCI_INFO */
- //***********************************************/
- MCI_VD_INFO_LABEL = $00001000;
- //***********************************************/
- // Digital Video MCI_INFO */
- //***********************************************/
- MCI_DGV_INFO_VIDEO_FILE = $00001000;
- MCI_DGV_INFO_IMAGE_FILE = $00002000;
- MCI_DGV_INFO_REGION = $00004000;
- MCI_DGV_INFO_REGION_TEXT = $00008000;
- MCI_DGV_INFO_TEXT = $00010000;
- //***********************************************/
- // Video Overlay MCI_INFO */
- //***********************************************/
- MCI_OVLY_INFO_TEXT = $00010000;
- type
- mci_Info_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- pszReturn : pChar; // Pointer to return buffer
- ulRetSize : LongInt; // Return buffer size
- end;
- pmci_Info_Parms = ^mci_Info_Parms;
- //********************************************************************/
- // parameters and flags for the MCI_LOAD message */
- // 0x00000X00 are reserved for MCI_LOAD flags */
- //********************************************************************/
- mci_Load_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- pszElementName : pChar; // File name to loads
- end;
- pmci_Load_Parms = ^mci_Load_Parms;
- //********************************************************************/
- // parameters and flags for the MCI_MASTERAUDIO */
- // 0x000XXX00 are reserved for MCI_MASTERAUDIO flags */
- //********************************************************************/
- CONST
- MCI_ON = $00000100;
- MCI_OFF = $00000200;
- MCI_HEADPHONES = $00000400;
- MCI_SPEAKERS = $00000800;
- MCI_MASTERVOL = $00001000;
- MCI_SAVESETTING = $00002000;
- MCI_QUERYSAVEDSETTING = $00004000;
- MCI_QUERYCURRENTSETTING = $00008000;
- type
- mci_MasterAudio_Parms = record
- hwndDummyCallback : hwnd; // Notify not allowed for this message
- ulReturn : LongInt; // Return field for query information
- ulMasterVolume : LongInt; // Master volume field
- end;
- pmci_MasterAudio_Parms = ^mci_MasterAudio_Parms;
- //********************************************************************/
- // parameters and flags for the MCI_OPEN message */
- // 0x0000XX00 are reserved for MCI_OPEN flags */
- //********************************************************************/
- CONST
- MCI_OPEN_ELEMENT = $00000100;
- MCI_OPEN_ALIAS = $00000200;
- MCI_OPEN_ELEMENT_ID = $00000400;
- MCI_OPEN_PLAYLIST = $00000800;
- MCI_OPEN_TYPE_ID = $00001000;
- MCI_OPEN_SHAREABLE = $00002000;
- MCI_OPEN_MMIO = $00004000;
- MCI_READONLY = $00008000;
- //**************************************************/
- // parameters and flags for the MCI_OPEN message */
- // Digital Video, Video Overlay specific */
- //**************************************************/
- MCI_VID_OPEN_PARENT = $01000000;
- MCI_DGV_OPEN_PARENT = MCI_VID_OPEN_PARENT;
- MCI_OVLY_OPEN_PARENT = MCI_VID_OPEN_PARENT;
- type
- mci_Open_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- usDeviceID : Integer; // Device ID returned to user
- usReserved0 : Integer; // Reserved
- pszDeviceType : pChar; // Device name from SYSTEM.INI
- pszElementName : pChar; // Typically a file name or NULL
- pszAlias : pChar; // Optional device alias
- end;
- pmci_Open_Parms = ^mci_Open_Parms;
- //*********************************************************/
- // parameters for the AMP MCI_OPEN message */
- //*********************************************************/
- mci_Amp_Open_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- usDeviceID : Integer; // Device ID returned to user
- usReserved0 : Integer; // Reserved field
- pszDeviceType : pChar; // Device name from SYSTEM.INI
- pszElementName : pChar; // Typically a file name or NULL
- pszAlias : pChar; // Optional device alias
- pDevDataPtr : Pointer; // Pointer to device data
- end;
- pmci_Amp_Open_Parms = ^mci_Amp_Open_Parms;
- //*********************************************************/
- // parameters for MCI_OPEN message for video devices */
- //*********************************************************/
- mci_Vid_Open_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- usDeviceID : Integer; // Device ID returned to user
- usReserved0 : Integer; // Reserved field
- pszDeviceType : pChar; // Device name from SYSTEM.INI
- pszElementName : pChar; // Typically a file name or NULL
- pszAlias : pChar; // Optional device alias
- hwndParent : hwnd; // Parent window handle
- end;
- pmci_Vid_Open_Parms = ^mci_Vid_Open_Parms;
- mci_dgv_Open_Parms = mci_Vid_Open_Parms;
- pmci_dgv_Open_Parms = ^mci_dgv_Open_Parms;
- mci_Ovly_Open_Parms = mci_Vid_Open_Parms;
- pmci_Ovly_Open_Parms = ^mci_Ovly_Open_Parms;
- //**************************************************/
- // MCI_PLAY flag values for videodisc */
- //**************************************************/
- CONST
- MCI_VD_PLAY_REVERSE = $00001000;
- MCI_VD_PLAY_FAST = $00002000;
- MCI_VD_PLAY_SPEED = $00004000;
- MCI_VD_PLAY_SCAN = $00008000;
- MCI_VD_PLAY_SLOW = $00010000;
- //**************************************************/
- // MCI_PLAY flag values for digital video */
- //**************************************************/
- MCI_DGV_PLAY_REVERSE = $00001000;
- MCI_DGV_PLAY_FAST = $00002000;
- MCI_DGV_PLAY_SPEED = $00004000;
- MCI_DGV_PLAY_SCAN = $00008000;
- MCI_DGV_PLAY_SLOW = $00010000;
- MCI_DGV_PLAY_REPEAT = $00020000;
- type
- mci_Play_Parms = record
- hwndCallback : hwnd;
- ulFrom : LongInt;
- ulTo : LongInt;
- end;
- pmci_Play_Parms = ^mci_Play_Parms;
- mci_VD_Play_Parms = record
- hwndCallback : hwnd;
- ulFrom : LongInt;
- ulTo : LongInt;
- ulFactor : LongInt;
- end;
- pmci_VD_Play_Parms = ^mci_VD_Play_Parms;
- mci_DGV_play_Parms = record
- hwndCallback : hwnd;
- ulFrom : LongInt;
- ulTo : LongInt;
- ulSpeed : LongInt;
- end;
- pmci_DGV_play_Parms = ^mci_DGV_play_Parms;
- //********************************************************************/
- // parameters for the MCI_PUT message */
- // 0x00000X00 are reserved for MCI_PUT flags */
- //********************************************************************/
- CONST
- MCI_VID_PUT_RECT = $00000100;
- MCI_VID_PUT_DESTINATION = $00000200;
- MCI_VID_PUT_SOURCE = $00000400;
- MCI_VID_PUT_WINDOW_MOVE = $00000800;
- MCI_VID_PUT_WINDOW_SIZE = $00001000;
- MCI_DGV_PUT_RECT = MCI_VID_PUT_RECT;
- MCI_DGV_PUT_DESTINATION = MCI_VID_PUT_DESTINATION;
- MCI_DGV_PUT_SOURCE = MCI_VID_PUT_SOURCE;
- MCI_DGV_PUT_WINDOW_MOVE = MCI_VID_PUT_WINDOW_MOVE;
- MCI_DGV_PUT_WINDOW_SIZE = MCI_VID_PUT_WINDOW_SIZE;
- MCI_DGV_MONITOR = $00010000;
- MCI_DGV_RECORD = $00020000;
- MCI_OVLY_PUT_RECT = MCI_VID_PUT_RECT;
- MCI_OVLY_PUT_DESTINATION = MCI_VID_PUT_DESTINATION;
- MCI_OVLY_PUT_SOURCE = MCI_VID_PUT_SOURCE;
- MCI_OVLY_PUT_WINDOW_MOVE = MCI_VID_PUT_WINDOW_MOVE;
- MCI_OVLY_PUT_WINDOW_SIZE = MCI_VID_PUT_WINDOW_SIZE;
- //**************************************************/
- // Rectangle parameters for MCI_PUT, MCI_WHERE, */
- // MCI_FREEZE, and MCI_UNFREEZE */
- //**************************************************/
- type
- mci_Vid_Rect_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- rc : RectL; // rectangle array specifying the offset
- // and size of a rectangle
- end;
- mci_Dgv_Rect_Parms = mci_Vid_Rect_Parms;
- pmci_Dgv_Rect_Parms = ^mci_Dgv_Rect_Parms;
- mci_Ovly_Rect_Parms = mci_Vid_Rect_Parms;
- pmci_Ovly_Rect_Parms = ^mci_Ovly_Rect_Parms;
- //********************************************************************/
- // parameters for the MCI_RECORD message */
- // 0x00000X00 are reserved for MCI_RECORD flags */
- //********************************************************************/
- CONST
- MCI_RECORD_INSERT = $00000100;
- MCI_RECORD_OVERWRITE = $00000200;
- MCI_DGV_RECORD_RECT = $00000400;
- type
- mci_Record_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulFrom : LongInt; // Record from position
- ulTo : LongInt; // Record to position
- end;
- pmci_Record_Parms = ^mci_Record_Parms;
- //********************************************************************/
- // parameters for the MCI_RELEASEDEVICE message */
- // 0xXXXXXX00 are reserved for MCI_RELEASEDEVICE message */
- //********************************************************************/
- CONST
- MCI_RETURN_RESOURCE = $00000100;
- //********************************************************************/
- // parameters for the MCI_RESTORE message */
- // 0x0000XX00 are reserved for MCI_RESTORE flags */
- // MCI_CONVERT is defined by MCI_CAPTURE message as 0x00001000L */
- //********************************************************************/
- MCI_RESTORE_SRC_RECT = $00000100;
- MCI_RESTORE_DEST_RECT = $00000200;
- type mci_Restore_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- SrcRect : RectL; // Rectangle array specifying the source
- // area to be restored
- RestRect : RectL; // Rectangle array specifying the destination
- // area to be restored
- end;
- pmci_Restore_Parms = ^mci_Restore_Parms;
- //********************************************************************/
- // parameters for the MCI_SAVE message */
- // 0x00000X00 are reserved for MCI_SAVE flags */
- //********************************************************************/
- const
- MCI_SAVE_FILE = $00000100;
- //************************************************/
- // Digital Video MCI_SAVE */
- //************************************************/
- MCI_DGV_SAVE_VIDEO_FILE = $00001000;
- MCI_DGV_SAVE_IMAGE_FILE = $00002000;
- type
- mci_Save_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- pszFileName : pChar; // Filename to save data to
- end;
- pmci_Save_Parms = ^mci_Save_Parms;
- //********************************************************************/
- // parameters for the MCI_SEEK message */
- // 0x00000X00 are reserved for MCI_SEEK flags */
- //********************************************************************/
- const
- MCI_TO_START = $00000100;
- MCI_TO_END = $00000200;
- //************************************************/
- // Digital Video MCI_SEEK */
- //************************************************/
- MCI_DGV_SEEK_TO_NEAREST_IFRAME = $00100000;
- //************************************************/
- // Videodisc MCI_SEEK */
- //************************************************/
- MCI_VD_SEEK_REVERSE = $00001000;
- type
- mci_Seek_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulTo : LongInt; // Seek to this position
- end;
- pmci_Seek_Parms = ^mci_Seek_Parms;
- //********************************************************************/
- // Flags for the MCI_SET message */
- // 0x00XXXX00 are reserved for MCI_SET flags */
- //********************************************************************/
- const
- MCI_SET_ITEM = $00000100;
- MCI_SET_ON = $00000200;
- MCI_SET_OFF = $00000400;
- MCI_SET_VIDEO = $00000800;
- MCI_SET_AUDIO = $00001000;
- MCI_SET_DOOR_OPEN = $00002000;
- MCI_SET_DOOR_CLOSED = $00004000;
- MCI_SET_SPEED_FORMAT = $00008000;
- MCI_SET_TIME_FORMAT = $00010000;
- MCI_SET_DOOR_LOCK = $00020000;
- MCI_SET_DOOR_UNLOCK = $00040000;
- MCI_SET_VOLUME = $00080000;
- MCI_SET_ITEM_FOURCC = $00100000;
- MCI_SET_REVERSE = $00200000;
- //******************************************************/
- // Values for the ulAudio field */
- //******************************************************/
- MCI_SET_AUDIO_ALL = $00000000;
- MCI_SET_AUDIO_LEFT = $00000001;
- MCI_SET_AUDIO_RIGHT = $00000002;
- //******************************************************/
- // MCI_SET flags for CDXA */
- //******************************************************/
- MCI_CDXA_SET_CHANNEL = $01000000;
- MCI_CDXA_AUDIO_DEVICE = $10000000;
- MCI_CDXA_AUDIO_BUFFER = $02000000;
- MCI_CDXA_VIDEO_BUFFER = $04000000;
- MCI_CDXA_DATA_BUFFER = $08000000;
- //******************************************************/
- // MCI_SET flags for videodisc */
- //******************************************************/
- MCI_VD_SET_ON = MCI_SET_ON;
- MCI_VD_SET_OFF = MCI_SET_OFF;
- MCI_VD_SET_VIDEO = MCI_SET_VIDEO;
- MCI_VD_SET_CHANNEL = $00100000;
- MCI_VD_SET_DISPLAY = $00200000;
- MCI_VD_SET_DONTCARE = $00400000; // Dont care!
- //******************************************************/
- // Generic MCI_SET item values for video devices */
- //******************************************************/
- MCI_VID_SET_VIDEO_COMPRESSION = MCI_VID_ITEM_BASE;
- MCI_VID_SET_IMAGE_COMPRESSION = MCI_VID_ITEM_BASE+1;
- MCI_VID_SET_IMAGE_BITSPERPEL = MCI_VID_ITEM_BASE+2;
- MCI_VID_SET_IMAGE_PELFORMAT = MCI_VID_ITEM_BASE+3;
- MCI_VID_SET_BRIGHTNESS = MCI_VID_ITEM_BASE+4;
- MCI_VID_SET_CONTRAST = MCI_VID_ITEM_BASE+5;
- MCI_VID_SET_HUE = MCI_VID_ITEM_BASE+6;
- MCI_VID_SET_SATURATION = MCI_VID_ITEM_BASE+7;
- MCI_VID_SET_SHARPNESS = MCI_VID_ITEM_BASE+8;
- MCI_VID_SET_GREYSCALE = MCI_VID_ITEM_BASE+9;
- MCI_VID_SET_IMAGE_QUALITY = MCI_VID_ITEM_BASE+10;
- MCI_VID_SET_VIDEO_QUALITY = MCI_VID_ITEM_BASE+11;
- MCI_VID_SET_IMAGE_COMPRESSION_METHOD = MCI_VID_ITEM_BASE+12;
- MCI_VID_SET_MINIMUM_VIDEO_REFRESH_RATE = MCI_VID_ITEM_BASE+13;
- MCI_VID_SET_IMAGE_FILE_FORMAT = MCI_VID_ITEM_BASE+14;
- MCI_VID_SET_REF_INTERVAL = MCI_VID_ITEM_BASE+15;
- MCI_VID_SET_MAXDATARATE = MCI_VID_ITEM_BASE+16;
- MCI_VID_SET_VIDEO_FILE_FORMAT = MCI_VID_ITEM_BASE+17;
- //******************************************************/
- // MCI_SET item values for video overlay */
- //******************************************************/
- MCI_OVLY_SET_IMAGE_COMPRESSION = MCI_VID_SET_IMAGE_COMPRESSION;
- MCI_OVLY_SET_IMAGE_BITSPERPEL = MCI_VID_SET_IMAGE_BITSPERPEL;
- MCI_OVLY_SET_IMAGE_PELFORMAT = MCI_VID_SET_IMAGE_PELFORMAT;
- MCI_OVLY_SET_BRIGHTNESS = MCI_VID_SET_BRIGHTNESS;
- MCI_OVLY_SET_CONTRAST = MCI_VID_SET_CONTRAST;
- MCI_OVLY_SET_HUE = MCI_VID_SET_HUE;
- MCI_OVLY_SET_SATURATION = MCI_VID_SET_SATURATION;
- MCI_OVLY_SET_SHARPNESS = MCI_VID_SET_SHARPNESS;
- MCI_OVLY_SET_GREYSCALE = MCI_VID_SET_GREYSCALE;
- MCI_OVLY_SET_IMAGE_QUALITY = MCI_VID_SET_IMAGE_QUALITY;
- MCI_OVLY_SET_IMAGE_COMPRESSION_METHOD = MCI_VID_SET_IMAGE_COMPRESSION_METHOD;
- MCI_OVLY_SET_MINIMUM_VIDEO_REFRESH_RATE = MCI_VID_SET_MINIMUM_VIDEO_REFRESH_RATE;
- MCI_OVLY_SET_IMAGE_FILE_FORMAT = MCI_VID_SET_IMAGE_FILE_FORMAT;
- //******************************************************/
- // MCI_SET item values for digital video */
- //******************************************************/
- MCI_DGV_SET_VIDEO_COMPRESSION = MCI_VID_SET_VIDEO_COMPRESSION;
- MCI_DGV_SET_IMAGE_COMPRESSION = MCI_VID_SET_IMAGE_COMPRESSION;
- MCI_DGV_SET_IMAGE_BITSPERPEL = MCI_VID_SET_IMAGE_BITSPERPEL;
- MCI_DGV_SET_IMAGE_PELFORMAT = MCI_VID_SET_IMAGE_PELFORMAT;
- MCI_DGV_SET_BRIGHTNESS = MCI_VID_SET_BRIGHTNESS;
- MCI_DGV_SET_CONTRAST = MCI_VID_SET_CONTRAST;
- MCI_DGV_SET_HUE = MCI_VID_SET_HUE;
- MCI_DGV_SET_SATURATION = MCI_VID_SET_SATURATION;
- MCI_DGV_SET_SHARPNESS = MCI_VID_SET_SHARPNESS;
- MCI_DGV_SET_GREYSCALE = MCI_VID_SET_GREYSCALE;
- MCI_DGV_SET_IMAGE_QUALITY = MCI_VID_SET_IMAGE_QUALITY;
- MCI_DGV_SET_VIDEO_QUALITY = MCI_VID_SET_VIDEO_QUALITY;
- MCI_DGV_SET_IMAGE_COMPRESSION_METHOD = MCI_VID_SET_IMAGE_COMPRESSION_METHOD;
- MCI_DGV_SET_MONITOR = MCI_SET_MONITOR;
- MCI_DGV_SET_MINIMUM_VIDEO_REFRESH_RATE = MCI_VID_SET_MINIMUM_VIDEO_REFRESH_RATE;
- MCI_DGV_SET_IMAGE_FILE_FORMAT = MCI_VID_SET_IMAGE_FILE_FORMAT;
- MCI_DGV_SET_REF_INTERVAL = MCI_VID_SET_REF_INTERVAL;
- MCI_DGV_SET_MAXDATARATE = MCI_VID_SET_MAXDATARATE;
- MCI_DGV_SET_VIDEO_FILE_FORMAT = MCI_VID_SET_VIDEO_FILE_FORMAT;
- MCI_DGV_SET_AUDIO_COMPRESSION = MCI_DGV_ITEM_BASE;
- MCI_DGV_SET_AUDIO_QUALITY = MCI_DGV_ITEM_BASE+1;
- MCI_DGV_SET_CHANNELS = MCI_DGV_ITEM_BASE+2;
- MCI_DGV_SET_BITSPERSAMPLE = MCI_DGV_ITEM_BASE+3;
- MCI_DGV_SET_SAMPLESPERSEC = MCI_DGV_ITEM_BASE+4;
- MCI_DGV_SET_FORMATTAG = MCI_DGV_ITEM_BASE+5;
- MCI_DGV_SET_BLOCKALIGN = MCI_DGV_ITEM_BASE+6;
- MCI_DGV_SET_AVGBYTESPERSEC = MCI_DGV_ITEM_BASE+7;
- MCI_DGV_SET_VIDEO_COMPRESSION_SUBTYPE = MCI_DGV_ITEM_BASE+8;
- MCI_DGV_SET_VIDEO_RECORD_RATE = MCI_DGV_ITEM_BASE+9;
- MCI_DGV_SET_VIDEO_RECORD_FRAME_DURATION = MCI_DGV_ITEM_BASE+10;
- MCI_DGV_SET_RECORD_AUDIO = MCI_DGV_ITEM_BASE+11;
- MCI_DGV_SET_TRANSPARENT_COLOR = MCI_DGV_ITEM_BASE+12;
- MCI_DGV_SET_GRAPHIC_TRANSPARENT_COLOR = MCI_DGV_ITEM_BASE+12;
- MCI_DGV_SET_AUDIOSYNC = MCI_DGV_ITEM_BASE+13;
- MCI_DGV_SET_VIDEO_TRANSPARENT_COLOR = MCI_DGV_ITEM_BASE+14;
- //******************************************************/
- // Video file format */
- //******************************************************/
- MCI_VID_FILE_FORMAT_AVI = $20495641;
- //******************************************************/
- // Audio/video/image compression types */
- //******************************************************/
- MCI_AUD_COMP_ADPCM4 = $00000001;
- MCI_AUD_COMP_PCM8 = $00000002;
- MCI_VID_COMP_RTV_2_0 = $00000101;
- MCI_VID_COMP_RTV_2_1 = $00000102;
- MCI_VID_COMP_ULTI = $49544C55;
- MCI_VID_COMP_RT21 = $31325452;
- MCI_VID_COMP_NONE = $20424944; // This is 'DIB ' now.
- MCI_IMG_COMP_NONE = $00000201;
- MCI_IMG_COMP_PIC9_1_0 = $00000202;
- MCI_IMG_COMP_PIC16_1_0 = $00000203;
- MCI_IMG_COMP_JPEG9 = $00000204;
- MCI_IMG_COMP_JPEG9_1_0 = MCI_IMG_COMP_JPEG9;
- MCI_IMG_COMP_BMP_RLE4 = $00000205;
- MCI_IMG_COMP_BMP_RLE8 = $00000206;
- MCI_IMG_COMP_JPEGN = $00000207;
- //******************************************************/
- // PEL Formats (video/image) */
- //******************************************************/
- MCI_VID_PALETTE = $00000001;
- MCI_VID_RGB = $00000002;
- MCI_VID_YUV = $00000003;
- MCI_IMG_PALETTE = MCI_VID_PALETTE;
- MCI_IMG_RGB = MCI_VID_RGB;
- MCI_IMG_YUV = MCI_VID_YUV;
- //******************************************************/
- // Audio/video/image quality levels */
- //******************************************************/
- MCI_AUD_QUALITY_HIGH = $00000001;
- MCI_AUD_QUALITY_MED = $00000002;
- MCI_AUD_QUALITY_LOW = $00000003;
- MCI_VID_QUALITY_HIGH = $00000101;
- MCI_VID_QUALITY_MED = $00000102;
- MCI_VID_QUALITY_LOW = $00000103;
- MCI_VID_QUALITY_BEST = MCI_VID_QUALITY_HIGH;
- MCI_VID_QUALITY_CDROM = MCI_VID_QUALITY_MED;
- MCI_VID_QUALITY_COMPACT = MCI_VID_QUALITY_LOW;
- MCI_VID_QUALITY_BETTER = MCI_VID_QUALITY_MED;
- MCI_VID_QUALITY_GOOD = MCI_VID_QUALITY_LOW;
- MCI_IMG_QUALITY_HIGH = $00000201;
- MCI_IMG_QUALITY_MED = $00000202;
- MCI_IMG_QUALITY_LOW = $00000203;
- //******************************************************/
- // MCI_SET flags for wave audio */
- //******************************************************/
- MCI_WAVE_SET_SAMPLESPERSEC = $01000000;
- MCI_WAVE_SET_AVGBYTESPERSEC = $02000000;
- MCI_WAVE_SET_BLOCKALIGN = $04000000;
- MCI_WAVE_SET_FORMATTAG = $08000000;
- MCI_WAVE_SET_CHANNELS = $10000000;
- MCI_WAVE_SET_BITSPERSAMPLE = $80000000;
- //******************************************************/
- // Wave format tag defines */
- //******************************************************/
- MCI_WAVE_FORMAT_PCM = DATATYPE_WAVEFORM;
- MCI_WAVE_FORMAT_ADPCM = $0002;
- MCI_WAVE_FORMAT_IBM_CVSD = $0005;
- MCI_WAVE_FORMAT_ALAW = DATATYPE_RIFF_ALAW;
- MCI_WAVE_FORMAT_MULAW = DATATYPE_RIFF_MULAW;
- MCI_WAVE_FORMAT_OKI_ADPCM = $0010;
- MCI_WAVE_FORMAT_DVI_ADPCM = $0011;
- MCI_WAVE_FORMAT_DIGISTD = $0015;
- MCI_WAVE_FORMAT_DIGIFIX = $0016;
- MCI_WAVE_FORMAT_AVC_ADPCM = DATATYPE_ADPCM_AVC;
- MCI_WAVE_FORMAT_IBM_ADPCM = DATATYPE_ADPCM_AVC;
- MCI_WAVE_FORMAT_IBM_MULAW = DATATYPE_MULAW;
- MCI_WAVE_FORMAT_IBM_ALAW = DATATYPE_ALAW;
- MCI_WAVE_FORMAT_CT_ADPCM = DATATYPE_CT_ADPCM;
- MCI_WAVE_FORMAT_MPEG1 = DATATYPE_MPEG1AUDIO;
- //******************************************************/
- // MCI_SET flags for sequencer */
- //******************************************************/
- MCI_SEQ_SET_TEMPO = $00100000;
- MCI_SEQ_SET_PORT = $00200000;
- MCI_SEQ_ENABLE_PORT_MAPPER = $00400000;
- MCI_SEQ_DISABLE_PORT_MAPPER = $00800000;
- MCI_SEQ_SET_OFFSET = $01000000;
- MCI_SEQ_SET_MASTER = $02000000;
- MCI_SEQ_SET_SLAVE = $04000000;
- //*********************************************/
- // SEQ time formats */
- //*********************************************/
- MCI_SEQ_SET_SMPTE_24 = $00000100;
- MCI_SEQ_SET_SMPTE_25 = $00000200;
- MCI_SEQ_SET_SMPTE_30 = $00000300;
- MCI_SEQ_SET_SMPTE_30DROP = $00000400;
- MCI_SEQ_SET_SONGPTR = $00000500;
- //*********************************************/
- // SEQ synchronization types */
- //*********************************************/
- MCI_SEQ_MIDI = $00000001;
- MCI_SEQ_SMPTE = $00000002;
- MCI_SEQ_FILE = $00000003;
- MCI_SEQ_NONE = $00000004;
- //*********************************************/
- // SEQ PORT TYPES */
- //*********************************************/
- MCI_SET_NONE = $10000000;
- MIDI_MAPPER = $20000000;
- MCI_MIDI_MAPPER = MIDI_MAPPER;
- type
- mci_Set_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulTimeFormat : Longint; // Time format to be used by the device
- ulSpeedFormat : Longint; // Speed format used by this device
- ulAudio : Longint; // Channel number for this operation
- // (MCI_SET_AUDIO_LEFT, MCI_SET_AUDIO_RIGHT,
- // MCI_SET_AUDIO_ALL)
- ulLevel : Longint; // Volume, treble or bass level as % of max.
- ulOver : Longint; // Delay time for vectored change in millisecond
- ulItem : Longint; // Item field for set item flags
- ulValue : Longint; // Value associated with item flag
- end;
- pmci_Set_Parms = ^mci_Set_Parms;
- mci_Amp_Set_Parms = mci_Set_Parms;
- pmci_Amp_Set_Parms = ^mci_Amp_Set_Parms;
- mci_DGV_Set_Parms = mci_Set_Parms;
- pmci_DGV_Set_Parms = ^mci_DGV_Set_Parms;
- mci_Ovly_Set_Parms = mci_Set_Parms;
- pmci_Ovly_Set_Parms = ^mci_Ovly_Set_Parms;
- mci_CDXA_Set_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulTimeFormat : Longint; // Time format to be used by the device
- ulSpeedFormat : Longint; // Speed format used by this device
- ulAudio : Longint; // Channel number for this operation
- // (MCI_SET_AUDIO_LEFT, MCI_SET_AUDIO_RIGHT,
- // MCI_SET_AUDIO_ALL)
- ulLevel : Longint; // Volume, treble or bass level as % of max.
- ulOver : Longint; // Delay time for vectored change in milliseconds
- ulItem : Longint; // Item field for set item flags
- ulValue : Longint; // Value associated with item flag
- ulChannel : Longint; // Channel number
- pPlayList : Pointer; // Pointer to play list
- ulPlayListSize : Longint; // Play list size
- end;
- pmci_CDXA_Set_Parms = ^mci_CDXA_Set_Parms;
- mci_VD_Set_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulTimeFormat : LongInt; // Time format to be used by the device
- ulSpeedFormat : LongInt; // Speed format used by this device
- ulAudio : LongInt; // Channel number for this operation
- // (MCI_SET_AUDIO_LEFT, MCI_SET_AUDIO_RIGHT,
- // MCI_SET_AUDIO_ALL)
- ulLevel : LongInt; // Volume, treble or bass level as % of max.
- ulOver : LongInt; // Delay time for vectored change in milliseconds
- ulItem : LongInt; // Item field for set item flags
- ulValue : LongInt; // Value associated with item flag
- ulChannel : LongInt; // Videodisc channel
- end;
- pmci_VD_Set_Parms = ^mci_VD_Set_Parms;
- mci_Wave_Set_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulTimeFormat : Longint; // Time format to be used by the device
- ulSpeedFormat : Longint; // Speed format used by this device
- ulAudio : Longint; // Channel number for this operation
- // (MCI_SET_AUDIO_LEFT, MCI_SET_AUDIO_RIGHT,
- // MCI_SET_AUDIO_ALL)
- ulLevel : Longint; // Volume, trebble or bass level as % of max.
- ulOver : Longint; // Delay time for vectored change in milliseconds
- ulItem : Longint; // Item field for set item flags
- ulValue : Longint; // Value associated with item flag
- usInput : Integer; // Channel for input
- usReserved0 : Integer; // Reserved field
- usOutput : Integer; // Channel for output
- usReserved1 : Integer; // Reserved field
- usFormatTag : Integer; // Format tag
- usReserved2 : Integer; // Reserved field
- usChannels : Integer; // mono(1) or stereo(2)
- usReserved3 : Integer; // Reserved field
- ulSamplesPerSec : Longint; // Samples per seconds
- ulAvgBytesPerSec : LongInt; // Bytes per seconds
- usBlockAlign : Integer; // Block alignment of data
- usReserved4 : Integer; // Reserved field
- usBitsPerSample : Integer; // Bits per seconds
- usReserved5 : Integer; // Reserved field
- end;
- pmci_Wave_Set_Parms = ^mci_Wave_Set_Parms;
- mci_Seq_Set_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulTimeFormat : Longint; // Time format to be used by the device
- ulSpeedFormat : Longint; // Speed format used by this device
- ulAudio : Longint; // Channel number for this operation
- // (MCI_SET_AUDIO_LEFT, MCI_SET_AUDIO_RIGHT,
- // MCI_SET_AUDIO_ALL)
- ulLevel : Longint; // Volume, trebble or bass level as % of max.
- ulOver : Longint; // Delay time for vectored change in millisecond
- ulItem : Longint; // Item field for set item flags
- ulValue : Longint; // Value associated with item flag
- ulTempo : Longint; // Specified the tempo
- ulPort : Longint; // Output port
- ulSlave : Longint; // Unused field
- ulMaster : Longint; // Unused field
- ulOffset : Longint; // Specified the data offset
- end;
- pmci_Seq_Set_Parms = ^mci_Seq_Set_Parms;
- //********************************************************************/
- // parameters for the MCI_SET_CUEPOINT message */
- // 0x00000x00 are reserved for MCI_SET_CUEPOINT flags */
- //********************************************************************/
- CONST
- MCI_SET_CUEPOINT_ON = $00000100;
- MCI_SET_CUEPOINT_OFF = $00000200;
- type
- mci_CuePoint_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulCuepoint : Longint; // Specifies the cuepoint location
- usUserParm : Integer; // User parmameter returned on cuepoint
- // notify message
- usReserved0 : Integer; // Reserved field
- end;
- pmci_CuePoint_Parms = ^mci_CuePoint_Parms;
- //********************************************************************/
- // parameters for the MCI_SETIMAGEPALETTE message */
- // 0x000XXX00 are reserved for MCI_SETIMAGEPALETTE flags */
- //********************************************************************/
- CONST
- MCI_SET_REGISTERED = $00000100;
- //********************************************************************/
- // flags and parameter structure for the MCI_SET_POSITION_ADVISE msg */
- // 0x00000X00 are reserved for MCI_SET_POSITION_ADVISE flags */
- //********************************************************************/
- MCI_SET_POSITION_ADVISE_ON = $00000100;
- MCI_SET_POSITION_ADVISE_OFF = $00000200;
- type
- mci_Position_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulUnits : Longint; // Specifies position change notifiication
- // granularity
- usUserParm : Integer; // User parameter returned on position change
- // notification message.
- Reserved0 : Integer; // Reserved field
- Reserved1 : LongInt; // Reserved field
- end;
- pmci_Position_Parms = ^mci_Position_Parms;
- //********************************************************************/
- // parameter structure for the MCI_SET_SYNC_OFFSET message */
- //********************************************************************/
- mci_Sync_Offset_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulOffset : LongInt; // Specifies the device media position offset
- // in the currently specified device units.
- end;
- pmci_Sync_Offset_Parms = ^mci_Sync_Offset_Parms;
- //********************************************************************/
- // flags for the MCI_SPIN message */
- // 0x00000X00 are reserved for MCI_SPIN flags */
- //********************************************************************/
- CONST
- MCI_SPIN_UP = $00000100;
- MCI_SPIN_DOWN = $00000200;
- //********************************************************************/
- // MCI_STATUS message flags */
- // 0x000XXX00 are reserved for MCI_STATUS flags */
- // MCI_VOLUME and MCI_VOLUME_DELAY are 0x00000100 and 0x00000200 */
- //********************************************************************/
- MCI_STATUS_ITEM = $00000100;
- MCI_STATUS_START = $00000200;
- MCI_STATUS_CONNECTOR = $00000400;
- //************************************************/
- // General MCI_STATUS item values */
- //************************************************/
- MCI_STATUS_CURRENT_TRACK = $00000001;
- MCI_STATUS_LENGTH = $00000002;
- MCI_STATUS_MODE = $00000003;
- MCI_STATUS_NUMBER_OF_TRACKS = $00000004;
- MCI_STATUS_POSITION = $00000005;
- MCI_STATUS_POSITION_IN_TRACK = $00000006;
- MCI_STATUS_MEDIA_PRESENT = $00000007;
- MCI_STATUS_VOLUME = $00000008;
- MCI_STATUS_READY = $00000009;
- MCI_STATUS_TIME_FORMAT = $0000000A;
- MCI_STATUS_SPEED_FORMAT = $0000000B;
- MCI_STATUS_MONITOR = $0000000C;
- MCI_STATUS_AUDIO = $0000000D;
- MCI_STATUS_VIDEO = $0000000E;
- MCI_STATUS_CLIPBOARD = $0000000F;
- MCI_STATUS_CAN_PASTE = $00000010;
- MCI_STATUS_CAN_REDO = $00000020;
- MCI_STATUS_CAN_UNDO = $00000030;
- //************************************************/
- // ulValue field values for MCI_STATUS_AUDIO */
- //************************************************/
- MCI_STATUS_AUDIO_ALL = $00000000;
- MCI_STATUS_AUDIO_LEFT = $00000001;
- MCI_STATUS_AUDIO_RIGHT = $00000002;
- //************************************************/
- // MCI_STATUS item values for amp/mixer */
- //************************************************/
- MCI_AMP_STATUS_PITCH = MCI_AMP_ITEM_BASE;
- MCI_AMP_STATUS_TREBLE = MCI_AMP_ITEM_BASE+1;
- MCI_AMP_STATUS_BASS = MCI_AMP_ITEM_BASE+2;
- MCI_AMP_STATUS_BALANCE = MCI_AMP_ITEM_BASE+3;
- MCI_AMP_STATUS_GAIN = MCI_AMP_ITEM_BASE+4;
- MCI_AMP_STATUS_MONITOR = MCI_AMP_ITEM_BASE+5;
- MCI_AMP_STATUS_MID = MCI_AMP_ITEM_BASE+6;
- MCI_AMP_STATUS_VOLUME = MCI_STATUS_VOLUME;
- MCI_AMP_STATUS_LOUDNESS = MCI_AMP_ITEM_BASE+7;
- MCI_AMP_STATUS_CROSSOVER = MCI_AMP_ITEM_BASE+8;
- MCI_AMP_STATUS_REVERB = MCI_AMP_ITEM_BASE+9;
- MCI_AMP_STATUS_ALC = MCI_AMP_ITEM_BASE+10;
- MCI_AMP_STATUS_CHORUS = MCI_AMP_ITEM_BASE+11;
- MCI_AMP_STATUS_CUSTOM1 = MCI_AMP_ITEM_BASE+12;
- MCI_AMP_STATUS_CUSTOM2 = MCI_AMP_ITEM_BASE+13;
- MCI_AMP_STATUS_CUSTOM3 = MCI_AMP_ITEM_BASE+14;
- MCI_AMP_STATUS_MUTE = MCI_AMP_ITEM_BASE+15;
- MCI_AMP_STATUS_STEREOENHANCE = MCI_AMP_ITEM_BASE+16;
- //************************************************/
- // MCI_STATUS item values for cd audio */
- //************************************************/
- MCI_CD_STATUS_TRACK_TYPE = MCI_CD_ITEM_BASE;
- MCI_CD_STATUS_TRACK_COPYPERMITTED = MCI_CD_ITEM_BASE+1;
- MCI_CD_STATUS_TRACK_CHANNELS = MCI_CD_ITEM_BASE+2;
- MCI_CD_STATUS_TRACK_PREEMPHASIS = MCI_CD_ITEM_BASE+3;
- //***********************************************/
- // return values for CD MCI_STATUS message with */
- // MCI_CD_STATUS_TRACK_TYPE set */
- //***********************************************/
- MCI_CD_TRACK_AUDIO = $00000001;
- MCI_CD_TRACK_DATA = $00000002;
- MCI_CD_TRACK_OTHER = $00000003;
- //************************************************/
- // MCI_STATUS item values for CDXA */
- //************************************************/
- MCI_CDXA_STATUS_CHANNEL = MCI_CDXA_ITEM_BASE;
- //***********************************************/
- //returned from call for MCI_CDXA_STATUS_CHANNEL*/
- //***********************************************/
- MCI_CDXA_NONE = $00000000;
- //************************************************/
- // MCI_STATUS item values for sequencer */
- //************************************************/
- MCI_SEQ_STATUS_TEMPO = MCI_SEQ_ITEM_BASE;
- MCI_SEQ_STATUS_OFFSET = MCI_SEQ_ITEM_BASE+1;
- MCI_SEQ_STATUS_DIVTYPE = MCI_SEQ_ITEM_BASE+2;
- MCI_SEQ_STATUS_MASTER = MCI_SEQ_ITEM_BASE+3;
- MCI_SEQ_STATUS_PORT = MCI_SEQ_ITEM_BASE+4;
- MCI_SEQ_STATUS_SLAVE = MCI_SEQ_ITEM_BASE+5;
- //*********************************************/
- // Return value for current division type */
- //*********************************************/
- MCI_SEQ_DIV_PPQN = $00000001;
- MCI_SEQ_DIV_SMPTE_24 = $00000002;
- MCI_SEQ_DIV_SMPTE_25 = $00000003;
- MCI_SEQ_DIV_SMPTE_30DROP = $00000004;
- MCI_SEQ_DIV_SMPTE_30 = $00000005;
- //************************************************/
- // MCI_STATUS items for videodisc */
- //************************************************/
- MCI_VD_STATUS_SPEED = MCI_VD_ITEM_BASE;
- MCI_VD_STATUS_FORWARD = MCI_VD_ITEM_BASE+1;
- MCI_VD_MEDIA_TYPE = MCI_VD_ITEM_BASE+2;
- MCI_VD_STATUS_SIDE = MCI_VD_ITEM_BASE+3;
- MCI_VD_STATUS_DISC_SIZE = MCI_VD_ITEM_BASE+4;
- //**********************************************/
- // return values for videodisc status command */
- //**********************************************/
- MCI_VD_SPEED_NORMAL = $00000000;
- MCI_VD_SPEED_FAST = $00000001;
- MCI_VD_SPEED_SLOW = $00000002;
- //************************************************/
- // MCI_STATUS items for wave audio */
- //************************************************/
- MCI_WAVE_STATUS_LEVEL = MCI_WAVE_ITEM_BASE;
- MCI_WAVE_STATUS_SAMPLESPERSEC = MCI_WAVE_ITEM_BASE+1;
- MCI_WAVE_STATUS_AVGBYTESPERSEC = MCI_WAVE_ITEM_BASE+2;
- MCI_WAVE_STATUS_BLOCKALIGN = MCI_WAVE_ITEM_BASE+3;
- MCI_WAVE_STATUS_FORMATTAG = MCI_WAVE_ITEM_BASE+4;
- MCI_WAVE_STATUS_CHANNELS = MCI_WAVE_ITEM_BASE+5;
- MCI_WAVE_STATUS_BITSPERSAMPLE = MCI_WAVE_ITEM_BASE+6;
- //************************************************/
- // Common video MCI_STATUS items */
- //************************************************/
- MCI_VID_STATUS_hwnd = MCI_VID_ITEM_BASE;
- MCI_VID_STATUS_AUDIO_COMPRESSION = MCI_VID_ITEM_BASE+1;
- MCI_VID_STATUS_VIDEO_COMPRESSION = MCI_VID_ITEM_BASE+2;
- MCI_VID_STATUS_IMAGE_COMPRESSION = MCI_VID_ITEM_BASE+3;
- MCI_VID_STATUS_AUDIO_QUALITY = MCI_VID_ITEM_BASE+4;
- MCI_VID_STATUS_VIDEO_QUALITY = MCI_VID_ITEM_BASE+5;
- MCI_VID_STATUS_IMAGE_QUALITY = MCI_VID_ITEM_BASE+6;
- MCI_VID_STATUS_IMAGE_BITSPERPEL = MCI_VID_ITEM_BASE+7;
- MCI_VID_STATUS_IMAGE_PELFORMAT = MCI_VID_ITEM_BASE+8;
- MCI_VID_STATUS_FORWARD = MCI_VID_ITEM_BASE+9;
- MCI_VID_STATUS_NORMAL_RATE = MCI_VID_ITEM_BASE+10;
- MCI_VID_STATUS_VIDEO_X_EXTENT = MCI_VID_ITEM_BASE+11;
- MCI_VID_STATUS_VIDEO_Y_EXTENT = MCI_VID_ITEM_BASE+12;
- MCI_VID_STATUS_IMAGE_X_EXTENT = MCI_VID_ITEM_BASE+13;
- MCI_VID_STATUS_IMAGE_Y_EXTENT = MCI_VID_ITEM_BASE+14;
- MCI_VID_STATUS_BRIGHTNESS = MCI_VID_ITEM_BASE+15;
- MCI_VID_STATUS_CONTRAST = MCI_VID_ITEM_BASE+16;
- MCI_VID_STATUS_HUE = MCI_VID_ITEM_BASE+17;
- MCI_VID_STATUS_SATURATION = MCI_VID_ITEM_BASE+18;
- MCI_VID_STATUS_GREYSCALE = MCI_VID_ITEM_BASE+19;
- MCI_VID_STATUS_SHARPNESS = MCI_VID_ITEM_BASE+20;
- MCI_VID_STATUS_SPEED = MCI_VID_ITEM_BASE+21;
- MCI_VID_STATUS_IMAGE_FILE_FORMAT = MCI_VID_ITEM_BASE+22;
- MCI_VID_STATUS_TRANSPARENT_TYPE = MCI_VID_ITEM_BASE+23;
- MCI_VID_STATUS_REF_INTERVAL = MCI_VID_ITEM_BASE+24;
- MCI_VID_STATUS_MAXDATARATE = MCI_VID_ITEM_BASE+25;
- MCI_VID_STATUS_VIDEO_FILE_FORMAT = MCI_VID_ITEM_BASE+26;
- //************************************************/
- // Status Transparent Type returns */
- // MCI_VID_PALETTE */
- // MCI_VID_RGB */
- // MCI_VID_YUV */
- //************************************************/
- MCI_VID_STATUS_TRANSPARENT_COLOR = MCI_VID_ITEM_BASE+24;
- //************************************************/
- // MCI_STATUS items for digital video */
- //************************************************/
- MCI_DGV_STATUS_hwnd = MCI_VID_STATUS_hwnd;
- MCI_DGV_STATUS_AUDIO_COMPRESSION = MCI_VID_STATUS_AUDIO_COMPRESSION;
- MCI_DGV_STATUS_VIDEO_COMPRESSION = MCI_VID_STATUS_VIDEO_COMPRESSION;
- MCI_DGV_STATUS_IMAGE_COMPRESSION = MCI_VID_STATUS_IMAGE_COMPRESSION;
- MCI_DGV_STATUS_AUDIO_QUALITY = MCI_VID_STATUS_AUDIO_QUALITY;
- MCI_DGV_STATUS_VIDEO_QUALITY = MCI_VID_STATUS_VIDEO_QUALITY;
- MCI_DGV_STATUS_IMAGE_QUALITY = MCI_VID_STATUS_IMAGE_QUALITY;
- MCI_DGV_STATUS_IMAGE_BITSPERPEL = MCI_VID_STATUS_IMAGE_BITSPERPEL;
- MCI_DGV_STATUS_IMAGE_PELFORMAT = MCI_VID_STATUS_IMAGE_PELFORMAT;
- MCI_DGV_STATUS_FORWARD = MCI_VID_STATUS_FORWARD;
- MCI_DGV_STATUS_NORMAL_RATE = MCI_VID_STATUS_NORMAL_RATE;
- MCI_DGV_STATUS_VIDEO_X_EXTENT = MCI_VID_STATUS_VIDEO_X_EXTENT;
- MCI_DGV_STATUS_VIDEO_Y_EXTENT = MCI_VID_STATUS_VIDEO_Y_EXTENT;
- MCI_DGV_STATUS_IMAGE_X_EXTENT = MCI_VID_STATUS_IMAGE_X_EXTENT;
- MCI_DGV_STATUS_IMAGE_Y_EXTENT = MCI_VID_STATUS_IMAGE_Y_EXTENT;
- MCI_DGV_STATUS_BRIGHTNESS = MCI_VID_STATUS_BRIGHTNESS;
- MCI_DGV_STATUS_CONTRAST = MCI_VID_STATUS_CONTRAST;
- MCI_DGV_STATUS_HUE = MCI_VID_STATUS_HUE;
- MCI_DGV_STATUS_SATURATION = MCI_VID_STATUS_SATURATION;
- MCI_DGV_STATUS_SPEED = MCI_VID_STATUS_SPEED;
- MCI_DGV_STATUS_SHARPNESS = MCI_VID_STATUS_SHARPNESS;
- MCI_DGV_STATUS_REF_INTERVAL = MCI_VID_STATUS_REF_INTERVAL;
- MCI_DGV_STATUS_MAXDATARATE = MCI_VID_STATUS_MAXDATARATE;
- MCI_DGV_STATUS_VIDEO_FILE_FORMAT = MCI_VID_STATUS_VIDEO_FILE_FORMAT;
- MCI_DGV_STATUS_CHANNELS = MCI_DGV_ITEM_BASE+13;
- MCI_DGV_STATUS_BITSPERSAMPLE = MCI_DGV_ITEM_BASE+14;
- MCI_DGV_STATUS_SAMPLESPERSEC = MCI_DGV_ITEM_BASE+15;
- MCI_DGV_STATUS_FORMATTAG = MCI_DGV_ITEM_BASE+16;
- MCI_DGV_STATUS_BLOCKALIGN = MCI_DGV_ITEM_BASE+17;
- MCI_DGV_STATUS_AVGBYTESPERSEC = MCI_DGV_ITEM_BASE+18;
- MCI_DGV_STATUS_VIDEO_COMPRESSION_SUBTYPE = MCI_DGV_ITEM_BASE+19;
- MCI_DGV_STATUS_VIDEO_RECORD_RATE = MCI_DGV_ITEM_BASE+20;
- MCI_DGV_STATUS_VIDEO_RECORD_FRAME_DURATION = MCI_DGV_ITEM_BASE+21;
- MCI_DGV_STATUS_RECORD_AUDIO = MCI_DGV_ITEM_BASE+22;
- MCI_DGV_STATUS_TRANSPARENT_COLOR = MCI_DGV_ITEM_BASE+23;
- MCI_DGV_STATUS_GRAPHIC_TRANSPARENT_COLOR = MCI_DGV_ITEM_BASE+23; // MUST BE SAME AS TRANSPARENT COLOR
- MCI_DGV_STATUS_hwnd_MONITOR = MCI_DGV_ITEM_BASE+24;
- MCI_DGV_STATUS_DROPPED_FRAME_PCT = MCI_DGV_ITEM_BASE+25;
- MCI_DGV_STATUS_AUDIOSYNC = MCI_DGV_ITEM_BASE+26;
- MCI_DGV_STATUS_AUDIOSYNC_DIRECTION = MCI_DGV_ITEM_BASE+27;
- MCI_DGV_STATUS_VIDEO_TRANSPARENT_COLOR = MCI_DGV_ITEM_BASE+28; // MUST BE SAME AS TRANSPARENT COLOR
- MCI_DGV_STATUS_TUNER_TV_CHANNEL = MCI_DGV_ITEM_BASE+29;
- MCI_DGV_STATUS_TUNER_LOW_TV_CHANNEL = MCI_DGV_ITEM_BASE+29;
- MCI_DGV_STATUS_TUNER_HIGH_TV_CHANNEL = MCI_DGV_ITEM_BASE+29;
- MCI_DGV_STATUS_TUNER_REGION = MCI_DGV_ITEM_BASE+30;
- MCI_DGV_STATUS_TUNER_FINETUNE = MCI_DGV_ITEM_BASE+31;
- MCI_DGV_STATUS_TUNER_FREQUENCY = MCI_DGV_ITEM_BASE+32;
- MCI_DGV_STATUS_TUNER_AUDIO_CHANNEL = MCI_DGV_ITEM_BASE+33;
- MCI_DGV_STATUS_TUNER_AFC = MCI_DGV_ITEM_BASE+34;
- MCI_DGV_STATUS_VALID_SIGNAL = MCI_DGV_ITEM_BASE+35;
- //************************************************/
- // MCI_STATUS item values for video overlay */
- //************************************************/
- MCI_OVLY_STATUS_hwnd = MCI_VID_STATUS_hwnd;
- MCI_OVLY_STATUS_IMAGE_COMPRESSION = MCI_VID_STATUS_IMAGE_COMPRESSION;
- MCI_OVLY_STATUS_IMAGE_BITSPERPEL = MCI_VID_STATUS_IMAGE_BITSPERPEL;
- MCI_OVLY_STATUS_IMAGE_PELFORMAT = MCI_VID_STATUS_IMAGE_PELFORMAT;
- MCI_OVLY_STATUS_IMAGE_X_EXTENT = MCI_VID_STATUS_IMAGE_X_EXTENT;
- MCI_OVLY_STATUS_IMAGE_Y_EXTENT = MCI_VID_STATUS_IMAGE_Y_EXTENT;
- MCI_OVLY_STATUS_BRIGHTNESS = MCI_VID_STATUS_BRIGHTNESS;
- MCI_OVLY_STATUS_CONTRAST = MCI_VID_STATUS_CONTRAST;
- MCI_OVLY_STATUS_HUE = MCI_VID_STATUS_HUE;
- MCI_OVLY_STATUS_SATURATION = MCI_VID_STATUS_SATURATION;
- MCI_OVLY_STATUS_GREYSCALE = MCI_VID_STATUS_GREYSCALE;
- MCI_OVLY_STATUS_IMAGE_QUALITY = MCI_VID_STATUS_IMAGE_QUALITY;
- MCI_OVLY_STATUS_SHARPNESS = MCI_VID_STATUS_SHARPNESS;
- MCI_OVLY_STATUS_IMAGE_FILE_FORMAT = MCI_VID_STATUS_IMAGE_FILE_FORMAT;
- MCI_OVLY_STATUS_TRANSPARENT_TYPE = MCI_VID_STATUS_TRANSPARENT_TYPE;
- MCI_OVLY_STATUS_TRANSPARENT_COLOR = MCI_VID_STATUS_TRANSPARENT_COLOR;
- //************************************************/
- // Status Mode return values */
- //************************************************/
- MCI_MODE_NOT_READY = $00000001;
- MCI_MODE_PAUSE = $00000002;
- MCI_MODE_PLAY = $00000003;
- MCI_MODE_STOP = $00000004;
- MCI_MODE_RECORD = $00000005;
- MCI_MODE_SEEK = $00000006;
- //************************************************/
- // Status Direction return values */
- //************************************************/
- MCI_FORWARD = $00000000;
- MCI_REVERSE = $00000001;
- type
- mci_Status_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulReturn : LongInt; // Return field
- ulItem : LongInt; // Item field for STATUS item to query
- ulValue : LongInt; // Status value field (this used to be)
- // ulTrack but was changed in Rel 1.1
- // to extend the status structure.
- // See the programming reference on when
- // ulValue is used and how...
- end;
- pmci_Status_Parms = ^mci_Status_Parms;
- mci_CDXA_Status_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulReturn : LongInt; // Return field
- ulItem : LongInt; // Item field for STATUS item to query
- ulValue : LongInt; // Status value field (this used to be)
- // ulTrack but was changed in Rel 1.1
- // to extend the status structure.
- // See the programming reference on when
- // ulValue is used and how...
- ulChannel : LongInt; // Channel
- end;
- pmci_CDXA_Status_Parms = ^mci_CDXA_Status_Parms;
- //********************************************************************/
- // flags and parameter structure for the MCI_STEP message */
- // 0x00000X00 are reserved for MCI_STEP flags */
- //********************************************************************/
- CONST
- MCI_STEP_FRAMES = $00000100;
- MCI_STEP_REVERSE = $00000200;
- type
- mci_Step_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulStep : LongInt; // amount to step in current time format
- end;
- pmci_Step_Parms = ^mci_Step_Parms;
- //********************************************************************/
- // flags for the MCI_SYSINFO message */
- // 0xXXXXXX00 are reserved for MCI_SYSINFO flags */
- //********************************************************************/
- CONST
- MCI_SYSINFO_QUANTITY = $00000100;
- MCI_SYSINFO_OPEN = $00000200;
- MCI_SYSINFO_NAME = $00000400;
- MCI_SYSINFO_INSTALLNAME = $00000800;
- MCI_SYSINFO_ITEM = $00001000;
- MCI_SYSINFO_INI_LOCK = $00002000;
- //*******************************************************/
- // Extended SYSINFO functions */
- //*******************************************************/
- MCI_SYSINFO_INSTALL_DRIVER = $00000001;
- MCI_SYSINFO_QUERY_DRIVER = $00000002;
- MCI_SYSINFO_DELETE_DRIVER = $00000004;
- MCI_SYSINFO_SET_PARAMS = $00000008;
- MCI_SYSINFO_QUERY_PARAMS = $00000010;
- MCI_SYSINFO_SET_CONNECTORS = $00000020;
- MCI_SYSINFO_QUERY_CONNECTORS = $00000040;
- MCI_SYSINFO_SET_EXTENSIONS = $00000080;
- MCI_SYSINFO_QUERY_EXTENSIONS = $00000100;
- MCI_SYSINFO_SET_ALIAS = $00000200;
- MCI_SYSINFO_QUERY_NAMES = $00000400;
- MCI_SYSINFO_SET_DEFAULT = $00000800;
- MCI_SYSINFO_QUERY_DEFAULT = $00001000;
- MCI_SYSINFO_SET_TYPES = $00002000;
- MCI_SYSINFO_QUERY_TYPES = $00004000;
- //*******************************************************/
- // Device Flags */
- //*******************************************************/
- MCI_SYSINFO_DEV_CONTROLLABLE = $00000001;
- MCI_SYSINFO_DEV_NONCONTROLLABLE = $00000002;
- MCI_SYSINFO_DEVICESETTINGS = $00000004;
- //********************************************************************/
- // parameter structures for the MCI_SYSINFO message */
- //********************************************************************/
- TYPE
- MaxDevNameChar = array [0..Max_Device_Name-1] of CHAR;
- MaxVerNumChar = array [0..Max_Version_Number-1] of CHAR;
- MaxProdInfChar = array [0..Max_ProdInfo-1] of CHAR;
- MaxPddNameChar = array [0..Max_Pdd_Name-1] of CHAR;
- MaxClsShort = array [0..Max_Classes-1] of integer;
- MaxClsShort2 = array [0..Max_Classes-1,0..Max_Classes-1] of integer;
- MaxDevParmChar = array [0..Max_Dev_Params-1] of CHAR;
- mci_SysInfo_Parms = record
- hwndDummyCallback : hwnd; // NOTIFY not allowed for SYSINFO
- pszReturn : pChar; // Pointer to return buffer
- ulRetSize : LongInt; // Return buffer size
- ulNumber : LongInt; // Ordinal Number
- usDeviceType : Integer; // MCI device type number
- usReserved0 : Integer; // Reserved field
- ulItem : LongInt; // Used to indicate the MCI_SYSINFO
- pSysInfoParm : Pointer; // extended function to perform
- end;
- pmci_SysInfo_Parms = ^mci_SysInfo_Parms;
- mci_SysInfo_LogDevice = packed record
- szInstallName : MaxDevNameChar; // Device install name
- usDeviceType : Integer; // Device type number
- ulDeviceFlag : Longint; // Flag indicating whether device
- // device is controllable or not
- szVersionNumber : MaxVerNumChar; // INI file version number
- szProductInfo : MaxProdInfChar; // Textual product description
- szMCDDriver : MaxDevNameChar; // MCI Driver dll name
- szVSDDriver : MaxDevNameChar; // VSD dll name
- szPDDName : MaxPddNameChar; // Device PDD name
- szMCDTable : MaxDevNameChar; // Device type command table
- szVSDTable : MaxDevNameChar; // Device specific command table
- usShareType : Integer; // Device sharing mode
- szResourceName : MaxDevNameChar; // Resource name
- usResourceUnits : Integer; // Total resource units available
- // for this device
- usResourceClasses : Integer; // Number of resource classes for
- // this device
- ausClassArray : MaxClsShort; // Maximum number of resource
- // units for each class
- ausValidClassArray : MaxClsShort2; // Valid class combinations
- end;
- pmci_SysInfo_LogDevice = ^mci_SysInfo_LogDevice;
- mci_SysInfo_DevParams = record
- szInstallName : MaxDevNameChar; // Device install name
- szDevParams : MaxDevParmChar; // Device specific parameters
- end;
- pmci_SysInfo_DevParams = ^mci_SysInfo_DevParams;
- type
- Connect = record
- usConnectType : Integer; // Connector type
- szToInstallName : MaxDevNameChar; // Install name this connector
- // is connected to
- usToConnectIndex : Integer; // Connector index this connector
- // is connected to
- end;
- pConnect = ^Connect;
- MaxCnctCnct = array[0..MAX_CONNECTORS-1] of Connect;
- MaxExtChar2 = array[0..MAX_EXTENSIONS-1,0..MAX_EXTENSION_NAME-1] of CHAR;
- MaxAliasNameChar = array[0..Max_Alias_Name-1] of Char;
- MaxTypeBufChar = array[0..Max_TypeBuffer] of Char;
- mci_SysInfo_ConParams = record
- szInstallName : MaxDevNameChar; // Device install name
- usNumConnectors : Integer; // Number of device connectors
- ConnectorList : MaxCnctCnct; // Connector list array
- end;
- pmci_SysInfo_ConParams = ^mci_SysInfo_ConParams;
- mci_SysInfo_Extension = record
- szInstallName : MaxDevNameChar; // Device install name
- usNumExtensions : Integer; // Number of extensions
- szExtension : MaxExtChar2; // Extension name array
- end;
- pmci_SysInfo_Extension = ^mci_SysInfo_Extension;
- mci_SysInfo_Alias = record
- szInstallName : MaxDevNameChar; // Device install name
- szAliasName : MaxAliasNameChar; // Alias name
- end;
- pmci_SysInfo_Alias = ^mci_SysInfo_Alias;
- mci_SysInfo_DefaultDevice = record
- szInstallName : MaxDevNameChar; // Device install name
- usDeviceType : Integer; // Device type number
- end;
- pmci_SysInfo_DefaultDevice = ^mci_SysInfo_DefaultDevice;
- mci_SysInfo_Query_Name = record
- szInstallName : MaxDevNameChar; // Device install name
- szLogicalName : MaxDevNameChar; // Logical device name
- szAliasName : MaxAliasNameChar; // Alias name
- usDeviceType : Integer; // Device type number
- usDeviceOrd : Integer; // Device type ordinal
- end;
- pmci_SysInfo_Query_Name = ^mci_SysInfo_Query_Name;
- mci_SysInfo_Types = record
- szInstallName : MaxDevNameChar; // Device install name
- szTypes : MaxTypeBufChar; // EA types
- end;
- pmci_SysInfo_Types = ^mci_SysInfo_Types;
- //********************************************************************/
- // flags for the MCI_UNFREEZE message */
- // 0x00000X00 are reserved for MCI_UNFREEZE flags */
- //********************************************************************/
- CONST
- MCI_OVLY_UNFREEZE_RECT = $00000100;
- MCI_OVLY_UNFREEZE_RECT_OUTSIDE = $00000200;
- //********************************************************************/
- // flags for the MCI_WHERE message */
- // 0x0000XX00 are reserved for MCI_WHERE flags */
- //********************************************************************/
- MCI_VID_WHERE_DESTINATION = $00000100;
- MCI_VID_WHERE_SOURCE = $00000200;
- MCI_VID_WHERE_WINDOW = $00000400;
- MCI_DGV_WHERE_DESTINATION = MCI_VID_WHERE_DESTINATION;
- MCI_DGV_WHERE_SOURCE = MCI_VID_WHERE_SOURCE;
- MCI_DGV_WHERE_WINDOW = MCI_VID_WHERE_WINDOW;
- MCI_DGV_WHERE_ADJUSTED = $00000800;
- MCI_OVLY_WHERE_DESTINATION = MCI_VID_WHERE_DESTINATION;
- MCI_OVLY_WHERE_SOURCE = MCI_VID_WHERE_SOURCE;
- MCI_OVLY_WHERE_WINDOW = MCI_VID_WHERE_WINDOW;
- //********************************************************************/
- // flags and parameter structure for the MCI_WINDOW message */
- // 0x0000XX00 are reserved for MCI_WINDOW flags */
- //********************************************************************/
- MCI_VID_WINDOW_hwnd = $00000100;
- MCI_VID_WINDOW_STATE = $00000200;
- MCI_VID_WINDOW_TEXT = $00000400;
- MCI_VID_WINDOW_DEFAULT = $00000800;
- MCI_DGV_WINDOW_hwnd = MCI_VID_WINDOW_hwnd;
- MCI_DGV_WINDOW_STATE = MCI_VID_WINDOW_STATE;
- MCI_DGV_WINDOW_TEXT = MCI_VID_WINDOW_TEXT;
- MCI_DGV_WINDOW_DEFAULT = MCI_VID_WINDOW_DEFAULT;
- MCI_OVLY_WINDOW_hwnd = MCI_VID_WINDOW_hwnd;
- MCI_OVLY_WINDOW_STATE = MCI_VID_WINDOW_STATE;
- MCI_OVLY_WINDOW_TEXT = MCI_VID_WINDOW_TEXT;
- MCI_OVLY_WINDOW_DEFAULT = MCI_VID_WINDOW_DEFAULT;
- type
- mci_Vid_Window_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- hwndDest : hwnd; // Handle to the client window used for
- // the destination of the video image
- usCmdShow : Integer; // Specifies how the window is displayed
- usReserved1 : Integer; // Reserved
- pszText : pChar; // The text to use as the window caption
- pszAlias : pChar; // The window alias for the display window
- end;
- pmci_Vid_Window_Parms = ^mci_Vid_Window_Parms;
- mci_dgv_Window_Parms = mci_Vid_Window_Parms;
- pmci_dgv_Window_Parms = ^mci_dgv_Window_Parms;
- mci_Ovly_Window_Parms = mci_Vid_Window_Parms;
- pmci_Ovly_Window_Parms = ^mci_Ovly_Window_Parms;
- //********************************************************************/
- // flags and parameter structure for the MCI_TUNER message */
- //********************************************************************/
- CONST
- MCI_DGV_AUDIO_CHANNEL = $00010000;
- MCI_DGV_TV_CHANNEL = $00020000;
- MCI_DGV_FREQUENCY = $00040000;
- MCI_DGV_FINETUNE_PLUS = $00080000;
- MCI_DGV_FINETUNE_MINUS = $00100000;
- MCI_DGV_REGION = $00200000;
- MCI_DGV_AFC_ON = $00400000;
- MCI_DGV_AFC_OFF = $00800000;
- MCI_DGV_POLARIZATION = $00800000;
- MCI_DGV_QUERY = $01000000;
- type
- mci_Dgv_Tuner_Parms = record
- hwndCallback : hwnd; // PM window handle for MCI notify message
- ulFrequency : LongInt; // Tuner Frequency
- ulReserved0 : LongInt; // Reserved 0
- ulTVChannel : LongInt; // TV Channel
- lFineTune : LongInt; // Fine tuning adjustments.
- pszRegion : pChar; // TV Channel Region
- ulReserved1 : LongInt; // Reserved 1
- ulReserved2 : LongInt; // Reserved 2
- end;
- pmci_Dgv_Tuner_Parms = ^mci_Dgv_Tuner_Parms;
- //********************************************************************/
- // */
- // MCI system value defines */
- // */
- //********************************************************************/
- CONST
- MSV_CLOSEDCAPTION = $0;
- MSV_MASTERVOLUME = $1;
- MSV_HEADPHONES = $2;
- MSV_SPEAKERS = $3;
- MSV_WORKPATH = $4;
- MSV_SYSQOSVALUE = $5;
- MSV_SYSQOSERRORFLAG = $6;
- MSV_MAX = $7;
- //********************************************************************/
- // Playlist defines */
- //********************************************************************/
- DATA_OPERATION = 0;
- BRANCH_OPERATION = 1;
- LOOP_OPERATION = 2;
- CALL_OPERATION = 3;
- RETURN_OPERATION = 4;
- EXIT_OPERATION = 5;
- NOP_OPERATION = 6;
- MESSAGE_OPERATION = 7;
- CUEPOINT_OPERATION = 8;
- SEMWAIT_OPERATION = 9;
- SEMPOST_OPERATION = 10;
- //********************************************************************/
- // */
- // MCI Function prototypes */
- // */
- //********************************************************************/
- function mciSendCommand(usDeviceID: Integer; usMessage: Integer; ulParam1: LongInt;
- var Param2; usUserParm: Integer): longint; cdecl;
- function mciSendString(pszCommandBuf: pChar; pszReturnString: pChar;
- wReturnLength: Integer; hwndCallBack: hwnd; usUserParm: Integer): longInt; cdecl;
- function mciGetErrorString(ulError: LongInt; pszBuffer: pChar; usLength: Integer): longint; cdecl;
- function mciMakeGroup(var usDeviceGroupID:Integer; usDeviceCount: Integer;
- var ausDeviceList: Integer; ulFlags: LongInt; ulMMTime: LongInt): longint; cdecl;
- function mciDeleteGroup(usGroupID:Integer): longint; cdecl;
- function mciSetSysValue(iSysValue: Integer; var Value): Boolean; cdecl;
- function mciQuerySysValue(iSysValue: Integer;var Value): Boolean; cdecl;
- function mciGetDeviceID(pszName: pChar): Longint; cdecl;
- Implementation
- function mSecToMM(Value: Cardinal): mmTime;
- begin
- If Value > $FFFFFFFF div 3 then
- mSecToMM := 0
- else
- mSecToMM := Value div 3;
- end;
- function mSecFromMM(Value: mmTime): LongInt;
- begin
- mSecFromMM := (Value+1) div 3;
- end;
- function RedBookToMM(Value: Cardinal): mmTime;
- begin
- RedBookToMM := ( Value and $0000FF ) * 60 * 3000 +
- ( Value and $00FF00 ) * $100 * 3000 +
- ( Value and $FF0000 ) * $10000 * 3000 div 75;
- end;
- function fps24ToMM(Value: Cardinal): mmTime;
- begin
- fps24toMM := ( Value and $000000FF ) * 60 * 60 * 3000 +
- ( Value and $0000FF00 ) * $100 * 60 * 3000 +
- ( Value and $00FF0000 ) * $10000 * 3000 +
- ( Value and $FF000000 ) * $10000 * 3000 div 24;
- end;
- function fps25ToMM(Value: Cardinal): mmTime;
- begin
- fps25ToMM := ( Value and $000000FF ) * 60 * 60 * 3000 +
- ( Value and $0000FF00 ) * $100 * 60 * 3000 +
- ( Value and $00FF0000 ) * $10000 * 3000 +
- ( Value and $FF000000 ) * $10000 * 3000 div 25;
- end;
- function fps30ToMM(Value: Cardinal): mmTime;
- begin
- fps30ToMM := ( Value and $000000FF ) * 60 * 60 * 3000 +
- ( Value and $0000FF00 ) * $100 * 60 * 3000 +
- ( Value and $00FF0000 ) * $10000 * 3000 +
- ( Value and $FF000000 ) * $10000 * 3000 div 30;
- end;
- function HMSToMM(Value: Cardinal): mmTime;
- begin
- HMSToMM := ( Value and $0000FF ) * 60 * 60 * 3000 +
- ( Value and $00FF00 ) * $100 * 60 * 3000 +
- ( Value and $FF0000 ) * $10000 * 3000;
- end;
- function RedBookFromMM(Value: mmTime): Cardinal;
- begin
- if Value+20 >= $100*60*3000 then
- RedBookFromMM := 0
- else
- RedBookFromMM := (Value+20) div (60*3000) +
- ((Value+20) mod ((60*3000) div 3000)) shl 8 +
- ((Value+20) div ((3000 div 75) mod 75)) shl 16;
- end;
- function FPS24FromMM(Value: mmTime): Cardinal;
- begin
- if Value+63 >= $A4CB8000 then // $100*60*60*3000 then
- FPS24FromMM := 0
- else
- FPS24FromMM := ((((Value+63) mod 3000) div (3000 div 24)) shl 24) and $FF000000 +
- ((((Value+63) div 3000) mod 60) shl 16) and $00FF0000 +
- (((((Value+63) div 3000) div 60) mod 60) shl 8) and $0000FF00 +
- ((((Value+63) div 3000) div 60) div 60) and $000000FF;
- end;
- function FPS25FromMM(value: mmTime): Cardinal;
- begin
- if Value+60 >= $A4CB8000 then // $100*60*60*3000
- FPS25FromMM := 0
- else
- FPS25FromMM := ((((Value+60) mod 3000) div (3000 div 25)) shl 24) and $FF000000 +
- ((((Value+60) div 3000) mod 60) shl 16) and $00FF0000 +
- (((((Value+60) div 3000) div 60) mod 60) shl 8) and $0000FF00 +
- ((((Value+60) div 3000) div 60) div 60) and $000000FF;
- end;
- function FPS30FromMM(value: mmTime): Cardinal;
- begin
- if Value+50 >= $A4CB8000 then // $100*60*60*3000
- FPS30FromMM := 0
- else
- FPS30FromMM := ((((Value+50) mod 3000) div (3000 div 30)) shl 24) and $FF000000 +
- ((((Value+50) div 3000) mod 60) shl 16) and $00FF0000 +
- (((((Value+50) div 3000) div 60) mod 60) shl 8) and $0000FF00 +
- ((((Value+50) div 3000) div 60) div 60) and $000000FF;
- end;
- function HMSFromMM(value: mmTime): Cardinal;
- begin
- if Value+50 >= $A4CB8000 then // $100*60*60*3000
- HMSFromMM := 0
- else
- HMSFromMM := (((( Value+50) div 3000) mod 60) shl 16) and $00FF0000 +
- (((((Value+50) div 3000) div 60) mod 60) shl 8) and $0000FF00 +
- (((( Value+50) div 3000) div 60) div 60) and $000000FF;
- end;
- function tmsf_track(time: mmTime): Byte;
- begin
- tmsf_track := byte(time);
- end;
- function tmsf_minute(time: mmTime): Byte;
- begin
- tmsf_minute := pbyte(pchar(@time)+1)^;
- end;
- function tmsf_second(time: mmTime): Byte;
- begin
- tmsf_second := pbyte(pchar(@time)+2)^;
- end;
- function tmsf_frame(time: mmTime): Byte;
- begin
- tmsf_frame := pbyte(pchar(@time)+3)^;
- end;
- function msf_minute(time: mmTime): Byte;
- begin
- msf_minute := byte(time);
- end;
- function msf_second(time: mmTime): Byte;
- begin
- msf_second := pbyte(pchar(@time)+1)^;
- end;
- function msf_frame(time: mmTime): Byte;
- begin
- msf_frame := pbyte(pchar(@time)+2)^;
- end;
- function uLong_lwlb(var ul): Byte; // Low word low byte
- begin
- uLong_lwlb := LongInt(ul);
- end;
- function uLong_lwhb(var ul): Byte; // Low word high byte
- begin
- uLong_lwhb := pbyte(pchar(@ul)+1)^;
- end;
- function uLong_hwlb(var ul): Byte; // High word low byte
- begin
- uLong_hwlb := pbyte(pchar(@ul)+2)^;
- end;
- function uLong_hwhb(var ul): Byte; // High word high byte
- begin
- uLong_hwhb := pbyte(pchar(@ul)+3)^;
- end;
- function uLong_lowd(var ul): Word; // Low word
- begin
- uLong_lowd:=pWord(pchar(@ul))^;
- end;
- function uLong_hiwd(var ul): Word; // High word
- begin
- uLong_hiwd := pWord(pchar(@ul)+Sizeof(Word))^;
- end;
- function mciSendCommand(usDeviceID: Integer; usMessage: Integer; ulParam1: LongInt;
- var Param2; usUserParm: Integer): longint; cdecl; external 'MDM' index 1;
- function mciSendString(pszCommandBuf: pChar; pszReturnString: pChar;
- wReturnLength: Integer; hwndCallBack: hwnd; usUserParm: Integer): longInt; cdecl; external 'MDM' index 2;
- function mciGetErrorString(ulError: LongInt; pszBuffer: pChar; usLength: Integer): longint; cdecl; external 'MDM' index 3;
- function mciMakeGroup(var usDeviceGroupID:Integer; usDeviceCount: Integer;
- var ausDeviceList: Integer; ulFlags: LongInt; ulMMTime: LongInt): longint; cdecl; external 'MDM' index 12;
- function mciDeleteGroup(usGroupID:Integer): longint; cdecl; external 'MDM' index 13;
- function mciSetSysValue(iSysValue: Integer; var Value): Boolean; cdecl; external 'MDM' index 10;
- function mciQuerySysValue(iSysValue: Integer;var Value): Boolean; cdecl; external 'MDM' index 11;
- function mciGetDeviceID(pszName: pChar): Longint; cdecl; external 'MDM' index 16;
- End.
- {
- $Log$
- Revision 1.3 2003-02-15 18:44:55 hajny
- * mmtk directory corrected to lowercase
- Revision 1.1 2003/02/15 16:59:09 hajny
- * mmtk directory corrected to lowercase
- Revision 1.1 2003/02/09 13:49:06 hajny
- + mmtk added
- }
|