QuickTimeComponents.k.h

/*
     File:       QuickTimeComponents.k.h
 
     Contains:   QuickTime Interfaces.
 
     Version:    Technology: QuickTime 5.0.1
                 Release:    Universal Interfaces 3.4
 
     Copyright:  © 1990-2001 by Apple Computer, Inc., all rights reserved
 
    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
                ("Apple") in consideration of your agreement to the following terms, and your
                use, installation, modification or redistribution of this Apple software
                constitutes acceptance of these terms.  If you do not agree with these terms,
                please do not use, install, modify or redistribute this Apple software.
 
                In consideration of your agreement to abide by the following terms, and subject
                to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs
                copyrights in this original Apple software (the "Apple Software"), to use,
                reproduce, modify and redistribute the Apple Software, with or without
                modifications, in source and/or binary forms; provided that if you redistribute
                the Apple Software in its entirety and without modifications, you must retain
                this notice and the following text and disclaimers in all such redistributions of
                the Apple Software.  Neither the name, trademarks, service marks or logos of
                Apple Computer, Inc. may be used to endorse or promote products derived from the
                Apple Software without specific prior written permission from Apple.  Except as
                expressly stated in this notice, no other rights or licenses, express or implied,
                are granted by Apple herein, including but not limited to any patent rights that
                may be infringed by your derivative works or by other works in which the Apple
                Software may be incorporated.
 
                The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
                WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
                WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
                COMBINATION WITH YOUR PRODUCTS.
 
                IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
                CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
                GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
                OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
                (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
                ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
     Bugs?:      For bug reports, consult the following page on
                 the World Wide Web:
 
                     http://developer.apple.com/bugreporter/
 
*/
#ifndef __QUICKTIMECOMPONENTS_K__
#define __QUICKTIMECOMPONENTS_K__
 
#include <QuickTime/QuickTime.h>
 
/*
    Example usage:
 
        #define CLOCK_BASENAME()    Fred
        #define CLOCK_GLOBALS() FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define CLOCK_GLOBALS
*/
#ifdef CLOCK_BASENAME
    #ifndef CLOCK_GLOBALS
        #define CLOCK_GLOBALS() 
        #define ADD_CLOCK_COMMA 
    #else
        #define ADD_CLOCK_COMMA ,
    #endif
    #define CLOCK_GLUE(a,b) a##b
    #define CLOCK_STRCAT(a,b) CLOCK_GLUE(a,b)
    #define ADD_CLOCK_BASENAME(name) CLOCK_STRCAT(CLOCK_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetTime) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeRecord * out);
 
    EXTERN_API( QTCallBack  ) ADD_CLOCK_BASENAME(NewCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb, short  callBackType);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(DisposeCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CallMeWhen) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, long  param1, long  param2, long  param3);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(CancelCallBack) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(RateChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(TimeChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(SetTimeBase) (CLOCK_GLOBALS() ADD_CLOCK_COMMA TimeBase  tb);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(StartStopChanged) (CLOCK_GLOBALS() ADD_CLOCK_COMMA QTCallBack  cb, Boolean  startChanged, Boolean  stopChanged);
 
    EXTERN_API( ComponentResult  ) ADD_CLOCK_BASENAME(GetRate) (CLOCK_GLOBALS() ADD_CLOCK_COMMA Fixed * rate);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppClockGetTimeProcInfo = 0x000003F0,
        uppClockNewCallBackProcInfo = 0x00000BF0,
        uppClockDisposeCallBackProcInfo = 0x000003F0,
        uppClockCallMeWhenProcInfo = 0x0000FFF0,
        uppClockCancelCallBackProcInfo = 0x000003F0,
        uppClockRateChangedProcInfo = 0x000003F0,
        uppClockTimeChangedProcInfo = 0x000003F0,
        uppClockSetTimeBaseProcInfo = 0x000003F0,
        uppClockStartStopChangedProcInfo = 0x000017F0,
        uppClockGetRateProcInfo = 0x000003F0
    };
 
#endif  /* CLOCK_BASENAME */
 
/*
    Example usage:
 
        #define SC_BASENAME()   Fred
        #define SC_GLOBALS()    FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define SC_GLOBALS
*/
#ifdef SC_BASENAME
    #ifndef SC_GLOBALS
        #define SC_GLOBALS() 
        #define ADD_SC_COMMA 
    #else
        #define ADD_SC_COMMA ,
    #endif
    #define SC_GLUE(a,b) a##b
    #define SC_STRCAT(a,b) SC_GLUE(a,b)
    #define ADD_SC_BASENAME(name) SC_STRCAT(SC_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressionExtended) (SC_GLOBALS() ADD_SC_COMMA SCParams * params, Point  where, SCModalFilterUPP  filterProc, SCModalHookUPP  hookProc, long  refcon, StringPtr  customName);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionRect) (SC_GLOBALS() ADD_SC_COMMA Rect * rp, Point * where);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(PositionDialog) (SC_GLOBALS() ADD_SC_COMMA short  id, Point * where);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictHandle) (SC_GLOBALS() ADD_SC_COMMA PicHandle  testPict, Rect * testRect, short  testFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePictFile) (SC_GLOBALS() ADD_SC_COMMA short  testFileRef, Rect * testRect, short  testFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetTestImagePixMap) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  testPixMap, Rect * testRect, short  testFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetBestDeviceRect) (SC_GLOBALS() ADD_SC_COMMA Rect * r);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestImageSettings) (SC_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressImage) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc, Handle * data);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPicture) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, PicHandle  dstPicture);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressPictureFile) (SC_GLOBALS() ADD_SC_COMMA short  srcRefNum, short  dstRefNum);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(RequestSequenceSettings) (SC_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceBegin) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle * desc);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceFrame) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, Handle * data, long * dataSize, short * notSyncFlag);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceEnd) (SC_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictHandleSettings) (SC_GLOBALS() ADD_SC_COMMA PicHandle  srcPicture, short  motion);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPictFileSettings) (SC_GLOBALS() ADD_SC_COMMA short  srcRef, short  motion);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(DefaultPixMapSettings) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, short  motion);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetInfo) (SC_GLOBALS() ADD_SC_COMMA OSType  infoType, void * info);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(NewGWorld) (SC_GLOBALS() ADD_SC_COMMA GWorldPtr * gwp, Rect * rp, GWorldFlags  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetCompressFlags) (SC_GLOBALS() ADD_SC_COMMA long * flags);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsText) (SC_GLOBALS() ADD_SC_COMMA Handle * text);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(GetSettingsAsAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer * settings);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(SetSettingsFromAtomContainer) (SC_GLOBALS() ADD_SC_COMMA QTAtomContainer  settings);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(CompressSequenceFrameAsync) (SC_GLOBALS() ADD_SC_COMMA PixMapHandle  src, const Rect * srcRect, Handle * data, long * dataSize, short * notSyncFlag, ICMCompletionProcRecordPtr  asyncCompletionProc);
 
    EXTERN_API( ComponentResult  ) ADD_SC_BASENAME(AsyncIdle) (SC_GLOBALS());
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppSCGetCompressionExtendedProcInfo = 0x000FFFF0,
        uppSCPositionRectProcInfo = 0x00000FF0,
        uppSCPositionDialogProcInfo = 0x00000EF0,
        uppSCSetTestImagePictHandleProcInfo = 0x00002FF0,
        uppSCSetTestImagePictFileProcInfo = 0x00002EF0,
        uppSCSetTestImagePixMapProcInfo = 0x00002FF0,
        uppSCGetBestDeviceRectProcInfo = 0x000003F0,
        uppSCRequestImageSettingsProcInfo = 0x000000F0,
        uppSCCompressImageProcInfo = 0x0000FFF0,
        uppSCCompressPictureProcInfo = 0x00000FF0,
        uppSCCompressPictureFileProcInfo = 0x00000AF0,
        uppSCRequestSequenceSettingsProcInfo = 0x000000F0,
        uppSCCompressSequenceBeginProcInfo = 0x00003FF0,
        uppSCCompressSequenceFrameProcInfo = 0x0003FFF0,
        uppSCCompressSequenceEndProcInfo = 0x000000F0,
        uppSCDefaultPictHandleSettingsProcInfo = 0x00000BF0,
        uppSCDefaultPictFileSettingsProcInfo = 0x00000AF0,
        uppSCDefaultPixMapSettingsProcInfo = 0x00000BF0,
        uppSCGetInfoProcInfo = 0x00000FF0,
        uppSCSetInfoProcInfo = 0x00000FF0,
        uppSCNewGWorldProcInfo = 0x00003FF0,
        uppSCSetCompressFlagsProcInfo = 0x000003F0,
        uppSCGetCompressFlagsProcInfo = 0x000003F0,
        uppSCGetSettingsAsTextProcInfo = 0x000003F0,
        uppSCGetSettingsAsAtomContainerProcInfo = 0x000003F0,
        uppSCSetSettingsFromAtomContainerProcInfo = 0x000003F0,
        uppSCCompressSequenceFrameAsyncProcInfo = 0x000FFFF0,
        uppSCAsyncIdleProcInfo = 0x000000F0
    };
 
#endif  /* SC_BASENAME */
 
/*
    Example usage:
 
        #define TWEENER_BASENAME()  Fred
        #define TWEENER_GLOBALS()   FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define TWEENER_GLOBALS
*/
#ifdef TWEENER_BASENAME
    #ifndef TWEENER_GLOBALS
        #define TWEENER_GLOBALS() 
        #define ADD_TWEENER_COMMA 
    #else
        #define ADD_TWEENER_COMMA ,
    #endif
    #define TWEENER_GLUE(a,b) a##b
    #define TWEENER_STRCAT(a,b) TWEENER_GLUE(a,b)
    #define ADD_TWEENER_BASENAME(name) TWEENER_STRCAT(TWEENER_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Initialize) (TWEENER_GLOBALS() ADD_TWEENER_COMMA QTAtomContainer  container, QTAtom  tweenAtom, QTAtom  dataAtom);
 
    EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(DoTween) (TWEENER_GLOBALS() ADD_TWEENER_COMMA TweenRecord * tr);
 
    EXTERN_API( ComponentResult  ) ADD_TWEENER_BASENAME(Reset) (TWEENER_GLOBALS());
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppTweenerInitializeProcInfo = 0x00003FF0,
        uppTweenerDoTweenProcInfo = 0x000003F0,
        uppTweenerResetProcInfo = 0x000000F0
    };
 
#endif  /* TWEENER_BASENAME */
 
