PageRenderTime 146ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 2ms

/packages/univint/src/Movies.pas

https://github.com/slibre/freepascal
Pascal | 13045 lines | 2597 code | 1537 blank | 8911 comment | 0 complexity | 895f73aa2f965503d84525a9f913758c MD5 | raw file
Possible License(s): LGPL-2.0, LGPL-2.1, LGPL-3.0
  1. {
  2. File: QuickTime/Movies.h
  3. Contains: QuickTime Interfaces.
  4. Version: QuickTime 7.7.1
  5. Copyright: © 1990-2012 by Apple Inc., all rights reserved
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://www.freepascal.org/bugs.html
  9. }
  10. { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2009 }
  11. { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2012 }
  12. {
  13. Modified for use with Free Pascal
  14. Version 308
  15. Please report any bugs to <gpc@microbizz.nl>
  16. }
  17. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  18. {$mode macpas}
  19. {$packenum 1}
  20. {$macro on}
  21. {$inline on}
  22. {$calling mwpascal}
  23. unit Movies;
  24. interface
  25. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  26. {$setc GAP_INTERFACES_VERSION := $0308}
  27. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  28. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  29. {$endc}
  30. {$ifc defined CPUPOWERPC and defined CPUI386}
  31. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  32. {$endc}
  33. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  34. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  35. {$endc}
  36. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  37. {$setc __ppc__ := 1}
  38. {$elsec}
  39. {$setc __ppc__ := 0}
  40. {$endc}
  41. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  42. {$setc __ppc64__ := 1}
  43. {$elsec}
  44. {$setc __ppc64__ := 0}
  45. {$endc}
  46. {$ifc not defined __i386__ and defined CPUI386}
  47. {$setc __i386__ := 1}
  48. {$elsec}
  49. {$setc __i386__ := 0}
  50. {$endc}
  51. {$ifc not defined __x86_64__ and defined CPUX86_64}
  52. {$setc __x86_64__ := 1}
  53. {$elsec}
  54. {$setc __x86_64__ := 0}
  55. {$endc}
  56. {$ifc not defined __arm__ and defined CPUARM}
  57. {$setc __arm__ := 1}
  58. {$elsec}
  59. {$setc __arm__ := 0}
  60. {$endc}
  61. {$ifc defined cpu64}
  62. {$setc __LP64__ := 1}
  63. {$elsec}
  64. {$setc __LP64__ := 0}
  65. {$endc}
  66. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  67. {$error Conflicting definitions for __ppc__ and __i386__}
  68. {$endc}
  69. {$ifc defined __ppc__ and __ppc__}
  70. {$setc TARGET_CPU_PPC := TRUE}
  71. {$setc TARGET_CPU_PPC64 := FALSE}
  72. {$setc TARGET_CPU_X86 := FALSE}
  73. {$setc TARGET_CPU_X86_64 := FALSE}
  74. {$setc TARGET_CPU_ARM := FALSE}
  75. {$setc TARGET_OS_MAC := TRUE}
  76. {$setc TARGET_OS_IPHONE := FALSE}
  77. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  78. {$setc TARGET_OS_EMBEDDED := FALSE}
  79. {$elifc defined __ppc64__ and __ppc64__}
  80. {$setc TARGET_CPU_PPC := FALSE}
  81. {$setc TARGET_CPU_PPC64 := TRUE}
  82. {$setc TARGET_CPU_X86 := FALSE}
  83. {$setc TARGET_CPU_X86_64 := FALSE}
  84. {$setc TARGET_CPU_ARM := FALSE}
  85. {$setc TARGET_OS_MAC := TRUE}
  86. {$setc TARGET_OS_IPHONE := FALSE}
  87. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  88. {$setc TARGET_OS_EMBEDDED := FALSE}
  89. {$elifc defined __i386__ and __i386__}
  90. {$setc TARGET_CPU_PPC := FALSE}
  91. {$setc TARGET_CPU_PPC64 := FALSE}
  92. {$setc TARGET_CPU_X86 := TRUE}
  93. {$setc TARGET_CPU_X86_64 := FALSE}
  94. {$setc TARGET_CPU_ARM := FALSE}
  95. {$ifc defined(iphonesim)}
  96. {$setc TARGET_OS_MAC := FALSE}
  97. {$setc TARGET_OS_IPHONE := TRUE}
  98. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  99. {$elsec}
  100. {$setc TARGET_OS_MAC := TRUE}
  101. {$setc TARGET_OS_IPHONE := FALSE}
  102. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  103. {$endc}
  104. {$setc TARGET_OS_EMBEDDED := FALSE}
  105. {$elifc defined __x86_64__ and __x86_64__}
  106. {$setc TARGET_CPU_PPC := FALSE}
  107. {$setc TARGET_CPU_PPC64 := FALSE}
  108. {$setc TARGET_CPU_X86 := FALSE}
  109. {$setc TARGET_CPU_X86_64 := TRUE}
  110. {$setc TARGET_CPU_ARM := FALSE}
  111. {$setc TARGET_OS_MAC := TRUE}
  112. {$setc TARGET_OS_IPHONE := FALSE}
  113. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  114. {$setc TARGET_OS_EMBEDDED := FALSE}
  115. {$elifc defined __arm__ and __arm__}
  116. {$setc TARGET_CPU_PPC := FALSE}
  117. {$setc TARGET_CPU_PPC64 := FALSE}
  118. {$setc TARGET_CPU_X86 := FALSE}
  119. {$setc TARGET_CPU_X86_64 := FALSE}
  120. {$setc TARGET_CPU_ARM := TRUE}
  121. { will require compiler define when/if other Apple devices with ARM cpus ship }
  122. {$setc TARGET_OS_MAC := FALSE}
  123. {$setc TARGET_OS_IPHONE := TRUE}
  124. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  125. {$setc TARGET_OS_EMBEDDED := TRUE}
  126. {$elsec}
  127. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
  128. {$endc}
  129. {$ifc defined __LP64__ and __LP64__ }
  130. {$setc TARGET_CPU_64 := TRUE}
  131. {$elsec}
  132. {$setc TARGET_CPU_64 := FALSE}
  133. {$endc}
  134. {$ifc defined FPC_BIG_ENDIAN}
  135. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  136. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  137. {$elifc defined FPC_LITTLE_ENDIAN}
  138. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  139. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  140. {$elsec}
  141. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  142. {$endc}
  143. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  144. {$setc CALL_NOT_IN_CARBON := FALSE}
  145. {$setc OLDROUTINENAMES := FALSE}
  146. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  147. {$setc OPAQUE_UPP_TYPES := TRUE}
  148. {$setc OTCARBONAPPLICATION := TRUE}
  149. {$setc OTKERNEL := FALSE}
  150. {$setc PM_USE_SESSION_APIS := TRUE}
  151. {$setc TARGET_API_MAC_CARBON := TRUE}
  152. {$setc TARGET_API_MAC_OS8 := FALSE}
  153. {$setc TARGET_API_MAC_OSX := TRUE}
  154. {$setc TARGET_CARBON := TRUE}
  155. {$setc TARGET_CPU_68K := FALSE}
  156. {$setc TARGET_CPU_MIPS := FALSE}
  157. {$setc TARGET_CPU_SPARC := FALSE}
  158. {$setc TARGET_OS_UNIX := FALSE}
  159. {$setc TARGET_OS_WIN32 := FALSE}
  160. {$setc TARGET_RT_MAC_68881 := FALSE}
  161. {$setc TARGET_RT_MAC_CFM := FALSE}
  162. {$setc TARGET_RT_MAC_MACHO := TRUE}
  163. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  164. {$setc TYPE_BOOL := FALSE}
  165. {$setc TYPE_EXTENDED := FALSE}
  166. {$setc TYPE_LONGLONG := TRUE}
  167. uses MacTypes,Aliases,Components,Dialogs,Events,Files,Menus,ImageCompression,QDOffscreen,QuickdrawTypes,TextEdit,HIObject,CFBase,CFDictionary,CFString,CoreAudioTypes,AUComponent;
  168. {$endc} {not MACOSALLINCLUDE}
  169. {$ifc TARGET_OS_MAC}
  170. {
  171. Important note regarding availability macros
  172. ============================================
  173. QuickTime APIs that were introduced in QuickTime 6.0 and later are tagged with
  174. availability macros indicating the first Mac OS X version in which they were
  175. *always* available. Such APIs may also be present on systems running earlier
  176. Mac OS X releases when QuickTime updates have been installed.
  177. For example, QTNewDataReferenceFromCFURL was introduced in QuickTime 6.4.
  178. It is always available on Mac OS X 10.3, which shipped with QuickTime 6.4.
  179. However, QuickTime 6.4 can also be installed as an update to Mac OS X 10.2.x,
  180. so QTNewDataReferenceFromCFURL is also available on some systems running
  181. Mac OS X 10.2.x.
  182. QuickTime 6.0 / Mac OS X 10.2 : AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
  183. QuickTime 6.4 / Mac OS X 10.3 : AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER
  184. QuickTime 7.0 / Mac OS X 10.4 : AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER
  185. QuickTime 7.2 / Mac OS X 10.5 : AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER
  186. As described in /usr/include/AvailabilityMacros.h, you can use the
  187. MAC_OS_X_VERSION_MIN_REQUIRED macro to weak-link to the APIs that may not be
  188. available on the Mac OS X versions your software targets.
  189. }
  190. {$ALIGN MAC68K}
  191. { This sets the user defined exportset name i.e. fw_QuickTime_XManchego, available on 10.5 or later, and comment [4486184] }
  192. { NOTE: Requires Interfacer-35 or later }
  193. { <exportset=fw_QuickTime_XManchego> }
  194. { <exportset=fw_QuickTime_XMaguro> }
  195. { "kFix1" is defined in FixMath as "fixed1" }
  196. { error codes are in Errors.[haa] }
  197. { gestalt codes are in Gestalt.[hpa] }
  198. const
  199. MovieFileType = FourCharCode('MooV');
  200. MovieScrapType = FourCharCode('moov');
  201. const
  202. MovieResourceType = FourCharCode('moov');
  203. MovieForwardPointerResourceType = FourCharCode('fore');
  204. MovieBackwardPointerResourceType = FourCharCode('back');
  205. const
  206. MovieResourceAtomType = FourCharCode('moov');
  207. MovieDataAtomType = FourCharCode('mdat');
  208. FreeAtomType = FourCharCode('free');
  209. SkipAtomType = FourCharCode('skip');
  210. WideAtomPlaceholderType = FourCharCode('wide');
  211. const
  212. MediaHandlerType = FourCharCode('mhlr');
  213. DataHandlerType = FourCharCode('dhlr');
  214. const
  215. VideoMediaType = FourCharCode('vide');
  216. SoundMediaType = FourCharCode('soun');
  217. TextMediaType = FourCharCode('text');
  218. BaseMediaType = FourCharCode('gnrc');
  219. MPEGMediaType = FourCharCode('MPEG');
  220. MusicMediaType = FourCharCode('musi');
  221. TimeCodeMediaType = FourCharCode('tmcd');
  222. SpriteMediaType = FourCharCode('sprt');
  223. FlashMediaType = FourCharCode('flsh');
  224. MovieMediaType = FourCharCode('moov');
  225. TweenMediaType = FourCharCode('twen');
  226. ThreeDeeMediaType = FourCharCode('qd3d');
  227. SkinMediaType = FourCharCode('skin');
  228. HandleDataHandlerSubType = FourCharCode('hndl');
  229. PointerDataHandlerSubType = FourCharCode('ptr ');
  230. NullDataHandlerSubType = FourCharCode('null');
  231. ResourceDataHandlerSubType = FourCharCode('rsrc');
  232. URLDataHandlerSubType = FourCharCode('url ');
  233. AliasDataHandlerSubType = FourCharCode('alis');
  234. WiredActionHandlerType = FourCharCode('wire');
  235. kQTQuartzComposerMediaType = FourCharCode('qtz ');
  236. TimeCode64MediaType = FourCharCode('tc64');
  237. const
  238. VisualMediaCharacteristic = FourCharCode('eyes');
  239. AudioMediaCharacteristic = FourCharCode('ears');
  240. kCharacteristicCanSendVideo = FourCharCode('vsnd');
  241. kCharacteristicProvidesActions = FourCharCode('actn');
  242. kCharacteristicNonLinear = FourCharCode('nonl');
  243. kCharacteristicCanStep = FourCharCode('step');
  244. kCharacteristicHasNoDuration = FourCharCode('noti');
  245. kCharacteristicHasSkinData = FourCharCode('skin');
  246. kCharacteristicProvidesKeyFocus = FourCharCode('keyf');
  247. kCharacteristicSupportsDisplayOffsets = FourCharCode('dtdd');
  248. const
  249. kUserDataMovieControllerType = FourCharCode('ctyp');
  250. kUserDataName = FourCharCode('name');
  251. kUserDataTextAlbum = FourCharCode('©alb');
  252. kUserDataTextArtist = FourCharCode('©ART');
  253. kUserDataTextAuthor = FourCharCode('©aut');
  254. kUserDataTextChapter = FourCharCode('©chp');
  255. kUserDataTextComment = FourCharCode('©cmt');
  256. kUserDataTextComposer = FourCharCode('©com');
  257. kUserDataTextCopyright = FourCharCode('©cpy');
  258. kUserDataTextCreationDate = FourCharCode('©day');
  259. kUserDataTextDescription = FourCharCode('©des');
  260. kUserDataTextDirector = FourCharCode('©dir');
  261. kUserDataTextDisclaimer = FourCharCode('©dis');
  262. kUserDataTextEncodedBy = FourCharCode('©enc');
  263. kUserDataTextFullName = FourCharCode('©nam');
  264. kUserDataTextGenre = FourCharCode('©gen');
  265. kUserDataTextHostComputer = FourCharCode('©hst');
  266. kUserDataTextInformation = FourCharCode('©inf');
  267. kUserDataTextKeywords = FourCharCode('©key');
  268. kUserDataTextMake = FourCharCode('©mak');
  269. kUserDataTextModel = FourCharCode('©mod');
  270. kUserDataTextOriginalArtist = FourCharCode('©ope');
  271. kUserDataTextOriginalFormat = FourCharCode('©fmt');
  272. kUserDataTextOriginalSource = FourCharCode('©src');
  273. kUserDataTextPerformers = FourCharCode('©prf');
  274. kUserDataTextProducer = FourCharCode('©prd');
  275. kUserDataTextPublisher = FourCharCode('©pub');
  276. kUserDataTextProduct = FourCharCode('©PRD');
  277. kUserDataTextSoftware = FourCharCode('©swr');
  278. kUserDataTextSpecialPlaybackRequirements = FourCharCode('©req');
  279. kUserDataTextTrack = FourCharCode('©trk');
  280. kUserDataTextWarning = FourCharCode('©wrn');
  281. kUserDataTextWriter = FourCharCode('©wrt');
  282. kUserDataTextURLLink = FourCharCode('©url');
  283. kUserDataTextEditDate1 = FourCharCode('©ed1');
  284. kUserDataAnimatedGIFLoopCount = FourCharCode('gifc'); { data is big-endian UInt16 }
  285. kQTAnimatedGIFLoopCountInfinite = 0;
  286. kUserDataAnimatedGIFBufferingSize = FourCharCode('gifb'); { data is big-endian UInt32 }
  287. const
  288. kUserDataUnicodeBit = 1 shl 7;
  289. const
  290. DoTheRightThing = 0;
  291. {$ifc not TARGET_CPU_64}
  292. { property types}
  293. type
  294. QTPropertyClass = OSType;
  295. QTPropertyID = OSType;
  296. QTPropertyValueType = OSType;
  297. QTPropertyValueTypePtr = ^QTPropertyValueType;
  298. QTPropertyValuePtr = UnivPtr;
  299. ConstQTPropertyValuePtr = {const} UnivPtr;
  300. MovieTypePtr = ^SInt32; { an opaque type }
  301. Movie = ^MovieTypePtr;
  302. Movie_fix = Movie; { used as field type when a record declaration contains a Movie field identifier }
  303. MoviePtr = ^Movie;
  304. PtrToMovie = MoviePtr;
  305. TrackTypePtr = ^SInt32; { an opaque type }
  306. Track = ^TrackTypePtr;
  307. Track_fix = Track; { used as field type when a record declaration contains a Track field identifier }
  308. MediaTypePtr = ^SInt32; { an opaque type }
  309. Media = ^MediaTypePtr;
  310. UserDataRecordPtr = ^SInt32; { an opaque type }
  311. UserData = ^UserDataRecordPtr;
  312. MovieEditStateRecordPtr = ^SInt32; { an opaque type }
  313. MovieEditState = ^MovieEditStateRecordPtr;
  314. TrackEditStateRecordPtr = ^SInt32; { an opaque type }
  315. TrackEditState = ^TrackEditStateRecordPtr;
  316. QTRestrictionSetRecordPtr = ^SInt32; { an opaque type }
  317. QTRestrictionSet = ^QTRestrictionSetRecordPtr;
  318. SpriteWorld = ^SInt32; { an opaque type }
  319. Sprite = ^SInt32; { an opaque type }
  320. QTTweener = ^SInt32; { an opaque type }
  321. {$endc} {not TARGET_CPU_64}
  322. type
  323. SampleDescription = record
  324. descSize: SInt32;
  325. dataFormat: SInt32;
  326. resvd1: SInt32;
  327. resvd2: SInt16;
  328. dataRefIndex: SInt16;
  329. end;
  330. SampleDescriptionPtr = ^SampleDescription;
  331. type
  332. SampleDescriptionHandle = ^SampleDescriptionPtr;
  333. {$ifc not TARGET_CPU_64}
  334. const
  335. kQTNetworkStatusNoNetwork = -2;
  336. kQTNetworkStatusUncertain = -1;
  337. kQTNetworkStatusNotConnected = 0;
  338. kQTNetworkStatusConnected = 1;
  339. type
  340. QTAtomContainer = Handle;
  341. QTAtom = SIGNEDLONG;
  342. QTAtomType = SIGNEDLONG;
  343. QTAtomID = SIGNEDLONG;
  344. { QTFloatDouble is the 64-bit IEEE-754 standard}
  345. type
  346. QTFloatDouble = Float64;
  347. { QTFloatSingle is the 32-bit IEEE-754 standard}
  348. type
  349. QTFloatSingle = Float32;
  350. {$endc} {not TARGET_CPU_64}
  351. {************************
  352. * SoundDescription
  353. ************************}
  354. type
  355. SoundDescription = record
  356. descSize: SInt32; { total size of SoundDescription including extra data }
  357. dataFormat: SInt32; { sound format }
  358. resvd1: SInt32; { reserved for apple use. set to zero }
  359. resvd2: SInt16; { reserved for apple use. set to zero }
  360. dataRefIndex: SInt16;
  361. version: SInt16; { which version is this data }
  362. revlevel: SInt16; { what version of that codec did this }
  363. vendor: SInt32; { whose codec compressed this data }
  364. numChannels: SInt16; { number of channels of sound }
  365. sampleSize: SInt16; { number of bits per sample }
  366. compressionID: SInt16; { unused. set to zero. }
  367. packetSize: SInt16; { unused. set to zero. }
  368. sampleRate: UnsignedFixed; { sample rate sound is captured at }
  369. end;
  370. SoundDescriptionPtr = ^SoundDescription;
  371. type
  372. SoundDescriptionHandle = ^SoundDescriptionPtr;
  373. { version 1 of the SoundDescription record}
  374. type
  375. SoundDescriptionV1 = record
  376. { original fields}
  377. desc: SoundDescription;
  378. { fixed compression ratio information}
  379. samplesPerPacket: UInt32;
  380. bytesPerPacket: UInt32;
  381. bytesPerFrame: UInt32;
  382. bytesPerSample: UInt32;
  383. { additional atom based fields ([long size, long type, some data], repeat)}
  384. end;
  385. SoundDescriptionV1Ptr = ^SoundDescriptionV1;
  386. type
  387. SoundDescriptionV1Handle = ^SoundDescriptionV1Ptr;
  388. {
  389. Definitions for SoundDescriptionV2:
  390. LPCMFrame = one uncompressed sample in each of the channels (ie. 44100Hz audio has
  391. 44100 LPCMFrames per second, whether it is mono, stereo, 5.1, or whatever).
  392. In other words, LPCMFrames/audioSampleRate is duration in seconds.
  393. AudioPacket = For compressed audio, an AudioPacket is the natural compressed access
  394. unit of that format. For uncompressed audio, an AudioPacket is simply one
  395. LPCMFrame.
  396. }
  397. { version 2 of the SoundDescription record}
  398. type
  399. SoundDescriptionV2 = record
  400. descSize: SInt32; { total size of SoundDescription including extra data }
  401. dataFormat: OSType; { 'lpcm' for uncompressed, compression type otherwise (eg. 'ima4') }
  402. resvd1: SInt32; { reserved for apple use. Must be set to zero }
  403. resvd2: SInt16; { reserved for apple use. Must be set to zero }
  404. dataRefIndex: SInt16;
  405. version: SInt16; { which version is this data (2 in this case) }
  406. revlevel: SInt16; { what version of that codec did this }
  407. vendor: SInt32; { whose codec compressed this data }
  408. always3: SInt16; { Reserved, must be set to 3 }
  409. always16: SInt16; { Reserved, must be set to 16 (0x0010) }
  410. alwaysMinus2: SInt16; { Reserved, must be set to -2 (0xFFFE) }
  411. always0: SInt16; { Reserved, must be set to 0 }
  412. always65536: UInt32; { Reserved, must be set to 65536 (0x00010000) }
  413. sizeOfStructOnly: UInt32; { must be set to sizeof(SoundDescriptionV2), ie. offset to extensions }
  414. audioSampleRate: Float64; { audio frames per second, eg. 44100.0 }
  415. numAudioChannels: UInt32; { any channel assignment info will be in an extension }
  416. always7F000000: SInt32; { Reserved, must be set to 0x7F000000 }
  417. constBitsPerChannel: UInt32; { only set if constant (and only for uncompressed audio) }
  418. formatSpecificFlags: UInt32; { eg. see LPCM flag definitions in CoreAudioTypes.h }
  419. constBytesPerAudioPacket: UInt32; { only set if constant }
  420. constLPCMFramesPerAudioPacket: UInt32; { only set if constant }
  421. { additional atom based extensions ([long size, long type, some data], repeat)}
  422. end;
  423. SoundDescriptionV2Ptr = ^SoundDescriptionV2;
  424. type
  425. SoundDescriptionV2Handle = ^SoundDescriptionV2Ptr;
  426. {$ifc not TARGET_CPU_64}
  427. const
  428. kQTSoundDescriptionKind_Movie_Version1 = FourCharCode('mvv1');
  429. kQTSoundDescriptionKind_Movie_Version2 = FourCharCode('mvv2');
  430. kQTSoundDescriptionKind_Movie_LowestPossibleVersion = FourCharCode('mvlo');
  431. kQTSoundDescriptionKind_Movie_AnyVersion = FourCharCode('mvny');
  432. type
  433. QTSoundDescriptionKind = FourCharCode;
  434. {
  435. * QTSoundDescriptionCreate()
  436. *
  437. * Summary:
  438. * QTSoundDescriptionCreate creates a SoundDescription of the
  439. * requested kind from an AudioStreamBasicDescription, optional
  440. * AudioChannelLayout, and optional magic cookie.
  441. * QTSoundDescriptionCreate allocates the returned
  442. * SoundDescriptionHandle, and the caller is responsible for
  443. * disposing it.
  444. *
  445. * Parameters:
  446. *
  447. * inASBD:
  448. * a description of the format
  449. *
  450. * inLayout:
  451. * the audio channel layout (can be NULL if there isn't one)
  452. *
  453. * inLayoutSize:
  454. * size of the audio channel layout (should be 0 if inLayout is
  455. * NULL)
  456. *
  457. * inMagicCookie:
  458. * the magic cookie for the decompressor (can be NULL if there
  459. * isn't one)
  460. *
  461. * inMagicCookieSize:
  462. * size of the magic cookie (should be 0 if inMagicCookie is NULL)
  463. *
  464. * inRequestedKind:
  465. * the kind of SoundDescription to create
  466. *
  467. * outSoundDesc:
  468. * the resulting SoundDescription. Caller must dispose with
  469. * DisposeHandle.
  470. *
  471. * Availability:
  472. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  473. * CarbonLib: not available
  474. * Non-Carbon CFM: not available
  475. }
  476. function QTSoundDescriptionCreate( var inASBD: AudioStreamBasicDescription; inLayout: AudioChannelLayoutPtr { can be NULL }; inLayoutSize: ByteCount; inMagicCookie: UnivPtr; inMagicCookieSize: ByteCount; inRequestedKind: QTSoundDescriptionKind; var outSoundDesc: SoundDescriptionHandle ): OSStatus; external name '_QTSoundDescriptionCreate';
  477. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  478. {
  479. * QTSoundDescriptionConvert()
  480. *
  481. * Summary:
  482. * Converts from one kind of SoundDescription to another. Note that
  483. * fromKind is reserved for future expansion. You must set it to
  484. * kSoundDescriptionKind_Movie_AnyVersion. You can specify (via
  485. * toKind) that you would like a specific SoundDescription version,
  486. * the lowest possible version (given the constraints of the format
  487. * described by fromDescription), or any version of SoundDescription
  488. * at all. QTSoundDescriptionConvert allocates the returned
  489. * SoundDescriptionHandle and the caller is responsible for
  490. * disposing it.
  491. *
  492. * Parameters:
  493. *
  494. * fromKind:
  495. * reserved, must be set to kSoundDescriptionKind_Movie_AnyVersion
  496. *
  497. * fromDescription:
  498. * input description to be converted
  499. *
  500. * toKind:
  501. * kind of description toDescription will be
  502. *
  503. * toDescription:
  504. * the resulting SoundDescription. Caller must dispose with
  505. * DisposeHandle.
  506. *
  507. * Availability:
  508. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  509. * CarbonLib: not available
  510. * Non-Carbon CFM: not available
  511. }
  512. function QTSoundDescriptionConvert( fromKind: QTSoundDescriptionKind; fromDescription: SoundDescriptionHandle; toKind: QTSoundDescriptionKind; var toDescription: SoundDescriptionHandle ): OSStatus; external name '_QTSoundDescriptionConvert';
  513. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  514. { SoundDescription Properties}
  515. const
  516. {
  517. * Properties of a SoundDescription
  518. }
  519. kQTPropertyClass_SoundDescription = FourCharCode('sdes'); { class for SoundDescription properties}
  520. const
  521. {
  522. * kQTSoundDescriptionPropertyID_AudioChannelLayout: Value is
  523. * AudioChannelLayout (Get/Set) Note that this is a variable sized
  524. * property (since it may contain an array of ChannelDescriptions;
  525. * see CoreAudioTypes.h). You must get the size first (by calling
  526. * QTSoundDescriptionGetPropertyInfo), allocate a struct of that
  527. * size, and then get the property.
  528. }
  529. kQTSoundDescriptionPropertyID_AudioChannelLayout = FourCharCode('clay');
  530. {
  531. * kQTSoundDescriptionPropertyID_MagicCookie: Value is opaque bytes
  532. * (Get/Set) Note that this is a variable sized property (since it is
  533. * completely defined by the codec in question). You must get the
  534. * size first (by calling QTSoundDescriptionGetPropertyInfo),
  535. * allocate a struct of that size, and then get the property.
  536. }
  537. kQTSoundDescriptionPropertyID_MagicCookie = FourCharCode('kuki');
  538. {
  539. * kQTSoundDescriptionPropertyID_AudioStreamBasicDescription: Value
  540. * is AudioStreamBasicDescription (Get only)
  541. }
  542. kQTSoundDescriptionPropertyID_AudioStreamBasicDescription = FourCharCode('asbd');
  543. {
  544. * kQTSoundDescriptionPropertyID_BitRate: Value is UInt32 in bits per
  545. * second (Get only) kQTSoundDescriptionPropertyID_BitRate Note that
  546. * this property may not be available for formats that are inherently
  547. * very variable in bitrate and highly source-data dependent (such as
  548. * Apple Lossless).
  549. }
  550. kQTSoundDescriptionPropertyID_BitRate = FourCharCode('brat');
  551. {
  552. * kQTSoundDescriptionPropertyID_UserReadableText: Value is
  553. * CFStringRef (Get only) QTSoundDescriptionGetProperty does a
  554. * CFRetain of the returned CFString on behalf of the caller, so the
  555. * caller is responsible for calling CFRelease on the returned
  556. * CFString.
  557. }
  558. kQTSoundDescriptionPropertyID_UserReadableText = FourCharCode('text');
  559. {
  560. * QTSoundDescriptionGetPropertyInfo()
  561. *
  562. * Summary:
  563. * Gets info about a particular property of a SoundDescription.
  564. *
  565. * Parameters:
  566. *
  567. * inDesc:
  568. * SoundDescription being interrogated
  569. *
  570. * inPropClass:
  571. * class of property being requested
  572. *
  573. * inPropID:
  574. * ID of property being requested
  575. *
  576. * outPropType:
  577. * type of property is returned here (can be NULL)
  578. *
  579. * outPropValueSize:
  580. * size of property is returned here (can be NULL)
  581. *
  582. * outPropertyFlags:
  583. * property flags are returned here (can be NULL)
  584. *
  585. * Availability:
  586. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  587. * CarbonLib: not available
  588. * Non-Carbon CFM: not available
  589. }
  590. function QTSoundDescriptionGetPropertyInfo( inDesc: SoundDescriptionHandle; inPropClass: QTPropertyClass; inPropID: QTPropertyID; outPropType: QTPropertyValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_QTSoundDescriptionGetPropertyInfo';
  591. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  592. {
  593. * QTSoundDescriptionGetProperty()
  594. *
  595. * Summary:
  596. * Gets a particular property of a SoundDescription.
  597. *
  598. * Parameters:
  599. *
  600. * inDesc:
  601. * SoundDescription being interrogated
  602. *
  603. * inPropClass:
  604. * class of property being requested
  605. *
  606. * inPropID:
  607. * ID of property being requested
  608. *
  609. * inPropValueSize:
  610. * size of property value buffer
  611. *
  612. * outPropValueAddress:
  613. * pointer to property value buffer
  614. *
  615. * outPropValueSizeUsed:
  616. * actual size of returned property value (can be NULL)
  617. *
  618. * Availability:
  619. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  620. * CarbonLib: not available
  621. * Non-Carbon CFM: not available
  622. }
  623. function QTSoundDescriptionGetProperty( inDesc: SoundDescriptionHandle; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_QTSoundDescriptionGetProperty';
  624. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  625. {
  626. * QTSoundDescriptionSetProperty()
  627. *
  628. * Summary:
  629. * Sets a particular property of a SoundDescription.
  630. *
  631. * Parameters:
  632. *
  633. * inDesc:
  634. * SoundDescription being modified
  635. *
  636. * inPropClass:
  637. * class of property being set
  638. *
  639. * inPropID:
  640. * ID of property being set
  641. *
  642. * inPropValueSize:
  643. * size of property value buffer
  644. *
  645. * inPropValueAddress:
  646. * pointer to property value buffer
  647. *
  648. * Availability:
  649. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  650. * CarbonLib: not available
  651. * Non-Carbon CFM: not available
  652. }
  653. function QTSoundDescriptionSetProperty( inDesc: SoundDescriptionHandle; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSStatus; external name '_QTSoundDescriptionSetProperty';
  654. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  655. { Sound Description Extensions}
  656. {
  657. * AddSoundDescriptionExtension()
  658. *
  659. * Availability:
  660. * Mac OS X: in version 10.0 and later in QuickTime.framework
  661. * CarbonLib: in CarbonLib 1.0 and later
  662. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  663. * Windows: in qtmlClient.lib 3.0 and later
  664. }
  665. function AddSoundDescriptionExtension( desc: SoundDescriptionHandle; extension: Handle; idType: OSType ): OSErr; external name '_AddSoundDescriptionExtension';
  666. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  667. {
  668. * GetSoundDescriptionExtension()
  669. *
  670. * Availability:
  671. * Mac OS X: in version 10.0 and later in QuickTime.framework
  672. * CarbonLib: in CarbonLib 1.0 and later
  673. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  674. * Windows: in qtmlClient.lib 3.0 and later
  675. }
  676. function GetSoundDescriptionExtension( desc: SoundDescriptionHandle; var extension: Handle; idType: OSType ): OSErr; external name '_GetSoundDescriptionExtension';
  677. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  678. {
  679. * RemoveSoundDescriptionExtension()
  680. *
  681. * Availability:
  682. * Mac OS X: in version 10.0 and later in QuickTime.framework
  683. * CarbonLib: in CarbonLib 1.0 and later
  684. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  685. * Windows: in qtmlClient.lib 3.0 and later
  686. }
  687. function RemoveSoundDescriptionExtension( desc: SoundDescriptionHandle; idType: OSType ): OSErr; external name '_RemoveSoundDescriptionExtension';
  688. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  689. {$endc} {not TARGET_CPU_64}
  690. const
  691. kTx3gSampleType = FourCharCode('tx3g');
  692. kTx3gFontTableAtomType = FourCharCode('ftab');
  693. kTx3gBlinkAtomType = FourCharCode('blnk');
  694. type
  695. Tx3gRGBAColor = record
  696. red: UInt8;
  697. green: UInt8;
  698. blue: UInt8;
  699. transparency: UInt8;
  700. end;
  701. type
  702. Tx3gStyleRecordPtr = ^Tx3gStyleRecord;
  703. Tx3gStyleRecord = record
  704. startChar: UInt16;
  705. endChar: UInt16;
  706. fontID: UInt16;
  707. fontFace: UInt8;
  708. fontSize: UInt8;
  709. fontColor: Tx3gRGBAColor;
  710. end;
  711. type
  712. Tx3gStylePtr = Tx3gStyleRecordPtr;
  713. Tx3gStyleHandle = ^Tx3gStylePtr;
  714. Tx3gStyleTableRecordPtr = ^Tx3gStyleTableRecord;
  715. Tx3gStyleTableRecord = record
  716. count: UInt16;
  717. table: array [0..0] of Tx3gStyleRecord;
  718. end;
  719. type
  720. Tx3gStyleTablePtr = Tx3gStyleTableRecordPtr;
  721. Tx3gStyleTableHandle = ^Tx3gStyleTablePtr;
  722. Tx3gFontRecord = record
  723. fontID: UInt16;
  724. nameLength: UInt8;
  725. name: array[0..0] of SInt8;
  726. end;
  727. Tx3gFontRecordPtr = ^Tx3gFontRecord;
  728. type
  729. Tx3gFontTableRecordPtr = ^Tx3gFontTableRecord;
  730. Tx3gFontTableRecord = record
  731. entryCount: UInt16;
  732. fontEntries: array[0..0] of Tx3gFontRecord;
  733. end;
  734. type
  735. Tx3gFontTablePtr = Tx3gFontTableRecordPtr;
  736. Tx3gFontTableHandle = ^Tx3gFontTablePtr;
  737. Tx3gDescription = record
  738. descSize: SInt32;
  739. dataFormat: SInt32;
  740. resvd1: SInt32;
  741. resvd2: SInt16;
  742. dataRefIndex: SInt16;
  743. displayFlags: UInt32;
  744. horizontalJustification: char;
  745. verticalJustification: char;
  746. backgroundColor: Tx3gRGBAColor;
  747. defaultTextBox: Rect;
  748. defaultStyle: Tx3gStyleRecord;
  749. end;
  750. Tx3gDescriptionPtr = ^Tx3gDescription;
  751. type
  752. Tx3gDescriptionHandle = ^Tx3gDescriptionPtr;
  753. {$ifc TARGET_CPU_64}
  754. { QuickDraw legacy }
  755. type
  756. QTRGBColor = record
  757. red: UInt16; { magnitude of red component}
  758. green: UInt16; { magnitude of green component}
  759. blue: UInt16; { magnitude of blue component}
  760. end;
  761. {$endc} {TARGET_CPU_64}
  762. type
  763. TextDescription = record
  764. descSize: SInt32; { Total size of TextDescription}
  765. dataFormat: SInt32; { 'text'}
  766. resvd1: SInt32;
  767. resvd2: SInt16;
  768. dataRefIndex: SInt16;
  769. displayFlags: SInt32; { see enum below for flag values}
  770. textJustification: SInt32; { Can be: teCenter,teFlush -Default,-Right,-Left}
  771. {$ifc TARGET_CPU_64}
  772. bgColor: QTRGBColor; { Background color}
  773. {$elsec} {TARGET_CPU_64}
  774. bgColor: RGBColor; { Background color}
  775. {$endc} {TARGET_CPU_64}
  776. defaultTextBox: Rect; { Location to place the text within the track bounds}
  777. defaultStyle: ScrpSTElement; { Default style (struct defined in TextEdit.h)}
  778. defaultFontName: array[0..0] of SInt8; { Font Name (pascal string - struct extended to fit) }
  779. end;
  780. TextDescriptionPtr = ^TextDescription;
  781. type
  782. TextDescriptionHandle = ^TextDescriptionPtr;
  783. {$ifc not TARGET_CPU_64}
  784. type
  785. SpriteDescription = record
  786. descSize: SIGNEDLONG; { total size of SpriteDescription including extra data }
  787. dataFormat: SIGNEDLONG; { }
  788. resvd1: SIGNEDLONG; { reserved for apple use }
  789. resvd2: SInt16;
  790. dataRefIndex: SInt16;
  791. version: SIGNEDLONG; { which version is this data }
  792. decompressorType: OSType; { which decompressor to use, 0 for no decompression }
  793. sampleFlags: SIGNEDLONG; { how to interpret samples }
  794. end;
  795. SpriteDescriptionPtr = ^SpriteDescription;
  796. type
  797. SpriteDescriptionHandle = ^SpriteDescriptionPtr;
  798. FlashDescription = record
  799. descSize: SIGNEDLONG;
  800. dataFormat: SIGNEDLONG;
  801. resvd1: SIGNEDLONG;
  802. resvd2: SInt16;
  803. dataRefIndex: SInt16;
  804. version: SIGNEDLONG; { which version is this data }
  805. decompressorType: OSType; { which decompressor to use, 0 for no decompression }
  806. flags: SIGNEDLONG;
  807. end;
  808. FlashDescriptionPtr = ^FlashDescription;
  809. type
  810. FlashDescriptionHandle = ^FlashDescriptionPtr;
  811. ThreeDeeDescription = record
  812. descSize: SIGNEDLONG; { total size of ThreeDeeDescription including extra data }
  813. dataFormat: SIGNEDLONG; { }
  814. resvd1: SIGNEDLONG; { reserved for apple use }
  815. resvd2: SInt16;
  816. dataRefIndex: SInt16;
  817. version: SIGNEDLONG; { which version is this data }
  818. rendererType: SIGNEDLONG; { which renderer to use, 0 for default }
  819. decompressorType: SIGNEDLONG; { which decompressor to use, 0 for default }
  820. end;
  821. ThreeDeeDescriptionPtr = ^ThreeDeeDescription;
  822. type
  823. ThreeDeeDescriptionHandle = ^ThreeDeeDescriptionPtr;
  824. DataReferenceRecordPtr = ^DataReferenceRecord;
  825. DataReferenceRecord = record
  826. dataRefType: OSType;
  827. dataRef: Handle;
  828. end;
  829. type
  830. DataReferencePtr = DataReferenceRecordPtr;
  831. {--------------------------
  832. Music Sample Description
  833. --------------------------}
  834. type
  835. MusicDescription = record
  836. descSize: SIGNEDLONG;
  837. dataFormat: SIGNEDLONG; { 'musi' }
  838. resvd1: SIGNEDLONG;
  839. resvd2: SInt16;
  840. dataRefIndex: SInt16;
  841. musicFlags: SIGNEDLONG;
  842. headerData: array [0..0] of UNSIGNEDLONG; { variable size! }
  843. end;
  844. MusicDescriptionPtr = ^MusicDescription;
  845. type
  846. MusicDescriptionHandle = ^MusicDescriptionPtr;
  847. const
  848. kMusicFlagDontPlay2Soft = 1 shl 0;
  849. kMusicFlagDontSlaveToMovie = 1 shl 1;
  850. const
  851. dfDontDisplay = 1 shl 0; { Don't display the text}
  852. dfDontAutoScale = 1 shl 1; { Don't scale text as track bounds grows or shrinks}
  853. dfClipToTextBox = 1 shl 2; { Clip update to the textbox}
  854. dfUseMovieBGColor = 1 shl 3; { Set text background to movie's background color}
  855. dfShrinkTextBoxToFit = 1 shl 4; { Compute minimum box to fit the sample}
  856. dfScrollIn = 1 shl 5; { Scroll text in until last of text is in view }
  857. dfScrollOut = 1 shl 6; { Scroll text out until last of text is gone (if both set, scroll in then out)}
  858. dfHorizScroll = 1 shl 7; { Scroll text horizontally (otherwise it's vertical)}
  859. dfReverseScroll = 1 shl 8; { vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)}
  860. dfContinuousScroll = 1 shl 9; { new samples cause previous samples to scroll out }
  861. dfFlowHoriz = 1 shl 10; { horiz scroll text flows in textbox rather than extend to right }
  862. dfContinuousKaraoke = 1 shl 11; { ignore begin offset, hilite everything up to the end offset(karaoke)}
  863. dfDropShadow = 1 shl 12; { display text with a drop shadow }
  864. dfAntiAlias = 1 shl 13; { attempt to display text anti aliased}
  865. dfKeyedText = 1 shl 14; { key the text over background}
  866. dfInverseHilite = 1 shl 15; { Use inverse hiliting rather than using hilite color}
  867. dfTextColorHilite = 1 shl 16; { changes text color in place of hiliting. }
  868. const
  869. searchTextDontGoToFoundTime = 1 shl 16;
  870. searchTextDontHiliteFoundText = 1 shl 17;
  871. searchTextOneTrackOnly = 1 shl 18;
  872. searchTextEnabledTracksOnly = 1 shl 19;
  873. {use these with the text property routines}
  874. const
  875. { set property parameter / get property parameter}
  876. kTextTextHandle = 1; { Handle / preallocated Handle}
  877. kTextTextPtr = 2; { Pointer}
  878. kTextTEStyle = 3; { TextStyle * / TextStyle *}
  879. kTextSelection = 4; { long [2] / long [2]}
  880. kTextBackColor = 5; { RGBColor * / RGBColor *}
  881. kTextForeColor = 6; { RGBColor * / RGBColor *}
  882. kTextFace = 7; { long / long *}
  883. kTextFont = 8; { long / long *}
  884. kTextSize = 9; { long / long *}
  885. kTextAlignment = 10; { short * / short *}
  886. kTextHilite = 11; { hiliteRecord * / hiliteRecord *}
  887. kTextDropShadow = 12; { dropShadowRecord * / dropShadowRecord *}
  888. kTextDisplayFlags = 13; { long / long *}
  889. kTextScroll = 14; { TimeValue * / TimeValue *}
  890. kTextRelativeScroll = 15; { Point *}
  891. kTextHyperTextFace = 16; { hyperTextSetFace * / hyperTextSetFace *}
  892. kTextHyperTextColor = 17; { hyperTextSetColor * / hyperTextSetColor *}
  893. kTextKeyEntry = 18; { short}
  894. kTextMouseDown = 19; { Point *}
  895. kTextTextBox = 20; { Rect * / Rect *}
  896. kTextEditState = 21; { short / short *}
  897. kTextLength = 22; { / long *}
  898. const
  899. k3DMediaRendererEntry = FourCharCode('rend');
  900. k3DMediaRendererName = FourCharCode('name');
  901. k3DMediaRendererCode = FourCharCode('rcod');
  902. { progress messages }
  903. const
  904. movieProgressOpen = 0;
  905. movieProgressUpdatePercent = 1;
  906. movieProgressClose = 2;
  907. { progress operations }
  908. const
  909. progressOpFlatten = 1;
  910. progressOpInsertTrackSegment = 2;
  911. progressOpInsertMovieSegment = 3;
  912. progressOpPaste = 4;
  913. progressOpAddMovieSelection = 5;
  914. progressOpCopy = 6;
  915. progressOpCut = 7;
  916. progressOpLoadMovieIntoRam = 8;
  917. progressOpLoadTrackIntoRam = 9;
  918. progressOpLoadMediaIntoRam = 10;
  919. progressOpImportMovie = 11;
  920. progressOpExportMovie = 12;
  921. const
  922. mediaQualityDraft = $0000;
  923. mediaQualityNormal = $0040;
  924. mediaQualityBetter = $0080;
  925. mediaQualityBest = $00C0;
  926. {****
  927. Interactive Sprites Support
  928. ****}
  929. { QTEventRecord flags}
  930. const
  931. kQTEventPayloadIsQTList = 1 shl 0;
  932. type
  933. QTEventRecord = record
  934. version: SIGNEDLONG;
  935. eventType: OSType;
  936. where: Point;
  937. flags: SIGNEDLONG;
  938. payloadRefcon: SIGNEDLONG; { from here down only present if version >= 2}
  939. param1: SIGNEDLONG;
  940. param2: SIGNEDLONG;
  941. param3: SIGNEDLONG;
  942. end;
  943. QTEventRecordPtr = ^QTEventRecord;
  944. type
  945. QTAtomSpec = record
  946. container: QTAtomContainer;
  947. atom: QTAtom;
  948. end;
  949. QTAtomSpecPtr = ^QTAtomSpec;
  950. type
  951. ResolvedQTEventSpec = record
  952. actionAtom: QTAtomSpec;
  953. targetTrack: Track;
  954. targetRefCon: SIGNEDLONG;
  955. end;
  956. ResolvedQTEventSpecPtr = ^ResolvedQTEventSpec;
  957. { action constants }
  958. const
  959. kActionMovieSetVolume = 1024; { (short movieVolume) }
  960. kActionMovieSetRate = 1025; { (Fixed rate) }
  961. kActionMovieSetLoopingFlags = 1026; { (long loopingFlags) }
  962. kActionMovieGoToTime = 1027; { (TimeValue time) }
  963. kActionMovieGoToTimeByName = 1028; { (Str255 timeName) }
  964. kActionMovieGoToBeginning = 1029; { no params }
  965. kActionMovieGoToEnd = 1030; { no params }
  966. kActionMovieStepForward = 1031; { no params }
  967. kActionMovieStepBackward = 1032; { no params }
  968. kActionMovieSetSelection = 1033; { (TimeValue startTime, TimeValue endTime) }
  969. kActionMovieSetSelectionByName = 1034; { (Str255 startTimeName, Str255 endTimeName) }
  970. kActionMoviePlaySelection = 1035; { (Boolean selectionOnly) }
  971. kActionMovieSetLanguage = 1036; { (long language) }
  972. kActionMovieChanged = 1037; { no params }
  973. kActionMovieRestartAtTime = 1038; { (TimeValue startTime, Fixed rate) }
  974. kActionMovieGotoNextChapter = 1039; { no params }
  975. kActionMovieGotoPreviousChapter = 1040; { no params }
  976. kActionMovieGotoFirstChapter = 1041; { no params }
  977. kActionMovieGotoLastChapter = 1042; { no params }
  978. kActionMovieGotoChapterByIndex = 1043; { ( short index ) }
  979. kActionMovieSetScale = 1044; { (Fixed xScale, Fixed yScale) }
  980. kActionTrackSetVolume = 2048; { (short volume) }
  981. kActionTrackSetBalance = 2049; { (short balance) }
  982. kActionTrackSetEnabled = 2050; { (Boolean enabled) }
  983. kActionTrackSetMatrix = 2051; { (MatrixRecord matrix) }
  984. kActionTrackSetLayer = 2052; { (short layer) }
  985. kActionTrackSetClip = 2053; { (RgnHandle clip) }
  986. kActionTrackSetCursor = 2054; { (QTATomID cursorID) }
  987. kActionTrackSetGraphicsMode = 2055; { (ModifierTrackGraphicsModeRecord graphicsMode) }
  988. kActionTrackSetIdleFrequency = 2056; { (long frequency) }
  989. kActionTrackSetBassTreble = 2057; { (short base, short treble) }
  990. kActionSpriteSetMatrix = 3072; { (MatrixRecord matrix) }
  991. kActionSpriteSetImageIndex = 3073; { (short imageIndex) }
  992. kActionSpriteSetVisible = 3074; { (short visible) }
  993. kActionSpriteSetLayer = 3075; { (short layer) }
  994. kActionSpriteSetGraphicsMode = 3076; { (ModifierTrackGraphicsModeRecord graphicsMode) }
  995. kActionSpritePassMouseToCodec = 3078; { no params }
  996. kActionSpriteClickOnCodec = 3079; { Point localLoc }
  997. kActionSpriteTranslate = 3080; { (Fixed x, Fixed y, Boolean isAbsolute) }
  998. kActionSpriteScale = 3081; { (Fixed xScale, Fixed yScale) }
  999. kActionSpriteRotate = 3082; { (Fixed degrees) }
  1000. kActionSpriteStretch = 3083; { (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) }
  1001. kActionSpriteSetCanBeHitTested = 3094; { (short canBeHitTested) }
  1002. kActionQTVRSetPanAngle = 4096; { (float panAngle) }
  1003. kActionQTVRSetTiltAngle = 4097; { (float tiltAngle) }
  1004. kActionQTVRSetFieldOfView = 4098; { (float fieldOfView) }
  1005. kActionQTVRShowDefaultView = 4099; { no params }
  1006. kActionQTVRGoToNodeID = 4100; { (UInt32 nodeID) }
  1007. kActionQTVREnableHotSpot = 4101; { long ID, Boolean enable }
  1008. kActionQTVRShowHotSpots = 4102; { Boolean show }
  1009. kActionQTVRTranslateObject = 4103; { float xMove, float yMove }
  1010. kActionQTVRSetViewState = 4109; { long viewStateType, short state }
  1011. kActionMusicPlayNote = 5120; { (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) }
  1012. kActionMusicSetController = 5121; { (long sampleDescIndex, long partNumber, long delay, long controller, long value) }
  1013. kActionCase = 6144; { [(CaseStatementActionAtoms)] }
  1014. kActionWhile = 6145; { [(WhileStatementActionAtoms)] }
  1015. kActionGoToURL = 6146; { (C string urlLink) }
  1016. kActionSendQTEventToSprite = 6147; { ([(SpriteTargetAtoms)], QTEventRecord theEvent) }
  1017. kActionDebugStr = 6148; { (Str255 theString) }
  1018. kActionPushCurrentTime = 6149; { no params }
  1019. kActionPushCurrentTimeWithLabel = 6150; { (Str255 theLabel) }
  1020. kActionPopAndGotoTopTime = 6151; { no params }
  1021. kActionPopAndGotoLabeledTime = 6152; { (Str255 theLabel) }
  1022. kActionStatusString = 6153; { (C string theString, long stringTypeFlags) }
  1023. kActionSendQTEventToTrackObject = 6154; { ([(TrackObjectTargetAtoms)], QTEventRecord theEvent) }
  1024. kActionAddChannelSubscription = 6155; { (Str255 channelName, C string channelsURL, C string channelsPictureURL) }
  1025. kActionRemoveChannelSubscription = 6156; { (C string channelsURL) }
  1026. kActionOpenCustomActionHandler = 6157; { (long handlerID, ComponentDescription handlerDesc) }
  1027. kActionDoScript = 6158; { (long scriptTypeFlags, CString command, CString arguments) }
  1028. kActionDoCompressedActions = 6159; { (compressed QTAtomContainer prefixed with eight bytes: long compressorType, long decompressedSize) }
  1029. kActionSendAppMessage = 6160; { (long appMessageID) }
  1030. kActionLoadComponent = 6161; { (ComponentDescription handlerDesc) }
  1031. kActionSetFocus = 6162; { [(TargetAtoms theObject)] }
  1032. kActionDontPassKeyEvent = 6163; { no params }
  1033. kActionSetRandomSeed = 6164; { long randomSeed }
  1034. kActionSpriteTrackSetVariable = 7168; { (QTAtomID variableID, float value) }
  1035. kActionSpriteTrackNewSprite = 7169; { (QTAtomID spriteID, short imageIndex, MatrixRecord *matrix, short visible, short layer, ModifierTrackGraphicsModeRecord *graphicsMode, QTAtomID actionHandlingSpriteID) }
  1036. kActionSpriteTrackDisposeSprite = 7170; { (QTAtomID spriteID) }
  1037. kActionSpriteTrackSetVariableToString = 7171; { (QTAtomID variableID, C string value) }
  1038. kActionSpriteTrackConcatVariables = 7172; { (QTAtomID firstVariableID, QTAtomID secondVariableID, QTAtomID resultVariableID ) }
  1039. kActionSpriteTrackSetVariableToMovieURL = 7173; { (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) }
  1040. kActionSpriteTrackSetVariableToMovieBaseURL = 7174; { (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) }
  1041. kActionSpriteTrackSetAllSpritesHitTestingMode = 7181;
  1042. kActionSpriteTrackNewImage = 7182; { (C string imageURL, QTAtomID desiredID) }
  1043. kActionSpriteTrackDisposeImage = 7183; { (short imageIndex) }
  1044. kActionApplicationNumberAndString = 8192; { (long aNumber, Str255 aString ) }
  1045. kActionQD3DNamedObjectTranslateTo = 9216; { (Fixed x, Fixed y, Fixed z ) }
  1046. kActionQD3DNamedObjectScaleTo = 9217; { (Fixed xScale, Fixed yScale, Fixed zScale ) }
  1047. kActionQD3DNamedObjectRotateTo = 9218; { (Fixed xDegrees, Fixed yDegrees, Fixed zDegrees ) }
  1048. kActionFlashTrackSetPan = 10240; { (short xPercent, short yPercent ) }
  1049. kActionFlashTrackSetZoom = 10241; { (short zoomFactor ) }
  1050. kActionFlashTrackSetZoomRect = 10242; { (long left, long top, long right, long bottom ) }
  1051. kActionFlashTrackGotoFrameNumber = 10243; { (long frameNumber ) }
  1052. kActionFlashTrackGotoFrameLabel = 10244; { (C string frameLabel ) }
  1053. kActionFlashTrackSetFlashVariable = 10245; { (C string path, C string name, C string value, Boolean updateFocus) }
  1054. kActionFlashTrackDoButtonActions = 10246; { (C string path, long buttonID, long transition) }
  1055. kActionMovieTrackAddChildMovie = 11264; { (QTAtomID childMovieID, C string childMovieURL) }
  1056. kActionMovieTrackLoadChildMovie = 11265; { (QTAtomID childMovieID) }
  1057. kActionMovieTrackLoadChildMovieWithQTListParams = 11266; { (QTAtomID childMovieID, C string qtlistXML) }
  1058. kActionTextTrackPasteText = 12288; { (C string theText, long startSelection, long endSelection ) }
  1059. kActionTextTrackSetTextBox = 12291; { (short left, short top, short right, short bottom) }
  1060. kActionTextTrackSetTextStyle = 12292; { (Handle textStyle) }
  1061. kActionTextTrackSetSelection = 12293; { (long startSelection, long endSelection ) }
  1062. kActionTextTrackSetBackgroundColor = 12294; { (ModifierTrackGraphicsModeRecord backgroundColor ) }
  1063. kActionTextTrackSetForegroundColor = 12295; { (ModifierTrackGraphicsModeRecord foregroundColor ) }
  1064. kActionTextTrackSetFace = 12296; { (long fontFace ) }
  1065. kActionTextTrackSetFont = 12297; { (long fontID ) }
  1066. kActionTextTrackSetSize = 12298; { (long fontSize ) }
  1067. kActionTextTrackSetAlignment = 12299; { (short alignment ) }
  1068. kActionTextTrackSetHilite = 12300; { (long startHighlight, long endHighlight, ModifierTrackGraphicsModeRecord highlightColor ) }
  1069. kActionTextTrackSetDropShadow = 12301; { (Point dropShadow, short transparency ) }
  1070. kActionTextTrackSetDisplayFlags = 12302; { (long flags ) }
  1071. kActionTextTrackSetScroll = 12303; { (long delay ) }
  1072. kActionTextTrackRelativeScroll = 12304; { (short deltaX, short deltaY ) }
  1073. kActionTextTrackFindText = 12305; { (long flags, Str255 theText, ModifierTrackGraphicsModeRecord highlightColor ) }
  1074. kActionTextTrackSetHyperTextFace = 12306; { (short index, long fontFace ) }
  1075. kActionTextTrackSetHyperTextColor = 12307; { (short index, ModifierTrackGraphicsModeRecord highlightColor ) }
  1076. kActionTextTrackKeyEntry = 12308; { (short character ) }
  1077. kActionTextTrackMouseDown = 12309; { no params }
  1078. kActionTextTrackSetEditable = 12310; { (short editState) }
  1079. kActionListAddElement = 13312; { (C string parentPath, long atIndex, C string newElementName) }
  1080. kActionListRemoveElements = 13313; { (C string parentPath, long startIndex, long endIndex) }
  1081. kActionListSetElementValue = 13314; { (C string elementPath, C string valueString) }
  1082. kActionListPasteFromXML = 13315; { (C string xml, C string targetParentPath, long startIndex) }
  1083. kActionListSetMatchingFromXML = 13316; { (C string xml, C string targetParentPath) }
  1084. kActionListSetFromURL = 13317; { (C string url, C string targetParentPath ) }
  1085. kActionListExchangeLists = 13318; { (C string url, C string parentPath) }
  1086. kActionListServerQuery = 13319; { (C string url, C string keyValuePairs, long flags, C string parentPath) }
  1087. kActionListAddAttribute = 13320; { (C string elementPath, long atIndex, C string newAttributeName) }
  1088. kActionListRemoveAttributes = 13321; { (C string elementPath, long startIndex, long endIndex) }
  1089. kActionListSetAttributeValue = 13322; { (C string elementPath, C string attributeName, C string valueString) }
  1090. const
  1091. kOperandExpression = 1;
  1092. kOperandConstant = 2;
  1093. kOperandSubscribedToChannel = 3; { C string channelsURL }
  1094. kOperandUniqueCustomActionHandlerID = 4;
  1095. kOperandCustomActionHandlerIDIsOpen = 5; { long ID }
  1096. kOperandConnectionSpeed = 6;
  1097. kOperandGMTDay = 7;
  1098. kOperandGMTMonth = 8;
  1099. kOperandGMTYear = 9;
  1100. kOperandGMTHours = 10;
  1101. kOperandGMTMinutes = 11;
  1102. kOperandGMTSeconds = 12;
  1103. kOperandLocalDay = 13;
  1104. kOperandLocalMonth = 14;
  1105. kOperandLocalYear = 15;
  1106. kOperandLocalHours = 16;
  1107. kOperandLocalMinutes = 17;
  1108. kOperandLocalSeconds = 18;
  1109. kOperandRegisteredForQuickTimePro = 19;
  1110. kOperandPlatformRunningOn = 20;
  1111. kOperandQuickTimeVersion = 21;
  1112. kOperandComponentVersion = 22; { C string type, C string subType, C string manufacturer }
  1113. kOperandOriginalHandlerRefcon = 23;
  1114. kOperandTicks = 24;
  1115. kOperandMaxLoadedTimeInMovie = 25;
  1116. kOperandEventParameter = 26; { short index }
  1117. kOperandFreeMemory = 27;
  1118. kOperandNetworkStatus = 28;
  1119. kOperandQuickTimeVersionRegistered = 29; { long version }
  1120. kOperandSystemVersion = 30;
  1121. kOperandMovieVolume = 1024;
  1122. kOperandMovieRate = 1025;
  1123. kOperandMovieIsLooping = 1026;
  1124. kOperandMovieLoopIsPalindrome = 1027;
  1125. kOperandMovieTime = 1028;
  1126. kOperandMovieDuration = 1029;
  1127. kOperandMovieTimeScale = 1030;
  1128. kOperandMovieWidth = 1031;
  1129. kOperandMovieHeight = 1032;
  1130. kOperandMovieLoadState = 1033;
  1131. kOperandMovieTrackCount = 1034;
  1132. kOperandMovieIsActive = 1035;
  1133. kOperandMovieName = 1036;
  1134. kOperandMovieID = 1037;
  1135. kOperandMovieChapterCount = 1038;
  1136. kOperandMovieChapterIndex = 1039;
  1137. kOperandMovieChapterName = 1040;
  1138. kOperandMovieChapterNameByIndex = 1041; { ( short index ) }
  1139. kOperandMovieChapterIndexByName = 1042; { (c string name) }
  1140. kOperandMovieAnnotation = 1043; { (c string requested, long flags) }
  1141. kOperandMovieConnectionFlags = 1044;
  1142. kOperandMovieConnectionString = 1045;
  1143. kOperandTrackVolume = 2048;
  1144. kOperandTrackBalance = 2049;
  1145. kOperandTrackEnabled = 2050;
  1146. kOperandTrackLayer = 2051;
  1147. kOperandTrackWidth = 2052;
  1148. kOperandTrackHeight = 2053;
  1149. kOperandTrackDuration = 2054;
  1150. kOperandTrackName = 2055;
  1151. kOperandTrackID = 2056;
  1152. kOperandTrackIdleFrequency = 2057;
  1153. kOperandTrackBass = 2058;
  1154. kOperandTrackTreble = 2059;
  1155. kOperandSpriteBoundsLeft = 3072;
  1156. kOperandSpriteBoundsTop = 3073;
  1157. kOperandSpriteBoundsRight = 3074;
  1158. kOperandSpriteBoundsBottom = 3075;
  1159. kOperandSpriteImageIndex = 3076;
  1160. kOperandSpriteVisible = 3077;
  1161. kOperandSpriteLayer = 3078;
  1162. kOperandSpriteTrackVariable = 3079; { [QTAtomID variableID] }
  1163. kOperandSpriteTrackNumSprites = 3080;
  1164. kOperandSpriteTrackNumImages = 3081;
  1165. kOperandSpriteID = 3082;
  1166. kOperandSpriteIndex = 3083;
  1167. kOperandSpriteFirstCornerX = 3084;
  1168. kOperandSpriteFirstCornerY = 3085;
  1169. kOperandSpriteSecondCornerX = 3086;
  1170. kOperandSpriteSecondCornerY = 3087;
  1171. kOperandSpriteThirdCornerX = 3088;
  1172. kOperandSpriteThirdCornerY = 3089;
  1173. kOperandSpriteFourthCornerX = 3090;
  1174. kOperandSpriteFourthCornerY = 3091;
  1175. kOperandSpriteImageRegistrationPointX = 3092;
  1176. kOperandSpriteImageRegistrationPointY = 3093;
  1177. kOperandSpriteTrackSpriteIDAtPoint = 3094; { short x, short y }
  1178. kOperandSpriteName = 3095;
  1179. kOperandSpriteCanBeHitTested = 3105; { short }
  1180. kOperandSpriteTrackAllSpritesHitTestingMode = 3106;
  1181. kOperandSpriteTrackImageIDByIndex = 3107; { short imageIndex }
  1182. kOperandSpriteTrackImageIndexByID = 3108; { QTAtomID }
  1183. kOperandQTVRPanAngle = 4096;
  1184. kOperandQTVRTiltAngle = 4097;
  1185. kOperandQTVRFieldOfView = 4098;
  1186. kOperandQTVRNodeID = 4099;
  1187. kOperandQTVRHotSpotsVisible = 4100;
  1188. kOperandQTVRViewCenterH = 4101;
  1189. kOperandQTVRViewCenterV = 4102;
  1190. kOperandQTVRViewStateCount = 4103;
  1191. kOperandQTVRViewState = 4104; { long viewStateType }
  1192. kOperandMouseLocalHLoc = 5120; { [TargetAtoms aTrack] }
  1193. kOperandMouseLocalVLoc = 5121; { [TargetAtoms aTrack] }
  1194. kOperandKeyIsDown = 5122; { [short modKeys, char asciiValue] }
  1195. kOperandRandom = 5123; { [short min, short max] }
  1196. kOperandCanHaveFocus = 5124; { [(TargetAtoms theObject)] }
  1197. kOperandHasFocus = 5125; { [(TargetAtoms theObject)] }
  1198. kOperandTextTrackEditable = 6144;
  1199. kOperandTextTrackCopyText = 6145; { long startSelection, long endSelection }
  1200. kOperandTextTrackStartSelection = 6146;
  1201. kOperandTextTrackEndSelection = 6147;
  1202. kOperandTextTrackTextBoxLeft = 6148;
  1203. kOperandTextTrackTextBoxTop = 6149;
  1204. kOperandTextTrackTextBoxRight = 6150;
  1205. kOperandTextTrackTextBoxBottom = 6151;
  1206. kOperandTextTrackTextLength = 6152;
  1207. kOperandListCountElements = 7168; { (C string parentPath) }
  1208. kOperandListGetElementPathByIndex = 7169; { (C string parentPath, long index) }
  1209. kOperandListGetElementValue = 7170; { (C string elementPath) }
  1210. kOperandListCopyToXML = 7171; { (C string parentPath, long startIndex, long endIndex) }
  1211. kOperandListCountAttributes = 7172; { (C string elementPath) }
  1212. kOperandListGetAttributeNameByIndex = 7173; { (C string elementPath, long index) }
  1213. kOperandListGetAttributeValue = 7174; { (C string elementPath, C string attributeName) }
  1214. kOperandSin = 8192; { float x }
  1215. kOperandCos = 8193; { float x }
  1216. kOperandTan = 8194; { float x }
  1217. kOperandATan = 8195; { float x }
  1218. kOperandATan2 = 8196; { float y, float x }
  1219. kOperandDegreesToRadians = 8197; { float x }
  1220. kOperandRadiansToDegrees = 8198; { float x }
  1221. kOperandSquareRoot = 8199; { float x }
  1222. kOperandExponent = 8200; { float x }
  1223. kOperandLog = 8201; { float x }
  1224. kOperandFlashTrackVariable = 9216; { [CString path, CString name] }
  1225. kOperandStringLength = 10240; { (C string text) }
  1226. kOperandStringCompare = 10241; { (C string aText, C string bText, Boolean caseSensitive, Boolan diacSensitive) }
  1227. kOperandStringSubString = 10242; { (C string text, long offset, long length) }
  1228. kOperandStringConcat = 10243; { (C string aText, C string bText) }
  1229. const
  1230. kFirstMovieAction = kActionMovieSetVolume;
  1231. kLastMovieAction = kActionMovieSetScale;
  1232. kFirstTrackAction = kActionTrackSetVolume;
  1233. kLastTrackAction = kActionTrackSetBassTreble;
  1234. kFirstSpriteAction = kActionSpriteSetMatrix;
  1235. kLastSpriteAction = kActionSpriteSetCanBeHitTested;
  1236. kFirstQTVRAction = kActionQTVRSetPanAngle;
  1237. kLastQTVRAction = kActionQTVRSetViewState;
  1238. kFirstMusicAction = kActionMusicPlayNote;
  1239. kLastMusicAction = kActionMusicSetController;
  1240. kFirstSystemAction = kActionCase;
  1241. kLastSystemAction = kActionSetRandomSeed;
  1242. kFirstSpriteTrackAction = kActionSpriteTrackSetVariable;
  1243. kLastSpriteTrackAction = kActionSpriteTrackDisposeImage;
  1244. kFirstApplicationAction = kActionApplicationNumberAndString;
  1245. kLastApplicationAction = kActionApplicationNumberAndString;
  1246. kFirstQD3DNamedObjectAction = kActionQD3DNamedObjectTranslateTo;
  1247. kLastQD3DNamedObjectAction = kActionQD3DNamedObjectRotateTo;
  1248. kFirstFlashTrackAction = kActionFlashTrackSetPan;
  1249. kLastFlashTrackAction = kActionFlashTrackDoButtonActions;
  1250. kFirstMovieTrackAction = kActionMovieTrackAddChildMovie;
  1251. kLastMovieTrackAction = kActionMovieTrackLoadChildMovieWithQTListParams;
  1252. kFirstTextTrackAction = kActionTextTrackPasteText;
  1253. kLastTextTrackAction = kActionTextTrackSetEditable;
  1254. kFirstMultiTargetAction = kActionListAddElement;
  1255. kLastMultiTargetAction = kActionListSetAttributeValue;
  1256. kFirstAction = kFirstMovieAction;
  1257. kLastAction = kLastMultiTargetAction;
  1258. { target atom types}
  1259. const
  1260. kTargetMovie = FourCharCode('moov'); { no data }
  1261. kTargetMovieName = FourCharCode('mona'); { (PString movieName) }
  1262. kTargetMovieID = FourCharCode('moid'); { (long movieID) }
  1263. kTargetRootMovie = FourCharCode('moro'); { no data }
  1264. kTargetParentMovie = FourCharCode('mopa'); { no data }
  1265. kTargetChildMovieTrackName = FourCharCode('motn'); { (PString childMovieTrackName) }
  1266. kTargetChildMovieTrackID = FourCharCode('moti'); { (long childMovieTrackID) }
  1267. kTargetChildMovieTrackIndex = FourCharCode('motx'); { (long childMovieTrackIndex) }
  1268. kTargetChildMovieMovieName = FourCharCode('momn'); { (PString childMovieName) }
  1269. kTargetChildMovieMovieID = FourCharCode('momi'); { (long childMovieID) }
  1270. kTargetTrackName = FourCharCode('trna'); { (PString trackName) }
  1271. kTargetTrackID = FourCharCode('trid'); { (long trackID) }
  1272. kTargetTrackType = FourCharCode('trty'); { (OSType trackType) }
  1273. kTargetTrackIndex = FourCharCode('trin'); { (long trackIndex) }
  1274. kTargetSpriteName = FourCharCode('spna'); { (PString spriteName) }
  1275. kTargetSpriteID = FourCharCode('spid'); { (QTAtomID spriteID) }
  1276. kTargetSpriteIndex = FourCharCode('spin'); { (short spriteIndex) }
  1277. kTargetQD3DNamedObjectName = FourCharCode('nana'); { (CString objectName) }
  1278. kTargetCurrentQTEventParams = FourCharCode('evpa'); { no data }
  1279. { action container atom types}
  1280. const
  1281. kQTEventType = FourCharCode('evnt');
  1282. kAction = FourCharCode('actn');
  1283. kWhichAction = FourCharCode('whic');
  1284. kActionParameter = FourCharCode('parm');
  1285. kActionTarget = FourCharCode('targ');
  1286. kActionFlags = FourCharCode('flag');
  1287. kActionParameterMinValue = FourCharCode('minv');
  1288. kActionParameterMaxValue = FourCharCode('maxv');
  1289. kActionListAtomType = FourCharCode('list');
  1290. kExpressionContainerAtomType = FourCharCode('expr');
  1291. kConditionalAtomType = FourCharCode('test');
  1292. kOperatorAtomType = FourCharCode('oper');
  1293. kOperandAtomType = FourCharCode('oprn');
  1294. kCommentAtomType = FourCharCode('why ');
  1295. kCustomActionHandler = FourCharCode('cust');
  1296. kCustomHandlerID = FourCharCode('id ');
  1297. kCustomHandlerDesc = FourCharCode('desc');
  1298. kQTEventRecordAtomType = FourCharCode('erec');
  1299. { QTEvent types }
  1300. const
  1301. kQTEventMouseClick = FourCharCode('clik');
  1302. kQTEventMouseClickEnd = FourCharCode('cend');
  1303. kQTEventMouseClickEndTriggerButton = FourCharCode('trig');
  1304. kQTEventMouseEnter = FourCharCode('entr');
  1305. kQTEventMouseExit = FourCharCode('exit');
  1306. kQTEventMouseMoved = FourCharCode('move');
  1307. kQTEventFrameLoaded = FourCharCode('fram');
  1308. kQTEventIdle = FourCharCode('idle');
  1309. kQTEventKey = FourCharCode('key '); { qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode }
  1310. kQTEventMovieLoaded = FourCharCode('load');
  1311. kQTEventRequestToModifyMovie = FourCharCode('reqm');
  1312. kQTEventListReceived = FourCharCode('list');
  1313. kQTEventKeyUp = FourCharCode('keyU'); { qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode }
  1314. { flags for the kActionFlags atom }
  1315. const
  1316. kActionFlagActionIsDelta = 1 shl 1;
  1317. kActionFlagParameterWrapsAround = 1 shl 2;
  1318. kActionFlagActionIsToggle = 1 shl 3;
  1319. { flags for stringTypeFlags field of the QTStatusStringRecord }
  1320. const
  1321. kStatusStringIsURLLink = 1 shl 1;
  1322. kStatusStringIsStreamingStatus = 1 shl 2;
  1323. kStatusHasCodeNumber = 1 shl 3; { high 16 bits of stringTypeFlags is error code number}
  1324. kStatusIsError = 1 shl 4;
  1325. { flags for scriptTypeFlags field of the QTDoScriptRecord}
  1326. const
  1327. kScriptIsUnknownType = 1 shl 0;
  1328. kScriptIsJavaScript = 1 shl 1;
  1329. kScriptIsLingoEvent = 1 shl 2;
  1330. kScriptIsVBEvent = 1 shl 3;
  1331. kScriptIsProjectorCommand = 1 shl 4;
  1332. kScriptIsAppleScript = 1 shl 5;
  1333. { flags for CheckQuickTimeRegistration routine}
  1334. const
  1335. kQTRegistrationDialogTimeOutFlag = 1 shl 0;
  1336. kQTRegistrationDialogShowDialog = 1 shl 1;
  1337. kQTRegistrationDialogForceDialog = 1 shl 2;
  1338. { constants for kOperatorAtomType IDs (operator types)}
  1339. const
  1340. kOperatorAdd = FourCharCode('add ');
  1341. kOperatorSubtract = FourCharCode('sub ');
  1342. kOperatorMultiply = FourCharCode('mult');
  1343. kOperatorDivide = FourCharCode('div ');
  1344. kOperatorOr = FourCharCode('or ');
  1345. kOperatorAnd = FourCharCode('and ');
  1346. kOperatorNot = FourCharCode('not ');
  1347. kOperatorLessThan = FourCharCode('< ');
  1348. kOperatorLessThanEqualTo = FourCharCode('<= ');
  1349. kOperatorEqualTo = FourCharCode('= ');
  1350. kOperatorNotEqualTo = FourCharCode('!= ');
  1351. kOperatorGreaterThan = FourCharCode('> ');
  1352. kOperatorGreaterThanEqualTo = FourCharCode('>= ');
  1353. kOperatorModulo = FourCharCode('mod ');
  1354. kOperatorIntegerDivide = FourCharCode('idiv');
  1355. kOperatorAbsoluteValue = FourCharCode('abs ');
  1356. kOperatorNegate = FourCharCode('neg ');
  1357. { constants for kOperandPlatformRunningOn}
  1358. const
  1359. kPlatformMacintosh = 1;
  1360. kPlatformWindows = 2;
  1361. { flags for kOperandSystemVersion}
  1362. const
  1363. kSystemIsWindows9x = $00010000;
  1364. kSystemIsWindowsNT = $00020000;
  1365. kSystemIsClassicBlueBox = $00040000;
  1366. { constants for MediaPropertiesAtom}
  1367. const
  1368. kMediaPropertyNonLinearAtomType = FourCharCode('nonl');
  1369. kMediaPropertyHasActions = 105;
  1370. { TimeBase and TimeRecord moved to MacTypes.h }
  1371. type
  1372. TimeBaseFlags = UInt32;
  1373. const
  1374. loopTimeBase = 1;
  1375. palindromeLoopTimeBase = 2;
  1376. maintainTimeBaseZero = 4;
  1377. { CallBack equates }
  1378. type
  1379. QTCallBackFlags = UInt16;
  1380. const
  1381. triggerTimeFwd = $0001; { when curTime exceeds triggerTime going forward }
  1382. triggerTimeBwd = $0002; { when curTime exceeds triggerTime going backwards }
  1383. triggerTimeEither = $0003; { when curTime exceeds triggerTime going either direction }
  1384. triggerRateLT = $0004; { when rate changes to less than trigger value }
  1385. triggerRateGT = $0008; { when rate changes to greater than trigger value }
  1386. triggerRateEqual = $0010; { when rate changes to equal trigger value }
  1387. triggerRateLTE = triggerRateLT or triggerRateEqual;
  1388. triggerRateGTE = triggerRateGT or triggerRateEqual;
  1389. triggerRateNotEqual = triggerRateGT or triggerRateEqual or triggerRateLT;
  1390. triggerRateChange = 0;
  1391. triggerAtStart = $0001;
  1392. triggerAtStop = $0002;
  1393. type
  1394. TimeBaseStatus = UInt32;
  1395. const
  1396. timeBaseBeforeStartTime = 1;
  1397. timeBaseAfterStopTime = 2;
  1398. timeBaseRateChanging = 4;
  1399. type
  1400. QTCallBackType = UInt16;
  1401. const
  1402. callBackAtTime = 1;
  1403. callBackAtRate = 2;
  1404. callBackAtTimeJump = 3;
  1405. callBackAtExtremes = 4;
  1406. callBackAtTimeBaseDisposed = 5;
  1407. callBackAtInterrupt = $8000;
  1408. callBackAtDeferredTask = $4000;
  1409. type
  1410. QTCallBack = ^QTCallBackOpaqueHeader;
  1411. QTCallBackProcPtr = procedure( cb: QTCallBack; refCon: SIGNEDLONG );
  1412. QTCallBackUPP = QTCallBackProcPtr;
  1413. QTCallBackOpaqueHeaderPtr = ^QTCallBackOpaqueHeader;
  1414. QTCallBackOpaqueHeader = record
  1415. callBackFlags: SIGNEDLONG;
  1416. reserved1: SIGNEDLONG;
  1417. qtPrivate: array [0..51] of SInt8;
  1418. end;
  1419. const
  1420. qtcbNeedsRateChanges = 1; { wants to know about rate changes }
  1421. qtcbNeedsTimeChanges = 2; { wants to know about time changes }
  1422. qtcbNeedsStartStopChanges = 4; { wants to know when TimeBase start/stop is changed}
  1423. type
  1424. QTSyncTaskProcPtr = procedure( task: UnivPtr );
  1425. QTSyncTaskUPP = QTSyncTaskProcPtr;
  1426. QTSyncTaskRecordPtr = ^QTSyncTaskRecord;
  1427. QTSyncTaskRecord = record
  1428. qLink: UnivPtr;
  1429. proc: QTSyncTaskUPP;
  1430. end;
  1431. type
  1432. QTSyncTaskPtr = QTSyncTaskRecordPtr;
  1433. type
  1434. MovieRgnCoverProcPtr = function( theMovie: Movie; changedRgn: RgnHandle; refcon: SIGNEDLONG ): OSErr;
  1435. MovieProgressProcPtr = function( theMovie: Movie; message: SInt16; whatOperation: SInt16; percentDone: Fixed; refcon: SIGNEDLONG ): OSErr;
  1436. MovieDrawingCompleteProcPtr = function( theMovie: Movie; refCon: SIGNEDLONG ): OSErr;
  1437. TrackTransferProcPtr = function( t: Track; refCon: SIGNEDLONG ): OSErr;
  1438. GetMovieProcPtr = function( offset: SIGNEDLONG; size: SIGNEDLONG; dataPtr: UnivPtr; refCon: UnivPtr ): OSErr;
  1439. MoviePreviewCallOutProcPtr = function( refcon: SIGNEDLONG ): Boolean;
  1440. TextMediaProcPtr = function( theText: Handle; theMovie: Movie; var displayFlag: SInt16; refcon: SIGNEDLONG ): OSErr;
  1441. ActionsProcPtr = function( refcon: UnivPtr; targetTrack: Track; targetRefCon: SIGNEDLONG; theEvent: QTEventRecordPtr ): OSErr;
  1442. DoMCActionProcPtr = function( refcon: UnivPtr; action: SInt16; params: UnivPtr; var handled: Boolean ): OSErr;
  1443. MovieExecuteWiredActionsProcPtr = function( theMovie: Movie; refcon: UnivPtr; flags: SIGNEDLONG; wiredActions: QTAtomContainer ): OSErr;
  1444. MoviePrePrerollCompleteProcPtr = procedure( theMovie: Movie; prerollErr: OSErr; refcon: UnivPtr );
  1445. QTNextTaskNeededSoonerCallbackProcPtr = procedure( duration: TimeValue; flags: UNSIGNEDLONG; refcon: UnivPtr );
  1446. MoviesErrorProcPtr = procedure( theErr: OSErr; refcon: SIGNEDLONG );
  1447. MovieRgnCoverUPP = MovieRgnCoverProcPtr;
  1448. MovieProgressUPP = MovieProgressProcPtr;
  1449. MovieDrawingCompleteUPP = MovieDrawingCompleteProcPtr;
  1450. TrackTransferUPP = TrackTransferProcPtr;
  1451. GetMovieUPP = GetMovieProcPtr;
  1452. MoviePreviewCallOutUPP = MoviePreviewCallOutProcPtr;
  1453. TextMediaUPP = TextMediaProcPtr;
  1454. ActionsUPP = ActionsProcPtr;
  1455. DoMCActionUPP = DoMCActionProcPtr;
  1456. MovieExecuteWiredActionsUPP = MovieExecuteWiredActionsProcPtr;
  1457. MoviePrePrerollCompleteUPP = MoviePrePrerollCompleteProcPtr;
  1458. QTNextTaskNeededSoonerCallbackUPP = QTNextTaskNeededSoonerCallbackProcPtr;
  1459. MoviesErrorUPP = MoviesErrorProcPtr;
  1460. MediaHandler = ComponentInstance;
  1461. DataHandler = ComponentInstance;
  1462. MediaHandlerComponent = Component;
  1463. DataHandlerComponent = Component;
  1464. HandlerError = ComponentResult;
  1465. const
  1466. keepInRam = 1 shl 0; { load and make non-purgable}
  1467. unkeepInRam = 1 shl 1; { mark as purgable}
  1468. flushFromRam = 1 shl 2; { empty those handles}
  1469. loadForwardTrackEdits = 1 shl 3; { load track edits into ram for playing forward}
  1470. loadBackwardTrackEdits = 1 shl 4; { load track edits into ram for playing in reverse}
  1471. const
  1472. newMovieActive = 1 shl 0;
  1473. newMovieDontResolveDataRefs = 1 shl 1;
  1474. newMovieDontAskUnresolvedDataRefs = 1 shl 2;
  1475. newMovieDontAutoAlternates = 1 shl 3;
  1476. newMovieDontUpdateForeBackPointers = 1 shl 4;
  1477. newMovieDontAutoUpdateClock = 1 shl 5;
  1478. newMovieAsyncOK = 1 shl 8;
  1479. newMovieIdleImportOK = 1 shl 10;
  1480. newMovieDontInteractWithUser = 1 shl 11;
  1481. { track usage bits }
  1482. const
  1483. trackUsageInMovie = 1 shl 1;
  1484. trackUsageInPreview = 1 shl 2;
  1485. trackUsageInPoster = 1 shl 3;
  1486. {$endc} {not TARGET_CPU_64}
  1487. { Add/GetMediaSample flags }
  1488. const
  1489. mediaSampleNotSync = 1 shl 0; { sample is not a sync sample (eg. is frame differenced }
  1490. mediaSampleShadowSync = 1 shl 1; { sample is a shadow sync }
  1491. mediaSampleDroppable = 1 shl 27; { sample is not required to be decoded for later samples to be decoded properly }
  1492. mediaSamplePartialSync = 1 shl 16; { sample is a partial sync (e.g., I frame after open GOP) }
  1493. mediaSampleHasRedundantCoding = 1 shl 24; { sample is known to contain redundant coding }
  1494. mediaSampleHasNoRedundantCoding = 1 shl 25; { sample is known not to contain redundant coding }
  1495. mediaSampleIsDependedOnByOthers = 1 shl 26; { one or more other samples depend upon the decode of this sample }
  1496. mediaSampleIsNotDependedOnByOthers = 1 shl 27; { synonym for mediaSampleDroppable }
  1497. mediaSampleDependsOnOthers = 1 shl 28; { sample's decode depends upon decode of other samples }
  1498. mediaSampleDoesNotDependOnOthers = 1 shl 29; { sample's decode does not depend upon decode of other samples }
  1499. mediaSampleEarlierDisplayTimesAllowed = 1 shl 30; { samples later in decode order may have earlier display times }
  1500. {$ifc not TARGET_CPU_64}
  1501. {
  1502. MediaSampleFlags is defined in ImageCompression.h:
  1503. typedef UInt32 MediaSampleFlags;
  1504. }
  1505. const
  1506. pasteInParallel = 1 shl 0;
  1507. showUserSettingsDialog = 1 shl 1;
  1508. movieToFileOnlyExport = 1 shl 2;
  1509. movieFileSpecValid = 1 shl 3;
  1510. const
  1511. nextTimeMediaSample = 1 shl 0;
  1512. nextTimeMediaEdit = 1 shl 1;
  1513. nextTimeTrackEdit = 1 shl 2;
  1514. nextTimeSyncSample = 1 shl 3;
  1515. nextTimeStep = 1 shl 4;
  1516. nextTimePartialSyncSample = 1 shl 5;
  1517. nextTimeEdgeOK = 1 shl 14;
  1518. nextTimeIgnoreActiveSegment = 1 shl 15;
  1519. type
  1520. nextTimeFlagsEnum = UInt16;
  1521. const
  1522. createMovieFileDeleteCurFile = 1 shl 31;
  1523. createMovieFileDontCreateMovie = 1 shl 30;
  1524. createMovieFileDontOpenFile = 1 shl 29;
  1525. createMovieFileDontCreateResFile = 1 shl 28;
  1526. type
  1527. createMovieFileFlagsEnum = UNSIGNEDLONG;
  1528. const
  1529. flattenAddMovieToDataFork = 1 shl 0;
  1530. flattenActiveTracksOnly = 1 shl 2;
  1531. flattenDontInterleaveFlatten = 1 shl 3;
  1532. flattenFSSpecPtrIsDataRefRecordPtr = 1 shl 4;
  1533. flattenCompressMovieResource = 1 shl 5;
  1534. flattenForceMovieResourceBeforeMovieData = 1 shl 6;
  1535. type
  1536. movieFlattenFlagsEnum = UNSIGNEDLONG;
  1537. const
  1538. movieInDataForkResID = -1; { magic res ID }
  1539. const
  1540. mcTopLeftMovie = 1 shl 0; { usually centered }
  1541. mcScaleMovieToFit = 1 shl 1; { usually only scales down }
  1542. mcWithBadge = 1 shl 2; { give me a badge }
  1543. mcNotVisible = 1 shl 3; { don't show controller }
  1544. mcWithFrame = 1 shl 4; { gimme a frame }
  1545. const
  1546. movieScrapDontZeroScrap = 1 shl 0;
  1547. movieScrapOnlyPutMovie = 1 shl 1;
  1548. const
  1549. dataRefSelfReference = 1 shl 0;
  1550. dataRefWasNotResolved = 1 shl 1;
  1551. type
  1552. dataRefAttributesFlags = UNSIGNEDLONG;
  1553. const
  1554. kMovieAnchorDataRefIsDefault = 1 shl 0; { data ref returned is movie default data ref }
  1555. const
  1556. hintsScrubMode = 1 shl 0; { mask == && (if flags == scrub on, flags != scrub off) }
  1557. hintsLoop = 1 shl 1;
  1558. hintsDontPurge = 1 shl 2;
  1559. hintsUseScreenBuffer = 1 shl 5;
  1560. hintsAllowInterlace = 1 shl 6;
  1561. hintsUseSoundInterp = 1 shl 7;
  1562. hintsHighQuality = 1 shl 8; { slooooow }
  1563. hintsPalindrome = 1 shl 9;
  1564. hintsInactive = 1 shl 11;
  1565. hintsOffscreen = 1 shl 12;
  1566. hintsDontDraw = 1 shl 13;
  1567. hintsAllowBlacklining = 1 shl 14;
  1568. hintsDontUseVideoOverlaySurface = 1 shl 16;
  1569. hintsIgnoreBandwidthRestrictions = 1 shl 17;
  1570. hintsPlayingEveryFrame = 1 shl 18;
  1571. hintsAllowDynamicResize = 1 shl 19;
  1572. hintsSingleField = 1 shl 20;
  1573. hintsNoRenderingTimeOut = 1 shl 21;
  1574. hintsFlushVideoInsteadOfDirtying = 1 shl 22;
  1575. hintsEnableSubPixelPositioning = 1 shl 23;
  1576. hintsRenderingMode = 1 shl 24;
  1577. hintsAllowIdleSleep = 1 shl 25; { asks media handlers not to call UpdateSystemActivity etc }
  1578. hintsDeinterlaceFields = 1 shl 26;
  1579. type
  1580. playHintsEnum = UNSIGNEDLONG;
  1581. const
  1582. mediaHandlerFlagBaseClient = 1;
  1583. type
  1584. mediaHandlerFlagsEnum = UNSIGNEDLONG;
  1585. const
  1586. movieTrackMediaType = 1 shl 0;
  1587. movieTrackCharacteristic = 1 shl 1;
  1588. movieTrackEnabledOnly = 1 shl 2;
  1589. {
  1590. Opaque replacement for SampleReferenceRecord/SampleReference64Record arrays able to carry information
  1591. not described in those arrays of those records
  1592. }
  1593. type
  1594. QTSampleTableRef = ^SInt32; { an opaque type }
  1595. QTMutableSampleTableRef = ^SInt32; { an opaque type }
  1596. SampleReferenceRecordPtr = ^SampleReferenceRecord;
  1597. SampleReferenceRecord = record
  1598. dataOffset: SIGNEDLONG;
  1599. dataSize: SIGNEDLONG;
  1600. durationPerSample: TimeValue;
  1601. numberOfSamples: SIGNEDLONG;
  1602. sampleFlags: SInt16;
  1603. end;
  1604. type
  1605. SampleReferencePtr = SampleReferenceRecordPtr;
  1606. SampleReference64RecordPtr = ^SampleReference64Record;
  1607. SampleReference64Record = record
  1608. dataOffset: wide;
  1609. dataSize: UNSIGNEDLONG;
  1610. durationPerSample: TimeValue;
  1611. numberOfSamples: UNSIGNEDLONG;
  1612. sampleFlags: SInt16;
  1613. end;
  1614. type
  1615. SampleReference64Ptr = SampleReference64RecordPtr;
  1616. {************************
  1617. * Initialization Routines
  1618. *************************}
  1619. {
  1620. * CheckQuickTimeRegistration()
  1621. *
  1622. * Availability:
  1623. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1624. * CarbonLib: in CarbonLib 1.1 and later
  1625. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  1626. * Windows: in qtmlClient.lib 3.0 and later
  1627. }
  1628. procedure CheckQuickTimeRegistration( registrationKey: UnivPtr; flags: SIGNEDLONG ); external name '_CheckQuickTimeRegistration';
  1629. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1630. {
  1631. * EnterMovies()
  1632. *
  1633. * Availability:
  1634. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1635. * CarbonLib: in CarbonLib 1.0 and later
  1636. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1637. * Windows: in qtmlClient.lib 3.0 and later
  1638. }
  1639. function EnterMovies: OSErr; external name '_EnterMovies';
  1640. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1641. {
  1642. * ExitMovies()
  1643. *
  1644. * Availability:
  1645. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1646. * CarbonLib: in CarbonLib 1.0 and later
  1647. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1648. * Windows: in qtmlClient.lib 3.0 and later
  1649. }
  1650. procedure ExitMovies; external name '_ExitMovies';
  1651. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1652. const
  1653. kQTEnterMoviesFlagDontSetComponentsThreadMode = 1 shl 0;
  1654. {
  1655. * EnterMoviesOnThread()
  1656. *
  1657. * Availability:
  1658. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  1659. * CarbonLib: not available
  1660. * Non-Carbon CFM: not available
  1661. }
  1662. function EnterMoviesOnThread( inFlags: UInt32 ): OSErr; external name '_EnterMoviesOnThread';
  1663. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  1664. {
  1665. * ExitMoviesOnThread()
  1666. *
  1667. * Availability:
  1668. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  1669. * CarbonLib: not available
  1670. * Non-Carbon CFM: not available
  1671. }
  1672. function ExitMoviesOnThread: OSErr; external name '_ExitMoviesOnThread';
  1673. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  1674. {************************
  1675. * Error Routines
  1676. *************************}
  1677. {
  1678. * GetMoviesError()
  1679. *
  1680. * Availability:
  1681. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1682. * CarbonLib: in CarbonLib 1.0 and later
  1683. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1684. * Windows: in qtmlClient.lib 3.0 and later
  1685. }
  1686. function GetMoviesError: OSErr; external name '_GetMoviesError';
  1687. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1688. {
  1689. * ClearMoviesStickyError()
  1690. *
  1691. * Availability:
  1692. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1693. * CarbonLib: in CarbonLib 1.0 and later
  1694. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1695. * Windows: in qtmlClient.lib 3.0 and later
  1696. }
  1697. procedure ClearMoviesStickyError; external name '_ClearMoviesStickyError';
  1698. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1699. {
  1700. * GetMoviesStickyError()
  1701. *
  1702. * Availability:
  1703. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1704. * CarbonLib: in CarbonLib 1.0 and later
  1705. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1706. * Windows: in qtmlClient.lib 3.0 and later
  1707. }
  1708. function GetMoviesStickyError: OSErr; external name '_GetMoviesStickyError';
  1709. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1710. {
  1711. * SetMoviesErrorProc()
  1712. *
  1713. * Availability:
  1714. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1715. * CarbonLib: in CarbonLib 1.0 and later
  1716. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1717. * Windows: in qtmlClient.lib 3.0 and later
  1718. }
  1719. procedure SetMoviesErrorProc( errProc: MoviesErrorUPP; refcon: SIGNEDLONG ); external name '_SetMoviesErrorProc';
  1720. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1721. {************************
  1722. * Idle Routines
  1723. *************************}
  1724. {
  1725. * MoviesTask()
  1726. *
  1727. * Availability:
  1728. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1729. * CarbonLib: in CarbonLib 1.0 and later
  1730. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1731. * Windows: in qtmlClient.lib 3.0 and later
  1732. }
  1733. procedure MoviesTask( theMovie: Movie; maxMilliSecToUse: SIGNEDLONG ); external name '_MoviesTask';
  1734. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1735. {
  1736. * PrerollMovie()
  1737. *
  1738. * Availability:
  1739. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1740. * CarbonLib: in CarbonLib 1.0 and later
  1741. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1742. * Windows: in qtmlClient.lib 3.0 and later
  1743. }
  1744. function PrerollMovie( theMovie: Movie; time: TimeValue; Rate: Fixed ): OSErr; external name '_PrerollMovie';
  1745. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1746. {
  1747. * PrePrerollMovie()
  1748. *
  1749. * Availability:
  1750. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1751. * CarbonLib: in CarbonLib 1.0.2 and later
  1752. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  1753. * Windows: in qtmlClient.lib 4.0 and later
  1754. }
  1755. function PrePrerollMovie( m: Movie; time: TimeValue; rate: Fixed; proc: MoviePrePrerollCompleteUPP; refcon: UnivPtr ): OSErr; external name '_PrePrerollMovie';
  1756. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1757. {
  1758. * AbortPrePrerollMovie()
  1759. *
  1760. * Availability:
  1761. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1762. * CarbonLib: in CarbonLib 1.0.2 and later
  1763. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  1764. * Windows: in qtmlClient.lib 4.0 and later
  1765. }
  1766. procedure AbortPrePrerollMovie( m: Movie; err: OSErr ); external name '_AbortPrePrerollMovie';
  1767. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1768. {
  1769. * LoadMovieIntoRam()
  1770. *
  1771. * Availability:
  1772. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1773. * CarbonLib: in CarbonLib 1.0 and later
  1774. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1775. * Windows: in qtmlClient.lib 3.0 and later
  1776. }
  1777. function LoadMovieIntoRam( theMovie: Movie; time: TimeValue; duration: TimeValue; flags: SIGNEDLONG ): OSErr; external name '_LoadMovieIntoRam';
  1778. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1779. {
  1780. * LoadTrackIntoRam()
  1781. *
  1782. * Availability:
  1783. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1784. * CarbonLib: in CarbonLib 1.0 and later
  1785. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1786. * Windows: in qtmlClient.lib 3.0 and later
  1787. }
  1788. function LoadTrackIntoRam( theTrack: Track; time: TimeValue; duration: TimeValue; flags: SIGNEDLONG ): OSErr; external name '_LoadTrackIntoRam';
  1789. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1790. {
  1791. * LoadMediaIntoRam()
  1792. *
  1793. * Availability:
  1794. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1795. * CarbonLib: in CarbonLib 1.0 and later
  1796. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1797. * Windows: in qtmlClient.lib 3.0 and later
  1798. }
  1799. function LoadMediaIntoRam( theMedia: Media; time: TimeValue; duration: TimeValue; flags: SIGNEDLONG ): OSErr; external name '_LoadMediaIntoRam';
  1800. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1801. {
  1802. * SetMovieActive()
  1803. *
  1804. * Availability:
  1805. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1806. * CarbonLib: in CarbonLib 1.0 and later
  1807. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1808. * Windows: in qtmlClient.lib 3.0 and later
  1809. }
  1810. procedure SetMovieActive( theMovie: Movie; active: Boolean ); external name '_SetMovieActive';
  1811. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1812. {
  1813. * GetMovieActive()
  1814. *
  1815. * Availability:
  1816. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1817. * CarbonLib: in CarbonLib 1.0 and later
  1818. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1819. * Windows: in qtmlClient.lib 3.0 and later
  1820. }
  1821. function GetMovieActive( theMovie: Movie ): Boolean; external name '_GetMovieActive';
  1822. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1823. {
  1824. * QTGetWallClockTimeBase()
  1825. *
  1826. * Availability:
  1827. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1828. * CarbonLib: in CarbonLib 1.6 and later
  1829. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1830. * Windows: in qtmlClient.lib 6.0 and later
  1831. }
  1832. function QTGetWallClockTimeBase( var wallClockTimeBase: TimeBase ): OSErr; external name '_QTGetWallClockTimeBase';
  1833. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1834. {************************
  1835. * Idle Management
  1836. *************************}
  1837. type
  1838. IdleManager = ^OpaqueIdleManager; { an opaque type }
  1839. OpaqueIdleManager = record end;
  1840. {
  1841. * QTIdleManagerOpen()
  1842. *
  1843. * Availability:
  1844. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1845. * CarbonLib: in CarbonLib 1.6 and later
  1846. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1847. * Windows: in qtmlClient.lib 6.0 and later
  1848. }
  1849. function QTIdleManagerOpen: IdleManager; external name '_QTIdleManagerOpen';
  1850. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1851. {
  1852. * QTIdleManagerClose()
  1853. *
  1854. * Availability:
  1855. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1856. * CarbonLib: in CarbonLib 1.6 and later
  1857. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1858. * Windows: in qtmlClient.lib 6.0 and later
  1859. }
  1860. function QTIdleManagerClose( im: IdleManager ): OSErr; external name '_QTIdleManagerClose';
  1861. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1862. {
  1863. * QTIdleManagerGetNextIdleTime()
  1864. *
  1865. * Availability:
  1866. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1867. * CarbonLib: in CarbonLib 1.6 and later
  1868. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1869. * Windows: in qtmlClient.lib 6.0 and later
  1870. }
  1871. function QTIdleManagerGetNextIdleTime( im: IdleManager; var nextIdle: TimeRecord ): OSErr; external name '_QTIdleManagerGetNextIdleTime';
  1872. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1873. {
  1874. * QTIdleManagerSetNextIdleTime()
  1875. *
  1876. * Availability:
  1877. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1878. * CarbonLib: in CarbonLib 1.6 and later
  1879. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1880. * Windows: in qtmlClient.lib 6.0 and later
  1881. }
  1882. function QTIdleManagerSetNextIdleTime( im: IdleManager; var nextIdle: TimeRecord ): OSErr; external name '_QTIdleManagerSetNextIdleTime';
  1883. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1884. {
  1885. * QTIdleManagerSetNextIdleTimeNever()
  1886. *
  1887. * Availability:
  1888. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1889. * CarbonLib: in CarbonLib 1.6 and later
  1890. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1891. * Windows: in qtmlClient.lib 6.0 and later
  1892. }
  1893. function QTIdleManagerSetNextIdleTimeNever( im: IdleManager ): OSErr; external name '_QTIdleManagerSetNextIdleTimeNever';
  1894. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1895. {
  1896. * QTIdleManagerSetNextIdleTimeNow()
  1897. *
  1898. * Availability:
  1899. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1900. * CarbonLib: in CarbonLib 1.6 and later
  1901. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1902. * Windows: in qtmlClient.lib 6.0 and later
  1903. }
  1904. function QTIdleManagerSetNextIdleTimeNow( im: IdleManager ): OSErr; external name '_QTIdleManagerSetNextIdleTimeNow';
  1905. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1906. {
  1907. * QTIdleManagerSetNextIdleTimeDelta()
  1908. *
  1909. * Availability:
  1910. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1911. * CarbonLib: in CarbonLib 1.6 and later
  1912. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1913. * Windows: in qtmlClient.lib 6.0 and later
  1914. }
  1915. function QTIdleManagerSetNextIdleTimeDelta( im: IdleManager; duration: TimeValue; scale: TimeScale ): OSErr; external name '_QTIdleManagerSetNextIdleTimeDelta';
  1916. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1917. {
  1918. * QTIdleManagerSetParent()
  1919. *
  1920. * Availability:
  1921. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1922. * CarbonLib: in CarbonLib 1.6 and later
  1923. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1924. * Windows: in qtmlClient.lib 6.0 and later
  1925. }
  1926. function QTIdleManagerSetParent( im: IdleManager; parent: IdleManager ): OSErr; external name '_QTIdleManagerSetParent';
  1927. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1928. {
  1929. * QTIdleManagerNeedsAnIdle()
  1930. *
  1931. * Availability:
  1932. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1933. * CarbonLib: in CarbonLib 1.6 and later
  1934. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  1935. * Windows: in qtmlClient.lib 6.0 and later
  1936. }
  1937. function QTIdleManagerNeedsAnIdle( im: IdleManager; var needsOne: Boolean ): OSErr; external name '_QTIdleManagerNeedsAnIdle';
  1938. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1939. {************************
  1940. * Carbon Movie Control
  1941. *************************}
  1942. { Movie Control option bits}
  1943. const
  1944. kMovieControlOptionHideController = 1 shl 0;
  1945. kMovieControlOptionLocateTopLeft = 1 shl 1;
  1946. kMovieControlOptionEnableEditing = 1 shl 2;
  1947. kMovieControlOptionHandleEditingHI = 1 shl 3;
  1948. kMovieControlOptionSetKeysEnabled = 1 shl 4;
  1949. kMovieControlOptionManuallyIdled = 1 shl 5;
  1950. { Item tags for use in GetControlData() (some with SetControlData()) calls on Movie Controls}
  1951. const
  1952. kMovieControlDataMovieController = FourCharCode('mc ');
  1953. kMovieControlDataMovie = FourCharCode('moov');
  1954. kMovieControlDataManualIdling = FourCharCode('manu');
  1955. {
  1956. ** CreateMovieControl() - This is the public API routine that creates a Movie Control. Given a window and location
  1957. ** plus a movie, it constructs a Movie Control with a Movie Controller in the window.
  1958. }
  1959. {
  1960. * CreateMovieControl()
  1961. *
  1962. * Availability:
  1963. * Mac OS X: in version 10.2 and later in QuickTime.framework
  1964. * CarbonLib: in CarbonLib 1.6 and later
  1965. * Non-Carbon CFM: not available
  1966. }
  1967. function CreateMovieControl( theWindow: WindowRef; var localRect: Rect; theMovie: Movie; options: UInt32; var returnedControl: ControlRef ): OSErr; external name '_CreateMovieControl';
  1968. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  1969. {************************
  1970. * calls for playing movies, previews, posters
  1971. *************************}
  1972. {
  1973. * StartMovie()
  1974. *
  1975. * Availability:
  1976. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1977. * CarbonLib: in CarbonLib 1.0 and later
  1978. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1979. * Windows: in qtmlClient.lib 3.0 and later
  1980. }
  1981. procedure StartMovie( theMovie: Movie ); external name '_StartMovie';
  1982. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1983. {
  1984. * StopMovie()
  1985. *
  1986. * Availability:
  1987. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1988. * CarbonLib: in CarbonLib 1.0 and later
  1989. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  1990. * Windows: in qtmlClient.lib 3.0 and later
  1991. }
  1992. procedure StopMovie( theMovie: Movie ); external name '_StopMovie';
  1993. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1994. {
  1995. * GoToBeginningOfMovie()
  1996. *
  1997. * Availability:
  1998. * Mac OS X: in version 10.0 and later in QuickTime.framework
  1999. * CarbonLib: in CarbonLib 1.0 and later
  2000. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2001. * Windows: in qtmlClient.lib 3.0 and later
  2002. }
  2003. procedure GoToBeginningOfMovie( theMovie: Movie ); external name '_GoToBeginningOfMovie';
  2004. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2005. {
  2006. * GoToEndOfMovie()
  2007. *
  2008. * Availability:
  2009. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2010. * CarbonLib: in CarbonLib 1.0 and later
  2011. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2012. * Windows: in qtmlClient.lib 3.0 and later
  2013. }
  2014. procedure GoToEndOfMovie( theMovie: Movie ); external name '_GoToEndOfMovie';
  2015. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2016. {
  2017. * IsMovieDone()
  2018. *
  2019. * Availability:
  2020. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2021. * CarbonLib: in CarbonLib 1.0 and later
  2022. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2023. * Windows: in qtmlClient.lib 3.0 and later
  2024. }
  2025. function IsMovieDone( theMovie: Movie ): Boolean; external name '_IsMovieDone';
  2026. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2027. {
  2028. * GetMoviePreviewMode()
  2029. *
  2030. * Availability:
  2031. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2032. * CarbonLib: in CarbonLib 1.0 and later
  2033. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2034. * Windows: in qtmlClient.lib 3.0 and later
  2035. }
  2036. function GetMoviePreviewMode( theMovie: Movie ): Boolean; external name '_GetMoviePreviewMode';
  2037. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2038. {
  2039. * SetMoviePreviewMode()
  2040. *
  2041. * Availability:
  2042. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2043. * CarbonLib: in CarbonLib 1.0 and later
  2044. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2045. * Windows: in qtmlClient.lib 3.0 and later
  2046. }
  2047. procedure SetMoviePreviewMode( theMovie: Movie; usePreview: Boolean ); external name '_SetMoviePreviewMode';
  2048. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2049. {
  2050. * ShowMoviePoster()
  2051. *
  2052. * Availability:
  2053. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2054. * CarbonLib: in CarbonLib 1.0 and later
  2055. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2056. * Windows: in qtmlClient.lib 3.0 and later
  2057. }
  2058. procedure ShowMoviePoster( theMovie: Movie ); external name '_ShowMoviePoster';
  2059. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2060. {
  2061. * PlayMoviePreview()
  2062. *
  2063. * Availability:
  2064. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2065. * CarbonLib: in CarbonLib 1.0 and later
  2066. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2067. * Windows: in qtmlClient.lib 3.0 and later
  2068. }
  2069. procedure PlayMoviePreview( theMovie: Movie; callOutProc: MoviePreviewCallOutUPP; refcon: SIGNEDLONG ); external name '_PlayMoviePreview';
  2070. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2071. {************************
  2072. * calls for controlling movies & tracks which are playing
  2073. *************************}
  2074. {
  2075. * GetMovieTimeBase()
  2076. *
  2077. * Availability:
  2078. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2079. * CarbonLib: in CarbonLib 1.0 and later
  2080. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2081. * Windows: in qtmlClient.lib 3.0 and later
  2082. }
  2083. function GetMovieTimeBase( theMovie: Movie ): TimeBase; external name '_GetMovieTimeBase';
  2084. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2085. {
  2086. * SetMovieMasterTimeBase()
  2087. *
  2088. * Availability:
  2089. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2090. * CarbonLib: in CarbonLib 1.0 and later
  2091. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2092. * Windows: in qtmlClient.lib 3.0 and later
  2093. }
  2094. procedure SetMovieMasterTimeBase( theMovie: Movie; tb: TimeBase; const (*var*) slaveZero: TimeRecord ); external name '_SetMovieMasterTimeBase';
  2095. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2096. {
  2097. * SetMovieMasterClock()
  2098. *
  2099. * Availability:
  2100. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2101. * CarbonLib: in CarbonLib 1.0 and later
  2102. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2103. * Windows: in qtmlClient.lib 3.0 and later
  2104. }
  2105. procedure SetMovieMasterClock( theMovie: Movie; clockMeister: Component; const (*var*) slaveZero: TimeRecord ); external name '_SetMovieMasterClock';
  2106. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2107. {
  2108. * ChooseMovieClock()
  2109. *
  2110. * Availability:
  2111. * Mac OS X: in version 10.2 and later in QuickTime.framework
  2112. * CarbonLib: in CarbonLib 1.6 and later
  2113. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  2114. * Windows: in qtmlClient.lib 6.0 and later
  2115. }
  2116. procedure ChooseMovieClock( m: Movie; flags: SIGNEDLONG ); external name '_ChooseMovieClock';
  2117. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  2118. {
  2119. * GetMovieGWorld()
  2120. *
  2121. * Availability:
  2122. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2123. * CarbonLib: in CarbonLib 1.0 and later
  2124. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2125. * Windows: in qtmlClient.lib 3.0 and later
  2126. }
  2127. procedure GetMovieGWorld( theMovie: Movie; var port: CGrafPtr; var gdh: GDHandle ); external name '_GetMovieGWorld';
  2128. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2129. {
  2130. * SetMovieGWorld()
  2131. *
  2132. * Availability:
  2133. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2134. * CarbonLib: in CarbonLib 1.0 and later
  2135. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2136. * Windows: in qtmlClient.lib 3.0 and later
  2137. }
  2138. procedure SetMovieGWorld( theMovie: Movie; port: CGrafPtr; gdh: GDHandle ); external name '_SetMovieGWorld';
  2139. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2140. const
  2141. movieDrawingCallWhenChanged = 0;
  2142. movieDrawingCallAlways = 1;
  2143. {
  2144. * SetMovieDrawingCompleteProc()
  2145. *
  2146. * Availability:
  2147. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2148. * CarbonLib: in CarbonLib 1.0 and later
  2149. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2150. * Windows: in qtmlClient.lib 3.0 and later
  2151. }
  2152. procedure SetMovieDrawingCompleteProc( theMovie: Movie; flags: SIGNEDLONG; proc: MovieDrawingCompleteUPP; refCon: SIGNEDLONG ); external name '_SetMovieDrawingCompleteProc';
  2153. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2154. {
  2155. * GetMovieNaturalBoundsRect()
  2156. *
  2157. * Availability:
  2158. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2159. * CarbonLib: in CarbonLib 1.0 and later
  2160. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2161. * Windows: in qtmlClient.lib 3.0 and later
  2162. }
  2163. procedure GetMovieNaturalBoundsRect( theMovie: Movie; var naturalBounds: Rect ); external name '_GetMovieNaturalBoundsRect';
  2164. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2165. {
  2166. * GetNextTrackForCompositing()
  2167. *
  2168. * Availability:
  2169. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2170. * CarbonLib: in CarbonLib 1.0 and later
  2171. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2172. * Windows: in qtmlClient.lib 3.0 and later
  2173. }
  2174. function GetNextTrackForCompositing( theMovie: Movie; theTrack: Track ): Track; external name '_GetNextTrackForCompositing';
  2175. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2176. {
  2177. * GetPrevTrackForCompositing()
  2178. *
  2179. * Availability:
  2180. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2181. * CarbonLib: in CarbonLib 1.0 and later
  2182. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2183. * Windows: in qtmlClient.lib 3.0 and later
  2184. }
  2185. function GetPrevTrackForCompositing( theMovie: Movie; theTrack: Track ): Track; external name '_GetPrevTrackForCompositing';
  2186. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2187. {
  2188. * SetTrackGWorld()
  2189. *
  2190. * Availability:
  2191. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2192. * CarbonLib: in CarbonLib 1.0 and later
  2193. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2194. * Windows: in qtmlClient.lib 3.0 and later
  2195. }
  2196. procedure SetTrackGWorld( theTrack: Track; port: CGrafPtr; gdh: GDHandle; proc: TrackTransferUPP; refCon: SIGNEDLONG ); external name '_SetTrackGWorld';
  2197. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2198. {
  2199. * GetMoviePict()
  2200. *
  2201. * Availability:
  2202. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2203. * CarbonLib: in CarbonLib 1.0 and later
  2204. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2205. * Windows: in qtmlClient.lib 3.0 and later
  2206. }
  2207. function GetMoviePict( theMovie: Movie; time: TimeValue ): PicHandle; external name '_GetMoviePict';
  2208. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2209. {
  2210. * GetTrackPict()
  2211. *
  2212. * Availability:
  2213. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2214. * CarbonLib: in CarbonLib 1.0 and later
  2215. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2216. * Windows: in qtmlClient.lib 3.0 and later
  2217. }
  2218. function GetTrackPict( theTrack: Track; time: TimeValue ): PicHandle; external name '_GetTrackPict';
  2219. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2220. {
  2221. * GetMoviePosterPict()
  2222. *
  2223. * Availability:
  2224. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2225. * CarbonLib: in CarbonLib 1.0 and later
  2226. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2227. * Windows: in qtmlClient.lib 3.0 and later
  2228. }
  2229. function GetMoviePosterPict( theMovie: Movie ): PicHandle; external name '_GetMoviePosterPict';
  2230. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2231. { called between Begin & EndUpdate }
  2232. {
  2233. * UpdateMovie()
  2234. *
  2235. * Availability:
  2236. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2237. * CarbonLib: in CarbonLib 1.0 and later
  2238. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2239. * Windows: in qtmlClient.lib 3.0 and later
  2240. }
  2241. function UpdateMovie( theMovie: Movie ): OSErr; external name '_UpdateMovie';
  2242. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2243. {
  2244. * InvalidateMovieRegion()
  2245. *
  2246. * Availability:
  2247. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2248. * CarbonLib: in CarbonLib 1.0 and later
  2249. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2250. * Windows: in qtmlClient.lib 3.0 and later
  2251. }
  2252. function InvalidateMovieRegion( theMovie: Movie; invalidRgn: RgnHandle ): OSErr; external name '_InvalidateMovieRegion';
  2253. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2254. {*** spatial movie routines ***}
  2255. {
  2256. * GetMovieBox()
  2257. *
  2258. * Availability:
  2259. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2260. * CarbonLib: in CarbonLib 1.0 and later
  2261. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2262. * Windows: in qtmlClient.lib 3.0 and later
  2263. }
  2264. procedure GetMovieBox( theMovie: Movie; var boxRect: Rect ); external name '_GetMovieBox';
  2265. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2266. {
  2267. * SetMovieBox()
  2268. *
  2269. * Availability:
  2270. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2271. * CarbonLib: in CarbonLib 1.0 and later
  2272. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2273. * Windows: in qtmlClient.lib 3.0 and later
  2274. }
  2275. procedure SetMovieBox( theMovie: Movie; const (*var*) boxRect: Rect ); external name '_SetMovieBox';
  2276. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2277. {* movie display clip }
  2278. {
  2279. * GetMovieDisplayClipRgn()
  2280. *
  2281. * Availability:
  2282. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2283. * CarbonLib: in CarbonLib 1.0 and later
  2284. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2285. * Windows: in qtmlClient.lib 3.0 and later
  2286. }
  2287. function GetMovieDisplayClipRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieDisplayClipRgn';
  2288. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2289. {
  2290. * SetMovieDisplayClipRgn()
  2291. *
  2292. * Availability:
  2293. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2294. * CarbonLib: in CarbonLib 1.0 and later
  2295. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2296. * Windows: in qtmlClient.lib 3.0 and later
  2297. }
  2298. procedure SetMovieDisplayClipRgn( theMovie: Movie; theClip: RgnHandle ); external name '_SetMovieDisplayClipRgn';
  2299. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2300. {* movie src clip }
  2301. {
  2302. * GetMovieClipRgn()
  2303. *
  2304. * Availability:
  2305. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2306. * CarbonLib: in CarbonLib 1.0 and later
  2307. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2308. * Windows: in qtmlClient.lib 3.0 and later
  2309. }
  2310. function GetMovieClipRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieClipRgn';
  2311. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2312. {
  2313. * SetMovieClipRgn()
  2314. *
  2315. * Availability:
  2316. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2317. * CarbonLib: in CarbonLib 1.0 and later
  2318. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2319. * Windows: in qtmlClient.lib 3.0 and later
  2320. }
  2321. procedure SetMovieClipRgn( theMovie: Movie; theClip: RgnHandle ); external name '_SetMovieClipRgn';
  2322. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2323. {* track src clip }
  2324. {
  2325. * GetTrackClipRgn()
  2326. *
  2327. * Availability:
  2328. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2329. * CarbonLib: in CarbonLib 1.0 and later
  2330. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2331. * Windows: in qtmlClient.lib 3.0 and later
  2332. }
  2333. function GetTrackClipRgn( theTrack: Track ): RgnHandle; external name '_GetTrackClipRgn';
  2334. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2335. {
  2336. * SetTrackClipRgn()
  2337. *
  2338. * Availability:
  2339. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2340. * CarbonLib: in CarbonLib 1.0 and later
  2341. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2342. * Windows: in qtmlClient.lib 3.0 and later
  2343. }
  2344. procedure SetTrackClipRgn( theTrack: Track; theClip: RgnHandle ); external name '_SetTrackClipRgn';
  2345. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2346. {* bounds in display space (not clipped by display clip) }
  2347. {
  2348. * GetMovieDisplayBoundsRgn()
  2349. *
  2350. * Availability:
  2351. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2352. * CarbonLib: in CarbonLib 1.0 and later
  2353. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2354. * Windows: in qtmlClient.lib 3.0 and later
  2355. }
  2356. function GetMovieDisplayBoundsRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieDisplayBoundsRgn';
  2357. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2358. {
  2359. * GetTrackDisplayBoundsRgn()
  2360. *
  2361. * Availability:
  2362. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2363. * CarbonLib: in CarbonLib 1.0 and later
  2364. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2365. * Windows: in qtmlClient.lib 3.0 and later
  2366. }
  2367. function GetTrackDisplayBoundsRgn( theTrack: Track ): RgnHandle; external name '_GetTrackDisplayBoundsRgn';
  2368. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2369. {* bounds in movie space }
  2370. {
  2371. * GetMovieBoundsRgn()
  2372. *
  2373. * Availability:
  2374. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2375. * CarbonLib: in CarbonLib 1.0 and later
  2376. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2377. * Windows: in qtmlClient.lib 3.0 and later
  2378. }
  2379. function GetMovieBoundsRgn( theMovie: Movie ): RgnHandle; external name '_GetMovieBoundsRgn';
  2380. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2381. {
  2382. * GetTrackMovieBoundsRgn()
  2383. *
  2384. * Availability:
  2385. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2386. * CarbonLib: in CarbonLib 1.0 and later
  2387. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2388. * Windows: in qtmlClient.lib 3.0 and later
  2389. }
  2390. function GetTrackMovieBoundsRgn( theTrack: Track ): RgnHandle; external name '_GetTrackMovieBoundsRgn';
  2391. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2392. {* bounds in track space }
  2393. {
  2394. * GetTrackBoundsRgn()
  2395. *
  2396. * Availability:
  2397. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2398. * CarbonLib: in CarbonLib 1.0 and later
  2399. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2400. * Windows: in qtmlClient.lib 3.0 and later
  2401. }
  2402. function GetTrackBoundsRgn( theTrack: Track ): RgnHandle; external name '_GetTrackBoundsRgn';
  2403. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2404. {* mattes - always in track space }
  2405. {
  2406. * GetTrackMatte()
  2407. *
  2408. * Availability:
  2409. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2410. * CarbonLib: in CarbonLib 1.0 and later
  2411. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2412. * Windows: in qtmlClient.lib 3.0 and later
  2413. }
  2414. function GetTrackMatte( theTrack: Track ): PixMapHandle; external name '_GetTrackMatte';
  2415. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2416. {
  2417. * SetTrackMatte()
  2418. *
  2419. * Availability:
  2420. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2421. * CarbonLib: in CarbonLib 1.0 and later
  2422. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2423. * Windows: in qtmlClient.lib 3.0 and later
  2424. }
  2425. procedure SetTrackMatte( theTrack: Track; theMatte: PixMapHandle ); external name '_SetTrackMatte';
  2426. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2427. {
  2428. * DisposeMatte()
  2429. *
  2430. * Availability:
  2431. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2432. * CarbonLib: in CarbonLib 1.0 and later
  2433. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2434. * Windows: in qtmlClient.lib 3.0 and later
  2435. }
  2436. procedure DisposeMatte( theMatte: PixMapHandle ); external name '_DisposeMatte';
  2437. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2438. {* video out }
  2439. {
  2440. * SetMovieVideoOutput()
  2441. *
  2442. * Availability:
  2443. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2444. * CarbonLib: in CarbonLib 1.3 and later
  2445. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  2446. * Windows: in qtmlClient.lib 5.0 and later
  2447. }
  2448. procedure SetMovieVideoOutput( theMovie: Movie; vout: ComponentInstance ); external name '_SetMovieVideoOutput';
  2449. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2450. {************************
  2451. * Audio Context
  2452. ************************}
  2453. {
  2454. The QTAudioContextRef type encapsulates a connection to an audio output device.
  2455. It represents a destination audio rendering environment that can be used for
  2456. playback of a movie.
  2457. }
  2458. type
  2459. QTAudioContextRef = ^OpaqueQTAudioContextRef; { an opaque type }
  2460. OpaqueQTAudioContextRef = record end;
  2461. {
  2462. * QTAudioContextRetain()
  2463. *
  2464. * Summary:
  2465. * Retains a QTAudioContext object by incrementing its reference
  2466. * count. You should retain the object when you receive it from
  2467. * elsewhere (that is, you did not create it) and you want it to
  2468. * persist. If you retain a QTAudioContext object you are
  2469. * responsible for releasing it. The same audio context is returned
  2470. * for convenience. If audioContext is NULL, nothing happens.
  2471. *
  2472. * Parameters:
  2473. *
  2474. * audioContext:
  2475. * [in] The audio context to retain.
  2476. *
  2477. * Availability:
  2478. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2479. * CarbonLib: not available
  2480. * Non-Carbon CFM: not available
  2481. }
  2482. function QTAudioContextRetain( audioContext: QTAudioContextRef ): QTAudioContextRef; external name '_QTAudioContextRetain';
  2483. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2484. {
  2485. * QTAudioContextRelease()
  2486. *
  2487. * Summary:
  2488. * Release a QTAudioContext object by decrementing its reference
  2489. * count. If that count consequently becomes zero the memory
  2490. * allocated to the object is deallocated and the object is
  2491. * destroyed. If you create or explicitly retain a QTAudioContext
  2492. * object, you are responsible for releasing it when you no longer
  2493. * need it. If audioContext is NULL, nothing happens.
  2494. *
  2495. * Parameters:
  2496. *
  2497. * audioContext:
  2498. * [in] The audio context to release.
  2499. *
  2500. * Availability:
  2501. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2502. * CarbonLib: not available
  2503. * Non-Carbon CFM: not available
  2504. }
  2505. procedure QTAudioContextRelease( audioContext: QTAudioContextRef ); external name '_QTAudioContextRelease';
  2506. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2507. {
  2508. * QTAudioContextCreateForAudioDevice()
  2509. *
  2510. * Summary:
  2511. * Creates a QTAudioContext object that encapsulates a connection to
  2512. * an audio output device. This object is suitable for passing to
  2513. * SetMovieAudioContext or NewMovieFromProperties, which targets the
  2514. * audio output of the movie to that device. A QTAudioContext object
  2515. * cannot be associated with more than one movie. Each movie needs
  2516. * its own connection to the device. In order to play more than one
  2517. * movie to a particular device, create a QTAudioContext object for
  2518. * each movie. You are responsible for releasing the QTAudioContext
  2519. * object created by this routine. After calling
  2520. * SetMovieAudioContext or NewMovieFromProperties, you can release
  2521. * the object since these APIs will retain it for their own use. On
  2522. * Windows, the audioDeviceUID is the GUID of a DirectSound device,
  2523. * stringified using such Win32 functions as StringFromCLSID() or
  2524. * StringFromGUID2(), then wrapped in a CFStringRef using
  2525. * CFStringCreateWithCharacters(). After passing the audioDeviceUID
  2526. * CFStringRef to QTAudioContextCreateForAudioDevice(), remember to
  2527. * CFRelease() the CFStringRef you created.
  2528. *
  2529. * Parameters:
  2530. *
  2531. * allocator:
  2532. * [in] Allocator used to create the audio context.
  2533. *
  2534. * audioDeviceUID:
  2535. * [in] Audio device UID. NULL means the default CoreAudio
  2536. * device.
  2537. *
  2538. * options:
  2539. * [in] Reserved. Pass NULL.
  2540. *
  2541. * newAudioContextOut:
  2542. * [out] Points to a variable to receive the new audio context.
  2543. *
  2544. * Availability:
  2545. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2546. * CarbonLib: not available
  2547. * Non-Carbon CFM: not available
  2548. }
  2549. function QTAudioContextCreateForAudioDevice( allocator: CFAllocatorRef; audioDeviceUID: CFStringRef; options: CFDictionaryRef; var newAudioContextOut: QTAudioContextRef ): OSStatus; external name '_QTAudioContextCreateForAudioDevice';
  2550. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2551. {************************
  2552. * Audio Context Inserts
  2553. ************************}
  2554. {
  2555. Theory of operations:
  2556. To register for a Movie Audio Context Insert during playback:
  2557. 1) Get the movie's current audio context: GetMovieAudioContext()
  2558. 2) Register the application insert: QTAudioContextRegisterInsert()
  2559. To unregister a Movie Audio Context Insert:
  2560. Call QTAudioContextRegisterInsert() with a NULL QTAudioContextInsertRegistryInfoRef
  2561. If the registry ptr is non-NULL but the processDataCallback is NULL, this has the same effect.
  2562. To register for a Track Audio Context Insert during playback:
  2563. Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
  2564. providing the same registry info structure that is used for the QTAudioContextRegisterInsert() call.
  2565. To unregister a Track Audio Context Insert:
  2566. Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track,
  2567. with a NULL processDataCallback
  2568. }
  2569. {
  2570. * AudioContextInsertProcessDataCallback
  2571. *
  2572. * Summary:
  2573. * A client-supplied function to be called during playback to get
  2574. * data from the audio insert.
  2575. *
  2576. * Discussion:
  2577. * This routine is called by the Audio Context for each buffer of
  2578. * audio data it renders. The client receives a source buffer list
  2579. * and a destination buffer list, and it is responsible for
  2580. * supplying output buffers to the destination buffer list. This
  2581. * routine is generally called on the IOProc at high thread
  2582. * priority, and so should not do memory allocation or release,
  2583. * acquire mutex resources, nor take very long to process.
  2584. *
  2585. * Parameters:
  2586. *
  2587. * inUserData:
  2588. * An opaque pointer to the client's data.
  2589. *
  2590. * ioRenderFlags:
  2591. * A field that contains render action flags (see AUComponent.h).
  2592. *
  2593. * inTimeStamp:
  2594. * An AudioTimeStamp that indicates the start time of the buffer
  2595. * to be processed. During normal playback or audio extraction,
  2596. * the timestamp mSampleTime is normalized to the movie time that
  2597. * this particular input sample buffer represents, expressed in
  2598. * the sample rate being processed. During reverse playback, the
  2599. * first Process Data call after Reset will contain a timestamp
  2600. * designating the movie time, but subsequent timestamps will
  2601. * advance forward instead of in reverse.
  2602. *
  2603. * inNumberFrames:
  2604. * A UInt32 that specifies the number of frames to be rendered.
  2605. *
  2606. * inInputData:
  2607. * An AudioBufferList used to pass input data to the insert.
  2608. *
  2609. * outOutputData:
  2610. * An AudioBufferList to receive the processed data that is
  2611. * produced by the insert. QuickTime sets buffer pointers in the
  2612. * list to NULL. The client must set the buffer pointers to refer
  2613. * to either its own allocated buffers or to be copies of the
  2614. * buffer pointers received in inInputData.
  2615. }
  2616. type
  2617. AudioContextInsertProcessDataCallback = function( inUserData: UnivPtr; var ioRenderFlags: AudioUnitRenderActionFlags; const (*var*) inTimeStamp: AudioTimeStamp; inNumberFrames: UInt32; var inInputData: AudioBufferList; var outOutputData: AudioBufferList ): OSStatus;
  2618. {
  2619. * AudioContextInsertResetCallback
  2620. *
  2621. * Summary:
  2622. * A client-supplied function to be called to initialize and reset
  2623. * for processing data.
  2624. *
  2625. * Discussion:
  2626. * This routine is called by the Audio Context to initialize for
  2627. * rendering. The client is told the sample rate and the maximum
  2628. * number of frames it will be asked to process on any single
  2629. * ProcessData callback (ie, inNumberFrames will always be <=
  2630. * inMaxFrames). On return, the client reports its processing
  2631. * latency and tail times. This callback is invoked whenever the
  2632. * rendering chain is interrupted (eg, when playback jumps to a new
  2633. * point or changes direction). The client should call
  2634. * AudioUnitReset on any audio units in use, and should be prepared
  2635. * to respond to changes of sample rate or maxframes.
  2636. *
  2637. * Parameters:
  2638. *
  2639. * inUserData:
  2640. * An opaque pointer to the client's data.
  2641. *
  2642. * inSampleRate:
  2643. * A Float64 that will specifies the sample rate of the data to be
  2644. * processed.
  2645. *
  2646. * inMaxFrames:
  2647. * A UInt32 that specifies the maximum number of maximum frame
  2648. * count that will be processed in a single call.
  2649. *
  2650. * outLatency:
  2651. * A pointer to a Float64 that specifies the insert's render
  2652. * latency, in seconds. Latency data will be pulled and discarded
  2653. * by QuickTime after each reset.
  2654. *
  2655. * outTailTime:
  2656. * A pointer to a Float64 that specifies the insert's tail render
  2657. * time, in seconds.
  2658. }
  2659. type
  2660. AudioContextInsertResetCallback = function( inUserData: UnivPtr; inSampleRate: Float64; inMaxFrames: UInt32; var outLatency: Float64; var outTailTime: Float64 ): OSStatus;
  2661. {
  2662. * AudioContextInsertFinalizeCallback
  2663. *
  2664. * Summary:
  2665. * A client-supplied function to be called to release any resources
  2666. * in use by the insert.
  2667. *
  2668. * Discussion:
  2669. * This routine is called when the Audio Context is being disposed
  2670. * (ie, the MovieAudioContext has been reset or the movie was
  2671. * disposed). Once this callback returns, no more calls for this
  2672. * registered insert will be made.
  2673. *
  2674. * Parameters:
  2675. *
  2676. * inUserData:
  2677. * An opaque pointer to the client's data.
  2678. }
  2679. type
  2680. AudioContextInsertFinalizeCallback = function( inUserData: UnivPtr ): OSStatus;
  2681. {
  2682. * QTAudioContextInsertRegistryInfo
  2683. *
  2684. * Summary:
  2685. * Parameters for registering an Audio Context insert
  2686. *
  2687. * Discussion:
  2688. * This is used with QTAudioContextRegisterInsert() and the Movie
  2689. * Audio Extraction
  2690. * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
  2691. * property.
  2692. }
  2693. type
  2694. QTAudioContextInsertRegistryInfoPtr = ^QTAudioContextInsertRegistryInfo;
  2695. QTAudioContextInsertRegistryInfo = record
  2696. {
  2697. * client user data to be passed to all client-specified callbacks.
  2698. }
  2699. userData: UnivPtr;
  2700. {
  2701. * The size of the input channel layout structure.
  2702. }
  2703. inputChannelLayoutSize: UInt32;
  2704. {
  2705. * An AudioChannelLayout that describes the channel layout (and,
  2706. * implicitly, channel valence) of the data that the insert expects
  2707. * as input.
  2708. }
  2709. inputChannelLayout: AudioChannelLayoutPtr;
  2710. {
  2711. * The size of the output channel layout structure.
  2712. }
  2713. outputChannelLayoutSize: UInt32;
  2714. {
  2715. * An AudioChannelLayout that describes the channel layout (and,
  2716. * implicitly, channel valence) of the processed data that the insert
  2717. * will output.
  2718. }
  2719. outputChannelLayout: AudioChannelLayoutPtr;
  2720. {
  2721. * Client-specified process data callback.
  2722. }
  2723. processDataCallback: AudioContextInsertProcessDataCallback;
  2724. {
  2725. * Client-specified reset callback.
  2726. }
  2727. resetCallback: AudioContextInsertResetCallback;
  2728. {
  2729. * Client-specified finalize callback (may be NULL). NOTE: Calls to
  2730. * the client callbacks are interlocked with respect to each other:
  2731. * there will never be simultaneous calls, with an identical
  2732. * inUserData, on different threads.
  2733. }
  2734. finalizeCallback: AudioContextInsertFinalizeCallback;
  2735. end;
  2736. type
  2737. QTAudioContextInsertRegistryInfoRef = QTAudioContextInsertRegistryInfoPtr;
  2738. {
  2739. * QTAudioContextRegisterInsert()
  2740. *
  2741. * Summary:
  2742. * Register an audio insert with QuickTime
  2743. *
  2744. * Discussion:
  2745. * This routine is called to register an application to tap into the
  2746. * audio playback stream, via callbacks during audio rendering. The
  2747. * inAudioContext parameter refers to a Movie Audio Context that has
  2748. * not yet been associated with a movie. Once the application has
  2749. * successfully registered its insert, it may associate a movie with
  2750. * this Audio Context by calling SetMovieAudioContext(). The
  2751. * application must then be prepared to handle callbacks, which may
  2752. * be executed on different threads, until the Finalize callback
  2753. * with a matching userData parameter, is received. The application
  2754. * may supply a NULL Finalize callback if it has its own logic for
  2755. * detecting when it may release its insert resources.
  2756. *
  2757. * Parameters:
  2758. *
  2759. * inAudioContext:
  2760. * A QTAudioContextRef that specifies the Audio Context to tap
  2761. * into.
  2762. *
  2763. * inRegistryInfoSize:
  2764. * Size, in bytes, of the supplied
  2765. * QTAudioContextInsertRegistryInfo structure.
  2766. *
  2767. * inRegistryInfo:
  2768. * Pointer to a QTAudioContextInsertRegistryInfo structure
  2769. * containing setup parameters for the Audio Context insert and
  2770. * callbacks.
  2771. *
  2772. * Result:
  2773. * readErr Cannot register an insert on a movie containing protected
  2774. * data.
  2775. *
  2776. * Availability:
  2777. * Mac OS X: in version 10.5 (or QuickTime 7.2) and later in QuickTime.framework
  2778. * CarbonLib: not available
  2779. * Non-Carbon CFM: not available
  2780. }
  2781. function QTAudioContextRegisterInsert( inAudioContext: QTAudioContextRef; inRegistryInfoSize: UInt32; inRegistryInfo: QTAudioContextInsertRegistryInfoRef ): OSStatus; external name '_QTAudioContextRegisterInsert';
  2782. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  2783. { Track-level Audio Context Insert property (kQTPropertyClass_Audio)}
  2784. const
  2785. {
  2786. * kQTAudioPropertyID_RegisterAudioContextInsert: Value is
  2787. * QTAudioContextInsertRegistryInfoRef (Get/Set) Set on a Track to
  2788. * register/unregister an Audio Context Insert for that specific
  2789. * track. When this property is read back (QTGetTrackProperty) the
  2790. * channel layout pointers will will be NULL. To unregister, supply
  2791. * a NULL processDataCallback (in which case the rest of the registry
  2792. * info will be ignored).
  2793. }
  2794. kQTAudioPropertyID_RegisterAudioContextInsert = FourCharCode('regt'); { value is QTAudioContextInsertRegistryInfoRef. Get/Set.}
  2795. {*****************************************
  2796. * Using Audio/Visual contexts with movies
  2797. ****************************************}
  2798. {
  2799. * SetMovieVisualContext()
  2800. *
  2801. * Availability:
  2802. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2803. * CarbonLib: not available
  2804. * Non-Carbon CFM: not available
  2805. }
  2806. function SetMovieVisualContext( movie_: Movie; visualContext: QTVisualContextRef ): OSStatus; external name '_SetMovieVisualContext';
  2807. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2808. {
  2809. * GetMovieVisualContext()
  2810. *
  2811. * Availability:
  2812. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2813. * CarbonLib: not available
  2814. * Non-Carbon CFM: not available
  2815. }
  2816. function GetMovieVisualContext( movie_: Movie; var visualContext: QTVisualContextRef ): OSStatus; external name '_GetMovieVisualContext';
  2817. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2818. {
  2819. * SetMovieAudioContext()
  2820. *
  2821. * Availability:
  2822. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2823. * CarbonLib: not available
  2824. * Non-Carbon CFM: not available
  2825. }
  2826. function SetMovieAudioContext( movie_: Movie; audioContext: QTAudioContextRef ): OSStatus; external name '_SetMovieAudioContext';
  2827. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2828. {
  2829. * GetMovieAudioContext()
  2830. *
  2831. * Availability:
  2832. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2833. * CarbonLib: not available
  2834. * Non-Carbon CFM: not available
  2835. }
  2836. function GetMovieAudioContext( movie_: Movie; var audioContext: QTAudioContextRef ): OSStatus; external name '_GetMovieAudioContext';
  2837. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2838. {************************
  2839. * calls for getting/saving movies
  2840. *************************}
  2841. {* Properties for NewMovieFromProperties }
  2842. const
  2843. kQTPropertyClass_DataLocation = FourCharCode('dloc');
  2844. kQTDataLocationPropertyID_DataReference = FourCharCode('dref'); { DataReferenceRecord (for semantics of NewMovieFromDataRef)}
  2845. kQTDataLocationPropertyID_CFStringNativePath = FourCharCode('cfnp');
  2846. kQTDataLocationPropertyID_CFStringPosixPath = FourCharCode('cfpp');
  2847. kQTDataLocationPropertyID_CFStringHFSPath = FourCharCode('cfhp');
  2848. kQTDataLocationPropertyID_CFStringWindowsPath = FourCharCode('cfwp');
  2849. kQTDataLocationPropertyID_CFURL = FourCharCode('cfur');
  2850. kQTDataLocationPropertyID_QTDataHandler = FourCharCode('qtdh'); { for semantics of NewMovieFromStorageOffset}
  2851. kQTDataLocationPropertyID_Scrap = FourCharCode('scrp');
  2852. kQTDataLocationPropertyID_LegacyMovieResourceHandle = FourCharCode('rezh'); { QTNewMovieUserProcInfo * (for semantics of NewMovieFromHandle)}
  2853. kQTDataLocationPropertyID_MovieUserProc = FourCharCode('uspr'); { for semantics of NewMovieFromUserProc}
  2854. kQTDataLocationPropertyID_ResourceFork = FourCharCode('rfrk'); { for semantics of NewMovieFromFile}
  2855. kQTDataLocationPropertyID_DataFork = FourCharCode('dfrk'); { for semantics of NewMovieFromDataFork64}
  2856. kQTPropertyClass_Context = FourCharCode('ctxt'); { Media Contexts}
  2857. kQTContextPropertyID_AudioContext = FourCharCode('audi');
  2858. kQTContextPropertyID_VisualContext = FourCharCode('visu');
  2859. kQTPropertyClass_MovieResourceLocator = FourCharCode('rloc');
  2860. kQTMovieResourceLocatorPropertyID_LegacyResID = FourCharCode('rezi'); { (input/result property)}
  2861. kQTMovieResourceLocatorPropertyID_LegacyResName = FourCharCode('rezn'); { (result property)}
  2862. kQTMovieResourceLocatorPropertyID_FileOffset = FourCharCode('foff'); { NewMovieFromDataFork[64]}
  2863. kQTMovieResourceLocatorPropertyID_Callback = FourCharCode('calb'); { NewMovieFromUserProc(getProc,refcon)}
  2864. { Uses kQTMovieDefaultDataRefPropertyID for default dataref}
  2865. kQTPropertyClass_MovieInstantiation = FourCharCode('mins');
  2866. kQTMovieInstantiationPropertyID_DontResolveDataRefs = FourCharCode('rdrn');
  2867. kQTMovieInstantiationPropertyID_DontAskUnresolvedDataRefs = FourCharCode('aurn');
  2868. kQTMovieInstantiationPropertyID_DontAutoAlternates = FourCharCode('aaln');
  2869. kQTMovieInstantiationPropertyID_DontUpdateForeBackPointers = FourCharCode('fbpn');
  2870. kQTMovieInstantiationPropertyID_AsyncOK = FourCharCode('asok');
  2871. kQTMovieInstantiationPropertyID_IdleImportOK = FourCharCode('imok');
  2872. kQTMovieInstantiationPropertyID_DontAutoUpdateClock = FourCharCode('aucl');
  2873. kQTMovieInstantiationPropertyID_ResultDataLocationChanged = FourCharCode('dlch'); { (result property)}
  2874. kQTMovieInstantiationPropertyID_AllowMediaOptimization = FourCharCode('amop');
  2875. kQTPropertyClass_NewMovieProperty = FourCharCode('mprp');
  2876. kQTNewMoviePropertyID_DefaultDataRef = FourCharCode('ddrf'); { DataReferenceRecord}
  2877. kQTNewMoviePropertyID_Active = FourCharCode('actv');
  2878. kQTNewMoviePropertyID_DontInteractWithUser = FourCharCode('intn');
  2879. {* Property value for kQTDataLocationPropertyID_MovieUserProc }
  2880. type
  2881. QTNewMovieUserProcRecord = record
  2882. getMovieUserProc: GetMovieUPP;
  2883. getMovieUserProcRefcon: UnivPtr;
  2884. defaultDataRef: DataReferenceRecord;
  2885. end;
  2886. {* Property structure for NewMovieFromProperties }
  2887. type
  2888. QTNewMoviePropertyElement = record
  2889. propClass: QTPropertyClass;
  2890. propID: QTPropertyID;
  2891. propValueSize: ByteCount;
  2892. propValueAddress: QTPropertyValuePtr;
  2893. propStatus: OSStatus;
  2894. end;
  2895. {
  2896. * NewMovieFromProperties()
  2897. *
  2898. * Availability:
  2899. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  2900. * CarbonLib: not available
  2901. * Non-Carbon CFM: not available
  2902. }
  2903. function NewMovieFromProperties( inputPropertyCount: ItemCount; var inputProperties: QTNewMoviePropertyElement; outputPropertyCount: ItemCount; var outputProperties: QTNewMoviePropertyElement; var theMovie: Movie ): OSStatus; external name '_NewMovieFromProperties';
  2904. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  2905. {
  2906. * NewMovie()
  2907. *
  2908. * Availability:
  2909. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2910. * CarbonLib: in CarbonLib 1.0 and later
  2911. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2912. * Windows: in qtmlClient.lib 3.0 and later
  2913. }
  2914. function NewMovie( flags: SIGNEDLONG ): Movie; external name '_NewMovie';
  2915. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2916. {
  2917. * PutMovieIntoHandle()
  2918. *
  2919. * Availability:
  2920. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2921. * CarbonLib: in CarbonLib 1.0 and later
  2922. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2923. * Windows: in qtmlClient.lib 3.0 and later
  2924. }
  2925. function PutMovieIntoHandle( theMovie: Movie; publicMovie: Handle ): OSErr; external name '_PutMovieIntoHandle';
  2926. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2927. {
  2928. * PutMovieIntoDataFork()
  2929. *
  2930. * Availability:
  2931. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2932. * CarbonLib: in CarbonLib 1.0 and later
  2933. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2934. * Windows: in qtmlClient.lib 3.0 and later
  2935. }
  2936. function PutMovieIntoDataFork( theMovie: Movie; fRefNum: SInt16; offset: SIGNEDLONG; maxSize: SIGNEDLONG ): OSErr; external name '_PutMovieIntoDataFork';
  2937. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2938. {
  2939. * PutMovieIntoDataFork64()
  2940. *
  2941. * Availability:
  2942. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2943. * CarbonLib: in CarbonLib 1.0.2 and later
  2944. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  2945. * Windows: in qtmlClient.lib 4.0 and later
  2946. }
  2947. function PutMovieIntoDataFork64( theMovie: Movie; fRefNum: SIGNEDLONG; const (*var*) offset: wide; maxSize: UNSIGNEDLONG ): OSErr; external name '_PutMovieIntoDataFork64';
  2948. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2949. {
  2950. * PutMovieIntoStorage()
  2951. *
  2952. * Availability:
  2953. * Mac OS X: in version 10.2 and later in QuickTime.framework
  2954. * CarbonLib: in CarbonLib 1.6 and later
  2955. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  2956. * Windows: in qtmlClient.lib 6.0 and later
  2957. }
  2958. function PutMovieIntoStorage( theMovie: Movie; dh: DataHandler; const (*var*) offset: wide; maxSize: UNSIGNEDLONG ): OSErr; external name '_PutMovieIntoStorage';
  2959. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  2960. {
  2961. * PutMovieForDataRefIntoHandle()
  2962. *
  2963. * Availability:
  2964. * Mac OS X: in version 10.2 and later in QuickTime.framework
  2965. * CarbonLib: in CarbonLib 1.6 and later
  2966. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  2967. * Windows: in qtmlClient.lib 6.0 and later
  2968. }
  2969. function PutMovieForDataRefIntoHandle( theMovie: Movie; dataRef: Handle; dataRefType: OSType; publicMovie: Handle ): OSErr; external name '_PutMovieForDataRefIntoHandle';
  2970. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  2971. {
  2972. * DisposeMovie()
  2973. *
  2974. * Availability:
  2975. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2976. * CarbonLib: in CarbonLib 1.0 and later
  2977. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2978. * Windows: in qtmlClient.lib 3.0 and later
  2979. }
  2980. procedure DisposeMovie( theMovie: Movie ); external name '_DisposeMovie';
  2981. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2982. {************************
  2983. * Movie State Routines
  2984. *************************}
  2985. {
  2986. * GetMovieCreationTime()
  2987. *
  2988. * Availability:
  2989. * Mac OS X: in version 10.0 and later in QuickTime.framework
  2990. * CarbonLib: in CarbonLib 1.0 and later
  2991. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  2992. * Windows: in qtmlClient.lib 3.0 and later
  2993. }
  2994. function GetMovieCreationTime( theMovie: Movie ): UNSIGNEDLONG; external name '_GetMovieCreationTime';
  2995. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2996. {
  2997. * GetMovieModificationTime()
  2998. *
  2999. * Availability:
  3000. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3001. * CarbonLib: in CarbonLib 1.0 and later
  3002. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3003. * Windows: in qtmlClient.lib 3.0 and later
  3004. }
  3005. function GetMovieModificationTime( theMovie: Movie ): UNSIGNEDLONG; external name '_GetMovieModificationTime';
  3006. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3007. {
  3008. * GetMovieTimeScale()
  3009. *
  3010. * Availability:
  3011. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3012. * CarbonLib: in CarbonLib 1.0 and later
  3013. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3014. * Windows: in qtmlClient.lib 3.0 and later
  3015. }
  3016. function GetMovieTimeScale( theMovie: Movie ): TimeScale; external name '_GetMovieTimeScale';
  3017. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3018. {
  3019. * SetMovieTimeScale()
  3020. *
  3021. * Availability:
  3022. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3023. * CarbonLib: in CarbonLib 1.0 and later
  3024. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3025. * Windows: in qtmlClient.lib 3.0 and later
  3026. }
  3027. procedure SetMovieTimeScale( theMovie: Movie; timeScale_: TimeScale ); external name '_SetMovieTimeScale';
  3028. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3029. {
  3030. * GetMovieDuration()
  3031. *
  3032. * Availability:
  3033. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3034. * CarbonLib: in CarbonLib 1.0 and later
  3035. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3036. * Windows: in qtmlClient.lib 3.0 and later
  3037. }
  3038. function GetMovieDuration( theMovie: Movie ): TimeValue; external name '_GetMovieDuration';
  3039. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3040. {
  3041. * GetMovieRate()
  3042. *
  3043. * Availability:
  3044. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3045. * CarbonLib: in CarbonLib 1.0 and later
  3046. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3047. * Windows: in qtmlClient.lib 3.0 and later
  3048. }
  3049. function GetMovieRate( theMovie: Movie ): Fixed; external name '_GetMovieRate';
  3050. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3051. {
  3052. * SetMovieRate()
  3053. *
  3054. * Availability:
  3055. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3056. * CarbonLib: in CarbonLib 1.0 and later
  3057. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3058. * Windows: in qtmlClient.lib 3.0 and later
  3059. }
  3060. procedure SetMovieRate( theMovie: Movie; rate: Fixed ); external name '_SetMovieRate';
  3061. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3062. {
  3063. * GetMoviePreferredRate()
  3064. *
  3065. * Availability:
  3066. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3067. * CarbonLib: in CarbonLib 1.0 and later
  3068. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3069. * Windows: in qtmlClient.lib 3.0 and later
  3070. }
  3071. function GetMoviePreferredRate( theMovie: Movie ): Fixed; external name '_GetMoviePreferredRate';
  3072. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3073. {
  3074. * SetMoviePreferredRate()
  3075. *
  3076. * Availability:
  3077. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3078. * CarbonLib: in CarbonLib 1.0 and later
  3079. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3080. * Windows: in qtmlClient.lib 3.0 and later
  3081. }
  3082. procedure SetMoviePreferredRate( theMovie: Movie; rate: Fixed ); external name '_SetMoviePreferredRate';
  3083. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3084. {
  3085. * GetMovieMatrix()
  3086. *
  3087. * Availability:
  3088. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3089. * CarbonLib: in CarbonLib 1.0 and later
  3090. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3091. * Windows: in qtmlClient.lib 3.0 and later
  3092. }
  3093. procedure GetMovieMatrix( theMovie: Movie; var matrix: MatrixRecord ); external name '_GetMovieMatrix';
  3094. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3095. {
  3096. * SetMovieMatrix()
  3097. *
  3098. * Availability:
  3099. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3100. * CarbonLib: in CarbonLib 1.0 and later
  3101. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3102. * Windows: in qtmlClient.lib 3.0 and later
  3103. }
  3104. procedure SetMovieMatrix( theMovie: Movie; const (*var*) matrix: MatrixRecord ); external name '_SetMovieMatrix';
  3105. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3106. {
  3107. * GetMoviePreviewTime()
  3108. *
  3109. * Availability:
  3110. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3111. * CarbonLib: in CarbonLib 1.0 and later
  3112. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3113. * Windows: in qtmlClient.lib 3.0 and later
  3114. }
  3115. procedure GetMoviePreviewTime( theMovie: Movie; var previewTime: TimeValue; var previewDuration: TimeValue ); external name '_GetMoviePreviewTime';
  3116. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3117. {
  3118. * SetMoviePreviewTime()
  3119. *
  3120. * Availability:
  3121. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3122. * CarbonLib: in CarbonLib 1.0 and later
  3123. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3124. * Windows: in qtmlClient.lib 3.0 and later
  3125. }
  3126. procedure SetMoviePreviewTime( theMovie: Movie; previewTime: TimeValue; previewDuration: TimeValue ); external name '_SetMoviePreviewTime';
  3127. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3128. {
  3129. * GetMoviePosterTime()
  3130. *
  3131. * Availability:
  3132. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3133. * CarbonLib: in CarbonLib 1.0 and later
  3134. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3135. * Windows: in qtmlClient.lib 3.0 and later
  3136. }
  3137. function GetMoviePosterTime( theMovie: Movie ): TimeValue; external name '_GetMoviePosterTime';
  3138. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3139. {
  3140. * SetMoviePosterTime()
  3141. *
  3142. * Availability:
  3143. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3144. * CarbonLib: in CarbonLib 1.0 and later
  3145. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3146. * Windows: in qtmlClient.lib 3.0 and later
  3147. }
  3148. procedure SetMoviePosterTime( theMovie: Movie; posterTime: TimeValue ); external name '_SetMoviePosterTime';
  3149. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3150. {
  3151. * GetMovieSelection()
  3152. *
  3153. * Availability:
  3154. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3155. * CarbonLib: in CarbonLib 1.0 and later
  3156. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3157. * Windows: in qtmlClient.lib 3.0 and later
  3158. }
  3159. procedure GetMovieSelection( theMovie: Movie; var selectionTime: TimeValue; var selectionDuration: TimeValue ); external name '_GetMovieSelection';
  3160. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3161. {
  3162. * SetMovieSelection()
  3163. *
  3164. * Availability:
  3165. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3166. * CarbonLib: in CarbonLib 1.0 and later
  3167. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3168. * Windows: in qtmlClient.lib 3.0 and later
  3169. }
  3170. procedure SetMovieSelection( theMovie: Movie; selectionTime: TimeValue; selectionDuration: TimeValue ); external name '_SetMovieSelection';
  3171. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3172. {
  3173. * SetMovieActiveSegment()
  3174. *
  3175. * Availability:
  3176. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3177. * CarbonLib: in CarbonLib 1.0 and later
  3178. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3179. * Windows: in qtmlClient.lib 3.0 and later
  3180. }
  3181. procedure SetMovieActiveSegment( theMovie: Movie; startTime: TimeValue; duration: TimeValue ); external name '_SetMovieActiveSegment';
  3182. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3183. {
  3184. * GetMovieActiveSegment()
  3185. *
  3186. * Availability:
  3187. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3188. * CarbonLib: in CarbonLib 1.0 and later
  3189. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3190. * Windows: in qtmlClient.lib 3.0 and later
  3191. }
  3192. procedure GetMovieActiveSegment( theMovie: Movie; var startTime: TimeValue; var duration: TimeValue ); external name '_GetMovieActiveSegment';
  3193. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3194. {
  3195. * GetMovieTime()
  3196. *
  3197. * Availability:
  3198. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3199. * CarbonLib: in CarbonLib 1.0 and later
  3200. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3201. * Windows: in qtmlClient.lib 3.0 and later
  3202. }
  3203. function GetMovieTime( theMovie: Movie; var currentTime: TimeRecord ): TimeValue; external name '_GetMovieTime';
  3204. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3205. {
  3206. * SetMovieTime()
  3207. *
  3208. * Availability:
  3209. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3210. * CarbonLib: in CarbonLib 1.0 and later
  3211. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3212. * Windows: in qtmlClient.lib 3.0 and later
  3213. }
  3214. procedure SetMovieTime( theMovie: Movie; const (*var*) newtime: TimeRecord ); external name '_SetMovieTime';
  3215. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3216. {
  3217. * SetMovieTimeValue()
  3218. *
  3219. * Availability:
  3220. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3221. * CarbonLib: in CarbonLib 1.0 and later
  3222. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3223. * Windows: in qtmlClient.lib 3.0 and later
  3224. }
  3225. procedure SetMovieTimeValue( theMovie: Movie; newtime: TimeValue ); external name '_SetMovieTimeValue';
  3226. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3227. {
  3228. * GetMovieUserData()
  3229. *
  3230. * Availability:
  3231. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3232. * CarbonLib: in CarbonLib 1.0 and later
  3233. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3234. * Windows: in qtmlClient.lib 3.0 and later
  3235. }
  3236. function GetMovieUserData( theMovie: Movie ): UserData; external name '_GetMovieUserData';
  3237. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3238. {
  3239. * QTGetTimeUntilNextTask()
  3240. *
  3241. * Availability:
  3242. * Mac OS X: in version 10.2 and later in QuickTime.framework
  3243. * CarbonLib: in CarbonLib 1.6 and later
  3244. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  3245. * Windows: in qtmlClient.lib 6.0 and later
  3246. }
  3247. function QTGetTimeUntilNextTask( var duration: SIGNEDLONG; scale: SIGNEDLONG ): OSErr; external name '_QTGetTimeUntilNextTask';
  3248. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3249. {
  3250. * QTInstallNextTaskNeededSoonerCallback()
  3251. *
  3252. * Availability:
  3253. * Mac OS X: in version 10.2 and later in QuickTime.framework
  3254. * CarbonLib: in CarbonLib 1.6 and later
  3255. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  3256. * Windows: in qtmlClient.lib 6.0 and later
  3257. }
  3258. function QTInstallNextTaskNeededSoonerCallback( callbackProc: QTNextTaskNeededSoonerCallbackUPP; scale: TimeScale; flags: UNSIGNEDLONG; refcon: UnivPtr ): OSErr; external name '_QTInstallNextTaskNeededSoonerCallback';
  3259. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3260. {
  3261. * QTUninstallNextTaskNeededSoonerCallback()
  3262. *
  3263. * Availability:
  3264. * Mac OS X: in version 10.2 and later in QuickTime.framework
  3265. * CarbonLib: in CarbonLib 1.6 and later
  3266. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  3267. * Windows: in qtmlClient.lib 6.0 and later
  3268. }
  3269. function QTUninstallNextTaskNeededSoonerCallback( callbackProc: QTNextTaskNeededSoonerCallbackUPP; refcon: UnivPtr ): OSErr; external name '_QTUninstallNextTaskNeededSoonerCallback';
  3270. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3271. {
  3272. * GetMovieRateChangeConstraints()
  3273. *
  3274. * Availability:
  3275. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  3276. * CarbonLib: not available
  3277. * Non-Carbon CFM: not available
  3278. * Windows: in qtmlClient.lib 6.5 and later
  3279. }
  3280. function GetMovieRateChangeConstraints( theMovie: Movie; var minimumDelay: TimeRecord; var maximumDelay: TimeRecord ): OSErr; external name '_GetMovieRateChangeConstraints';
  3281. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  3282. {************************
  3283. * Track/Media finding routines
  3284. *************************}
  3285. {
  3286. * GetMovieTrackCount()
  3287. *
  3288. * Availability:
  3289. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3290. * CarbonLib: in CarbonLib 1.0 and later
  3291. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3292. * Windows: in qtmlClient.lib 3.0 and later
  3293. }
  3294. function GetMovieTrackCount( theMovie: Movie ): SIGNEDLONG; external name '_GetMovieTrackCount';
  3295. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3296. {
  3297. * GetMovieTrack()
  3298. *
  3299. * Availability:
  3300. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3301. * CarbonLib: in CarbonLib 1.0 and later
  3302. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3303. * Windows: in qtmlClient.lib 3.0 and later
  3304. }
  3305. function GetMovieTrack( theMovie: Movie; trackID: SIGNEDLONG ): Track; external name '_GetMovieTrack';
  3306. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3307. {
  3308. * GetMovieIndTrack()
  3309. *
  3310. * Availability:
  3311. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3312. * CarbonLib: in CarbonLib 1.0 and later
  3313. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3314. * Windows: in qtmlClient.lib 3.0 and later
  3315. }
  3316. function GetMovieIndTrack( theMovie: Movie; index: SIGNEDLONG ): Track; external name '_GetMovieIndTrack';
  3317. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3318. {
  3319. * GetMovieIndTrackType()
  3320. *
  3321. * Availability:
  3322. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3323. * CarbonLib: in CarbonLib 1.0 and later
  3324. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3325. * Windows: in qtmlClient.lib 3.0 and later
  3326. }
  3327. function GetMovieIndTrackType( theMovie: Movie; index: SIGNEDLONG; trackType: OSType; flags: SIGNEDLONG ): Track; external name '_GetMovieIndTrackType';
  3328. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3329. {
  3330. * GetTrackID()
  3331. *
  3332. * Availability:
  3333. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3334. * CarbonLib: in CarbonLib 1.0 and later
  3335. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3336. * Windows: in qtmlClient.lib 3.0 and later
  3337. }
  3338. function GetTrackID( theTrack: Track ): SIGNEDLONG; external name '_GetTrackID';
  3339. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3340. {
  3341. * GetTrackMovie()
  3342. *
  3343. * Availability:
  3344. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3345. * CarbonLib: in CarbonLib 1.0 and later
  3346. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3347. * Windows: in qtmlClient.lib 3.0 and later
  3348. }
  3349. function GetTrackMovie( theTrack: Track ): Movie; external name '_GetTrackMovie';
  3350. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3351. {************************
  3352. * Track creation routines
  3353. *************************}
  3354. {
  3355. * NewMovieTrack()
  3356. *
  3357. * Availability:
  3358. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3359. * CarbonLib: in CarbonLib 1.0 and later
  3360. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3361. * Windows: in qtmlClient.lib 3.0 and later
  3362. }
  3363. function NewMovieTrack( theMovie: Movie; width: Fixed; height: Fixed; trackVolume: SInt16 ): Track; external name '_NewMovieTrack';
  3364. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3365. {
  3366. * DisposeMovieTrack()
  3367. *
  3368. * Availability:
  3369. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3370. * CarbonLib: in CarbonLib 1.0 and later
  3371. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3372. * Windows: in qtmlClient.lib 3.0 and later
  3373. }
  3374. procedure DisposeMovieTrack( theTrack: Track ); external name '_DisposeMovieTrack';
  3375. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3376. {************************
  3377. * Track State routines
  3378. *************************}
  3379. {
  3380. * GetTrackCreationTime()
  3381. *
  3382. * Availability:
  3383. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3384. * CarbonLib: in CarbonLib 1.0 and later
  3385. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3386. * Windows: in qtmlClient.lib 3.0 and later
  3387. }
  3388. function GetTrackCreationTime( theTrack: Track ): UNSIGNEDLONG; external name '_GetTrackCreationTime';
  3389. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3390. {
  3391. * GetTrackModificationTime()
  3392. *
  3393. * Availability:
  3394. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3395. * CarbonLib: in CarbonLib 1.0 and later
  3396. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3397. * Windows: in qtmlClient.lib 3.0 and later
  3398. }
  3399. function GetTrackModificationTime( theTrack: Track ): UNSIGNEDLONG; external name '_GetTrackModificationTime';
  3400. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3401. {
  3402. * GetTrackEnabled()
  3403. *
  3404. * Availability:
  3405. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3406. * CarbonLib: in CarbonLib 1.0 and later
  3407. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3408. * Windows: in qtmlClient.lib 3.0 and later
  3409. }
  3410. function GetTrackEnabled( theTrack: Track ): Boolean; external name '_GetTrackEnabled';
  3411. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3412. {
  3413. * SetTrackEnabled()
  3414. *
  3415. * Availability:
  3416. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3417. * CarbonLib: in CarbonLib 1.0 and later
  3418. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3419. * Windows: in qtmlClient.lib 3.0 and later
  3420. }
  3421. procedure SetTrackEnabled( theTrack: Track; isEnabled: Boolean ); external name '_SetTrackEnabled';
  3422. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3423. {
  3424. * GetTrackUsage()
  3425. *
  3426. * Availability:
  3427. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3428. * CarbonLib: in CarbonLib 1.0 and later
  3429. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3430. * Windows: in qtmlClient.lib 3.0 and later
  3431. }
  3432. function GetTrackUsage( theTrack: Track ): SIGNEDLONG; external name '_GetTrackUsage';
  3433. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3434. {
  3435. * SetTrackUsage()
  3436. *
  3437. * Availability:
  3438. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3439. * CarbonLib: in CarbonLib 1.0 and later
  3440. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3441. * Windows: in qtmlClient.lib 3.0 and later
  3442. }
  3443. procedure SetTrackUsage( theTrack: Track; usage: SIGNEDLONG ); external name '_SetTrackUsage';
  3444. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3445. {
  3446. * GetTrackDuration()
  3447. *
  3448. * Availability:
  3449. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3450. * CarbonLib: in CarbonLib 1.0 and later
  3451. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3452. * Windows: in qtmlClient.lib 3.0 and later
  3453. }
  3454. function GetTrackDuration( theTrack: Track ): TimeValue; external name '_GetTrackDuration';
  3455. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3456. {
  3457. * GetTrackOffset()
  3458. *
  3459. * Availability:
  3460. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3461. * CarbonLib: in CarbonLib 1.0 and later
  3462. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3463. * Windows: in qtmlClient.lib 3.0 and later
  3464. }
  3465. function GetTrackOffset( theTrack: Track ): TimeValue; external name '_GetTrackOffset';
  3466. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3467. {
  3468. * SetTrackOffset()
  3469. *
  3470. * Availability:
  3471. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3472. * CarbonLib: in CarbonLib 1.0 and later
  3473. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3474. * Windows: in qtmlClient.lib 3.0 and later
  3475. }
  3476. procedure SetTrackOffset( theTrack: Track; movieOffsetTime: TimeValue ); external name '_SetTrackOffset';
  3477. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3478. {
  3479. * GetTrackLayer()
  3480. *
  3481. * Availability:
  3482. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3483. * CarbonLib: in CarbonLib 1.0 and later
  3484. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3485. * Windows: in qtmlClient.lib 3.0 and later
  3486. }
  3487. function GetTrackLayer( theTrack: Track ): SInt16; external name '_GetTrackLayer';
  3488. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3489. {
  3490. * SetTrackLayer()
  3491. *
  3492. * Availability:
  3493. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3494. * CarbonLib: in CarbonLib 1.0 and later
  3495. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3496. * Windows: in qtmlClient.lib 3.0 and later
  3497. }
  3498. procedure SetTrackLayer( theTrack: Track; layer: SInt16 ); external name '_SetTrackLayer';
  3499. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3500. {
  3501. * GetTrackAlternate()
  3502. *
  3503. * Availability:
  3504. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3505. * CarbonLib: in CarbonLib 1.0 and later
  3506. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3507. * Windows: in qtmlClient.lib 3.0 and later
  3508. }
  3509. function GetTrackAlternate( theTrack: Track ): Track; external name '_GetTrackAlternate';
  3510. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3511. {
  3512. * SetTrackAlternate()
  3513. *
  3514. * Availability:
  3515. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3516. * CarbonLib: in CarbonLib 1.0 and later
  3517. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3518. * Windows: in qtmlClient.lib 3.0 and later
  3519. }
  3520. procedure SetTrackAlternate( theTrack: Track; alternateT: Track ); external name '_SetTrackAlternate';
  3521. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3522. {
  3523. * SetAutoTrackAlternatesEnabled()
  3524. *
  3525. * Availability:
  3526. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3527. * CarbonLib: in CarbonLib 1.0 and later
  3528. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3529. * Windows: in qtmlClient.lib 3.0 and later
  3530. }
  3531. procedure SetAutoTrackAlternatesEnabled( theMovie: Movie; enable: Boolean ); external name '_SetAutoTrackAlternatesEnabled';
  3532. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3533. {
  3534. * SelectMovieAlternates()
  3535. *
  3536. * Availability:
  3537. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3538. * CarbonLib: in CarbonLib 1.0 and later
  3539. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3540. * Windows: in qtmlClient.lib 3.0 and later
  3541. }
  3542. procedure SelectMovieAlternates( theMovie: Movie ); external name '_SelectMovieAlternates';
  3543. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3544. {
  3545. * GetTrackMatrix()
  3546. *
  3547. * Availability:
  3548. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3549. * CarbonLib: in CarbonLib 1.0 and later
  3550. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3551. * Windows: in qtmlClient.lib 3.0 and later
  3552. }
  3553. procedure GetTrackMatrix( theTrack: Track; var matrix: MatrixRecord ); external name '_GetTrackMatrix';
  3554. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3555. {
  3556. * SetTrackMatrix()
  3557. *
  3558. * Availability:
  3559. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3560. * CarbonLib: in CarbonLib 1.0 and later
  3561. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3562. * Windows: in qtmlClient.lib 3.0 and later
  3563. }
  3564. procedure SetTrackMatrix( theTrack: Track; const (*var*) matrix: MatrixRecord ); external name '_SetTrackMatrix';
  3565. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3566. {
  3567. * GetTrackDimensions()
  3568. *
  3569. * Availability:
  3570. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3571. * CarbonLib: in CarbonLib 1.0 and later
  3572. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3573. * Windows: in qtmlClient.lib 3.0 and later
  3574. }
  3575. procedure GetTrackDimensions( theTrack: Track; var width: Fixed; var height: Fixed ); external name '_GetTrackDimensions';
  3576. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3577. {
  3578. * SetTrackDimensions()
  3579. *
  3580. * Availability:
  3581. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3582. * CarbonLib: in CarbonLib 1.0 and later
  3583. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3584. * Windows: in qtmlClient.lib 3.0 and later
  3585. }
  3586. procedure SetTrackDimensions( theTrack: Track; width: Fixed; height: Fixed ); external name '_SetTrackDimensions';
  3587. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3588. {
  3589. * GetTrackUserData()
  3590. *
  3591. * Availability:
  3592. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3593. * CarbonLib: in CarbonLib 1.0 and later
  3594. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3595. * Windows: in qtmlClient.lib 3.0 and later
  3596. }
  3597. function GetTrackUserData( theTrack: Track ): UserData; external name '_GetTrackUserData';
  3598. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3599. {
  3600. * GetTrackDisplayMatrix()
  3601. *
  3602. * Availability:
  3603. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3604. * CarbonLib: in CarbonLib 1.0 and later
  3605. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3606. * Windows: in qtmlClient.lib 3.0 and later
  3607. }
  3608. function GetTrackDisplayMatrix( theTrack: Track; var matrix: MatrixRecord ): OSErr; external name '_GetTrackDisplayMatrix';
  3609. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3610. {************************
  3611. * get Media routines
  3612. *************************}
  3613. {
  3614. * NewTrackMedia()
  3615. *
  3616. * Availability:
  3617. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3618. * CarbonLib: in CarbonLib 1.0 and later
  3619. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3620. * Windows: in qtmlClient.lib 3.0 and later
  3621. }
  3622. function NewTrackMedia( theTrack: Track; mediaType: OSType; timeScale_: TimeScale; dataRef: Handle; dataRefType: OSType ): Media; external name '_NewTrackMedia';
  3623. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3624. {
  3625. * DisposeTrackMedia()
  3626. *
  3627. * Availability:
  3628. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3629. * CarbonLib: in CarbonLib 1.0 and later
  3630. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3631. * Windows: in qtmlClient.lib 3.0 and later
  3632. }
  3633. procedure DisposeTrackMedia( theMedia: Media ); external name '_DisposeTrackMedia';
  3634. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3635. {
  3636. * GetTrackMedia()
  3637. *
  3638. * Availability:
  3639. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3640. * CarbonLib: in CarbonLib 1.0 and later
  3641. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3642. * Windows: in qtmlClient.lib 3.0 and later
  3643. }
  3644. function GetTrackMedia( theTrack: Track ): Media; external name '_GetTrackMedia';
  3645. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3646. {
  3647. * GetMediaTrack()
  3648. *
  3649. * Availability:
  3650. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3651. * CarbonLib: in CarbonLib 1.0 and later
  3652. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3653. * Windows: in qtmlClient.lib 3.0 and later
  3654. }
  3655. function GetMediaTrack( theMedia: Media ): Track; external name '_GetMediaTrack';
  3656. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3657. {************************
  3658. * Media State routines
  3659. *************************}
  3660. {
  3661. * GetMediaCreationTime()
  3662. *
  3663. * Availability:
  3664. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3665. * CarbonLib: in CarbonLib 1.0 and later
  3666. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3667. * Windows: in qtmlClient.lib 3.0 and later
  3668. }
  3669. function GetMediaCreationTime( theMedia: Media ): UNSIGNEDLONG; external name '_GetMediaCreationTime';
  3670. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3671. {
  3672. * GetMediaModificationTime()
  3673. *
  3674. * Availability:
  3675. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3676. * CarbonLib: in CarbonLib 1.0 and later
  3677. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3678. * Windows: in qtmlClient.lib 3.0 and later
  3679. }
  3680. function GetMediaModificationTime( theMedia: Media ): UNSIGNEDLONG; external name '_GetMediaModificationTime';
  3681. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3682. {
  3683. * GetMediaTimeScale()
  3684. *
  3685. * Availability:
  3686. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3687. * CarbonLib: in CarbonLib 1.0 and later
  3688. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3689. * Windows: in qtmlClient.lib 3.0 and later
  3690. }
  3691. function GetMediaTimeScale( theMedia: Media ): TimeScale; external name '_GetMediaTimeScale';
  3692. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3693. {
  3694. * SetMediaTimeScale()
  3695. *
  3696. * Availability:
  3697. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3698. * CarbonLib: in CarbonLib 1.0 and later
  3699. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3700. * Windows: in qtmlClient.lib 3.0 and later
  3701. }
  3702. procedure SetMediaTimeScale( theMedia: Media; timeScale_: TimeScale ); external name '_SetMediaTimeScale';
  3703. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3704. {
  3705. * GetMediaDecodeDuration()
  3706. *
  3707. * Summary:
  3708. * Returns the decode duration of a media.
  3709. *
  3710. * Discussion:
  3711. * A media's decode duration is the sum of the decode durations of
  3712. * its samples.
  3713. *
  3714. * Parameters:
  3715. *
  3716. * theMedia:
  3717. * The media for this operation. Your application obtains this
  3718. * media identifier from such functions as NewTrackMedia and
  3719. * GetTrackMedia.
  3720. *
  3721. * Availability:
  3722. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3723. * CarbonLib: not available
  3724. * Non-Carbon CFM: not available
  3725. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3726. }
  3727. function GetMediaDecodeDuration( theMedia: Media ): TimeValue64; external name '_GetMediaDecodeDuration';
  3728. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3729. {
  3730. * GetMediaAdvanceDecodeTime()
  3731. *
  3732. * Summary:
  3733. * Returns the advance decode time of a media.
  3734. *
  3735. * Discussion:
  3736. * A media's advance decode time is the absolute value of the
  3737. * greatest-magnitude negative display offset of its samples, or
  3738. * zero if there are no samples with negative display offsets.
  3739. * This is the amount that the decode time axis must be adjusted
  3740. * ahead of the display time axis to ensure that no sample's
  3741. * adjusted decode time is later than its display time.
  3742. * For media without nonzero display offsets, the advance decode
  3743. * time is zero.
  3744. *
  3745. * Parameters:
  3746. *
  3747. * theMedia:
  3748. * The media for this operation. Your application obtains this
  3749. * media identifier from such functions as NewTrackMedia and
  3750. * GetTrackMedia.
  3751. *
  3752. * Availability:
  3753. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3754. * CarbonLib: not available
  3755. * Non-Carbon CFM: not available
  3756. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3757. }
  3758. function GetMediaAdvanceDecodeTime( theMedia: Media ): TimeValue64; external name '_GetMediaAdvanceDecodeTime';
  3759. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3760. {
  3761. * GetMediaDisplayDuration()
  3762. *
  3763. * Summary:
  3764. * Returns the display duration of a media.
  3765. *
  3766. * Discussion:
  3767. * A media's display duration is its display end time minus its
  3768. * display start time. For media without nonzero display offsets,
  3769. * the decode duration and display duration are the same, so
  3770. * GetMediaDisplayDuration and GetMediaDisplayDuration are
  3771. * equivalent to GetMediaDuration.
  3772. *
  3773. * Parameters:
  3774. *
  3775. * theMedia:
  3776. * The media for this operation. Your application obtains this
  3777. * media identifier from such functions as NewTrackMedia and
  3778. * GetTrackMedia.
  3779. *
  3780. * Availability:
  3781. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3782. * CarbonLib: not available
  3783. * Non-Carbon CFM: not available
  3784. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3785. }
  3786. function GetMediaDisplayDuration( theMedia: Media ): TimeValue64; external name '_GetMediaDisplayDuration';
  3787. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3788. {
  3789. * GetMediaDisplayStartTime()
  3790. *
  3791. * Summary:
  3792. * Returns the display start time of a media.
  3793. *
  3794. * Discussion:
  3795. * A media's display start time is the earliest display time of any
  3796. * of its samples. For media without nonzero display offsets, the
  3797. * display start time is always zero.
  3798. *
  3799. * Parameters:
  3800. *
  3801. * theMedia:
  3802. * The media for this operation. Your application obtains this
  3803. * media identifier from such functions as NewTrackMedia and
  3804. * GetTrackMedia.
  3805. *
  3806. * Availability:
  3807. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3808. * CarbonLib: not available
  3809. * Non-Carbon CFM: not available
  3810. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3811. }
  3812. function GetMediaDisplayStartTime( theMedia: Media ): TimeValue64; external name '_GetMediaDisplayStartTime';
  3813. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3814. {
  3815. * GetMediaDisplayEndTime()
  3816. *
  3817. * Summary:
  3818. * Returns the display end time of a media.
  3819. *
  3820. * Discussion:
  3821. * A media's display end time is the sum of the display time and
  3822. * decode duration of the sample with the greatest display time. For
  3823. * media without nonzero display offsets, the display end time is
  3824. * the same as the media decode duration, which is the same as the
  3825. * media duration.
  3826. *
  3827. * Parameters:
  3828. *
  3829. * theMedia:
  3830. * The media for this operation. Your application obtains this
  3831. * media identifier from such functions as NewTrackMedia and
  3832. * GetTrackMedia.
  3833. *
  3834. * Availability:
  3835. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  3836. * CarbonLib: not available
  3837. * Non-Carbon CFM: not available
  3838. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  3839. }
  3840. function GetMediaDisplayEndTime( theMedia: Media ): TimeValue64; external name '_GetMediaDisplayEndTime';
  3841. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3842. {
  3843. * GetMediaDuration()
  3844. *
  3845. * Availability:
  3846. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3847. * CarbonLib: in CarbonLib 1.0 and later
  3848. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3849. * Windows: in qtmlClient.lib 3.0 and later
  3850. }
  3851. function GetMediaDuration( theMedia: Media ): TimeValue; external name '_GetMediaDuration';
  3852. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3853. {
  3854. * GetMediaLanguage()
  3855. *
  3856. * Availability:
  3857. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3858. * CarbonLib: in CarbonLib 1.0 and later
  3859. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3860. * Windows: in qtmlClient.lib 3.0 and later
  3861. }
  3862. function GetMediaLanguage( theMedia: Media ): SInt16; external name '_GetMediaLanguage';
  3863. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3864. {
  3865. * SetMediaLanguage()
  3866. *
  3867. * Availability:
  3868. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3869. * CarbonLib: in CarbonLib 1.0 and later
  3870. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3871. * Windows: in qtmlClient.lib 3.0 and later
  3872. }
  3873. procedure SetMediaLanguage( theMedia: Media; language: SInt16 ); external name '_SetMediaLanguage';
  3874. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3875. {
  3876. * GetMediaQuality()
  3877. *
  3878. * Availability:
  3879. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3880. * CarbonLib: in CarbonLib 1.0 and later
  3881. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3882. * Windows: in qtmlClient.lib 3.0 and later
  3883. }
  3884. function GetMediaQuality( theMedia: Media ): SInt16; external name '_GetMediaQuality';
  3885. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3886. {
  3887. * SetMediaQuality()
  3888. *
  3889. * Availability:
  3890. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3891. * CarbonLib: in CarbonLib 1.0 and later
  3892. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3893. * Windows: in qtmlClient.lib 3.0 and later
  3894. }
  3895. procedure SetMediaQuality( theMedia: Media; quality: SInt16 ); external name '_SetMediaQuality';
  3896. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3897. {
  3898. * GetMediaHandlerDescription()
  3899. *
  3900. * Availability:
  3901. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3902. * CarbonLib: in CarbonLib 1.0 and later
  3903. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3904. * Windows: in qtmlClient.lib 3.0 and later
  3905. }
  3906. procedure GetMediaHandlerDescription( theMedia: Media; var mediaType: OSType; var creatorName: Str255; var creatorManufacturer: OSType ); external name '_GetMediaHandlerDescription';
  3907. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3908. {
  3909. * GetMediaUserData()
  3910. *
  3911. * Availability:
  3912. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3913. * CarbonLib: in CarbonLib 1.0 and later
  3914. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3915. * Windows: in qtmlClient.lib 3.0 and later
  3916. }
  3917. function GetMediaUserData( theMedia: Media ): UserData; external name '_GetMediaUserData';
  3918. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3919. {
  3920. * GetMediaInputMap()
  3921. *
  3922. * Availability:
  3923. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3924. * CarbonLib: in CarbonLib 1.0 and later
  3925. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3926. * Windows: in qtmlClient.lib 3.0 and later
  3927. }
  3928. function GetMediaInputMap( theMedia: Media; var inputMap: QTAtomContainer ): OSErr; external name '_GetMediaInputMap';
  3929. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3930. {
  3931. * SetMediaInputMap()
  3932. *
  3933. * Availability:
  3934. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3935. * CarbonLib: in CarbonLib 1.0 and later
  3936. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3937. * Windows: in qtmlClient.lib 3.0 and later
  3938. }
  3939. function SetMediaInputMap( theMedia: Media; inputMap: QTAtomContainer ): OSErr; external name '_SetMediaInputMap';
  3940. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3941. {************************
  3942. * Media Handler routines
  3943. *************************}
  3944. {
  3945. * GetMediaHandler()
  3946. *
  3947. * Availability:
  3948. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3949. * CarbonLib: in CarbonLib 1.0 and later
  3950. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3951. * Windows: in qtmlClient.lib 3.0 and later
  3952. }
  3953. function GetMediaHandler( theMedia: Media ): MediaHandler; external name '_GetMediaHandler';
  3954. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3955. {
  3956. * SetMediaHandler()
  3957. *
  3958. * Availability:
  3959. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3960. * CarbonLib: in CarbonLib 1.0 and later
  3961. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3962. * Windows: in qtmlClient.lib 3.0 and later
  3963. }
  3964. function SetMediaHandler( theMedia: Media; mH: MediaHandlerComponent ): OSErr; external name '_SetMediaHandler';
  3965. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3966. {************************
  3967. * Media's Data routines
  3968. *************************}
  3969. {
  3970. * BeginMediaEdits()
  3971. *
  3972. * Availability:
  3973. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3974. * CarbonLib: in CarbonLib 1.0 and later
  3975. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3976. * Windows: in qtmlClient.lib 3.0 and later
  3977. }
  3978. function BeginMediaEdits( theMedia: Media ): OSErr; external name '_BeginMediaEdits';
  3979. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3980. {
  3981. * EndMediaEdits()
  3982. *
  3983. * Availability:
  3984. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3985. * CarbonLib: in CarbonLib 1.0 and later
  3986. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3987. * Windows: in qtmlClient.lib 3.0 and later
  3988. }
  3989. function EndMediaEdits( theMedia: Media ): OSErr; external name '_EndMediaEdits';
  3990. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3991. {
  3992. * SetMediaDefaultDataRefIndex()
  3993. *
  3994. * Availability:
  3995. * Mac OS X: in version 10.0 and later in QuickTime.framework
  3996. * CarbonLib: in CarbonLib 1.0 and later
  3997. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  3998. * Windows: in qtmlClient.lib 3.0 and later
  3999. }
  4000. function SetMediaDefaultDataRefIndex( theMedia: Media; index: SInt16 ): OSErr; external name '_SetMediaDefaultDataRefIndex';
  4001. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4002. {
  4003. * GetMediaDataHandlerDescription()
  4004. *
  4005. * Availability:
  4006. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4007. * CarbonLib: in CarbonLib 1.0 and later
  4008. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4009. * Windows: in qtmlClient.lib 3.0 and later
  4010. }
  4011. procedure GetMediaDataHandlerDescription( theMedia: Media; index: SInt16; var dhType: OSType; var creatorName: Str255; var creatorManufacturer: OSType ); external name '_GetMediaDataHandlerDescription';
  4012. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4013. {
  4014. * GetMediaDataHandler()
  4015. *
  4016. * Availability:
  4017. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4018. * CarbonLib: in CarbonLib 1.0 and later
  4019. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4020. * Windows: in qtmlClient.lib 3.0 and later
  4021. }
  4022. function GetMediaDataHandler( theMedia: Media; index: SInt16 ): DataHandler; external name '_GetMediaDataHandler';
  4023. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4024. {
  4025. * SetMediaDataHandler()
  4026. *
  4027. * Availability:
  4028. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4029. * CarbonLib: in CarbonLib 1.0 and later
  4030. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4031. * Windows: in qtmlClient.lib 3.0 and later
  4032. }
  4033. function SetMediaDataHandler( theMedia: Media; index: SInt16; dataHandler: DataHandlerComponent ): OSErr; external name '_SetMediaDataHandler';
  4034. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4035. {
  4036. * GetDataHandler()
  4037. *
  4038. * Availability:
  4039. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4040. * CarbonLib: in CarbonLib 1.0 and later
  4041. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4042. * Windows: in qtmlClient.lib 3.0 and later
  4043. }
  4044. function GetDataHandler( dataRef: Handle; dataHandlerSubType: OSType; flags: SIGNEDLONG ): Component; external name '_GetDataHandler';
  4045. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4046. {
  4047. * OpenADataHandler()
  4048. *
  4049. * Availability:
  4050. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4051. * CarbonLib: in CarbonLib 1.1 and later
  4052. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  4053. * Windows: in qtmlClient.lib 4.1 and later
  4054. }
  4055. function OpenADataHandler( dataRef: Handle; dataHandlerSubType: OSType; anchorDataRef: Handle; anchorDataRefType: OSType; tb: TimeBase; flags: SIGNEDLONG; var dh: ComponentInstance ): OSErr; external name '_OpenADataHandler';
  4056. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4057. {************************
  4058. * Media Sample Table Routines
  4059. *************************}
  4060. {
  4061. * GetMediaSampleDescriptionCount()
  4062. *
  4063. * Availability:
  4064. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4065. * CarbonLib: in CarbonLib 1.0 and later
  4066. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4067. * Windows: in qtmlClient.lib 3.0 and later
  4068. }
  4069. function GetMediaSampleDescriptionCount( theMedia: Media ): SIGNEDLONG; external name '_GetMediaSampleDescriptionCount';
  4070. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4071. {
  4072. * GetMediaSampleDescription()
  4073. *
  4074. * Availability:
  4075. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4076. * CarbonLib: in CarbonLib 1.0 and later
  4077. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4078. * Windows: in qtmlClient.lib 3.0 and later
  4079. }
  4080. procedure GetMediaSampleDescription( theMedia: Media; index: SIGNEDLONG; descH: SampleDescriptionHandle ); external name '_GetMediaSampleDescription';
  4081. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4082. {
  4083. * SetMediaSampleDescription()
  4084. *
  4085. * Availability:
  4086. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4087. * CarbonLib: in CarbonLib 1.0 and later
  4088. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4089. * Windows: in qtmlClient.lib 3.0 and later
  4090. }
  4091. function SetMediaSampleDescription( theMedia: Media; index: SIGNEDLONG; descH: SampleDescriptionHandle ): OSErr; external name '_SetMediaSampleDescription';
  4092. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4093. {
  4094. * GetMediaSampleCount()
  4095. *
  4096. * Availability:
  4097. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4098. * CarbonLib: in CarbonLib 1.0 and later
  4099. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4100. * Windows: in qtmlClient.lib 3.0 and later
  4101. }
  4102. function GetMediaSampleCount( theMedia: Media ): SIGNEDLONG; external name '_GetMediaSampleCount';
  4103. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4104. {
  4105. * GetMediaSyncSampleCount()
  4106. *
  4107. * Availability:
  4108. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4109. * CarbonLib: in CarbonLib 1.0 and later
  4110. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  4111. * Windows: in qtmlClient.lib 3.0 and later
  4112. }
  4113. function GetMediaSyncSampleCount( theMedia: Media ): SIGNEDLONG; external name '_GetMediaSyncSampleCount';
  4114. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4115. {
  4116. * MediaContainsDisplayOffsets()
  4117. *
  4118. * Summary:
  4119. * Tests whether a media contains display offsets.
  4120. *
  4121. * Parameters:
  4122. *
  4123. * theMedia:
  4124. * The media for this operation. Your application obtains this
  4125. * media identifier from such functions as NewTrackMedia and
  4126. * GetTrackMedia.
  4127. *
  4128. * Result:
  4129. * True, if the media is valid and contains at least one sample with
  4130. * a nonzero display offset. False otherwise.
  4131. *
  4132. * Availability:
  4133. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4134. * CarbonLib: not available
  4135. * Non-Carbon CFM: not available
  4136. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4137. }
  4138. function MediaContainsDisplayOffsets( theMedia: Media ): Boolean; external name '_MediaContainsDisplayOffsets';
  4139. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4140. {
  4141. * SampleNumToMediaDecodeTime()
  4142. *
  4143. * Summary:
  4144. * Finds the decode time for a specified sample.
  4145. *
  4146. * Parameters:
  4147. *
  4148. * theMedia:
  4149. * The media for this operation. Your application obtains this
  4150. * media identifier from such functions as NewTrackMedia and
  4151. * GetTrackMedia.
  4152. *
  4153. * logicalSampleNum:
  4154. * The sample number.
  4155. *
  4156. * sampleDecodeTime:
  4157. * A pointer to a time value. The function updates this time value
  4158. * to indicate the decode time of the sample specified by the
  4159. * logicalSampleNum parameter. This time value is expressed in the
  4160. * media's time scale. Set this parameter to NULL if you do not
  4161. * want this information.
  4162. *
  4163. * sampleDecodeDuration:
  4164. * A pointer to a time value. The function updates this time value
  4165. * to indicate the decode duration of the sample specified by the
  4166. * logicalSampleNum parameter. This time value is expressed in the
  4167. * media's time scale. Set this parameter to NULL if you do not
  4168. * want this information.
  4169. *
  4170. * Availability:
  4171. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4172. * CarbonLib: not available
  4173. * Non-Carbon CFM: not available
  4174. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4175. }
  4176. procedure SampleNumToMediaDecodeTime( theMedia: Media; logicalSampleNum: SInt64; sampleDecodeTime: TimeValue64Ptr { can be NULL }; sampleDecodeDuration: TimeValue64Ptr { can be NULL} ); external name '_SampleNumToMediaDecodeTime';
  4177. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4178. {
  4179. * MediaDecodeTimeToSampleNum()
  4180. *
  4181. * Summary:
  4182. * Finds the sample for a specified decode time.
  4183. *
  4184. * Parameters:
  4185. *
  4186. * theMedia:
  4187. * The media for this operation. Your application obtains this
  4188. * media identifier from such functions as NewTrackMedia and
  4189. * GetTrackMedia.
  4190. *
  4191. * decodeTime:
  4192. * The decode time for which you are retrieving sample
  4193. * information. You must specify this value in the media's time
  4194. * scale.
  4195. *
  4196. * sampleNum:
  4197. * Points to a variable that is to receive the sample number. The
  4198. * function returns the sample number that identifies the sample
  4199. * that contains data for the specified decode time, or zero if it
  4200. * is not found.
  4201. *
  4202. * sampleDecodeTime:
  4203. * A pointer to a time value. The function updates this time value
  4204. * to indicate the decode time of the sample specified by the
  4205. * logicalSampleNum parameter. This time value is expressed in the
  4206. * media's time scale. Set this parameter to NULL if you do not
  4207. * want this information.
  4208. *
  4209. * sampleDecodeDuration:
  4210. * A pointer to a time value. The function updates this time value
  4211. * to indicate the decode duration of the sample specified by the
  4212. * logicalSampleNum parameter. This time value is expressed in the
  4213. * media's time scale. Set this parameter to NULL if you do not
  4214. * want this information.
  4215. *
  4216. * Availability:
  4217. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4218. * CarbonLib: not available
  4219. * Non-Carbon CFM: not available
  4220. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4221. }
  4222. procedure MediaDecodeTimeToSampleNum( theMedia: Media; decodeTime: TimeValue64; var sampleNum: SInt64; sampleDecodeTime: TimeValue64Ptr { can be NULL }; sampleDecodeDuration: TimeValue64Ptr { can be NULL } ); external name '_MediaDecodeTimeToSampleNum';
  4223. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4224. {
  4225. * SampleNumToMediaDisplayTime()
  4226. *
  4227. * Summary:
  4228. * Finds the display time for a specified sample.
  4229. *
  4230. * Parameters:
  4231. *
  4232. * theMedia:
  4233. * The media for this operation. Your application obtains this
  4234. * media identifier from such functions as NewTrackMedia and
  4235. * GetTrackMedia.
  4236. *
  4237. * logicalSampleNum:
  4238. * The sample number.
  4239. *
  4240. * sampleDisplayTime:
  4241. * A pointer to a time value. The function updates this time value
  4242. * to indicate the display time of the sample specified by the
  4243. * logicalSampleNum parameter. This time value is expressed in the
  4244. * media's time scale. Set this parameter to NULL if you do not
  4245. * want this information.
  4246. *
  4247. * sampleDisplayDuration:
  4248. * A pointer to a time value. The function updates this time value
  4249. * to indicate the display duration of the sample specified by the
  4250. * logicalSampleNum parameter. This time value is expressed in the
  4251. * media's time scale. Set this parameter to NULL if you do not
  4252. * want this information.
  4253. *
  4254. * Availability:
  4255. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4256. * CarbonLib: not available
  4257. * Non-Carbon CFM: not available
  4258. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4259. }
  4260. procedure SampleNumToMediaDisplayTime( theMedia: Media; logicalSampleNum: SInt64; sampleDisplayTime: TimeValue64Ptr { can be NULL }; sampleDisplayDuration: TimeValue64Ptr { can be NULL } ); external name '_SampleNumToMediaDisplayTime';
  4261. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4262. {
  4263. * MediaDisplayTimeToSampleNum()
  4264. *
  4265. * Summary:
  4266. * Finds the sample number for a specified display time.
  4267. *
  4268. * Parameters:
  4269. *
  4270. * theMedia:
  4271. * The media for this operation. Your application obtains this
  4272. * media identifier from such functions as NewTrackMedia and
  4273. * GetTrackMedia.
  4274. *
  4275. * displayTime:
  4276. * The display time for which you are retrieving sample
  4277. * information. You must specify this value in the media's time
  4278. * scale.
  4279. *
  4280. * sampleNum:
  4281. * Points to a long integer that is to receive the sample number.
  4282. * The function returns the sample number that identifies the
  4283. * sample for the specified display time, or zero if it is not
  4284. * found.
  4285. *
  4286. * sampleDisplayTime:
  4287. * A pointer to a time value. The function updates this time value
  4288. * to indicate the display time of the sample specified by the
  4289. * logicalSampleNum parameter. This time value is expressed in the
  4290. * media's time scale. Set this parameter to NULL if you do not
  4291. * want this information.
  4292. *
  4293. * sampleDisplayDuration:
  4294. * A pointer to a time value. The function updates this time value
  4295. * to indicate the display duration of the sample specified by the
  4296. * logicalSampleNum parameter. This time value is expressed in the
  4297. * media's time scale. Set this parameter to NULL if you do not
  4298. * want this information.
  4299. *
  4300. * Availability:
  4301. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4302. * CarbonLib: not available
  4303. * Non-Carbon CFM: not available
  4304. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4305. }
  4306. procedure MediaDisplayTimeToSampleNum( theMedia: Media; displayTime: TimeValue64; var sampleNum: SInt64; var sampleDisplayTime: TimeValue64; var sampleDisplayDuration: TimeValue64 ); external name '_MediaDisplayTimeToSampleNum';
  4307. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4308. {
  4309. * SampleNumToMediaTime()
  4310. *
  4311. * Summary:
  4312. * Finds the media time for a specified sample.
  4313. *
  4314. * Discussion:
  4315. * For media with display offsets, SampleNumToMediaTime is ambiguous
  4316. * and will return kQTMediaHasDisplayOffsetsErr. Call
  4317. * SampleNumToMediaDecodeTime or SampleNumToMediaDisplayTime instead.
  4318. *
  4319. * Availability:
  4320. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4321. * CarbonLib: in CarbonLib 1.0 and later
  4322. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4323. * Windows: in qtmlClient.lib 3.0 and later
  4324. }
  4325. procedure SampleNumToMediaTime( theMedia: Media; logicalSampleNum: SIGNEDLONG; var sampleTime: TimeValue; var sampleDuration: TimeValue ); external name '_SampleNumToMediaTime';
  4326. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4327. {
  4328. * MediaTimeToSampleNum()
  4329. *
  4330. * Summary:
  4331. * Finds the sample number for a specified media time.
  4332. *
  4333. * Discussion:
  4334. * For media with display offsets, MediaTimeToSampleNum is ambiguous
  4335. * and will return kQTMediaHasDisplayOffsetsErr. Call
  4336. * MediaDecodeTimeToSampleNum or MediaDisplayTimeToSampleNum instead.
  4337. *
  4338. * Availability:
  4339. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4340. * CarbonLib: in CarbonLib 1.0 and later
  4341. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4342. * Windows: in qtmlClient.lib 3.0 and later
  4343. }
  4344. procedure MediaTimeToSampleNum( theMedia: Media; time: TimeValue; var sampleNum: SIGNEDLONG; var sampleTime: TimeValue; var sampleDuration: TimeValue ); external name '_MediaTimeToSampleNum';
  4345. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4346. {
  4347. * AddMediaSample2()
  4348. *
  4349. * Summary:
  4350. * Adds sample data and a description to a media. AddMediaSample2
  4351. * extends and supercedes AddMediaSample.
  4352. *
  4353. * Parameters:
  4354. *
  4355. * theMedia:
  4356. * The media for this operation. Your application obtains this
  4357. * media identifier from such functions as NewTrackMedia and
  4358. * GetTrackMedia.
  4359. *
  4360. * dataIn:
  4361. * Points to sample data.
  4362. *
  4363. * size:
  4364. * The number of bytes of sample data to be added to the media.
  4365. * This parameter indicates the total number of bytes in the
  4366. * sample data to be added to the media, not the number of bytes
  4367. * per sample. Use the numberOfSamples parameter to indicate the
  4368. * number of samples that are contained in the sample data.
  4369. *
  4370. * decodeDurationPerSample:
  4371. * The duration of each sample to be added. You must specify this
  4372. * parameter in the media time scale. For example, if you are
  4373. * adding sound that was sampled at 22 kHz to a media that
  4374. * contains a sound track with the same time scale, you would set
  4375. * durationPerSample to 1. Similarly, if you are adding video that
  4376. * was recorded at 10 frames per second to a video media that has
  4377. * a time scale of 600, you would set this parameter to 60 to add
  4378. * a single sample.
  4379. *
  4380. * displayOffset:
  4381. * The offset from decode time to display time of each sample to
  4382. * be added. You must specify this parameter in the media time
  4383. * scale. If the decode times and display times for the samples
  4384. * are identical, pass zero.
  4385. *
  4386. * sampleDescriptionH:
  4387. * A handle to a SampleDescription structure. Some media
  4388. * structures may require sample descriptions. There are different
  4389. * descriptions for different types of samples. For example, a
  4390. * media that contains compressed video requires that you supply
  4391. * an ImageDescription structure. A media that contains sound
  4392. * requires that you supply a SoundDescription structure.
  4393. *
  4394. * numberOfSamples:
  4395. * The number of samples contained in the sample data to be added
  4396. * to the media.
  4397. *
  4398. * sampleFlags:
  4399. * Specifies the media sample flags for the samples to be added.
  4400. *
  4401. * sampleDecodeTimeOut:
  4402. * A pointer to a time value. After adding the sample data to the
  4403. * media, the AddMediaSample function returns the decode time
  4404. * where the first sample was inserted in the time value referred
  4405. * to by this parameter. If you don't want to receive this
  4406. * information, set this parameter to NULL.
  4407. *
  4408. * Availability:
  4409. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4410. * CarbonLib: not available
  4411. * Non-Carbon CFM: not available
  4412. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4413. }
  4414. function AddMediaSample2( theMedia: Media; const (*var*) dataIn: UInt8; size: ByteCount; decodeDurationPerSample: TimeValue64; displayOffset: TimeValue64; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: ItemCount; sampleFlags: MediaSampleFlags; sampleDecodeTimeOut: TimeValue64Ptr { can be NULL } ): OSErr; external name '_AddMediaSample2';
  4415. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4416. {
  4417. * AddMediaSampleFromEncodedFrame()
  4418. *
  4419. * Summary:
  4420. * Adds sample data and description from an encoded frame to a media.
  4421. *
  4422. * Discussion:
  4423. * This is a convenience API to make it easy to add frames emitted
  4424. * by ICM compression session APIs to media.
  4425. *
  4426. * Parameters:
  4427. *
  4428. * theMedia:
  4429. * The media for this operation. Your application obtains this
  4430. * media identifier from such functions as NewTrackMedia and
  4431. * GetTrackMedia.
  4432. *
  4433. * encodedFrame:
  4434. * An encoded frame token returned by an ICMCompressionSequence.
  4435. *
  4436. * sampleDecodeTimeOut:
  4437. * A pointer to a time value. After adding the sample data to the
  4438. * media, the function returns the decode time where the first
  4439. * sample was inserted in the time value referred to by this
  4440. * parameter. If you don't want to receive this information, set
  4441. * this parameter to NULL.
  4442. *
  4443. * Result:
  4444. * An operating system result code.
  4445. * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
  4446. * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
  4447. * there is already a sample with this display time.
  4448. * kQTDisplayTimeTooEarlyErr if a sample's display time would be
  4449. * earlier than the display time of an existing sample that does not
  4450. * have the mediaSampleEarlierDisplayTimesAllowed flag set.
  4451. *
  4452. * Availability:
  4453. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4454. * CarbonLib: not available
  4455. * Non-Carbon CFM: not available
  4456. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4457. }
  4458. function AddMediaSampleFromEncodedFrame( theMedia: Media; encodedFrame: ICMEncodedFrameRef; sampleDecodeTimeOut: TimeValue64Ptr { can be NULL } ): OSErr; external name '_AddMediaSampleFromEncodedFrame';
  4459. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4460. {
  4461. * AddSampleTableToMedia()
  4462. *
  4463. * Summary:
  4464. * Adds sample references from a sample table to a media.
  4465. * AddSampleTableToMedia supercedes AddMediaSampleReferences and
  4466. * AddMediaSampleReferences64.
  4467. *
  4468. * Parameters:
  4469. *
  4470. * theMedia:
  4471. * The media for this operation. Your application obtains this
  4472. * media identifier from such functions as NewTrackMedia and
  4473. * GetTrackMedia.
  4474. *
  4475. * sampleTable:
  4476. * The sample table containing sample references to be added to
  4477. * the media.
  4478. *
  4479. * startSampleNum:
  4480. * The sample number of the first sample reference in the sample
  4481. * table to be added to the media. The first sample's number is 1.
  4482. *
  4483. * numberOfSamples:
  4484. * The number of sample references from the sample table to be
  4485. * added to the media.
  4486. *
  4487. * sampleDecodeTimeOut:
  4488. * A pointer to a time value. After adding the sample references
  4489. * to the media, the function returns the decode time where the
  4490. * first sample was inserted in the time value referred to by this
  4491. * parameter. If you don't want to receive this information, set
  4492. * this parameter to NULL.
  4493. *
  4494. * Result:
  4495. * An operating system result code.
  4496. * kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not
  4497. * support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if
  4498. * there is already a sample with this display time.
  4499. * kQTDisplayTimeTooEarlyErr if a sample's display time would be
  4500. * earlier than the display time of an existing sample that does not
  4501. * have the mediaSampleEarlierDisplayTimesAllowed flag set.
  4502. *
  4503. * Availability:
  4504. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4505. * CarbonLib: not available
  4506. * Non-Carbon CFM: not available
  4507. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4508. }
  4509. function AddSampleTableToMedia( theMedia: Media; sampleTable: QTSampleTableRef; startSampleNum: SInt64; numberOfSamples: SInt64; sampleDecodeTimeOut: TimeValue64Ptr { can be NULL } ): OSErr; external name '_AddSampleTableToMedia';
  4510. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4511. {
  4512. * AddMediaSample()
  4513. *
  4514. * Availability:
  4515. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4516. * CarbonLib: in CarbonLib 1.0 and later
  4517. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4518. * Windows: in qtmlClient.lib 3.0 and later
  4519. }
  4520. function AddMediaSample( theMedia: Media; dataIn: Handle; inOffset: SIGNEDLONG; size: UNSIGNEDLONG; durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleFlags: SInt16; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSample';
  4521. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4522. {
  4523. * AddMediaSampleReference()
  4524. *
  4525. * Availability:
  4526. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4527. * CarbonLib: in CarbonLib 1.0 and later
  4528. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4529. * Windows: in qtmlClient.lib 3.0 and later
  4530. }
  4531. function AddMediaSampleReference( theMedia: Media; dataOffset: SIGNEDLONG; size: UNSIGNEDLONG; durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleFlags: SInt16; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSampleReference';
  4532. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4533. {
  4534. * AddMediaSampleReferences()
  4535. *
  4536. * Availability:
  4537. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4538. * CarbonLib: in CarbonLib 1.0 and later
  4539. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4540. * Windows: in qtmlClient.lib 3.0 and later
  4541. }
  4542. function AddMediaSampleReferences( theMedia: Media; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleRefs: SampleReferencePtr; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSampleReferences';
  4543. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4544. {
  4545. * AddMediaSampleReferences64()
  4546. *
  4547. * Availability:
  4548. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4549. * CarbonLib: in CarbonLib 1.0.2 and later
  4550. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  4551. * Windows: in qtmlClient.lib 4.0 and later
  4552. }
  4553. function AddMediaSampleReferences64( theMedia: Media; sampleDescriptionH: SampleDescriptionHandle; numberOfSamples: SIGNEDLONG; sampleRefs: SampleReference64Ptr; var sampleTime: TimeValue ): OSErr; external name '_AddMediaSampleReferences64';
  4554. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4555. {
  4556. * ExtendMediaDecodeDurationToDisplayEndTime()
  4557. *
  4558. * Summary:
  4559. * Prepares a media for the addition of a completely new sequence of
  4560. * samples by ensuring that the media display end time is not later
  4561. * than the media decode end time.
  4562. *
  4563. * Discussion:
  4564. * After adding a complete, well-formed set of samples to a media,
  4565. * the media's display end time should be the same as the media's
  4566. * decode end time (also called the media decode duration).
  4567. * However, this is not necessarily the case after individual
  4568. * sample-adding operations, and hence it is possible for a media to
  4569. * be left with a display end time later than its decode end time --
  4570. * if adding a sequence of frames is aborted halfway, for example.
  4571. *
  4572. * This may make it difficult to add a new group of samples, because
  4573. * a well-formed group of samples' earliest display time should be
  4574. * the same as the first frame's decode time. If such a well-formed
  4575. * group is added to an incompletely finished media, frames from the
  4576. * old and new groups frames might collide in display time.
  4577. * ExtendMediaDecodeDurationToDisplayEndTime prevents any such
  4578. * collision or overlap by extending the last sample's decode
  4579. * duration as necessary. It ensures that the next added sample
  4580. * will have a decode time no earlier than the media's display end
  4581. * time. If this was already the case, it makes no change to the
  4582. * media.
  4583. * You can call ExtendMediaDecodeDurationToDisplayEndTime before you
  4584. * begin adding samples to a media if you're not certain that the
  4585. * media was left in a well-finished state. You do not need to call
  4586. * it before adding samples to a newly created media, nor should you
  4587. * call it in between samples from the same compression session.
  4588. *
  4589. * Parameters:
  4590. *
  4591. * theMedia:
  4592. * The media for this operation. Your application obtains this
  4593. * media identifier from such functions as NewTrackMedia and
  4594. * GetTrackMedia.
  4595. *
  4596. * mediaChanged:
  4597. * Points to a variable which will be set to true if any samples
  4598. * in the media were adjusted, false otherwise. If you don't want
  4599. * to receive this information, set this parameter to NULL.
  4600. *
  4601. * Availability:
  4602. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4603. * CarbonLib: not available
  4604. * Non-Carbon CFM: not available
  4605. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4606. }
  4607. function ExtendMediaDecodeDurationToDisplayEndTime( theMedia: Media; var mediaChanged: Boolean ): OSErr; external name '_ExtendMediaDecodeDurationToDisplayEndTime';
  4608. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4609. {
  4610. * GetMediaSample2()
  4611. *
  4612. * Summary:
  4613. * Retrieves sample data from a media file. GetMediaSample2 extends
  4614. * and supercedes GetMediaSample.
  4615. *
  4616. * Discussion:
  4617. * GetMediaSample2 will only return multiple samples that all have
  4618. * the same decode duration per sample, the same display offset, the
  4619. * same sample description, and the same size per sample.
  4620. *
  4621. * Parameters:
  4622. *
  4623. * theMedia:
  4624. * The media for this operation. Your application obtains this
  4625. * media identifier from such functions as NewTrackMedia and
  4626. * GetTrackMedia.
  4627. *
  4628. * dataOut:
  4629. * Points to a buffer to receive sample data. The buffer must be
  4630. * large enough to contain at least maxDataSize bytes. If you do
  4631. * not want to receive sample data, pass NULL.
  4632. *
  4633. * maxDataSize:
  4634. * The maximum number of bytes of data to receive.
  4635. *
  4636. * size:
  4637. * Points to a long integer to receive the number of bytes of
  4638. * sample data returned. Pass NULL if you are not interested this
  4639. * information.
  4640. *
  4641. * decodeTime:
  4642. * The decode time for which you are retrieving sample
  4643. * information. You must specify this value in the media's time
  4644. * scale.
  4645. *
  4646. * sampleDecodeTime:
  4647. * A pointer to a time value. The function updates this time value
  4648. * to indicate the actual decode time of the returned sample data.
  4649. * (The returned time may differ from the time you specified with
  4650. * the decodeTime parameter. This will occur if the time you
  4651. * specified falls in the middle of a sample.) If you are not
  4652. * interested in this information, set this parameter to NULL.
  4653. *
  4654. * decodeDurationPerSample:
  4655. * A pointer to a time value. The function updates this time value
  4656. * to indicate the decode duration of each of the returned
  4657. * samples. This time value is expressed in the media's time
  4658. * scale. Set this parameter to NULL if you don't want this
  4659. * information.
  4660. *
  4661. * displayOffset:
  4662. * A pointer to a time value. The function updates this time value
  4663. * to indicate the display offset of the returned sample. This
  4664. * time value is expressed in the media's time scale. Set this
  4665. * parameter to NULL if you don't want this information.
  4666. *
  4667. * sampleDescriptionH:
  4668. * A handle to a SampleDescription structure. The function returns
  4669. * the sample description corresponding to the returned sample
  4670. * data. The function resizes this handle as appropriate. If you
  4671. * don't want a SampleDescription structure, set this parameter to
  4672. * NULL.
  4673. *
  4674. * sampleDescriptionIndex:
  4675. * A pointer to a long integer. The function returns an index
  4676. * value to the SampleDescription structure that corresponds to
  4677. * the returned sample data. You can retrieve the structure by
  4678. * calling GetMediaSampleDescription and passing this index in the
  4679. * index parameter. If you don't want this information, set this
  4680. * parameter to NULL.
  4681. *
  4682. * maxNumberOfSamples:
  4683. * The maximum number of samples to be returned. The Movie Toolbox
  4684. * does not return more samples than you specify with this
  4685. * parameter. If you set this parameter to 0, the Movie Toolbox
  4686. * uses a value that is appropriate for the media, and returns
  4687. * that value in the field referenced by the numberOfSamples
  4688. * parameter.
  4689. *
  4690. * numberOfSamples:
  4691. * A pointer to a long integer. The function updates the field
  4692. * referred to by this parameter with the number of samples it
  4693. * actually returns. If you don't want this information, set this
  4694. * parameter to NULL.
  4695. *
  4696. * sampleFlags:
  4697. * A pointer to a short integer in which the function returns
  4698. * media sample flags for the returned samples. If you don't want
  4699. * this information, set this parameter to NULL.
  4700. *
  4701. * Result:
  4702. * An operating system result code. maxSizeToGrowTooSmall if the
  4703. * sample data is larger than maxDataSize.
  4704. *
  4705. * Availability:
  4706. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4707. * CarbonLib: not available
  4708. * Non-Carbon CFM: not available
  4709. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4710. }
  4711. function GetMediaSample2( theMedia: Media; var dataOut: UInt8; maxDataSize: ByteCount; var size: ByteCount; decodeTime: TimeValue64; var sampleDecodeTime: TimeValue64; var decodeDurationPerSample: TimeValue64; var displayOffset: TimeValue64; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: ItemCount; maxNumberOfSamples: ItemCount; var numberOfSamples: ItemCount; var sampleFlags: MediaSampleFlags ): OSErr; external name '_GetMediaSample2';
  4712. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4713. {
  4714. * GetMediaSample()
  4715. *
  4716. * Availability:
  4717. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4718. * CarbonLib: in CarbonLib 1.0 and later
  4719. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4720. * Windows: in qtmlClient.lib 3.0 and later
  4721. }
  4722. function GetMediaSample( theMedia: Media; dataOut: Handle; maxSizeToGrow: SIGNEDLONG; var size: SIGNEDLONG; time: TimeValue; var sampleTime: TimeValue; var durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfSamples: SIGNEDLONG; var numberOfSamples: SIGNEDLONG; var sampleFlags: SInt16 ): OSErr; external name '_GetMediaSample';
  4723. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4724. {
  4725. * CopyMediaMutableSampleTable()
  4726. *
  4727. * Summary:
  4728. * Obtains information about sample references in a media in the
  4729. * form of a sample table. CopyMediaMutableSampleTable supercedes
  4730. * GetMediaSampleReferences and GetMediaSampleReferences64.
  4731. *
  4732. * Discussion:
  4733. * When you are done with the returned sample table, release it with
  4734. * QTSampleTableRelease.
  4735. * To find out how many samples were returned in the sample table,
  4736. * call QTSampleTableGetNumberOfSamples.
  4737. *
  4738. * Parameters:
  4739. *
  4740. * theMedia:
  4741. * The media for this operation. Your application obtains this
  4742. * media identifier from such functions as NewTrackMedia and
  4743. * GetTrackMedia.
  4744. *
  4745. * startDecodeTime:
  4746. * The starting decode time of the sample references to be
  4747. * retrieved. You must specify this value in the media's time
  4748. * scale.
  4749. *
  4750. * sampleStartDecodeTime:
  4751. * A pointer to a time value. The function updates this time value
  4752. * to indicate the actual decode time of the first returned sample
  4753. * reference. (The returned time may differ from the time you
  4754. * specified with the startDecodeTime parameter. This will occur
  4755. * if the time you specified falls in the middle of a sample.) If
  4756. * you are not interested in this information, set this parameter
  4757. * to NULL.
  4758. *
  4759. * maxNumberOfSamples:
  4760. * The maximum number of sample references to be returned. If you
  4761. * set this parameter to 0, the Movie Toolbox uses a value that is
  4762. * appropriate to the media.
  4763. *
  4764. * maxDecodeDuration:
  4765. * The maximum decode duration to be returned. The function does
  4766. * not return samples with greater decode duration than you
  4767. * specify with this parameter. If you set this parameter to 0,
  4768. * the Movie Toolbox uses a value that is appropriate for the
  4769. * media.
  4770. *
  4771. * sampleTableOut:
  4772. * A pointer to a sample table reference to receive the newly
  4773. * created mutable sample table.
  4774. *
  4775. * Availability:
  4776. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  4777. * CarbonLib: not available
  4778. * Non-Carbon CFM: not available
  4779. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  4780. }
  4781. function CopyMediaMutableSampleTable( theMedia: Media; startDecodeTime: TimeValue64; var sampleStartDecodeTime: TimeValue64; maxNumberOfSamples: SInt64; maxDecodeDuration: TimeValue64; var sampleTableOut: QTMutableSampleTableRef ): OSErr; external name '_CopyMediaMutableSampleTable';
  4782. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  4783. {
  4784. * GetMediaSampleReference()
  4785. *
  4786. * Availability:
  4787. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4788. * CarbonLib: in CarbonLib 1.0 and later
  4789. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4790. * Windows: in qtmlClient.lib 3.0 and later
  4791. }
  4792. function GetMediaSampleReference( theMedia: Media; var dataOffset: SIGNEDLONG; var size: SIGNEDLONG; time: TimeValue; var sampleTime: TimeValue; var durationPerSample: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfSamples: SIGNEDLONG; var numberOfSamples: SIGNEDLONG; var sampleFlags: SInt16 ): OSErr; external name '_GetMediaSampleReference';
  4793. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4794. {
  4795. * GetMediaSampleReferences()
  4796. *
  4797. * Availability:
  4798. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4799. * CarbonLib: in CarbonLib 1.0 and later
  4800. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4801. * Windows: in qtmlClient.lib 3.0 and later
  4802. }
  4803. function GetMediaSampleReferences( theMedia: Media; time: TimeValue; var sampleTime: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfEntries: SIGNEDLONG; var actualNumberofEntries: SIGNEDLONG; sampleRefs: SampleReferencePtr ): OSErr; external name '_GetMediaSampleReferences';
  4804. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4805. {
  4806. * GetMediaSampleReferences64()
  4807. *
  4808. * Availability:
  4809. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4810. * CarbonLib: in CarbonLib 1.0.2 and later
  4811. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  4812. * Windows: in qtmlClient.lib 4.0 and later
  4813. }
  4814. function GetMediaSampleReferences64( theMedia: Media; time: TimeValue; var sampleTime: TimeValue; sampleDescriptionH: SampleDescriptionHandle; var sampleDescriptionIndex: SIGNEDLONG; maxNumberOfEntries: SIGNEDLONG; var actualNumberofEntries: SIGNEDLONG; sampleRefs: SampleReference64Ptr ): OSErr; external name '_GetMediaSampleReferences64';
  4815. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4816. {
  4817. * SetMediaPreferredChunkSize()
  4818. *
  4819. * Availability:
  4820. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4821. * CarbonLib: in CarbonLib 1.0 and later
  4822. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4823. * Windows: in qtmlClient.lib 3.0 and later
  4824. }
  4825. function SetMediaPreferredChunkSize( theMedia: Media; maxChunkSize: SIGNEDLONG ): OSErr; external name '_SetMediaPreferredChunkSize';
  4826. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4827. {
  4828. * GetMediaPreferredChunkSize()
  4829. *
  4830. * Availability:
  4831. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4832. * CarbonLib: in CarbonLib 1.0 and later
  4833. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4834. * Windows: in qtmlClient.lib 3.0 and later
  4835. }
  4836. function GetMediaPreferredChunkSize( theMedia: Media; var maxChunkSize: SIGNEDLONG ): OSErr; external name '_GetMediaPreferredChunkSize';
  4837. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4838. {
  4839. * SetMediaShadowSync()
  4840. *
  4841. * Availability:
  4842. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4843. * CarbonLib: in CarbonLib 1.0 and later
  4844. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4845. * Windows: in qtmlClient.lib 3.0 and later
  4846. }
  4847. function SetMediaShadowSync( theMedia: Media; frameDiffSampleNum: SIGNEDLONG; syncSampleNum: SIGNEDLONG ): OSErr; external name '_SetMediaShadowSync';
  4848. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4849. {
  4850. * GetMediaShadowSync()
  4851. *
  4852. * Availability:
  4853. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4854. * CarbonLib: in CarbonLib 1.0 and later
  4855. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4856. * Windows: in qtmlClient.lib 3.0 and later
  4857. }
  4858. function GetMediaShadowSync( theMedia: Media; frameDiffSampleNum: SIGNEDLONG; var syncSampleNum: SIGNEDLONG ): OSErr; external name '_GetMediaShadowSync';
  4859. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4860. {************************
  4861. * Editing Routines
  4862. *************************}
  4863. {
  4864. When inserting media that might have nonzero display offsets into a track, use display time:
  4865. InsertMediaIntoTrack( track,
  4866. 0, // track start time
  4867. GetMediaDisplayStartTime( media ), // media start time
  4868. GetMediaDisplayDuration( media ),
  4869. fixed1 ); // normal speed
  4870. It is safe to use these display time calls for media without display offsets.
  4871. }
  4872. {
  4873. * InsertMediaIntoTrack()
  4874. *
  4875. * Availability:
  4876. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4877. * CarbonLib: in CarbonLib 1.0 and later
  4878. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4879. * Windows: in qtmlClient.lib 3.0 and later
  4880. }
  4881. function InsertMediaIntoTrack( theTrack: Track; trackStart: TimeValue; mediaTime: TimeValue; mediaDuration: TimeValue; mediaRate: Fixed ): OSErr; external name '_InsertMediaIntoTrack';
  4882. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4883. {
  4884. * InsertTrackSegment()
  4885. *
  4886. * Availability:
  4887. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4888. * CarbonLib: in CarbonLib 1.0 and later
  4889. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4890. * Windows: in qtmlClient.lib 3.0 and later
  4891. }
  4892. function InsertTrackSegment( srcTrack: Track; dstTrack: Track; srcIn: TimeValue; srcDuration: TimeValue; dstIn: TimeValue ): OSErr; external name '_InsertTrackSegment';
  4893. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4894. {
  4895. * InsertMovieSegment()
  4896. *
  4897. * Availability:
  4898. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4899. * CarbonLib: in CarbonLib 1.0 and later
  4900. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4901. * Windows: in qtmlClient.lib 3.0 and later
  4902. }
  4903. function InsertMovieSegment( srcMovie: Movie; dstMovie: Movie; srcIn: TimeValue; srcDuration: TimeValue; dstIn: TimeValue ): OSErr; external name '_InsertMovieSegment';
  4904. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4905. {
  4906. * InsertEmptyTrackSegment()
  4907. *
  4908. * Availability:
  4909. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4910. * CarbonLib: in CarbonLib 1.0 and later
  4911. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4912. * Windows: in qtmlClient.lib 3.0 and later
  4913. }
  4914. function InsertEmptyTrackSegment( dstTrack: Track; dstIn: TimeValue; dstDuration: TimeValue ): OSErr; external name '_InsertEmptyTrackSegment';
  4915. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4916. {
  4917. * InsertEmptyMovieSegment()
  4918. *
  4919. * Availability:
  4920. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4921. * CarbonLib: in CarbonLib 1.0 and later
  4922. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4923. * Windows: in qtmlClient.lib 3.0 and later
  4924. }
  4925. function InsertEmptyMovieSegment( dstMovie: Movie; dstIn: TimeValue; dstDuration: TimeValue ): OSErr; external name '_InsertEmptyMovieSegment';
  4926. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4927. {
  4928. * DeleteTrackSegment()
  4929. *
  4930. * Availability:
  4931. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4932. * CarbonLib: in CarbonLib 1.0 and later
  4933. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4934. * Windows: in qtmlClient.lib 3.0 and later
  4935. }
  4936. function DeleteTrackSegment( theTrack: Track; startTime: TimeValue; duration: TimeValue ): OSErr; external name '_DeleteTrackSegment';
  4937. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4938. {
  4939. * DeleteMovieSegment()
  4940. *
  4941. * Availability:
  4942. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4943. * CarbonLib: in CarbonLib 1.0 and later
  4944. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4945. * Windows: in qtmlClient.lib 3.0 and later
  4946. }
  4947. function DeleteMovieSegment( theMovie: Movie; startTime: TimeValue; duration: TimeValue ): OSErr; external name '_DeleteMovieSegment';
  4948. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4949. {
  4950. * ScaleTrackSegment()
  4951. *
  4952. * Availability:
  4953. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4954. * CarbonLib: in CarbonLib 1.0 and later
  4955. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4956. * Windows: in qtmlClient.lib 3.0 and later
  4957. }
  4958. function ScaleTrackSegment( theTrack: Track; startTime: TimeValue; oldDuration: TimeValue; newDuration: TimeValue ): OSErr; external name '_ScaleTrackSegment';
  4959. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4960. {
  4961. * ScaleMovieSegment()
  4962. *
  4963. * Availability:
  4964. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4965. * CarbonLib: in CarbonLib 1.0 and later
  4966. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4967. * Windows: in qtmlClient.lib 3.0 and later
  4968. }
  4969. function ScaleMovieSegment( theMovie: Movie; startTime: TimeValue; oldDuration: TimeValue; newDuration: TimeValue ): OSErr; external name '_ScaleMovieSegment';
  4970. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4971. {************************
  4972. * Hi-level Editing Routines
  4973. *************************}
  4974. {
  4975. * CutMovieSelection()
  4976. *
  4977. * Availability:
  4978. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4979. * CarbonLib: in CarbonLib 1.0 and later
  4980. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4981. * Windows: in qtmlClient.lib 3.0 and later
  4982. }
  4983. function CutMovieSelection( theMovie: Movie ): Movie; external name '_CutMovieSelection';
  4984. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4985. {
  4986. * CopyMovieSelection()
  4987. *
  4988. * Availability:
  4989. * Mac OS X: in version 10.0 and later in QuickTime.framework
  4990. * CarbonLib: in CarbonLib 1.0 and later
  4991. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  4992. * Windows: in qtmlClient.lib 3.0 and later
  4993. }
  4994. function CopyMovieSelection( theMovie: Movie ): Movie; external name '_CopyMovieSelection';
  4995. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4996. {
  4997. * PasteMovieSelection()
  4998. *
  4999. * Availability:
  5000. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5001. * CarbonLib: in CarbonLib 1.0 and later
  5002. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5003. * Windows: in qtmlClient.lib 3.0 and later
  5004. }
  5005. procedure PasteMovieSelection( theMovie: Movie; src: Movie ); external name '_PasteMovieSelection';
  5006. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5007. {
  5008. * AddMovieSelection()
  5009. *
  5010. * Availability:
  5011. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5012. * CarbonLib: in CarbonLib 1.0 and later
  5013. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5014. * Windows: in qtmlClient.lib 3.0 and later
  5015. }
  5016. procedure AddMovieSelection( theMovie: Movie; src: Movie ); external name '_AddMovieSelection';
  5017. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5018. {
  5019. * ClearMovieSelection()
  5020. *
  5021. * Availability:
  5022. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5023. * CarbonLib: in CarbonLib 1.0 and later
  5024. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5025. * Windows: in qtmlClient.lib 3.0 and later
  5026. }
  5027. procedure ClearMovieSelection( theMovie: Movie ); external name '_ClearMovieSelection';
  5028. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5029. {
  5030. * PasteHandleIntoMovie()
  5031. *
  5032. * Availability:
  5033. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5034. * CarbonLib: in CarbonLib 1.0 and later
  5035. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5036. * Windows: in qtmlClient.lib 3.0 and later
  5037. }
  5038. function PasteHandleIntoMovie( h: Handle; handleType: OSType; theMovie: Movie; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_PasteHandleIntoMovie';
  5039. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5040. {
  5041. * PutMovieIntoTypedHandle()
  5042. *
  5043. * Availability:
  5044. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5045. * CarbonLib: in CarbonLib 1.0 and later
  5046. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5047. * Windows: in qtmlClient.lib 3.0 and later
  5048. }
  5049. function PutMovieIntoTypedHandle( theMovie: Movie; targetTrack: Track; handleType: OSType; publicMovie: Handle; start: TimeValue; dur: TimeValue; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_PutMovieIntoTypedHandle';
  5050. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5051. {
  5052. * IsScrapMovie()
  5053. *
  5054. * Availability:
  5055. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5056. * CarbonLib: in CarbonLib 1.0 and later
  5057. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5058. * Windows: in qtmlClient.lib 3.0 and later
  5059. }
  5060. function IsScrapMovie( targetTrack: Track ): Component; external name '_IsScrapMovie';
  5061. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5062. {************************
  5063. * Middle-level Editing Routines
  5064. *************************}
  5065. {
  5066. * CopyTrackSettings()
  5067. *
  5068. * Availability:
  5069. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5070. * CarbonLib: in CarbonLib 1.0 and later
  5071. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5072. * Windows: in qtmlClient.lib 3.0 and later
  5073. }
  5074. function CopyTrackSettings( srcTrack: Track; dstTrack: Track ): OSErr; external name '_CopyTrackSettings';
  5075. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5076. {
  5077. * CopyMovieSettings()
  5078. *
  5079. * Availability:
  5080. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5081. * CarbonLib: in CarbonLib 1.0 and later
  5082. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5083. * Windows: in qtmlClient.lib 3.0 and later
  5084. }
  5085. function CopyMovieSettings( srcMovie: Movie; dstMovie: Movie ): OSErr; external name '_CopyMovieSettings';
  5086. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5087. {
  5088. * AddEmptyTrackToMovie()
  5089. *
  5090. * Availability:
  5091. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5092. * CarbonLib: in CarbonLib 1.0 and later
  5093. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5094. * Windows: in qtmlClient.lib 3.0 and later
  5095. }
  5096. function AddEmptyTrackToMovie( srcTrack: Track; dstMovie: Movie; dataRef: Handle; dataRefType: OSType; var dstTrack: Track ): OSErr; external name '_AddEmptyTrackToMovie';
  5097. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5098. const
  5099. kQTCloneShareSamples = 1 shl 0;
  5100. kQTCloneDontCopyEdits = 1 shl 1;
  5101. {
  5102. * AddClonedTrackToMovie()
  5103. *
  5104. * Availability:
  5105. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5106. * CarbonLib: in CarbonLib 1.3 and later
  5107. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  5108. * Windows: in qtmlClient.lib 5.0 and later
  5109. }
  5110. function AddClonedTrackToMovie( srcTrack: Track; dstMovie: Movie; flags: SIGNEDLONG; var dstTrack: Track ): OSErr; external name '_AddClonedTrackToMovie';
  5111. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5112. {************************
  5113. * movie & track edit state routines
  5114. *************************}
  5115. {
  5116. * NewMovieEditState()
  5117. *
  5118. * Availability:
  5119. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5120. * CarbonLib: in CarbonLib 1.0 and later
  5121. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5122. * Windows: in qtmlClient.lib 3.0 and later
  5123. }
  5124. function NewMovieEditState( theMovie: Movie ): MovieEditState; external name '_NewMovieEditState';
  5125. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5126. {
  5127. * UseMovieEditState()
  5128. *
  5129. * Availability:
  5130. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5131. * CarbonLib: in CarbonLib 1.0 and later
  5132. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5133. * Windows: in qtmlClient.lib 3.0 and later
  5134. }
  5135. function UseMovieEditState( theMovie: Movie; toState: MovieEditState ): OSErr; external name '_UseMovieEditState';
  5136. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5137. {
  5138. * DisposeMovieEditState()
  5139. *
  5140. * Availability:
  5141. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5142. * CarbonLib: in CarbonLib 1.0 and later
  5143. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5144. * Windows: in qtmlClient.lib 3.0 and later
  5145. }
  5146. function DisposeMovieEditState( state: MovieEditState ): OSErr; external name '_DisposeMovieEditState';
  5147. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5148. {
  5149. * NewTrackEditState()
  5150. *
  5151. * Availability:
  5152. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5153. * CarbonLib: in CarbonLib 1.0 and later
  5154. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5155. * Windows: in qtmlClient.lib 3.0 and later
  5156. }
  5157. function NewTrackEditState( theTrack: Track ): TrackEditState; external name '_NewTrackEditState';
  5158. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5159. {
  5160. * UseTrackEditState()
  5161. *
  5162. * Availability:
  5163. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5164. * CarbonLib: in CarbonLib 1.0 and later
  5165. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5166. * Windows: in qtmlClient.lib 3.0 and later
  5167. }
  5168. function UseTrackEditState( theTrack: Track; state: TrackEditState ): OSErr; external name '_UseTrackEditState';
  5169. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5170. {
  5171. * DisposeTrackEditState()
  5172. *
  5173. * Availability:
  5174. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5175. * CarbonLib: in CarbonLib 1.0 and later
  5176. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5177. * Windows: in qtmlClient.lib 3.0 and later
  5178. }
  5179. function DisposeTrackEditState( state: TrackEditState ): OSErr; external name '_DisposeTrackEditState';
  5180. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5181. {************************
  5182. * track reference routines
  5183. *************************}
  5184. {
  5185. * AddTrackReference()
  5186. *
  5187. * Availability:
  5188. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5189. * CarbonLib: in CarbonLib 1.0 and later
  5190. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5191. * Windows: in qtmlClient.lib 3.0 and later
  5192. }
  5193. function AddTrackReference( theTrack: Track; refTrack: Track; refType: OSType; var addedIndex: SIGNEDLONG ): OSErr; external name '_AddTrackReference';
  5194. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5195. {
  5196. * DeleteTrackReference()
  5197. *
  5198. * Availability:
  5199. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5200. * CarbonLib: in CarbonLib 1.0 and later
  5201. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5202. * Windows: in qtmlClient.lib 3.0 and later
  5203. }
  5204. function DeleteTrackReference( theTrack: Track; refType: OSType; index: SIGNEDLONG ): OSErr; external name '_DeleteTrackReference';
  5205. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5206. {
  5207. * SetTrackReference()
  5208. *
  5209. * Availability:
  5210. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5211. * CarbonLib: in CarbonLib 1.0 and later
  5212. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5213. * Windows: in qtmlClient.lib 3.0 and later
  5214. }
  5215. function SetTrackReference( theTrack: Track; refTrack: Track; refType: OSType; index: SIGNEDLONG ): OSErr; external name '_SetTrackReference';
  5216. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5217. {
  5218. * GetTrackReference()
  5219. *
  5220. * Availability:
  5221. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5222. * CarbonLib: in CarbonLib 1.0 and later
  5223. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5224. * Windows: in qtmlClient.lib 3.0 and later
  5225. }
  5226. function GetTrackReference( theTrack: Track; refType: OSType; index: SIGNEDLONG ): Track; external name '_GetTrackReference';
  5227. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5228. {
  5229. * GetNextTrackReferenceType()
  5230. *
  5231. * Availability:
  5232. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5233. * CarbonLib: in CarbonLib 1.0 and later
  5234. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5235. * Windows: in qtmlClient.lib 3.0 and later
  5236. }
  5237. function GetNextTrackReferenceType( theTrack: Track; refType: OSType ): OSType; external name '_GetNextTrackReferenceType';
  5238. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5239. {
  5240. * GetTrackReferenceCount()
  5241. *
  5242. * Availability:
  5243. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5244. * CarbonLib: in CarbonLib 1.0 and later
  5245. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5246. * Windows: in qtmlClient.lib 3.0 and later
  5247. }
  5248. function GetTrackReferenceCount( theTrack: Track; refType: OSType ): SIGNEDLONG; external name '_GetTrackReferenceCount';
  5249. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5250. {************************
  5251. * high level file conversion routines
  5252. *************************}
  5253. {
  5254. * ConvertFileToMovieFile()
  5255. *
  5256. * Availability:
  5257. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5258. * CarbonLib: in CarbonLib 1.0 and later
  5259. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5260. * Windows: in qtmlClient.lib 3.0 and later
  5261. }
  5262. function ConvertFileToMovieFile( const (*var*) inputFile: FSSpec; const (*var*) outputFile: FSSpec; creator: OSType; scriptTag: ScriptCode; var resID: SInt16; flags: SIGNEDLONG; userComp: ComponentInstance; proc: MovieProgressUPP; refCon: SIGNEDLONG ): OSErr; external name '_ConvertFileToMovieFile';
  5263. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5264. {
  5265. * ConvertMovieToFile()
  5266. *
  5267. * Availability:
  5268. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5269. * CarbonLib: in CarbonLib 1.0 and later
  5270. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5271. * Windows: in qtmlClient.lib 3.0 and later
  5272. }
  5273. function ConvertMovieToFile( theMovie: Movie; onlyTrack: Track; var outputFile: FSSpec; fileType: OSType; creator: OSType; scriptTag: ScriptCode; var resID: SInt16; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_ConvertMovieToFile';
  5274. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5275. {
  5276. * ConvertMovieToDataRef()
  5277. *
  5278. * Availability:
  5279. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  5280. * CarbonLib: not available
  5281. * Non-Carbon CFM: not available
  5282. * Windows: in qtmlClient.lib 6.5 and later
  5283. }
  5284. function ConvertMovieToDataRef( m: Movie; onlyTrack: Track; dataRef: Handle; dataRefType: OSType; fileType: OSType; creator: OSType; flags: SIGNEDLONG; userComp: ComponentInstance ): OSErr; external name '_ConvertMovieToDataRef';
  5285. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  5286. {
  5287. * ConvertDataRefToMovieDataRef()
  5288. *
  5289. * Availability:
  5290. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  5291. * CarbonLib: not available
  5292. * Non-Carbon CFM: not available
  5293. * Windows: in qtmlClient.lib 6.5 and later
  5294. }
  5295. function ConvertDataRefToMovieDataRef( inputDataRef: Handle; inputDataRefType: OSType; outputDataRef: Handle; outputDataRefType: OSType; creator: OSType; flags: SIGNEDLONG; userComp: ComponentInstance; proc: MovieProgressUPP; refCon: SIGNEDLONG ): OSErr; external name '_ConvertDataRefToMovieDataRef';
  5296. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  5297. const
  5298. kGetMovieImporterValidateToFind = 1 shl 0;
  5299. kGetMovieImporterAllowNewFile = 1 shl 1;
  5300. kGetMovieImporterDontConsiderGraphicsImporters = 1 shl 2;
  5301. kGetMovieImporterDontConsiderFileOnlyImporters = 1 shl 6;
  5302. kGetMovieImporterAutoImportOnly = 1 shl 10; { reject aggressive movie importers which have dontAutoFileMovieImport set}
  5303. {
  5304. * GetMovieImporterForDataRef()
  5305. *
  5306. * Availability:
  5307. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5308. * CarbonLib: in CarbonLib 1.0 and later
  5309. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  5310. * Windows: in qtmlClient.lib 3.0 and later
  5311. }
  5312. function GetMovieImporterForDataRef( dataRefType: OSType; dataRef: Handle; flags: SIGNEDLONG; var importer: Component ): OSErr; external name '_GetMovieImporterForDataRef';
  5313. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5314. const
  5315. kQTGetMIMETypeInfoIsQuickTimeMovieType = FourCharCode('moov'); { info is a pointer to a Boolean}
  5316. kQTGetMIMETypeInfoIsUnhelpfulType = FourCharCode('dumb'); { info is a pointer to a Boolean}
  5317. {
  5318. * QTGetMIMETypeInfo()
  5319. *
  5320. * Availability:
  5321. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5322. * CarbonLib: in CarbonLib 1.3 and later
  5323. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  5324. * Windows: in qtmlClient.lib 5.0 and later
  5325. }
  5326. function QTGetMIMETypeInfo( mimeStringStart: ConstCStringPtr; mimeStringLength: SInt16; infoSelector: OSType; infoDataPtr: UnivPtr; var infoDataSize: SIGNEDLONG ): OSErr; external name '_QTGetMIMETypeInfo';
  5327. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5328. {***************************
  5329. * Movie importer properties
  5330. ****************************}
  5331. const
  5332. kQTPropertyClass_MovieImporter = FourCharCode('eat ');
  5333. {
  5334. * kQTMovieImporterPropertyID_AllowMediaOptimization: Value is
  5335. * Boolean (get/set) Allow QuickTime importers to optimize the media
  5336. * representation during import. This may create media that is not
  5337. * fully compatible with applications that use older low-level APIs
  5338. * to access and manipulate media samples. For instance, this
  5339. * property allows the MP3 importer to create VBR sample tables,
  5340. * which may be incompatible with applications that use
  5341. * GetMediaSample and SoundConverter to manually decode audio samples.
  5342. }
  5343. kQTMovieImporterPropertyID_AllowMediaOptimization = FourCharCode('amop'); { Boolean}
  5344. {************************
  5345. * Movie Timebase Conversion Routines
  5346. *************************}
  5347. {
  5348. * TrackTimeToMediaDisplayTime()
  5349. *
  5350. * Summary:
  5351. * Converts a track's time value to a display time value that is
  5352. * appropriate to the track's media, using the track's edit list.
  5353. * This is a 64-bit replacement for TrackTimeToMediaTime.
  5354. *
  5355. * Discussion:
  5356. * This function maps the track time through the track's edit list
  5357. * to come up with the media time. This time value contains the
  5358. * track's time value according to the media's time coordinate
  5359. * system. If the time you specified lies outside of the movie's
  5360. * active segment or corresponds to empty space in the track, this
  5361. * function returns a value of -1. Hence you can use it to determine
  5362. * whether a specified track edit is empty.
  5363. *
  5364. * Parameters:
  5365. *
  5366. * value:
  5367. * The track's time value; must be expressed in the time scale of
  5368. * the movie that contains the track.
  5369. *
  5370. * theTrack:
  5371. * The track for this operation. Your application obtains this
  5372. * track identifier from such functions as NewMovieTrack and
  5373. * GetMovieTrack.
  5374. *
  5375. * Result:
  5376. * The corresponding time in media display time, in the media's time
  5377. * coordinate system. If the track time corresponds to empty space,
  5378. * this function returns a value of -1.
  5379. *
  5380. * Availability:
  5381. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5382. * CarbonLib: not available
  5383. * Non-Carbon CFM: not available
  5384. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5385. }
  5386. function TrackTimeToMediaDisplayTime( value: TimeValue64; theTrack: Track ): TimeValue64; external name '_TrackTimeToMediaDisplayTime';
  5387. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5388. {
  5389. * TrackTimeToMediaTime()
  5390. *
  5391. * Availability:
  5392. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5393. * CarbonLib: in CarbonLib 1.0 and later
  5394. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5395. * Windows: in qtmlClient.lib 3.0 and later
  5396. }
  5397. function TrackTimeToMediaTime( value: TimeValue; theTrack: Track ): TimeValue; external name '_TrackTimeToMediaTime';
  5398. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5399. {
  5400. * GetTrackEditRate64()
  5401. *
  5402. * Summary:
  5403. * Returns the rate of the track edit of a specified track at an
  5404. * indicated time. This is a 64-bit replacement for GetTrackEditRate.
  5405. *
  5406. * Discussion:
  5407. * This function is useful if you are stepping through track edits
  5408. * directly in your application or if you are a client of
  5409. * QuickTime's base media handler.
  5410. *
  5411. * Parameters:
  5412. *
  5413. * theTrack:
  5414. * The track identifier for which the rate of a track edit (at the
  5415. * time given in the atTime parameter) is to be determined.
  5416. *
  5417. * atTime:
  5418. * Indicates a time value at which the rate of a track edit (of a
  5419. * track identified in the parameter theTrack) is to be determined.
  5420. *
  5421. * Result:
  5422. * The rate of the track edit of the specified track at the
  5423. * specified time.
  5424. *
  5425. * Availability:
  5426. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5427. * CarbonLib: not available
  5428. * Non-Carbon CFM: not available
  5429. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5430. }
  5431. function GetTrackEditRate64( theTrack: Track; atTime: TimeValue64 ): Fixed; external name '_GetTrackEditRate64';
  5432. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5433. {
  5434. * GetTrackEditRate()
  5435. *
  5436. * Availability:
  5437. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5438. * CarbonLib: in CarbonLib 1.0 and later
  5439. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5440. * Windows: in qtmlClient.lib 3.0 and later
  5441. }
  5442. function GetTrackEditRate( theTrack: Track; atTime: TimeValue ): Fixed; external name '_GetTrackEditRate';
  5443. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5444. {************************
  5445. * Miscellaneous Routines
  5446. *************************}
  5447. {
  5448. * GetMovieDataSize()
  5449. *
  5450. * Availability:
  5451. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5452. * CarbonLib: in CarbonLib 1.0 and later
  5453. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5454. * Windows: in qtmlClient.lib 3.0 and later
  5455. }
  5456. function GetMovieDataSize( theMovie: Movie; startTime: TimeValue; duration: TimeValue ): SIGNEDLONG; external name '_GetMovieDataSize';
  5457. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5458. {
  5459. * GetMovieDataSize64()
  5460. *
  5461. * Availability:
  5462. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5463. * CarbonLib: in CarbonLib 1.0.2 and later
  5464. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  5465. * Windows: in qtmlClient.lib 4.0 and later
  5466. }
  5467. function GetMovieDataSize64( theMovie: Movie; startTime: TimeValue; duration: TimeValue; var dataSize: wide ): OSErr; external name '_GetMovieDataSize64';
  5468. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5469. {
  5470. * GetTrackDataSize()
  5471. *
  5472. * Availability:
  5473. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5474. * CarbonLib: in CarbonLib 1.0 and later
  5475. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5476. * Windows: in qtmlClient.lib 3.0 and later
  5477. }
  5478. function GetTrackDataSize( theTrack: Track; startTime: TimeValue; duration: TimeValue ): SIGNEDLONG; external name '_GetTrackDataSize';
  5479. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5480. {
  5481. * GetTrackDataSize64()
  5482. *
  5483. * Availability:
  5484. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5485. * CarbonLib: in CarbonLib 1.0.2 and later
  5486. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  5487. * Windows: in qtmlClient.lib 4.0 and later
  5488. }
  5489. function GetTrackDataSize64( theTrack: Track; startTime: TimeValue; duration: TimeValue; var dataSize: wide ): OSErr; external name '_GetTrackDataSize64';
  5490. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5491. {
  5492. * GetMediaDataSizeTime64()
  5493. *
  5494. * Summary:
  5495. * Determines the size, in bytes, of the sample data in a media
  5496. * segment. This function uses 64-bit time values and returns a
  5497. * 64-bit size.
  5498. *
  5499. * Discussion:
  5500. * The only difference between this function and GetMediaDataSize64
  5501. * is that it uses 64-bit time values.
  5502. *
  5503. * Parameters:
  5504. *
  5505. * theMedia:
  5506. * The media for this operation. Your application obtains this
  5507. * media identifier from such functions as NewTrackMedia and
  5508. * GetTrackMedia.
  5509. *
  5510. * startDisplayTime:
  5511. * A time value specifying the starting point of the segment in
  5512. * media display time.
  5513. *
  5514. * displayDuration:
  5515. * A time value that specifies the duration of the segment in
  5516. * media display time.
  5517. *
  5518. * dataSize:
  5519. * Points to a variable to receive the size, in bytes, of the
  5520. * sample data in the defined media segment.
  5521. *
  5522. * Availability:
  5523. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5524. * CarbonLib: not available
  5525. * Non-Carbon CFM: not available
  5526. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5527. }
  5528. function GetMediaDataSizeTime64( theMedia: Media; startDisplayTime: TimeValue64; displayDuration: TimeValue64; var dataSize: SInt64 ): OSErr; external name '_GetMediaDataSizeTime64';
  5529. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5530. {
  5531. * GetMediaDataSize()
  5532. *
  5533. * Availability:
  5534. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5535. * CarbonLib: in CarbonLib 1.0 and later
  5536. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5537. * Windows: in qtmlClient.lib 3.0 and later
  5538. }
  5539. function GetMediaDataSize( theMedia: Media; startTime: TimeValue; duration: TimeValue ): SIGNEDLONG; external name '_GetMediaDataSize';
  5540. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5541. {
  5542. * GetMediaDataSize64()
  5543. *
  5544. * Availability:
  5545. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5546. * CarbonLib: in CarbonLib 1.0.2 and later
  5547. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  5548. * Windows: in qtmlClient.lib 4.0 and later
  5549. }
  5550. function GetMediaDataSize64( theMedia: Media; startTime: TimeValue; duration: TimeValue; var dataSize: wide ): OSErr; external name '_GetMediaDataSize64';
  5551. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5552. {
  5553. * PtInMovie()
  5554. *
  5555. * Availability:
  5556. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5557. * CarbonLib: in CarbonLib 1.0 and later
  5558. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5559. * Windows: in qtmlClient.lib 3.0 and later
  5560. }
  5561. function PtInMovie( theMovie: Movie; pt: Point ): Boolean; external name '_PtInMovie';
  5562. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5563. {
  5564. * PtInTrack()
  5565. *
  5566. * Availability:
  5567. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5568. * CarbonLib: in CarbonLib 1.0 and later
  5569. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5570. * Windows: in qtmlClient.lib 3.0 and later
  5571. }
  5572. function PtInTrack( theTrack: Track; pt: Point ): Boolean; external name '_PtInTrack';
  5573. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5574. {************************
  5575. * Group Selection Routines
  5576. *************************}
  5577. {
  5578. * SetMovieLanguage()
  5579. *
  5580. * Availability:
  5581. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5582. * CarbonLib: in CarbonLib 1.0 and later
  5583. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5584. * Windows: in qtmlClient.lib 3.0 and later
  5585. }
  5586. procedure SetMovieLanguage( theMovie: Movie; language: SIGNEDLONG ); external name '_SetMovieLanguage';
  5587. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5588. {************************
  5589. * User Data
  5590. *************************}
  5591. {
  5592. * GetUserData()
  5593. *
  5594. * Availability:
  5595. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5596. * CarbonLib: in CarbonLib 1.0 and later
  5597. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5598. * Windows: in qtmlClient.lib 3.0 and later
  5599. }
  5600. function GetUserData( theUserData: UserData; data: Handle; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_GetUserData';
  5601. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5602. {
  5603. * AddUserData()
  5604. *
  5605. * Availability:
  5606. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5607. * CarbonLib: in CarbonLib 1.0 and later
  5608. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5609. * Windows: in qtmlClient.lib 3.0 and later
  5610. }
  5611. function AddUserData( theUserData: UserData; data: Handle; udType: OSType ): OSErr; external name '_AddUserData';
  5612. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5613. {
  5614. * RemoveUserData()
  5615. *
  5616. * Availability:
  5617. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5618. * CarbonLib: in CarbonLib 1.0 and later
  5619. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5620. * Windows: in qtmlClient.lib 3.0 and later
  5621. }
  5622. function RemoveUserData( theUserData: UserData; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_RemoveUserData';
  5623. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5624. {
  5625. * CountUserDataType()
  5626. *
  5627. * Availability:
  5628. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5629. * CarbonLib: in CarbonLib 1.0 and later
  5630. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5631. * Windows: in qtmlClient.lib 3.0 and later
  5632. }
  5633. function CountUserDataType( theUserData: UserData; udType: OSType ): SInt16; external name '_CountUserDataType';
  5634. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5635. {
  5636. * GetNextUserDataType()
  5637. *
  5638. * Availability:
  5639. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5640. * CarbonLib: in CarbonLib 1.0 and later
  5641. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5642. * Windows: in qtmlClient.lib 3.0 and later
  5643. }
  5644. function GetNextUserDataType( theUserData: UserData; udType: OSType ): SIGNEDLONG; external name '_GetNextUserDataType';
  5645. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5646. {
  5647. * GetUserDataItem()
  5648. *
  5649. * Availability:
  5650. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5651. * CarbonLib: in CarbonLib 1.0 and later
  5652. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5653. * Windows: in qtmlClient.lib 3.0 and later
  5654. }
  5655. function GetUserDataItem( theUserData: UserData; data: UnivPtr; size: SIGNEDLONG; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_GetUserDataItem';
  5656. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5657. {
  5658. * SetUserDataItem()
  5659. *
  5660. * Availability:
  5661. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5662. * CarbonLib: in CarbonLib 1.0 and later
  5663. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5664. * Windows: in qtmlClient.lib 3.0 and later
  5665. }
  5666. function SetUserDataItem( theUserData: UserData; data: UnivPtr; size: SIGNEDLONG; udType: OSType; index: SIGNEDLONG ): OSErr; external name '_SetUserDataItem';
  5667. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5668. {
  5669. * AddUserDataText()
  5670. *
  5671. * Availability:
  5672. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5673. * CarbonLib: in CarbonLib 1.0 and later
  5674. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5675. * Windows: in qtmlClient.lib 3.0 and later
  5676. }
  5677. function AddUserDataText( theUserData: UserData; data: Handle; udType: OSType; index: SIGNEDLONG; itlRegionTag: SInt16 ): OSErr; external name '_AddUserDataText';
  5678. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5679. {
  5680. * GetUserDataText()
  5681. *
  5682. * Availability:
  5683. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5684. * CarbonLib: in CarbonLib 1.0 and later
  5685. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5686. * Windows: in qtmlClient.lib 3.0 and later
  5687. }
  5688. function GetUserDataText( theUserData: UserData; data: Handle; udType: OSType; index: SIGNEDLONG; itlRegionTag: SInt16 ): OSErr; external name '_GetUserDataText';
  5689. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5690. {
  5691. * RemoveUserDataText()
  5692. *
  5693. * Availability:
  5694. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5695. * CarbonLib: in CarbonLib 1.0 and later
  5696. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5697. * Windows: in qtmlClient.lib 3.0 and later
  5698. }
  5699. function RemoveUserDataText( theUserData: UserData; udType: OSType; index: SIGNEDLONG; itlRegionTag: SInt16 ): OSErr; external name '_RemoveUserDataText';
  5700. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5701. {
  5702. * NewUserData()
  5703. *
  5704. * Availability:
  5705. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5706. * CarbonLib: in CarbonLib 1.0 and later
  5707. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5708. * Windows: in qtmlClient.lib 3.0 and later
  5709. }
  5710. function NewUserData( var theUserData: UserData ): OSErr; external name '_NewUserData';
  5711. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5712. {
  5713. * DisposeUserData()
  5714. *
  5715. * Availability:
  5716. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5717. * CarbonLib: in CarbonLib 1.0 and later
  5718. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5719. * Windows: in qtmlClient.lib 3.0 and later
  5720. }
  5721. function DisposeUserData( theUserData: UserData ): OSErr; external name '_DisposeUserData';
  5722. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5723. {
  5724. * NewUserDataFromHandle()
  5725. *
  5726. * Availability:
  5727. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5728. * CarbonLib: in CarbonLib 1.0 and later
  5729. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5730. * Windows: in qtmlClient.lib 3.0 and later
  5731. }
  5732. function NewUserDataFromHandle( h: Handle; var theUserData: UserData ): OSErr; external name '_NewUserDataFromHandle';
  5733. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5734. {
  5735. * PutUserDataIntoHandle()
  5736. *
  5737. * Availability:
  5738. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5739. * CarbonLib: in CarbonLib 1.0 and later
  5740. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5741. * Windows: in qtmlClient.lib 3.0 and later
  5742. }
  5743. function PutUserDataIntoHandle( theUserData: UserData; h: Handle ): OSErr; external name '_PutUserDataIntoHandle';
  5744. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5745. const
  5746. kQTCopyUserDataReplace = FourCharCode('rplc'); { Delete all destination user data items and then add source user data items }
  5747. kQTCopyUserDataMerge = FourCharCode('merg'); { Add source user data items to destination user data }
  5748. {
  5749. * CopyMovieUserData()
  5750. *
  5751. * Availability:
  5752. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5753. * CarbonLib: in CarbonLib 1.6 and later
  5754. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5755. * Windows: in qtmlClient.lib 6.0 and later
  5756. }
  5757. function CopyMovieUserData( srcMovie: Movie; dstMovie: Movie; copyRule: OSType ): OSErr; external name '_CopyMovieUserData';
  5758. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5759. {
  5760. * CopyTrackUserData()
  5761. *
  5762. * Availability:
  5763. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5764. * CarbonLib: in CarbonLib 1.6 and later
  5765. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5766. * Windows: in qtmlClient.lib 6.0 and later
  5767. }
  5768. function CopyTrackUserData( srcTrack: Track; dstTrack: Track; copyRule: OSType ): OSErr; external name '_CopyTrackUserData';
  5769. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5770. {
  5771. * CopyMediaUserData()
  5772. *
  5773. * Availability:
  5774. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5775. * CarbonLib: in CarbonLib 1.6 and later
  5776. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5777. * Windows: in qtmlClient.lib 6.0 and later
  5778. }
  5779. function CopyMediaUserData( srcMedia: Media; dstMedia: Media; copyRule: OSType ): OSErr; external name '_CopyMediaUserData';
  5780. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5781. {
  5782. * CopyUserData()
  5783. *
  5784. * Availability:
  5785. * Mac OS X: in version 10.2 and later in QuickTime.framework
  5786. * CarbonLib: in CarbonLib 1.6 and later
  5787. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  5788. * Windows: in qtmlClient.lib 6.0 and later
  5789. }
  5790. function CopyUserData( srcUserData: UserData; dstUserData: UserData; copyRule: OSType ): OSErr; external name '_CopyUserData';
  5791. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  5792. {
  5793. * SetMoviePropertyAtom()
  5794. *
  5795. * Availability:
  5796. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5797. * CarbonLib: in CarbonLib 1.1 and later
  5798. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  5799. * Windows: in qtmlClient.lib 4.1 and later
  5800. }
  5801. function SetMoviePropertyAtom( theMovie: Movie; propertyAtom: QTAtomContainer ): OSErr; external name '_SetMoviePropertyAtom';
  5802. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5803. {
  5804. * GetMoviePropertyAtom()
  5805. *
  5806. * Availability:
  5807. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5808. * CarbonLib: in CarbonLib 1.1 and later
  5809. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  5810. * Windows: in qtmlClient.lib 4.1 and later
  5811. }
  5812. function GetMoviePropertyAtom( theMovie: Movie; var propertyAtom: QTAtomContainer ): OSErr; external name '_GetMoviePropertyAtom';
  5813. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5814. {
  5815. * GetMediaNextInterestingDecodeTime()
  5816. *
  5817. * Summary:
  5818. * Searches for decode times of interest in a media.
  5819. *
  5820. * Discussion:
  5821. * This function takes the same flags as GetMediaNextInterestingTime.
  5822. *
  5823. * Parameters:
  5824. *
  5825. * theMedia:
  5826. * The media for this operation. Your application obtains this
  5827. * media identifier from such functions as NewTrackMedia and
  5828. * GetTrackMedia.
  5829. *
  5830. * interestingTimeFlags:
  5831. * Contains flags that determine the search criteria. Note that
  5832. * you may set only one of the nextTimeMediaSample,
  5833. * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
  5834. * flags to 0.
  5835. *
  5836. * decodeTime:
  5837. * Specifies a time value that establishes the starting point for
  5838. * the search. This time value must be expressed in the media's
  5839. * time scale.
  5840. *
  5841. * rate:
  5842. * The search direction. Negative values cause the Movie Toolbox
  5843. * to search backward from the starting point specified in the
  5844. * decodeTime parameter. Other values cause a forward search.
  5845. *
  5846. * interestingDecodeTime:
  5847. * A pointer to a time value. The Movie Toolbox returns the first
  5848. * decode time value it finds that meets the search criteria
  5849. * specified in the flags parameter. This time value is in the
  5850. * media's time scale. If there are no times that meet the search
  5851. * criteria you specify, the Movie Toolbox sets this value to -1.
  5852. * Set this parameter to NULL if you are not interested in this
  5853. * information.
  5854. *
  5855. * interestingDecodeDuration:
  5856. * A pointer to a time value. The Movie Toolbox returns the decode
  5857. * duration of the interesting time. This time value is in the
  5858. * media's time coordinate system. Set this parameter to NULL if
  5859. * you don't want this information; this lets the function work
  5860. * faster.
  5861. *
  5862. * Availability:
  5863. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5864. * CarbonLib: not available
  5865. * Non-Carbon CFM: not available
  5866. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5867. }
  5868. procedure GetMediaNextInterestingDecodeTime( theMedia: Media; interestingTimeFlags: SInt16; decodeTime: TimeValue64; rate: Fixed; var interestingDecodeTime: TimeValue64; var interestingDecodeDuration: TimeValue64 ); external name '_GetMediaNextInterestingDecodeTime';
  5869. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5870. {
  5871. * GetMediaNextInterestingDisplayTime()
  5872. *
  5873. * Summary:
  5874. * Searches for display times of interest in a media.
  5875. *
  5876. * Discussion:
  5877. * This function takes the same flags as GetMediaNextInterestingTime.
  5878. *
  5879. * Parameters:
  5880. *
  5881. * theMedia:
  5882. * The media for this operation. Your application obtains this
  5883. * media identifier from such functions as NewTrackMedia and
  5884. * GetTrackMedia.
  5885. *
  5886. * interestingTimeFlags:
  5887. * Contains flags that determine the search criteria. Note that
  5888. * you may set only one of the nextTimeMediaSample,
  5889. * nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused
  5890. * flags to 0.
  5891. *
  5892. * displayTime:
  5893. * Specifies a time value that establishes the starting point for
  5894. * the search. This time value must be expressed in the media's
  5895. * time scale.
  5896. *
  5897. * rate:
  5898. * The search direction. Negative values cause the Movie Toolbox
  5899. * to search backward from the starting point specified in the
  5900. * time parameter. Other values cause a forward search.
  5901. *
  5902. * interestingDisplayTime:
  5903. * A pointer to a time value. The Movie Toolbox returns the first
  5904. * display time value it finds that meets the search criteria
  5905. * specified in the flags parameter. This time value is in the
  5906. * media's time scale. If there are no times that meet the search
  5907. * criteria you specify, the Movie Toolbox sets this value to -1.
  5908. * Set this parameter to NULL if you are not interested in this
  5909. * information.
  5910. *
  5911. * interestingDisplayDuration:
  5912. * A pointer to a time value. The Movie Toolbox returns the
  5913. * display duration of the interesting time. This time value is in
  5914. * the media's time coordinate system. Set this parameter to NULL
  5915. * if you don't want this information; this lets the function work
  5916. * faster.
  5917. *
  5918. * Availability:
  5919. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  5920. * CarbonLib: not available
  5921. * Non-Carbon CFM: not available
  5922. * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
  5923. }
  5924. procedure GetMediaNextInterestingDisplayTime( theMedia: Media; interestingTimeFlags: SInt16; displayTime: TimeValue64; rate: Fixed; var interestingDisplayTime: TimeValue64; var interestingDisplayDuration: TimeValue64 ); external name '_GetMediaNextInterestingDisplayTime';
  5925. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  5926. {
  5927. * GetMediaNextInterestingTime()
  5928. *
  5929. * Availability:
  5930. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5931. * CarbonLib: in CarbonLib 1.0 and later
  5932. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5933. * Windows: in qtmlClient.lib 3.0 and later
  5934. }
  5935. procedure GetMediaNextInterestingTime( theMedia: Media; interestingTimeFlags: SInt16; time: TimeValue; rate: Fixed; var interestingTime: TimeValue; var interestingDuration: TimeValue ); external name '_GetMediaNextInterestingTime';
  5936. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5937. {
  5938. * GetTrackNextInterestingTime()
  5939. *
  5940. * Availability:
  5941. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5942. * CarbonLib: in CarbonLib 1.0 and later
  5943. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5944. * Windows: in qtmlClient.lib 3.0 and later
  5945. }
  5946. procedure GetTrackNextInterestingTime( theTrack: Track; interestingTimeFlags: SInt16; time: TimeValue; rate: Fixed; var interestingTime: TimeValue; var interestingDuration: TimeValue ); external name '_GetTrackNextInterestingTime';
  5947. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5948. {
  5949. * GetMovieNextInterestingTime()
  5950. *
  5951. * Availability:
  5952. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5953. * CarbonLib: in CarbonLib 1.0 and later
  5954. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5955. * Windows: in qtmlClient.lib 3.0 and later
  5956. }
  5957. procedure GetMovieNextInterestingTime( theMovie: Movie; interestingTimeFlags: SInt16; numMediaTypes: SInt16; whichMediaTypes: OSTypePtr; time: TimeValue; rate: Fixed; var interestingTime: TimeValue; var interestingDuration: TimeValue ); external name '_GetMovieNextInterestingTime';
  5958. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5959. {
  5960. * CreateMovieFile()
  5961. *
  5962. * Availability:
  5963. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5964. * CarbonLib: in CarbonLib 1.0 and later
  5965. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5966. * Windows: in qtmlClient.lib 3.0 and later
  5967. }
  5968. function CreateMovieFile( const (*var*) fileSpec: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; var resRefNum: SInt16; var newmovie: Movie ): OSErr; external name '_CreateMovieFile';
  5969. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5970. {
  5971. * OpenMovieFile()
  5972. *
  5973. * Availability:
  5974. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5975. * CarbonLib: in CarbonLib 1.0 and later
  5976. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5977. * Windows: in qtmlClient.lib 3.0 and later
  5978. }
  5979. function OpenMovieFile( const (*var*) fileSpec: FSSpec; var resRefNum: SInt16; permission: SInt8 ): OSErr; external name '_OpenMovieFile';
  5980. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5981. {
  5982. * CloseMovieFile()
  5983. *
  5984. * Availability:
  5985. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5986. * CarbonLib: in CarbonLib 1.0 and later
  5987. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5988. * Windows: in qtmlClient.lib 3.0 and later
  5989. }
  5990. function CloseMovieFile( resRefNum: SInt16 ): OSErr; external name '_CloseMovieFile';
  5991. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  5992. {
  5993. * DeleteMovieFile()
  5994. *
  5995. * Availability:
  5996. * Mac OS X: in version 10.0 and later in QuickTime.framework
  5997. * CarbonLib: in CarbonLib 1.0 and later
  5998. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  5999. * Windows: in qtmlClient.lib 3.0 and later
  6000. }
  6001. function DeleteMovieFile( const (*var*) fileSpec: FSSpec ): OSErr; external name '_DeleteMovieFile';
  6002. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6003. {
  6004. * NewMovieFromFile()
  6005. *
  6006. * Availability:
  6007. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6008. * CarbonLib: in CarbonLib 1.0 and later
  6009. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6010. * Windows: in qtmlClient.lib 3.0 and later
  6011. }
  6012. function NewMovieFromFile( var theMovie: Movie; resRefNum: SInt16; resId: SInt16Ptr { can be NULL }; resName: StringPtr; newMovieFlags: SInt16; dataRefWasChanged: BooleanPtr { can be NULL } ): OSErr; external name '_NewMovieFromFile';
  6013. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6014. {
  6015. * NewMovieFromHandle()
  6016. *
  6017. * Availability:
  6018. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6019. * CarbonLib: in CarbonLib 1.0 and later
  6020. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6021. * Windows: in qtmlClient.lib 3.0 and later
  6022. }
  6023. function NewMovieFromHandle( var theMovie: Movie; h: Handle; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromHandle';
  6024. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6025. {
  6026. * NewMovieFromDataFork()
  6027. *
  6028. * Availability:
  6029. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6030. * CarbonLib: in CarbonLib 1.0 and later
  6031. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6032. * Windows: in qtmlClient.lib 3.0 and later
  6033. }
  6034. function NewMovieFromDataFork( var theMovie: Movie; fRefNum: SInt16; fileOffset: SIGNEDLONG; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromDataFork';
  6035. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6036. {
  6037. * NewMovieFromDataFork64()
  6038. *
  6039. * Availability:
  6040. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6041. * CarbonLib: in CarbonLib 1.0.2 and later
  6042. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6043. * Windows: in qtmlClient.lib 4.0 and later
  6044. }
  6045. function NewMovieFromDataFork64( var theMovie: Movie; fRefNum: SIGNEDLONG; const (*var*) fileOffset: wide; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromDataFork64';
  6046. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6047. {
  6048. * NewMovieFromUserProc()
  6049. *
  6050. * Availability:
  6051. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6052. * CarbonLib: in CarbonLib 1.0 and later
  6053. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6054. * Windows: in qtmlClient.lib 3.0 and later
  6055. }
  6056. function NewMovieFromUserProc( var m: Movie; flags: SInt16; var dataRefWasChanged: Boolean; getProc: GetMovieUPP; refCon: UnivPtr; defaultDataRef: Handle; dataRefType: OSType ): OSErr; external name '_NewMovieFromUserProc';
  6057. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6058. {
  6059. * NewMovieFromDataRef()
  6060. *
  6061. * Availability:
  6062. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6063. * CarbonLib: in CarbonLib 1.0 and later
  6064. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6065. * Windows: in qtmlClient.lib 3.0 and later
  6066. }
  6067. function NewMovieFromDataRef( var m: Movie; flags: SInt16; var id: SInt16; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_NewMovieFromDataRef';
  6068. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6069. {
  6070. * NewMovieFromStorageOffset()
  6071. *
  6072. * Availability:
  6073. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6074. * CarbonLib: in CarbonLib 1.6 and later
  6075. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6076. * Windows: in qtmlClient.lib 6.0 and later
  6077. }
  6078. function NewMovieFromStorageOffset( var theMovie: Movie; dh: DataHandler; const (*var*) fileOffset: wide; newMovieFlags: SInt16; var dataRefWasChanged: Boolean ): OSErr; external name '_NewMovieFromStorageOffset';
  6079. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6080. {
  6081. * NewMovieForDataRefFromHandle()
  6082. *
  6083. * Availability:
  6084. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6085. * CarbonLib: in CarbonLib 1.6 and later
  6086. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6087. * Windows: in qtmlClient.lib 6.0 and later
  6088. }
  6089. function NewMovieForDataRefFromHandle( var theMovie: Movie; h: Handle; newMovieFlags: SInt16; var dataRefWasChanged: Boolean; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_NewMovieForDataRefFromHandle';
  6090. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6091. {
  6092. * AddMovieResource()
  6093. *
  6094. * Availability:
  6095. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6096. * CarbonLib: in CarbonLib 1.0 and later
  6097. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6098. * Windows: in qtmlClient.lib 3.0 and later
  6099. }
  6100. function AddMovieResource( theMovie: Movie; resRefNum: SInt16; var resId: SInt16; const (*var*) resName: Str255 ): OSErr; external name '_AddMovieResource';
  6101. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6102. {
  6103. * UpdateMovieResource()
  6104. *
  6105. * Availability:
  6106. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6107. * CarbonLib: in CarbonLib 1.0 and later
  6108. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6109. * Windows: in qtmlClient.lib 3.0 and later
  6110. }
  6111. function UpdateMovieResource( theMovie: Movie; resRefNum: SInt16; resId: SInt16; const (*var*) resName: Str255 ): OSErr; external name '_UpdateMovieResource';
  6112. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6113. {
  6114. * RemoveMovieResource()
  6115. *
  6116. * Availability:
  6117. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6118. * CarbonLib: in CarbonLib 1.0 and later
  6119. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6120. * Windows: in qtmlClient.lib 3.0 and later
  6121. }
  6122. function RemoveMovieResource( resRefNum: SInt16; resId: SInt16 ): OSErr; external name '_RemoveMovieResource';
  6123. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6124. {
  6125. * CreateMovieStorage()
  6126. *
  6127. * Availability:
  6128. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6129. * CarbonLib: in CarbonLib 1.6 and later
  6130. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6131. * Windows: in qtmlClient.lib 6.0 and later
  6132. }
  6133. function CreateMovieStorage( dataRef: Handle; dataRefType: OSType; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; var outDataHandler: DataHandler; var newmovie: Movie ): OSErr; external name '_CreateMovieStorage';
  6134. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6135. {
  6136. * OpenMovieStorage()
  6137. *
  6138. * Availability:
  6139. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6140. * CarbonLib: in CarbonLib 1.6 and later
  6141. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6142. * Windows: in qtmlClient.lib 6.0 and later
  6143. }
  6144. function OpenMovieStorage( dataRef: Handle; dataRefType: OSType; flags: SIGNEDLONG; var outDataHandler: DataHandler ): OSErr; external name '_OpenMovieStorage';
  6145. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6146. {
  6147. * CloseMovieStorage()
  6148. *
  6149. * Availability:
  6150. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6151. * CarbonLib: in CarbonLib 1.6 and later
  6152. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6153. * Windows: in qtmlClient.lib 6.0 and later
  6154. }
  6155. function CloseMovieStorage( dh: DataHandler ): OSErr; external name '_CloseMovieStorage';
  6156. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6157. {
  6158. * DeleteMovieStorage()
  6159. *
  6160. * Availability:
  6161. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6162. * CarbonLib: in CarbonLib 1.6 and later
  6163. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6164. * Windows: in qtmlClient.lib 6.0 and later
  6165. }
  6166. function DeleteMovieStorage( dataRef: Handle; dataRefType: OSType ): OSErr; external name '_DeleteMovieStorage';
  6167. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6168. {
  6169. * AddMovieToStorage()
  6170. *
  6171. * Availability:
  6172. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6173. * CarbonLib: in CarbonLib 1.6 and later
  6174. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6175. * Windows: in qtmlClient.lib 6.0 and later
  6176. }
  6177. function AddMovieToStorage( theMovie: Movie; dh: DataHandler ): OSErr; external name '_AddMovieToStorage';
  6178. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6179. {
  6180. * UpdateMovieInStorage()
  6181. *
  6182. * Availability:
  6183. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6184. * CarbonLib: in CarbonLib 1.6 and later
  6185. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6186. * Windows: in qtmlClient.lib 6.0 and later
  6187. }
  6188. function UpdateMovieInStorage( theMovie: Movie; dh: DataHandler ): OSErr; external name '_UpdateMovieInStorage';
  6189. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6190. {
  6191. * HasMovieChanged()
  6192. *
  6193. * Availability:
  6194. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6195. * CarbonLib: in CarbonLib 1.0 and later
  6196. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6197. * Windows: in qtmlClient.lib 3.0 and later
  6198. }
  6199. function HasMovieChanged( theMovie: Movie ): Boolean; external name '_HasMovieChanged';
  6200. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6201. {
  6202. * ClearMovieChanged()
  6203. *
  6204. * Availability:
  6205. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6206. * CarbonLib: in CarbonLib 1.0 and later
  6207. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6208. * Windows: in qtmlClient.lib 3.0 and later
  6209. }
  6210. procedure ClearMovieChanged( theMovie: Movie ); external name '_ClearMovieChanged';
  6211. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6212. {
  6213. * SetMovieDefaultDataRef()
  6214. *
  6215. * Availability:
  6216. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6217. * CarbonLib: in CarbonLib 1.0 and later
  6218. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6219. * Windows: in qtmlClient.lib 3.0 and later
  6220. }
  6221. function SetMovieDefaultDataRef( theMovie: Movie; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_SetMovieDefaultDataRef';
  6222. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6223. {
  6224. * GetMovieDefaultDataRef()
  6225. *
  6226. * Availability:
  6227. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6228. * CarbonLib: in CarbonLib 1.0 and later
  6229. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6230. * Windows: in qtmlClient.lib 3.0 and later
  6231. }
  6232. function GetMovieDefaultDataRef( theMovie: Movie; var dataRef: Handle; var dataRefType: OSType ): OSErr; external name '_GetMovieDefaultDataRef';
  6233. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6234. {
  6235. * SetMovieAnchorDataRef()
  6236. *
  6237. * Availability:
  6238. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6239. * CarbonLib: in CarbonLib 1.1 and later
  6240. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  6241. * Windows: in qtmlClient.lib 4.1 and later
  6242. }
  6243. function SetMovieAnchorDataRef( theMovie: Movie; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_SetMovieAnchorDataRef';
  6244. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6245. {
  6246. * GetMovieAnchorDataRef()
  6247. *
  6248. * Availability:
  6249. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6250. * CarbonLib: in CarbonLib 1.1 and later
  6251. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  6252. * Windows: in qtmlClient.lib 4.1 and later
  6253. }
  6254. function GetMovieAnchorDataRef( theMovie: Movie; var dataRef: Handle; var dataRefType: OSType; var outFlags: SIGNEDLONG ): OSErr; external name '_GetMovieAnchorDataRef';
  6255. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6256. {
  6257. * SetMovieColorTable()
  6258. *
  6259. * Availability:
  6260. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6261. * CarbonLib: in CarbonLib 1.0 and later
  6262. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6263. * Windows: in qtmlClient.lib 3.0 and later
  6264. }
  6265. function SetMovieColorTable( theMovie: Movie; ctab: CTabHandle ): OSErr; external name '_SetMovieColorTable';
  6266. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6267. {
  6268. * GetMovieColorTable()
  6269. *
  6270. * Availability:
  6271. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6272. * CarbonLib: in CarbonLib 1.0 and later
  6273. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6274. * Windows: in qtmlClient.lib 3.0 and later
  6275. }
  6276. function GetMovieColorTable( theMovie: Movie; var ctab: CTabHandle ): OSErr; external name '_GetMovieColorTable';
  6277. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6278. {
  6279. * FlattenMovie()
  6280. *
  6281. * Availability:
  6282. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6283. * CarbonLib: in CarbonLib 1.0 and later
  6284. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6285. * Windows: in qtmlClient.lib 3.0 and later
  6286. }
  6287. procedure FlattenMovie( theMovie: Movie; movieFlattenFlags: SIGNEDLONG; const (*var*) theFile: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; var resId: SInt16; const (*var*) resName: Str255 ); external name '_FlattenMovie';
  6288. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6289. {
  6290. * FlattenMovieData()
  6291. *
  6292. * Availability:
  6293. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6294. * CarbonLib: in CarbonLib 1.0 and later
  6295. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6296. * Windows: in qtmlClient.lib 3.0 and later
  6297. }
  6298. function FlattenMovieData( theMovie: Movie; movieFlattenFlags: SIGNEDLONG; const (*var*) theFile: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG ): Movie; external name '_FlattenMovieData';
  6299. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6300. {
  6301. * FlattenMovieDataToDataRef()
  6302. *
  6303. * Availability:
  6304. * Mac OS X: in version 10.2 and later in QuickTime.framework
  6305. * CarbonLib: in CarbonLib 1.6 and later
  6306. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  6307. * Windows: in qtmlClient.lib 6.0 and later
  6308. }
  6309. function FlattenMovieDataToDataRef( theMovie: Movie; movieFlattenFlags: SIGNEDLONG; dataRef: Handle; dataRefType: OSType; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG ): Movie; external name '_FlattenMovieDataToDataRef';
  6310. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  6311. {
  6312. * SetMovieProgressProc()
  6313. *
  6314. * Availability:
  6315. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6316. * CarbonLib: in CarbonLib 1.0 and later
  6317. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6318. * Windows: in qtmlClient.lib 3.0 and later
  6319. }
  6320. procedure SetMovieProgressProc( theMovie: Movie; p: MovieProgressUPP; refcon: SIGNEDLONG ); external name '_SetMovieProgressProc';
  6321. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6322. {
  6323. * GetMovieProgressProc()
  6324. *
  6325. * Availability:
  6326. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6327. * CarbonLib: in CarbonLib 1.0.2 and later
  6328. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6329. * Windows: in qtmlClient.lib 4.0 and later
  6330. }
  6331. procedure GetMovieProgressProc( theMovie: Movie; var p: MovieProgressUPP; var refcon: SIGNEDLONG ); external name '_GetMovieProgressProc';
  6332. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6333. {
  6334. * CreateShortcutMovieFile()
  6335. *
  6336. * Availability:
  6337. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6338. * CarbonLib: in CarbonLib 1.0.2 and later
  6339. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6340. * Windows: in qtmlClient.lib 4.0 and later
  6341. }
  6342. function CreateShortcutMovieFile( const (*var*) fileSpec: FSSpec; creator: OSType; scriptTag: ScriptCode; createMovieFileFlags: SIGNEDLONG; targetDataRef: Handle; targetDataRefType: OSType ): OSErr; external name '_CreateShortcutMovieFile';
  6343. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6344. {
  6345. * MovieSearchText()
  6346. *
  6347. * Availability:
  6348. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6349. * CarbonLib: in CarbonLib 1.0 and later
  6350. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6351. * Windows: in qtmlClient.lib 3.0 and later
  6352. }
  6353. function MovieSearchText( theMovie: Movie; text: Ptr; size: SIGNEDLONG; searchFlags: SIGNEDLONG; var searchTrack: Track; var searchTime: TimeValue; var searchOffset: SIGNEDLONG ): OSErr; external name '_MovieSearchText';
  6354. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6355. {
  6356. * GetPosterBox()
  6357. *
  6358. * Availability:
  6359. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6360. * CarbonLib: in CarbonLib 1.0 and later
  6361. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6362. * Windows: in qtmlClient.lib 3.0 and later
  6363. }
  6364. procedure GetPosterBox( theMovie: Movie; var boxRect: Rect ); external name '_GetPosterBox';
  6365. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6366. {
  6367. * SetPosterBox()
  6368. *
  6369. * Availability:
  6370. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6371. * CarbonLib: in CarbonLib 1.0 and later
  6372. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6373. * Windows: in qtmlClient.lib 3.0 and later
  6374. }
  6375. procedure SetPosterBox( theMovie: Movie; const (*var*) boxRect: Rect ); external name '_SetPosterBox';
  6376. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6377. {
  6378. * GetMovieSegmentDisplayBoundsRgn()
  6379. *
  6380. * Availability:
  6381. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6382. * CarbonLib: in CarbonLib 1.0 and later
  6383. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6384. * Windows: in qtmlClient.lib 3.0 and later
  6385. }
  6386. function GetMovieSegmentDisplayBoundsRgn( theMovie: Movie; time: TimeValue; duration: TimeValue ): RgnHandle; external name '_GetMovieSegmentDisplayBoundsRgn';
  6387. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6388. {
  6389. * GetTrackSegmentDisplayBoundsRgn()
  6390. *
  6391. * Availability:
  6392. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6393. * CarbonLib: in CarbonLib 1.0 and later
  6394. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6395. * Windows: in qtmlClient.lib 3.0 and later
  6396. }
  6397. function GetTrackSegmentDisplayBoundsRgn( theTrack: Track; time: TimeValue; duration: TimeValue ): RgnHandle; external name '_GetTrackSegmentDisplayBoundsRgn';
  6398. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6399. {
  6400. * SetMovieCoverProcs()
  6401. *
  6402. * Availability:
  6403. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6404. * CarbonLib: in CarbonLib 1.0 and later
  6405. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6406. * Windows: in qtmlClient.lib 3.0 and later
  6407. }
  6408. procedure SetMovieCoverProcs( theMovie: Movie; uncoverProc: MovieRgnCoverUPP; coverProc: MovieRgnCoverUPP; refcon: SIGNEDLONG ); external name '_SetMovieCoverProcs';
  6409. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6410. {
  6411. * GetMovieCoverProcs()
  6412. *
  6413. * Availability:
  6414. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6415. * CarbonLib: in CarbonLib 1.0 and later
  6416. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6417. * Windows: in qtmlClient.lib 3.0 and later
  6418. }
  6419. function GetMovieCoverProcs( theMovie: Movie; var uncoverProc: MovieRgnCoverUPP; var coverProc: MovieRgnCoverUPP; var refcon: SIGNEDLONG ): OSErr; external name '_GetMovieCoverProcs';
  6420. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6421. {
  6422. * GetTrackStatus()
  6423. *
  6424. * Availability:
  6425. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6426. * CarbonLib: in CarbonLib 1.0 and later
  6427. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6428. * Windows: in qtmlClient.lib 3.0 and later
  6429. }
  6430. function GetTrackStatus( theTrack: Track ): ComponentResult; external name '_GetTrackStatus';
  6431. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6432. {
  6433. * GetMovieStatus()
  6434. *
  6435. * Availability:
  6436. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6437. * CarbonLib: in CarbonLib 1.0 and later
  6438. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6439. * Windows: in qtmlClient.lib 3.0 and later
  6440. }
  6441. function GetMovieStatus( theMovie: Movie; var firstProblemTrack: Track ): ComponentResult; external name '_GetMovieStatus';
  6442. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6443. const
  6444. kMovieLoadStateError = -1;
  6445. kMovieLoadStateLoading = 1000;
  6446. kMovieLoadStateLoaded = 2000;
  6447. kMovieLoadStatePlayable = 10000;
  6448. kMovieLoadStatePlaythroughOK = 20000;
  6449. kMovieLoadStateComplete = 100000;
  6450. {
  6451. * GetMovieLoadState()
  6452. *
  6453. * Availability:
  6454. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6455. * CarbonLib: in CarbonLib 1.1 and later
  6456. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  6457. * Windows: in qtmlClient.lib 4.1 and later
  6458. }
  6459. function GetMovieLoadState( theMovie: Movie ): SIGNEDLONG; external name '_GetMovieLoadState';
  6460. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6461. {***
  6462. Thread related Movie routines
  6463. ***}
  6464. {
  6465. * AttachMovieToCurrentThread()
  6466. *
  6467. * Availability:
  6468. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6469. * CarbonLib: not available
  6470. * Non-Carbon CFM: not available
  6471. }
  6472. function AttachMovieToCurrentThread( m: Movie ): OSErr; external name '_AttachMovieToCurrentThread';
  6473. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6474. {
  6475. * DetachMovieFromCurrentThread()
  6476. *
  6477. * Availability:
  6478. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6479. * CarbonLib: not available
  6480. * Non-Carbon CFM: not available
  6481. }
  6482. function DetachMovieFromCurrentThread( m: Movie ): OSErr; external name '_DetachMovieFromCurrentThread';
  6483. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6484. {
  6485. * GetMovieThreadAttachState()
  6486. *
  6487. * Availability:
  6488. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6489. * CarbonLib: not available
  6490. * Non-Carbon CFM: not available
  6491. }
  6492. function GetMovieThreadAttachState( m: Movie; var outAttachedToCurrentThread: Boolean; var outAttachedToAnyThread: Boolean ): OSErr; external name '_GetMovieThreadAttachState';
  6493. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6494. {***
  6495. CanQuickTimeOpenFile, etc.
  6496. ***}
  6497. { Input flags for CanQuickTimeOpenFile/DataRef }
  6498. const
  6499. kQTDontUseDataToFindImporter = 1 shl 0;
  6500. kQTDontLookForMovieImporterIfGraphicsImporterFound = 1 shl 1;
  6501. kQTAllowOpeningStillImagesAsMovies = 1 shl 2;
  6502. kQTAllowImportersThatWouldCreateNewFile = 1 shl 3;
  6503. kQTAllowAggressiveImporters = 1 shl 4; { eg, TEXT and PICT movie importers}
  6504. { Determines whether the file could be opened using a graphics importer or opened in place as a movie. }
  6505. {
  6506. * CanQuickTimeOpenFile()
  6507. *
  6508. * Availability:
  6509. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6510. * CarbonLib: in CarbonLib 1.3 and later
  6511. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  6512. * Windows: in qtmlClient.lib 5.0 and later
  6513. }
  6514. function CanQuickTimeOpenFile( fileSpec: FSSpecPtr; fileType: OSType; fileNameExtension: OSType; var outCanOpenWithGraphicsImporter: Boolean; var outCanOpenAsMovie: Boolean; var outPreferGraphicsImporter: Boolean; inFlags: UInt32 ): OSErr; external name '_CanQuickTimeOpenFile';
  6515. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6516. { Determines whether the file could be opened using a graphics importer or opened in place as a movie. }
  6517. {
  6518. * CanQuickTimeOpenDataRef()
  6519. *
  6520. * Availability:
  6521. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6522. * CarbonLib: in CarbonLib 1.3 and later
  6523. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  6524. * Windows: in qtmlClient.lib 5.0 and later
  6525. }
  6526. function CanQuickTimeOpenDataRef( dataRef: Handle; dataRefType: OSType; var outCanOpenWithGraphicsImporter: Boolean; var outCanOpenAsMovie: Boolean; var outPreferGraphicsImporter: Boolean; inFlags: UInt32 ): OSErr; external name '_CanQuickTimeOpenDataRef';
  6527. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6528. {***
  6529. Data Reference Utilities
  6530. ***}
  6531. const
  6532. kQTNativeDefaultPathStyle = -1;
  6533. kQTPOSIXPathStyle = 0;
  6534. kQTHFSPathStyle = 1;
  6535. kQTWindowsPathStyle = 2;
  6536. type
  6537. QTPathStyle = UNSIGNEDLONG;
  6538. {
  6539. * QTNewDataReferenceFromFSRef()
  6540. *
  6541. * Availability:
  6542. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6543. * CarbonLib: not available
  6544. * Non-Carbon CFM: not available
  6545. * Windows: in qtmlClient.lib 6.5 and later
  6546. }
  6547. function QTNewDataReferenceFromFSRef( const (*var*) fileRef: FSRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFSRef';
  6548. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6549. {
  6550. * QTNewDataReferenceFromFSRefCFString()
  6551. *
  6552. * Availability:
  6553. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6554. * CarbonLib: not available
  6555. * Non-Carbon CFM: not available
  6556. * Windows: in qtmlClient.lib 6.5 and later
  6557. }
  6558. function QTNewDataReferenceFromFSRefCFString( const (*var*) directoryRef: FSRef; fileName: CFStringRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFSRefCFString';
  6559. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6560. {
  6561. * QTNewDataReferenceFromFSSpec()
  6562. *
  6563. * Availability:
  6564. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6565. * CarbonLib: not available
  6566. * Non-Carbon CFM: not available
  6567. * Windows: in qtmlClient.lib 6.5 and later
  6568. }
  6569. function QTNewDataReferenceFromFSSpec( const (*var*) fsspec_: FSSpec; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFSSpec';
  6570. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6571. {
  6572. * QTNewDataReferenceWithDirectoryCFString()
  6573. *
  6574. * Availability:
  6575. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6576. * CarbonLib: not available
  6577. * Non-Carbon CFM: not available
  6578. * Windows: in qtmlClient.lib 6.5 and later
  6579. }
  6580. function QTNewDataReferenceWithDirectoryCFString( inDataRef: Handle; inDataRefType: OSType; targetName: CFStringRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceWithDirectoryCFString';
  6581. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6582. {
  6583. * QTNewDataReferenceFromFullPathCFString()
  6584. *
  6585. * Availability:
  6586. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6587. * CarbonLib: not available
  6588. * Non-Carbon CFM: not available
  6589. * Windows: in qtmlClient.lib 6.5 and later
  6590. }
  6591. function QTNewDataReferenceFromFullPathCFString( filePath: CFStringRef; pathStyle: QTPathStyle; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromFullPathCFString';
  6592. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6593. {
  6594. * QTNewDataReferenceFromCFURL()
  6595. *
  6596. * Availability:
  6597. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6598. * CarbonLib: not available
  6599. * Non-Carbon CFM: not available
  6600. * Windows: in qtmlClient.lib 6.5 and later
  6601. }
  6602. function QTNewDataReferenceFromCFURL( url: CFURLRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromCFURL';
  6603. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6604. {
  6605. * QTNewDataReferenceFromURLCFString()
  6606. *
  6607. * Availability:
  6608. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6609. * CarbonLib: not available
  6610. * Non-Carbon CFM: not available
  6611. * Windows: in qtmlClient.lib 6.5 and later
  6612. }
  6613. function QTNewDataReferenceFromURLCFString( urlString: CFStringRef; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTNewDataReferenceFromURLCFString';
  6614. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6615. {
  6616. * QTGetDataReferenceDirectoryDataReference()
  6617. *
  6618. * Availability:
  6619. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6620. * CarbonLib: not available
  6621. * Non-Carbon CFM: not available
  6622. * Windows: in qtmlClient.lib 6.5 and later
  6623. }
  6624. function QTGetDataReferenceDirectoryDataReference( dataRef: Handle; dataRefType: OSType; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTGetDataReferenceDirectoryDataReference';
  6625. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6626. {
  6627. * QTGetDataReferenceTargetNameCFString()
  6628. *
  6629. * Availability:
  6630. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6631. * CarbonLib: not available
  6632. * Non-Carbon CFM: not available
  6633. * Windows: in qtmlClient.lib 6.5 and later
  6634. }
  6635. function QTGetDataReferenceTargetNameCFString( dataRef: Handle; dataRefType: OSType; var name: CFStringRef ): OSErr; external name '_QTGetDataReferenceTargetNameCFString';
  6636. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6637. {
  6638. * QTGetDataReferenceFullPathCFString()
  6639. *
  6640. * Availability:
  6641. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6642. * CarbonLib: not available
  6643. * Non-Carbon CFM: not available
  6644. * Windows: in qtmlClient.lib 6.5 and later
  6645. }
  6646. function QTGetDataReferenceFullPathCFString( dataRef: Handle; dataRefType: OSType; style: QTPathStyle; var outPath: CFStringRef ): OSErr; external name '_QTGetDataReferenceFullPathCFString';
  6647. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6648. {
  6649. * QTGetDataHandlerDirectoryDataReference()
  6650. *
  6651. * Availability:
  6652. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6653. * CarbonLib: not available
  6654. * Non-Carbon CFM: not available
  6655. * Windows: in qtmlClient.lib 6.5 and later
  6656. }
  6657. function QTGetDataHandlerDirectoryDataReference( dh: DataHandler; flags: UInt32; var outDataRef: Handle; var outDataRefType: OSType ): OSErr; external name '_QTGetDataHandlerDirectoryDataReference';
  6658. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6659. {
  6660. * QTGetDataHandlerTargetNameCFString()
  6661. *
  6662. * Availability:
  6663. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6664. * CarbonLib: not available
  6665. * Non-Carbon CFM: not available
  6666. * Windows: in qtmlClient.lib 6.5 and later
  6667. }
  6668. function QTGetDataHandlerTargetNameCFString( dh: DataHandler; var fileName: CFStringRef ): OSErr; external name '_QTGetDataHandlerTargetNameCFString';
  6669. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6670. {
  6671. * QTGetDataHandlerFullPathCFString()
  6672. *
  6673. * Availability:
  6674. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  6675. * CarbonLib: not available
  6676. * Non-Carbon CFM: not available
  6677. * Windows: in qtmlClient.lib 6.5 and later
  6678. }
  6679. function QTGetDataHandlerFullPathCFString( dh: DataHandler; style: QTPathStyle; var outPath: CFStringRef ): OSErr; external name '_QTGetDataHandlerFullPathCFString';
  6680. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  6681. {***
  6682. Movie Controller support routines
  6683. ***}
  6684. {
  6685. * NewMovieController()
  6686. *
  6687. * Availability:
  6688. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6689. * CarbonLib: in CarbonLib 1.0 and later
  6690. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6691. * Windows: in qtmlClient.lib 3.0 and later
  6692. }
  6693. function NewMovieController( theMovie: Movie; const (*var*) movieRect: Rect; someFlags: SIGNEDLONG ): ComponentInstance; external name '_NewMovieController';
  6694. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6695. {
  6696. * DisposeMovieController()
  6697. *
  6698. * Availability:
  6699. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6700. * CarbonLib: in CarbonLib 1.0 and later
  6701. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6702. * Windows: in qtmlClient.lib 3.0 and later
  6703. }
  6704. procedure DisposeMovieController( mc: ComponentInstance ); external name '_DisposeMovieController';
  6705. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6706. {
  6707. * ShowMovieInformation()
  6708. *
  6709. * Availability:
  6710. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6711. * CarbonLib: in CarbonLib 1.0 and later
  6712. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6713. * Windows: in qtmlClient.lib 3.0 and later
  6714. }
  6715. procedure ShowMovieInformation( theMovie: Movie; filterProc: ModalFilterUPP; refCon: SIGNEDLONG ); external name '_ShowMovieInformation';
  6716. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6717. {****
  6718. Scrap routines
  6719. ****}
  6720. {
  6721. * PutMovieOnScrap()
  6722. *
  6723. * Availability:
  6724. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6725. * CarbonLib: in CarbonLib 1.0 and later
  6726. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6727. * Windows: in qtmlClient.lib 3.0 and later
  6728. }
  6729. function PutMovieOnScrap( theMovie: Movie; movieScrapFlags: SIGNEDLONG ): OSErr; external name '_PutMovieOnScrap';
  6730. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6731. {
  6732. * NewMovieFromScrap()
  6733. *
  6734. * Availability:
  6735. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6736. * CarbonLib: in CarbonLib 1.0 and later
  6737. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6738. * Windows: in qtmlClient.lib 3.0 and later
  6739. }
  6740. function NewMovieFromScrap( newMovieFlags: SIGNEDLONG ): Movie; external name '_NewMovieFromScrap';
  6741. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6742. {****
  6743. DataRef routines
  6744. ****}
  6745. {
  6746. * GetMediaDataRef()
  6747. *
  6748. * Availability:
  6749. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6750. * CarbonLib: in CarbonLib 1.0 and later
  6751. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6752. * Windows: in qtmlClient.lib 3.0 and later
  6753. }
  6754. function GetMediaDataRef( theMedia: Media; index: SInt16; var dataRef: Handle; var dataRefType: OSType; var dataRefAttributes: SIGNEDLONG ): OSErr; external name '_GetMediaDataRef';
  6755. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6756. {
  6757. * SetMediaDataRef()
  6758. *
  6759. * Availability:
  6760. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6761. * CarbonLib: in CarbonLib 1.0 and later
  6762. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6763. * Windows: in qtmlClient.lib 3.0 and later
  6764. }
  6765. function SetMediaDataRef( theMedia: Media; index: SInt16; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_SetMediaDataRef';
  6766. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6767. {
  6768. * SetMediaDataRefAttributes()
  6769. *
  6770. * Availability:
  6771. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6772. * CarbonLib: in CarbonLib 1.0 and later
  6773. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6774. * Windows: in qtmlClient.lib 3.0 and later
  6775. }
  6776. function SetMediaDataRefAttributes( theMedia: Media; index: SInt16; dataRefAttributes: SIGNEDLONG ): OSErr; external name '_SetMediaDataRefAttributes';
  6777. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6778. {
  6779. * AddMediaDataRef()
  6780. *
  6781. * Availability:
  6782. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6783. * CarbonLib: in CarbonLib 1.0 and later
  6784. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6785. * Windows: in qtmlClient.lib 3.0 and later
  6786. }
  6787. function AddMediaDataRef( theMedia: Media; var index: SInt16; dataRef: Handle; dataRefType: OSType ): OSErr; external name '_AddMediaDataRef';
  6788. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6789. {
  6790. * GetMediaDataRefCount()
  6791. *
  6792. * Availability:
  6793. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6794. * CarbonLib: in CarbonLib 1.0 and later
  6795. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6796. * Windows: in qtmlClient.lib 3.0 and later
  6797. }
  6798. function GetMediaDataRefCount( theMedia: Media; var count: SInt16 ): OSErr; external name '_GetMediaDataRefCount';
  6799. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6800. {
  6801. * QTNewAlias()
  6802. *
  6803. * Availability:
  6804. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6805. * CarbonLib: in CarbonLib 1.0 and later
  6806. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  6807. * Windows: in qtmlClient.lib 3.0 and later
  6808. }
  6809. function QTNewAlias( const (*var*) fss: FSSpec; var alias: AliasHandle; minimal: Boolean ): OSErr; external name '_QTNewAlias';
  6810. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6811. {****
  6812. Playback hint routines
  6813. ****}
  6814. {
  6815. * SetMoviePlayHints()
  6816. *
  6817. * Availability:
  6818. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6819. * CarbonLib: in CarbonLib 1.0 and later
  6820. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6821. * Windows: in qtmlClient.lib 3.0 and later
  6822. }
  6823. procedure SetMoviePlayHints( theMovie: Movie; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ); external name '_SetMoviePlayHints';
  6824. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6825. {
  6826. * SetMediaPlayHints()
  6827. *
  6828. * Availability:
  6829. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6830. * CarbonLib: in CarbonLib 1.0 and later
  6831. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6832. * Windows: in qtmlClient.lib 3.0 and later
  6833. }
  6834. procedure SetMediaPlayHints( theMedia: Media; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ); external name '_SetMediaPlayHints';
  6835. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6836. {
  6837. * GetMediaPlayHints()
  6838. *
  6839. * Availability:
  6840. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6841. * CarbonLib: in CarbonLib 1.0 and later
  6842. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  6843. * Windows: in qtmlClient.lib 3.0 and later
  6844. }
  6845. procedure GetMediaPlayHints( theMedia: Media; var flags: SIGNEDLONG ); external name '_GetMediaPlayHints';
  6846. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6847. {****
  6848. Load time track hints
  6849. ****}
  6850. const
  6851. preloadAlways = 1 shl 0;
  6852. preloadOnlyIfEnabled = 1 shl 1;
  6853. {
  6854. * SetTrackLoadSettings()
  6855. *
  6856. * Availability:
  6857. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6858. * CarbonLib: in CarbonLib 1.0 and later
  6859. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6860. * Windows: in qtmlClient.lib 3.0 and later
  6861. }
  6862. procedure SetTrackLoadSettings( theTrack: Track; preloadTime: TimeValue; preloadDuration: TimeValue; preloadFlags: SIGNEDLONG; defaultHints: SIGNEDLONG ); external name '_SetTrackLoadSettings';
  6863. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6864. {
  6865. * GetTrackLoadSettings()
  6866. *
  6867. * Availability:
  6868. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6869. * CarbonLib: in CarbonLib 1.0 and later
  6870. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6871. * Windows: in qtmlClient.lib 3.0 and later
  6872. }
  6873. procedure GetTrackLoadSettings( theTrack: Track; var preloadTime: TimeValue; var preloadDuration: TimeValue; var preloadFlags: SIGNEDLONG; var defaultHints: SIGNEDLONG ); external name '_GetTrackLoadSettings';
  6874. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6875. {****
  6876. Big screen TV
  6877. ****}
  6878. const
  6879. fullScreenHideCursor = 1 shl 0;
  6880. fullScreenAllowEvents = 1 shl 1;
  6881. fullScreenDontChangeMenuBar = 1 shl 2;
  6882. fullScreenPreflightSize = 1 shl 3;
  6883. fullScreenDontSwitchMonitorResolution = 1 shl 4;
  6884. fullScreenCaptureDisplay = 1 shl 5; { capturedisplay is a mac os x specific parameter }
  6885. fullScreenCaptureAllDisplays = 1 shl 6; { capturealldisplays is a mac os x specific parameter }
  6886. {
  6887. * BeginFullScreen()
  6888. *
  6889. * Availability:
  6890. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6891. * CarbonLib: in CarbonLib 1.0 and later
  6892. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6893. * Windows: in qtmlClient.lib 3.0 and later
  6894. }
  6895. function BeginFullScreen( var restoreState: Ptr; whichGD: GDHandle; var desiredWidth: SInt16; var desiredHeight: SInt16; var newWindow: WindowRef; var eraseColor: RGBColor; flags: SIGNEDLONG ): OSErr; external name '_BeginFullScreen';
  6896. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6897. {
  6898. * EndFullScreen()
  6899. *
  6900. * Availability:
  6901. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6902. * CarbonLib: in CarbonLib 1.0 and later
  6903. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  6904. * Windows: in qtmlClient.lib 3.0 and later
  6905. }
  6906. function EndFullScreen( fullState: Ptr; flags: SIGNEDLONG ): OSErr; external name '_EndFullScreen';
  6907. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6908. {****
  6909. Wired Actions
  6910. ****}
  6911. { flags for MovieExecuteWiredActions}
  6912. const
  6913. movieExecuteWiredActionDontExecute = 1 shl 0;
  6914. {
  6915. * AddMovieExecuteWiredActionsProc()
  6916. *
  6917. * Availability:
  6918. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6919. * CarbonLib: in CarbonLib 1.0.2 and later
  6920. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6921. * Windows: in qtmlClient.lib 4.0 and later
  6922. }
  6923. function AddMovieExecuteWiredActionsProc( theMovie: Movie; proc: MovieExecuteWiredActionsUPP; refCon: UnivPtr ): OSErr; external name '_AddMovieExecuteWiredActionsProc';
  6924. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6925. {
  6926. * RemoveMovieExecuteWiredActionsProc()
  6927. *
  6928. * Availability:
  6929. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6930. * CarbonLib: in CarbonLib 1.0.2 and later
  6931. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6932. * Windows: in qtmlClient.lib 4.0 and later
  6933. }
  6934. function RemoveMovieExecuteWiredActionsProc( theMovie: Movie; proc: MovieExecuteWiredActionsUPP; refCon: UnivPtr ): OSErr; external name '_RemoveMovieExecuteWiredActionsProc';
  6935. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6936. {
  6937. * MovieExecuteWiredActions()
  6938. *
  6939. * Availability:
  6940. * Mac OS X: in version 10.0 and later in QuickTime.framework
  6941. * CarbonLib: in CarbonLib 1.0.2 and later
  6942. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  6943. * Windows: in qtmlClient.lib 4.0 and later
  6944. }
  6945. function MovieExecuteWiredActions( theMovie: Movie; flags: SIGNEDLONG; actions: QTAtomContainer ): OSErr; external name '_MovieExecuteWiredActions';
  6946. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  6947. {****
  6948. Keyboard Navigation/Editable Text Field Support
  6949. ****}
  6950. {
  6951. Navigation Direction Constants
  6952. for MediaNavigateTargetRefCon
  6953. }
  6954. const
  6955. kRefConNavigationNext = 0;
  6956. kRefConNavigationPrevious = 1;
  6957. {
  6958. Refcon Properties
  6959. for MediaRefConGetProerty/MediaRefConSetProperty
  6960. }
  6961. const
  6962. kRefConPropertyCanHaveFocus = 1; { Boolean }
  6963. kRefConPropertyHasFocus = 2; { Boolean }
  6964. { media properties}
  6965. const
  6966. kTrackFocusCanEditFlag = FourCharCode('kedt');
  6967. kTrackDefaultFocusFlags = FourCharCode('kfoc');
  6968. kTrackFocusDefaultRefcon = FourCharCode('kref');
  6969. { focus flags}
  6970. const
  6971. kTrackFocusOn = 1;
  6972. kTrackHandlesTabs = 2; { this is reserved for a future release}
  6973. {****
  6974. Flash track properties
  6975. ****}
  6976. const
  6977. kFlashTrackPropertyAcceptAllClicks = FourCharCode('clik'); { type of media property atom; data is a Boolean }
  6978. {****
  6979. Sprite Toolbox
  6980. ****}
  6981. const
  6982. kBackgroundSpriteLayerNum = 32767;
  6983. { Sprite Properties}
  6984. const
  6985. kSpritePropertyMatrix = 1;
  6986. kSpritePropertyImageDescription = 2;
  6987. kSpritePropertyImageDataPtr = 3;
  6988. kSpritePropertyVisible = 4;
  6989. kSpritePropertyLayer = 5;
  6990. kSpritePropertyGraphicsMode = 6;
  6991. kSpritePropertyImageDataSize = 7;
  6992. kSpritePropertyActionHandlingSpriteID = 8;
  6993. kSpritePropertyCanBeHitTested = 9;
  6994. kSpritePropertyImageIndex = 100;
  6995. kSpriteTrackPropertyBackgroundColor = 101;
  6996. kSpriteTrackPropertyOffscreenBitDepth = 102;
  6997. kSpriteTrackPropertySampleFormat = 103;
  6998. kSpriteTrackPropertyScaleSpritesToScaleWorld = 104;
  6999. kSpriteTrackPropertyHasActions = 105;
  7000. kSpriteTrackPropertyVisible = 106;
  7001. kSpriteTrackPropertyQTIdleEventsFrequency = 107;
  7002. kSpriteTrackPropertyAllSpritesHitTestingMode = 108;
  7003. kSpriteTrackPropertyPreferredDepthInterpretationMode = 109;
  7004. kSpriteImagePropertyRegistrationPoint = 1000;
  7005. kSpriteImagePropertyGroupID = 1001;
  7006. { values for kSpriteTrackPropertyPreferredDepthInterpretationMode}
  7007. const
  7008. kSpriteTrackPreferredDepthCompatibilityMode = 0;
  7009. kSpriteTrackPreferredDepthModernMode = 1;
  7010. { values for kSpriteTrackPropertyAllSpritesHitTestingMode}
  7011. const
  7012. kSpriteHitTestUseSpritesOwnPropertiesMode = 0;
  7013. kSpriteHitTestTreatAllSpritesAsHitTestableMode = 1;
  7014. kSpriteHitTestTreatAllSpritesAsNotHitTestableMode = 2;
  7015. { special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)}
  7016. const
  7017. kNoQTIdleEvents = -1;
  7018. { GetSpriteProperties for accessing invalid SpriteWorldRegion}
  7019. const
  7020. kGetSpriteWorldInvalidRegionAndLeaveIntact = -1;
  7021. kGetSpriteWorldInvalidRegionAndThenSetEmpty = -2;
  7022. { flagsIn for SpriteWorldIdle}
  7023. const
  7024. kOnlyDrawToSpriteWorld = 1 shl 0;
  7025. kSpriteWorldPreflight = 1 shl 1;
  7026. { flagsOut for SpriteWorldIdle}
  7027. const
  7028. kSpriteWorldDidDraw = 1 shl 0;
  7029. kSpriteWorldNeedsToDraw = 1 shl 1;
  7030. { flags for sprite track sample format}
  7031. const
  7032. kKeyFrameAndSingleOverride = 1 shl 1;
  7033. kKeyFrameAndAllOverrides = 1 shl 2;
  7034. { sprite world flags}
  7035. const
  7036. kScaleSpritesToScaleWorld = 1 shl 1;
  7037. kSpriteWorldHighQuality = 1 shl 2;
  7038. kSpriteWorldDontAutoInvalidate = 1 shl 3;
  7039. kSpriteWorldInvisible = 1 shl 4;
  7040. kSpriteWorldDirtyInsteadOfFlush = 1 shl 5;
  7041. {
  7042. * NewSpriteWorld()
  7043. *
  7044. * Availability:
  7045. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7046. * CarbonLib: in CarbonLib 1.0 and later
  7047. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7048. * Windows: in qtmlClient.lib 3.0 and later
  7049. }
  7050. function NewSpriteWorld( var newSpriteWorld: SpriteWorld; destination: GWorldPtr; spriteLayer: GWorldPtr; var backgroundColor: RGBColor; background: GWorldPtr ): OSErr; external name '_NewSpriteWorld';
  7051. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7052. {
  7053. * DisposeSpriteWorld()
  7054. *
  7055. * Availability:
  7056. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7057. * CarbonLib: in CarbonLib 1.0 and later
  7058. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7059. * Windows: in qtmlClient.lib 3.0 and later
  7060. }
  7061. procedure DisposeSpriteWorld( theSpriteWorld: SpriteWorld ); external name '_DisposeSpriteWorld';
  7062. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7063. {
  7064. * SetSpriteWorldClip()
  7065. *
  7066. * Availability:
  7067. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7068. * CarbonLib: in CarbonLib 1.0 and later
  7069. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7070. * Windows: in qtmlClient.lib 3.0 and later
  7071. }
  7072. function SetSpriteWorldClip( theSpriteWorld: SpriteWorld; clipRgn: RgnHandle ): OSErr; external name '_SetSpriteWorldClip';
  7073. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7074. {
  7075. * SetSpriteWorldMatrix()
  7076. *
  7077. * Availability:
  7078. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7079. * CarbonLib: in CarbonLib 1.0 and later
  7080. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7081. * Windows: in qtmlClient.lib 3.0 and later
  7082. }
  7083. function SetSpriteWorldMatrix( theSpriteWorld: SpriteWorld; const (*var*) matrix: MatrixRecord ): OSErr; external name '_SetSpriteWorldMatrix';
  7084. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7085. {
  7086. * SetSpriteWorldGraphicsMode()
  7087. *
  7088. * Availability:
  7089. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7090. * CarbonLib: in CarbonLib 1.0 and later
  7091. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7092. * Windows: in qtmlClient.lib 3.0 and later
  7093. }
  7094. function SetSpriteWorldGraphicsMode( theSpriteWorld: SpriteWorld; mode: SIGNEDLONG; const (*var*) opColor: RGBColor ): OSErr; external name '_SetSpriteWorldGraphicsMode';
  7095. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7096. {
  7097. * SpriteWorldIdle()
  7098. *
  7099. * Availability:
  7100. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7101. * CarbonLib: in CarbonLib 1.0 and later
  7102. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7103. * Windows: in qtmlClient.lib 3.0 and later
  7104. }
  7105. function SpriteWorldIdle( theSpriteWorld: SpriteWorld; flagsIn: SIGNEDLONG; var flagsOut: SIGNEDLONG ): OSErr; external name '_SpriteWorldIdle';
  7106. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7107. {
  7108. * InvalidateSpriteWorld()
  7109. *
  7110. * Availability:
  7111. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7112. * CarbonLib: in CarbonLib 1.0 and later
  7113. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7114. * Windows: in qtmlClient.lib 3.0 and later
  7115. }
  7116. function InvalidateSpriteWorld( theSpriteWorld: SpriteWorld; var invalidArea: Rect ): OSErr; external name '_InvalidateSpriteWorld';
  7117. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7118. {
  7119. * SpriteWorldHitTest()
  7120. *
  7121. * Availability:
  7122. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7123. * CarbonLib: in CarbonLib 1.0 and later
  7124. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7125. * Windows: in qtmlClient.lib 3.0 and later
  7126. }
  7127. function SpriteWorldHitTest( theSpriteWorld: SpriteWorld; flags: SIGNEDLONG; loc: Point; var spriteHit: Sprite ): OSErr; external name '_SpriteWorldHitTest';
  7128. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7129. {
  7130. * SpriteHitTest()
  7131. *
  7132. * Availability:
  7133. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7134. * CarbonLib: in CarbonLib 1.0 and later
  7135. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7136. * Windows: in qtmlClient.lib 3.0 and later
  7137. }
  7138. function SpriteHitTest( theSprite: Sprite; flags: SIGNEDLONG; loc: Point; var wasHit: Boolean ): OSErr; external name '_SpriteHitTest';
  7139. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7140. {
  7141. * DisposeAllSprites()
  7142. *
  7143. * Availability:
  7144. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7145. * CarbonLib: in CarbonLib 1.0 and later
  7146. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7147. * Windows: in qtmlClient.lib 3.0 and later
  7148. }
  7149. procedure DisposeAllSprites( theSpriteWorld: SpriteWorld ); external name '_DisposeAllSprites';
  7150. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7151. {
  7152. * SetSpriteWorldFlags()
  7153. *
  7154. * Availability:
  7155. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7156. * CarbonLib: in CarbonLib 1.0 and later
  7157. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7158. * Windows: in qtmlClient.lib 3.0 and later
  7159. }
  7160. function SetSpriteWorldFlags( spriteWorld_: SpriteWorld; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ): OSErr; external name '_SetSpriteWorldFlags';
  7161. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7162. {
  7163. * NewSprite()
  7164. *
  7165. * Availability:
  7166. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7167. * CarbonLib: in CarbonLib 1.0 and later
  7168. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7169. * Windows: in qtmlClient.lib 3.0 and later
  7170. }
  7171. function NewSprite( var newSprite: Sprite; itsSpriteWorld: SpriteWorld; idh: ImageDescriptionHandle; imageDataPtr: Ptr; var matrix: MatrixRecord; visible: Boolean; layer: SInt16 ): OSErr; external name '_NewSprite';
  7172. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7173. {
  7174. * DisposeSprite()
  7175. *
  7176. * Availability:
  7177. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7178. * CarbonLib: in CarbonLib 1.0 and later
  7179. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7180. * Windows: in qtmlClient.lib 3.0 and later
  7181. }
  7182. procedure DisposeSprite( theSprite: Sprite ); external name '_DisposeSprite';
  7183. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7184. {
  7185. * InvalidateSprite()
  7186. *
  7187. * Availability:
  7188. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7189. * CarbonLib: in CarbonLib 1.0 and later
  7190. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7191. * Windows: in qtmlClient.lib 3.0 and later
  7192. }
  7193. procedure InvalidateSprite( theSprite: Sprite ); external name '_InvalidateSprite';
  7194. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7195. {
  7196. * SetSpriteProperty()
  7197. *
  7198. * Availability:
  7199. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7200. * CarbonLib: in CarbonLib 1.0 and later
  7201. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7202. * Windows: in qtmlClient.lib 3.0 and later
  7203. }
  7204. function SetSpriteProperty( theSprite: Sprite; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): OSErr; external name '_SetSpriteProperty';
  7205. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7206. {
  7207. * GetSpriteProperty()
  7208. *
  7209. * Availability:
  7210. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7211. * CarbonLib: in CarbonLib 1.0 and later
  7212. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7213. * Windows: in qtmlClient.lib 3.0 and later
  7214. }
  7215. function GetSpriteProperty( theSprite: Sprite; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): OSErr; external name '_GetSpriteProperty';
  7216. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7217. {****
  7218. QT Atom Data Support
  7219. ****}
  7220. const
  7221. kParentAtomIsContainer = 0;
  7222. { create and dispose QTAtomContainer objects}
  7223. {
  7224. * QTNewAtomContainer()
  7225. *
  7226. * Availability:
  7227. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7228. * CarbonLib: in CarbonLib 1.0 and later
  7229. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7230. * Windows: in qtmlClient.lib 3.0 and later
  7231. }
  7232. function QTNewAtomContainer( var atomData: QTAtomContainer ): OSErr; external name '_QTNewAtomContainer';
  7233. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7234. {
  7235. * QTDisposeAtomContainer()
  7236. *
  7237. * Availability:
  7238. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7239. * CarbonLib: in CarbonLib 1.0 and later
  7240. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7241. * Windows: in qtmlClient.lib 3.0 and later
  7242. }
  7243. function QTDisposeAtomContainer( atomData: QTAtomContainer ): OSErr; external name '_QTDisposeAtomContainer';
  7244. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7245. { locating nested atoms within QTAtomContainer container}
  7246. {
  7247. * QTGetNextChildType()
  7248. *
  7249. * Availability:
  7250. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7251. * CarbonLib: in CarbonLib 1.0 and later
  7252. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7253. * Windows: in qtmlClient.lib 3.0 and later
  7254. }
  7255. function QTGetNextChildType( container: QTAtomContainer; parentAtom: QTAtom; currentChildType: QTAtomType ): QTAtomType; external name '_QTGetNextChildType';
  7256. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7257. {
  7258. * QTCountChildrenOfType()
  7259. *
  7260. * Availability:
  7261. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7262. * CarbonLib: in CarbonLib 1.0 and later
  7263. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7264. * Windows: in qtmlClient.lib 3.0 and later
  7265. }
  7266. function QTCountChildrenOfType( container: QTAtomContainer; parentAtom: QTAtom; childType: QTAtomType ): SInt16; external name '_QTCountChildrenOfType';
  7267. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7268. {
  7269. * QTFindChildByIndex()
  7270. *
  7271. * Availability:
  7272. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7273. * CarbonLib: in CarbonLib 1.0 and later
  7274. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7275. * Windows: in qtmlClient.lib 3.0 and later
  7276. }
  7277. function QTFindChildByIndex( container: QTAtomContainer; parentAtom: QTAtom; atomType: QTAtomType; index: SInt16; var id: QTAtomID ): QTAtom; external name '_QTFindChildByIndex';
  7278. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7279. {
  7280. * QTFindChildByID()
  7281. *
  7282. * Availability:
  7283. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7284. * CarbonLib: in CarbonLib 1.0 and later
  7285. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7286. * Windows: in qtmlClient.lib 3.0 and later
  7287. }
  7288. function QTFindChildByID( container: QTAtomContainer; parentAtom: QTAtom; atomType: QTAtomType; id: QTAtomID; var index: SInt16 ): QTAtom; external name '_QTFindChildByID';
  7289. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7290. {
  7291. * QTNextChildAnyType()
  7292. *
  7293. * Availability:
  7294. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7295. * CarbonLib: in CarbonLib 1.0 and later
  7296. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7297. * Windows: in qtmlClient.lib 3.0 and later
  7298. }
  7299. function QTNextChildAnyType( container: QTAtomContainer; parentAtom: QTAtom; currentChild: QTAtom; var nextChild: QTAtom ): OSErr; external name '_QTNextChildAnyType';
  7300. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7301. { set a leaf atom's data}
  7302. {
  7303. * QTSetAtomData()
  7304. *
  7305. * Availability:
  7306. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7307. * CarbonLib: in CarbonLib 1.0 and later
  7308. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7309. * Windows: in qtmlClient.lib 3.0 and later
  7310. }
  7311. function QTSetAtomData( container: QTAtomContainer; atom: QTAtom; dataSize: SIGNEDLONG; atomData: UnivPtr ): OSErr; external name '_QTSetAtomData';
  7312. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7313. { extracting data}
  7314. {
  7315. * QTCopyAtomDataToHandle()
  7316. *
  7317. * Availability:
  7318. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7319. * CarbonLib: in CarbonLib 1.0 and later
  7320. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7321. * Windows: in qtmlClient.lib 3.0 and later
  7322. }
  7323. function QTCopyAtomDataToHandle( container: QTAtomContainer; atom: QTAtom; targetHandle: Handle ): OSErr; external name '_QTCopyAtomDataToHandle';
  7324. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7325. {
  7326. * QTCopyAtomDataToPtr()
  7327. *
  7328. * Availability:
  7329. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7330. * CarbonLib: in CarbonLib 1.0 and later
  7331. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7332. * Windows: in qtmlClient.lib 3.0 and later
  7333. }
  7334. function QTCopyAtomDataToPtr( container: QTAtomContainer; atom: QTAtom; sizeOrLessOK: Boolean; size: SIGNEDLONG; targetPtr: UnivPtr; var actualSize: SIGNEDLONG ): OSErr; external name '_QTCopyAtomDataToPtr';
  7335. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7336. {
  7337. * QTGetAtomTypeAndID()
  7338. *
  7339. * Availability:
  7340. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7341. * CarbonLib: in CarbonLib 1.0 and later
  7342. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7343. * Windows: in qtmlClient.lib 3.0 and later
  7344. }
  7345. function QTGetAtomTypeAndID( container: QTAtomContainer; atom: QTAtom; var atomType: QTAtomType; var id: QTAtomID ): OSErr; external name '_QTGetAtomTypeAndID';
  7346. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7347. { extract a copy of an atom and all of it's children, caller disposes}
  7348. {
  7349. * QTCopyAtom()
  7350. *
  7351. * Availability:
  7352. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7353. * CarbonLib: in CarbonLib 1.0 and later
  7354. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7355. * Windows: in qtmlClient.lib 3.0 and later
  7356. }
  7357. function QTCopyAtom( container: QTAtomContainer; atom: QTAtom; var targetContainer: QTAtomContainer ): OSErr; external name '_QTCopyAtom';
  7358. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7359. { obtaining direct reference to atom data}
  7360. {
  7361. * QTLockContainer()
  7362. *
  7363. * Availability:
  7364. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7365. * CarbonLib: in CarbonLib 1.0 and later
  7366. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7367. * Windows: in qtmlClient.lib 3.0 and later
  7368. }
  7369. function QTLockContainer( container: QTAtomContainer ): OSErr; external name '_QTLockContainer';
  7370. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7371. {
  7372. * QTGetAtomDataPtr()
  7373. *
  7374. * Availability:
  7375. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7376. * CarbonLib: in CarbonLib 1.0 and later
  7377. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7378. * Windows: in qtmlClient.lib 3.0 and later
  7379. }
  7380. function QTGetAtomDataPtr( container: QTAtomContainer; atom: QTAtom; var dataSize: SIGNEDLONG; var atomData: Ptr ): OSErr; external name '_QTGetAtomDataPtr';
  7381. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7382. {
  7383. * QTUnlockContainer()
  7384. *
  7385. * Availability:
  7386. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7387. * CarbonLib: in CarbonLib 1.0 and later
  7388. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7389. * Windows: in qtmlClient.lib 3.0 and later
  7390. }
  7391. function QTUnlockContainer( container: QTAtomContainer ): OSErr; external name '_QTUnlockContainer';
  7392. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7393. {
  7394. building QTAtomContainer trees
  7395. creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
  7396. used for Top-Down tree creation
  7397. }
  7398. {
  7399. * QTInsertChild()
  7400. *
  7401. * Availability:
  7402. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7403. * CarbonLib: in CarbonLib 1.0 and later
  7404. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7405. * Windows: in qtmlClient.lib 3.0 and later
  7406. }
  7407. function QTInsertChild( container: QTAtomContainer; parentAtom: QTAtom; atomType: QTAtomType; id: QTAtomID; index: SInt16; dataSize: SIGNEDLONG; data: UnivPtr; var newAtom: QTAtom ): OSErr; external name '_QTInsertChild';
  7408. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7409. { inserts children from childrenContainer as children of parentAtom}
  7410. {
  7411. * QTInsertChildren()
  7412. *
  7413. * Availability:
  7414. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7415. * CarbonLib: in CarbonLib 1.0 and later
  7416. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7417. * Windows: in qtmlClient.lib 3.0 and later
  7418. }
  7419. function QTInsertChildren( container: QTAtomContainer; parentAtom: QTAtom; childrenContainer: QTAtomContainer ): OSErr; external name '_QTInsertChildren';
  7420. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7421. { destruction}
  7422. {
  7423. * QTRemoveAtom()
  7424. *
  7425. * Availability:
  7426. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7427. * CarbonLib: in CarbonLib 1.0 and later
  7428. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7429. * Windows: in qtmlClient.lib 3.0 and later
  7430. }
  7431. function QTRemoveAtom( container: QTAtomContainer; atom: QTAtom ): OSErr; external name '_QTRemoveAtom';
  7432. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7433. {
  7434. * QTRemoveChildren()
  7435. *
  7436. * Availability:
  7437. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7438. * CarbonLib: in CarbonLib 1.0 and later
  7439. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7440. * Windows: in qtmlClient.lib 3.0 and later
  7441. }
  7442. function QTRemoveChildren( container: QTAtomContainer; atom: QTAtom ): OSErr; external name '_QTRemoveChildren';
  7443. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7444. { replacement must be same type as target}
  7445. {
  7446. * QTReplaceAtom()
  7447. *
  7448. * Availability:
  7449. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7450. * CarbonLib: in CarbonLib 1.0 and later
  7451. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7452. * Windows: in qtmlClient.lib 3.0 and later
  7453. }
  7454. function QTReplaceAtom( targetContainer: QTAtomContainer; targetAtom: QTAtom; replacementContainer: QTAtomContainer; replacementAtom: QTAtom ): OSErr; external name '_QTReplaceAtom';
  7455. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7456. {
  7457. * QTSwapAtoms()
  7458. *
  7459. * Availability:
  7460. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7461. * CarbonLib: in CarbonLib 1.0 and later
  7462. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7463. * Windows: in qtmlClient.lib 3.0 and later
  7464. }
  7465. function QTSwapAtoms( container: QTAtomContainer; atom1: QTAtom; atom2: QTAtom ): OSErr; external name '_QTSwapAtoms';
  7466. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7467. {
  7468. * QTSetAtomID()
  7469. *
  7470. * Availability:
  7471. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7472. * CarbonLib: in CarbonLib 1.0 and later
  7473. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7474. * Windows: in qtmlClient.lib 3.0 and later
  7475. }
  7476. function QTSetAtomID( container: QTAtomContainer; atom: QTAtom; newID: QTAtomID ): OSErr; external name '_QTSetAtomID';
  7477. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7478. {
  7479. * QTGetAtomParent()
  7480. *
  7481. * Availability:
  7482. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7483. * CarbonLib: in CarbonLib 1.0.2 and later
  7484. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  7485. * Windows: in qtmlClient.lib 4.0 and later
  7486. }
  7487. function QTGetAtomParent( container: QTAtomContainer; childAtom: QTAtom ): QTAtom; external name '_QTGetAtomParent';
  7488. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7489. {
  7490. * SetMediaPropertyAtom()
  7491. *
  7492. * Availability:
  7493. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7494. * CarbonLib: in CarbonLib 1.0 and later
  7495. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7496. * Windows: in qtmlClient.lib 3.0 and later
  7497. }
  7498. function SetMediaPropertyAtom( theMedia: Media; propertyAtom: QTAtomContainer ): OSErr; external name '_SetMediaPropertyAtom';
  7499. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7500. {
  7501. * GetMediaPropertyAtom()
  7502. *
  7503. * Availability:
  7504. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7505. * CarbonLib: in CarbonLib 1.0 and later
  7506. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  7507. * Windows: in qtmlClient.lib 3.0 and later
  7508. }
  7509. function GetMediaPropertyAtom( theMedia: Media; var propertyAtom: QTAtomContainer ): OSErr; external name '_GetMediaPropertyAtom';
  7510. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7511. {****
  7512. Tween Support
  7513. ****}
  7514. type
  7515. TweenRecordPtr = ^TweenRecord;
  7516. TweenerDataProcPtr = function( tr: TweenRecordPtr; tweenData: UnivPtr; tweenDataSize: SIGNEDLONG; dataDescriptionSeed: SIGNEDLONG; dataDescription: Handle; asyncCompletionProc: ICMCompletionProcRecordPtr; transferProc: UniversalProcPtr; refCon: UnivPtr ): ComponentResult;
  7517. TweenerDataUPP = TweenerDataProcPtr;
  7518. TweenRecord = record
  7519. version: SIGNEDLONG;
  7520. container: QTAtomContainer;
  7521. tweenAtom: QTAtom;
  7522. dataAtom: QTAtom;
  7523. percent: Fixed;
  7524. dataProc: TweenerDataUPP;
  7525. private1: UnivPtr;
  7526. private2: UnivPtr;
  7527. end;
  7528. type
  7529. TweenV1RecordPtr = ^TweenV1Record;
  7530. TweenV1Record = record
  7531. version: SIGNEDLONG;
  7532. container: QTAtomContainer;
  7533. tweenAtom: QTAtom;
  7534. dataAtom: QTAtom;
  7535. percent: Fixed;
  7536. dataProc: TweenerDataUPP;
  7537. private1: UnivPtr;
  7538. private2: UnivPtr;
  7539. fractPercent: Fract;
  7540. end;
  7541. const
  7542. kTweenRecordNoFlags = 0;
  7543. kTweenRecordIsAtInterruptTime = $00000001;
  7544. type
  7545. TweenV2RecordPtr = ^TweenV2Record;
  7546. TweenV2Record = record
  7547. version: SIGNEDLONG;
  7548. container: QTAtomContainer;
  7549. tweenAtom: QTAtom;
  7550. dataAtom: QTAtom;
  7551. percent: Fixed;
  7552. dataProc: TweenerDataUPP;
  7553. private1: UnivPtr;
  7554. private2: UnivPtr;
  7555. fractPercent: Fract;
  7556. flags: SIGNEDLONG;
  7557. end;
  7558. {
  7559. * QTNewTween()
  7560. *
  7561. * Availability:
  7562. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7563. * CarbonLib: in CarbonLib 1.0 and later
  7564. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7565. * Windows: in qtmlClient.lib 3.0 and later
  7566. }
  7567. function QTNewTween( var tween: QTTweener; container: QTAtomContainer; tweenAtom: QTAtom; maxTime: TimeValue ): OSErr; external name '_QTNewTween';
  7568. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7569. {
  7570. * QTDisposeTween()
  7571. *
  7572. * Availability:
  7573. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7574. * CarbonLib: in CarbonLib 1.0 and later
  7575. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7576. * Windows: in qtmlClient.lib 3.0 and later
  7577. }
  7578. function QTDisposeTween( tween: QTTweener ): OSErr; external name '_QTDisposeTween';
  7579. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7580. {
  7581. * QTDoTween()
  7582. *
  7583. * Availability:
  7584. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7585. * CarbonLib: in CarbonLib 1.0 and later
  7586. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7587. * Windows: in qtmlClient.lib 3.0 and later
  7588. }
  7589. function QTDoTween( tween: QTTweener; atTime: TimeValue; result: Handle; var resultSize: SIGNEDLONG; tweenDataProc: TweenerDataUPP; tweenDataRefCon: UnivPtr ): OSErr; external name '_QTDoTween';
  7590. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7591. {
  7592. QTDoTweenPtr is an interrupt-safe version of QTDoTween. It has the following limitations:
  7593. - not all tween types support this call (those which must allocated memory), in which case they return codecUnimpErr.
  7594. - the QTAtomContainer used for the tween must be locked
  7595. - the dataSize must be large enough to contain the result
  7596. - this call is not supported for sequence tweens, use interpolation tweens instead
  7597. }
  7598. {
  7599. * QTDoTweenPtr()
  7600. *
  7601. * Availability:
  7602. * Mac OS X: in version 10.2 and later in QuickTime.framework
  7603. * CarbonLib: in CarbonLib 1.6 and later
  7604. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  7605. * Windows: in qtmlClient.lib 6.0 and later
  7606. }
  7607. function QTDoTweenPtr( tween: QTTweener; atTime: TimeValue; result: Ptr; resultSize: SIGNEDLONG ): OSErr; external name '_QTDoTweenPtr';
  7608. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  7609. {****
  7610. Preferences
  7611. ****}
  7612. {
  7613. * GetQuickTimePreference()
  7614. *
  7615. * Availability:
  7616. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7617. * CarbonLib: in CarbonLib 1.0 and later
  7618. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7619. * Windows: in qtmlClient.lib 3.0 and later
  7620. }
  7621. function GetQuickTimePreference( preferenceType: OSType; var preferenceAtom: QTAtomContainer ): OSErr; external name '_GetQuickTimePreference';
  7622. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7623. {
  7624. * SetQuickTimePreference()
  7625. *
  7626. * Availability:
  7627. * Mac OS X: in version 10.0 and later in QuickTime.framework
  7628. * CarbonLib: in CarbonLib 1.0 and later
  7629. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  7630. * Windows: in qtmlClient.lib 3.0 and later
  7631. }
  7632. function SetQuickTimePreference( preferenceType: OSType; preferenceAtom: QTAtomContainer ): OSErr; external name '_SetQuickTimePreference';
  7633. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  7634. {****
  7635. Effects and dialog Support
  7636. ****}
  7637. { atom types for entries in the effects list}
  7638. const
  7639. kEffectNameAtom = FourCharCode('name'); { name of effect }
  7640. kEffectTypeAtom = FourCharCode('type'); { codec sub-type for effect }
  7641. kEffectManufacturerAtom = FourCharCode('manu'); { codec manufacturer for effect }
  7642. type
  7643. QTParamPreviewRecordPtr = ^QTParamPreviewRecord;
  7644. QTParamPreviewRecord = record
  7645. sourceID: SIGNEDLONG; { 1 based source identifier}
  7646. sourcePicture: PicHandle; { picture for preview, must not dispose until dialog is disposed}
  7647. end;
  7648. type
  7649. QTParamPreviewPtr = QTParamPreviewRecordPtr;
  7650. QTParamDialogEventRecordPtr = ^QTParamDialogEventRecord;
  7651. QTParamDialogEventRecord = record
  7652. theEvent: EventRecordPtr; { Event received by the dialog }
  7653. whichDialog: DialogRef; { dialog that event was directed towards }
  7654. itemHit: SInt16; { dialog item which was hit }
  7655. end;
  7656. type
  7657. QTParamDialogEventPtr = QTParamDialogEventRecordPtr;
  7658. QTParamFetchPreviewRecordPtr = ^QTParamFetchPreviewRecord;
  7659. QTParamFetchPreviewRecord = record
  7660. theWorld: GWorldPtr; { the world into which to draw the preview }
  7661. percentage: Fixed; { frame percentage (from 0.0 - 1.0) to be drawn }
  7662. end;
  7663. type
  7664. QTParamFetchPreviewPtr = QTParamFetchPreviewRecordPtr;
  7665. { Only available on OS X }
  7666. const
  7667. kEffectParentWindowCarbon = FourCharCode('carb');
  7668. type
  7669. QTEventLoopDescriptionRecordPtr = ^QTEventLoopDescriptionRecord;
  7670. QTEventLoopDescriptionRecord = record
  7671. recordSize: SIGNEDLONG; { must be == sizeof(QTEventLoopDescriptionRecord) }
  7672. windowRefKind: SIGNEDLONG; { kind of window reference }
  7673. parentWindow: UnivPtr; { parent window (for sheets) or NIL to use Carbon FrontWindow() }
  7674. eventTarget: UnivPtr; { EventTargetRef to receive kHICommandOK and kHICommandCancel }
  7675. end;
  7676. type
  7677. QTEventLoopDescriptionPtr = QTEventLoopDescriptionRecordPtr;
  7678. const
  7679. pdActionConfirmDialog = 1; { no param}
  7680. pdActionSetAppleMenu = 2; { param is MenuRef}
  7681. pdActionSetEditMenu = 3; { param is MenuRef}
  7682. pdActionGetDialogValues = 4; { param is QTAtomContainer}
  7683. pdActionSetPreviewUserItem = 5; { param is long}
  7684. pdActionSetPreviewPicture = 6; { param is QTParamPreviewPtr;}
  7685. pdActionSetColorPickerEventProc = 7; { param is UserEventUPP}
  7686. pdActionSetDialogTitle = 8; { param is StringPtr }
  7687. pdActionGetSubPanelMenu = 9; { param is MenuRef* }
  7688. pdActionActivateSubPanel = 10; { param is long }
  7689. pdActionConductStopAlert = 11; { param is StringPtr }
  7690. pdActionModelessCallback = 12; { param is QTParamDialogEventPtr }
  7691. pdActionFetchPreview = 13; { param is QTParamFetchPreviewPtr }
  7692. pdActionSetDialogSettings = 14; { param is QTAtomContainer }
  7693. pdActionGetDialogSettings = 15; { param is QTAtomContainer }
  7694. pdActionGetNextSample = 16; { param is QTAtomContainer with effect sample to change - createdDialog may be NIL }
  7695. pdActionGetPreviousSample = 17; { param is QTAtomContainer with effect sample to change - createdDialog may be NIL }
  7696. pdActionCompactSample = 18; { param is QTAtomContainer with effect sample to compact, - createdDialog may be NIL }
  7697. pdActionSetEditCallout = 19; { param is QTParamPreviewCalloutPtr, can be NIL }
  7698. pdActionSetSampleTime = 20; { param is QTParamSampleTimePtr, can be NIL }
  7699. pdActionDoEditCommand = 21; { param is long with menu command (ie, mcMenuCut etc) }
  7700. pdActionGetSubPanelMenuValue = 22; { param is long and returns current sub-panel value selected by the effect }
  7701. { Action codes and typedefs used for custom controls within effects }
  7702. pdActionCustomNewControl = 23; { param is QTCustomControlNewPtr }
  7703. pdActionCustomDisposeControl = 24; { param is QTCustomControlNewPtr }
  7704. pdActionCustomPositionControl = 25; { param is QTCustomControlPositionControlPtr }
  7705. pdActionCustomShowHideControl = 26; { param is QTCustomControlShowHideControlPtr }
  7706. pdActionCustomHandleEvent = 27; { param is QTCustomControlHandleEventPtr }
  7707. pdActionCustomSetFocus = 28; { param is QTCustomControlSetFocusPtr }
  7708. pdActionCustomSetEditMenu = 29; { param is QTCustomControlSetEditMenuPtr }
  7709. pdActionCustomSetPreviewPicture = 30; { param is QTCustomControlSetPreviewPicturePtr }
  7710. pdActionCustomSetEditCallout = 31; { param is QTCustomControlSetEditCalloutPtr }
  7711. pdActionCustomGetEnableValue = 32; { param is QTCustomControlGetEnableValuePtr }
  7712. pdActionCustomSetSampleTime = 33; { param is QTCustomControlSetSampleTimePtr }
  7713. pdActionCustomGetValue = 34; { param is QTCustomControlGetValue }
  7714. pdActionCustomDoEditCommand = 35; { param is QTCustomControlDoEditCommand }
  7715. { more actions for the dialog }
  7716. pdActionRunInEventLoop = 36; { param is QTEventLoopDescriptionPtr - OS X only}
  7717. pdActionConvertSettingsToXML = 37; { param is QTAtomContainer* inbound, Handle* outbound contains the XML - createdDialog may be NIL }
  7718. pdActionConvertSettingsToXMLWithComments = 38; { param is QTAtomContainer* inbound, Handle* outbound contains the XML with comments - createdDialog may be NIL }
  7719. pdActionConvertSettingsToText = 39; { param is QTAtomContainer* inbound, Handle* outbound contains human readable text - createdDialog may be NIL }
  7720. pdActionConvertXMLToSettings = 40; { param is Handle* inbound, QTAtomContainer* outbound contains parameters - createdDialog may be NIL }
  7721. pdActionSetPropertyComponent = 41; { param is QTParamComponentPropertyPtr }
  7722. { Sample Time information }
  7723. const
  7724. pdSampleTimeDisplayOptionsNone = $00000000;
  7725. type
  7726. QTParamComponentPropertyRecord = record
  7727. component: ComponentInstance; { component to call for get/set properties}
  7728. defaultClass: OSType; { default property class if not overriden by a given parameter}
  7729. end;
  7730. type
  7731. QTParamSampleTimeRecordPtr = ^QTParamSampleTimeRecord;
  7732. QTParamSampleTimeRecord = record
  7733. displayOptions: SIGNEDLONG;
  7734. sampleStartTime: TimeRecord;
  7735. sampleDuration: TimeValue;
  7736. framesPerSecond: SIGNEDLONG; { if 0, will cause revert to seconds display}
  7737. end;
  7738. type
  7739. QTParamSampleTimePtr = QTParamSampleTimeRecordPtr;
  7740. { Preview change callout information }
  7741. type
  7742. QTParamPreviewCalloutRecordPtr = ^QTParamPreviewCalloutRecord;
  7743. QTParamPreviewCalloutRecord = record
  7744. calloutProc: MoviePreviewCallOutUPP; { called when user makes editing changes to dialog. May be NIL. You should return true from your function. }
  7745. refCon: SIGNEDLONG; { passed to the callout procedure }
  7746. end;
  7747. type
  7748. QTParamPreviewCalloutPtr = QTParamPreviewCalloutRecordPtr;
  7749. const
  7750. pdOptionsCollectOneValue = $00000001; { should collect a single value only}
  7751. pdOptionsAllowOptionalInterpolations = $00000002; { non-novice interpolation options are shown }
  7752. pdOptionsModalDialogBox = $00000004; { dialog box should be modal }
  7753. pdOptionsEditCurrentEffectOnly = $00000008; { List of effects will not be shown }
  7754. pdOptionsHidePreview = $00000010; { Preview item will not be shown }
  7755. pdOptionsDisplayAsSheet = $00000020; { Dialog will be used as a sheet (on platforms that support it) }
  7756. type
  7757. QTParameterDialogOptions = SIGNEDLONG;
  7758. { ------- CUSTOM EFFECT CONTROLS}
  7759. {
  7760. Effects may choose to implement custom controls to allow the user to more easily edit complex parameters
  7761. that are ill-served by simple sliders or type in boxes. Effects may allow a custom control for either
  7762. a single parameter, or for a group of parameters.
  7763. Parameter(s) for a custom control must still be data types defined by the standard set, or for
  7764. complex records of data, must be defined within a group as individual parameters made up from base
  7765. data types (for example, a point is a group containing two Fixed point numbers).
  7766. This is to allow applications that do not wish to use the custom control for the effect to set values themselves.
  7767. Effects should be aware that these custom controls may be deployed by the application in either a dialog or
  7768. a window, with application defined background colors or patterns, along with application defined font
  7769. characteristics for the window.
  7770. It is recommended that effects implement custom controls only when needed, and that custom controls be used
  7771. for specific types of parameters (ie, point, rectangle, polygon, path) rather than the entire user interface
  7772. for the effect. Effects may choose to implement multiple custom controls which combine with standard controls
  7773. to present the total user interface. For effects which have very complex user interfaces not well suited for
  7774. inclusion within a single window, it is recommended to use kParameterImageIsPreset -- which allows the effect to
  7775. have an external editing application for parameters which may then be set within the standard UI via the open file
  7776. dialog or drag and drop. The Lens Flare effect's "Flare Type" is an example of such a preset.
  7777. For parameters that use a custom control to control a single parameter value, a new behavior
  7778. flag has been added (kCustomControl), and the behavior for the parameter should be kParameterItemControl.
  7779. For parameters that are groups, the same flag (kCustomControl) should be used, and the behavior
  7780. should be kParameterItemGroupDivider. Groups with the kCustomControl bit set will be implemented
  7781. by calling the custom control for that group -- the parameters within that group will not be processed
  7782. in the normal manner.
  7783. In both cases, the new customType and customID fields of the behavior must be filled in. These are
  7784. used in order to allow your custom control to determine which parameter is being edited in the case
  7785. where the custom control is used for the editing of multiple parameters. These values are passed into
  7786. the pdActionCustomNewControl call. Since the custom control mechanism is also used by QuickTime's
  7787. default effect dialogs, you should be prepared to pass onto the base effect any pdActionCustomNewControl
  7788. calls for type/id pairs that you do not handle yourself. When pdActionCustomNewControl is called
  7789. for controls of types handled by QuickTime, customType is kParameterAtomTypeAndID and customID is
  7790. the ID of the parameter atom.
  7791. }
  7792. {
  7793. pdActionCustomNewControlControl is called by application to create a new custom control or set of controls
  7794. for an effect parameter. When pdActionCustomNewControl is called, the effect should perform any
  7795. basic allocation it needs for storage and return the result in storage. The options parameter tells
  7796. the control if the application wishes to support interpolated, optionally interpolated, or a single
  7797. value parameter.
  7798. Since pdActionCustomNewControlControl may be called upon your effect for other items within the
  7799. dialog, it is recommended that your effect have an easy way to determine which controls it implements:
  7800. a) by having storage be a pointer with an OSType at the begining to mark controls
  7801. implemented by your code.
  7802. - or -
  7803. b) keeping track in your component globals those custom controls which you have created.
  7804. When pdActionCustomDisposeControl is called any allocation done by the control should be disposed. In addition,
  7805. pdActionCustomDisposeControl is the last chance the control has to commit any user changes into the sample.
  7806. Controls which implement type in fields typically need to commit any final user edits at this time.
  7807. }
  7808. type
  7809. QTCustomControlNewRecordPtr = ^QTCustomControlNewRecord;
  7810. QTCustomControlNewRecord = record
  7811. storage: UnivPtr; { storage allocated/disposed by the control}
  7812. options: QTParameterDialogOptions; { options used to control interpolation/not}
  7813. sample: QTAtomContainer; { sample that holds the data to be edited}
  7814. customType: SIGNEDLONG; { custom type and ID specified by effect for creation of this control}
  7815. customID: SIGNEDLONG;
  7816. end;
  7817. type
  7818. QTCustomControlNewPtr = QTCustomControlNewRecordPtr;
  7819. {
  7820. pdActionCustomPositionControl is called by the application to position the control within a window or dialog.
  7821. The control should determine if it will fit in the alloted area and position itself there. It should also
  7822. return the space taken up by the control. Note you are free to implement controls which are variable in size depending upon
  7823. which parameter you are editing. You need not scale your control to the requested size. If the area presented to your
  7824. control is too small, set didFit to false. You should still return in used the size you would have liked to use for
  7825. the control. The application will then try again with a new size. Note that all
  7826. controls must be able to fit within a minimum of 300 by 250 pixels.
  7827. Custom controls that draw text should make note of the text font, size, and style at this time in order
  7828. to properly display within application windows.
  7829. Note that the default state for the control is hidden. You will receive a pdActionCustomShowHideControl
  7830. in order to enable your control. You should not draw your control in response to pdActionCustomPositionControl.
  7831. }
  7832. type
  7833. QTCustomControlPositionControlRecordPtr = ^QTCustomControlPositionControlRecord;
  7834. QTCustomControlPositionControlRecord = record
  7835. storage: UnivPtr; { storage for the control}
  7836. window: WindowPtr; { window to be used by the control}
  7837. location: Rect; { location within the window the control may use}
  7838. used: Rect; { returned by the control to indicate size it actually used}
  7839. didFit: Boolean; { did the control fit in the specified area?}
  7840. pad: array [0..2] of Boolean;
  7841. end;
  7842. type
  7843. QTCustomControlPositionControlPtr = QTCustomControlPositionControlRecordPtr;
  7844. {
  7845. pdActionCustomShowHideControl is called when the application wishes to enable/disable your control, or
  7846. completely disable drawing of the control
  7847. Your control should make note of the new state (if different from the last) and perform an InvalRect()
  7848. on your drawing area, or you may draw your control's initial state in the case of show. You should not
  7849. attempt to erase your control as the result of a hide -- instead call InvalRect() and allow the application
  7850. to process the resulting event as appropriate.
  7851. }
  7852. type
  7853. QTCustomControlShowHideControlRecordPtr = ^QTCustomControlShowHideControlRecord;
  7854. QTCustomControlShowHideControlRecord = record
  7855. storage: UnivPtr; { storage for the control}
  7856. show: Boolean; { display the control?}
  7857. enable: Boolean; { enable the control (ie, black vs gray display)}
  7858. pad: array [0..1] of Boolean;
  7859. end;
  7860. type
  7861. QTCustomControlShowHideControlPtr = QTCustomControlShowHideControlRecordPtr;
  7862. {
  7863. pdActionCustomHandleEvent is called to allow your custom control to process events.
  7864. Typical controls handle the following events:
  7865. - activate - to draw your control in normal/gray mode
  7866. - update - to draw your control
  7867. - mouseDown - to handle clicks
  7868. - keyDown - to handle typing when you have focus
  7869. - idle - to perform idle drawing (if applicable)
  7870. If your control handles the entire event, set didProcess to true. If
  7871. you handled the event, but other controls still need the event, set didProcess to false.
  7872. If your control supports the concept of focus for the purposes of typing (such as by having
  7873. a type-in box for the parameter) then you set the tookFocus Boolean as part of your processing
  7874. of the event. It is assumed that your control will draw the appropriate focus UI as a result, and
  7875. the calling application will disable any focus drawing within the remainder of the UI.
  7876. By default, custom controls are not given idle time. If you need idle time, set needIdle to true
  7877. in response to the even that causes you to need idle (typically the taking of focus, or the first draw).
  7878. Your control will continue to be given idle events until you set needIdle to false in response to
  7879. a nullEvent.
  7880. }
  7881. type
  7882. QTCustomControlHandleEventRecordPtr = ^QTCustomControlHandleEventRecord;
  7883. QTCustomControlHandleEventRecord = record
  7884. storage: UnivPtr; { storage for the control}
  7885. pEvent: EventRecordPtr; { event to process}
  7886. didProcess: Boolean; { did we process entire event?}
  7887. tookFocus: Boolean; { did we take focus as a result of this event (typically mouseDowns)}
  7888. needIdle: Boolean; { does this control need idle events?}
  7889. didEdit: Boolean; { did we edit the samples?}
  7890. end;
  7891. type
  7892. QTCustomControlHandleEventPtr = QTCustomControlHandleEventRecordPtr;
  7893. {
  7894. pdActionCustomSetFocus is called in order to set or advance the current focus of the user interface, typically
  7895. because the user has pressed the tab or shift-tab keys, or because the user clicked within the area defined by
  7896. your control.
  7897. Your control will be called with pdActionFocusFirst, pdActionFocusLast, or pdActionFocusOff to set or clear focus on your
  7898. control. Your control will be called with pdActionFocusForward or pdActionFocusBackward to cycle
  7899. focus within your control (if your control has multiple focus). If your control does not support focus,
  7900. or the focus request results in focus moving beyond your supported range, return pdActionFocusOff in
  7901. the focus parameter. Otherwise, return the focus that you set.
  7902. Controls which have no focus would always set focus to be pdActionFocusOff.
  7903. Controls with a single focus would set pdActionFocusFirst when requsted to set either
  7904. pdActionFocusFirst or pdActionFocusLast, and would set pdActionFocusOff for either
  7905. pdActionFocusForward or pdActionFocusBackward.
  7906. }
  7907. const
  7908. pdActionFocusOff = 0; { no focus }
  7909. pdActionFocusFirst = 1; { focus on first element }
  7910. pdActionFocusLast = 2; { focus on last element }
  7911. pdActionFocusForward = 3; { focus on next element }
  7912. pdActionFocusBackward = 4; { focus on previous element }
  7913. type
  7914. QTCustomControlSetFocusRecordPtr = ^QTCustomControlSetFocusRecord;
  7915. QTCustomControlSetFocusRecord = record
  7916. storage: UnivPtr; { storage for the control}
  7917. focus: SIGNEDLONG; { focus to set, return resulting focus}
  7918. end;
  7919. type
  7920. QTCustomControlSetFocusPtr = QTCustomControlSetFocusRecordPtr;
  7921. {
  7922. pdActionCustomSetEditMenu will be called to inform your custom control of the location of the edit menu.
  7923. If your control has editing boxes, this is useful in order to allow the user to perform cut/copy/paste operations
  7924. when focus is on one of these boxes.
  7925. }
  7926. type
  7927. QTCustomControlSetEditMenuRecordPtr = ^QTCustomControlSetEditMenuRecord;
  7928. QTCustomControlSetEditMenuRecord = record
  7929. storage: UnivPtr; { storage for the control}
  7930. editMenu: MenuHandle; { edit menu, or NIL}
  7931. end;
  7932. type
  7933. QTCustomControlSetEditMenuPtr = QTCustomControlSetEditMenuRecordPtr;
  7934. {
  7935. pdActionCustomSetPreviewPicture will be called to inform your custom control of preview information that you
  7936. may wish to use in the drawing of your user interface.
  7937. }
  7938. type
  7939. QTCustomControlSetPreviewPictureRecordPtr = ^QTCustomControlSetPreviewPictureRecord;
  7940. QTCustomControlSetPreviewPictureRecord = record
  7941. storage: UnivPtr; { storage for the control}
  7942. preview: QTParamPreviewPtr; { preview to set}
  7943. end;
  7944. type
  7945. QTCustomControlSetPreviewPicturePtr = QTCustomControlSetPreviewPictureRecordPtr;
  7946. {
  7947. pdActionCustomSetEditCallout tells your control of the need by the application to be informed of
  7948. changes to the parameter values (typically for the purposes of updating previews).
  7949. If a callout is available, your custom control should call it whenever a change has been
  7950. made to the parameter(s) that your control is editing (as a result of user actions, most typically).
  7951. If you choose not to implement this, live dragging or updating of values will not work.
  7952. }
  7953. type
  7954. QTCustomControlSetEditCalloutRecordPtr = ^QTCustomControlSetEditCalloutRecord;
  7955. QTCustomControlSetEditCalloutRecord = record
  7956. storage: UnivPtr; { storage for the control}
  7957. callout: QTParamPreviewCalloutPtr; { requested callout, or NIL to disable}
  7958. end;
  7959. type
  7960. QTCustomControlSetEditCalloutPtr = QTCustomControlSetEditCalloutRecordPtr;
  7961. {
  7962. pdActionCustomGetEnableValue allows you to return a value for the purposes of enabling/disabling
  7963. other controls.
  7964. Most custom controls do not need to implement this call.
  7965. If your control is able to control the enabling and disabling of other parameter controls (such as is done
  7966. by standard pop up or enumerated type controls), you need to supply a value that can be use for greater than/less than
  7967. types of comparisons.
  7968. }
  7969. type
  7970. QTCustomControlGetEnableValueRecordPtr = ^QTCustomControlGetEnableValueRecord;
  7971. QTCustomControlGetEnableValueRecord = record
  7972. storage: UnivPtr; { storage for the control}
  7973. currentValue: SIGNEDLONG; { value to compare against for enable/disable purposes}
  7974. end;
  7975. type
  7976. QTCustomControlGetEnableValuePtr = QTCustomControlGetEnableValueRecordPtr;
  7977. {
  7978. pdActionCustomSetSampleTime tells your control information from the application about the duration
  7979. and start time for the sample being edited.
  7980. Most controls do not need this information, but some may choose to use it in the interface
  7981. they present the user. However, this call need not be made by applications, so the custom
  7982. control should be prepared to run when the sample time information is not available.
  7983. }
  7984. type
  7985. QTCustomControlSetSampleTimeRecordPtr = ^QTCustomControlSetSampleTimeRecord;
  7986. QTCustomControlSetSampleTimeRecord = record
  7987. storage: UnivPtr; { storage for the control}
  7988. sampleTime: QTParamSampleTimePtr; { sample time information or NIL}
  7989. end;
  7990. type
  7991. QTCustomControlSetSampleTimePtr = QTCustomControlSetSampleTimeRecordPtr;
  7992. {
  7993. pdActionCustomGetValue tells your control to store any value(s) into the specified atom container.
  7994. All custom controls must implement this call
  7995. }
  7996. type
  7997. QTCustomControlGetValueRecordPtr = ^QTCustomControlGetValueRecord;
  7998. QTCustomControlGetValueRecord = record
  7999. storage: UnivPtr; { storage for the control}
  8000. sample: QTAtomContainer; { sample to store into}
  8001. end;
  8002. type
  8003. QTCustomControlGetValuePtr = QTCustomControlGetValueRecordPtr;
  8004. {
  8005. pdActionCustomDoEditCommand tells your control to handle edit commands if it allow focus and type in boxes.
  8006. All custom controls must implement this call if they support edit boxes
  8007. }
  8008. type
  8009. QTCustomControlDoEditCommandRecordPtr = ^QTCustomControlDoEditCommandRecord;
  8010. QTCustomControlDoEditCommandRecord = record
  8011. storage: UnivPtr; { storage for the control}
  8012. command: SIGNEDLONG; { command to execute, return 0 here if processed}
  8013. end;
  8014. type
  8015. QTCustomControlDoEditCommandPtr = QTCustomControlDoEditCommandRecordPtr;
  8016. QTParameterDialog = SIGNEDLONG;
  8017. const
  8018. elOptionsIncludeNoneInList = $00000001; { "None" effect is included in list }
  8019. type
  8020. QTEffectListOptions = SIGNEDLONG;
  8021. const
  8022. effectIsRealtime = 0; { effect can be rendered in real time }
  8023. {
  8024. QTGetEffectsListExtended is a call that provides for
  8025. more advanced filtering of effects to be placed into the
  8026. effect list. Applications can filter on:
  8027. 1) number of input sources
  8028. 2) effect major or minor class
  8029. 3) custom filtering through a callback
  8030. The callback will be called for each effect which passes
  8031. the other criteria for inclusion. If the callback
  8032. returns a true result the effect will be included in the list.
  8033. Note that your filter proc may receive multiple effects from various
  8034. manufacturers. If you return true for multiple effects of a given type
  8035. only the one with the higher parameter version number will be included.
  8036. If you wish other filtering (such as effects from a given manufacturer, you
  8037. can do this by return false for the other effects and true for those
  8038. that you prefer.
  8039. }
  8040. type
  8041. QTEffectListFilterProcPtr = function( effect: Component; effectMinSource: SIGNEDLONG; effectMaxSource: SIGNEDLONG; majorClass: OSType; minorClass: OSType; refcon: UnivPtr ): Boolean;
  8042. QTEffectListFilterUPP = QTEffectListFilterProcPtr;
  8043. {
  8044. * QTGetEffectsList()
  8045. *
  8046. * Availability:
  8047. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8048. * CarbonLib: in CarbonLib 1.0 and later
  8049. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8050. * Windows: in qtmlClient.lib 3.0 and later
  8051. }
  8052. function QTGetEffectsList( var returnedList: QTAtomContainer; minSources: SIGNEDLONG; maxSources: SIGNEDLONG; getOptions: QTEffectListOptions ): OSErr; external name '_QTGetEffectsList';
  8053. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8054. {
  8055. * QTGetEffectsListExtended()
  8056. *
  8057. * Availability:
  8058. * Mac OS X: in version 10.2 and later in QuickTime.framework
  8059. * CarbonLib: in CarbonLib 1.6 and later
  8060. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  8061. * Windows: in qtmlClient.lib 6.0 and later
  8062. }
  8063. function QTGetEffectsListExtended( var returnedList: QTAtomContainer; minSources: SIGNEDLONG; maxSources: SIGNEDLONG; getOptions: QTEffectListOptions; majorClass: OSType; minorClass: OSType; filterProc: QTEffectListFilterUPP; filterRefCon: UnivPtr ): OSErr; external name '_QTGetEffectsListExtended';
  8064. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  8065. {
  8066. * QTCreateStandardParameterDialog()
  8067. *
  8068. * Availability:
  8069. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8070. * CarbonLib: in CarbonLib 1.0 and later
  8071. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8072. * Windows: in qtmlClient.lib 3.0 and later
  8073. }
  8074. function QTCreateStandardParameterDialog( effectList: QTAtomContainer; parameters: QTAtomContainer; dialogOptions: QTParameterDialogOptions; var createdDialog: QTParameterDialog ): OSErr; external name '_QTCreateStandardParameterDialog';
  8075. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8076. {
  8077. * QTIsStandardParameterDialogEvent()
  8078. *
  8079. * Availability:
  8080. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8081. * CarbonLib: in CarbonLib 1.0 and later
  8082. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8083. * Windows: in qtmlClient.lib 3.0 and later
  8084. }
  8085. function QTIsStandardParameterDialogEvent( var pEvent: EventRecord; createdDialog: QTParameterDialog ): OSErr; external name '_QTIsStandardParameterDialogEvent';
  8086. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8087. {
  8088. * QTDismissStandardParameterDialog()
  8089. *
  8090. * Availability:
  8091. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8092. * CarbonLib: in CarbonLib 1.0 and later
  8093. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8094. * Windows: in qtmlClient.lib 3.0 and later
  8095. }
  8096. function QTDismissStandardParameterDialog( createdDialog: QTParameterDialog ): OSErr; external name '_QTDismissStandardParameterDialog';
  8097. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8098. {
  8099. * QTStandardParameterDialogDoAction()
  8100. *
  8101. * Availability:
  8102. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8103. * CarbonLib: in CarbonLib 1.0 and later
  8104. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8105. * Windows: in qtmlClient.lib 3.0 and later
  8106. }
  8107. function QTStandardParameterDialogDoAction( createdDialog: QTParameterDialog; action: SIGNEDLONG; params: UnivPtr ): OSErr; external name '_QTStandardParameterDialogDoAction';
  8108. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8109. {
  8110. * QTGetEffectSpeed()
  8111. *
  8112. * Availability:
  8113. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8114. * CarbonLib: in CarbonLib 1.0 and later
  8115. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  8116. * Windows: in qtmlClient.lib 3.0 and later
  8117. }
  8118. function QTGetEffectSpeed( parameters: QTAtomContainer; var pFPS: Fixed ): OSErr; external name '_QTGetEffectSpeed';
  8119. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8120. { Movie Audio/Sound APIs}
  8121. {
  8122. SetMovieAudioGain:
  8123. This API sets the audio gain level for the mixed audio output of a movie. This alters the
  8124. perceived volume of the movie's playback. The gain level is multiplicative; eg. 0.0
  8125. is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the movie is not
  8126. modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
  8127. to allow quiet movies to be boosted in volume. Settings higher than 1.0 may result in
  8128. audio clipping, of course. The setting is not stored in the movie. It is only used until
  8129. the movie is closed, at which time it is not saved.
  8130. }
  8131. {
  8132. * SetMovieAudioGain()
  8133. *
  8134. * Availability:
  8135. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8136. * CarbonLib: not available
  8137. * Non-Carbon CFM: not available
  8138. }
  8139. function SetMovieAudioGain( m: Movie; gain: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieAudioGain';
  8140. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8141. {
  8142. * GetMovieAudioGain()
  8143. *
  8144. * Availability:
  8145. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8146. * CarbonLib: not available
  8147. * Non-Carbon CFM: not available
  8148. }
  8149. function GetMovieAudioGain( m: Movie; var gain: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieAudioGain';
  8150. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8151. {
  8152. SetTrackAudioGain:
  8153. This API sets the audio gain level for the audio output of a track. This alters the
  8154. perceived volume of the track's playback. The gain level is multiplicative; eg. 0.0
  8155. is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the track is not
  8156. modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order
  8157. to allow quiet tracks to be boosted in volume. Settings higher than 1.0 may result in
  8158. audio clipping, of course. The setting is not stored in the movie. It is only used until
  8159. the movie is closed, at which time it is not saved.
  8160. }
  8161. {
  8162. * SetTrackAudioGain()
  8163. *
  8164. * Availability:
  8165. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8166. * CarbonLib: not available
  8167. * Non-Carbon CFM: not available
  8168. }
  8169. function SetTrackAudioGain( t: Track; gain: Float32; flags: UInt32 ): OSStatus; external name '_SetTrackAudioGain';
  8170. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8171. {
  8172. * GetTrackAudioGain()
  8173. *
  8174. * Availability:
  8175. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8176. * CarbonLib: not available
  8177. * Non-Carbon CFM: not available
  8178. }
  8179. function GetTrackAudioGain( t: Track; var gain: Float32; flags: UInt32 ): OSStatus; external name '_GetTrackAudioGain';
  8180. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8181. {
  8182. SetMovieAudioBalance:
  8183. This API sets the audio balance level for the mixed audio output of a movie. -1.0
  8184. means full left, 0.0 means centered, and 1.0 means full right. The setting is not
  8185. stored in the movie. It is only used until the movie is closed, at which time it
  8186. is not saved.
  8187. }
  8188. {
  8189. * SetMovieAudioBalance()
  8190. *
  8191. * Availability:
  8192. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8193. * CarbonLib: not available
  8194. * Non-Carbon CFM: not available
  8195. }
  8196. function SetMovieAudioBalance( m: Movie; leftRight: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieAudioBalance';
  8197. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8198. {
  8199. * GetMovieAudioBalance()
  8200. *
  8201. * Availability:
  8202. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8203. * CarbonLib: not available
  8204. * Non-Carbon CFM: not available
  8205. }
  8206. function GetMovieAudioBalance( m: Movie; var leftRight: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieAudioBalance';
  8207. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8208. {
  8209. SetMovieAudioMute:
  8210. This API mutes or unmutes the mixed audio output from a movie.
  8211. }
  8212. {
  8213. * SetMovieAudioMute()
  8214. *
  8215. * Availability:
  8216. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8217. * CarbonLib: not available
  8218. * Non-Carbon CFM: not available
  8219. }
  8220. function SetMovieAudioMute( m: Movie; muted: Boolean; flags: UInt32 ): OSStatus; external name '_SetMovieAudioMute';
  8221. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8222. {
  8223. * GetMovieAudioMute()
  8224. *
  8225. * Availability:
  8226. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8227. * CarbonLib: not available
  8228. * Non-Carbon CFM: not available
  8229. }
  8230. function GetMovieAudioMute( m: Movie; var muted: Boolean; flags: UInt32 ): OSStatus; external name '_GetMovieAudioMute';
  8231. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8232. {
  8233. SetTrackAudioMute:
  8234. This API mutes or unmutes the audio output from a track.
  8235. }
  8236. {
  8237. * SetTrackAudioMute()
  8238. *
  8239. * Availability:
  8240. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8241. * CarbonLib: not available
  8242. * Non-Carbon CFM: not available
  8243. }
  8244. function SetTrackAudioMute( t: Track; muted: Boolean; flags: UInt32 ): OSStatus; external name '_SetTrackAudioMute';
  8245. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8246. {
  8247. * GetTrackAudioMute()
  8248. *
  8249. * Availability:
  8250. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8251. * CarbonLib: not available
  8252. * Non-Carbon CFM: not available
  8253. }
  8254. function GetTrackAudioMute( t: Track; var muted: Boolean; flags: UInt32 ): OSStatus; external name '_GetTrackAudioMute';
  8255. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8256. const
  8257. {
  8258. * Properties of an audio presentation (eg. a movie's audio)
  8259. }
  8260. kQTPropertyClass_Audio = FourCharCode('audi');
  8261. const
  8262. {
  8263. * kQTAudioPropertyID_Gain: Value is Float32. Get/Set/Listenable
  8264. * The audio gain of a movie or track. The gain level is
  8265. * multiplicative; eg. 0.0 is silent, 0.5 is -6dB, 1.0 is 0dB (ie.
  8266. * the audio from the movie is not modified), 2.0 is +6dB, etc. The
  8267. * gain level can be set higher than 1.0 in order to allow quiet
  8268. * movies/tracks to be boosted in volume. Settings higher than 1.0
  8269. * may result in audio clipping, of course. The setting is not stored
  8270. * in the movie/track. It is only used until the movie/track is
  8271. * disposed.
  8272. }
  8273. kQTAudioPropertyID_Gain = FourCharCode('gain'); { value is Float32. Gettable/Settable.}
  8274. {
  8275. * kQTAudioPropertyID_Mute: Value is Boolean. Get/Set/Listenable
  8276. * The audio mute state of a movie or track. If true, the
  8277. * movie/track is muted. The setting is not stored in the
  8278. * movie/track. It is only used until the movie/track is disposed.
  8279. }
  8280. kQTAudioPropertyID_Mute = FourCharCode('mute'); { value is Boolean. Gettable/Settable.}
  8281. {
  8282. * kQTAudioPropertyID_Balance: Value is Float32. Get/Set/Listenable
  8283. * The audio balance of a movie. -1.0 means full left, 0.0 means
  8284. * centered, and 1.0 means full right. The setting is not stored in
  8285. * the movie. It is only used until the movie is disposed. This is
  8286. * only supported for movies, not tracks.
  8287. }
  8288. kQTAudioPropertyID_Balance = FourCharCode('bala'); { value is Float32. Gettable/Settable.}
  8289. {
  8290. * kQTAudioPropertyID_RateChangesPreservePitch: Value is Boolean.
  8291. * Get/Set When the playback rate is not unity, audio must be
  8292. * resampled in order to play at the new rate. The default
  8293. * resampling affects the pitch of the audio (eg, playing at 2x speed
  8294. * raises the pitch by an octave, 1/2x lowers an octave). If this
  8295. * property is set on the Movie, an alternative algorithm may be
  8296. * used, which alters the speed without changing the pitch. As this
  8297. * is more computationally expensive, this property may be silently
  8298. * ignored on some slow CPUs. Media handlers may query this movie
  8299. * property and honor it when performing Scaled Edits. This property
  8300. * can be specified as a property to the NewMovieFromProperties()
  8301. * API. Currently, it has no effect when set on an open movie.
  8302. }
  8303. kQTAudioPropertyID_RateChangesPreservePitch = FourCharCode('aucp'); { value is Boolean. Gettable/Settable.}
  8304. {
  8305. * kQTAudioPropertyID_Pitch: Value is Float32. Get/Set/Listenable
  8306. * Movie pitch adjustment. Adjusts the pitch of all audio tracks
  8307. * that contribute to the AudioContext mix. Pitch control takes
  8308. * effect only if kQTAudioPropertyID_RateChangesPreservePitch is in
  8309. * effect, otherwise returns kQTMessageNotHandledErr. The Float32
  8310. * value is specified in cents: 0.0 == no change, 1.0 == one cent up,
  8311. * 100.0 == one semi-tone up, -1.0 == one cent down. The most useful
  8312. * ranges for pitch are +/- 1200. (ie, one octave)
  8313. }
  8314. kQTAudioPropertyID_Pitch = FourCharCode('pitc'); { value is Float32. Get/Set/Listenable.}
  8315. {
  8316. * kQTAudioPropertyID_RenderQuality: Value is UInt32. Get/Set
  8317. * Movie audio render quality takes effect for movie playback. UInt32
  8318. * values vary from 0x00 (kQTAudioRenderQuality_Min) to 0x7F
  8319. * (kQTAudioRenderQuality_Max). We also define a special value
  8320. * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
  8321. * settings of the playback processing chain to values that are
  8322. * chosen to be an optimal balance of performance and quality.
  8323. }
  8324. kQTAudioPropertyID_RenderQuality = FourCharCode('qual'); { value is UInt32. Gettable/Settable.}
  8325. {
  8326. * kQTAudioPropertyID_ChannelLayout: Value is AudioChannelLayout.
  8327. * Get/Set The AudioChannelLayout of a track, or other audio stream.
  8328. * Currently only settable/gettable for tracks. (See
  8329. * kQTAudioPropertyID_SummaryChannelLayout if you want to get the
  8330. * summary AudioChannelLayout of a movie.) Note that this is a
  8331. * variable sized property (since it may contain an array of
  8332. * ChannelDescriptions; see CoreAudioTypes.h). You must get the size
  8333. * first (by calling QTGetTrackPropertyInfo), allocate a struct of
  8334. * that size, and then get the property.
  8335. }
  8336. kQTAudioPropertyID_ChannelLayout = FourCharCode('tlay'); { value is AudioChannelLayout. Gettable/Settable.}
  8337. {
  8338. * kQTAudioPropertyID_SummaryChannelLayout: Value is
  8339. * AudioChannelLayout. Get-only The summary AudioChannelLayout of a
  8340. * movie, or other grouping of audio streams. All like-labelled
  8341. * channels are combined, so there are no duplicates. For example,
  8342. * if there is a stereo (L/R) track, 5 single-channel tracks marked
  8343. * Left, Right, Left Surround, Right Surround and Center, and a 4
  8344. * channel track marked L/R/Ls/Rs, then the summary
  8345. * AudioChannelLayout will be L/R/Ls/Rs/C. It will _not_ be
  8346. * L/R/L/R/Ls/Rs/C/L/R/Ls/Rs. Note that this is a variable sized
  8347. * property (since it may contain an array of ChannelDescriptions;
  8348. * see CoreAudioTypes.h). You must get the size first (by calling,
  8349. * for example, QTGetMoviePropertyInfo) allocate a struct of that
  8350. * size, and then get the property.
  8351. }
  8352. kQTAudioPropertyID_SummaryChannelLayout = FourCharCode('clay'); { value is AudioChannelLayout. Gettable.}
  8353. {
  8354. * kQTAudioPropertyID_DeviceChannelLayout: Value is
  8355. * AudioChannelLayout. Get-only The AudioChannelLayout of the device
  8356. * this movie is playing to. Note that this is a variable sized
  8357. * property (since it may contain an array of ChannelDescriptions;
  8358. * see CoreAudioTypes.h). You must get the size first (by calling,
  8359. * for example, QTGetMoviePropertyInfo) allocate a struct of that
  8360. * size, and then get the property.
  8361. }
  8362. kQTAudioPropertyID_DeviceChannelLayout = FourCharCode('dcly'); { value is AudioChannelLayout. Gettable.}
  8363. {
  8364. * kQTAudioPropertyID_DeviceASBD: Value is
  8365. * AudioStreamBasicDescription. Get-only Returns the
  8366. * AudioStreamBasicDescription of the device this movie is playing
  8367. * to. The interesting fields are the sample rate, which reflects
  8368. * device's current state, and the number of channels, which matches
  8369. * what is reported by kQTAudioPropertyID_DeviceChannelLayout.
  8370. }
  8371. kQTAudioPropertyID_DeviceASBD = FourCharCode('dasd'); { value is AudioStreamBasicDescription. Gettable.}
  8372. {
  8373. * kQTAudioPropertyID_SummaryASBD: Value is
  8374. * AudioStreamBasicDescription. Get-only Returns the
  8375. * AudioStreamBasicDescription corresponding to the Summary Mix of a
  8376. * movie. This will describe non-interleaved, Float32 linear PCM
  8377. * data, with a sample rate equal to the highest audio sample rate
  8378. * found among the sound tracks contributing to the AudioContext mix,
  8379. * and a number of channels that matches what is reported by
  8380. * kQTAudioPropertyID_SummaryChannelLayout.
  8381. }
  8382. kQTAudioPropertyID_SummaryASBD = FourCharCode('sasd'); { value is AudioStreamBasicDescription. Gettable.}
  8383. {
  8384. * kQTAudioPropertyID_FormatString: Value is CFStringRef. Get-only
  8385. * kQTAudioPropertyID_FormatString returns a localized, human
  8386. * readable string describing the audio format as a CFStringRef, i.e.
  8387. * "MPEG Layer 3". You may get this property from a SoundDescription
  8388. * Handle by calling QTSoundDescriptionGetProperty(), or from a
  8389. * StandardAudioCompression (scdi/audi) component instance by calling
  8390. * QTGetComponentProperty().
  8391. }
  8392. kQTAudioPropertyID_FormatString = FourCharCode('fstr'); { value is CFStringRef. Gettable.}
  8393. {
  8394. * kQTAudioPropertyID_ChannelLayoutString: Value is CFStringRef.
  8395. * Get-only kQTAudioPropertyID_ChannelLayoutString returns a
  8396. * localized, human readable string describing the audio channel
  8397. * layout as a CFStringRef, i.e. "5.0 (L R C Ls Rs)". You may get
  8398. * this property from a SoundDescription Handle by calling
  8399. * QTSoundDescriptionGetProperty(), or from a
  8400. * StandardAudioCompression (scdi/audi) component instance by calling
  8401. * QTGetComponentProperty().
  8402. }
  8403. kQTAudioPropertyID_ChannelLayoutString = FourCharCode('lstr'); { value is CFStringRef. Gettable.}
  8404. {
  8405. * kQTAudioPropertyID_SampleRateString: Value is CFStringRef.
  8406. * Get-only kQTAudioPropertyID_SampleRateString returns a localized,
  8407. * human readable string describing the audio sample rate as a
  8408. * CFStringRef, i.e. "44.100 kHz". You may get this property from a
  8409. * SoundDescription Handle by calling
  8410. * QTSoundDescriptionGetProperty(), or from a
  8411. * StandardAudioCompression (scdi/audi) component instance by calling
  8412. * QTGetComponentProperty().
  8413. }
  8414. kQTAudioPropertyID_SampleRateString = FourCharCode('rstr'); { value is CFStringRef. Gettable.}
  8415. {
  8416. * kQTAudioPropertyID_SampleSizeString: Value is CFStringRef.
  8417. * Get-only kQTAudioPropertyID_SampleSizeString returns a localized,
  8418. * human readable string describing the audio sample size as a
  8419. * CFStringRef, i.e. "24-bit". Note, this property will only return a
  8420. * valid string if the format is uncompressed (LPCM) audio. You may
  8421. * get this property from a SoundDescription Handle by calling
  8422. * QTSoundDescriptionGetProperty(), or from a
  8423. * StandardAudioCompression (scdi/audi) component instance by calling
  8424. * QTGetComponentProperty().
  8425. }
  8426. kQTAudioPropertyID_SampleSizeString = FourCharCode('sstr'); { value is CFStringRef. Gettable.}
  8427. {
  8428. * kQTAudioPropertyID_BitRateString: Value is CFStringRef. Get-only
  8429. * kQTAudioPropertyID_BitRateString returns a localized, human
  8430. * readable string describing the audio bit rate as a CFStringRef,
  8431. * i.e. "12 kbps". You may get this property from a SoundDescription
  8432. * Handle by calling QTSoundDescriptionGetProperty(), or from a
  8433. * StandardAudioCompression (scdi/audi) component instance by calling
  8434. * QTGetComponentProperty().
  8435. }
  8436. kQTAudioPropertyID_BitRateString = FourCharCode('bstr'); { value is CFStringRef. Gettable.}
  8437. {
  8438. * kQTAudioPropertyID_SummaryString: Value is CFStringRef. Get-only
  8439. * kQTAudioPropertyID_SummaryString returns a localized, human
  8440. * readable string summarizing the audio as a CFStringRef, i.e.
  8441. * "16-bit Integer (Big Endian), Stereo (L R), 48.000 kHz". You may
  8442. * get this property from a SoundDescription Handle calling
  8443. * QTSoundDescriptionGetProperty(), or from a
  8444. * StandardAudioCompression (scdi/audi) component instance by calling
  8445. * QTGetComponentProperty().
  8446. }
  8447. kQTAudioPropertyID_SummaryString = FourCharCode('asum'); { value is CFStringRef. Gettable.}
  8448. {
  8449. * Audio Render Quality constants
  8450. *
  8451. * Summary:
  8452. * Render quality is an integer that ranges from
  8453. * kQTAudioRenderQuality_Min to kQTAudioRenderQuality_Max.
  8454. * kQTAudioRenderQuality_Low, kQTAudioRenderQuality_Medium, and
  8455. * kQTAudioRenderQuality_High are the preferred values.
  8456. }
  8457. const
  8458. {
  8459. * The maximum value.
  8460. }
  8461. kQTAudioRenderQuality_Max = $7F;
  8462. {
  8463. * A value that increases quality but requires more computational
  8464. * resources.
  8465. }
  8466. kQTAudioRenderQuality_High = $60;
  8467. {
  8468. * A value that represents a good quality/performance tradeoff.
  8469. }
  8470. kQTAudioRenderQuality_Medium = $40;
  8471. {
  8472. * A value that reduces quality for better performance.
  8473. }
  8474. kQTAudioRenderQuality_Low = $20;
  8475. {
  8476. * The minimum value.
  8477. }
  8478. kQTAudioRenderQuality_Min = $00;
  8479. {
  8480. * A QuickTime-specific value that selects optimal settings for
  8481. * playback.
  8482. }
  8483. kQTAudioRenderQuality_PlaybackDefault = $8000;
  8484. { whatMixToMeter constants}
  8485. const
  8486. {
  8487. * kQTAudioMeter_DeviceMix: Meter the movie's mix to the device
  8488. * channel layout. To determine the channel layout of this mix, call
  8489. * QTGetMovieProperty(..., kQTAudioPropertyID_DeviceChannelLayout,
  8490. * ...).
  8491. }
  8492. kQTAudioMeter_DeviceMix = kQTAudioPropertyID_DeviceChannelLayout;
  8493. {
  8494. * kQTAudioMeter_StereoMix: Meter a stereo (two-channel) mix of the
  8495. * enabled sound tracks in the movie. This option is offered only for
  8496. * MovieAudioFrequencyMetering.
  8497. }
  8498. kQTAudioMeter_StereoMix = FourCharCode('stmx');
  8499. {
  8500. * kQTAudioMeter_MonoMix: Meter a monarual (one-channel) mix of the
  8501. * enabled sound tracks in the movie. This option is offered only for
  8502. * MovieAudioFrequencyMetering.
  8503. }
  8504. kQTAudioMeter_MonoMix = FourCharCode('momx');
  8505. {
  8506. SetMovieAudioVolumeMeteringEnabled:
  8507. This API enables or disables volume metering of a particular mix of this movie. The only possible
  8508. mix to meter is currently kQTAudioMeter_DeviceMix. See kQTAudioMeter_DeviceMix above to see
  8509. how to determine the channel layout of the movie's device mix.
  8510. }
  8511. {
  8512. * SetMovieAudioVolumeMeteringEnabled()
  8513. *
  8514. * Availability:
  8515. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8516. * CarbonLib: not available
  8517. * Non-Carbon CFM: not available
  8518. }
  8519. function SetMovieAudioVolumeMeteringEnabled( m: Movie; whatMixToMeter: FourCharCode; enabled: Boolean ): OSStatus; external name '_SetMovieAudioVolumeMeteringEnabled';
  8520. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8521. {
  8522. * GetMovieAudioVolumeMeteringEnabled()
  8523. *
  8524. * Availability:
  8525. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8526. * CarbonLib: not available
  8527. * Non-Carbon CFM: not available
  8528. }
  8529. function GetMovieAudioVolumeMeteringEnabled( m: Movie; whatMixToMeter: FourCharCode; var enabled: Boolean ): OSStatus; external name '_GetMovieAudioVolumeMeteringEnabled';
  8530. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8531. {
  8532. GetMovieAudioVolumeLevels:
  8533. This API returns the current volume meter levels of the movie. It can return both average power
  8534. levels and peak hold levels. whatMixToMeter must be set to kQTAudioMeter_DeviceMix. Either
  8535. QTAudioVolumeLevels parameter may be nil. If non-nil, each must have its numChannels field set to
  8536. the number of channels in the movie's device mix, and must be allocated large enough to hold levels
  8537. for all those channels. See kQTAudioMeter_DeviceMix above to see how to determine the channel
  8538. layout of the device mix. The levels returned are measured in decibels, where 0.0 means full volume,
  8539. -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
  8540. }
  8541. type
  8542. QTAudioVolumeLevelsPtr = ^QTAudioVolumeLevels;
  8543. QTAudioVolumeLevels = record
  8544. numChannels: UInt32;
  8545. level: array [0..0] of Float32; { numChannels entries}
  8546. end;
  8547. {
  8548. * GetMovieAudioVolumeLevels()
  8549. *
  8550. * Availability:
  8551. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8552. * CarbonLib: not available
  8553. * Non-Carbon CFM: not available
  8554. }
  8555. function GetMovieAudioVolumeLevels( m: Movie; whatMixToMeter: FourCharCode; var pAveragePowerLevels: QTAudioVolumeLevels; var pPeakHoldLevels: QTAudioVolumeLevels ): OSStatus; external name '_GetMovieAudioVolumeLevels';
  8556. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8557. {
  8558. SetTrackAudioVolumeMeteringEnabled:
  8559. This API enables or disables volume metering of a particular track of this movie.
  8560. This API should be used in preference to the legacy SoundMedia interface, but
  8561. may interfere with its operation if both are in use at the same time.
  8562. }
  8563. {
  8564. * SetTrackAudioVolumeMeteringEnabled()
  8565. *
  8566. * Availability:
  8567. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8568. * CarbonLib: not available
  8569. * Non-Carbon CFM: not available
  8570. }
  8571. function SetTrackAudioVolumeMeteringEnabled( t: Track; enabled: Boolean ): OSStatus; external name '_SetTrackAudioVolumeMeteringEnabled';
  8572. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8573. {
  8574. * GetTrackAudioVolumeMeteringEnabled()
  8575. *
  8576. * Availability:
  8577. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8578. * CarbonLib: not available
  8579. * Non-Carbon CFM: not available
  8580. }
  8581. function GetTrackAudioVolumeMeteringEnabled( t: Track; var enabled: Boolean ): OSStatus; external name '_GetTrackAudioVolumeMeteringEnabled';
  8582. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8583. {
  8584. GetTrackAudioVolumeLevels:
  8585. This API returns the current volume meter levels of the track. It can return both average power
  8586. levels and peak hold levels. Either QTAudioVolumeLevels parameter may be nil. If non-nil,
  8587. each must have its numChannels field set to the number of channels of interest, and must be
  8588. allocated large enough to hold levels for all those channels.
  8589. The levels returned are measured in decibels, where 0.0 means full volume,
  8590. -6.0 means half volume, -12.0 means quarter volume, and -inf means silence.
  8591. }
  8592. {
  8593. * GetTrackAudioVolumeLevels()
  8594. *
  8595. * Availability:
  8596. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8597. * CarbonLib: not available
  8598. * Non-Carbon CFM: not available
  8599. }
  8600. function GetTrackAudioVolumeLevels( t: Track; var pAveragePowerLevels: QTAudioVolumeLevels; var pPeakHoldLevels: QTAudioVolumeLevels ): OSStatus; external name '_GetTrackAudioVolumeLevels';
  8601. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8602. {
  8603. SetMovieAudioFrequencyMeteringNumBands:
  8604. This API configures and enables (or disables) frequency metering for a movie.
  8605. Note that ioNumBands is an in/out parameter. You specify the number of frequency bands you
  8606. want to meter, and if that number is higher than is possible (determined by, among other things,
  8607. the sample rate of the audio being metered), this API will return the number of bands it is
  8608. actually going to meter. ioNumBands can be nil or a pointer to 0 to disable metering.
  8609. whatMixToMeter must be set to kQTAudioMeter_StereoMix, kQTAudioMeter_MonoMix, or
  8610. kQTAudioMeter_DeviceMix. When metering movies playing to audio devices that offer a
  8611. large number of channels, it may be prohibitively expensive to perform spectral analysis
  8612. on every channel; in these cases, stereo or mono mix metering may be preferable.
  8613. }
  8614. {
  8615. * SetMovieAudioFrequencyMeteringNumBands()
  8616. *
  8617. * Availability:
  8618. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8619. * CarbonLib: not available
  8620. * Non-Carbon CFM: not available
  8621. }
  8622. function SetMovieAudioFrequencyMeteringNumBands( m: Movie; whatMixToMeter: FourCharCode; var ioNumBands: UInt32 ): OSStatus; external name '_SetMovieAudioFrequencyMeteringNumBands';
  8623. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8624. {
  8625. * GetMovieAudioFrequencyMeteringNumBands()
  8626. *
  8627. * Availability:
  8628. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8629. * CarbonLib: not available
  8630. * Non-Carbon CFM: not available
  8631. }
  8632. function GetMovieAudioFrequencyMeteringNumBands( m: Movie; whatMixToMeter: FourCharCode; var outNumBands: UInt32 ): OSStatus; external name '_GetMovieAudioFrequencyMeteringNumBands';
  8633. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8634. {
  8635. GetMovieAudioFrequencyMeteringBandFrequencies:
  8636. This API returns the actual chosen middle frequency for each band in the configured
  8637. frequency metering of a movie. This is useful for labeling visual meters
  8638. in a user interface. Frequencies are returned in Hz. whatMixToMeter must be set
  8639. to the same value that was passed most recently to SetMovieAudioFrequencyMeteringNumBands().
  8640. }
  8641. {
  8642. * GetMovieAudioFrequencyMeteringBandFrequencies()
  8643. *
  8644. * Availability:
  8645. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8646. * CarbonLib: not available
  8647. * Non-Carbon CFM: not available
  8648. }
  8649. function GetMovieAudioFrequencyMeteringBandFrequencies( m: Movie; whatMixToMeter: FourCharCode; numBands: UInt32; var outBandFrequencies: Float32 ): OSStatus; external name '_GetMovieAudioFrequencyMeteringBandFrequencies';
  8650. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8651. {
  8652. GetMovieAudioFrequencyLevels:
  8653. This API returns the current frequency meter levels of the movie. pAveragePowerLevels should
  8654. have its numChannels field set to the number of channels being metered, and its numBands field
  8655. set to the number of bands being metered (as previously configured). pAveragePowerLevels must be
  8656. allocated large enough to hold levels for all bands in all channels. The levels are returned with
  8657. all the band levels for the first channel first, then all the band levels for the second channel, etc.
  8658. whatMixToMeter must be set to the same value that was passed most recently to
  8659. SetMovieAudioFrequencyMeteringNumBands().
  8660. }
  8661. type
  8662. QTAudioFrequencyLevels = record
  8663. numChannels: UInt32;
  8664. numFrequencyBands: UInt32;
  8665. { numChannels * numFrequencyBands entries, with the frequency bands for a single channel stored contiguously.}
  8666. level: array [0..0] of Float32;
  8667. end;
  8668. {
  8669. * GetMovieAudioFrequencyLevels()
  8670. *
  8671. * Availability:
  8672. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8673. * CarbonLib: not available
  8674. * Non-Carbon CFM: not available
  8675. }
  8676. function GetMovieAudioFrequencyLevels( m: Movie; whatMixToMeter: FourCharCode; var pAveragePowerLevels: QTAudioFrequencyLevels ): OSStatus; external name '_GetMovieAudioFrequencyLevels';
  8677. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8678. { Movie Audio Extraction}
  8679. {
  8680. MovieAudioExtractionBegin:
  8681. This API must be called before doing any movie audio extraction. The returned session
  8682. object is to be passed to the other movie audio extraction APIs. Note that the extracted
  8683. format defaults to the aggregate channel layout of the movie (eg. all Rights mixed together,
  8684. all Left Surrounds mixed together, etc), 32-bit float, de-interleaved, with the sample rate
  8685. set to the highest sample rate found in the movie. You can get this info, and you can also
  8686. set the format to be something else (as long as it is uncompressed, and you do it before
  8687. the first call to MovieAudioExtractionFillBuffer).
  8688. }
  8689. type
  8690. MovieAudioExtractionRef = ^OpaqueMovieAudioExtractionRef; { an opaque type }
  8691. OpaqueMovieAudioExtractionRef = record end;
  8692. {
  8693. * MovieAudioExtractionBegin()
  8694. *
  8695. * Availability:
  8696. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8697. * CarbonLib: not available
  8698. * Non-Carbon CFM: not available
  8699. }
  8700. function MovieAudioExtractionBegin( m: Movie; flags: UInt32; var outSession: MovieAudioExtractionRef ): OSStatus; external name '_MovieAudioExtractionBegin';
  8701. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8702. {
  8703. MovieAudioExtractionEnd:
  8704. This API must be called when movie audio extraction is complete.
  8705. }
  8706. {
  8707. * MovieAudioExtractionEnd()
  8708. *
  8709. * Availability:
  8710. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8711. * CarbonLib: not available
  8712. * Non-Carbon CFM: not available
  8713. }
  8714. function MovieAudioExtractionEnd( session: MovieAudioExtractionRef ): OSStatus; external name '_MovieAudioExtractionEnd';
  8715. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8716. { Movie audio extraction property classes}
  8717. const
  8718. {
  8719. * Properties of the movie being extracted from
  8720. }
  8721. kQTPropertyClass_MovieAudioExtraction_Movie = FourCharCode('xmov');
  8722. {
  8723. * Properties of the output audio
  8724. }
  8725. kQTPropertyClass_MovieAudioExtraction_Audio = FourCharCode('xaud');
  8726. { "Movie class" property IDs}
  8727. const
  8728. {
  8729. * kQTMovieAudioExtractionMoviePropertyID_CurrentTime: Value is
  8730. * TimeRecord (set & get) When setting, set the timescale to anything
  8731. * you want (output audio sample rate, movie timescale) When getting,
  8732. * the timescale will be output audio sample rate for best accuracy.
  8733. }
  8734. kQTMovieAudioExtractionMoviePropertyID_CurrentTime = FourCharCode('time'); { value is TimeRecord. Get/Set.}
  8735. {
  8736. * kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete: Value
  8737. * is Boolean (set & get) Set to implement export of all audio
  8738. * channels without mixing. When this is set and the extraction asbd
  8739. * or channel layout are read back, you will get information relating
  8740. * to the re-mapped movie.
  8741. }
  8742. kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete = FourCharCode('disc'); { value is Boolean. Get/Set.}
  8743. {
  8744. * kQTMovieAudioExtractionAudioPropertyID_RenderQuality: Value is
  8745. * UInt32 (set & get) Set the render quality to be used for this
  8746. * audio extraction session. UInt32 values vary from 0x00
  8747. * (kQTAudioRenderQuality_Min) to 0x7F (kQTAudioRenderQuality_Max).
  8748. * We also define a special value
  8749. * (kQTAudioRenderQuality_PlaybackDefault) which resets the quality
  8750. * settings to the same values that were chosen by default for
  8751. * playback.
  8752. }
  8753. kQTMovieAudioExtractionAudioPropertyID_RenderQuality = FourCharCode('qual'); { value is UInt32. Get/Set.}
  8754. { "Output Audio class" property IDs}
  8755. const
  8756. { kQTPropertyClass_MovieAudioExtraction_Audio}
  8757. {
  8758. *
  8759. * QTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription:
  8760. * Value is AudioStreamBasicDescription. Get/Set. (get any time, set
  8761. * before first MovieAudioExtractionFillBuffer call) If you get this
  8762. * property immediately after beginning an audio extraction session,
  8763. * it will tell you the default extraction format for the movie.
  8764. * This will include the number of channels in the default movie mix.
  8765. * If you set the output AudioStreamBasicDescription, it is
  8766. * recommended that you also set the output channel layout. If your
  8767. * output ASBD has a different number of channels that the default
  8768. * extraction mix, you _must_ set the output channel layout. You can
  8769. * only set PCM output formats. Setting a compressed output format
  8770. * will fail.
  8771. }
  8772. kQTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription = FourCharCode('asbd'); { value is AudioStreamBasicDescription. Get/Set.}
  8773. {
  8774. * kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout: Value
  8775. * is AudioChannelLayout. Get/Set. (get any time, set before first
  8776. * MovieAudioExtractionFillBuffer call) If you get this property
  8777. * immediately after beginning an audio extraction session, it will
  8778. * tell you what the channel layout is for the default extraction mix.
  8779. }
  8780. kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout = FourCharCode('clay'); { value is AudioChannelLayout. Get/Set.}
  8781. {
  8782. * kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration:
  8783. * Value is TimeRecord. Get only. Returns the total duration of audio
  8784. * data that can be expected from the audio extraction session as
  8785. * currently configured. This is computed by examining all tracks
  8786. * that contribute to the audio mix, finding the highest end time
  8787. * among them, adding in all relevant tail times from any Audio
  8788. * Context Inserts that have been registered, and subtracting any
  8789. * extraction start time that has been set. If this property is
  8790. * queried once extraction has started, it will return the remaining
  8791. * duration, or zero once extraction has advanced to the end of all
  8792. * contributing audio tracks.
  8793. }
  8794. kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration = FourCharCode('dura'); { value is TimeRecord. Get only.}
  8795. {
  8796. * MovieAudioExtractionGetPropertyInfo()
  8797. *
  8798. * Availability:
  8799. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8800. * CarbonLib: not available
  8801. * Non-Carbon CFM: not available
  8802. }
  8803. function MovieAudioExtractionGetPropertyInfo( session: MovieAudioExtractionRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; var outPropType: QTPropertyValueType; var outPropValueSize: ByteCount; var outPropertyFlags: UInt32 ): OSStatus; external name '_MovieAudioExtractionGetPropertyInfo';
  8804. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8805. {
  8806. * MovieAudioExtractionGetProperty()
  8807. *
  8808. * Availability:
  8809. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8810. * CarbonLib: not available
  8811. * Non-Carbon CFM: not available
  8812. }
  8813. function MovieAudioExtractionGetProperty( session: MovieAudioExtractionRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; outPropValueAddress: QTPropertyValuePtr; var outPropValueSizeUsed: ByteCount ): OSStatus; external name '_MovieAudioExtractionGetProperty';
  8814. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8815. {
  8816. * MovieAudioExtractionSetProperty()
  8817. *
  8818. * Availability:
  8819. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8820. * CarbonLib: not available
  8821. * Non-Carbon CFM: not available
  8822. }
  8823. function MovieAudioExtractionSetProperty( session: MovieAudioExtractionRef; inPropClass: QTPropertyClass; inPropID: QTPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstQTPropertyValuePtr ): OSStatus; external name '_MovieAudioExtractionSetProperty';
  8824. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8825. {
  8826. MovieAudioExtractionFillBuffer:
  8827. Each call to MovieAudioExtractionFillBuffer will continue where the last call left off.
  8828. It will extract as many of the requested PCM frames as it can, given the limits of the
  8829. buffer(s) supplied, and the limits of the input movie. ioNumFrames will be updated
  8830. with the exact number of valid frames being returned.
  8831. When there is no more audio to extract from the movie, MovieAudioExtractionFillBuffer
  8832. will continue to return noErr, but no audio data will be returned. outFlags will have
  8833. the kQTMovieAudioExtractionComplete bit set in this case. It is possible that the
  8834. kQTMovieAudioExtractionComplete bit will accompany the last buffer of valid data.
  8835. }
  8836. const
  8837. kQTMovieAudioExtractionComplete = 1 shl 0;
  8838. {
  8839. * MovieAudioExtractionFillBuffer()
  8840. *
  8841. * Availability:
  8842. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  8843. * CarbonLib: not available
  8844. * Non-Carbon CFM: not available
  8845. }
  8846. function MovieAudioExtractionFillBuffer( session: MovieAudioExtractionRef; var ioNumFrames: UInt32; var ioData: AudioBufferList; var outFlags: UInt32 ): OSStatus; external name '_MovieAudioExtractionFillBuffer';
  8847. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  8848. { Audio Context Insert properties for MovieAudioExtraction}
  8849. {
  8850. Theory of operations:
  8851. To register for a Movie Audio Context Insert during Movie Audio Extraction:
  8852. Set the kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert
  8853. property on the extraction session, providing the same registry info structure
  8854. that is used for the QTAudioContextRegisterInsert call.
  8855. To register for a Track Audio Context Insert during Movie Audio Extraction:
  8856. Set the kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert
  8857. property on the extraction session, providing a QTAudioTrackInsertRegistryInfoRef,
  8858. described below.
  8859. Note: Once extraction has begun (ie, MovieAudioExtractionFillBuffer() has been
  8860. called), attempts to set these properties will return qtReadOnlyErr.
  8861. This is consistent with the behavior of most extraction properties.
  8862. }
  8863. {
  8864. * QTAudioTrackInsertRegistryInfo
  8865. *
  8866. * Summary:
  8867. * Parameters for registering an Audio Context Track Insert during
  8868. * Movie Audio Extraction
  8869. *
  8870. * Discussion:
  8871. * This is used with the
  8872. * kQTMovieAudioExtractionMoviePropertyID_RegisterTrackInsert
  8873. * property.
  8874. }
  8875. type
  8876. QTAudioTrackInsertRegistryInfoPtr = ^QTAudioTrackInsertRegistryInfo;
  8877. QTAudioTrackInsertRegistryInfo = record
  8878. {
  8879. * The track of the source movie on which to apply the insert.
  8880. }
  8881. track: Track_fix;
  8882. {
  8883. * The Audio Context Insert registration info (channel layouts,
  8884. * callbacks).
  8885. }
  8886. regInfo: QTAudioContextInsertRegistryInfo;
  8887. end;
  8888. type
  8889. QTAudioTrackInsertRegistryInfoRef = QTAudioTrackInsertRegistryInfoPtr;
  8890. { Movie and Track level audio context inserts for extraction (kQTPropertyClass_MovieAudioExtraction_Audio)}
  8891. const
  8892. {
  8893. * kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert: Value
  8894. * is QTAudioContextInsertRegistryInfoRef (Get/Set) Set on an
  8895. * extraction session to register/unregister an Audio Context Insert
  8896. * for the movie summary mix. When this property is read back
  8897. * (MovieAudioExtractionGetProperty) the channel layout pointers will
  8898. * will be NULL. To unregister, supply a NULL processDataCallback (in
  8899. * which case the rest of the registry info will be ignored).
  8900. }
  8901. kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert = FourCharCode('regm'); { value is QTAudioContextInsertRegistryInfoRef. Get/Set.}
  8902. {
  8903. * kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert: Value
  8904. * is QTAudioTrackInsertRegistryInfoRef (Get/Set) Set on an
  8905. * extraction session to register/unregister an Audio Context Insert
  8906. * for a particular track of the movie. When this property is read
  8907. * back (MovieAudioExtractionGetProperty) the channel layout pointers
  8908. * will will be NULL. To unregister, supply a NULL
  8909. * processDataCallback (in which case the rest of the registry info
  8910. * will be ignored).
  8911. }
  8912. kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert = FourCharCode('regt'); { value is QTAudioTrackInsertRegistryInfoRef. Get/Set.}
  8913. //#define kQTMovieAudioExtractionMoviePropertyID_RegisterInsert Use kQTPropertyClass_MovieAudioExtraction_Audio / kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert instead!
  8914. { Legacy Audio/Sound APIs}
  8915. {
  8916. * GetMoviePreferredVolume()
  8917. *
  8918. * Availability:
  8919. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8920. * CarbonLib: in CarbonLib 1.0 and later
  8921. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8922. * Windows: in qtmlClient.lib 3.0 and later
  8923. }
  8924. function GetMoviePreferredVolume( theMovie: Movie ): SInt16; external name '_GetMoviePreferredVolume';
  8925. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8926. {
  8927. * SetMoviePreferredVolume()
  8928. *
  8929. * Availability:
  8930. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8931. * CarbonLib: in CarbonLib 1.0 and later
  8932. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8933. * Windows: in qtmlClient.lib 3.0 and later
  8934. }
  8935. procedure SetMoviePreferredVolume( theMovie: Movie; volume: SInt16 ); external name '_SetMoviePreferredVolume';
  8936. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8937. {
  8938. * GetMovieVolume()
  8939. *
  8940. * Availability:
  8941. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8942. * CarbonLib: in CarbonLib 1.0 and later
  8943. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8944. * Windows: in qtmlClient.lib 3.0 and later
  8945. }
  8946. function GetMovieVolume( theMovie: Movie ): SInt16; external name '_GetMovieVolume';
  8947. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8948. {
  8949. * SetMovieVolume()
  8950. *
  8951. * Availability:
  8952. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8953. * CarbonLib: in CarbonLib 1.0 and later
  8954. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8955. * Windows: in qtmlClient.lib 3.0 and later
  8956. }
  8957. procedure SetMovieVolume( theMovie: Movie; volume: SInt16 ); external name '_SetMovieVolume';
  8958. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8959. {
  8960. * GetTrackVolume()
  8961. *
  8962. * Availability:
  8963. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8964. * CarbonLib: in CarbonLib 1.0 and later
  8965. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8966. * Windows: in qtmlClient.lib 3.0 and later
  8967. }
  8968. function GetTrackVolume( theTrack: Track ): SInt16; external name '_GetTrackVolume';
  8969. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8970. {
  8971. * SetTrackVolume()
  8972. *
  8973. * Availability:
  8974. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8975. * CarbonLib: in CarbonLib 1.0 and later
  8976. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8977. * Windows: in qtmlClient.lib 3.0 and later
  8978. }
  8979. procedure SetTrackVolume( theTrack: Track; volume: SInt16 ); external name '_SetTrackVolume';
  8980. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8981. {
  8982. * GetTrackSoundLocalizationSettings()
  8983. *
  8984. * Availability:
  8985. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8986. * CarbonLib: in CarbonLib 1.0 and later
  8987. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8988. * Windows: in qtmlClient.lib 3.0 and later
  8989. }
  8990. function GetTrackSoundLocalizationSettings( theTrack: Track; var settings: Handle ): OSErr; external name '_GetTrackSoundLocalizationSettings';
  8991. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  8992. {
  8993. * SetTrackSoundLocalizationSettings()
  8994. *
  8995. * Availability:
  8996. * Mac OS X: in version 10.0 and later in QuickTime.framework
  8997. * CarbonLib: in CarbonLib 1.0 and later
  8998. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  8999. * Windows: in qtmlClient.lib 3.0 and later
  9000. }
  9001. function SetTrackSoundLocalizationSettings( theTrack: Track; settings: Handle ): OSErr; external name '_SetTrackSoundLocalizationSettings';
  9002. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9003. { Performance properties}
  9004. const
  9005. kQTPropertyClass_Performance = FourCharCode('perf');
  9006. {
  9007. * kQTPerformancePropertyID_MediaStallCount: Value is UInt32.
  9008. * Get/Set/Listenable Media stalls occur when a media handler is
  9009. * unable to provide its media data at the time required for seamless
  9010. * playback. The exact interpretation of a track's MediaStallCount
  9011. * property is media-handler dependent, but may indicate conditions
  9012. * such as a video frame not decoded in time, the sound queue runs
  9013. * dry, etc. When requested on a specific track, this property
  9014. * returns the current stall count of that track. When requested on
  9015. * a movie, it returns the accumulated MediaStallCounts for all the
  9016. * tracks in the movie. The track property may be set to zero to
  9017. * reset it. Setting the movie property to zero resets all the track
  9018. * counts. Setting the value to anything other than zero yields
  9019. * paramErr. The movie toolbox defers property-changed notifications
  9020. * to any property listeners until the next time the movie is idled.
  9021. }
  9022. kQTPerformancePropertyID_MediaStallCount = FourCharCode('stal'); { UInt32, Get/Set/Listenable }
  9023. {
  9024. * kQTPerformancePropertyID_AudioIOOverloadCount: Value is UInt32.
  9025. * Get/Set/Listenable Audio I/O overloads occur when the
  9026. * high-priority audio processing thread does not provide the
  9027. * requested buffer of data in time to ensure seamless playback.
  9028. * This movie property accumulates the number of Audio Device I/O
  9029. * overloads that are detected during playback of a movie. I/O
  9030. * overloads that are detected when the movie is not playing (but
  9031. * other movies may be playing), are not counted. This property may
  9032. * be set to zero to reset the counter. Setting the value to
  9033. * anything other than zero yields paramErr. The movie toolbox defers
  9034. * property-changed notifications to any property listeners until the
  9035. * next time the movie is idled.
  9036. }
  9037. kQTPerformancePropertyID_AudioIOOverloadCount = FourCharCode('ovct'); { UInt32, Get/Set/Listenable}
  9038. { Movie Visual Adjustment APIs}
  9039. {
  9040. * Summary:
  9041. * Visual movie properties.
  9042. }
  9043. const
  9044. {
  9045. * Class for visual properties.
  9046. }
  9047. kQTPropertyClass_Visual = FourCharCode('visu');
  9048. {
  9049. * The hue adjustment for the movie. The value is a Float32 between
  9050. * -1.0 and 1.0, with 0.0 meaning no adjustment. This adjustment
  9051. * wraps around, such that -1.0 and 1.0 yield the same result.
  9052. }
  9053. kQTVisualPropertyID_Hue = FourCharCode('vhue'); { Float32, Read/Write }
  9054. {
  9055. * The color saturation adjustment for the movie. The value is a
  9056. * Float32 percentage (1.0f = 100%), such that 0.0 gives grayscale.
  9057. }
  9058. kQTVisualPropertyID_Saturation = FourCharCode('vsat'); { Float32, Read/Write }
  9059. {
  9060. * The brightness adjustment for the movie. The value is a Float32
  9061. * for which -1.0 means full black, 0.0 means no adjustment, and 1.0
  9062. * means full white.
  9063. }
  9064. kQTVisualPropertyID_Brightness = FourCharCode('vbrt'); { Float32, Read/Write }
  9065. {
  9066. * The contrast adjustment for the movie. The value is a Float32
  9067. * percentage (1.0f = 100%), such that 0.0 gives solid grey.
  9068. }
  9069. kQTVisualPropertyID_Contrast = FourCharCode('vcon'); { Float32, Read/Write }
  9070. {
  9071. * SetMovieVisualHue()
  9072. *
  9073. * Summary:
  9074. * This API sets the hue adjustment for the movie.
  9075. *
  9076. * Discussion:
  9077. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
  9078. * The setting is not stored in the movie. It is only used until
  9079. * the movie is closed, at which time it is not saved.
  9080. *
  9081. * Parameters:
  9082. *
  9083. * movie:
  9084. * [in] The movie.
  9085. *
  9086. * hue:
  9087. * [in] New hue adjustment.
  9088. *
  9089. * flags:
  9090. * [in] Reserved. Pass 0.
  9091. *
  9092. * Availability:
  9093. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9094. * CarbonLib: not available
  9095. * Non-Carbon CFM: not available
  9096. }
  9097. function SetMovieVisualHue( movie_: Movie; hue: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualHue';
  9098. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9099. {
  9100. * GetMovieVisualHue()
  9101. *
  9102. * Summary:
  9103. * This API gets the hue adjustment for the movie.
  9104. *
  9105. * Discussion:
  9106. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details.
  9107. *
  9108. * Parameters:
  9109. *
  9110. * movie:
  9111. * [in] The movie.
  9112. *
  9113. * hueOut:
  9114. * [out] Current hue adjustment.
  9115. *
  9116. * flags:
  9117. * [in] Reserved. Pass 0.
  9118. *
  9119. * Availability:
  9120. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9121. * CarbonLib: not available
  9122. * Non-Carbon CFM: not available
  9123. }
  9124. function GetMovieVisualHue( movie_: Movie; var hueOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualHue';
  9125. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9126. {
  9127. * SetMovieVisualSaturation()
  9128. *
  9129. * Summary:
  9130. * This API sets the color saturation adjustment for the movie.
  9131. *
  9132. * Discussion:
  9133. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
  9134. * details. The setting is not stored in the movie. It is only used
  9135. * until the movie is closed, at which time it is not saved.
  9136. *
  9137. * Parameters:
  9138. *
  9139. * movie:
  9140. * [in] The movie.
  9141. *
  9142. * saturation:
  9143. * [in] New saturation adjustment.
  9144. *
  9145. * flags:
  9146. * [in] Reserved. Pass 0.
  9147. *
  9148. * Availability:
  9149. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9150. * CarbonLib: not available
  9151. * Non-Carbon CFM: not available
  9152. }
  9153. function SetMovieVisualSaturation( movie_: Movie; saturation: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualSaturation';
  9154. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9155. {
  9156. * GetMovieVisualSaturation()
  9157. *
  9158. * Summary:
  9159. * This API gets the color saturation adjustment for the movie.
  9160. *
  9161. * Discussion:
  9162. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for
  9163. * details.
  9164. *
  9165. * Parameters:
  9166. *
  9167. * movie:
  9168. * [in] The movie.
  9169. *
  9170. * saturationOut:
  9171. * [out] Current saturation adjustment.
  9172. *
  9173. * flags:
  9174. * [in] Reserved. Pass 0.
  9175. *
  9176. * Availability:
  9177. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9178. * CarbonLib: not available
  9179. * Non-Carbon CFM: not available
  9180. }
  9181. function GetMovieVisualSaturation( movie_: Movie; var saturationOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualSaturation';
  9182. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9183. {
  9184. * SetMovieVisualBrightness()
  9185. *
  9186. * Summary:
  9187. * This API sets the brightness adjustment for the movie.
  9188. *
  9189. * Discussion:
  9190. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
  9191. * details. The setting is not stored in the movie. It is only used
  9192. * until the movie is closed, at which time it is not saved.
  9193. *
  9194. * Parameters:
  9195. *
  9196. * movie:
  9197. * [in] The movie.
  9198. *
  9199. * brightness:
  9200. * [in] New brightness adjustment.
  9201. *
  9202. * flags:
  9203. * [in] Reserved. Pass 0.
  9204. *
  9205. * Availability:
  9206. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9207. * CarbonLib: not available
  9208. * Non-Carbon CFM: not available
  9209. }
  9210. function SetMovieVisualBrightness( movie_: Movie; brightness: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualBrightness';
  9211. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9212. {
  9213. * GetMovieVisualBrightness()
  9214. *
  9215. * Summary:
  9216. * This API gets the brightness adjustment for the movie.
  9217. *
  9218. * Discussion:
  9219. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for
  9220. * details.
  9221. *
  9222. * Parameters:
  9223. *
  9224. * movie:
  9225. * [in] The movie.
  9226. *
  9227. * brightnessOut:
  9228. * [out] Current brightness adjustment.
  9229. *
  9230. * flags:
  9231. * [in] Reserved. Pass 0.
  9232. *
  9233. * Availability:
  9234. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9235. * CarbonLib: not available
  9236. * Non-Carbon CFM: not available
  9237. }
  9238. function GetMovieVisualBrightness( movie_: Movie; var brightnessOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualBrightness';
  9239. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9240. {
  9241. * SetMovieVisualContrast()
  9242. *
  9243. * Summary:
  9244. * This API sets the contrast adjustment for the movie.
  9245. *
  9246. * Discussion:
  9247. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
  9248. * details. The setting is not stored in the movie. It is only used
  9249. * until the movie is closed, at which time it is not saved.
  9250. *
  9251. * Parameters:
  9252. *
  9253. * movie:
  9254. * [in] The movie.
  9255. *
  9256. * contrast:
  9257. * [in] New contrast adjustment.
  9258. *
  9259. * flags:
  9260. * [in] Reserved. Pass 0.
  9261. *
  9262. * Availability:
  9263. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9264. * CarbonLib: not available
  9265. * Non-Carbon CFM: not available
  9266. }
  9267. function SetMovieVisualContrast( movie_: Movie; contrast: Float32; flags: UInt32 ): OSStatus; external name '_SetMovieVisualContrast';
  9268. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9269. {
  9270. * GetMovieVisualContrast()
  9271. *
  9272. * Summary:
  9273. * This API gets the contrast adjustment for the movie.
  9274. *
  9275. * Discussion:
  9276. * See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for
  9277. * details.
  9278. *
  9279. * Parameters:
  9280. *
  9281. * movie:
  9282. * [in] The movie.
  9283. *
  9284. * contrastOut:
  9285. * [out] Current contrast adjustment.
  9286. *
  9287. * flags:
  9288. * [in] Reserved. Pass 0.
  9289. *
  9290. * Availability:
  9291. * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
  9292. * CarbonLib: not available
  9293. * Non-Carbon CFM: not available
  9294. }
  9295. function GetMovieVisualContrast( movie_: Movie; var contrastOut: Float32; flags: UInt32 ): OSStatus; external name '_GetMovieVisualContrast';
  9296. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  9297. { Movie Aperture APIs}
  9298. {
  9299. * Summary:
  9300. * Visual properties of movies for aperture modes.
  9301. }
  9302. const
  9303. {
  9304. * You can set the aperture mode property on a movie to indicate
  9305. * whether aspect ratio and clean aperture correction should be
  9306. * performed. The values for this property have the prefix
  9307. * kQTApertureMode_ and are in ImageCompression.h.
  9308. * When a movie is in clean, production or encoded pixels aperture
  9309. * mode, each track's dimensions are overriden by special dimensions
  9310. * for that mode. The original track dimensions are preserved and can
  9311. * be restored by setting the movie into classic aperture mode.
  9312. }
  9313. kQTVisualPropertyID_ApertureMode = FourCharCode('apmd'); { OSType, Read/Write/Listen }
  9314. {
  9315. * Summary:
  9316. * Visual properties of tracks for aperture modes
  9317. *
  9318. * Discussion:
  9319. * A track's dimensions may vary depending on the movie's aperture
  9320. * mode. The dimensions for a given aperture mode may be accessed
  9321. * using these properties.
  9322. }
  9323. const
  9324. {
  9325. * The track dimensions used in QuickTime 7.0.x and earlier. Setting
  9326. * this property is equivalent to calling SetTrackDimensions, except
  9327. * that SetTrackDimensions also changes the aperture mode to
  9328. * kQTApertureMode_Classic, and setting this property does not.
  9329. }
  9330. kQTVisualPropertyID_ClassicDimensions = FourCharCode('cldi'); { FixedPoint, Read/Write }
  9331. {
  9332. * The track dimensions to use in clean aperture mode.
  9333. }
  9334. kQTVisualPropertyID_CleanApertureDimensions = FourCharCode('cadi'); { FixedPoint, Read/Write }
  9335. {
  9336. * The track dimensions to use in production aperture mode.
  9337. }
  9338. kQTVisualPropertyID_ProductionApertureDimensions = FourCharCode('prdi'); { FixedPoint, Read/Write }
  9339. {
  9340. * The track dimensions to use in encoded pixels aperture mode.
  9341. }
  9342. kQTVisualPropertyID_EncodedPixelsDimensions = FourCharCode('endi'); { FixedPoint, Read/Write }
  9343. {
  9344. * True if aperture mode dimensions have been set on this movie, even
  9345. * if they are all identical to the classic dimensions (as is the
  9346. * case for content with square pixels and no edge processing
  9347. * region).
  9348. * This property can also be tested on a movie, where it is true if
  9349. * any track has aperture mode dimensions.
  9350. }
  9351. kQTVisualPropertyID_HasApertureModeDimensions = FourCharCode('hamd'); { Boolean, Read }
  9352. {
  9353. * Summary:
  9354. * Media Characteristics
  9355. }
  9356. const
  9357. {
  9358. * Indicates that a media handler supports aperture modes, which
  9359. * enable video to be automatically scaled and cropped to compensate
  9360. * for non-square pixel aspect ratios and to trim possibly-dirty edge
  9361. * processing regions. The dimensions of such a track may change when
  9362. * the movie's aperture mode is changed.
  9363. }
  9364. kCharacteristicSupportsApertureModes = FourCharCode('apmd');
  9365. {
  9366. * SetTrackApertureModeDimensionsUsingSampleDescription()
  9367. *
  9368. * Summary:
  9369. * Sets a track's aperture mode dimensions using values calculated
  9370. * using a sample description.
  9371. *
  9372. * Discussion:
  9373. * This function should be used to add information needed to support
  9374. * aperture modes to newly created tracks. This information is
  9375. * calculated using the given sample description. If sampleDesc is
  9376. * NULL, the track's first sample description is used.
  9377. *
  9378. * Parameters:
  9379. *
  9380. * track:
  9381. * [in] The track.
  9382. *
  9383. * sampleDesc:
  9384. * [in] The sample description handle.
  9385. *
  9386. * Availability:
  9387. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9388. * CarbonLib: not available
  9389. * Non-Carbon CFM: not available
  9390. }
  9391. function SetTrackApertureModeDimensionsUsingSampleDescription( track_: Track; sampleDesc: SampleDescriptionHandle { can be NULL } ): OSErr; external name '_SetTrackApertureModeDimensionsUsingSampleDescription';
  9392. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9393. {
  9394. * GenerateMovieApertureModeDimensions()
  9395. *
  9396. * Summary:
  9397. * Examines a movie and sets up track aperture mode dimensions.
  9398. *
  9399. * Discussion:
  9400. * This function can be used to add information needed to support
  9401. * aperture modes to movies created with applications and/or
  9402. * versions of QuickTime that did not support aperture mode
  9403. * dimensions. If the image descriptions in video tracks lack tags
  9404. * describing clean aperture and pixel aspect ratio information, the
  9405. * media data may be scanned to see if the correct values can be
  9406. * divined and attached. Then the aperture mode dimensions are
  9407. * calculated and set for each track. Afterwards, the
  9408. * kQTVisualPropertyID_HasApertureModeDimensions property will be
  9409. * set to true for these tracks. Tracks which do not support
  9410. * aperture modes are not changed.
  9411. *
  9412. * Parameters:
  9413. *
  9414. * movie:
  9415. * [in] The movie.
  9416. *
  9417. * Availability:
  9418. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9419. * CarbonLib: not available
  9420. * Non-Carbon CFM: not available
  9421. }
  9422. function GenerateMovieApertureModeDimensions( movie_: Movie ): OSErr; external name '_GenerateMovieApertureModeDimensions';
  9423. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9424. {
  9425. * GenerateTrackApertureModeDimensions()
  9426. *
  9427. * Summary:
  9428. * Examines a track and sets up aperture mode dimensions.
  9429. *
  9430. * Discussion:
  9431. * This function can be used to add information needed to support
  9432. * aperture modes to tracks created with applications and/or
  9433. * versions of QuickTime that did not support aperture mode
  9434. * dimensions. If the image descriptions in video tracks lack tags
  9435. * describing clean aperture and pixel aspect ratio information, the
  9436. * media data may be scanned to see if the correct values can be
  9437. * divined and attached. Then the aperture mode dimensions are
  9438. * calculated and set. Afterwards, the
  9439. * kQTVisualPropertyID_HasApertureModeDimensions property will be
  9440. * set to true for these tracks. Tracks which do not support
  9441. * aperture modes are not changed.
  9442. *
  9443. * Parameters:
  9444. *
  9445. * track:
  9446. * [in] The track.
  9447. *
  9448. * Availability:
  9449. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9450. * CarbonLib: not available
  9451. * Non-Carbon CFM: not available
  9452. }
  9453. function GenerateTrackApertureModeDimensions( track_: Track ): OSErr; external name '_GenerateTrackApertureModeDimensions';
  9454. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9455. {
  9456. * RemoveMovieApertureModeDimensions()
  9457. *
  9458. * Summary:
  9459. * Removes aperture mode dimension information from a movie.
  9460. *
  9461. * Discussion:
  9462. * This function removes aperture mode dimension information from a
  9463. * movie's tracks. It does not attempt to modify sample
  9464. * descriptions, so it may not completely reverse the effect of
  9465. * GenerateMovieApertureModeDimensions. It sets the
  9466. * kQTVisualPropertyID_HasApertureModeDimensions property to false.
  9467. *
  9468. * Parameters:
  9469. *
  9470. * movie:
  9471. * [in] The movie.
  9472. *
  9473. * Availability:
  9474. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9475. * CarbonLib: not available
  9476. * Non-Carbon CFM: not available
  9477. }
  9478. function RemoveMovieApertureModeDimensions( movie_: Movie ): OSErr; external name '_RemoveMovieApertureModeDimensions';
  9479. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9480. {
  9481. * RemoveTrackApertureModeDimensions()
  9482. *
  9483. * Summary:
  9484. * Removes aperture mode dimension information from a track.
  9485. *
  9486. * Discussion:
  9487. * This function removes aperture mode dimension information from a
  9488. * track. It does not attempt to modify sample descriptions, so it
  9489. * may not completely reverse the effect of
  9490. * GenerateTrackApertureModeDimensions. It sets the
  9491. * kQTVisualPropertyID_HasApertureModeDimensions property to false.
  9492. *
  9493. * Parameters:
  9494. *
  9495. * track:
  9496. * [in] The track.
  9497. *
  9498. * Availability:
  9499. * Mac OS X: in version 10.5 (or QuickTime 7.1) and later in QuickTime.framework
  9500. * CarbonLib: not available
  9501. * Non-Carbon CFM: not available
  9502. }
  9503. function RemoveTrackApertureModeDimensions( track_: Track ): OSErr; external name '_RemoveTrackApertureModeDimensions';
  9504. (* AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER *)
  9505. {****
  9506. Error reporting
  9507. ****}
  9508. type
  9509. QTErrorReplacementRecordPtr = ^QTErrorReplacementRecord;
  9510. QTErrorReplacementRecord = record
  9511. numEntries: SIGNEDLONG;
  9512. replacementString: array [0..1] of StringPtr; { array of numEntries StringPtrs (each String is allocated separately).}
  9513. end;
  9514. type
  9515. QTErrorReplacementPtr = QTErrorReplacementRecordPtr;
  9516. {
  9517. QTAddMovieError is used to add orthogonal errors to a list of errors that will
  9518. later be reported (at the end of an import or playback, for example). Errors are stored
  9519. in 'qter' resources within the component.
  9520. QTAddMovieError(Movie addTo, // in: movie to add error to
  9521. Component adder, // in: component which is adding the error
  9522. long errorCode, // in: error code being added
  9523. QTErrorReplacementPtr stringReplacements);// in: list of strings to subsitute (in order) for "^1", "^2", etc
  9524. }
  9525. {
  9526. * QTAddMovieError()
  9527. *
  9528. * Availability:
  9529. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9530. * CarbonLib: in CarbonLib 1.6 and later
  9531. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9532. * Windows: in qtmlClient.lib 6.0 and later
  9533. }
  9534. function QTAddMovieError( movieH: Movie; c: Component; errorCode: SIGNEDLONG; stringReplacements: QTErrorReplacementPtr ): OSErr; external name '_QTAddMovieError';
  9535. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9536. {****
  9537. Access Keys
  9538. ****}
  9539. const
  9540. kAccessKeyAtomType = FourCharCode('acky');
  9541. const
  9542. kAccessKeySystemFlag = 1 shl 0;
  9543. {
  9544. * QTGetAccessKeys()
  9545. *
  9546. * Availability:
  9547. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9548. * CarbonLib: in CarbonLib 1.0 and later
  9549. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9550. * Windows: in qtmlClient.lib 3.0 and later
  9551. }
  9552. function QTGetAccessKeys( var accessKeyType: Str255; flags: SIGNEDLONG; var keys: QTAtomContainer ): OSErr; external name '_QTGetAccessKeys';
  9553. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9554. {
  9555. * QTRegisterAccessKey()
  9556. *
  9557. * Availability:
  9558. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9559. * CarbonLib: in CarbonLib 1.0 and later
  9560. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9561. * Windows: in qtmlClient.lib 3.0 and later
  9562. }
  9563. function QTRegisterAccessKey( var accessKeyType: Str255; flags: SIGNEDLONG; accessKey: Handle ): OSErr; external name '_QTRegisterAccessKey';
  9564. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9565. {
  9566. * QTUnregisterAccessKey()
  9567. *
  9568. * Availability:
  9569. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9570. * CarbonLib: in CarbonLib 1.0 and later
  9571. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9572. * Windows: in qtmlClient.lib 3.0 and later
  9573. }
  9574. function QTUnregisterAccessKey( var accessKeyType: Str255; flags: SIGNEDLONG; accessKey: Handle ): OSErr; external name '_QTUnregisterAccessKey';
  9575. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9576. {****
  9577. Content Restrictions
  9578. ****}
  9579. {
  9580. * QTGetMovieRestrictions()
  9581. *
  9582. * Availability:
  9583. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9584. * CarbonLib: in CarbonLib 1.6 and later
  9585. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9586. * Windows: in qtmlClient.lib 6.0 and later
  9587. }
  9588. function QTGetMovieRestrictions( theMovie: Movie; var outRestrictionSet: QTRestrictionSet; var outSeed: UInt32 ): OSErr; external name '_QTGetMovieRestrictions';
  9589. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9590. {
  9591. * QTRestrictionsGetInfo()
  9592. *
  9593. * Availability:
  9594. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9595. * CarbonLib: in CarbonLib 1.6 and later
  9596. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9597. * Windows: in qtmlClient.lib 6.0 and later
  9598. }
  9599. function QTRestrictionsGetInfo( inRestrictionSet: QTRestrictionSet; var outRestrictionClassCount: SIGNEDLONG; var outSeed: SIGNEDLONG ): OSErr; external name '_QTRestrictionsGetInfo';
  9600. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9601. {
  9602. * QTRestrictionsGetIndClass()
  9603. *
  9604. * Availability:
  9605. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9606. * CarbonLib: in CarbonLib 1.6 and later
  9607. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9608. * Windows: in qtmlClient.lib 6.0 and later
  9609. }
  9610. function QTRestrictionsGetIndClass( inRestrictionSet: QTRestrictionSet; inIndex: SIGNEDLONG; var outClass: OSType ): OSErr; external name '_QTRestrictionsGetIndClass';
  9611. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9612. {
  9613. * QTRestrictionsGetItem()
  9614. *
  9615. * Availability:
  9616. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9617. * CarbonLib: in CarbonLib 1.6 and later
  9618. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9619. * Windows: in qtmlClient.lib 6.0 and later
  9620. }
  9621. function QTRestrictionsGetItem( inRestrictionSet: QTRestrictionSet; inRestrictionClass: OSType; var outRestrictions: UInt32 ): OSErr; external name '_QTRestrictionsGetItem';
  9622. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9623. {
  9624. * QTGetSupportedRestrictions()
  9625. *
  9626. * Availability:
  9627. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9628. * CarbonLib: in CarbonLib 1.6 and later
  9629. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9630. * Windows: in qtmlClient.lib 6.0 and later
  9631. }
  9632. function QTGetSupportedRestrictions( inRestrictionClass: OSType; var outRestrictionIDs: UInt32 ): OSErr; external name '_QTGetSupportedRestrictions';
  9633. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9634. {
  9635. * QTCreateUUID()
  9636. *
  9637. * Availability:
  9638. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9639. * CarbonLib: in CarbonLib 1.6 and later
  9640. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9641. * Windows: in qtmlClient.lib 6.0 and later
  9642. }
  9643. function QTCreateUUID( var outUUID: QTUUID; creationFlags: SIGNEDLONG ): OSErr; external name '_QTCreateUUID';
  9644. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9645. {
  9646. * QTEqualUUIDs()
  9647. *
  9648. * Availability:
  9649. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9650. * CarbonLib: in CarbonLib 1.6 and later
  9651. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  9652. * Windows: in qtmlClient.lib 6.0 and later
  9653. }
  9654. function QTEqualUUIDs( const (*var*) uuid1: QTUUID; const (*var*) uuid2: QTUUID ): Boolean; external name '_QTEqualUUIDs';
  9655. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9656. {****
  9657. Time table
  9658. ****}
  9659. {
  9660. * MakeTrackTimeTable()
  9661. *
  9662. * Availability:
  9663. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9664. * CarbonLib: in CarbonLib 1.0 and later
  9665. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9666. * Windows: in qtmlClient.lib 3.0 and later
  9667. }
  9668. function MakeTrackTimeTable( trackH: Track; var offsets: SIGNEDLONGPtr; startTime: TimeValue; endTime: TimeValue; timeIncrement: TimeValue; firstDataRefIndex: SInt16; lastDataRefIndex: SInt16; var retdataRefSkew: SIGNEDLONG ): OSErr; external name '_MakeTrackTimeTable';
  9669. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9670. {
  9671. * MakeMediaTimeTable()
  9672. *
  9673. * Availability:
  9674. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9675. * CarbonLib: in CarbonLib 1.0 and later
  9676. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9677. * Windows: in qtmlClient.lib 3.0 and later
  9678. }
  9679. function MakeMediaTimeTable( theMedia: Media; var offsets: SIGNEDLONGPtr; startTime: TimeValue; endTime: TimeValue; timeIncrement: TimeValue; firstDataRefIndex: SInt16; lastDataRefIndex: SInt16; var retdataRefSkew: SIGNEDLONG ): OSErr; external name '_MakeMediaTimeTable';
  9680. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9681. {
  9682. * GetMaxLoadedTimeInMovie()
  9683. *
  9684. * Availability:
  9685. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9686. * CarbonLib: in CarbonLib 1.0 and later
  9687. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9688. * Windows: in qtmlClient.lib 3.0 and later
  9689. }
  9690. function GetMaxLoadedTimeInMovie( theMovie: Movie; var time: TimeValue ): OSErr; external name '_GetMaxLoadedTimeInMovie';
  9691. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9692. {
  9693. * QTMovieNeedsTimeTable()
  9694. *
  9695. * Availability:
  9696. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9697. * CarbonLib: in CarbonLib 1.0 and later
  9698. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9699. * Windows: in qtmlClient.lib 3.0 and later
  9700. }
  9701. function QTMovieNeedsTimeTable( theMovie: Movie; var needsTimeTable: Boolean ): OSErr; external name '_QTMovieNeedsTimeTable';
  9702. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9703. {
  9704. * QTGetDataRefMaxFileOffset()
  9705. *
  9706. * Availability:
  9707. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9708. * CarbonLib: in CarbonLib 1.0 and later
  9709. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  9710. * Windows: in qtmlClient.lib 3.0 and later
  9711. }
  9712. function QTGetDataRefMaxFileOffset( movieH: Movie; dataRefType: OSType; dataRef: Handle; var offset: SIGNEDLONG ): OSErr; external name '_QTGetDataRefMaxFileOffset';
  9713. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9714. const
  9715. kQTIdlePriority = 10;
  9716. kQTNonRealTimePriority = 20;
  9717. kQTRealTimeSharedPriority = 25;
  9718. kQTRealTimePriority = 30;
  9719. {
  9720. * NewQTCallBackUPP()
  9721. *
  9722. * Availability:
  9723. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9724. * CarbonLib: in CarbonLib 1.0 and later
  9725. * Non-Carbon CFM: available as macro/inline
  9726. }
  9727. function NewQTCallBackUPP( userRoutine: QTCallBackProcPtr ): QTCallBackUPP; external name '_NewQTCallBackUPP';
  9728. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9729. {
  9730. * NewQTSyncTaskUPP()
  9731. *
  9732. * Availability:
  9733. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9734. * CarbonLib: in CarbonLib 1.0 and later
  9735. * Non-Carbon CFM: available as macro/inline
  9736. }
  9737. function NewQTSyncTaskUPP( userRoutine: QTSyncTaskProcPtr ): QTSyncTaskUPP; external name '_NewQTSyncTaskUPP';
  9738. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9739. {
  9740. * NewMovieRgnCoverUPP()
  9741. *
  9742. * Availability:
  9743. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9744. * CarbonLib: in CarbonLib 1.0 and later
  9745. * Non-Carbon CFM: available as macro/inline
  9746. }
  9747. function NewMovieRgnCoverUPP( userRoutine: MovieRgnCoverProcPtr ): MovieRgnCoverUPP; external name '_NewMovieRgnCoverUPP';
  9748. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9749. {
  9750. * NewMovieProgressUPP()
  9751. *
  9752. * Availability:
  9753. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9754. * CarbonLib: in CarbonLib 1.0 and later
  9755. * Non-Carbon CFM: available as macro/inline
  9756. }
  9757. function NewMovieProgressUPP( userRoutine: MovieProgressProcPtr ): MovieProgressUPP; external name '_NewMovieProgressUPP';
  9758. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9759. {
  9760. * NewMovieDrawingCompleteUPP()
  9761. *
  9762. * Availability:
  9763. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9764. * CarbonLib: in CarbonLib 1.0 and later
  9765. * Non-Carbon CFM: available as macro/inline
  9766. }
  9767. function NewMovieDrawingCompleteUPP( userRoutine: MovieDrawingCompleteProcPtr ): MovieDrawingCompleteUPP; external name '_NewMovieDrawingCompleteUPP';
  9768. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9769. {
  9770. * NewTrackTransferUPP()
  9771. *
  9772. * Availability:
  9773. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9774. * CarbonLib: in CarbonLib 1.0 and later
  9775. * Non-Carbon CFM: available as macro/inline
  9776. }
  9777. function NewTrackTransferUPP( userRoutine: TrackTransferProcPtr ): TrackTransferUPP; external name '_NewTrackTransferUPP';
  9778. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9779. {
  9780. * NewGetMovieUPP()
  9781. *
  9782. * Availability:
  9783. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9784. * CarbonLib: in CarbonLib 1.0 and later
  9785. * Non-Carbon CFM: available as macro/inline
  9786. }
  9787. function NewGetMovieUPP( userRoutine: GetMovieProcPtr ): GetMovieUPP; external name '_NewGetMovieUPP';
  9788. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9789. {
  9790. * NewMoviePreviewCallOutUPP()
  9791. *
  9792. * Availability:
  9793. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9794. * CarbonLib: in CarbonLib 1.0 and later
  9795. * Non-Carbon CFM: available as macro/inline
  9796. }
  9797. function NewMoviePreviewCallOutUPP( userRoutine: MoviePreviewCallOutProcPtr ): MoviePreviewCallOutUPP; external name '_NewMoviePreviewCallOutUPP';
  9798. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9799. {
  9800. * NewTextMediaUPP()
  9801. *
  9802. * Availability:
  9803. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9804. * CarbonLib: in CarbonLib 1.0 and later
  9805. * Non-Carbon CFM: available as macro/inline
  9806. }
  9807. function NewTextMediaUPP( userRoutine: TextMediaProcPtr ): TextMediaUPP; external name '_NewTextMediaUPP';
  9808. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9809. {
  9810. * NewActionsUPP()
  9811. *
  9812. * Availability:
  9813. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9814. * CarbonLib: in CarbonLib 1.0 and later
  9815. * Non-Carbon CFM: available as macro/inline
  9816. }
  9817. function NewActionsUPP( userRoutine: ActionsProcPtr ): ActionsUPP; external name '_NewActionsUPP';
  9818. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9819. {
  9820. * NewDoMCActionUPP()
  9821. *
  9822. * Availability:
  9823. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9824. * CarbonLib: in CarbonLib 1.0.2 and later
  9825. * Non-Carbon CFM: available as macro/inline
  9826. }
  9827. function NewDoMCActionUPP( userRoutine: DoMCActionProcPtr ): DoMCActionUPP; external name '_NewDoMCActionUPP';
  9828. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9829. {
  9830. * NewMovieExecuteWiredActionsUPP()
  9831. *
  9832. * Availability:
  9833. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9834. * CarbonLib: in CarbonLib 1.0.2 and later
  9835. * Non-Carbon CFM: available as macro/inline
  9836. }
  9837. function NewMovieExecuteWiredActionsUPP( userRoutine: MovieExecuteWiredActionsProcPtr ): MovieExecuteWiredActionsUPP; external name '_NewMovieExecuteWiredActionsUPP';
  9838. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9839. {
  9840. * NewMoviePrePrerollCompleteUPP()
  9841. *
  9842. * Availability:
  9843. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9844. * CarbonLib: in CarbonLib 1.0.2 and later
  9845. * Non-Carbon CFM: available as macro/inline
  9846. }
  9847. function NewMoviePrePrerollCompleteUPP( userRoutine: MoviePrePrerollCompleteProcPtr ): MoviePrePrerollCompleteUPP; external name '_NewMoviePrePrerollCompleteUPP';
  9848. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9849. {
  9850. * NewQTNextTaskNeededSoonerCallbackUPP()
  9851. *
  9852. * Availability:
  9853. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9854. * CarbonLib: in CarbonLib 1.6 and later
  9855. * Non-Carbon CFM: available as macro/inline
  9856. }
  9857. function NewQTNextTaskNeededSoonerCallbackUPP( userRoutine: QTNextTaskNeededSoonerCallbackProcPtr ): QTNextTaskNeededSoonerCallbackUPP; external name '_NewQTNextTaskNeededSoonerCallbackUPP';
  9858. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9859. {
  9860. * NewMoviesErrorUPP()
  9861. *
  9862. * Availability:
  9863. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9864. * CarbonLib: in CarbonLib 1.0 and later
  9865. * Non-Carbon CFM: available as macro/inline
  9866. }
  9867. function NewMoviesErrorUPP( userRoutine: MoviesErrorProcPtr ): MoviesErrorUPP; external name '_NewMoviesErrorUPP';
  9868. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9869. {
  9870. * NewTweenerDataUPP()
  9871. *
  9872. * Availability:
  9873. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9874. * CarbonLib: in CarbonLib 1.0 and later
  9875. * Non-Carbon CFM: available as macro/inline
  9876. }
  9877. function NewTweenerDataUPP( userRoutine: TweenerDataProcPtr ): TweenerDataUPP; external name '_NewTweenerDataUPP';
  9878. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9879. {
  9880. * NewQTEffectListFilterUPP()
  9881. *
  9882. * Availability:
  9883. * Mac OS X: in version 10.2 and later in QuickTime.framework
  9884. * CarbonLib: in CarbonLib 1.6 and later
  9885. * Non-Carbon CFM: available as macro/inline
  9886. }
  9887. function NewQTEffectListFilterUPP( userRoutine: QTEffectListFilterProcPtr ): QTEffectListFilterUPP; external name '_NewQTEffectListFilterUPP';
  9888. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  9889. {
  9890. * DisposeQTCallBackUPP()
  9891. *
  9892. * Availability:
  9893. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9894. * CarbonLib: in CarbonLib 1.0 and later
  9895. * Non-Carbon CFM: available as macro/inline
  9896. }
  9897. procedure DisposeQTCallBackUPP( userUPP: QTCallBackUPP ); external name '_DisposeQTCallBackUPP';
  9898. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9899. {
  9900. * DisposeQTSyncTaskUPP()
  9901. *
  9902. * Availability:
  9903. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9904. * CarbonLib: in CarbonLib 1.0 and later
  9905. * Non-Carbon CFM: available as macro/inline
  9906. }
  9907. procedure DisposeQTSyncTaskUPP( userUPP: QTSyncTaskUPP ); external name '_DisposeQTSyncTaskUPP';
  9908. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9909. {
  9910. * DisposeMovieRgnCoverUPP()
  9911. *
  9912. * Availability:
  9913. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9914. * CarbonLib: in CarbonLib 1.0 and later
  9915. * Non-Carbon CFM: available as macro/inline
  9916. }
  9917. procedure DisposeMovieRgnCoverUPP( userUPP: MovieRgnCoverUPP ); external name '_DisposeMovieRgnCoverUPP';
  9918. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9919. {
  9920. * DisposeMovieProgressUPP()
  9921. *
  9922. * Availability:
  9923. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9924. * CarbonLib: in CarbonLib 1.0 and later
  9925. * Non-Carbon CFM: available as macro/inline
  9926. }
  9927. procedure DisposeMovieProgressUPP( userUPP: MovieProgressUPP ); external name '_DisposeMovieProgressUPP';
  9928. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9929. {
  9930. * DisposeMovieDrawingCompleteUPP()
  9931. *
  9932. * Availability:
  9933. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9934. * CarbonLib: in CarbonLib 1.0 and later
  9935. * Non-Carbon CFM: available as macro/inline
  9936. }
  9937. procedure DisposeMovieDrawingCompleteUPP( userUPP: MovieDrawingCompleteUPP ); external name '_DisposeMovieDrawingCompleteUPP';
  9938. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9939. {
  9940. * DisposeTrackTransferUPP()
  9941. *
  9942. * Availability:
  9943. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9944. * CarbonLib: in CarbonLib 1.0 and later
  9945. * Non-Carbon CFM: available as macro/inline
  9946. }
  9947. procedure DisposeTrackTransferUPP( userUPP: TrackTransferUPP ); external name '_DisposeTrackTransferUPP';
  9948. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9949. {
  9950. * DisposeGetMovieUPP()
  9951. *
  9952. * Availability:
  9953. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9954. * CarbonLib: in CarbonLib 1.0 and later
  9955. * Non-Carbon CFM: available as macro/inline
  9956. }
  9957. procedure DisposeGetMovieUPP( userUPP: GetMovieUPP ); external name '_DisposeGetMovieUPP';
  9958. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9959. {
  9960. * DisposeMoviePreviewCallOutUPP()
  9961. *
  9962. * Availability:
  9963. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9964. * CarbonLib: in CarbonLib 1.0 and later
  9965. * Non-Carbon CFM: available as macro/inline
  9966. }
  9967. procedure DisposeMoviePreviewCallOutUPP( userUPP: MoviePreviewCallOutUPP ); external name '_DisposeMoviePreviewCallOutUPP';
  9968. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9969. {
  9970. * DisposeTextMediaUPP()
  9971. *
  9972. * Availability:
  9973. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9974. * CarbonLib: in CarbonLib 1.0 and later
  9975. * Non-Carbon CFM: available as macro/inline
  9976. }
  9977. procedure DisposeTextMediaUPP( userUPP: TextMediaUPP ); external name '_DisposeTextMediaUPP';
  9978. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9979. {
  9980. * DisposeActionsUPP()
  9981. *
  9982. * Availability:
  9983. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9984. * CarbonLib: in CarbonLib 1.0 and later
  9985. * Non-Carbon CFM: available as macro/inline
  9986. }
  9987. procedure DisposeActionsUPP( userUPP: ActionsUPP ); external name '_DisposeActionsUPP';
  9988. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9989. {
  9990. * DisposeDoMCActionUPP()
  9991. *
  9992. * Availability:
  9993. * Mac OS X: in version 10.0 and later in QuickTime.framework
  9994. * CarbonLib: in CarbonLib 1.0.2 and later
  9995. * Non-Carbon CFM: available as macro/inline
  9996. }
  9997. procedure DisposeDoMCActionUPP( userUPP: DoMCActionUPP ); external name '_DisposeDoMCActionUPP';
  9998. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  9999. {
  10000. * DisposeMovieExecuteWiredActionsUPP()
  10001. *
  10002. * Availability:
  10003. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10004. * CarbonLib: in CarbonLib 1.0.2 and later
  10005. * Non-Carbon CFM: available as macro/inline
  10006. }
  10007. procedure DisposeMovieExecuteWiredActionsUPP( userUPP: MovieExecuteWiredActionsUPP ); external name '_DisposeMovieExecuteWiredActionsUPP';
  10008. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10009. {
  10010. * DisposeMoviePrePrerollCompleteUPP()
  10011. *
  10012. * Availability:
  10013. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10014. * CarbonLib: in CarbonLib 1.0.2 and later
  10015. * Non-Carbon CFM: available as macro/inline
  10016. }
  10017. procedure DisposeMoviePrePrerollCompleteUPP( userUPP: MoviePrePrerollCompleteUPP ); external name '_DisposeMoviePrePrerollCompleteUPP';
  10018. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10019. {
  10020. * DisposeQTNextTaskNeededSoonerCallbackUPP()
  10021. *
  10022. * Availability:
  10023. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10024. * CarbonLib: in CarbonLib 1.6 and later
  10025. * Non-Carbon CFM: available as macro/inline
  10026. }
  10027. procedure DisposeQTNextTaskNeededSoonerCallbackUPP( userUPP: QTNextTaskNeededSoonerCallbackUPP ); external name '_DisposeQTNextTaskNeededSoonerCallbackUPP';
  10028. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10029. {
  10030. * DisposeMoviesErrorUPP()
  10031. *
  10032. * Availability:
  10033. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10034. * CarbonLib: in CarbonLib 1.0 and later
  10035. * Non-Carbon CFM: available as macro/inline
  10036. }
  10037. procedure DisposeMoviesErrorUPP( userUPP: MoviesErrorUPP ); external name '_DisposeMoviesErrorUPP';
  10038. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10039. {
  10040. * DisposeTweenerDataUPP()
  10041. *
  10042. * Availability:
  10043. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10044. * CarbonLib: in CarbonLib 1.0 and later
  10045. * Non-Carbon CFM: available as macro/inline
  10046. }
  10047. procedure DisposeTweenerDataUPP( userUPP: TweenerDataUPP ); external name '_DisposeTweenerDataUPP';
  10048. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10049. {
  10050. * DisposeQTEffectListFilterUPP()
  10051. *
  10052. * Availability:
  10053. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10054. * CarbonLib: in CarbonLib 1.6 and later
  10055. * Non-Carbon CFM: available as macro/inline
  10056. }
  10057. procedure DisposeQTEffectListFilterUPP( userUPP: QTEffectListFilterUPP ); external name '_DisposeQTEffectListFilterUPP';
  10058. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10059. {
  10060. * InvokeQTCallBackUPP()
  10061. *
  10062. * Availability:
  10063. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10064. * CarbonLib: in CarbonLib 1.0 and later
  10065. * Non-Carbon CFM: available as macro/inline
  10066. }
  10067. procedure InvokeQTCallBackUPP( cb: QTCallBack; refCon: SIGNEDLONG; userUPP: QTCallBackUPP ); external name '_InvokeQTCallBackUPP';
  10068. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10069. {
  10070. * InvokeQTSyncTaskUPP()
  10071. *
  10072. * Availability:
  10073. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10074. * CarbonLib: in CarbonLib 1.0 and later
  10075. * Non-Carbon CFM: available as macro/inline
  10076. }
  10077. procedure InvokeQTSyncTaskUPP( task: UnivPtr; userUPP: QTSyncTaskUPP ); external name '_InvokeQTSyncTaskUPP';
  10078. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10079. {
  10080. * InvokeMovieRgnCoverUPP()
  10081. *
  10082. * Availability:
  10083. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10084. * CarbonLib: in CarbonLib 1.0 and later
  10085. * Non-Carbon CFM: available as macro/inline
  10086. }
  10087. function InvokeMovieRgnCoverUPP( theMovie: Movie; changedRgn: RgnHandle; refcon: SIGNEDLONG; userUPP: MovieRgnCoverUPP ): OSErr; external name '_InvokeMovieRgnCoverUPP';
  10088. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10089. {
  10090. * InvokeMovieProgressUPP()
  10091. *
  10092. * Availability:
  10093. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10094. * CarbonLib: in CarbonLib 1.0 and later
  10095. * Non-Carbon CFM: available as macro/inline
  10096. }
  10097. function InvokeMovieProgressUPP( theMovie: Movie; message: SInt16; whatOperation: SInt16; percentDone: Fixed; refcon: SIGNEDLONG; userUPP: MovieProgressUPP ): OSErr; external name '_InvokeMovieProgressUPP';
  10098. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10099. {
  10100. * InvokeMovieDrawingCompleteUPP()
  10101. *
  10102. * Availability:
  10103. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10104. * CarbonLib: in CarbonLib 1.0 and later
  10105. * Non-Carbon CFM: available as macro/inline
  10106. }
  10107. function InvokeMovieDrawingCompleteUPP( theMovie: Movie; refCon: SIGNEDLONG; userUPP: MovieDrawingCompleteUPP ): OSErr; external name '_InvokeMovieDrawingCompleteUPP';
  10108. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10109. {
  10110. * InvokeTrackTransferUPP()
  10111. *
  10112. * Availability:
  10113. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10114. * CarbonLib: in CarbonLib 1.0 and later
  10115. * Non-Carbon CFM: available as macro/inline
  10116. }
  10117. function InvokeTrackTransferUPP( t: Track; refCon: SIGNEDLONG; userUPP: TrackTransferUPP ): OSErr; external name '_InvokeTrackTransferUPP';
  10118. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10119. {
  10120. * InvokeGetMovieUPP()
  10121. *
  10122. * Availability:
  10123. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10124. * CarbonLib: in CarbonLib 1.0 and later
  10125. * Non-Carbon CFM: available as macro/inline
  10126. }
  10127. function InvokeGetMovieUPP( offset: SIGNEDLONG; size: SIGNEDLONG; dataPtr: UnivPtr; refCon: UnivPtr; userUPP: GetMovieUPP ): OSErr; external name '_InvokeGetMovieUPP';
  10128. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10129. {
  10130. * InvokeMoviePreviewCallOutUPP()
  10131. *
  10132. * Availability:
  10133. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10134. * CarbonLib: in CarbonLib 1.0 and later
  10135. * Non-Carbon CFM: available as macro/inline
  10136. }
  10137. function InvokeMoviePreviewCallOutUPP( refcon: SIGNEDLONG; userUPP: MoviePreviewCallOutUPP ): Boolean; external name '_InvokeMoviePreviewCallOutUPP';
  10138. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10139. {
  10140. * InvokeTextMediaUPP()
  10141. *
  10142. * Availability:
  10143. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10144. * CarbonLib: in CarbonLib 1.0 and later
  10145. * Non-Carbon CFM: available as macro/inline
  10146. }
  10147. function InvokeTextMediaUPP( theText: Handle; theMovie: Movie; var displayFlag: SInt16; refcon: SIGNEDLONG; userUPP: TextMediaUPP ): OSErr; external name '_InvokeTextMediaUPP';
  10148. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10149. {
  10150. * InvokeActionsUPP()
  10151. *
  10152. * Availability:
  10153. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10154. * CarbonLib: in CarbonLib 1.0 and later
  10155. * Non-Carbon CFM: available as macro/inline
  10156. }
  10157. function InvokeActionsUPP( refcon: UnivPtr; targetTrack: Track; targetRefCon: SIGNEDLONG; theEvent: QTEventRecordPtr; userUPP: ActionsUPP ): OSErr; external name '_InvokeActionsUPP';
  10158. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10159. {
  10160. * InvokeDoMCActionUPP()
  10161. *
  10162. * Availability:
  10163. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10164. * CarbonLib: in CarbonLib 1.0.2 and later
  10165. * Non-Carbon CFM: available as macro/inline
  10166. }
  10167. function InvokeDoMCActionUPP( refcon: UnivPtr; action: SInt16; params: UnivPtr; var handled: Boolean; userUPP: DoMCActionUPP ): OSErr; external name '_InvokeDoMCActionUPP';
  10168. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10169. {
  10170. * InvokeMovieExecuteWiredActionsUPP()
  10171. *
  10172. * Availability:
  10173. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10174. * CarbonLib: in CarbonLib 1.0.2 and later
  10175. * Non-Carbon CFM: available as macro/inline
  10176. }
  10177. function InvokeMovieExecuteWiredActionsUPP( theMovie: Movie; refcon: UnivPtr; flags: SIGNEDLONG; wiredActions: QTAtomContainer; userUPP: MovieExecuteWiredActionsUPP ): OSErr; external name '_InvokeMovieExecuteWiredActionsUPP';
  10178. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10179. {
  10180. * InvokeMoviePrePrerollCompleteUPP()
  10181. *
  10182. * Availability:
  10183. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10184. * CarbonLib: in CarbonLib 1.0.2 and later
  10185. * Non-Carbon CFM: available as macro/inline
  10186. }
  10187. procedure InvokeMoviePrePrerollCompleteUPP( theMovie: Movie; prerollErr: OSErr; refcon: UnivPtr; userUPP: MoviePrePrerollCompleteUPP ); external name '_InvokeMoviePrePrerollCompleteUPP';
  10188. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10189. {
  10190. * InvokeQTNextTaskNeededSoonerCallbackUPP()
  10191. *
  10192. * Availability:
  10193. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10194. * CarbonLib: in CarbonLib 1.6 and later
  10195. * Non-Carbon CFM: available as macro/inline
  10196. }
  10197. procedure InvokeQTNextTaskNeededSoonerCallbackUPP( duration: TimeValue; flags: UNSIGNEDLONG; refcon: UnivPtr; userUPP: QTNextTaskNeededSoonerCallbackUPP ); external name '_InvokeQTNextTaskNeededSoonerCallbackUPP';
  10198. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10199. {
  10200. * InvokeMoviesErrorUPP()
  10201. *
  10202. * Availability:
  10203. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10204. * CarbonLib: in CarbonLib 1.0 and later
  10205. * Non-Carbon CFM: available as macro/inline
  10206. }
  10207. procedure InvokeMoviesErrorUPP( theErr: OSErr; refcon: SIGNEDLONG; userUPP: MoviesErrorUPP ); external name '_InvokeMoviesErrorUPP';
  10208. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10209. {
  10210. * InvokeTweenerDataUPP()
  10211. *
  10212. * Availability:
  10213. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10214. * CarbonLib: in CarbonLib 1.0 and later
  10215. * Non-Carbon CFM: available as macro/inline
  10216. }
  10217. function InvokeTweenerDataUPP( tr: TweenRecordPtr; tweenData: UnivPtr; tweenDataSize: SIGNEDLONG; dataDescriptionSeed: SIGNEDLONG; dataDescription: Handle; asyncCompletionProc: ICMCompletionProcRecordPtr; transferProc: UniversalProcPtr; refCon: UnivPtr; userUPP: TweenerDataUPP ): ComponentResult; external name '_InvokeTweenerDataUPP';
  10218. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10219. {
  10220. * InvokeQTEffectListFilterUPP()
  10221. *
  10222. * Availability:
  10223. * Mac OS X: in version 10.2 and later in QuickTime.framework
  10224. * CarbonLib: in CarbonLib 1.6 and later
  10225. * Non-Carbon CFM: available as macro/inline
  10226. }
  10227. function InvokeQTEffectListFilterUPP( effect: Component; effectMinSource: SIGNEDLONG; effectMaxSource: SIGNEDLONG; majorClass: OSType; minorClass: OSType; refcon: UnivPtr; userUPP: QTEffectListFilterUPP ): Boolean; external name '_InvokeQTEffectListFilterUPP';
  10228. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  10229. {****
  10230. Connection Speed
  10231. ****}
  10232. const
  10233. ConnectionSpeedPrefsType = FourCharCode('cspd');
  10234. ConnectionSpeedIsValidPrefsType = FourCharCode('vspd');
  10235. type
  10236. ConnectionSpeedPrefsRecordPtr = ^ConnectionSpeedPrefsRecord;
  10237. ConnectionSpeedPrefsRecord = record
  10238. connectionSpeed: SIGNEDLONG;
  10239. end;
  10240. type
  10241. ConnectionSpeedPrefsPtr = ^ConnectionSpeedPrefsRecord;
  10242. ConnectionSpeedPrefsHandle = ^ConnectionSpeedPrefsPtr;
  10243. {
  10244. * QTGetConnectionSpeedFromPrefs()
  10245. *
  10246. * Availability:
  10247. * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
  10248. * CarbonLib: not available
  10249. * Non-Carbon CFM: not available
  10250. * Windows: in qtmlClient.lib 6.5 and later
  10251. }
  10252. function QTGetConnectionSpeedFromPrefs( var pConnectionSpeed: SIGNEDLONG ): OSErr; external name '_QTGetConnectionSpeedFromPrefs';
  10253. (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
  10254. {****
  10255. QT International Text Atom Support
  10256. ****}
  10257. const
  10258. kITextRemoveEverythingBut = 0 shl 1;
  10259. kITextRemoveLeaveSuggestedAlternate = 1 shl 1;
  10260. const
  10261. kITextAtomType = FourCharCode('itxt');
  10262. kITextStringAtomType = FourCharCode('text');
  10263. {
  10264. * ITextAddString()
  10265. *
  10266. * Availability:
  10267. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10268. * CarbonLib: in CarbonLib 1.0 and later
  10269. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10270. * Windows: in qtmlClient.lib 3.0 and later
  10271. }
  10272. function ITextAddString( container: QTAtomContainer; parentAtom: QTAtom; theRegionCode: RegionCode; const (*var*) theString: Str255 ): OSErr; external name '_ITextAddString';
  10273. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10274. {
  10275. * ITextRemoveString()
  10276. *
  10277. * Availability:
  10278. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10279. * CarbonLib: in CarbonLib 1.0 and later
  10280. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10281. * Windows: in qtmlClient.lib 3.0 and later
  10282. }
  10283. function ITextRemoveString( container: QTAtomContainer; parentAtom: QTAtom; theRegionCode: RegionCode; flags: SIGNEDLONG ): OSErr; external name '_ITextRemoveString';
  10284. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10285. {
  10286. * ITextGetString()
  10287. *
  10288. * Availability:
  10289. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10290. * CarbonLib: in CarbonLib 1.0 and later
  10291. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10292. * Windows: in qtmlClient.lib 3.0 and later
  10293. }
  10294. function ITextGetString( container: QTAtomContainer; parentAtom: QTAtom; requestedRegion: RegionCode; var foundRegion: RegionCode; theString: StringPtr ): OSErr; external name '_ITextGetString';
  10295. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10296. {
  10297. * QTTextToNativeText()
  10298. *
  10299. * Availability:
  10300. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10301. * CarbonLib: in CarbonLib 1.0 and later
  10302. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10303. * Windows: in qtmlClient.lib 3.0 and later
  10304. }
  10305. function QTTextToNativeText( theText: Handle; encoding: SIGNEDLONG; flags: SIGNEDLONG ): OSErr; external name '_QTTextToNativeText';
  10306. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10307. { QTParseTextHREF inContainer atoms}
  10308. const
  10309. kQTParseTextHREFText = FourCharCode('text'); { string}
  10310. kQTParseTextHREFBaseURL = FourCharCode('burl'); { string}
  10311. kQTParseTextHREFClickPoint = FourCharCode('clik'); { Point; if present, QTParseTextHREF will expand URLs to support server-side image maps}
  10312. kQTParseTextHREFUseAltDelim = FourCharCode('altd'); { boolean; if no kQTParseTextHREFDelimiter, delim is ':'}
  10313. kQTParseTextHREFDelimiter = FourCharCode('delm'); { character}
  10314. kQTParseTextHREFRecomposeHREF = FourCharCode('rhrf'); { Boolean; if true, QTParseTextHREF returns recomposed HREF with URL expanded as appropriate}
  10315. { QTParseTextHREF outContainer atoms}
  10316. const
  10317. kQTParseTextHREFURL = FourCharCode('url '); { string}
  10318. kQTParseTextHREFTarget = FourCharCode('targ'); { string}
  10319. kQTParseTextHREFChapter = FourCharCode('chap'); { string}
  10320. kQTParseTextHREFIsAutoHREF = FourCharCode('auto'); { Boolean}
  10321. kQTParseTextHREFIsServerMap = FourCharCode('smap'); { Boolean}
  10322. kQTParseTextHREFHREF = FourCharCode('href'); { string; recomposed HREF with URL expanded as appropriate, suitable for mcActionLinkToURL}
  10323. kQTParseTextHREFEMBEDArgs = FourCharCode('mbed'); { string; text between 'E<' and '>' to be used as new movie's embed tags}
  10324. {
  10325. * QTParseTextHREF()
  10326. *
  10327. * Availability:
  10328. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10329. * CarbonLib: in CarbonLib 1.1 and later
  10330. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  10331. * Windows: in qtmlClient.lib 4.1 and later
  10332. }
  10333. function QTParseTextHREF( href: CStringPtr; hrefLen: SInt32; inContainer: QTAtomContainer; var outContainer: QTAtomContainer ): OSErr; external name '_QTParseTextHREF';
  10334. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10335. {************************
  10336. * track reference types
  10337. *************************}
  10338. const
  10339. kTrackReferenceChapterList = FourCharCode('chap');
  10340. kTrackReferenceTimeCode = FourCharCode('tmcd');
  10341. kTrackReferenceModifier = FourCharCode('ssrc');
  10342. {************************
  10343. * modifier track types
  10344. *************************}
  10345. const
  10346. kTrackModifierInput = $696E; { is really 'in'}
  10347. kTrackModifierType = $7479; { is really 'ty'}
  10348. kTrackModifierReference = FourCharCode('ssrc');
  10349. kTrackModifierObjectID = FourCharCode('obid');
  10350. kTrackModifierInputName = FourCharCode('name');
  10351. const
  10352. kInputMapSubInputID = FourCharCode('subi');
  10353. const
  10354. kTrackModifierTypeMatrix = 1;
  10355. kTrackModifierTypeClip = 2;
  10356. kTrackModifierTypeGraphicsMode = 5;
  10357. kTrackModifierTypeVolume = 3;
  10358. kTrackModifierTypeBalance = 4;
  10359. kTrackModifierTypeImage = FourCharCode('vide'); { was kTrackModifierTypeSpriteImage}
  10360. kTrackModifierObjectMatrix = 6;
  10361. kTrackModifierObjectGraphicsMode = 7;
  10362. kTrackModifierType3d4x4Matrix = 8;
  10363. kTrackModifierCameraData = 9;
  10364. kTrackModifierSoundLocalizationData = 10;
  10365. kTrackModifierObjectImageIndex = 11;
  10366. kTrackModifierObjectLayer = 12;
  10367. kTrackModifierObjectVisible = 13;
  10368. kTrackModifierAngleAspectCamera = 14;
  10369. kTrackModifierPanAngle = FourCharCode('pan ');
  10370. kTrackModifierTiltAngle = FourCharCode('tilt');
  10371. kTrackModifierVerticalFieldOfViewAngle = FourCharCode('fov ');
  10372. kTrackModifierObjectQTEventSend = FourCharCode('evnt');
  10373. kTrackModifierObjectCanBeHitTested = 15;
  10374. type
  10375. ModifierTrackGraphicsModeRecordPtr = ^ModifierTrackGraphicsModeRecord;
  10376. ModifierTrackGraphicsModeRecord = record
  10377. graphicsMode: SIGNEDLONG;
  10378. opColor: RGBColor;
  10379. end;
  10380. {************************
  10381. * tween track types
  10382. *************************}
  10383. const
  10384. kTweenTypeShort = 1;
  10385. kTweenTypeLong = 2;
  10386. kTweenTypeFixed = 3;
  10387. kTweenTypePoint = 4;
  10388. kTweenTypeQDRect = 5;
  10389. kTweenTypeQDRegion = 6;
  10390. kTweenTypeMatrix = 7;
  10391. kTweenTypeRGBColor = 8;
  10392. kTweenTypeGraphicsModeWithRGBColor = 9;
  10393. kTweenTypeQTFloatSingle = 10;
  10394. kTweenTypeQTFloatDouble = 11;
  10395. kTweenTypeFixedPoint = 12;
  10396. kTweenType3dScale = FourCharCode('3sca');
  10397. kTweenType3dTranslate = FourCharCode('3tra');
  10398. kTweenType3dRotate = FourCharCode('3rot');
  10399. kTweenType3dRotateAboutPoint = FourCharCode('3rap');
  10400. kTweenType3dRotateAboutAxis = FourCharCode('3rax');
  10401. kTweenType3dRotateAboutVector = FourCharCode('3rvc');
  10402. kTweenType3dQuaternion = FourCharCode('3qua');
  10403. kTweenType3dMatrix = FourCharCode('3mat');
  10404. kTweenType3dCameraData = FourCharCode('3cam');
  10405. kTweenType3dAngleAspectCameraData = FourCharCode('3caa');
  10406. kTweenType3dSoundLocalizationData = FourCharCode('3slc');
  10407. kTweenTypePathToMatrixTranslation = FourCharCode('gxmt');
  10408. kTweenTypePathToMatrixRotation = FourCharCode('gxpr');
  10409. kTweenTypePathToMatrixTranslationAndRotation = FourCharCode('gxmr');
  10410. kTweenTypePathToFixedPoint = FourCharCode('gxfp');
  10411. kTweenTypePathXtoY = FourCharCode('gxxy');
  10412. kTweenTypePathYtoX = FourCharCode('gxyx');
  10413. kTweenTypeAtomList = FourCharCode('atom');
  10414. kTweenTypePolygon = FourCharCode('poly');
  10415. kTweenTypeMultiMatrix = FourCharCode('mulm');
  10416. kTweenTypeSpin = FourCharCode('spin');
  10417. kTweenType3dMatrixNonLinear = FourCharCode('3nlr');
  10418. kTweenType3dVRObject = FourCharCode('3vro');
  10419. const
  10420. kTweenEntry = FourCharCode('twen');
  10421. kTweenData = FourCharCode('data');
  10422. kTweenType = FourCharCode('twnt');
  10423. kTweenStartOffset = FourCharCode('twst');
  10424. kTweenDuration = FourCharCode('twdu');
  10425. kTweenFlags = FourCharCode('flag');
  10426. kTweenOutputMin = FourCharCode('omin');
  10427. kTweenOutputMax = FourCharCode('omax');
  10428. kTweenSequenceElement = FourCharCode('seqe');
  10429. kTween3dInitialCondition = FourCharCode('icnd');
  10430. kTweenInterpolationID = FourCharCode('intr');
  10431. kTweenRegionData = FourCharCode('qdrg');
  10432. kTweenPictureData = FourCharCode('PICT');
  10433. kListElementType = FourCharCode('type');
  10434. kListElementDataType = FourCharCode('daty');
  10435. kNameAtom = FourCharCode('name');
  10436. kInitialRotationAtom = FourCharCode('inro');
  10437. kNonLinearTweenHeader = FourCharCode('nlth');
  10438. { kTweenFlags}
  10439. const
  10440. kTweenReturnDelta = 1 shl 0;
  10441. type
  10442. TweenSequenceEntryRecord = record
  10443. endPercent: Fixed;
  10444. tweenAtomID: QTAtomID;
  10445. dataAtomID: QTAtomID;
  10446. end;
  10447. (* #ifdef __QD3D__
  10448. type
  10449. ThreeDeeVRObjectSample = record
  10450. rows: SIGNEDLONG;
  10451. columns: SIGNEDLONG;
  10452. calib1: TQ3Matrix4x4;
  10453. calib2: TQ3Matrix4x4;
  10454. reserved1: SIGNEDLONG;
  10455. reserved2: SIGNEDLONG;
  10456. end;
  10457. type
  10458. ThreeDeeNonLinearSample = record
  10459. DurFromLastSample: Float32; { 0 to 1 }
  10460. matrix: TQ3Matrix4x4;
  10461. end;
  10462. type
  10463. ThreeDeeNonLinearTweenHeaderAtom = record
  10464. number: SIGNEDLONG;
  10465. dataSize: SIGNEDLONG;
  10466. tensionFactor: Float32; { default is 0 }
  10467. reserved1: SIGNEDLONG;
  10468. reserved2: SIGNEDLONG;
  10469. end;
  10470. #endif
  10471. *)
  10472. (* #if OLDROUTINENAMES
  10473. {************************
  10474. * Video Media routines
  10475. *************************}
  10476. #define GetVideoMediaGraphicsMode MediaGetGraphicsMode
  10477. #define SetVideoMediaGraphicsMode MediaSetGraphicsMode
  10478. { use these two routines at your own peril }
  10479. #define ResetVideoMediaStatistics VideoMediaResetStatistics
  10480. #define GetVideoMediaStatistics VideoMediaGetStatistics
  10481. {************************
  10482. * Sound Media routines
  10483. *************************}
  10484. #define GetSoundMediaBalance MediaGetSoundBalance
  10485. #define SetSoundMediaBalance MediaSetSoundBalance
  10486. {************************
  10487. * Text Media routines
  10488. *************************}
  10489. #define SetTextProc TextMediaSetTextProc
  10490. #define AddTextSample TextMediaAddTextSample
  10491. #define AddTESample TextMediaAddTESample
  10492. #define AddHiliteSample TextMediaAddHiliteSample
  10493. #define FindNextText TextMediaFindNextText
  10494. #define HiliteTextSample TextMediaHiliteTextSample
  10495. #define SetTextSampleData TextMediaSetTextSampleData
  10496. #define DrawRaw TextMediaDrawRaw
  10497. #define RawSetup TextMediaRawSetup
  10498. #define RawIdle TextMediaRawIdle
  10499. #define SetTextProperty TextMediaSetTextProperty
  10500. {************************
  10501. * Sprite Media routines
  10502. *************************}
  10503. #define SetSpriteMediaSpriteProperty SpriteMediaSetProperty
  10504. #define GetSpriteMediaSpriteProperty SpriteMediaGetProperty
  10505. #define HitTestSpriteMedia SpriteMediaHitTestSprites
  10506. #define CountSpriteMediaSprites SpriteMediaCountSprites
  10507. #define CountSpriteMediaImages SpriteMediaCountImages
  10508. #define GetSpriteMediaIndImageDescription SpriteMediaGetIndImageDescription
  10509. #define GetDisplayedSampleNumber SpriteMediaGetDisplayedSampleNumber
  10510. #endif { OLDROUTINENAMES }
  10511. *)
  10512. {****
  10513. Content Restrictions
  10514. ****}
  10515. const
  10516. kQTRestrictionClassSave = FourCharCode('save');
  10517. kQTRestrictionSaveDontAddMovieResource = 1 shl 0;
  10518. kQTRestrictionSaveDontFlatten = 1 shl 1;
  10519. kQTRestrictionSaveDontExport = 1 shl 2;
  10520. kQTRestrictionSaveDontExtract = 1 shl 3; { don't allow any form of extraction of content}
  10521. kQTRestrictionClassEdit = FourCharCode('edit');
  10522. kQTRestrictionEditDontCopy = 1 shl 0; { disable copy }
  10523. kQTRestrictionEditDontCut = 1 shl 1; { disable cut }
  10524. kQTRestrictionEditDontPaste = 1 shl 2; { disable paste }
  10525. kQTRestrictionEditDontClear = 1 shl 3; { disable clear}
  10526. kQTRestrictionEditDontModify = 1 shl 4; { don't allow modification of content}
  10527. kQTRestrictionEditDontExtract = 1 shl 5; { don't allow any form of extraction of content}
  10528. kQTRestrictionClassPlay = FourCharCode('play');
  10529. kQTRestrictionPlayDontPlay = 1 shl 0; { disable playback }
  10530. {************************
  10531. * Video Media routines
  10532. *************************}
  10533. const
  10534. videoFlagDontLeanAhead = 1 shl 0;
  10535. { use these five routines at your own peril}
  10536. {
  10537. * VideoMediaResetStatistics()
  10538. *
  10539. * Availability:
  10540. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10541. * CarbonLib: in CarbonLib 1.0 and later
  10542. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10543. * Windows: in qtmlClient.lib 3.0 and later
  10544. }
  10545. function VideoMediaResetStatistics( mh: MediaHandler ): ComponentResult; external name '_VideoMediaResetStatistics';
  10546. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10547. {
  10548. * VideoMediaGetStatistics()
  10549. *
  10550. * Availability:
  10551. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10552. * CarbonLib: in CarbonLib 1.0 and later
  10553. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10554. * Windows: in qtmlClient.lib 3.0 and later
  10555. }
  10556. function VideoMediaGetStatistics( mh: MediaHandler ): ComponentResult; external name '_VideoMediaGetStatistics';
  10557. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10558. {
  10559. * VideoMediaGetStallCount()
  10560. *
  10561. * Availability:
  10562. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10563. * CarbonLib: in CarbonLib 1.0.2 and later
  10564. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10565. * Windows: in qtmlClient.lib 3.0 and later
  10566. }
  10567. function VideoMediaGetStallCount( mh: MediaHandler; var stalls: UNSIGNEDLONG ): ComponentResult; external name '_VideoMediaGetStallCount';
  10568. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10569. {
  10570. * VideoMediaSetCodecParameter()
  10571. *
  10572. * Availability:
  10573. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10574. * CarbonLib: in CarbonLib 1.0.2 and later
  10575. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10576. * Windows: in qtmlClient.lib 4.0 and later
  10577. }
  10578. function VideoMediaSetCodecParameter( mh: MediaHandler; cType: CodecType; parameterID: OSType; parameterChangeSeed: SIGNEDLONG; dataPtr: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_VideoMediaSetCodecParameter';
  10579. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10580. {
  10581. * VideoMediaGetCodecParameter()
  10582. *
  10583. * Availability:
  10584. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10585. * CarbonLib: in CarbonLib 1.0.2 and later
  10586. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10587. * Windows: in qtmlClient.lib 4.0 and later
  10588. }
  10589. function VideoMediaGetCodecParameter( mh: MediaHandler; cType: CodecType; parameterID: OSType; outParameterData: Handle ): ComponentResult; external name '_VideoMediaGetCodecParameter';
  10590. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10591. {************************
  10592. * Text Media routines
  10593. *************************}
  10594. { Return displayFlags for TextProc }
  10595. const
  10596. txtProcDefaultDisplay = 0; { Use the media's default}
  10597. txtProcDontDisplay = 1; { Don't display the text}
  10598. txtProcDoDisplay = 2; { Do display the text}
  10599. {
  10600. * TextMediaSetTextProc()
  10601. *
  10602. * Availability:
  10603. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10604. * CarbonLib: in CarbonLib 1.0 and later
  10605. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10606. * Windows: in qtmlClient.lib 3.0 and later
  10607. }
  10608. function TextMediaSetTextProc( mh: MediaHandler; TextProc: TextMediaUPP; refcon: SIGNEDLONG ): ComponentResult; external name '_TextMediaSetTextProc';
  10609. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10610. {
  10611. * TextMediaAddTextSample()
  10612. *
  10613. * Availability:
  10614. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10615. * CarbonLib: in CarbonLib 1.0 and later
  10616. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10617. * Windows: in qtmlClient.lib 3.0 and later
  10618. }
  10619. function TextMediaAddTextSample( mh: MediaHandler; text: Ptr; size: UNSIGNEDLONG; fontNumber: SInt16; fontSize: SInt16; txtFace: ByteParameter; var textColor: RGBColor; var backColor: RGBColor; textJustification: SInt16; var textBox: Rect; displayFlags: SIGNEDLONG; scrollDelay: TimeValue; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor; duration: TimeValue; var sampleTime: TimeValue ): ComponentResult; external name '_TextMediaAddTextSample';
  10620. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10621. {
  10622. * TextMediaAddTESample()
  10623. *
  10624. * Availability:
  10625. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10626. * CarbonLib: in CarbonLib 1.0 and later
  10627. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10628. * Windows: in qtmlClient.lib 3.0 and later
  10629. }
  10630. function TextMediaAddTESample( mh: MediaHandler; hTE: TEHandle; var backColor: RGBColor; textJustification: SInt16; var textBox: Rect; displayFlags: SIGNEDLONG; scrollDelay: TimeValue; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor; duration: TimeValue; var sampleTime: TimeValue ): ComponentResult; external name '_TextMediaAddTESample';
  10631. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10632. {
  10633. * TextMediaAddHiliteSample()
  10634. *
  10635. * Availability:
  10636. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10637. * CarbonLib: in CarbonLib 1.0 and later
  10638. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10639. * Windows: in qtmlClient.lib 3.0 and later
  10640. }
  10641. function TextMediaAddHiliteSample( mh: MediaHandler; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor; duration: TimeValue; var sampleTime: TimeValue ): ComponentResult; external name '_TextMediaAddHiliteSample';
  10642. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10643. {
  10644. * TextMediaDrawRaw()
  10645. *
  10646. * Availability:
  10647. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10648. * CarbonLib: in CarbonLib 1.0.2 and later
  10649. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10650. * Windows: in qtmlClient.lib 4.0 and later
  10651. }
  10652. function TextMediaDrawRaw( mh: MediaHandler; gw: GWorldPtr; gd: GDHandle; data: UnivPtr; dataSize: SIGNEDLONG; tdh: TextDescriptionHandle ): ComponentResult; external name '_TextMediaDrawRaw';
  10653. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10654. {
  10655. * TextMediaSetTextProperty()
  10656. *
  10657. * Availability:
  10658. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10659. * CarbonLib: in CarbonLib 1.0.2 and later
  10660. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10661. * Windows: in qtmlClient.lib 4.0 and later
  10662. }
  10663. function TextMediaSetTextProperty( mh: MediaHandler; atMediaTime: TimeValue; propertyType: SIGNEDLONG; data: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_TextMediaSetTextProperty';
  10664. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10665. {
  10666. * TextMediaRawSetup()
  10667. *
  10668. * Availability:
  10669. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10670. * CarbonLib: in CarbonLib 1.0.2 and later
  10671. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10672. * Windows: in qtmlClient.lib 4.0 and later
  10673. }
  10674. function TextMediaRawSetup( mh: MediaHandler; gw: GWorldPtr; gd: GDHandle; data: UnivPtr; dataSize: SIGNEDLONG; tdh: TextDescriptionHandle; sampleDuration: TimeValue ): ComponentResult; external name '_TextMediaRawSetup';
  10675. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10676. {
  10677. * TextMediaRawIdle()
  10678. *
  10679. * Availability:
  10680. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10681. * CarbonLib: in CarbonLib 1.0.2 and later
  10682. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  10683. * Windows: in qtmlClient.lib 4.0 and later
  10684. }
  10685. function TextMediaRawIdle( mh: MediaHandler; gw: GWorldPtr; gd: GDHandle; sampleTime: TimeValue; flagsIn: SIGNEDLONG; var flagsOut: SIGNEDLONG ): ComponentResult; external name '_TextMediaRawIdle';
  10686. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10687. {
  10688. * TextMediaGetTextProperty()
  10689. *
  10690. * Availability:
  10691. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10692. * CarbonLib: in CarbonLib 1.3 and later
  10693. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  10694. * Windows: in qtmlClient.lib 5.0 and later
  10695. }
  10696. function TextMediaGetTextProperty( mh: MediaHandler; atMediaTime: TimeValue; propertyType: SIGNEDLONG; data: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_TextMediaGetTextProperty';
  10697. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10698. const
  10699. findTextEdgeOK = 1 shl 0; { Okay to find text at specified sample time}
  10700. findTextCaseSensitive = 1 shl 1; { Case sensitive search}
  10701. findTextReverseSearch = 1 shl 2; { Search from sampleTime backwards}
  10702. findTextWrapAround = 1 shl 3; { Wrap search when beginning or end of movie is hit}
  10703. findTextUseOffset = 1 shl 4; { Begin search at the given character offset into sample rather than edge}
  10704. {
  10705. * TextMediaFindNextText()
  10706. *
  10707. * Availability:
  10708. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10709. * CarbonLib: in CarbonLib 1.0 and later
  10710. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10711. * Windows: in qtmlClient.lib 3.0 and later
  10712. }
  10713. function TextMediaFindNextText( mh: MediaHandler; text: Ptr; size: SIGNEDLONG; findFlags: SInt16; startTime: TimeValue; var foundTime: TimeValue; var foundDuration: TimeValue; var offset: SIGNEDLONG ): ComponentResult; external name '_TextMediaFindNextText';
  10714. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10715. {
  10716. * TextMediaHiliteTextSample()
  10717. *
  10718. * Availability:
  10719. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10720. * CarbonLib: in CarbonLib 1.0 and later
  10721. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10722. * Windows: in qtmlClient.lib 3.0 and later
  10723. }
  10724. function TextMediaHiliteTextSample( mh: MediaHandler; sampleTime: TimeValue; hiliteStart: SInt16; hiliteEnd: SInt16; var rgbHiliteColor: RGBColor ): ComponentResult; external name '_TextMediaHiliteTextSample';
  10725. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10726. const
  10727. dropShadowOffsetType = FourCharCode('drpo');
  10728. dropShadowTranslucencyType = FourCharCode('drpt');
  10729. {
  10730. * TextMediaSetTextSampleData()
  10731. *
  10732. * Availability:
  10733. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10734. * CarbonLib: in CarbonLib 1.0 and later
  10735. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10736. * Windows: in qtmlClient.lib 3.0 and later
  10737. }
  10738. function TextMediaSetTextSampleData( mh: MediaHandler; data: UnivPtr; dataType: OSType ): ComponentResult; external name '_TextMediaSetTextSampleData';
  10739. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10740. {************************
  10741. * Sprite Media routines
  10742. *************************}
  10743. { flags for sprite hit test routines }
  10744. const
  10745. spriteHitTestBounds = 1 shl 0; { point must only be within sprite's bounding box}
  10746. spriteHitTestImage = 1 shl 1; { point must be within the shape of the sprite's image}
  10747. spriteHitTestInvisibleSprites = 1 shl 2; { invisible sprites may be hit tested}
  10748. spriteHitTestIsClick = 1 shl 3; { for codecs that want mouse events}
  10749. spriteHitTestLocInDisplayCoordinates = 1 shl 4; { set if you want to pass a display coordiate point to SpriteHitTest}
  10750. spriteHitTestTreatAllSpritesAsHitTestable = 1 shl 5; { set if you want to override each sprites hittestable property as true}
  10751. { atom types for sprite media }
  10752. const
  10753. kSpriteAtomType = FourCharCode('sprt');
  10754. kSpriteImagesContainerAtomType = FourCharCode('imct');
  10755. kSpriteImageAtomType = FourCharCode('imag');
  10756. kSpriteImageDataAtomType = FourCharCode('imda');
  10757. kSpriteImageDataRefAtomType = FourCharCode('imre');
  10758. kSpriteImageDataRefTypeAtomType = FourCharCode('imrt');
  10759. kSpriteImageGroupIDAtomType = FourCharCode('imgr');
  10760. kSpriteImageRegistrationAtomType = FourCharCode('imrg');
  10761. kSpriteImageDefaultImageIndexAtomType = FourCharCode('defi');
  10762. kSpriteSharedDataAtomType = FourCharCode('dflt');
  10763. kSpriteNameAtomType = FourCharCode('name');
  10764. kSpriteImageNameAtomType = FourCharCode('name');
  10765. kSpriteUsesImageIDsAtomType = FourCharCode('uses'); { leaf data is an array of QTAtomID's, one per image used}
  10766. kSpriteBehaviorsAtomType = FourCharCode('beha');
  10767. kSpriteImageBehaviorAtomType = FourCharCode('imag');
  10768. kSpriteCursorBehaviorAtomType = FourCharCode('crsr');
  10769. kSpriteStatusStringsBehaviorAtomType = FourCharCode('sstr');
  10770. kSpriteVariablesContainerAtomType = FourCharCode('vars');
  10771. kSpriteStringVariableAtomType = FourCharCode('strv');
  10772. kSpriteFloatingPointVariableAtomType = FourCharCode('flov');
  10773. type
  10774. QTRuntimeSpriteDescStructPtr = ^QTRuntimeSpriteDescStruct;
  10775. QTRuntimeSpriteDescStruct = record
  10776. version: SIGNEDLONG; { set to zero}
  10777. spriteID: QTAtomID;
  10778. imageIndex: SInt16;
  10779. matrix: MatrixRecord;
  10780. visible: SInt16;
  10781. layer: SInt16;
  10782. graphicsMode: ModifierTrackGraphicsModeRecord;
  10783. actionHandlingSpriteID: QTAtomID;
  10784. end;
  10785. type
  10786. QTRuntimeSpriteDescPtr = QTRuntimeSpriteDescStructPtr;
  10787. {
  10788. when filling in QTSpriteButtonBehaviorStruct values -1 may be used to indicate that
  10789. the state transition does not change the property
  10790. }
  10791. type
  10792. QTSpriteButtonBehaviorStructPtr = ^QTSpriteButtonBehaviorStruct;
  10793. QTSpriteButtonBehaviorStruct = record
  10794. notOverNotPressedStateID: QTAtomID;
  10795. overNotPressedStateID: QTAtomID;
  10796. overPressedStateID: QTAtomID;
  10797. notOverPressedStateID: QTAtomID;
  10798. end;
  10799. type
  10800. QTSpriteButtonBehaviorPtr = QTSpriteButtonBehaviorStructPtr;
  10801. {
  10802. * SpriteMediaSetProperty()
  10803. *
  10804. * Availability:
  10805. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10806. * CarbonLib: in CarbonLib 1.0 and later
  10807. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10808. * Windows: in qtmlClient.lib 3.0 and later
  10809. }
  10810. function SpriteMediaSetProperty( mh: MediaHandler; spriteIndex: SInt16; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaSetProperty';
  10811. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10812. {
  10813. * SpriteMediaGetProperty()
  10814. *
  10815. * Availability:
  10816. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10817. * CarbonLib: in CarbonLib 1.0 and later
  10818. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10819. * Windows: in qtmlClient.lib 3.0 and later
  10820. }
  10821. function SpriteMediaGetProperty( mh: MediaHandler; spriteIndex: SInt16; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaGetProperty';
  10822. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10823. {
  10824. * SpriteMediaHitTestSprites()
  10825. *
  10826. * Availability:
  10827. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10828. * CarbonLib: in CarbonLib 1.0 and later
  10829. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10830. * Windows: in qtmlClient.lib 3.0 and later
  10831. }
  10832. function SpriteMediaHitTestSprites( mh: MediaHandler; flags: SIGNEDLONG; loc: Point; var spriteHitIndex: SInt16 ): ComponentResult; external name '_SpriteMediaHitTestSprites';
  10833. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10834. {
  10835. * SpriteMediaCountSprites()
  10836. *
  10837. * Availability:
  10838. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10839. * CarbonLib: in CarbonLib 1.0 and later
  10840. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10841. * Windows: in qtmlClient.lib 3.0 and later
  10842. }
  10843. function SpriteMediaCountSprites( mh: MediaHandler; var numSprites: SInt16 ): ComponentResult; external name '_SpriteMediaCountSprites';
  10844. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10845. {
  10846. * SpriteMediaCountImages()
  10847. *
  10848. * Availability:
  10849. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10850. * CarbonLib: in CarbonLib 1.0 and later
  10851. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10852. * Windows: in qtmlClient.lib 3.0 and later
  10853. }
  10854. function SpriteMediaCountImages( mh: MediaHandler; var numImages: SInt16 ): ComponentResult; external name '_SpriteMediaCountImages';
  10855. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10856. {
  10857. * SpriteMediaGetIndImageDescription()
  10858. *
  10859. * Availability:
  10860. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10861. * CarbonLib: in CarbonLib 1.0 and later
  10862. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10863. * Windows: in qtmlClient.lib 3.0 and later
  10864. }
  10865. function SpriteMediaGetIndImageDescription( mh: MediaHandler; imageIndex: SInt16; imageDescription: ImageDescriptionHandle ): ComponentResult; external name '_SpriteMediaGetIndImageDescription';
  10866. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10867. {
  10868. * SpriteMediaGetDisplayedSampleNumber()
  10869. *
  10870. * Availability:
  10871. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10872. * CarbonLib: in CarbonLib 1.0 and later
  10873. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  10874. * Windows: in qtmlClient.lib 3.0 and later
  10875. }
  10876. function SpriteMediaGetDisplayedSampleNumber( mh: MediaHandler; var sampleNum: SIGNEDLONG ): ComponentResult; external name '_SpriteMediaGetDisplayedSampleNumber';
  10877. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10878. {
  10879. * SpriteMediaGetSpriteName()
  10880. *
  10881. * Availability:
  10882. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10883. * CarbonLib: in CarbonLib 1.0 and later
  10884. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10885. * Windows: in qtmlClient.lib 3.0 and later
  10886. }
  10887. function SpriteMediaGetSpriteName( mh: MediaHandler; spriteID: QTAtomID; var spriteName: Str255 ): ComponentResult; external name '_SpriteMediaGetSpriteName';
  10888. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10889. {
  10890. * SpriteMediaGetImageName()
  10891. *
  10892. * Availability:
  10893. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10894. * CarbonLib: in CarbonLib 1.0 and later
  10895. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10896. * Windows: in qtmlClient.lib 3.0 and later
  10897. }
  10898. function SpriteMediaGetImageName( mh: MediaHandler; imageIndex: SInt16; var imageName: Str255 ): ComponentResult; external name '_SpriteMediaGetImageName';
  10899. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10900. {
  10901. * SpriteMediaSetSpriteProperty()
  10902. *
  10903. * Availability:
  10904. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10905. * CarbonLib: in CarbonLib 1.0 and later
  10906. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10907. * Windows: in qtmlClient.lib 3.0 and later
  10908. }
  10909. function SpriteMediaSetSpriteProperty( mh: MediaHandler; spriteID: QTAtomID; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaSetSpriteProperty';
  10910. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10911. {
  10912. * SpriteMediaGetSpriteProperty()
  10913. *
  10914. * Availability:
  10915. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10916. * CarbonLib: in CarbonLib 1.0 and later
  10917. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10918. * Windows: in qtmlClient.lib 3.0 and later
  10919. }
  10920. function SpriteMediaGetSpriteProperty( mh: MediaHandler; spriteID: QTAtomID; propertyType: SIGNEDLONG; propertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaGetSpriteProperty';
  10921. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10922. {
  10923. * SpriteMediaHitTestAllSprites()
  10924. *
  10925. * Availability:
  10926. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10927. * CarbonLib: in CarbonLib 1.0 and later
  10928. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10929. * Windows: in qtmlClient.lib 3.0 and later
  10930. }
  10931. function SpriteMediaHitTestAllSprites( mh: MediaHandler; flags: SIGNEDLONG; loc: Point; var spriteHitID: QTAtomID ): ComponentResult; external name '_SpriteMediaHitTestAllSprites';
  10932. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10933. {
  10934. * SpriteMediaHitTestOneSprite()
  10935. *
  10936. * Availability:
  10937. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10938. * CarbonLib: in CarbonLib 1.0 and later
  10939. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10940. * Windows: in qtmlClient.lib 3.0 and later
  10941. }
  10942. function SpriteMediaHitTestOneSprite( mh: MediaHandler; spriteID: QTAtomID; flags: SIGNEDLONG; loc: Point; var wasHit: Boolean ): ComponentResult; external name '_SpriteMediaHitTestOneSprite';
  10943. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10944. {
  10945. * SpriteMediaSpriteIndexToID()
  10946. *
  10947. * Availability:
  10948. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10949. * CarbonLib: in CarbonLib 1.0 and later
  10950. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10951. * Windows: in qtmlClient.lib 3.0 and later
  10952. }
  10953. function SpriteMediaSpriteIndexToID( mh: MediaHandler; spriteIndex: SInt16; var spriteID: QTAtomID ): ComponentResult; external name '_SpriteMediaSpriteIndexToID';
  10954. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10955. {
  10956. * SpriteMediaSpriteIDToIndex()
  10957. *
  10958. * Availability:
  10959. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10960. * CarbonLib: in CarbonLib 1.0 and later
  10961. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10962. * Windows: in qtmlClient.lib 3.0 and later
  10963. }
  10964. function SpriteMediaSpriteIDToIndex( mh: MediaHandler; spriteID: QTAtomID; var spriteIndex: SInt16 ): ComponentResult; external name '_SpriteMediaSpriteIDToIndex';
  10965. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10966. {
  10967. * SpriteMediaGetSpriteActionsForQTEvent()
  10968. *
  10969. * Availability:
  10970. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10971. * CarbonLib: in CarbonLib 1.0 and later
  10972. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10973. * Windows: in qtmlClient.lib 3.0 and later
  10974. }
  10975. function SpriteMediaGetSpriteActionsForQTEvent( mh: MediaHandler; event: QTEventRecordPtr; spriteID: QTAtomID; var container: QTAtomContainer; var atom: QTAtom ): ComponentResult; external name '_SpriteMediaGetSpriteActionsForQTEvent';
  10976. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10977. {
  10978. * SpriteMediaSetActionVariable()
  10979. *
  10980. * Availability:
  10981. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10982. * CarbonLib: in CarbonLib 1.0 and later
  10983. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10984. * Windows: in qtmlClient.lib 3.0 and later
  10985. }
  10986. function SpriteMediaSetActionVariable( mh: MediaHandler; variableID: QTAtomID; value: Float32Ptr ): ComponentResult; external name '_SpriteMediaSetActionVariable';
  10987. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10988. {
  10989. * SpriteMediaGetActionVariable()
  10990. *
  10991. * Availability:
  10992. * Mac OS X: in version 10.0 and later in QuickTime.framework
  10993. * CarbonLib: in CarbonLib 1.0 and later
  10994. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  10995. * Windows: in qtmlClient.lib 3.0 and later
  10996. }
  10997. function SpriteMediaGetActionVariable( mh: MediaHandler; variableID: QTAtomID; var value: Float32 ): ComponentResult; external name '_SpriteMediaGetActionVariable';
  10998. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  10999. {
  11000. * SpriteMediaGetIndImageProperty()
  11001. *
  11002. * Availability:
  11003. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11004. * CarbonLib: in CarbonLib 1.1 and later
  11005. * Non-Carbon CFM: in QuickTimeLib 3.0 and later
  11006. * Windows: in qtmlClient.lib 3.0 and later
  11007. }
  11008. function SpriteMediaGetIndImageProperty( mh: MediaHandler; imageIndex: SInt16; imagePropertyType: SIGNEDLONG; imagePropertyValue: UnivPtr ): ComponentResult; external name '_SpriteMediaGetIndImageProperty';
  11009. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11010. {
  11011. * SpriteMediaNewSprite()
  11012. *
  11013. * Availability:
  11014. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11015. * CarbonLib: in CarbonLib 1.0.2 and later
  11016. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11017. * Windows: in qtmlClient.lib 4.0 and later
  11018. }
  11019. function SpriteMediaNewSprite( mh: MediaHandler; newSpriteDesc: QTRuntimeSpriteDescPtr ): ComponentResult; external name '_SpriteMediaNewSprite';
  11020. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11021. {
  11022. * SpriteMediaDisposeSprite()
  11023. *
  11024. * Availability:
  11025. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11026. * CarbonLib: in CarbonLib 1.0.2 and later
  11027. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11028. * Windows: in qtmlClient.lib 4.0 and later
  11029. }
  11030. function SpriteMediaDisposeSprite( mh: MediaHandler; spriteID: QTAtomID ): ComponentResult; external name '_SpriteMediaDisposeSprite';
  11031. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11032. {
  11033. * SpriteMediaSetActionVariableToString()
  11034. *
  11035. * Availability:
  11036. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11037. * CarbonLib: in CarbonLib 1.0.2 and later
  11038. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11039. * Windows: in qtmlClient.lib 4.0 and later
  11040. }
  11041. function SpriteMediaSetActionVariableToString( mh: MediaHandler; variableID: QTAtomID; theCString: Ptr ): ComponentResult; external name '_SpriteMediaSetActionVariableToString';
  11042. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11043. {
  11044. * SpriteMediaGetActionVariableAsString()
  11045. *
  11046. * Availability:
  11047. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11048. * CarbonLib: in CarbonLib 1.0.2 and later
  11049. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11050. * Windows: in qtmlClient.lib 4.0 and later
  11051. }
  11052. function SpriteMediaGetActionVariableAsString( mh: MediaHandler; variableID: QTAtomID; var theCString: Handle ): ComponentResult; external name '_SpriteMediaGetActionVariableAsString';
  11053. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11054. {
  11055. * SpriteMediaNewImage()
  11056. *
  11057. * Availability:
  11058. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11059. * CarbonLib: in CarbonLib 1.6 and later
  11060. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11061. * Windows: in qtmlClient.lib 6.0 and later
  11062. }
  11063. function SpriteMediaNewImage( mh: MediaHandler; dataRef: Handle; dataRefType: OSType; desiredID: QTAtomID ): ComponentResult; external name '_SpriteMediaNewImage';
  11064. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11065. {
  11066. * SpriteMediaDisposeImage()
  11067. *
  11068. * Availability:
  11069. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11070. * CarbonLib: in CarbonLib 1.6 and later
  11071. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11072. * Windows: in qtmlClient.lib 6.0 and later
  11073. }
  11074. function SpriteMediaDisposeImage( mh: MediaHandler; imageIndex: SInt16 ): ComponentResult; external name '_SpriteMediaDisposeImage';
  11075. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11076. {
  11077. * SpriteMediaImageIndexToID()
  11078. *
  11079. * Availability:
  11080. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11081. * CarbonLib: in CarbonLib 1.6 and later
  11082. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11083. * Windows: in qtmlClient.lib 6.0 and later
  11084. }
  11085. function SpriteMediaImageIndexToID( mh: MediaHandler; imageIndex: SInt16; var imageID: QTAtomID ): ComponentResult; external name '_SpriteMediaImageIndexToID';
  11086. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11087. {
  11088. * SpriteMediaImageIDToIndex()
  11089. *
  11090. * Availability:
  11091. * Mac OS X: in version 10.2 and later in QuickTime.framework
  11092. * CarbonLib: in CarbonLib 1.6 and later
  11093. * Non-Carbon CFM: in QuickTimeLib 6.0 and later
  11094. * Windows: in qtmlClient.lib 6.0 and later
  11095. }
  11096. function SpriteMediaImageIDToIndex( mh: MediaHandler; imageID: QTAtomID; var imageIndex: SInt16 ): ComponentResult; external name '_SpriteMediaImageIDToIndex';
  11097. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  11098. {************************
  11099. * Flash Media routines
  11100. *************************}
  11101. {
  11102. * FlashMediaSetPan()
  11103. *
  11104. * Availability:
  11105. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11106. * CarbonLib: in CarbonLib 1.0.2 and later
  11107. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11108. * Windows: in qtmlClient.lib 4.0 and later
  11109. }
  11110. function FlashMediaSetPan( mh: MediaHandler; xPercent: SInt16; yPercent: SInt16 ): ComponentResult; external name '_FlashMediaSetPan';
  11111. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11112. {
  11113. * FlashMediaSetZoom()
  11114. *
  11115. * Availability:
  11116. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11117. * CarbonLib: in CarbonLib 1.0.2 and later
  11118. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11119. * Windows: in qtmlClient.lib 4.0 and later
  11120. }
  11121. function FlashMediaSetZoom( mh: MediaHandler; factor: SInt16 ): ComponentResult; external name '_FlashMediaSetZoom';
  11122. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11123. {
  11124. * FlashMediaSetZoomRect()
  11125. *
  11126. * Availability:
  11127. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11128. * CarbonLib: in CarbonLib 1.0.2 and later
  11129. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11130. * Windows: in qtmlClient.lib 4.0 and later
  11131. }
  11132. function FlashMediaSetZoomRect( mh: MediaHandler; left: SIGNEDLONG; top: SIGNEDLONG; right: SIGNEDLONG; bottom: SIGNEDLONG ): ComponentResult; external name '_FlashMediaSetZoomRect';
  11133. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11134. {
  11135. * FlashMediaGetRefConBounds()
  11136. *
  11137. * Availability:
  11138. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11139. * CarbonLib: in CarbonLib 1.0.2 and later
  11140. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11141. * Windows: in qtmlClient.lib 4.0 and later
  11142. }
  11143. function FlashMediaGetRefConBounds( mh: MediaHandler; refCon: SIGNEDLONG; var left: SIGNEDLONG; var top: SIGNEDLONG; var right: SIGNEDLONG; var bottom: SIGNEDLONG ): ComponentResult; external name '_FlashMediaGetRefConBounds';
  11144. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11145. {
  11146. * FlashMediaGetRefConID()
  11147. *
  11148. * Availability:
  11149. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11150. * CarbonLib: in CarbonLib 1.0.2 and later
  11151. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11152. * Windows: in qtmlClient.lib 4.0 and later
  11153. }
  11154. function FlashMediaGetRefConID( mh: MediaHandler; refCon: SIGNEDLONG; var refConID: SIGNEDLONG ): ComponentResult; external name '_FlashMediaGetRefConID';
  11155. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11156. {
  11157. * FlashMediaIDToRefCon()
  11158. *
  11159. * Availability:
  11160. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11161. * CarbonLib: in CarbonLib 1.0.2 and later
  11162. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11163. * Windows: in qtmlClient.lib 4.0 and later
  11164. }
  11165. function FlashMediaIDToRefCon( mh: MediaHandler; refConID: SIGNEDLONG; var refCon: SIGNEDLONG ): ComponentResult; external name '_FlashMediaIDToRefCon';
  11166. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11167. {
  11168. * FlashMediaGetDisplayedFrameNumber()
  11169. *
  11170. * Availability:
  11171. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11172. * CarbonLib: in CarbonLib 1.0.2 and later
  11173. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11174. * Windows: in qtmlClient.lib 4.0 and later
  11175. }
  11176. function FlashMediaGetDisplayedFrameNumber( mh: MediaHandler; var flashFrameNumber: SIGNEDLONG ): ComponentResult; external name '_FlashMediaGetDisplayedFrameNumber';
  11177. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11178. {
  11179. * FlashMediaFrameNumberToMovieTime()
  11180. *
  11181. * Availability:
  11182. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11183. * CarbonLib: in CarbonLib 1.0.2 and later
  11184. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11185. * Windows: in qtmlClient.lib 4.0 and later
  11186. }
  11187. function FlashMediaFrameNumberToMovieTime( mh: MediaHandler; flashFrameNumber: SIGNEDLONG; var movieTime: TimeValue ): ComponentResult; external name '_FlashMediaFrameNumberToMovieTime';
  11188. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11189. {
  11190. * FlashMediaFrameLabelToMovieTime()
  11191. *
  11192. * Availability:
  11193. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11194. * CarbonLib: in CarbonLib 1.0.2 and later
  11195. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11196. * Windows: in qtmlClient.lib 4.0 and later
  11197. }
  11198. function FlashMediaFrameLabelToMovieTime( mh: MediaHandler; theLabel: Ptr; var movieTime: TimeValue ): ComponentResult; external name '_FlashMediaFrameLabelToMovieTime';
  11199. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11200. {
  11201. * FlashMediaGetFlashVariable()
  11202. *
  11203. * Availability:
  11204. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11205. * CarbonLib: in CarbonLib 1.3 and later
  11206. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11207. * Windows: in qtmlClient.lib 5.0 and later
  11208. }
  11209. function FlashMediaGetFlashVariable( mh: MediaHandler; path: CStringPtr; name: CStringPtr; var theVariableCStringOut: Handle ): ComponentResult; external name '_FlashMediaGetFlashVariable';
  11210. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11211. {
  11212. * FlashMediaSetFlashVariable()
  11213. *
  11214. * Availability:
  11215. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11216. * CarbonLib: in CarbonLib 1.3 and later
  11217. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11218. * Windows: in qtmlClient.lib 5.0 and later
  11219. }
  11220. function FlashMediaSetFlashVariable( mh: MediaHandler; path: CStringPtr; name: CStringPtr; value: CStringPtr; updateFocus: Boolean ): ComponentResult; external name '_FlashMediaSetFlashVariable';
  11221. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11222. {
  11223. * FlashMediaDoButtonActions()
  11224. *
  11225. * Availability:
  11226. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11227. * CarbonLib: in CarbonLib 1.3 and later
  11228. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11229. * Windows: in qtmlClient.lib 5.0 and later
  11230. }
  11231. function FlashMediaDoButtonActions( mh: MediaHandler; path: CStringPtr; buttonID: SIGNEDLONG; transition: SIGNEDLONG ): ComponentResult; external name '_FlashMediaDoButtonActions';
  11232. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11233. {
  11234. * FlashMediaGetSupportedSwfVersion()
  11235. *
  11236. * Availability:
  11237. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11238. * CarbonLib: in CarbonLib 1.3 and later
  11239. * Non-Carbon CFM: in QuickTimeLib 5.0 and later
  11240. * Windows: in qtmlClient.lib 5.0 and later
  11241. }
  11242. function FlashMediaGetSupportedSwfVersion( mh: MediaHandler; var swfVersion: UInt8 ): ComponentResult; external name '_FlashMediaGetSupportedSwfVersion';
  11243. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11244. { sample format atoms}
  11245. const
  11246. kMovieMediaDataReference = FourCharCode('mmdr'); { data reference}
  11247. kMovieMediaDefaultDataReferenceID = FourCharCode('ddri'); { atom id}
  11248. kMovieMediaSlaveTime = FourCharCode('slti'); { boolean}
  11249. kMovieMediaSlaveAudio = FourCharCode('slau'); { boolean}
  11250. kMovieMediaSlaveGraphicsMode = FourCharCode('slgr'); { boolean}
  11251. kMovieMediaAutoPlay = FourCharCode('play'); { boolean}
  11252. kMovieMediaLoop = FourCharCode('loop'); { UInt8 (0=no loop, 1=loop, 2=palindrome loop)}
  11253. kMovieMediaUseMIMEType = FourCharCode('mime'); { string indicating the MIME type to use for the dataref (usually not required)}
  11254. kMovieMediaTitle = FourCharCode('titl'); { string of the media's title (tooltips)}
  11255. kMovieMediaAltText = FourCharCode('altt'); { string of alternate text if media isn't loaded}
  11256. kMovieMediaClipBegin = FourCharCode('clpb'); { MovieMediaTimeRecord of start time of embedded media}
  11257. kMovieMediaClipDuration = FourCharCode('clpd'); { MovieMediaTimeRecord of duration of embedded media}
  11258. kMovieMediaRegionAtom = FourCharCode('regi'); { contains subatoms that describe layout}
  11259. kMovieMediaSlaveTrackDuration = FourCharCode('sltr'); { Boolean indicating that media handler should adjust track and media based on actual embedded movie duration}
  11260. kMovieMediaEnableFrameStepping = FourCharCode('enfs'); { boolean. if true stepping on external movie steps frames within embedded movie.}
  11261. kMovieMediaBackgroundColor = FourCharCode('bkcl'); { RGBColor.}
  11262. kMovieMediaPrerollTime = FourCharCode('prer'); { SInt32 indicating preroll time}
  11263. { fit types}
  11264. const
  11265. kMovieMediaFitNone = 0;
  11266. kMovieMediaFitScroll = FourCharCode('scro');
  11267. kMovieMediaFitClipIfNecessary = FourCharCode('hidd');
  11268. kMovieMediaFitFill = FourCharCode('fill');
  11269. kMovieMediaFitMeet = FourCharCode('meet');
  11270. kMovieMediaFitSlice = FourCharCode('slic');
  11271. { sub atoms for region atom}
  11272. const
  11273. kMovieMediaSpatialAdjustment = FourCharCode('fit '); { OSType from kMovieMediaFit*}
  11274. kMovieMediaRectangleAtom = FourCharCode('rect');
  11275. kMovieMediaTop = FourCharCode('top ');
  11276. kMovieMediaLeft = FourCharCode('left');
  11277. kMovieMediaWidth = FourCharCode('wd ');
  11278. kMovieMediaHeight = FourCharCode('ht ');
  11279. { contained movie properties}
  11280. const
  11281. kMoviePropertyDuration = FourCharCode('dura'); { TimeValue *}
  11282. kMoviePropertyTimeScale = FourCharCode('tims'); { TimeValue *}
  11283. kMoviePropertyTime = FourCharCode('timv'); { TimeValue *}
  11284. kMoviePropertyNaturalBounds = FourCharCode('natb'); { Rect *}
  11285. kMoviePropertyMatrix = FourCharCode('mtrx'); { Matrix *}
  11286. kMoviePropertyTrackList = FourCharCode('tlst'); { long ***}
  11287. const
  11288. kTrackPropertyMediaType = FourCharCode('mtyp'); { OSType}
  11289. kTrackPropertyInstantiation = FourCharCode('inst'); { MovieMediaInstantiationInfoRecord}
  11290. type
  11291. MovieMediaTimeRecordPtr = ^MovieMediaTimeRecord;
  11292. MovieMediaTimeRecord = record
  11293. time: wide;
  11294. scale: TimeScale;
  11295. end;
  11296. type
  11297. MovieMediaInstantiationInfoRecordPtr = ^MovieMediaInstantiationInfoRecord;
  11298. MovieMediaInstantiationInfoRecord = record
  11299. immediately: Boolean;
  11300. pad: Boolean;
  11301. bitRate: SInt32;
  11302. end;
  11303. {************************
  11304. * Movie Media routines
  11305. *************************}
  11306. {
  11307. * MovieMediaGetChildDoMCActionCallback()
  11308. *
  11309. * Availability:
  11310. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11311. * CarbonLib: in CarbonLib 1.1 and later
  11312. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11313. * Windows: in qtmlClient.lib 4.1 and later
  11314. }
  11315. function MovieMediaGetChildDoMCActionCallback( mh: MediaHandler; var doMCActionCallbackProc: DoMCActionUPP; var refcon: SIGNEDLONG ): ComponentResult; external name '_MovieMediaGetChildDoMCActionCallback';
  11316. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11317. {
  11318. * MovieMediaGetDoMCActionCallback()
  11319. *
  11320. * Availability:
  11321. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11322. * CarbonLib: in CarbonLib 1.1 and later
  11323. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11324. * Windows: in qtmlClient.lib 4.1 and later
  11325. }
  11326. function MovieMediaGetDoMCActionCallback( mh: MediaHandler; var doMCActionCallbackProc: DoMCActionUPP; var refcon: SIGNEDLONG ): ComponentResult; external name '_MovieMediaGetDoMCActionCallback';
  11327. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11328. {
  11329. * MovieMediaGetCurrentMovieProperty()
  11330. *
  11331. * Availability:
  11332. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11333. * CarbonLib: in CarbonLib 1.1 and later
  11334. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11335. * Windows: in qtmlClient.lib 4.1 and later
  11336. }
  11337. function MovieMediaGetCurrentMovieProperty( mh: MediaHandler; whichProperty: OSType; value: UnivPtr ): ComponentResult; external name '_MovieMediaGetCurrentMovieProperty';
  11338. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11339. {
  11340. * MovieMediaGetCurrentTrackProperty()
  11341. *
  11342. * Availability:
  11343. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11344. * CarbonLib: in CarbonLib 1.1 and later
  11345. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11346. * Windows: in qtmlClient.lib 4.1 and later
  11347. }
  11348. function MovieMediaGetCurrentTrackProperty( mh: MediaHandler; trackID: SIGNEDLONG; whichProperty: OSType; value: UnivPtr ): ComponentResult; external name '_MovieMediaGetCurrentTrackProperty';
  11349. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11350. {
  11351. * MovieMediaGetChildMovieDataReference()
  11352. *
  11353. * Availability:
  11354. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11355. * CarbonLib: in CarbonLib 1.1 and later
  11356. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11357. * Windows: in qtmlClient.lib 4.1 and later
  11358. }
  11359. function MovieMediaGetChildMovieDataReference( mh: MediaHandler; dataRefID: QTAtomID; dataRefIndex: SInt16; var dataRefType: OSType; var dataRef: Handle; var dataRefIDOut: QTAtomID; var dataRefIndexOut: SInt16 ): ComponentResult; external name '_MovieMediaGetChildMovieDataReference';
  11360. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11361. {
  11362. * MovieMediaSetChildMovieDataReference()
  11363. *
  11364. * Availability:
  11365. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11366. * CarbonLib: in CarbonLib 1.1 and later
  11367. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11368. * Windows: in qtmlClient.lib 4.1 and later
  11369. }
  11370. function MovieMediaSetChildMovieDataReference( mh: MediaHandler; dataRefID: QTAtomID; dataRefType: OSType; dataRef: Handle ): ComponentResult; external name '_MovieMediaSetChildMovieDataReference';
  11371. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11372. {
  11373. * MovieMediaLoadChildMovieFromDataReference()
  11374. *
  11375. * Availability:
  11376. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11377. * CarbonLib: in CarbonLib 1.1 and later
  11378. * Non-Carbon CFM: in QuickTimeLib 4.1 and later
  11379. * Windows: in qtmlClient.lib 4.1 and later
  11380. }
  11381. function MovieMediaLoadChildMovieFromDataReference( mh: MediaHandler; dataRefID: QTAtomID ): ComponentResult; external name '_MovieMediaLoadChildMovieFromDataReference';
  11382. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11383. {************************
  11384. * 3D Media routines
  11385. *************************}
  11386. {
  11387. * Media3DGetNamedObjectList()
  11388. *
  11389. * Availability:
  11390. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11391. * CarbonLib: in CarbonLib 1.0 and later
  11392. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11393. * Windows: in qtmlClient.lib 3.0 and later
  11394. }
  11395. function Media3DGetNamedObjectList( mh: MediaHandler; var objectList: QTAtomContainer ): ComponentResult; external name '_Media3DGetNamedObjectList';
  11396. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11397. {
  11398. * Media3DGetRendererList()
  11399. *
  11400. * Availability:
  11401. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11402. * CarbonLib: in CarbonLib 1.0 and later
  11403. * Non-Carbon CFM: in QuickTimeLib 2.5 and later
  11404. * Windows: in qtmlClient.lib 3.0 and later
  11405. }
  11406. function Media3DGetRendererList( mh: MediaHandler; var rendererList: QTAtomContainer ): ComponentResult; external name '_Media3DGetRendererList';
  11407. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11408. {
  11409. * Media3DGetCurrentGroup()
  11410. *
  11411. * Availability:
  11412. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11413. * CarbonLib: in CarbonLib 1.0.2 and later
  11414. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11415. * Windows: in qtmlClient.lib 4.0 and later
  11416. }
  11417. function Media3DGetCurrentGroup( mh: MediaHandler; group: UnivPtr ): ComponentResult; external name '_Media3DGetCurrentGroup';
  11418. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11419. {
  11420. * Media3DTranslateNamedObjectTo()
  11421. *
  11422. * Availability:
  11423. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11424. * CarbonLib: in CarbonLib 1.0.2 and later
  11425. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11426. * Windows: in qtmlClient.lib 4.0 and later
  11427. }
  11428. function Media3DTranslateNamedObjectTo( mh: MediaHandler; objectName: CStringPtr; x: Fixed; y: Fixed; z: Fixed ): ComponentResult; external name '_Media3DTranslateNamedObjectTo';
  11429. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11430. {
  11431. * Media3DScaleNamedObjectTo()
  11432. *
  11433. * Availability:
  11434. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11435. * CarbonLib: in CarbonLib 1.0.2 and later
  11436. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11437. * Windows: in qtmlClient.lib 4.0 and later
  11438. }
  11439. function Media3DScaleNamedObjectTo( mh: MediaHandler; objectName: CStringPtr; xScale: Fixed; yScale: Fixed; zScale: Fixed ): ComponentResult; external name '_Media3DScaleNamedObjectTo';
  11440. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11441. {
  11442. * Media3DRotateNamedObjectTo()
  11443. *
  11444. * Availability:
  11445. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11446. * CarbonLib: in CarbonLib 1.0.2 and later
  11447. * Non-Carbon CFM: in QuickTimeLib 4.0 and later
  11448. * Windows: in qtmlClient.lib 4.0 and later
  11449. }
  11450. function Media3DRotateNamedObjectTo( mh: MediaHandler; objectName: CStringPtr; xDegrees: Fixed; yDegrees: Fixed; zDegrees: Fixed ): ComponentResult; external name '_Media3DRotateNamedObjectTo';
  11451. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  11452. {
  11453. * Media3DSetCameraData()
  11454. *
  11455. * Availability:
  11456. * Mac OS X: in version 10.0 and later in QuickTime.framework
  11457. * CarbonLib: in CarbonLib 1.0.2 and later
  11458. * Non-Carb