Movies.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:338k
- long frameDiffSampleNum,
- long * syncSampleNum) THREEWORDINLINE(0x303C, 0x0122, 0xAAAA);
- /*************************
- * Editing Routines
- **************************/
- EXTERN_API( OSErr )
- InsertMediaIntoTrack (Track theTrack,
- TimeValue trackStart,
- TimeValue mediaTime,
- TimeValue mediaDuration,
- Fixed mediaRate) THREEWORDINLINE(0x303C, 0x0183, 0xAAAA);
- EXTERN_API( OSErr )
- InsertTrackSegment (Track srcTrack,
- Track dstTrack,
- TimeValue srcIn,
- TimeValue srcDuration,
- TimeValue dstIn) THREEWORDINLINE(0x303C, 0x0085, 0xAAAA);
- EXTERN_API( OSErr )
- InsertMovieSegment (Movie srcMovie,
- Movie dstMovie,
- TimeValue srcIn,
- TimeValue srcDuration,
- TimeValue dstIn) THREEWORDINLINE(0x303C, 0x0086, 0xAAAA);
- EXTERN_API( OSErr )
- InsertEmptyTrackSegment (Track dstTrack,
- TimeValue dstIn,
- TimeValue dstDuration) THREEWORDINLINE(0x303C, 0x0087, 0xAAAA);
- EXTERN_API( OSErr )
- InsertEmptyMovieSegment (Movie dstMovie,
- TimeValue dstIn,
- TimeValue dstDuration) THREEWORDINLINE(0x303C, 0x0088, 0xAAAA);
- EXTERN_API( OSErr )
- DeleteTrackSegment (Track theTrack,
- TimeValue startTime,
- TimeValue duration) THREEWORDINLINE(0x303C, 0x0089, 0xAAAA);
- EXTERN_API( OSErr )
- DeleteMovieSegment (Movie theMovie,
- TimeValue startTime,
- TimeValue duration) THREEWORDINLINE(0x303C, 0x008A, 0xAAAA);
- EXTERN_API( OSErr )
- ScaleTrackSegment (Track theTrack,
- TimeValue startTime,
- TimeValue oldDuration,
- TimeValue newDuration) THREEWORDINLINE(0x303C, 0x008B, 0xAAAA);
- EXTERN_API( OSErr )
- ScaleMovieSegment (Movie theMovie,
- TimeValue startTime,
- TimeValue oldDuration,
- TimeValue newDuration) THREEWORDINLINE(0x303C, 0x008C, 0xAAAA);
- /*************************
- * Hi-level Editing Routines
- **************************/
- EXTERN_API( Movie )
- CutMovieSelection (Movie theMovie) THREEWORDINLINE(0x303C, 0x008D, 0xAAAA);
- EXTERN_API( Movie )
- CopyMovieSelection (Movie theMovie) THREEWORDINLINE(0x303C, 0x008E, 0xAAAA);
- EXTERN_API( void )
- PasteMovieSelection (Movie theMovie,
- Movie src) THREEWORDINLINE(0x303C, 0x008F, 0xAAAA);
- EXTERN_API( void )
- AddMovieSelection (Movie theMovie,
- Movie src) THREEWORDINLINE(0x303C, 0x0152, 0xAAAA);
- EXTERN_API( void )
- ClearMovieSelection (Movie theMovie) THREEWORDINLINE(0x303C, 0x00E1, 0xAAAA);
- EXTERN_API( OSErr )
- PasteHandleIntoMovie (Handle h,
- OSType handleType,
- Movie theMovie,
- long flags,
- ComponentInstance userComp) THREEWORDINLINE(0x303C, 0x00CB, 0xAAAA);
- EXTERN_API( OSErr )
- PutMovieIntoTypedHandle (Movie theMovie,
- Track targetTrack,
- OSType handleType,
- Handle publicMovie,
- TimeValue start,
- TimeValue dur,
- long flags,
- ComponentInstance userComp) THREEWORDINLINE(0x303C, 0x01CD, 0xAAAA);
- EXTERN_API( Component )
- IsScrapMovie (Track targetTrack) THREEWORDINLINE(0x303C, 0x00CC, 0xAAAA);
- /*************************
- * Middle-level Editing Routines
- **************************/
- EXTERN_API( OSErr )
- CopyTrackSettings (Track srcTrack,
- Track dstTrack) THREEWORDINLINE(0x303C, 0x0153, 0xAAAA);
- EXTERN_API( OSErr )
- CopyMovieSettings (Movie srcMovie,
- Movie dstMovie) THREEWORDINLINE(0x303C, 0x0154, 0xAAAA);
- EXTERN_API( OSErr )
- AddEmptyTrackToMovie (Track srcTrack,
- Movie dstMovie,
- Handle dataRef,
- OSType dataRefType,
- Track * dstTrack) TWOWORDINLINE(0x7074, 0xAAAA);
- enum {
- kQTCloneShareSamples = 1 << 0,
- kQTCloneDontCopyEdits = 1 << 1
- };
- EXTERN_API( OSErr )
- AddClonedTrackToMovie (Track srcTrack,
- Movie dstMovie,
- long flags,
- Track * dstTrack) THREEWORDINLINE(0x303C, 0x0344, 0xAAAA);
- /*************************
- * movie & track edit state routines
- **************************/
- EXTERN_API( MovieEditState )
- NewMovieEditState (Movie theMovie) THREEWORDINLINE(0x303C, 0x0104, 0xAAAA);
- EXTERN_API( OSErr )
- UseMovieEditState (Movie theMovie,
- MovieEditState toState) THREEWORDINLINE(0x303C, 0x0105, 0xAAAA);
- EXTERN_API( OSErr )
- DisposeMovieEditState (MovieEditState state) THREEWORDINLINE(0x303C, 0x0106, 0xAAAA);
- EXTERN_API( TrackEditState )
- NewTrackEditState (Track theTrack) THREEWORDINLINE(0x303C, 0x0107, 0xAAAA);
- EXTERN_API( OSErr )
- UseTrackEditState (Track theTrack,
- TrackEditState state) THREEWORDINLINE(0x303C, 0x0108, 0xAAAA);
- EXTERN_API( OSErr )
- DisposeTrackEditState (TrackEditState state) THREEWORDINLINE(0x303C, 0x0109, 0xAAAA);
- /*************************
- * track reference routines
- **************************/
- EXTERN_API( OSErr )
- AddTrackReference (Track theTrack,
- Track refTrack,
- OSType refType,
- long * addedIndex) THREEWORDINLINE(0x303C, 0x01F0, 0xAAAA);
- EXTERN_API( OSErr )
- DeleteTrackReference (Track theTrack,
- OSType refType,
- long index) THREEWORDINLINE(0x303C, 0x01F1, 0xAAAA);
- EXTERN_API( OSErr )
- SetTrackReference (Track theTrack,
- Track refTrack,
- OSType refType,
- long index) THREEWORDINLINE(0x303C, 0x01F2, 0xAAAA);
- EXTERN_API( Track )
- GetTrackReference (Track theTrack,
- OSType refType,
- long index) THREEWORDINLINE(0x303C, 0x01F3, 0xAAAA);
- EXTERN_API( OSType )
- GetNextTrackReferenceType (Track theTrack,
- OSType refType) THREEWORDINLINE(0x303C, 0x01F4, 0xAAAA);
- EXTERN_API( long )
- GetTrackReferenceCount (Track theTrack,
- OSType refType) THREEWORDINLINE(0x303C, 0x01F5, 0xAAAA);
- /*************************
- * high level file conversion routines
- **************************/
- EXTERN_API( OSErr )
- ConvertFileToMovieFile (const FSSpec * inputFile,
- const FSSpec * outputFile,
- OSType creator,
- ScriptCode scriptTag,
- short * resID,
- long flags,
- ComponentInstance userComp,
- MovieProgressUPP proc,
- long refCon) THREEWORDINLINE(0x303C, 0x01CB, 0xAAAA);
- EXTERN_API( OSErr )
- ConvertMovieToFile (Movie theMovie,
- Track onlyTrack,
- FSSpec * outputFile,
- OSType fileType,
- OSType creator,
- ScriptCode scriptTag,
- short * resID,
- long flags,
- ComponentInstance userComp) THREEWORDINLINE(0x303C, 0x01CC, 0xAAAA);
- enum {
- kGetMovieImporterValidateToFind = 1L << 0,
- kGetMovieImporterAllowNewFile = 1L << 1,
- kGetMovieImporterDontConsiderGraphicsImporters = 1L << 2,
- kGetMovieImporterDontConsiderFileOnlyImporters = 1L << 6,
- kGetMovieImporterAutoImportOnly = 1L << 10 /* reject aggressive movie importers which have dontAutoFileMovieImport set*/
- };
- EXTERN_API( OSErr )
- GetMovieImporterForDataRef (OSType dataRefType,
- Handle dataRef,
- long flags,
- Component * importer) THREEWORDINLINE(0x303C, 0x02C7, 0xAAAA);
- enum {
- kQTGetMIMETypeInfoIsQuickTimeMovieType = FOUR_CHAR_CODE('moov'), /* info is a pointer to a Boolean*/
- kQTGetMIMETypeInfoIsUnhelpfulType = FOUR_CHAR_CODE('dumb') /* info is a pointer to a Boolean*/
- };
- EXTERN_API( OSErr )
- QTGetMIMETypeInfo (const char * mimeStringStart,
- short mimeStringLength,
- OSType infoSelector,
- void * infoDataPtr,
- long * infoDataSize) THREEWORDINLINE(0x303C, 0x036A, 0xAAAA);
- /*************************
- * Movie Timebase Conversion Routines
- **************************/
- EXTERN_API( TimeValue )
- TrackTimeToMediaTime (TimeValue value,
- Track theTrack) THREEWORDINLINE(0x303C, 0x0096, 0xAAAA);
- EXTERN_API( Fixed )
- GetTrackEditRate (Track theTrack,
- TimeValue atTime) THREEWORDINLINE(0x303C, 0x0123, 0xAAAA);
- /*************************
- * Miscellaneous Routines
- **************************/
- EXTERN_API( long )
- GetMovieDataSize (Movie theMovie,
- TimeValue startTime,
- TimeValue duration) THREEWORDINLINE(0x303C, 0x0098, 0xAAAA);
- EXTERN_API( OSErr )
- GetMovieDataSize64 (Movie theMovie,
- TimeValue startTime,
- TimeValue duration,
- wide * dataSize) THREEWORDINLINE(0x303C, 0x02EB, 0xAAAA);
- EXTERN_API( long )
- GetTrackDataSize (Track theTrack,
- TimeValue startTime,
- TimeValue duration) THREEWORDINLINE(0x303C, 0x0149, 0xAAAA);
- EXTERN_API( OSErr )
- GetTrackDataSize64 (Track theTrack,
- TimeValue startTime,
- TimeValue duration,
- wide * dataSize) THREEWORDINLINE(0x303C, 0x02EC, 0xAAAA);
- EXTERN_API( long )
- GetMediaDataSize (Media theMedia,
- TimeValue startTime,
- TimeValue duration) THREEWORDINLINE(0x303C, 0x0099, 0xAAAA);
- EXTERN_API( OSErr )
- GetMediaDataSize64 (Media theMedia,
- TimeValue startTime,
- TimeValue duration,
- wide * dataSize) THREEWORDINLINE(0x303C, 0x02ED, 0xAAAA);
- EXTERN_API( Boolean )
- PtInMovie (Movie theMovie,
- Point pt) THREEWORDINLINE(0x303C, 0x009A, 0xAAAA);
- EXTERN_API( Boolean )
- PtInTrack (Track theTrack,
- Point pt) THREEWORDINLINE(0x303C, 0x009B, 0xAAAA);
- /*************************
- * Group Selection Routines
- **************************/
- EXTERN_API( void )
- SetMovieLanguage (Movie theMovie,
- long language) THREEWORDINLINE(0x303C, 0x009C, 0xAAAA);
- /*************************
- * User Data
- **************************/
- EXTERN_API( OSErr )
- GetUserData (UserData theUserData,
- Handle data,
- OSType udType,
- long index) THREEWORDINLINE(0x303C, 0x009E, 0xAAAA);
- EXTERN_API( OSErr )
- AddUserData (UserData theUserData,
- Handle data,
- OSType udType) THREEWORDINLINE(0x303C, 0x009F, 0xAAAA);
- EXTERN_API( OSErr )
- RemoveUserData (UserData theUserData,
- OSType udType,
- long index) THREEWORDINLINE(0x303C, 0x00A0, 0xAAAA);
- EXTERN_API( short )
- CountUserDataType (UserData theUserData,
- OSType udType) THREEWORDINLINE(0x303C, 0x014B, 0xAAAA);
- EXTERN_API( long )
- GetNextUserDataType (UserData theUserData,
- OSType udType) THREEWORDINLINE(0x303C, 0x01A5, 0xAAAA);
- EXTERN_API( OSErr )
- GetUserDataItem (UserData theUserData,
- void * data,
- long size,
- OSType udType,
- long index) THREEWORDINLINE(0x303C, 0x0126, 0xAAAA);
- EXTERN_API( OSErr )
- SetUserDataItem (UserData theUserData,
- void * data,
- long size,
- OSType udType,
- long index) THREEWORDINLINE(0x303C, 0x012E, 0xAAAA);
- EXTERN_API( OSErr )
- AddUserDataText (UserData theUserData,
- Handle data,
- OSType udType,
- long index,
- short itlRegionTag) THREEWORDINLINE(0x303C, 0x014C, 0xAAAA);
- EXTERN_API( OSErr )
- GetUserDataText (UserData theUserData,
- Handle data,
- OSType udType,
- long index,
- short itlRegionTag) THREEWORDINLINE(0x303C, 0x014D, 0xAAAA);
- EXTERN_API( OSErr )
- RemoveUserDataText (UserData theUserData,
- OSType udType,
- long index,
- short itlRegionTag) THREEWORDINLINE(0x303C, 0x014E, 0xAAAA);
- EXTERN_API( OSErr )
- NewUserData (UserData * theUserData) THREEWORDINLINE(0x303C, 0x012F, 0xAAAA);
- EXTERN_API( OSErr )
- DisposeUserData (UserData theUserData) THREEWORDINLINE(0x303C, 0x0130, 0xAAAA);
- EXTERN_API( OSErr )
- NewUserDataFromHandle (Handle h,
- UserData * theUserData) THREEWORDINLINE(0x303C, 0x0131, 0xAAAA);
- EXTERN_API( OSErr )
- PutUserDataIntoHandle (UserData theUserData,
- Handle h) THREEWORDINLINE(0x303C, 0x0132, 0xAAAA);
- enum {
- kQTCopyUserDataReplace = FOUR_CHAR_CODE('rplc'), /* Delete all destination user data items and then add source user data items */
- kQTCopyUserDataMerge = FOUR_CHAR_CODE('merg') /* Add source user data items to destination user data */
- };
- EXTERN_API( OSErr )
- CopyMovieUserData (Movie srcMovie,
- Movie dstMovie,
- OSType copyRule) THREEWORDINLINE(0x303C, 0x0386, 0xAAAA);
- EXTERN_API( OSErr )
- CopyTrackUserData (Track srcTrack,
- Track dstTrack,
- OSType copyRule) THREEWORDINLINE(0x303C, 0x0387, 0xAAAA);
- EXTERN_API( OSErr )
- CopyMediaUserData (Media srcMedia,
- Media dstMedia,
- OSType copyRule) THREEWORDINLINE(0x303C, 0x0388, 0xAAAA);
- EXTERN_API( OSErr )
- CopyUserData (UserData srcUserData,
- UserData dstUserData,
- OSType copyRule) THREEWORDINLINE(0x303C, 0x0389, 0xAAAA);
- EXTERN_API( OSErr )
- SetMoviePropertyAtom (Movie theMovie,
- QTAtomContainer propertyAtom) THREEWORDINLINE(0x303C, 0x0284, 0xAAAA);
- EXTERN_API( OSErr )
- GetMoviePropertyAtom (Movie theMovie,
- QTAtomContainer * propertyAtom) THREEWORDINLINE(0x303C, 0x0285, 0xAAAA);
- EXTERN_API( void )
- GetMediaNextInterestingTime (Media theMedia,
- short interestingTimeFlags,
- TimeValue time,
- Fixed rate,
- TimeValue * interestingTime,
- TimeValue * interestingDuration) THREEWORDINLINE(0x303C, 0x016D, 0xAAAA);
- EXTERN_API( void )
- GetTrackNextInterestingTime (Track theTrack,
- short interestingTimeFlags,
- TimeValue time,
- Fixed rate,
- TimeValue * interestingTime,
- TimeValue * interestingDuration) THREEWORDINLINE(0x303C, 0x00E2, 0xAAAA);
- EXTERN_API( void )
- GetMovieNextInterestingTime (Movie theMovie,
- short interestingTimeFlags,
- short numMediaTypes,
- const OSType * whichMediaTypes,
- TimeValue time,
- Fixed rate,
- TimeValue * interestingTime,
- TimeValue * interestingDuration) THREEWORDINLINE(0x303C, 0x010E, 0xAAAA);
- EXTERN_API( OSErr )
- CreateMovieFile (const FSSpec * fileSpec,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- short * resRefNum,
- Movie * newmovie) THREEWORDINLINE(0x303C, 0x0191, 0xAAAA);
- EXTERN_API( OSErr )
- OpenMovieFile (const FSSpec * fileSpec,
- short * resRefNum,
- SInt8 permission) THREEWORDINLINE(0x303C, 0x0192, 0xAAAA);
- EXTERN_API( OSErr )
- CloseMovieFile (short resRefNum) THREEWORDINLINE(0x303C, 0x00D5, 0xAAAA);
- EXTERN_API( OSErr )
- DeleteMovieFile (const FSSpec * fileSpec) THREEWORDINLINE(0x303C, 0x0175, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieFromFile (Movie * theMovie,
- short resRefNum,
- short * resId,
- StringPtr resName,
- short newMovieFlags,
- Boolean * dataRefWasChanged) THREEWORDINLINE(0x303C, 0x00F0, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieFromHandle (Movie * theMovie,
- Handle h,
- short newMovieFlags,
- Boolean * dataRefWasChanged) THREEWORDINLINE(0x303C, 0x00F1, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieFromDataFork (Movie * theMovie,
- short fRefNum,
- long fileOffset,
- short newMovieFlags,
- Boolean * dataRefWasChanged) THREEWORDINLINE(0x303C, 0x01B3, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieFromDataFork64 (Movie * theMovie,
- long fRefNum,
- const wide * fileOffset,
- short newMovieFlags,
- Boolean * dataRefWasChanged) THREEWORDINLINE(0x303C, 0x02EE, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieFromUserProc (Movie * m,
- short flags,
- Boolean * dataRefWasChanged,
- GetMovieUPP getProc,
- void * refCon,
- Handle defaultDataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x01EC, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieFromDataRef (Movie * m,
- short flags,
- short * id,
- Handle dataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x0220, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieFromStorageOffset (Movie * theMovie,
- DataHandler dh,
- const wide * fileOffset,
- short newMovieFlags,
- Boolean * dataRefWasChanged) THREEWORDINLINE(0x303C, 0x03B4, 0xAAAA);
- EXTERN_API( OSErr )
- NewMovieForDataRefFromHandle (Movie * theMovie,
- Handle h,
- short newMovieFlags,
- Boolean * dataRefWasChanged,
- Handle dataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x0381, 0xAAAA);
- EXTERN_API( OSErr )
- AddMovieResource (Movie theMovie,
- short resRefNum,
- short * resId,
- ConstStr255Param resName) THREEWORDINLINE(0x303C, 0x00D7, 0xAAAA);
- EXTERN_API( OSErr )
- UpdateMovieResource (Movie theMovie,
- short resRefNum,
- short resId,
- ConstStr255Param resName) THREEWORDINLINE(0x303C, 0x00D8, 0xAAAA);
- EXTERN_API( OSErr )
- RemoveMovieResource (short resRefNum,
- short resId) THREEWORDINLINE(0x303C, 0x0176, 0xAAAA);
- EXTERN_API( OSErr )
- CreateMovieStorage (Handle dataRef,
- OSType dataRefType,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- DataHandler * outDataHandler,
- Movie * newmovie) THREEWORDINLINE(0x303C, 0x038A, 0xAAAA);
- EXTERN_API( OSErr )
- OpenMovieStorage (Handle dataRef,
- OSType dataRefType,
- long flags,
- DataHandler * outDataHandler) THREEWORDINLINE(0x303C, 0x038B, 0xAAAA);
- EXTERN_API( OSErr )
- CloseMovieStorage (DataHandler dh) THREEWORDINLINE(0x303C, 0x038C, 0xAAAA);
- EXTERN_API( OSErr )
- DeleteMovieStorage (Handle dataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x038D, 0xAAAA);
- EXTERN_API( OSErr )
- AddMovieToStorage (Movie theMovie,
- DataHandler dh) THREEWORDINLINE(0x303C, 0x038F, 0xAAAA);
- EXTERN_API( OSErr )
- UpdateMovieInStorage (Movie theMovie,
- DataHandler dh) THREEWORDINLINE(0x303C, 0x0390, 0xAAAA);
- EXTERN_API( Boolean )
- HasMovieChanged (Movie theMovie) THREEWORDINLINE(0x303C, 0x00D9, 0xAAAA);
- EXTERN_API( void )
- ClearMovieChanged (Movie theMovie) THREEWORDINLINE(0x303C, 0x0113, 0xAAAA);
- EXTERN_API( OSErr )
- SetMovieDefaultDataRef (Movie theMovie,
- Handle dataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x01C1, 0xAAAA);
- EXTERN_API( OSErr )
- GetMovieDefaultDataRef (Movie theMovie,
- Handle * dataRef,
- OSType * dataRefType) THREEWORDINLINE(0x303C, 0x01D2, 0xAAAA);
- EXTERN_API( OSErr )
- SetMovieAnchorDataRef (Movie theMovie,
- Handle dataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x0315, 0xAAAA);
- EXTERN_API( OSErr )
- GetMovieAnchorDataRef (Movie theMovie,
- Handle * dataRef,
- OSType * dataRefType,
- long * outFlags) THREEWORDINLINE(0x303C, 0x0316, 0xAAAA);
- EXTERN_API( OSErr )
- SetMovieColorTable (Movie theMovie,
- CTabHandle ctab) THREEWORDINLINE(0x303C, 0x0205, 0xAAAA);
- EXTERN_API( OSErr )
- GetMovieColorTable (Movie theMovie,
- CTabHandle * ctab) THREEWORDINLINE(0x303C, 0x0206, 0xAAAA);
- EXTERN_API( void )
- FlattenMovie (Movie theMovie,
- long movieFlattenFlags,
- const FSSpec * theFile,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- short * resId,
- ConstStr255Param resName) THREEWORDINLINE(0x303C, 0x019B, 0xAAAA);
- EXTERN_API( Movie )
- FlattenMovieData (Movie theMovie,
- long movieFlattenFlags,
- const FSSpec * theFile,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags) THREEWORDINLINE(0x303C, 0x019C, 0xAAAA);
- EXTERN_API( Movie )
- FlattenMovieDataToDataRef (Movie theMovie,
- long movieFlattenFlags,
- Handle dataRef,
- OSType dataRefType,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags) THREEWORDINLINE(0x303C, 0x0392, 0xAAAA);
- EXTERN_API( void )
- SetMovieProgressProc (Movie theMovie,
- MovieProgressUPP p,
- long refcon) THREEWORDINLINE(0x303C, 0x019A, 0xAAAA);
- EXTERN_API( void )
- GetMovieProgressProc (Movie theMovie,
- MovieProgressUPP * p,
- long * refcon) THREEWORDINLINE(0x303C, 0x0300, 0xAAAA);
- EXTERN_API( OSErr )
- CreateShortcutMovieFile (const FSSpec * fileSpec,
- OSType creator,
- ScriptCode scriptTag,
- long createMovieFileFlags,
- Handle targetDataRef,
- OSType targetDataRefType) THREEWORDINLINE(0x303C, 0x02FA, 0xAAAA);
- EXTERN_API( OSErr )
- MovieSearchText (Movie theMovie,
- Ptr text,
- long size,
- long searchFlags,
- Track * searchTrack,
- TimeValue * searchTime,
- long * searchOffset) THREEWORDINLINE(0x303C, 0x0207, 0xAAAA);
- EXTERN_API( void )
- GetPosterBox (Movie theMovie,
- Rect * boxRect) THREEWORDINLINE(0x303C, 0x016F, 0xAAAA);
- EXTERN_API( void )
- SetPosterBox (Movie theMovie,
- const Rect * boxRect) THREEWORDINLINE(0x303C, 0x0170, 0xAAAA);
- EXTERN_API( RgnHandle )
- GetMovieSegmentDisplayBoundsRgn (Movie theMovie,
- TimeValue time,
- TimeValue duration) THREEWORDINLINE(0x303C, 0x016C, 0xAAAA);
- EXTERN_API( RgnHandle )
- GetTrackSegmentDisplayBoundsRgn (Track theTrack,
- TimeValue time,
- TimeValue duration) THREEWORDINLINE(0x303C, 0x016B, 0xAAAA);
- EXTERN_API( void )
- SetMovieCoverProcs (Movie theMovie,
- MovieRgnCoverUPP uncoverProc,
- MovieRgnCoverUPP coverProc,
- long refcon) THREEWORDINLINE(0x303C, 0x0179, 0xAAAA);
- EXTERN_API( OSErr )
- GetMovieCoverProcs (Movie theMovie,
- MovieRgnCoverUPP * uncoverProc,
- MovieRgnCoverUPP * coverProc,
- long * refcon) THREEWORDINLINE(0x303C, 0x01DD, 0xAAAA);
- EXTERN_API( ComponentResult )
- GetTrackStatus (Track theTrack) THREEWORDINLINE(0x303C, 0x0172, 0xAAAA);
- EXTERN_API( ComponentResult )
- GetMovieStatus (Movie theMovie,
- Track * firstProblemTrack) THREEWORDINLINE(0x303C, 0x0173, 0xAAAA);
- enum {
- kMovieLoadStateError = -1L,
- kMovieLoadStateLoading = 1000,
- kMovieLoadStateLoaded = 2000,
- kMovieLoadStatePlayable = 10000,
- kMovieLoadStatePlaythroughOK = 20000,
- kMovieLoadStateComplete = 100000L
- };
- EXTERN_API( long )
- GetMovieLoadState (Movie theMovie) THREEWORDINLINE(0x303C, 0x0314, 0xAAAA);
- /* Input flags for CanQuickTimeOpenFile/DataRef */
- enum {
- kQTDontUseDataToFindImporter = 1L << 0,
- kQTDontLookForMovieImporterIfGraphicsImporterFound = 1L << 1,
- kQTAllowOpeningStillImagesAsMovies = 1L << 2,
- kQTAllowImportersThatWouldCreateNewFile = 1L << 3,
- kQTAllowAggressiveImporters = 1L << 4 /* eg, TEXT and PICT movie importers*/
- };
- /* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */
- EXTERN_API( OSErr )
- CanQuickTimeOpenFile (FSSpecPtr fileSpec,
- OSType fileType,
- OSType fileNameExtension,
- Boolean * outCanOpenWithGraphicsImporter,
- Boolean * outCanOpenAsMovie,
- Boolean * outPreferGraphicsImporter,
- UInt32 inFlags) THREEWORDINLINE(0x303C, 0x033E, 0xAAAA);
- /* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */
- EXTERN_API( OSErr )
- CanQuickTimeOpenDataRef (Handle dataRef,
- OSType dataRefType,
- Boolean * outCanOpenWithGraphicsImporter,
- Boolean * outCanOpenAsMovie,
- Boolean * outPreferGraphicsImporter,
- UInt32 inFlags) THREEWORDINLINE(0x303C, 0x033F, 0xAAAA);
- /****
- Movie Controller support routines
- ****/
- EXTERN_API( ComponentInstance )
- NewMovieController (Movie theMovie,
- const Rect * movieRect,
- long someFlags) THREEWORDINLINE(0x303C, 0x018A, 0xAAAA);
- EXTERN_API( void )
- DisposeMovieController (ComponentInstance mc) THREEWORDINLINE(0x303C, 0x018B, 0xAAAA);
- EXTERN_API( void )
- ShowMovieInformation (Movie theMovie,
- ModalFilterUPP filterProc,
- long refCon) THREEWORDINLINE(0x303C, 0x0209, 0xAAAA);
- /*****
- Scrap routines
- *****/
- EXTERN_API( OSErr )
- PutMovieOnScrap (Movie theMovie,
- long movieScrapFlags) THREEWORDINLINE(0x303C, 0x018C, 0xAAAA);
- EXTERN_API( Movie )
- NewMovieFromScrap (long newMovieFlags) THREEWORDINLINE(0x303C, 0x018D, 0xAAAA);
- /*****
- DataRef routines
- *****/
- EXTERN_API( OSErr )
- GetMediaDataRef (Media theMedia,
- short index,
- Handle * dataRef,
- OSType * dataRefType,
- long * dataRefAttributes) THREEWORDINLINE(0x303C, 0x0197, 0xAAAA);
- EXTERN_API( OSErr )
- SetMediaDataRef (Media theMedia,
- short index,
- Handle dataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x01C9, 0xAAAA);
- EXTERN_API( OSErr )
- SetMediaDataRefAttributes (Media theMedia,
- short index,
- long dataRefAttributes) THREEWORDINLINE(0x303C, 0x01CA, 0xAAAA);
- EXTERN_API( OSErr )
- AddMediaDataRef (Media theMedia,
- short * index,
- Handle dataRef,
- OSType dataRefType) THREEWORDINLINE(0x303C, 0x0198, 0xAAAA);
- EXTERN_API( OSErr )
- GetMediaDataRefCount (Media theMedia,
- short * count) THREEWORDINLINE(0x303C, 0x0199, 0xAAAA);
- EXTERN_API( OSErr )
- QTNewAlias (const FSSpec * fss,
- AliasHandle * alias,
- Boolean minimal) THREEWORDINLINE(0x303C, 0x0201, 0xAAAA);
- /*****
- Playback hint routines
- *****/
- EXTERN_API( void )
- SetMoviePlayHints (Movie theMovie,
- long flags,
- long flagsMask) THREEWORDINLINE(0x303C, 0x01A1, 0xAAAA);
- EXTERN_API( void )
- SetMediaPlayHints (Media theMedia,
- long flags,
- long flagsMask) THREEWORDINLINE(0x303C, 0x01A2, 0xAAAA);
- EXTERN_API( void )
- GetMediaPlayHints (Media theMedia,
- long * flags) THREEWORDINLINE(0x303C, 0x02CE, 0xAAAA);
- /*****
- Load time track hints
- *****/
- enum {
- preloadAlways = 1L << 0,
- preloadOnlyIfEnabled = 1L << 1
- };
- EXTERN_API( void )
- SetTrackLoadSettings (Track theTrack,
- TimeValue preloadTime,
- TimeValue preloadDuration,
- long preloadFlags,
- long defaultHints) THREEWORDINLINE(0x303C, 0x01E3, 0xAAAA);
- EXTERN_API( void )
- GetTrackLoadSettings (Track theTrack,
- TimeValue * preloadTime,
- TimeValue * preloadDuration,
- long * preloadFlags,
- long * defaultHints) THREEWORDINLINE(0x303C, 0x01E4, 0xAAAA);
- /*****
- Big screen TV
- *****/
- enum {
- fullScreenHideCursor = 1L << 0,
- fullScreenAllowEvents = 1L << 1,
- fullScreenDontChangeMenuBar = 1L << 2,
- fullScreenPreflightSize = 1L << 3
- };
- EXTERN_API( OSErr )
- BeginFullScreen (Ptr * restoreState,
- GDHandle whichGD,
- short * desiredWidth,
- short * desiredHeight,
- WindowRef * newWindow,
- RGBColor * eraseColor,
- long flags) THREEWORDINLINE(0x303C, 0x0233, 0xAAAA);
- EXTERN_API( OSErr )
- EndFullScreen (Ptr fullState,
- long flags) THREEWORDINLINE(0x303C, 0x0234, 0xAAAA);
- /*****
- Wired Actions
- *****/
- /* flags for MovieExecuteWiredActions*/
- enum {
- movieExecuteWiredActionDontExecute = 1L << 0
- };
- EXTERN_API( OSErr )
- AddMovieExecuteWiredActionsProc (Movie theMovie,
- MovieExecuteWiredActionsUPP proc,
- void * refCon) THREEWORDINLINE(0x303C, 0x0302, 0xAAAA);
- EXTERN_API( OSErr )
- RemoveMovieExecuteWiredActionsProc (Movie theMovie,
- MovieExecuteWiredActionsUPP proc,
- void * refCon) THREEWORDINLINE(0x303C, 0x0303, 0xAAAA);
- EXTERN_API( OSErr )
- MovieExecuteWiredActions (Movie theMovie,
- long flags,
- QTAtomContainer actions) THREEWORDINLINE(0x303C, 0x0304, 0xAAAA);
- /*****
- Keyboard Navigation/Editable Text Field Support
- *****/
- /*
- Navigation Direction Constants
- for MediaNavigateTargetRefCon
- */
- enum {
- kRefConNavigationNext = 0,
- kRefConNavigationPrevious = 1
- };
- /*
- Refcon Properties
- for MediaRefConGetProerty/MediaRefConSetProperty
- */
- enum {
- kRefConPropertyCanHaveFocus = 1, /* Boolean */
- kRefConPropertyHasFocus = 2 /* Boolean */
- };
- /* media properties*/
- enum {
- kTrackFocusCanEditFlag = FOUR_CHAR_CODE('kedt'),
- kTrackDefaultFocusFlags = FOUR_CHAR_CODE('kfoc'),
- kTrackFocusDefaultRefcon = FOUR_CHAR_CODE('kref')
- };
- /* focus flags*/
- enum {
- kTrackFocusOn = 1,
- kTrackHandlesTabs = 2 /* this is reserved for a future release*/
- };
- /*****
- Flash track properties
- *****/
- enum {
- kFlashTrackPropertyAcceptAllClicks = FOUR_CHAR_CODE('clik') /* type of media property atom; data is a Boolean */
- };
- /*****
- Sprite Toolbox
- *****/
- enum {
- kBackgroundSpriteLayerNum = 32767
- };
- /* Sprite Properties*/
- enum {
- kSpritePropertyMatrix = 1,
- kSpritePropertyImageDescription = 2,
- kSpritePropertyImageDataPtr = 3,
- kSpritePropertyVisible = 4,
- kSpritePropertyLayer = 5,
- kSpritePropertyGraphicsMode = 6,
- kSpritePropertyImageDataSize = 7,
- kSpritePropertyActionHandlingSpriteID = 8,
- kSpritePropertyCanBeHitTested = 9,
- kSpritePropertyImageIndex = 100,
- kSpriteTrackPropertyBackgroundColor = 101,
- kSpriteTrackPropertyOffscreenBitDepth = 102,
- kSpriteTrackPropertySampleFormat = 103,
- kSpriteTrackPropertyScaleSpritesToScaleWorld = 104,
- kSpriteTrackPropertyHasActions = 105,
- kSpriteTrackPropertyVisible = 106,
- kSpriteTrackPropertyQTIdleEventsFrequency = 107,
- kSpriteTrackPropertyAllSpritesHitTestingMode = 108,
- kSpriteTrackPropertyPreferredDepthInterpretationMode = 109,
- kSpriteImagePropertyRegistrationPoint = 1000,
- kSpriteImagePropertyGroupID = 1001
- };
- /* values for kSpriteTrackPropertyPreferredDepthInterpretationMode*/
- enum {
- kSpriteTrackPreferredDepthCompatibilityMode = 0,
- kSpriteTrackPreferredDepthModernMode = 1
- };
- /* values for kSpriteTrackPropertyAllSpritesHitTestingMode*/
- enum {
- kSpriteHitTestUseSpritesOwnPropertiesMode = 0,
- kSpriteHitTestTreatAllSpritesAsHitTestableMode = 1,
- kSpriteHitTestTreatAllSpritesAsNotHitTestableMode = 2
- };
- /* special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)*/
- enum {
- kNoQTIdleEvents = -1
- };
- /* GetSpriteProperties for accessing invalid SpriteWorldRegion*/
- enum {
- kGetSpriteWorldInvalidRegionAndLeaveIntact = -1L,
- kGetSpriteWorldInvalidRegionAndThenSetEmpty = -2L
- };
- /* flagsIn for SpriteWorldIdle*/
- enum {
- kOnlyDrawToSpriteWorld = 1L << 0,
- kSpriteWorldPreflight = 1L << 1
- };
- /* flagsOut for SpriteWorldIdle*/
- enum {
- kSpriteWorldDidDraw = 1L << 0,
- kSpriteWorldNeedsToDraw = 1L << 1
- };
- /* flags for sprite track sample format*/
- enum {
- kKeyFrameAndSingleOverride = 1L << 1,
- kKeyFrameAndAllOverrides = 1L << 2
- };
- /* sprite world flags*/
- enum {
- kScaleSpritesToScaleWorld = 1L << 1,
- kSpriteWorldHighQuality = 1L << 2,
- kSpriteWorldDontAutoInvalidate = 1L << 3,
- kSpriteWorldInvisible = 1L << 4,
- kSpriteWorldDirtyInsteadOfFlush = 1L << 5
- };
- EXTERN_API( OSErr )
- NewSpriteWorld (SpriteWorld * newSpriteWorld,
- GWorldPtr destination,
- GWorldPtr spriteLayer,
- RGBColor * backgroundColor,
- GWorldPtr background) THREEWORDINLINE(0x303C, 0x0239, 0xAAAA);
- EXTERN_API( void )
- DisposeSpriteWorld (SpriteWorld theSpriteWorld) THREEWORDINLINE(0x303C, 0x023A, 0xAAAA);
- EXTERN_API( OSErr )
- SetSpriteWorldClip (SpriteWorld theSpriteWorld,
- RgnHandle clipRgn) THREEWORDINLINE(0x303C, 0x023B, 0xAAAA);
- EXTERN_API( OSErr )
- SetSpriteWorldMatrix (SpriteWorld theSpriteWorld,
- const MatrixRecord * matrix) THREEWORDINLINE(0x303C, 0x023C, 0xAAAA);
- EXTERN_API( OSErr )
- SetSpriteWorldGraphicsMode (SpriteWorld theSpriteWorld,
- long mode,
- const RGBColor * opColor) THREEWORDINLINE(0x303C, 0x02D9, 0xAAAA);
- EXTERN_API( OSErr )
- SpriteWorldIdle (SpriteWorld theSpriteWorld,
- long flagsIn,
- long * flagsOut) THREEWORDINLINE(0x303C, 0x023D, 0xAAAA);
- EXTERN_API( OSErr )
- InvalidateSpriteWorld (SpriteWorld theSpriteWorld,
- Rect * invalidArea) THREEWORDINLINE(0x303C, 0x023E, 0xAAAA);
- EXTERN_API( OSErr )
- SpriteWorldHitTest (SpriteWorld theSpriteWorld,
- long flags,
- Point loc,
- Sprite * spriteHit) THREEWORDINLINE(0x303C, 0x0246, 0xAAAA);
- EXTERN_API( OSErr )
- SpriteHitTest (Sprite theSprite,
- long flags,
- Point loc,
- Boolean * wasHit) THREEWORDINLINE(0x303C, 0x0247, 0xAAAA);
- EXTERN_API( void )
- DisposeAllSprites (SpriteWorld theSpriteWorld) THREEWORDINLINE(0x303C, 0x023F, 0xAAAA);
- EXTERN_API( OSErr )
- SetSpriteWorldFlags (SpriteWorld spriteWorld,
- long flags,
- long flagsMask) THREEWORDINLINE(0x303C, 0x02C2, 0xAAAA);
- EXTERN_API( OSErr )
- NewSprite (Sprite * newSprite,
- SpriteWorld itsSpriteWorld,
- ImageDescriptionHandle idh,
- Ptr imageDataPtr,
- MatrixRecord * matrix,
- Boolean visible,
- short layer) THREEWORDINLINE(0x303C, 0x0240, 0xAAAA);
- EXTERN_API( void )
- DisposeSprite (Sprite theSprite) THREEWORDINLINE(0x303C, 0x0241, 0xAAAA);
- EXTERN_API( void )
- InvalidateSprite (Sprite theSprite) THREEWORDINLINE(0x303C, 0x0242, 0xAAAA);
- EXTERN_API( OSErr )
- SetSpriteProperty (Sprite theSprite,
- long propertyType,
- void * propertyValue) THREEWORDINLINE(0x303C, 0x0243, 0xAAAA);
- EXTERN_API( OSErr )
- GetSpriteProperty (Sprite theSprite,
- long propertyType,
- void * propertyValue) THREEWORDINLINE(0x303C, 0x0244, 0xAAAA);
- /*****
- QT Atom Data Support
- *****/
- enum {
- kParentAtomIsContainer = 0
- };
- /* create and dispose QTAtomContainer objects*/
- EXTERN_API( OSErr )
- QTNewAtomContainer (QTAtomContainer * atomData) THREEWORDINLINE(0x303C, 0x020C, 0xAAAA);
- EXTERN_API( OSErr )
- QTDisposeAtomContainer (QTAtomContainer atomData) THREEWORDINLINE(0x303C, 0x020D, 0xAAAA);
- /* locating nested atoms within QTAtomContainer container*/
- EXTERN_API( QTAtomType )
- QTGetNextChildType (QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType currentChildType) THREEWORDINLINE(0x303C, 0x020E, 0xAAAA);
- EXTERN_API( short )
- QTCountChildrenOfType (QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType childType) THREEWORDINLINE(0x303C, 0x020F, 0xAAAA);
- EXTERN_API( QTAtom )
- QTFindChildByIndex (QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType atomType,
- short index,
- QTAtomID * id) THREEWORDINLINE(0x303C, 0x0210, 0xAAAA);
- EXTERN_API( QTAtom )
- QTFindChildByID (QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType atomType,
- QTAtomID id,
- short * index) THREEWORDINLINE(0x303C, 0x021D, 0xAAAA);
- EXTERN_API( OSErr )
- QTNextChildAnyType (QTAtomContainer container,
- QTAtom parentAtom,
- QTAtom currentChild,
- QTAtom * nextChild) THREEWORDINLINE(0x303C, 0x0200, 0xAAAA);
- /* set a leaf atom's data*/
- EXTERN_API( OSErr )
- QTSetAtomData (QTAtomContainer container,
- QTAtom atom,
- long dataSize,
- void * atomData) THREEWORDINLINE(0x303C, 0x0211, 0xAAAA);
- /* extracting data*/
- EXTERN_API( OSErr )
- QTCopyAtomDataToHandle (QTAtomContainer container,
- QTAtom atom,
- Handle targetHandle) THREEWORDINLINE(0x303C, 0x0212, 0xAAAA);
- EXTERN_API( OSErr )
- QTCopyAtomDataToPtr (QTAtomContainer container,
- QTAtom atom,
- Boolean sizeOrLessOK,
- long size,
- void * targetPtr,
- long * actualSize) THREEWORDINLINE(0x303C, 0x0213, 0xAAAA);
- EXTERN_API( OSErr )
- QTGetAtomTypeAndID (QTAtomContainer container,
- QTAtom atom,
- QTAtomType * atomType,
- QTAtomID * id) THREEWORDINLINE(0x303C, 0x0232, 0xAAAA);
- /* extract a copy of an atom and all of it's children, caller disposes*/
- EXTERN_API( OSErr )
- QTCopyAtom (QTAtomContainer container,
- QTAtom atom,
- QTAtomContainer * targetContainer) THREEWORDINLINE(0x303C, 0x0214, 0xAAAA);
- /* obtaining direct reference to atom data*/
- EXTERN_API( OSErr )
- QTLockContainer (QTAtomContainer container) THREEWORDINLINE(0x303C, 0x0215, 0xAAAA);
- EXTERN_API( OSErr )
- QTGetAtomDataPtr (QTAtomContainer container,
- QTAtom atom,
- long * dataSize,
- Ptr * atomData) THREEWORDINLINE(0x303C, 0x0216, 0xAAAA);
- EXTERN_API( OSErr )
- QTUnlockContainer (QTAtomContainer container) THREEWORDINLINE(0x303C, 0x0217, 0xAAAA);
- /*
- building QTAtomContainer trees
- creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
- used for Top-Down tree creation
- */
- EXTERN_API( OSErr )
- QTInsertChild (QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomType atomType,
- QTAtomID id,
- short index,
- long dataSize,
- void * data,
- QTAtom * newAtom) THREEWORDINLINE(0x303C, 0x0218, 0xAAAA);
- /* inserts children from childrenContainer as children of parentAtom*/
- EXTERN_API( OSErr )
- QTInsertChildren (QTAtomContainer container,
- QTAtom parentAtom,
- QTAtomContainer childrenContainer) THREEWORDINLINE(0x303C, 0x0219, 0xAAAA);
- /* destruction*/
- EXTERN_API( OSErr )
- QTRemoveAtom (QTAtomContainer container,
- QTAtom atom) THREEWORDINLINE(0x303C, 0x021A, 0xAAAA);
- EXTERN_API( OSErr )
- QTRemoveChildren (QTAtomContainer container,
- QTAtom atom) THREEWORDINLINE(0x303C, 0x021B, 0xAAAA);
- /* replacement must be same type as target*/
- EXTERN_API( OSErr )
- QTReplaceAtom (QTAtomContainer targetContainer,
- QTAtom targetAtom,
- QTAtomContainer replacementContainer,
- QTAtom replacementAtom) THREEWORDINLINE(0x303C, 0x021C, 0xAAAA);
- EXTERN_API( OSErr )
- QTSwapAtoms (QTAtomContainer container,
- QTAtom atom1,
- QTAtom atom2) THREEWORDINLINE(0x303C, 0x01FF, 0xAAAA);
- EXTERN_API( OSErr )
- QTSetAtomID (QTAtomContainer container,
- QTAtom atom,
- QTAtomID newID) THREEWORDINLINE(0x303C, 0x0231, 0xAAAA);
- EXTERN_API( QTAtom )
- QTGetAtomParent (QTAtomContainer container,
- QTAtom childAtom) THREEWORDINLINE(0x303C, 0x02EF, 0xAAAA);
- EXTERN_API( OSErr )
- SetMediaPropertyAtom (Media theMedia,
- QTAtomContainer propertyAtom) THREEWORDINLINE(0x303C, 0x022E, 0xAAAA);
- EXTERN_API( OSErr )
- GetMediaPropertyAtom (Media theMedia,
- QTAtomContainer * propertyAtom) THREEWORDINLINE(0x303C, 0x022F, 0xAAAA);
- /*****
- Tween Support
- *****/
- typedef struct TweenRecord TweenRecord;
- typedef CALLBACK_API( ComponentResult , TweenerDataProcPtr )(TweenRecord *tr, void *tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void *refCon);
- typedef STACK_UPP_TYPE(TweenerDataProcPtr) TweenerDataUPP;
- struct TweenRecord {
- long version;
- QTAtomContainer container;
- QTAtom tweenAtom;
- QTAtom dataAtom;
- Fixed percent;
- TweenerDataUPP dataProc;
- void * private1;
- void * private2;
- };
- struct TweenV1Record {
- long version;
- QTAtomContainer container;
- QTAtom tweenAtom;
- QTAtom dataAtom;
- Fixed percent;
- TweenerDataUPP dataProc;
- void * private1;
- void * private2;
- Fract fractPercent;
- };
- typedef struct TweenV1Record TweenV1Record;
- enum {
- kTweenRecordNoFlags = 0,
- kTweenRecordIsAtInterruptTime = 0x00000001
- };
- struct TweenV2Record {
- long version;
- QTAtomContainer container;
- QTAtom tweenAtom;
- QTAtom dataAtom;
- Fixed percent;
- TweenerDataUPP dataProc;
- void * private1;
- void * private2;
- Fract fractPercent;
- long flags;
- };
- typedef struct TweenV2Record TweenV2Record;
- EXTERN_API( OSErr )
- QTNewTween (QTTweener * tween,
- QTAtomContainer container,
- QTAtom tweenAtom,
- TimeValue maxTime) THREEWORDINLINE(0x303C, 0x029D, 0xAAAA);
- EXTERN_API( OSErr )
- QTDisposeTween (QTTweener tween) THREEWORDINLINE(0x303C, 0x029F, 0xAAAA);
- EXTERN_API( OSErr )
- QTDoTween (QTTweener tween,
- TimeValue atTime,
- Handle result,
- long * resultSize,
- TweenerDataUPP tweenDataProc,
- void * tweenDataRefCon) THREEWORDINLINE(0x303C, 0x029E, 0xAAAA);
- /*
- QTDoTweenPtr is an interrupt-safe version of QTDoTween. It has the following limitations:
- - not all tween types support this call (those which must allocated memory), in which case they return codecUnimpErr.
- - the QTAtomContainer used for the tween must be locked
- - the dataSize must be large enough to contain the result
- - this call is not supported for sequence tweens, use interpolation tweens instead
- */
- EXTERN_API( OSErr )
- QTDoTweenPtr (QTTweener tween,
- TimeValue atTime,
- Ptr result,
- long resultSize) THREEWORDINLINE(0x303C, 0x036E, 0xAAAA);
- /*****
- Sound Description Manipulations
- *****/
- EXTERN_API( OSErr )
- AddSoundDescriptionExtension (SoundDescriptionHandle desc,
- Handle extension,
- OSType idType) THREEWORDINLINE(0x303C, 0x02CF, 0xAAAA);
- EXTERN_API( OSErr )
- GetSoundDescriptionExtension (SoundDescriptionHandle desc,
- Handle * extension,
- OSType idType) THREEWORDINLINE(0x303C, 0x02D0, 0xAAAA);
- EXTERN_API( OSErr )
- RemoveSoundDescriptionExtension (SoundDescriptionHandle desc,
- OSType idType) THREEWORDINLINE(0x303C, 0x02D1, 0xAAAA);
- /*****
- Preferences
- *****/
- EXTERN_API( OSErr )
- GetQuickTimePreference (OSType preferenceType,
- QTAtomContainer * preferenceAtom) THREEWORDINLINE(0x303C, 0x02D4, 0xAAAA);
- EXTERN_API( OSErr )
- SetQuickTimePreference (OSType preferenceType,
- QTAtomContainer preferenceAtom) THREEWORDINLINE(0x303C, 0x02D5, 0xAAAA);
- /*****
- Effects and dialog Support
- *****/
- /* atom types for entries in the effects list*/
- enum {
- kEffectNameAtom = FOUR_CHAR_CODE('name'), /* name of effect */
- kEffectTypeAtom = FOUR_CHAR_CODE('type'), /* codec sub-type for effect */
- kEffectManufacturerAtom = FOUR_CHAR_CODE('manu') /* codec manufacturer for effect */
- };
- struct QTParamPreviewRecord {
- long sourceID; /* 1 based source identifier*/
- PicHandle sourcePicture; /* picture for preview, must not dispose until dialog is disposed*/
- };
- typedef struct QTParamPreviewRecord QTParamPreviewRecord;
- typedef QTParamPreviewRecord * QTParamPreviewPtr;
- struct QTParamDialogEventRecord {
- EventRecord * theEvent; /* Event received by the dialog */
- DialogRef whichDialog; /* dialog that event was directed towards */
- short itemHit; /* dialog item which was hit */
- };
- typedef struct QTParamDialogEventRecord QTParamDialogEventRecord;
- typedef QTParamDialogEventRecord * QTParamDialogEventPtr;
- struct QTParamFetchPreviewRecord {
- GWorldPtr theWorld; /* the world into which to draw the preview */
- Fixed percentage; /* frame percentage (from 0.0 - 1.0) to be drawn */
- };
- typedef struct QTParamFetchPreviewRecord QTParamFetchPreviewRecord;
- typedef QTParamFetchPreviewRecord * QTParamFetchPreviewPtr;
- enum {
- pdActionConfirmDialog = 1, /* no param*/
- pdActionSetAppleMenu = 2, /* param is MenuRef*/
- pdActionSetEditMenu = 3, /* param is MenuRef*/
- pdActionGetDialogValues = 4, /* param is QTAtomContainer*/
- pdActionSetPreviewUserItem = 5, /* param is long*/
- pdActionSetPreviewPicture = 6, /* param is QTParamPreviewPtr;*/
- pdActionSetColorPickerEventProc = 7, /* param is UserEventUPP*/
- pdActionSetDialogTitle = 8, /* param is StringPtr */
- pdActionGetSubPanelMenu = 9, /* param is MenuRef* */
- pdActionActivateSubPanel = 10, /* param is long */
- pdActionConductStopAlert = 11, /* param is StringPtr */
- pdActionModelessCallback = 12, /* param is QTParamDialogEventPtr */
- pdActionFetchPreview = 13, /* param is QTParamFetchPreviewPtr */
- pdActionSetDialogSettings = 14, /* param is QTAtomContainer */
- pdActionGetDialogSettings = 15, /* param is QTAtomContainer */
- pdActionGetNextSample = 16, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */
- pdActionGetPreviousSample = 17, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */
- pdActionCompactSample = 18, /* param is QTAtomContainer with effect sample to compact, - createdDialog may be NIL */
- pdActionSetEditCallout = 19, /* param is QTParamPreviewCalloutPtr, can be NIL */
- pdActionSetSampleTime = 20, /* param is QTParamSampleTimePtr, can be NIL */
- pdActionDoEditCommand = 21, /* param is long with menu command (ie, mcMenuCut etc) */
- pdActionGetSubPanelMenuValue = 22, /* param is long and returns current sub-panel value selected by the effect */
- /* Action codes and typedefs used for custom controls within effects */
- pdActionCustomNewControl = 23, /* param is QTCustomControlNewPtr */
- pdActionCustomDisposeControl = 24, /* param is QTCustomControlNewPtr */
- pdActionCustomPositionControl = 25, /* param is QTCustomControlPositionControlPtr */
- pdActionCustomShowHideControl = 26, /* param is QTCustomControlShowHideControlPtr */
- pdActionCustomHandleEvent = 27, /* param is QTCustomControlHandleEventPtr */
- pdActionCustomSetFocus = 28, /* param is QTCustomControlSetFocusPtr */
- pdActionCustomSetEditMenu = 29, /* param is QTCustomControlSetEditMenuPtr */
- pdActionCustomSetPreviewPicture = 30, /* param is QTCustomControlSetPreviewPicturePtr */
- pdActionCustomSetEditCallout = 31, /* param is QTCustomControlSetEditCalloutPtr */
- pdActionCustomGetEnableValue = 32, /* param is QTCustomControlGetEnableValuePtr */
- pdActionCustomSetSampleTime = 33, /* param is QTCustomControlSetSampleTimePtr */
- pdActionCustomGetValue = 34, /* param is QTCustomControlGetValue */
- pdActionCustomDoEditCommand = 35 /* param is QTCustomControlDoEditCommand */
- };
- /* Sample Time information */
- enum {
- pdSampleTimeDisplayOptionsNone = 0x00000000
- };
- struct QTParamSampleTimeRecord {
- long displayOptions;
- TimeRecord sampleStartTime;
- TimeValue sampleDuration;
- long framesPerSecond; /* if 0, will cause revert to seconds display*/
- };
- typedef struct QTParamSampleTimeRecord QTParamSampleTimeRecord;
- typedef QTParamSampleTimeRecord * QTParamSampleTimePtr;
- /* Preview change callout information */
- struct QTParamPreviewCalloutRecord {
- MoviePreviewCallOutUPP calloutProc; /* called when user makes editing changes to dialog. May be NIL. You should return true from your function. */
- long refCon; /* passed to the callout procedure */
- };
- typedef struct QTParamPreviewCalloutRecord QTParamPreviewCalloutRecord;
- typedef QTParamPreviewCalloutRecord * QTParamPreviewCalloutPtr;
- typedef long QTParameterDialogOptions;
- /* ------- CUSTOM EFFECT CONTROLS*/
- /*
- Effects may choose to implement custom controls to allow the user to more easily edit complex parameters
- that are ill-served by simple sliders or type in boxes. Effects may allow a custom control for either
- a single parameter, or for a group of parameters.
-
- Parameter(s) for a custom control must still be data types defined by the standard set, or for
- complex records of data, must be defined within a group as individual parameters made up from base
- data types (for example, a point is a group containing two Fixed point numbers).
- This is to allow applications that do not wish to use the custom control for the effect to set values themselves.
-
- Effects should be aware that these custom controls may be deployed by the application in either a dialog or
- a window, with application defined background colors or patterns, along with application defined font
- characteristics for the window.
-
- It is recommended that effects implement custom controls only when needed, and that custom controls be used
- for specific types of parameters (ie, point, rectangle, polygon, path) rather than the entire user interface
- for the effect. Effects may choose to implement multiple custom controls which combine with standard controls
- to present the total user interface. For effects which have very complex user interfaces not well suited for
- inclusion within a single window, it is recommended to use kParameterImageIsPreset -- which allows the effect to
- have an external editing application for parameters which may then be set within the standard UI via the open file
- dialog or drag and drop. The Lens Flare effect's "Flare Type" is an example of such a preset.
- For parameters that use a custom control to control a single parameter value, a new behavior
- flag has been added (kCustomControl), and the behavior for the parameter should be kParameterItemControl.
-
- For parameters that are groups, the same flag (kCustomControl) should be used, and the behavior
- should be kParameterItemGroupDivider. Groups with the kCustomControl bit set will be implemented
- by calling the custom control for that group -- the parameters within that group will not be processed
- in the normal manner.
-
- In both cases, the new customType and customID fields of the behavior must be filled in. These are
- used in order to allow your custom control to determine which parameter is being edited in the case
- where the custom control is used for the editing of multiple parameters. These values are passed into
- the pdActionCustomNewControl call. Since the custom control mechanism is also used by QuickTime's
- default effect dialogs, you should be prepared to pass onto the base effect any pdActionCustomNewControl
- calls for type/id pairs that you do not handle yourself. When pdActionCustomNewControl is called
- for controls of types handled by QuickTime, customType is kParameterAtomTypeAndID and customID is
- the ID of the parameter atom.
- */
- /*
- pdActionCustomNewControlControl is called by application to create a new custom control or set of controls
- for an effect parameter. When pdActionCustomNewControl is called, the effect should perform any
- basic allocation it needs for storage and return the result in storage. The options parameter tells
- the control if the application wishes to support interpolated, optionally interpolated, or a single
- value parameter.
-
- Since pdActionCustomNewControlControl may be called upon your effect for other items within the
- dialog, it is recommended that your effect have an easy way to determine which controls it implements:
- a) by having storage be a pointer with an OSType at the begining to mark controls
- implemented by your code.
- - or -
- b) keeping track in your component globals those custom controls which you have created.
-
- When pdActionCustomDisposeControl is called any allocation done by the control should be disposed. In addition,
- pdActionCustomDisposeControl is the last chance the control has to commit any user changes into the sample.
- Controls which implement type in fields typically need to commit any final user edits at this time.
- */
- struct QTCustomControlNewRecord {
- void * storage; /* storage allocated/disposed by the control*/
- QTParameterDialogOptions options; /* options used to control interpolation/not*/
- QTAtomContainer sample; /* sample that holds the data to be edited*/
- long customType; /* custom type and ID specified by effect for creation of this control*/
- long customID;
- };
- typedef struct QTCustomControlNewRecord QTCustomControlNewRecord;
- typedef QTCustomControlNewRecord * QTCustomControlNewPtr;
- /*
- pdActionCustomPositionControl is called by the application to position the control within a window or dialog.
- The control should determine if it will fit in the alloted area and position itself there. It should also
- return the space taken up by the control. Note you are free to implement controls which are variable in size depending upon
- which parameter you are editing. You need not scale your control to the requested size. If the area presented to your
- control is too small, set didFit to false. You should still return in used the size you would have liked to use for
- the control. The application will then try again with a new size. Note that all
- controls must be able to fit within a minimum of 300 by 250 pixels.
-
- Custom controls that draw text should make note of the text font, size, and style at this time in order
- to properly display within application windows.
-
- Note that the default state for the control is hidden. You will receive a pdActionCustomShowHideControl
- in order to enable your control. You should not draw your control in response to pdActionCustomPositionControl.
- */
- struct QTCustomControlPositionControlRecord {
- void * storage; /* storage for the control*/
- WindowPtr window; /* window to be used by the control*/
- Rect location; /* location within the window the control may use*/
- Rect used; /* returned by the control to indicate size it actually used*/
- Boolean didFit; /* did the control fit in the specified area?*/
- Boolean pad[3];
- };
- typedef struct QTCustomControlPositionControlRecord QTCustomControlPositionControlRecord;
- typedef QTCustomControlPositionControlRecord * QTCustomControlPositionControlPtr;
- /*
- pdActionCustomShowHideControl is called when the application wishes to enable/disable your control, or
- completely disable drawing of the control
-
- Your control should make note of the new state (if different from the last) and perform an InvalRect()
- on your drawing area, or you may draw your control's initial state in the case of show. You should not
- attempt to erase your control as the result of a hide -- instead call InvalRect() and allow the application
- to process the resulting event as appropriate.
- */
- struct QTCustomControlShowHideControlRecord {
- void * storage; /* storage for the control*/
- Boolean show; /* display the control?*/
- Boolean enable; /* enable the control (ie, black vs gray display)*/
- Boolean pad[2];
- };
- typedef struct QTCustomControlShowHideControlRecord QTCustomControlShowHideControlRecord;
- typedef QTCustomControlShowHideControlRecord * QTCustomControlShowHideControlPtr;
- /*
- pdActionCustomHandleEvent is called to allow your custom control to process events.
-
- Typical controls handle the following events:
- - activate - to draw your control in normal/gray mode
- - update - to draw your control
- - mouseDown - to handle clicks
- - keyDown - to handle typing when you have focus
- - idle - to perform idle drawing (if applicable)
- If your control handles the entire event, set didProcess to true. If
- you handled the event, but other controls still need the event, set didProcess to false.
-
- If your control supports the concept of focus for the purposes of typing (such as by having
- a type-in box for the parameter) then you set the tookFocus Boolean as part of your processing
- of the event. It is assumed that your control will draw the appropriate focus UI as a result, and
- the calling application will disable any focus drawing within the remainder of the UI.
- By default, custom controls are not given idle time. If you need idle time, set needIdle to true
- in response to the even that causes you to need idle (typically the taking of focus, or the first draw).
- Your control will continue to be given idle events until you set needIdle to false in response to
- a nullEvent.
- */
- struct QTCustomControlHandleEventRecord {
- void * storage; /* storage for the control*/
- EventRecord * pEvent; /* event to process*/
- Boolean didProcess; /* did we process entire event?*/
- Boolean tookFocus; /* did we take focus as a result of this event (typically mouseDowns)*/
- Boolean needIdle; /* does this control need idle events?*/
- Boolean didEdit; /* did we edit the samples?*/
- };
- typedef struct QTCustomControlHandleEventRecord QTCustomControlHandleEventRecord;
- typedef QTCustomControlHandleEventRecord * QTCustomControlHandleEventPtr;
- /*
- pdActionCustomSetFocus is called in order to set or advance the current focus of the user interface, typically
- because the user has pressed the tab or shift-tab keys, or because the user clicked within the area defined by
- your control.
-
- Your control will be called with pdActionFocusFirst, pdActionFocusLast, or pdActionFocusOff to set or clear focus on your
- control. Your control will be called with pdActionFocusForward or pdActionFocusBackward to cycle
- focus within your control (if your control has multiple focus). If your control does not support focus,
- or the focus request results in focus moving beyond your supported range, return pdActionFocusOff in
- the focus parameter. Otherwise, return the focus that you set.
-
- Controls which have no focus would always set focus to be pdActionFocusOff.
-
- Controls with a single focus would set pdActionFocusFirst when requsted to set either
- pdActionFocusFirst or pdActionFocusLast, and would set pdActionFocusOff for either
- pdActionFocusForward or pdActionFocusBackward.
- */
- enum {
- pdActionFocusOff = 0, /* no focus */
- pdActionFocusFirst = 1, /* focus on first element */
- pdActionFocusLast = 2, /* focus on last element */
- pdActionFocusForward = 3, /* focus on next element */
- pdActionFocusBackward = 4 /* focus on previous element */
- };
- struct QTCustomControlSetFocusRecord {
- void * storage; /* storage for the control*/
- long focus; /* focus to set, return resulting focus*/
- };
- typedef struct QTCustomControlSetFocusRecord QTCustomControlSetFocusRecord;
- typedef QTCustomControlSetFocusRecord * QTCustomControlSetFocusPtr;
- /*
- pdActionCustomSetEditMenu will be called to inform your custom control of the location of the edit menu.
-
- If your control has editing boxes, this is useful in order to allow the user to perform cut/copy/paste operations
- when focus is on one of these boxes.
- */
- struct QTCustomControlSetEditMenuRecord {
- void * storage; /* storage for the control*/
- MenuHandle editMenu; /* edit menu, or NIL*/
- };
- typedef struct QTCustomControlSetEditMenuRecord QTCustomControlSetEditMenuRecord;
- typedef QTCustomControlSetEditMenuRecord * QTCustomControlSetEditMenuPtr;
- /*
- pdActionCustomSetPreviewPicture will be called to inform your custom control of preview information that you
- may wish to use in the drawing of your user interface.
- */
- struct QTCustomControlSetPreviewPictureRecord {
- void * storage; /* storage for the control*/
- QTParamPreviewPtr preview; /* preview to set*/
- };
- typedef struct QTCustomControlSetPreviewPictureRecord QTCustomControlSetPreviewPictureRecord;
- typedef QTCustomControlSetPreviewPictureRecord * QTCustomControlSetPreviewPicturePtr;
- /*
- pdActionCustomSetEditCallout tells your control of the need by the application to be informed of
- changes to the parameter values (typically for the purposes of updating previews).
-
- If a callout is available, your custom control should call it whenever a change has been
- made to the parameter(s) that your control is editing (as a result of user actions, most typically).
- If you choose not to implement this, live dragging or updating of values will not work.
- */
- struct QTCustomControlSetEditCalloutRecord {
- void * storage; /* storage for the control*/
- QTParamPreviewCalloutPtr callout; /* requested callout, or NIL to disable*/
- };
- typedef struct QTCustomControlSetEditCalloutRecord QTCustomControlSetEditCalloutRecord;
- typedef QTCustomControlSetEditCalloutRecord * QTCustomControlSetEditCalloutPtr;
- /*
- pdActionCustomGetEnableValue allows you to return a value for the purposes of enabling/disabling
- other controls.
- Most custom controls do not need to implement this call.
-
- If your control is able to control the enabling and disabling of other parameter controls (such as is done
- by standard pop up or enumerated type controls), you need to supply a value that can be use for greater than/less than
- types of comparisons.
- */
- struct QTCustomControlGetEnableValueRecord {
- void * storage; /* storage for the control*/
- long currentValue; /* value to compare against for enable/disable purposes*/
- };
- typedef struct QTCustomControlGetEnableValueRecord QTCustomControlGetEnableValueRecord;
- typedef QTCustomControlGetEnableValueRecord * QTCustomControlGetEnableValuePtr;
- /*
- pdActionCustomSetSampleTime tells your control information from the application about the duration
- and start time for the sample being edited.
-
- Most controls do not need this information, but some may choose to use it in the interface
- they present the user. However, this call need not be made by applications, so the custom
- control should be prepared to run when the sample time information is not available.
- */
- struct QTCustomControlSetSampleTimeRecord {
- void * storage; /* storage for the control*/
- QTParamSampleTimePtr sampleTime; /* sample time information or NIL*/
- };
- typedef struct QTCustomControlSetSampleTimeRecord QTCustomControlSetSampleTimeRecord;
- typedef QTCustomControlSetSampleTimeRecord * QTCustomControlSetSampleTimePtr;
- /*
- pdActionCustomGetValue tells your control to store any value(s) into the specified atom container.
-
- All custom controls must implement this call
- */
- struct QTCustomControlGetValueRecord {
- void * storage; /* storage for the control*/
- QTAtomContainer sample; /* sample to store into*/
- };
- typedef struct QTCustomControlGetValueRecord QTCustomControlGetValueRecord;
- typedef QTCustomControlGetValueRecord * QTCustomControlGetValuePtr;
- /*
- pdActionCustomDoEditCommand tells your control to handle edit commands if it allow focus and type in boxes.
-
- All custom controls must implement this call if they support edit boxes
- */
- struct QTCustomControlDoEditCommandRecord {
- void * storage; /* storage for the control*/
- long command; /* command to execute, return 0 here if processed*/
- };
- typedef struct QTCustomControlDoEditCommandRecord QTCustomControlDoEditCommandRecord;
- typedef QTCustomControlDoEditCommandRecord * QTCustomControlDoEditCommandPtr;
- typedef long QTParameterDialog;
- enum {
- elOptionsIncludeNoneInList = 0x00000001 /* "None" effect is included in list */
- };
- typedef long QTEffectListOptions;
- enum {
- pdOptionsCollectOneValue = 0x00000001, /* should collect a single value only*/
- pdOptionsAllowOptionalInterpolations = 0x00000002, /* non-novice interpolation options are shown */
- pdOptionsModalDialogBox = 0x00000004, /* dialog box should be modal */
- pdOptionsEditCurrentEffectOnly = 0x00000008, /* List of effects will not be shown */
- pdOptionsHidePreview = 0x00000010 /* Preview item will not be shown */
- };
- enum {
- effectIsRealtime = 0 /* effect can be rendered in real time */
- };
- /*
- QTGetEffectsListExtended is a call that provides for
- more advanced filtering of effects to be placed into the
- effect list. Applications can filter on:
- 1) number of input sources
- 2) effect major or minor class
- 3) custom filtering through a callback
- The callback will be called for each effect which passes
- the other criteria for inclusion. If the callback
- returns a true result the effect will be included in the list.
-
- Note that your filter proc may receive multiple effects from various
- manufacturers. If you return true for multiple effects of a given type
- only the one with the higher parameter version number will be included.
- If you wish other filtering (such as effects from a given manufacturer, you
- can do this by return false for the other effects and true for those
- that you prefer.
- */
- typedef CALLBACK_API( Boolean , QTEffectListFilterProcPtr )(Component effect, long effectMinSource, long effectMaxSource, OSType majorClass, OSType minorClass, void *refcon);
- typedef STACK_UPP_TYPE(QTEffectListFilterProcPtr) QTEffectListFilterUPP;
- EXTERN_API( OSErr )
- QTGetEffectsList (QTAtomContainer * returnedList,
- long minSources,
- long maxSources,
- QTEffectListOptions getOptions) THREEWORDINLINE(0x303C, 0x02C9, 0xAAAA);
- EXTERN_API( OSErr )
- QTGetEffectsListExtended (QTAtomContainer * returnedList,
- long minSources,
- long maxSources,
- QTEffectListOptions getOptions,
- OSType majorClass,
- OSType minorClass,
- QTEffectListFilterUPP filterProc,
- void * filterRefCon) THREEWORDINLINE(0x303C, 0x036D, 0xAAAA);
- EXTERN_API( OSErr )
- QTCreateStandardParameterDialog (QTAtomContainer effectList,
- QTAtomContainer parameters,
- QTParameterDialogOptions dialogOptions,
- QTParameterDialog * createdDialog) THREEWORDINLINE(0x303C, 0x02CA, 0xAAAA);
- EXTERN_API( OSErr )
- QTIsStandardParameterDialogEvent (EventRecord * pEvent,
- QTParameterDialog createdDialog) THREEWORDINLINE(0x303C, 0x02CB, 0xAAAA);
- EXTERN_API( OSErr )
- QTDismissStandardParameterDialog (QTParameterDialog createdDialog) THREEWORDINLINE(0x303C, 0x02CC, 0xAAAA);
- EXTERN_API( OSErr )
- QTStandardParameterDialogDoAction (QTParameterDialog createdDialog,
- long action,
- void * params) THREEWORDINLINE(0x303C, 0x02CD, 0xAAAA);
- EXTERN_API( OSErr )
- QTGetEffectSpeed (QTAtomContainer parameters,
- Fixed * pFPS) THREEWORDINLINE(0x303C, 0x02D2, 0xAAAA);
- /*****
- Error reporting
- *****/
- struct QTErrorReplacementRecord {
- long numEntries;
- StringPtr replacementString[1]; /* array of numEntries StringPtrs (each String is allocated separately).*/
- };
- typedef struct QTErrorReplacementRecord QTErrorReplacementRecord;
- typedef QTErrorReplacementRecord * QTErrorReplacementPtr;
- /*
- QTAddMovieError is used to add orthogonal errors to a list of errors that will
- later be reported (at the end of an import or playback, for example). Errors are stored
- in 'qter' resources within the component.
-
- QTAddMovieError(Movie addTo, // in: movie to add error to
- Component adder, // in: component which is adding the error
- long errorCode, // in: error code being added
- QTErrorReplacementPtr stringReplacements);// in: list of strings to subsitute (in order) for "^1", "^2", etc
- */
- EXTERN_API( OSErr )
- QTAddMovieError (Movie movieH,
- Component c,
- long errorCode,
- QTErrorReplacementPtr stringReplacements) THREEWORDINLINE(0x303C, 0x037A, 0xAAAA);
- /*****
- Access Keys
- *****/
- enum {
- kAccessKeyAtomType = FOUR_CHAR_CODE('acky')
- };
- enum {
- kAccessKeySystemFlag = 1L << 0
- };
- EXTERN_API( OSErr )
- QTGetAccessKeys (Str255 accessKeyType,
- long flags,
- QTAtomContainer * keys) THREEWORDINLINE(0x303C, 0x02B3, 0xAAAA);
- EXTERN_API( OSErr )
- QTRegisterAccessKey (Str255 accessKeyType,
- long flags,
- Handle accessKey) THREEWORDINLINE(0x303C, 0x02B4, 0xAAAA);
- EXTERN_API( OSErr )
- QTUnregisterAccessKey (Str255 accessKeyType,
- long flags,
- Handle accessKey) THREEWORDINLINE(0x303C, 0x02B5, 0xAAAA);
- /*****
- Content Restrictions
- *****/
- EXTERN_API( OSErr )
- QTGetMovieRestrictions (Movie theMovie,
- QTRestrictionSet * outRestrictionSet,
- UInt32 * outSeed) THREEWORDINLINE(0x303C, 0x03A5, 0xAAAA);
- EXTERN_API( OSErr )
- QTRestrictionsGetInfo (QTRestrictionSet inRestrictionSet,
- long * outRestrictionClassCount,
- long * outSeed) THREEWORDINLINE(0x303C, 0x03A1, 0xAAAA);
- EXTERN_API( OSErr )
- QTRestrictionsGetIndClass (QTRestrictionSet inRestrictionSet,
- long inIndex,
- OSType * outClass) THREEWORDINLINE(0x303C, 0x03A2, 0xAAAA);
- EXTERN_API( OSErr )
- QTRestrictionsGetItem (QTRestrictionSet inRestrictionSet,
- OSType inRestrictionClass,
- UInt32 * outRestrictions) THREEWORDINLINE(0x303C, 0x03A3, 0xAAAA);
- EXTERN_API( OSErr )
- QTGetSupportedRestrictions (OSType inRestrictionClass,
- UInt32 * outRestrictionIDs) THREEWORDINLINE(0x303C, 0x03B2, 0xAAAA);
- EXTERN_API( OSErr )
- QTCreateUUID (QTUUID * outUUID,
- long creationFlags) THREEWORDINLINE(0x303C, 0x039B, 0xAAAA);
- EXTERN_API( Boolean )
- QTEqualUUIDs (const QTUUID * uuid1,
- const QTUUID * uuid2) THREEWORDINLINE(0x303C, 0x039C, 0xAAAA);
- /*****
- Time table
- *****/
- EXTERN_API( OSErr )
- MakeTrackTimeTable (Track trackH,
- long ** offsets,
- TimeValue startTime,
- TimeValue endTime,
- TimeValue timeIncrement,
- short firstDataRefIndex,
- short lastDataRefIndex,
- long * retdataRefSkew) THREEWORDINLINE(0x303C, 0x02BE, 0xAAAA);
- EXTERN_API( OSErr )
- MakeMediaTimeTable (Media theMedia,
- long ** offsets,
- TimeValue startTime,
- TimeValue endTime,
- TimeValue timeIncrement,
- short firstDataRefIndex,
- short lastDataRefIndex,
- long * retdataRefSkew) THREEWORDINLINE(0x303C, 0x02BF, 0xAAAA);
- EXTERN_API( OSErr )
- GetMaxLoadedTimeInMovie (Movie theMovie,
- TimeValue * time) THREEWORDINLINE(0x303C, 0x02C0, 0xAAAA);
- EXTERN_API( OSErr )
- QTMovieNeedsTimeTable (Movie theMovie,
- Boolean * needsTimeTable) THREEWORDINLINE(0x303C, 0x02C3, 0xAAAA);
- EXTERN_API( OSErr )
- QTGetDataRefMaxFileOffset (Movie movieH,
- OSType dataRefType,
- Handle dataRef,
- long * offset) THREEWORDINLINE(0x303C, 0x02C6, 0xAAAA);
- /*****
- Bandwidth management support
- *****/
- enum {
- ConnectionSpeedPrefsType = FOUR_CHAR_CODE('cspd'),
- BandwidthManagementPrefsType = FOUR_CHAR_CODE('bwmg')
- };
- struct ConnectionSpeedPrefsRecord {
- long connectionSpeed;
- };
- typedef struct ConnectionSpeedPrefsRecord ConnectionSpeedPrefsRecord;
- typedef ConnectionSpeedPrefsRecord * ConnectionSpeedPrefsPtr;
- typedef ConnectionSpeedPrefsPtr * ConnectionSpeedPrefsHandle;
- struct BandwidthManagementPrefsRecord {
- Boolean overrideConnectionSpeedForBandwidth;
- };
- typedef struct BandwidthManagementPrefsRecord BandwidthManagementPrefsRecord;
- typedef BandwidthManagementPrefsRecord * BandwidthManagementPrefsPtr;
- typedef BandwidthManagementPrefsPtr * BandwidthManagementPrefsHandle;
- enum {
- kQTIdlePriority = 10,
- kQTNonRealTimePriority = 20,
- kQTRealTimeSharedPriority = 25,
- kQTRealTimePriority = 30
- };
- enum {
- kQTBandwidthNotifyNeedToStop = 1L << 0,
- kQTBandwidthNotifyGoodToGo = 1L << 1,
- kQTBandwidthChangeRequest = 1L << 2,
- kQTBandwidthQueueRequest = 1L << 3,
- kQTBandwidthScheduledRequest = 1L << 4,
- kQTBandwidthVoluntaryRelease = 1L << 5
- };
- typedef CALLBACK_API( OSErr , QTBandwidthNotificationProcPtr )(long flags, void *reserved, void *refcon);
- struct QTScheduledBandwidthRecord {
- long recordSize; /* total number of bytes in QTScheduledBandwidthRecord*/
- long priority;
- long dataRate;
- CompTimeValue startTime; /* bandwidth usage start time*/
- CompTimeValue duration; /* duration of bandwidth usage (0 if unknown)*/
- CompTimeValue prerollDuration; /* time for negotiation before startTime (0 if unknown)*/
- TimeScale scale; /* timescale of value/duration/prerollDuration fields*/
- TimeBase base; /* timebase*/
- };
- typedef struct QTScheduledBandwidthRecord QTScheduledBandwidthRecord;
- typedef QTScheduledBandwidthRecord * QTScheduledBandwidthPtr;
- typedef QTScheduledBandwidthPtr * QTScheduledBandwidthHandle;
- typedef STACK_UPP_TYPE(QTBandwidthNotificationProcPtr) QTBandwidthNotificationUPP;
- EXTERN_API( OSErr )
- QTBandwidthRequest (long priority,
- QTBandwidthNotificationUPP callback,
- const void * refcon,
- QTBandwidthReference * bwRef,
- long flags) THREEWORDINLINE(0x303C, 0x02F5, 0xAAAA);
- EXTERN_API( OSErr )
- QTBandwidthRequestForTimeBase (TimeBase tb,
- long priority,
- QTBandwidthNotificationUPP callback,
- const void * refcon,
- QTBandwidthReference * bwRef,
- long flags) THREEWORDINLINE(0x303C, 0x0318, 0xAAAA);
- EXTERN_API( OSErr )
- QTBandwidthRelease (QTBandwidthReference bwRef,
- long flags) THREEWORDINLINE(0x303C, 0x02F6, 0xAAAA);
- EXTERN_API( OSErr )
- QTScheduledBandwidthRequest (QTScheduledBandwidthPtr scheduleRec,
- QTBandwidthNotificationUPP notificationCallback,
- void * refcon,
- QTScheduledBandwidthReference * sbwRef,
- long flags) THREEWORDINLINE(0x303C, 0x0310, 0xAAAA);
- EXTERN_API( OSErr )
- QTScheduledBandwidthRelease (QTScheduledBandwidthReference sbwRef,
- long flags) THREEWORDINLINE(0x303C, 0x0311, 0xAAAA);
- #if OPAQUE_UPP_TYPES
- EXTERN_API(QTCallBackUPP)
- NewQTCallBackUPP (QTCallBackProcPtr userRoutine);
- EXTERN_API(QTSyncTaskUPP)
- NewQTSyncTaskUPP (QTSyncTaskProcPtr userRoutine);
- EXTERN_API(MovieRgnCoverUPP)
- NewMovieRgnCoverUPP (MovieRgnCoverProcPtr userRoutine);
- EXTERN_API(MovieProgressUPP)
- NewMovieProgressUPP (MovieProgressProcPtr userRoutine);
- EXTERN_API(MovieDrawingCompleteUPP)
- NewMovieDrawingCompleteUPP (MovieDrawingCompleteProcPtr userRoutine);
- EXTERN_API(TrackTransferUPP)
- NewTrackTransferUPP (TrackTransferProcPtr userRoutine);
- EXTERN_API(GetMovieUPP)
- NewGetMovieUPP (GetMovieProcPtr userRoutine);
- EXTERN_API(MoviePreviewCallOutUPP)
- NewMoviePreviewCallOutUPP (MoviePreviewCallOutProcPtr userRoutine);
- EXTERN_API(TextMediaUPP)
- NewTextMediaUPP (TextMediaProcPtr userRoutine);
- EXTERN_API(ActionsUPP)
- NewActionsUPP (ActionsProcPtr userRoutine);
- EXTERN_API(DoMCActionUPP)
- NewDoMCActionUPP (DoMCActionProcPtr userRoutine);
- EXTERN_API(MovieExecuteWiredActionsUPP)
- NewMovieExecuteWiredActionsUPP (MovieExecuteWiredActionsProcPtr userRoutine);
- EXTERN_API(MoviePrePrerollCompleteUPP)
- NewMoviePrePrerollCompleteUPP (MoviePrePrerollCompleteProcPtr userRoutine);
- EXTERN_API(QTNextTaskNeededSoonerCallbackUPP)
- NewQTNextTaskNeededSoonerCallbackUPP (QTNextTaskNeededSoonerCallbackProcPtr userRoutine);
- EXTERN_API(MoviesErrorUPP)
- NewMoviesErrorUPP (MoviesErrorProcPtr userRoutine);
- EXTERN_API(TweenerDataUPP)
- NewTweenerDataUPP (TweenerDataProcPtr userRoutine);
- EXTERN_API(QTEffectListFilterUPP)
- NewQTEffectListFilterUPP (QTEffectListFilterProcPtr userRoutine);
- EXTERN_API(QTBandwidthNotificationUPP)
- NewQTBandwidthNotificationUPP (QTBandwidthNotificationProcPtr userRoutine);
- EXTERN_API(void)
- DisposeQTCallBackUPP (QTCallBackUPP userUPP);
- EXTERN_API(void)
- DisposeQTSyncTaskUPP (QTSyncTaskUPP userUPP);
- EXTERN_API(void)
- DisposeMovieRgnCoverUPP (MovieRgnCoverUPP userUPP);
- EXTERN_API(void)
- DisposeMovieProgressUPP (MovieProgressUPP userUPP);
- EXTERN_API(void)
- DisposeMovieDrawingCompleteUPP (MovieDrawingCompleteUPP userUPP);
- EXTERN_API(void)
- DisposeTrackTransferUPP (TrackTransferUPP userUPP);
- EXTERN_API(void)
- DisposeGetMovieUPP (GetMovieUPP userUPP);
- EXTERN_API(void)
- DisposeMoviePreviewCallOutUPP (MoviePreviewCallOutUPP userUPP);
- EXTERN_API(void)
- DisposeTextMediaUPP (TextMediaUPP userUPP);
- EXTERN_API(void)
- DisposeActionsUPP (ActionsUPP userUPP);
- EXTERN_API(void)
- DisposeDoMCActionUPP (DoMCActionUPP userUPP);
- EXTERN_API(void)
- DisposeMovieExecuteWiredActionsUPP (MovieExecuteWiredActionsUPP userUPP);