/*
    Example usage:
 
        #define TC_BASENAME()   Fred
        #define TC_GLOBALS()    FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define TC_GLOBALS
*/
#ifdef TC_BASENAME
    #ifndef TC_GLOBALS
        #define TC_GLOBALS() 
        #define ADD_TC_COMMA 
    #else
        #define ADD_TC_COMMA ,
    #endif
    #define TC_GLUE(a,b) a##b
    #define TC_STRCAT(a,b) TC_GLUE(a,b)
    #define ADD_TC_BASENAME(name) TC_STRCAT(TC_BASENAME(),name)
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetCurrentTimeCode) (TC_GLOBALS() ADD_TC_COMMA long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcrec, UserData * srcRefH);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeAtTime) (TC_GLOBALS() ADD_TC_COMMA TimeValue  mediaTime, long * frameNum, TimeCodeDef * tcdef, TimeCodeRecord * tcdata, UserData * srcRefH);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToString) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, StringPtr  tcStr);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(TimeCodeToFrameNumber) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDef * tcdef, TimeCodeRecord * tcrec, long * frameNumber);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(FrameNumberToTimeCode) (TC_GLOBALS() ADD_TC_COMMA long  frameNumber, TimeCodeDef * tcdef, TimeCodeRecord * tcrec);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData * srefH);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetSourceRef) (TC_GLOBALS() ADD_TC_COMMA TimeCodeDescriptionHandle  tcdH, UserData  srefH);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long  flags, long  flagsMask);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetTimeCodeFlags) (TC_GLOBALS() ADD_TC_COMMA long * flags);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(SetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
 
    EXTERN_API( HandlerError  ) ADD_TC_BASENAME(GetDisplayOptions) (TC_GLOBALS() ADD_TC_COMMA TCTextOptionsPtr  textOptions);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppTCGetCurrentTimeCodeProcInfo = 0x0000FFF0,
        uppTCGetTimeCodeAtTimeProcInfo = 0x0003FFF0,
        uppTCTimeCodeToStringProcInfo = 0x00003FF0,
        uppTCTimeCodeToFrameNumberProcInfo = 0x00003FF0,
        uppTCFrameNumberToTimeCodeProcInfo = 0x00003FF0,
        uppTCGetSourceRefProcInfo = 0x00000FF0,
        uppTCSetSourceRefProcInfo = 0x00000FF0,
        uppTCSetTimeCodeFlagsProcInfo = 0x00000FF0,
        uppTCGetTimeCodeFlagsProcInfo = 0x000003F0,
        uppTCSetDisplayOptionsProcInfo = 0x000003F0,
        uppTCGetDisplayOptionsProcInfo = 0x000003F0
    };
 
#endif  /* TC_BASENAME */
 
/*
    Example usage:
 
        #define MOVIEIMPORT_BASENAME()  Fred
        #define MOVIEIMPORT_GLOBALS()   FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define MOVIEIMPORT_GLOBALS
*/
#ifdef MOVIEIMPORT_BASENAME
    #ifndef MOVIEIMPORT_GLOBALS
        #define MOVIEIMPORT_GLOBALS() 
        #define ADD_MOVIEIMPORT_COMMA 
    #else
        #define ADD_MOVIEIMPORT_COMMA ,
    #endif
    #define MOVIEIMPORT_GLUE(a,b) a##b
    #define MOVIEIMPORT_STRCAT(a,b) MOVIEIMPORT_GLUE(a,b)
    #define ADD_MOVIEIMPORT_BASENAME(name) MOVIEIMPORT_STRCAT(MOVIEIMPORT_BASENAME(),name)
 
    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);
 
    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);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration, TimeScale  scale);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetMediaFile) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA AliasHandle  alias);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDimensions) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Fixed  width, Fixed  height);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetChunkSize) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long  chunkSize);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetProgressProc) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA MovieProgressUPP  proc, long  refcon);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetAuxiliaryData) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  data, OSType  handleType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetFromScrap) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Boolean  fromScrap);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(DoUserDialog) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * canceled);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDuration) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue  duration);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetAuxiliaryDataType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * auxType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Validate) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const FSSpec * theFile, Handle  theData, Boolean * valid);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetFileType) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA OSType * fileType);
 
    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);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSampleDescription) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA SampleDescriptionHandle * desc, OSType * mediaType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetMIMETypeList) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * mimeInfo);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetOffsetAndLimit) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA unsigned long  offset, unsigned long  limit);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer * settings);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA QTAtomContainer  settings);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetOffsetAndLimit64) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA const wide * offset, const wide * limit);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(Idle) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long  inFlags, long * outFlags);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(ValidateDataRef) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Handle  dataRef, OSType  dataRefType, UInt8 * valid);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetLoadState) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA long * importerLoadState);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetMaxLoadedTime) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeValue * time);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(EstimateCompletionTime) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA TimeRecord * time);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(SetDontBlock) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Boolean  dontBlock);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEIMPORT_BASENAME(GetDontBlock) (MOVIEIMPORT_GLOBALS() ADD_MOVIEIMPORT_COMMA Boolean * willBlock);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppMovieImportHandleProcInfo = 0x00FFFFF0,
        uppMovieImportFileProcInfo = 0x00FFFFF0,
        uppMovieImportSetSampleDurationProcInfo = 0x00000FF0,
        uppMovieImportSetSampleDescriptionProcInfo = 0x00000FF0,
        uppMovieImportSetMediaFileProcInfo = 0x000003F0,
        uppMovieImportSetDimensionsProcInfo = 0x00000FF0,
        uppMovieImportSetChunkSizeProcInfo = 0x000003F0,
        uppMovieImportSetProgressProcProcInfo = 0x00000FF0,
        uppMovieImportSetAuxiliaryDataProcInfo = 0x00000FF0,
        uppMovieImportSetFromScrapProcInfo = 0x000001F0,
        uppMovieImportDoUserDialogProcInfo = 0x00003FF0,
        uppMovieImportSetDurationProcInfo = 0x000003F0,
        uppMovieImportGetAuxiliaryDataTypeProcInfo = 0x000003F0,
        uppMovieImportValidateProcInfo = 0x00003FF0,
        uppMovieImportGetFileTypeProcInfo = 0x000003F0,
        uppMovieImportDataRefProcInfo = 0x03FFFFF0,
        uppMovieImportGetSampleDescriptionProcInfo = 0x00000FF0,
        uppMovieImportGetMIMETypeListProcInfo = 0x000003F0,
        uppMovieImportSetOffsetAndLimitProcInfo = 0x00000FF0,
        uppMovieImportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
        uppMovieImportSetSettingsFromAtomContainerProcInfo = 0x000003F0,
        uppMovieImportSetOffsetAndLimit64ProcInfo = 0x00000FF0,
        uppMovieImportIdleProcInfo = 0x00000FF0,
        uppMovieImportValidateDataRefProcInfo = 0x00003FF0,
        uppMovieImportGetLoadStateProcInfo = 0x000003F0,
        uppMovieImportGetMaxLoadedTimeProcInfo = 0x000003F0,
        uppMovieImportEstimateCompletionTimeProcInfo = 0x000003F0,
        uppMovieImportSetDontBlockProcInfo = 0x000001F0,
        uppMovieImportGetDontBlockProcInfo = 0x000003F0
    };
 
#endif  /* MOVIEIMPORT_BASENAME */
 
/*
    Example usage:
 
        #define MOVIEEXPORT_BASENAME()  Fred
        #define MOVIEEXPORT_GLOBALS()   FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
*/
#ifdef MOVIEEXPORT_BASENAME
    #ifndef MOVIEEXPORT_GLOBALS
        #define MOVIEEXPORT_GLOBALS() 
        #define ADD_MOVIEEXPORT_COMMA 
    #else
        #define ADD_MOVIEEXPORT_COMMA ,
    #endif
    #define MOVIEEXPORT_GLUE(a,b) a##b
    #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
    #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToHandle) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToFile) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA const FSSpec * theFile, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetAuxiliaryData) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataH, OSType * handleType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetProgressProc) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieProgressUPP  proc, long  refcon);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSampleDescription) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA SampleDescriptionHandle  desc, OSType  mediaType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DoUserDialog) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration, Boolean * canceled);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetCreatorType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * creator);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(ToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType, Movie  theMovie, Track  onlyThisTrack, TimeValue  startTime, TimeValue  duration);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(FromProceduresToDataRef) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Handle  dataRef, OSType  dataRefType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(AddDataSource) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType  trackType, TimeScale  scale, long * trackID, MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(Validate) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Movie  theMovie, Track  onlyThisTrack, Boolean * valid);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSettingsAsAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer * settings);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetSettingsFromAtomContainer) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA QTAtomContainer  settings);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetFileNameExtension) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * extension);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetShortFileTypeString) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA Str255  typeString);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(GetSourceMediaType) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA OSType * mediaType);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(SetGetMoviePropertyProc) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieExportGetPropertyUPP  getPropertyProc, void * refCon);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppMovieExportToHandleProcInfo = 0x0003FFF0,
        uppMovieExportToFileProcInfo = 0x0003FFF0,
        uppMovieExportGetAuxiliaryDataProcInfo = 0x00000FF0,
        uppMovieExportSetProgressProcProcInfo = 0x00000FF0,
        uppMovieExportSetSampleDescriptionProcInfo = 0x00000FF0,
        uppMovieExportDoUserDialogProcInfo = 0x0003FFF0,
        uppMovieExportGetCreatorTypeProcInfo = 0x000003F0,
        uppMovieExportToDataRefProcInfo = 0x000FFFF0,
        uppMovieExportFromProceduresToDataRefProcInfo = 0x00000FF0,
        uppMovieExportAddDataSourceProcInfo = 0x000FFFF0,
        uppMovieExportValidateProcInfo = 0x00003FF0,
        uppMovieExportGetSettingsAsAtomContainerProcInfo = 0x000003F0,
        uppMovieExportSetSettingsFromAtomContainerProcInfo = 0x000003F0,
        uppMovieExportGetFileNameExtensionProcInfo = 0x000003F0,
        uppMovieExportGetShortFileTypeStringProcInfo = 0x000003F0,
        uppMovieExportGetSourceMediaTypeProcInfo = 0x000003F0,
        uppMovieExportSetGetMoviePropertyProcProcInfo = 0x00000FF0
    };
 
#endif  /* MOVIEEXPORT_BASENAME */
 
/*
    Example usage:
 
        #define TEXTEXPORT_BASENAME()   Fred
        #define TEXTEXPORT_GLOBALS()    FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define TEXTEXPORT_GLOBALS
*/
#ifdef TEXTEXPORT_BASENAME
    #ifndef TEXTEXPORT_GLOBALS
        #define TEXTEXPORT_GLOBALS() 
        #define ADD_TEXTEXPORT_COMMA 
    #else
        #define ADD_TEXTEXPORT_COMMA ,
    #endif
    #define TEXTEXPORT_GLUE(a,b) a##b
    #define TEXTEXPORT_STRCAT(a,b) TEXTEXPORT_GLUE(a,b)
    #define ADD_TEXTEXPORT_BASENAME(name) TEXTEXPORT_STRCAT(TEXTEXPORT_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetDisplayData) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA TextDisplayData * textDisplay);
 
    EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * movieTimeFraction);
 
    EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetTimeFraction) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  movieTimeFraction);
 
    EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(GetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long * setting);
 
    EXTERN_API( ComponentResult  ) ADD_TEXTEXPORT_BASENAME(SetSettings) (TEXTEXPORT_GLOBALS() ADD_TEXTEXPORT_COMMA long  setting);
 
