Mac OS 9
Movies.h
Go to the documentation of this file.
1 
19 #ifndef __MOVIES__
20 #define __MOVIES__
21 
22 #ifndef __QUICKDRAW__
23 #include <Quickdraw.h>
24 #endif
25 
26 #ifndef __ALIASES__
27 #include <Aliases.h>
28 #endif
29 
30 #ifndef __EVENTS__
31 #include <Events.h>
32 #endif
33 
34 #ifndef __MENUS__
35 #include <Menus.h>
36 #endif
37 
38 #ifndef __COMPONENTS__
39 #include <Components.h>
40 #endif
41 
42 #ifndef __SOUND__
43 #include <Sound.h>
44 #endif
45 
46 #ifndef __IMAGECOMPRESSION__
47 #include <ImageCompression.h>
48 #endif
49 
50 #if PRAGMA_ONCE
51 #pragma once
52 #endif
53 
54 #ifdef __cplusplus
55 extern "C"
56 {
57 #endif
58 
59 #if PRAGMA_IMPORT
60 #pragma import on
61 #endif
62 
63 #if PRAGMA_STRUCT_ALIGN
64 #pragma options align = mac68k
65 #elif PRAGMA_STRUCT_PACKPUSH
66 #pragma pack(push, 2)
67 #elif PRAGMA_STRUCT_PACK
68 #pragma pack(2)
69 #endif
70 
71  /* "kFix1" is defined in FixMath as "fixed1" */
72  /* error codes are in Errors.[haa] */
73  /* gestalt codes are in Gestalt.[hpa] */
74  enum
75  {
76  MovieFileType = FOUR_CHAR_CODE('MooV'),
77  MovieScrapType = FOUR_CHAR_CODE('moov')
78  };
79 
80  enum
81  {
82  MovieResourceType = FOUR_CHAR_CODE('moov'),
83  MovieForwardPointerResourceType = FOUR_CHAR_CODE('fore'),
84  MovieBackwardPointerResourceType = FOUR_CHAR_CODE('back')
85  };
86 
87  enum
88  {
89  MovieResourceAtomType = FOUR_CHAR_CODE('moov'),
90  MovieDataAtomType = FOUR_CHAR_CODE('mdat'),
91  FreeAtomType = FOUR_CHAR_CODE('free'),
92  SkipAtomType = FOUR_CHAR_CODE('skip'),
93  WideAtomPlaceholderType = FOUR_CHAR_CODE('wide')
94  };
95 
96  enum
97  {
98  MediaHandlerType = FOUR_CHAR_CODE('mhlr'),
99  DataHandlerType = FOUR_CHAR_CODE('dhlr')
100  };
101 
102  enum
103  {
104  VideoMediaType = FOUR_CHAR_CODE('vide'),
105  SoundMediaType = FOUR_CHAR_CODE('soun'),
106  TextMediaType = FOUR_CHAR_CODE('text'),
107  BaseMediaType = FOUR_CHAR_CODE('gnrc'),
108  MPEGMediaType = FOUR_CHAR_CODE('MPEG'),
109  MusicMediaType = FOUR_CHAR_CODE('musi'),
110  TimeCodeMediaType = FOUR_CHAR_CODE('tmcd'),
111  SpriteMediaType = FOUR_CHAR_CODE('sprt'),
112  FlashMediaType = FOUR_CHAR_CODE('flsh'),
113  MovieMediaType = FOUR_CHAR_CODE('moov'),
114  TweenMediaType = FOUR_CHAR_CODE('twen'),
115  ThreeDeeMediaType = FOUR_CHAR_CODE('qd3d'),
116  HandleDataHandlerSubType = FOUR_CHAR_CODE('hndl'),
117  PointerDataHandlerSubType = FOUR_CHAR_CODE('ptr '),
118  NullDataHandlerSubType = FOUR_CHAR_CODE('null'),
119  ResourceDataHandlerSubType = FOUR_CHAR_CODE('rsrc'),
120  URLDataHandlerSubType = FOUR_CHAR_CODE('url '),
121  WiredActionHandlerType = FOUR_CHAR_CODE('wire')
122  };
123 
124  enum
125  {
126  VisualMediaCharacteristic = FOUR_CHAR_CODE('eyes'),
127  AudioMediaCharacteristic = FOUR_CHAR_CODE('ears'),
128  kCharacteristicCanSendVideo = FOUR_CHAR_CODE('vsnd'),
129  kCharacteristicProvidesActions = FOUR_CHAR_CODE('actn'),
130  kCharacteristicNonLinear = FOUR_CHAR_CODE('nonl'),
131  kCharacteristicCanStep = FOUR_CHAR_CODE('step'),
132  kCharacteristicHasNoDuration = FOUR_CHAR_CODE('noti')
133  };
134 
135  enum
136  {
137  kUserDataMovieControllerType = FOUR_CHAR_CODE('ctyp'),
138  kUserDataName = FOUR_CHAR_CODE('name'),
139  kUserDataTextAlbum = FOUR_CHAR_CODE('©alb'),
140  kUserDataTextArtist = FOUR_CHAR_CODE('©ART'),
141  kUserDataTextAuthor = FOUR_CHAR_CODE('©aut'),
142  kUserDataTextChapter = FOUR_CHAR_CODE('©chp'),
143  kUserDataTextComment = FOUR_CHAR_CODE('©cmt'),
144  kUserDataTextComposer = FOUR_CHAR_CODE('©com'),
145  kUserDataTextCopyright = FOUR_CHAR_CODE('©cpy'),
146  kUserDataTextCreationDate = FOUR_CHAR_CODE('©day'),
147  kUserDataTextDescription = FOUR_CHAR_CODE('©des'),
148  kUserDataTextDirector = FOUR_CHAR_CODE('©dir'),
149  kUserDataTextDisclaimer = FOUR_CHAR_CODE('©dis'),
150  kUserDataTextEncodedBy = FOUR_CHAR_CODE('©enc'),
151  kUserDataTextFullName = FOUR_CHAR_CODE('©nam'),
152  kUserDataTextGenre = FOUR_CHAR_CODE('©gen'),
153  kUserDataTextHostComputer = FOUR_CHAR_CODE('©hst'),
154  kUserDataTextInformation = FOUR_CHAR_CODE('©inf'),
155  kUserDataTextKeywords = FOUR_CHAR_CODE('©key'),
156  kUserDataTextMake = FOUR_CHAR_CODE('©mak'),
157  kUserDataTextModel = FOUR_CHAR_CODE('©mod'),
158  kUserDataTextOriginalArtist = FOUR_CHAR_CODE('©ope'),
159  kUserDataTextOriginalFormat = FOUR_CHAR_CODE('©fmt'),
160  kUserDataTextOriginalSource = FOUR_CHAR_CODE('©src'),
161  kUserDataTextPerformers = FOUR_CHAR_CODE('©prf'),
162  kUserDataTextProducer = FOUR_CHAR_CODE('©prd'),
163  kUserDataTextProduct = FOUR_CHAR_CODE('©PRD'),
164  kUserDataTextSoftware = FOUR_CHAR_CODE('©swr'),
165  kUserDataTextSpecialPlaybackRequirements = FOUR_CHAR_CODE('©req'),
166  kUserDataTextTrack = FOUR_CHAR_CODE('©trk'),
167  kUserDataTextWarning = FOUR_CHAR_CODE('©wrn'),
168  kUserDataTextWriter = FOUR_CHAR_CODE('©wrt'),
169  kUserDataTextURLLink = FOUR_CHAR_CODE('©url'),
170  kUserDataTextEditDate1 = FOUR_CHAR_CODE('©ed1')
171  };
172 
173  enum
174  {
175  kUserDataUnicodeBit = 1L << 7
176  };
177 
178  enum
179  {
180  DoTheRightThing = 0
181  };
182 
183  struct MovieRecord
184  {
185  long data[1];
186  };
187  typedef struct MovieRecord MovieRecord;
188  typedef MovieRecord *Movie;
189  typedef Movie *MoviePtr;
190  struct TrackRecord
191  {
192  long data[1];
193  };
194  typedef struct TrackRecord TrackRecord;
195  typedef TrackRecord *Track;
196  struct MediaRecord
197  {
198  long data[1];
199  };
200  typedef struct MediaRecord MediaRecord;
201  typedef MediaRecord *Media;
203  {
204  long data[1];
205  };
206  typedef struct UserDataRecord UserDataRecord;
207  typedef UserDataRecord *UserData;
209  {
210  long data[1];
211  };
215  {
216  long data[1];
217  };
221  {
222  long data[1];
223  };
224  typedef struct SpriteWorldRecord SpriteWorldRecord;
227  {
228  long data[1];
229  };
230  typedef struct SpriteRecord SpriteRecord;
231  typedef SpriteRecord *Sprite;
233  {
234  long data[1];
235  };
236  typedef struct QTTweenerRecord QTTweenerRecord;
237  typedef QTTweenerRecord *QTTweener;
239  {
240  long descSize;
241  long dataFormat;
242  long resvd1;
243  short resvd2;
244  short dataRefIndex;
245  };
246  typedef struct SampleDescription SampleDescription;
249  typedef struct OpaqueQTBandwidthReference *QTBandwidthReference;
250  typedef struct OpaqueQTScheduledBandwidthReference
251  *QTScheduledBandwidthReference;
252  enum
253  {
254  kQTNetworkStatusNoNetwork = -2,
255  kQTNetworkStatusUncertain = -1,
256  kQTNetworkStatusNotConnected = 0,
257  kQTNetworkStatusConnected = 1
258  };
259 
260  typedef Handle QTAtomContainer;
261  typedef long QTAtom;
262  typedef long QTAtomType;
263  typedef long QTAtomID;
264  /* QTFloatDouble is the 64-bit IEEE-754 standard*/
265  typedef Float64 QTFloatDouble;
266  /* QTFloatSingle is the 32-bit IEEE-754 standard*/
267  typedef Float32 QTFloatSingle;
268 
270  {
271  long descSize; /* total size of SoundDescription including extra data */
272  long dataFormat; /* sound format */
273  long resvd1; /* reserved for apple use. set to zero */
274  short resvd2; /* reserved for apple use. set to zero */
275  short dataRefIndex;
276  short version; /* which version is this data */
277  short revlevel; /* what version of that codec did this */
278  long vendor; /* whose codec compressed this data */
279  short numChannels; /* number of channels of sound */
280  short sampleSize; /* number of bits per sample */
281  short compressionID; /* unused. set to zero. */
282  short packetSize; /* unused. set to zero. */
283  UnsignedFixed sampleRate; /* sample rate sound is captured at */
284  };
285  typedef struct SoundDescription SoundDescription;
288  /* version 1 of the SoundDescription record*/
290  {
291  /* original fields*/
292  SoundDescription desc;
293  /* fixed compression ratio information*/
294  unsigned long samplesPerPacket;
295  unsigned long bytesPerPacket;
296  unsigned long bytesPerFrame;
297  unsigned long bytesPerSample;
298  /* additional atom based fields ([long size, long type, some data], repeat)*/
299  };
300  typedef struct SoundDescriptionV1 SoundDescriptionV1;
304  {
305  long descSize; /* Total size of TextDescription*/
306  long dataFormat; /* 'text'*/
307 
308  long resvd1;
309  short resvd2;
310  short dataRefIndex;
311 
312  long displayFlags; /* see enum below for flag values*/
313 
314  long textJustification; /* Can be: teCenter,teFlush -Default,-Right,-Left*/
315 
316  RGBColor bgColor; /* Background color*/
317 
318  Rect defaultTextBox; /* Location to place the text within the track bounds*/
319  ScrpSTElement defaultStyle; /* Default style (struct defined in TextEdit.h)*/
320  char defaultFontName[1]; /* Font Name (pascal string - struct extended to fit)
321  */
322  };
323  typedef struct TextDescription TextDescription;
327  {
328  long descSize; /* total size of SpriteDescription including extra data */
329  long dataFormat; /* */
330  long resvd1; /* reserved for apple use */
331  short resvd2;
332  short dataRefIndex;
333  long version; /* which version is this data */
334  OSType
335  decompressorType; /* which decompressor to use, 0 for no decompression */
336  long sampleFlags; /* how to interpret samples */
337  };
338  typedef struct SpriteDescription SpriteDescription;
342  {
343  long descSize;
344  long dataFormat;
345  long resvd1;
346  short resvd2;
347  short dataRefIndex;
348  long version; /* which version is this data */
349  OSType
350  decompressorType; /* which decompressor to use, 0 for no decompression */
351  long flags;
352  };
353  typedef struct FlashDescription FlashDescription;
357  {
358  long descSize; /* total size of ThreeDeeDescription including extra data */
359  long dataFormat; /* */
360  long resvd1; /* reserved for apple use */
361  short resvd2;
362  short dataRefIndex;
363  long version; /* which version is this data */
364  long rendererType; /* which renderer to use, 0 for default */
365  long decompressorType; /* which decompressor to use, 0 for default */
366  };
371  {
372  OSType dataRefType;
373  Handle dataRef;
374  };
377  /*--------------------------
378  Music Sample Description
379  --------------------------*/
381  {
382  long descSize;
383  long dataFormat; /* 'musi' */
384 
385  long resvd1;
386  short resvd2;
387  short dataRefIndex;
388 
389  long musicFlags;
390  unsigned long headerData[1]; /* variable size! */
391  };
392  typedef struct MusicDescription MusicDescription;
395  enum
396  {
397  kMusicFlagDontPlay2Soft = 1L << 0,
398  kMusicFlagDontSlaveToMovie = 1L << 1
399  };
400 
401  enum
402  {
403  dfDontDisplay = 1 << 0, /* Don't display the text*/
404  dfDontAutoScale =
405  1 << 1, /* Don't scale text as track bounds grows or shrinks*/
406  dfClipToTextBox = 1 << 2, /* Clip update to the textbox*/
407  dfUseMovieBGColor =
408  1 << 3, /* Set text background to movie's background color*/
409  dfShrinkTextBoxToFit = 1 << 4, /* Compute minimum box to fit the sample*/
410  dfScrollIn = 1 << 5, /* Scroll text in until last of text is in view */
411  dfScrollOut = 1 << 6, /* Scroll text out until last of text is gone (if both
412  set, scroll in then out)*/
413  dfHorizScroll =
414  1 << 7, /* Scroll text horizontally (otherwise it's vertical)*/
415  dfReverseScroll = 1 << 8, /* vert: scroll down rather than up; horiz: scroll
416  backwards (justfication dependent)*/
417  dfContinuousScroll =
418  1 << 9, /* new samples cause previous samples to scroll out */
419  dfFlowHoriz = 1 << 10, /* horiz scroll text flows in textbox rather than
420  extend to right */
421  dfContinuousKaraoke = 1 << 11, /* ignore begin offset, hilite everything up to
422  the end offset(karaoke)*/
423  dfDropShadow = 1 << 12, /* display text with a drop shadow */
424  dfAntiAlias = 1 << 13, /* attempt to display text anti aliased*/
425  dfKeyedText = 1 << 14, /* key the text over background*/
426  dfInverseHilite =
427  1 << 15, /* Use inverse hiliting rather than using hilite color*/
428  dfTextColorHilite = 1 << 16 /* changes text color in place of hiliting. */
429  };
430 
431  enum
432  {
433  searchTextDontGoToFoundTime = 1L << 16,
434  searchTextDontHiliteFoundText = 1L << 17,
435  searchTextOneTrackOnly = 1L << 18,
436  searchTextEnabledTracksOnly = 1L << 19
437  };
438 
439  /*use these with the text property routines*/
440  enum
441  {
442  /* set property parameter / get property parameter*/
443  kTextTextHandle = 1, /* Handle / preallocated Handle*/
444  kTextTextPtr = 2, /* Pointer*/
445  kTextTEStyle = 3, /* TextStyle * / TextStyle **/
446  kTextSelection = 4, /* long [2] / long [2]*/
447  kTextBackColor = 5, /* RGBColor * / RGBColor **/
448  kTextForeColor = 6, /* RGBColor * / RGBColor **/
449  kTextFace = 7, /* long / long **/
450  kTextFont = 8, /* long / long **/
451  kTextSize = 9, /* long / long **/
452  kTextAlignment = 10, /* short * / short **/
453  kTextHilite = 11, /* hiliteRecord * / hiliteRecord **/
454  kTextDropShadow = 12, /* dropShadowRecord * / dropShadowRecord **/
455  kTextDisplayFlags = 13, /* long / long **/
456  kTextScroll = 14, /* TimeValue * / TimeValue **/
457  kTextRelativeScroll = 15, /* Point **/
458  kTextHyperTextFace = 16, /* hyperTextSetFace * / hyperTextSetFace **/
459  kTextHyperTextColor = 17, /* hyperTextSetColor * / hyperTextSetColor **/
460  kTextKeyEntry = 18, /* short*/
461  kTextMouseDown = 19, /* Point **/
462  kTextTextBox = 20, /* Rect * / Rect **/
463  kTextEditState = 21, /* short / short **/
464  kTextLength = 22 /* / long **/
465  };
466 
467  enum
468  {
469  k3DMediaRendererEntry = FOUR_CHAR_CODE('rend'),
470  k3DMediaRendererName = FOUR_CHAR_CODE('name'),
471  k3DMediaRendererCode = FOUR_CHAR_CODE('rcod')
472  };
473 
474  /* progress messages */
475  enum
476  {
477  movieProgressOpen = 0,
478  movieProgressUpdatePercent = 1,
479  movieProgressClose = 2
480  };
481 
482  /* progress operations */
483  enum
484  {
485  progressOpFlatten = 1,
486  progressOpInsertTrackSegment = 2,
487  progressOpInsertMovieSegment = 3,
488  progressOpPaste = 4,
489  progressOpAddMovieSelection = 5,
490  progressOpCopy = 6,
491  progressOpCut = 7,
492  progressOpLoadMovieIntoRam = 8,
493  progressOpLoadTrackIntoRam = 9,
494  progressOpLoadMediaIntoRam = 10,
495  progressOpImportMovie = 11,
496  progressOpExportMovie = 12
497  };
498 
499  enum
500  {
501  mediaQualityDraft = 0x0000,
502  mediaQualityNormal = 0x0040,
503  mediaQualityBetter = 0x0080,
504  mediaQualityBest = 0x00C0
505  };
506 
507  /*****
508  Interactive Sprites Support
509  *****/
510  /* QTEventRecord flags*/
511  enum
512  {
513  kQTEventPayloadIsQTList = 1L << 0
514  };
515 
517  {
518  long version;
519  OSType eventType;
520  Point where;
521  long flags;
522  long payloadRefcon; /* from here down only present if version >= 2*/
523  long param1;
524  long param2;
525  long param3;
526  };
527  typedef struct QTEventRecord QTEventRecord;
529  struct QTAtomSpec
530  {
531  QTAtomContainer container;
532  QTAtom atom;
533  };
534  typedef struct QTAtomSpec QTAtomSpec;
535  typedef QTAtomSpec *QTAtomSpecPtr;
537  {
538  QTAtomSpec actionAtom;
540  long targetRefCon;
541  };
544 
545  /* action constants */
546  enum
547  {
548  kActionMovieSetVolume = 1024, /* (short movieVolume) */
549  kActionMovieSetRate = 1025, /* (Fixed rate) */
550  kActionMovieSetLoopingFlags = 1026, /* (long loopingFlags) */
551  kActionMovieGoToTime = 1027, /* (TimeValue time) */
552  kActionMovieGoToTimeByName = 1028, /* (Str255 timeName) */
553  kActionMovieGoToBeginning = 1029, /* no params */
554  kActionMovieGoToEnd = 1030, /* no params */
555  kActionMovieStepForward = 1031, /* no params */
556  kActionMovieStepBackward = 1032, /* no params */
557  kActionMovieSetSelection =
558  1033, /* (TimeValue startTime, TimeValue endTime) */
559  kActionMovieSetSelectionByName =
560  1034, /* (Str255 startTimeName, Str255 endTimeName) */
561  kActionMoviePlaySelection = 1035, /* (Boolean selectionOnly) */
562  kActionMovieSetLanguage = 1036, /* (long language) */
563  kActionMovieChanged = 1037, /* no params */
564  kActionMovieRestartAtTime = 1038, /* (TimeValue startTime, Fixed rate) */
565  kActionTrackSetVolume = 2048, /* (short volume) */
566  kActionTrackSetBalance = 2049, /* (short balance) */
567  kActionTrackSetEnabled = 2050, /* (Boolean enabled) */
568  kActionTrackSetMatrix = 2051, /* (MatrixRecord matrix) */
569  kActionTrackSetLayer = 2052, /* (short layer) */
570  kActionTrackSetClip = 2053, /* (RgnHandle clip) */
571  kActionTrackSetCursor = 2054, /* (QTATomID cursorID) */
572  kActionTrackSetGraphicsMode =
573  2055, /* (ModifierTrackGraphicsModeRecord graphicsMode) */
574  kActionTrackSetIdleFrequency = 2056, /* (long frequency) */
575  kActionTrackSetBassTreble = 2057, /* (short base, short treble) */
576  kActionSpriteSetMatrix = 3072, /* (MatrixRecord matrix) */
577  kActionSpriteSetImageIndex = 3073, /* (short imageIndex) */
578  kActionSpriteSetVisible = 3074, /* (short visible) */
579  kActionSpriteSetLayer = 3075, /* (short layer) */
580  kActionSpriteSetGraphicsMode =
581  3076, /* (ModifierTrackGraphicsModeRecord graphicsMode) */
582  kActionSpritePassMouseToCodec = 3078, /* no params */
583  kActionSpriteClickOnCodec = 3079, /* Point localLoc */
584  kActionSpriteTranslate = 3080, /* (Fixed x, Fixed y, Boolean isAbsolute) */
585  kActionSpriteScale = 3081, /* (Fixed xScale, Fixed yScale) */
586  kActionSpriteRotate = 3082, /* (Fixed degrees) */
587  kActionSpriteStretch = 3083, /* (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y,
588  Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) */
589  kActionQTVRSetPanAngle = 4096, /* (float panAngle) */
590  kActionQTVRSetTiltAngle = 4097, /* (float tiltAngle) */
591  kActionQTVRSetFieldOfView = 4098, /* (float fieldOfView) */
592  kActionQTVRShowDefaultView = 4099, /* no params */
593  kActionQTVRGoToNodeID = 4100, /* (UInt32 nodeID) */
594  kActionQTVREnableHotSpot = 4101, /* long ID, Boolean enable */
595  kActionQTVRShowHotSpots = 4102, /* Boolean show */
596  kActionQTVRTranslateObject = 4103, /* float xMove, float yMove */
597  kActionMusicPlayNote =
598  5120, /* (long sampleDescIndex, long partNumber, long delay, long pitch,
599  long velocity, long duration) */
600  kActionMusicSetController =
601  5121, /* (long sampleDescIndex, long partNumber, long delay, long
602  controller, long value) */
603  kActionCase = 6144, /* [(CaseStatementActionAtoms)] */
604  kActionWhile = 6145, /* [(WhileStatementActionAtoms)] */
605  kActionGoToURL = 6146, /* (C string urlLink) */
606  kActionSendQTEventToSprite =
607  6147, /* ([(SpriteTargetAtoms)], QTEventRecord theEvent) */
608  kActionDebugStr = 6148, /* (Str255 theString) */
609  kActionPushCurrentTime = 6149, /* no params */
610  kActionPushCurrentTimeWithLabel = 6150, /* (Str255 theLabel) */
611  kActionPopAndGotoTopTime = 6151, /* no params */
612  kActionPopAndGotoLabeledTime = 6152, /* (Str255 theLabel) */
613  kActionStatusString = 6153, /* (C string theString, long stringTypeFlags) */
614  kActionSendQTEventToTrackObject =
615  6154, /* ([(TrackObjectTargetAtoms)], QTEventRecord theEvent) */
616  kActionAddChannelSubscription =
617  6155, /* (Str255 channelName, C string channelsURL, C string
618  channelsPictureURL) */
619  kActionRemoveChannelSubscription = 6156, /* (C string channelsURL) */
620  kActionOpenCustomActionHandler =
621  6157, /* (long handlerID, ComponentDescription handlerDesc) */
622  kActionDoScript =
623  6158, /* (long scriptTypeFlags, CString command, CString arguments) */
624  kActionDoCompressedActions =
625  6159, /* (compressed QTAtomContainer prefixed with eight bytes: long
626  compressorType, long decompressedSize) */
627  kActionSendAppMessage = 6160, /* (long appMessageID) */
628  kActionLoadComponent = 6161, /* (ComponentDescription handlerDesc) */
629  kActionSetFocus = 6162, /* [(TargetAtoms theObject)] */
630  kActionDontPassKeyEvent = 6163, /* no params */
631  kActionSpriteTrackSetVariable = 7168, /* (QTAtomID variableID, float value) */
632  kActionSpriteTrackNewSprite =
633  7169, /* (QTAtomID spriteID, short imageIndex, MatrixRecord *matrix, short
634  visible, short layer, ModifierTrackGraphicsModeRecord
635  *graphicsMode, QTAtomID actionHandlingSpriteID) */
636  kActionSpriteTrackDisposeSprite = 7170, /* (QTAtomID spriteID) */
637  kActionSpriteTrackSetVariableToString =
638  7171, /* (QTAtomID variableID, C string value) */
639  kActionSpriteTrackConcatVariables =
640  7172, /* (QTAtomID firstVariableID, QTAtomID secondVariableID, QTAtomID
641  resultVariableID ) */
642  kActionSpriteTrackSetVariableToMovieURL =
643  7173, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */
644  kActionSpriteTrackSetVariableToMovieBaseURL =
645  7174, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */
646  kActionApplicationNumberAndString =
647  8192, /* (long aNumber, Str255 aString ) */
648  kActionQD3DNamedObjectTranslateTo = 9216, /* (Fixed x, Fixed y, Fixed z ) */
649  kActionQD3DNamedObjectScaleTo =
650  9217, /* (Fixed xScale, Fixed yScale, Fixed zScale ) */
651  kActionQD3DNamedObjectRotateTo =
652  9218, /* (Fixed xDegrees, Fixed yDegrees, Fixed zDegrees ) */
653  kActionFlashTrackSetPan = 10240, /* (short xPercent, short yPercent ) */
654  kActionFlashTrackSetZoom = 10241, /* (short zoomFactor ) */
655  kActionFlashTrackSetZoomRect =
656  10242, /* (long left, long top, long right, long bottom ) */
657  kActionFlashTrackGotoFrameNumber = 10243, /* (long frameNumber ) */
658  kActionFlashTrackGotoFrameLabel = 10244, /* (C string frameLabel ) */
659  kActionFlashTrackSetFlashVariable =
660  10245, /* (C string path, C string name, C string value, Boolean
661  updateFocus) */
662  kActionFlashTrackDoButtonActions =
663  10246, /* (C string path, long buttonID, long transition) */
664  kActionMovieTrackAddChildMovie =
665  11264, /* (QTAtomID childMovieID, C string childMovieURL) */
666  kActionMovieTrackLoadChildMovie = 11265, /* (QTAtomID childMovieID) */
667  kActionMovieTrackLoadChildMovieWithQTListParams =
668  11266, /* (QTAtomID childMovieID, C string qtlistXML) */
669  kActionTextTrackPasteText =
670  12288, /* (C string theText, long startSelection, long endSelection ) */
671  kActionTextTrackSetTextBox =
672  12291, /* (short left, short top, short right, short bottom) */
673  kActionTextTrackSetTextStyle = 12292, /* (Handle textStyle) */
674  kActionTextTrackSetSelection =
675  12293, /* (long startSelection, long endSelection ) */
676  kActionTextTrackSetBackgroundColor =
677  12294, /* (ModifierTrackGraphicsModeRecord backgroundColor ) */
678  kActionTextTrackSetForegroundColor =
679  12295, /* (ModifierTrackGraphicsModeRecord foregroundColor ) */
680  kActionTextTrackSetFace = 12296, /* (long fontFace ) */
681  kActionTextTrackSetFont = 12297, /* (long fontID ) */
682  kActionTextTrackSetSize = 12298, /* (long fontSize ) */
683  kActionTextTrackSetAlignment = 12299, /* (short alignment ) */
684  kActionTextTrackSetHilite =
685  12300, /* (long startHighlight, long endHighlight,
686  ModifierTrackGraphicsModeRecord highlightColor ) */
687  kActionTextTrackSetDropShadow =
688  12301, /* (Point dropShadow, short transparency ) */
689  kActionTextTrackSetDisplayFlags = 12302, /* (long flags ) */
690  kActionTextTrackSetScroll = 12303, /* (long delay ) */
691  kActionTextTrackRelativeScroll = 12304, /* (short deltaX, short deltaY ) */
692  kActionTextTrackFindText =
693  12305, /* (long flags, Str255 theText, ModifierTrackGraphicsModeRecord
694  highlightColor ) */
695  kActionTextTrackSetHyperTextFace = 12306, /* (short index, long fontFace ) */
696  kActionTextTrackSetHyperTextColor =
697  12307, /* (short index, ModifierTrackGraphicsModeRecord highlightColor )
698  */
699  kActionTextTrackKeyEntry = 12308, /* (short character ) */
700  kActionTextTrackMouseDown = 12309, /* no params */
701  kActionTextTrackSetEditable = 12310, /* (short editState) */
702  kActionListAddElement =
703  13312, /* (C string parentPath, long atIndex, C string newElementName) */
704  kActionListRemoveElements =
705  13313, /* (C string parentPath, long startIndex, long endIndex) */
706  kActionListSetElementValue =
707  13314, /* (C string elementPath, C string valueString) */
708  kActionListPasteFromXML =
709  13315, /* (C string xml, C string targetParentPath, long startIndex) */
710  kActionListSetMatchingFromXML =
711  13316, /* (C string xml, C string targetParentPath) */
712  kActionListSetFromURL =
713  13317, /* (C string url, C string targetParentPath ) */
714  kActionListExchangeLists = 13318, /* (C string url, C string parentPath) */
715  kActionListServerQuery = 13319 /* (C string url, C string keyValuePairs, long
716  flags, C string parentPath) */
717  };
718 
719  enum
720  {
721  kOperandExpression = 1,
722  kOperandConstant = 2,
723  kOperandSubscribedToChannel = 3, /* C string channelsURL */
724  kOperandUniqueCustomActionHandlerID = 4,
725  kOperandCustomActionHandlerIDIsOpen = 5, /* long ID */
726  kOperandConnectionSpeed = 6,
727  kOperandGMTDay = 7,
728  kOperandGMTMonth = 8,
729  kOperandGMTYear = 9,
730  kOperandGMTHours = 10,
731  kOperandGMTMinutes = 11,
732  kOperandGMTSeconds = 12,
733  kOperandLocalDay = 13,
734  kOperandLocalMonth = 14,
735  kOperandLocalYear = 15,
736  kOperandLocalHours = 16,
737  kOperandLocalMinutes = 17,
738  kOperandLocalSeconds = 18,
739  kOperandRegisteredForQuickTimePro = 19,
740  kOperandPlatformRunningOn = 20,
741  kOperandQuickTimeVersion = 21,
742  kOperandComponentVersion =
743  22, /* C string type, C string subType, C string manufacturer */
744  kOperandOriginalHandlerRefcon = 23,
745  kOperandTicks = 24,
746  kOperandMaxLoadedTimeInMovie = 25,
747  kOperandEventParameter = 26, /* short index */
748  kOperandFreeMemory = 27,
749  kOperandNetworkStatus = 28,
750  kOperandQuickTimeVersionRegistered = 29, /* long version */
751  kOperandSystemVersion = 30,
752  kOperandMovieVolume = 1024,
753  kOperandMovieRate = 1025,
754  kOperandMovieIsLooping = 1026,
755  kOperandMovieLoopIsPalindrome = 1027,
756  kOperandMovieTime = 1028,
757  kOperandMovieDuration = 1029,
758  kOperandMovieTimeScale = 1030,
759  kOperandMovieWidth = 1031,
760  kOperandMovieHeight = 1032,
761  kOperandMovieLoadState = 1033,
762  kOperandMovieTrackCount = 1034,
763  kOperandMovieIsActive = 1035,
764  kOperandMovieName = 1036,
765  kOperandMovieID = 1037,
766  kOperandTrackVolume = 2048,
767  kOperandTrackBalance = 2049,
768  kOperandTrackEnabled = 2050,
769  kOperandTrackLayer = 2051,
770  kOperandTrackWidth = 2052,
771  kOperandTrackHeight = 2053,
772  kOperandTrackDuration = 2054,
773  kOperandTrackName = 2055,
774  kOperandTrackID = 2056,
775  kOperandTrackIdleFrequency = 2057,
776  kOperandTrackBass = 2058,
777  kOperandTrackTreble = 2059,
778  kOperandSpriteBoundsLeft = 3072,
779  kOperandSpriteBoundsTop = 3073,
780  kOperandSpriteBoundsRight = 3074,
781  kOperandSpriteBoundsBottom = 3075,
782  kOperandSpriteImageIndex = 3076,
783  kOperandSpriteVisible = 3077,
784  kOperandSpriteLayer = 3078,
785  kOperandSpriteTrackVariable = 3079, /* [QTAtomID variableID] */
786  kOperandSpriteTrackNumSprites = 3080,
787  kOperandSpriteTrackNumImages = 3081,
788  kOperandSpriteID = 3082,
789  kOperandSpriteIndex = 3083,
790  kOperandSpriteFirstCornerX = 3084,
791  kOperandSpriteFirstCornerY = 3085,
792  kOperandSpriteSecondCornerX = 3086,
793  kOperandSpriteSecondCornerY = 3087,
794  kOperandSpriteThirdCornerX = 3088,
795  kOperandSpriteThirdCornerY = 3089,
796  kOperandSpriteFourthCornerX = 3090,
797  kOperandSpriteFourthCornerY = 3091,
798  kOperandSpriteImageRegistrationPointX = 3092,
799  kOperandSpriteImageRegistrationPointY = 3093,
800  kOperandSpriteTrackSpriteIDAtPoint = 3094, /* short x, short y */
801  kOperandSpriteName = 3095,
802  kOperandQTVRPanAngle = 4096,
803  kOperandQTVRTiltAngle = 4097,
804  kOperandQTVRFieldOfView = 4098,
805  kOperandQTVRNodeID = 4099,
806  kOperandQTVRHotSpotsVisible = 4100,
807  kOperandQTVRViewCenterH = 4101,
808  kOperandQTVRViewCenterV = 4102,
809  kOperandMouseLocalHLoc = 5120, /* [TargetAtoms aTrack] */
810  kOperandMouseLocalVLoc = 5121, /* [TargetAtoms aTrack] */
811  kOperandKeyIsDown = 5122, /* [short modKeys, char asciiValue] */
812  kOperandRandom = 5123, /* [short min, short max] */
813  kOperandCanHaveFocus = 5124, /* [(TargetAtoms theObject)] */
814  kOperandHasFocus = 5125, /* [(TargetAtoms theObject)] */
815  kOperandTextTrackEditable = 6144,
816  kOperandTextTrackCopyText = 6145, /* long startSelection, long endSelection */
817  kOperandTextTrackStartSelection = 6146,
818  kOperandTextTrackEndSelection = 6147,
819  kOperandTextTrackTextBoxLeft = 6148,
820  kOperandTextTrackTextBoxTop = 6149,
821  kOperandTextTrackTextBoxRight = 6150,
822  kOperandTextTrackTextBoxBottom = 6151,
823  kOperandTextTrackTextLength = 6152,
824  kOperandListCountElements = 7168, /* (C string parentPath) */
825  kOperandListGetElementPathByIndex =
826  7169, /* (C string parentPath, long index) */
827  kOperandListGetElementValue = 7170, /* (C string elementPath) */
828  kOperandListCopyToXML =
829  7171, /* (C string parentPath, long startIndex, long endIndex) */
830  kOperandSin = 8192, /* float x */
831  kOperandCos = 8193, /* float x */
832  kOperandTan = 8194, /* float x */
833  kOperandATan = 8195, /* float x */
834  kOperandATan2 = 8196, /* float y, float x */
835  kOperandDegreesToRadians = 8197, /* float x */
836  kOperandRadiansToDegrees = 8198, /* float x */
837  kOperandSquareRoot = 8199, /* float x */
838  kOperandExponent = 8200, /* float x */
839  kOperandLog = 8201, /* float x */
840  kOperandFlashTrackVariable = 9216, /* [CString path, CString name] */
841  kOperandStringLength = 10240, /* (C string text) */
842  kOperandStringCompare = 10241, /* (C string aText, C string bText, Boolean
843  caseSensitive, Boolan diacSensitive) */
844  kOperandStringSubString =
845  10242, /* (C string text, long offset, long length) */
846  kOperandStringConcat = 10243 /* (C string aText, C string bText) */
847  };
848 
849  enum
850  {
851  kFirstMovieAction = kActionMovieSetVolume,
852  kLastMovieAction = kActionMovieRestartAtTime,
853  kFirstTrackAction = kActionTrackSetVolume,
854  kLastTrackAction = kActionTrackSetBassTreble,
855  kFirstSpriteAction = kActionSpriteSetMatrix,
856  kLastSpriteAction = kActionSpriteStretch,
857  kFirstQTVRAction = kActionQTVRSetPanAngle,
858  kLastQTVRAction = kActionQTVRTranslateObject,
859  kFirstMusicAction = kActionMusicPlayNote,
860  kLastMusicAction = kActionMusicSetController,
861  kFirstSystemAction = kActionCase,
862  kLastSystemAction = kActionDontPassKeyEvent,
863  kFirstSpriteTrackAction = kActionSpriteTrackSetVariable,
864  kLastSpriteTrackAction = kActionSpriteTrackSetVariableToMovieBaseURL,
865  kFirstApplicationAction = kActionApplicationNumberAndString,
866  kLastApplicationAction = kActionApplicationNumberAndString,
867  kFirstQD3DNamedObjectAction = kActionQD3DNamedObjectTranslateTo,
868  kLastQD3DNamedObjectAction = kActionQD3DNamedObjectRotateTo,
869  kFirstFlashTrackAction = kActionFlashTrackSetPan,
870  kLastFlashTrackAction = kActionFlashTrackDoButtonActions,
871  kFirstMovieTrackAction = kActionMovieTrackAddChildMovie,
872  kLastMovieTrackAction = kActionMovieTrackLoadChildMovieWithQTListParams,
873  kFirstTextTrackAction = kActionTextTrackPasteText,
874  kLastTextTrackAction = kActionTextTrackSetEditable,
875  kFirstMultiTargetAction = kActionListAddElement,
876  kLastMultiTargetAction = kActionListServerQuery,
877  kFirstAction = kFirstMovieAction,
878  kLastAction = kLastMultiTargetAction
879  };
880 
881  /* target atom types*/
882  enum
883  {
884  kTargetMovie = FOUR_CHAR_CODE('moov'), /* no data */
885  kTargetMovieName = FOUR_CHAR_CODE('mona'), /* (PString movieName) */
886  kTargetMovieID = FOUR_CHAR_CODE('moid'), /* (long movieID) */
887  kTargetRootMovie = FOUR_CHAR_CODE('moro'), /* no data */
888  kTargetParentMovie = FOUR_CHAR_CODE('mopa'), /* no data */
889  kTargetChildMovieTrackName =
890  FOUR_CHAR_CODE('motn'), /* (PString childMovieTrackName) */
891  kTargetChildMovieTrackID =
892  FOUR_CHAR_CODE('moti'), /* (long childMovieTrackID) */
893  kTargetChildMovieTrackIndex =
894  FOUR_CHAR_CODE('motx'), /* (long childMovieTrackIndex) */
895  kTargetChildMovieMovieName =
896  FOUR_CHAR_CODE('momn'), /* (PString childMovieName) */
897  kTargetChildMovieMovieID = FOUR_CHAR_CODE('momi'), /* (long childMovieID) */
898  kTargetTrackName = FOUR_CHAR_CODE('trna'), /* (PString trackName) */
899  kTargetTrackID = FOUR_CHAR_CODE('trid'), /* (long trackID) */
900  kTargetTrackType = FOUR_CHAR_CODE('trty'), /* (OSType trackType) */
901  kTargetTrackIndex = FOUR_CHAR_CODE('trin'), /* (long trackIndex) */
902  kTargetSpriteName = FOUR_CHAR_CODE('spna'), /* (PString spriteName) */
903  kTargetSpriteID = FOUR_CHAR_CODE('spid'), /* (QTAtomID spriteID) */
904  kTargetSpriteIndex = FOUR_CHAR_CODE('spin'), /* (short spriteIndex) */
905  kTargetQD3DNamedObjectName =
906  FOUR_CHAR_CODE('nana'), /* (CString objectName) */
907  kTargetCurrentQTEventParams = FOUR_CHAR_CODE('evpa') /* no data */
908  };
909 
910  /* action container atom types*/
911  enum
912  {
913  kQTEventType = FOUR_CHAR_CODE('evnt'),
914  kAction = FOUR_CHAR_CODE('actn'),
915  kWhichAction = FOUR_CHAR_CODE('whic'),
916  kActionParameter = FOUR_CHAR_CODE('parm'),
917  kActionTarget = FOUR_CHAR_CODE('targ'),
918  kActionFlags = FOUR_CHAR_CODE('flag'),
919  kActionParameterMinValue = FOUR_CHAR_CODE('minv'),
920  kActionParameterMaxValue = FOUR_CHAR_CODE('maxv'),
921  kActionListAtomType = FOUR_CHAR_CODE('list'),
922  kExpressionContainerAtomType = FOUR_CHAR_CODE('expr'),
923  kConditionalAtomType = FOUR_CHAR_CODE('test'),
924  kOperatorAtomType = FOUR_CHAR_CODE('oper'),
925  kOperandAtomType = FOUR_CHAR_CODE('oprn'),
926  kCommentAtomType = FOUR_CHAR_CODE('why '),
927  kCustomActionHandler = FOUR_CHAR_CODE('cust'),
928  kCustomHandlerID = FOUR_CHAR_CODE('id '),
929  kCustomHandlerDesc = FOUR_CHAR_CODE('desc'),
930  kQTEventRecordAtomType = FOUR_CHAR_CODE('erec')
931  };
932 
933  /* QTEvent types */
934  enum
935  {
936  kQTEventMouseClick = FOUR_CHAR_CODE('clik'),
937  kQTEventMouseClickEnd = FOUR_CHAR_CODE('cend'),
938  kQTEventMouseClickEndTriggerButton = FOUR_CHAR_CODE('trig'),
939  kQTEventMouseEnter = FOUR_CHAR_CODE('entr'),
940  kQTEventMouseExit = FOUR_CHAR_CODE('exit'),
941  kQTEventMouseMoved = FOUR_CHAR_CODE('move'),
942  kQTEventFrameLoaded = FOUR_CHAR_CODE('fram'),
943  kQTEventIdle = FOUR_CHAR_CODE('idle'),
944  kQTEventKey =
945  FOUR_CHAR_CODE('key '), /* qtevent.param1 = key, qtevent.param2 =
946  modifiers, qtEvent.param3 = scanCode */
947  kQTEventMovieLoaded = FOUR_CHAR_CODE('load'),
948  kQTEventRequestToModifyMovie = FOUR_CHAR_CODE('reqm'),
949  kQTEventListReceived = FOUR_CHAR_CODE('list')
950  };
951 
952  /* flags for the kActionFlags atom */
953  enum
954  {
955  kActionFlagActionIsDelta = 1L << 1,
956  kActionFlagParameterWrapsAround = 1L << 2,
957  kActionFlagActionIsToggle = 1L << 3
958  };
959 
960  /* flags for stringTypeFlags field of the QTStatusStringRecord */
961  enum
962  {
963  kStatusStringIsURLLink = 1L << 1,
964  kStatusStringIsStreamingStatus = 1L << 2,
965  kStatusHasCodeNumber =
966  1L << 3, /* high 16 bits of stringTypeFlags is error code number*/
967  kStatusIsError = 1L << 4
968  };
969 
970  /* flags for scriptTypeFlags field of the QTDoScriptRecord*/
971  enum
972  {
973  kScriptIsUnknownType = 1L << 0,
974  kScriptIsJavaScript = 1L << 1,
975  kScriptIsLingoEvent = 1L << 2,
976  kScriptIsVBEvent = 1L << 3,
977  kScriptIsProjectorCommand = 1L << 4,
978  kScriptIsAppleScript = 1L << 5
979  };
980 
981  /* flags for CheckQuickTimeRegistration routine*/
982  enum
983  {
984  kQTRegistrationDialogTimeOutFlag = 1 << 0,
985  kQTRegistrationDialogShowDialog = 1 << 1,
986  kQTRegistrationDialogForceDialog = 1 << 2
987  };
988 
989  /* constants for kOperatorAtomType IDs (operator types)*/
990  enum
991  {
992  kOperatorAdd = FOUR_CHAR_CODE('add '),
993  kOperatorSubtract = FOUR_CHAR_CODE('sub '),
994  kOperatorMultiply = FOUR_CHAR_CODE('mult'),
995  kOperatorDivide = FOUR_CHAR_CODE('div '),
996  kOperatorOr = FOUR_CHAR_CODE('or '),
997  kOperatorAnd = FOUR_CHAR_CODE('and '),
998  kOperatorNot = FOUR_CHAR_CODE('not '),
999  kOperatorLessThan = FOUR_CHAR_CODE('< '),
1000  kOperatorLessThanEqualTo = FOUR_CHAR_CODE('<= '),
1001  kOperatorEqualTo = FOUR_CHAR_CODE('= '),
1002  kOperatorNotEqualTo = FOUR_CHAR_CODE('!= '),
1003  kOperatorGreaterThan = FOUR_CHAR_CODE('> '),
1004  kOperatorGreaterThanEqualTo = FOUR_CHAR_CODE('>= '),
1005  kOperatorModulo = FOUR_CHAR_CODE('mod '),
1006  kOperatorIntegerDivide = FOUR_CHAR_CODE('idiv'),
1007  kOperatorAbsoluteValue = FOUR_CHAR_CODE('abs '),
1008  kOperatorNegate = FOUR_CHAR_CODE('neg ')
1009  };
1010 
1011  /* constants for kOperandPlatformRunningOn*/
1012  enum
1013  {
1014  kPlatformMacintosh = 1,
1015  kPlatformWindows = 2
1016  };
1017 
1018  /* flags for kOperandSystemVersion*/
1019  enum
1020  {
1021  kSystemIsWindows9x = 0x00010000,
1022  kSystemIsWindowsNT = 0x00020000
1023  };
1024 
1025  /* constants for MediaPropertiesAtom*/
1026  enum
1027  {
1028  kMediaPropertyNonLinearAtomType = FOUR_CHAR_CODE('nonl'),
1029  kMediaPropertyHasActions = 105
1030  };
1031 
1032  typedef CALLBACK_API(OSErr, MovieRgnCoverProcPtr)(Movie theMovie,
1034  long refcon);
1035  typedef CALLBACK_API(OSErr, MovieProgressProcPtr)(Movie theMovie, short message,
1036  short whatOperation,
1037  Fixed percentDone,
1038  long refcon);
1039  typedef CALLBACK_API(OSErr, MovieDrawingCompleteProcPtr)(Movie theMovie,
1040  long refCon);
1041  typedef CALLBACK_API(OSErr, TrackTransferProcPtr)(Track t, long refCon);
1042  typedef CALLBACK_API(OSErr, GetMovieProcPtr)(long offset, long size,
1043  void *dataPtr, void *refCon);
1044  typedef CALLBACK_API(Boolean, MoviePreviewCallOutProcPtr)(long refcon);
1045  typedef CALLBACK_API(OSErr, TextMediaProcPtr)(Handle theText, Movie theMovie,
1046  short *displayFlag, long refcon);
1047  typedef CALLBACK_API(OSErr, ActionsProcPtr)(void *refcon, Track targetTrack,
1048  long targetRefCon,
1050  typedef CALLBACK_API(OSErr, DoMCActionProcPtr)(void *refcon, short action,
1051  void *params, Boolean *handled);
1052  typedef CALLBACK_API(OSErr, MovieExecuteWiredActionsProcPtr)(
1053  Movie theMovie, void *refcon, long flags, QTAtomContainer wiredActions);
1054  typedef CALLBACK_API(void, MoviePrePrerollCompleteProcPtr)(Movie theMovie,
1055  OSErr prerollErr,
1056  void *refcon);
1057  typedef CALLBACK_API(void, MoviesErrorProcPtr)(OSErr theErr, long refcon);
1058  typedef STACK_UPP_TYPE(MovieRgnCoverProcPtr) MovieRgnCoverUPP;
1059  typedef STACK_UPP_TYPE(MovieProgressProcPtr) MovieProgressUPP;
1060  typedef STACK_UPP_TYPE(MovieDrawingCompleteProcPtr) MovieDrawingCompleteUPP;
1061  typedef STACK_UPP_TYPE(TrackTransferProcPtr) TrackTransferUPP;
1062  typedef STACK_UPP_TYPE(GetMovieProcPtr) GetMovieUPP;
1063  typedef STACK_UPP_TYPE(MoviePreviewCallOutProcPtr) MoviePreviewCallOutUPP;
1064  typedef STACK_UPP_TYPE(TextMediaProcPtr) TextMediaUPP;
1065  typedef STACK_UPP_TYPE(ActionsProcPtr) ActionsUPP;
1066  typedef STACK_UPP_TYPE(DoMCActionProcPtr) DoMCActionUPP;
1067  typedef STACK_UPP_TYPE(MovieExecuteWiredActionsProcPtr)
1068  MovieExecuteWiredActionsUPP;
1069  typedef STACK_UPP_TYPE(MoviePrePrerollCompleteProcPtr)
1070  MoviePrePrerollCompleteUPP;
1071  typedef STACK_UPP_TYPE(MoviesErrorProcPtr) MoviesErrorUPP;
1076  typedef ComponentResult HandlerError;
1077  /* TimeBase and TimeRecord moved to MacTypes.h */
1078  typedef UInt32 TimeBaseFlags;
1079  enum
1080  {
1081  loopTimeBase = 1,
1082  palindromeLoopTimeBase = 2,
1083  maintainTimeBaseZero = 4
1084  };
1085 
1087  {
1088  long data[1];
1089  };
1090  typedef struct CallBackRecord CallBackRecord;
1091  typedef CallBackRecord *QTCallBack;
1092  /* CallBack equates */
1093  typedef UInt16 QTCallBackFlags;
1094  enum
1095  {
1096  triggerTimeFwd = 0x0001, /* when curTime exceeds triggerTime going forward */
1097  triggerTimeBwd =
1098  0x0002, /* when curTime exceeds triggerTime going backwards */
1099  triggerTimeEither =
1100  0x0003, /* when curTime exceeds triggerTime going either direction */
1101  triggerRateLT = 0x0004, /* when rate changes to less than trigger value */
1102  triggerRateGT = 0x0008, /* when rate changes to greater than trigger value */
1103  triggerRateEqual = 0x0010, /* when rate changes to equal trigger value */
1104  triggerRateLTE = triggerRateLT | triggerRateEqual,
1105  triggerRateGTE = triggerRateGT | triggerRateEqual,
1106  triggerRateNotEqual = triggerRateGT | triggerRateEqual | triggerRateLT,
1107  triggerRateChange = 0,
1108  triggerAtStart = 0x0001,
1109  triggerAtStop = 0x0002
1110  };
1111 
1112  typedef UInt32 TimeBaseStatus;
1113  enum
1114  {
1115  timeBaseBeforeStartTime = 1,
1116  timeBaseAfterStopTime = 2
1117  };
1118 
1119  typedef UInt16 QTCallBackType;
1120  enum
1121  {
1122  callBackAtTime = 1,
1123  callBackAtRate = 2,
1124  callBackAtTimeJump = 3,
1125  callBackAtExtremes = 4,
1126  callBackAtTimeBaseDisposed = 5,
1127  callBackAtInterrupt = 0x8000,
1128  callBackAtDeferredTask = 0x4000
1129  };
1130 
1131  typedef CALLBACK_API(void, QTCallBackProcPtr)(QTCallBack cb, long refCon);
1132  typedef STACK_UPP_TYPE(QTCallBackProcPtr) QTCallBackUPP;
1133  enum
1134  {
1135  qtcbNeedsRateChanges = 1, /* wants to know about rate changes */
1136  qtcbNeedsTimeChanges = 2, /* wants to know about time changes */
1137  qtcbNeedsStartStopChanges =
1138  4 /* wants to know when TimeBase start/stop is changed*/
1139  };
1140 
1142  {
1143  long callBackFlags;
1144  long reserved1;
1145  SInt8 qtPrivate[40];
1146  };
1147  typedef struct QTCallBackHeader QTCallBackHeader;
1148  typedef CALLBACK_API(void, QTSyncTaskProcPtr)(void *task);
1149  typedef STACK_UPP_TYPE(QTSyncTaskProcPtr) QTSyncTaskUPP;
1151  {
1152  void *qLink;
1153  QTSyncTaskUPP proc;
1154  };
1155  typedef struct QTSyncTaskRecord QTSyncTaskRecord;
1157  enum
1158  {
1159  keepInRam = 1 << 0, /* load and make non-purgable*/
1160  unkeepInRam = 1 << 1, /* mark as purgable*/
1161  flushFromRam = 1 << 2, /* empty those handles*/
1162  loadForwardTrackEdits =
1163  1 << 3, /* load track edits into ram for playing forward*/
1164  loadBackwardTrackEdits =
1165  1 << 4 /* load track edits into ram for playing in reverse*/
1166  };
1167 
1168  enum
1169  {
1170  newMovieActive = 1 << 0,
1171  newMovieDontResolveDataRefs = 1 << 1,
1172  newMovieDontAskUnresolvedDataRefs = 1 << 2,
1173  newMovieDontAutoAlternates = 1 << 3,
1174  newMovieDontUpdateForeBackPointers = 1 << 4,
1175  newMovieDontAutoUpdateClock = 1 << 5,
1176  newMovieAsyncOK = 1 << 8,
1177  newMovieIdleImportOK = 1 << 10
1178  };
1179 
1180  /* track usage bits */
1181  enum
1182  {
1183  trackUsageInMovie = 1 << 1,
1184  trackUsageInPreview = 1 << 2,
1185  trackUsageInPoster = 1 << 3
1186  };
1187 
1188  /* Add/GetMediaSample flags */
1189  enum
1190  {
1191  mediaSampleNotSync =
1192  1 << 0, /* sample is not a sync sample (eg. is frame differenced */
1193  mediaSampleShadowSync = 1 << 1 /* sample is a shadow sync */
1194  };
1195 
1196  enum
1197  {
1198  pasteInParallel = 1 << 0,
1199  showUserSettingsDialog = 1 << 1,
1200  movieToFileOnlyExport = 1 << 2,
1201  movieFileSpecValid = 1 << 3
1202  };
1203 
1204  enum
1205  {
1206  nextTimeMediaSample = 1 << 0,
1207  nextTimeMediaEdit = 1 << 1,
1208  nextTimeTrackEdit = 1 << 2,
1209  nextTimeSyncSample = 1 << 3,
1210  nextTimeStep = 1 << 4,
1211  nextTimeEdgeOK = 1 << 14,
1212  nextTimeIgnoreActiveSegment = 1 << 15
1213  };
1214 
1215  typedef unsigned short nextTimeFlagsEnum;
1216  enum
1217  {
1218  createMovieFileDeleteCurFile = 1L << 31,
1219  createMovieFileDontCreateMovie = 1L << 30,
1220  createMovieFileDontOpenFile = 1L << 29,
1221  createMovieFileDontCreateResFile = 1L << 28
1222  };
1223 
1224  typedef unsigned long createMovieFileFlagsEnum;
1225  enum
1226  {
1227  flattenAddMovieToDataFork = 1L << 0,
1228  flattenActiveTracksOnly = 1L << 2,
1229  flattenDontInterleaveFlatten = 1L << 3,
1230  flattenFSSpecPtrIsDataRefRecordPtr = 1L << 4,
1231  flattenCompressMovieResource = 1L << 5,
1232  flattenForceMovieResourceBeforeMovieData = 1L << 6
1233  };
1234 
1235  typedef unsigned long movieFlattenFlagsEnum;
1236  enum
1237  {
1238  movieInDataForkResID = -1 /* magic res ID */
1239  };
1240 
1241  enum
1242  {
1243  mcTopLeftMovie = 1 << 0, /* usually centered */
1244  mcScaleMovieToFit = 1 << 1, /* usually only scales down */
1245  mcWithBadge = 1 << 2, /* give me a badge */
1246  mcNotVisible = 1 << 3, /* don't show controller */
1247  mcWithFrame = 1 << 4 /* gimme a frame */
1248  };
1249 
1250  enum
1251  {
1252  movieScrapDontZeroScrap = 1 << 0,
1253  movieScrapOnlyPutMovie = 1 << 1
1254  };
1255 
1256  enum
1257  {
1258  dataRefSelfReference = 1 << 0,
1259  dataRefWasNotResolved = 1 << 1
1260  };
1261 
1262  typedef unsigned long dataRefAttributesFlags;
1263  enum
1264  {
1265  kMovieAnchorDataRefIsDefault =
1266  1 << 0 /* data ref returned is movie default data ref */
1267  };
1268 
1269  enum
1270  {
1271  hintsScrubMode =
1272  1 << 0, /* mask == && (if flags == scrub on, flags != scrub off) */
1273  hintsLoop = 1 << 1,
1274  hintsDontPurge = 1 << 2,
1275  hintsUseScreenBuffer = 1 << 5,
1276  hintsAllowInterlace = 1 << 6,
1277  hintsUseSoundInterp = 1 << 7,
1278  hintsHighQuality = 1 << 8, /* slooooow */
1279  hintsPalindrome = 1 << 9,
1280  hintsInactive = 1 << 11,
1281  hintsOffscreen = 1 << 12,
1282  hintsDontDraw = 1 << 13,
1283  hintsAllowBlacklining = 1 << 14,
1284  hintsDontUseVideoOverlaySurface = 1 << 16,
1285  hintsIgnoreBandwidthRestrictions = 1 << 17,
1286  hintsPlayingEveryFrame = 1 << 18,
1287  hintsAllowDynamicResize = 1 << 19,
1288  hintsSingleField = 1 << 20,
1289  hintsNoRenderingTimeOut = 1 << 21
1290  };
1291 
1292  typedef unsigned long playHintsEnum;
1293  enum
1294  {
1295  mediaHandlerFlagBaseClient = 1
1296  };
1297 
1298  typedef unsigned long mediaHandlerFlagsEnum;
1299  enum
1300  {
1301  movieTrackMediaType = 1 << 0,
1302  movieTrackCharacteristic = 1 << 1,
1303  movieTrackEnabledOnly = 1 << 2
1304  };
1305 
1307  {
1308  long dataOffset;
1309  long dataSize;
1310  TimeValue durationPerSample;
1311  long numberOfSamples;
1312  short sampleFlags;
1313  };
1317  {
1318  wide dataOffset;
1319  unsigned long dataSize;
1320  TimeValue durationPerSample;
1321  unsigned long numberOfSamples;
1322  short sampleFlags;
1323  };
1326 
1327  /*************************
1328  * Initialization Routines
1329  **************************/
1339  void
1340  CheckQuickTimeRegistration(void *registrationKey, long flags);
1341 
1351  OSErr
1353 
1363  void
1364  ExitMovies(void);
1365 
1366  /*************************
1367  * Error Routines
1368  **************************/
1369 
1379  OSErr
1381 
1391  void
1393 
1403  OSErr
1405 
1415  void
1416  SetMoviesErrorProc(MoviesErrorUPP errProc, long refcon);
1417 
1418  /*************************
1419  * Idle Routines
1420  **************************/
1430  void
1431  MoviesTask(Movie theMovie, long maxMilliSecToUse);
1432 
1442  OSErr
1443  PrerollMovie(Movie theMovie, TimeValue time, Fixed Rate);
1444 
1454  OSErr
1455  PrePrerollMovie(Movie m, TimeValue time, Fixed rate,
1456  MoviePrePrerollCompleteUPP proc, void *refcon);
1457 
1467  void
1469 
1479  OSErr
1480  LoadMovieIntoRam(Movie theMovie, TimeValue time, TimeValue duration, long flags);
1481 
1491  OSErr
1492  LoadTrackIntoRam(Track theTrack, TimeValue time, TimeValue duration, long flags);
1493 
1503  OSErr
1504  LoadMediaIntoRam(Media theMedia, TimeValue time, TimeValue duration, long flags);
1505 
1515  void
1517 
1527  Boolean
1529 
1530  /*************************
1531  * calls for playing movies, previews, posters
1532  **************************/
1542  void
1544 
1554  void
1556 
1566  void
1568 
1578  void
1580 
1590  Boolean
1592 
1602  Boolean
1604 
1614  void
1616 
1626  void
1628 
1638  void
1639  PlayMoviePreview(Movie theMovie, MoviePreviewCallOutUPP callOutProc,
1640  long refcon);
1641 
1642  /*************************
1643  * calls for controlling movies & tracks which are playing
1644  **************************/
1654  TimeBase
1656 
1666  void
1667  SetMovieMasterTimeBase(Movie theMovie, TimeBase tb, const TimeRecord *slaveZero);
1668 
1678  void
1680  const TimeRecord *slaveZero);
1681 
1691  void
1693 
1703  void
1705 
1706  enum
1707  {
1708  movieDrawingCallWhenChanged = 0,
1709  movieDrawingCallAlways = 1
1710  };
1711 
1721  void
1723  MovieDrawingCompleteUPP proc, long refCon);
1724 
1734  void
1736 
1746  Track
1748 
1758  Track
1760 
1770  void
1772  TrackTransferUPP proc, long refCon);
1773 
1783  PicHandle
1784  GetMoviePict(Movie theMovie, TimeValue time);
1785 
1795  PicHandle
1796  GetTrackPict(Track theTrack, TimeValue time);
1797 
1807  PicHandle
1809 
1810  /* called between Begin & EndUpdate */
1820  OSErr
1822 
1832  OSErr
1834 
1835  /**** spatial movie routines ****/
1845  void
1847 
1857  void
1858  SetMovieBox(Movie theMovie, const Rect *boxRect);
1859 
1870  RgnHandle
1872 
1882  void
1884 
1895  RgnHandle
1897 
1907  void
1909 
1920  RgnHandle
1922 
1932  void
1933  SetTrackClipRgn(Track theTrack, RgnHandle theClip);
1934 
1945  RgnHandle
1947 
1957  RgnHandle
1959 
1970  RgnHandle
1972 
1982  RgnHandle
1984 
1995  RgnHandle
1997 
2008  PixMapHandle
2010 
2020  void
2021  SetTrackMatte(Track theTrack, PixMapHandle theMatte);
2022 
2032  void
2034 
2045  void
2047 
2048  /*************************
2049  * calls for getting/saving movies
2050  **************************/
2060  Movie
2061  NewMovie(long flags);
2062 
2072  OSErr
2073  PutMovieIntoHandle(Movie theMovie, Handle publicMovie);
2074 
2084  OSErr
2085  PutMovieIntoDataFork(Movie theMovie, short fRefNum, long offset, long maxSize);
2086 
2096  OSErr
2097  PutMovieIntoDataFork64(Movie theMovie, long fRefNum, const wide *offset,
2098  unsigned long maxSize);
2099 
2109  void
2111 
2112  /*************************
2113  * Movie State Routines
2114  **************************/
2124  unsigned long
2126 
2136  unsigned long
2138 
2148  TimeScale
2150 
2160  void
2161  SetMovieTimeScale(Movie theMovie, TimeScale timeScale);
2162 
2172  TimeValue
2174 
2184  Fixed
2186 
2196  void
2198 
2208  Fixed
2210 
2220  void
2222 
2232  short
2234 
2244  void
2246 
2256  short
2258 
2268  void
2270 
2280  void
2282 
2292  void
2294 
2304  void
2305  GetMoviePreviewTime(Movie theMovie, TimeValue *previewTime,
2306  TimeValue *previewDuration);
2307 
2317  void
2318  SetMoviePreviewTime(Movie theMovie, TimeValue previewTime,
2319  TimeValue previewDuration);
2320 
2330  TimeValue
2332 
2342  void
2343  SetMoviePosterTime(Movie theMovie, TimeValue posterTime);
2344 
2354  void
2355  GetMovieSelection(Movie theMovie, TimeValue *selectionTime,
2356  TimeValue *selectionDuration);
2357 
2367  void
2368  SetMovieSelection(Movie theMovie, TimeValue selectionTime,
2369  TimeValue selectionDuration);
2370 
2380  void
2381  SetMovieActiveSegment(Movie theMovie, TimeValue startTime, TimeValue duration);
2382 
2392  void
2393  GetMovieActiveSegment(Movie theMovie, TimeValue *startTime, TimeValue *duration);
2394 
2404  TimeValue
2406 
2416  void
2418 
2428  void
2429  SetMovieTimeValue(Movie theMovie, TimeValue newtime);
2430 
2440  UserData
2442 
2443  /*************************
2444  * Track/Media finding routines
2445  **************************/
2455  long
2457 
2467  Track
2468  GetMovieTrack(Movie theMovie, long trackID);
2469 
2479  Track
2481 
2491  Track
2492  GetMovieIndTrackType(Movie theMovie, long index, OSType trackType, long flags);
2493 
2503  long
2504  GetTrackID(Track theTrack);
2505 
2515  Movie
2517 
2518  /*************************
2519  * Track creation routines
2520  **************************/
2530  Track
2531  NewMovieTrack(Movie theMovie, Fixed width, Fixed height, short trackVolume);
2532 
2542  void
2544 
2545  /*************************
2546  * Track State routines
2547  **************************/
2557  unsigned long
2559 
2569  unsigned long
2571 
2581  Boolean
2583 
2593  void
2594  SetTrackEnabled(Track theTrack, Boolean isEnabled);
2595 
2605  long
2607 
2617  void
2618  SetTrackUsage(Track theTrack, long usage);
2619 
2629  TimeValue
2631 
2641  TimeValue
2643 
2653  void
2654  SetTrackOffset(Track theTrack, TimeValue movieOffsetTime);
2655 
2665  short
2667 
2677  void
2678  SetTrackLayer(Track theTrack, short layer);
2679 
2689  Track
2691 
2701  void
2702  SetTrackAlternate(Track theTrack, Track alternateT);
2703 
2713  void
2715 
2725  void
2727 
2737  short
2739 
2749  void
2750  SetTrackVolume(Track theTrack, short volume);
2751 
2761  void
2762  GetTrackMatrix(Track theTrack, MatrixRecord *matrix);
2763 
2773  void
2774  SetTrackMatrix(Track theTrack, const MatrixRecord *matrix);
2775 
2785  void
2786  GetTrackDimensions(Track theTrack, Fixed *width, Fixed *height);
2787 
2797  void
2798  SetTrackDimensions(Track theTrack, Fixed width, Fixed height);
2799 
2809  UserData
2811 
2821  OSErr
2823 
2833  OSErr
2834  GetTrackSoundLocalizationSettings(Track theTrack, Handle *settings);
2835 
2845  OSErr
2846  SetTrackSoundLocalizationSettings(Track theTrack, Handle settings);
2847 
2848  /*************************
2849  * get Media routines
2850  **************************/
2860  Media
2861  NewTrackMedia(Track theTrack, OSType mediaType, TimeScale timeScale,
2862  Handle dataRef, OSType dataRefType);
2863 
2873  void
2875 
2885  Media
2887 
2897  Track
2899 
2900  /*************************
2901  * Media State routines
2902  **************************/
2912  unsigned long
2914 
2924  unsigned long
2926 
2936  TimeScale
2938 
2948  void
2949  SetMediaTimeScale(Media theMedia, TimeScale timeScale);
2950 
2960  TimeValue
2962 
2972  short
2974 
2984  void
2985  SetMediaLanguage(Media theMedia, short language);
2986 
2996  short
2998 
3008  void
3009  SetMediaQuality(Media theMedia, short quality);
3010 
3020  void
3021  GetMediaHandlerDescription(Media theMedia, OSType *mediaType,
3022  Str255 creatorName, OSType *creatorManufacturer);
3023 
3033  UserData
3035 
3045  OSErr
3046  GetMediaInputMap(Media theMedia, QTAtomContainer *inputMap);
3047 
3057  OSErr
3058  SetMediaInputMap(Media theMedia, QTAtomContainer inputMap);
3059 
3060  /*************************
3061  * Media Handler routines
3062  **************************/
3072  MediaHandler
3074 
3084  OSErr
3086 
3087  /*************************
3088  * Media's Data routines
3089  **************************/
3099  OSErr
3101 
3111  OSErr
3113 
3123  OSErr
3124  SetMediaDefaultDataRefIndex(Media theMedia, short index);
3125 
3135  void
3136  GetMediaDataHandlerDescription(Media theMedia, short index, OSType *dhType,
3137  Str255 creatorName, OSType *creatorManufacturer);
3138 
3148  DataHandler
3149  GetMediaDataHandler(Media theMedia, short index);
3150 
3160  OSErr
3161  SetMediaDataHandler(Media theMedia, short index,
3162  DataHandlerComponent dataHandler);
3163 
3173  Component
3174  GetDataHandler(Handle dataRef, OSType dataHandlerSubType, long flags);
3175 
3185  OSErr
3186  OpenADataHandler(Handle dataRef, OSType dataHandlerSubType,
3187  Handle anchorDataRef, OSType anchorDataRefType, TimeBase tb,
3188  long flags, ComponentInstance *dh);
3189 
3190  /*************************
3191  * Media Sample Table Routines
3192  **************************/
3202  long
3204 
3214  void
3215  GetMediaSampleDescription(Media theMedia, long index,
3216  SampleDescriptionHandle descH);
3217 
3227  OSErr
3228  SetMediaSampleDescription(Media theMedia, long index,
3229  SampleDescriptionHandle descH);
3230 
3240  long
3242 
3252  long
3254 
3264  void
3265  SampleNumToMediaTime(Media theMedia, long logicalSampleNum,
3266  TimeValue *sampleTime, TimeValue *sampleDuration);
3267 
3277  void
3278  MediaTimeToSampleNum(Media theMedia, TimeValue time, long *sampleNum,
3279  TimeValue *sampleTime, TimeValue *sampleDuration);
3280 
3290  OSErr
3291  AddMediaSample(Media theMedia, Handle dataIn, long inOffset, unsigned long size,
3292  TimeValue durationPerSample,
3293  SampleDescriptionHandle sampleDescriptionH, long numberOfSamples,
3294  short sampleFlags, TimeValue *sampleTime);
3295 
3305  OSErr
3306  AddMediaSampleReference(Media theMedia, long dataOffset, unsigned long size,
3307  TimeValue durationPerSample,
3308  SampleDescriptionHandle sampleDescriptionH,
3309  long numberOfSamples, short sampleFlags,
3310  TimeValue *sampleTime);
3311 
3321  OSErr
3323  SampleDescriptionHandle sampleDescriptionH,
3324  long numberOfSamples, SampleReferencePtr sampleRefs,
3325  TimeValue *sampleTime);
3326 
3336  OSErr
3338  SampleDescriptionHandle sampleDescriptionH,
3339  long numberOfSamples,
3340  SampleReference64Ptr sampleRefs,
3341  TimeValue *sampleTime);
3342 
3352  OSErr
3353  GetMediaSample(Media theMedia, Handle dataOut, long maxSizeToGrow, long *size,
3354  TimeValue time, TimeValue *sampleTime,
3355  TimeValue *durationPerSample,
3356  SampleDescriptionHandle sampleDescriptionH,
3357  long *sampleDescriptionIndex, long maxNumberOfSamples,
3358  long *numberOfSamples, short *sampleFlags);
3359 
3369  OSErr
3370  GetMediaSampleReference(Media theMedia, long *dataOffset, long *size,
3371  TimeValue time, TimeValue *sampleTime,
3372  TimeValue *durationPerSample,
3373  SampleDescriptionHandle sampleDescriptionH,
3374  long *sampleDescriptionIndex, long maxNumberOfSamples,
3375  long *numberOfSamples, short *sampleFlags);
3376 
3386  OSErr
3387  GetMediaSampleReferences(Media theMedia, TimeValue time, TimeValue *sampleTime,
3388  SampleDescriptionHandle sampleDescriptionH,
3389  long *sampleDescriptionIndex, long maxNumberOfEntries,
3390  long *actualNumberofEntries,
3391  SampleReferencePtr sampleRefs);
3392 
3402  OSErr
3403  GetMediaSampleReferences64(Media theMedia, TimeValue time,
3404  TimeValue *sampleTime,
3405  SampleDescriptionHandle sampleDescriptionH,
3406  long *sampleDescriptionIndex,
3407  long maxNumberOfEntries, long *actualNumberofEntries,
3408  SampleReference64Ptr sampleRefs);
3409 
3419  OSErr
3420  SetMediaPreferredChunkSize(Media theMedia, long maxChunkSize);
3421 
3431  OSErr
3432  GetMediaPreferredChunkSize(Media theMedia, long *maxChunkSize);
3433 
3443  OSErr
3444  SetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long syncSampleNum);
3445 
3455  OSErr
3456  GetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long *syncSampleNum);
3457 
3458  /*************************
3459  * Editing Routines
3460  **************************/
3470  OSErr
3471  InsertMediaIntoTrack(Track theTrack, TimeValue trackStart, TimeValue mediaTime,
3472  TimeValue mediaDuration, Fixed mediaRate);
3473 
3483  OSErr
3484  InsertTrackSegment(Track srcTrack, Track dstTrack, TimeValue srcIn,
3485  TimeValue srcDuration, TimeValue dstIn);
3486 
3496  OSErr
3497  InsertMovieSegment(Movie srcMovie, Movie dstMovie, TimeValue srcIn,
3498  TimeValue srcDuration, TimeValue dstIn);
3499 
3509  OSErr
3510  InsertEmptyTrackSegment(Track dstTrack, TimeValue dstIn, TimeValue dstDuration);
3511 
3521  OSErr
3522  InsertEmptyMovieSegment(Movie dstMovie, TimeValue dstIn, TimeValue dstDuration);
3523 
3533  OSErr
3534  DeleteTrackSegment(Track theTrack, TimeValue startTime, TimeValue duration);
3535 
3545  OSErr
3546  DeleteMovieSegment(Movie theMovie, TimeValue startTime, TimeValue duration);
3547 
3557  OSErr
3558  ScaleTrackSegment(Track theTrack, TimeValue startTime, TimeValue oldDuration,
3559  TimeValue newDuration);
3560 
3570  OSErr
3571  ScaleMovieSegment(Movie theMovie, TimeValue startTime, TimeValue oldDuration,
3572  TimeValue newDuration);
3573 
3574  /*************************
3575  * Hi-level Editing Routines
3576  **************************/
3586  Movie
3588 
3598  Movie
3600 
3610  void
3612 
3622  void
3624 
3634  void
3636 
3646  OSErr
3647  PasteHandleIntoMovie(Handle h, OSType handleType, Movie theMovie, long flags,
3648  ComponentInstance userComp);
3649 
3659  OSErr
3661  Handle publicMovie, TimeValue start, TimeValue dur,
3662  long flags, ComponentInstance userComp);
3663 
3673  Component
3675 
3676  /*************************
3677  * Middle-level Editing Routines
3678  **************************/
3688  OSErr
3689  CopyTrackSettings(Track srcTrack, Track dstTrack);
3690 
3700  OSErr
3701  CopyMovieSettings(Movie srcMovie, Movie dstMovie);
3702 
3712  OSErr
3713  AddEmptyTrackToMovie(Track srcTrack, Movie dstMovie, Handle dataRef,
3714  OSType dataRefType, Track *dstTrack);
3715 
3716  enum
3717  {
3718  kQTCloneShareSamples = 1 << 0,
3719  kQTCloneDontCopyEdits = 1 << 1
3720  };
3721 
3731  OSErr
3732  AddClonedTrackToMovie(Track srcTrack, Movie dstMovie, long flags,
3733  Track *dstTrack);
3734 
3735  /*************************
3736  * movie & track edit state routines
3737  **************************/
3749 
3759  OSErr
3761 
3771  OSErr
3773 
3785 
3795  OSErr
3797 
3807  OSErr
3809 
3810  /*************************
3811  * track reference routines
3812  **************************/
3822  OSErr
3823  AddTrackReference(Track theTrack, Track refTrack, OSType refType,
3824  long *addedIndex);
3825 
3835  OSErr
3836  DeleteTrackReference(Track theTrack, OSType refType, long index);
3837 
3847  OSErr
3848  SetTrackReference(Track theTrack, Track refTrack, OSType refType, long index);
3849 
3859  Track
3860  GetTrackReference(Track theTrack, OSType refType, long index);
3861 
3871  OSType
3872  GetNextTrackReferenceType(Track theTrack, OSType refType);
3873 
3883  long
3884  GetTrackReferenceCount(Track theTrack, OSType refType);
3885 
3886  /*************************
3887  * high level file conversion routines
3888  **************************/
3898  OSErr
3899  ConvertFileToMovieFile(const FSSpec *inputFile, const FSSpec *outputFile,
3900  OSType creator, ScriptCode scriptTag, short *resID,
3901  long flags, ComponentInstance userComp,
3902  MovieProgressUPP proc, long refCon);
3903 
3913  OSErr
3914  ConvertMovieToFile(Movie theMovie, Track onlyTrack, FSSpec *outputFile,
3915  OSType fileType, OSType creator, ScriptCode scriptTag,
3916  short *resID, long flags, ComponentInstance userComp);
3917 
3918  enum
3919  {
3920  kGetMovieImporterValidateToFind = 1L << 0,
3921  kGetMovieImporterAllowNewFile = 1L << 1,
3922  kGetMovieImporterDontConsiderGraphicsImporters = 1L << 2,
3923  kGetMovieImporterDontConsiderFileOnlyImporters = 1L << 6,
3924  kGetMovieImporterAutoImportOnly =
3925  1L << 10 /* reject aggressive movie importers which have
3926  dontAutoFileMovieImport set*/
3927  };
3928 
3938  OSErr
3939  GetMovieImporterForDataRef(OSType dataRefType, Handle dataRef, long flags,
3940  Component *importer);
3941 
3942  enum
3943  {
3944  kQTGetMIMETypeInfoIsQuickTimeMovieType =
3945  FOUR_CHAR_CODE('moov'), /* info is a pointer to a Boolean*/
3946  kQTGetMIMETypeInfoIsUnhelpfulType =
3947  FOUR_CHAR_CODE('dumb') /* info is a pointer to a Boolean*/
3948  };
3949 
3959  OSErr
3960  QTGetMIMETypeInfo(const char *mimeStringStart, short mimeStringLength,
3961  OSType infoSelector, void *infoDataPtr, long *infoDataSize);
3962 
3963  /*************************
3964  * Movie Timebase Conversion Routines
3965  **************************/
3975  TimeValue
3976  TrackTimeToMediaTime(TimeValue value, Track theTrack);
3977 
3987  Fixed
3988  GetTrackEditRate(Track theTrack, TimeValue atTime);
3989 
3990  /*************************
3991  * Miscellaneous Routines
3992  **************************/
3993 
4003  long
4004  GetMovieDataSize(Movie theMovie, TimeValue startTime, TimeValue duration);
4005 
4015  OSErr
4016  GetMovieDataSize64(Movie theMovie, TimeValue startTime, TimeValue duration,
4017  wide *dataSize);
4018 
4028  long
4029  GetTrackDataSize(Track theTrack, TimeValue startTime, TimeValue duration);
4030 
4040  OSErr
4041  GetTrackDataSize64(Track theTrack, TimeValue startTime, TimeValue duration,
4042  wide *dataSize);
4043 
4053  long
4054  GetMediaDataSize(Media theMedia, TimeValue startTime, TimeValue duration);
4055 
4065  OSErr
4066  GetMediaDataSize64(Media theMedia, TimeValue startTime, TimeValue duration,
4067  wide *dataSize);
4068 
4078  Boolean
4080 
4090  Boolean
4091  PtInTrack(Track theTrack, Point pt);
4092 
4093  /*************************
4094  * Group Selection Routines
4095  **************************/
4096 
4106  void
4108 
4109  /*************************
4110  * User Data
4111  **************************/
4112 
4122  OSErr
4123  GetUserData(UserData theUserData, Handle data, OSType udType, long index);
4124 
4134  OSErr
4135  AddUserData(UserData theUserData, Handle data, OSType udType);
4136 
4146  OSErr
4147  RemoveUserData(UserData theUserData, OSType udType, long index);
4148 
4158  short
4159  CountUserDataType(UserData theUserData, OSType udType);
4160 
4170  long
4171  GetNextUserDataType(UserData theUserData, OSType udType);
4172 
4182  OSErr
4183  GetUserDataItem(UserData theUserData, void *data, long size, OSType udType,
4184  long index);
4185 
4195  OSErr
4196  SetUserDataItem(UserData theUserData, void *data, long size, OSType udType,
4197  long index);
4198 
4208  OSErr
4209  AddUserDataText(UserData theUserData, Handle data, OSType udType, long index,
4210  short itlRegionTag);
4211 
4221  OSErr
4222  GetUserDataText(UserData theUserData, Handle data, OSType udType, long index,
4223  short itlRegionTag);
4224 
4234  OSErr
4235  RemoveUserDataText(UserData theUserData, OSType udType, long index,
4236  short itlRegionTag);
4237 
4247  OSErr
4248  NewUserData(UserData *theUserData);
4249 
4259  OSErr
4261 
4271  OSErr
4272  NewUserDataFromHandle(Handle h, UserData *theUserData);
4273 
4283  OSErr
4284  PutUserDataIntoHandle(UserData theUserData, Handle h);
4285 
4295  OSErr
4296  SetMoviePropertyAtom(Movie theMovie, QTAtomContainer propertyAtom);
4297 
4307  OSErr
4308  GetMoviePropertyAtom(Movie theMovie, QTAtomContainer *propertyAtom);
4309 
4319  void
4320  GetMediaNextInterestingTime(Media theMedia, short interestingTimeFlags,
4321  TimeValue time, Fixed rate,
4322  TimeValue *interestingTime,
4323  TimeValue *interestingDuration);
4324 
4334  void
4335  GetTrackNextInterestingTime(Track theTrack, short interestingTimeFlags,
4336  TimeValue time, Fixed rate,
4337  TimeValue *interestingTime,
4338  TimeValue *interestingDuration);
4339 
4349  void
4350  GetMovieNextInterestingTime(Movie theMovie, short interestingTimeFlags,
4351  short numMediaTypes, const OSType *whichMediaTypes,
4352  TimeValue time, Fixed rate,
4353  TimeValue *interestingTime,
4354  TimeValue *interestingDuration);
4355 
4365  OSErr
4366  CreateMovieFile(const FSSpec *fileSpec, OSType creator, ScriptCode scriptTag,
4367  long createMovieFileFlags, short *resRefNum, Movie *newmovie);
4368 
4378  OSErr
4379  OpenMovieFile(const FSSpec *fileSpec, short *resRefNum, SInt8 permission);
4380 
4390  OSErr
4391  CloseMovieFile(short resRefNum);
4392 
4402  OSErr
4403  DeleteMovieFile(const FSSpec *fileSpec);
4404 
4414  OSErr
4416  Movie *theMovie, short resRefNum, short *resId, /* can be NULL */
4417  StringPtr resName, short newMovieFlags,
4418  Boolean *dataRefWasChanged) /* can be NULL */;
4419 
4429  OSErr
4430  NewMovieFromHandle(Movie *theMovie, Handle h, short newMovieFlags,
4431  Boolean *dataRefWasChanged);
4432 
4442  OSErr
4443  NewMovieFromDataFork(Movie *theMovie, short fRefNum, long fileOffset,
4444  short newMovieFlags, Boolean *dataRefWasChanged);
4445 
4455  OSErr
4456  NewMovieFromDataFork64(Movie *theMovie, long fRefNum, const wide *fileOffset,
4457  short newMovieFlags, Boolean *dataRefWasChanged);
4458 
4468  OSErr
4469  NewMovieFromUserProc(Movie *m, short flags, Boolean *dataRefWasChanged,
4470  GetMovieUPP getProc, void *refCon, Handle defaultDataRef,
4471  OSType dataRefType);
4472 
4482  OSErr
4483  NewMovieFromDataRef(Movie *m, short flags, short *id, Handle dataRef,
4484  OSType dataRefType);
4485 
4495  OSErr
4496  AddMovieResource(Movie theMovie, short resRefNum, short *resId,
4497  ConstStr255Param resName);
4498 
4508  OSErr
4509  UpdateMovieResource(Movie theMovie, short resRefNum, short resId,
4510  ConstStr255Param resName);
4511 
4521  OSErr
4522  RemoveMovieResource(short resRefNum, short resId);
4523 
4533  Boolean
4535 
4545  void
4547 
4557  OSErr
4558  SetMovieDefaultDataRef(Movie theMovie, Handle dataRef, OSType dataRefType);
4559 
4569  OSErr
4570  GetMovieDefaultDataRef(Movie theMovie, Handle *dataRef, OSType *dataRefType);
4571 
4581  OSErr
4582  SetMovieAnchorDataRef(Movie theMovie, Handle dataRef, OSType dataRefType);
4583 
4593  OSErr
4594  GetMovieAnchorDataRef(Movie theMovie, Handle *dataRef, OSType *dataRefType,
4595  long *outFlags);
4596 
4606  OSErr
4608 
4618  OSErr
4620 
4630  void
4631  FlattenMovie(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile,
4632  OSType creator, ScriptCode scriptTag, long createMovieFileFlags,
4633  short *resId, ConstStr255Param resName);
4634 
4644  Movie
4645  FlattenMovieData(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile,
4646  OSType creator, ScriptCode scriptTag,
4647  long createMovieFileFlags);
4648 
4658  void
4659  SetMovieProgressProc(Movie theMovie, MovieProgressUPP p, long refcon);
4660 
4670  void
4671  GetMovieProgressProc(Movie theMovie, MovieProgressUPP *p, long *refcon);
4672 
4682  OSErr
4683  CreateShortcutMovieFile(const FSSpec *fileSpec, OSType creator,
4684  ScriptCode scriptTag, long createMovieFileFlags,
4685  Handle targetDataRef, OSType targetDataRefType);
4686 
4696  OSErr
4697  MovieSearchText(Movie theMovie, Ptr text, long size, long searchFlags,
4698  Track *searchTrack, TimeValue *searchTime, long *searchOffset);
4699 
4709  void
4711 
4721  void
4722  SetPosterBox(Movie theMovie, const Rect *boxRect);
4723 
4733  RgnHandle
4735  TimeValue duration);
4736 
4746  RgnHandle
4747  GetTrackSegmentDisplayBoundsRgn(Track theTrack, TimeValue time,
4748  TimeValue duration);
4749 
4759  void
4760  SetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP uncoverProc,
4761  MovieRgnCoverUPP coverProc, long refcon);
4762 
4772  OSErr
4773  GetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP *uncoverProc,
4774  MovieRgnCoverUPP *coverProc, long *refcon);
4775 
4785  ComponentResult
4787 
4797  ComponentResult
4798  GetMovieStatus(Movie theMovie, Track *firstProblemTrack);
4799 
4800  enum
4801  {
4802  kMovieLoadStateError = -1L,
4803  kMovieLoadStateLoading = 1000,
4804  kMovieLoadStateLoaded = 2000,
4805  kMovieLoadStatePlayable = 10000,
4806  kMovieLoadStatePlaythroughOK = 20000,
4807  kMovieLoadStateComplete = 100000L
4808  };
4809 
4819  long
4821 
4822  /* Input flags for CanQuickTimeOpenFile/DataRef */
4823  enum
4824  {
4825  kQTDontUseDataToFindImporter = 1L << 0,
4826  kQTDontLookForMovieImporterIfGraphicsImporterFound = 1L << 1,
4827  kQTAllowOpeningStillImagesAsMovies = 1L << 2,
4828  kQTAllowImportersThatWouldCreateNewFile = 1L << 3,
4829  kQTAllowAggressiveImporters = 1L << 4 /* eg, TEXT and PICT movie importers*/
4830  };
4831 
4832  /* Determines whether the file could be opened using a graphics importer or
4833  * opened in place as a movie. */
4843  OSErr
4844  CanQuickTimeOpenFile(FSSpecPtr fileSpec, OSType fileType,
4845  OSType fileNameExtension,
4846  Boolean *outCanOpenWithGraphicsImporter,
4847  Boolean *outCanOpenAsMovie,
4848  Boolean *outPreferGraphicsImporter, UInt32 inFlags);
4849 
4850  /* Determines whether the file could be opened using a graphics importer or
4851  * opened in place as a movie. */
4861  OSErr
4862  CanQuickTimeOpenDataRef(Handle dataRef, OSType dataRefType,
4863  Boolean *outCanOpenWithGraphicsImporter,
4864  Boolean *outCanOpenAsMovie,
4865  Boolean *outPreferGraphicsImporter, UInt32 inFlags);
4866 
4867  /****
4868  Movie Controller support routines
4869  ****/
4880  NewMovieController(Movie theMovie, const Rect *movieRect, long someFlags);
4881 
4891  void
4893 
4903  void
4904  ShowMovieInformation(Movie theMovie, ModalFilterUPP filterProc, long refCon);
4905 
4906  /*****
4907  Scrap routines
4908  *****/
4918  OSErr
4919  PutMovieOnScrap(Movie theMovie, long movieScrapFlags);
4920 
4930  Movie
4931  NewMovieFromScrap(long newMovieFlags);
4932 
4933  /*****
4934  DataRef routines
4935  *****/
4936 
4946  OSErr
4947  GetMediaDataRef(Media theMedia, short index, Handle *dataRef,
4948  OSType *dataRefType, long *dataRefAttributes);
4949 
4959  OSErr
4960  SetMediaDataRef(Media theMedia, short index, Handle dataRef, OSType dataRefType);
4961 
4971  OSErr
4972  SetMediaDataRefAttributes(Media theMedia, short index, long dataRefAttributes);
4973 
4983  OSErr
4984  AddMediaDataRef(Media theMedia, short *index, Handle dataRef,
4985  OSType dataRefType);
4986 
4996  OSErr
4997  GetMediaDataRefCount(Media theMedia, short *count);
4998 
5008  OSErr
5009  QTNewAlias(const FSSpec *fss, AliasHandle *alias, Boolean minimal);
5010 
5011  /*****
5012  Playback hint routines
5013  *****/
5023  void
5024  SetMoviePlayHints(Movie theMovie, long flags, long flagsMask);
5025 
5035  void
5036  SetMediaPlayHints(Media theMedia, long flags, long flagsMask);
5037 
5047  void
5048  GetMediaPlayHints(Media theMedia, long *flags);
5049 
5050  /*****
5051  Load time track hints
5052  *****/
5053  enum
5054  {
5055  preloadAlways = 1L << 0,
5056  preloadOnlyIfEnabled = 1L << 1
5057  };
5058 
5068  void
5069  SetTrackLoadSettings(Track theTrack, TimeValue preloadTime,
5070  TimeValue preloadDuration, long preloadFlags,
5071  long defaultHints);
5072 
5082  void
5083  GetTrackLoadSettings(Track theTrack, TimeValue *preloadTime,
5084  TimeValue *preloadDuration, long *preloadFlags,
5085  long *defaultHints);
5086 
5087  /*****
5088  Big screen TV
5089  *****/
5090  enum
5091  {
5092  fullScreenHideCursor = 1L << 0,
5093  fullScreenAllowEvents = 1L << 1,
5094  fullScreenDontChangeMenuBar = 1L << 2,
5095  fullScreenPreflightSize = 1L << 3
5096  };
5097 
5107  OSErr
5108  BeginFullScreen(Ptr *restoreState, GDHandle whichGD, short *desiredWidth,
5109  short *desiredHeight, WindowRef *newWindow,
5110  RGBColor *eraseColor, long flags);
5111 
5121  OSErr
5122  EndFullScreen(Ptr fullState, long flags);
5123 
5124  /*****
5125  Wired Actions
5126  *****/
5127  /* flags for MovieExecuteWiredActions*/
5128  enum
5129  {
5130  movieExecuteWiredActionDontExecute = 1L << 0
5131  };
5132 
5142  OSErr
5144  MovieExecuteWiredActionsUPP proc, void *refCon);
5145 
5155  OSErr
5157  MovieExecuteWiredActionsUPP proc,
5158  void *refCon);
5159 
5169  OSErr
5170  MovieExecuteWiredActions(Movie theMovie, long flags, QTAtomContainer actions);
5171 
5172  /*****
5173  Sprite Toolbox
5174  *****/
5175  enum
5176  {
5177  kBackgroundSpriteLayerNum = 32767
5178  };
5179 
5180  /* Sprite Properties*/
5181  enum
5182  {
5183  kSpritePropertyMatrix = 1,
5184  kSpritePropertyImageDescription = 2,
5185  kSpritePropertyImageDataPtr = 3,
5186  kSpritePropertyVisible = 4,
5187  kSpritePropertyLayer = 5,
5188  kSpritePropertyGraphicsMode = 6,
5189  kSpritePropertyImageDataSize = 7,
5190  kSpritePropertyActionHandlingSpriteID = 8,
5191  kSpritePropertyImageIndex = 100,
5192  kSpriteTrackPropertyBackgroundColor = 101,
5193  kSpriteTrackPropertyOffscreenBitDepth = 102,
5194  kSpriteTrackPropertySampleFormat = 103,
5195  kSpriteTrackPropertyScaleSpritesToScaleWorld = 104,
5196  kSpriteTrackPropertyHasActions = 105,
5197  kSpriteTrackPropertyVisible = 106,
5198  kSpriteTrackPropertyQTIdleEventsFrequency = 107,
5199  kSpriteImagePropertyRegistrationPoint = 1000,
5200  kSpriteImagePropertyGroupID = 1001
5201  };
5202 
5203  /* special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)*/
5204  enum
5205  {
5206  kNoQTIdleEvents = -1
5207  };
5208 
5209  /* flagsIn for SpriteWorldIdle*/
5210  enum
5211  {
5212  kOnlyDrawToSpriteWorld = 1L << 0,
5213  kSpriteWorldPreflight = 1L << 1
5214  };
5215 
5216  /* flagsOut for SpriteWorldIdle*/
5217  enum
5218  {
5219  kSpriteWorldDidDraw = 1L << 0,
5220  kSpriteWorldNeedsToDraw = 1L << 1
5221  };
5222 
5223  /* flags for sprite track sample format*/
5224  enum
5225  {
5226  kKeyFrameAndSingleOverride = 1L << 1,
5227  kKeyFrameAndAllOverrides = 1L << 2
5228  };
5229 
5230  /* sprite world flags*/
5231  enum
5232  {
5233  kScaleSpritesToScaleWorld = 1L << 1,
5234  kSpriteWorldHighQuality = 1L << 2,
5235  kSpriteWorldDontAutoInvalidate = 1L << 3,
5236  kSpriteWorldInvisible = 1L << 4
5237  };
5238 
5248  OSErr
5249  NewSpriteWorld(SpriteWorld *newSpriteWorld, GWorldPtr destination,
5250  GWorldPtr spriteLayer, RGBColor *backgroundColor,
5251  GWorldPtr background);
5252 
5262  void
5264 
5274  OSErr
5275  SetSpriteWorldClip(SpriteWorld theSpriteWorld, RgnHandle clipRgn);
5276 
5286  OSErr
5287  SetSpriteWorldMatrix(SpriteWorld theSpriteWorld, const MatrixRecord *matrix);
5288 
5298  OSErr
5299  SetSpriteWorldGraphicsMode(SpriteWorld theSpriteWorld, long mode,
5300  const RGBColor *opColor);
5301 
5311  OSErr
5312  SpriteWorldIdle(SpriteWorld theSpriteWorld, long flagsIn, long *flagsOut);
5313 
5323  OSErr
5324  InvalidateSpriteWorld(SpriteWorld theSpriteWorld, Rect *invalidArea);
5325 
5335  OSErr
5336  SpriteWorldHitTest(SpriteWorld theSpriteWorld, long flags, Point loc,
5337  Sprite *spriteHit);
5338 
5348  OSErr
5349  SpriteHitTest(Sprite theSprite, long flags, Point loc, Boolean *wasHit);
5350 
5360  void
5362 
5372  OSErr
5373  SetSpriteWorldFlags(SpriteWorld spriteWorld, long flags, long flagsMask);
5374 
5384  OSErr
5385  NewSprite(Sprite *newSprite, SpriteWorld itsSpriteWorld,
5386  ImageDescriptionHandle idh, Ptr imageDataPtr, MatrixRecord *matrix,
5387  Boolean visible, short layer);
5388 
5398  void
5399  DisposeSprite(Sprite theSprite);
5400 
5410  void
5412 
5422  OSErr
5423  SetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue);
5424 
5434  OSErr
5435  GetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue);
5436 
5437  /*****
5438  QT Atom Data Support
5439  *****/
5440  enum
5441  {
5442  kParentAtomIsContainer = 0
5443  };
5444 
5445  /* create and dispose QTAtomContainer objects*/
5446 
5456  OSErr
5457  QTNewAtomContainer(QTAtomContainer *atomData);
5458 
5468  OSErr
5469  QTDisposeAtomContainer(QTAtomContainer atomData);
5470 
5471  /* locating nested atoms within QTAtomContainer container*/
5472 
5482  QTAtomType
5483  QTGetNextChildType(QTAtomContainer container, QTAtom parentAtom,
5484  QTAtomType currentChildType);
5485 
5495  short
5496  QTCountChildrenOfType(QTAtomContainer container, QTAtom parentAtom,
5497  QTAtomType childType);
5498 
5508  QTAtom
5509  QTFindChildByIndex(QTAtomContainer container, QTAtom parentAtom,
5510  QTAtomType atomType, short index, QTAtomID *id);
5511 
5521  QTAtom
5522  QTFindChildByID(QTAtomContainer container, QTAtom parentAtom,
5523  QTAtomType atomType, QTAtomID id, short *index);
5524 
5534  OSErr
5535  QTNextChildAnyType(QTAtomContainer container, QTAtom parentAtom,
5536  QTAtom currentChild, QTAtom *nextChild);
5537 
5538  /* set a leaf atom's data*/
5548  OSErr
5549  QTSetAtomData(QTAtomContainer container, QTAtom atom, long dataSize,
5550  void *atomData);
5551 
5552  /* extracting data*/
5562  OSErr
5563  QTCopyAtomDataToHandle(QTAtomContainer container, QTAtom atom,
5564  Handle targetHandle);
5565 
5575  OSErr
5576  QTCopyAtomDataToPtr(QTAtomContainer container, QTAtom atom,
5577  Boolean sizeOrLessOK, long size, void *targetPtr,
5578  long *actualSize);
5579 
5589  OSErr
5590  QTGetAtomTypeAndID(QTAtomContainer container, QTAtom atom, QTAtomType *atomType,
5591  QTAtomID *id);
5592 
5593  /* extract a copy of an atom and all of it's children, caller disposes*/
5603  OSErr
5604  QTCopyAtom(QTAtomContainer container, QTAtom atom,
5605  QTAtomContainer *targetContainer);
5606 
5607  /* obtaining direct reference to atom data*/
5617  OSErr
5618  QTLockContainer(QTAtomContainer container);
5619 
5629  OSErr
5630  QTGetAtomDataPtr(QTAtomContainer container, QTAtom atom, long *dataSize,
5631  Ptr *atomData);
5632 
5642  OSErr
5643  QTUnlockContainer(QTAtomContainer container);
5644 
5659  OSErr
5660  QTInsertChild(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType,
5661  QTAtomID id, short index, long dataSize, void *data,
5662  QTAtom *newAtom);
5663 
5664  /* inserts children from childrenContainer as children of parentAtom*/
5674  OSErr
5675  QTInsertChildren(QTAtomContainer container, QTAtom parentAtom,
5676  QTAtomContainer childrenContainer);
5677 
5678  /* destruction*/
5688  OSErr
5689  QTRemoveAtom(QTAtomContainer container, QTAtom atom);
5690 
5700  OSErr
5701  QTRemoveChildren(QTAtomContainer container, QTAtom atom);
5702 
5703  /* replacement must be same type as target*/
5713  OSErr
5714  QTReplaceAtom(QTAtomContainer targetContainer, QTAtom targetAtom,
5715  QTAtomContainer replacementContainer, QTAtom replacementAtom);
5716 
5726  OSErr
5727  QTSwapAtoms(QTAtomContainer container, QTAtom atom1, QTAtom atom2);
5728 
5738  OSErr
5739  QTSetAtomID(QTAtomContainer container, QTAtom atom, QTAtomID newID);
5740 
5750  QTAtom
5751  QTGetAtomParent(QTAtomContainer container, QTAtom childAtom);
5752 
5762  OSErr
5763  SetMediaPropertyAtom(Media theMedia, QTAtomContainer propertyAtom);
5764 
5774  OSErr
5775  GetMediaPropertyAtom(Media theMedia, QTAtomContainer *propertyAtom);
5776 
5777  /*****
5778  Tween Support
5779  *****/
5780  typedef struct TweenRecord TweenRecord;
5781  typedef CALLBACK_API(ComponentResult, TweenerDataProcPtr)(
5782  TweenRecord *tr, void *tweenData, long tweenDataSize,
5783  long dataDescriptionSeed, Handle dataDescription,
5784  ICMCompletionProcRecordPtr asyncCompletionProc,
5785  UniversalProcPtr transferProc, void *refCon);
5786  typedef STACK_UPP_TYPE(TweenerDataProcPtr) TweenerDataUPP;
5788  {
5789  long version;
5790 
5791  QTAtomContainer container;
5792  QTAtom tweenAtom;
5793  QTAtom dataAtom;
5794  Fixed percent;
5795 
5796  TweenerDataUPP dataProc;
5797 
5798  void *private1;
5799  void *private2;
5800  };
5801 
5803  {
5804  long version;
5805 
5806  QTAtomContainer container;
5807  QTAtom tweenAtom;
5808  QTAtom dataAtom;
5809  Fixed percent;
5810 
5811  TweenerDataUPP dataProc;
5812 
5813  void *private1;
5814  void *private2;
5815 
5816  Fract fractPercent;
5817  };
5818  typedef struct TweenV1Record TweenV1Record;
5828  OSErr
5829  QTNewTween(QTTweener *tween, QTAtomContainer container, QTAtom tweenAtom,
5830  TimeValue maxTime);
5831 
5841  OSErr
5843 
5853  OSErr
5854  QTDoTween(QTTweener tween, TimeValue atTime, Handle result, long *resultSize,
5855  TweenerDataUPP tweenDataProc, void *tweenDataRefCon);
5856 
5857  /*****
5858  Sound Description Manipulations
5859  *****/
5869  OSErr
5871  OSType idType);
5872 
5882  OSErr
5884  OSType idType);
5885 
5895  OSErr
5897 
5898  /*****
5899  Preferences
5900  *****/
5910  OSErr
5911  GetQuickTimePreference(OSType preferenceType, QTAtomContainer *preferenceAtom);
5912 
5922  OSErr
5923  SetQuickTimePreference(OSType preferenceType, QTAtomContainer preferenceAtom);
5924 
5925  /*****
5926  Effects and dialog Support
5927  *****/
5928  /* atom types for entries in the effects list*/
5929  enum
5930  {
5931  kEffectNameAtom = FOUR_CHAR_CODE('name'), /* name of effect */
5932  kEffectTypeAtom = FOUR_CHAR_CODE('type'), /* codec sub-type for effect */
5933  kEffectManufacturerAtom =
5934  FOUR_CHAR_CODE('manu') /* codec manufacturer for effect */
5935  };
5936 
5938  {
5939  long sourceID; /* 1 based source identifier*/
5940  PicHandle sourcePicture; /* picture for preview, must not dispose until dialog
5941  is disposed*/
5942  };
5946  {
5947  EventRecord *theEvent; /* Event received by the dialog */
5948  DialogRef whichDialog; /* dialog that event was directed towards */
5949  short itemHit; /* dialog item which was hit */
5950  };
5954  {
5955  GWorldPtr theWorld; /* the world into which to draw the preview */
5956  Fixed percentage; /* frame percentage (from 0.0 - 1.0) to be drawn */
5957  };
5960  enum
5961  {
5962  pdActionConfirmDialog = 1, /* no param*/
5963  pdActionSetAppleMenu = 2, /* param is MenuRef*/
5964  pdActionSetEditMenu = 3, /* param is MenuRef*/
5965  pdActionGetDialogValues = 4, /* param is QTAtomContainer*/
5966  pdActionSetPreviewUserItem = 5, /* param is long*/
5967  pdActionSetPreviewPicture = 6, /* param is QTParamPreviewPtr;*/
5968  pdActionSetColorPickerEventProc = 7, /* param is UserEventUPP*/
5969  pdActionSetDialogTitle = 8, /* param is StringPtr */
5970  pdActionGetSubPanelMenu = 9, /* param is MenuRef* */
5971  pdActionActivateSubPanel = 10, /* param is long */
5972  pdActionConductStopAlert = 11, /* param is StringPtr */
5973  pdActionModelessCallback = 12, /* param is QTParamDialogEventPtr */
5974  pdActionFetchPreview = 13 /* param is QTParamFetchPreviewPtr */
5975  };
5976 
5977  typedef long QTParameterDialog;
5978  enum
5979  {
5980  elOptionsIncludeNoneInList =
5981  0x00000001 /* "None" effect is included in list */
5982  };
5983 
5984  typedef long QTEffectListOptions;
5985  enum
5986  {
5987  pdOptionsCollectOneValue = 0x00000001, /* should collect a single value only*/
5988  pdOptionsAllowOptionalInterpolations =
5989  0x00000002, /* non-novice interpolation options are shown */
5990  pdOptionsModalDialogBox = 0x00000004 /* dialog box should be modal */
5991  };
5992 
5993  typedef long QTParameterDialogOptions;
5994  enum
5995  {
5996  effectIsRealtime = 0 /* effect can be rendered in real time */
5997  };
5998 
6008  OSErr
6009  QTGetEffectsList(QTAtomContainer *returnedList, long minSources,
6010  long maxSources, QTEffectListOptions getOptions);
6011 
6021  OSErr
6022  QTCreateStandardParameterDialog(QTAtomContainer effectList,
6023  QTAtomContainer parameters,
6024  QTParameterDialogOptions dialogOptions,
6025  QTParameterDialog *createdDialog);
6026 
6036  OSErr
6038  QTParameterDialog createdDialog);
6039 
6049  OSErr
6050  QTDismissStandardParameterDialog(QTParameterDialog createdDialog);
6051 
6061  OSErr
6062  QTStandardParameterDialogDoAction(QTParameterDialog createdDialog, long action,
6063  void *params);
6064 
6074  OSErr
6075  QTGetEffectSpeed(QTAtomContainer parameters, Fixed *pFPS);
6076 
6077  /*****
6078  Access Keys
6079  *****/
6080  enum
6081  {
6082  kAccessKeyAtomType = FOUR_CHAR_CODE('acky')
6083  };
6084 
6085  enum
6086  {
6087  kAccessKeySystemFlag = 1L << 0
6088  };
6089 
6099  OSErr
6100  QTGetAccessKeys(Str255 accessKeyType, long flags, QTAtomContainer *keys);
6101 
6111  OSErr
6112  QTRegisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey);
6113 
6123  OSErr
6124  QTUnregisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey);
6125 
6126  /*****
6127  Time table
6128  *****/
6138  OSErr
6139  MakeTrackTimeTable(Track trackH, long **offsets, TimeValue startTime,
6140  TimeValue endTime, TimeValue timeIncrement,
6141  short firstDataRefIndex, short lastDataRefIndex,
6142  long *retdataRefSkew);
6143 
6153  OSErr
6154  MakeMediaTimeTable(Media theMedia, long **offsets, TimeValue startTime,
6155  TimeValue endTime, TimeValue timeIncrement,
6156  short firstDataRefIndex, short lastDataRefIndex,
6157  long *retdataRefSkew);
6158 
6168  OSErr
6170 
6180  OSErr
6182 
6192  OSErr
6193  QTGetDataRefMaxFileOffset(Movie movieH, OSType dataRefType, Handle dataRef,
6194  long *offset);
6195 
6196  /*****
6197  Bandwidth management support
6198  *****/
6199  enum
6200  {
6201  ConnectionSpeedPrefsType = FOUR_CHAR_CODE('cspd'),
6202  BandwidthManagementPrefsType = FOUR_CHAR_CODE('bwmg')
6203  };
6204 
6206  {
6207  long connectionSpeed;
6208  };
6213  {
6214  Boolean overrideConnectionSpeedForBandwidth;
6215  };
6219  enum
6220  {
6221  kQTIdlePriority = 10,
6222  kQTNonRealTimePriority = 20,
6223  kQTRealTimeSharedPriority = 25,
6224  kQTRealTimePriority = 30
6225  };
6226 
6227  enum
6228  {
6229  kQTBandwidthNotifyNeedToStop = 1L << 0,
6230  kQTBandwidthNotifyGoodToGo = 1L << 1,
6231  kQTBandwidthChangeRequest = 1L << 2,
6232  kQTBandwidthQueueRequest = 1L << 3,
6233  kQTBandwidthScheduledRequest = 1L << 4,
6234  kQTBandwidthVoluntaryRelease = 1L << 5
6235  };
6236 
6237  typedef CALLBACK_API(OSErr, QTBandwidthNotificationProcPtr)(long flags,
6238  void *reserved,
6239  void *refcon);
6240  typedef STACK_UPP_TYPE(QTBandwidthNotificationProcPtr)
6241  QTBandwidthNotificationUPP;
6243  {
6244  long recordSize; /* total number of bytes in QTScheduledBandwidthRecord*/
6245 
6246  long priority;
6247  long dataRate;
6248  CompTimeValue startTime; /* bandwidth usage start time*/
6249  CompTimeValue duration; /* duration of bandwidth usage (0 if unknown)*/
6251  prerollDuration; /* time for negotiation before startTime (0 if unknown)*/
6252  TimeScale scale; /* timescale of value/duration/prerollDuration fields*/
6253  TimeBase base; /* timebase*/
6254  };
6267  OSErr
6268  QTBandwidthRequest(long priority, QTBandwidthNotificationUPP callback,
6269  const void *refcon, QTBandwidthReference *bwRef, long flags);
6270 
6280  OSErr
6281  QTBandwidthRequestForTimeBase(TimeBase tb, long priority,
6282  QTBandwidthNotificationUPP callback,
6283  const void *refcon, QTBandwidthReference *bwRef,
6284  long flags);
6285 
6295  OSErr
6296  QTBandwidthRelease(QTBandwidthReference bwRef, long flags);
6297 
6307  OSErr
6309  QTBandwidthNotificationUPP notificationCallback,
6310  void *refcon, QTScheduledBandwidthReference *sbwRef,
6311  long flags);
6312 
6322  OSErr
6323  QTScheduledBandwidthRelease(QTScheduledBandwidthReference sbwRef, long flags);
6324 
6325  /*****
6326  QT International Text Atom Support
6327  *****/
6328  enum
6329  {
6330  kITextRemoveEverythingBut = 0 << 1,
6331  kITextRemoveLeaveSuggestedAlternate = 1 << 1
6332  };
6333 
6334  enum
6335  {
6336  kITextAtomType = FOUR_CHAR_CODE('itxt'),
6337  kITextStringAtomType = FOUR_CHAR_CODE('text')
6338  };
6339 
6349  OSErr
6350  ITextAddString(QTAtomContainer container, QTAtom parentAtom,
6351  RegionCode theRegionCode, ConstStr255Param theString);
6352 
6362  OSErr
6363  ITextRemoveString(QTAtomContainer container, QTAtom parentAtom,
6364  RegionCode theRegionCode, long flags);
6365 
6375  OSErr
6376  ITextGetString(QTAtomContainer container, QTAtom parentAtom,
6377  RegionCode requestedRegion, RegionCode *foundRegion,
6378  StringPtr theString);
6379 
6389  OSErr
6390  QTTextToNativeText(Handle theText, long encoding, long flags);
6391 
6392  /* QTParseTextHREF inContainer atoms*/
6393  enum
6394  {
6395  kQTParseTextHREFText = FOUR_CHAR_CODE('text'), /* string*/
6396  kQTParseTextHREFBaseURL = FOUR_CHAR_CODE('burl'), /* string*/
6397  kQTParseTextHREFClickPoint =
6398  FOUR_CHAR_CODE('clik'), /* Point; if present, QTParseTextHREF will expand
6399  URLs to support server-side image maps*/
6400  kQTParseTextHREFUseAltDelim = FOUR_CHAR_CODE(
6401  'altd'), /* boolean; if no kQTParseTextHREFDelimiter, delim is ':'*/
6402  kQTParseTextHREFDelimiter = FOUR_CHAR_CODE('delm'), /* character*/
6403  kQTParseTextHREFRecomposeHREF = FOUR_CHAR_CODE(
6404  'rhrf') /* Boolean; if true, QTParseTextHREF returns recomposed HREF with
6405  URL expanded as appropriate*/
6406  };
6407 
6408  /* QTParseTextHREF outContainer atoms*/
6409  enum
6410  {
6411  kQTParseTextHREFURL = FOUR_CHAR_CODE('url '), /* string*/
6412  kQTParseTextHREFTarget = FOUR_CHAR_CODE('targ'), /* string*/
6413  kQTParseTextHREFChapter = FOUR_CHAR_CODE('chap'), /* string*/
6414  kQTParseTextHREFIsAutoHREF = FOUR_CHAR_CODE('auto'), /* Boolean*/
6415  kQTParseTextHREFIsServerMap = FOUR_CHAR_CODE('smap'), /* Boolean*/
6416  kQTParseTextHREFHREF =
6417  FOUR_CHAR_CODE('href'), /* string; recomposed HREF with URL expanded as
6418  appropriate, suitable for mcActionLinkToURL*/
6419  kQTParseTextHREFEMBEDArgs =
6420  FOUR_CHAR_CODE('mbed') /* string; text between 'E<' and '>' to be used as
6421  new movie's embed tags*/
6422  };
6423 
6433  OSErr
6434  QTParseTextHREF(char *href, SInt32 hrefLen, QTAtomContainer inContainer,
6435  QTAtomContainer *outContainer);
6436 
6437  /*************************
6438  * track reference types
6439  **************************/
6440  enum
6441  {
6442  kTrackReferenceChapterList = FOUR_CHAR_CODE('chap'),
6443  kTrackReferenceTimeCode = FOUR_CHAR_CODE('tmcd'),
6444  kTrackReferenceModifier = FOUR_CHAR_CODE('ssrc')
6445  };
6446 
6447  /*************************
6448  * modifier track types
6449  **************************/
6450  enum
6451  {
6452  kTrackModifierInput = 0x696E, /* is really 'in'*/
6453  kTrackModifierType = 0x7479, /* is really 'ty'*/
6454  kTrackModifierReference = FOUR_CHAR_CODE('ssrc'),
6455  kTrackModifierObjectID = FOUR_CHAR_CODE('obid'),
6456  kTrackModifierInputName = FOUR_CHAR_CODE('name')
6457  };
6458 
6459  enum
6460  {
6461  kInputMapSubInputID = FOUR_CHAR_CODE('subi')
6462  };
6463 
6464  enum
6465  {
6466  kTrackModifierTypeMatrix = 1,
6467  kTrackModifierTypeClip = 2,
6468  kTrackModifierTypeGraphicsMode = 5,
6469  kTrackModifierTypeVolume = 3,
6470  kTrackModifierTypeBalance = 4,
6471  kTrackModifierTypeImage =
6472  FOUR_CHAR_CODE('vide'), /* was kTrackModifierTypeSpriteImage*/
6473  kTrackModifierObjectMatrix = 6,
6474  kTrackModifierObjectGraphicsMode = 7,
6475  kTrackModifierType3d4x4Matrix = 8,
6476  kTrackModifierCameraData = 9,
6477  kTrackModifierSoundLocalizationData = 10,
6478  kTrackModifierObjectImageIndex = 11,
6479  kTrackModifierObjectLayer = 12,
6480  kTrackModifierObjectVisible = 13,
6481  kTrackModifierAngleAspectCamera = 14,
6482  kTrackModifierPanAngle = FOUR_CHAR_CODE('pan '),
6483  kTrackModifierTiltAngle = FOUR_CHAR_CODE('tilt'),
6484  kTrackModifierVerticalFieldOfViewAngle = FOUR_CHAR_CODE('fov '),
6485  kTrackModifierObjectQTEventSend = FOUR_CHAR_CODE('evnt')
6486  };
6487 
6489  {
6490  long graphicsMode;
6491  RGBColor opColor;
6492  };
6494 
6495  /*************************
6496  * tween track types
6497  **************************/
6498  enum
6499  {
6500  kTweenTypeShort = 1,
6501  kTweenTypeLong = 2,
6502  kTweenTypeFixed = 3,
6503  kTweenTypePoint = 4,
6504  kTweenTypeQDRect = 5,
6505  kTweenTypeQDRegion = 6,
6506  kTweenTypeMatrix = 7,
6507  kTweenTypeRGBColor = 8,
6508  kTweenTypeGraphicsModeWithRGBColor = 9,
6509  kTweenTypeQTFloatSingle = 10,
6510  kTweenTypeQTFloatDouble = 11,
6511  kTweenTypeFixedPoint = 12,
6512  kTweenType3dScale = FOUR_CHAR_CODE('3sca'),
6513  kTweenType3dTranslate = FOUR_CHAR_CODE('3tra'),
6514  kTweenType3dRotate = FOUR_CHAR_CODE('3rot'),
6515  kTweenType3dRotateAboutPoint = FOUR_CHAR_CODE('3rap'),
6516  kTweenType3dRotateAboutAxis = FOUR_CHAR_CODE('3rax'),
6517  kTweenType3dRotateAboutVector = FOUR_CHAR_CODE('3rvc'),
6518  kTweenType3dQuaternion = FOUR_CHAR_CODE('3qua'),
6519  kTweenType3dMatrix = FOUR_CHAR_CODE('3mat'),
6520  kTweenType3dCameraData = FOUR_CHAR_CODE('3cam'),
6521  kTweenType3dAngleAspectCameraData = FOUR_CHAR_CODE('3caa'),
6522  kTweenType3dSoundLocalizationData = FOUR_CHAR_CODE('3slc'),
6523  kTweenTypePathToMatrixTranslation = FOUR_CHAR_CODE('gxmt'),
6524  kTweenTypePathToMatrixRotation = FOUR_CHAR_CODE('gxpr'),
6525  kTweenTypePathToMatrixTranslationAndRotation = FOUR_CHAR_CODE('gxmr'),
6526  kTweenTypePathToFixedPoint = FOUR_CHAR_CODE('gxfp'),
6527  kTweenTypePathXtoY = FOUR_CHAR_CODE('gxxy'),
6528  kTweenTypePathYtoX = FOUR_CHAR_CODE('gxyx'),
6529  kTweenTypeAtomList = FOUR_CHAR_CODE('atom'),
6530  kTweenTypePolygon = FOUR_CHAR_CODE('poly'),
6531  kTweenTypeMultiMatrix = FOUR_CHAR_CODE('mulm'),
6532  kTweenTypeSpin = FOUR_CHAR_CODE('spin'),
6533  kTweenType3dMatrixNonLinear = FOUR_CHAR_CODE('3nlr'),
6534  kTweenType3dVRObject = FOUR_CHAR_CODE('3vro')
6535  };
6536 
6537  enum
6538  {
6539  kTweenEntry = FOUR_CHAR_CODE('twen'),
6540  kTweenData = FOUR_CHAR_CODE('data'),
6541  kTweenType = FOUR_CHAR_CODE('twnt'),
6542  kTweenStartOffset = FOUR_CHAR_CODE('twst'),
6543  kTweenDuration = FOUR_CHAR_CODE('twdu'),
6544  kTweenFlags = FOUR_CHAR_CODE('flag'),
6545  kTweenOutputMin = FOUR_CHAR_CODE('omin'),
6546  kTweenOutputMax = FOUR_CHAR_CODE('omax'),
6547  kTweenSequenceElement = FOUR_CHAR_CODE('seqe'),
6548  kTween3dInitialCondition = FOUR_CHAR_CODE('icnd'),
6549  kTweenInterpolationID = FOUR_CHAR_CODE('intr'),
6550  kTweenRegionData = FOUR_CHAR_CODE('qdrg'),
6551  kTweenPictureData = FOUR_CHAR_CODE('PICT'),
6552  kListElementType = FOUR_CHAR_CODE('type'),
6553  kListElementDataType = FOUR_CHAR_CODE('daty'),
6554  kNameAtom = FOUR_CHAR_CODE('name'),
6555  kInitialRotationAtom = FOUR_CHAR_CODE('inro'),
6556  kNonLinearTweenHeader = FOUR_CHAR_CODE('nlth')
6557  };
6558 
6559  /* kTweenFlags*/
6560  enum
6561  {
6562  kTweenReturnDelta = 1L << 0
6563  };
6564 
6566  {
6567  Fixed endPercent;
6568  QTAtomID tweenAtomID;
6569  QTAtomID dataAtomID;
6570  };
6572 
6573 #ifdef __QD3D__
6574 
6575  struct ThreeDeeVRObjectSample
6576  {
6577  long rows;
6578  long columns;
6579  TQ3Matrix4x4 calib1;
6580  TQ3Matrix4x4 calib2;
6581  long reserved1;
6582  long reserved2;
6583  };
6584 
6585  typedef struct ThreeDeeVRObjectSample ThreeDeeVRObjectSample;
6586 
6587  struct ThreeDeeNonLinearSample
6588  {
6589  float DurFromLastSample; /* 0 to 1 */
6590  TQ3Matrix4x4 matrix;
6591  };
6592  typedef struct ThreeDeeNonLinearSample ThreeDeeNonLinearSample;
6593 
6594  struct ThreeDeeNonLinearTweenHeaderAtom
6595  {
6596  long number;
6597  long dataSize;
6598  float tensionFactor; /* default is 0 */
6599  long reserved1;
6600  long reserved2;
6601  };
6602  typedef struct ThreeDeeNonLinearTweenHeaderAtom
6603  ThreeDeeNonLinearTweenHeaderAtom;
6604 
6605 #endif
6606 
6607 #if OLDROUTINENAMES
6608 
6609  /*************************
6610  * Video Media routines
6611  **************************/
6612 
6613 #define GetVideoMediaGraphicsMode MediaGetGraphicsMode
6614 #define SetVideoMediaGraphicsMode MediaSetGraphicsMode
6615 
6616 /* use these two routines at your own peril */
6617 #define ResetVideoMediaStatistics VideoMediaResetStatistics
6618 #define GetVideoMediaStatistics VideoMediaGetStatistics
6619 
6620  /*************************
6621  * Sound Media routines
6622  **************************/
6623 
6624 #define GetSoundMediaBalance MediaGetSoundBalance
6625 #define SetSoundMediaBalance MediaSetSoundBalance
6626 
6627  /*************************
6628  * Text Media routines
6629  **************************/
6630 
6631 #define SetTextProc TextMediaSetTextProc
6632 #define AddTextSample TextMediaAddTextSample
6633 #define AddTESample TextMediaAddTESample
6634 #define AddHiliteSample TextMediaAddHiliteSample
6635 #define FindNextText TextMediaFindNextText
6636 #define HiliteTextSample TextMediaHiliteTextSample
6637 #define SetTextSampleData TextMediaSetTextSampleData
6638 #define DrawRaw TextMediaDrawRaw
6639 #define RawSetup TextMediaRawSetup
6640 #define RawIdle TextMediaRawIdle
6641 #define SetTextProperty TextMediaSetTextProperty
6642 
6643  /*************************
6644  * Sprite Media routines
6645  **************************/
6646 
6647 #define SetSpriteMediaSpriteProperty SpriteMediaSetProperty
6648 #define GetSpriteMediaSpriteProperty SpriteMediaGetProperty
6649 #define HitTestSpriteMedia SpriteMediaHitTestSprites
6650 #define CountSpriteMediaSprites SpriteMediaCountSprites
6651 #define CountSpriteMediaImages SpriteMediaCountImages
6652 #define GetSpriteMediaIndImageDescription SpriteMediaGetIndImageDescription
6653 #define GetDisplayedSampleNumber SpriteMediaGetDisplayedSampleNumber
6654 #endif /* OLDROUTINENAMES */
6655 
6656  /*************************
6657  * Video Media routines
6658  **************************/
6659 
6660  enum
6661  {
6662  videoFlagDontLeanAhead = 1L << 0
6663  };
6664 
6665  /* use these five routines at your own peril*/
6675  ComponentResult
6677 
6687  ComponentResult
6689 
6699  ComponentResult
6700  VideoMediaGetStallCount(MediaHandler mh, unsigned long *stalls);
6701 
6711  ComponentResult
6713  OSType parameterID, long parameterChangeSeed,
6714  void *dataPtr, long dataSize);
6715 
6725  ComponentResult
6727  OSType parameterID, Handle outParameterData);
6728 
6729  /*************************
6730  * Text Media routines
6731  **************************/
6732 
6733  /* Return displayFlags for TextProc */
6734  enum
6735  {
6736  txtProcDefaultDisplay = 0, /* Use the media's default*/
6737  txtProcDontDisplay = 1, /* Don't display the text*/
6738  txtProcDoDisplay = 2 /* Do display the text*/
6739  };
6740 
6750  ComponentResult
6751  TextMediaSetTextProc(MediaHandler mh, TextMediaUPP TextProc, long refcon);
6752 
6762  ComponentResult
6763  TextMediaAddTextSample(MediaHandler mh, Ptr text, unsigned long size,
6764  short fontNumber, short fontSize, Style textFace,
6765  RGBColor *textColor, RGBColor *backColor,
6766  short textJustification, Rect *textBox,
6767  long displayFlags, TimeValue scrollDelay,
6768  short hiliteStart, short hiliteEnd,
6769  RGBColor *rgbHiliteColor, TimeValue duration,
6770  TimeValue *sampleTime);
6771 
6781  ComponentResult
6783  short textJustification, Rect *textBox, long displayFlags,
6784  TimeValue scrollDelay, short hiliteStart, short hiliteEnd,
6785  RGBColor *rgbHiliteColor, TimeValue duration,
6786  TimeValue *sampleTime);
6787 
6797  ComponentResult
6798  TextMediaAddHiliteSample(MediaHandler mh, short hiliteStart, short hiliteEnd,
6799  RGBColor *rgbHiliteColor, TimeValue duration,
6800  TimeValue *sampleTime);
6801 
6811  ComponentResult
6813  long dataSize, TextDescriptionHandle tdh);
6814 
6824  ComponentResult
6825  TextMediaSetTextProperty(MediaHandler mh, TimeValue atMediaTime,
6826  long propertyType, void *data, long dataSize);
6827 
6837  ComponentResult
6839  long dataSize, TextDescriptionHandle tdh,
6840  TimeValue sampleDuration);
6841 
6851  ComponentResult
6853  TimeValue sampleTime, long flagsIn, long *flagsOut);
6854 
6864  ComponentResult
6865  TextMediaGetTextProperty(MediaHandler mh, TimeValue atMediaTime,
6866  long propertyType, void *data, long dataSize);
6867 
6868  enum
6869  {
6870  findTextEdgeOK = 1 << 0, /* Okay to find text at specified sample time*/
6871  findTextCaseSensitive = 1 << 1, /* Case sensitive search*/
6872  findTextReverseSearch = 1 << 2, /* Search from sampleTime backwards*/
6873  findTextWrapAround =
6874  1 << 3, /* Wrap search when beginning or end of movie is hit*/
6875  findTextUseOffset = 1 << 4 /* Begin search at the given character offset into
6876  sample rather than edge*/
6877  };
6878 
6888  ComponentResult
6889  TextMediaFindNextText(MediaHandler mh, Ptr text, long size, short findFlags,
6890  TimeValue startTime, TimeValue *foundTime,
6891  TimeValue *foundDuration, long *offset);
6892 
6902  ComponentResult
6903  TextMediaHiliteTextSample(MediaHandler mh, TimeValue sampleTime,
6904  short hiliteStart, short hiliteEnd,
6905  RGBColor *rgbHiliteColor);
6906 
6907  enum
6908  {
6909  dropShadowOffsetType = FOUR_CHAR_CODE('drpo'),
6910  dropShadowTranslucencyType = FOUR_CHAR_CODE('drpt')
6911  };
6912 
6922  ComponentResult
6923  TextMediaSetTextSampleData(MediaHandler mh, void *data, OSType dataType);
6924 
6925  /*************************
6926  * Sprite Media routines
6927  **************************/
6928  /* flags for sprite hit test routines */
6929  enum
6930  {
6931  spriteHitTestBounds =
6932  1L << 0, /* point must only be within sprite's bounding box*/
6933  spriteHitTestImage =
6934  1L << 1, /* point must be within the shape of the sprite's image*/
6935  spriteHitTestInvisibleSprites =
6936  1L << 2, /* invisible sprites may be hit tested*/
6937  spriteHitTestIsClick = 1L << 3, /* for codecs that want mouse events*/
6938  spriteHitTestLocInDisplayCoordinates =
6939  1L << 4 /* set if you want to pass a display coordiate point to
6940  SpriteHitTest*/
6941  };
6942 
6943  /* atom types for sprite media */
6944  enum
6945  {
6946  kSpriteAtomType = FOUR_CHAR_CODE('sprt'),
6947  kSpriteImagesContainerAtomType = FOUR_CHAR_CODE('imct'),
6948  kSpriteImageAtomType = FOUR_CHAR_CODE('imag'),
6949  kSpriteImageDataAtomType = FOUR_CHAR_CODE('imda'),
6950  kSpriteImageDataRefAtomType = FOUR_CHAR_CODE('imre'),
6951  kSpriteImageDataRefTypeAtomType = FOUR_CHAR_CODE('imrt'),
6952  kSpriteImageGroupIDAtomType = FOUR_CHAR_CODE('imgr'),
6953  kSpriteImageRegistrationAtomType = FOUR_CHAR_CODE('imrg'),
6954  kSpriteImageDefaultImageIndexAtomType = FOUR_CHAR_CODE('defi'),
6955  kSpriteSharedDataAtomType = FOUR_CHAR_CODE('dflt'),
6956  kSpriteNameAtomType = FOUR_CHAR_CODE('name'),
6957  kSpriteImageNameAtomType = FOUR_CHAR_CODE('name'),
6958  kSpriteUsesImageIDsAtomType = FOUR_CHAR_CODE(
6959  'uses'), /* leaf data is an array of QTAtomID's, one per image used*/
6960  kSpriteBehaviorsAtomType = FOUR_CHAR_CODE('beha'),
6961  kSpriteImageBehaviorAtomType = FOUR_CHAR_CODE('imag'),
6962  kSpriteCursorBehaviorAtomType = FOUR_CHAR_CODE('crsr'),
6963  kSpriteStatusStringsBehaviorAtomType = FOUR_CHAR_CODE('sstr'),
6964  kSpriteVariablesContainerAtomType = FOUR_CHAR_CODE('vars'),
6965  kSpriteStringVariableAtomType = FOUR_CHAR_CODE('strv'),
6966  kSpriteFloatingPointVariableAtomType = FOUR_CHAR_CODE('flov')
6967  };
6968 
6970  {
6971  long version; /* set to zero*/
6972  QTAtomID spriteID;
6973  short imageIndex;
6974  MatrixRecord matrix;
6975  short visible;
6976  short layer;
6977  ModifierTrackGraphicsModeRecord graphicsMode;
6978  QTAtomID actionHandlingSpriteID;
6979  };
6987  {
6988  QTAtomID notOverNotPressedStateID;
6989  QTAtomID overNotPressedStateID;
6990  QTAtomID overPressedStateID;
6991  QTAtomID notOverPressedStateID;
6992  };
7004  ComponentResult
7005  SpriteMediaSetProperty(MediaHandler mh, short spriteIndex, long propertyType,
7006  void *propertyValue);
7007 
7017  ComponentResult
7018  SpriteMediaGetProperty(MediaHandler mh, short spriteIndex, long propertyType,
7019  void *propertyValue);
7020 
7030  ComponentResult
7032  short *spriteHitIndex);
7033 
7043  ComponentResult
7044  SpriteMediaCountSprites(MediaHandler mh, short *numSprites);
7045 
7055  ComponentResult
7056  SpriteMediaCountImages(MediaHandler mh, short *numImages);
7057 
7067  ComponentResult
7069  ImageDescriptionHandle imageDescription);
7070 
7080  ComponentResult
7082 
7092  ComponentResult
7093  SpriteMediaGetSpriteName(MediaHandler mh, QTAtomID spriteID, Str255 spriteName);
7094 
7104  ComponentResult
7105  SpriteMediaGetImageName(MediaHandler mh, short imageIndex, Str255 imageName);
7106 
7116  ComponentResult
7118  long propertyType, void *propertyValue);
7119 
7129  ComponentResult
7131  long propertyType, void *propertyValue);
7132 
7142  ComponentResult
7144  QTAtomID *spriteHitID);
7145 
7155  ComponentResult
7156  SpriteMediaHitTestOneSprite(MediaHandler mh, QTAtomID spriteID, long flags,
7157  Point loc, Boolean *wasHit);
7158 
7168  ComponentResult
7170  QTAtomID *spriteID);
7171 
7181  ComponentResult
7183  short *spriteIndex);
7184 
7194  ComponentResult
7196  QTAtomID spriteID,
7197  QTAtomContainer *container, QTAtom *atom);
7198 
7208  ComponentResult
7210  const float *value);
7211 
7221  ComponentResult
7222  SpriteMediaGetActionVariable(MediaHandler mh, QTAtomID variableID, float *value);
7223 
7233  ComponentResult
7235  long imagePropertyType, void *imagePropertyValue);
7236 
7246  ComponentResult
7248 
7258  ComponentResult
7259  SpriteMediaDisposeSprite(MediaHandler mh, QTAtomID spriteID);
7260 
7270  ComponentResult
7272  Ptr theCString);
7273 
7283  ComponentResult
7285  Handle *theCString);
7286 
7287  /*************************
7288  * Flash Media routines
7289  **************************/
7290 
7300  ComponentResult
7301  FlashMediaSetPan(MediaHandler mh, short xPercent, short yPercent);
7302 
7312  ComponentResult
7313  FlashMediaSetZoom(MediaHandler mh, short factor);
7314 
7324  ComponentResult
7325  FlashMediaSetZoomRect(MediaHandler mh, long left, long top, long right,
7326  long bottom);
7327 
7337  ComponentResult
7338  FlashMediaGetRefConBounds(MediaHandler mh, long refCon, long *left, long *top,
7339  long *right, long *bottom);
7340 
7350  ComponentResult
7351  FlashMediaGetRefConID(MediaHandler mh, long refCon, long *refConID);
7352 
7362  ComponentResult
7363  FlashMediaIDToRefCon(MediaHandler mh, long refConID, long *refCon);
7364 
7374  ComponentResult
7376 
7386  ComponentResult
7388  TimeValue *movieTime);
7389 
7399  ComponentResult
7401  TimeValue *movieTime);
7402 
7412  ComponentResult
7413  FlashMediaGetFlashVariable(MediaHandler mh, char *path, char *name,
7414  Handle *theVariableCStringOut);
7415 
7425  ComponentResult
7426  FlashMediaSetFlashVariable(MediaHandler mh, char *path, char *name, char *value,
7427  Boolean updateFocus);
7428 
7438  ComponentResult
7439  FlashMediaDoButtonActions(MediaHandler mh, char *path, long buttonID,
7440  long transition);
7441 
7451  ComponentResult
7452  FlashMediaGetSupportedSwfVersion(MediaHandler mh, unsigned char *swfVersion);
7453 
7454  /* sample format atoms*/
7455  enum
7456  {
7457  kMovieMediaDataReference = FOUR_CHAR_CODE('mmdr'), /* data reference*/
7458  kMovieMediaDefaultDataReferenceID = FOUR_CHAR_CODE('ddri'), /* atom id*/
7459  kMovieMediaSlaveTime = FOUR_CHAR_CODE('slti'), /* boolean*/
7460  kMovieMediaSlaveAudio = FOUR_CHAR_CODE('slau'), /* boolean*/
7461  kMovieMediaSlaveGraphicsMode = FOUR_CHAR_CODE('slgr'), /* boolean*/
7462  kMovieMediaAutoPlay = FOUR_CHAR_CODE('play'), /* boolean*/
7463  kMovieMediaLoop =
7464  FOUR_CHAR_CODE('loop'), /* UInt8 (0=no loop, 1=loop, 2=palindrome loop)*/
7465  kMovieMediaUseMIMEType =
7466  FOUR_CHAR_CODE('mime'), /* string indicating the MIME type to use for the
7467  dataref (usually not required)*/
7468  kMovieMediaTitle =
7469  FOUR_CHAR_CODE('titl'), /* string of the media's title (tooltips)*/
7470  kMovieMediaAltText = FOUR_CHAR_CODE(
7471  'altt'), /* string of alternate text if media isn't loaded*/
7472  kMovieMediaClipBegin = FOUR_CHAR_CODE(
7473  'clpb'), /* MovieMediaTimeRecord of start time of embedded media*/
7474  kMovieMediaClipDuration = FOUR_CHAR_CODE(
7475  'clpd'), /* MovieMediaTimeRecord of duration of embedded media*/
7476  kMovieMediaRegionAtom =
7477  FOUR_CHAR_CODE('regi'), /* contains subatoms that describe layout*/
7478  kMovieMediaSlaveTrackDuration = FOUR_CHAR_CODE(
7479  'sltr'), /* Boolean indicating that media handler should adjust track and
7480  media based on actual embedded movie duration*/
7481  kMovieMediaEnableFrameStepping =
7482  FOUR_CHAR_CODE('enfs'), /* boolean. if true stepping on external movie
7483  steps frames within embedded movie.*/
7484  kMovieMediaBackgroundColor = FOUR_CHAR_CODE('bkcl'), /* RGBColor.*/
7485  kMovieMediaPrerollTime =
7486  FOUR_CHAR_CODE('prer') /* SInt32 indicating preroll time*/
7487  };
7488 
7489  /* fit types*/
7490  enum
7491  {
7492  kMovieMediaFitNone = 0,
7493  kMovieMediaFitScroll = FOUR_CHAR_CODE('scro'),
7494  kMovieMediaFitClipIfNecessary = FOUR_CHAR_CODE('hidd'),
7495  kMovieMediaFitFill = FOUR_CHAR_CODE('fill'),
7496  kMovieMediaFitMeet = FOUR_CHAR_CODE('meet'),
7497  kMovieMediaFitSlice = FOUR_CHAR_CODE('slic')
7498  };
7499 
7500  /* sub atoms for region atom*/
7501  enum
7502  {
7503  kMovieMediaSpatialAdjustment =
7504  FOUR_CHAR_CODE('fit '), /* OSType from kMovieMediaFit**/
7505  kMovieMediaRectangleAtom = FOUR_CHAR_CODE('rect'),
7506  kMovieMediaTop = FOUR_CHAR_CODE('top '),
7507  kMovieMediaLeft = FOUR_CHAR_CODE('left'),
7508  kMovieMediaWidth = FOUR_CHAR_CODE('wd '),
7509  kMovieMediaHeight = FOUR_CHAR_CODE('ht ')
7510  };
7511 
7512  /* contained movie properties*/
7513  enum
7514  {
7515  kMoviePropertyDuration = FOUR_CHAR_CODE('dura'), /* TimeValue **/
7516  kMoviePropertyTimeScale = FOUR_CHAR_CODE('tims'), /* TimeValue **/
7517  kMoviePropertyTime = FOUR_CHAR_CODE('timv'), /* TimeValue **/
7518  kMoviePropertyNaturalBounds = FOUR_CHAR_CODE('natb'), /* Rect **/
7519  kMoviePropertyMatrix = FOUR_CHAR_CODE('mtrx'), /* Matrix **/
7520  kMoviePropertyTrackList = FOUR_CHAR_CODE('tlst') /* long ****/
7521  };
7522 
7523  enum
7524  {
7525  kTrackPropertyMediaType = FOUR_CHAR_CODE('mtyp'), /* OSType*/
7526  kTrackPropertyInstantiation =
7527  FOUR_CHAR_CODE('inst') /* MovieMediaInstantiationInfoRecord*/
7528  };
7529 
7531  {
7532  wide time;
7533  TimeScale scale;
7534  };
7537  {
7538  Boolean immediately;
7539  Boolean pad;
7540  SInt32 bitRate;
7541  };
7542  typedef struct MovieMediaInstantiationInfoRecord
7544  /*************************
7545  * Movie Media routines
7546  **************************/
7547 
7557  ComponentResult
7559  DoMCActionUPP *doMCActionCallbackProc,
7560  long *refcon);
7561 
7571  ComponentResult
7573  DoMCActionUPP *doMCActionCallbackProc,
7574  long *refcon);
7575 
7585  ComponentResult
7587  void *value);
7588 
7598  ComponentResult
7600  OSType whichProperty, void *value);
7601 
7611  ComponentResult
7613  short dataRefIndex, OSType *dataRefType,
7614  Handle *dataRef, QTAtomID *dataRefIDOut,
7615  short *dataRefIndexOut);
7616 
7626  ComponentResult
7628  OSType dataRefType, Handle dataRef);
7629 
7639  ComponentResult
7641 
7642  /*************************
7643  * 3D Media routines
7644  **************************/
7654  ComponentResult
7655  Media3DGetNamedObjectList(MediaHandler mh, QTAtomContainer *objectList);
7656 
7666  ComponentResult
7667  Media3DGetRendererList(MediaHandler mh, QTAtomContainer *rendererList);
7668 
7678  ComponentResult
7680 
7690  ComponentResult
7692  Fixed y, Fixed z);
7693 
7703  ComponentResult
7704  Media3DScaleNamedObjectTo(MediaHandler mh, char *objectName, Fixed xScale,
7705  Fixed yScale, Fixed zScale);
7706 
7716  ComponentResult
7717  Media3DRotateNamedObjectTo(MediaHandler mh, char *objectName, Fixed xDegrees,
7718  Fixed yDegrees, Fixed zDegrees);
7719 
7729  ComponentResult
7730  Media3DSetCameraData(MediaHandler mh, void *cameraData);
7731 
7741  ComponentResult
7742  Media3DGetCameraData(MediaHandler mh, void *cameraData);
7743 
7753  ComponentResult
7755  QTFloatSingle aspectRatioXToY);
7756 
7766  ComponentResult
7768  QTFloatSingle *aspectRatioXToY);
7769 
7779  ComponentResult
7780  Media3DSetCameraRange(MediaHandler mh, void *tQ3CameraRange);
7781 
7791  ComponentResult
7792  Media3DGetCameraRange(MediaHandler mh, void *tQ3CameraRange);
7793 
7803  ComponentResult
7804  Media3DGetViewObject(MediaHandler mh, void *tq3viewObject);
7805 
7806  /****************************************
7807  * *
7808  * M O V I E C O N T R O L L E R *
7809  * *
7810  ****************************************/
7811  enum
7812  {
7813  MovieControllerComponentType = FOUR_CHAR_CODE('play')
7814  };
7815 
7816  enum
7817  {
7818  kMovieControllerQTVRFlag = 1 << 0,
7819  kMovieControllerDontDisplayToUser = 1 << 1
7820  };
7821 
7824  enum
7825  {
7826  mcActionIdle = 1, /* no param*/
7827  mcActionDraw = 2, /* param is WindowRef*/
7828  mcActionActivate = 3, /* no param*/
7829  mcActionDeactivate = 4, /* no param*/
7830  mcActionMouseDown = 5, /* param is pointer to EventRecord*/
7831  mcActionKey = 6, /* param is pointer to EventRecord*/
7832  mcActionPlay = 8, /* param is Fixed, play rate*/
7833  mcActionGoToTime = 12, /* param is TimeRecord*/
7834  mcActionSetVolume = 14, /* param is a short*/
7835  mcActionGetVolume = 15, /* param is pointer to a short*/
7836  mcActionStep = 18, /* param is number of steps (short)*/
7837  mcActionSetLooping = 21, /* param is Boolean*/
7838  mcActionGetLooping = 22, /* param is pointer to a Boolean*/
7839  mcActionSetLoopIsPalindrome = 23, /* param is Boolean*/
7840  mcActionGetLoopIsPalindrome = 24, /* param is pointer to a Boolean*/
7841  mcActionSetGrowBoxBounds = 25, /* param is a Rect*/
7842  mcActionControllerSizeChanged = 26, /* no param*/
7843  mcActionSetSelectionBegin = 29, /* param is TimeRecord*/
7844  mcActionSetSelectionDuration =
7845  30, /* param is TimeRecord, action only taken on set-duration*/
7846  mcActionSetKeysEnabled = 32, /* param is Boolean*/
7847  mcActionGetKeysEnabled = 33, /* param is pointer to Boolean*/
7848  mcActionSetPlaySelection = 34, /* param is Boolean*/
7849  mcActionGetPlaySelection = 35, /* param is pointer to Boolean*/
7850  mcActionSetUseBadge = 36, /* param is Boolean*/
7851  mcActionGetUseBadge = 37, /* param is pointer to Boolean*/
7852  mcActionSetFlags = 38, /* param is long of flags*/
7853  mcActionGetFlags = 39, /* param is pointer to a long of flags*/
7854  mcActionSetPlayEveryFrame = 40, /* param is Boolean*/
7855  mcActionGetPlayEveryFrame = 41, /* param is pointer to Boolean*/
7856  mcActionGetPlayRate = 42, /* param is pointer to Fixed*/
7857  mcActionShowBalloon =
7858  43, /* param is a pointer to a boolean. set to false to stop balloon*/
7859  mcActionBadgeClick =
7860  44, /* param is pointer to Boolean. set to false to ignore click*/
7861  mcActionMovieClick = 45, /* param is pointer to event record. change "what" to
7862  nullEvt to kill click*/
7863  mcActionSuspend = 46, /* no param*/
7864  mcActionResume = 47, /* no param*/
7865  mcActionSetControllerKeysEnabled = 48, /* param is Boolean*/
7866  mcActionGetTimeSliderRect = 49, /* param is pointer to rect*/
7867  mcActionMovieEdited = 50, /* no param*/
7868  mcActionGetDragEnabled = 51, /* param is pointer to Boolean*/
7869  mcActionSetDragEnabled = 52, /* param is Boolean*/
7870  mcActionGetSelectionBegin = 53, /* param is TimeRecord*/
7871  mcActionGetSelectionDuration = 54, /* param is TimeRecord*/
7872  mcActionPrerollAndPlay = 55, /* param is Fixed, play rate*/
7873  mcActionGetCursorSettingEnabled = 56, /* param is pointer to Boolean*/
7874  mcActionSetCursorSettingEnabled = 57, /* param is Boolean*/
7875  mcActionSetColorTable = 58, /* param is CTabHandle*/
7876  mcActionLinkToURL = 59, /* param is Handle to URL*/
7877  mcActionCustomButtonClick = 60, /* param is pointer to EventRecord*/
7878  mcActionForceTimeTableUpdate = 61, /* no param*/
7879  mcActionSetControllerTimeLimits =
7880  62, /* param is pointer to 2 time values min/max. do no send this message
7881  to controller. used internally only.*/
7882  mcActionExecuteAllActionsForQTEvent = 63, /* param is ResolvedQTEventSpecPtr*/
7883  mcActionExecuteOneActionForQTEvent = 64, /* param is ResolvedQTEventSpecPtr*/
7884  mcActionAdjustCursor = 65, /* param is pointer to EventRecord (WindowRef is in
7885  message parameter)*/
7886  mcActionUseTrackForTimeTable =
7887  66, /* param is pointer to {long trackID; Boolean useIt}. do not send this
7888  message to controller. */
7889  mcActionClickAndHoldPoint =
7890  67, /* param is point (local coordinates). return true if point has click
7891  & hold action (e.g., VR object movie autorotate spot)*/
7892  mcActionShowMessageString = 68, /* param is a StringPtr*/
7893  mcActionShowStatusString = 69, /* param is a QTStatusStringPtr*/
7894  mcActionGetExternalMovie = 70, /* param is a QTGetExternalMoviePtr*/
7895  mcActionGetChapterTime = 71, /* param is a QTGetChapterTimePtr*/
7896  mcActionPerformActionList = 72, /* param is a QTAtomSpecPtr*/
7897  mcActionEvaluateExpression = 73, /* param is a QTEvaluateExpressionPtr*/
7898  mcActionFetchParameterAs = 74, /* param is a QTFetchParameterAsPtr*/
7899  mcActionGetCursorByID = 75, /* param is a QTGetCursorByIDPtr*/
7900  mcActionGetNextURL = 76, /* param is a Handle to URL*/
7901  mcActionMovieChanged = 77,
7902  mcActionDoScript = 78, /* param is QTDoScriptPtr*/
7903  mcActionRestartAtTime = 79, /* param is QTResartAtTimePtr*/
7904  mcActionGetIndChapter = 80, /* param is QTChapterInfoPtr*/
7905  mcActionLinkToURLExtended =
7906  81, /* param is QTAtomContainer as used by QTParseHREF*/
7907  mcActionSetVolumeStep = 82, /* param is short containing amount to step volume
7908  via arrow keys - default = 64*/
7909  mcActionAutoPlay = 83, /* param is Fixed, play rate*/
7910  mcActionPauseToBuffer = 84, /* param is Fixed, play rate on restart*/
7911  mcActionAppMessageReceived = 85, /* param is a long, application message*/
7912  mcActionEvaluateExpressionWithType =
7913  89, /* param is a QTEvaluateExpressionWithTypePtr*/
7914  mcActionGetMovieName = 90, /* param is a p String Handle*/
7915  mcActionGetMovieID = 91, /* param is pointer to long*/
7916  mcActionGetMovieActive = 92 /* param is pointer to Boolean*/
7917  };
7918 
7919  typedef short mcAction;
7920  enum
7921  {
7922  mcFlagSuppressMovieFrame = 1 << 0,
7923  mcFlagSuppressStepButtons = 1 << 1,
7924  mcFlagSuppressSpeakerButton = 1 << 2,
7925  mcFlagsUseWindowPalette = 1 << 3,
7926  mcFlagsDontInvalidate = 1 << 4,
7927  mcFlagsUseCustomButton = 1 << 5
7928  };
7929 
7930  enum
7931  {
7932  mcPositionDontInvalidate = 1 << 5
7933  };
7934 
7935  typedef unsigned long mcFlags;
7936  enum
7937  {
7938  kMCIEEnabledButtonPicture = 1,
7939  kMCIEDisabledButtonPicture = 2,
7940  kMCIEDepressedButtonPicture = 3,
7941  kMCIEEnabledSizeBoxPicture = 4,
7942  kMCIEDisabledSizeBoxPicture = 5,
7943  kMCIEEnabledUnavailableButtonPicture = 6,
7944  kMCIEDisabledUnavailableButtonPicture = 7,
7945  kMCIESoundSlider = 128,
7946  kMCIESoundThumb = 129,
7947  kMCIEColorTable = 256,
7948  kMCIEIsFlatAppearance = 257,
7949  kMCIEDoButtonIconsDropOnDepress = 258
7950  };
7951 
7952  typedef unsigned long MCInterfaceElement;
7953  typedef CALLBACK_API(Boolean, MCActionFilterProcPtr)(MovieController mc,
7954  short *action,
7955  void *params);
7956  typedef CALLBACK_API(Boolean, MCActionFilterWithRefConProcPtr)(
7957  MovieController mc, short action, void *params, long refCon);
7958  typedef STACK_UPP_TYPE(MCActionFilterProcPtr) MCActionFilterUPP;
7959  typedef STACK_UPP_TYPE(MCActionFilterWithRefConProcPtr)
7960  MCActionFilterWithRefConUPP;
7964  enum
7965  {
7966  mcInfoUndoAvailable = 1 << 0,
7967  mcInfoCutAvailable = 1 << 1,
7968  mcInfoCopyAvailable = 1 << 2,
7969  mcInfoPasteAvailable = 1 << 3,
7970  mcInfoClearAvailable = 1 << 4,
7971  mcInfoHasSound = 1 << 5,
7972  mcInfoIsPlaying = 1 << 6,
7973  mcInfoIsLooping = 1 << 7,
7974  mcInfoIsInPalindrome = 1 << 8,
7975  mcInfoEditingEnabled = 1 << 9,
7976  mcInfoMovieIsInteractive = 1 << 10
7977  };
7978 
7979  /* menu item codes*/
7980  enum
7981  {
7982  mcMenuUndo = 1,
7983  mcMenuCut = 3,
7984  mcMenuCopy = 4,
7985  mcMenuPaste = 5,
7986  mcMenuClear = 6
7987  };
7988 
7989  /* messages to the application via mcActionAppMessageReceived*/
7990  enum
7991  {
7992  kQTAppMessageSoftwareChanged = 1, /* notification to app that installed
7993  QuickTime software has been updated*/
7994  kQTAppMessageWindowCloseRequested =
7995  3, /* request for app to close window containing movie controller*/
7996  kQTAppMessageExitFullScreenRequested =
7997  4, /* request for app to turn off full screen mode if active*/
7998  kQTAppMessageDisplayChannels =
7999  5, /* request for app to display the channel UI*/
8000  kQTAppMessageEnterFullScreenRequested =
8001  6 /* request for app to turn on full screen mode*/
8002  };
8003 
8004  /* structures used as mcActionFilterProc params*/
8006  {
8007  long stringTypeFlags;
8008  char *statusString;
8009  };
8013  {
8014  long targetType; /* set to kTargetMovieName or kTargetMovieID*/
8015  StringPtr movieName;
8016  long movieID;
8018  MovieControllerPtr theController;
8019  };
8023  {
8024  StringPtr chapterName;
8025  TimeRecord chapterTime;
8026  };
8030  {
8031  long index; /* first chapter has index of 1*/
8032  TimeValue time; /* -1 if no more chapters available*/
8033  Str255 name;
8034  };
8038  {
8039  QTAtomSpec expressionSpec;
8040  float *expressionResult;
8041  };
8045  {
8046  long recordSize; /* Size of structure (fill in at allocation) */
8047  QTAtomSpec expressionSpec;
8048  float *expressionResult;
8049  long fetchAsType;
8050  Handle nonNumericResult;
8051  /* Current size is 24 */
8052  };
8053  typedef struct QTEvaluateExpressionWithTypeRecord
8057  {
8058  QTAtomSpec paramListSpec;
8059  long paramIndex;
8060  long paramType;
8061  long allowedFlags;
8062  void *min;
8063  void *max;
8064  void *currentValue;
8065  void *newValue;
8066  Boolean isUnsignedValue;
8067  };
8071  {
8072  short cursorID;
8073  Handle colorCursorData;
8074  long reserved1;
8075  };
8079  {
8080  long scriptTypeFlags;
8081  char *command;
8082  char *arguments;
8083  };
8084  typedef struct QTDoScriptRecord QTDoScriptRecord;
8087  {
8088  TimeValue startTime; /* time scale is the movie timescale*/
8089  Fixed rate; /* if rate is zero, the movie's current rate is maintained*/
8090  };
8093  /* values for paramType field of QTFetchParameterAsRecord*/
8094  enum
8095  {
8096  kFetchAsBooleanPtr = 1,
8097  kFetchAsShortPtr = 2,
8098  kFetchAsLongPtr = 3,
8099  kFetchAsMatrixRecordPtr = 4,
8100  kFetchAsModifierTrackGraphicsModeRecord = 5,
8101  kFetchAsHandle = 6,
8102  kFetchAsStr255 = 7,
8103  kFetchAsFloatPtr = 8,
8104  kFetchAsPointPtr = 9,
8105  kFetchAsNewAtomContainer = 10,
8106  kFetchAsQTEventRecordPtr = 11,
8107  kFetchAsFixedPtr = 12,
8108  kFetchAsSetControllerValuePtr = 13,
8109  kFetchAsRgnHandle = 14, /* flipped to native*/
8110  kFetchAsComponentDescriptionPtr = 15,
8111  kFetchAsCString = 16
8112  };
8113 
8114  enum
8115  {
8116  kQTCursorOpenHand = -19183,
8117  kQTCursorClosedHand = -19182,
8118  kQTCursorPointingHand = -19181,
8119  kQTCursorRightArrow = -19180,
8120  kQTCursorLeftArrow = -19179,
8121  kQTCursorDownArrow = -19178,
8122  kQTCursorUpArrow = -19177,
8123  kQTCursorIBeam = -19176
8124  };
8125 
8126  /* target management */
8136  ComponentResult
8138  Point where);
8139 
8149  Movie
8150  MCGetIndMovie(MovieController mc, short index);
8151 
8152 #define MCGetMovie(mc) MCGetIndMovie(mc, 0)
8162  ComponentResult
8164 
8174  ComponentResult
8176 
8186  ComponentResult
8188 
8189  /* event handling etc. */
8199  ComponentResult
8201 
8202  /* obsolete. use MCSetActionFilterWithRefCon instead. */
8212  ComponentResult
8213  MCSetActionFilter(MovieController mc, MCActionFilterUPP blob);
8214 
8232  ComponentResult
8233  MCDoAction(MovieController mc, short action, void *params);
8234 
8235  /* state type things */
8245  ComponentResult
8247 
8257  ComponentResult
8259 
8269  ComponentResult
8271 
8281  CGrafPtr
8283 
8293  ComponentResult
8295 
8305  ComponentResult
8307 
8317  ComponentResult
8319 
8329  ComponentResult
8331 
8341  RgnHandle
8343 
8353  RgnHandle
8355 
8356  /* other stuff */
8366  ComponentResult
8368 
8383  ComponentResult
8384  MCSetDuration(MovieController mc, TimeValue duration);
8385 
8399  TimeValue
8400  MCGetCurrentTime(MovieController mc, TimeScale *scale);
8401 
8416  ComponentResult
8418  Point where);
8419 
8434  ComponentResult
8436 
8446  ComponentResult
8448 
8458  ComponentResult
8460 
8470  ComponentResult
8471  MCKey(MovieController mc, SInt8 key, long modifiers);
8472 
8482  ComponentResult
8483  MCClick(MovieController mc, WindowRef w, Point where, long when, long modifiers);
8484 
8497  ComponentResult
8499 
8509  long
8511 
8521  Movie
8523 
8533  Movie
8535 
8545  ComponentResult
8547 
8557  ComponentResult
8559 
8569  ComponentResult
8571 
8584  ComponentResult
8586  const Rect *controllerRect, long someFlags);
8587 
8597  ComponentResult
8598  MCGetControllerInfo(MovieController mc, long *someFlags);
8599 
8609  ComponentResult
8611 
8621  ComponentResult
8622  MCGetClip(MovieController mc, RgnHandle *theClip, RgnHandle *movieClip);
8623 
8633  ComponentResult
8635 
8645  ComponentResult
8646  MCSetUpEditMenu(MovieController mc, long modifiers, MenuRef mh);
8647 
8657  ComponentResult
8658  MCGetMenuString(MovieController mc, long modifiers, short item, Str255 aString);
8659 
8669  ComponentResult
8671  MCActionFilterWithRefConUPP blob, long refCon);
8672 
8682  ComponentResult
8683  MCPtInController(MovieController mc, Point thePt, Boolean *inController);
8684 
8694  ComponentResult
8696 
8706  ComponentResult
8708 
8718  ComponentResult
8719  MCGetInterfaceElement(MovieController mc, MCInterfaceElement whichElement,
8720  void *element);
8721 
8731  ComponentResult
8732  MCGetDoActionsProc(MovieController mc, DoMCActionUPP *doMCActionProc,
8733  long *doMCActionRefCon);
8734 
8744  ComponentResult
8746 
8756  ComponentResult
8758 
8759  /****************************************
8760  * *
8761  * T I M E B A S E *
8762  * *
8763  ****************************************/
8773  TimeBase
8775 
8785  void
8786  DisposeTimeBase(TimeBase tb);
8787 
8797  TimeValue
8798  GetTimeBaseTime(TimeBase tb, TimeScale s, TimeRecord *tr);
8799 
8809  void
8810  SetTimeBaseTime(TimeBase tb, const TimeRecord *tr);
8811 
8821  void
8822  SetTimeBaseValue(TimeBase tb, TimeValue t, TimeScale s);
8823 
8833  Fixed
8834  GetTimeBaseRate(TimeBase tb);
8835 
8845  void
8846  SetTimeBaseRate(TimeBase tb, Fixed r);
8847 
8857  TimeValue
8858  GetTimeBaseStartTime(TimeBase tb, TimeScale s, TimeRecord *tr);
8859 
8869  void
8870  SetTimeBaseStartTime(TimeBase tb, const TimeRecord *tr);
8871 
8881  TimeValue
8882  GetTimeBaseStopTime(TimeBase tb, TimeScale s, TimeRecord *tr);
8883 
8893  void
8894  SetTimeBaseStopTime(TimeBase tb, const TimeRecord *tr);
8895 
8905  long
8906  GetTimeBaseFlags(TimeBase tb);
8907 
8917  void
8918  SetTimeBaseFlags(TimeBase tb, long timeBaseFlags);
8919 
8929  void
8930  SetTimeBaseMasterTimeBase(TimeBase slave, TimeBase master,
8931  const TimeRecord *slaveZero);
8932 
8942  TimeBase
8944 
8954  void
8955  SetTimeBaseMasterClock(TimeBase slave, Component clockMeister,
8956  const TimeRecord *slaveZero);
8957 
8969 
8979  void
8980  ConvertTime(TimeRecord *theTime, TimeBase newBase);
8981 
8991  void
8992  ConvertTimeScale(TimeRecord *theTime, TimeScale newScale);
8993 
9003  void
9004  AddTime(TimeRecord *dst, const TimeRecord *src);
9005 
9015  void
9017 
9027  long
9028  GetTimeBaseStatus(TimeBase tb, TimeRecord *unpinnedTime);
9029 
9039  void
9040  SetTimeBaseZero(TimeBase tb, TimeRecord *zero);
9041 
9051  Fixed
9053 
9054  /****************************************
9055  * *
9056  * C A L L B A C K *
9057  * *
9058  ****************************************/
9068  QTCallBack
9069  NewCallBack(TimeBase tb, short cbType);
9070 
9080  void
9082 
9092  short
9094 
9104  TimeBase
9106 
9116  OSErr
9117  CallMeWhen(QTCallBack cb, QTCallBackUPP callBackProc, long refCon, long param1,
9118  long param2, long param3);
9119 
9129  void
9131 
9132  /****************************************
9133  * *
9134  * C L O C K C A L L B A C K *
9135  * S U P P O R T *
9136  * *
9137  ****************************************/
9147  OSErr
9149 
9159  OSErr
9161 
9171  QTCallBack
9172  GetFirstCallBack(TimeBase tb);
9173 
9183  QTCallBack
9185 
9195  void
9197 
9207  ComponentResult
9209  ComponentInstance *tp);
9210 
9211  /* UPP call backs */
9220  MovieRgnCoverUPP
9221  NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine);
9222 #if !OPAQUE_UPP_TYPES
9223  enum
9224  {
9225  uppMovieRgnCoverProcInfo = 0x00000FE0
9226  }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
9227 #ifdef __cplusplus
9228  inline MovieRgnCoverUPP NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine)
9229  {
9230  return (MovieRgnCoverUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
9231  uppMovieRgnCoverProcInfo,
9232  GetCurrentArchitecture());
9233  }
9234 #else
9235 #define NewMovieRgnCoverUPP(userRoutine) \
9236  (MovieRgnCoverUPP) \
9237  NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieRgnCoverProcInfo, \
9238  GetCurrentArchitecture())
9239 #endif
9240 #endif
9241 
9250  MovieProgressUPP
9251  NewMovieProgressUPP(MovieProgressProcPtr userRoutine);
9252 #if !OPAQUE_UPP_TYPES
9253  enum
9254  {
9255  uppMovieProgressProcInfo = 0x0000FAE0
9256  }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes) */
9257 #ifdef __cplusplus
9258  inline MovieProgressUPP NewMovieProgressUPP(MovieProgressProcPtr userRoutine)
9259  {
9260  return (MovieProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
9261  uppMovieProgressProcInfo,
9262  GetCurrentArchitecture());
9263  }
9264 #else
9265 #define NewMovieProgressUPP(userRoutine) \
9266  (MovieProgressUPP) \
9267  NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieProgressProcInfo, \
9268  GetCurrentArchitecture())
9269 #endif
9270 #endif
9271 
9280  MovieDrawingCompleteUPP
9281  NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine);
9282 #if !OPAQUE_UPP_TYPES
9283  enum
9284  {
9285  uppMovieDrawingCompleteProcInfo = 0x000003E0
9286  }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
9287 #ifdef __cplusplus
9288  inline MovieDrawingCompleteUPP
9289  NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine)
9290  {
9291  return (MovieDrawingCompleteUPP)NewRoutineDescriptor(
9292  (ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo,
9293  GetCurrentArchitecture());
9294  }
9295 #else
9296 #define NewMovieDrawingCompleteUPP(userRoutine) \
9297  (MovieDrawingCompleteUPP) NewRoutineDescriptor( \
9298  (ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo, \
9299  GetCurrentArchitecture())
9300 #endif
9301 #endif
9302 
9311  TrackTransferUPP
9312  NewTrackTransferUPP(TrackTransferProcPtr userRoutine);
9313 #if !OPAQUE_UPP_TYPES
9314  enum
9315  {
9316  uppTrackTransferProcInfo = 0x000003E0
9317  }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */
9318 #ifdef __cplusplus
9319  inline TrackTransferUPP NewTrackTransferUPP(TrackTransferProcPtr userRoutine)
9320  {
9321  return (TrackTransferUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
9322  uppTrackTransferProcInfo,
9323  GetCurrentArchitecture());
9324  }
9325 #else
9326 #define NewTrackTransferUPP(userRoutine) \
9327  (TrackTransferUPP) \
9328  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTrackTransferProcInfo, \
9329  GetCurrentArchitecture())
9330 #endif
9331 #endif
9332 
9341  GetMovieUPP
9342  NewGetMovieUPP(GetMovieProcPtr userRoutine);
9343 #if !OPAQUE_UPP_TYPES
9344  enum
9345  {
9346  uppGetMovieProcInfo = 0x00003FE0
9347  }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
9348 #ifdef __cplusplus
9349  inline GetMovieUPP NewGetMovieUPP(GetMovieProcPtr userRoutine)
9350  {
9351  return (GetMovieUPP)NewRoutineDescriptor(
9352  (ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture());
9353  }
9354 #else
9355 #define NewGetMovieUPP(userRoutine) \
9356  (GetMovieUPP) NewRoutineDescriptor( \
9357  (ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture())
9358 #endif
9359 #endif
9360 
9369  MoviePreviewCallOutUPP
9370  NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine);
9371 #if !OPAQUE_UPP_TYPES
9372  enum
9373  {
9374  uppMoviePreviewCallOutProcInfo = 0x000000D0
9375  }; /* pascal 1_byte Func(4_bytes) */
9376 #ifdef __cplusplus
9377  inline MoviePreviewCallOutUPP
9378  NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine)
9379  {
9380  return (MoviePreviewCallOutUPP)NewRoutineDescriptor(
9381  (ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo,
9382  GetCurrentArchitecture());
9383  }
9384 #else
9385 #define NewMoviePreviewCallOutUPP(userRoutine) \
9386  (MoviePreviewCallOutUPP) NewRoutineDescriptor( \
9387  (ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo, \
9388  GetCurrentArchitecture())
9389 #endif
9390 #endif
9391 
9400  TextMediaUPP
9401  NewTextMediaUPP(TextMediaProcPtr userRoutine);
9402 #if !OPAQUE_UPP_TYPES
9403  enum
9404  {
9405  uppTextMediaProcInfo = 0x00003FE0
9406  }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
9407 #ifdef __cplusplus
9408  inline TextMediaUPP NewTextMediaUPP(TextMediaProcPtr userRoutine)
9409  {
9410  return (TextMediaUPP)NewRoutineDescriptor(
9411  (ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture());
9412  }
9413 #else
9414 #define NewTextMediaUPP(userRoutine) \
9415  (TextMediaUPP) NewRoutineDescriptor( \
9416  (ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture())
9417 #endif
9418 #endif
9419 
9428  ActionsUPP
9429  NewActionsUPP(ActionsProcPtr userRoutine);
9430 #if !OPAQUE_UPP_TYPES
9431  enum
9432  {
9433  uppActionsProcInfo = 0x00003FE0
9434  }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
9435 #ifdef __cplusplus
9436  inline ActionsUPP NewActionsUPP(ActionsProcPtr userRoutine)
9437  {
9438  return (ActionsUPP)NewRoutineDescriptor(
9439  (ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture());
9440  }
9441 #else
9442 #define NewActionsUPP(userRoutine) \
9443  (ActionsUPP) NewRoutineDescriptor( \
9444  (ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture())
9445 #endif
9446 #endif
9447 
9456  DoMCActionUPP
9457  NewDoMCActionUPP(DoMCActionProcPtr userRoutine);
9458 #if !OPAQUE_UPP_TYPES
9459  enum
9460  {
9461  uppDoMCActionProcInfo = 0x00003EE0
9462  }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
9463 #ifdef __cplusplus
9464  inline DoMCActionUPP NewDoMCActionUPP(DoMCActionProcPtr userRoutine)
9465  {
9466  return (DoMCActionUPP)NewRoutineDescriptor(
9467  (ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture());
9468  }
9469 #else
9470 #define NewDoMCActionUPP(userRoutine) \
9471  (DoMCActionUPP) NewRoutineDescriptor( \
9472  (ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture())
9473 #endif
9474 #endif
9475 
9484  MovieExecuteWiredActionsUPP
9485  NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine);
9486 #if !OPAQUE_UPP_TYPES
9487  enum
9488  {
9489  uppMovieExecuteWiredActionsProcInfo = 0x00003FE0
9490  }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
9491 #ifdef __cplusplus
9492  inline MovieExecuteWiredActionsUPP
9493  NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine)
9494  {
9495  return (MovieExecuteWiredActionsUPP)NewRoutineDescriptor(
9496  (ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo,
9497  GetCurrentArchitecture());
9498  }
9499 #else
9500 #define NewMovieExecuteWiredActionsUPP(userRoutine) \
9501  (MovieExecuteWiredActionsUPP) NewRoutineDescriptor( \
9502  (ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo, \
9503  GetCurrentArchitecture())
9504 #endif
9505 #endif
9506 
9515  MoviePrePrerollCompleteUPP
9516  NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine);
9517 #if !OPAQUE_UPP_TYPES
9518  enum
9519  {
9520  uppMoviePrePrerollCompleteProcInfo = 0x00000EC0
9521  }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */
9522 #ifdef __cplusplus
9523  inline MoviePrePrerollCompleteUPP
9524  NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine)
9525  {
9526  return (MoviePrePrerollCompleteUPP)NewRoutineDescriptor(
9527  (ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo,
9528  GetCurrentArchitecture());
9529  }
9530 #else
9531 #define NewMoviePrePrerollCompleteUPP(userRoutine) \
9532  (MoviePrePrerollCompleteUPP) NewRoutineDescriptor( \
9533  (ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo, \
9534  GetCurrentArchitecture())
9535 #endif
9536 #endif
9537 
9546  MoviesErrorUPP
9547  NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine);
9548 #if !OPAQUE_UPP_TYPES
9549  enum
9550  {
9551  uppMoviesErrorProcInfo = 0x00000380
9552  }; /* pascal no_return_value Func(2_bytes, 4_bytes) */
9553 #ifdef __cplusplus
9554  inline MoviesErrorUPP NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine)
9555  {
9556  return (MoviesErrorUPP)NewRoutineDescriptor(
9557  (ProcPtr)(userRoutine), uppMoviesErrorProcInfo, GetCurrentArchitecture());
9558  }
9559 #else
9560 #define NewMoviesErrorUPP(userRoutine) \
9561  (MoviesErrorUPP) \
9562  NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviesErrorProcInfo, \
9563  GetCurrentArchitecture())
9564 #endif
9565 #endif
9566 
9575  QTCallBackUPP
9576  NewQTCallBackUPP(QTCallBackProcPtr userRoutine);
9577 #if !OPAQUE_UPP_TYPES
9578  enum
9579  {
9580  uppQTCallBackProcInfo = 0x000003C0
9581  }; /* pascal no_return_value Func(4_bytes, 4_bytes) */
9582 #ifdef __cplusplus
9583  inline QTCallBackUPP NewQTCallBackUPP(QTCallBackProcPtr userRoutine)
9584  {
9585  return (QTCallBackUPP)NewRoutineDescriptor(
9586  (ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture());
9587  }
9588 #else
9589 #define NewQTCallBackUPP(userRoutine) \
9590  (QTCallBackUPP) NewRoutineDescriptor( \
9591  (ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture())
9592 #endif
9593 #endif
9594 
9603  QTSyncTaskUPP
9604  NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine);
9605 #if !OPAQUE_UPP_TYPES
9606  enum
9607  {
9608  uppQTSyncTaskProcInfo = 0x000000C0
9609  }; /* pascal no_return_value Func(4_bytes) */
9610 #ifdef __cplusplus
9611  inline QTSyncTaskUPP NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine)
9612  {
9613  return (QTSyncTaskUPP)NewRoutineDescriptor(
9614  (ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture());
9615  }
9616 #else
9617 #define NewQTSyncTaskUPP(userRoutine) \
9618  (QTSyncTaskUPP) NewRoutineDescriptor( \
9619  (ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture())
9620 #endif
9621 #endif
9622 
9631  TweenerDataUPP
9632  NewTweenerDataUPP(TweenerDataProcPtr userRoutine);
9633 #if !OPAQUE_UPP_TYPES
9634  enum
9635  {
9636  uppTweenerDataProcInfo = 0x003FFFF0
9637  }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes,
9638  4_bytes, 4_bytes) */
9639 #ifdef __cplusplus
9640  inline TweenerDataUPP NewTweenerDataUPP(TweenerDataProcPtr userRoutine)
9641  {
9642  return (TweenerDataUPP)NewRoutineDescriptor(
9643  (ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture());
9644  }
9645 #else
9646 #define NewTweenerDataUPP(userRoutine) \
9647  (TweenerDataUPP) \
9648  NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, \
9649  GetCurrentArchitecture())
9650 #endif
9651 #endif
9652 
9661  QTBandwidthNotificationUPP
9662  NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine);
9663 #if !OPAQUE_UPP_TYPES
9664  enum
9665  {
9666  uppQTBandwidthNotificationProcInfo = 0x00000FE0
9667  }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
9668 #ifdef __cplusplus
9669  inline QTBandwidthNotificationUPP
9670  NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine)
9671  {
9672  return (QTBandwidthNotificationUPP)NewRoutineDescriptor(
9673  (ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo,
9674  GetCurrentArchitecture());
9675  }
9676 #else
9677 #define NewQTBandwidthNotificationUPP(userRoutine) \
9678  (QTBandwidthNotificationUPP) NewRoutineDescriptor( \
9679  (ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo, \
9680  GetCurrentArchitecture())
9681 #endif
9682 #endif
9683 
9692  MCActionFilterUPP
9693  NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine);
9694 #if !OPAQUE_UPP_TYPES
9695  enum
9696  {
9697  uppMCActionFilterProcInfo = 0x00000FD0
9698  }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */
9699 #ifdef __cplusplus
9700  inline MCActionFilterUPP
9701  NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine)
9702  {
9703  return (MCActionFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine),
9704  uppMCActionFilterProcInfo,
9705  GetCurrentArchitecture());
9706  }
9707 #else
9708 #define NewMCActionFilterUPP(userRoutine) \
9709  (MCActionFilterUPP) \
9710  NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterProcInfo, \
9711  GetCurrentArchitecture())
9712 #endif
9713 #endif
9714 
9723  MCActionFilterWithRefConUPP
9724  NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine);
9725 #if !OPAQUE_UPP_TYPES
9726  enum
9727  {
9728  uppMCActionFilterWithRefConProcInfo = 0x00003ED0
9729  }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
9730 #ifdef __cplusplus
9731  inline MCActionFilterWithRefConUPP
9732  NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine)
9733  {
9734  return (MCActionFilterWithRefConUPP)NewRoutineDescriptor(
9735  (ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo,
9736  GetCurrentArchitecture());
9737  }
9738 #else
9739 #define NewMCActionFilterWithRefConUPP(userRoutine) \
9740  (MCActionFilterWithRefConUPP) NewRoutineDescriptor( \
9741  (ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo, \
9742  GetCurrentArchitecture())
9743 #endif
9744 #endif
9745 
9754  void
9755  DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP);
9756 #if !OPAQUE_UPP_TYPES
9757 #ifdef __cplusplus
9758  inline void DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP)
9759  {
9760  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9761  }
9762 #else
9763 #define DisposeMovieRgnCoverUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9764 #endif
9765 #endif
9766 
9775  void
9776  DisposeMovieProgressUPP(MovieProgressUPP userUPP);
9777 #if !OPAQUE_UPP_TYPES
9778 #ifdef __cplusplus
9779  inline void DisposeMovieProgressUPP(MovieProgressUPP userUPP)
9780  {
9781  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9782  }
9783 #else
9784 #define DisposeMovieProgressUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9785 #endif
9786 #endif
9787 
9796  void
9797  DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP);
9798 #if !OPAQUE_UPP_TYPES
9799 #ifdef __cplusplus
9800  inline void DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP)
9801  {
9802  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9803  }
9804 #else
9805 #define DisposeMovieDrawingCompleteUPP(userUPP) \
9806  DisposeRoutineDescriptor(userUPP)
9807 #endif
9808 #endif
9809 
9818  void
9819  DisposeTrackTransferUPP(TrackTransferUPP userUPP);
9820 #if !OPAQUE_UPP_TYPES
9821 #ifdef __cplusplus
9822  inline void DisposeTrackTransferUPP(TrackTransferUPP userUPP)
9823  {
9824  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9825  }
9826 #else
9827 #define DisposeTrackTransferUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9828 #endif
9829 #endif
9830 
9839  void
9840  DisposeGetMovieUPP(GetMovieUPP userUPP);
9841 #if !OPAQUE_UPP_TYPES
9842 #ifdef __cplusplus
9843  inline void DisposeGetMovieUPP(GetMovieUPP userUPP)
9844  {
9845  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9846  }
9847 #else
9848 #define DisposeGetMovieUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9849 #endif
9850 #endif
9851 
9860  void
9861  DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP);
9862 #if !OPAQUE_UPP_TYPES
9863 #ifdef __cplusplus
9864  inline void DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP)
9865  {
9866  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9867  }
9868 #else
9869 #define DisposeMoviePreviewCallOutUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9870 #endif
9871 #endif
9872 
9881  void
9882  DisposeTextMediaUPP(TextMediaUPP userUPP);
9883 #if !OPAQUE_UPP_TYPES
9884 #ifdef __cplusplus
9885  inline void DisposeTextMediaUPP(TextMediaUPP userUPP)
9886  {
9887  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9888  }
9889 #else
9890 #define DisposeTextMediaUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9891 #endif
9892 #endif
9893 
9902  void
9903  DisposeActionsUPP(ActionsUPP userUPP);
9904 #if !OPAQUE_UPP_TYPES
9905 #ifdef __cplusplus
9906  inline void DisposeActionsUPP(ActionsUPP userUPP)
9907  {
9908  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9909  }
9910 #else
9911 #define DisposeActionsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9912 #endif
9913 #endif
9914 
9923  void
9924  DisposeDoMCActionUPP(DoMCActionUPP userUPP);
9925 #if !OPAQUE_UPP_TYPES
9926 #ifdef __cplusplus
9927  inline void DisposeDoMCActionUPP(DoMCActionUPP userUPP)
9928  {
9929  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9930  }
9931 #else
9932 #define DisposeDoMCActionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
9933 #endif
9934 #endif
9935 
9944  void
9945  DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP);
9946 #if !OPAQUE_UPP_TYPES
9947 #ifdef __cplusplus
9948  inline void
9949  DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP)
9950  {
9951  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9952  }
9953 #else
9954 #define DisposeMovieExecuteWiredActionsUPP(userUPP) \
9955  DisposeRoutineDescriptor(userUPP)
9956 #endif
9957 #endif
9958 
9967  void
9968  DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP);
9969 #if !OPAQUE_UPP_TYPES
9970 #ifdef __cplusplus
9971  inline void
9972  DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP)
9973  {
9974  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9975  }
9976 #else
9977 #define DisposeMoviePrePrerollCompleteUPP(userUPP) \
9978  DisposeRoutineDescriptor(userUPP)
9979 #endif
9980 #endif
9981 
9990  void
9991  DisposeMoviesErrorUPP(MoviesErrorUPP userUPP);
9992 #if !OPAQUE_UPP_TYPES
9993 #ifdef __cplusplus
9994  inline void DisposeMoviesErrorUPP(MoviesErrorUPP userUPP)
9995  {
9996  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
9997  }
9998 #else
9999 #define DisposeMoviesErrorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
10000 #endif
10001 #endif
10002 
10011  void
10012  DisposeQTCallBackUPP(QTCallBackUPP userUPP);
10013 #if !OPAQUE_UPP_TYPES
10014 #ifdef __cplusplus
10015  inline void DisposeQTCallBackUPP(QTCallBackUPP userUPP)
10016  {
10017  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
10018  }
10019 #else
10020 #define DisposeQTCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
10021 #endif
10022 #endif
10023 
10032  void
10033  DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP);
10034 #if !OPAQUE_UPP_TYPES
10035 #ifdef __cplusplus
10036  inline void DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP)
10037  {
10038  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
10039  }
10040 #else
10041 #define DisposeQTSyncTaskUPP(userUPP) DisposeRoutineDescriptor(userUPP)
10042 #endif
10043 #endif
10044 
10053  void
10054  DisposeTweenerDataUPP(TweenerDataUPP userUPP);
10055 #if !OPAQUE_UPP_TYPES
10056 #ifdef __cplusplus
10057  inline void DisposeTweenerDataUPP(TweenerDataUPP userUPP)
10058  {
10059  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
10060  }
10061 #else
10062 #define DisposeTweenerDataUPP(userUPP) DisposeRoutineDescriptor(userUPP)
10063 #endif
10064 #endif
10065 
10074  void
10075  DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP);
10076 #if !OPAQUE_UPP_TYPES
10077 #ifdef __cplusplus
10078  inline void
10079  DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP)
10080  {
10081  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
10082  }
10083 #else
10084 #define DisposeQTBandwidthNotificationUPP(userUPP) \
10085  DisposeRoutineDescriptor(userUPP)
10086 #endif
10087 #endif
10088 
10097  void
10098  DisposeMCActionFilterUPP(MCActionFilterUPP userUPP);
10099 #if !OPAQUE_UPP_TYPES
10100 #ifdef __cplusplus
10101  inline void DisposeMCActionFilterUPP(MCActionFilterUPP userUPP)
10102  {
10103  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
10104  }
10105 #else
10106 #define DisposeMCActionFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
10107 #endif
10108 #endif
10109 
10118  void
10119  DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP);
10120 #if !OPAQUE_UPP_TYPES
10121 #ifdef __cplusplus
10122  inline void
10123  DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP)
10124  {
10125  DisposeRoutineDescriptor((UniversalProcPtr)userUPP);
10126  }
10127 #else
10128 #define DisposeMCActionFilterWithRefConUPP(userUPP) \
10129  DisposeRoutineDescriptor(userUPP)
10130 #endif
10131 #endif
10132 
10141  OSErr
10143  MovieRgnCoverUPP userUPP);
10144 #if !OPAQUE_UPP_TYPES
10145 #ifdef __cplusplus
10147  long refcon, MovieRgnCoverUPP userUPP)
10148  {
10149  return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppMovieRgnCoverProcInfo,
10150  theMovie, changedRgn, refcon);
10151  }
10152 #else
10153 #define InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userUPP) \
10154  (OSErr) CALL_THREE_PARAMETER_UPP((userUPP), uppMovieRgnCoverProcInfo, \
10155  (theMovie), (changedRgn), (refcon))
10156 #endif
10157 #endif
10158 
10167  OSErr
10168  InvokeMovieProgressUPP(Movie theMovie, short message, short whatOperation,
10169  Fixed percentDone, long refcon,
10170  MovieProgressUPP userUPP);
10171 #if !OPAQUE_UPP_TYPES
10172 #ifdef __cplusplus
10173  inline OSErr InvokeMovieProgressUPP(Movie theMovie, short message,
10174  short whatOperation, Fixed percentDone,
10175  long refcon, MovieProgressUPP userUPP)
10176  {
10177  return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppMovieProgressProcInfo,
10178  theMovie, message, whatOperation,
10179  percentDone, refcon);
10180  }
10181 #else
10182 #define InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, \
10183  refcon, userUPP) \
10184  (OSErr) CALL_FIVE_PARAMETER_UPP((userUPP), uppMovieProgressProcInfo, \
10185  (theMovie), (message), (whatOperation), \
10186  (percentDone), (refcon))
10187 #endif
10188 #endif
10189 
10198  OSErr
10200  MovieDrawingCompleteUPP userUPP);
10201 #if !OPAQUE_UPP_TYPES
10202 #ifdef __cplusplus
10203  inline OSErr InvokeMovieDrawingCompleteUPP(Movie theMovie, long refCon,
10204  MovieDrawingCompleteUPP userUPP)
10205  {
10206  return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppMovieDrawingCompleteProcInfo,
10207  theMovie, refCon);
10208  }
10209 #else
10210 #define InvokeMovieDrawingCompleteUPP(theMovie, refCon, userUPP) \
10211  (OSErr) CALL_TWO_PARAMETER_UPP((userUPP), uppMovieDrawingCompleteProcInfo, \
10212  (theMovie), (refCon))
10213 #endif
10214 #endif
10215 
10224  OSErr
10225  InvokeTrackTransferUPP(Track t, long refCon, TrackTransferUPP userUPP);
10226 #if !OPAQUE_UPP_TYPES
10227 #ifdef __cplusplus
10228  inline OSErr InvokeTrackTransferUPP(Track t, long refCon,
10229  TrackTransferUPP userUPP)
10230  {
10231  return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppTrackTransferProcInfo, t,
10232  refCon);
10233  }
10234 #else
10235 #define InvokeTrackTransferUPP(t, refCon, userUPP) \
10236  (OSErr) CALL_TWO_PARAMETER_UPP((userUPP), uppTrackTransferProcInfo, (t), \
10237  (refCon))
10238 #endif
10239 #endif
10240 
10249  OSErr
10250  InvokeGetMovieUPP(long offset, long size, void *dataPtr, void *refCon,
10251  GetMovieUPP userUPP);
10252 #if !OPAQUE_UPP_TYPES
10253 #ifdef __cplusplus
10254  inline OSErr InvokeGetMovieUPP(long offset, long size, void *dataPtr,
10255  void *refCon, GetMovieUPP userUPP)
10256  {
10257  return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppGetMovieProcInfo, offset,
10258  size, dataPtr, refCon);
10259  }
10260 #else
10261 #define InvokeGetMovieUPP(offset, size, dataPtr, refCon, userUPP) \
10262  (OSErr) CALL_FOUR_PARAMETER_UPP((userUPP), uppGetMovieProcInfo, (offset), \
10263  (size), (dataPtr), (refCon))
10264 #endif
10265 #endif
10266 
10275  Boolean
10276  InvokeMoviePreviewCallOutUPP(long refcon, MoviePreviewCallOutUPP userUPP);
10277 #if !OPAQUE_UPP_TYPES
10278 #ifdef __cplusplus
10279  inline Boolean InvokeMoviePreviewCallOutUPP(long refcon,
10280  MoviePreviewCallOutUPP userUPP)
10281  {
10282  return (Boolean)CALL_ONE_PARAMETER_UPP(
10283  userUPP, uppMoviePreviewCallOutProcInfo, refcon);
10284  }
10285 #else
10286 #define InvokeMoviePreviewCallOutUPP(refcon, userUPP) \
10287  (Boolean) CALL_ONE_PARAMETER_UPP((userUPP), uppMoviePreviewCallOutProcInfo, \
10288  (refcon))
10289 #endif
10290 #endif
10291 
10300  OSErr
10301  InvokeTextMediaUPP(Handle theText, Movie theMovie, short *displayFlag,
10302  long refcon, TextMediaUPP userUPP);
10303 #if !OPAQUE_UPP_TYPES
10304 #ifdef __cplusplus
10305  inline OSErr InvokeTextMediaUPP(Handle theText, Movie theMovie,
10306  short *displayFlag, long refcon,
10307  TextMediaUPP userUPP)
10308  {
10309  return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppTextMediaProcInfo, theText,
10310  theMovie, displayFlag, refcon);
10311  }
10312 #else
10313 #define InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userUPP) \
10314  (OSErr) CALL_FOUR_PARAMETER_UPP((userUPP), uppTextMediaProcInfo, (theText), \
10315  (theMovie), (displayFlag), (refcon))
10316 #endif
10317 #endif
10318 
10327  OSErr
10328  InvokeActionsUPP(void *refcon, Track targetTrack, long targetRefCon,
10329  QTEventRecordPtr theEvent, ActionsUPP userUPP);
10330 #if !OPAQUE_UPP_TYPES
10331 #ifdef __cplusplus
10332  inline OSErr InvokeActionsUPP(void *refcon, Track targetTrack,
10333  long targetRefCon, QTEventRecordPtr theEvent,
10334  ActionsUPP userUPP)
10335  {
10336  return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppActionsProcInfo, refcon,
10337  targetTrack, targetRefCon, theEvent);
10338  }
10339 #else
10340 #define InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userUPP) \
10341  (OSErr) CALL_FOUR_PARAMETER_UPP((userUPP), uppActionsProcInfo, (refcon), \
10342  (targetTrack), (targetRefCon), (theEvent))
10343 #endif
10344 #endif
10345 
10354  OSErr
10355  InvokeDoMCActionUPP(void *refcon, short action, void *params, Boolean *handled,
10356  DoMCActionUPP userUPP);
10357 #if !OPAQUE_UPP_TYPES
10358 #ifdef __cplusplus
10359  inline OSErr InvokeDoMCActionUPP(void *refcon, short action, void *params,
10360  Boolean *handled, DoMCActionUPP userUPP)
10361  {
10362  return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDoMCActionProcInfo, refcon,
10363  action, params, handled);
10364  }
10365 #else
10366 #define InvokeDoMCActionUPP(refcon, action, params, handled, userUPP) \
10367  (OSErr) CALL_FOUR_PARAMETER_UPP((userUPP), uppDoMCActionProcInfo, (refcon), \
10368  (action), (params), (handled))
10369 #endif
10370 #endif
10371 
10380  OSErr
10382  QTAtomContainer wiredActions,
10383  MovieExecuteWiredActionsUPP userUPP);
10384 #if !OPAQUE_UPP_TYPES
10385 #ifdef __cplusplus
10386  inline OSErr
10387  InvokeMovieExecuteWiredActionsUPP(Movie theMovie, void *refcon, long flags,
10388  QTAtomContainer wiredActions,
10389  MovieExecuteWiredActionsUPP userUPP)
10390  {
10391  return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP,
10392  uppMovieExecuteWiredActionsProcInfo,
10393  theMovie, refcon, flags, wiredActions);
10394  }
10395 #else
10396 #define InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, \
10397  wiredActions, userUPP) \
10398  (OSErr) \
10399  CALL_FOUR_PARAMETER_UPP((userUPP), uppMovieExecuteWiredActionsProcInfo, \
10400  (theMovie), (refcon), (flags), (wiredActions))
10401 #endif
10402 #endif
10403 
10412  void
10413  InvokeMoviePrePrerollCompleteUPP(Movie theMovie, OSErr prerollErr, void *refcon,
10414  MoviePrePrerollCompleteUPP userUPP);
10415 #if !OPAQUE_UPP_TYPES
10416 #ifdef __cplusplus
10417  inline void
10418  InvokeMoviePrePrerollCompleteUPP(Movie theMovie, OSErr prerollErr, void *refcon,
10419  MoviePrePrerollCompleteUPP userUPP)
10420  {
10421  CALL_THREE_PARAMETER_UPP(userUPP, uppMoviePrePrerollCompleteProcInfo,
10422  theMovie, prerollErr, refcon);
10423  }
10424 #else
10425 #define InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, \
10426  userUPP) \
10427  CALL_THREE_PARAMETER_UPP((userUPP), uppMoviePrePrerollCompleteProcInfo, \
10428  (theMovie), (prerollErr), (refcon))
10429 #endif
10430 #endif
10431 
10440  void
10441  InvokeMoviesErrorUPP(OSErr theErr, long refcon, MoviesErrorUPP userUPP);
10442 #if !OPAQUE_UPP_TYPES
10443 #ifdef __cplusplus
10444  inline void InvokeMoviesErrorUPP(OSErr theErr, long refcon,
10445  MoviesErrorUPP userUPP)
10446  {
10447  CALL_TWO_PARAMETER_UPP(userUPP, uppMoviesErrorProcInfo, theErr, refcon);
10448  }
10449 #else
10450 #define InvokeMoviesErrorUPP(theErr, refcon, userUPP) \
10451  CALL_TWO_PARAMETER_UPP((userUPP), uppMoviesErrorProcInfo, (theErr), (refcon))
10452 #endif
10453 #endif
10454 
10463  void
10464  InvokeQTCallBackUPP(QTCallBack cb, long refCon, QTCallBackUPP userUPP);
10465 #if !OPAQUE_UPP_TYPES
10466 #ifdef __cplusplus
10467  inline void InvokeQTCallBackUPP(QTCallBack cb, long refCon,
10468  QTCallBackUPP userUPP)
10469  {
10470  CALL_TWO_PARAMETER_UPP(userUPP, uppQTCallBackProcInfo, cb, refCon);
10471  }
10472 #else
10473 #define InvokeQTCallBackUPP(cb, refCon, userUPP) \
10474  CALL_TWO_PARAMETER_UPP((userUPP), uppQTCallBackProcInfo, (cb), (refCon))
10475 #endif
10476 #endif
10477 
10486  void
10487  InvokeQTSyncTaskUPP(void *task, QTSyncTaskUPP userUPP);
10488 #if !OPAQUE_UPP_TYPES
10489 #ifdef __cplusplus
10490  inline void InvokeQTSyncTaskUPP(void *task, QTSyncTaskUPP userUPP)
10491  {
10492  CALL_ONE_PARAMETER_UPP(userUPP, uppQTSyncTaskProcInfo, task);
10493  }
10494 #else
10495 #define InvokeQTSyncTaskUPP(task, userUPP) \
10496  CALL_ONE_PARAMETER_UPP((userUPP), uppQTSyncTaskProcInfo, (task))
10497 #endif
10498 #endif
10499 
10508  ComponentResult
10509  InvokeTweenerDataUPP(TweenRecord *tr, void *tweenData, long tweenDataSize,
10510  long dataDescriptionSeed, Handle dataDescription,
10511  ICMCompletionProcRecordPtr asyncCompletionProc,
10512  UniversalProcPtr transferProc, void *refCon,
10513  TweenerDataUPP userUPP);
10514 #if !OPAQUE_UPP_TYPES
10515 #ifdef __cplusplus
10516  inline ComponentResult
10517  InvokeTweenerDataUPP(TweenRecord *tr, void *tweenData, long tweenDataSize,
10518  long dataDescriptionSeed, Handle dataDescription,
10519  ICMCompletionProcRecordPtr asyncCompletionProc,
10520  UniversalProcPtr transferProc, void *refCon,
10521  TweenerDataUPP userUPP)
10522  {
10523  return (ComponentResult)CALL_EIGHT_PARAMETER_UPP(
10524  userUPP, uppTweenerDataProcInfo, tr, tweenData, tweenDataSize,
10525  dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc,
10526  refCon);
10527  }
10528 #else
10529 #define InvokeTweenerDataUPP( \
10530  tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, \
10531  asyncCompletionProc, transferProc, refCon, userUPP) \
10532  (ComponentResult) CALL_EIGHT_PARAMETER_UPP( \
10533  (userUPP), uppTweenerDataProcInfo, (tr), (tweenData), (tweenDataSize), \
10534  (dataDescriptionSeed), (dataDescription), (asyncCompletionProc), \
10535  (transferProc), (refCon))
10536 #endif
10537 #endif
10538 
10547  OSErr
10548  InvokeQTBandwidthNotificationUPP(long flags, void *reserved, void *refcon,
10549  QTBandwidthNotificationUPP userUPP);
10550 #if !OPAQUE_UPP_TYPES
10551 #ifdef __cplusplus
10552  inline OSErr
10553  InvokeQTBandwidthNotificationUPP(long flags, void *reserved, void *refcon,
10554  QTBandwidthNotificationUPP userUPP)
10555  {
10556  return (OSErr)CALL_THREE_PARAMETER_UPP(
10557  userUPP, uppQTBandwidthNotificationProcInfo, flags, reserved, refcon);
10558  }
10559 #else
10560 #define InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userUPP) \
10561  (OSErr) \
10562  CALL_THREE_PARAMETER_UPP((userUPP), uppQTBandwidthNotificationProcInfo, \
10563  (flags), (reserved), (refcon))
10564 #endif
10565 #endif
10566 
10575  Boolean
10576  InvokeMCActionFilterUPP(MovieController mc, short *action, void *params,
10577  MCActionFilterUPP userUPP);
10578 #if !OPAQUE_UPP_TYPES
10579 #ifdef __cplusplus
10580  inline Boolean InvokeMCActionFilterUPP(MovieController mc, short *action,
10581  void *params,
10582  MCActionFilterUPP userUPP)
10583  {
10584  return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppMCActionFilterProcInfo,
10585  mc, action, params);
10586  }
10587 #else
10588 #define InvokeMCActionFilterUPP(mc, action, params, userUPP) \
10589  (Boolean) CALL_THREE_PARAMETER_UPP((userUPP), uppMCActionFilterProcInfo, \
10590  (mc), (action), (params))
10591 #endif
10592 #endif
10593 
10602  Boolean
10604  void *params, long refCon,
10605  MCActionFilterWithRefConUPP userUPP);
10606 #if !OPAQUE_UPP_TYPES
10607 #ifdef __cplusplus
10608  inline Boolean
10610  void *params, long refCon,
10611  MCActionFilterWithRefConUPP userUPP)
10612  {
10613  return (Boolean)CALL_FOUR_PARAMETER_UPP(
10614  userUPP, uppMCActionFilterWithRefConProcInfo, mc, action, params, refCon);
10615  }
10616 #else
10617 #define InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userUPP) \
10618  (Boolean) \
10619  CALL_FOUR_PARAMETER_UPP((userUPP), uppMCActionFilterWithRefConProcInfo, \
10620  (mc), (action), (params), (refCon))
10621 #endif
10622 #endif
10623 
10624 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
10625 /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
10626 #define NewMovieRgnCoverProc(userRoutine) NewMovieRgnCoverUPP(userRoutine)
10627 #define NewMovieProgressProc(userRoutine) NewMovieProgressUPP(userRoutine)
10628 #define NewMovieDrawingCompleteProc(userRoutine) \
10629  NewMovieDrawingCompleteUPP(userRoutine)
10630 #define NewTrackTransferProc(userRoutine) NewTrackTransferUPP(userRoutine)
10631 #define NewGetMovieProc(userRoutine) NewGetMovieUPP(userRoutine)
10632 #define NewMoviePreviewCallOutProc(userRoutine) \
10633  NewMoviePreviewCallOutUPP(userRoutine)
10634 #define NewTextMediaProc(userRoutine) NewTextMediaUPP(userRoutine)
10635 #define NewActionsProc(userRoutine) NewActionsUPP(userRoutine)
10636 #define NewDoMCActionProc(userRoutine) NewDoMCActionUPP(userRoutine)
10637 #define NewMovieExecuteWiredActionsProc(userRoutine) \
10638  NewMovieExecuteWiredActionsUPP(userRoutine)
10639 #define NewMoviePrePrerollCompleteProc(userRoutine) \
10640  NewMoviePrePrerollCompleteUPP(userRoutine)
10641 #define NewMoviesErrorProc(userRoutine) NewMoviesErrorUPP(userRoutine)
10642 #define NewQTCallBackProc(userRoutine) NewQTCallBackUPP(userRoutine)
10643 #define NewQTSyncTaskProc(userRoutine) NewQTSyncTaskUPP(userRoutine)
10644 #define NewTweenerDataProc(userRoutine) NewTweenerDataUPP(userRoutine)
10645 #define NewQTBandwidthNotificationProc(userRoutine) \
10646  NewQTBandwidthNotificationUPP(userRoutine)
10647 #define NewMCActionFilterProc(userRoutine) NewMCActionFilterUPP(userRoutine)
10648 #define NewMCActionFilterWithRefConProc(userRoutine) \
10649  NewMCActionFilterWithRefConUPP(userRoutine)
10650 #define CallMovieRgnCoverProc(userRoutine, theMovie, changedRgn, refcon) \
10651  InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userRoutine)
10652 #define CallMovieProgressProc(userRoutine, theMovie, message, whatOperation, \
10653  percentDone, refcon) \
10654  InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, \
10655  refcon, userRoutine)
10656 #define CallMovieDrawingCompleteProc(userRoutine, theMovie, refCon) \
10657  InvokeMovieDrawingCompleteUPP(theMovie, refCon, userRoutine)
10658 #define CallTrackTransferProc(userRoutine, t, refCon) \
10659  InvokeTrackTransferUPP(t, refCon, userRoutine)
10660 #define CallGetMovieProc(userRoutine, offset, size, dataPtr, refCon) \
10661  InvokeGetMovieUPP(offset, size, dataPtr, refCon, userRoutine)
10662 #define CallMoviePreviewCallOutProc(userRoutine, refcon) \
10663  InvokeMoviePreviewCallOutUPP(refcon, userRoutine)
10664 #define CallTextMediaProc(userRoutine, theText, theMovie, displayFlag, refcon) \
10665  InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userRoutine)
10666 #define CallActionsProc(userRoutine, refcon, targetTrack, targetRefCon, \
10667  theEvent) \
10668  InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userRoutine)
10669 #define CallDoMCActionProc(userRoutine, refcon, action, params, handled) \
10670  InvokeDoMCActionUPP(refcon, action, params, handled, userRoutine)
10671 #define CallMovieExecuteWiredActionsProc(userRoutine, theMovie, refcon, flags, \
10672  wiredActions) \
10673  InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, wiredActions, \
10674  userRoutine)
10675 #define CallMoviePrePrerollCompleteProc(userRoutine, theMovie, prerollErr, \
10676  refcon) \
10677  InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, userRoutine)
10678 #define CallMoviesErrorProc(userRoutine, theErr, refcon) \
10679  InvokeMoviesErrorUPP(theErr, refcon, userRoutine)
10680 #define CallQTCallBackProc(userRoutine, cb, refCon) \
10681  InvokeQTCallBackUPP(cb, refCon, userRoutine)
10682 #define CallQTSyncTaskProc(userRoutine, task) \
10683  InvokeQTSyncTaskUPP(task, userRoutine)
10684 #define CallTweenerDataProc(userRoutine, tr, tweenData, tweenDataSize, \
10685  dataDescriptionSeed, dataDescription, \
10686  asyncCompletionProc, transferProc, refCon) \
10687  InvokeTweenerDataUPP(tr, tweenData, tweenDataSize, dataDescriptionSeed, \
10688  dataDescription, asyncCompletionProc, transferProc, \
10689  refCon, userRoutine)
10690 #define CallQTBandwidthNotificationProc(userRoutine, flags, reserved, refcon) \
10691  InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userRoutine)
10692 #define CallMCActionFilterProc(userRoutine, mc, action, params) \
10693  InvokeMCActionFilterUPP(mc, action, params, userRoutine)
10694 #define CallMCActionFilterWithRefConProc(userRoutine, mc, action, params, \
10695  refCon) \
10696  InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userRoutine)
10697 #endif /* CALL_NOT_IN_CARBON */
10698 
10699  /* selectors for component calls */
10700  enum
10701  {
10702  kVideoMediaResetStatisticsSelect = 0x0105,
10703  kVideoMediaGetStatisticsSelect = 0x0106,
10704  kVideoMediaGetStallCountSelect = 0x010E,
10705  kVideoMediaSetCodecParameterSelect = 0x010F,
10706  kVideoMediaGetCodecParameterSelect = 0x0110,
10707  kTextMediaSetTextProcSelect = 0x0101,
10708  kTextMediaAddTextSampleSelect = 0x0102,
10709  kTextMediaAddTESampleSelect = 0x0103,
10710  kTextMediaAddHiliteSampleSelect = 0x0104,
10711  kTextMediaDrawRawSelect = 0x0109,
10712  kTextMediaSetTextPropertySelect = 0x010A,
10713  kTextMediaRawSetupSelect = 0x010B,
10714  kTextMediaRawIdleSelect = 0x010C,
10715  kTextMediaGetTextPropertySelect = 0x010D,
10716  kTextMediaFindNextTextSelect = 0x0105,
10717  kTextMediaHiliteTextSampleSelect = 0x0106,
10718  kTextMediaSetTextSampleDataSelect = 0x0107,
10719  kSpriteMediaSetPropertySelect = 0x0101,
10720  kSpriteMediaGetPropertySelect = 0x0102,
10721  kSpriteMediaHitTestSpritesSelect = 0x0103,
10722  kSpriteMediaCountSpritesSelect = 0x0104,
10723  kSpriteMediaCountImagesSelect = 0x0105,
10724  kSpriteMediaGetIndImageDescriptionSelect = 0x0106,
10725  kSpriteMediaGetDisplayedSampleNumberSelect = 0x0107,
10726  kSpriteMediaGetSpriteNameSelect = 0x0108,
10727  kSpriteMediaGetImageNameSelect = 0x0109,
10728  kSpriteMediaSetSpritePropertySelect = 0x010A,
10729  kSpriteMediaGetSpritePropertySelect = 0x010B,
10730  kSpriteMediaHitTestAllSpritesSelect = 0x010C,
10731  kSpriteMediaHitTestOneSpriteSelect = 0x010D,
10732  kSpriteMediaSpriteIndexToIDSelect = 0x010E,
10733  kSpriteMediaSpriteIDToIndexSelect = 0x010F,
10734  kSpriteMediaGetSpriteActionsForQTEventSelect = 0x0110,
10735  kSpriteMediaSetActionVariableSelect = 0x0111,
10736  kSpriteMediaGetActionVariableSelect = 0x0112,
10737  kSpriteMediaGetIndImagePropertySelect = 0x0113,
10738  kSpriteMediaNewSpriteSelect = 0x0114,
10739  kSpriteMediaDisposeSpriteSelect = 0x0115,
10740  kSpriteMediaSetActionVariableToStringSelect = 0x0116,
10741  kSpriteMediaGetActionVariableAsStringSelect = 0x0117,
10742  kFlashMediaSetPanSelect = 0x0101,
10743  kFlashMediaSetZoomSelect = 0x0102,
10744  kFlashMediaSetZoomRectSelect = 0x0103,
10745  kFlashMediaGetRefConBoundsSelect = 0x0104,
10746  kFlashMediaGetRefConIDSelect = 0x0105,
10747  kFlashMediaIDToRefConSelect = 0x0106,
10748  kFlashMediaGetDisplayedFrameNumberSelect = 0x0107,
10749  kFlashMediaFrameNumberToMovieTimeSelect = 0x0108,
10750  kFlashMediaFrameLabelToMovieTimeSelect = 0x0109,
10751  kFlashMediaGetFlashVariableSelect = 0x010A,
10752  kFlashMediaSetFlashVariableSelect = 0x010B,
10753  kFlashMediaDoButtonActionsSelect = 0x010C,
10754  kFlashMediaGetSupportedSwfVersionSelect = 0x010D,
10755  kMovieMediaGetChildDoMCActionCallbackSelect = 0x0102,
10756  kMovieMediaGetDoMCActionCallbackSelect = 0x0103,
10757  kMovieMediaGetCurrentMoviePropertySelect = 0x0104,
10758  kMovieMediaGetCurrentTrackPropertySelect = 0x0105,
10759  kMovieMediaGetChildMovieDataReferenceSelect = 0x0106,
10760  kMovieMediaSetChildMovieDataReferenceSelect = 0x0107,
10761  kMovieMediaLoadChildMovieFromDataReferenceSelect = 0x0108,
10762  kMedia3DGetNamedObjectListSelect = 0x0101,
10763  kMedia3DGetRendererListSelect = 0x0102,
10764  kMedia3DGetCurrentGroupSelect = 0x0103,
10765  kMedia3DTranslateNamedObjectToSelect = 0x0104,
10766  kMedia3DScaleNamedObjectToSelect = 0x0105,
10767  kMedia3DRotateNamedObjectToSelect = 0x0106,
10768  kMedia3DSetCameraDataSelect = 0x0107,
10769  kMedia3DGetCameraDataSelect = 0x0108,
10770  kMedia3DSetCameraAngleAspectSelect = 0x0109,
10771  kMedia3DGetCameraAngleAspectSelect = 0x010A,
10772  kMedia3DSetCameraRangeSelect = 0x010D,
10773  kMedia3DGetCameraRangeSelect = 0x010E,
10774  kMedia3DGetViewObjectSelect = 0x010F,
10775  kMCSetMovieSelect = 0x0002,
10776  kMCGetIndMovieSelect = 0x0005,
10777  kMCRemoveAllMoviesSelect = 0x0006,
10778  kMCRemoveAMovieSelect = 0x0003,
10779  kMCRemoveMovieSelect = 0x0006,
10780  kMCIsPlayerEventSelect = 0x0007,
10781  kMCSetActionFilterSelect = 0x0008,
10782  kMCDoActionSelect = 0x0009,
10783  kMCSetControllerAttachedSelect = 0x000A,
10784  kMCIsControllerAttachedSelect = 0x000B,
10785  kMCSetControllerPortSelect = 0x000C,
10786  kMCGetControllerPortSelect = 0x000D,
10787  kMCSetVisibleSelect = 0x000E,
10788  kMCGetVisibleSelect = 0x000F,
10789  kMCGetControllerBoundsRectSelect = 0x0010,
10790  kMCSetControllerBoundsRectSelect = 0x0011,
10791  kMCGetControllerBoundsRgnSelect = 0x0012,
10792  kMCGetWindowRgnSelect = 0x0013,
10793  kMCMovieChangedSelect = 0x0014,
10794  kMCSetDurationSelect = 0x0015,
10795  kMCGetCurrentTimeSelect = 0x0016,
10796  kMCNewAttachedControllerSelect = 0x0017,
10797  kMCDrawSelect = 0x0018,
10798  kMCActivateSelect = 0x0019,
10799  kMCIdleSelect = 0x001A,
10800  kMCKeySelect = 0x001B,
10801  kMCClickSelect = 0x001C,
10802  kMCEnableEditingSelect = 0x001D,
10803  kMCIsEditingEnabledSelect = 0x001E,
10804  kMCCopySelect = 0x001F,
10805  kMCCutSelect = 0x0020,
10806  kMCPasteSelect = 0x0021,
10807  kMCClearSelect = 0x0022,
10808  kMCUndoSelect = 0x0023,
10809  kMCPositionControllerSelect = 0x0024,
10810  kMCGetControllerInfoSelect = 0x0025,
10811  kMCSetClipSelect = 0x0028,
10812  kMCGetClipSelect = 0x0029,
10813  kMCDrawBadgeSelect = 0x002A,
10814  kMCSetUpEditMenuSelect = 0x002B,
10815  kMCGetMenuStringSelect = 0x002C,
10816  kMCSetActionFilterWithRefConSelect = 0x002D,
10817  kMCPtInControllerSelect = 0x002E,
10818  kMCInvalidateSelect = 0x002F,
10819  kMCAdjustCursorSelect = 0x0030,
10820  kMCGetInterfaceElementSelect = 0x0031,
10821  kMCGetDoActionsProcSelect = 0x0032,
10822  kMCAddMovieSegmentSelect = 0x0033,
10823  kMCTrimMovieSegmentSelect = 0x0034,
10824  kMusicMediaGetIndexedTunePlayerSelect = 0x0101
10825  };
10826 
10827 #if PRAGMA_STRUCT_ALIGN
10828 #pragma options align = reset
10829 #elif PRAGMA_STRUCT_PACKPUSH
10830 #pragma pack(pop)
10831 #elif PRAGMA_STRUCT_PACK
10832 #pragma pack()
10833 #endif
10834 
10835 #ifdef PRAGMA_IMPORT_OFF
10836 #pragma import off
10837 #elif PRAGMA_IMPORT
10838 #pragma import reset
10839 #endif
10840 
10841 #ifdef __cplusplus
10842 }
10843 #endif
10844 
10845 #endif /* __MOVIES__ */
@ cType
Definition: AERegistry.h:120
Alias Manager Interfaces.
Component Manager Interfaces.
Event Manager Interfaces.
QuickTime Image Compression Interfaces.
long Fixed
Definition: MacTypes.h:153
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
Menu Manager Interfaces.
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
short QTCountChildrenOfType(QTAtomContainer container, QTAtom parentAtom, QTAtomType childType)
unsigned long GetTrackModificationTime(Track theTrack)
MoviesErrorUPP NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine)
void GoToBeginningOfMovie(Movie theMovie)
void SetTimeBaseTime(TimeBase tb, const TimeRecord *tr)
ComponentResult FlashMediaIDToRefCon(MediaHandler mh, long refConID, long *refCon)
short GetMovieVolume(Movie theMovie)
void SetTrackMatrix(Track theTrack, const MatrixRecord *matrix)
OSErr ConvertMovieToFile(Movie theMovie, Track onlyTrack, FSSpec *outputFile, OSType fileType, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp)
ComponentResult SpriteMediaGetActionVariable(MediaHandler mh, QTAtomID variableID, float *value)
ComponentResult VideoMediaSetCodecParameter(MediaHandler mh, CodecType cType, OSType parameterID, long parameterChangeSeed, void *dataPtr, long dataSize)
OSErr NewMovieFromUserProc(Movie *m, short flags, Boolean *dataRefWasChanged, GetMovieUPP getProc, void *refCon, Handle defaultDataRef, OSType dataRefType)
OSErr GetUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
OSErr QTGetAtomDataPtr(QTAtomContainer container, QTAtom atom, long *dataSize, Ptr *atomData)
void DisposeMovieProgressUPP(MovieProgressUPP userUPP)
long GetMovieDataSize(Movie theMovie, TimeValue startTime, TimeValue duration)
OSErr SetQuickTimePreference(OSType preferenceType, QTAtomContainer preferenceAtom)
void SetTimeBaseMasterClock(TimeBase slave, Component clockMeister, const TimeRecord *slaveZero)
ComponentResult SpriteMediaGetSpriteName(MediaHandler mh, QTAtomID spriteID, Str255 spriteName)
OSErr AddMovieExecuteWiredActionsProc(Movie theMovie, MovieExecuteWiredActionsUPP proc, void *refCon)
OSErr SetSpriteWorldGraphicsMode(SpriteWorld theSpriteWorld, long mode, const RGBColor *opColor)
Track GetMediaTrack(Media theMedia)
ComponentResult MCGetMenuString(MovieController mc, long modifiers, short item, Str255 aString)
OSErr GetMediaSampleReference(Media theMedia, long *dataOffset, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
ComponentResult MCSetControllerPort(MovieController mc, CGrafPtr gp)
void DisposeMatte(PixMapHandle theMatte)
ActionsUPP NewActionsUPP(ActionsProcPtr userRoutine)
ComponentResult FlashMediaGetRefConID(MediaHandler mh, long refCon, long *refConID)
OSErr SetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long syncSampleNum)
void PlayMoviePreview(Movie theMovie, MoviePreviewCallOutUPP callOutProc, long refcon)
TimeValue GetTimeBaseStartTime(TimeBase tb, TimeScale s, TimeRecord *tr)
ComponentResult SpriteMediaGetSpriteActionsForQTEvent(MediaHandler mh, QTEventRecordPtr event, QTAtomID spriteID, QTAtomContainer *container, QTAtom *atom)
ComponentResult FlashMediaGetRefConBounds(MediaHandler mh, long refCon, long *left, long *top, long *right, long *bottom)
Boolean InvokeMCActionFilterUPP(MovieController mc, short *action, void *params, MCActionFilterUPP userUPP)
void SetMediaQuality(Media theMedia, short quality)
void SetMovieRate(Movie theMovie, Fixed rate)
OSErr InsertMediaIntoTrack(Track theTrack, TimeValue trackStart, TimeValue mediaTime, TimeValue mediaDuration, Fixed mediaRate)
OSErr QTLockContainer(QTAtomContainer container)
ComponentResult MCSetVisible(MovieController mc, Boolean visible)
ComponentResult SpriteMediaGetIndImageProperty(MediaHandler mh, short imageIndex, long imagePropertyType, void *imagePropertyValue)
Fixed GetTimeBaseEffectiveRate(TimeBase tb)
ComponentResult FlashMediaSetZoom(MediaHandler mh, short factor)
void DisposeSprite(Sprite theSprite)
OSErr QTGetAtomTypeAndID(QTAtomContainer container, QTAtom atom, QTAtomType *atomType, QTAtomID *id)
ComponentResult MCRemoveAMovie(MovieController mc, Movie m)
void SetMoviePreviewMode(Movie theMovie, Boolean usePreview)
TimeBase NewTimeBase(void)
QTCallBack GetFirstCallBack(TimeBase tb)
OSErr GetMediaPreferredChunkSize(Media theMedia, long *maxChunkSize)
void AddMovieSelection(Movie theMovie, Movie src)
void GetMoviePreviewTime(Movie theMovie, TimeValue *previewTime, TimeValue *previewDuration)
OSErr NewMovieFromDataFork(Movie *theMovie, short fRefNum, long fileOffset, short newMovieFlags, Boolean *dataRefWasChanged)
void GetTrackMatrix(Track theTrack, MatrixRecord *matrix)
void DisposeTimeBase(TimeBase tb)
OSErr MovieSearchText(Movie theMovie, Ptr text, long size, long searchFlags, Track *searchTrack, TimeValue *searchTime, long *searchOffset)
void SetMovieMatrix(Movie theMovie, const MatrixRecord *matrix)
OSErr QTBandwidthRelease(QTBandwidthReference bwRef, long flags)
OSErr SetMediaDefaultDataRefIndex(Media theMedia, short index)
Boolean GetMoviePreviewMode(Movie theMovie)
short GetMediaLanguage(Media theMedia)
MCActionFilterWithRefConUPP NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine)
QTAtom QTFindChildByIndex(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, short index, QTAtomID *id)
ComponentResult VideoMediaGetCodecParameter(MediaHandler mh, CodecType cType, OSType parameterID, Handle outParameterData)
void SetMovieBox(Movie theMovie, const Rect *boxRect)
ComponentResult TextMediaRawIdle(MediaHandler mh, GWorldPtr gw, GDHandle gd, TimeValue sampleTime, long flagsIn, long *flagsOut)
OSErr AddUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
OSErr AddSoundDescriptionExtension(SoundDescriptionHandle desc, Handle extension, OSType idType)
Movie FlattenMovieData(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags)
short GetCallBackType(QTCallBack cb)
OSErr OpenADataHandler(Handle dataRef, OSType dataHandlerSubType, Handle anchorDataRef, OSType anchorDataRefType, TimeBase tb, long flags, ComponentInstance *dh)
ComponentResult TextMediaSetTextProc(MediaHandler mh, TextMediaUPP TextProc, long refcon)
OSErr SetMediaHandler(Media theMedia, MediaHandlerComponent mH)
OSErr SetSpriteWorldClip(SpriteWorld theSpriteWorld, RgnHandle clipRgn)
Movie CopyMovieSelection(Movie theMovie)
void SampleNumToMediaTime(Media theMedia, long logicalSampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
void GoToEndOfMovie(Movie theMovie)
OSErr AddMediaSample(Media theMedia, Handle dataIn, long inOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
ComponentResult SpriteMediaNewSprite(MediaHandler mh, QTRuntimeSpriteDescPtr newSpriteDesc)
void DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP)
void DisposeMovieTrack(Track theTrack)
void DisposeDoMCActionUPP(DoMCActionUPP userUPP)
ComponentResult SpriteMediaSpriteIDToIndex(MediaHandler mh, QTAtomID spriteID, short *spriteIndex)
OSErr GetMoviesStickyError(void)
void SetMovieMasterTimeBase(Movie theMovie, TimeBase tb, const TimeRecord *slaveZero)
ComponentResult Media3DScaleNamedObjectTo(MediaHandler mh, char *objectName, Fixed xScale, Fixed yScale, Fixed zScale)
Track NewMovieTrack(Movie theMovie, Fixed width, Fixed height, short trackVolume)
OSErr GetMediaPropertyAtom(Media theMedia, QTAtomContainer *propertyAtom)
ComponentResult MCEnableEditing(MovieController mc, Boolean enabled)
ComponentResult SpriteMediaCountImages(MediaHandler mh, short *numImages)
OSErr InsertMovieSegment(Movie srcMovie, Movie dstMovie, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
void SetMovieActive(Movie theMovie, Boolean active)
void DisposeQTCallBackUPP(QTCallBackUPP userUPP)
void ClearMovieSelection(Movie theMovie)
long GetTrackDataSize(Track theTrack, TimeValue startTime, TimeValue duration)
void SetMovieGWorld(Movie theMovie, CGrafPtr port, GDHandle gdh)
ComponentInstance NewMovieController(Movie theMovie, const Rect *movieRect, long someFlags)
Boolean HasMovieChanged(Movie theMovie)
OSErr PutMovieIntoTypedHandle(Movie theMovie, Track targetTrack, OSType handleType, Handle publicMovie, TimeValue start, TimeValue dur, long flags, ComponentInstance userComp)
TimeValue GetTrackOffset(Track theTrack)
QTAtom QTGetAtomParent(QTAtomContainer container, QTAtom childAtom)
OSErr GetMediaSampleReferences(Media theMedia, TimeValue time, TimeValue *sampleTime, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfEntries, long *actualNumberofEntries, SampleReferencePtr sampleRefs)
void DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP)
void GetTrackLoadSettings(Track theTrack, TimeValue *preloadTime, TimeValue *preloadDuration, long *preloadFlags, long *defaultHints)
OSErr InsertEmptyTrackSegment(Track dstTrack, TimeValue dstIn, TimeValue dstDuration)
void GetMovieBox(Movie theMovie, Rect *boxRect)
Boolean IsMovieDone(Movie theMovie)
OSErr InsertEmptyMovieSegment(Movie dstMovie, TimeValue dstIn, TimeValue dstDuration)
UserData GetMediaUserData(Media theMedia)
OSErr CanQuickTimeOpenFile(FSSpecPtr fileSpec, OSType fileType, OSType fileNameExtension, Boolean *outCanOpenWithGraphicsImporter, Boolean *outCanOpenAsMovie, Boolean *outPreferGraphicsImporter, UInt32 inFlags)
RgnHandle GetTrackClipRgn(Track theTrack)
OSErr GetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP *uncoverProc, MovieRgnCoverUPP *coverProc, long *refcon)
OSErr QTRegisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
RgnHandle GetTrackMovieBoundsRgn(Track theTrack)
ComponentResult MCGetControllerBoundsRect(MovieController mc, Rect *bounds)
OSErr UpdateMovieResource(Movie theMovie, short resRefNum, short resId, ConstStr255Param resName)
void SetMovieProgressProc(Movie theMovie, MovieProgressUPP p, long refcon)
OSErr PutUserDataIntoHandle(UserData theUserData, Handle h)
void SetMediaPlayHints(Media theMedia, long flags, long flagsMask)
void SetTrackUsage(Track theTrack, long usage)
void SetTrackEnabled(Track theTrack, Boolean isEnabled)
OSErr UseTrackEditState(Track theTrack, TrackEditState state)
TimeValue GetMoviePosterTime(Movie theMovie)
void SetMovieClipRgn(Movie theMovie, RgnHandle theClip)
OSErr DeleteMovieFile(const FSSpec *fileSpec)
OSErr RemoveCallBackFromTimeBase(QTCallBack cb)
Track GetMovieIndTrack(Movie theMovie, long index)
ComponentResult MCIsControllerAttached(MovieController mc)
void CheckQuickTimeRegistration(void *registrationKey, long flags)
TimeBase GetMovieTimeBase(Movie theMovie)
OSErr PutMovieOnScrap(Movie theMovie, long movieScrapFlags)
void StopMovie(Movie theMovie)
unsigned long GetMovieModificationTime(Movie theMovie)
void SetMoviePreferredVolume(Movie theMovie, short volume)
RgnHandle GetMovieClipRgn(Movie theMovie)
void SetMovieTimeScale(Movie theMovie, TimeScale timeScale)
ComponentResult GetTrackStatus(Track theTrack)
void GetMovieMatrix(Movie theMovie, MatrixRecord *matrix)
void GetMovieActiveSegment(Movie theMovie, TimeValue *startTime, TimeValue *duration)
OSErr GetTrackDisplayMatrix(Track theTrack, MatrixRecord *matrix)
OSErr CopyMovieSettings(Movie srcMovie, Movie dstMovie)
Boolean InvokeMoviePreviewCallOutUPP(long refcon, MoviePreviewCallOutUPP userUPP)
ComponentResult MCSetActionFilterWithRefCon(MovieController mc, MCActionFilterWithRefConUPP blob, long refCon)
unsigned long GetMediaCreationTime(Media theMedia)
OSErr ConvertFileToMovieFile(const FSSpec *inputFile, const FSSpec *outputFile, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp, MovieProgressUPP proc, long refCon)
ComponentResult VideoMediaResetStatistics(MediaHandler mh)
void SetTimeBaseValue(TimeBase tb, TimeValue t, TimeScale s)
OSErr SetMovieColorTable(Movie theMovie, CTabHandle ctab)
OSErr ITextRemoveString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, long flags)
QTCallBack NewCallBack(TimeBase tb, short cbType)
GetMovieUPP NewGetMovieUPP(GetMovieProcPtr userRoutine)
OSErr NewMovieFromDataRef(Movie *m, short flags, short *id, Handle dataRef, OSType dataRefType)
TimeValue GetMovieTime(Movie theMovie, TimeRecord *currentTime)
void DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP)
ComponentResult MusicMediaGetIndexedTunePlayer(ComponentInstance ti, long sampleDescIndex, ComponentInstance *tp)
ComponentResult TextMediaAddHiliteSample(MediaHandler mh, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
void GetMovieNextInterestingTime(Movie theMovie, short interestingTimeFlags, short numMediaTypes, const OSType *whichMediaTypes, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
ComponentResult SpriteMediaCountSprites(MediaHandler mh, short *numSprites)
ComponentResult SpriteMediaHitTestOneSprite(MediaHandler mh, QTAtomID spriteID, long flags, Point loc, Boolean *wasHit)
OSErr CreateMovieFile(const FSSpec *fileSpec, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resRefNum, Movie *newmovie)
ComponentResult MCSetActionFilter(MovieController mc, MCActionFilterUPP blob)
OSErr PrePrerollMovie(Movie m, TimeValue time, Fixed rate, MoviePrePrerollCompleteUPP proc, void *refcon)
ComponentResult MCAdjustCursor(MovieController mc, WindowRef w, Point where, long modifiers)
OSErr GetTrackDataSize64(Track theTrack, TimeValue startTime, TimeValue duration, wide *dataSize)
OSErr PasteHandleIntoMovie(Handle h, OSType handleType, Movie theMovie, long flags, ComponentInstance userComp)
OSErr RemoveMovieExecuteWiredActionsProc(Movie theMovie, MovieExecuteWiredActionsUPP proc, void *refCon)
OSErr SpriteWorldHitTest(SpriteWorld theSpriteWorld, long flags, Point loc, Sprite *spriteHit)
Fixed GetMoviePreferredRate(Movie theMovie)
void SetTimeBaseZero(TimeBase tb, TimeRecord *zero)
ComponentResult MCPositionController(MovieController mc, const Rect *movieRect, const Rect *controllerRect, long someFlags)
PicHandle GetMoviePosterPict(Movie theMovie)
OSErr SetMediaDataRefAttributes(Media theMedia, short index, long dataRefAttributes)
void DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP)
long GetTimeBaseStatus(TimeBase tb, TimeRecord *unpinnedTime)
ComponentResult MCSetClip(MovieController mc, RgnHandle theClip, RgnHandle movieClip)
ComponentResult FlashMediaSetFlashVariable(MediaHandler mh, char *path, char *name, char *value, Boolean updateFocus)
ComponentResult MCSetControllerBoundsRect(MovieController mc, const Rect *bounds)
OSErr UpdateMovie(Movie theMovie)
OSErr LoadMediaIntoRam(Media theMedia, TimeValue time, TimeValue duration, long flags)
void SetTrackDimensions(Track theTrack, Fixed width, Fixed height)
ComponentResult MovieMediaSetChildMovieDataReference(MediaHandler mh, QTAtomID dataRefID, OSType dataRefType, Handle dataRef)
long GetNextUserDataType(UserData theUserData, OSType udType)
OSErr RemoveUserData(UserData theUserData, OSType udType, long index)
void DisposeTweenerDataUPP(TweenerDataUPP userUPP)
ComponentResult MovieMediaGetCurrentTrackProperty(MediaHandler mh, long trackID, OSType whichProperty, void *value)
OSErr QTNextChildAnyType(QTAtomContainer container, QTAtom parentAtom, QTAtom currentChild, QTAtom *nextChild)
ComponentResult MovieMediaLoadChildMovieFromDataReference(MediaHandler mh, QTAtomID dataRefID)
void InvokeQTSyncTaskUPP(void *task, QTSyncTaskUPP userUPP)
MovieDrawingCompleteUPP NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine)
void DisposeTextMediaUPP(TextMediaUPP userUPP)
OSErr LoadTrackIntoRam(Track theTrack, TimeValue time, TimeValue duration, long flags)
void GetMediaPlayHints(Media theMedia, long *flags)
void GetMovieProgressProc(Movie theMovie, MovieProgressUPP *p, long *refcon)
Movie NewMovieFromScrap(long newMovieFlags)
OSErr CreateShortcutMovieFile(const FSSpec *fileSpec, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, Handle targetDataRef, OSType targetDataRefType)
ComponentResult SpriteMediaGetDisplayedSampleNumber(MediaHandler mh, long *sampleNum)
ComponentResult MCGetControllerInfo(MovieController mc, long *someFlags)
TimeValue GetMediaDuration(Media theMedia)
Boolean GetMovieActive(Movie theMovie)
void DisposeSpriteWorld(SpriteWorld theSpriteWorld)
OSErr GetTrackSoundLocalizationSettings(Track theTrack, Handle *settings)
ComponentResult VideoMediaGetStallCount(MediaHandler mh, unsigned long *stalls)
void SubtractTime(TimeRecord *dst, const TimeRecord *src)
OSErr BeginMediaEdits(Media theMedia)
OSErr QTGetAccessKeys(Str255 accessKeyType, long flags, QTAtomContainer *keys)
PicHandle GetTrackPict(Track theTrack, TimeValue time)
OSErr AddUserData(UserData theUserData, Handle data, OSType udType)
OSErr RemoveMovieResource(short resRefNum, short resId)
void DisposeMovieController(ComponentInstance mc)
ComponentResult Media3DGetRendererList(MediaHandler mh, QTAtomContainer *rendererList)
OSErr ITextGetString(QTAtomContainer container, QTAtom parentAtom, RegionCode requestedRegion, RegionCode *foundRegion, StringPtr theString)
void GetTrackDimensions(Track theTrack, Fixed *width, Fixed *height)
ComponentResult MovieMediaGetChildMovieDataReference(MediaHandler mh, QTAtomID dataRefID, short dataRefIndex, OSType *dataRefType, Handle *dataRef, QTAtomID *dataRefIDOut, short *dataRefIndexOut)
RgnHandle GetMovieBoundsRgn(Movie theMovie)
OSErr AddMediaSampleReferences(Media theMedia, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, SampleReferencePtr sampleRefs, TimeValue *sampleTime)
ComponentResult TextMediaFindNextText(MediaHandler mh, Ptr text, long size, short findFlags, TimeValue startTime, TimeValue *foundTime, TimeValue *foundDuration, long *offset)
OSErr PutMovieIntoDataFork(Movie theMovie, short fRefNum, long offset, long maxSize)
OSErr SetTrackSoundLocalizationSettings(Track theTrack, Handle settings)
OSErr QTGetMIMETypeInfo(const char *mimeStringStart, short mimeStringLength, OSType infoSelector, void *infoDataPtr, long *infoDataSize)
void SetMovieActiveSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
MCActionFilterUPP NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine)
ComponentResult FlashMediaDoButtonActions(MediaHandler mh, char *path, long buttonID, long transition)
ComponentResult MCSetUpEditMenu(MovieController mc, long modifiers, MenuRef mh)
OSErr GetMovieDefaultDataRef(Movie theMovie, Handle *dataRef, OSType *dataRefType)
OSErr DeleteMovieSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
OSErr QTScheduledBandwidthRequest(QTScheduledBandwidthPtr scheduleRec, QTBandwidthNotificationUPP notificationCallback, void *refcon, QTScheduledBandwidthReference *sbwRef, long flags)
void GetMovieNaturalBoundsRect(Movie theMovie, Rect *naturalBounds)
RgnHandle GetTrackDisplayBoundsRgn(Track theTrack)
unsigned long GetTrackCreationTime(Track theTrack)
void AddTime(TimeRecord *dst, const TimeRecord *src)
ComponentResult SpriteMediaSetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
Track GetTrackReference(Track theTrack, OSType refType, long index)
OSErr SetTrackReference(Track theTrack, Track refTrack, OSType refType, long index)
RgnHandle MCGetControllerBoundsRgn(MovieController mc)
Movie NewMovie(long flags)
ComponentResult MCIdle(MovieController mc)
OSErr GetSoundDescriptionExtension(SoundDescriptionHandle desc, Handle *extension, OSType idType)
OSErr InvokeDoMCActionUPP(void *refcon, short action, void *params, Boolean *handled, DoMCActionUPP userUPP)
void GetMovieGWorld(Movie theMovie, CGrafPtr *port, GDHandle *gdh)
void StartMovie(Movie theMovie)
TimeValue GetTimeBaseStopTime(TimeBase tb, TimeScale s, TimeRecord *tr)
Track GetMovieTrack(Movie theMovie, long trackID)
MoviePrePrerollCompleteUPP NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine)
ComponentResult MCAddMovieSegment(MovieController mc, Movie srcMovie, Boolean scaled)
void GetMediaDataHandlerDescription(Media theMedia, short index, OSType *dhType, Str255 creatorName, OSType *creatorManufacturer)
QTAtomType QTGetNextChildType(QTAtomContainer container, QTAtom parentAtom, QTAtomType currentChildType)
OSErr GetMovieColorTable(Movie theMovie, CTabHandle *ctab)
void SetMovieTime(Movie theMovie, const TimeRecord *newtime)
void DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP)
ComponentResult TextMediaSetTextSampleData(MediaHandler mh, void *data, OSType dataType)
Fixed GetTimeBaseRate(TimeBase tb)
OSErr BeginFullScreen(Ptr *restoreState, GDHandle whichGD, short *desiredWidth, short *desiredHeight, WindowRef *newWindow, RGBColor *eraseColor, long flags)
OSErr AddMediaSampleReferences64(Media theMedia, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, SampleReference64Ptr sampleRefs, TimeValue *sampleTime)
long GetMediaDataSize(Media theMedia, TimeValue startTime, TimeValue duration)
OSErr QTDisposeTween(QTTweener tween)
OSErr QTInsertChild(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short index, long dataSize, void *data, QTAtom *newAtom)
short GetMediaQuality(Media theMedia)
void SetMoviePreviewTime(Movie theMovie, TimeValue previewTime, TimeValue previewDuration)
void GetPosterBox(Movie theMovie, Rect *boxRect)
OSErr QTStandardParameterDialogDoAction(QTParameterDialog createdDialog, long action, void *params)
ComponentResult MCSetMovie(MovieController mc, Movie theMovie, WindowRef movieWindow, Point where)
Track GetTrackAlternate(Track theTrack)
OSErr OpenMovieFile(const FSSpec *fileSpec, short *resRefNum, SInt8 permission)
OSErr QTNewAlias(const FSSpec *fss, AliasHandle *alias, Boolean minimal)
OSErr QTGetDataRefMaxFileOffset(Movie movieH, OSType dataRefType, Handle dataRef, long *offset)
long GetMovieLoadState(Movie theMovie)
TimeBase GetCallBackTimeBase(QTCallBack cb)
void DisposeMoviesErrorUPP(MoviesErrorUPP userUPP)
ComponentResult MCPaste(MovieController mc, Movie srcMovie)
OSErr QTDoTween(QTTweener tween, TimeValue atTime, Handle result, long *resultSize, TweenerDataUPP tweenDataProc, void *tweenDataRefCon)
ComponentResult MCTrimMovieSegment(MovieController mc)
void ConvertTimeScale(TimeRecord *theTime, TimeScale newScale)
OSErr EndFullScreen(Ptr fullState, long flags)
OSErr CopyTrackSettings(Track srcTrack, Track dstTrack)
QTCallBackUPP NewQTCallBackUPP(QTCallBackProcPtr userRoutine)
void GetTrackNextInterestingTime(Track theTrack, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
ComponentResult GetMovieStatus(Movie theMovie, Track *firstProblemTrack)
short GetMoviePreferredVolume(Movie theMovie)
TimeValue TrackTimeToMediaTime(TimeValue value, Track theTrack)
OSErr DeleteTrackReference(Track theTrack, OSType refType, long index)
OSErr SetSpriteWorldFlags(SpriteWorld spriteWorld, long flags, long flagsMask)
OSErr QTSwapAtoms(QTAtomContainer container, QTAtom atom1, QTAtom atom2)
OSErr PrerollMovie(Movie theMovie, TimeValue time, Fixed Rate)
short CountUserDataType(UserData theUserData, OSType udType)
OSErr QTSetAtomData(QTAtomContainer container, QTAtom atom, long dataSize, void *atomData)
ComponentResult MCKey(MovieController mc, SInt8 key, long modifiers)
ComponentResult FlashMediaFrameNumberToMovieTime(MediaHandler mh, long flashFrameNumber, TimeValue *movieTime)
OSErr QTCopyAtom(QTAtomContainer container, QTAtom atom, QTAtomContainer *targetContainer)
RgnHandle GetTrackBoundsRgn(Track theTrack)
MoviePreviewCallOutUPP NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine)
void SetMovieMasterClock(Movie theMovie, Component clockMeister, const TimeRecord *slaveZero)
UserData GetTrackUserData(Track theTrack)
Fixed GetTrackEditRate(Track theTrack, TimeValue atTime)
ComponentInstance GetTimeBaseMasterClock(TimeBase tb)
ComponentResult Media3DGetCameraRange(MediaHandler mh, void *tQ3CameraRange)
MovieEditState NewMovieEditState(Movie theMovie)
Track GetPrevTrackForCompositing(Movie theMovie, Track theTrack)
void SetTimeBaseStartTime(TimeBase tb, const TimeRecord *tr)
ComponentResult Media3DRotateNamedObjectTo(MediaHandler mh, char *objectName, Fixed xDegrees, Fixed yDegrees, Fixed zDegrees)
OSErr SetMediaInputMap(Media theMedia, QTAtomContainer inputMap)
void GetMediaNextInterestingTime(Media theMedia, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
void SetTimeBaseRate(TimeBase tb, Fixed r)
OSErr QTParseTextHREF(char *href, SInt32 hrefLen, QTAtomContainer inContainer, QTAtomContainer *outContainer)
void MoviesTask(Movie theMovie, long maxMilliSecToUse)
OSErr InvokeTextMediaUPP(Handle theText, Movie theMovie, short *displayFlag, long refcon, TextMediaUPP userUPP)
void InvokeQTCallBackUPP(QTCallBack cb, long refCon, QTCallBackUPP userUPP)
void SetMovieSelection(Movie theMovie, TimeValue selectionTime, TimeValue selectionDuration)
void InvokeMoviesErrorUPP(OSErr theErr, long refcon, MoviesErrorUPP userUPP)
OSErr PutMovieIntoDataFork64(Movie theMovie, long fRefNum, const wide *offset, unsigned long maxSize)
ComponentResult Media3DTranslateNamedObjectTo(MediaHandler mh, char *objectName, Fixed x, Fixed y, Fixed z)
ComponentResult MCSetDuration(MovieController mc, TimeValue duration)
QTBandwidthNotificationUPP NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine)
ComponentResult InvokeTweenerDataUPP(TweenRecord *tr, void *tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void *refCon, TweenerDataUPP userUPP)
void SetTrackLoadSettings(Track theTrack, TimeValue preloadTime, TimeValue preloadDuration, long preloadFlags, long defaultHints)
ComponentResult MCSetControllerAttached(MovieController mc, Boolean attach)
ComponentResult SpriteMediaHitTestSprites(MediaHandler mh, long flags, Point loc, short *spriteHitIndex)
OSErr SpriteWorldIdle(SpriteWorld theSpriteWorld, long flagsIn, long *flagsOut)
long GetMediaSyncSampleCount(Media theMedia)
Track GetNextTrackForCompositing(Movie theMovie, Track theTrack)
OSErr QTUnlockContainer(QTAtomContainer container)
OSErr NewUserDataFromHandle(Handle h, UserData *theUserData)
ComponentResult SpriteMediaSetActionVariable(MediaHandler mh, QTAtomID variableID, const float *value)
OSErr GetMediaDataRef(Media theMedia, short index, Handle *dataRef, OSType *dataRefType, long *dataRefAttributes)
ComponentResult TextMediaAddTESample(MediaHandler mh, TEHandle hTE, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
void SetMoviePosterTime(Movie theMovie, TimeValue posterTime)
TrackEditState NewTrackEditState(Track theTrack)
Media GetTrackMedia(Track theTrack)
OSErr QTBandwidthRequestForTimeBase(TimeBase tb, long priority, QTBandwidthNotificationUPP callback, const void *refcon, QTBandwidthReference *bwRef, long flags)
OSErr AddTrackReference(Track theTrack, Track refTrack, OSType refType, long *addedIndex)
OSErr GetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
Boolean PtInTrack(Track theTrack, Point pt)
OSErr GetMediaInputMap(Media theMedia, QTAtomContainer *inputMap)
unsigned long GetMovieCreationTime(Movie theMovie)
OSErr GetMediaDataRefCount(Media theMedia, short *count)
void DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP)
TimeValue GetMovieDuration(Movie theMovie)
void SetMovieLanguage(Movie theMovie, long language)
ComponentResult TextMediaDrawRaw(MediaHandler mh, GWorldPtr gw, GDHandle gd, void *data, long dataSize, TextDescriptionHandle tdh)
OSErr SetMoviePropertyAtom(Movie theMovie, QTAtomContainer propertyAtom)
ComponentResult Media3DGetNamedObjectList(MediaHandler mh, QTAtomContainer *objectList)
OSErr QTDisposeAtomContainer(QTAtomContainer atomData)
OSErr SetMediaPreferredChunkSize(Media theMedia, long maxChunkSize)
OSErr GetUserData(UserData theUserData, Handle data, OSType udType, long index)
ComponentResult MCGetVisible(MovieController mc)
void ShowMovieInformation(Movie theMovie, ModalFilterUPP filterProc, long refCon)
OSErr DeleteTrackSegment(Track theTrack, TimeValue startTime, TimeValue duration)
OSErr AddMediaDataRef(Media theMedia, short *index, Handle dataRef, OSType dataRefType)
Movie CutMovieSelection(Movie theMovie)
OSErr SetMediaDataRef(Media theMedia, short index, Handle dataRef, OSType dataRefType)
OSErr AddCallBackToTimeBase(QTCallBack cb)
ComponentResult MovieMediaGetChildDoMCActionCallback(MediaHandler mh, DoMCActionUPP *doMCActionCallbackProc, long *refcon)
OSErr SetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
long MCIsEditingEnabled(MovieController mc)
OSErr MakeTrackTimeTable(Track trackH, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
OSErr RemoveUserDataText(UserData theUserData, OSType udType, long index, short itlRegionTag)
RgnHandle MCGetWindowRgn(MovieController mc, WindowRef w)
OSErr MakeMediaTimeTable(Media theMedia, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
OSErr SetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
OSErr GetMediaSample(Media theMedia, Handle dataOut, long maxSizeToGrow, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
OSErr QTRemoveChildren(QTAtomContainer container, QTAtom atom)
OSErr QTCopyAtomDataToHandle(QTAtomContainer container, QTAtom atom, Handle targetHandle)
void DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP)
TimeValue MCGetCurrentTime(MovieController mc, TimeScale *scale)
ComponentResult MCNewAttachedController(MovieController mc, Movie theMovie, WindowRef w, Point where)
void DisposeMovie(Movie theMovie)
OSErr QTBandwidthRequest(long priority, QTBandwidthNotificationUPP callback, const void *refcon, QTBandwidthReference *bwRef, long flags)
TweenerDataUPP NewTweenerDataUPP(TweenerDataProcPtr userRoutine)
OSErr InvokeActionsUPP(void *refcon, Track targetTrack, long targetRefCon, QTEventRecordPtr theEvent, ActionsUPP userUPP)
void DisposeActionsUPP(ActionsUPP userUPP)
Boolean PtInMovie(Movie theMovie, Point pt)
DataHandler GetMediaDataHandler(Media theMedia, short index)
OSErr PutMovieIntoHandle(Movie theMovie, Handle publicMovie)
OSErr InvalidateMovieRegion(Movie theMovie, RgnHandle invalidRgn)
TimeScale GetMediaTimeScale(Media theMedia)
OSErr GetMediaSampleReferences64(Media theMedia, TimeValue time, TimeValue *sampleTime, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfEntries, long *actualNumberofEntries, SampleReference64Ptr sampleRefs)
void DisposeAllSprites(SpriteWorld theSpriteWorld)
void ShowMoviePoster(Movie theMovie)
TrackTransferUPP NewTrackTransferUPP(TrackTransferProcPtr userRoutine)
OSErr InsertTrackSegment(Track srcTrack, Track dstTrack, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
OSErr InvokeQTBandwidthNotificationUPP(long flags, void *reserved, void *refcon, QTBandwidthNotificationUPP userUPP)
void ConvertTime(TimeRecord *theTime, TimeBase newBase)
OSErr ITextAddString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, ConstStr255Param theString)
ComponentResult MCActivate(MovieController mc, WindowRef w, Boolean activate)
OSErr GetMoviesError(void)
ComponentResult Media3DSetCameraAngleAspect(MediaHandler mh, QTFloatSingle fov, QTFloatSingle aspectRatioXToY)
void ClearMoviesStickyError(void)
ComponentResult MCUndo(MovieController mc)
OSErr SetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
void SetTrackMatte(Track theTrack, PixMapHandle theMatte)
void SetTrackVolume(Track theTrack, short volume)
OSErr QTSetAtomID(QTAtomContainer container, QTAtom atom, QTAtomID newID)
OSErr AddEmptyTrackToMovie(Track srcTrack, Movie dstMovie, Handle dataRef, OSType dataRefType, Track *dstTrack)
void SetTimeBaseStopTime(TimeBase tb, const TimeRecord *tr)
ComponentResult MovieMediaGetDoMCActionCallback(MediaHandler mh, DoMCActionUPP *doMCActionCallbackProc, long *refcon)
OSErr ScaleTrackSegment(Track theTrack, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
void SetTimeBaseMasterTimeBase(TimeBase slave, TimeBase master, const TimeRecord *slaveZero)
OSErr QTInsertChildren(QTAtomContainer container, QTAtom parentAtom, QTAtomContainer childrenContainer)
ComponentResult Media3DSetCameraData(MediaHandler mh, void *cameraData)
ComponentResult FlashMediaGetFlashVariable(MediaHandler mh, char *path, char *name, Handle *theVariableCStringOut)
void DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP)
ComponentResult Media3DGetCameraAngleAspect(MediaHandler mh, QTFloatSingle *fov, QTFloatSingle *aspectRatioXToY)
ComponentResult MCIsPlayerEvent(MovieController mc, const EventRecord *e)
ComponentResult MCDrawBadge(MovieController mc, RgnHandle movieRgn, RgnHandle *badgeRgn)
OSErr AddClonedTrackToMovie(Track srcTrack, Movie dstMovie, long flags, Track *dstTrack)
ComponentResult SpriteMediaGetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
void SetTrackGWorld(Track theTrack, CGrafPtr port, GDHandle gdh, TrackTransferUPP proc, long refCon)
Boolean GetTrackEnabled(Track theTrack)
OSErr InvokeMovieProgressUPP(Movie theMovie, short message, short whatOperation, Fixed percentDone, long refcon, MovieProgressUPP userUPP)
OSErr QTIsStandardParameterDialogEvent(EventRecord *pEvent, QTParameterDialog createdDialog)
ComponentResult VideoMediaGetStatistics(MediaHandler mh)
OSErr GetQuickTimePreference(OSType preferenceType, QTAtomContainer *preferenceAtom)
long GetTrackReferenceCount(Track theTrack, OSType refType)
OSErr SetMovieAnchorDataRef(Movie theMovie, Handle dataRef, OSType dataRefType)
void SetMediaLanguage(Media theMedia, short language)
MediaHandler GetMediaHandler(Media theMedia)
OSErr GetMovieDataSize64(Movie theMovie, TimeValue startTime, TimeValue duration, wide *dataSize)
Component IsScrapMovie(Track targetTrack)
void MediaTimeToSampleNum(Media theMedia, TimeValue time, long *sampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
ComponentResult MCPtInController(MovieController mc, Point thePt, Boolean *inController)
Boolean InvokeMCActionFilterWithRefConUPP(MovieController mc, short action, void *params, long refCon, MCActionFilterWithRefConUPP userUPP)
void SetMoviePlayHints(Movie theMovie, long flags, long flagsMask)
ComponentResult TextMediaGetTextProperty(MediaHandler mh, TimeValue atMediaTime, long propertyType, void *data, long dataSize)
void DisposeTrackTransferUPP(TrackTransferUPP userUPP)
OSErr CallMeWhen(QTCallBack cb, QTCallBackUPP callBackProc, long refCon, long param1, long param2, long param3)
OSErr DisposeTrackEditState(TrackEditState state)
RgnHandle GetTrackSegmentDisplayBoundsRgn(Track theTrack, TimeValue time, TimeValue duration)
void AbortPrePrerollMovie(Movie m, OSErr err)
QTCallBack GetNextCallBack(QTCallBack cb)
ComponentResult MCClear(MovieController mc)
OSErr InvokeMovieRgnCoverUPP(Movie theMovie, RgnHandle changedRgn, long refcon, MovieRgnCoverUPP userUPP)
OSErr EnterMovies(void)
PicHandle GetMoviePict(Movie theMovie, TimeValue time)
OSErr GetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long *syncSampleNum)
OSErr LoadMovieIntoRam(Movie theMovie, TimeValue time, TimeValue duration, long flags)
Component GetDataHandler(Handle dataRef, OSType dataHandlerSubType, long flags)
OSErr QTCopyAtomDataToPtr(QTAtomContainer container, QTAtom atom, Boolean sizeOrLessOK, long size, void *targetPtr, long *actualSize)
OSErr NewSprite(Sprite *newSprite, SpriteWorld itsSpriteWorld, ImageDescriptionHandle idh, Ptr imageDataPtr, MatrixRecord *matrix, Boolean visible, short layer)
void SetMovieVideoOutput(Movie theMovie, ComponentInstance vout)
OSErr QTNewAtomContainer(QTAtomContainer *atomData)
PixMapHandle GetTrackMatte(Track theTrack)
void PasteMovieSelection(Movie theMovie, Movie src)
long GetTrackID(Track theTrack)
TextMediaUPP NewTextMediaUPP(TextMediaProcPtr userRoutine)
OSErr QTUnregisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
OSErr QTCreateStandardParameterDialog(QTAtomContainer effectList, QTAtomContainer parameters, QTParameterDialogOptions dialogOptions, QTParameterDialog *createdDialog)
Movie MCGetIndMovie(MovieController mc, short index)
ComponentResult MovieMediaGetCurrentMovieProperty(MediaHandler mh, OSType whichProperty, void *value)
ComponentResult MCGetDoActionsProc(MovieController mc, DoMCActionUPP *doMCActionProc, long *doMCActionRefCon)
OSErr InvokeTrackTransferUPP(Track t, long refCon, TrackTransferUPP userUPP)
TimeValue GetTrackDuration(Track theTrack)
OSErr NewMovieFromHandle(Movie *theMovie, Handle h, short newMovieFlags, Boolean *dataRefWasChanged)
OSType GetNextTrackReferenceType(Track theTrack, OSType refType)
long GetMediaSampleDescriptionCount(Media theMedia)
TimeValue GetTimeBaseTime(TimeBase tb, TimeScale s, TimeRecord *tr)
OSErr NewSpriteWorld(SpriteWorld *newSpriteWorld, GWorldPtr destination, GWorldPtr spriteLayer, RGBColor *backgroundColor, GWorldPtr background)
TimeScale GetMovieTimeScale(Movie theMovie)
ComponentResult SpriteMediaSetActionVariableToString(MediaHandler mh, QTAtomID variableID, Ptr theCString)
MovieExecuteWiredActionsUPP NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine)
OSErr ScaleMovieSegment(Movie theMovie, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
ComponentResult SpriteMediaGetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
void SetMoviesErrorProc(MoviesErrorUPP errProc, long refcon)
ComponentResult SpriteMediaGetImageName(MediaHandler mh, short imageIndex, Str255 imageName)
short GetTrackVolume(Track theTrack)
void GetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
OSErr UseMovieEditState(Movie theMovie, MovieEditState toState)
RgnHandle GetMovieSegmentDisplayBoundsRgn(Movie theMovie, TimeValue time, TimeValue duration)
OSErr GetMoviePropertyAtom(Movie theMovie, QTAtomContainer *propertyAtom)
ComponentResult MCDraw(MovieController mc, WindowRef w)
ComponentResult Media3DSetCameraRange(MediaHandler mh, void *tQ3CameraRange)
MovieProgressUPP NewMovieProgressUPP(MovieProgressProcPtr userRoutine)
ComponentResult MCMovieChanged(MovieController mc, Movie m)
OSErr SetMediaDataHandler(Media theMedia, short index, DataHandlerComponent dataHandler)
OSErr RemoveSoundDescriptionExtension(SoundDescriptionHandle desc, OSType idType)
OSErr NewMovieFromDataFork64(Movie *theMovie, long fRefNum, const wide *fileOffset, short newMovieFlags, Boolean *dataRefWasChanged)
Track GetMovieIndTrackType(Movie theMovie, long index, OSType trackType, long flags)
ComponentResult TextMediaRawSetup(MediaHandler mh, GWorldPtr gw, GDHandle gd, void *data, long dataSize, TextDescriptionHandle tdh, TimeValue sampleDuration)
void SetMoviePreferredRate(Movie theMovie, Fixed rate)
void SelectMovieAlternates(Movie theMovie)
OSErr QTScheduledBandwidthRelease(QTScheduledBandwidthReference sbwRef, long flags)
OSErr InvokeMovieDrawingCompleteUPP(Movie theMovie, long refCon, MovieDrawingCompleteUPP userUPP)
Movie MCCopy(MovieController mc)
OSErr QTGetEffectSpeed(QTAtomContainer parameters, Fixed *pFPS)
ComponentResult SpriteMediaGetActionVariableAsString(MediaHandler mh, QTAtomID variableID, Handle *theCString)
OSErr MovieExecuteWiredActions(Movie theMovie, long flags, QTAtomContainer actions)
void DisposeTrackMedia(Media theMedia)
OSErr NewMovieFromFile(Movie *theMovie, short resRefNum, short *resId, StringPtr resName, short newMovieFlags, Boolean *dataRefWasChanged)
ComponentResult TextMediaSetTextProperty(MediaHandler mh, TimeValue atMediaTime, long propertyType, void *data, long dataSize)
CGrafPtr MCGetControllerPort(MovieController mc)
OSErr CloseMovieFile(short resRefNum)
MovieRgnCoverUPP NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine)
ComponentResult MCGetInterfaceElement(MovieController mc, MCInterfaceElement whichElement, void *element)
ComponentResult MCClick(MovieController mc, WindowRef w, Point where, long when, long modifiers)
void SetAutoTrackAlternatesEnabled(Movie theMovie, Boolean enable)
OSErr QTGetEffectsList(QTAtomContainer *returnedList, long minSources, long maxSources, QTEffectListOptions getOptions)
OSErr GetMaxLoadedTimeInMovie(Movie theMovie, TimeValue *time)
ComponentResult TextMediaAddTextSample(MediaHandler mh, Ptr text, unsigned long size, short fontNumber, short fontSize, Style textFace, RGBColor *textColor, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
DoMCActionUPP NewDoMCActionUPP(DoMCActionProcPtr userRoutine)
OSErr GetMovieAnchorDataRef(Movie theMovie, Handle *dataRef, OSType *dataRefType, long *outFlags)
long GetMovieTrackCount(Movie theMovie)
void SetMediaTimeScale(Media theMedia, TimeScale timeScale)
ComponentResult MCRemoveAllMovies(MovieController mc)
OSErr InvalidateSpriteWorld(SpriteWorld theSpriteWorld, Rect *invalidArea)
void SetTrackLayer(Track theTrack, short layer)
void ExitMovies(void)
ComponentResult SpriteMediaSetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
void SetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP uncoverProc, MovieRgnCoverUPP coverProc, long refcon)
void SetTimeBaseFlags(TimeBase tb, long timeBaseFlags)
void SetTrackClipRgn(Track theTrack, RgnHandle theClip)
void SetMovieDisplayClipRgn(Movie theMovie, RgnHandle theClip)
Media NewTrackMedia(Track theTrack, OSType mediaType, TimeScale timeScale, Handle dataRef, OSType dataRefType)
void SetPosterBox(Movie theMovie, const Rect *boxRect)
void SetMovieVolume(Movie theMovie, short volume)
OSErr EndMediaEdits(Media theMedia)
ComponentResult TextMediaHiliteTextSample(MediaHandler mh, TimeValue sampleTime, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor)
ComponentResult MCRemoveMovie(MovieController mc)
long GetTrackUsage(Track theTrack)
OSErr QTMovieNeedsTimeTable(Movie theMovie, Boolean *needsTimeTable)
OSErr GetMovieImporterForDataRef(OSType dataRefType, Handle dataRef, long flags, Component *importer)
ComponentResult Media3DGetViewObject(MediaHandler mh, void *tq3viewObject)
void ClearMovieChanged(Movie theMovie)
ComponentResult FlashMediaSetPan(MediaHandler mh, short xPercent, short yPercent)
void InvokeMoviePrePrerollCompleteUPP(Movie theMovie, OSErr prerollErr, void *refcon, MoviePrePrerollCompleteUPP userUPP)
void GetMovieSelection(Movie theMovie, TimeValue *selectionTime, TimeValue *selectionDuration)
TimeBase GetTimeBaseMasterTimeBase(TimeBase tb)
Movie MCCut(MovieController mc)
RgnHandle GetMovieDisplayBoundsRgn(Movie theMovie)
OSErr QTRemoveAtom(QTAtomContainer container, QTAtom atom)
void FlattenMovie(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resId, ConstStr255Param resName)
void DisposeGetMovieUPP(GetMovieUPP userUPP)
unsigned long GetMediaModificationTime(Media theMedia)
OSErr SpriteHitTest(Sprite theSprite, long flags, Point loc, Boolean *wasHit)
OSErr SetMovieDefaultDataRef(Movie theMovie, Handle dataRef, OSType dataRefType)
ComponentResult SpriteMediaHitTestAllSprites(MediaHandler mh, long flags, Point loc, QTAtomID *spriteHitID)
short GetTrackLayer(Track theTrack)
Fixed GetMovieRate(Movie theMovie)
OSErr QTReplaceAtom(QTAtomContainer targetContainer, QTAtom targetAtom, QTAtomContainer replacementContainer, QTAtom replacementAtom)
ComponentResult SpriteMediaDisposeSprite(MediaHandler mh, QTAtomID spriteID)
OSErr CanQuickTimeOpenDataRef(Handle dataRef, OSType dataRefType, Boolean *outCanOpenWithGraphicsImporter, Boolean *outCanOpenAsMovie, Boolean *outPreferGraphicsImporter, UInt32 inFlags)
OSErr QTNewTween(QTTweener *tween, QTAtomContainer container, QTAtom tweenAtom, TimeValue maxTime)
ComponentResult SpriteMediaGetIndImageDescription(MediaHandler mh, short imageIndex, ImageDescriptionHandle imageDescription)
OSErr GetMediaDataSize64(Media theMedia, TimeValue startTime, TimeValue duration, wide *dataSize)
ComponentResult Media3DGetCurrentGroup(MediaHandler mh, void *group)
OSErr QTDismissStandardParameterDialog(QTParameterDialog createdDialog)
void InvalidateSprite(Sprite theSprite)
void SetMovieDrawingCompleteProc(Movie theMovie, long flags, MovieDrawingCompleteUPP proc, long refCon)
ComponentResult FlashMediaFrameLabelToMovieTime(MediaHandler mh, Ptr theLabel, TimeValue *movieTime)
OSErr InvokeGetMovieUPP(long offset, long size, void *dataPtr, void *refCon, GetMovieUPP userUPP)
ComponentResult SpriteMediaSpriteIndexToID(MediaHandler mh, short spriteIndex, QTAtomID *spriteID)
QTAtom QTFindChildByID(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short *index)
OSErr GetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
ComponentResult Media3DGetCameraData(MediaHandler mh, void *cameraData)
QTSyncTaskUPP NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine)
ComponentResult FlashMediaGetDisplayedFrameNumber(MediaHandler mh, long *flashFrameNumber)
OSErr SetMediaPropertyAtom(Media theMedia, QTAtomContainer propertyAtom)
Movie GetTrackMovie(Track theTrack)
void DisposeMCActionFilterUPP(MCActionFilterUPP userUPP)
void GetMediaHandlerDescription(Media theMedia, OSType *mediaType, Str255 creatorName, OSType *creatorManufacturer)
ComponentResult MCInvalidate(MovieController mc, WindowRef w, RgnHandle invalidRgn)
void ExecuteCallBack(QTCallBack cb)
void SetTrackAlternate(Track theTrack, Track alternateT)
RgnHandle GetMovieDisplayClipRgn(Movie theMovie)
OSErr InvokeMovieExecuteWiredActionsUPP(Movie theMovie, void *refcon, long flags, QTAtomContainer wiredActions, MovieExecuteWiredActionsUPP userUPP)
ComponentResult FlashMediaGetSupportedSwfVersion(MediaHandler mh, unsigned char *swfVersion)
UserData GetMovieUserData(Movie theMovie)
long GetMediaSampleCount(Media theMedia)
OSErr QTTextToNativeText(Handle theText, long encoding, long flags)
OSErr SetSpriteWorldMatrix(SpriteWorld theSpriteWorld, const MatrixRecord *matrix)
ComponentResult FlashMediaSetZoomRect(MediaHandler mh, long left, long top, long right, long bottom)
long GetTimeBaseFlags(TimeBase tb)
OSErr DisposeMovieEditState(MovieEditState state)
ComponentResult MCDoAction(MovieController mc, short action, void *params)
OSErr AddMovieResource(Movie theMovie, short resRefNum, short *resId, ConstStr255Param resName)
OSErr NewUserData(UserData *theUserData)
void SetMovieTimeValue(Movie theMovie, TimeValue newtime)
void DisposeCallBack(QTCallBack cb)
ComponentResult MCGetClip(MovieController mc, RgnHandle *theClip, RgnHandle *movieClip)
void CancelCallBack(QTCallBack cb)
void SetTrackOffset(Track theTrack, TimeValue movieOffsetTime)
OSErr AddMediaSampleReference(Media theMedia, long dataOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
OSErr DisposeUserData(UserData theUserData)
Interface to Quickdraw Graphics.
Sound Manager Interfaces.
x
Definition: ToolUtils.h:163
Definition: AEDataModel.h:175
Definition: Aliases.h:87
Definition: Movies.h:6213
Definition: Quickdraw.h:2261
Definition: Movies.h:1087
Definition: Quickdraw.h:1968
Definition: Components.h:220
Definition: Components.h:214
Definition: Movies.h:6206
Definition: Movies.h:371
Definition: Events.h:224
Definition: Movies.h:342
Definition: Quickdraw.h:2178
Definition: Quickdraw.h:1648
Definition: ImageCompression.h:394
Definition: ImageCompression.h:433
Definition: Quickdraw.h:306
Definition: ImageCompression.h:68
Definition: Movies.h:197
Definition: Menus.h:753
Definition: Movies.h:6489
Definition: Movies.h:215
Definition: Movies.h:7537
Definition: Movies.h:7531
Definition: Movies.h:184
Definition: Movies.h:381
Definition: Quickdraw.h:326
Definition: Quickdraw.h:2064
Definition: MacTypes.h:520
Definition: PPCToolbox.h:168
Definition: Movies.h:530
Definition: Movies.h:1142
Definition: Movies.h:8030
Definition: Movies.h:8079
Definition: Movies.h:8038
Definition: Movies.h:8045
Definition: Movies.h:517
Definition: Movies.h:8057
Definition: Movies.h:8023
Definition: Movies.h:8071
Definition: Movies.h:8013
Definition: Movies.h:5946
Definition: Movies.h:5954
Definition: Movies.h:5938
Definition: Movies.h:8087
Definition: Movies.h:6970
Definition: Movies.h:6243
Definition: Movies.h:6987
Definition: Movies.h:8006
Definition: Movies.h:1151
Definition: Movies.h:233
Definition: Quickdraw.h:1710
Definition: MacTypes.h:527
Definition: Movies.h:537
Definition: Movies.h:239
Definition: Movies.h:1317
Definition: Movies.h:1307
Definition: TextEdit.h:456
Definition: Movies.h:290
Definition: Movies.h:270
Definition: Movies.h:327
Definition: Movies.h:227
Definition: Movies.h:221
Definition: TextEdit.h:272
Definition: QD3D.h:494
Definition: Movies.h:304
Definition: Movies.h:357
Definition: MacTypes.h:585
Definition: Movies.h:209
Definition: Movies.h:191
Definition: Movies.h:5788
Definition: Movies.h:6566
Definition: Movies.h:5803
Definition: Movies.h:203
Definition: MacTypes.h:104