home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / ComponentIncludes / MediaHandlers.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-27  |  13.7 KB  |  257 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        MediaHandlers.k.h
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    Technology:    
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __MEDIAHANDLERS_K__
  19. #define __MEDIAHANDLERS_K__
  20.  
  21. #include <MediaHandlers.h>
  22.  
  23. /*
  24.     Example usage:
  25.  
  26.         #define MEDIA_BASENAME()    Fred
  27.         #define MEDIA_GLOBALS()    FredGlobalsHandle
  28.         #include <MediaHandlers.k.h>
  29.  
  30.     To specify that your component implementation does not use globals, do not #define MEDIA_GLOBALS
  31. */
  32. #ifdef MEDIA_BASENAME
  33.     #ifndef MEDIA_GLOBALS
  34.         #define MEDIA_GLOBALS() 
  35.         #define ADD_MEDIA_COMMA 
  36.     #else
  37.         #define ADD_MEDIA_COMMA ,
  38.     #endif
  39.     #define MEDIA_GLUE(a,b) a##b
  40.     #define MEDIA_STRCAT(a,b) MEDIA_GLUE(a,b)
  41.     #define ADD_MEDIA_BASENAME(name) MEDIA_STRCAT(MEDIA_BASENAME(),name)
  42.  
  43.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Initialize) (MEDIA_GLOBALS() ADD_MEDIA_COMMA GetMovieCompleteParams * gmc);
  44.  
  45.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetHandlerCapabilities) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  flags, long  flagsMask);
  46.  
  47.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Idle) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  atMediaTime, long  flagsIn, long * flagsOut, const TimeRecord * movieTime);
  48.  
  49.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetMediaInfo) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Handle  h);
  50.  
  51.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(PutMediaInfo) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Handle  h);
  52.  
  53.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetActive) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Boolean  enableMedia);
  54.  
  55.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetRate) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Fixed  rate);
  56.  
  57.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GGetStatus) (MEDIA_GLOBALS() ADD_MEDIA_COMMA ComponentResult * statusErr);
  58.  
  59.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TrackEdited) (MEDIA_GLOBALS());
  60.  
  61.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetMediaTimeScale) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeScale  newTimeScale);
  62.  
  63.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetMovieTimeScale) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeScale  newTimeScale);
  64.  
  65.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetGWorld) (MEDIA_GLOBALS() ADD_MEDIA_COMMA CGrafPtr  aPort, GDHandle  aGD);
  66.  
  67.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetDimensions) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Fixed  width, Fixed  height);
  68.  
  69.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetClip) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  theClip);
  70.  
  71.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetMatrix) (MEDIA_GLOBALS() ADD_MEDIA_COMMA MatrixRecord * trackMovieMatrix);
  72.  
  73.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetTrackOpaque) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Boolean * trackIsOpaque);
  74.  
  75.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetGraphicsMode) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  mode, const RGBColor * opColor);
  76.  
  77.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetGraphicsMode) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long * mode, RGBColor * opColor);
  78.  
  79.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GSetVolume) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short  volume);
  80.  
  81.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetSoundBalance) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short  balance);
  82.  
  83.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSoundBalance) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short * balance);
  84.  
  85.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetNextBoundsChange) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue * when);
  86.  
  87.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSrcRgn) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  rgn, TimeValue  atMediaTime);
  88.  
  89.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Preroll) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  time, Fixed  rate);
  90.  
  91.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SampleDescriptionChanged) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  index);
  92.  
  93.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(HasCharacteristic) (MEDIA_GLOBALS() ADD_MEDIA_COMMA OSType  characteristic, Boolean * hasIt);
  94.  
  95.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetOffscreenBufferSize) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Rect * bounds, short  depth, CTabHandle  ctab);
  96.  
  97.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetHints) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  hints);
  98.  
  99.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetName) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Str255  name, long  requestedLanguage, long * actualLanguage);
  100.  
  101.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ForceUpdate) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  forceUpdateFlags);
  102.  
  103.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetDrawingRgn) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle * partialRgn);
  104.  
  105.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GSetActiveSegment) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  activeStart, TimeValue  activeDuration);
  106.  
  107.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(InvalidateRegion) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  invalRgn);
  108.  
  109.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetNextStepTime) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short  flags, TimeValue  mediaTimeIn, TimeValue * mediaTimeOut, Fixed  rate);
  110.  
  111.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetNonPrimarySourceData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex, long  dataDescriptionSeed, Handle  dataDescription, void * data, long  dataSize, ICMCompletionProcRecordPtr  asyncCompletionProc, UniversalProcPtr  transferProc, void * refCon);
  112.  
  113.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ChangedNonPrimarySource) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex);
  114.  
  115.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TrackReferencesChanged) (MEDIA_GLOBALS());
  116.  
  117.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSampleDataPointer) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  sampleNum, Ptr * dataPtr, long * dataSize, long * sampleDescIndex);
  118.  
  119.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ReleaseSampleDataPointer) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  sampleNum);
  120.  
  121.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TrackPropertyAtomChanged) (MEDIA_GLOBALS());
  122.  
  123.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetTrackInputMapReference) (MEDIA_GLOBALS() ADD_MEDIA_COMMA QTAtomContainer  inputMap);
  124.  
  125.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetVideoParam) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  whichParam, unsigned short * value);
  126.  
  127.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetVideoParam) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  whichParam, unsigned short * value);
  128.  
  129.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Compare) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Boolean * isOK, Media  srcMedia, ComponentInstance  srcMediaComponent);
  130.  
  131.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetClock) (MEDIA_GLOBALS() ADD_MEDIA_COMMA ComponentInstance * clock);
  132.  
  133.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetSoundOutputComponent) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Component  outputComponent);
  134.  
  135.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSoundOutputComponent) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Component * outputComponent);
  136.  
  137.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetSoundLocalizationData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Handle  data);
  138.  
  139.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetInvalidRegion) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  rgn);
  140.  
  141.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SampleDescriptionB2N) (MEDIA_GLOBALS() ADD_MEDIA_COMMA SampleDescriptionHandle  sampleDescriptionH);
  142.  
  143.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SampleDescriptionN2B) (MEDIA_GLOBALS() ADD_MEDIA_COMMA SampleDescriptionHandle  sampleDescriptionH);
  144.  
  145.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(QueueNonPrimarySourceData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex, long  dataDescriptionSeed, Handle  dataDescription, void * data, long  dataSize, ICMCompletionProcRecordPtr  asyncCompletionProc, const ICMFrameTimeRecord * frameTime, UniversalProcPtr  transferProc, void * refCon);
  146.  
  147.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(FlushNonPrimarySourceData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex);
  148.  
  149.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetURLLink) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Point  displayWhere, Handle * urlLink);
  150.  
  151.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(MakeMediaTimeTable) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long ** offsets, TimeValue  startTime, TimeValue  endTime, TimeValue  timeIncrement, short  firstDataRefIndex, short  lastDataRefIndex, long * retDataRefSkew);
  152.  
  153.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(HitTestForTargetRefCon) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  flags, Point  loc, long * targetRefCon);
  154.  
  155.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(HitTestTargetRefCon) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  targetRefCon, long  flags, Point  loc, Boolean * wasHit);
  156.  
  157.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetActionsForQTEvent) (MEDIA_GLOBALS() ADD_MEDIA_COMMA QTEventRecordPtr  event, long  targetRefCon, QTAtomContainer * container, QTAtom * atom);
  158.  
  159.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(DisposeTargetRefCon) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  targetRefCon);
  160.  
  161.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TargetRefConsEqual) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  firstRefCon, long  secondRefCon, Boolean * equal);
  162.  
  163.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetActionsCallback) (MEDIA_GLOBALS() ADD_MEDIA_COMMA ActionsUPP  actionsCallbackProc, void * refcon);
  164.  
  165.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(PrePrerollBegin) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  time, Fixed  rate, PrePrerollCompleteUPP  completeProc, void * refcon);
  166.  
  167.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(PrePrerollCancel) (MEDIA_GLOBALS() ADD_MEDIA_COMMA void * refcon);
  168.  
  169.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ExecuteOneAction) (MEDIA_GLOBALS() ADD_MEDIA_COMMA QTAtomContainer  container, QTAtom  actionAtom);
  170.  
  171.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(EnterEmptyEdit) (MEDIA_GLOBALS());
  172.  
  173.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(CurrentMediaQueuedData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long * milliSecs);
  174.  
  175.  
  176.     /* MixedMode ProcInfo constants for component calls */
  177.     enum {
  178.         uppMediaInitializeProcInfo = 0x000003F0,
  179.         uppMediaSetHandlerCapabilitiesProcInfo = 0x00000FF0,
  180.         uppMediaIdleProcInfo = 0x0000FFF0,
  181.         uppMediaGetMediaInfoProcInfo = 0x000003F0,
  182.         uppMediaPutMediaInfoProcInfo = 0x000003F0,
  183.         uppMediaSetActiveProcInfo = 0x000001F0,
  184.         uppMediaSetRateProcInfo = 0x000003F0,
  185.         uppMediaGGetStatusProcInfo = 0x000003F0,
  186.         uppMediaTrackEditedProcInfo = 0x000000F0,
  187.         uppMediaSetMediaTimeScaleProcInfo = 0x000003F0,
  188.         uppMediaSetMovieTimeScaleProcInfo = 0x000003F0,
  189.         uppMediaSetGWorldProcInfo = 0x00000FF0,
  190.         uppMediaSetDimensionsProcInfo = 0x00000FF0,
  191.         uppMediaSetClipProcInfo = 0x000003F0,
  192.         uppMediaSetMatrixProcInfo = 0x000003F0,
  193.         uppMediaGetTrackOpaqueProcInfo = 0x000003F0,
  194.         uppMediaSetGraphicsModeProcInfo = 0x00000FF0,
  195.         uppMediaGetGraphicsModeProcInfo = 0x00000FF0,
  196.         uppMediaGSetVolumeProcInfo = 0x000002F0,
  197.         uppMediaSetSoundBalanceProcInfo = 0x000002F0,
  198.         uppMediaGetSoundBalanceProcInfo = 0x000003F0,
  199.         uppMediaGetNextBoundsChangeProcInfo = 0x000003F0,
  200.         uppMediaGetSrcRgnProcInfo = 0x00000FF0,
  201.         uppMediaPrerollProcInfo = 0x00000FF0,
  202.         uppMediaSampleDescriptionChangedProcInfo = 0x000003F0,
  203.         uppMediaHasCharacteristicProcInfo = 0x00000FF0,
  204.         uppMediaGetOffscreenBufferSizeProcInfo = 0x00003BF0,
  205.         uppMediaSetHintsProcInfo = 0x000003F0,
  206.         uppMediaGetNameProcInfo = 0x00003FF0,
  207.         uppMediaForceUpdateProcInfo = 0x000003F0,
  208.         uppMediaGetDrawingRgnProcInfo = 0x000003F0,
  209.         uppMediaGSetActiveSegmentProcInfo = 0x00000FF0,
  210.         uppMediaInvalidateRegionProcInfo = 0x000003F0,
  211.         uppMediaGetNextStepTimeProcInfo = 0x0000FEF0,
  212.         uppMediaSetNonPrimarySourceDataProcInfo = 0x00FFFFF0,
  213.         uppMediaChangedNonPrimarySourceProcInfo = 0x000003F0,
  214.         uppMediaTrackReferencesChangedProcInfo = 0x000000F0,
  215.         uppMediaGetSampleDataPointerProcInfo = 0x0000FFF0,
  216.         uppMediaReleaseSampleDataPointerProcInfo = 0x000003F0,
  217.         uppMediaTrackPropertyAtomChangedProcInfo = 0x000000F0,
  218.         uppMediaSetTrackInputMapReferenceProcInfo = 0x000003F0,
  219.         uppMediaSetVideoParamProcInfo = 0x00000FF0,
  220.         uppMediaGetVideoParamProcInfo = 0x00000FF0,
  221.         uppMediaCompareProcInfo = 0x00003FF0,
  222.         uppMediaGetClockProcInfo = 0x000003F0,
  223.         uppMediaSetSoundOutputComponentProcInfo = 0x000003F0,
  224.         uppMediaGetSoundOutputComponentProcInfo = 0x000003F0,
  225.         uppMediaSetSoundLocalizationDataProcInfo = 0x000003F0,
  226.         uppMediaGetInvalidRegionProcInfo = 0x000003F0,
  227.         uppMediaSampleDescriptionB2NProcInfo = 0x000003F0,
  228.         uppMediaSampleDescriptionN2BProcInfo = 0x000003F0,
  229.         uppMediaQueueNonPrimarySourceDataProcInfo = 0x03FFFFF0,
  230.         uppMediaFlushNonPrimarySourceDataProcInfo = 0x000003F0,
  231.         uppMediaGetURLLinkProcInfo = 0x00000FF0,
  232.         uppMediaMakeMediaTimeTableProcInfo = 0x003AFFF0,
  233.         uppMediaHitTestForTargetRefConProcInfo = 0x00003FF0,
  234.         uppMediaHitTestTargetRefConProcInfo = 0x0000FFF0,
  235.         uppMediaGetActionsForQTEventProcInfo = 0x0000FFF0,
  236.         uppMediaDisposeTargetRefConProcInfo = 0x000003F0,
  237.         uppMediaTargetRefConsEqualProcInfo = 0x00003FF0,
  238.         uppMediaSetActionsCallbackProcInfo = 0x00000FF0,
  239.         uppMediaPrePrerollBeginProcInfo = 0x0000FFF0,
  240.         uppMediaPrePrerollCancelProcInfo = 0x000003F0,
  241.         uppMediaExecuteOneActionProcInfo = 0x00000FF0,
  242.         uppMediaEnterEmptyEditProcInfo = 0x000000F0,
  243.         uppMediaCurrentMediaQueuedDataProcInfo = 0x000003F0
  244.     };
  245.  
  246. #endif    /* MEDIA_BASENAME */
  247.  
  248. #ifdef MEDIA_BASENAME
  249. enum {
  250.     uppMediaSTSampleTableGetChunkNumProcInfo = SPECIAL_CASE_PROCINFO(specialMediaSTSampleTableGetChunkNum),
  251.     uppMediaSTPrivateSampleTableGetSampleProcInfo = SPECIAL_CASE_PROCINFO(specialMediaSTPrivateSampleTableGetSample)
  252. };
  253. #endif    /* MEDIA_BASENAME */
  254.  
  255. #endif /* __MEDIAHANDLERS_K__ */
  256.  
  257.