#endif  /* TEXTEXPORT_BASENAME */
 
/*
    Example usage:
 
        #define MIDIIMPORT_BASENAME()   Fred
        #define MIDIIMPORT_GLOBALS()    FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define MIDIIMPORT_GLOBALS
*/
#ifdef MIDIIMPORT_BASENAME
    #ifndef MIDIIMPORT_GLOBALS
        #define MIDIIMPORT_GLOBALS() 
        #define ADD_MIDIIMPORT_COMMA 
    #else
        #define ADD_MIDIIMPORT_COMMA ,
    #endif
    #define MIDIIMPORT_GLUE(a,b) a##b
    #define MIDIIMPORT_STRCAT(a,b) MIDIIMPORT_GLUE(a,b)
    #define ADD_MIDIIMPORT_BASENAME(name) MIDIIMPORT_STRCAT(MIDIIMPORT_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(GetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long * setting);
 
    EXTERN_API( ComponentResult  ) ADD_MIDIIMPORT_BASENAME(SetSettings) (MIDIIMPORT_GLOBALS() ADD_MIDIIMPORT_COMMA long  setting);
 
#endif  /* MIDIIMPORT_BASENAME */
 
/*
    Example usage:
 
        #define MOVIEEXPORT_BASENAME()  Fred
        #define MOVIEEXPORT_GLOBALS()   FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define MOVIEEXPORT_GLOBALS
*/
#ifdef MOVIEEXPORT_BASENAME
    #ifndef MOVIEEXPORT_GLOBALS
        #define MOVIEEXPORT_GLOBALS() 
        #define ADD_MOVIEEXPORT_COMMA 
    #else
        #define ADD_MOVIEEXPORT_COMMA ,
    #endif
    #define MOVIEEXPORT_GLUE(a,b) a##b
    #define MOVIEEXPORT_STRCAT(a,b) MOVIEEXPORT_GLUE(a,b)
    #define ADD_MOVIEEXPORT_BASENAME(name) MOVIEEXPORT_STRCAT(MOVIEEXPORT_BASENAME(),name)
 
    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);
 
    EXTERN_API( ComponentResult  ) ADD_MOVIEEXPORT_BASENAME(DisposeGetDataAndPropertiesProcs) (MOVIEEXPORT_GLOBALS() ADD_MOVIEEXPORT_COMMA MovieExportGetPropertyUPP  getPropertyProc, MovieExportGetDataUPP  getDataProc, void * refCon);
 
#endif  /* MOVIEEXPORT_BASENAME */
 
/*
    Example usage:
 
        #define GRAPHICSIMAGEIMPORT_BASENAME()  Fred
        #define GRAPHICSIMAGEIMPORT_GLOBALS()   FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define GRAPHICSIMAGEIMPORT_GLOBALS
*/
#ifdef GRAPHICSIMAGEIMPORT_BASENAME
    #ifndef GRAPHICSIMAGEIMPORT_GLOBALS
        #define GRAPHICSIMAGEIMPORT_GLOBALS() 
        #define ADD_GRAPHICSIMAGEIMPORT_COMMA 
    #else
        #define ADD_GRAPHICSIMAGEIMPORT_COMMA ,
    #endif
    #define GRAPHICSIMAGEIMPORT_GLUE(a,b) a##b
    #define GRAPHICSIMAGEIMPORT_STRCAT(a,b) GRAPHICSIMAGEIMPORT_GLUE(a,b)
    #define ADD_GRAPHICSIMAGEIMPORT_BASENAME(name) GRAPHICSIMAGEIMPORT_STRCAT(GRAPHICSIMAGEIMPORT_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(SetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean  enable);
 
    EXTERN_API( ComponentResult  ) ADD_GRAPHICSIMAGEIMPORT_BASENAME(GetSequenceEnabled) (GRAPHICSIMAGEIMPORT_GLOBALS() ADD_GRAPHICSIMAGEIMPORT_COMMA Boolean * enable);
 
#endif  /* GRAPHICSIMAGEIMPORT_BASENAME */
 
 
/* MixedMode ProcInfo constants for component calls */
enum {
    uppTextExportGetDisplayDataProcInfo = 0x000003F0,
    uppTextExportGetTimeFractionProcInfo = 0x000003F0,
    uppTextExportSetTimeFractionProcInfo = 0x000003F0,
    uppTextExportGetSettingsProcInfo = 0x000003F0,
    uppTextExportSetSettingsProcInfo = 0x000003F0,
    uppMIDIImportGetSettingsProcInfo = 0x000003F0,
    uppMIDIImportSetSettingsProcInfo = 0x000003F0,
    uppMovieExportNewGetDataAndPropertiesProcsProcInfo = 0x03FFFFF0,
    uppMovieExportDisposeGetDataAndPropertiesProcsProcInfo = 0x00003FF0,
    uppGraphicsImageImportSetSequenceEnabledProcInfo = 0x000001F0,
    uppGraphicsImageImportGetSequenceEnabledProcInfo = 0x000003F0
};
 
/*
    Example usage:
 
        #define PREVIEW_BASENAME()  Fred
        #define PREVIEW_GLOBALS()   FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define PREVIEW_GLOBALS
*/
#ifdef PREVIEW_BASENAME
    #ifndef PREVIEW_GLOBALS
        #define PREVIEW_GLOBALS() 
        #define ADD_PREVIEW_COMMA 
    #else
        #define ADD_PREVIEW_COMMA ,
    #endif
    #define PREVIEW_GLUE(a,b) a##b
    #define PREVIEW_STRCAT(a,b) PREVIEW_GLUE(a,b)
    #define ADD_PREVIEW_BASENAME(name) PREVIEW_STRCAT(PREVIEW_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(ShowData) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType  dataType, Handle  data, const Rect * inHere);
 
    EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreview) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, Handle * previewResult, const FSSpec * sourceFile, ICMProgressProcRecordPtr  progress);
 
    EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(MakePreviewReference) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA OSType * previewType, short * resID, const FSSpec * sourceFile);
 
    EXTERN_API( ComponentResult  ) ADD_PREVIEW_BASENAME(Event) (PREVIEW_GLOBALS() ADD_PREVIEW_COMMA EventRecord * e, Boolean * handledEvent);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppPreviewShowDataProcInfo = 0x00003FF0,
        uppPreviewMakePreviewProcInfo = 0x0000FFF0,
        uppPreviewMakePreviewReferenceProcInfo = 0x00003FF0,
        uppPreviewEventProcInfo = 0x00000FF0
    };
 
#endif  /* PREVIEW_BASENAME */
 
/*
    Example usage:
 
        #define DATACODEC_BASENAME()    Fred
        #define DATACODEC_GLOBALS() FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define DATACODEC_GLOBALS
*/
#ifdef DATACODEC_BASENAME
    #ifndef DATACODEC_GLOBALS
        #define DATACODEC_GLOBALS() 
        #define ADD_DATACODEC_COMMA 
    #else
        #define ADD_DATACODEC_COMMA ,
    #endif
    #define DATACODEC_GLUE(a,b) a##b
    #define DATACODEC_STRCAT(a,b) DATACODEC_GLUE(a,b)
    #define ADD_DATACODEC_BASENAME(name) DATACODEC_STRCAT(DATACODEC_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Decompress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(GetCompressBufferSize) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA UInt32  srcSize, UInt32 * dstSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(Compress) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA void * srcData, UInt32  srcSize, void * dstData, UInt32  dstBufferSize, UInt32 * actualDstSize, UInt32 * decompressSlop);
 
    EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(BeginInterruptSafe) (DATACODEC_GLOBALS() ADD_DATACODEC_COMMA unsigned long  maxSrcSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATACODEC_BASENAME(EndInterruptSafe) (DATACODEC_GLOBALS());
 
    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);
 
    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);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppDataCodecDecompressProcInfo = 0x0000FFF0,
        uppDataCodecGetCompressBufferSizeProcInfo = 0x00000FF0,
        uppDataCodecCompressProcInfo = 0x000FFFF0,
        uppDataCodecBeginInterruptSafeProcInfo = 0x000003F0,
        uppDataCodecEndInterruptSafeProcInfo = 0x000000F0,
        uppDataCodecDecompressPartialProcInfo = 0x003FFFF0,
        uppDataCodecCompressPartialProcInfo = 0x00DFFFF0
    };
 
#endif  /* DATACODEC_BASENAME */
 
