| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523 |
- {========================================================================}
- {= (c) 1995-98 SwiftSoft Ronald Dittrich =}
- {========================================================================}
- {= All Rights Reserved =}
- {========================================================================}
- {= D 01099 Dresden = Tel.: +0351-8012255 =}
- {= Loewenstr.7a = info@swiftsoft.de =}
- {========================================================================}
- {= Actual versions on http://www.swiftsoft.de/mmtools.html =}
- {========================================================================}
- {= This code is for reference purposes only and may not be copied or =}
- {= distributed in any format electronic or otherwise except one copy =}
- {= for backup purposes. =}
- {= =}
- {= No Delphi Component Kit or Component individually or in a collection=}
- {= subclassed or otherwise from the code in this unit, or associated =}
- {= .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed =}
- {= without express permission from SwiftSoft. =}
- {= =}
- {= For more licence informations please refer to the associated =}
- {= HelpFile. =}
- {========================================================================}
- {= $Date: 18.02.98 - 04:25:47 $ =}
- {========================================================================}
- unit MMRegs;
- {$I COMPILER.INC}
- interface
- uses
- {$IFDEF WIN32}
- Windows,
- {$ELSE}
- WinTypes,
- {$ENDIF}
- MMSystem;
- { Define the following to skip definitions }
- {.$DEFINE NOMMIDS } { Multimedia IDs are not defined }
- {.$DEFINE NONEWWAVE} { No new waveform types except WAVEFORMATEX }
- {$DEFINE NONEWRIFF} { No new RIFF forms are defined }
- {$DEFINE NONEWRIFFINFO}{ No new RIFF INFO forms are defined }
- {$DEFINE NOJPEGDIB} { No JPEG DIB definitions }
- {$DEFINE NONEWIC } { No new Image Compressor types are defined }
- {$DEFINE NOBITMAP } { No extended bitmap info header definition }
- const
- {$IFDEF CBUILDER3} {$EXTERNALSYM WAVE_MAPPER} {$ENDIF}
- WAVE_MAPPER = $FFFFFFFF; { -1 }
- {$IFNDEF NOMMIDS}
- { manufacturer IDs }
- const
- MM_MICROSOFT = 1; { Microsoft Corporation }
- MM_CREATIVE = 2; { Creative Labs, Inc }
- MM_MEDIAVISION = 3; { Media Vision, Inc. }
- MM_FUJITSU = 4; { Fujitsu Corp. }
- MM_ARTISOFT = 20; { Artisoft, Inc. }
- MM_TURTLE_BEACH = 21; { Turtle Beach, Inc. }
- MM_IBM = 22; { IBM Corporation }
- MM_VOCALTEC = 23; { Vocaltec LTD. }
- MM_ROLAND = 24; { Roland }
- MM_DSP_SOLUTIONS = 25; { DSP Solutions, Inc. }
- MM_NEC = 26; { NEC }
- MM_ATI = 27; { ATI }
- MM_WANGLABS = 28; { Wang Laboratories, Inc }
- MM_TANDY = 29; { Tandy Corporation }
- MM_VOYETRA = 30; { Voyetra }
- MM_ANTEX = 31; { Antex Electronics Corporation }
- MM_ICL_PS = 32; { ICL Personal Systems }
- MM_INTEL = 33; { Intel Corporation }
- MM_GRAVIS = 34; { Advanced Gravis }
- MM_VAL = 35; { Video Associates Labs, Inc. }
- MM_INTERACTIVE = 36; { InterActive Inc }
- MM_YAMAHA = 37; { Yamaha Corporation of America }
- MM_EVEREX = 38; { Everex Systems, Inc }
- MM_ECHO = 39; { Echo Speech Corporation }
- MM_SIERRA = 40; { Sierra Semiconductor Corp }
- MM_CAT = 41; { Computer Aided Technologies }
- MM_APPS = 42; { APPS Software International }
- MM_DSP_GROUP = 43; { DSP Group, Inc }
- MM_MELABS = 44; { microEngineering Labs }
- MM_COMPUTER_FRIENDS = 45; { Computer Friends, Inc. }
- MM_ESS = 46; { ESS Technology }
- MM_AUDIOFILE = 47; { Audio, Inc. }
- MM_MOTOROLA = 48; { Motorola, Inc. }
- MM_CANOPUS = 49; { Canopus, co., Ltd. }
- MM_EPSON = 50; { Seiko Epson Corporation }
- MM_TRUEVISION = 51; { Truevision }
- MM_AZTECH = 52; { Aztech Labs, Inc. }
- MM_VIDEOLOGIC = 53; { Videologic }
- MM_SCALACS = 54; { SCALACS }
- MM_KORG = 55; { Toshihiko Okuhura, Korg Inc. }
- MM_APT = 56; { Audio Processing Technology }
- MM_ICS = 57; { Integrated Circuit Systems, Inc. }
- MM_ITERATEDSYS = 58; { Iterated Systems, Inc. }
- MM_METHEUS = 59; { Metheus }
- MM_LOGITECH = 60; { Logitech, Inc. }
- MM_WINNOV = 61; { Winnov, Inc. }
- MM_NCR = 62; { NCR Corporation }
- MM_EXAN = 63; { EXAN }
- MM_AST = 64; { AST Research Inc. }
- MM_WILLOWPOND = 65; { Willow Pond Corporation }
- MM_SONICFOUNDRY = 66; { Sonic Foundry }
- MM_VITEC = 67; { Vitec Multimedia }
- MM_MOSCOM = 68; { MOSCOM Corporation }
- MM_SILICONSOFT = 69; { Silicon Soft, Inc. }
- MM_SUPERMAC = 73; { Supermac }
- MM_AUDIOPT = 74; { Audio Processing Technology }
- MM_SPEECHCOMP = 76; { Speech Compression }
- MM_DOLBY = 78; { Dolby Laboratories }
- MM_OKI = 79; { OKI }
- MM_AURAVISION = 80; { AuraVision Corporation }
- MM_OLIVETTI = 81; { Olivetti }
- MM_IOMAGIC = 82; { I/O Magic Corporation }
- MM_MATSUSHITA = 83; { Matsushita Electric Industrial Co., LTD.}
- MM_CONTROLRES = 84; { Control Resources Limited }
- MM_XEBEC = 85; { Xebec Multimedia Solutions Limited }
- MM_NEWMEDIA = 86; { New Media Corporation }
- MM_NMS = 87; { Natural MicroSystems }
- MM_LYRRUS = 88; { Lyrrus Inc. }
- MM_COMPUSIC = 89; { Compusic }
- MM_OPTI = 90; { OPTi Computers Inc. }
- MM_DIALOGIC = 93; { Dialogic Corporation }
- const
- { MM_MICROSOFT product IDs }
- MM_PCSPEAKER_WAVEOUT = 13; { PC speaker waveform output }
- MM_MSFT_WSS_WAVEIN = 14; { MS Audio Board waveform input }
- MM_MSFT_WSS_WAVEOUT = 15; { MS Audio Board waveform output }
- MM_MSFT_WSS_FMSYNTH_STEREO = 16; { MS Audio Board Stereo FM synth}
- MM_MSFT_WSS_MIXER = 17; { MS Audio Board Mixer Driver }
- MM_MSFT_WSS_OEM_WAVEIN = 18; { MS OEM Audio Board waveform input}
- MM_MSFT_WSS_OEM_WAVEOUT = 19; { MS OEM Audio Board waveform output}
- MM_MSFT_WSS_OEM_FMSYNTH_STEREO = 20; { MS OEM Audio Board Stereo FM Synth}
- MM_MSFT_WSS_AUX = 21; { MS Audio Board Aux. Port }
- MM_MSFT_WSS_OEM_AUX = 22; { MS OEM Audio Aux Port }
- MM_MSFT_GENERIC_WAVEIN = 23; { MS Vanilla driver waveform input}
- MM_MSFT_GENERIC_WAVEOUT = 24; { MS Vanilla driver wavefrom output}
- MM_MSFT_GENERIC_MIDIIN = 25; { MS Vanilla driver MIDI in }
- MM_MSFT_GENERIC_MIDIOUT = 26; { MS Vanilla driver MIDI external out }
- MM_MSFT_GENERIC_MIDISYNTH = 27; { MS Vanilla driver MIDI synthesizer}
- MM_MSFT_GENERIC_AUX_LINE = 28; { MS Vanilla driver aux (line in)}
- MM_MSFT_GENERIC_AUX_MIC = 29; { MS Vanilla driver aux (mic) }
- MM_MSFT_GENERIC_AUX_CD = 30; { MS Vanilla driver aux (CD) }
- MM_MSFT_WSS_OEM_MIXER = 31; { MS OEM Audio Board Mixer Driver}
- MM_MSFT_MSACM = 32; { MS Audio Compression Manager }
- MM_MSFT_ACM_MSADPCM = 33; { MS ADPCM Codec }
- MM_MSFT_ACM_IMAADPCM = 34; { IMA ADPCM Codec }
- MM_MSFT_ACM_MSFILTER = 35; { MS Filter }
- MM_MSFT_ACM_GSM610 = 36; { GSM 610 codec }
- MM_MSFT_ACM_G711 = 37; { G.711 codec }
- MM_MSFT_ACM_PCM = 38; { PCM converter }
- { Microsoft Windows Sound System drivers }
- MM_WSS_SB16_WAVEIN = 39; { Sound Blaster 16 waveform input}
- MM_WSS_SB16_WAVEOUT = 40; { Sound Blaster 16 waveform output}
- MM_WSS_SB16_MIDIIN = 41; { Sound Blaster 16 midi-in }
- MM_WSS_SB16_MIDIOUT = 42; { Sound Blaster 16 midi out }
- MM_WSS_SB16_SYNTH = 43; { Sound Blaster 16 FM Synthesis }
- MM_WSS_SB16_AUX_LINE = 44; { Sound Blaster 16 aux (line in) }
- MM_WSS_SB16_AUX_CD = 45; { Sound Blaster 16 aux (CD) }
- MM_WSS_SB16_MIXER = 46; { Sound Blaster 16 mixer device }
- MM_WSS_SBPRO_WAVEIN = 47; { Sound Blaster Pro waveform input}
- MM_WSS_SBPRO_WAVEOUT = 48; { Sound Blaster Pro waveform output}
- MM_WSS_SBPRO_MIDIIN = 49; { Sound Blaster Pro midi in }
- MM_WSS_SBPRO_MIDIOUT = 50; { Sound Blaster Pro midi out }
- MM_WSS_SBPRO_SYNTH = 51; { Sound Blaster Pro FM synthesis }
- MM_WSS_SBPRO_AUX_LINE = 52; { Sound Blaster Pro aux (line in)}
- MM_WSS_SBPRO_AUX_CD = 53; { Sound Blaster Pro aux (CD) }
- MM_WSS_SBPRO_MIXER = 54; { Sound Blaster Pro mixer }
- MM_MSFT_WSS_NT_WAVEIN = 55; { WSS NT wave in }
- MM_MSFT_WSS_NT_WAVEOUT = 56; { WSS NT wave out }
- MM_MSFT_WSS_NT_FMSYNTH_STEREO = 57; { WSS NT FM synth }
- MM_MSFT_WSS_NT_MIXER = 58; { WSS NT mixer }
- MM_MSFT_WSS_NT_AUX = 59; { WSS NT aux }
- MM_MSFT_SB16_WAVEIN = 60; { Sound Blaster 16 waveform input}
- MM_MSFT_SB16_WAVEOUT = 61; { Sound Blaster 16 waveform output}
- MM_MSFT_SB16_MIDIIN = 62; { Sound Blaster 16 midi-in }
- MM_MSFT_SB16_MIDIOUT = 63; { Sound Blaster 16 midi out }
- MM_MSFT_SB16_SYNTH = 64; { Sound Blaster 16 FM Synthesis }
- MM_MSFT_SB16_AUX_LINE = 65; { Sound Blaster 16 aux (line in) }
- MM_MSFT_SB16_AUX_CD = 66; { Sound Blaster 16 aux (CD) }
- MM_MSFT_SB16_MIXER = 67; { Sound Blaster 16 mixer device }
- MM_MSFT_SBPRO_WAVEIN = 68; { Sound Blaster Pro waveform input}
- MM_MSFT_SBPRO_WAVEOUT = 69; { Sound Blaster Pro waveform output}
- MM_MSFT_SBPRO_MIDIIN = 70; { Sound Blaster Pro midi in }
- MM_MSFT_SBPRO_MIDIOUT = 71; { Sound Blaster Pro midi out }
- MM_MSFT_SBPRO_SYNTH = 72; { Sound Blaster Pro FM synthesis }
- MM_MSFT_SBPRO_AUX_LINE = 73; { Sound Blaster Pro aux (line in)}
- MM_MSFT_SBPRO_AUX_CD = 74; { Sound Blaster Pro aux (CD) }
- MM_MSFT_SBPRO_MIXER = 75; { Sound Blaster Pro mixer }
- { MM_CREATIVE product IDs }
- MM_CREATIVE_SB15_WAVEIN = 1; { SB (r) 1.5 waveform input }
- MM_CREATIVE_SB20_WAVEIN = 2;
- MM_CREATIVE_SBPRO_WAVEIN = 3;
- MM_CREATIVE_SBP16_WAVEIN = 4;
- MM_CREATIVE_SB15_WAVEOUT = 101;
- MM_CREATIVE_SB20_WAVEOUT = 102;
- MM_CREATIVE_SBPRO_WAVEOUT = 103;
- MM_CREATIVE_SBP16_WAVEOUT = 104;
- MM_CREATIVE_MIDIOUT = 201;{ SB (r) }
- MM_CREATIVE_MIDIIN = 202;{ SB (r) }
- MM_CREATIVE_FMSYNTH_MONO = 301;{ SB (r) }
- MM_CREATIVE_FMSYNTH_STEREO = 302;{ SB Pro (r) stereo synthesizer }
- MM_CREATIVE_AUX_CD = 401;{ SB Pro (r) aux (CD) }
- MM_CREATIVE_AUX_LINE = 402;{ SB Pro (r) aux (Line in ) }
- MM_CREATIVE_AUX_MIC = 403;{ SB Pro (r) aux (mic) }
- MM_CREATIVE_AUX_MASTER = 404;
- MM_CREATIVE_AUX_PCSPK = 405;
- MM_CREATIVE_AUX_WAVE = 406;
- MM_CREATIVE_AUX_MIDI = 407;
- MM_CREATIVE_SBPRO_MIXER = 408;
- MM_CREATIVE_SB16_MIXER = 409;
- { MM_MEDIAVISION product IDs }
- { Pro Audio Spectrum }
- MM_MEDIAVISION_PROAUDIO = $10;
- MM_PROAUD_MIDIOUT = MM_MEDIAVISION_PROAUDIO+1;
- MM_PROAUD_MIDIIN = MM_MEDIAVISION_PROAUDIO+2;
- MM_PROAUD_SYNTH = MM_MEDIAVISION_PROAUDIO+3;
- MM_PROAUD_WAVEOUT = MM_MEDIAVISION_PROAUDIO+4;
- MM_PROAUD_WAVEIN = MM_MEDIAVISION_PROAUDIO+5;
- MM_PROAUD_MIXER = MM_MEDIAVISION_PROAUDIO+6;
- MM_PROAUD_AUX = MM_MEDIAVISION_PROAUDIO+7;
-
- { Thunder Board }
- MM_MEDIAVISION_THUNDER = $20;
- MM_THUNDER_SYNTH = MM_MEDIAVISION_THUNDER+3;
- MM_THUNDER_WAVEOUT = MM_MEDIAVISION_THUNDER+4;
- MM_THUNDER_WAVEIN = MM_MEDIAVISION_THUNDER+5;
- MM_THUNDER_AUX = MM_MEDIAVISION_THUNDER+7;
- { Audio Port }
- MM_MEDIAVISION_TPORT = $40;
- MM_TPORT_WAVEOUT = MM_MEDIAVISION_TPORT+1;
- MM_TPORT_WAVEIN = MM_MEDIAVISION_TPORT+2;
- MM_TPORT_SYNTH = MM_MEDIAVISION_TPORT+3;
-
- { Pro Audio Spectrum Plus }
- MM_MEDIAVISION_PROAUDIO_PLUS = $50;
- MM_PROAUD_PLUS_MIDIOUT = MM_MEDIAVISION_PROAUDIO_PLUS+1;
- MM_PROAUD_PLUS_MIDIIN = MM_MEDIAVISION_PROAUDIO_PLUS+2;
- MM_PROAUD_PLUS_SYNTH = MM_MEDIAVISION_PROAUDIO_PLUS+3;
- MM_PROAUD_PLUS_WAVEOUT = MM_MEDIAVISION_PROAUDIO_PLUS+4;
- MM_PROAUD_PLUS_WAVEIN = MM_MEDIAVISION_PROAUDIO_PLUS+5;
- MM_PROAUD_PLUS_MIXER = MM_MEDIAVISION_PROAUDIO_PLUS+6;
- MM_PROAUD_PLUS_AUX = MM_MEDIAVISION_PROAUDIO_PLUS+7;
- { Pro Audio Spectrum 16 }
- MM_MEDIAVISION_PROAUDIO_16 = $60;
- MM_PROAUD_16_MIDIOUT = MM_MEDIAVISION_PROAUDIO_16+1;
- MM_PROAUD_16_MIDIIN = MM_MEDIAVISION_PROAUDIO_16+2;
- MM_PROAUD_16_SYNTH = MM_MEDIAVISION_PROAUDIO_16+3;
- MM_PROAUD_16_WAVEOUT = MM_MEDIAVISION_PROAUDIO_16+4;
- MM_PROAUD_16_WAVEIN = MM_MEDIAVISION_PROAUDIO_16+5;
- MM_PROAUD_16_MIXER = MM_MEDIAVISION_PROAUDIO_16+6;
- MM_PROAUD_16_AUX = MM_MEDIAVISION_PROAUDIO_16+7;
- { Pro Audio Studio 16 }
- MM_MEDIAVISION_PROSTUDIO_16 = $60;
- MM_STUDIO_16_MIDIOUT = MM_MEDIAVISION_PROSTUDIO_16+1;
- MM_STUDIO_16_MIDIIN = MM_MEDIAVISION_PROSTUDIO_16+2;
- MM_STUDIO_16_SYNTH = MM_MEDIAVISION_PROSTUDIO_16+3;
- MM_STUDIO_16_WAVEOUT = MM_MEDIAVISION_PROSTUDIO_16+4;
- MM_STUDIO_16_WAVEIN = MM_MEDIAVISION_PROSTUDIO_16+5;
- MM_STUDIO_16_MIXER = MM_MEDIAVISION_PROSTUDIO_16+6;
- MM_STUDIO_16_AUX = MM_MEDIAVISION_PROSTUDIO_16+7;
- { CDPC }
- MM_MEDIAVISION_CDPC = $70;
- MM_CDPC_MIDIOUT = MM_MEDIAVISION_CDPC+1;
- MM_CDPC_MIDIIN = MM_MEDIAVISION_CDPC+2;
- MM_CDPC_SYNTH = MM_MEDIAVISION_CDPC+3;
- MM_CDPC_WAVEOUT = MM_MEDIAVISION_CDPC+4;
- MM_CDPC_WAVEIN = MM_MEDIAVISION_CDPC+5;
- MM_CDPC_MIXER = MM_MEDIAVISION_CDPC+6;
- MM_CDPC_AUX = MM_MEDIAVISION_CDPC+7;
- { Opus MV 1208 Chipsent }
- MM_MEDIAVISION_OPUS1208 = $80;
- MM_OPUS401_MIDIOUT = MM_MEDIAVISION_OPUS1208+1;
- MM_OPUS401_MIDIIN = MM_MEDIAVISION_OPUS1208+2;
- MM_OPUS1208_SYNTH = MM_MEDIAVISION_OPUS1208+3;
- MM_OPUS1208_WAVEOUT = MM_MEDIAVISION_OPUS1208+4;
- MM_OPUS1208_WAVEIN = MM_MEDIAVISION_OPUS1208+5;
- MM_OPUS1208_MIXER = MM_MEDIAVISION_OPUS1208+6;
- MM_OPUS1208_AUX = MM_MEDIAVISION_OPUS1208+7;
- { Opus MV 1216 chipset }
- MM_MEDIAVISION_OPUS1216 = $90;
- MM_OPUS1216_MIDIOUT = MM_MEDIAVISION_OPUS1216+1;
- MM_OPUS1216_MIDIIN = MM_MEDIAVISION_OPUS1216+2;
- MM_OPUS1216_SYNTH = MM_MEDIAVISION_OPUS1216+3;
- MM_OPUS1216_WAVEOUT = MM_MEDIAVISION_OPUS1216+4;
- MM_OPUS1216_WAVEIN = MM_MEDIAVISION_OPUS1216+5;
- MM_OPUS1216_MIXER = MM_MEDIAVISION_OPUS1216+6;
- MM_OPUS1216_AUX = MM_MEDIAVISION_OPUS1216+7;
- { MM_ARTISOFT product IDs }
- MM_ARTISOFT_SBWAVEIN = 1; { Artisoft sounding Board waveform input }
- MM_ARTISOFT_SBWAVEOUT = 2; { Artisoft sounding Board waveform output}
- { MM_IBM product IDs }
- MM_MMOTION_WAVEAUX = 1; { IBM M-Motion Auxiliary Device }
- MM_MMOTION_WAVEOUT = 2; { IBM M-Motion Waveform output }
- MM_MMOTION_WAVEIN = 3; { IBM M-Motion Waveform Input }
- MM_IBM_PCMCIA_WAVEIN = 11; { IBM waveform input }
- MM_IBM_PCMCIA_WAVEOUT = 12; { IBM Waveform output }
- MM_IBM_PCMCIA_SYNTH = 13; { IBM Midi Synthesis }
- MM_IBM_PCMCIA_MIDIIN = 14; { IBM external MIDI in }
- MM_IBM_PCMCIA_MIDIOUT = 15; { IBM external MIDI out }
- MM_IBM_PCMCIA_AUX = 16; { IBM auxiliary control }
- { MM_VOCALTEC product IDs }
- MM_VOCALTEC_WAVEOUT = 1;
- MM_VOCALTEC_WAVEIN = 2;
- { MM_ROLAND product IDs }
- MM_ROLAND_MPU401_MIDIOUT = 15;
- MM_ROLAND_MPU401_MIDIIN = 16;
- MM_ROLAND_SMPU_MIDIOUTA = 17;
- MM_ROLAND_SMPU_MIDIOUTB = 18;
- MM_ROLAND_SMPU_MIDIINA = 19;
- MM_ROLAND_SMPU_MIDIINB = 20;
- MM_ROLAND_SC7_MIDIOUT = 21;
- MM_ROLAND_SC7_MIDIIN = 22;
- MM_ROLAND_SERIAL_MIDIOUT = 23;
- MM_ROLAND_SERIAL_MIDIIN = 24;
-
- { MM_DSP_SOLUTIONS product IDs }
- MM_DSP_SOLUTIONS_WAVEOUT = 1;
- MM_DSP_SOLUTIONS_WAVEIN = 2;
- MM_DSP_SOLUTIONS_SYNTH = 3;
- MM_DSP_SOLUTIONS_AUX = 4;
- { MM_WANGLABS product IDs }
- MM_WANGLABS_WAVEIN1 = 1; { Input audio wave on CPU board models:}
- MM_WANGLABS_WAVEOUT1 = 2; { Exec 4010, 4030, 3450; PC 251/25c, }
- { pc 461/25s , pc 461/33c }
- { MM_TANDY product IDs }
- MM_TANDY_VISWAVEIN = $1;
- MM_TANDY_VISWAVEOUT = $2;
- MM_TANDY_VISBIOSSYNTH = $3;
- MM_TANDY_SENS_MMAWAVEIN = $4;
- MM_TANDY_SENS_MMAWAVEOUT = $5;
- MM_TANDY_SENS_MMAMIDIIN = $6;
- MM_TANDY_SENS_MMAMIDIOUT = $7;
- MM_TANDY_SENS_VISWAVEOUT = $8;
- MM_TANDY_PSSJWAVEIN = $9;
- MM_TANDY_PSSJWAVEOUT = $10;
-
- { product IDs }
- MM_INTELOPD_WAVEIN = $1; { HID2 WaveAudio Driver }
- MM_INTELOPD_WAVEOUT = $101; { HID2 }
- MM_INTELOPD_AUX = $401; { HID2 for mixing }
- { MM_INTERACTIVE product IDs }
- MM_INTERACTIVE_WAVEIN = $45;
- MM_INTERACTIVE_WAVEOUT = $45;
- { MM_YAMAHA product IDs }
- MM_YAMAHA_GSS_SYNTH = $01;
- MM_YAMAHA_GSS_WAVEOUT = $02;
- MM_YAMAHA_GSS_WAVEIN = $03;
- MM_YAMAHA_GSS_MIDIOUT = $04;
- MM_YAMAHA_GSS_MIDIIN = $05;
- MM_YAMAHA_GSS_AUX = $06;
- { MM_EVEREX product IDs }
- MM_EVEREX_CARRIER = $01;
- { MM_ECHO product IDs }
- MM_ECHO_SYNTH = $01;
- MM_ECHO_WAVEOUT = $02;
- MM_ECHO_WAVEIN = $03;
- MM_ECHO_MIDIOUT = $04;
- MM_ECHO_MIDIIN = $05;
- MM_ECHO_AUX = $06;
-
- { MM_SIERRA product IDs }
- MM_SIERRA_ARIA_MIDIOUT = $14;
- MM_SIERRA_ARIA_MIDIIN = $15;
- MM_SIERRA_ARIA_SYNTH = $16;
- MM_SIERRA_ARIA_WAVEOUT = $17;
- MM_SIERRA_ARIA_WAVEIN = $18;
- MM_SIERRA_ARIA_AUX = $19;
- MM_SIERRA_ARIA_AUX2 = $20;
- { MM_CAT product IDs }
- MM_CAT_WAVEOUT = $1;
- { MM_DSP_GROUP product IDs }
- MM_DSP_GROUP_TRUESPEECH = $01;
- { MM_MELABS product IDs }
- MM_MELABS_MIDI2GO = $01;
- { MM_ESS product IDs }
- MM_ESS_AMWAVEOUT = $01;
- MM_ESS_AMWAVEIN = $02;
- MM_ESS_AMAUX = $03;
- MM_ESS_AMSYNTH = $04;
- MM_ESS_AMMIDIOUT = $05;
- MM_ESS_AMMIDIIN = $06;
- { product IDs }
- MM_EPS_FMSND = 1;
- { MM_TRUEVISION product IDs }
- MM_TRUEVISION_WAVEIN1 = 1;
- MM_TRUEVISION_WAVEOUT1 = 2;
- { MM_AZTECH product IDs }
- MM_AZTECH_MIDIOUT = 3;
- MM_AZTECH_MIDIIN = 4;
- MM_AZTECH_WAVEIN = 17;
- MM_AZTECH_WAVEOUT = 18;
- MM_AZTECH_FMSYNTH = 20;
- MM_AZTECH_PRO16_WAVEIN = 33;
- MM_AZTECH_PRO16_WAVEOUT = 34;
- MM_AZTECH_PRO16_FMSYNTH = 38;
- MM_AZTECH_DSP16_WAVEIN = 65;
- MM_AZTECH_DSP16_WAVEOUT = 66;
- MM_AZTECH_DSP16_FMSYNTH = 68;
- MM_AZTECH_DSP16_WAVESYNTH = 70;
- MM_AZTECH_AUX_CD = 401;
- MM_AZTECH_AUX_LINE = 402;
- MM_AZTECH_AUX_MIC = 403;
-
- { MM_VIDEOLOGIC product IDs }
- MM_VIDEOLOGIC_MSWAVEIN = 1;
- MM_VIDEOLOGIC_MSWAVEOUT = 2;
-
- { MM_KORG product IDs }
- MM_KORG_PCIF_MIDIOUT = 1;
- MM_KORG_PCIF_MIDIIN = 2;
- { MM_APT product IDs }
- MM_APT_ACE100CD = 1;
- { MM_ICS product IDs }
- MM_ICS_WAVEDECK_WAVEOUT = 1; { MS WSS compatible card and driver }
- MM_ICS_WAVEDECK_WAVEIN = 2;
- MM_ICS_WAVEDECK_MIXER = 3;
- MM_ICS_WAVEDECK_AUX = 4;
- MM_ICS_WAVEDECK_SYNTH = 5;
- { MM_ITERATEDSYS product IDs }
- MM_ITERATEDSYS_FUFCODEC = 1;
- { MM_METHEUS product IDs }
- MM_METHEUS_ZIPPER = 1;
- { MM_WINNOV product IDs }
- MM_WINNOV_CAVIAR_WAVEIN = 1;
- MM_WINNOV_CAVIAR_WAVEOUT = 2;
- MM_WINNOV_CAVIAR_VIDC = 3;
- MM_WINNOV_CAVIAR_CHAMPAGNE = 4; { Fourcc is CHAM }
- MM_WINNOV_CAVIAR_YUV8 = 5; { Fourcc is YUV8 }
- { MM_NCR product IDs }
- MM_NCR_BA_WAVEIN = 1;
- MM_NCR_BA_WAVEOUT = 2;
- MM_NCR_BA_SYNTH = 3;
- MM_NCR_BA_AUX = 4;
- MM_NCR_BA_MIXER = 5;
- { MM_VITEC product IDs }
- MM_VITEC_VMAKER = 1;
- MM_VITEC_VMPRO = 2;
-
- { MM_MOSCOM product IDs }
- MM_MOSCOM_VPC2400 = 1; { Four Port Voice Processing / Voice Recognition Board }
- { MM_SILICONSOFT product IDs }
- MM_SILICONSOFT_SC1_WAVEIN = 1; { Waveform in , high sample rate }
- MM_SILICONSOFT_SC1_WAVEOUT = 2; { Waveform out , high sample rate }
- MM_SILICONSOFT_SC2_WAVEIN = 3; { Waveform in 2 channels, high sample rate }
- MM_SILICONSOFT_SC2_WAVEOUT = 4; { Waveform out 2 channels, high sample rate }
- MM_SILICONSOFT_SOUNDJR2_WAVEOUT= 5; { Waveform out, self powered, efficient }
- MM_SILICONSOFT_SOUNDJR2PR_WAVEIN=6; { Waveform in, self powered, efficient }
- MM_SILICONSOFT_SOUNDJR2PR_WAVEOUT=7;{ Waveform out 2 channels, self powered, efficient }
- MM_SILICONSOFT_SOUNDJR3_WAVEOUT= 8; { Waveform in 2 channels, self powered, efficient }
- { MM_OLIVETTI product IDs }
- MM_OLIVETTI_WAVEIN = 1;
- MM_OLIVETTI_WAVEOUT = 2;
- MM_OLIVETTI_MIXER = 3;
- MM_OLIVETTI_AUX = 4;
- MM_OLIVETTI_MIDIIN = 5;
- MM_OLIVETTI_MIDIOUT = 6;
- MM_OLIVETTI_SYNTH = 7;
- MM_OLIVETTI_JOYSTICK = 8;
- MM_OLIVETTI_ACM_GSM = 9;
- MM_OLIVETTI_ACM_ADPCM = 10;
- MM_OLIVETTI_ACM_CELP = 11;
- MM_OLIVETTI_ACM_SBC = 12;
- MM_OLIVETTI_ACM_OPR = 13;
- { MM_IOMAGIC product IDs }
- { The I/O Magic Tempo is a PCMCIA Type 2 audio card featuring wave }
- { audio record and playback, FM synthesizer, and MIDI output. The }
- { I/O Magic Tempo WaveOut device supports mono and stereo PCM }
- { playback at rates of 7350, 11025, 22050, and 44100 samples }
- MM_IOMAGIC_TEMPO_WAVEOUT = 1;
- MM_IOMAGIC_TEMPO_WAVEIN = 2;
- MM_IOMAGIC_TEMPO_SYNTH = 3;
- MM_IOMAGIC_TEMPO_MIDIOUT = 4;
- MM_IOMAGIC_TEMPO_MXDOUT = 5;
- MM_IOMAGIC_TEMPO_AUXOUT = 6;
- { MM_MATSUSHITA product IDs }
- MM_MATSUSHITA_WAVEIN = 1;
- MM_MATSUSHITA_WAVEOUT = 2;
- MM_MATSUSHITA_FMSYNTH_STEREO = 3;
- MM_MATSUSHITA_MIXER = 4;
- MM_MATSUSHITA_AUX = 5;
- { MM_NEWMEDIA product IDs }
- MM_NEWMEDIA_WAVJAMMER = 1; { WSS Compatible sound card. }
- { MM_LYRRUS product IDs }
- { Bridge is a MIDI driver that allows the the Lyrrus G-VOX hardware }
- { to communicate with Windows base transcription and sequencer }
- { applications. The driver also provides a mechanism for the user to}
- { configure the system to their personal playing style. }
- MM_LYRRUS_BRIDGE_GUITAR = 1;
- { MM_OPTI product IDs }
- MM_OPTI_M16_FMSYNTH_STEREO = $0001;
- MM_OPTI_M16_MIDIIN = $0002;
- MM_OPTI_M16_MIDIOUT = $0003;
- MM_OPTI_M16_WAVEIN = $0004;
- MM_OPTI_M16_WAVEOUT = $0005;
- MM_OPTI_M16_MIXER = $0006;
- MM_OPTI_M16_AUX = $0007;
- MM_OPTI_P16_FMSYNTH_STEREO = $0010;
- MM_OPTI_P16_MIDIIN = $0011;
- MM_OPTI_P16_MIDIOUT = $0012;
- MM_OPTI_P16_WAVEIN = $0013;
- MM_OPTI_P16_WAVEOUT = $0014;
- MM_OPTI_P16_MIXER = $0015;
- MM_OPTI_P16_AUX = $0016;
- MM_OPTI_M32_WAVEIN = $0020;
- MM_OPTI_M32_WAVEOUT = $0021;
- MM_OPTI_M32_MIDIIN = $0022;
- MM_OPTI_M32_MIDIOUT = $0023;
- MM_OPTI_M32_SYNTH_STEREO = $0024;
- MM_OPTI_M32_MIXER = $0025;
- MM_OPTI_M32_AUX = $0026;
- {$ENDIF} { NOMMIDS }
- {**************************************************************************}
- { INFO LIST CHUNKS (from the Multimedia Programmer's Reference }
- { (plus new ones) }
- {**************************************************************************}
- {$IFNDEF NONEWRIFFINFO}
- const
- RIFFINFO_IARL = $4C524149; {'IARL'} { Archival location }
- RIFFINFO_IART = $54524149; {'IART'} { Artist }
- RIFFINFO_ICMS = $534D4349; {'ICMS'} { Commissioned }
- RIFFINFO_ICMT = $544D4349; {'ICMT'} { Comments }
- RIFFINFO_ICOP = $504F4349; {'ICOP'} { Copyright }
- RIFFINFO_ICRD = $44524349; {'ICRD'} { Creation date of subject }
- RIFFINFO_ICRP = $50524349; {'ICRP'} { Cropped }
- RIFFINFO_IDIM = $4D494449; {'IDIM'} { Dimensions }
- RIFFINFO_IDPI = $49504449; {'IDPI'} { Dots per inch }
- RIFFINFO_IENG = $474E4549; {'IENG'} { Engineer }
- RIFFINFO_IGNR = $524E4749; {'IGNR'} { Genre }
- RIFFINFO_IKEY = $59454B49; {'IKEY'} { Keywords }
- RIFFINFO_ILGT = $54474C49; {'ILGT'} { Lightness settings }
- RIFFINFO_IMED = $44454D49; {'IMED'} { Medium }
- RIFFINFO_INAM = $4D414E49; {'INAM'} { Name of subject }
- RIFFINFO_IPLT = $544C5049; {'IPLT'} { Palette Settings. No. of colors requested.}
- RIFFINFO_IPRD = $44525049; {'IPRD'} { Product }
- RIFFINFO_ISBJ = $4A425349; {'ISBJ'} { Subject description }
- RIFFINFO_ISFT = $54465349; {'ISFT'} { Software. Name of package used to create file.}
- RIFFINFO_ISHP = $50485349; {'ISHP'} { Sharpness. }
- RIFFINFO_ISRC = $43525349; {'ISRC'} { Source. }
- RIFFINFO_ISRF = $46525349; {'ISRF'} { Source Form. ie slide, paper }
- RIFFINFO_ITCH = $48435449; {'ITCH'} { Technician who digitized the subject.}
- { New INFO Chunks as of August 30, 1993: }
- RIFFINFO_ISMP = $504D5349; {'ISMP'} { SMPTE time code }
- { ISMP: SMPTE time code of digitization start point expressed as a }
- { NULL terminated text string "HH:MM:SS:FF". If performing MCI }
- { capture in AVICAP, this chunk will be automatically set based on }
- { the MCI start time. }
- RIFFINFO_IDIT = $54494449; {'IDIT'} { Digitization Time }
- { IDIT: "Digitization Time" Specifies the time and date that the }
- { digitization commenced. The digitization time is contained in an }
- { ASCII string which contains exactly 26 characters and is in the }
- { format "Wed Jan 02 02:03:55 1990\n\0". }
- { The ctime(), asctime(), functions can be used to create strings }
- { in this format. This chunk is automatically added to the capture }
- { file based on the current system time at the moment capture is }
- { initiated. }
- RIFFINFO_I = $20202049; {'I '} { Template line for new additions}
- {$ENDIF} { NONEWRIFFINFO }
- (**************************************************************************)
- {$IFNDEF NONEWWAVE}
- { WAVE form wFormatTag IDs }
- const
- WAVE_FORMAT_UNKNOWN = $0000; { Microsoft Corporation }
- WAVE_FORMAT_ADPCM = $0002; { Microsoft Corporation }
- WAVE_FORMAT_MEDIAVISION_ADPCM = $0003; { MV's *UNREGISTERED* ADPCM}
- WAVE_FORMAT_IBM_CVSD = $0005; { IBM Corporation }
- WAVE_FORMAT_ALAW = $0006; { Microsoft Corporation }
- WAVE_FORMAT_MULAW = $0007; { Microsoft Corporation }
- WAVE_FORMAT_OKI_ADPCM = $0010; { OKI }
- WAVE_FORMAT_DVI_ADPCM = $0011; { Intel Corporation }
- WAVE_FORMAT_IMA_ADPCM = $0011; { Intel Corporation }
- WAVE_FORMAT_MEDIASPACE_ADPCM = $0012; { Videologic }
- WAVE_FORMAT_SIERRA_ADPCM = $0013; { Sierra Semiconductor Corp}
- WAVE_FORMAT_G723_ADPCM = $0014; { Antex Electronics Corporation}
- WAVE_FORMAT_DIGISTD = $0015; { DSP Solutions, Inc. }
- WAVE_FORMAT_DIGIFIX = $0016; { DSP Solutions, Inc. }
- WAVE_FORMAT_DIALOGIC_OKI_ADPCM = $0017; { Dialogic Corporation }
- WAVE_FORMAT_YAMAHA_ADPCM = $0020; { Yamaha Corporation of America}
- WAVE_FORMAT_SONARC = $0021; { Speech Compression }
- WAVE_FORMAT_DSPGROUP_TRUESPEECH = $0022; { DSP Group, Inc }
- WAVE_FORMAT_ECHOSC1 = $0023; { Echo Speech Corporation }
- WAVE_FORMAT_AUDIOFILE_AF36 = $0024; { }
- WAVE_FORMAT_APTX = $0025; { Audio Processing Technology}
- WAVE_FORMAT_AUDIOFILE_AF10 = $0026; { }
- WAVE_FORMAT_DOLBY_AC2 = $0030; { Dolby Laboratories }
- WAVE_FORMAT_DOLBYAC2 = WAVE_FORMAT_DOLBY_AC2;
- WAVE_FORMAT_GSM610 = $0031; { Microsoft Corporation }
- WAVE_FORMAT_ANTEX_ADPCME = $0033; { Antex Electronics Corporation}
- WAVE_FORMAT_CONTROL_RES_VQLPC = $0034; { Control Resources Limited}
- WAVE_FORMAT_DIGIREAL = $0035; { DSP Solutions, Inc. }
- WAVE_FORMAT_DIGIADPCM = $0036; { DSP Solutions, Inc. }
- WAVE_FORMAT_CONTROL_RES_CR10 = $0037; { Control Resources Limited}
- WAVE_FORMAT_NMS_VBXADPCM = $0038; { Natural MicroSystems }
- WAVE_FORMAT_CS_IMAADPCM = $0039; { Crystal Semiconductor IMA ADPCM }
- WAVE_FORMAT_G721_ADPCM = $0040; { Antex Electronics Corporation}
- WAVE_FORMAT_MPEG = $0050; { Microsoft Corporation }
- WAVE_FORMAT_MPEG_LAYER3 = $0055; { ISO Mpeg Layer 3 }
- WAVE_FORMAT_CREATIVE_ADPCM = $0200; { Creative Labs, Inc }
- WAVE_FORMAT_CREATIVE_FASTSPEECH8 = $0202; { Creative Labs, Inc }
- WAVE_FORMAT_CREATIVE_FASTSPEECH10 = $0203; { Creative Labs, Inc }
- WAVE_FORMAT_CDIC = $0204; { cdi-c }
- WAVE_FORMAT_CDIB = $0205; { cdi-b }
- WAVE_FORMAT_ADPCME = $0206; { ANTEX-DVI-OKI_ADPCME }
- WAVE_FORMAT_DOLBY_AC2_REVA = $0209; { dolby ac2 48khz rev a }
- WAVE_FORMAT_G728_CELP = $020A; { G.728 }
- WAVE_FORMAT_AAUDIT = $020B; { AAUDIT }
- WAVE_FORMAT_PCM32 = $020C; { PCM 32 }
- WAVE_FORMAT_FM_TOWNS_SND = $0300; { Fujitsu Corp. }
- WAVE_FORMAT_OLIGSM = $1000; { Ing C. Olivetti & C., S.p.A.}
- WAVE_FORMAT_OLIADPCM = $1001; { Ing C. Olivetti & C., S.p.A.}
- WAVE_FORMAT_OLICELP = $1002; { Ing C. Olivetti & C., S.p.A.}
- WAVE_FORMAT_OLISBC = $1003; { Ing C. Olivetti & C., S.p.A.}
- WAVE_FORMAT_OLIOPR = $1004; { Ing C. Olivetti & C., S.p.A.}
- { the WAVE_FORMAT_DEVELOPMENT format tag can be used during the }
- { development phase of a new wave format. Before shipping, you MUST }
- { acquire an official format tag from Microsoft. }
- WAVE_FORMAT_DEVELOPMENT = $FFFF;
- {$ENDIF} { NONEWWAVE }
- {$IFNDEF WIN32}
- type
- DWORD = Longint;
- {*************************************************************************}
- { We must redeclare this, Borland has the records in MMSystem packed !!! }
- {*************************************************************************}
- {*************************************************************************}
- { general waveform format structure (information common to all formats) }
- {*************************************************************************}
- type
- PWaveFormat = ^TWaveFormat;
- TWaveFormat = packed record
- wFormatTag : Word; { format type }
- nChannels : Word; { number of channels (i.e. mono, stereo, etc.) }
- nSamplesPerSec : DWORD; { sample rate }
- nAvgBytesPerSec: DWORD; { for buffer estimation }
- nBlockAlign : Word; { block size of data }
- end;
- {*************************************************************************}
- { specific waveform format structure for PCM data }
- {*************************************************************************}
- type
- PPCMWaveFormat = ^TPCMWaveFormat;
- TPCMWaveFormat = packed record
- wf: TWaveFormat;
- wBitsPerSample: Word;
- end;
- {*************************************************************************}
- { general extended waveform format structure }
- { Use this for all NON PCM formats (information common to all formats) }
- {*************************************************************************}
- type
- PWaveFormatEx = ^TWaveFormatEx;
- TWaveFormatEx = packed record
- wFormatTag : Word; { format type }
- nChannels : Word; { number of channels (i.e. mono, stereo..)}
- nSamplesPerSec : Longint; { sample rate }
- nAvgBytesPerSec: Longint; { for buffer estimation }
- nBlockAlign : Word; { block size of data }
- wBitsPerSample : Word; { Number of bits per sample of mono data }
- cbSize : Word; { The count in bytes of the size of }
- end; { extra information (after cbSize) }
- {$ENDIF}
- type
- PWaveFormatExtensible = ^TWaveFormatExtensible;
- TWaveFormatExtensible = packed record
- Format: TWaveFormatEx;
- Samples: record
- case Word of
- 0: (wValidBitsPerSample: WORD);// bits of precision
- 1: (wSamplesPerBlock : WORD);// valid if wBitsPerSample==0
- 2: (wReserved : WORD);// If neither applies, set to zero.
- end;
- dwChannelMask: DWORD; // which channels are
- SubFormat : TGUID; // present in stream
- end;
- const
- WAVE_FORMAT_EXTENSIBLE = $FFFE;
- // Speaker Positions:
- SPEAKER_FRONT_LEFT = $1;
- SPEAKER_FRONT_RIGHT = $2;
- SPEAKER_FRONT_CENTER = $4;
- SPEAKER_LOW_FREQUENCY = $8;
- SPEAKER_BACK_LEFT = $10;
- SPEAKER_BACK_RIGHT = $20;
- SPEAKER_FRONT_LEFT_OF_CENTER = $40;
- SPEAKER_FRONT_RIGHT_OF_CENTER = $80;
- SPEAKER_BACK_CENTER = $100;
- SPEAKER_SIDE_LEFT = $200;
- SPEAKER_SIDE_RIGHT = $400;
- SPEAKER_TOP_CENTER = $800;
- SPEAKER_TOP_FRONT_LEFT = $1000;
- SPEAKER_TOP_FRONT_CENTER = $2000;
- SPEAKER_TOP_FRONT_RIGHT = $4000;
- SPEAKER_TOP_BACK_LEFT = $8000;
- SPEAKER_TOP_BACK_CENTER = $10000;
- SPEAKER_TOP_BACK_RIGHT = $20000;
- // Bit mask locations reserved for future use
- SPEAKER_RESERVED = $7FFC0000;
- // Used to specify that any possible permutation of speaker configurations
- SPEAKER_ALL = $80000000;
- // DirectSound Speaker Config
- KSAUDIO_SPEAKER_MONO = SPEAKER_FRONT_CENTER;
- KSAUDIO_SPEAKER_STEREO = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT;
- KSAUDIO_SPEAKER_QUAD = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
- SPEAKER_BACK_LEFT or SPEAKER_BACK_RIGHT;
- KSAUDIO_SPEAKER_SURROUND = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
- SPEAKER_FRONT_CENTER or SPEAKER_BACK_CENTER;
- KSAUDIO_SPEAKER_5POINT1 = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
- SPEAKER_FRONT_CENTER or SPEAKER_LOW_FREQUENCY or
- SPEAKER_BACK_LEFT or SPEAKER_BACK_RIGHT;
- KSAUDIO_SPEAKER_7POINT1 = SPEAKER_FRONT_LEFT or SPEAKER_FRONT_RIGHT or
- SPEAKER_FRONT_CENTER or SPEAKER_LOW_FREQUENCY or
- SPEAKER_BACK_LEFT or SPEAKER_BACK_RIGHT or
- SPEAKER_FRONT_LEFT_OF_CENTER or SPEAKER_FRONT_RIGHT_OF_CENTER;
- // DVD Speaker Positions
- KSAUDIO_SPEAKER_GROUND_FRONT_LEFT = SPEAKER_FRONT_LEFT;
- KSAUDIO_SPEAKER_GROUND_FRONT_CENTER = SPEAKER_FRONT_CENTER;
- KSAUDIO_SPEAKER_GROUND_FRONT_RIGHT = SPEAKER_FRONT_RIGHT;
- KSAUDIO_SPEAKER_GROUND_REAR_LEFT = SPEAKER_BACK_LEFT;
- KSAUDIO_SPEAKER_GROUND_REAR_RIGHT = SPEAKER_BACK_RIGHT;
- KSAUDIO_SPEAKER_TOP_MIDDLE = SPEAKER_TOP_CENTER;
- KSAUDIO_SPEAKER_SUPER_WOOFER = SPEAKER_LOW_FREQUENCY;
- //DEFINE_WAVEFORMATEX_GUID(WAVE_FORMAT_PCM)
- KSDATAFORMAT_SUBTYPE_PCM : TGUID = '{00000001-0000-0010-8000-00aa00389b71}';
- {$IFNDEF NONEWWAVE}
- {*************************************************************************}
- { Define data for MS ADPCM }
- {*************************************************************************}
- type
- PADPCMCOEFSET = ^TADPCMCOEFSET;
- TADPCMCOEFSET = packed record
- iCoef1: Smallint;
- iCoef2: Smallint;
- end;
- PADPCMWaveFormat = ^TADPCMWaveFormat;
- TADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock : Word;
- wNumCoef : Word;
- aCoef: array[0..0] of TADPCMCOEFSET;
- end;
- {*************************************************************************}
- { Intel's DVI ADPCM structure definitions }
- { for WAVE_FORMAT_DVI_ADPCM $0011 }
- {*************************************************************************}
- type
- PDVIADPCMWaveFormat = ^TDVIADPCMWaveFormat;
- TDVIADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { IMA endorsed ADPCM structure definitions--note that this is exactly }
- { the same format as Intel's DVI ADPCM. }
- { }
- { for WAVE_FORMAT_IMA_ADPCM (0x0011) }
- {*************************************************************************}
- type
- PIMAADPCMWaveFormat = ^TIMAADPCMWaveFormat;
- TIMAADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { VideoLogic's Media Space ADPCM Structure definitions }
- { for WAVE_FORMAT_MEDIASPACE_ADPCM (0x0012) }
- {*************************************************************************}
- type
- PMEDIASPACEADPCMWaveFormat = ^TMEDIASPACEADPCMWaveFormat;
- TMEDIASPACEADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wRevision: Word;
- end;
- {*************************************************************************}
- { Sierra Semiconductor }
- { for WAVE_FORMAT_SIERRA_ADPCM (0x0013) }
- {*************************************************************************}
- type
- PSIERRAADPCMWaveFormat = ^TSIERRAADPCMWaveFormat;
- TSIERRAADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wRevision: Word;
- end;
- {*************************************************************************}
- { Antex Electronics structure definitions }
- { for WAVE_FORMAT_G723_ADPCM (0x0014) }
- {*************************************************************************}
- type
- PG723_ADPCMWaveFormat = ^TG723_ADPCMWaveFormat;
- TG723_ADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- cbExtraSize : Word;
- nAuxBlockSize: Word;
- end;
- {*************************************************************************}
- { DSP Solutions (formerly DIGISPEECH) structure definitions }
- { for WAVE_FORMAT_DIGISTD (0x0015) }
- {*************************************************************************}
- type
- PDIGISTDWaveFormat = ^TDIGISTDWaveFormat;
- TDIGISTDWaveFormat = packed record
- wfx: TWaveFormatEx;
- end;
- {*************************************************************************}
- { DSP Solutions (formerly DIGISPEECH) structure definitions }
- { for WAVE_FORMAT_DIGIFIX (0x0016) }
- {*************************************************************************}
- type
- PDIGIFIXWaveFormat = ^TDIGIFIXWaveFormat;
- TDIGIFIXWaveFormat = packed record
- wfx: TWaveFormatEx;
- end;
- {*************************************************************************}
- { Dialogic Corporation }
- { WAVEFORMAT_DIALOGIC_OKI_ADPCM (0x0017) }
- {*************************************************************************}
- type
- PDIALOGICOKIADPCMWaveFormat = ^TDIALOGICOKIADPCMWaveFormat;
- TDIALOGICOKIADPCMWaveFormat = packed record
- ewf: TWaveFormatEx;
- end;
- {*************************************************************************}
- { Yamaha Compression's ADPCM structure definitions }
- { for WAVE_FORMAT_YAMAHA_ADPCM (0x0020) }
- {*************************************************************************}
- type
- PYAMAHA_ADPCMWaveFormat = ^TYAMAHA_ADPCMWaveFormat;
- TYAMAHA_ADPCMWaveFormat = packed record
- wfx: TWaveFormatEx;
- end;
- {*************************************************************************}
- { Speech Compression's Sonarc structure definitions }
- { for WAVE_FORMAT_SONARC (0x0021) }
- {*************************************************************************}
- type
- PSONARCWaveFormat = ^TSONARCWaveFormat;
- TSONARCWaveFormat = packed record
- wfx : TWaveFormatEx;
- wCompType: Word;
- end;
- {*************************************************************************}
- { DSP Groups's TRUESPEECH structure definitions }
- { for WAVE_FORMAT_DSPGROUP_TRUESPEECH (0x0022) }
- {*************************************************************************}
- type
- PTRUESPEECHWaveFormat = ^TTRUESPEECHWaveFormat;
- TTRUESPEECHWaveFormat = packed record
- wfx : TWaveFormatEx;
- wRevision : Word;
- nSamplesPerBlock : Word;
- abReserved: array[0..27]of Byte;
- end;
- {*************************************************************************}
- { Echo Speech Corp structure definitions }
- { for WAVE_FORMAT_ECHOSC1 (0x0023) }
- {*************************************************************************}
- type
- PECHOSC1WaveFormat = ^TECHOSC1WaveFormat;
- TECHOSC1WaveFormat = packed record
- wfx: TWaveFormatEx;
- end;
- {*************************************************************************}
- { Audiofile Inc.structure definitions }
- { for WAVE_FORMAT_AUDIOFILE_AF36 (0x0024) }
- {*************************************************************************}
- type
- PAUDIOFILE_AF36WaveFormat = ^TAUDIOFILE_AF36WaveFormat;
- TAUDIOFILE_AF36WaveFormat = packed record
- wfx: TWaveFormatEx;
- end;
- {*************************************************************************}
- { Audio Processing Technology structure definitions }
- { for WAVE_FORMAT_APTX (0x0025) }
- {*************************************************************************}
- type
- PAPTXWaveFormatEx = ^TAPTXWaveFormatEx;
- TAPTXWaveFormatEx = packed record
- wfx: TWaveFormatEx;
- end;
- {*************************************************************************}
- { Audiofile Inc.structure definitions }
- { for WAVE_FORMAT_AUDIOFILE_AF10 (0x0026) }
- {*************************************************************************}
- type
- PAUDIOFILE_AF10WaveFormat = ^TAUDIOFILE_AF10WaveFormat;
- TAUDIOFILE_AF10WaveFormat = packed record
- wfx: TWaveFormatEx;
- end;
- {*************************************************************************}
- { Dolby's AC-2 wave format structure definition }
- { for WAVE_FORMAT_DOLBY_AC2 (0x0030) }
- {*************************************************************************}
- type
- PDOLBYAC2WaveFormat = ^TDOLBYAC2WaveFormat;
- TDOLBYAC2WaveFormat = packed record
- wfx : TWaveFormatEx;
- nAuxBitsCode: Word;
- end;
- {*************************************************************************}
- { Microsoft's WAVE_FORMAT_GSM 610 0x0031 }
- {*************************************************************************}
- type
- PGSM610WaveFormat = ^TGSM610WaveFormat;
- TGSM610WaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { Antex Electronics Corp }
- { for WAVE_FORMAT_ADPCME (0x0033) }
- {*************************************************************************}
- type
- PADPCMEWaveFormat = ^TADPCMEWaveFormat;
- TADPCMEWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { Control Resources Limited }
- { WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 }
- {*************************************************************************}
- type
- PCONTRESVQLPCWaveFormat = ^TCONTRESVQLPCWaveFormat;
- TCONTRESVQLPCWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { for WAVE_FORMAT_DIGIREAL (0x0035) }
- {*************************************************************************}
- type
- PDIGIREALWaveFormat = ^TDIGIREALWaveFormat;
- TDIGIREALWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { DSP Solutions }
- { for WAVE_FORMAT_DIGIADPCM (0x0036) }
- {*************************************************************************}
- type
- PDIGIADPCMWaveFormat = ^TDIGIADPCMWaveFormat;
- TDIGIADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { Control Resources Limited }
- { for WAVE_FORMAT_CONTROL_RES_CR10 0x0037 }
- {*************************************************************************}
- type
- PCONTRESCR10WaveFormat = ^TCONTRESCR10WaveFormat;
- TCONTRESCR10WaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { Natural Microsystems }
- { for WAVE_FORMAT_NMS_VBXADPCM (0x0038) }
- {*************************************************************************}
- type
- PNMS_VBXADPCMWaveFormat = ^TNMS_VBXADPCMWaveFormat;
- TNMS_VBXADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wSamplesPerBlock: Word;
- end;
- {*************************************************************************}
- { Antex Electronics structure definitions }
- { for WAVE_FORMAT_G721_ADPCM (0x0040) }
- {*************************************************************************}
- type
- PG721_ADPCMWaveFormat = ^TG721_ADPCMWaveFormat;
- TG721_ADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- nAuxBlockSize: Word;
- end;
- {*************************************************************************}
- { Microsoft MPEG audio WAV definition }
- { MPEG-1 audio wave format (audio layer only). (0x0050) }
- {*************************************************************************}
- const
- ACM_MPEG_LAYER1 = $0001;
- ACM_MPEG_LAYER2 = $0002;
- ACM_MPEG_LAYER3 = $0004;
- ACM_MPEG_STEREO = $0001;
- ACM_MPEG_JOINTSTEREO = $0002;
- ACM_MPEG_DUALCHANNEL = $0004;
- ACM_MPEG_SINGLECHANNEL = $0008;
- ACM_MPEG_PRIVATEBIT = $0001;
- ACM_MPEG_COPYRIGHT = $0002;
- ACM_MPEG_ORIGINALHOME = $0004;
- ACM_MPEG_PROTECTIONBIT = $0008;
- ACM_MPEG_ID_MPEG1 = $0010;
- type
- PMPEG1WaveFormat = ^TMPEG1WaveFormat;
- TMPEG1WaveFormat = packed record
- wfx : TWaveFormatEx;
- fwHeadLayer : Word;
- dwHeadBitrate: Longint;
- fwHeadMode : Word;
- fwHeadModeExt: Word;
- wHeadEmphasis: Word;
- fwHeadFlags : Word;
- dwPTSLow : Longint;
- dwPTSHigh : Longint;
- end;
- const
- MPEGLAYER3_WFX_EXTRA_BYTES = 12;
- type
- PMPEGLayer3WaveFormat = ^TMPEGLayer3WaveFormat;
- TMPEGLayer3WaveFormat = packed record
- wfx : TWaveFormatEx;
- wID : WORD;
- fdwFlags : DWORD;
- nBlockSize : WORD;
- nFramesPerBlock: WORD;
- nCodecDelay : WORD;
- end;
- {*************************************************************************}
- { Creative's ADPCM structure definitions }
- { for WAVE_FORMAT_CREATIVE_ADPCM (0x0200) }
- {*************************************************************************}
- type
- PCREATIVEADPCMWaveFormat = ^TCREATIVEADPCMWaveFormat;
- TCREATIVEADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- wRevision: Word;
- end;
- {*************************************************************************}
- { Creative FASTSPEECH }
- { WAVEFORMAT_CREATIVE_FASTSPEECH8 (0x0202) }
- {*************************************************************************}
- type
- PCREATIVEFASTSPEECH8WaveFormat = ^TCREATIVEFASTSPEECH8WaveFormat;
- TCREATIVEFASTSPEECH8WaveFormat = packed record
- wfx : TWaveFormatEx;
- wRevision: Word;
- end;
- {*************************************************************************}
- { Creative FASTSPEECH }
- { WAVEFORMAT_CREATIVE_FASTSPEECH10 (0x0203) }
- {*************************************************************************}
- type
- PCREATIVEFASTSPEECH10WaveFormat = ^TCREATIVEFASTSPEECH10WaveFormat;
- TCREATIVEFASTSPEECH10WaveFormat = packed record
- wfx : TWaveFormatEx;
- wRevision: Word;
- end;
- {*************************************************************************}
- { Fujitsu FM Towns 'SND' structure }
- { for WAVE_FORMAT_FMMTOWNS_SND (0x0300) }
- {*************************************************************************}
- type
- PFMTOWNS_SND_WaveFormat = ^TFMTOWNS_SND_WaveFormat;
- TFMTOWNS_SND_WaveFormat = packed record
- wfx : TWaveFormatEx;
- wRevision: Word;
- end;
- {*************************************************************************}
- { Olivetti structure }
- { for WAVE_FORMAT_OLIGSM (0x1000) }
- {*************************************************************************}
- type
- POLIGSMWaveFormat = ^TOLIGSMWaveFormat;
- TOLIGSMWaveFormat = packed record
- wfx : TWaveFormatEx;
- end;
- {*************************************************************************}
- { Olivetti structure }
- { for WAVE_FORMAT_OLIADPCM (0x1001) }
- {*************************************************************************}
- type
- POLIADPCMWaveFormat = ^TOLIADPCMWaveFormat;
- TOLIADPCMWaveFormat = packed record
- wfx : TWaveFormatEx;
- end;
- {*************************************************************************}
- { Olivetti structure }
- { for WAVE_FORMAT_OLICELP (0x1002) }
- {*************************************************************************}
- type
- POLICELPWaveFormat = ^TOLICELPWaveFormat;
- TOLICELPWaveFormat = packed record
- wfx : TWaveFormatEx;
- end;
- {*************************************************************************}
- { Olivetti structure }
- { for WAVE_FORMAT_OLISBC (0x1003) }
- {*************************************************************************}
- type
- POLISBCWaveFormat = ^TOLISBCWaveFormat;
- TOLISBCWaveFormat = packed record
- wfx : TWaveFormatEx;
- end;
- {*************************************************************************}
- { Olivetti structure }
- { for WAVE_FORMAT_OLIOPR (0x1004) }
- {*************************************************************************}
- type
- POLIOPRWaveFormat = ^TOLIOPRWaveFormat;
- TOLIOPRWaveFormat = packed record
- wfx : TWaveFormatEx;
- end;
- {**************************************************************************}
- { ACM Wave Filters
- {**************************************************************************}
- {$IFNDEF ACM_WAVEFILTER} {$DEFINE ACM_WAVEFILTER}
- const
- WAVE_FILTER_UNKNOWN = $0000;
- WAVE_FILTER_DEVELOPMENT = $FFFF;
- type
- PWaveFilter = ^TWaveFilter;
- TWaveFilter = packed record
- cbStruct : Longint; { Size of the filter in bytes }
- dwFilterTag: Longint; { fitler type }
- fdwFilter : Longint; { Flags for the filter (Universal Dfns)}
- dwReserved: array[0..4] of Longint;{ Reserved for system use }
- end;
- {$ENDIF} { ACM_WAVEFILTER }
- {**************************************************************************}
- {$IFNDEF WAVE_FILTER_VOLUME}
- const
- WAVE_FILTER_VOLUME = $0001;
- type
- PVolumeWaveFilter = ^TVolumeWaveFilter;
- TVolumeWaveFilter = packed record
- wfltr : TWaveFilter;
- dwVolume: Longint;
- end;
- {$ENDIF} { WAVE_FILTER_VOLUME }
- {**************************************************************************}
- {$IFNDEF WAVE_FILTER_ECHO}
- const
- WAVE_FILTER_ECHO = $0002;
- type
- PEchoWaveFilter = ^TEchoWaveFilter;
- TEchoWaveFilter = packed record
- wfltr : TWaveFilter;
- dwVolume: Longint;
- dwDelay : Longint;
- end;
- {$ENDIF} { WAVEFILTER_ECHO }
- {**************************************************************************}
- { New RIFF WAVE Chunks }
- {**************************************************************************}
- const
- RIFFWAVE_inst = $74736E69; { 'inst' }
- type
- TRIFFWave_inst = packed record
- bUnshiftedNote: Byte;
- chFineTune : Char;
- chGain : Char;
- bLowNote : Byte;
- bHighNote : Byte;
- bLowVelocity : Byte;
- bHighVelocity : Byte;
- end;
- {$ENDIF} { NONEWWAVE }
- {**************************************************************************}
- { New RIFF Forms }
- {**************************************************************************}
- {$IFNDEF NONEWRIFF}
- const
- { RIFF AVI }
- { AVI file format is specified in a seperate file (AVIFMT.H), }
- { which is available in the VfW and Chicago SDK }
- { RIFF CPPO }
- RIFFCPPO = $4F505043; {'CPPO'}
- RIFFCPPO_objr = $726A626F; {'objr'}
- RIFFCPPO_obji = $696A626F; {'obji'}
- RIFFCPPO_clsr = $72736C63; {'clsr'}
- RIFFCPPO_clsi = $69736C63; {'clsi'}
- RIFFCPPO_mbr = $2072626D; {'mbr '}
- RIFFCPPO_char = $72616863; {'char'}
- RIFFCPPO_byte = $63747962; {'byte'}
- RIFFCPPO_int = $20746E69; {'int '}
- RIFFCPPO_word = $64726F77; {'word'}
- RIFFCPPO_long = $676F6E6C; {'long'}
- RIFFCPPO_dwrd = $64727764; {'dwrd'}
- RIFFCPPO_flt = $20746C66; {'flt '}
- RIFFCPPO_dbl = $206C6264; {'dbl '}
- RIFFCPPO_str = $20727473; {'str '}
- {$ENDIF} { NONEWRIFF }
- {**************************************************************************}
- { DIB Compression Defines }
- {**************************************************************************}
- {$IFNDEF NOBITMAP}
- {$IFNDEF BI_BITFIELDS}
- const
- BI_BITFIELDS = 3;
- {$ENDIF}
- {$IFNDEF QUERYDIBSUPPORT}
- const
- QUERYDIBSUPPORT = $3073;
- QDI_SETDIBITS = $0001;
- QDI_GETDIBITS = $0002;
- QDI_DIBTOSCREEN = $0004;
- QDI_STRETCHDIB = $0008;
- {$ENDIF}
- { Structure definitions }
- type
- TEXBMINFOHEADER = packed record
- bmi: TBitmapInfoHeader;
- { extended BITMAPINFOHEADER fields }
- biExtDataOffset: Longint;
- { Other stuff will go here }
- { ... }
- { Format-specific information }
- { biExtDataOffset points here }
- end;
- { New DIB Compression Defines }
- const
- BICOMP_IBMULTIMOTION = $49544C55; {'ULTI'}
- BICOMP_IBMPHOTOMOTION = $4F4D4850; {'PHMO'}
- BICOMP_CREATIVEYUV = $72757963; {'cyuv'}
- {$ENDIF} { NOBITMAP }
- {$IFNDEF NOJPEGDIB}
- { New DIB Compression Defines }
- const
- JPEG_DIB = $4745504A; {'JPEG'} { Still image JPEG DIB biCompression }
- MJPG_DIB = $47504A4D; {'MJPG'} { Motion JPEG DIB biCompression }
- { JPEGProcess Definitions }
- const
- JPEG_PROCESS_BASELINE = 0; { Baseline DCT }
- { AVI File format extensions }
- AVIIF_CONTROLFRAME = $00000200; { This is a control frame }
- { JIF Marker byte pairs in JPEG Interchange Format sequence }
- JIFMK_SOF0 = $FFC0; { SOF Huff - Baseline DCT }
- JIFMK_SOF1 = $FFC1; { SOF Huff - Extended sequential DCT }
- JIFMK_SOF2 = $FFC2; { SOF Huff - Progressive DCT }
- JIFMK_SOF3 = $FFC3; { SOF Huff - Spatial (sequential) lossless }
- JIFMK_SOF5 = $FFC5; { SOF Huff - Differential sequential DCT }
- JIFMK_SOF6 = $FFC6; { SOF Huff - Differential progressive DCT }
- JIFMK_SOF7 = $FFC7; { SOF Huff - Differential spatial }
- JIFMK_JPG = $FFC8; { SOF Arith - Reserved for JPEG extensions }
- JIFMK_SOF9 = $FFC9; { SOF Arith - Extended sequential DCT }
- JIFMK_SOF10 = $FFCA; { SOF Arith - Progressive DCT }
- JIFMK_SOF11 = $FFCB; { SOF Arith - Spatial (sequential) lossless }
- JIFMK_SOF13 = $FFCD; { SOF Arith - Differential sequential DCT }
- JIFMK_SOF14 = $FFCE; { SOF Arith - Differential progressive DCT }
- JIFMK_SOF15 = $FFCF; { SOF Arith - Differential spatial }
- JIFMK_DHT = $FFC4; { Define Huffman Table(s) }
- JIFMK_DAC = $FFCC; { Define Arithmetic coding conditioning(s) }
- JIFMK_RST0 = $FFD0; { Restart with modulo 8 count 0 }
- JIFMK_RST1 = $FFD1; { Restart with modulo 8 count 1 }
- JIFMK_RST2 = $FFD2; { Restart with modulo 8 count 2 }
- JIFMK_RST3 = $FFD3; { Restart with modulo 8 count 3 }
- JIFMK_RST4 = $FFD4; { Restart with modulo 8 count 4 }
- JIFMK_RST5 = $FFD5; { Restart with modulo 8 count 5 }
- JIFMK_RST6 = $FFD6; { Restart with modulo 8 count 6 }
- JIFMK_RST7 = $FFD7; { Restart with modulo 8 count 7 }
- JIFMK_SOI = $FFD8; { Start of Image }
- JIFMK_EOI = $FFD9; { End of Image }
- JIFMK_SOS = $FFDA; { Start of Scan }
- JIFMK_DQT = $FFDB; { Define quantization Table(s) }
- JIFMK_DNL = $FFDC; { Define Number of Lines }
- JIFMK_DRI = $FFDD; { Define Restart Interval }
- JIFMK_DHP = $FFDE; { Define Hierarchical progression }
- JIFMK_EXP = $FFDF; { Expand Reference Component(s) }
- JIFMK_APP0 = $FFE0; { Application Field 0 }
- JIFMK_APP1 = $FFE1; { Application Field 1 }
- JIFMK_APP2 = $FFE2; { Application Field 2 }
- JIFMK_APP3 = $FFE3; { Application Field 3 }
- JIFMK_APP4 = $FFE4; { Application Field 4 }
- JIFMK_APP5 = $FFE5; { Application Field 5 }
- JIFMK_APP6 = $FFE6; { Application Field 6 }
- JIFMK_APP7 = $FFE7; { Application Field 7 }
- JIFMK_JPG0 = $FFF0; { Reserved for JPEG extensions }
- JIFMK_JPG1 = $FFF1; { Reserved for JPEG extensions }
- JIFMK_JPG2 = $FFF2; { Reserved for JPEG extensions }
- JIFMK_JPG3 = $FFF3; { Reserved for JPEG extensions }
- JIFMK_JPG4 = $FFF4; { Reserved for JPEG extensions }
- JIFMK_JPG5 = $FFF5; { Reserved for JPEG extensions }
- JIFMK_JPG6 = $FFF6; { Reserved for JPEG extensions }
- JIFMK_JPG7 = $FFF7; { Reserved for JPEG extensions }
- JIFMK_JPG8 = $FFF8; { Reserved for JPEG extensions }
- JIFMK_JPG9 = $FFF9; { Reserved for JPEG extensions }
- JIFMK_JPG10 = $FFFA; { Reserved for JPEG extensions }
- JIFMK_JPG11 = $FFFB; { Reserved for JPEG extensions }
- JIFMK_JPG12 = $FFFC; { Reserved for JPEG extensions }
- JIFMK_JPG13 = $FFFD; { Reserved for JPEG extensions }
- JIFMK_COM = $FFFE; { Comment }
- JIFMK_TEM = $FF01; { for temp private use arith code }
- JIFMK_RES = $FF02; { Reserved }
- JIFMK_00 = $FF00; { Zero stuffed byte - entropy data }
- JIFMK_FF = $FFFF; { Fill byte }
- { JPEGColorSpaceID Definitions }
- JPEG_Y = 1; { Y only component of YCbCr }
- JPEG_YCbCr = 2; { YCbCr as define by CCIR 601 }
- JPEG_RGB = 3; { 3 component RGB }
- { Structure definitions }
- type
- TJPEGInfoHeader = packed record
- { compression-specific fields }
- { these fields are defined for 'JPEG' and 'MJPG' }
- JPEGSize : Longint;
- JPEGProcess: Longint;
- { Process specific fields }
- JPEGColorSpaceID : Longint;
- JPEGBitsPerSample: Longint;
- JPEGHSubSampling : Longint;
- JPEGVSubSampling : Longint;
- end;
- {$IFDEF MJPGDHTSEG_STORAGE} {$DEFINE MJPGHDTSEG_STORAGE}
- const
- { Default JPEG DHT Segment for YCrCb omitted from MJPG data }
- MJPGDHTSeg : array [0..$1A3] of Byte =
- ($FF,$C4,$01,$A2,$00,$00,$01,$05,$01,$01,$01,$01,$01,$01,$00,$00,
- $00,$00,$00,$00,$00,$00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,
- $0B,$01,$00,$03,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,
- $00,$00,$00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,$0B,$10,$00,
- $02,$01,$03,$03,$02,$04,$03,$05,$05,$04,$04,$00,$00,$01,$7D,$01,
- $02,$03,$00,$04,$11,$05,$12,$21,$31,$41,$06,$13,$51,$61,$07,$22,
- $71,$14,$32,$81,$91,$A1,$08,$23,$42,$B1,$C1,$15,$52,$D1,$F0,$24,
- $33,$62,$72,$82,$09,$0A,$16,$17,$18,$19,$1A,$25,$26,$27,$28,$29,
- $2A,$34,$35,$36,$37,$38,$39,$3A,$43,$44,$45,$46,$47,$48,$49,$4A,
- $53,$54,$55,$56,$57,$58,$59,$5A,$63,$64,$65,$66,$67,$68,$69,$6A,
- $73,$74,$75,$76,$77,$78,$79,$7A,$83,$84,$85,$86,$87,$88,$89,$8A,
- $92,$93,$94,$95,$96,$97,$98,$99,$9A,$A2,$A3,$A4,$A5,$A6,$A7,$A8,
- $A9,$AA,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,$BA,$C2,$C3,$C4,$C5,$C6,
- $C7,$C8,$C9,$CA,$D2,$D3,$D4,$D5,$D6,$D7,$D8,$D9,$DA,$E1,$E2,$E3,
- $E4,$E5,$E6,$E7,$E8,$E9,$EA,$F1,$F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9,
- $FA,$11,$00,$02,$01,$02,$04,$04,$03,$04,$07,$05,$04,$04,$00,$01,
- $02,$77,$00,$01,$02,$03,$11,$04,$05,$21,$31,$06,$12,$41,$51,$07,
- $61,$71,$13,$22,$32,$81,$08,$14,$42,$91,$A1,$B1,$C1,$09,$23,$33,
- $52,$F0,$15,$62,$72,$D1,$0A,$16,$24,$34,$E1,$25,$F1,$17,$18,$19,
- $1A,$26,$27,$28,$29,$2A,$35,$36,$37,$38,$39,$3A,$43,$44,$45,$46,
- $47,$48,$49,$4A,$53,$54,$55,$56,$57,$58,$59,$5A,$63,$64,$65,$66,
- $67,$68,$69,$6A,$73,$74,$75,$76,$77,$78,$79,$7A,$82,$83,$84,$85,
- $86,$87,$88,$89,$8A,$92,$93,$94,$95,$96,$97,$98,$99,$9A,$A2,$A3,
- $A4,$A5,$A6,$A7,$A8,$A9,$AA,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,$BA,
- $C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$D2,$D3,$D4,$D5,$D6,$D7,$D8,
- $D9,$DA,$E2,$E3,$E4,$E5,$E6,$E7,$E8,$E9,$EA,$F2,$F3,$F4,$F5,$F6,
- $F7,$F8,$F9,$FA);
- {$ENDIF} { End DHT default }
- {$ENDIF} { End JPEG }
- {**************************************************************************}
- { Defined IC types }
- {**************************************************************************}
- {$IFNDEF NONEWIC}
- {$IFNDEF ICTYPE_VIDEO}
- const
- ICTYPE_VIDEO = $63646976; {'vidc'}
- ICTYPE_AUDIO = $63647561; {'audc'}
- {$ENDIF}
- {$ENDIF}
- {**************************************************************************}
- { Misc. FOURCC registration }
- {**************************************************************************}
- {**************************************************************************}
- { Sierra Semiconductor: RDSP- Confidential RIFF file format
- { for the storage and downloading of DSP
- { code for Audio and communications devices.
- {**************************************************************************}
- {$IFNDEF NONEWRIFF}
- const
- FOURCC_RDSP = $50534452; {'RDSP'}
- {$IFNDEF MMNOMIXER}
- {const
- MIXERCONTROL_CONTROLTYPE_SRS_MTS = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 6;
- MIXERCONTROL_CONTROLTYPE_SRS_ONOFF = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 7;
- MIXERCONTROL_CONTROLTYPE_SRS_SYNTHSELECT = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 8;}
- {$ENDIF} { MMNOMIXER }
- {$ENDIF} { NONEWRIFF }
- implementation
- end.
|