home *** CD-ROM | disk | FTP | other *** search
/ CLIX - Fazer Clix Custa Nix / CLIX-CD.cdr / mac / lib / Mac / Movies.pm < prev    next >
Text File  |  1998-04-05  |  48KB  |  1,998 lines

  1. =head1 NAME
  2.  
  3. Mac::Movies - Macintosh Toolbox Interface to QuickTime.
  4.  
  5. =head1 SYNOPSIS
  6.  
  7.  
  8. =head1 DESCRIPTION
  9.  
  10. Access to Inside Macintosh is essential for proper use of these functions.
  11. Explanations of terms, processes and procedures are provided there.
  12. Any attempt to use these functions without guidance can cause severe errors in 
  13. your machine, including corruption of data. B<You have been warned.>
  14.  
  15. =cut
  16.  
  17. use strict;
  18.  
  19. package Mac::Movies;
  20.  
  21. BEGIN {
  22.     use Exporter   ();
  23.     use DynaLoader ();
  24.     
  25.     use vars qw(@ISA @EXPORT %ActionFilter);
  26.     
  27.     @ISA = qw(Exporter DynaLoader);
  28.     @EXPORT = qw(
  29.         EnterMovies
  30.         ExitMovies
  31.         GetMoviesError
  32.         ClearMoviesStickyError
  33.         GetMoviesStickyError
  34.         MoviesTask
  35.         PrerollMovie
  36.         LoadMovieIntoRam
  37.         LoadTrackIntoRam
  38.         LoadMediaIntoRam
  39.         SetMovieActive
  40.         GetMovieActive
  41.         StartMovie
  42.         StopMovie
  43.         GoToBeginningOfMovie
  44.         GoToEndOfMovie
  45.         IsMovieDone
  46.         GetMoviePreviewMode
  47.         SetMoviePreviewMode
  48.         ShowMoviePoster
  49.         PlayMoviePreview
  50.         GetMovieTimeBase
  51.         SetMovieMasterTimeBase
  52.         SetMovieMasterClock
  53.         GetMovieGWorld
  54.         SetMovieGWorld
  55.         GetMovieNaturalBoundsRect
  56.         GetNextTrackForCompositing
  57.         GetPrevTrackForCompositing
  58.         GetMoviePict
  59.         GetTrackPict
  60.         GetMoviePosterPict
  61.         UpdateMovie
  62.         GetMovieBox
  63.         SetMovieBox
  64.         GetMovieDisplayClipRgn
  65.         SetMovieDisplayClipRgn
  66.         GetMovieClipRgn
  67.         SetMovieClipRgn
  68.         GetTrackClipRgn
  69.         SetTrackClipRgn
  70.         GetMovieDisplayBoundsRgn
  71.         GetTrackDisplayBoundsRgn
  72.         GetMovieBoundsRgn
  73.         GetTrackMovieBoundsRgn
  74.         GetTrackBoundsRgn
  75.         GetTrackMatte
  76.         SetTrackMatte
  77.         DisposeMatte
  78.         NewMovie
  79.         PutMovieIntoHandle
  80.         DisposeMovie
  81.         GetMovieCreationTime
  82.         GetMovieModificationTime
  83.         GetMovieTimeScale
  84.         SetMovieTimeScale
  85.         GetMovieDuration
  86.         GetMovieRate
  87.         SetMovieRate
  88.         GetMoviePreferredRate
  89.         SetMoviePreferredRate
  90.         GetMoviePreferredVolume
  91.         SetMoviePreferredVolume
  92.         GetMovieVolume
  93.         SetMovieVolume
  94.         GetMovieMatrix
  95.         SetMovieMatrix
  96.         GetMoviePreviewTime
  97.         SetMoviePreviewTime
  98.         GetMoviePosterTime
  99.         SetMoviePosterTime
  100.         GetMovieSelection
  101.         SetMovieSelection
  102.         SetMovieActiveSegment
  103.         GetMovieActiveSegment
  104.         GetMovieTime
  105.         SetMovieTime
  106.         SetMovieTimeValue
  107.         GetMovieUserData
  108.         GetMovieTrackCount
  109.         GetMovieTrack
  110.         GetMovieIndTrack
  111.         GetMovieIndTrackType
  112.         GetTrackID
  113.         GetTrackMovie
  114.         NewMovieTrack
  115.         DisposeMovieTrack
  116.         GetTrackCreationTime
  117.         GetTrackModificationTime
  118.         GetTrackEnabled
  119.         SetTrackEnabled
  120.         GetTrackUsage
  121.         SetTrackUsage
  122.         GetTrackDuration
  123.         GetTrackOffset
  124.         SetTrackOffset
  125.         GetTrackLayer
  126.         SetTrackLayer
  127.         GetTrackAlternate
  128.         SetTrackAlternate
  129.         SetAutoTrackAlternatesEnabled
  130.         SelectMovieAlternates
  131.         GetTrackVolume
  132.         SetTrackVolume
  133.         GetTrackMatrix
  134.         SetTrackMatrix
  135.         GetTrackDimensions
  136.         SetTrackDimensions
  137.         GetTrackUserData
  138.         NewTrackMedia
  139.         DisposeTrackMedia
  140.         GetTrackMedia
  141.         GetMediaTrack
  142.         GetMediaCreationTime
  143.         GetMediaModificationTime
  144.         GetMediaTimeScale
  145.         SetMediaTimeScale
  146.         GetMediaDuration
  147.         GetMediaLanguage
  148.         SetMediaLanguage
  149.         GetMediaQuality
  150.         SetMediaQuality
  151.         GetMediaHandlerDescription
  152.         GetMediaUserData
  153.         BeginMediaEdits
  154.         EndMediaEdits
  155.         SetMediaDefaultDataRefIndex
  156.         GetMediaDataHandlerDescription
  157.         GetMediaSampleDescriptionCount
  158.         GetMediaSampleDescription
  159.         SetMediaSampleDescription
  160.         GetMediaSampleCount
  161.         SampleNumToMediaTime
  162.         MediaTimeToSampleNum
  163.         AddMediaSample
  164.         AddMediaSampleReference
  165.         CutMovieSelection
  166.         CopyMovieSelection
  167.         PasteMovieSelection
  168.         AddMovieSelection
  169.         ClearMovieSelection
  170.         PasteHandleIntoMovie
  171.         PutMovieIntoTypedHandle
  172.         IsScrapMovie
  173.         CopyTrackSettings
  174.         CopyMovieSettings
  175.         AddEmptyTrackToMovie
  176.         NewMovieEditState
  177.         UseMovieEditState
  178.         DisposeMovieEditState
  179.         NewTrackEditState
  180.         UseTrackEditState
  181.         DisposeTrackEditState
  182.         AddTrackReference
  183.         DeleteTrackReference
  184.         SetTrackReference
  185.         GetTrackReference
  186.         GetNextTrackReferenceType
  187.         GetTrackReferenceCount
  188.         ConvertFileToMovieFile
  189.         ConvertMovieToFile
  190.         TrackTimeToMediaTime
  191.         GetTrackEditRate
  192.         GetMovieDataSize
  193.         GetTrackDataSize
  194.         GetMediaDataSize
  195.         PtInMovie
  196.         PtInTrack
  197.         SetMovieLanguage
  198.         GetUserData
  199.         AddUserData
  200.         RemoveUserData
  201.         CountUserDataType
  202.         GetNextUserDataType
  203.         AddUserDataText
  204.         GetUserDataText
  205.         RemoveUserDataText
  206.         NewUserData
  207.         DisposeUserData
  208.         NewUserDataFromHandle
  209.         PutUserDataIntoHandle
  210.         GetMediaNextInterestingTime
  211.         GetTrackNextInterestingTime
  212.         GetMovieNextInterestingTime
  213.         CreateMovieFile
  214.         OpenMovieFile
  215.         CloseMovieFile
  216.         DeleteMovieFile
  217.         NewMovieFromFile
  218.         NewMovieFromHandle
  219.         NewMovieFromDataFork
  220.         AddMovieResource
  221.         UpdateMovieResource
  222.         RemoveMovieResource
  223.         HasMovieChanged
  224.         ClearMovieChanged
  225.         FlattenMovie
  226.         FlattenMovieData
  227.         GetPosterBox
  228.         SetPosterBox
  229.         GetMovieSegmentDisplayBoundsRgn
  230.         GetTrackSegmentDisplayBoundsRgn
  231.         GetTrackStatus
  232.         GetMovieStatus
  233.         NewMovieController
  234.         DisposeMovieController
  235.         PutMovieOnScrap
  236.         NewMovieFromScrap
  237.         SetMoviePlayHints
  238.         SetMediaPlayHints
  239.         SetTrackLoadSettings
  240.         GetTrackLoadSettings
  241.         NewTimeBase
  242.         DisposeTimeBase
  243.         GetTimeBaseTime
  244.         SetTimeBaseTime
  245.         SetTimeBaseValue
  246.         GetTimeBaseRate
  247.         SetTimeBaseRate
  248.         GetTimeBaseStartTime
  249.         SetTimeBaseStartTime
  250.         GetTimeBaseStopTime
  251.         SetTimeBaseStopTime
  252.         GetTimeBaseFlags
  253.         SetTimeBaseFlags
  254.         SetTimeBaseMasterTimeBase
  255.         GetTimeBaseMasterTimeBase
  256.         SetTimeBaseMasterClock
  257.         GetTimeBaseMasterClock
  258.         ConvertTime
  259.         ConvertTimeScale
  260.         AddTime
  261.         SubtractTime
  262.         GetTimeBaseStatus
  263.         SetTimeBaseZero
  264.         GetTimeBaseEffectiveRate
  265.         MCSetMovie
  266.         MCGetMovie
  267.         MCGetIndMovie
  268.         MCRemoveMovie
  269.         MCIsPlayerEvent
  270.         MCDoAction
  271.         MCSetControllerAttached
  272.         MCIsControllerAttached
  273.         MCSetControllerPort
  274.         MCGetControllerPort
  275.         MCSetVisible
  276.         MCGetVisible
  277.         MCGetControllerBoundsRect
  278.         MCSetControllerBoundsRect
  279.         MCGetControllerBoundsRgn
  280.         MCGetWindowRgn
  281.         MCMovieChanged
  282.         MCSetDuration
  283.         MCGetCurrentTime
  284.         MCNewAttachedController
  285.         MCDraw
  286.         MCActivate
  287.         MCIdle
  288.         MCKey
  289.         MCClick
  290.         MCEnableEditing
  291.         MCIsEditingEnabled
  292.         MCCopy
  293.         MCCut
  294.         MCPaste
  295.         MCClear
  296.         MCUndo
  297.         MCPositionController
  298.         MCGetControllerInfo
  299.         MCSetClip
  300.         MCGetClip
  301.         MCDrawBadge
  302.         MCSetUpEditMenu
  303.         MCGetMenuString
  304.         MCSetActionFilter
  305.         MCPtInController
  306.         MCInvalidate
  307.     
  308.         MovieFileType
  309.         MediaHandlerType
  310.         DataHandlerType
  311.         VideoMediaType
  312.         SoundMediaType
  313.         TextMediaType
  314.         BaseMediaType
  315.         MPEGMediaType
  316.         MusicMediaType
  317.         TimeCodeMediaType
  318.         SpriteMediaType
  319.         TweenMediaType
  320.         ThreeDeeMediaType
  321.         HandleDataHandlerSubType
  322.         ResourceDataHandlerSubType
  323.         VisualMediaCharacteristic
  324.         AudioMediaCharacteristic
  325.         kCharacteristicCanSendVideo
  326.         DoTheRightThing
  327.         kMusicFlagDontPlay2Soft
  328.         dfDontDisplay
  329.         dfDontAutoScale
  330.         dfClipToTextBox
  331.         dfUseMovieBGColor
  332.         dfShrinkTextBoxToFit
  333.         dfScrollIn
  334.         dfScrollOut
  335.         dfHorizScroll
  336.         dfReverseScroll
  337.         dfContinuousScroll
  338.         dfFlowHoriz
  339.         dfContinuousKaraoke
  340.         dfDropShadow
  341.         dfAntiAlias
  342.         dfKeyedText
  343.         dfInverseHilite
  344.         dfTextColorHilite
  345.         searchTextDontGoToFoundTime
  346.         searchTextDontHiliteFoundText
  347.         searchTextOneTrackOnly
  348.         searchTextEnabledTracksOnly
  349.         k3DMediaRendererEntry
  350.         k3DMediaRendererName
  351.         k3DMediaRendererCode
  352.         movieProgressOpen
  353.         movieProgressUpdatePercent
  354.         movieProgressClose
  355.         progressOpFlatten
  356.         progressOpInsertTrackSegment
  357.         progressOpInsertMovieSegment
  358.         progressOpPaste
  359.         progressOpAddMovieSelection
  360.         progressOpCopy
  361.         progressOpCut
  362.         progressOpLoadMovieIntoRam
  363.         progressOpLoadTrackIntoRam
  364.         progressOpLoadMediaIntoRam
  365.         progressOpImportMovie
  366.         progressOpExportMovie
  367.         mediaQualityDraft
  368.         mediaQualityNormal
  369.         mediaQualityBetter
  370.         mediaQualityBest
  371.         loopTimeBase
  372.         palindromeLoopTimeBase
  373.         maintainTimeBaseZero
  374.         triggerTimeFwd
  375.         triggerTimeBwd
  376.         triggerTimeEither
  377.         triggerRateLT
  378.         triggerRateGT
  379.         triggerRateEqual
  380.         triggerRateLTE
  381.         triggerRateGTE
  382.         triggerRateNotEqual
  383.         triggerRateChange
  384.         triggerAtStart
  385.         triggerAtStop
  386.         timeBaseBeforeStartTime
  387.         timeBaseAfterStopTime
  388.         callBackAtTime
  389.         callBackAtRate
  390.         callBackAtTimeJump
  391.         callBackAtExtremes
  392.         callBackAtInterrupt
  393.         callBackAtDeferredTask
  394.         qtcbNeedsRateChanges
  395.         qtcbNeedsTimeChanges
  396.         qtcbNeedsStartStopChanges
  397.         keepInRam
  398.         unkeepInRam
  399.         flushFromRam
  400.         loadForwardTrackEdits
  401.         loadBackwardTrackEdits
  402.         newMovieActive
  403.         newMovieDontResolveDataRefs
  404.         newMovieDontAskUnresolvedDataRefs
  405.         newMovieDontAutoAlternates
  406.         newMovieDontUpdateForeBackPointers
  407.         trackUsageInMovie
  408.         trackUsageInPreview
  409.         trackUsageInPoster
  410.         mediaSampleNotSync
  411.         mediaSampleShadowSync
  412.         pasteInParallel
  413.         showUserSettingsDialog
  414.         movieToFileOnlyExport
  415.         movieFileSpecValid
  416.         nextTimeMediaSample
  417.         nextTimeMediaEdit
  418.         nextTimeTrackEdit
  419.         nextTimeSyncSample
  420.         nextTimeStep
  421.         nextTimeEdgeOK
  422.         nextTimeIgnoreActiveSegment
  423.         createMovieFileDeleteCurFile
  424.         createMovieFileDontCreateMovie
  425.         createMovieFileDontOpenFile
  426.         flattenAddMovieToDataFork
  427.         flattenActiveTracksOnly
  428.         flattenDontInterleaveFlatten
  429.         flattenFSSpecPtrIsDataRefRecordPtr
  430.         movieInDataForkResID
  431.         mcTopLeftMovie
  432.         mcScaleMovieToFit
  433.         mcWithBadge
  434.         mcNotVisible
  435.         mcWithFrame
  436.         movieScrapDontZeroScrap
  437.         movieScrapOnlyPutMovie
  438.         dataRefSelfReference
  439.         dataRefWasNotResolved
  440.         hintsScrubMode
  441.         hintsLoop
  442.         hintsDontPurge
  443.         hintsUseScreenBuffer
  444.         hintsAllowInterlace
  445.         hintsUseSoundInterp
  446.         hintsHighQuality
  447.         hintsPalindrome
  448.         hintsInactive
  449.         mediaHandlerFlagBaseClient
  450.         movieTrackMediaType
  451.         movieTrackCharacteristic
  452.         movieTrackEnabledOnly
  453.         movieDrawingCallWhenChanged
  454.         movieDrawingCallAlways
  455.         preloadAlways
  456.         preloadOnlyIfEnabled
  457.         fullScreenHideCursor
  458.         fullScreenAllowEvents
  459.         fullScreenDontChangeMenuBar
  460.         fullScreenPreflightSize
  461.         kBackgroundSpriteLayerNum
  462.         kSpritePropertyMatrix
  463.         kSpritePropertyImageDescription
  464.         kSpritePropertyImageDataPtr
  465.         kSpritePropertyVisible
  466.         kSpritePropertyLayer
  467.         kSpritePropertyGraphicsMode
  468.         kSpritePropertyImageIndex
  469.         kSpriteTrackPropertyBackgroundColor
  470.         kSpriteTrackPropertyOffscreenBitDepth
  471.         kSpriteTrackPropertySampleFormat
  472.         kOnlyDrawToSpriteWorld
  473.         kSpriteWorldPreflight
  474.         kSpriteWorldDidDraw
  475.         kSpriteWorldNeedsToDraw
  476.         kKeyFrameAndSingleOverride
  477.         kKeyFrameAndAllOverrides
  478.         kParentAtomIsContainer
  479.         kITextRemoveEverythingBut
  480.         kITextRemoveLeaveSuggestedAlternate
  481.         kITextAtomType
  482.         kITextStringAtomType
  483.         kTrackModifierInput
  484.         kTrackModifierType
  485.         kTrackModifierReference
  486.         kTrackModifierObjectID
  487.         kTrackModifierInputName
  488.         kInputMapSubInputID
  489.         kTrackModifierTypeMatrix
  490.         kTrackModifierTypeClip
  491.         kTrackModifierTypeGraphicsMode
  492.         kTrackModifierTypeVolume
  493.         kTrackModifierTypeBalance
  494.         kTrackModifierTypeSpriteImage
  495.         kTrackModifierObjectMatrix
  496.         kTrackModifierObjectGraphicsMode
  497.         kTrackModifierType3d4x4Matrix
  498.         kTrackModifierCameraData
  499.         kTrackModifierSoundLocalizationData
  500.         kTweenTypeShort
  501.         kTweenTypeLong
  502.         kTweenTypeFixed
  503.         kTweenTypePoint
  504.         kTweenTypeQDRect
  505.         kTweenTypeQDRegion
  506.         kTweenTypeMatrix
  507.         kTweenTypeRGBColor
  508.         kTweenTypeGraphicsModeWithRGBColor
  509.         kTweenType3dScale
  510.         kTweenType3dTranslate
  511.         kTweenType3dRotate
  512.         kTweenType3dRotateAboutPoint
  513.         kTweenType3dRotateAboutAxis
  514.         kTweenType3dQuaternion
  515.         kTweenType3dMatrix
  516.         kTweenType3dCameraData
  517.         kTweenType3dSoundLocalizationData
  518.         kTweenEntry
  519.         kTweenData
  520.         kTweenType
  521.         kTweenStartOffset
  522.         kTweenDuration
  523.         kTween3dInitialCondition
  524.         kTweenInterpolationStyle
  525.         kTweenRegionData
  526.         kTweenPictureData
  527.         internalComponentErr
  528.         notImplementedMusicOSErr
  529.         cantSendToSynthesizerOSErr
  530.         cantReceiveFromSynthesizerOSErr
  531.         illegalVoiceAllocationOSErr
  532.         illegalPartOSErr
  533.         illegalChannelOSErr
  534.         illegalKnobOSErr
  535.         illegalKnobValueOSErr
  536.         illegalInstrumentOSErr
  537.         illegalControllerOSErr
  538.         midiManagerAbsentOSErr
  539.         synthesizerNotRespondingOSErr
  540.         synthesizerOSErr
  541.         illegalNoteChannelOSErr
  542.         noteChannelNotAllocatedOSErr
  543.         tunePlayerFullOSErr
  544.         tuneParseOSErr
  545.         videoFlagDontLeanAhead
  546.         txtProcDefaultDisplay
  547.         txtProcDontDisplay
  548.         txtProcDoDisplay
  549.         findTextEdgeOK
  550.         findTextCaseSensitive
  551.         findTextReverseSearch
  552.         findTextWrapAround
  553.         findTextUseOffset
  554.         dropShadowOffsetType
  555.         dropShadowTranslucencyType
  556.         spriteHitTestBounds
  557.         spriteHitTestImage
  558.         kSpriteAtomType
  559.         kSpriteImagesContainerAtomType
  560.         kSpriteImageAtomType
  561.         kSpriteImageDataAtomType
  562.         kSpriteSharedDataAtomType
  563.         kSpriteNameAtomType
  564.         MovieControllerComponentType
  565.         mcActionIdle
  566.         mcActionDraw
  567.         mcActionActivate
  568.         mcActionDeactivate
  569.         mcActionMouseDown
  570.         mcActionKey
  571.         mcActionPlay
  572.         mcActionGoToTime
  573.         mcActionSetVolume
  574.         mcActionGetVolume
  575.         mcActionStep
  576.         mcActionSetLooping
  577.         mcActionGetLooping
  578.         mcActionSetLoopIsPalindrome
  579.         mcActionGetLoopIsPalindrome
  580.         mcActionSetGrowBoxBounds
  581.         mcActionControllerSizeChanged
  582.         mcActionSetSelectionBegin
  583.         mcActionSetSelectionDuration
  584.         mcActionSetKeysEnabled
  585.         mcActionGetKeysEnabled
  586.         mcActionSetPlaySelection
  587.         mcActionGetPlaySelection
  588.         mcActionSetUseBadge
  589.         mcActionGetUseBadge
  590.         mcActionSetFlags
  591.         mcActionGetFlags
  592.         mcActionSetPlayEveryFrame
  593.         mcActionGetPlayEveryFrame
  594.         mcActionGetPlayRate
  595.         mcActionShowBalloon
  596.         mcActionBadgeClick
  597.         mcActionMovieClick
  598.         mcActionSuspend
  599.         mcActionResume
  600.         mcActionSetControllerKeysEnabled
  601.         mcActionGetTimeSliderRect
  602.         mcActionMovieEdited
  603.         mcActionGetDragEnabled
  604.         mcActionSetDragEnabled
  605.         mcActionGetSelectionBegin
  606.         mcActionGetSelectionDuration
  607.         mcActionPrerollAndPlay
  608.         mcActionGetCursorSettingEnabled
  609.         mcActionSetCursorSettingEnabled
  610.         mcActionSetColorTable
  611.         mcFlagSuppressMovieFrame
  612.         mcFlagSuppressStepButtons
  613.         mcFlagSuppressSpeakerButton
  614.         mcFlagsUseWindowPalette
  615.         mcFlagsDontInvalidate
  616.         mcPositionDontInvalidate
  617.         mcInfoUndoAvailable
  618.         mcInfoCutAvailable
  619.         mcInfoCopyAvailable
  620.         mcInfoPasteAvailable
  621.         mcInfoClearAvailable
  622.         mcInfoHasSound
  623.         mcInfoIsPlaying
  624.         mcInfoIsLooping
  625.         mcInfoIsInPalindrome
  626.         mcInfoEditingEnabled
  627.         mcInfoMovieIsInteractive
  628.         mcMenuUndo
  629.         mcMenuCut
  630.         mcMenuCopy
  631.         mcMenuPaste
  632.         mcMenuClear
  633.     );
  634. }
  635.  
  636. bootstrap Mac::Movies;
  637.  
  638. =head2 Constants
  639.  
  640. =over 4
  641.  
  642. =item MovieFileType
  643.  
  644. =item MediaHandlerType
  645.  
  646. =item DataHandlerType
  647.  
  648. =item VideoMediaType
  649.  
  650. =item SoundMediaType
  651.  
  652. =item TextMediaType
  653.  
  654. =item BaseMediaType
  655.  
  656. =item MPEGMediaType
  657.  
  658. =item MusicMediaType
  659.  
  660. =item TimeCodeMediaType
  661.  
  662. =item SpriteMediaType
  663.  
  664. =item TweenMediaType
  665.  
  666. =item ThreeDeeMediaType
  667.  
  668. =item HandleDataHandlerSubType
  669.  
  670. =item ResourceDataHandlerSubType
  671.  
  672. =item VisualMediaCharacteristic
  673.  
  674. =item AudioMediaCharacteristic
  675.  
  676. =item kCharacteristicCanSendVideo
  677.  
  678. =cut
  679. sub MovieFileType ()               {     'MooV'; }
  680. sub MediaHandlerType ()            {     'mhlr'; }
  681. sub DataHandlerType ()             {     'dhlr'; }
  682. sub VideoMediaType ()              {     'vide'; }
  683. sub SoundMediaType ()              {     'soun'; }
  684. sub TextMediaType ()               {     'text'; }
  685. sub BaseMediaType ()               {     'gnrc'; }
  686. sub MPEGMediaType ()               {     'MPEG'; }
  687. sub MusicMediaType ()              {     'musi'; }
  688. sub TimeCodeMediaType ()           {     'tmcd'; }
  689. sub SpriteMediaType ()             {     'sprt'; }
  690. sub TweenMediaType ()              {     'twen'; }
  691. sub ThreeDeeMediaType ()           {     'qd3d'; }
  692. sub HandleDataHandlerSubType ()    {     'hndl'; }
  693. sub ResourceDataHandlerSubType ()  {     'rsrc'; }
  694. sub VisualMediaCharacteristic ()   {     'eyes'; }
  695. sub AudioMediaCharacteristic ()    {     'ears'; }
  696. sub kCharacteristicCanSendVideo () {     'vsnd'; }
  697.  
  698.  
  699. =item DoTheRightThing
  700.  
  701. =item kMusicFlagDontPlay2Soft
  702.  
  703. =cut
  704. sub DoTheRightThing ()             {          0; }
  705. sub kMusicFlagDontPlay2Soft ()     {    1 << 0; }
  706.  
  707.  
  708. =item dfDontDisplay
  709.  
  710. =item dfDontAutoScale
  711.  
  712. =item dfClipToTextBox
  713.  
  714. =item dfUseMovieBGColor
  715.  
  716. =item dfShrinkTextBoxToFit
  717.  
  718. =item dfScrollIn
  719.  
  720. =item dfScrollOut
  721.  
  722. =item dfHorizScroll
  723.  
  724. =item dfReverseScroll
  725.  
  726. =item dfContinuousScroll
  727.  
  728. =item dfFlowHoriz
  729.  
  730. =item dfContinuousKaraoke
  731.  
  732. =item dfDropShadow
  733.  
  734. =item dfAntiAlias
  735.  
  736. =item dfKeyedText
  737.  
  738. =item dfInverseHilite
  739.  
  740. =item dfTextColorHilite
  741.  
  742. =cut
  743. sub dfDontDisplay ()               {     1 << 0; }
  744. sub dfDontAutoScale ()             {     1 << 1; }
  745. sub dfClipToTextBox ()             {     1 << 2; }
  746. sub dfUseMovieBGColor ()           {     1 << 3; }
  747. sub dfShrinkTextBoxToFit ()        {     1 << 4; }
  748. sub dfScrollIn ()                  {     1 << 5; }
  749. sub dfScrollOut ()                 {     1 << 6; }
  750. sub dfHorizScroll ()               {     1 << 7; }
  751. sub dfReverseScroll ()             {     1 << 8; }
  752. sub dfContinuousScroll ()          {     1 << 9; }
  753. sub dfFlowHoriz ()                 {    1 << 10; }
  754. sub dfContinuousKaraoke ()         {    1 << 11; }
  755. sub dfDropShadow ()                {    1 << 12; }
  756. sub dfAntiAlias ()                 {    1 << 13; }
  757. sub dfKeyedText ()                 {    1 << 14; }
  758. sub dfInverseHilite ()             {    1 << 15; }
  759. sub dfTextColorHilite ()           {    1 << 16; }
  760.  
  761.  
  762. =item searchTextDontGoToFoundTime
  763.  
  764. =item searchTextDontHiliteFoundText
  765.  
  766. =item searchTextOneTrackOnly
  767.  
  768. =item searchTextEnabledTracksOnly
  769.  
  770. =cut
  771. sub searchTextDontGoToFoundTime () {   1 << 16; }
  772. sub searchTextDontHiliteFoundText () {   1 << 17; }
  773. sub searchTextOneTrackOnly ()      {   1 << 18; }
  774. sub searchTextEnabledTracksOnly () {   1 << 19; }
  775.  
  776.  
  777. =item k3DMediaRendererEntry
  778.  
  779. =item k3DMediaRendererName
  780.  
  781. =item k3DMediaRendererCode
  782.  
  783. =cut
  784. sub k3DMediaRendererEntry ()       {     'rend'; }
  785. sub k3DMediaRendererName ()        {     'name'; }
  786. sub k3DMediaRendererCode ()        {     'rcod'; }
  787.  
  788.  
  789. =item movieProgressOpen
  790.  
  791. =item movieProgressUpdatePercent
  792.  
  793. =item movieProgressClose
  794.  
  795. =item progressOpFlatten
  796.  
  797. =item progressOpInsertTrackSegment
  798.  
  799. =item progressOpInsertMovieSegment
  800.  
  801. =item progressOpPaste
  802.  
  803. =item progressOpAddMovieSelection
  804.  
  805. =item progressOpCopy
  806.  
  807. =item progressOpCut
  808.  
  809. =item progressOpLoadMovieIntoRam
  810.  
  811. =item progressOpLoadTrackIntoRam
  812.  
  813. =item progressOpLoadMediaIntoRam
  814.  
  815. =item progressOpImportMovie
  816.  
  817. =item progressOpExportMovie
  818.  
  819. =cut
  820. sub movieProgressOpen ()           {          0; }
  821. sub movieProgressUpdatePercent ()  {          1; }
  822. sub movieProgressClose ()          {          2; }
  823. sub progressOpFlatten ()           {          1; }
  824. sub progressOpInsertTrackSegment () {          2; }
  825. sub progressOpInsertMovieSegment () {          3; }
  826. sub progressOpPaste ()             {          4; }
  827. sub progressOpAddMovieSelection () {          5; }
  828. sub progressOpCopy ()              {          6; }
  829. sub progressOpCut ()               {          7; }
  830. sub progressOpLoadMovieIntoRam ()  {          8; }
  831. sub progressOpLoadTrackIntoRam ()  {          9; }
  832. sub progressOpLoadMediaIntoRam ()  {         10; }
  833. sub progressOpImportMovie ()       {         11; }
  834. sub progressOpExportMovie ()       {         12; }
  835.  
  836.  
  837. =item mediaQualityDraft
  838.  
  839. =item mediaQualityNormal
  840.  
  841. =item mediaQualityBetter
  842.  
  843. =item mediaQualityBest
  844.  
  845. =cut
  846. sub mediaQualityDraft ()           {     0x0000; }
  847. sub mediaQualityNormal ()          {     0x0040; }
  848. sub mediaQualityBetter ()          {     0x0080; }
  849. sub mediaQualityBest ()            {     0x00C0; }
  850.  
  851.  
  852. =item loopTimeBase
  853.  
  854. =item palindromeLoopTimeBase
  855.  
  856. =item maintainTimeBaseZero
  857.  
  858. =cut
  859. sub loopTimeBase ()                {          1; }
  860. sub palindromeLoopTimeBase ()      {          2; }
  861. sub maintainTimeBaseZero ()        {          4; }
  862.  
  863.  
  864. =item triggerTimeFwd
  865.  
  866. =item triggerTimeBwd
  867.  
  868. =item triggerTimeEither
  869.  
  870. =item triggerRateLT
  871.  
  872. =item triggerRateGT
  873.  
  874. =item triggerRateEqual
  875.  
  876. =item triggerRateLTE
  877.  
  878. =item triggerRateGTE
  879.  
  880. =item triggerRateNotEqual
  881.  
  882. =item triggerRateChange
  883.  
  884. =item triggerAtStart
  885.  
  886. =item triggerAtStop
  887.  
  888. =cut
  889. sub triggerTimeFwd ()              {     0x0001; }
  890. sub triggerTimeBwd ()              {     0x0002; }
  891. sub triggerTimeEither ()           {     0x0003; }
  892. sub triggerRateLT ()               {     0x0004; }
  893. sub triggerRateGT ()               {     0x0008; }
  894. sub triggerRateEqual ()            {     0x0010; }
  895. sub triggerRateLTE ()              { triggerRateLT | triggerRateEqual; }
  896. sub triggerRateGTE ()              { triggerRateGT | triggerRateEqual; }
  897. sub triggerRateNotEqual ()         { triggerRateGT | triggerRateEqual | triggerRateLT; }
  898. sub triggerRateChange ()           {          0; }
  899. sub triggerAtStart ()              {     0x0001; }
  900. sub triggerAtStop ()               {     0x0002; }
  901.  
  902.  
  903. =item timeBaseBeforeStartTime
  904.  
  905. =item timeBaseAfterStopTime
  906.  
  907. =cut
  908. sub timeBaseBeforeStartTime ()     {          1; }
  909. sub timeBaseAfterStopTime ()       {          2; }
  910.  
  911.  
  912. =item callBackAtTime
  913.  
  914. =item callBackAtRate
  915.  
  916. =item callBackAtTimeJump
  917.  
  918. =item callBackAtExtremes
  919.  
  920. =item callBackAtInterrupt
  921.  
  922. =item callBackAtDeferredTask
  923.  
  924. =cut
  925. sub callBackAtTime ()              {          1; }
  926. sub callBackAtRate ()              {          2; }
  927. sub callBackAtTimeJump ()          {          3; }
  928. sub callBackAtExtremes ()          {          4; }
  929. sub callBackAtInterrupt ()         {     0x8000; }
  930. sub callBackAtDeferredTask ()      {     0x4000; }
  931.  
  932.  
  933. =item qtcbNeedsRateChanges
  934.  
  935. =item qtcbNeedsTimeChanges
  936.  
  937. =item qtcbNeedsStartStopChanges
  938.  
  939. =cut
  940. sub qtcbNeedsRateChanges ()        {          1; }
  941. sub qtcbNeedsTimeChanges ()        {          2; }
  942. sub qtcbNeedsStartStopChanges ()   {          4; }
  943.  
  944.  
  945. =item keepInRam
  946.  
  947. =item unkeepInRam
  948.  
  949. =item flushFromRam
  950.  
  951. =item loadForwardTrackEdits
  952.  
  953. =item loadBackwardTrackEdits
  954.  
  955. =cut
  956. sub keepInRam ()                   {     1 << 0; }
  957. sub unkeepInRam ()                 {     1 << 1; }
  958. sub flushFromRam ()                {     1 << 2; }
  959. sub loadForwardTrackEdits ()       {     1 << 3; }
  960. sub loadBackwardTrackEdits ()      {     1 << 4; }
  961.  
  962.  
  963. =item newMovieActive
  964.  
  965. =item newMovieDontResolveDataRefs
  966.  
  967. =item newMovieDontAskUnresolvedDataRefs
  968.  
  969. =item newMovieDontAutoAlternates
  970.  
  971. =item newMovieDontUpdateForeBackPointers
  972.  
  973. =cut
  974. sub newMovieActive ()              {     1 << 0; }
  975. sub newMovieDontResolveDataRefs () {     1 << 1; }
  976. sub newMovieDontAskUnresolvedDataRefs () {     1 << 2; }
  977. sub newMovieDontAutoAlternates ()  {     1 << 3; }
  978. sub newMovieDontUpdateForeBackPointers () {     1 << 4; }
  979.  
  980.  
  981. =item trackUsageInMovie
  982.  
  983. =item trackUsageInPreview
  984.  
  985. =item trackUsageInPoster
  986.  
  987. =cut
  988. sub trackUsageInMovie ()           {     1 << 1; }
  989. sub trackUsageInPreview ()         {     1 << 2; }
  990. sub trackUsageInPoster ()          {     1 << 3; }
  991.  
  992.  
  993. =item mediaSampleNotSync
  994.  
  995. =item mediaSampleShadowSync
  996.  
  997. =cut
  998. sub mediaSampleNotSync ()          {     1 << 0; }
  999. sub mediaSampleShadowSync ()       {     1 << 1; }
  1000.  
  1001.  
  1002. =item pasteInParallel
  1003.  
  1004. =item showUserSettingsDialog
  1005.  
  1006. =item movieToFileOnlyExport
  1007.  
  1008. =item movieFileSpecValid
  1009.  
  1010. =cut
  1011. sub pasteInParallel ()             {     1 << 0; }
  1012. sub showUserSettingsDialog ()      {     1 << 1; }
  1013. sub movieToFileOnlyExport ()       {     1 << 2; }
  1014. sub movieFileSpecValid ()          {     1 << 3; }
  1015.  
  1016.  
  1017. =item nextTimeMediaSample
  1018.  
  1019. =item nextTimeMediaEdit
  1020.  
  1021. =item nextTimeTrackEdit
  1022.  
  1023. =item nextTimeSyncSample
  1024.  
  1025. =item nextTimeStep
  1026.  
  1027. =item nextTimeEdgeOK
  1028.  
  1029. =item nextTimeIgnoreActiveSegment
  1030.  
  1031. =cut
  1032. sub nextTimeMediaSample ()         {     1 << 0; }
  1033. sub nextTimeMediaEdit ()           {     1 << 1; }
  1034. sub nextTimeTrackEdit ()           {     1 << 2; }
  1035. sub nextTimeSyncSample ()          {     1 << 3; }
  1036. sub nextTimeStep ()                {     1 << 4; }
  1037. sub nextTimeEdgeOK ()              {    1 << 14; }
  1038. sub nextTimeIgnoreActiveSegment () {    1 << 15; }
  1039.  
  1040.  
  1041. =item createMovieFileDeleteCurFile
  1042.  
  1043. =item createMovieFileDontCreateMovie
  1044.  
  1045. =item createMovieFileDontOpenFile
  1046.  
  1047. =cut
  1048. sub createMovieFileDeleteCurFile () {   1 << 31; }
  1049. sub createMovieFileDontCreateMovie () {   1 << 30; }
  1050. sub createMovieFileDontOpenFile () {   1 << 29; }
  1051.  
  1052.  
  1053. =item flattenAddMovieToDataFork
  1054.  
  1055. =item flattenActiveTracksOnly
  1056.  
  1057. =item flattenDontInterleaveFlatten
  1058.  
  1059. =item flattenFSSpecPtrIsDataRefRecordPtr
  1060.  
  1061. =cut
  1062. sub flattenAddMovieToDataFork ()   {    1 << 0; }
  1063. sub flattenActiveTracksOnly ()     {    1 << 2; }
  1064. sub flattenDontInterleaveFlatten () {    1 << 3; }
  1065. sub flattenFSSpecPtrIsDataRefRecordPtr () {    1 << 4; }
  1066.  
  1067.  
  1068. =item movieInDataForkResID
  1069.  
  1070. =cut
  1071. sub movieInDataForkResID ()        {         -1; }
  1072.  
  1073.  
  1074. =item mcTopLeftMovie
  1075.  
  1076. =item mcScaleMovieToFit
  1077.  
  1078. =item mcWithBadge
  1079.  
  1080. =item mcNotVisible
  1081.  
  1082. =item mcWithFrame
  1083.  
  1084. =cut
  1085. sub mcTopLeftMovie ()              {     1 << 0; }
  1086. sub mcScaleMovieToFit ()           {     1 << 1; }
  1087. sub mcWithBadge ()                 {     1 << 2; }
  1088. sub mcNotVisible ()                {     1 << 3; }
  1089. sub mcWithFrame ()                 {     1 << 4; }
  1090.  
  1091.  
  1092. =item movieScrapDontZeroScrap
  1093.  
  1094. =item movieScrapOnlyPutMovie
  1095.  
  1096. =cut
  1097. sub movieScrapDontZeroScrap ()     {     1 << 0; }
  1098. sub movieScrapOnlyPutMovie ()      {     1 << 1; }
  1099.  
  1100.  
  1101. =item dataRefSelfReference
  1102.  
  1103. =item dataRefWasNotResolved
  1104.  
  1105. =cut
  1106. sub dataRefSelfReference ()        {     1 << 0; }
  1107. sub dataRefWasNotResolved ()       {     1 << 1; }
  1108.  
  1109.  
  1110. =item hintsScrubMode
  1111.  
  1112. =item hintsLoop
  1113.  
  1114. =item hintsDontPurge
  1115.  
  1116. =item hintsUseScreenBuffer
  1117.  
  1118. =item hintsAllowInterlace
  1119.  
  1120. =item hintsUseSoundInterp
  1121.  
  1122. =item hintsHighQuality
  1123.  
  1124. =item hintsPalindrome
  1125.  
  1126. =item hintsInactive
  1127.  
  1128. =cut
  1129. sub hintsScrubMode ()              {     1 << 0; }
  1130. sub hintsLoop ()                   {     1 << 1; }
  1131. sub hintsDontPurge ()              {     1 << 2; }
  1132. sub hintsUseScreenBuffer ()        {     1 << 5; }
  1133. sub hintsAllowInterlace ()         {     1 << 6; }
  1134. sub hintsUseSoundInterp ()         {     1 << 7; }
  1135. sub hintsHighQuality ()            {     1 << 8; }
  1136. sub hintsPalindrome ()             {     1 << 9; }
  1137. sub hintsInactive ()               {    1 << 11; }
  1138.  
  1139.  
  1140. =item mediaHandlerFlagBaseClient
  1141.  
  1142. =cut
  1143. sub mediaHandlerFlagBaseClient ()  {          1; }
  1144.  
  1145.  
  1146. =item movieTrackMediaType
  1147.  
  1148. =item movieTrackCharacteristic
  1149.  
  1150. =item movieTrackEnabledOnly
  1151.  
  1152. =cut
  1153. sub movieTrackMediaType ()         {     1 << 0; }
  1154. sub movieTrackCharacteristic ()    {     1 << 1; }
  1155. sub movieTrackEnabledOnly ()       {     1 << 2; }
  1156.  
  1157.  
  1158. =item movieDrawingCallWhenChanged
  1159.  
  1160. =item movieDrawingCallAlways
  1161.  
  1162. =cut
  1163. sub movieDrawingCallWhenChanged () {          0; }
  1164. sub movieDrawingCallAlways ()      {          1; }
  1165.  
  1166.  
  1167. =item preloadAlways
  1168.  
  1169. =item preloadOnlyIfEnabled
  1170.  
  1171. =cut
  1172. sub preloadAlways ()               {    1 << 0; }
  1173. sub preloadOnlyIfEnabled ()        {    1 << 1; }
  1174.  
  1175.  
  1176. =item fullScreenHideCursor
  1177.  
  1178. =item fullScreenAllowEvents
  1179.  
  1180. =item fullScreenDontChangeMenuBar
  1181.  
  1182. =item fullScreenPreflightSize
  1183.  
  1184. =cut
  1185. sub fullScreenHideCursor ()        {    1 << 0; }
  1186. sub fullScreenAllowEvents ()       {    1 << 1; }
  1187. sub fullScreenDontChangeMenuBar () {    1 << 2; }
  1188. sub fullScreenPreflightSize ()     {    1 << 3; }
  1189.  
  1190.  
  1191. =item kBackgroundSpriteLayerNum
  1192.  
  1193. =item kSpritePropertyMatrix
  1194.  
  1195. =item kSpritePropertyImageDescription
  1196.  
  1197. =item kSpritePropertyImageDataPtr
  1198.  
  1199. =item kSpritePropertyVisible
  1200.  
  1201. =item kSpritePropertyLayer
  1202.  
  1203. =item kSpritePropertyGraphicsMode
  1204.  
  1205. =item kSpritePropertyImageIndex
  1206.  
  1207. =item kSpriteTrackPropertyBackgroundColor
  1208.  
  1209. =item kSpriteTrackPropertyOffscreenBitDepth
  1210.  
  1211. =item kSpriteTrackPropertySampleFormat
  1212.  
  1213. =item kOnlyDrawToSpriteWorld
  1214.  
  1215. =item kSpriteWorldPreflight
  1216.  
  1217. =item kSpriteWorldDidDraw
  1218.  
  1219. =item kSpriteWorldNeedsToDraw
  1220.  
  1221. =item kKeyFrameAndSingleOverride
  1222.  
  1223. =item kKeyFrameAndAllOverrides
  1224.  
  1225. =item kParentAtomIsContainer
  1226.  
  1227. =item kITextRemoveEverythingBut
  1228.  
  1229. =item kITextRemoveLeaveSuggestedAlternate
  1230.  
  1231. =item kITextAtomType
  1232.  
  1233. =item kITextStringAtomType
  1234.  
  1235. =item kTrackModifierInput
  1236.  
  1237. =item kTrackModifierType
  1238.  
  1239. =item kTrackModifierReference
  1240.  
  1241. =item kTrackModifierObjectID
  1242.  
  1243. =item kTrackModifierInputName
  1244.  
  1245. =item kInputMapSubInputID
  1246.  
  1247. =item kTrackModifierTypeMatrix
  1248.  
  1249. =item kTrackModifierTypeClip
  1250.  
  1251. =item kTrackModifierTypeGraphicsMode
  1252.  
  1253. =item kTrackModifierTypeVolume
  1254.  
  1255. =item kTrackModifierTypeBalance
  1256.  
  1257. =item kTrackModifierTypeSpriteImage
  1258.  
  1259. =item kTrackModifierObjectMatrix
  1260.  
  1261. =item kTrackModifierObjectGraphicsMode
  1262.  
  1263. =item kTrackModifierType3d4x4Matrix
  1264.  
  1265. =item kTrackModifierCameraData
  1266.  
  1267. =item kTrackModifierSoundLocalizationData
  1268.  
  1269. =item kTweenTypeShort
  1270.  
  1271. =item kTweenTypeLong
  1272.  
  1273. =item kTweenTypeFixed
  1274.  
  1275. =item kTweenTypePoint
  1276.  
  1277. =item kTweenTypeQDRect
  1278.  
  1279. =item kTweenTypeQDRegion
  1280.  
  1281. =item kTweenTypeMatrix
  1282.  
  1283. =item kTweenTypeRGBColor
  1284.  
  1285. =item kTweenTypeGraphicsModeWithRGBColor
  1286.  
  1287. =item kTweenType3dScale
  1288.  
  1289. =item kTweenType3dTranslate
  1290.  
  1291. =item kTweenType3dRotate
  1292.  
  1293. =item kTweenType3dRotateAboutPoint
  1294.  
  1295. =item kTweenType3dRotateAboutAxis
  1296.  
  1297. =item kTweenType3dQuaternion
  1298.  
  1299. =item kTweenType3dMatrix
  1300.  
  1301. =item kTweenType3dCameraData
  1302.  
  1303. =item kTweenType3dSoundLocalizationData
  1304.  
  1305. =item kTweenEntry
  1306.  
  1307. =item kTweenData
  1308.  
  1309. =item kTweenType
  1310.  
  1311. =item kTweenStartOffset
  1312.  
  1313. =item kTweenDuration
  1314.  
  1315. =item kTween3dInitialCondition
  1316.  
  1317. =item kTweenInterpolationStyle
  1318.  
  1319. =item kTweenRegionData
  1320.  
  1321. =item kTweenPictureData
  1322.  
  1323. =item internalComponentErr
  1324.  
  1325. =item notImplementedMusicOSErr
  1326.  
  1327. =item cantSendToSynthesizerOSErr
  1328.  
  1329. =item cantReceiveFromSynthesizerOSErr
  1330.  
  1331. =item illegalVoiceAllocationOSErr
  1332.  
  1333. =item illegalPartOSErr
  1334.  
  1335. =item illegalChannelOSErr
  1336.  
  1337. =item illegalKnobOSErr
  1338.  
  1339. =item illegalKnobValueOSErr
  1340.  
  1341. =item illegalInstrumentOSErr
  1342.  
  1343. =item illegalControllerOSErr
  1344.  
  1345. =item midiManagerAbsentOSErr
  1346.  
  1347. =item synthesizerNotRespondingOSErr
  1348.  
  1349. =item synthesizerOSErr
  1350.  
  1351. =item illegalNoteChannelOSErr
  1352.  
  1353. =item noteChannelNotAllocatedOSErr
  1354.  
  1355. =item tunePlayerFullOSErr
  1356.  
  1357. =item tuneParseOSErr
  1358.  
  1359. =item videoFlagDontLeanAhead
  1360.  
  1361. =item txtProcDefaultDisplay
  1362.  
  1363. =item txtProcDontDisplay
  1364.  
  1365. =item txtProcDoDisplay
  1366.  
  1367. =item findTextEdgeOK
  1368.  
  1369. =item findTextCaseSensitive
  1370.  
  1371. =item findTextReverseSearch
  1372.  
  1373. =item findTextWrapAround
  1374.  
  1375. =item findTextUseOffset
  1376.  
  1377. =item dropShadowOffsetType
  1378.  
  1379. =item dropShadowTranslucencyType
  1380.  
  1381. =item spriteHitTestBounds
  1382.  
  1383. =item spriteHitTestImage
  1384.  
  1385. =item kSpriteAtomType
  1386.  
  1387. =item kSpriteImagesContainerAtomType
  1388.  
  1389. =item kSpriteImageAtomType
  1390.  
  1391. =item kSpriteImageDataAtomType
  1392.  
  1393. =item kSpriteSharedDataAtomType
  1394.  
  1395. =item kSpriteNameAtomType
  1396.  
  1397. =item MovieControllerComponentType
  1398.  
  1399. =cut
  1400. sub kBackgroundSpriteLayerNum ()   {      32767; }
  1401. sub kSpritePropertyMatrix ()       {          1; }
  1402. sub kSpritePropertyImageDescription () {          2; }
  1403. sub kSpritePropertyImageDataPtr () {          3; }
  1404. sub kSpritePropertyVisible ()      {          4; }
  1405. sub kSpritePropertyLayer ()        {          5; }
  1406. sub kSpritePropertyGraphicsMode () {          6; }
  1407. sub kSpritePropertyImageIndex ()   {        100; }
  1408. sub kSpriteTrackPropertyBackgroundColor () {        101; }
  1409. sub kSpriteTrackPropertyOffscreenBitDepth () {        102; }
  1410. sub kSpriteTrackPropertySampleFormat () {        103; }
  1411. sub kOnlyDrawToSpriteWorld ()      {    1 << 0; }
  1412. sub kSpriteWorldPreflight ()       {    1 << 1; }
  1413. sub kSpriteWorldDidDraw ()         {    1 << 0; }
  1414. sub kSpriteWorldNeedsToDraw ()     {    1 << 1; }
  1415. sub kKeyFrameAndSingleOverride ()  {    1 << 1; }
  1416. sub kKeyFrameAndAllOverrides ()    {    1 << 2; }
  1417. sub kParentAtomIsContainer ()      {          0; }
  1418. sub kITextRemoveEverythingBut ()   {     0 << 1; }
  1419. sub kITextRemoveLeaveSuggestedAlternate () {     1 << 1; }
  1420. sub kITextAtomType ()              {     'itxt'; }
  1421. sub kITextStringAtomType ()        {     'text'; }
  1422. sub kTrackModifierInput ()         {     0x696E; }
  1423. sub kTrackModifierType ()          {     0x7479; }
  1424. sub kTrackModifierReference ()     {     'ssrc'; }
  1425. sub kTrackModifierObjectID ()      {     'obid'; }
  1426. sub kTrackModifierInputName ()     {     'name'; }
  1427. sub kInputMapSubInputID ()         {     'subi'; }
  1428. sub kTrackModifierTypeMatrix ()    {          1; }
  1429. sub kTrackModifierTypeClip ()      {          2; }
  1430. sub kTrackModifierTypeGraphicsMode () {          5; }
  1431. sub kTrackModifierTypeVolume ()    {          3; }
  1432. sub kTrackModifierTypeBalance ()   {          4; }
  1433. sub kTrackModifierTypeSpriteImage () {     'vide'; }
  1434. sub kTrackModifierObjectMatrix ()  {          6; }
  1435. sub kTrackModifierObjectGraphicsMode () {          7; }
  1436. sub kTrackModifierType3d4x4Matrix () {          8; }
  1437. sub kTrackModifierCameraData ()    {          9; }
  1438. sub kTrackModifierSoundLocalizationData () {         10; }
  1439. sub kTweenTypeShort ()             {          1; }
  1440. sub kTweenTypeLong ()              {          2; }
  1441. sub kTweenTypeFixed ()             {          3; }
  1442. sub kTweenTypePoint ()             {          4; }
  1443. sub kTweenTypeQDRect ()            {          5; }
  1444. sub kTweenTypeQDRegion ()          {          6; }
  1445. sub kTweenTypeMatrix ()            {          7; }
  1446. sub kTweenTypeRGBColor ()          {          8; }
  1447. sub kTweenTypeGraphicsModeWithRGBColor () {          9; }
  1448. sub kTweenType3dScale ()           {     '3sca'; }
  1449. sub kTweenType3dTranslate ()       {     '3tra'; }
  1450. sub kTweenType3dRotate ()          {     '3rot'; }
  1451. sub kTweenType3dRotateAboutPoint () {     '3rap'; }
  1452. sub kTweenType3dRotateAboutAxis () {     '3rax'; }
  1453. sub kTweenType3dQuaternion ()      {     '3qua'; }
  1454. sub kTweenType3dMatrix ()          {     '3mat'; }
  1455. sub kTweenType3dCameraData ()      {     '3cam'; }
  1456. sub kTweenType3dSoundLocalizationData () {     '3slc'; }
  1457. sub kTweenEntry ()                 {     'twen'; }
  1458. sub kTweenData ()                  {     'data'; }
  1459. sub kTweenType ()                  {     'twnt'; }
  1460. sub kTweenStartOffset ()           {     'twst'; }
  1461. sub kTweenDuration ()              {     'twdu'; }
  1462. sub kTween3dInitialCondition ()    {     'icnd'; }
  1463. sub kTweenInterpolationStyle ()    {     'isty'; }
  1464. sub kTweenRegionData ()            {     'qdrg'; }
  1465. sub kTweenPictureData ()           {     'PICT'; }
  1466. sub internalComponentErr ()        {      -2070; }
  1467. sub notImplementedMusicOSErr ()    {      -2071; }
  1468. sub cantSendToSynthesizerOSErr ()  {      -2072; }
  1469. sub cantReceiveFromSynthesizerOSErr () {      -2073; }
  1470. sub illegalVoiceAllocationOSErr () {      -2074; }
  1471. sub illegalPartOSErr ()            {      -2075; }
  1472. sub illegalChannelOSErr ()         {      -2076; }
  1473. sub illegalKnobOSErr ()            {      -2077; }
  1474. sub illegalKnobValueOSErr ()       {      -2078; }
  1475. sub illegalInstrumentOSErr ()      {      -2079; }
  1476. sub illegalControllerOSErr ()      {      -2080; }
  1477. sub midiManagerAbsentOSErr ()      {      -2081; }
  1478. sub synthesizerNotRespondingOSErr () {      -2082; }
  1479. sub synthesizerOSErr ()            {      -2083; }
  1480. sub illegalNoteChannelOSErr ()     {      -2084; }
  1481. sub noteChannelNotAllocatedOSErr () {      -2085; }
  1482. sub tunePlayerFullOSErr ()         {      -2086; }
  1483. sub tuneParseOSErr ()              {      -2087; }
  1484. sub videoFlagDontLeanAhead ()      {    1 << 0; }
  1485. sub txtProcDefaultDisplay ()       {          0; }
  1486. sub txtProcDontDisplay ()          {          1; }
  1487. sub txtProcDoDisplay ()            {          2; }
  1488. sub findTextEdgeOK ()              {     1 << 0; }
  1489. sub findTextCaseSensitive ()       {     1 << 1; }
  1490. sub findTextReverseSearch ()       {     1 << 2; }
  1491. sub findTextWrapAround ()          {     1 << 3; }
  1492. sub findTextUseOffset ()           {     1 << 4; }
  1493. sub dropShadowOffsetType ()        {     'drpo'; }
  1494. sub dropShadowTranslucencyType ()  {     'drpt'; }
  1495. sub spriteHitTestBounds ()         {    1 << 0; }
  1496. sub spriteHitTestImage ()          {    1 << 1; }
  1497. sub kSpriteAtomType ()             {     'sprt'; }
  1498. sub kSpriteImagesContainerAtomType () {     'imct'; }
  1499. sub kSpriteImageAtomType ()        {     'imag'; }
  1500. sub kSpriteImageDataAtomType ()    {     'imda'; }
  1501. sub kSpriteSharedDataAtomType ()   {     'dflt'; }
  1502. sub kSpriteNameAtomType ()         {     'name'; }
  1503. sub MovieControllerComponentType () {     'play'; }
  1504.  
  1505.  
  1506. =item mcActionIdle
  1507.  
  1508. =item mcActionDraw
  1509.  
  1510. =item mcActionActivate
  1511.  
  1512. =item mcActionDeactivate
  1513.  
  1514. =item mcActionMouseDown
  1515.  
  1516. =item mcActionKey
  1517.  
  1518. =item mcActionPlay
  1519.  
  1520. =item mcActionGoToTime
  1521.  
  1522. =item mcActionSetVolume
  1523.  
  1524. =item mcActionGetVolume
  1525.  
  1526. =item mcActionStep
  1527.  
  1528. =item mcActionSetLooping
  1529.  
  1530. =item mcActionGetLooping
  1531.  
  1532. =item mcActionSetLoopIsPalindrome
  1533.  
  1534. =item mcActionGetLoopIsPalindrome
  1535.  
  1536. =item mcActionSetGrowBoxBounds
  1537.  
  1538. =item mcActionControllerSizeChanged
  1539.  
  1540. =item mcActionSetSelectionBegin
  1541.  
  1542. =item mcActionSetSelectionDuration
  1543.  
  1544. =item mcActionSetKeysEnabled
  1545.  
  1546. =item mcActionGetKeysEnabled
  1547.  
  1548. =item mcActionSetPlaySelection
  1549.  
  1550. =item mcActionGetPlaySelection
  1551.  
  1552. =item mcActionSetUseBadge
  1553.  
  1554. =item mcActionGetUseBadge
  1555.  
  1556. =item mcActionSetFlags
  1557.  
  1558. =item mcActionGetFlags
  1559.  
  1560. =item mcActionSetPlayEveryFrame
  1561.  
  1562. =item mcActionGetPlayEveryFrame
  1563.  
  1564. =item mcActionGetPlayRate
  1565.  
  1566. =item mcActionShowBalloon
  1567.  
  1568. =item mcActionBadgeClick
  1569.  
  1570. =item mcActionMovieClick
  1571.  
  1572. =item mcActionSuspend
  1573.  
  1574. =item mcActionResume
  1575.  
  1576. =item mcActionSetControllerKeysEnabled
  1577.  
  1578. =item mcActionGetTimeSliderRect
  1579.  
  1580. =item mcActionMovieEdited
  1581.  
  1582. =item mcActionGetDragEnabled
  1583.  
  1584. =item mcActionSetDragEnabled
  1585.  
  1586. =item mcActionGetSelectionBegin
  1587.  
  1588. =item mcActionGetSelectionDuration
  1589.  
  1590. =item mcActionPrerollAndPlay
  1591.  
  1592. =item mcActionGetCursorSettingEnabled
  1593.  
  1594. =item mcActionSetCursorSettingEnabled
  1595.  
  1596. =item mcActionSetColorTable
  1597.  
  1598. =cut
  1599. sub mcActionIdle ()                {          1; }
  1600. sub mcActionDraw ()                {          2; }
  1601. sub mcActionActivate ()            {          3; }
  1602. sub mcActionDeactivate ()          {          4; }
  1603. sub mcActionMouseDown ()           {          5; }
  1604. sub mcActionKey ()                 {          6; }
  1605. sub mcActionPlay ()                {          8; }
  1606. sub mcActionGoToTime ()            {         12; }
  1607. sub mcActionSetVolume ()           {         14; }
  1608. sub mcActionGetVolume ()           {         15; }
  1609. sub mcActionStep ()                {         18; }
  1610. sub mcActionSetLooping ()          {         21; }
  1611. sub mcActionGetLooping ()          {         22; }
  1612. sub mcActionSetLoopIsPalindrome () {         23; }
  1613. sub mcActionGetLoopIsPalindrome () {         24; }
  1614. sub mcActionSetGrowBoxBounds ()    {         25; }
  1615. sub mcActionControllerSizeChanged () {         26; }
  1616. sub mcActionSetSelectionBegin ()   {         29; }
  1617. sub mcActionSetSelectionDuration () {         30; }
  1618. sub mcActionSetKeysEnabled ()      {         32; }
  1619. sub mcActionGetKeysEnabled ()      {         33; }
  1620. sub mcActionSetPlaySelection ()    {         34; }
  1621. sub mcActionGetPlaySelection ()    {         35; }
  1622. sub mcActionSetUseBadge ()         {         36; }
  1623. sub mcActionGetUseBadge ()         {         37; }
  1624. sub mcActionSetFlags ()            {         38; }
  1625. sub mcActionGetFlags ()            {         39; }
  1626. sub mcActionSetPlayEveryFrame ()   {         40; }
  1627. sub mcActionGetPlayEveryFrame ()   {         41; }
  1628. sub mcActionGetPlayRate ()         {         42; }
  1629. sub mcActionShowBalloon ()         {         43; }
  1630. sub mcActionBadgeClick ()          {         44; }
  1631. sub mcActionMovieClick ()          {         45; }
  1632. sub mcActionSuspend ()             {         46; }
  1633. sub mcActionResume ()              {         47; }
  1634. sub mcActionSetControllerKeysEnabled () {         48; }
  1635. sub mcActionGetTimeSliderRect ()   {         49; }
  1636. sub mcActionMovieEdited ()         {         50; }
  1637. sub mcActionGetDragEnabled ()      {         51; }
  1638. sub mcActionSetDragEnabled ()      {         52; }
  1639. sub mcActionGetSelectionBegin ()   {         53; }
  1640. sub mcActionGetSelectionDuration () {         54; }
  1641. sub mcActionPrerollAndPlay ()      {         55; }
  1642. sub mcActionGetCursorSettingEnabled () {         56; }
  1643. sub mcActionSetCursorSettingEnabled () {         57; }
  1644. sub mcActionSetColorTable ()       {         58; }
  1645.  
  1646.  
  1647. =item mcFlagSuppressMovieFrame
  1648.  
  1649. =item mcFlagSuppressStepButtons
  1650.  
  1651. =item mcFlagSuppressSpeakerButton
  1652.  
  1653. =item mcFlagsUseWindowPalette
  1654.  
  1655. =item mcFlagsDontInvalidate
  1656.  
  1657. =item mcPositionDontInvalidate
  1658.  
  1659. =cut
  1660. sub mcFlagSuppressMovieFrame ()    {     1 << 0; }
  1661. sub mcFlagSuppressStepButtons ()   {     1 << 1; }
  1662. sub mcFlagSuppressSpeakerButton () {     1 << 2; }
  1663. sub mcFlagsUseWindowPalette ()     {     1 << 3; }
  1664. sub mcFlagsDontInvalidate ()       {     1 << 4; }
  1665. sub mcPositionDontInvalidate ()    {     1 << 5; }
  1666.  
  1667.  
  1668. =item mcInfoUndoAvailable
  1669.  
  1670. =item mcInfoCutAvailable
  1671.  
  1672. =item mcInfoCopyAvailable
  1673.  
  1674. =item mcInfoPasteAvailable
  1675.  
  1676. =item mcInfoClearAvailable
  1677.  
  1678. =item mcInfoHasSound
  1679.  
  1680. =item mcInfoIsPlaying
  1681.  
  1682. =item mcInfoIsLooping
  1683.  
  1684. =item mcInfoIsInPalindrome
  1685.  
  1686. =item mcInfoEditingEnabled
  1687.  
  1688. =item mcInfoMovieIsInteractive
  1689.  
  1690. =cut
  1691. sub mcInfoUndoAvailable ()         {     1 << 0; }
  1692. sub mcInfoCutAvailable ()          {     1 << 1; }
  1693. sub mcInfoCopyAvailable ()         {     1 << 2; }
  1694. sub mcInfoPasteAvailable ()        {     1 << 3; }
  1695. sub mcInfoClearAvailable ()        {     1 << 4; }
  1696. sub mcInfoHasSound ()              {     1 << 5; }
  1697. sub mcInfoIsPlaying ()             {     1 << 6; }
  1698. sub mcInfoIsLooping ()             {     1 << 7; }
  1699. sub mcInfoIsInPalindrome ()        {     1 << 8; }
  1700. sub mcInfoEditingEnabled ()        {     1 << 9; }
  1701. sub mcInfoMovieIsInteractive ()    {    1 << 10; }
  1702.  
  1703.  
  1704. =item mcMenuUndo
  1705.  
  1706. =item mcMenuCut
  1707.  
  1708. =item mcMenuCopy
  1709.  
  1710. =item mcMenuPaste
  1711.  
  1712. =item mcMenuClear
  1713.  
  1714. Lots of as yet unspecified constants.
  1715.  
  1716. =cut
  1717. sub mcMenuUndo ()                  {          1; }
  1718. sub mcMenuCut ()                   {          3; }
  1719. sub mcMenuCopy ()                  {          4; }
  1720. sub mcMenuPaste ()                 {          5; }
  1721. sub mcMenuClear ()                 {          6; }
  1722.  
  1723. =back
  1724.  
  1725. =cut
  1726.  
  1727. %ActionFilter = ();
  1728.  
  1729. sub _ActionFilter {
  1730.     my $controller  = $_[0];
  1731.     my $filter      = $ActionFilter{$controller};
  1732.     
  1733.     $filter ? &$filter(@_) : 0;
  1734. }
  1735.  
  1736. sub DisposeMovieController {
  1737.     my $controller = $_[0];
  1738.     _DisposeMovieController($controller);
  1739.     delete $ActionFilter{$controller};
  1740. }
  1741.  
  1742. sub MCSetActionFilter {
  1743.     my ($mc,$filter) = @_;
  1744.     
  1745.     if ($filter) {
  1746.         $ActionFilter{$mc} = $filter;
  1747.         _MCSetActionFilter($mc, 0);
  1748.     } else {
  1749.         _MCSetActionFilter($mc, 0);
  1750.         delete $ActionFilter{$mc};
  1751.     }
  1752. }
  1753.  
  1754. sub MCGetMovie {
  1755.     my ($mc) = @_;
  1756.     
  1757.     return MCGetIndMovie($mc, 0);
  1758. }
  1759.  
  1760. =include Movies.xs
  1761.  
  1762. =head2 Extension to MacWindow
  1763.  
  1764. =over 4
  1765.  
  1766. =cut
  1767. package MacWindow;
  1768.  
  1769. use Carp;
  1770. import Mac::Movies;
  1771.  
  1772. =item new_movie [CLASS, ] MOVIECONTROLLER [, CANFOCUS ]
  1773.  
  1774. =item new_movie [CLASS, ] MOVIE, RECT [, FLAGS [, CANFOCUS ]]
  1775.  
  1776. Create a new movie controller, attach it to the window, and return it. In the 
  1777. first form, registers an existing movie controller. In the second form, calls 
  1778. C<NewMovieController>.
  1779.  
  1780. =cut
  1781. sub new_movie {
  1782.     my($my) = shift @_;
  1783.     my($type) = @_;
  1784.     my($class,$mc, $focus);
  1785.  
  1786.     if (ref($type) || $type =~ /^\d+$/) {
  1787.         $class = "MacMovie"
  1788.     } else {
  1789.         $class = shift @_;
  1790.         $type  = $_[0];
  1791.     }
  1792.     if (ref($type) ne "Movie") {
  1793.         $focus = pop(@_) if scalar(@_)>1;
  1794.         $mc = $type;
  1795.     } else {
  1796.         $focus = pop(@_) if scalar(@_)>3;
  1797.         $mc    = NewMovieController(@_) or croak "NewMovieController failed";
  1798.     } 
  1799.     $class->new($my, $mc, $focus);
  1800. }
  1801.  
  1802. =head2 MacMovie - The object interface to a movie controller
  1803.  
  1804. MacMovie is a QuickTime Movie Controller embedded into a pane.
  1805.  
  1806. =cut
  1807. package MacMovie;
  1808.  
  1809. BEGIN {
  1810.     use Mac::Hooks ();
  1811.     use Mac::Pane;
  1812.     use Mac::Events;
  1813.     use Mac::Windows   qw(InvalRgn);
  1814.     use Mac::QuickDraw qw(GetPenState InsetRgn patOr patBic);
  1815.     import Mac::Movies;
  1816.  
  1817.     use vars qw(@ISA);
  1818.     
  1819.     @ISA = qw(Mac::Pane Mac::Hooks);
  1820. }
  1821.  
  1822. =item new WINDOW, CONTROLLER, FOCUS
  1823.  
  1824. Initialize a C<MacMovie> (which is always created with 
  1825. C<MacWindow::new_movie>).
  1826.  
  1827. =cut
  1828. sub new {
  1829.     my($class, $window, $mc, $focus) = @_;
  1830.  
  1831.     my(%vars) = (window => $window, movie => $mc, focus => $focus);
  1832.     
  1833.     my $me = bless \%vars, $class;
  1834.     
  1835.     $window->add_pane($me);
  1836.     $window->add_idle($me);
  1837.     $window->add_focusable($me) if $focus;
  1838.     
  1839.     InvalRgn MCGetControllerBoundsRgn($mc);
  1840.     
  1841.     $me;
  1842. }
  1843.  
  1844. =item dispose
  1845.  
  1846. Dispose of the movie controller.
  1847.  
  1848. =cut
  1849. sub dispose {
  1850.     my($my) = @_;
  1851.     DisposeMovieController($my->{movie}) if $my->{movie};
  1852.     delete $my->{movie};
  1853. }
  1854.  
  1855. =item DESTROY
  1856.  
  1857. Destroys the C<MacMovie>.
  1858.  
  1859. =cut
  1860. sub DESTROY {
  1861.     dispose(@_);
  1862. }
  1863.  
  1864. =item movie
  1865.  
  1866. Get the QuickTime Movie Controller.
  1867.  
  1868. =cut
  1869. sub movie {
  1870.     my($my) = @_;
  1871.     
  1872.     $my->{movie};
  1873. }
  1874.  
  1875. =item activate(WINDOW, ACTIVE, SUSPEND)
  1876.  
  1877. Handle activate/suspend.
  1878.  
  1879. =cut
  1880. sub activate {
  1881.     my($my, $window, $active, $suspend) = @_;
  1882.     
  1883.     MCActivate($my->{movie}, $window->window, $active);
  1884. }
  1885.  
  1886. =item focus(WINDOW, FOCUS)
  1887.  
  1888. Called by MacWindow to indicate that the movie has acquired (1) or lost (0) the 
  1889. focus.
  1890.  
  1891. =cut
  1892. sub focus {
  1893.     my($my, $window, $focus) = @_;
  1894.     my $movie = $my->{movie};
  1895.     
  1896.     MCDoAction($movie, mcActionSetKeysEnabled, $focus);
  1897.     
  1898.     $my->callhook("focus", @_) and return;
  1899.  
  1900.     return unless $window->can_focus;
  1901.     
  1902.     my $pen  = GetPenState;
  1903.     my $rgn  = InsetRgn MCGetControllerBoundsRgn($movie), -4, -4;   
  1904.     PenSize(2,2);
  1905.     PenMode($focus ? patOr : patBic);
  1906.     FrameRgn($rgn);
  1907.     SetPenState($pen);
  1908. }
  1909.  
  1910. =item redraw(WINDOW)
  1911.  
  1912. Redraw the contents of the pane.
  1913.  
  1914. =cut
  1915. sub redraw {
  1916.     my($my, $window) = @_;
  1917.     my $movie = $my->{movie};
  1918.     
  1919.     MCDraw($my->{movie}, $window->window);
  1920.  
  1921.     $my->callhook("redraw", @_) && return;
  1922.     
  1923.     return unless $window->has_focus($my) && $window->can_focus;
  1924.     
  1925.     my $pen  = GetPenState;
  1926.     my $rgn  = InsetRgn MCGetControllerBoundsRgn($movie), -4, -4;   
  1927.     PenSize(2,2);
  1928.     FrameRgn($rgn);
  1929.     SetPenState($pen);
  1930. }
  1931.  
  1932. =item key(WINDOW, KEY)
  1933.  
  1934. Handle a key stroke.
  1935.  
  1936. =cut
  1937. sub key {
  1938.     my($my, $window, $key) = @_;
  1939.     my $movie = $my->{movie};
  1940.     
  1941.     $my->callhook("key", @_) and return;
  1942.  
  1943.     MCKey($movie, $key, $Mac::Events::CurrentEvent->modifiers); 
  1944. }
  1945.  
  1946. =item click(WINDOW, PT)
  1947.  
  1948. Handle a click.
  1949.  
  1950. =cut
  1951. sub click {
  1952.     my($my, $window, $pt) = @_;
  1953.     my($res);
  1954.     
  1955.     ($res = $my->callhook("click", @_)) and return $res;
  1956.     
  1957.     MCClick(
  1958.         $my->{movie}, $window->window, $pt, 
  1959.         $Mac::Events::CurrentEvent->when,
  1960.         $Mac::Events::CurrentEvent->modifiers);
  1961. }
  1962.  
  1963. =item cursor(WINDOW, PT)
  1964.  
  1965. Do cursor.
  1966.  
  1967. =cut
  1968. sub cursor {
  1969.     my($my, $window, $pt) = @_;
  1970.     
  1971.     return PtInMovie(MCGetMovie($my->{movie}), $pt);
  1972. }
  1973.  
  1974. =item idle(WINDOW)
  1975.  
  1976. Do idle time.
  1977.  
  1978. =cut
  1979. sub idle {
  1980.     my($my, $window) = @_;
  1981.     
  1982.     MCIdle($my->{movie});
  1983. }
  1984.  
  1985. =head1 BUGS/LIMITATIONS
  1986.  
  1987. =head1 FILES
  1988.  
  1989. =head1 AUTHOR(S)
  1990.  
  1991. Matthias Ulrich Neeracher <neeri@iis.ee.ethz.ch> 
  1992.  
  1993. =cut
  1994.  
  1995. 1;
  1996.  
  1997. __END__
  1998.