/*
    Example usage:
 
        #define DATAH_BASENAME()    Fred
        #define DATAH_GLOBALS() FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define DATAH_GLOBALS
*/
#ifdef DATAH_BASENAME
    #ifndef DATAH_GLOBALS
        #define DATAH_GLOBALS() 
        #define ADD_DATAH_COMMA 
    #else
        #define ADD_DATAH_COMMA ,
    #endif
    #define DATAH_GLUE(a,b) a##b
    #define DATAH_STRCAT(a,b) DATAH_GLUE(a,b)
    #define ADD_DATAH_BASENAME(name) DATAH_STRCAT(DATAH_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long  offset, long  size);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PutData) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  h, long  hOffset, long * offset, long  size);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushData) (DATAH_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForWrite) (DATAH_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForWrite) (DATAH_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(OpenForRead) (DATAH_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CloseForRead) (DATAH_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle * dataRef);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CompareDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, Boolean * equal);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Task) (DATAH_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ScheduleData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, long  FileOffset, long  DataSize, long  RefCon, DataHSchedulePtr  scheduleRec, DataHCompletionUPP  CompletionRtn);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FinishData) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, Boolean  Cancel);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(FlushCache) (DATAH_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ResolveDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  theDataRef, Boolean * wasChanged, Boolean  userInterfaceAllowed);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CanUseDataRef) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  dataRef, long * useFlags);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetVolumeList) (DATAH_GLOBALS() ADD_DATAH_COMMA DataHVolumeList * volumeList);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Write) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  data, long  offset, long  size, DataHCompletionUPP  completion, long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Preextend) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long  maxToAdd, unsigned long * spaceAdded);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long  fileSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFreeSpace) (DATAH_GLOBALS() ADD_DATAH_COMMA unsigned long * freeSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CreateFile) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  creator, Boolean  deleteExisting);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetPreferredBlockSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * blockSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDeviceIndex) (DATAH_GLOBALS() ADD_DATAH_COMMA long * deviceIndex);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(IsStreamingDataHandler) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * yes);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataInBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA long  startOffset, long * size);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetScheduleAheadTime) (DATAH_GLOBALS() ADD_DATAH_COMMA long * millisecs);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size  cacheSizeLimit);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetCacheSizeLimit) (DATAH_GLOBALS() ADD_DATAH_COMMA Size * cacheSizeLimit);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie * theMovie, short * id);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(AddMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short * id);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(UpdateMovie) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie  theMovie, short  id);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(DoesBuffer) (DATAH_GLOBALS() ADD_DATAH_COMMA Boolean * buffersReads, Boolean * buffersWrites);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileName) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  str);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetAvailableFileSize) (DATAH_GLOBALS() ADD_DATAH_COMMA long * fileSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType * fileType);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMIMEType) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  mimeType);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle  dataRef);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefWithAnchor) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  anchorDataRef, OSType  dataRefType, Handle * dataRef);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetMacOSFileType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  fileType);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetTimeBase) (DATAH_GLOBALS() ADD_DATAH_COMMA TimeBase  tb);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetInfoFlags) (DATAH_GLOBALS() ADD_DATAH_COMMA UInt32 * flags);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ScheduleData64) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  PlaceToPutDataPtr, const wide * FileOffset, long  DataSize, long  RefCon, DataHSchedulePtr  scheduleRec, DataHCompletionUPP  CompletionRtn);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Write64) (DATAH_GLOBALS() ADD_DATAH_COMMA Ptr  data, const wide * offset, long  size, DataHCompletionUPP  completion, long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSize64) (DATAH_GLOBALS() ADD_DATAH_COMMA wide * fileSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Preextend64) (DATAH_GLOBALS() ADD_DATAH_COMMA const wide * maxToAdd, wide * spaceAdded);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetFileSize64) (DATAH_GLOBALS() ADD_DATAH_COMMA const wide * fileSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFreeSpace64) (DATAH_GLOBALS() ADD_DATAH_COMMA wide * freeSize);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(Append64) (DATAH_GLOBALS() ADD_DATAH_COMMA void * data, wide * fileOffset, unsigned long  size);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(ReadAsync) (DATAH_GLOBALS() ADD_DATAH_COMMA void * dataPtr, UInt32  dataSize, const wide * dataOffset, DataHCompletionUPP  completion, long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PollRead) (DATAH_GLOBALS() ADD_DATAH_COMMA void * dataPtr, UInt32 * dataSizeSoFar);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataAvailability) (DATAH_GLOBALS() ADD_DATAH_COMMA long  offset, long  len, long * missing_offset, long * missing_len);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileSizeAsync) (DATAH_GLOBALS() ADD_DATAH_COMMA wide * fileSize, DataHCompletionUPP  completionRtn, long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefAsType) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  requestedType, Handle * dataRef);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetDataRefExtension) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle  extension, OSType  idType);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRefExtension) (DATAH_GLOBALS() ADD_DATAH_COMMA Handle * extension, OSType  idType);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMovieWithFlags) (DATAH_GLOBALS() ADD_DATAH_COMMA Movie * theMovie, short * id, short  flags);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetFileTypeOrdering) (DATAH_GLOBALS() ADD_DATAH_COMMA DataHFileTypeOrderingHandle * orderingListHandle);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(CreateFileWithFlags) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  creator, Boolean  deleteExisting, UInt32  flags);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetMIMETypeAsync) (DATAH_GLOBALS() ADD_DATAH_COMMA Str255  mimeType, DataHCompletionUPP  completionRtn, long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetInfo) (DATAH_GLOBALS() ADD_DATAH_COMMA OSType  what, void * info);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PlaybackHints) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, unsigned long  minFileOffset, unsigned long  maxFileOffset, long  bytesPerSecond);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(PlaybackHints64) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, const wide * minFileOffset, const wide * maxFileOffset, long  bytesPerSecond);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(GetDataRate) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, long * bytesPerSecond);
 
    EXTERN_API( ComponentResult  ) ADD_DATAH_BASENAME(SetTimeHints) (DATAH_GLOBALS() ADD_DATAH_COMMA long  flags, long  bandwidthPriority, TimeScale  scale, TimeValue  minTime, TimeValue  maxTime);
 
#endif  /* DATAH_BASENAME */
 
/*
    Example usage:
 
        #define VD_BASENAME()   Fred
        #define VD_GLOBALS()    FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define VD_GLOBALS
*/
#ifdef VD_BASENAME
    #ifndef VD_GLOBALS
        #define VD_GLOBALS() 
        #define ADD_VD_COMMA 
    #else
        #define ADD_VD_COMMA ,
    #endif
    #define VD_GLUE(a,b) a##b
    #define VD_STRCAT(a,b) VD_GLUE(a,b)
    #define ADD_VD_BASENAME(name) VD_STRCAT(VD_BASENAME(),name)
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * maxSrcRect);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetActiveSrcRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * activeSrcRect);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerRect) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetVBlankRect) (VD_GLOBALS() ADD_VD_COMMA short  inputStd, Rect * vBlankRect);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskPixMap) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  maskPixMap);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * dest, Rect * destRect, MatrixRecord * m, RgnHandle * mask);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseThisCLUT) (VD_GLOBALS() ADD_VD_COMMA CTabHandle  colorTableHandle);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed  channel1, Fixed  channel2, Fixed  channel3);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaValue) (VD_GLOBALS() ADD_VD_COMMA Fixed * channel1, Fixed * channel2, Fixed * channel3);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBrightness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * brightness);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetContrast) (VD_GLOBALS() ADD_VD_COMMA unsigned short * contrast);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetHue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * hue);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSharpness) (VD_GLOBALS() ADD_VD_COMMA unsigned short * sharpness);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSaturation) (VD_GLOBALS() ADD_VD_COMMA unsigned short * saturation);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrame) (VD_GLOBALS());
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaxAuxBuffer) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle * pm, Rect * r);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDigitizerInfo) (VD_GLOBALS() ADD_VD_COMMA DigitizerInfo * info);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCurrentFlags) (VD_GLOBALS() ADD_VD_COMMA long * inputCurrentFlag, long * outputCurrentFlag);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(AddKeyColor) (VD_GLOBALS() ADD_VD_COMMA long * index);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNextKeyColor) (VD_GLOBALS() ADD_VD_COMMA long  index);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetKeyColorRange) (VD_GLOBALS() ADD_VD_COMMA RGBColor * minRGB, RGBColor * maxRGB);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDigitizerUserInterrupt) (VD_GLOBALS() ADD_VD_COMMA long  flags, VdigIntUPP  userInterruptProc, long  refcon);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short  colorSpaceMode);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputColorSpaceMode) (VD_GLOBALS() ADD_VD_COMMA short * colorSpaceMode);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipState) (VD_GLOBALS() ADD_VD_COMMA short  clipEnable);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetClipState) (VD_GLOBALS() ADD_VD_COMMA short * clipEnable);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ClearClipRgn) (VD_GLOBALS() ADD_VD_COMMA RgnHandle  clipRegion);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCLUTInUse) (VD_GLOBALS() ADD_VD_COMMA CTabHandle * colorTableHandle);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short  pllType);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPLLFilterType) (VD_GLOBALS() ADD_VD_COMMA short * pllType);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetMaskandValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short  blendLevel, long * mask, long * value);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetMasterBlendLevel) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blendLevel);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruDestination) (VD_GLOBALS() ADD_VD_COMMA PixMapHandle  dest, RectPtr  destRect, MatrixRecordPtr  m, RgnHandle  mask);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruOnOff) (VD_GLOBALS() ADD_VD_COMMA short  state);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short  fieldFlag);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetFieldPreference) (VD_GLOBALS() ADD_VD_COMMA short * fieldFlag);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightDestination) (VD_GLOBALS() ADD_VD_COMMA Rect * digitizerRect, PixMap ** dest, RectPtr  destRect, MatrixRecordPtr  m);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(PreflightGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPlayThruGlobalRect) (VD_GLOBALS() ADD_VD_COMMA GrafPtr  theWindow, Rect * globalRect);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr  inputGammaPtr);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputGammaRecord) (VD_GLOBALS() ADD_VD_COMMA VDGamRecPtr * inputGammaPtr);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetBlackLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * blackLevel);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetWhiteLevelValue) (VD_GLOBALS() ADD_VD_COMMA unsigned short * whiteLevel);
 
    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);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetNumberOfInputs) (VD_GLOBALS() ADD_VD_COMMA short * inputs);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputFormat) (VD_GLOBALS() ADD_VD_COMMA short  input, short * format);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInput) (VD_GLOBALS() ADD_VD_COMMA short  input);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInput) (VD_GLOBALS() ADD_VD_COMMA short * input);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetInputStandard) (VD_GLOBALS() ADD_VD_COMMA short  inputStandard);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetupBuffers) (VD_GLOBALS() ADD_VD_COMMA VdigBufferRecListHandle  bufferList);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GrabOneFrameAsync) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(Done) (VD_GLOBALS() ADD_VD_COMMA short  buffer);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompression) (VD_GLOBALS() ADD_VD_COMMA OSType  compressType, short  depth, Rect * bounds, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressOneFrameAsync) (VD_GLOBALS());
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(CompressDone) (VD_GLOBALS() ADD_VD_COMMA Boolean * done, Ptr * theData, long * dataSize, UInt8 * similarity, TimeRecord * t);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseCompressBuffer) (VD_GLOBALS() ADD_VD_COMMA Ptr  bufferAddr);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetImageDescription) (VD_GLOBALS() ADD_VD_COMMA ImageDescriptionHandle  desc);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ResetCompressSequence) (VD_GLOBALS());
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetCompressionOnOff) (VD_GLOBALS() ADD_VD_COMMA Boolean  state);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetCompressionTypes) (VD_GLOBALS() ADD_VD_COMMA VDCompressionListHandle  h);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetTimeBase) (VD_GLOBALS() ADD_VD_COMMA TimeBase  t);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetFrameRate) (VD_GLOBALS() ADD_VD_COMMA Fixed  framesPerSecond);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDataRate) (VD_GLOBALS() ADD_VD_COMMA long * milliSecPerFrame, Fixed * framesPerSecond, long * bytesPerSecond);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputDriver) (VD_GLOBALS() ADD_VD_COMMA Str255  soundDriverName);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetDMADepths) (VD_GLOBALS() ADD_VD_COMMA long * depthArray, long * preferredDepth);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredTimeScale) (VD_GLOBALS() ADD_VD_COMMA TimeScale * preferred);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(ReleaseAsyncBuffers) (VD_GLOBALS());
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDataRate) (VD_GLOBALS() ADD_VD_COMMA long  bytesPerSecond);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetTimeCode) (VD_GLOBALS() ADD_VD_COMMA TimeRecord * atTime, void * timeCodeFormat, void * timeCodeTime);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(UseSafeBuffers) (VD_GLOBALS() ADD_VD_COMMA Boolean  useSafeBuffers);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetSoundInputSource) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, long * soundInput);
 
    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);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredPacketSize) (VD_GLOBALS() ADD_VD_COMMA long  preferredPacketSizeInBytes);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long  width, long  height);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetPreferredImageDimensions) (VD_GLOBALS() ADD_VD_COMMA long * width, long * height);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(GetInputName) (VD_GLOBALS() ADD_VD_COMMA long  videoInput, Str255  name);
 
    EXTERN_API( VideoDigitizerError  ) ADD_VD_BASENAME(SetDestinationPort) (VD_GLOBALS() ADD_VD_COMMA CGrafPtr  destPort);
 
