MMREGS.INT 66 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428
  1. {========================================================================}
  2. {= (c) 1995-98 SwiftSoft Ronald Dittrich =}
  3. {========================================================================}
  4. {= All Rights Reserved =}
  5. {========================================================================}
  6. {= D 01099 Dresden = Tel.: +0351-8012255 =}
  7. {= Loewenstr.7a = info@swiftsoft.de =}
  8. {========================================================================}
  9. {= Actual versions on http://www.swiftsoft.de/mmtools.html =}
  10. {========================================================================}
  11. {= This code is for reference purposes only and may not be copied or =}
  12. {= distributed in any format electronic or otherwise except one copy =}
  13. {= for backup purposes. =}
  14. {= =}
  15. {= No Delphi Component Kit or Component individually or in a collection=}
  16. {= subclassed or otherwise from the code in this unit, or associated =}
  17. {= .pas, .dfm, .dcu, .asm or .obj files may be sold or distributed =}
  18. {= without express permission from SwiftSoft. =}
  19. {= =}
  20. {= For more licence informations please refer to the associated =}
  21. {= HelpFile. =}
  22. {========================================================================}
  23. {= $Date: 20.01.1998 - 18:00:00 $ =}
  24. {========================================================================}
  25. unit MMRegs;
  26. {$I COMPILER.INC}
  27. interface
  28. uses
  29. {$IFDEF WIN32}
  30. Windows,
  31. {$ELSE}
  32. WinTypes,
  33. {$ENDIF}
  34. MMSystem;
  35. { Define the following to skip definitions }
  36. {.$DEFINE NOMMIDS } { Multimedia IDs are not defined }
  37. {.$DEFINE NONEWWAVE} { No new waveform types except WAVEFORMATEX }
  38. {$DEFINE NONEWRIFF} { No new RIFF forms are defined }
  39. {$DEFINE NONEWRIFFINFO}{ No new RIFF INFO forms are defined }
  40. {$DEFINE NOJPEGDIB} { No JPEG DIB definitions }
  41. {$DEFINE NONEWIC } { No new Image Compressor types are defined }
  42. {$DEFINE NOBITMAP } { No extended bitmap info header definition }
  43. {$IFNDEF _INC_MMREG}
  44. const
  45. { use version number to verify compatibility }
  46. _INC_MMREG = 144; { version * 100 + revision }
  47. const
  48. WAVE_MAPPER = -1;
  49. {$IFNDEF NOMMIDS}
  50. { manufacturer IDs }
  51. const
  52. MM_MICROSOFT = 1; { Microsoft Corporation }
  53. MM_CREATIVE = 2; { Creative Labs, Inc }
  54. MM_MEDIAVISION = 3; { Media Vision, Inc. }
  55. MM_FUJITSU = 4; { Fujitsu Corp. }
  56. MM_ARTISOFT = 20; { Artisoft, Inc. }
  57. MM_TURTLE_BEACH = 21; { Turtle Beach, Inc. }
  58. MM_IBM = 22; { IBM Corporation }
  59. MM_VOCALTEC = 23; { Vocaltec LTD. }
  60. MM_ROLAND = 24; { Roland }
  61. MM_DSP_SOLUTIONS = 25; { DSP Solutions, Inc. }
  62. MM_NEC = 26; { NEC }
  63. MM_ATI = 27; { ATI }
  64. MM_WANGLABS = 28; { Wang Laboratories, Inc }
  65. MM_TANDY = 29; { Tandy Corporation }
  66. MM_VOYETRA = 30; { Voyetra }
  67. MM_ANTEX = 31; { Antex Electronics Corporation }
  68. MM_ICL_PS = 32; { ICL Personal Systems }
  69. MM_INTEL = 33; { Intel Corporation }
  70. MM_GRAVIS = 34; { Advanced Gravis }
  71. MM_VAL = 35; { Video Associates Labs, Inc. }
  72. MM_INTERACTIVE = 36; { InterActive Inc }
  73. MM_YAMAHA = 37; { Yamaha Corporation of America }
  74. MM_EVEREX = 38; { Everex Systems, Inc }
  75. MM_ECHO = 39; { Echo Speech Corporation }
  76. MM_SIERRA = 40; { Sierra Semiconductor Corp }
  77. MM_CAT = 41; { Computer Aided Technologies }
  78. MM_APPS = 42; { APPS Software International }
  79. MM_DSP_GROUP = 43; { DSP Group, Inc }
  80. MM_MELABS = 44; { microEngineering Labs }
  81. MM_COMPUTER_FRIENDS = 45; { Computer Friends, Inc. }
  82. MM_ESS = 46; { ESS Technology }
  83. MM_AUDIOFILE = 47; { Audio, Inc. }
  84. MM_MOTOROLA = 48; { Motorola, Inc. }
  85. MM_CANOPUS = 49; { Canopus, co., Ltd. }
  86. MM_EPSON = 50; { Seiko Epson Corporation }
  87. MM_TRUEVISION = 51; { Truevision }
  88. MM_AZTECH = 52; { Aztech Labs, Inc. }
  89. MM_VIDEOLOGIC = 53; { Videologic }
  90. MM_SCALACS = 54; { SCALACS }
  91. MM_KORG = 55; { Toshihiko Okuhura, Korg Inc. }
  92. MM_APT = 56; { Audio Processing Technology }
  93. MM_ICS = 57; { Integrated Circuit Systems, Inc. }
  94. MM_ITERATEDSYS = 58; { Iterated Systems, Inc. }
  95. MM_METHEUS = 59; { Metheus }
  96. MM_LOGITECH = 60; { Logitech, Inc. }
  97. MM_WINNOV = 61; { Winnov, Inc. }
  98. MM_NCR = 62; { NCR Corporation }
  99. MM_EXAN = 63; { EXAN }
  100. MM_AST = 64; { AST Research Inc. }
  101. MM_WILLOWPOND = 65; { Willow Pond Corporation }
  102. MM_SONICFOUNDRY = 66; { Sonic Foundry }
  103. MM_VITEC = 67; { Vitec Multimedia }
  104. MM_MOSCOM = 68; { MOSCOM Corporation }
  105. MM_SILICONSOFT = 69; { Silicon Soft, Inc. }
  106. MM_SUPERMAC = 73; { Supermac }
  107. MM_AUDIOPT = 74; { Audio Processing Technology }
  108. MM_SPEECHCOMP = 76; { Speech Compression }
  109. MM_DOLBY = 78; { Dolby Laboratories }
  110. MM_OKI = 79; { OKI }
  111. MM_AURAVISION = 80; { AuraVision Corporation }
  112. MM_OLIVETTI = 81; { Olivetti }
  113. MM_IOMAGIC = 82; { I/O Magic Corporation }
  114. MM_MATSUSHITA = 83; { Matsushita Electric Industrial Co., LTD.}
  115. MM_CONTROLRES = 84; { Control Resources Limited }
  116. MM_XEBEC = 85; { Xebec Multimedia Solutions Limited }
  117. MM_NEWMEDIA = 86; { New Media Corporation }
  118. MM_NMS = 87; { Natural MicroSystems }
  119. MM_LYRRUS = 88; { Lyrrus Inc. }
  120. MM_COMPUSIC = 89; { Compusic }
  121. MM_OPTI = 90; { OPTi Computers Inc. }
  122. MM_DIALOGIC = 93; { Dialogic Corporation }
  123. const
  124. { MM_MICROSOFT product IDs }
  125. MM_PCSPEAKER_WAVEOUT = 13; { PC speaker waveform output }
  126. MM_MSFT_WSS_WAVEIN = 14; { MS Audio Board waveform input }
  127. MM_MSFT_WSS_WAVEOUT = 15; { MS Audio Board waveform output }
  128. MM_MSFT_WSS_FMSYNTH_STEREO = 16; { MS Audio Board Stereo FM synth}
  129. MM_MSFT_WSS_MIXER = 17; { MS Audio Board Mixer Driver }
  130. MM_MSFT_WSS_OEM_WAVEIN = 18; { MS OEM Audio Board waveform input}
  131. MM_MSFT_WSS_OEM_WAVEOUT = 19; { MS OEM Audio Board waveform output}
  132. MM_MSFT_WSS_OEM_FMSYNTH_STEREO = 20; { MS OEM Audio Board Stereo FM Synth}
  133. MM_MSFT_WSS_AUX = 21; { MS Audio Board Aux. Port }
  134. MM_MSFT_WSS_OEM_AUX = 22; { MS OEM Audio Aux Port }
  135. MM_MSFT_GENERIC_WAVEIN = 23; { MS Vanilla driver waveform input}
  136. MM_MSFT_GENERIC_WAVEOUT = 24; { MS Vanilla driver wavefrom output}
  137. MM_MSFT_GENERIC_MIDIIN = 25; { MS Vanilla driver MIDI in }
  138. MM_MSFT_GENERIC_MIDIOUT = 26; { MS Vanilla driver MIDI external out }
  139. MM_MSFT_GENERIC_MIDISYNTH = 27; { MS Vanilla driver MIDI synthesizer}
  140. MM_MSFT_GENERIC_AUX_LINE = 28; { MS Vanilla driver aux (line in)}
  141. MM_MSFT_GENERIC_AUX_MIC = 29; { MS Vanilla driver aux (mic) }
  142. MM_MSFT_GENERIC_AUX_CD = 30; { MS Vanilla driver aux (CD) }
  143. MM_MSFT_WSS_OEM_MIXER = 31; { MS OEM Audio Board Mixer Driver}
  144. MM_MSFT_MSACM = 32; { MS Audio Compression Manager }
  145. MM_MSFT_ACM_MSADPCM = 33; { MS ADPCM Codec }
  146. MM_MSFT_ACM_IMAADPCM = 34; { IMA ADPCM Codec }
  147. MM_MSFT_ACM_MSFILTER = 35; { MS Filter }
  148. MM_MSFT_ACM_GSM610 = 36; { GSM 610 codec }
  149. MM_MSFT_ACM_G711 = 37; { G.711 codec }
  150. MM_MSFT_ACM_PCM = 38; { PCM converter }
  151. { Microsoft Windows Sound System drivers }
  152. MM_WSS_SB16_WAVEIN = 39; { Sound Blaster 16 waveform input}
  153. MM_WSS_SB16_WAVEOUT = 40; { Sound Blaster 16 waveform output}
  154. MM_WSS_SB16_MIDIIN = 41; { Sound Blaster 16 midi-in }
  155. MM_WSS_SB16_MIDIOUT = 42; { Sound Blaster 16 midi out }
  156. MM_WSS_SB16_SYNTH = 43; { Sound Blaster 16 FM Synthesis }
  157. MM_WSS_SB16_AUX_LINE = 44; { Sound Blaster 16 aux (line in) }
  158. MM_WSS_SB16_AUX_CD = 45; { Sound Blaster 16 aux (CD) }
  159. MM_WSS_SB16_MIXER = 46; { Sound Blaster 16 mixer device }
  160. MM_WSS_SBPRO_WAVEIN = 47; { Sound Blaster Pro waveform input}
  161. MM_WSS_SBPRO_WAVEOUT = 48; { Sound Blaster Pro waveform output}
  162. MM_WSS_SBPRO_MIDIIN = 49; { Sound Blaster Pro midi in }
  163. MM_WSS_SBPRO_MIDIOUT = 50; { Sound Blaster Pro midi out }
  164. MM_WSS_SBPRO_SYNTH = 51; { Sound Blaster Pro FM synthesis }
  165. MM_WSS_SBPRO_AUX_LINE = 52; { Sound Blaster Pro aux (line in)}
  166. MM_WSS_SBPRO_AUX_CD = 53; { Sound Blaster Pro aux (CD) }
  167. MM_WSS_SBPRO_MIXER = 54; { Sound Blaster Pro mixer }
  168. MM_MSFT_WSS_NT_WAVEIN = 55; { WSS NT wave in }
  169. MM_MSFT_WSS_NT_WAVEOUT = 56; { WSS NT wave out }
  170. MM_MSFT_WSS_NT_FMSYNTH_STEREO = 57; { WSS NT FM synth }
  171. MM_MSFT_WSS_NT_MIXER = 58; { WSS NT mixer }
  172. MM_MSFT_WSS_NT_AUX = 59; { WSS NT aux }
  173. MM_MSFT_SB16_WAVEIN = 60; { Sound Blaster 16 waveform input}
  174. MM_MSFT_SB16_WAVEOUT = 61; { Sound Blaster 16 waveform output}
  175. MM_MSFT_SB16_MIDIIN = 62; { Sound Blaster 16 midi-in }
  176. MM_MSFT_SB16_MIDIOUT = 63; { Sound Blaster 16 midi out }
  177. MM_MSFT_SB16_SYNTH = 64; { Sound Blaster 16 FM Synthesis }
  178. MM_MSFT_SB16_AUX_LINE = 65; { Sound Blaster 16 aux (line in) }
  179. MM_MSFT_SB16_AUX_CD = 66; { Sound Blaster 16 aux (CD) }
  180. MM_MSFT_SB16_MIXER = 67; { Sound Blaster 16 mixer device }
  181. MM_MSFT_SBPRO_WAVEIN = 68; { Sound Blaster Pro waveform input}
  182. MM_MSFT_SBPRO_WAVEOUT = 69; { Sound Blaster Pro waveform output}
  183. MM_MSFT_SBPRO_MIDIIN = 70; { Sound Blaster Pro midi in }
  184. MM_MSFT_SBPRO_MIDIOUT = 71; { Sound Blaster Pro midi out }
  185. MM_MSFT_SBPRO_SYNTH = 72; { Sound Blaster Pro FM synthesis }
  186. MM_MSFT_SBPRO_AUX_LINE = 73; { Sound Blaster Pro aux (line in)}
  187. MM_MSFT_SBPRO_AUX_CD = 74; { Sound Blaster Pro aux (CD) }
  188. MM_MSFT_SBPRO_MIXER = 75; { Sound Blaster Pro mixer }
  189. { MM_CREATIVE product IDs }
  190. MM_CREATIVE_SB15_WAVEIN = 1; { SB (r) 1.5 waveform input }
  191. MM_CREATIVE_SB20_WAVEIN = 2;
  192. MM_CREATIVE_SBPRO_WAVEIN = 3;
  193. MM_CREATIVE_SBP16_WAVEIN = 4;
  194. MM_CREATIVE_SB15_WAVEOUT = 101;
  195. MM_CREATIVE_SB20_WAVEOUT = 102;
  196. MM_CREATIVE_SBPRO_WAVEOUT = 103;
  197. MM_CREATIVE_SBP16_WAVEOUT = 104;
  198. MM_CREATIVE_MIDIOUT = 201;{ SB (r) }
  199. MM_CREATIVE_MIDIIN = 202;{ SB (r) }
  200. MM_CREATIVE_FMSYNTH_MONO = 301;{ SB (r) }
  201. MM_CREATIVE_FMSYNTH_STEREO = 302;{ SB Pro (r) stereo synthesizer }
  202. MM_CREATIVE_AUX_CD = 401;{ SB Pro (r) aux (CD) }
  203. MM_CREATIVE_AUX_LINE = 402;{ SB Pro (r) aux (Line in ) }
  204. MM_CREATIVE_AUX_MIC = 403;{ SB Pro (r) aux (mic) }
  205. MM_CREATIVE_AUX_MASTER = 404;
  206. MM_CREATIVE_AUX_PCSPK = 405;
  207. MM_CREATIVE_AUX_WAVE = 406;
  208. MM_CREATIVE_AUX_MIDI = 407;
  209. MM_CREATIVE_SBPRO_MIXER = 408;
  210. MM_CREATIVE_SB16_MIXER = 409;
  211. { MM_MEDIAVISION product IDs }
  212. { Pro Audio Spectrum }
  213. MM_MEDIAVISION_PROAUDIO = $10;
  214. MM_PROAUD_MIDIOUT = MM_MEDIAVISION_PROAUDIO+1;
  215. MM_PROAUD_MIDIIN = MM_MEDIAVISION_PROAUDIO+2;
  216. MM_PROAUD_SYNTH = MM_MEDIAVISION_PROAUDIO+3;
  217. MM_PROAUD_WAVEOUT = MM_MEDIAVISION_PROAUDIO+4;
  218. MM_PROAUD_WAVEIN = MM_MEDIAVISION_PROAUDIO+5;
  219. MM_PROAUD_MIXER = MM_MEDIAVISION_PROAUDIO+6;
  220. MM_PROAUD_AUX = MM_MEDIAVISION_PROAUDIO+7;
  221. { Thunder Board }
  222. MM_MEDIAVISION_THUNDER = $20;
  223. MM_THUNDER_SYNTH = MM_MEDIAVISION_THUNDER+3;
  224. MM_THUNDER_WAVEOUT = MM_MEDIAVISION_THUNDER+4;
  225. MM_THUNDER_WAVEIN = MM_MEDIAVISION_THUNDER+5;
  226. MM_THUNDER_AUX = MM_MEDIAVISION_THUNDER+7;
  227. { Audio Port }
  228. MM_MEDIAVISION_TPORT = $40;
  229. MM_TPORT_WAVEOUT = MM_MEDIAVISION_TPORT+1;
  230. MM_TPORT_WAVEIN = MM_MEDIAVISION_TPORT+2;
  231. MM_TPORT_SYNTH = MM_MEDIAVISION_TPORT+3;
  232. { Pro Audio Spectrum Plus }
  233. MM_MEDIAVISION_PROAUDIO_PLUS = $50;
  234. MM_PROAUD_PLUS_MIDIOUT = MM_MEDIAVISION_PROAUDIO_PLUS+1;
  235. MM_PROAUD_PLUS_MIDIIN = MM_MEDIAVISION_PROAUDIO_PLUS+2;
  236. MM_PROAUD_PLUS_SYNTH = MM_MEDIAVISION_PROAUDIO_PLUS+3;
  237. MM_PROAUD_PLUS_WAVEOUT = MM_MEDIAVISION_PROAUDIO_PLUS+4;
  238. MM_PROAUD_PLUS_WAVEIN = MM_MEDIAVISION_PROAUDIO_PLUS+5;
  239. MM_PROAUD_PLUS_MIXER = MM_MEDIAVISION_PROAUDIO_PLUS+6;
  240. MM_PROAUD_PLUS_AUX = MM_MEDIAVISION_PROAUDIO_PLUS+7;
  241. { Pro Audio Spectrum 16 }
  242. MM_MEDIAVISION_PROAUDIO_16 = $60;
  243. MM_PROAUD_16_MIDIOUT = MM_MEDIAVISION_PROAUDIO_16+1;
  244. MM_PROAUD_16_MIDIIN = MM_MEDIAVISION_PROAUDIO_16+2;
  245. MM_PROAUD_16_SYNTH = MM_MEDIAVISION_PROAUDIO_16+3;
  246. MM_PROAUD_16_WAVEOUT = MM_MEDIAVISION_PROAUDIO_16+4;
  247. MM_PROAUD_16_WAVEIN = MM_MEDIAVISION_PROAUDIO_16+5;
  248. MM_PROAUD_16_MIXER = MM_MEDIAVISION_PROAUDIO_16+6;
  249. MM_PROAUD_16_AUX = MM_MEDIAVISION_PROAUDIO_16+7;
  250. { Pro Audio Studio 16 }
  251. MM_MEDIAVISION_PROSTUDIO_16 = $60;
  252. MM_STUDIO_16_MIDIOUT = MM_MEDIAVISION_PROSTUDIO_16+1;
  253. MM_STUDIO_16_MIDIIN = MM_MEDIAVISION_PROSTUDIO_16+2;
  254. MM_STUDIO_16_SYNTH = MM_MEDIAVISION_PROSTUDIO_16+3;
  255. MM_STUDIO_16_WAVEOUT = MM_MEDIAVISION_PROSTUDIO_16+4;
  256. MM_STUDIO_16_WAVEIN = MM_MEDIAVISION_PROSTUDIO_16+5;
  257. MM_STUDIO_16_MIXER = MM_MEDIAVISION_PROSTUDIO_16+6;
  258. MM_STUDIO_16_AUX = MM_MEDIAVISION_PROSTUDIO_16+7;
  259. { CDPC }
  260. MM_MEDIAVISION_CDPC = $70;
  261. MM_CDPC_MIDIOUT = MM_MEDIAVISION_CDPC+1;
  262. MM_CDPC_MIDIIN = MM_MEDIAVISION_CDPC+2;
  263. MM_CDPC_SYNTH = MM_MEDIAVISION_CDPC+3;
  264. MM_CDPC_WAVEOUT = MM_MEDIAVISION_CDPC+4;
  265. MM_CDPC_WAVEIN = MM_MEDIAVISION_CDPC+5;
  266. MM_CDPC_MIXER = MM_MEDIAVISION_CDPC+6;
  267. MM_CDPC_AUX = MM_MEDIAVISION_CDPC+7;
  268. { Opus MV 1208 Chipsent }
  269. MM_MEDIAVISION_OPUS1208 = $80;
  270. MM_OPUS401_MIDIOUT = MM_MEDIAVISION_OPUS1208+1;
  271. MM_OPUS401_MIDIIN = MM_MEDIAVISION_OPUS1208+2;
  272. MM_OPUS1208_SYNTH = MM_MEDIAVISION_OPUS1208+3;
  273. MM_OPUS1208_WAVEOUT = MM_MEDIAVISION_OPUS1208+4;
  274. MM_OPUS1208_WAVEIN = MM_MEDIAVISION_OPUS1208+5;
  275. MM_OPUS1208_MIXER = MM_MEDIAVISION_OPUS1208+6;
  276. MM_OPUS1208_AUX = MM_MEDIAVISION_OPUS1208+7;
  277. { Opus MV 1216 chipset }
  278. MM_MEDIAVISION_OPUS1216 = $90;
  279. MM_OPUS1216_MIDIOUT = MM_MEDIAVISION_OPUS1216+1;
  280. MM_OPUS1216_MIDIIN = MM_MEDIAVISION_OPUS1216+2;
  281. MM_OPUS1216_SYNTH = MM_MEDIAVISION_OPUS1216+3;
  282. MM_OPUS1216_WAVEOUT = MM_MEDIAVISION_OPUS1216+4;
  283. MM_OPUS1216_WAVEIN = MM_MEDIAVISION_OPUS1216+5;
  284. MM_OPUS1216_MIXER = MM_MEDIAVISION_OPUS1216+6;
  285. MM_OPUS1216_AUX = MM_MEDIAVISION_OPUS1216+7;
  286. { MM_ARTISOFT product IDs }
  287. MM_ARTISOFT_SBWAVEIN = 1; { Artisoft sounding Board waveform input }
  288. MM_ARTISOFT_SBWAVEOUT = 2; { Artisoft sounding Board waveform output}
  289. { MM_IBM product IDs }
  290. MM_MMOTION_WAVEAUX = 1; { IBM M-Motion Auxiliary Device }
  291. MM_MMOTION_WAVEOUT = 2; { IBM M-Motion Waveform output }
  292. MM_MMOTION_WAVEIN = 3; { IBM M-Motion Waveform Input }
  293. MM_IBM_PCMCIA_WAVEIN = 11; { IBM waveform input }
  294. MM_IBM_PCMCIA_WAVEOUT = 12; { IBM Waveform output }
  295. MM_IBM_PCMCIA_SYNTH = 13; { IBM Midi Synthesis }
  296. MM_IBM_PCMCIA_MIDIIN = 14; { IBM external MIDI in }
  297. MM_IBM_PCMCIA_MIDIOUT = 15; { IBM external MIDI out }
  298. MM_IBM_PCMCIA_AUX = 16; { IBM auxiliary control }
  299. { MM_VOCALTEC product IDs }
  300. MM_VOCALTEC_WAVEOUT = 1;
  301. MM_VOCALTEC_WAVEIN = 2;
  302. { MM_ROLAND product IDs }
  303. MM_ROLAND_MPU401_MIDIOUT = 15;
  304. MM_ROLAND_MPU401_MIDIIN = 16;
  305. MM_ROLAND_SMPU_MIDIOUTA = 17;
  306. MM_ROLAND_SMPU_MIDIOUTB = 18;
  307. MM_ROLAND_SMPU_MIDIINA = 19;
  308. MM_ROLAND_SMPU_MIDIINB = 20;
  309. MM_ROLAND_SC7_MIDIOUT = 21;
  310. MM_ROLAND_SC7_MIDIIN = 22;
  311. MM_ROLAND_SERIAL_MIDIOUT = 23;
  312. MM_ROLAND_SERIAL_MIDIIN = 24;
  313. { MM_DSP_SOLUTIONS product IDs }
  314. MM_DSP_SOLUTIONS_WAVEOUT = 1;
  315. MM_DSP_SOLUTIONS_WAVEIN = 2;
  316. MM_DSP_SOLUTIONS_SYNTH = 3;
  317. MM_DSP_SOLUTIONS_AUX = 4;
  318. { MM_WANGLABS product IDs }
  319. MM_WANGLABS_WAVEIN1 = 1; { Input audio wave on CPU board models:}
  320. MM_WANGLABS_WAVEOUT1 = 2; { Exec 4010, 4030, 3450; PC 251/25c, }
  321. { pc 461/25s , pc 461/33c }
  322. { MM_TANDY product IDs }
  323. MM_TANDY_VISWAVEIN = $1;
  324. MM_TANDY_VISWAVEOUT = $2;
  325. MM_TANDY_VISBIOSSYNTH = $3;
  326. MM_TANDY_SENS_MMAWAVEIN = $4;
  327. MM_TANDY_SENS_MMAWAVEOUT = $5;
  328. MM_TANDY_SENS_MMAMIDIIN = $6;
  329. MM_TANDY_SENS_MMAMIDIOUT = $7;
  330. MM_TANDY_SENS_VISWAVEOUT = $8;
  331. MM_TANDY_PSSJWAVEIN = $9;
  332. MM_TANDY_PSSJWAVEOUT = $10;
  333. { product IDs }
  334. MM_INTELOPD_WAVEIN = $1; { HID2 WaveAudio Driver }
  335. MM_INTELOPD_WAVEOUT = $101; { HID2 }
  336. MM_INTELOPD_AUX = $401; { HID2 for mixing }
  337. { MM_INTERACTIVE product IDs }
  338. MM_INTERACTIVE_WAVEIN = $45;
  339. MM_INTERACTIVE_WAVEOUT = $45;
  340. { MM_YAMAHA product IDs }
  341. MM_YAMAHA_GSS_SYNTH = $01;
  342. MM_YAMAHA_GSS_WAVEOUT = $02;
  343. MM_YAMAHA_GSS_WAVEIN = $03;
  344. MM_YAMAHA_GSS_MIDIOUT = $04;
  345. MM_YAMAHA_GSS_MIDIIN = $05;
  346. MM_YAMAHA_GSS_AUX = $06;
  347. { MM_EVEREX product IDs }
  348. MM_EVEREX_CARRIER = $01;
  349. { MM_ECHO product IDs }
  350. MM_ECHO_SYNTH = $01;
  351. MM_ECHO_WAVEOUT = $02;
  352. MM_ECHO_WAVEIN = $03;
  353. MM_ECHO_MIDIOUT = $04;
  354. MM_ECHO_MIDIIN = $05;
  355. MM_ECHO_AUX = $06;
  356. { MM_SIERRA product IDs }
  357. MM_SIERRA_ARIA_MIDIOUT = $14;
  358. MM_SIERRA_ARIA_MIDIIN = $15;
  359. MM_SIERRA_ARIA_SYNTH = $16;
  360. MM_SIERRA_ARIA_WAVEOUT = $17;
  361. MM_SIERRA_ARIA_WAVEIN = $18;
  362. MM_SIERRA_ARIA_AUX = $19;
  363. MM_SIERRA_ARIA_AUX2 = $20;
  364. { MM_CAT product IDs }
  365. MM_CAT_WAVEOUT = $1;
  366. { MM_DSP_GROUP product IDs }
  367. MM_DSP_GROUP_TRUESPEECH = $01;
  368. { MM_MELABS product IDs }
  369. MM_MELABS_MIDI2GO = $01;
  370. { MM_ESS product IDs }
  371. MM_ESS_AMWAVEOUT = $01;
  372. MM_ESS_AMWAVEIN = $02;
  373. MM_ESS_AMAUX = $03;
  374. MM_ESS_AMSYNTH = $04;
  375. MM_ESS_AMMIDIOUT = $05;
  376. MM_ESS_AMMIDIIN = $06;
  377. { product IDs }
  378. MM_EPS_FMSND = 1;
  379. { MM_TRUEVISION product IDs }
  380. MM_TRUEVISION_WAVEIN1 = 1;
  381. MM_TRUEVISION_WAVEOUT1 = 2;
  382. { MM_AZTECH product IDs }
  383. MM_AZTECH_MIDIOUT = 3;
  384. MM_AZTECH_MIDIIN = 4;
  385. MM_AZTECH_WAVEIN = 17;
  386. MM_AZTECH_WAVEOUT = 18;
  387. MM_AZTECH_FMSYNTH = 20;
  388. MM_AZTECH_PRO16_WAVEIN = 33;
  389. MM_AZTECH_PRO16_WAVEOUT = 34;
  390. MM_AZTECH_PRO16_FMSYNTH = 38;
  391. MM_AZTECH_DSP16_WAVEIN = 65;
  392. MM_AZTECH_DSP16_WAVEOUT = 66;
  393. MM_AZTECH_DSP16_FMSYNTH = 68;
  394. MM_AZTECH_DSP16_WAVESYNTH = 70;
  395. MM_AZTECH_AUX_CD = 401;
  396. MM_AZTECH_AUX_LINE = 402;
  397. MM_AZTECH_AUX_MIC = 403;
  398. { MM_VIDEOLOGIC product IDs }
  399. MM_VIDEOLOGIC_MSWAVEIN = 1;
  400. MM_VIDEOLOGIC_MSWAVEOUT = 2;
  401. { MM_KORG product IDs }
  402. MM_KORG_PCIF_MIDIOUT = 1;
  403. MM_KORG_PCIF_MIDIIN = 2;
  404. { MM_APT product IDs }
  405. MM_APT_ACE100CD = 1;
  406. { MM_ICS product IDs }
  407. MM_ICS_WAVEDECK_WAVEOUT = 1; { MS WSS compatible card and driver }
  408. MM_ICS_WAVEDECK_WAVEIN = 2;
  409. MM_ICS_WAVEDECK_MIXER = 3;
  410. MM_ICS_WAVEDECK_AUX = 4;
  411. MM_ICS_WAVEDECK_SYNTH = 5;
  412. { MM_ITERATEDSYS product IDs }
  413. MM_ITERATEDSYS_FUFCODEC = 1;
  414. { MM_METHEUS product IDs }
  415. MM_METHEUS_ZIPPER = 1;
  416. { MM_WINNOV product IDs }
  417. MM_WINNOV_CAVIAR_WAVEIN = 1;
  418. MM_WINNOV_CAVIAR_WAVEOUT = 2;
  419. MM_WINNOV_CAVIAR_VIDC = 3;
  420. MM_WINNOV_CAVIAR_CHAMPAGNE = 4; { Fourcc is CHAM }
  421. MM_WINNOV_CAVIAR_YUV8 = 5; { Fourcc is YUV8 }
  422. { MM_NCR product IDs }
  423. MM_NCR_BA_WAVEIN = 1;
  424. MM_NCR_BA_WAVEOUT = 2;
  425. MM_NCR_BA_SYNTH = 3;
  426. MM_NCR_BA_AUX = 4;
  427. MM_NCR_BA_MIXER = 5;
  428. { MM_VITEC product IDs }
  429. MM_VITEC_VMAKER = 1;
  430. MM_VITEC_VMPRO = 2;
  431. { MM_MOSCOM product IDs }
  432. MM_MOSCOM_VPC2400 = 1; { Four Port Voice Processing / Voice Recognition Board }
  433. { MM_SILICONSOFT product IDs }
  434. MM_SILICONSOFT_SC1_WAVEIN = 1; { Waveform in , high sample rate }
  435. MM_SILICONSOFT_SC1_WAVEOUT = 2; { Waveform out , high sample rate }
  436. MM_SILICONSOFT_SC2_WAVEIN = 3; { Waveform in 2 channels, high sample rate }
  437. MM_SILICONSOFT_SC2_WAVEOUT = 4; { Waveform out 2 channels, high sample rate }
  438. MM_SILICONSOFT_SOUNDJR2_WAVEOUT= 5; { Waveform out, self powered, efficient }
  439. MM_SILICONSOFT_SOUNDJR2PR_WAVEIN=6; { Waveform in, self powered, efficient }
  440. MM_SILICONSOFT_SOUNDJR2PR_WAVEOUT=7;{ Waveform out 2 channels, self powered, efficient }
  441. MM_SILICONSOFT_SOUNDJR3_WAVEOUT= 8; { Waveform in 2 channels, self powered, efficient }
  442. { MM_OLIVETTI product IDs }
  443. MM_OLIVETTI_WAVEIN = 1;
  444. MM_OLIVETTI_WAVEOUT = 2;
  445. MM_OLIVETTI_MIXER = 3;
  446. MM_OLIVETTI_AUX = 4;
  447. MM_OLIVETTI_MIDIIN = 5;
  448. MM_OLIVETTI_MIDIOUT = 6;
  449. MM_OLIVETTI_SYNTH = 7;
  450. MM_OLIVETTI_JOYSTICK = 8;
  451. MM_OLIVETTI_ACM_GSM = 9;
  452. MM_OLIVETTI_ACM_ADPCM = 10;
  453. MM_OLIVETTI_ACM_CELP = 11;
  454. MM_OLIVETTI_ACM_SBC = 12;
  455. MM_OLIVETTI_ACM_OPR = 13;
  456. { MM_IOMAGIC product IDs }
  457. { The I/O Magic Tempo is a PCMCIA Type 2 audio card featuring wave }
  458. { audio record and playback, FM synthesizer, and MIDI output. The }
  459. { I/O Magic Tempo WaveOut device supports mono and stereo PCM }
  460. { playback at rates of 7350, 11025, 22050, and 44100 samples }
  461. MM_IOMAGIC_TEMPO_WAVEOUT = 1;
  462. MM_IOMAGIC_TEMPO_WAVEIN = 2;
  463. MM_IOMAGIC_TEMPO_SYNTH = 3;
  464. MM_IOMAGIC_TEMPO_MIDIOUT = 4;
  465. MM_IOMAGIC_TEMPO_MXDOUT = 5;
  466. MM_IOMAGIC_TEMPO_AUXOUT = 6;
  467. { MM_MATSUSHITA product IDs }
  468. MM_MATSUSHITA_WAVEIN = 1;
  469. MM_MATSUSHITA_WAVEOUT = 2;
  470. MM_MATSUSHITA_FMSYNTH_STEREO = 3;
  471. MM_MATSUSHITA_MIXER = 4;
  472. MM_MATSUSHITA_AUX = 5;
  473. { MM_NEWMEDIA product IDs }
  474. MM_NEWMEDIA_WAVJAMMER = 1; { WSS Compatible sound card. }
  475. { MM_LYRRUS product IDs }
  476. { Bridge is a MIDI driver that allows the the Lyrrus G-VOX hardware }
  477. { to communicate with Windows base transcription and sequencer }
  478. { applications. The driver also provides a mechanism for the user to}
  479. { configure the system to their personal playing style. }
  480. MM_LYRRUS_BRIDGE_GUITAR = 1;
  481. { MM_OPTI product IDs }
  482. MM_OPTI_M16_FMSYNTH_STEREO = $0001;
  483. MM_OPTI_M16_MIDIIN = $0002;
  484. MM_OPTI_M16_MIDIOUT = $0003;
  485. MM_OPTI_M16_WAVEIN = $0004;
  486. MM_OPTI_M16_WAVEOUT = $0005;
  487. MM_OPTI_M16_MIXER = $0006;
  488. MM_OPTI_M16_AUX = $0007;
  489. MM_OPTI_P16_FMSYNTH_STEREO = $0010;
  490. MM_OPTI_P16_MIDIIN = $0011;
  491. MM_OPTI_P16_MIDIOUT = $0012;
  492. MM_OPTI_P16_WAVEIN = $0013;
  493. MM_OPTI_P16_WAVEOUT = $0014;
  494. MM_OPTI_P16_MIXER = $0015;
  495. MM_OPTI_P16_AUX = $0016;
  496. MM_OPTI_M32_WAVEIN = $0020;
  497. MM_OPTI_M32_WAVEOUT = $0021;
  498. MM_OPTI_M32_MIDIIN = $0022;
  499. MM_OPTI_M32_MIDIOUT = $0023;
  500. MM_OPTI_M32_SYNTH_STEREO = $0024;
  501. MM_OPTI_M32_MIXER = $0025;
  502. MM_OPTI_M32_AUX = $0026;
  503. {$ENDIF} { NOMMIDS }
  504. {**************************************************************************}
  505. { INFO LIST CHUNKS (from the Multimedia Programmer's Reference }
  506. { (plus new ones) }
  507. {**************************************************************************}
  508. {$IFNDEF NONEWRIFFINFO}
  509. const
  510. RIFFINFO_IARL = $4C524149; {'IARL'} { Archival location }
  511. RIFFINFO_IART = $54524149; {'IART'} { Artist }
  512. RIFFINFO_ICMS = $534D4349; {'ICMS'} { Commissioned }
  513. RIFFINFO_ICMT = $544D4349; {'ICMT'} { Comments }
  514. RIFFINFO_ICOP = $504F4349; {'ICOP'} { Copyright }
  515. RIFFINFO_ICRD = $44524349; {'ICRD'} { Creation date of subject }
  516. RIFFINFO_ICRP = $50524349; {'ICRP'} { Cropped }
  517. RIFFINFO_IDIM = $4D494449; {'IDIM'} { Dimensions }
  518. RIFFINFO_IDPI = $49504449; {'IDPI'} { Dots per inch }
  519. RIFFINFO_IENG = $474E4549; {'IENG'} { Engineer }
  520. RIFFINFO_IGNR = $524E4749; {'IGNR'} { Genre }
  521. RIFFINFO_IKEY = $59454B49; {'IKEY'} { Keywords }
  522. RIFFINFO_ILGT = $54474C49; {'ILGT'} { Lightness settings }
  523. RIFFINFO_IMED = $44454D49; {'IMED'} { Medium }
  524. RIFFINFO_INAM = $4D414E49; {'INAM'} { Name of subject }
  525. RIFFINFO_IPLT = $544C5049; {'IPLT'} { Palette Settings. No. of colors requested.}
  526. RIFFINFO_IPRD = $44525049; {'IPRD'} { Product }
  527. RIFFINFO_ISBJ = $4A425349; {'ISBJ'} { Subject description }
  528. RIFFINFO_ISFT = $54465349; {'ISFT'} { Software. Name of package used to create file.}
  529. RIFFINFO_ISHP = $50485349; {'ISHP'} { Sharpness. }
  530. RIFFINFO_ISRC = $43525349; {'ISRC'} { Source. }
  531. RIFFINFO_ISRF = $46525349; {'ISRF'} { Source Form. ie slide, paper }
  532. RIFFINFO_ITCH = $48435449; {'ITCH'} { Technician who digitized the subject.}
  533. { New INFO Chunks as of August 30, 1993: }
  534. RIFFINFO_ISMP = $504D5349; {'ISMP'} { SMPTE time code }
  535. { ISMP: SMPTE time code of digitization start point expressed as a }
  536. { NULL terminated text string "HH:MM:SS:FF". If performing MCI }
  537. { capture in AVICAP, this chunk will be automatically set based on }
  538. { the MCI start time. }
  539. RIFFINFO_IDIT = $54494449; {'IDIT'} { Digitization Time }
  540. { IDIT: "Digitization Time" Specifies the time and date that the }
  541. { digitization commenced. The digitization time is contained in an }
  542. { ASCII string which contains exactly 26 characters and is in the }
  543. { format "Wed Jan 02 02:03:55 1990\n\0". }
  544. { The ctime(), asctime(), functions can be used to create strings }
  545. { in this format. This chunk is automatically added to the capture }
  546. { file based on the current system time at the moment capture is }
  547. { initiated. }
  548. RIFFINFO_I = $20202049; {'I '} { Template line for new additions}
  549. {$ENDIF} { NONEWRIFFINFO }
  550. (**************************************************************************)
  551. {$IFNDEF NONEWWAVE}
  552. { WAVE form wFormatTag IDs }
  553. const
  554. WAVE_FORMAT_UNKNOWN = $0000; { Microsoft Corporation }
  555. WAVE_FORMAT_ADPCM = $0002; { Microsoft Corporation }
  556. WAVE_FORMAT_MEDIAVISION_ADPCM = $0003; { MV's *UNREGISTERED* ADPCM}
  557. WAVE_FORMAT_IBM_CVSD = $0005; { IBM Corporation }
  558. WAVE_FORMAT_ALAW = $0006; { Microsoft Corporation }
  559. WAVE_FORMAT_MULAW = $0007; { Microsoft Corporation }
  560. WAVE_FORMAT_OKI_ADPCM = $0010; { OKI }
  561. WAVE_FORMAT_DVI_ADPCM = $0011; { Intel Corporation }
  562. WAVE_FORMAT_IMA_ADPCM = $0011; { Intel Corporation }
  563. WAVE_FORMAT_MEDIASPACE_ADPCM = $0012; { Videologic }
  564. WAVE_FORMAT_SIERRA_ADPCM = $0013; { Sierra Semiconductor Corp}
  565. WAVE_FORMAT_G723_ADPCM = $0014; { Antex Electronics Corporation}
  566. WAVE_FORMAT_DIGISTD = $0015; { DSP Solutions, Inc. }
  567. WAVE_FORMAT_DIGIFIX = $0016; { DSP Solutions, Inc. }
  568. WAVE_FORMAT_DIALOGIC_OKI_ADPCM = $0017; { Dialogic Corporation }
  569. WAVE_FORMAT_YAMAHA_ADPCM = $0020; { Yamaha Corporation of America}
  570. WAVE_FORMAT_SONARC = $0021; { Speech Compression }
  571. WAVE_FORMAT_DSPGROUP_TRUESPEECH = $0022; { DSP Group, Inc }
  572. WAVE_FORMAT_ECHOSC1 = $0023; { Echo Speech Corporation }
  573. WAVE_FORMAT_AUDIOFILE_AF36 = $0024; { }
  574. WAVE_FORMAT_APTX = $0025; { Audio Processing Technology}
  575. WAVE_FORMAT_AUDIOFILE_AF10 = $0026; { }
  576. WAVE_FORMAT_DOLBY_AC2 = $0030; { Dolby Laboratories }
  577. WAVE_FORMAT_GSM610 = $0031; { Microsoft Corporation }
  578. WAVE_FORMAT_ANTEX_ADPCME = $0033; { Antex Electronics Corporation}
  579. WAVE_FORMAT_CONTROL_RES_VQLPC = $0034; { Control Resources Limited}
  580. WAVE_FORMAT_DIGIREAL = $0035; { DSP Solutions, Inc. }
  581. WAVE_FORMAT_DIGIADPCM = $0036; { DSP Solutions, Inc. }
  582. WAVE_FORMAT_CONTROL_RES_CR10 = $0037; { Control Resources Limited}
  583. WAVE_FORMAT_NMS_VBXADPCM = $0038; { Natural MicroSystems }
  584. WAVE_FORMAT_CS_IMAADPCM = $0039; { Crystal Semiconductor IMA ADPCM }
  585. WAVE_FORMAT_G721_ADPCM = $0040; { Antex Electronics Corporation}
  586. WAVE_FORMAT_MPEG = $0050; { Microsoft Corporation }
  587. WAVE_FORMAT_MPEG_LAYER3 = $0055; { ISO Mpeg Layer 3 }
  588. WAVE_FORMAT_CREATIVE_ADPCM = $0200; { Creative Labs, Inc }
  589. WAVE_FORMAT_CREATIVE_FASTSPEECH8 = $0202; { Creative Labs, Inc }
  590. WAVE_FORMAT_CREATIVE_FASTSPEECH10 = $0203; { Creative Labs, Inc }
  591. WAVE_FORMAT_FM_TOWNS_SND = $0300; { Fujitsu Corp. }
  592. WAVE_FORMAT_OLIGSM = $1000; { Ing C. Olivetti & C., S.p.A.}
  593. WAVE_FORMAT_OLIADPCM = $1001; { Ing C. Olivetti & C., S.p.A.}
  594. WAVE_FORMAT_OLICELP = $1002; { Ing C. Olivetti & C., S.p.A.}
  595. WAVE_FORMAT_OLISBC = $1003; { Ing C. Olivetti & C., S.p.A.}
  596. WAVE_FORMAT_OLIOPR = $1004; { Ing C. Olivetti & C., S.p.A.}
  597. { the WAVE_FORMAT_DEVELOPMENT format tag can be used during the }
  598. { development phase of a new wave format. Before shipping, you MUST }
  599. { acquire an official format tag from Microsoft. }
  600. WAVE_FORMAT_DEVELOPMENT = $FFFF;
  601. {$ENDIF} { NONEWWAVE }
  602. {*************************************************************************}
  603. { We must redeclare this, Borland has the records in MMSystem packed !!! }
  604. {*************************************************************************}
  605. {*************************************************************************}
  606. { general waveform format structure (information common to all formats) }
  607. {*************************************************************************}
  608. type
  609. PWaveFormat = ^TWaveFormat;
  610. TWaveFormat = record
  611. wFormatTag : Word; { format type }
  612. nChannels : Word; { number of channels (i.e. mono, stereo, etc.) }
  613. nSamplesPerSec : Longint;{ sample rate }
  614. nAvgBytesPerSec: Longint;{ for buffer estimation }
  615. nBlockAlign : Word; { block size of data }
  616. end;
  617. {*************************************************************************}
  618. { specific waveform format structure for PCM data }
  619. {*************************************************************************}
  620. type
  621. PPCMWaveFormat = ^TPCMWaveFormat;
  622. TPCMWaveFormat = record
  623. wf: TWaveFormat;
  624. wBitsPerSample: Word;
  625. end;
  626. {*************************************************************************}
  627. { general extended waveform format structure }
  628. { Use this for all NON PCM formats (information common to all formats) }
  629. {*************************************************************************}
  630. type
  631. PWaveFormatEx = ^TWaveFormatEx;
  632. TWaveFormatEx = record
  633. wFormatTag : Word; { format type }
  634. nChannels : Word; { number of channels (i.e. mono, stereo..)}
  635. nSamplesPerSec : Longint; { sample rate }
  636. nAvgBytesPerSec: Longint; { for buffer estimation }
  637. nBlockAlign : Word; { block size of data }
  638. wBitsPerSample : Word; { Number of bits per sample of mono data }
  639. cbSize : Word; { The count in bytes of the size of }
  640. end; { extra information (after cbSize) }
  641. {$IFNDEF NONEWWAVE}
  642. {*************************************************************************}
  643. { Define data for MS ADPCM }
  644. {*************************************************************************}
  645. type
  646. PADPCMCOEFSET = ^TADPCMCOEFSET;
  647. TADPCMCOEFSET = record
  648. iCoef1: ShortInt;
  649. iCoef2: ShortInt;
  650. end;
  651. PADPCMWaveFormat = ^TADPCMWaveFormat;
  652. TADPCMWaveFormat = record
  653. wfx : TWaveFormatEx;
  654. wSamplesPerBlock : Word;
  655. wNumCoef : Word;
  656. aCoef: array[0..0] of TADPCMCOEFSET;
  657. end;
  658. {*************************************************************************}
  659. { Intel's DVI ADPCM structure definitions }
  660. { for WAVE_FORMAT_DVI_ADPCM $0011 }
  661. {*************************************************************************}
  662. type
  663. PDVIADPCMWaveFormat = ^TDVIADPCMWaveFormat;
  664. TDVIADPCMWaveFormat = record
  665. wfx : TWaveFormatEx;
  666. wSamplesPerBlock: Word;
  667. end;
  668. {*************************************************************************}
  669. { IMA endorsed ADPCM structure definitions--note that this is exactly }
  670. { the same format as Intel's DVI ADPCM. }
  671. { }
  672. { for WAVE_FORMAT_IMA_ADPCM (0x0011) }
  673. {*************************************************************************}
  674. type
  675. PIMAADPCMWaveFormat = ^TIMAADPCMWaveFormat;
  676. TIMAADPCMWaveFormat = record
  677. wfx : TWaveFormatEx;
  678. wSamplesPerBlock: Word;
  679. end;
  680. {*************************************************************************}
  681. { VideoLogic's Media Space ADPCM Structure definitions }
  682. { for WAVE_FORMAT_MEDIASPACE_ADPCM (0x0012) }
  683. {*************************************************************************}
  684. type
  685. PMEDIASPACEADPCMWaveFormat = ^TMEDIASPACEADPCMWaveFormat;
  686. TMEDIASPACEADPCMWaveFormat = record
  687. wfx : TWaveFormatEx;
  688. wRevision: Word;
  689. end;
  690. {*************************************************************************}
  691. { Sierra Semiconductor }
  692. { for WAVE_FORMAT_SIERRA_ADPCM (0x0013) }
  693. {*************************************************************************}
  694. type
  695. PSIERRAADPCMWaveFormat = ^TSIERRAADPCMWaveFormat;
  696. TSIERRAADPCMWaveFormat = record
  697. wfx : TWaveFormatEx;
  698. wRevision: Word;
  699. end;
  700. {*************************************************************************}
  701. { Antex Electronics structure definitions }
  702. { for WAVE_FORMAT_G723_ADPCM (0x0014) }
  703. {*************************************************************************}
  704. type
  705. PG723_ADPCMWaveFormat = ^TG723_ADPCMWaveFormat;
  706. TG723_ADPCMWaveFormat = record
  707. wfx : TWaveFormatEx;
  708. cbExtraSize : Word;
  709. nAuxBlockSize: Word;
  710. end;
  711. {*************************************************************************}
  712. { DSP Solutions (formerly DIGISPEECH) structure definitions }
  713. { for WAVE_FORMAT_DIGISTD (0x0015) }
  714. {*************************************************************************}
  715. type
  716. PDIGISTDWaveFormat = ^TDIGISTDWaveFormat;
  717. TDIGISTDWaveFormat = record
  718. wfx: TWaveFormatEx;
  719. end;
  720. {*************************************************************************}
  721. { DSP Solutions (formerly DIGISPEECH) structure definitions }
  722. { for WAVE_FORMAT_DIGIFIX (0x0016) }
  723. {*************************************************************************}
  724. type
  725. PDIGIFIXWaveFormat = ^TDIGIFIXWaveFormat;
  726. TDIGIFIXWaveFormat = record
  727. wfx: TWaveFormatEx;
  728. end;
  729. {*************************************************************************}
  730. { Dialogic Corporation }
  731. { WAVEFORMAT_DIALOGIC_OKI_ADPCM (0x0017) }
  732. {*************************************************************************}
  733. type
  734. PDIALOGICOKIADPCMWaveFormat = ^TDIALOGICOKIADPCMWaveFormat;
  735. TDIALOGICOKIADPCMWaveFormat = record
  736. ewf: TWaveFormatEx;
  737. end;
  738. {*************************************************************************}
  739. { Yamaha Compression's ADPCM structure definitions }
  740. { for WAVE_FORMAT_YAMAHA_ADPCM (0x0020) }
  741. {*************************************************************************}
  742. type
  743. PYAMAHA_ADPCMWaveFormat = ^TYAMAHA_ADPCMWaveFormat;
  744. TYAMAHA_ADPCMWaveFormat = record
  745. wfx: TWaveFormatEx;
  746. end;
  747. {*************************************************************************}
  748. { Speech Compression's Sonarc structure definitions }
  749. { for WAVE_FORMAT_SONARC (0x0021) }
  750. {*************************************************************************}
  751. type
  752. PSONARCWaveFormat = ^TSONARCWaveFormat;
  753. TSONARCWaveFormat = record
  754. wfx : TWaveFormatEx;
  755. wCompType: Word;
  756. end;
  757. {*************************************************************************}
  758. { DSP Groups's TRUESPEECH structure definitions }
  759. { for WAVE_FORMAT_DSPGROUP_TRUESPEECH (0x0022) }
  760. {*************************************************************************}
  761. type
  762. PTRUESPEECHWaveFormat = ^TTRUESPEECHWaveFormat;
  763. TTRUESPEECHWaveFormat = record
  764. wfx : TWaveFormatEx;
  765. wRevision : Word;
  766. nSamplesPerBlock : Word;
  767. abReserved: array[0..27]of Byte;
  768. end;
  769. {*************************************************************************}
  770. { Echo Speech Corp structure definitions }
  771. { for WAVE_FORMAT_ECHOSC1 (0x0023) }
  772. {*************************************************************************}
  773. type
  774. PECHOSC1WaveFormat = ^TECHOSC1WaveFormat;
  775. TECHOSC1WaveFormat = record
  776. wfx: TWaveFormatEx;
  777. end;
  778. {*************************************************************************}
  779. { Audiofile Inc.structure definitions }
  780. { for WAVE_FORMAT_AUDIOFILE_AF36 (0x0024) }
  781. {*************************************************************************}
  782. type
  783. PAUDIOFILE_AF36WaveFormat = ^TAUDIOFILE_AF36WaveFormat;
  784. TAUDIOFILE_AF36WaveFormat = record
  785. wfx: TWaveFormatEx;
  786. end;
  787. {*************************************************************************}
  788. { Audio Processing Technology structure definitions }
  789. { for WAVE_FORMAT_APTX (0x0025) }
  790. {*************************************************************************}
  791. type
  792. PAPTXWaveFormatEx = ^TAPTXWaveFormatEx;
  793. TAPTXWaveFormatEx = record
  794. wfx: TWaveFormatEx;
  795. end;
  796. {*************************************************************************}
  797. { Audiofile Inc.structure definitions }
  798. { for WAVE_FORMAT_AUDIOFILE_AF10 (0x0026) }
  799. {*************************************************************************}
  800. type
  801. PAUDIOFILE_AF10WaveFormat = ^TAUDIOFILE_AF10WaveFormat;
  802. TAUDIOFILE_AF10WaveFormat = record
  803. wfx: TWaveFormatEx;
  804. end;
  805. {*************************************************************************}
  806. { Dolby's AC-2 wave format structure definition }
  807. { for WAVE_FORMAT_DOLBY_AC2 (0x0030) }
  808. {*************************************************************************}
  809. type
  810. PDOLBYAC2WaveFormat = ^TDOLBYAC2WaveFormat;
  811. TDOLBYAC2WaveFormat = record
  812. wfx : TWaveFormatEx;
  813. nAuxBitsCode: Word;
  814. end;
  815. {*************************************************************************}
  816. { Microsoft's WAVE_FORMAT_GSM 610 0x0031 }
  817. {*************************************************************************}
  818. type
  819. PGSM610WaveFormat = ^TGSM610WaveFormat;
  820. TGSM610WaveFormat = record
  821. wfx : TWaveFormatEx;
  822. wSamplesPerBlock: Word;
  823. end;
  824. {*************************************************************************}
  825. { Antex Electronics Corp }
  826. { for WAVE_FORMAT_ADPCME (0x0033) }
  827. {*************************************************************************}
  828. type
  829. PADPCMEWaveFormat = ^TADPCMEWaveFormat;
  830. TADPCMEWaveFormat = record
  831. wfx : TWaveFormatEx;
  832. wSamplesPerBlock: Word;
  833. end;
  834. {*************************************************************************}
  835. { Control Resources Limited }
  836. { WAVE_FORMAT_CONTROL_RES_VQLPC 0x0034 }
  837. {*************************************************************************}
  838. type
  839. PCONTRESVQLPCWaveFormat = ^TCONTRESVQLPCWaveFormat;
  840. TCONTRESVQLPCWaveFormat = record
  841. wfx : TWaveFormatEx;
  842. wSamplesPerBlock: Word;
  843. end;
  844. {*************************************************************************}
  845. { for WAVE_FORMAT_DIGIREAL (0x0035) }
  846. {*************************************************************************}
  847. type
  848. PDIGIREALWaveFormat = ^TDIGIREALWaveFormat;
  849. TDIGIREALWaveFormat = record
  850. wfx : TWaveFormatEx;
  851. wSamplesPerBlock: Word;
  852. end;
  853. {*************************************************************************}
  854. { DSP Solutions }
  855. { for WAVE_FORMAT_DIGIADPCM (0x0036) }
  856. {*************************************************************************}
  857. type
  858. PDIGIADPCMWaveFormat = ^TDIGIADPCMWaveFormat;
  859. TDIGIADPCMWaveFormat = record
  860. wfx : TWaveFormatEx;
  861. wSamplesPerBlock: Word;
  862. end;
  863. {*************************************************************************}
  864. { Control Resources Limited }
  865. { for WAVE_FORMAT_CONTROL_RES_CR10 0x0037 }
  866. {*************************************************************************}
  867. type
  868. PCONTRESCR10WaveFormat = ^TCONTRESCR10WaveFormat;
  869. TCONTRESCR10WaveFormat = record
  870. wfx : TWaveFormatEx;
  871. wSamplesPerBlock: Word;
  872. end;
  873. {*************************************************************************}
  874. { Natural Microsystems }
  875. { for WAVE_FORMAT_NMS_VBXADPCM (0x0038) }
  876. {*************************************************************************}
  877. type
  878. PNMS_VBXADPCMWaveFormat = ^TNMS_VBXADPCMWaveFormat;
  879. TNMS_VBXADPCMWaveFormat = record
  880. wfx : TWaveFormatEx;
  881. wSamplesPerBlock: Word;
  882. end;
  883. {*************************************************************************}
  884. { Antex Electronics structure definitions }
  885. { for WAVE_FORMAT_G721_ADPCM (0x0040) }
  886. {*************************************************************************}
  887. type
  888. PG721_ADPCMWaveFormat = ^TG721_ADPCMWaveFormat;
  889. TG721_ADPCMWaveFormat = record
  890. wfx : TWaveFormatEx;
  891. nAuxBlockSize: Word;
  892. end;
  893. {*************************************************************************}
  894. { Microsoft MPEG audio WAV definition }
  895. { MPEG-1 audio wave format (audio layer only). (0x0050) }
  896. {*************************************************************************}
  897. type
  898. PMPEG1WaveFormat = ^TMPEG1WaveFormat;
  899. TMPEG1WaveFormat = record
  900. wfx: TWaveFormatEx;
  901. fwHeadLayer: Word;
  902. dwHeadBitrate: Longint;
  903. fwHeadMode : Word;
  904. fwHeadModeExt: Word;
  905. wHeadEmphasis: Word;
  906. fwHeadFlags : Word;
  907. dwPTSLow : Longint;
  908. dwPTSHigh : Longint;
  909. end;
  910. const
  911. ACM_MPEG_LAYER1 = $0001;
  912. ACM_MPEG_LAYER2 = $0002;
  913. ACM_MPEG_LAYER3 = $0004;
  914. ACM_MPEG_STEREO = $0001;
  915. ACM_MPEG_JOINTSTEREO = $0002;
  916. ACM_MPEG_DUALCHANNEL = $0004;
  917. ACM_MPEG_SINGLECHANNEL = $0008;
  918. ACM_MPEG_PRIVATEBIT = $0001;
  919. ACM_MPEG_COPYRIGHT = $0002;
  920. ACM_MPEG_ORIGINALHOME = $0004;
  921. ACM_MPEG_PROTECTIONBIT = $0008;
  922. ACM_MPEG_ID_MPEG1 = $0010;
  923. {*************************************************************************}
  924. { Creative's ADPCM structure definitions }
  925. { for WAVE_FORMAT_CREATIVE_ADPCM (0x0200) }
  926. {*************************************************************************}
  927. type
  928. PCREATIVEADPCMWaveFormat = ^TCREATIVEADPCMWaveFormat;
  929. TCREATIVEADPCMWaveFormat = record
  930. wfx : TWaveFormatEx;
  931. wRevision: Word;
  932. end;
  933. {*************************************************************************}
  934. { Creative FASTSPEECH }
  935. { WAVEFORMAT_CREATIVE_FASTSPEECH8 (0x0202) }
  936. {*************************************************************************}
  937. type
  938. PCREATIVEFASTSPEECH8WaveFormat = ^TCREATIVEFASTSPEECH8WaveFormat;
  939. TCREATIVEFASTSPEECH8WaveFormat = record
  940. wfx : TWaveFormatEx;
  941. wRevision: Word;
  942. end;
  943. {*************************************************************************}
  944. { Creative FASTSPEECH }
  945. { WAVEFORMAT_CREATIVE_FASTSPEECH10 (0x0203) }
  946. {*************************************************************************}
  947. type
  948. PCREATIVEFASTSPEECH10WaveFormat = ^TCREATIVEFASTSPEECH10WaveFormat;
  949. TCREATIVEFASTSPEECH10WaveFormat = record
  950. wfx : TWaveFormatEx;
  951. wRevision: Word;
  952. end;
  953. {*************************************************************************}
  954. { Fujitsu FM Towns 'SND' structure }
  955. { for WAVE_FORMAT_FMMTOWNS_SND (0x0300) }
  956. {*************************************************************************}
  957. type
  958. PFMTOWNS_SND_WaveFormat = ^TFMTOWNS_SND_WaveFormat;
  959. TFMTOWNS_SND_WaveFormat = record
  960. wfx : TWaveFormatEx;
  961. wRevision: Word;
  962. end;
  963. {*************************************************************************}
  964. { Olivetti structure }
  965. { for WAVE_FORMAT_OLIGSM (0x1000) }
  966. {*************************************************************************}
  967. type
  968. POLIGSMWaveFormat = ^TOLIGSMWaveFormat;
  969. TOLIGSMWaveFormat = record
  970. wfx : TWaveFormatEx;
  971. end;
  972. {*************************************************************************}
  973. { Olivetti structure }
  974. { for WAVE_FORMAT_OLIADPCM (0x1001) }
  975. {*************************************************************************}
  976. type
  977. POLIADPCMWaveFormat = ^TOLIADPCMWaveFormat;
  978. TOLIADPCMWaveFormat = record
  979. wfx : TWaveFormatEx;
  980. end;
  981. {*************************************************************************}
  982. { Olivetti structure }
  983. { for WAVE_FORMAT_OLICELP (0x1002) }
  984. {*************************************************************************}
  985. type
  986. POLICELPWaveFormat = ^TOLICELPWaveFormat;
  987. TOLICELPWaveFormat = record
  988. wfx : TWaveFormatEx;
  989. end;
  990. {*************************************************************************}
  991. { Olivetti structure }
  992. { for WAVE_FORMAT_OLISBC (0x1003) }
  993. {*************************************************************************}
  994. type
  995. POLISBCWaveFormat = ^TOLISBCWaveFormat;
  996. TOLISBCWaveFormat = record
  997. wfx : TWaveFormatEx;
  998. end;
  999. {*************************************************************************}
  1000. { Olivetti structure }
  1001. { for WAVE_FORMAT_OLIOPR (0x1004) }
  1002. {*************************************************************************}
  1003. type
  1004. POLIOPRWaveFormat = ^TOLIOPRWaveFormat;
  1005. TOLIOPRWaveFormat = record
  1006. wfx : TWaveFormatEx;
  1007. end;
  1008. {**************************************************************************}
  1009. { ACM Wave Filters
  1010. {**************************************************************************}
  1011. {$IFNDEF ACM_WAVEFILTER} {$DEFINE ACM_WAVEFILTER}
  1012. const
  1013. WAVE_FILTER_UNKNOWN = $0000;
  1014. WAVE_FILTER_DEVELOPMENT = $FFFF;
  1015. type
  1016. PWaveFilter = ^TWaveFilter;
  1017. TWaveFilter = record
  1018. cbStruct : Longint; { Size of the filter in bytes }
  1019. dwFilterTag: Longint; { fitler type }
  1020. fdwFilter : Longint; { Flags for the filter (Universal Dfns)}
  1021. dwReserved: array[0..4] of Longint;{ Reserved for system use }
  1022. end;
  1023. {$ENDIF} { ACM_WAVEFILTER }
  1024. {**************************************************************************}
  1025. {$IFNDEF WAVE_FILTER_VOLUME}
  1026. const
  1027. WAVE_FILTER_VOLUME = $0001;
  1028. type
  1029. PVolumeWaveFilter = ^TVolumeWaveFilter;
  1030. TVolumeWaveFilter = record
  1031. wfltr : TWaveFilter;
  1032. dwVolume: Longint;
  1033. end;
  1034. {$ENDIF} { WAVE_FILTER_VOLUME }
  1035. {**************************************************************************}
  1036. {$IFNDEF WAVE_FILTER_ECHO}
  1037. const
  1038. WAVE_FILTER_ECHO = $0002;
  1039. type
  1040. PEchoWaveFilter = ^TEchoWaveFilter;
  1041. TEchoWaveFilter = record
  1042. wfltr : TWaveFilter;
  1043. dwVolume: Longint;
  1044. dwDelay : Longint;
  1045. end;
  1046. {$ENDIF} { WAVEFILTER_ECHO }
  1047. {**************************************************************************}
  1048. { New RIFF WAVE Chunks }
  1049. {**************************************************************************}
  1050. const
  1051. RIFFWAVE_inst = $74736E69; { 'inst' }
  1052. type
  1053. TRIFFWave_inst = record
  1054. bUnshiftedNote: Byte;
  1055. chFineTune : Char;
  1056. chGain : Char;
  1057. bLowNote : Byte;
  1058. bHighNote : Byte;
  1059. bLowVelocity : Byte;
  1060. bHighVelocity : Byte;
  1061. end;
  1062. {$ENDIF} { NONEWWAVE }
  1063. {**************************************************************************}
  1064. { New RIFF Forms }
  1065. {**************************************************************************}
  1066. {$IFNDEF NONEWRIFF}
  1067. const
  1068. { RIFF AVI }
  1069. { AVI file format is specified in a seperate file (AVIFMT.H), }
  1070. { which is available in the VfW and Chicago SDK }
  1071. { RIFF CPPO }
  1072. RIFFCPPO = $4F505043; {'CPPO'}
  1073. RIFFCPPO_objr = $726A626F; {'objr'}
  1074. RIFFCPPO_obji = $696A626F; {'obji'}
  1075. RIFFCPPO_clsr = $72736C63; {'clsr'}
  1076. RIFFCPPO_clsi = $69736C63; {'clsi'}
  1077. RIFFCPPO_mbr = $2072626D; {'mbr '}
  1078. RIFFCPPO_char = $72616863; {'char'}
  1079. RIFFCPPO_byte = $63747962; {'byte'}
  1080. RIFFCPPO_int = $20746E69; {'int '}
  1081. RIFFCPPO_word = $64726F77; {'word'}
  1082. RIFFCPPO_long = $676F6E6C; {'long'}
  1083. RIFFCPPO_dwrd = $64727764; {'dwrd'}
  1084. RIFFCPPO_flt = $20746C66; {'flt '}
  1085. RIFFCPPO_dbl = $206C6264; {'dbl '}
  1086. RIFFCPPO_str = $20727473; {'str '}
  1087. {$ENDIF} { NONEWRIFF }
  1088. {**************************************************************************}
  1089. { DIB Compression Defines }
  1090. {**************************************************************************}
  1091. {$IFNDEF NOBITMAP}
  1092. {$IFNDEF BI_BITFIELDS}
  1093. const
  1094. BI_BITFIELDS = 3;
  1095. {$ENDIF}
  1096. {$IFNDEF QUERYDIBSUPPORT}
  1097. const
  1098. QUERYDIBSUPPORT = $3073;
  1099. QDI_SETDIBITS = $0001;
  1100. QDI_GETDIBITS = $0002;
  1101. QDI_DIBTOSCREEN = $0004;
  1102. QDI_STRETCHDIB = $0008;
  1103. {$ENDIF}
  1104. { Structure definitions }
  1105. type
  1106. TEXBMINFOHEADER = record
  1107. bmi: TBitmapInfoHeader;
  1108. { extended BITMAPINFOHEADER fields }
  1109. biExtDataOffset: Longint;
  1110. { Other stuff will go here }
  1111. { ... }
  1112. { Format-specific information }
  1113. { biExtDataOffset points here }
  1114. end;
  1115. { New DIB Compression Defines }
  1116. const
  1117. BICOMP_IBMULTIMOTION = $49544C55; {'ULTI'}
  1118. BICOMP_IBMPHOTOMOTION = $4F4D4850; {'PHMO'}
  1119. BICOMP_CREATIVEYUV = $72757963; {'cyuv'}
  1120. {$ENDIF} { NOBITMAP }
  1121. {$IFNDEF NOJPEGDIB}
  1122. { New DIB Compression Defines }
  1123. const
  1124. JPEG_DIB = $4745504A; {'JPEG'} { Still image JPEG DIB biCompression }
  1125. MJPG_DIB = $47504A4D; {'MJPG'} { Motion JPEG DIB biCompression }
  1126. { JPEGProcess Definitions }
  1127. const
  1128. JPEG_PROCESS_BASELINE = 0; { Baseline DCT }
  1129. { AVI File format extensions }
  1130. AVIIF_CONTROLFRAME = $00000200; { This is a control frame }
  1131. { JIF Marker byte pairs in JPEG Interchange Format sequence }
  1132. JIFMK_SOF0 = $FFC0; { SOF Huff - Baseline DCT }
  1133. JIFMK_SOF1 = $FFC1; { SOF Huff - Extended sequential DCT }
  1134. JIFMK_SOF2 = $FFC2; { SOF Huff - Progressive DCT }
  1135. JIFMK_SOF3 = $FFC3; { SOF Huff - Spatial (sequential) lossless }
  1136. JIFMK_SOF5 = $FFC5; { SOF Huff - Differential sequential DCT }
  1137. JIFMK_SOF6 = $FFC6; { SOF Huff - Differential progressive DCT }
  1138. JIFMK_SOF7 = $FFC7; { SOF Huff - Differential spatial }
  1139. JIFMK_JPG = $FFC8; { SOF Arith - Reserved for JPEG extensions }
  1140. JIFMK_SOF9 = $FFC9; { SOF Arith - Extended sequential DCT }
  1141. JIFMK_SOF10 = $FFCA; { SOF Arith - Progressive DCT }
  1142. JIFMK_SOF11 = $FFCB; { SOF Arith - Spatial (sequential) lossless }
  1143. JIFMK_SOF13 = $FFCD; { SOF Arith - Differential sequential DCT }
  1144. JIFMK_SOF14 = $FFCE; { SOF Arith - Differential progressive DCT }
  1145. JIFMK_SOF15 = $FFCF; { SOF Arith - Differential spatial }
  1146. JIFMK_DHT = $FFC4; { Define Huffman Table(s) }
  1147. JIFMK_DAC = $FFCC; { Define Arithmetic coding conditioning(s) }
  1148. JIFMK_RST0 = $FFD0; { Restart with modulo 8 count 0 }
  1149. JIFMK_RST1 = $FFD1; { Restart with modulo 8 count 1 }
  1150. JIFMK_RST2 = $FFD2; { Restart with modulo 8 count 2 }
  1151. JIFMK_RST3 = $FFD3; { Restart with modulo 8 count 3 }
  1152. JIFMK_RST4 = $FFD4; { Restart with modulo 8 count 4 }
  1153. JIFMK_RST5 = $FFD5; { Restart with modulo 8 count 5 }
  1154. JIFMK_RST6 = $FFD6; { Restart with modulo 8 count 6 }
  1155. JIFMK_RST7 = $FFD7; { Restart with modulo 8 count 7 }
  1156. JIFMK_SOI = $FFD8; { Start of Image }
  1157. JIFMK_EOI = $FFD9; { End of Image }
  1158. JIFMK_SOS = $FFDA; { Start of Scan }
  1159. JIFMK_DQT = $FFDB; { Define quantization Table(s) }
  1160. JIFMK_DNL = $FFDC; { Define Number of Lines }
  1161. JIFMK_DRI = $FFDD; { Define Restart Interval }
  1162. JIFMK_DHP = $FFDE; { Define Hierarchical progression }
  1163. JIFMK_EXP = $FFDF; { Expand Reference Component(s) }
  1164. JIFMK_APP0 = $FFE0; { Application Field 0 }
  1165. JIFMK_APP1 = $FFE1; { Application Field 1 }
  1166. JIFMK_APP2 = $FFE2; { Application Field 2 }
  1167. JIFMK_APP3 = $FFE3; { Application Field 3 }
  1168. JIFMK_APP4 = $FFE4; { Application Field 4 }
  1169. JIFMK_APP5 = $FFE5; { Application Field 5 }
  1170. JIFMK_APP6 = $FFE6; { Application Field 6 }
  1171. JIFMK_APP7 = $FFE7; { Application Field 7 }
  1172. JIFMK_JPG0 = $FFF0; { Reserved for JPEG extensions }
  1173. JIFMK_JPG1 = $FFF1; { Reserved for JPEG extensions }
  1174. JIFMK_JPG2 = $FFF2; { Reserved for JPEG extensions }
  1175. JIFMK_JPG3 = $FFF3; { Reserved for JPEG extensions }
  1176. JIFMK_JPG4 = $FFF4; { Reserved for JPEG extensions }
  1177. JIFMK_JPG5 = $FFF5; { Reserved for JPEG extensions }
  1178. JIFMK_JPG6 = $FFF6; { Reserved for JPEG extensions }
  1179. JIFMK_JPG7 = $FFF7; { Reserved for JPEG extensions }
  1180. JIFMK_JPG8 = $FFF8; { Reserved for JPEG extensions }
  1181. JIFMK_JPG9 = $FFF9; { Reserved for JPEG extensions }
  1182. JIFMK_JPG10 = $FFFA; { Reserved for JPEG extensions }
  1183. JIFMK_JPG11 = $FFFB; { Reserved for JPEG extensions }
  1184. JIFMK_JPG12 = $FFFC; { Reserved for JPEG extensions }
  1185. JIFMK_JPG13 = $FFFD; { Reserved for JPEG extensions }
  1186. JIFMK_COM = $FFFE; { Comment }
  1187. JIFMK_TEM = $FF01; { for temp private use arith code }
  1188. JIFMK_RES = $FF02; { Reserved }
  1189. JIFMK_00 = $FF00; { Zero stuffed byte - entropy data }
  1190. JIFMK_FF = $FFFF; { Fill byte }
  1191. { JPEGColorSpaceID Definitions }
  1192. JPEG_Y = 1; { Y only component of YCbCr }
  1193. JPEG_YCbCr = 2; { YCbCr as define by CCIR 601 }
  1194. JPEG_RGB = 3; { 3 component RGB }
  1195. { Structure definitions }
  1196. type
  1197. TJPEGInfoHeader = record
  1198. { compression-specific fields }
  1199. { these fields are defined for 'JPEG' and 'MJPG' }
  1200. JPEGSize : Longint;
  1201. JPEGProcess: Longint;
  1202. { Process specific fields }
  1203. JPEGColorSpaceID : Longint;
  1204. JPEGBitsPerSample: Longint;
  1205. JPEGHSubSampling : Longint;
  1206. JPEGVSubSampling : Longint;
  1207. end;
  1208. {$IFDEF MJPGDHTSEG_STORAGE} {$DEFINE MJPGHDTSEG_STORAGE}
  1209. const
  1210. { Default JPEG DHT Segment for YCrCb omitted from MJPG data }
  1211. MJPGDHTSeg : array [0..$1A3] of Byte =
  1212. ($FF,$C4,$01,$A2,$00,$00,$01,$05,$01,$01,$01,$01,$01,$01,$00,$00,
  1213. $00,$00,$00,$00,$00,$00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,
  1214. $0B,$01,$00,$03,$01,$01,$01,$01,$01,$01,$01,$01,$01,$00,$00,$00,
  1215. $00,$00,$00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,$0B,$10,$00,
  1216. $02,$01,$03,$03,$02,$04,$03,$05,$05,$04,$04,$00,$00,$01,$7D,$01,
  1217. $02,$03,$00,$04,$11,$05,$12,$21,$31,$41,$06,$13,$51,$61,$07,$22,
  1218. $71,$14,$32,$81,$91,$A1,$08,$23,$42,$B1,$C1,$15,$52,$D1,$F0,$24,
  1219. $33,$62,$72,$82,$09,$0A,$16,$17,$18,$19,$1A,$25,$26,$27,$28,$29,
  1220. $2A,$34,$35,$36,$37,$38,$39,$3A,$43,$44,$45,$46,$47,$48,$49,$4A,
  1221. $53,$54,$55,$56,$57,$58,$59,$5A,$63,$64,$65,$66,$67,$68,$69,$6A,
  1222. $73,$74,$75,$76,$77,$78,$79,$7A,$83,$84,$85,$86,$87,$88,$89,$8A,
  1223. $92,$93,$94,$95,$96,$97,$98,$99,$9A,$A2,$A3,$A4,$A5,$A6,$A7,$A8,
  1224. $A9,$AA,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,$BA,$C2,$C3,$C4,$C5,$C6,
  1225. $C7,$C8,$C9,$CA,$D2,$D3,$D4,$D5,$D6,$D7,$D8,$D9,$DA,$E1,$E2,$E3,
  1226. $E4,$E5,$E6,$E7,$E8,$E9,$EA,$F1,$F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9,
  1227. $FA,$11,$00,$02,$01,$02,$04,$04,$03,$04,$07,$05,$04,$04,$00,$01,
  1228. $02,$77,$00,$01,$02,$03,$11,$04,$05,$21,$31,$06,$12,$41,$51,$07,
  1229. $61,$71,$13,$22,$32,$81,$08,$14,$42,$91,$A1,$B1,$C1,$09,$23,$33,
  1230. $52,$F0,$15,$62,$72,$D1,$0A,$16,$24,$34,$E1,$25,$F1,$17,$18,$19,
  1231. $1A,$26,$27,$28,$29,$2A,$35,$36,$37,$38,$39,$3A,$43,$44,$45,$46,
  1232. $47,$48,$49,$4A,$53,$54,$55,$56,$57,$58,$59,$5A,$63,$64,$65,$66,
  1233. $67,$68,$69,$6A,$73,$74,$75,$76,$77,$78,$79,$7A,$82,$83,$84,$85,
  1234. $86,$87,$88,$89,$8A,$92,$93,$94,$95,$96,$97,$98,$99,$9A,$A2,$A3,
  1235. $A4,$A5,$A6,$A7,$A8,$A9,$AA,$B2,$B3,$B4,$B5,$B6,$B7,$B8,$B9,$BA,
  1236. $C2,$C3,$C4,$C5,$C6,$C7,$C8,$C9,$CA,$D2,$D3,$D4,$D5,$D6,$D7,$D8,
  1237. $D9,$DA,$E2,$E3,$E4,$E5,$E6,$E7,$E8,$E9,$EA,$F2,$F3,$F4,$F5,$F6,
  1238. $F7,$F8,$F9,$FA);
  1239. {$ENDIF} { End DHT default }
  1240. {$ENDIF} { End JPEG }
  1241. {**************************************************************************}
  1242. { Defined IC types }
  1243. {**************************************************************************}
  1244. {$IFNDEF NONEWIC}
  1245. {$IFNDEF ICTYPE_VIDEO}
  1246. const
  1247. ICTYPE_VIDEO = $63646976; {'vidc'}
  1248. ICTYPE_AUDIO = $63647561; {'audc'}
  1249. {$ENDIF}
  1250. {$ENDIF}
  1251. {**************************************************************************}
  1252. { Misc. FOURCC registration }
  1253. {**************************************************************************}
  1254. {**************************************************************************}
  1255. { Sierra Semiconductor: RDSP- Confidential RIFF file format
  1256. { for the storage and downloading of DSP
  1257. { code for Audio and communications devices.
  1258. {**************************************************************************}
  1259. {$IFNDEF NONEWRIFF}
  1260. const
  1261. FOURCC_RDSP = $50534452; {'RDSP'}
  1262. {$IFNDEF MMNOMIXER}
  1263. {const
  1264. MIXERCONTROL_CONTROLTYPE_SRS_MTS = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 6;
  1265. MIXERCONTROL_CONTROLTYPE_SRS_ONOFF = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 7;
  1266. MIXERCONTROL_CONTROLTYPE_SRS_SYNTHSELECT = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 8;}
  1267. {$ENDIF} { MMNOMIXER }
  1268. {$ENDIF} { NONEWRIFF }
  1269. {$ENDIF} {_INC_MMREG}
  1270. implementation
  1271. end.