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

  1. /*
  2.      File:        QuickTimeComponents.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 __QUICKTIMECOMPONENTS_K__
  19. #define __QUICKTIMECOMPONENTS_K__
  20.  
  21. #include <QuickTimeComponents.h>
  22.  
  23. /*
  24.     Example usage:
  25.  
  26.         #define CLOCK_BASENAME()    Fred
  27.         #define CLOCK_GLOBALS()    FredGlobalsHandle
  28.         #include <QuickTimeComponents.k.h>
  29.  
  30.     To specify that your component implementation does not use globals, do not #define CLOCK_GLOBALS
  31. */
  32. #ifdef CLOCK_BASENAME
  33.     #ifndef CLOCK_GLOBALS
  34.         #define CLOCK_GLOBALS() 
  35.         #define ADD_CLOCK_COMMA 
  36.     #else
  37.         #define ADD_CLOCK_COMMA ,
  38.     #endif
  39.     #define CLOCK_GLUE(a,b) a##b
  40.     #define CLOCK_STRCAT(a,b) CLOCK_GLUE(a,b)
  41.     #define ADD_CLOCK_BASENAME(name) CLOCK_STRCAT(CLOCK_BASENAME(),name)
  42.  
  43.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetTime) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeRecord * out);
  44.  
  45.     EXTERN_API( QTCallBack  ) ADD_CLOCK_BASENAME(NewCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb, short  callBackType);
  46.  
  47.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(DisposeCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  48.  
  49.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CallMeWhen) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, long  param1, long  param2, long  param3);
  50.  
  51.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CancelCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  52.  
  53.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(RateChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  54.  
  55.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(TimeChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
  56.  
  57.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(SetTimeBase) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb);
  58.  
  59.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(StartStopChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, Boolean  startChanged, Boolean  stopChanged);
  60.  
  61.     EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetRate) (CLOCK_GLOBALS() ADD_CLOCK_COMMA Fixed * rate);
  62.  
  63.  
  64.     /* MixedMode ProcInfo constants for component calls */
  65.     enum {
  66.         uppClockGetTimeProcInfo = 0x000003F0,
  67.         uppClockNewCallBackProcInfo = 0x00000BF0,
  68.         uppClockDisposeCallBackProcInfo = 0x000003F0,
  69.         uppClockCallMeWhenProcInfo = 0x0000FFF0,
  70.         uppClockCancelCallBackProcInfo = 0x000003F0,
  71.         uppClockRateChangedProcInfo = 0x000003F0,
  72.         uppClockTimeChangedProcInfo = 0x000003F0,
  73.         uppClockSetTimeBaseProcInfo = 0x000003F0,
  74.         uppClockStartStopChangedProcInfo = 0x000017F0,
  75.         uppClockGetRateProcInfo = 0x000003F0
  76.     };
  77.  
  78. #endif    /* CLOCK_BASENAME */
  79.  
  80. /*
  81.     Example usage:
  82.  
  83.         #define SC_BASENAME()    Fred
  84.         #define SC_GLOBALS()    FredGlobalsHandle
  85.         #include <QuickTimeComponents.k.h>
  86.  
  87.     To specify that your component implementation does not use globals, do not #define SC_GLOBALS
  88. */
  89. #ifdef SC_BASENAME
  90.     #ifndef SC_GLOBALS
  91.         #define SC_GLOBALS() 
  92.         #define ADD_SC_COMMA 
  93.     #else
  94.         #define ADD_SC_COMMA ,
  95.     #endif
  96.     #define SC_GLUE(a,b) a##b
  97.     #define SC_STRCAT(a,b) SC_GLUE(a,b)
  98.     #define ADD_SC_BASENAME(name) SC_STRCAT(SC_BASENAME(),name)
  99.  
  100.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressionExtended) (SC_GLOBALS() ADD_SC_COMMA SCParams * params, Point  where, SCModalFilterUPP  filterProc, SCModalHookUPP  hookProc, long  refcon, StringPtr  customName);
  101.  
  102.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionRect) (SC_GLOBALS() ADD_SC_COMMA Rect * rp, Point * where);
  103.  
  104.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionDialog) (SC_GLOBALS() ADD_SC_COMMA short  id, Point * where);
  105.  
  106.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictHandle) (SC_GLOBALS() ADD_SC_COMMA PicHandle  testPict, Rect * testRect, short  testFlags);
  107.  
  108.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictFile) (SC_GLOBALS() ADD_SC_COMMA short  testFileRef, Rect * testRect, short  testFlags);
  109.  
  110.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePixMap) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  testPixMap, Rect * testRect, short  testFlags);
  111.  
  112.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetBestDeviceRect) (SC_GLOBALS() ADD_SC_COMMA Rect * r);
  113.  
  114.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestImageSettings) (SC_GLOBALS());
  115.  
  116.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressImage) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc, Handle * data);
  117.  
  118.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPicture) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, PicHandle  dstPicture);
  119.  
  120.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPictureFile) (SC_GLOBALS() ADD_SC_COMMA short  srcRefNum, short  dstRefNum);
  121.  
  122.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestSequenceSettings) (SC_GLOBALS());
  123.  
  124.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceBegin) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc);
  125.  
  126.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceFrame) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, Handle * data, long * dataSize, short * notSyncFlag);
  127.  
  128.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceEnd) (SC_GLOBALS());
  129.  
  130.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictHandleSettings) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, short  motion);
  131.  
  132.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictFileSettings) (SC_GLOBALS() ADD_SC_COMMA short  srcRef, short  motion);
  133.  
  134.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPixMapSettings) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, short  motion);
  135.  
  136.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
  137.  
  138.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
  139.  
  140.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(NewGWorld) (SC_GLOBALS() ADD_SC_COMMA GWorldPtr * gwp, Rect * rp, GWorldFlags  flags);
  141.  
  142.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long  flags);
  143.  
  144.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long * flags);
  145.  
  146.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsText) (SC_GLOBALS() ADD_SC_COMMA Handle * text);
  147.  
  148.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer * settings);
  149.  
  150.     EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetSettingsFromAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer  settings);
  151.  
  152.  
  153.     /* MixedMode ProcInfo constants for component calls */
  154.     enum {
  155.         uppSCGetCompressionExtendedProcInfo = 0x000FFFF0,
  156.         uppSCPositionRectProcInfo = 0x00000FF0,
  157.         uppSCPositionDialogProcInfo = 0x00000EF0,
  158.         uppSCSetTestImagePictHandleProcInfo = 0x00002FF0,
  159.         uppSCSetTestImagePictFileProcInfo = 0x00002EF0,
  160.         uppSCSetTestImagePixMapProcInfo = 0x00002FF0,
  161.         uppSCGetBestDeviceRectProcInfo = 0x000003F0,
  162.         uppSCRequestImageSettingsProcInfo = 0x000000F0,
  163.         uppSCCompressImageProcInfo = 0x0000FFF0,
  164.         uppSCCompressPictureProcInfo = 0x00000FF0,
  165.         uppSCCompressPictureFileProcInfo = 0x00000AF0,
  166.         uppSCRequestSequenceSettingsProcInfo = 0x000000F0,
  167.         uppSCCompressSequenceBeginProcInfo = 0x00003FF0,
  168.         uppSCCompressSequenceFrameProcInfo = 0x0003FFF0,
  169.         uppSCCompressSequenceEndProcInfo = 0x000000F0,
  170.         uppSCDefaultPictHandleSettingsProcInfo = 0x00000BF0,
  171.         uppSCDefaultPictFileSettingsProcInfo = 0x00000AF0,
  172.         uppSCDefaultPixMapSettingsProcInfo = 0x00000BF0,
  173.         uppSCGetInfoProcInfo = 0x00000FF0,
  174.         uppSCSetInfoProcInfo = 0x00000FF0,
  175.         uppSCNewGWorldProcInfo = 0x00003FF0,
  176.         uppSCSetCompressFlagsProcInfo = 0x000003F0,
  177.         uppSCGetCompressFlagsProcInfo = 0x000003F0,
  178.         uppSCGetSettingsAsTextProcInfo = 0x000003F0,
  179.         uppSCGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  180.         uppSCSetSettingsFromAtomContainerProcInfo = 0x000003F0
  181.     };
  182.  
  183. #endif    /* SC_BASENAME */
  184.  
  185. /*
  186.     Example usage:
  187.  
  188.         #define TWEENER_BASENAME()    Fred
  189.         #define TWEENER_GLOBALS()    FredGlobalsHandle
  190.         #include <QuickTimeComponents.k.h>
  191.  
  192.     To specify that your component implementation does not use globals, do not #define TWEENER_GLOBALS
  193. */
  194. #ifdef TWEENER_BASENAME
  195.     #ifndef TWEENER_GLOBALS
  196.         #define TWEENER_GLOBALS() 
  197.         #define ADD_TWEENER_COMMA 
  198.     #else
  199.         #define ADD_TWEENER_COMMA ,
  200.     #endif
  201.     #define TWEENER_GLUE(a,b) a##b
  202.     #define TWEENER_STRCAT(a,b) TWEENER_GLUE(a,b)
  203.     #define ADD_TWEENER_BASENAME(name) TWEENER_STRCAT(TWEENER_BASENAME(),name)
  204.  
  205.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Initialize) (TWEENER_GLOBALS() ADD_TWEENER_COMMA QTAtomContainer  container, QTAtom  tweenAtom, QTAtom  dataAtom);
  206.  
  207.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(DoTween) (TWEENER_GLOBALS() ADD_TWEENER_COMMA TweenRecord * tr);
  208.  
  209.     EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Reset) (TWEENER_GLOBALS());
  210.  
  211.  
  212.     /* MixedMode ProcInfo constants for component calls */
  213.     enum {
  214.         uppTweenerInitializeProcInfo = 0x00003FF0,
  215.         uppTweenerDoTweenProcInfo = 0x000003F0,
  216.         uppTweenerResetProcInfo = 0x000000F0
  217.     };
  218.  
  219. #endif    /* TWEENER_BASENAME */
  220.  
  221. /*
  222.     Example usage:
  223.  
  224.         #define TC_BASENAME()    Fred
  225.         #define TC_GLOBALS()    FredGlobalsHandle
  226.         #include <QuickTimeComponents.k.h>
  227.  
  228.     To specify that your component implementation does not use globals, do not #define TC_GLOBALS
  229. */
  230. #ifdef TC_BASENAME
  231.     #ifndef TC_GLOBALS
  232.         #define TC_GLOBALS() 
  233.         #define ADD_TC_COMMA 
  234.     #else
  235.         #define ADD_TC_COMMA ,
  236.     #endif
  237.     #define TC_GLUE(a,b) a##b
  238.     #define TC_STRCAT(a,b) TC_GLUE(a,b)
  239.     #define ADD_TC_BASENAME(name) TC_STRCAT(TC_BASENAME(),name)
  240.  
  241.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetCurrentTimeCode) (TC_GLOBALS() ADD_TC_COMMA long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcrec, UserData * srcRefH);
  242.  
  243.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeAtTime) (TC_GLOBALS() ADD_TC_COMMA TimeValue  mediaTime, long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcdata, UserData * srcRefH);
  244.  
  245.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToString) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, StringPtr  tcStr);
  246.  
  247.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToFrameNumber) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, long * frameNumber);
  248.  
  249.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(FrameNumberToTimeCode) (TC_GLOBALS() ADD_TC_COMMA long  frameNumber, TimeCodeDef * tcdef, TimeCodeRecord * tcrec);
  250.  
  251.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData * srefH);
  252.  
  253.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData  srefH);
  254.  
  255.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long  flags, long  flagsMask);
  256.  
  257.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long * flags);
  258.  
  259.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
  260.  
  261.     EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
  262.  
  263.  
  264.     /* MixedMode ProcInfo constants for component calls */
  265.     enum {
  266.         uppTCGetCurrentTimeCodeProcInfo = 0x0000FFF0,
  267.         uppTCGetTimeCodeAtTimeProcInfo = 0x0003FFF0,
  268.         uppTCTimeCodeToStringProcInfo = 0x00003FF0,
  269.         uppTCTimeCodeToFrameNumberProcInfo = 0x00003FF0,
  270.         uppTCFrameNumberToTimeCodeProcInfo = 0x00003FF0,
  271.         uppTCGetSourceRefProcInfo = 0x00000FF0,
  272.         uppTCSetSourceRefProcInfo = 0x00000FF0,
  273.         uppTCSetTimeCodeFlagsProcInfo = 0x00000FF0,
  274.         uppTCGetTimeCodeFlagsProcInfo = 0x000003F0,
  275.         uppTCSetDisplayOptionsProcInfo = 0x000003F0,
  276.         uppTCGetDisplayOptionsProcInfo = 0x000003F0
  277.     };
  278.  
  279. #endif    /* TC_BASENAME */
  280.  
  281. /*
  282.     Example usage:
  283.  
  284.         #define MOVIEIMPORT_BASENAME()    Fred
  285.         #define MOVIEIMPORT_GLOBALS()    FredGlobalsHandle
  286.         #include <QuickTimeComponents.k.h>
  287.  
  288.     To specify that your component implementation does not use globals, do not #define MOVIEIMPORT_GLOBALS
  289. */
  290. #ifdef MOVIEIMPORT_BASENAME
  291.     #ifndef MOVIEIMPORT_GLOBALS
  292.         #define MOVIEIMPORT_GLOBALS() 
  293.         #define ADD_MOVIEIMPORT_COMMA 
  294.     #else
  295.         #define ADD_MOVIEIMPORT_COMMA ,
  296.     #endif
  297.     #define MOVIEIMPORT_GLUE(a,b) a##b
  298.     #define MOVIEIMPORT_STRCAT(a,b) MOVIEIMPORT_GLUE(a,b)
  299.     #define ADD_MOVIEIMPORT_BASENAME(name) MOVIEIMPORT_STRCAT(MOVIEIMPORT_BASENAME(),name)
  300.  
  301.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Handle) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataH, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  302.  
  303.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(File) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  304.  
  305.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration, TimeScale  scale);
  306.  
  307.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
  308.  
  309.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetMediaFile) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA AliasHandle  alias);
  310.  
  311.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDimensions) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Fixed  width, Fixed  height);
  312.  
  313.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetChunkSize) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long  chunkSize);
  314.  
  315.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetProgressProc) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA MovieProgressUPP  proc, long  refcon);
  316.  
  317.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetAuxiliaryData) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  data, OSType  handleType);
  318.  
  319.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetFromScrap) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Boolean  fromScrap);
  320.  
  321.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(DoUserDialog) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * canceled);
  322.  
  323.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration);
  324.  
  325.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetAuxiliaryDataType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * auxType);
  326.  
  327.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Validate) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * valid);
  328.  
  329.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetFileType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * fileType);
  330.  
  331.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(DataRef) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataRef, OSType  dataRefType, Movie  theMovie, Track  targetTrack, Track * usedTrack, TimeValue  atTime, TimeValue * addedDuration, long  inFlags, long * outFlags);
  332.  
  333.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle * desc, OSType * mediaType);
  334.  
  335.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetMIMETypeList) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * mimeInfo);
  336.  
  337.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetOffsetAndLimit) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA unsigned long  offset, unsigned long  limit);
  338.  
  339.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * settings);
  340.  
  341.     EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer  settings);
  342.  
  343.  
  344.     /* MixedMode ProcInfo constants for component calls */
  345.     enum {
  346.         uppMovieImportHandleProcInfo = 0x00FFFFF0,
  347.         uppMovieImportFileProcInfo = 0x00FFFFF0,
  348.         uppMovieImportSetSampleDurationProcInfo = 0x00000FF0,
  349.         uppMovieImportSetSampleDescriptionProcInfo = 0x00000FF0,
  350.         uppMovieImportSetMediaFileProcInfo = 0x000003F0,
  351.         uppMovieImportSetDimensionsProcInfo = 0x00000FF0,
  352.         uppMovieImportSetChunkSizeProcInfo = 0x000003F0,
  353.         uppMovieImportSetProgressProcProcInfo = 0x00000FF0,
  354.         uppMovieImportSetAuxiliaryDataProcInfo = 0x00000FF0,
  355.         uppMovieImportSetFromScrapProcInfo = 0x000001F0,
  356.         uppMovieImportDoUserDialogProcInfo = 0x00003FF0,
  357.         uppMovieImportSetDurationProcInfo = 0x000003F0,
  358.         uppMovieImportGetAuxiliaryDataTypeProcInfo = 0x000003F0,
  359.         uppMovieImportValidateProcInfo = 0x00003FF0,
  360.         uppMovieImportGetFileTypeProcInfo = 0x000003F0,
  361.         uppMovieImportDataRefProcInfo = 0x03FFFFF0,
  362.         uppMovieImportGetSampleDescriptionProcInfo = 0x00000FF0,
  363.         uppMovieImportGetMIMETypeListProcInfo = 0x000003F0,
  364.         uppMovieImportSetOffsetAndLimitProcInfo = 0x00000FF0,
  365.         uppMovieImportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  366.         uppMovieImportSetSettingsFromAtomContainerProcInfo = 0x000003F0
  367.     };
  368.  
  369. #endif    /* MOVIEIMPORT_BASENAME */
  370.  
  371. /*
  372.     Example usage:
  373.  
  374.         #define MOVIEEXPORT_BASENAME()    Fred
  375.         #define MOVIEEXPORT_GLOBALS()    FredGlobalsHandle
  376.         #include <QuickTimeComponents.k.h>
  377.  
  378.     To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
  379. */
  380. #ifdef MOVIEEXPORT_BASENAME
  381.     #ifndef MOVIEEXPORT_GLOBALS
  382.         #define MOVIEEXPORT_GLOBALS() 
  383.         #define ADD_MOVIEEXPORT_COMMA 
  384.     #else
  385.         #define ADD_MOVIEEXPORT_COMMA ,
  386.     #endif
  387.     #define MOVIEEXPORT_GLUE(a,b) a##b
  388.     #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
  389.     #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
  390.  
  391.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToHandle) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  392.  
  393.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToFile) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA const FSSpec * theFile, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  394.  
  395.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetAuxiliaryData) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, OSType * handleType);
  396.  
  397.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetProgressProc) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieProgressUPP  proc, long  refcon);
  398.  
  399.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSampleDescription) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
  400.  
  401.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DoUserDialog) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration, Boolean * canceled);
  402.  
  403.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetCreatorType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * creator);
  404.  
  405.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
  406.  
  407.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(FromProceduresToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType);
  408.  
  409.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(AddDataSource) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType  trackType, TimeScale  scale, long * trackID, MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
  410.  
  411.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(Validate) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, Boolean * valid);
  412.  
  413.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer * settings);
  414.  
  415.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer  settings);
  416.  
  417.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetFileNameExtension) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * extension);
  418.  
  419.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetShortFileTypeString) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Str255  typeString);
  420.  
  421.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSourceMediaType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * mediaType);
  422.  
  423.  
  424.     /* MixedMode ProcInfo constants for component calls */
  425.     enum {
  426.         uppMovieExportToHandleProcInfo = 0x0003FFF0,
  427.         uppMovieExportToFileProcInfo = 0x0003FFF0,
  428.         uppMovieExportGetAuxiliaryDataProcInfo = 0x00000FF0,
  429.         uppMovieExportSetProgressProcProcInfo = 0x00000FF0,
  430.         uppMovieExportSetSampleDescriptionProcInfo = 0x00000FF0,
  431.         uppMovieExportDoUserDialogProcInfo = 0x0003FFF0,
  432.         uppMovieExportGetCreatorTypeProcInfo = 0x000003F0,
  433.         uppMovieExportToDataRefProcInfo = 0x000FFFF0,
  434.         uppMovieExportFromProceduresToDataRefProcInfo = 0x00000FF0,
  435.         uppMovieExportAddDataSourceProcInfo = 0x000FFFF0,
  436.         uppMovieExportValidateProcInfo = 0x00003FF0,
  437.         uppMovieExportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
  438.         uppMovieExportSetSettingsFromAtomContainerProcInfo = 0x000003F0,
  439.         uppMovieExportGetFileNameExtensionProcInfo = 0x000003F0,
  440.         uppMovieExportGetShortFileTypeStringProcInfo = 0x000003F0,
  441.         uppMovieExportGetSourceMediaTypeProcInfo = 0x000003F0
  442.     };
  443.  
  444. #endif    /* MOVIEEXPORT_BASENAME */
  445.  
  446. /*
  447.     Example usage:
  448.  
  449.         #define TEXTEXPORT_BASENAME()    Fred
  450.         #define TEXTEXPORT_GLOBALS()    FredGlobalsHandle
  451.         #include <QuickTimeComponents.k.h>
  452.  
  453.     To specify that your component implementation does not use globals, do not #define TEXTEXPORT_GLOBALS
  454. */
  455. #ifdef TEXTEXPORT_BASENAME
  456.     #ifndef TEXTEXPORT_GLOBALS
  457.         #define TEXTEXPORT_GLOBALS() 
  458.         #define ADD_TEXTEXPORT_COMMA 
  459.     #else
  460.         #define ADD_TEXTEXPORT_COMMA ,
  461.     #endif
  462.     #define TEXTEXPORT_GLUE(a,b) a##b
  463.     #define TEXTEXPORT_STRCAT(a,b) TEXTEXPORT_GLUE(a,b)
  464.     #define ADD_TEXTEXPORT_BASENAME(name) TEXTEXPORT_STRCAT(TEXTEXPORT_BASENAME(),name)
  465.  
  466.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetDisplayData) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA TextDisplayData * textDisplay);
  467.  
  468.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * movieTimeFraction);
  469.  
  470.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  movieTimeFraction);
  471.  
  472.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * setting);
  473.  
  474.     EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  setting);
  475.  
  476. #endif    /* TEXTEXPORT_BASENAME */
  477.  
  478. /*
  479.     Example usage:
  480.  
  481.         #define MIDIIMPORT_BASENAME()    Fred
  482.         #define MIDIIMPORT_GLOBALS()    FredGlobalsHandle
  483.         #include <QuickTimeComponents.k.h>
  484.  
  485.     To specify that your component implementation does not use globals, do not #define MIDIIMPORT_GLOBALS
  486. */
  487. #ifdef MIDIIMPORT_BASENAME
  488.     #ifndef MIDIIMPORT_GLOBALS
  489.         #define MIDIIMPORT_GLOBALS() 
  490.         #define ADD_MIDIIMPORT_COMMA 
  491.     #else
  492.         #define ADD_MIDIIMPORT_COMMA ,
  493.     #endif
  494.     #define MIDIIMPORT_GLUE(a,b) a##b
  495.     #define MIDIIMPORT_STRCAT(a,b) MIDIIMPORT_GLUE(a,b)
  496.     #define ADD_MIDIIMPORT_BASENAME(name) MIDIIMPORT_STRCAT(MIDIIMPORT_BASENAME(),name)
  497.  
  498.     EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(GetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long * setting);
  499.  
  500.     EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(SetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long  setting);
  501.  
  502. #endif    /* MIDIIMPORT_BASENAME */
  503.  
  504. /*
  505.     Example usage:
  506.  
  507.         #define MOVIEEXPORT_BASENAME()    Fred
  508.         #define MOVIEEXPORT_GLOBALS()    FredGlobalsHandle
  509.         #include <QuickTimeComponents.k.h>
  510.  
  511.     To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
  512. */
  513. #ifdef MOVIEEXPORT_BASENAME
  514.     #ifndef MOVIEEXPORT_GLOBALS
  515.         #define MOVIEEXPORT_GLOBALS() 
  516.         #define ADD_MOVIEEXPORT_COMMA 
  517.     #else
  518.         #define ADD_MOVIEEXPORT_COMMA ,
  519.     #endif
  520.     #define MOVIEEXPORT_GLUE(a,b) a##b
  521.     #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
  522.     #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
  523.  
  524.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(NewGetDataAndPropertiesProcs) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType  trackType, TimeScale * scale, Movie  theMovie, Track  theTrack, TimeValue  startTime, TimeValue  duration, MovieExportGetPropertyUPP * getPropertyProc, MovieExportGetDataUPP * getDataProc, void ** refCon);
  525.  
  526.     EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DisposeGetDataAndPropertiesProcs) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
  527.  
  528. #endif    /* MOVIEEXPORT_BASENAME */
  529.  
  530. /*
  531.     Example usage:
  532.  
  533.         #define GRAPHICSIMAGEIMPORT_BASENAME()    Fred
  534.         #define GRAPHICSIMAGEIMPORT_GLOBALS()    FredGlobalsHandle
  535.         #include <QuickTimeComponents.k.h>
  536.  
  537.     To specify that your component implementation does not use globals, do not #define GRAPHICSIMAGEIMPORT_GLOBALS
  538. */
  539. #ifdef GRAPHICSIMAGEIMPORT_BASENAME
  540.     #ifndef GRAPHICSIMAGEIMPORT_GLOBALS
  541.         #define GRAPHICSIMAGEIMPORT_GLOBALS() 
  542.         #define ADD_GRAPHICSIMAGEIMPORT_COMMA 
  543.     #else
  544.         #define ADD_GRAPHICSIMAGEIMPORT_COMMA ,
  545.     #endif
  546.     #define GRAPHICSIMAGEIMPORT_GLUE(a,b) a##b
  547.     #define GRAPHICSIMAGEIMPORT_STRCAT(a,b) GRAPHICSIMAGEIMPORT_GLUE(a,b)
  548.     #define ADD_GRAPHICSIMAGEIMPORT_BASENAME(name) GRAPHICSIMAGEIMPORT_STRCAT(GRAPHICSIMAGEIMPORT_BASENAME(),name)
  549.  
  550.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(SetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean  enable);
  551.  
  552.     EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(GetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean * enable);
  553.  
  554. #endif    /* GRAPHICSIMAGEIMPORT_BASENAME */
  555.  
  556.  
  557. /* MixedMode ProcInfo constants for component calls */
  558. enum {
  559.     uppTextExportGetDisplayDataProcInfo = 0x000003F0,
  560.     uppTextExportGetTimeFractionProcInfo = 0x000003F0,
  561.     uppTextExportSetTimeFractionProcInfo = 0x000003F0,
  562.     uppTextExportGetSettingsProcInfo = 0x000003F0,
  563.     uppTextExportSetSettingsProcInfo = 0x000003F0,
  564.     uppMIDIImportGetSettingsProcInfo = 0x000003F0,
  565.     uppMIDIImportSetSettingsProcInfo = 0x000003F0,
  566.     uppMovieExportNewGetDataAndPropertiesProcsProcInfo = 0x03FFFFF0,
  567.     uppMovieExportDisposeGetDataAndPropertiesProcsProcInfo = 0x00003FF0,
  568.     uppGraphicsImageImportSetSequenceEnabledProcInfo = 0x000001F0,
  569.     uppGraphicsImageImportGetSequenceEnabledProcInfo = 0x000003F0
  570. };
  571.  
  572. /*
  573.     Example usage:
  574.  
  575.         #define PREVIEW_BASENAME()    Fred
  576.         #define PREVIEW_GLOBALS()    FredGlobalsHandle
  577.         #include <QuickTimeComponents.k.h>
  578.  
  579.     To specify that your component implementation does not use globals, do not #define PREVIEW_GLOBALS
  580. */
  581. #ifdef PREVIEW_BASENAME
  582.     #ifndef PREVIEW_GLOBALS
  583.         #define PREVIEW_GLOBALS() 
  584.         #define ADD_PREVIEW_COMMA 
  585.     #else
  586.         #define ADD_PREVIEW_COMMA ,
  587.     #endif
  588.     #define PREVIEW_GLUE(a,b) a##b
  589.     #define PREVIEW_STRCAT(a,b) PREVIEW_GLUE(a,b)
  590.     #define ADD_PREVIEW_BASENAME(name) PREVIEW_STRCAT(PREVIEW_BASENAME(),name)
  591.  
  592.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(ShowData) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType  dataType, Handle  data, const Rect * inHere);
  593.  
  594.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreview) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, Handle * previewResult, const FSSpec * sourceFile, ICMProgressProcRecordPtr  progress);
  595.  
  596.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreviewReference) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, short * resID, const FSSpec * sourceFile);
  597.  
  598.     EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(Event) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA EventRecord * e, Boolean * handledEvent);
  599.  
  600.  
  601.     /* MixedMode ProcInfo constants for component calls */
  602.     enum {
  603.         uppPreviewShowDataProcInfo = 0x00003FF0,
  604.         uppPreviewMakePreviewProcInfo = 0x0000FFF0,
  605.         uppPreviewMakePreviewReferenceProcInfo = 0x00003FF0,
  606.         uppPreviewEventProcInfo = 0x00000FF0
  607.     };
  608.  
  609. #endif    /* PREVIEW_BASENAME */
  610.  
  611. /*
  612.     Example usage:
  613.  
  614.         #define DATACODEC_BASENAME()    Fred
  615.         #define DATACODEC_GLOBALS()    FredGlobalsHandle
  616.         #include <QuickTimeComponents.k.h>
  617.  
  618.     To specify that your component implementation does not use globals, do not #define DATACODEC_GLOBALS
  619. */
  620. #ifdef DATACODEC_BASENAME
  621.     #ifndef DATACODEC_GLOBALS
  622.         #define DATACODEC_GLOBALS() 
  623.         #define ADD_DATACODEC_COMMA 
  624.     #else
  625.         #define ADD_DATACODEC_COMMA ,
  626.     #endif
  627.     #define DATACODEC_GLUE(a,b) a##b
  628.     #define DATACODEC_STRCAT(a,b) DATACODEC_GLUE(a,b)
  629.     #define ADD_DATACODEC_BASENAME(name) DATACODEC_STRCAT(DATACODEC_BASENAME(),name)
  630.  
  631.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Decompress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize);
  632.  
  633.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(GetCompressBufferSize) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA UInt32  srcSize, UInt32 * dstSize);
  634.  
  635.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Compress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize, UInt32 * actualDstSize, UInt32 * decompressSlop);
  636.  
  637.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(BeginInterruptSafe) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA unsigned long  maxSrcSize);
  638.  
  639.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(EndInterruptSafe) (DATACODEC_GLOBALS());
  640.  
  641.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(DecompressPartial) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void ** next_in, unsigned long * avail_in, unsigned long * total_in, void ** next_out, unsigned long * avail_out, unsigned long * total_out, Boolean * didFinish);
  642.  
  643.     EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(CompressPartial) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void ** next_in, unsigned long * avail_in, unsigned long * total_in, void ** next_out, unsigned long * avail_out, unsigned long * total_out, Boolean  tryToFinish, Boolean * didFinish);
  644.  
  645.  
  646.     /* MixedMode ProcInfo constants for component calls */
  647.     enum {
  648.         uppDataCodecDecompressProcInfo = 0x0000FFF0,
  649.         uppDataCodecGetCompressBufferSizeProcInfo = 0x00000FF0,
  650.         uppDataCodecCompressProcInfo = 0x000FFFF0,
  651.         uppDataCodecBeginInterruptSafeProcInfo = 0x000003F0,
  652.         uppDataCodecEndInterruptSafeProcInfo = 0x000000F0,
  653.         uppDataCodecDecompressPartialProcInfo = 0x003FFFF0,
  654.         uppDataCodecCompressPartialProcInfo = 0x00DFFFF0
  655.     };
  656.  
  657. #endif    /* DATACODEC_BASENAME */
  658.  
  659. /*
  660.     Example usage:
  661.  
  662.         #define DATAH_BASENAME()    Fred
  663.         #define DATAH_GLOBALS()    FredGlobalsHandle
  664.         #include <QuickTimeComponents.k.h>
  665.  
  666.     To specify that your component implementation does not use globals, do not #define DATAH_GLOBALS
  667. */
  668. #ifdef DATAH_BASENAME
  669.     #ifndef DATAH_GLOBALS
  670.         #define DATAH_GLOBALS() 
  671.         #define ADD_DATAH_COMMA 
  672.     #else
  673.         #define ADD_DATAH_COMMA ,
  674.     #endif
  675.     #define DATAH_GLUE(a,b) a##b
  676.     #define DATAH_STRCAT(a,b) DATAH_GLUE(a,b)
  677.     #define ADD_DATAH_BASENAME(name) DATAH_STRCAT(DATAH_BASENAME(),name)
  678.  
  679.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long  offset, long  size);
  680.  
  681.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PutData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long * offset, long  size);
  682.  
  683.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushData) (DATAH_GLOBALS());
  684.  
  685.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForWrite) (DATAH_GLOBALS());
  686.  
  687.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForWrite) (DATAH_GLOBALS());
  688.  
  689.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForRead) (DATAH_GLOBALS());
  690.  
  691.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForRead) (DATAH_GLOBALS());
  692.  
  693.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef);
  694.  
  695.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle * dataRef);
  696.  
  697.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CompareDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, Boolean * equal);
  698.  
  699.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Task) (DATAH_GLOBALS());
  700.  
  701.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ScheduleData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, long  FileOffset, long  DataSize, long  RefCon, DataHSchedulePtr  scheduleRec, DataHCompletionUPP  CompletionRtn);
  702.  
  703.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FinishData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, Boolean  Cancel);
  704.  
  705.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushCache) (DATAH_GLOBALS());
  706.  
  707.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ResolveDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  theDataRef, Boolean * wasChanged, Boolean  userInterfaceAllowed);
  708.  
  709.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
  710.  
  711.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CanUseDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, long * useFlags);
  712.  
  713.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetVolumeList) (DATAH_GLOBALS() ADD_DATAH_COMMA DataHVolumeList * volumeList);
  714.  
  715.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Write) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  data, long  offset, long  size, DataHCompletionUPP  completion, long  refCon);
  716.  
  717.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Preextend) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long  maxToAdd, unsigned long * spaceAdded);
  718.  
  719.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long  fileSize);
  720.  
  721.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFreeSpace) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long * freeSize);
  722.  
  723.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CreateFile) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  creator, Boolean  deleteExisting);
  724.  
  725.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetPreferredBlockSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * blockSize);
  726.  
  727.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDeviceIndex) (DATAH_GLOBALS() ADD_DATAH_COMMA long * deviceIndex);
  728.  
  729.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(IsStreamingDataHandler) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * yes);
  730.  
  731.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataInBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA long  startOffset, long * size);
  732.  
  733.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetScheduleAheadTime) (DATAH_GLOBALS() ADD_DATAH_COMMA long * millisecs);
  734.  
  735.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size  cacheSizeLimit);
  736.  
  737.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size * cacheSizeLimit);
  738.  
  739.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie * theMovie, short * id);
  740.  
  741.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(AddMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short * id);
  742.  
  743.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(UpdateMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short  id);
  744.  
  745.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(DoesBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * buffersReads, Boolean * buffersWrites);
  746.  
  747.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileName) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  str);
  748.  
  749.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetAvailableFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
  750.  
  751.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType * fileType);
  752.  
  753.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMIMEType) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  mimeType);
  754.  
  755.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle  dataRef);
  756.  
  757.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle * dataRef);
  758.  
  759.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  fileType);
  760.  
  761.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetTimeBase) (DATAH_GLOBALS() ADD_DATAH_COMMA TimeBase  tb);
  762.  
  763.     EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PlaybackHints) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, unsigned long  minFileOffset, unsigned long  maxFileOffset, long  bytesPerSecond);
  764.  
  765.  
  766.     /* MixedMode ProcInfo constants for component calls */
  767.     enum {
  768.         uppDataHGetDataProcInfo = 0x0000FFF0,
  769.         uppDataHPutDataProcInfo = 0x0000FFF0,
  770.         uppDataHFlushDataProcInfo = 0x000000F0,
  771.         uppDataHOpenForWriteProcInfo = 0x000000F0,
  772.         uppDataHCloseForWriteProcInfo = 0x000000F0,
  773.         uppDataHOpenForReadProcInfo = 0x000000F0,
  774.         uppDataHCloseForReadProcInfo = 0x000000F0,
  775.         uppDataHSetDataRefProcInfo = 0x000003F0,
  776.         uppDataHGetDataRefProcInfo = 0x000003F0,
  777.         uppDataHCompareDataRefProcInfo = 0x00000FF0,
  778.         uppDataHTaskProcInfo = 0x000000F0,
  779.         uppDataHScheduleDataProcInfo = 0x000FFFF0,
  780.         uppDataHFinishDataProcInfo = 0x000007F0,
  781.         uppDataHFlushCacheProcInfo = 0x000000F0,
  782.         uppDataHResolveDataRefProcInfo = 0x00001FF0,
  783.         uppDataHGetFileSizeProcInfo = 0x000003F0,
  784.         uppDataHCanUseDataRefProcInfo = 0x00000FF0,
  785.         uppDataHGetVolumeListProcInfo = 0x000003F0,
  786.         uppDataHWriteProcInfo = 0x0003FFF0,
  787.         uppDataHPreextendProcInfo = 0x00000FF0,
  788.         uppDataHSetFileSizeProcInfo = 0x000003F0,
  789.         uppDataHGetFreeSpaceProcInfo = 0x000003F0,
  790.         uppDataHCreateFileProcInfo = 0x000007F0,
  791.         uppDataHGetPreferredBlockSizeProcInfo = 0x000003F0,
  792.         uppDataHGetDeviceIndexProcInfo = 0x000003F0,
  793.         uppDataHIsStreamingDataHandlerProcInfo = 0x000003F0,
  794.         uppDataHGetDataInBufferProcInfo = 0x00000FF0,
  795.         uppDataHGetScheduleAheadTimeProcInfo = 0x000003F0,
  796.         uppDataHSetCacheSizeLimitProcInfo = 0x000003F0,
  797.         uppDataHGetCacheSizeLimitProcInfo = 0x000003F0,
  798.         uppDataHGetMovieProcInfo = 0x00000FF0,
  799.         uppDataHAddMovieProcInfo = 0x00000FF0,
  800.         uppDataHUpdateMovieProcInfo = 0x00000BF0,
  801.         uppDataHDoesBufferProcInfo = 0x00000FF0,
  802.         uppDataHGetFileNameProcInfo = 0x000003F0,
  803.         uppDataHGetAvailableFileSizeProcInfo = 0x000003F0,
  804.         uppDataHGetMacOSFileTypeProcInfo = 0x000003F0,
  805.         uppDataHGetMIMETypeProcInfo = 0x000003F0,
  806.         uppDataHSetDataRefWithAnchorProcInfo = 0x00003FF0,
  807.         uppDataHGetDataRefWithAnchorProcInfo = 0x00003FF0,
  808.         uppDataHSetMacOSFileTypeProcInfo = 0x000003F0,
  809.         uppDataHSetTimeBaseProcInfo = 0x000003F0,
  810.         uppDataHPlaybackHintsProcInfo = 0x0000FFF0
  811.     };
  812.  
  813. #endif    /* DATAH_BASENAME */
  814.  
  815. /*
  816.     Example usage:
  817.  
  818.         #define VD_BASENAME()    Fred
  819.         #define VD_GLOBALS()    FredGlobalsHandle
  820.         #include <QuickTimeComponents.k.h>
  821.  
  822.     To specify that your component implementation does not use globals, do not #define VD_GLOBALS
  823. */
  824. #ifdef VD_BASENAME
  825.     #ifndef VD_GLOBALS
  826.         #define VD_GLOBALS() 
  827.         #define ADD_VD_COMMA 
  828.     #else
  829.         #define ADD_VD_COMMA ,
  830.     #endif
  831.     #define VD_GLUE(a,b) a##b
  832.     #define VD_STRCAT(a,b) VD_GLUE(a,b)
  833.     #define ADD_VD_BASENAME(name) VD_STRCAT(VD_BASENAME(),name)
  834.  
  835.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * maxSrcRect);
  836.  
  837.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetActiveSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * activeSrcRect);
  838.  
  839.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
  840.  
  841.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
  842.  
  843.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetVBlankRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * vBlankRect);
  844.  
  845.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskPixMap) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  maskPixMap);
  846.  
  847.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * dest, Rect * destRect, MatrixRecord * m, RgnHandle * mask);
  848.  
  849.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseThisCLUT) (VD_GLOBALS() ADD_VD_COMMA CTabHandle  colorTableHandle);
  850.  
  851.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed  channel1, Fixed  channel2, Fixed  channel3);
  852.  
  853.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed * channel1, Fixed * channel2, Fixed * channel3);
  854.  
  855.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
  856.  
  857.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
  858.  
  859.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
  860.  
  861.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
  862.  
  863.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
  864.  
  865.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
  866.  
  867.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
  868.  
  869.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
  870.  
  871.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
  872.  
  873.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
  874.  
  875.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrame) (VD_GLOBALS());
  876.  
  877.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxAuxBuffer) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * pm, Rect * r);
  878.  
  879.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerInfo) (VD_GLOBALS() ADD_VD_COMMA DigitizerInfo * info);
  880.  
  881.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCurrentFlags) (VD_GLOBALS() ADD_VD_COMMA long * inputCurrentFlag, long * outputCurrentFlag);
  882.  
  883.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
  884.  
  885.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
  886.  
  887.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(AddKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
  888.  
  889.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNextKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
  890.  
  891.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
  892.  
  893.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
  894.  
  895.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerUserInterrupt) (VD_GLOBALS() ADD_VD_COMMA long  flags, VdigIntUPP  userInterruptProc, long  refcon);
  896.  
  897.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short  colorSpaceMode);
  898.  
  899.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short * colorSpaceMode);
  900.  
  901.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipState) (VD_GLOBALS() ADD_VD_COMMA short  clipEnable);
  902.  
  903.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetClipState) (VD_GLOBALS() ADD_VD_COMMA short * clipEnable);
  904.  
  905.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
  906.  
  907.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ClearClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
  908.  
  909.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCLUTInUse) (VD_GLOBALS() ADD_VD_COMMA CTabHandle * colorTableHandle);
  910.  
  911.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short  pllType);
  912.  
  913.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short * pllType);
  914.  
  915.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskandValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short  blendLevel, long * mask, long * value);
  916.  
  917.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetMasterBlendLevel) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blendLevel);
  918.  
  919.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  dest, RectPtr  destRect, MatrixRecordPtr  m, RgnHandle  mask);
  920.  
  921.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruOnOff) (VD_GLOBALS() ADD_VD_COMMA short  state);
  922.  
  923.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short  fieldFlag);
  924.  
  925.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short * fieldFlag);
  926.  
  927.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightDestination) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect, PixMap ** dest, RectPtr  destRect, MatrixRecordPtr  m);
  928.  
  929.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
  930.  
  931.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
  932.  
  933.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr  inputGammaPtr);
  934.  
  935.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr * inputGammaPtr);
  936.  
  937.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
  938.  
  939.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
  940.  
  941.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
  942.  
  943.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
  944.  
  945.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetVideoDefaults) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel, unsigned short * whiteLevel, unsigned short * brightness, unsigned short * hue, unsigned short * saturation, unsigned short * contrast, unsigned short * sharpness);
  946.  
  947.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNumberOfInputs) (VD_GLOBALS() ADD_VD_COMMA short * inputs);
  948.  
  949.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputFormat) (VD_GLOBALS() ADD_VD_COMMA short  input, short * format);
  950.  
  951.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInput) (VD_GLOBALS() ADD_VD_COMMA short  input);
  952.  
  953.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInput) (VD_GLOBALS() ADD_VD_COMMA short * input);
  954.  
  955.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputStandard) (VD_GLOBALS() ADD_VD_COMMA short  inputStandard);
  956.  
  957.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetupBuffers) (VD_GLOBALS() ADD_VD_COMMA VdigBufferRecListHandle  bufferList);
  958.  
  959.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrameAsync) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
  960.  
  961.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(Done) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
  962.  
  963.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompression) (VD_GLOBALS() ADD_VD_COMMA OSType  compressType, short  depth, Rect * bounds, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
  964.  
  965.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressOneFrameAsync) (VD_GLOBALS());
  966.  
  967.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressDone) (VD_GLOBALS() ADD_VD_COMMA Boolean * done, Ptr * theData, long * dataSize, UInt8 * similarity, TimeRecord * t);
  968.  
  969.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseCompressBuffer) (VD_GLOBALS() ADD_VD_COMMA Ptr  bufferAddr);
  970.  
  971.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetImageDescription) (VD_GLOBALS() ADD_VD_COMMA ImageDescriptionHandle  desc);
  972.  
  973.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ResetCompressSequence) (VD_GLOBALS());
  974.  
  975.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompressionOnOff) (VD_GLOBALS() ADD_VD_COMMA Boolean  state);
  976.  
  977.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCompressionTypes) (VD_GLOBALS() ADD_VD_COMMA VDCompressionListHandle  h);
  978.  
  979.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetTimeBase) (VD_GLOBALS() ADD_VD_COMMA TimeBase  t);
  980.  
  981.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFrameRate) (VD_GLOBALS() ADD_VD_COMMA Fixed  framesPerSecond);
  982.  
  983.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDataRate) (VD_GLOBALS() ADD_VD_COMMA long * milliSecPerFrame, Fixed * framesPerSecond, long * bytesPerSecond);
  984.  
  985.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputDriver) (VD_GLOBALS() ADD_VD_COMMA Str255  soundDriverName);
  986.  
  987.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDMADepths) (VD_GLOBALS() ADD_VD_COMMA long * depthArray, long * preferredDepth);
  988.  
  989.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredTimeScale) (VD_GLOBALS() ADD_VD_COMMA TimeScale * preferred);
  990.  
  991.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseAsyncBuffers) (VD_GLOBALS());
  992.  
  993.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDataRate) (VD_GLOBALS() ADD_VD_COMMA long  bytesPerSecond);
  994.  
  995.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetTimeCode) (VD_GLOBALS() ADD_VD_COMMA TimeRecord * atTime, void * timeCodeFormat, void * timeCodeTime);
  996.  
  997.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseSafeBuffers) (VD_GLOBALS() ADD_VD_COMMA Boolean  useSafeBuffers);
  998.  
  999.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputSource) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, long * soundInput);
  1000.  
  1001.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCompressionTime) (VD_GLOBALS() ADD_VD_COMMA OSType  compressionType, short  depth, Rect * srcRect, CodecQ * spatialQuality, CodecQ * temporalQuality, unsigned long * compressTime);
  1002.  
  1003.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredPacketSize) (VD_GLOBALS() ADD_VD_COMMA long  preferredPacketSizeInBytes);
  1004.  
  1005.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long  width, long  height);
  1006.  
  1007.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long * width, long * height);
  1008.  
  1009.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputName) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, Str255  name);
  1010.  
  1011.     EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDestinationPort) (VD_GLOBALS() ADD_VD_COMMA CGrafPtr  destPort);
  1012.  
  1013.  
  1014.     /* MixedMode ProcInfo constants for component calls */
  1015.     enum {
  1016.         uppVDGetMaxSrcRectProcInfo = 0x00000EF0,
  1017.         uppVDGetActiveSrcRectProcInfo = 0x00000EF0,
  1018.         uppVDSetDigitizerRectProcInfo = 0x000003F0,
  1019.         uppVDGetDigitizerRectProcInfo = 0x000003F0,
  1020.         uppVDGetVBlankRectProcInfo = 0x00000EF0,
  1021.         uppVDGetMaskPixMapProcInfo = 0x000003F0,
  1022.         uppVDGetPlayThruDestinationProcInfo = 0x0000FFF0,
  1023.         uppVDUseThisCLUTProcInfo = 0x000003F0,
  1024.         uppVDSetInputGammaValueProcInfo = 0x00003FF0,
  1025.         uppVDGetInputGammaValueProcInfo = 0x00003FF0,
  1026.         uppVDSetBrightnessProcInfo = 0x000003F0,
  1027.         uppVDGetBrightnessProcInfo = 0x000003F0,
  1028.         uppVDSetContrastProcInfo = 0x000003F0,
  1029.         uppVDSetHueProcInfo = 0x000003F0,
  1030.         uppVDSetSharpnessProcInfo = 0x000003F0,
  1031.         uppVDSetSaturationProcInfo = 0x000003F0,
  1032.         uppVDGetContrastProcInfo = 0x000003F0,
  1033.         uppVDGetHueProcInfo = 0x000003F0,
  1034.         uppVDGetSharpnessProcInfo = 0x000003F0,
  1035.         uppVDGetSaturationProcInfo = 0x000003F0,
  1036.         uppVDGrabOneFrameProcInfo = 0x000000F0,
  1037.         uppVDGetMaxAuxBufferProcInfo = 0x00000FF0,
  1038.         uppVDGetDigitizerInfoProcInfo = 0x000003F0,
  1039.         uppVDGetCurrentFlagsProcInfo = 0x00000FF0,
  1040.         uppVDSetKeyColorProcInfo = 0x000003F0,
  1041.         uppVDGetKeyColorProcInfo = 0x000003F0,
  1042.         uppVDAddKeyColorProcInfo = 0x000003F0,
  1043.         uppVDGetNextKeyColorProcInfo = 0x000003F0,
  1044.         uppVDSetKeyColorRangeProcInfo = 0x00000FF0,
  1045.         uppVDGetKeyColorRangeProcInfo = 0x00000FF0,
  1046.         uppVDSetDigitizerUserInterruptProcInfo = 0x00003FF0,
  1047.         uppVDSetInputColorSpaceModeProcInfo = 0x000002F0,
  1048.         uppVDGetInputColorSpaceModeProcInfo = 0x000003F0,
  1049.         uppVDSetClipStateProcInfo = 0x000002F0,
  1050.         uppVDGetClipStateProcInfo = 0x000003F0,
  1051.         uppVDSetClipRgnProcInfo = 0x000003F0,
  1052.         uppVDClearClipRgnProcInfo = 0x000003F0,
  1053.         uppVDGetCLUTInUseProcInfo = 0x000003F0,
  1054.         uppVDSetPLLFilterTypeProcInfo = 0x000002F0,
  1055.         uppVDGetPLLFilterTypeProcInfo = 0x000003F0,
  1056.         uppVDGetMaskandValueProcInfo = 0x00003EF0,
  1057.         uppVDSetMasterBlendLevelProcInfo = 0x000003F0,
  1058.         uppVDSetPlayThruDestinationProcInfo = 0x0000FFF0,
  1059.         uppVDSetPlayThruOnOffProcInfo = 0x000002F0,
  1060.         uppVDSetFieldPreferenceProcInfo = 0x000002F0,
  1061.         uppVDGetFieldPreferenceProcInfo = 0x000003F0,
  1062.         uppVDPreflightDestinationProcInfo = 0x0000FFF0,
  1063.         uppVDPreflightGlobalRectProcInfo = 0x00000FF0,
  1064.         uppVDSetPlayThruGlobalRectProcInfo = 0x00000FF0,
  1065.         uppVDSetInputGammaRecordProcInfo = 0x000003F0,
  1066.         uppVDGetInputGammaRecordProcInfo = 0x000003F0,
  1067.         uppVDSetBlackLevelValueProcInfo = 0x000003F0,
  1068.         uppVDGetBlackLevelValueProcInfo = 0x000003F0,
  1069.         uppVDSetWhiteLevelValueProcInfo = 0x000003F0,
  1070.         uppVDGetWhiteLevelValueProcInfo = 0x000003F0,
  1071.         uppVDGetVideoDefaultsProcInfo = 0x003FFFF0,
  1072.         uppVDGetNumberOfInputsProcInfo = 0x000003F0,
  1073.         uppVDGetInputFormatProcInfo = 0x00000EF0,
  1074.         uppVDSetInputProcInfo = 0x000002F0,
  1075.         uppVDGetInputProcInfo = 0x000003F0,
  1076.         uppVDSetInputStandardProcInfo = 0x000002F0,
  1077.         uppVDSetupBuffersProcInfo = 0x000003F0,
  1078.         uppVDGrabOneFrameAsyncProcInfo = 0x000002F0,
  1079.         uppVDDoneProcInfo = 0x000002F0,
  1080.         uppVDSetCompressionProcInfo = 0x000FFBF0,
  1081.         uppVDCompressOneFrameAsyncProcInfo = 0x000000F0,
  1082.         uppVDCompressDoneProcInfo = 0x0003FFF0,
  1083.         uppVDReleaseCompressBufferProcInfo = 0x000003F0,
  1084.         uppVDGetImageDescriptionProcInfo = 0x000003F0,
  1085.         uppVDResetCompressSequenceProcInfo = 0x000000F0,
  1086.         uppVDSetCompressionOnOffProcInfo = 0x000001F0,
  1087.         uppVDGetCompressionTypesProcInfo = 0x000003F0,
  1088.         uppVDSetTimeBaseProcInfo = 0x000003F0,
  1089.         uppVDSetFrameRateProcInfo = 0x000003F0,
  1090.         uppVDGetDataRateProcInfo = 0x00003FF0,
  1091.         uppVDGetSoundInputDriverProcInfo = 0x000003F0,
  1092.         uppVDGetDMADepthsProcInfo = 0x00000FF0,
  1093.         uppVDGetPreferredTimeScaleProcInfo = 0x000003F0,
  1094.         uppVDReleaseAsyncBuffersProcInfo = 0x000000F0,
  1095.         uppVDSetDataRateProcInfo = 0x000003F0,
  1096.         uppVDGetTimeCodeProcInfo = 0x00003FF0,
  1097.         uppVDUseSafeBuffersProcInfo = 0x000001F0,
  1098.         uppVDGetSoundInputSourceProcInfo = 0x00000FF0,
  1099.         uppVDGetCompressionTimeProcInfo = 0x000FFBF0,
  1100.         uppVDSetPreferredPacketSizeProcInfo = 0x000003F0,
  1101.         uppVDSetPreferredImageDimensionsProcInfo = 0x00000FF0,
  1102.         uppVDGetPreferredImageDimensionsProcInfo = 0x00000FF0,
  1103.         uppVDGetInputNameProcInfo = 0x00000FF0,
  1104.         uppVDSetDestinationPortProcInfo = 0x000003F0
  1105.     };
  1106.  
  1107. #endif    /* VD_BASENAME */
  1108.  
  1109. /*
  1110.     Example usage:
  1111.  
  1112.         #define SG_BASENAME()    Fred
  1113.         #define SG_GLOBALS()    FredGlobalsHandle
  1114.         #include <QuickTimeComponents.k.h>
  1115.  
  1116.     To specify that your component implementation does not use globals, do not #define SG_GLOBALS
  1117. */
  1118. #ifdef SG_BASENAME
  1119.     #ifndef SG_GLOBALS
  1120.         #define SG_GLOBALS() 
  1121.         #define ADD_SG_COMMA 
  1122.     #else
  1123.         #define ADD_SG_COMMA ,
  1124.     #endif
  1125.     #define SG_GLUE(a,b) a##b
  1126.     #define SG_STRCAT(a,b) SG_GLUE(a,b)
  1127.     #define ADD_SG_BASENAME(name) SG_STRCAT(SG_BASENAME(),name)
  1128.  
  1129.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Initialize) (SG_GLOBALS());
  1130.  
  1131.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataOutput) (SG_GLOBALS() ADD_SG_COMMA const FSSpec * movieFile, long  whereFlags);
  1132.  
  1133.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutput) (SG_GLOBALS() ADD_SG_COMMA FSSpec * movieFile, long * whereFlags);
  1134.  
  1135.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr  gp, GDHandle  gd);
  1136.  
  1137.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr * gp, GDHandle * gd);
  1138.  
  1139.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannel) (SG_GLOBALS() ADD_SG_COMMA OSType  channelType, SGChannel * ref);
  1140.  
  1141.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeChannel) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1142.  
  1143.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartPreview) (SG_GLOBALS());
  1144.  
  1145.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartRecord) (SG_GLOBALS());
  1146.  
  1147.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Idle) (SG_GLOBALS());
  1148.  
  1149.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Stop) (SG_GLOBALS());
  1150.  
  1151.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Pause) (SG_GLOBALS() ADD_SG_COMMA Byte  pause);
  1152.  
  1153.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Prepare) (SG_GLOBALS() ADD_SG_COMMA Boolean  prepareForPreview, Boolean  prepareForRecord);
  1154.  
  1155.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Release) (SG_GLOBALS());
  1156.  
  1157.     EXTERN_API( Movie  ) ADD_SG_BASENAME(GetMovie) (SG_GLOBALS());
  1158.  
  1159.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long  ticks);
  1160.  
  1161.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long * ticks);
  1162.  
  1163.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA unsigned long * bytes);
  1164.  
  1165.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeRemaining) (SG_GLOBALS() ADD_SG_COMMA long * ticksLeft);
  1166.  
  1167.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabPict) (SG_GLOBALS() ADD_SG_COMMA PicHandle * p, const Rect * bounds, short  offscreenDepth, long  grabPictFlags);
  1168.  
  1169.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetLastMovieResID) (SG_GLOBALS() ADD_SG_COMMA short * resID);
  1170.  
  1171.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFlags) (SG_GLOBALS() ADD_SG_COMMA long  sgFlags);
  1172.  
  1173.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFlags) (SG_GLOBALS() ADD_SG_COMMA long * sgFlags);
  1174.  
  1175.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataProc) (SG_GLOBALS() ADD_SG_COMMA SGDataUPP  proc, long  refCon);
  1176.  
  1177.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannelFromComponent) (SG_GLOBALS() ADD_SG_COMMA SGChannel * newChannel, Component  sgChannelComponent);
  1178.  
  1179.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
  1180.  
  1181.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AppendDeviceListToMenu) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list, MenuHandle  mh);
  1182.  
  1183.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData  ud, long  flags);
  1184.  
  1185.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData * ud, long  flags);
  1186.  
  1187.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetIndChannel) (SG_GLOBALS() ADD_SG_COMMA short  index, SGChannel * ref, OSType * chanType);
  1188.  
  1189.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Update) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  updateRgn);
  1190.  
  1191.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPause) (SG_GLOBALS() ADD_SG_COMMA Byte * paused);
  1192.  
  1193.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SettingsDialog) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, short  numPanels, ConstComponentListPtr  panelList, long  flags, SGModalFilterUPP  proc, long  procRefNum);
  1194.  
  1195.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAlignmentProc) (SG_GLOBALS() ADD_SG_COMMA ICMAlignmentProcRecordPtr  alignmentProc);
  1196.  
  1197.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
  1198.  
  1199.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
  1200.  
  1201.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMode) (SG_GLOBALS() ADD_SG_COMMA Boolean * previewMode, Boolean * recordMode);
  1202.  
  1203.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags);
  1204.  
  1205.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle * dataRef, OSType * dataRefType, long * whereFlags);
  1206.  
  1207.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewOutput) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags, SGOutput * sgOut);
  1208.  
  1209.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut);
  1210.  
  1211.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputFlags) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, long  whereFlags);
  1212.  
  1213.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelOutput) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, SGOutput  sgOut);
  1214.  
  1215.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutputStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, unsigned long * space);
  1216.  
  1217.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(HandleUpdateEvent) (SG_GLOBALS() ADD_SG_COMMA const EventRecord * event, Boolean * handled);
  1218.  
  1219.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput  nextOut);
  1220.  
  1221.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput * nextOut);
  1222.  
  1223.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, const wide * maxOffset);
  1224.  
  1225.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, wide * maxOffset);
  1226.  
  1227.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputDataReference) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Handle * dataRef, OSType * dataRefType);
  1228.  
  1229.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteExtendedMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, wide * offset, SGOutput * sgOut);
  1230.  
  1231.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, long * offset);
  1232.  
  1233.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo);
  1234.  
  1235.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
  1236.  
  1237.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeBase) (SG_GLOBALS() ADD_SG_COMMA TimeBase * tb);
  1238.  
  1239.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SortDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
  1240.  
  1241.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, long * offset, long  chRefCon, TimeValue  time, short  writeType);
  1242.  
  1243.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChangedSource) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1244.  
  1245.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo);
  1246.  
  1247.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
  1248.  
  1249.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddExtendedMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, wide * offset, long  chRefCon, TimeValue  time, short  writeType, SGOutput * whichOutput);
  1250.  
  1251.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddOutputDataRefToMedia) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Media  theMedia, SampleDescriptionHandle  desc);
  1252.  
  1253.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long  usage);
  1254.  
  1255.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long * usage);
  1256.  
  1257.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA const Rect * bounds);
  1258.  
  1259.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * bounds);
  1260.  
  1261.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short  volume);
  1262.  
  1263.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short * volume);
  1264.  
  1265.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelInfo) (SG_GLOBALS() ADD_SG_COMMA long * channelInfo);
  1266.  
  1267.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long  playFlags);
  1268.  
  1269.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long * playFlags);
  1270.  
  1271.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long  frameCount);
  1272.  
  1273.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long * frameCount);
  1274.  
  1275.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelRefCon) (SG_GLOBALS() ADD_SG_COMMA long  refCon);
  1276.  
  1277.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  theClip);
  1278.  
  1279.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle * theClip);
  1280.  
  1281.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSampleDescription) (SG_GLOBALS() ADD_SG_COMMA Handle  sampleDesc);
  1282.  
  1283.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelDeviceList) (SG_GLOBALS() ADD_SG_COMMA long  selectionFlags, SGDeviceList * list);
  1284.  
  1285.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelDevice) (SG_GLOBALS() ADD_SG_COMMA StringPtr  name);
  1286.  
  1287.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA const MatrixRecord * m);
  1288.  
  1289.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA MatrixRecord * m);
  1290.  
  1291.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelTimeScale) (SG_GLOBALS() ADD_SG_COMMA TimeScale * scale);
  1292.  
  1293.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelPutPicture) (SG_GLOBALS());
  1294.  
  1295.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long  bytesPerSecond);
  1296.  
  1297.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
  1298.  
  1299.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  name, ScriptCode  scriptTag);
  1300.  
  1301.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA Str255  name, ScriptCode * scriptTag);
  1302.  
  1303.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(InitChannel) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  owner);
  1304.  
  1305.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteSamples) (SG_GLOBALS() ADD_SG_COMMA Movie  m, AliasHandle  theFile);
  1306.  
  1307.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
  1308.  
  1309.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AlignChannelRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1310.  
  1311.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetDitl) (SG_GLOBALS() ADD_SG_COMMA Handle * ditl);
  1312.  
  1313.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetTitle) (SG_GLOBALS() ADD_SG_COMMA Str255  title);
  1314.  
  1315.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelCanRun) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
  1316.  
  1317.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelInstall) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset);
  1318.  
  1319.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelEvent) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset, const EventRecord * theEvent, short * itemHit, Boolean * handled);
  1320.  
  1321.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelItem) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset, short  itemNum);
  1322.  
  1323.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelRemove) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogPtr  d, short  itemOffset);
  1324.  
  1325.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetGrabber) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  sg);
  1326.  
  1327.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetResFile) (SG_GLOBALS() ADD_SG_COMMA short  resRef);
  1328.  
  1329.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
  1330.  
  1331.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
  1332.  
  1333.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelValidateInput) (SG_GLOBALS() ADD_SG_COMMA Boolean * ok);
  1334.  
  1335.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetEventFilter) (SG_GLOBALS() ADD_SG_COMMA SGModalFilterUPP  proc, long  refCon);
  1336.  
  1337.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSrcVideoBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1338.  
  1339.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoRect) (SG_GLOBALS() ADD_SG_COMMA const Rect * r);
  1340.  
  1341.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
  1342.  
  1343.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType * compressorType);
  1344.  
  1345.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType  compressorType);
  1346.  
  1347.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short  depth, CompressorComponent  compressor, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
  1348.  
  1349.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short * depth, CompressorComponent * compressor, CodecQ * spatialQuality, CodecQ * temporalQuality, long * keyFrameRate);
  1350.  
  1351.     EXTERN_API( ComponentInstance  ) ADD_SG_BASENAME(GetVideoDigitizerComponent) (SG_GLOBALS());
  1352.  
  1353.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoDigitizerComponent) (SG_GLOBALS() ADD_SG_COMMA ComponentInstance  vdig);
  1354.  
  1355.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(VideoDigitizerChanged) (SG_GLOBALS());
  1356.  
  1357.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
  1358.  
  1359.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
  1360.  
  1361.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
  1362.  
  1363.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done);
  1364.  
  1365.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
  1366.  
  1367.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
  1368.  
  1369.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done, SGCompressInfo * ci);
  1370.  
  1371.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, TimeValue  atTime, TimeScale  scale, const SGCompressInfo * ci);
  1372.  
  1373.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(TransferFrameForCompress) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
  1374.  
  1375.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short  depth, const Rect * compressSize);
  1376.  
  1377.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short * depth, Rect * compressSize);
  1378.  
  1379.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetBufferInfo) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, PixMapHandle * bufferPM, Rect * bufferRect, GWorldPtr * compressBuffer, Rect * compressBufferRect);
  1380.  
  1381.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean  useScreenBuffer);
  1382.  
  1383.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean * useScreenBuffer);
  1384.  
  1385.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabCompressComplete) (SG_GLOBALS() ADD_SG_COMMA Boolean * done, SGCompressInfo * ci, TimeRecord * tr);
  1386.  
  1387.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayCompress) (SG_GLOBALS() ADD_SG_COMMA Ptr  dataPtr, ImageDescriptionHandle  desc, MatrixRecord * mp, RgnHandle  clipRgn);
  1388.  
  1389.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  frameRate);
  1390.  
  1391.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed * frameRate);
  1392.  
  1393.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long  preferredPacketSizeInBytes);
  1394.  
  1395.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long * preferredPacketSizeInBytes);
  1396.  
  1397.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle  compressorTypes);
  1398.  
  1399.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle * compressorTypes);
  1400.  
  1401.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputDriver) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  driverName);
  1402.  
  1403.     EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundInputDriver) (SG_GLOBALS());
  1404.  
  1405.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SoundInputDriverChanged) (SG_GLOBALS());
  1406.  
  1407.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundRecordChunkSize) (SG_GLOBALS() ADD_SG_COMMA long  seconds);
  1408.  
  1409.     EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundRecordChunkSize) (SG_GLOBALS());
  1410.  
  1411.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  rate);
  1412.  
  1413.     EXTERN_API( Fixed  ) ADD_SG_BASENAME(GetSoundInputRate) (SG_GLOBALS());
  1414.  
  1415.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short  sampleSize, short  numChannels, OSType  compressionType);
  1416.  
  1417.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short * sampleSize, short * numChannels, OSType * compressionType);
  1418.  
  1419.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle  rates);
  1420.  
  1421.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle * rates);
  1422.  
  1423.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontName) (SG_GLOBALS() ADD_SG_COMMA StringPtr  pstr);
  1424.  
  1425.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontSize) (SG_GLOBALS() ADD_SG_COMMA short  fontSize);
  1426.  
  1427.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextForeColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
  1428.  
  1429.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextBackColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
  1430.  
  1431.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetJustification) (SG_GLOBALS() ADD_SG_COMMA short  just);
  1432.  
  1433.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short * rettospace);
  1434.  
  1435.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short  rettospace);
  1436.  
  1437.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
  1438.  
  1439.     EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
  1440.  
  1441.  
  1442.     /* MixedMode ProcInfo constants for component calls */
  1443.     enum {
  1444.         uppSGInitializeProcInfo = 0x000000F0,
  1445.         uppSGSetDataOutputProcInfo = 0x00000FF0,
  1446.         uppSGGetDataOutputProcInfo = 0x00000FF0,
  1447.         uppSGSetGWorldProcInfo = 0x00000FF0,
  1448.         uppSGGetGWorldProcInfo = 0x00000FF0,
  1449.         uppSGNewChannelProcInfo = 0x00000FF0,
  1450.         uppSGDisposeChannelProcInfo = 0x000003F0,
  1451.         uppSGStartPreviewProcInfo = 0x000000F0,
  1452.         uppSGStartRecordProcInfo = 0x000000F0,
  1453.         uppSGIdleProcInfo = 0x000000F0,
  1454.         uppSGStopProcInfo = 0x000000F0,
  1455.         uppSGPauseProcInfo = 0x000001F0,
  1456.         uppSGPrepareProcInfo = 0x000005F0,
  1457.         uppSGReleaseProcInfo = 0x000000F0,
  1458.         uppSGGetMovieProcInfo = 0x000000F0,
  1459.         uppSGSetMaximumRecordTimeProcInfo = 0x000003F0,
  1460.         uppSGGetMaximumRecordTimeProcInfo = 0x000003F0,
  1461.         uppSGGetStorageSpaceRemainingProcInfo = 0x000003F0,
  1462.         uppSGGetTimeRemainingProcInfo = 0x000003F0,
  1463.         uppSGGrabPictProcInfo = 0x0000EFF0,
  1464.         uppSGGetLastMovieResIDProcInfo = 0x000003F0,
  1465.         uppSGSetFlagsProcInfo = 0x000003F0,
  1466.         uppSGGetFlagsProcInfo = 0x000003F0,
  1467.         uppSGSetDataProcProcInfo = 0x00000FF0,
  1468.         uppSGNewChannelFromComponentProcInfo = 0x00000FF0,
  1469.         uppSGDisposeDeviceListProcInfo = 0x000003F0,
  1470.         uppSGAppendDeviceListToMenuProcInfo = 0x00000FF0,
  1471.         uppSGSetSettingsProcInfo = 0x00000FF0,
  1472.         uppSGGetSettingsProcInfo = 0x00000FF0,
  1473.         uppSGGetIndChannelProcInfo = 0x00003EF0,
  1474.         uppSGUpdateProcInfo = 0x000003F0,
  1475.         uppSGGetPauseProcInfo = 0x000003F0,
  1476.         uppSGSettingsDialogProcInfo = 0x000FFBF0,
  1477.         uppSGGetAlignmentProcProcInfo = 0x000003F0,
  1478.         uppSGSetChannelSettingsProcInfo = 0x00003FF0,
  1479.         uppSGGetChannelSettingsProcInfo = 0x00003FF0,
  1480.         uppSGGetModeProcInfo = 0x00000FF0,
  1481.         uppSGSetDataRefProcInfo = 0x00003FF0,
  1482.         uppSGGetDataRefProcInfo = 0x00003FF0,
  1483.         uppSGNewOutputProcInfo = 0x0000FFF0,
  1484.         uppSGDisposeOutputProcInfo = 0x000003F0,
  1485.         uppSGSetOutputFlagsProcInfo = 0x00000FF0,
  1486.         uppSGSetChannelOutputProcInfo = 0x00000FF0,
  1487.         uppSGGetDataOutputStorageSpaceRemainingProcInfo = 0x00000FF0,
  1488.         uppSGHandleUpdateEventProcInfo = 0x00000FF0,
  1489.         uppSGSetOutputNextOutputProcInfo = 0x00000FF0,
  1490.         uppSGGetOutputNextOutputProcInfo = 0x00000FF0,
  1491.         uppSGSetOutputMaximumOffsetProcInfo = 0x00000FF0,
  1492.         uppSGGetOutputMaximumOffsetProcInfo = 0x00000FF0,
  1493.         uppSGGetOutputDataReferenceProcInfo = 0x00003FF0,
  1494.         uppSGWriteExtendedMovieDataProcInfo = 0x0003FFF0,
  1495.         uppSGWriteMovieDataProcInfo = 0x0000FFF0,
  1496.         uppSGAddFrameReferenceProcInfo = 0x000003F0,
  1497.         uppSGGetNextFrameReferenceProcInfo = 0x00003FF0,
  1498.         uppSGGetTimeBaseProcInfo = 0x000003F0,
  1499.         uppSGSortDeviceListProcInfo = 0x000003F0,
  1500.         uppSGAddMovieDataProcInfo = 0x002FFFF0,
  1501.         uppSGChangedSourceProcInfo = 0x000003F0,
  1502.         uppSGAddExtendedFrameReferenceProcInfo = 0x000003F0,
  1503.         uppSGGetNextExtendedFrameReferenceProcInfo = 0x00003FF0,
  1504.         uppSGAddExtendedMovieDataProcInfo = 0x00EFFFF0,
  1505.         uppSGAddOutputDataRefToMediaProcInfo = 0x00003FF0,
  1506.         uppSGSetChannelUsageProcInfo = 0x000003F0,
  1507.         uppSGGetChannelUsageProcInfo = 0x000003F0,
  1508.         uppSGSetChannelBoundsProcInfo = 0x000003F0,
  1509.         uppSGGetChannelBoundsProcInfo = 0x000003F0,
  1510.         uppSGSetChannelVolumeProcInfo = 0x000002F0,
  1511.         uppSGGetChannelVolumeProcInfo = 0x000003F0,
  1512.         uppSGGetChannelInfoProcInfo = 0x000003F0,
  1513.         uppSGSetChannelPlayFlagsProcInfo = 0x000003F0,
  1514.         uppSGGetChannelPlayFlagsProcInfo = 0x000003F0,
  1515.         uppSGSetChannelMaxFramesProcInfo = 0x000003F0,
  1516.         uppSGGetChannelMaxFramesProcInfo = 0x000003F0,
  1517.         uppSGSetChannelRefConProcInfo = 0x000003F0,
  1518.         uppSGSetChannelClipProcInfo = 0x000003F0,
  1519.         uppSGGetChannelClipProcInfo = 0x000003F0,
  1520.         uppSGGetChannelSampleDescriptionProcInfo = 0x000003F0,
  1521.         uppSGGetChannelDeviceListProcInfo = 0x00000FF0,
  1522.         uppSGSetChannelDeviceProcInfo = 0x000003F0,
  1523.         uppSGSetChannelMatrixProcInfo = 0x000003F0,
  1524.         uppSGGetChannelMatrixProcInfo = 0x000003F0,
  1525.         uppSGGetChannelTimeScaleProcInfo = 0x000003F0,
  1526.         uppSGChannelPutPictureProcInfo = 0x000000F0,
  1527.         uppSGChannelSetRequestedDataRateProcInfo = 0x000003F0,
  1528.         uppSGChannelGetRequestedDataRateProcInfo = 0x000003F0,
  1529.         uppSGChannelSetDataSourceNameProcInfo = 0x00000BF0,
  1530.         uppSGChannelGetDataSourceNameProcInfo = 0x00000FF0,
  1531.         uppSGInitChannelProcInfo = 0x000003F0,
  1532.         uppSGWriteSamplesProcInfo = 0x00000FF0,
  1533.         uppSGGetDataRateProcInfo = 0x000003F0,
  1534.         uppSGAlignChannelRectProcInfo = 0x000003F0,
  1535.         uppSGPanelGetDitlProcInfo = 0x000003F0,
  1536.         uppSGPanelGetTitleProcInfo = 0x000003F0,
  1537.         uppSGPanelCanRunProcInfo = 0x000003F0,
  1538.         uppSGPanelInstallProcInfo = 0x00002FF0,
  1539.         uppSGPanelEventProcInfo = 0x000FEFF0,
  1540.         uppSGPanelItemProcInfo = 0x0000AFF0,
  1541.         uppSGPanelRemoveProcInfo = 0x00002FF0,
  1542.         uppSGPanelSetGrabberProcInfo = 0x000003F0,
  1543.         uppSGPanelSetResFileProcInfo = 0x000002F0,
  1544.         uppSGPanelGetSettingsProcInfo = 0x00003FF0,
  1545.         uppSGPanelSetSettingsProcInfo = 0x00003FF0,
  1546.         uppSGPanelValidateInputProcInfo = 0x000003F0,
  1547.         uppSGPanelSetEventFilterProcInfo = 0x00000FF0,
  1548.         uppSGGetSrcVideoBoundsProcInfo = 0x000003F0,
  1549.         uppSGSetVideoRectProcInfo = 0x000003F0,
  1550.         uppSGGetVideoRectProcInfo = 0x000003F0,
  1551.         uppSGGetVideoCompressorTypeProcInfo = 0x000003F0,
  1552.         uppSGSetVideoCompressorTypeProcInfo = 0x000003F0,
  1553.         uppSGSetVideoCompressorProcInfo = 0x0003FEF0,
  1554.         uppSGGetVideoCompressorProcInfo = 0x0003FFF0,
  1555.         uppSGGetVideoDigitizerComponentProcInfo = 0x000000F0,
  1556.         uppSGSetVideoDigitizerComponentProcInfo = 0x000003F0,
  1557.         uppSGVideoDigitizerChangedProcInfo = 0x000000F0,
  1558.         uppSGSetVideoBottlenecksProcInfo = 0x000003F0,
  1559.         uppSGGetVideoBottlenecksProcInfo = 0x000003F0,
  1560.         uppSGGrabFrameProcInfo = 0x000002F0,
  1561.         uppSGGrabFrameCompleteProcInfo = 0x00000EF0,
  1562.         uppSGDisplayFrameProcInfo = 0x00003EF0,
  1563.         uppSGCompressFrameProcInfo = 0x000002F0,
  1564.         uppSGCompressFrameCompleteProcInfo = 0x00003EF0,
  1565.         uppSGAddFrameProcInfo = 0x0000FEF0,
  1566.         uppSGTransferFrameForCompressProcInfo = 0x00003EF0,
  1567.         uppSGSetCompressBufferProcInfo = 0x00000EF0,
  1568.         uppSGGetCompressBufferProcInfo = 0x00000FF0,
  1569.         uppSGGetBufferInfoProcInfo = 0x0003FEF0,
  1570.         uppSGSetUseScreenBufferProcInfo = 0x000001F0,
  1571.         uppSGGetUseScreenBufferProcInfo = 0x000003F0,
  1572.         uppSGGrabCompressCompleteProcInfo = 0x00003FF0,
  1573.         uppSGDisplayCompressProcInfo = 0x0000FFF0,
  1574.         uppSGSetFrameRateProcInfo = 0x000003F0,
  1575.         uppSGGetFrameRateProcInfo = 0x000003F0,
  1576.         uppSGSetPreferredPacketSizeProcInfo = 0x000003F0,
  1577.         uppSGGetPreferredPacketSizeProcInfo = 0x000003F0,
  1578.         uppSGSetUserVideoCompressorListProcInfo = 0x000003F0,
  1579.         uppSGGetUserVideoCompressorListProcInfo = 0x000003F0,
  1580.         uppSGSetSoundInputDriverProcInfo = 0x000003F0,
  1581.         uppSGGetSoundInputDriverProcInfo = 0x000000F0,
  1582.         uppSGSoundInputDriverChangedProcInfo = 0x000000F0,
  1583.         uppSGSetSoundRecordChunkSizeProcInfo = 0x000003F0,
  1584.         uppSGGetSoundRecordChunkSizeProcInfo = 0x000000F0,
  1585.         uppSGSetSoundInputRateProcInfo = 0x000003F0,
  1586.         uppSGGetSoundInputRateProcInfo = 0x000000F0,
  1587.         uppSGSetSoundInputParametersProcInfo = 0x00003AF0,
  1588.         uppSGGetSoundInputParametersProcInfo = 0x00003FF0,
  1589.         uppSGSetAdditionalSoundRatesProcInfo = 0x000003F0,
  1590.         uppSGGetAdditionalSoundRatesProcInfo = 0x000003F0,
  1591.         uppSGSetFontNameProcInfo = 0x000003F0,
  1592.         uppSGSetFontSizeProcInfo = 0x000002F0,
  1593.         uppSGSetTextForeColorProcInfo = 0x000003F0,
  1594.         uppSGSetTextBackColorProcInfo = 0x000003F0,
  1595.         uppSGSetJustificationProcInfo = 0x000002F0,
  1596.         uppSGGetTextReturnToSpaceValueProcInfo = 0x000003F0,
  1597.         uppSGSetTextReturnToSpaceValueProcInfo = 0x000002F0,
  1598.         uppSGGetInstrumentProcInfo = 0x000003F0,
  1599.         uppSGSetInstrumentProcInfo = 0x000003F0
  1600.     };
  1601.  
  1602. #endif    /* SG_BASENAME */
  1603.  
  1604. /*
  1605.     Example usage:
  1606.  
  1607.         #define QTVIDEOOUTPUT_BASENAME()    Fred
  1608.         #define QTVIDEOOUTPUT_GLOBALS()    FredGlobalsHandle
  1609.         #include <QuickTimeComponents.k.h>
  1610.  
  1611.     To specify that your component implementation does not use globals, do not #define QTVIDEOOUTPUT_GLOBALS
  1612. */
  1613. #ifdef QTVIDEOOUTPUT_BASENAME
  1614.     #ifndef QTVIDEOOUTPUT_GLOBALS
  1615.         #define QTVIDEOOUTPUT_GLOBALS() 
  1616.         #define ADD_QTVIDEOOUTPUT_COMMA 
  1617.     #else
  1618.         #define ADD_QTVIDEOOUTPUT_COMMA ,
  1619.     #endif
  1620.     #define QTVIDEOOUTPUT_GLUE(a,b) a##b
  1621.     #define QTVIDEOOUTPUT_STRCAT(a,b) QTVIDEOOUTPUT_GLUE(a,b)
  1622.     #define ADD_QTVIDEOOUTPUT_BASENAME(name) QTVIDEOOUTPUT_STRCAT(QTVIDEOOUTPUT_BASENAME(),name)
  1623.  
  1624.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayModeList) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * outputs);
  1625.  
  1626.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetCurrentClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
  1627.  
  1628.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ConstStr255Param  str);
  1629.  
  1630.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
  1631.  
  1632.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(Begin) (QTVIDEOOUTPUT_GLOBALS());
  1633.  
  1634.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(End) (QTVIDEOOUTPUT_GLOBALS());
  1635.  
  1636.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  displayModeID);
  1637.  
  1638.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long * displayModeID);
  1639.  
  1640.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(CustomConfigureDisplay) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ModalFilterUPP  filter);
  1641.  
  1642.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SaveState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * state);
  1643.  
  1644.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(RestoreState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer  state);
  1645.  
  1646.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorld) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA GWorldPtr * gw);
  1647.  
  1648.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorldParameters) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Ptr * baseAddr, long * rowBytes, CTabHandle * colorTable);
  1649.  
  1650.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetIndSoundOutput) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  index, Component * outputComponent);
  1651.  
  1652.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClock) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ComponentInstance * clock);
  1653.  
  1654.     EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetEchoPort) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA CGrafPtr  echoPort);
  1655.  
  1656.  
  1657.     /* MixedMode ProcInfo constants for component calls */
  1658.     enum {
  1659.         uppQTVideoOutputGetDisplayModeListProcInfo = 0x000003F0,
  1660.         uppQTVideoOutputGetCurrentClientNameProcInfo = 0x000003F0,
  1661.         uppQTVideoOutputSetClientNameProcInfo = 0x000003F0,
  1662.         uppQTVideoOutputGetClientNameProcInfo = 0x000003F0,
  1663.         uppQTVideoOutputBeginProcInfo = 0x000000F0,
  1664.         uppQTVideoOutputEndProcInfo = 0x000000F0,
  1665.         uppQTVideoOutputSetDisplayModeProcInfo = 0x000003F0,
  1666.         uppQTVideoOutputGetDisplayModeProcInfo = 0x000003F0,
  1667.         uppQTVideoOutputCustomConfigureDisplayProcInfo = 0x000003F0,
  1668.         uppQTVideoOutputSaveStateProcInfo = 0x000003F0,
  1669.         uppQTVideoOutputRestoreStateProcInfo = 0x000003F0,
  1670.         uppQTVideoOutputGetGWorldProcInfo = 0x000003F0,
  1671.         uppQTVideoOutputGetGWorldParametersProcInfo = 0x00003FF0,
  1672.         uppQTVideoOutputGetIndSoundOutputProcInfo = 0x00000FF0,
  1673.         uppQTVideoOutputGetClockProcInfo = 0x000003F0,
  1674.         uppQTVideoOutputSetEchoPortProcInfo = 0x000003F0
  1675.     };
  1676.  
  1677. #endif    /* QTVIDEOOUTPUT_BASENAME */
  1678.  
  1679.  
  1680. #endif /* __QUICKTIMECOMPONENTS_K__ */
  1681.  
  1682.