#endif  /* VD_BASENAME */
 
 
/* MixedMode ProcInfo constants for component calls */
enum {
    uppDataHGetDataProcInfo = 0x0000FFF0,
    uppDataHPutDataProcInfo = 0x0000FFF0,
    uppDataHFlushDataProcInfo = 0x000000F0,
    uppDataHOpenForWriteProcInfo = 0x000000F0,
    uppDataHCloseForWriteProcInfo = 0x000000F0,
    uppDataHOpenForReadProcInfo = 0x000000F0,
    uppDataHCloseForReadProcInfo = 0x000000F0,
    uppDataHSetDataRefProcInfo = 0x000003F0,
    uppDataHGetDataRefProcInfo = 0x000003F0,
    uppDataHCompareDataRefProcInfo = 0x00000FF0,
    uppDataHTaskProcInfo = 0x000000F0,
    uppDataHScheduleDataProcInfo = 0x000FFFF0,
    uppDataHFinishDataProcInfo = 0x000007F0,
    uppDataHFlushCacheProcInfo = 0x000000F0,
    uppDataHResolveDataRefProcInfo = 0x00001FF0,
    uppDataHGetFileSizeProcInfo = 0x000003F0,
    uppDataHCanUseDataRefProcInfo = 0x00000FF0,
    uppDataHGetVolumeListProcInfo = 0x000003F0,
    uppDataHWriteProcInfo = 0x0003FFF0,
    uppDataHPreextendProcInfo = 0x00000FF0,
    uppDataHSetFileSizeProcInfo = 0x000003F0,
    uppDataHGetFreeSpaceProcInfo = 0x000003F0,
    uppDataHCreateFileProcInfo = 0x000007F0,
    uppDataHGetPreferredBlockSizeProcInfo = 0x000003F0,
    uppDataHGetDeviceIndexProcInfo = 0x000003F0,
    uppDataHIsStreamingDataHandlerProcInfo = 0x000003F0,
    uppDataHGetDataInBufferProcInfo = 0x00000FF0,
    uppDataHGetScheduleAheadTimeProcInfo = 0x000003F0,
    uppDataHSetCacheSizeLimitProcInfo = 0x000003F0,
    uppDataHGetCacheSizeLimitProcInfo = 0x000003F0,
    uppDataHGetMovieProcInfo = 0x00000FF0,
    uppDataHAddMovieProcInfo = 0x00000FF0,
    uppDataHUpdateMovieProcInfo = 0x00000BF0,
    uppDataHDoesBufferProcInfo = 0x00000FF0,
    uppDataHGetFileNameProcInfo = 0x000003F0,
    uppDataHGetAvailableFileSizeProcInfo = 0x000003F0,
    uppDataHGetMacOSFileTypeProcInfo = 0x000003F0,
    uppDataHGetMIMETypeProcInfo = 0x000003F0,
    uppDataHSetDataRefWithAnchorProcInfo = 0x00003FF0,
    uppDataHGetDataRefWithAnchorProcInfo = 0x00003FF0,
    uppDataHSetMacOSFileTypeProcInfo = 0x000003F0,
    uppDataHSetTimeBaseProcInfo = 0x000003F0,
    uppDataHGetInfoFlagsProcInfo = 0x000003F0,
    uppDataHScheduleData64ProcInfo = 0x000FFFF0,
    uppDataHWrite64ProcInfo = 0x0003FFF0,
    uppDataHGetFileSize64ProcInfo = 0x000003F0,
    uppDataHPreextend64ProcInfo = 0x00000FF0,
    uppDataHSetFileSize64ProcInfo = 0x000003F0,
    uppDataHGetFreeSpace64ProcInfo = 0x000003F0,
    uppDataHAppend64ProcInfo = 0x00003FF0,
    uppDataHReadAsyncProcInfo = 0x0003FFF0,
    uppDataHPollReadProcInfo = 0x00000FF0,
    uppDataHGetDataAvailabilityProcInfo = 0x0000FFF0,
    uppDataHGetFileSizeAsyncProcInfo = 0x00003FF0,
    uppDataHGetDataRefAsTypeProcInfo = 0x00000FF0,
    uppDataHSetDataRefExtensionProcInfo = 0x00000FF0,
    uppDataHGetDataRefExtensionProcInfo = 0x00000FF0,
    uppDataHGetMovieWithFlagsProcInfo = 0x00002FF0,
    uppDataHGetFileTypeOrderingProcInfo = 0x000003F0,
    uppDataHCreateFileWithFlagsProcInfo = 0x000037F0,
    uppDataHGetMIMETypeAsyncProcInfo = 0x00003FF0,
    uppDataHGetInfoProcInfo = 0x00000FF0,
    uppDataHPlaybackHintsProcInfo = 0x0000FFF0,
    uppDataHPlaybackHints64ProcInfo = 0x0000FFF0,
    uppDataHGetDataRateProcInfo = 0x00000FF0,
    uppDataHSetTimeHintsProcInfo = 0x0003FFF0,
    uppVDGetMaxSrcRectProcInfo = 0x00000EF0,
    uppVDGetActiveSrcRectProcInfo = 0x00000EF0,
    uppVDSetDigitizerRectProcInfo = 0x000003F0,
    uppVDGetDigitizerRectProcInfo = 0x000003F0,
    uppVDGetVBlankRectProcInfo = 0x00000EF0,
    uppVDGetMaskPixMapProcInfo = 0x000003F0,
    uppVDGetPlayThruDestinationProcInfo = 0x0000FFF0,
    uppVDUseThisCLUTProcInfo = 0x000003F0,
    uppVDSetInputGammaValueProcInfo = 0x00003FF0,
    uppVDGetInputGammaValueProcInfo = 0x00003FF0,
    uppVDSetBrightnessProcInfo = 0x000003F0,
    uppVDGetBrightnessProcInfo = 0x000003F0,
    uppVDSetContrastProcInfo = 0x000003F0,
    uppVDSetHueProcInfo = 0x000003F0,
    uppVDSetSharpnessProcInfo = 0x000003F0,
    uppVDSetSaturationProcInfo = 0x000003F0,
    uppVDGetContrastProcInfo = 0x000003F0,
    uppVDGetHueProcInfo = 0x000003F0,
    uppVDGetSharpnessProcInfo = 0x000003F0,
    uppVDGetSaturationProcInfo = 0x000003F0,
    uppVDGrabOneFrameProcInfo = 0x000000F0,
    uppVDGetMaxAuxBufferProcInfo = 0x00000FF0,
    uppVDGetDigitizerInfoProcInfo = 0x000003F0,
    uppVDGetCurrentFlagsProcInfo = 0x00000FF0,
    uppVDSetKeyColorProcInfo = 0x000003F0,
    uppVDGetKeyColorProcInfo = 0x000003F0,
    uppVDAddKeyColorProcInfo = 0x000003F0,
    uppVDGetNextKeyColorProcInfo = 0x000003F0,
    uppVDSetKeyColorRangeProcInfo = 0x00000FF0,
    uppVDGetKeyColorRangeProcInfo = 0x00000FF0,
    uppVDSetDigitizerUserInterruptProcInfo = 0x00003FF0,
    uppVDSetInputColorSpaceModeProcInfo = 0x000002F0,
    uppVDGetInputColorSpaceModeProcInfo = 0x000003F0,
    uppVDSetClipStateProcInfo = 0x000002F0,
    uppVDGetClipStateProcInfo = 0x000003F0,
    uppVDSetClipRgnProcInfo = 0x000003F0,
    uppVDClearClipRgnProcInfo = 0x000003F0,
    uppVDGetCLUTInUseProcInfo = 0x000003F0,
    uppVDSetPLLFilterTypeProcInfo = 0x000002F0,
    uppVDGetPLLFilterTypeProcInfo = 0x000003F0,
    uppVDGetMaskandValueProcInfo = 0x00003EF0,
    uppVDSetMasterBlendLevelProcInfo = 0x000003F0,
    uppVDSetPlayThruDestinationProcInfo = 0x0000FFF0,
    uppVDSetPlayThruOnOffProcInfo = 0x000002F0,
    uppVDSetFieldPreferenceProcInfo = 0x000002F0,
    uppVDGetFieldPreferenceProcInfo = 0x000003F0,
    uppVDPreflightDestinationProcInfo = 0x0000FFF0,
    uppVDPreflightGlobalRectProcInfo = 0x00000FF0,
    uppVDSetPlayThruGlobalRectProcInfo = 0x00000FF0,
    uppVDSetInputGammaRecordProcInfo = 0x000003F0,
    uppVDGetInputGammaRecordProcInfo = 0x000003F0,
    uppVDSetBlackLevelValueProcInfo = 0x000003F0,
    uppVDGetBlackLevelValueProcInfo = 0x000003F0,
    uppVDSetWhiteLevelValueProcInfo = 0x000003F0,
    uppVDGetWhiteLevelValueProcInfo = 0x000003F0,
    uppVDGetVideoDefaultsProcInfo = 0x003FFFF0,
    uppVDGetNumberOfInputsProcInfo = 0x000003F0,
    uppVDGetInputFormatProcInfo = 0x00000EF0,
    uppVDSetInputProcInfo = 0x000002F0,
    uppVDGetInputProcInfo = 0x000003F0,
    uppVDSetInputStandardProcInfo = 0x000002F0,
    uppVDSetupBuffersProcInfo = 0x000003F0,
    uppVDGrabOneFrameAsyncProcInfo = 0x000002F0,
    uppVDDoneProcInfo = 0x000002F0,
    uppVDSetCompressionProcInfo = 0x000FFBF0,
    uppVDCompressOneFrameAsyncProcInfo = 0x000000F0,
    uppVDCompressDoneProcInfo = 0x0003FFF0,
    uppVDReleaseCompressBufferProcInfo = 0x000003F0,
    uppVDGetImageDescriptionProcInfo = 0x000003F0,
    uppVDResetCompressSequenceProcInfo = 0x000000F0,
    uppVDSetCompressionOnOffProcInfo = 0x000001F0,
    uppVDGetCompressionTypesProcInfo = 0x000003F0,
    uppVDSetTimeBaseProcInfo = 0x000003F0,
    uppVDSetFrameRateProcInfo = 0x000003F0,
    uppVDGetDataRateProcInfo = 0x00003FF0,
    uppVDGetSoundInputDriverProcInfo = 0x000003F0,
    uppVDGetDMADepthsProcInfo = 0x00000FF0,
    uppVDGetPreferredTimeScaleProcInfo = 0x000003F0,
    uppVDReleaseAsyncBuffersProcInfo = 0x000000F0,
    uppVDSetDataRateProcInfo = 0x000003F0,
    uppVDGetTimeCodeProcInfo = 0x00003FF0,
    uppVDUseSafeBuffersProcInfo = 0x000001F0,
    uppVDGetSoundInputSourceProcInfo = 0x00000FF0,
    uppVDGetCompressionTimeProcInfo = 0x000FFBF0,
    uppVDSetPreferredPacketSizeProcInfo = 0x000003F0,
    uppVDSetPreferredImageDimensionsProcInfo = 0x00000FF0,
    uppVDGetPreferredImageDimensionsProcInfo = 0x00000FF0,
    uppVDGetInputNameProcInfo = 0x00000FF0,
    uppVDSetDestinationPortProcInfo = 0x000003F0
};
 
