/************************************************************ Created: Tuesday, October 13, 1992 MediaHandlers.h C Interface to the Macintosh Libraries Copyright Apple Computer, Inc. 1992 All rights reserved ************************************************************/ #ifndef __MEDIAHANDLERS__ #define __MEDIAHANDLERS__ #include enum { handlerHasSpatial = 1<<0, handlerCanClip = 1<<1, handlerCanMatte = 1<<2, handlerCanTransferMode = 1<<3, handlerNeedsBuffer = 1<<4, handlerNoIdle = 1<<5, handlerNoScheduler = 1<<6, handlerWantsTime = 1<<7, handlerCGrafPortOnly = 1<<8 }; enum { mMustDraw = 1<<3, mAtEnd = 1<<4, mPreflightDraw = 1<<5 }; enum { mDidDraw = 1<<0, mNeedsToDraw = 1<<2 }; typedef struct { short version; Movie theMovie; Track theTrack; Media theMedia; TimeScale movieScale; TimeScale mediaScale; TimeValue movieDuration; TimeValue trackDuration; TimeValue mediaDuration; Fixed effectiveRate; TimeBase timeBase; short volume; Fixed width; Fixed height; MatrixRecord trackMovieMatrix; CGrafPtr moviePort; GDHandle movieGD; PixMapHandle trackMatte; } GetMovieCompleteParams; enum { kMediaInitializeSelect = 0x501, kMediaSetHandlerCapabilitiesSelect = 0x502, kMediaIdleSelect = 0x503, kMediaGetMediaInfoSelect = 0x504, kMediaPutMediaInfoSelect = 0x505, kMediaSetActiveSelect = 0x506, kMediaSetRateSelect = 0x507, kMediaGGetStatusSelect = 0x508, kMediaTrackEditedSelect = 0x509, kMediaSetMediaTimeScaleSelect = 0x50A, kMediaSetMovieTimeScaleSelect = 0x50B, kMediaSetGWorldSelect = 0x50C, kMediaSetDimensionsSelect = 0x50D, kMediaSetClipSelect = 0x50E, kMediaSetMatrixSelect = 0x50F, kMediaGetTrackOpaqueSelect = 0x510, kMediaSetGraphicsModeSelect = 0x511, kMediaGetGraphicsModeSelect = 0x512, kMediaGSetVolumeSelect = 0x513, kMediaSetSoundBalanceSelect = 0x514, kMediaGetSoundBalanceSelect = 0x515, kMediaGetNextBoundsChangeSelect = 0x516, kMediaGetSrcRgnSelect = 0x517, kMediaPrerollSelect = 0x518, kMediaSampleDescriptionChangedSelect = 0x519, kMediaHasCharacteristic = 0x51A }; #ifdef __cplusplus extern "C" { #endif __cplusplus pascal ComponentResult MediaInitialize (ComponentInstance ci, GetMovieCompleteParams *gmc) = {0x2F3C,0x4,0x501,0x7000,0xA82A}; pascal ComponentResult MediaSetHandlerCapabilities (ComponentInstance ci, long flags, long flagsMask ) = {0x2F3C,0x8,0x502,0x7000,0xA82A}; pascal ComponentResult MediaIdle (ComponentInstance ci, TimeValue atMediaTime, long flagsIn, long *flagsOut, const TimeRecord *movieTime) = {0x2F3C,0x10,0x503,0x7000,0xA82A}; pascal ComponentResult MediaGetMediaInfo (ComponentInstance ci, Handle h ) = {0x2F3C,0x4,0x504,0x7000,0xA82A}; pascal ComponentResult MediaPutMediaInfo (ComponentInstance ci, Handle h ) = {0x2F3C,0x4,0x505,0x7000,0xA82A}; pascal ComponentResult MediaSetActive (ComponentInstance ci, Boolean enableMedia ) = {0x2F3C,0x2,0x506,0x7000,0xA82A}; pascal ComponentResult MediaSetRate (ComponentInstance ci, Fixed rate ) = {0x2F3C,0x4,0x507,0x7000,0xA82A}; pascal ComponentResult MediaGGetStatus (ComponentInstance ci, ComponentResult *statusErr ) = {0x2F3C,0x4,0x508,0x7000,0xA82A}; pascal ComponentResult MediaTrackEdited (ComponentInstance ci ) = {0x2F3C,0x0,0x509,0x7000,0xA82A}; pascal ComponentResult MediaSetMediaTimeScale (ComponentInstance ci, TimeScale newTimeScale ) = {0x2F3C,0x4,0x50A,0x7000,0xA82A}; pascal ComponentResult MediaSetMovieTimeScale (ComponentInstance ci, TimeScale newTimeScale ) = {0x2F3C,0x4,0x50B,0x7000,0xA82A}; pascal ComponentResult MediaSetGWorld (ComponentInstance ci, CGrafPtr aPort, GDHandle aGD) = {0x2F3C,0x8,0x50C,0x7000,0xA82A}; pascal ComponentResult MediaSetDimensions (ComponentInstance ci, Fixed width, Fixed height) = {0x2F3C,0x8,0x50D,0x7000,0xA82A}; pascal ComponentResult MediaSetClip (ComponentInstance ci, RgnHandle theClip) = {0x2F3C,0x4,0x50E,0x7000,0xA82A}; pascal ComponentResult MediaSetMatrix (ComponentInstance ci, MatrixRecord *trackMovieMatrix) = {0x2F3C,0x4,0x50F,0x7000,0xA82A}; pascal ComponentResult MediaGetTrackOpaque (ComponentInstance ci, Boolean *trackIsOpaque ) = {0x2F3C,0x4,0x510,0x7000,0xA82A}; pascal ComponentResult MediaSetGraphicsMode (ComponentInstance ci, long mode, RGBColor *opColor ) = {0x2F3C,0x8,0x511,0x7000,0xA82A}; pascal ComponentResult MediaGetGraphicsMode (ComponentInstance ci, long *mode, RGBColor *opColor ) = {0x2F3C,0x8,0x512,0x7000,0xA82A}; pascal ComponentResult MediaGSetVolume (ComponentInstance ci, short volume ) = {0x2F3C,0x2,0x513,0x7000,0xA82A}; pascal ComponentResult MediaSetSoundBalance (ComponentInstance ci, short balance) = {0x2F3C,0x2,0x514,0x7000,0xA82A}; pascal ComponentResult MediaGetSoundBalance (ComponentInstance ci, short *balance ) = {0x2F3C,0x4,0x515,0x7000,0xA82A}; pascal ComponentResult MediaGetNextBoundsChange (ComponentInstance ci, TimeValue *when ) = {0x2F3C,0x4,0x516,0x7000,0xA82A}; pascal ComponentResult MediaGetSrcRgn (ComponentInstance ci, RgnHandle rgn, TimeValue atMediaTime ) = {0x2F3C,0x8,0x517,0x7000,0xA82A}; pascal ComponentResult MediaPreroll (ComponentInstance ci, TimeValue time, Fixed rate ) = {0x2F3C,0x8,0x518,0x7000,0xA82A}; pascal ComponentResult MediaSampleDescriptionChanged (ComponentInstance ci, long index ) = {0x2F3C,0x4,0x519,0x7000,0xA82A}; pascal ComponentResult MediaHasCharacteristic (ComponentInstance ci, OSType characteristic, Boolean *hasIt ) = {0x2F3C,0x8,0x51A,0x7000,0xA82A}; #ifdef __cplusplus } #endif __cplusplus #endif __MEDIAHANDLERS__