/*
    Example usage:
 
        #define XMLPARSE_BASENAME() Fred
        #define XMLPARSE_GLOBALS()  FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define XMLPARSE_GLOBALS
*/
#ifdef XMLPARSE_BASENAME
    #ifndef XMLPARSE_GLOBALS
        #define XMLPARSE_GLOBALS() 
        #define ADD_XMLPARSE_COMMA 
    #else
        #define ADD_XMLPARSE_COMMA ,
    #endif
    #define XMLPARSE_GLUE(a,b) a##b
    #define XMLPARSE_STRCAT(a,b) XMLPARSE_GLUE(a,b)
    #define ADD_XMLPARSE_BASENAME(name) XMLPARSE_STRCAT(XMLPARSE_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(DataRef) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA Handle  dataRef, OSType  dataRefType, long  parseFlags, XMLDoc * document);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(File) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA ConstFSSpecPtr  fileSpec, long  parseFlags, XMLDoc * document);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(DisposeXMLDoc) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA XMLDoc  document);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(GetDetailedParseError) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA long * errorLine, StringPtr  errDesc);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(AddElement) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA char * elementName, UInt32  nameSpaceID, UInt32 * elementID, long  elementFlags);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(AddAttribute) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA UInt32  elementID, UInt32  nameSpaceID, char * attributeName, UInt32 * attributeID);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(AddMultipleAttributes) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA UInt32  elementID, UInt32 * nameSpaceIDs, char * attributeNames, UInt32 * attributeIDs);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(AddAttributeAndValue) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA UInt32  elementID, UInt32  nameSpaceID, char * attributeName, UInt32 * attributeID, UInt32  attributeValueKind, void * attributeValueKindInfo);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(AddMultipleAttributesAndValues) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA UInt32  elementID, UInt32 * nameSpaceIDs, char * attributeNames, UInt32 * attributeIDs, UInt32 * attributeValueKinds, void ** attributeValueKindInfos);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(AddAttributeValueKind) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA UInt32  elementID, UInt32  attributeID, UInt32  attributeValueKind, void * attributeValueKindInfo);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(AddNameSpace) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA char * nameSpaceURL, UInt32 * nameSpaceID);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetOffsetAndLimit) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA UInt32  offset, UInt32  limit);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetEventParseRefCon) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA long  refcon);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetStartDocumentHandler) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA StartDocumentHandlerUPP  startDocument);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetEndDocumentHandler) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA EndDocumentHandlerUPP  endDocument);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetStartElementHandler) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA StartElementHandlerUPP  startElement);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetEndElementHandler) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA EndElementHandlerUPP  endElement);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetCharDataHandler) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA CharDataHandlerUPP  charData);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetPreprocessInstructionHandler) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA PreprocessInstructionHandlerUPP  preprocessInstruction);
 
    EXTERN_API( ComponentResult  ) ADD_XMLPARSE_BASENAME(SetCommentHandler) (XMLPARSE_GLOBALS() ADD_XMLPARSE_COMMA CommentHandlerUPP  comment);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppXMLParseDataRefProcInfo = 0x0000FFF0,
        uppXMLParseFileProcInfo = 0x00003FF0,
        uppXMLParseDisposeXMLDocProcInfo = 0x000003F0,
        uppXMLParseGetDetailedParseErrorProcInfo = 0x00000FF0,
        uppXMLParseAddElementProcInfo = 0x0000FFF0,
        uppXMLParseAddAttributeProcInfo = 0x0000FFF0,
        uppXMLParseAddMultipleAttributesProcInfo = 0x0000FFF0,
        uppXMLParseAddAttributeAndValueProcInfo = 0x000FFFF0,
        uppXMLParseAddMultipleAttributesAndValuesProcInfo = 0x000FFFF0,
        uppXMLParseAddAttributeValueKindProcInfo = 0x0000FFF0,
        uppXMLParseAddNameSpaceProcInfo = 0x00000FF0,
        uppXMLParseSetOffsetAndLimitProcInfo = 0x00000FF0,
        uppXMLParseSetEventParseRefConProcInfo = 0x000003F0,
        uppXMLParseSetStartDocumentHandlerProcInfo = 0x000003F0,
        uppXMLParseSetEndDocumentHandlerProcInfo = 0x000003F0,
        uppXMLParseSetStartElementHandlerProcInfo = 0x000003F0,
        uppXMLParseSetEndElementHandlerProcInfo = 0x000003F0,
        uppXMLParseSetCharDataHandlerProcInfo = 0x000003F0,
        uppXMLParseSetPreprocessInstructionHandlerProcInfo = 0x000003F0,
        uppXMLParseSetCommentHandlerProcInfo = 0x000003F0
    };
 
#endif  /* XMLPARSE_BASENAME */
 
/*
    Example usage:
 
        #define SG_BASENAME()   Fred
        #define SG_GLOBALS()    FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define SG_GLOBALS
*/
#ifdef SG_BASENAME
    #ifndef SG_GLOBALS
        #define SG_GLOBALS() 
        #define ADD_SG_COMMA 
    #else
        #define ADD_SG_COMMA ,
    #endif
    #define SG_GLUE(a,b) a##b
    #define SG_STRCAT(a,b) SG_GLUE(a,b)
    #define ADD_SG_BASENAME(name) SG_STRCAT(SG_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Initialize) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataOutput) (SG_GLOBALS() ADD_SG_COMMA const FSSpec * movieFile, long  whereFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutput) (SG_GLOBALS() ADD_SG_COMMA FSSpec * movieFile, long * whereFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr  gp, GDHandle  gd);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetGWorld) (SG_GLOBALS() ADD_SG_COMMA CGrafPtr * gp, GDHandle * gd);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannel) (SG_GLOBALS() ADD_SG_COMMA OSType  channelType, SGChannel * ref);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeChannel) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartPreview) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(StartRecord) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Idle) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Stop) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Pause) (SG_GLOBALS() ADD_SG_COMMA Byte  pause);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Prepare) (SG_GLOBALS() ADD_SG_COMMA Boolean  prepareForPreview, Boolean  prepareForRecord);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Release) (SG_GLOBALS());
 
    EXTERN_API( Movie  ) ADD_SG_BASENAME(GetMovie) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long  ticks);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMaximumRecordTime) (SG_GLOBALS() ADD_SG_COMMA unsigned long * ticks);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA unsigned long * bytes);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeRemaining) (SG_GLOBALS() ADD_SG_COMMA long * ticksLeft);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabPict) (SG_GLOBALS() ADD_SG_COMMA PicHandle * p, const Rect * bounds, short  offscreenDepth, long  grabPictFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetLastMovieResID) (SG_GLOBALS() ADD_SG_COMMA short * resID);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFlags) (SG_GLOBALS() ADD_SG_COMMA long  sgFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFlags) (SG_GLOBALS() ADD_SG_COMMA long * sgFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataProc) (SG_GLOBALS() ADD_SG_COMMA SGDataUPP  proc, long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewChannelFromComponent) (SG_GLOBALS() ADD_SG_COMMA SGChannel * newChannel, Component  sgChannelComponent);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AppendDeviceListToMenu) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list, MenuRef  mh);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData  ud, long  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSettings) (SG_GLOBALS() ADD_SG_COMMA UserData * ud, long  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetIndChannel) (SG_GLOBALS() ADD_SG_COMMA short  index, SGChannel * ref, OSType * chanType);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(Update) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  updateRgn);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPause) (SG_GLOBALS() ADD_SG_COMMA Byte * paused);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SettingsDialog) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, short  numPanels, ConstComponentListPtr  panelList, long  flags, SGModalFilterUPP  proc, long  procRefNum);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAlignmentProc) (SG_GLOBALS() ADD_SG_COMMA ICMAlignmentProcRecordPtr  alignmentProc);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetMode) (SG_GLOBALS() ADD_SG_COMMA Boolean * previewMode, Boolean * recordMode);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRef) (SG_GLOBALS() ADD_SG_COMMA Handle * dataRef, OSType * dataRefType, long * whereFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(NewOutput) (SG_GLOBALS() ADD_SG_COMMA Handle  dataRef, OSType  dataRefType, long  whereFlags, SGOutput * sgOut);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisposeOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputFlags) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, long  whereFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelOutput) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, SGOutput  sgOut);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutputStorageSpaceRemaining) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, unsigned long * space);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(HandleUpdateEvent) (SG_GLOBALS() ADD_SG_COMMA const EventRecord * event, Boolean * handled);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput  nextOut);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputNextOutput) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, SGOutput * nextOut);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, const wide * maxOffset);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputMaximumOffset) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, wide * maxOffset);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetOutputDataReference) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Handle * dataRef, OSType * dataRefType);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteExtendedMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, wide * offset, SGOutput * sgOut);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetStorageSpaceRemaining64) (SG_GLOBALS() ADD_SG_COMMA wide * bytes);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataOutputStorageSpaceRemaining64) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, wide * space);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteMovieData) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, Ptr  p, long  len, long * offset);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTimeBase) (SG_GLOBALS() ADD_SG_COMMA TimeBase * tb);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SortDeviceList) (SG_GLOBALS() ADD_SG_COMMA SGDeviceList  list);
 
    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);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChangedSource) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetNextExtendedFrameReference) (SG_GLOBALS() ADD_SG_COMMA SeqGrabExtendedFrameInfoPtr  frameInfo, TimeValue * frameDuration, long * frameNumber);
 
    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);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddOutputDataRefToMedia) (SG_GLOBALS() ADD_SG_COMMA SGOutput  sgOut, Media  theMedia, SampleDescriptionHandle  desc);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long  usage);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelUsage) (SG_GLOBALS() ADD_SG_COMMA long * usage);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA const Rect * bounds);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * bounds);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short  volume);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelVolume) (SG_GLOBALS() ADD_SG_COMMA short * volume);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelInfo) (SG_GLOBALS() ADD_SG_COMMA long * channelInfo);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long  playFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelPlayFlags) (SG_GLOBALS() ADD_SG_COMMA long * playFlags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long  frameCount);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMaxFrames) (SG_GLOBALS() ADD_SG_COMMA long * frameCount);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelRefCon) (SG_GLOBALS() ADD_SG_COMMA long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle  theClip);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelClip) (SG_GLOBALS() ADD_SG_COMMA RgnHandle * theClip);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelSampleDescription) (SG_GLOBALS() ADD_SG_COMMA Handle  sampleDesc);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelDeviceList) (SG_GLOBALS() ADD_SG_COMMA long  selectionFlags, SGDeviceList * list);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelDevice) (SG_GLOBALS() ADD_SG_COMMA StringPtr  name);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA const MatrixRecord * m);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelMatrix) (SG_GLOBALS() ADD_SG_COMMA MatrixRecord * m);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelTimeScale) (SG_GLOBALS() ADD_SG_COMMA TimeScale * scale);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelPutPicture) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long  bytesPerSecond);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetRequestedDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  name, ScriptCode  scriptTag);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetDataSourceName) (SG_GLOBALS() ADD_SG_COMMA Str255  name, ScriptCode * scriptTag);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelSetCodecSettings) (SG_GLOBALS() ADD_SG_COMMA Handle  settings);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(ChannelGetCodecSettings) (SG_GLOBALS() ADD_SG_COMMA Handle * settings);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetChannelTimeBase) (SG_GLOBALS() ADD_SG_COMMA TimeBase * tb);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(InitChannel) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  owner);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(WriteSamples) (SG_GLOBALS() ADD_SG_COMMA Movie  m, AliasHandle  theFile);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetDataRate) (SG_GLOBALS() ADD_SG_COMMA long * bytesPerSecond);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AlignChannelRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetDitl) (SG_GLOBALS() ADD_SG_COMMA Handle * ditl);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetTitle) (SG_GLOBALS() ADD_SG_COMMA Str255  title);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelCanRun) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelInstall) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogRef  d, short  itemOffset);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelEvent) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogRef  d, short  itemOffset, const EventRecord * theEvent, short * itemHit, Boolean * handled);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelItem) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogRef  d, short  itemOffset, short  itemNum);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelRemove) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, DialogRef  d, short  itemOffset);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetGrabber) (SG_GLOBALS() ADD_SG_COMMA SeqGrabComponent  sg);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetResFile) (SG_GLOBALS() ADD_SG_COMMA short  resRef);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelGetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData * ud, long  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetSettings) (SG_GLOBALS() ADD_SG_COMMA SGChannel  c, UserData  ud, long  flags);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelValidateInput) (SG_GLOBALS() ADD_SG_COMMA Boolean * ok);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(PanelSetEventFilter) (SG_GLOBALS() ADD_SG_COMMA SGModalFilterUPP  proc, long  refCon);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSrcVideoBounds) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoRect) (SG_GLOBALS() ADD_SG_COMMA const Rect * r);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoRect) (SG_GLOBALS() ADD_SG_COMMA Rect * r);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType * compressorType);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressorType) (SG_GLOBALS() ADD_SG_COMMA OSType  compressorType);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short  depth, CompressorComponent  compressor, CodecQ  spatialQuality, CodecQ  temporalQuality, long  keyFrameRate);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoCompressor) (SG_GLOBALS() ADD_SG_COMMA short * depth, CompressorComponent * compressor, CodecQ * spatialQuality, CodecQ * temporalQuality, long * keyFrameRate);
 
    EXTERN_API( ComponentInstance  ) ADD_SG_BASENAME(GetVideoDigitizerComponent) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoDigitizerComponent) (SG_GLOBALS() ADD_SG_COMMA ComponentInstance  vdig);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(VideoDigitizerChanged) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetVideoBottlenecks) (SG_GLOBALS() ADD_SG_COMMA VideoBottles * vb);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(CompressFrameComplete) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, Boolean * done, SGCompressInfo * ci);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(AddFrame) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, TimeValue  atTime, TimeScale  scale, const SGCompressInfo * ci);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(TransferFrameForCompress) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, const MatrixRecord * mp, RgnHandle  clipRgn);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short  depth, const Rect * compressSize);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetCompressBuffer) (SG_GLOBALS() ADD_SG_COMMA short * depth, Rect * compressSize);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetBufferInfo) (SG_GLOBALS() ADD_SG_COMMA short  bufferNum, PixMapHandle * bufferPM, Rect * bufferRect, GWorldPtr * compressBuffer, Rect * compressBufferRect);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean  useScreenBuffer);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUseScreenBuffer) (SG_GLOBALS() ADD_SG_COMMA Boolean * useScreenBuffer);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GrabCompressComplete) (SG_GLOBALS() ADD_SG_COMMA Boolean * done, SGCompressInfo * ci, TimeRecord * tr);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(DisplayCompress) (SG_GLOBALS() ADD_SG_COMMA Ptr  dataPtr, ImageDescriptionHandle  desc, MatrixRecord * mp, RgnHandle  clipRgn);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  frameRate);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetFrameRate) (SG_GLOBALS() ADD_SG_COMMA Fixed * frameRate);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long  preferredPacketSizeInBytes);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetPreferredPacketSize) (SG_GLOBALS() ADD_SG_COMMA long * preferredPacketSizeInBytes);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle  compressorTypes);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetUserVideoCompressorList) (SG_GLOBALS() ADD_SG_COMMA Handle * compressorTypes);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputDriver) (SG_GLOBALS() ADD_SG_COMMA ConstStr255Param  driverName);
 
    EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundInputDriver) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SoundInputDriverChanged) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundRecordChunkSize) (SG_GLOBALS() ADD_SG_COMMA long  seconds);
 
    EXTERN_API( long  ) ADD_SG_BASENAME(GetSoundRecordChunkSize) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputRate) (SG_GLOBALS() ADD_SG_COMMA Fixed  rate);
 
    EXTERN_API( Fixed  ) ADD_SG_BASENAME(GetSoundInputRate) (SG_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short  sampleSize, short  numChannels, OSType  compressionType);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetSoundInputParameters) (SG_GLOBALS() ADD_SG_COMMA short * sampleSize, short * numChannels, OSType * compressionType);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle  rates);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetAdditionalSoundRates) (SG_GLOBALS() ADD_SG_COMMA Handle * rates);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontName) (SG_GLOBALS() ADD_SG_COMMA StringPtr  pstr);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetFontSize) (SG_GLOBALS() ADD_SG_COMMA short  fontSize);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextForeColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextBackColor) (SG_GLOBALS() ADD_SG_COMMA RGBColor * theColor);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetJustification) (SG_GLOBALS() ADD_SG_COMMA short  just);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short * rettospace);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetTextReturnToSpaceValue) (SG_GLOBALS() ADD_SG_COMMA short  rettospace);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(GetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
 
    EXTERN_API( ComponentResult  ) ADD_SG_BASENAME(SetInstrument) (SG_GLOBALS() ADD_SG_COMMA ToneDescription * td);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppSGInitializeProcInfo = 0x000000F0,
        uppSGSetDataOutputProcInfo = 0x00000FF0,
        uppSGGetDataOutputProcInfo = 0x00000FF0,
        uppSGSetGWorldProcInfo = 0x00000FF0,
        uppSGGetGWorldProcInfo = 0x00000FF0,
        uppSGNewChannelProcInfo = 0x00000FF0,
        uppSGDisposeChannelProcInfo = 0x000003F0,
        uppSGStartPreviewProcInfo = 0x000000F0,
        uppSGStartRecordProcInfo = 0x000000F0,
        uppSGIdleProcInfo = 0x000000F0,
        uppSGStopProcInfo = 0x000000F0,
        uppSGPauseProcInfo = 0x000001F0,
        uppSGPrepareProcInfo = 0x000005F0,
        uppSGReleaseProcInfo = 0x000000F0,
        uppSGGetMovieProcInfo = 0x000000F0,
        uppSGSetMaximumRecordTimeProcInfo = 0x000003F0,
        uppSGGetMaximumRecordTimeProcInfo = 0x000003F0,
        uppSGGetStorageSpaceRemainingProcInfo = 0x000003F0,
        uppSGGetTimeRemainingProcInfo = 0x000003F0,
        uppSGGrabPictProcInfo = 0x0000EFF0,
        uppSGGetLastMovieResIDProcInfo = 0x000003F0,
        uppSGSetFlagsProcInfo = 0x000003F0,
        uppSGGetFlagsProcInfo = 0x000003F0,
        uppSGSetDataProcProcInfo = 0x00000FF0,
        uppSGNewChannelFromComponentProcInfo = 0x00000FF0,
        uppSGDisposeDeviceListProcInfo = 0x000003F0,
        uppSGAppendDeviceListToMenuProcInfo = 0x00000FF0,
        uppSGSetSettingsProcInfo = 0x00000FF0,
        uppSGGetSettingsProcInfo = 0x00000FF0,
        uppSGGetIndChannelProcInfo = 0x00003EF0,
        uppSGUpdateProcInfo = 0x000003F0,
        uppSGGetPauseProcInfo = 0x000003F0,
        uppSGSettingsDialogProcInfo = 0x000FFBF0,
        uppSGGetAlignmentProcProcInfo = 0x000003F0,
        uppSGSetChannelSettingsProcInfo = 0x00003FF0,
        uppSGGetChannelSettingsProcInfo = 0x00003FF0,
        uppSGGetModeProcInfo = 0x00000FF0,
        uppSGSetDataRefProcInfo = 0x00003FF0,
        uppSGGetDataRefProcInfo = 0x00003FF0,
        uppSGNewOutputProcInfo = 0x0000FFF0,
        uppSGDisposeOutputProcInfo = 0x000003F0,
        uppSGSetOutputFlagsProcInfo = 0x00000FF0,
        uppSGSetChannelOutputProcInfo = 0x00000FF0,
        uppSGGetDataOutputStorageSpaceRemainingProcInfo = 0x00000FF0,
        uppSGHandleUpdateEventProcInfo = 0x00000FF0,
        uppSGSetOutputNextOutputProcInfo = 0x00000FF0,
        uppSGGetOutputNextOutputProcInfo = 0x00000FF0,
        uppSGSetOutputMaximumOffsetProcInfo = 0x00000FF0,
        uppSGGetOutputMaximumOffsetProcInfo = 0x00000FF0,
        uppSGGetOutputDataReferenceProcInfo = 0x00003FF0,
        uppSGWriteExtendedMovieDataProcInfo = 0x0003FFF0,
        uppSGGetStorageSpaceRemaining64ProcInfo = 0x000003F0,
        uppSGGetDataOutputStorageSpaceRemaining64ProcInfo = 0x00000FF0,
        uppSGWriteMovieDataProcInfo = 0x0000FFF0,
        uppSGAddFrameReferenceProcInfo = 0x000003F0,
        uppSGGetNextFrameReferenceProcInfo = 0x00003FF0,
        uppSGGetTimeBaseProcInfo = 0x000003F0,
        uppSGSortDeviceListProcInfo = 0x000003F0,
        uppSGAddMovieDataProcInfo = 0x002FFFF0,
        uppSGChangedSourceProcInfo = 0x000003F0,
        uppSGAddExtendedFrameReferenceProcInfo = 0x000003F0,
        uppSGGetNextExtendedFrameReferenceProcInfo = 0x00003FF0,
        uppSGAddExtendedMovieDataProcInfo = 0x00EFFFF0,
        uppSGAddOutputDataRefToMediaProcInfo = 0x00003FF0,
        uppSGSetChannelUsageProcInfo = 0x000003F0,
        uppSGGetChannelUsageProcInfo = 0x000003F0,
        uppSGSetChannelBoundsProcInfo = 0x000003F0,
        uppSGGetChannelBoundsProcInfo = 0x000003F0,
        uppSGSetChannelVolumeProcInfo = 0x000002F0,
        uppSGGetChannelVolumeProcInfo = 0x000003F0,
        uppSGGetChannelInfoProcInfo = 0x000003F0,
        uppSGSetChannelPlayFlagsProcInfo = 0x000003F0,
        uppSGGetChannelPlayFlagsProcInfo = 0x000003F0,
        uppSGSetChannelMaxFramesProcInfo = 0x000003F0,
        uppSGGetChannelMaxFramesProcInfo = 0x000003F0,
        uppSGSetChannelRefConProcInfo = 0x000003F0,
        uppSGSetChannelClipProcInfo = 0x000003F0,
        uppSGGetChannelClipProcInfo = 0x000003F0,
        uppSGGetChannelSampleDescriptionProcInfo = 0x000003F0,
        uppSGGetChannelDeviceListProcInfo = 0x00000FF0,
        uppSGSetChannelDeviceProcInfo = 0x000003F0,
        uppSGSetChannelMatrixProcInfo = 0x000003F0,
        uppSGGetChannelMatrixProcInfo = 0x000003F0,
        uppSGGetChannelTimeScaleProcInfo = 0x000003F0,
        uppSGChannelPutPictureProcInfo = 0x000000F0,
        uppSGChannelSetRequestedDataRateProcInfo = 0x000003F0,
        uppSGChannelGetRequestedDataRateProcInfo = 0x000003F0,
        uppSGChannelSetDataSourceNameProcInfo = 0x00000BF0,
        uppSGChannelGetDataSourceNameProcInfo = 0x00000FF0,
        uppSGChannelSetCodecSettingsProcInfo = 0x000003F0,
        uppSGChannelGetCodecSettingsProcInfo = 0x000003F0,
        uppSGGetChannelTimeBaseProcInfo = 0x000003F0,
        uppSGInitChannelProcInfo = 0x000003F0,
        uppSGWriteSamplesProcInfo = 0x00000FF0,
        uppSGGetDataRateProcInfo = 0x000003F0,
        uppSGAlignChannelRectProcInfo = 0x000003F0,
        uppSGPanelGetDitlProcInfo = 0x000003F0,
        uppSGPanelGetTitleProcInfo = 0x000003F0,
        uppSGPanelCanRunProcInfo = 0x000003F0,
        uppSGPanelInstallProcInfo = 0x00002FF0,
        uppSGPanelEventProcInfo = 0x000FEFF0,
        uppSGPanelItemProcInfo = 0x0000AFF0,
        uppSGPanelRemoveProcInfo = 0x00002FF0,
        uppSGPanelSetGrabberProcInfo = 0x000003F0,
        uppSGPanelSetResFileProcInfo = 0x000002F0,
        uppSGPanelGetSettingsProcInfo = 0x00003FF0,
        uppSGPanelSetSettingsProcInfo = 0x00003FF0,
        uppSGPanelValidateInputProcInfo = 0x000003F0,
        uppSGPanelSetEventFilterProcInfo = 0x00000FF0,
        uppSGGetSrcVideoBoundsProcInfo = 0x000003F0,
        uppSGSetVideoRectProcInfo = 0x000003F0,
        uppSGGetVideoRectProcInfo = 0x000003F0,
        uppSGGetVideoCompressorTypeProcInfo = 0x000003F0,
        uppSGSetVideoCompressorTypeProcInfo = 0x000003F0,
        uppSGSetVideoCompressorProcInfo = 0x0003FEF0,
        uppSGGetVideoCompressorProcInfo = 0x0003FFF0,
        uppSGGetVideoDigitizerComponentProcInfo = 0x000000F0,
        uppSGSetVideoDigitizerComponentProcInfo = 0x000003F0,
        uppSGVideoDigitizerChangedProcInfo = 0x000000F0,
        uppSGSetVideoBottlenecksProcInfo = 0x000003F0,
        uppSGGetVideoBottlenecksProcInfo = 0x000003F0,
        uppSGGrabFrameProcInfo = 0x000002F0,
        uppSGGrabFrameCompleteProcInfo = 0x00000EF0,
        uppSGDisplayFrameProcInfo = 0x00003EF0,
        uppSGCompressFrameProcInfo = 0x000002F0,
        uppSGCompressFrameCompleteProcInfo = 0x00003EF0,
        uppSGAddFrameProcInfo = 0x0000FEF0,
        uppSGTransferFrameForCompressProcInfo = 0x00003EF0,
        uppSGSetCompressBufferProcInfo = 0x00000EF0,
        uppSGGetCompressBufferProcInfo = 0x00000FF0,
        uppSGGetBufferInfoProcInfo = 0x0003FEF0,
        uppSGSetUseScreenBufferProcInfo = 0x000001F0,
        uppSGGetUseScreenBufferProcInfo = 0x000003F0,
        uppSGGrabCompressCompleteProcInfo = 0x00003FF0,
        uppSGDisplayCompressProcInfo = 0x0000FFF0,
        uppSGSetFrameRateProcInfo = 0x000003F0,
        uppSGGetFrameRateProcInfo = 0x000003F0,
        uppSGSetPreferredPacketSizeProcInfo = 0x000003F0,
        uppSGGetPreferredPacketSizeProcInfo = 0x000003F0,
        uppSGSetUserVideoCompressorListProcInfo = 0x000003F0,
        uppSGGetUserVideoCompressorListProcInfo = 0x000003F0,
        uppSGSetSoundInputDriverProcInfo = 0x000003F0,
        uppSGGetSoundInputDriverProcInfo = 0x000000F0,
        uppSGSoundInputDriverChangedProcInfo = 0x000000F0,
        uppSGSetSoundRecordChunkSizeProcInfo = 0x000003F0,
        uppSGGetSoundRecordChunkSizeProcInfo = 0x000000F0,
        uppSGSetSoundInputRateProcInfo = 0x000003F0,
        uppSGGetSoundInputRateProcInfo = 0x000000F0,
        uppSGSetSoundInputParametersProcInfo = 0x00003AF0,
        uppSGGetSoundInputParametersProcInfo = 0x00003FF0,
        uppSGSetAdditionalSoundRatesProcInfo = 0x000003F0,
        uppSGGetAdditionalSoundRatesProcInfo = 0x000003F0,
        uppSGSetFontNameProcInfo = 0x000003F0,
        uppSGSetFontSizeProcInfo = 0x000002F0,
        uppSGSetTextForeColorProcInfo = 0x000003F0,
        uppSGSetTextBackColorProcInfo = 0x000003F0,
        uppSGSetJustificationProcInfo = 0x000002F0,
        uppSGGetTextReturnToSpaceValueProcInfo = 0x000003F0,
        uppSGSetTextReturnToSpaceValueProcInfo = 0x000002F0,
        uppSGGetInstrumentProcInfo = 0x000003F0,
        uppSGSetInstrumentProcInfo = 0x000003F0
    };
 
#endif  /* SG_BASENAME */
 
/*
    Example usage:
 
        #define QTVIDEOOUTPUT_BASENAME()    Fred
        #define QTVIDEOOUTPUT_GLOBALS() FredGlobalsHandle
        #include <QuickTimeComponents.k.h>
 
    To specify that your component implementation does not use globals, do not #define QTVIDEOOUTPUT_GLOBALS
*/
#ifdef QTVIDEOOUTPUT_BASENAME
    #ifndef QTVIDEOOUTPUT_GLOBALS
        #define QTVIDEOOUTPUT_GLOBALS() 
        #define ADD_QTVIDEOOUTPUT_COMMA 
    #else
        #define ADD_QTVIDEOOUTPUT_COMMA ,
    #endif
    #define QTVIDEOOUTPUT_GLUE(a,b) a##b
    #define QTVIDEOOUTPUT_STRCAT(a,b) QTVIDEOOUTPUT_GLUE(a,b)
    #define ADD_QTVIDEOOUTPUT_BASENAME(name) QTVIDEOOUTPUT_STRCAT(QTVIDEOOUTPUT_BASENAME(),name)
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayModeList) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * outputs);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetCurrentClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ConstStr255Param  str);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClientName) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Str255  str);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(Begin) (QTVIDEOOUTPUT_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(End) (QTVIDEOOUTPUT_GLOBALS());
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  displayModeID);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetDisplayMode) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long * displayModeID);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(CustomConfigureDisplay) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ModalFilterUPP  filter);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SaveState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer * state);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(RestoreState) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA QTAtomContainer  state);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorld) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA GWorldPtr * gw);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetGWorldParameters) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA Ptr * baseAddr, long * rowBytes, CTabHandle * colorTable);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetIndSoundOutput) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  index, Component * outputComponent);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetClock) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA ComponentInstance * clock);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(SetEchoPort) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA CGrafPtr  echoPort);
 
    EXTERN_API( ComponentResult  ) ADD_QTVIDEOOUTPUT_BASENAME(GetIndImageDecompressor) (QTVIDEOOUTPUT_GLOBALS() ADD_QTVIDEOOUTPUT_COMMA long  index, Component * codec);
 
 
    /* MixedMode ProcInfo constants for component calls */
    enum {
        uppQTVideoOutputGetDisplayModeListProcInfo = 0x000003F0,
        uppQTVideoOutputGetCurrentClientNameProcInfo = 0x000003F0,
        uppQTVideoOutputSetClientNameProcInfo = 0x000003F0,
        uppQTVideoOutputGetClientNameProcInfo = 0x000003F0,
        uppQTVideoOutputBeginProcInfo = 0x000000F0,
        uppQTVideoOutputEndProcInfo = 0x000000F0,
        uppQTVideoOutputSetDisplayModeProcInfo = 0x000003F0,
        uppQTVideoOutputGetDisplayModeProcInfo = 0x000003F0,
        uppQTVideoOutputCustomConfigureDisplayProcInfo = 0x000003F0,
        uppQTVideoOutputSaveStateProcInfo = 0x000003F0,
        uppQTVideoOutputRestoreStateProcInfo = 0x000003F0,
        uppQTVideoOutputGetGWorldProcInfo = 0x000003F0,
        uppQTVideoOutputGetGWorldParametersProcInfo = 0x00003FF0,
        uppQTVideoOutputGetIndSoundOutputProcInfo = 0x00000FF0,
        uppQTVideoOutputGetClockProcInfo = 0x000003F0,
        uppQTVideoOutputSetEchoPortProcInfo = 0x000003F0,
        uppQTVideoOutputGetIndImageDecompressorProcInfo = 0x00000FF0
    };
 
#endif  /* QTVIDEOOUTPUT_BASENAME */
 
 
#endif /* __QUICKTIMECOMPONENTS_K__ */