//inc
#ifndef QUICKTIMECOMPONENTS_H
#define  QUICKTIMECOMPONENTS_H

#ifndef CARBON_H
#include <Carbon/Carbon.h>
#endif

#ifndef IMAGECOMPRESSION_H
#include <QuickTime/ImageCompression.h>
#endif

#ifndef  MOVIES_H
#include <QuickTime/Movies.h>
#endif

#ifndef QUICKTIMEMUSIC_H
#include <QuickTime/QuickTimeMusic.h>
#endif

//#include <HYS/QuickTime/QuickTimeComponents.h>
#include <APPLE/QuickTime/QuickTimeComponents.h>
#include <AvailabilityMacros.h>

#if PRAGMA_ONCE
#pragma once
#endif

#ifdef __cplusplus
extern "C" {
#endif

#if PRAGMA_ONCE
#pragma once
#endif


/*quicktime.std.StdQTConstants

public static final int	aliasDataHandlerSubType	1634494835
public static final int	appleDataCompressorSubType	1633969507
public static final int	audioMediaCharacteristic	1700885107
public static final int	baseMediaType	1735291491
public static final int	callOldBits	2
public static final int	callStdBits	1
public static final int	canMovieExportAuxDataHandle	128
public static final int	canMovieExportFiles	16
public static final int	canMovieExportFromProcedures	32768
public static final int	canMovieExportHandles	8
public static final int	canMovieExportValidateMovie	65536
public static final int	canMovieImportDataReferences	262144
public static final int	canMovieImportFiles	2
public static final int	canMovieImportHandles	1
public static final int	canMovieImportInPlace	2048
public static final int	canMovieImportPartial	8192
public static final int	canMovieImportValidateFile	512
public static final int	canMovieImportValidateHandles	256
public static final int	channelFlagDontOpenResFile	2
public static final int	channelFlagHasDependency	4
public static final int	channelPlayAllData	4
public static final int	channelPlayFast	1
public static final int	channelPlayHighQuality	2
public static final int	channelPlayNormal	0
public static final int	clipAID	1668049264
public static final int	clockComponentType	1668050795
public static final int	codecCanAsync	8192
public static final int	codecCanAsyncWhen	65536
public static final int	codecCanClipRectangular	256
public static final int	codecCanClipVertical	128
public static final int	codecCanCopyPrev	32
public static final int	codecCanCopyPrevComp	4096
public static final int	codecCanDoIndirectSurface	33554432
public static final int	codecCanFastDither	1024
public static final int	codecCanLockSurface	-2147483648
public static final int	codecCanMakeMask	16384
public static final int	codecCanManagePrevBuffer	262144
public static final int	codecCanMask	2
public static final int	codecCanMatte	4
public static final int	codecCanRemapColor	512
public static final int	codecCanRemapResolution	536870912
public static final int	codecCanScale	1
public static final int	codecCanShieldCursor	131072
public static final int	codecCanShift	32768
public static final int	codecCanSpool	64
public static final int	codecCanSrcExtract	2048
public static final int	codecCanTransferMode	16
public static final int	codecCanTransform	8
public static final int	codecCompletionDest	2
public static final int	codecCompletionDontUnshield	4
public static final int	codecCompletionDropped	64
public static final int	codecCompletionForceChainFlush	32
public static final int	codecCompletionSource	1
public static final int	codecCompletionUnlockBits	16
public static final int	codecCompletionWentOffscreen	8
public static final int	codecConditionCatchUpDiff	16384
public static final int	codecConditionCodecChangedMask	-2147483648
public static final int	codecConditionDoCursor	8192
public static final int	codecConditionFirstBand	1
public static final int	codecConditionFirstFrame	4
public static final int	codecConditionFirstScreen	4096
public static final int	codecConditionLastBand	2
public static final int	codecConditionMaskMayBeChanged	32768
public static final int	codecConditionNewAccuracy	1024
public static final int	codecConditionNewClut	512
public static final int	codecConditionNewDepth	8
public static final int	codecConditionNewDestination	2048
public static final int	codecConditionNewMask	64
public static final int	codecConditionNewMatte	128
public static final int	codecConditionNewSrcRect	32
public static final int	codecConditionNewTransferMode	256
public static final int	codecConditionNewTransform	16
public static final int	codecConditionToBuffer	65536
public static final int	codecFlagCatchUpDiff	4096
public static final int	codecFlagDontOffscreen	32
public static final int	codecFlagDontUseNewImageBuffer	1024
public static final int	codecFlagForceKeyFrame	128
public static final int	codecFlagImageBufferNotSourceImage	8192
public static final int	codecFlagInterlaceUpdate	2048
public static final int	codecFlagLiveGrab	512
public static final int	codecFlagNoScreenUpdate	8
public static final int	codecFlagOnlyScreenUpdate	256
public static final int	codecFlagOutUpdateOnDataSourceChange	1024
public static final int	codecFlagOutUpdateOnTimeChange	4096
public static final int	codecFlagReenable	16384
public static final int	codecFlagSequenceSensitive	2048
public static final int	codecFlagSupportDisable	8192
public static final int	codecFlagUpdatePrevious	4
public static final int	codecFlagUpdatePreviousComp	64
public static final int	codecFlagUsedImageBuffer	32768
public static final int	codecFlagUsedNewImageBuffer	16384
public static final int	codecFlagUseImageBuffer	1
public static final int	codecFlagUseScreenBuffer	2
public static final int	codecFlagWasCompressed	16
public static final int	codecHandlesInputs	16777216
public static final int	codecHasVolatileBuffer	524288
public static final int	codecHighQuality	768
public static final int	codecImageBufferIsOnScreen	2097152
public static final int	codecInfoDepth1	1
public static final int	codecInfoDepth16	16
public static final int	codecInfoDepth2	2
public static final int	codecInfoDepth24	64
public static final int	codecInfoDepth32	32
public static final int	codecInfoDepth33	128
public static final int	codecInfoDepth34	256
public static final int	codecInfoDepth36	512
public static final int	codecInfoDepth4	4
public static final int	codecInfoDepth40	1024
public static final int	codecInfoDepth8	8
public static final int	codecInfoDoes1	1
public static final int	codecInfoDoes16	16
public static final int	codecInfoDoes2	2
public static final int	codecInfoDoes32	32
public static final int	codecInfoDoes4	4
public static final int	codecInfoDoes8	8
public static final int	codecInfoDoesBlend	524288
public static final int	codecInfoDoesDither	64
public static final int	codecInfoDoesDouble	2048
public static final int	codecInfoDoesHalf	8192
public static final int	codecInfoDoesHorizFlip	65536
public static final int	codecInfoDoesLossless	4096
public static final int	codecInfoDoesMask	512
public static final int	codecInfoDoesQuad	4096
public static final int	codecInfoDoesQuarter	16384
public static final int	codecInfoDoesRateConstrain	8388608
public static final int	codecInfoDoesRecompress	2097152
public static final int	codecInfoDoesRotate	32768
public static final int	codecInfoDoesShrink	256
public static final int	codecInfoDoesSpool	4194304
public static final int	codecInfoDoesStretch	128
public static final int	codecInfoDoesTemporal	1024
public static final int	codecInfoDoesVertFlip	131072
public static final int	codecInfoDoesWarp	1048576
public static final int	codecInfoHasEffectParameterList	262144
public static final int	codecInfoResourceType	1667523433
public static final int	codecInfoSequenceSensitive	8192
public static final int	codecInfoStoresClut	2048
public static final int	codecInterfaceVersion	2
public static final int	codecIsDirectToScreenOnly	1073741824
public static final int	codecIsSequenceSensitive	67108864
public static final int	codecLockBitsShieldCursor	1
public static final int	codecLosslessQuality	1024
public static final int	codecLowQuality	256
public static final int	codecMaxQuality	1023
public static final int	codecMinimumDataSize	32768
public static final int	codecMinQuality	0
public static final int	codecNormalQuality	512
public static final int	codecProgressClose	2
public static final int	codecProgressOpen	0
public static final int	codecProgressUpdatePercent	1
public static final int	codecRequiresMaskBits	268435456
public static final int	codecRequiresOffscreen	134217728
public static final int	codecWantsDestinationPixels	4194304
public static final int	codecWantsRegionMask	1048576
public static final int	codecWantsSpecialScaling	8388608
public static final int	colorTableAID	1668571490
public static final int	compositeIn	0
public static final int	compressedMovieAID	1668116342
public static final int	compressedMovieDataAID	1668118116
public static final int	compressorComponentType	1768776559
public static final int	createFilePreviewComponentType	1886216555
public static final int	createMovieFileDeleteCurFile	-2147483648
public static final int	createMovieFileDontCreateMovie	1073741824
public static final int	createMovieFileDontCreateResFile	268435456
public static final int	createMovieFileDontOpenFile	536870912
public static final int	currentIn	0
public static final int	dataCompressionAtomAID	1684238189
public static final int	dataCompressorComponentType	1684238189
public static final int	dataDecompressorComponentType	1684301155
public static final int	dataHandlerType	1684565106
public static final int	dataInfoAID	1684631142
public static final int	dataRefAID	1685218662
public static final int	dataRefContainerAID	1685218915
public static final int	dataRefSelfReference	1
public static final int	dataRefWasNotResolved	2
public static final int	decompressorComponentType	1768776803
public static final int	defaultDither	0
public static final int	defaultProgressFuntion	-1
public static final int	dfAntiAlias	8192
public static final int	dfClipToTextBox	4
public static final int	dfContinuousKaraoke	2048
public static final int	dfContinuousScroll	512
public static final int	dfDontAutoScale	2
public static final int	dfDontDisplay	1
public static final int	dfDropShadow	4096
public static final int	dfFlowHoriz	1024
public static final int	dfHorizScroll	128
public static final int	dfInverseHilite	32768
public static final int	dfKeyedText	16384
public static final int	dfReverseScroll	256
public static final int	dfScrollIn	32
public static final int	dfScrollOut	64
public static final int	dfShrinkTextBoxToFit	16
public static final int	dfTextColorHilite	65536
public static final int	dfUseMovieBGColor	8
public static final int	digiInDoesBW	8192
public static final int	digiInDoesColor	4096
public static final int	digiInDoesComponent	1024
public static final int	digiInDoesComposite	256
public static final int	digiInDoesGenLock	128
public static final int	digiInDoesNTSC	1
public static final int	digiInDoesPAL	2
public static final int	digiInDoesSECAM	4
public static final int	digiInDoesSVideo	512
public static final int	digiInSignalLock	-2147483648
public static final int	digiInVTR_Broadcast	2048
public static final int	digiOutDoes1	1
public static final int	digiOutDoes16	16
public static final int	digiOutDoes2	2
public static final int	digiOutDoes32	32
public static final int	digiOutDoes4	4
public static final int	digiOutDoes8	8
public static final int	digiOutDoesAsyncGrabs	33554432
public static final int	digiOutDoesBlend	524288
public static final int	digiOutDoesCompress	134217728
public static final int	digiOutDoesCompressOnly	268435456
public static final int	digiOutDoesCompressPartiallyVisible	1073741824
public static final int	digiOutDoesDither	64
public static final int	digiOutDoesDouble	2048
public static final int	digiOutDoesHorizFlip	65536
public static final int	digiOutDoesHW_DMA	2097152
public static final int	digiOutDoesHWPlayThru	4194304
public static final int	digiOutDoesILUT	8388608
public static final int	digiOutDoesKeyColor	16777216
public static final int	digiOutDoesMask	512
public static final int	digiOutDoesPlayThruDuringCompress	536870912
public static final int	digiOutDoesQuad	4096
public static final int	digiOutDoesQuarter	8192
public static final int	digiOutDoesRotate	32768
public static final int	digiOutDoesShrink	256
public static final int	digiOutDoesSixteenth	16384
public static final int	digiOutDoesSkew	262144
public static final int	digiOutDoesStretch	128
public static final int	digiOutDoesUnreadableScreenBits	67108864
public static final int	digiOutDoesVertFlip	131072
public static final int	digiOutDoesWarp	1048576
public static final int	dmaDepth1	1
public static final int	dmaDepth16	16
public static final int	dmaDepth2	2
public static final int	dmaDepth2Gray	64
public static final int	dmaDepth32	32
public static final int	dmaDepth4	4
public static final int	dmaDepth4Gray	128
public static final int	dmaDepth8	8
public static final int	dmaDepth8Gray	256
public static final int	dontAutoFileMovieImport	64
public static final int	dontRegisterWithEasyOpen	1024
public static final int	dropShadowOffsetType	1685221487
public static final int	dropShadowTranslucencyType	1685221492
public static final int	DVCMediaType	1685480224
public static final int	editListAID	1701606260
public static final int	editsAID	1701082227
public static final int	effectIsRealtime	0
public static final int	elOptionsIncludeNoneInList	1
public static final int	evenField1ToEvenFieldOut	1
public static final int	evenField1ToOddFieldOut	2
public static final int	evenField2ToEvenFieldOut	16
public static final int	evenField2ToOddFieldOut	32
public static final int	findTextCaseSensitive	2
public static final int	findTextEdgeOK	1
public static final int	findTextReverseSearch	4
public static final int	findTextUseOffset	16
public static final int	findTextWrapAround	8
public static final int	flattenActiveTracksOnly	4
public static final int	flattenAddMovieToDataFork	1
public static final int	flattenCompressMovieResource	32
public static final int	flattenDontInterleaveFlatten	8
public static final int	flattenForceMovieResourceBeforeMovieData	64
public static final int	flattenFSSpecPtrIsDataRefRecordPtr	16
public static final int	flushFromRam	4
public static final int	forceDither	1
public static final int	forceUpdateNewBuffer	2
public static final int	forceUpdateRedraw	1
public static final int	fullScreenAllowEvents	2
public static final int	fullScreenDontChangeMenuBar	4
public static final int	fullScreenHideCursor	1
public static final int	fullScreenPreflightSize	8
public static final int	genericMediaInfoAID	1735223662
public static final int	genericMediaInfoHeaderAID	1735223396
public static final int	grabPictCurrentImage	4
public static final int	grabPictIgnoreClip	2
public static final int	grabPictOffScreen	1
public static final int	graphicsExporterCanTranscode	2
public static final int	graphicsExporterComponentType	1735550328
public static final int	graphicsExporterIsBaseExporter	1
public static final int	graphicsExporterUsesImageCompressor	4
public static final int	graphicsImporterComponentType	1735551344
public static final int	graphicsImporterDoesntDrawAllPixels	1
public static final int	graphicsImporterDontKnowIfDrawAllPixels	2
public static final int	graphicsImporterDrawsAllPixels	0
public static final int	graphicsImporterUsesImageDecompressor	8388608
public static final int	graphicsModeComposition	259
public static final int	graphicsModePreBlackAlpha	258
public static final int	graphicsModePreMulColorAlpha	261
public static final int	graphicsModePreWhiteAlpha	257
public static final int	graphicsModeStraightAlpha	256
public static final int	graphicsModeStraightAlphaBlend	260
public static final int	gxClosedFrameFill	2
public static final int	gxEvenOddFill	3
public static final int	gxFrameFill	1
public static final int	gxHollowFill	2
public static final int	gxInverseEvenOddFill	5
public static final int	gxInverseFill	5
public static final int	gxInverseSolidFill	5
public static final int	gxInverseWindingFill	6
public static final int	gxNoFill	0
public static final int	gxOpenFrameFill	1
public static final int	gxSolidFill	3
public static final int	gxWindingFill	4
public static final int	handleDataHandlerSubType	1752065132
public static final int	handlerAID	1751411826
public static final int	handlerCanClip	2
public static final int	handlerCanHandleComplexMatrix	1024
public static final int	handlerCanMatte	4
public static final int	handlerCanSend	512
public static final int	handlerCanSendImageData	4096
public static final int	handlerCanTransferMode	8
public static final int	handlerCGrafPortOnly	256
public static final int	handlerHasSpatial	1
public static final int	handlerNeedsBuffer	16
public static final int	handlerNoIdle	32
public static final int	handlerNoScheduler	64
public static final int	handlerWantsDestinationPixels	2048
public static final int	handlerWantsTime	128
public static final int	hasMovieExportUserInterface	32
public static final int	hasMovieImportMIMEList	16384
public static final int	hasMovieImportUserInterface	4
public static final int	hintsAllowBlacklining	16384
public static final int	hintsAllowDynamicResize	524288
public static final int	hintsAllowInterlace	64
public static final int	hintsDontDraw	8192
public static final int	hintsDontPurge	4
public static final int	hintsDontUseVideoOverlaySurface	65536
public static final int	hintsHighQuality	256
public static final int	hintsIgnoreBandwidthRestrictions	131072
public static final int	hintsInactive	2048
public static final int	hintsLoop	2
public static final int	hintsOffscreen	4096
public static final int	hintsPalindrome	512
public static final int	hintsPlayingEveryFrame	262144
public static final int	hintsScrubMode	1
public static final int	hintsUseScreenBuffer	32
public static final int	hintsUseSoundInterp	128
public static final int	icmFrameTimeHasVirtualStartTimeAndDuration	1
public static final int	identityMatrixType	0
public static final int	imageTranscodererComponentType	1768780899
public static final int	inputMapAID	1768776048
public static final int	instSamplePreProcessFlag	1
public static final int	k3DMediaRendererCode	1919119204
public static final int	k3DMediaRendererEntry	1919250020
public static final int	k3DMediaRendererName	1851878757
public static final int	kAccessKeyAtomType	1633905529
public static final int	kAccessKeySystemFlag	1
public static final int	kAction	1633907822
public static final int	kActionCase	6144
public static final int	kActionDebugStr	6148
public static final int	kActionFlagActionIsDelta	2
public static final int	kActionFlagActionIsToggle	8
public static final int	kActionFlagParameterWrapsAround	4
public static final int	kActionFlags	1718378855
public static final int	kActionGoToURL	6146
public static final int	kActionListAtomType	1818850164
public static final int	kActionMovieChanged	1037
public static final int	kActionMovieGoToBeginning	1029
public static final int	kActionMovieGoToEnd	1030
public static final int	kActionMovieGoToTime	1027
public static final int	kActionMovieGoToTimeByName	1028
public static final int	kActionMoviePlaySelection	1035
public static final int	kActionMovieSetLanguage	1036
public static final int	kActionMovieSetLoopingFlags	1026
public static final int	kActionMovieSetRate	1025
public static final int	kActionMovieSetSelection	1033
public static final int	kActionMovieSetSelectionByName	1034
public static final int	kActionMovieSetVolume	1024
public static final int	kActionMovieStepBackward	1032
public static final int	kActionMovieStepForward	1031
public static final int	kActionMusicPlayNote	5120
public static final int	kActionMusicSetController	5121
public static final int	kActionParameter	1885434477
public static final int	kActionParameterMaxValue	1835104374
public static final int	kActionParameterMinValue	1835626102
public static final int	kActionPopAndGotoLabeledTime	6152
public static final int	kActionPopAndGotoTopTime	6151
public static final int	kActionPushCurrentTime	6149
public static final int	kActionPushCurrentTimeWithLabel	6150
public static final int	kActionQTVRGoToNodeID	4100
public static final int	kActionQTVRSetFieldOfView	4098
public static final int	kActionQTVRSetPanAngle	4096
public static final int	kActionQTVRSetTiltAngle	4097
public static final int	kActionQTVRShowDefaultView	4099
public static final int	kActionSendQTEventToSprite	6147
public static final int	kActionSpriteClickOnCodec	3079
public static final int	kActionSpritePassMouseToCodec	3078
public static final int	kActionSpriteRotate	3082
public static final int	kActionSpriteScale	3081
public static final int	kActionSpriteSetGraphicsMode	3076
public static final int	kActionSpriteSetImageIndex	3073
public static final int	kActionSpriteSetLayer	3075
public static final int	kActionSpriteSetMatrix	3072
public static final int	kActionSpriteSetVisible	3074
public static final int	kActionSpriteStretch	3083
public static final int	kActionSpriteTranslate	3080
public static final int	kActionTarget	1952543335
public static final int	kActionTrackSetBalance	2049
public static final int	kActionTrackSetClip	2053
public static final int	kActionTrackSetEnabled	2050
public static final int	kActionTrackSetLayer	2052
public static final int	kActionTrackSetMatrix	2051
public static final int	kActionTrackSetVolume	2048
public static final int	kActionWhile	6145
public static final int	kaiCopyrightType	1080258681
public static final int	kaiInstGMQualityType	1903518060
public static final int	kaiInstInfoType	1768517222
public static final int	kaiInstrumentRefType	1769104742
public static final int	kaiKeyRangeInfoType	1936289382
public static final int	kaiKnobListType	1802396268
public static final int	kaiLibraryDescType	1818522467
public static final int	kaiLibraryInfoType	1818848870
public static final int	kaiNoteRequestInfoType	1853125233
public static final int	kaiOtherStrType	1937011232
public static final int	kaiPictType	1885954932
public static final int	kaiSampleDataQUIDType	1903520100
public static final int	kaiSampleDataType	1935958388
public static final int	kaiSampleDescType	1935962979
public static final int	kaiSampleInfoType	1936550254
public static final int	kaiToneDescType	1953459813
public static final int	kaiWriterType	1081569908
public static final int	kAlphaCompositorTransitionType	1651273316
public static final int	kAlphaGainImageFilterType	1734437230
public static final int	kAnimationCodecType	1919706400
public static final int	kAnySubType	0
public static final int	kAnyType	0
public static final int	kAppleSysexCmdAtomicInstrument	16
public static final int	kAppleSysexCmdDeveloper	32512
public static final int	kAppleSysexCmdSampleBreak	2
public static final int	kAppleSysexCmdSampleSize	1
public static final int	kAppleSysexID	17
public static final int	kAtomInterpolateIsOptional	2
public static final int	kAtomNoFlags	0
public static final int	kAtomNotInterpolated	1
public static final int	kAVRJPEGCodecType	1635152416
public static final int	kBackgroundSpriteLayerNum	32767
public static final int	kBaseCodecType	1650553701
public static final int	kBaseGraphicsExporterSubType	1650553701
public static final int	kBaseInstrumentSubType	1650553701
public static final int	kBlurImageFilterType	1651275122
public static final int	kBMPCodecType	1465011269
public static final int	kCharacteristicCanSendVideo	1987276388
public static final int	kCharacteristicNonLinear	1852796524
public static final int	kCharacteristicProvidesActions	1633907822
public static final int	kCharacteristicProvidesURLs	1970433132
public static final int	kChromaKeyTransitionType	1667982713
public static final int	kCinepakCodecType	1668704612
public static final int	kCircularGradient	1
public static final int	kClarisWorks	1112490575
public static final int	kClockCanHandleIntermittentSound	4
public static final int	kClockImplementsCallBacks	2
public static final int	kClockRateIsLinear	1
public static final int	kCloudCodecType	1668050805
public static final int	kCMYKCodecType	1668118891
public static final int	kCodecFrameTypeDifference	2
public static final int	kCodecFrameTypeDroppableDifference	3
public static final int	kCodecFrameTypeKey	1
public static final int	kCodecFrameTypeUnknown	0
public static final int	kColorSyncImageFilterType	1937337955
public static final int	kColorTintImageFilterType	1953066612
public static final int	kCommentAtomType	2003335456
public static final int	kComponentVideoCodecType	2037741106
public static final int	kComponentVideoSigned	2037741173
public static final int	kComponentVideoUnsigned	2037741171
public static final int	kConditionalAtomType	1952805748
public static final int	kControlEventControllerFieldPos	16
public static final int	kControlEventControllerFieldWidth	8
public static final int	kControlEventLen	1
public static final int	kControlEventType	2
public static final int	kControlEventValueFieldPos	0
public static final int	kControlEventValueFieldWidth	16
public static final int	kControllerAfterTouch	33
public static final int	kControllerBalance	8
public static final int	kControllerBreath	2
public static final int	kControllerCeleste	94
public static final int	kControllerChorus	93
public static final int	kControllerEditPart	113
public static final int	kControllerExpression	11
public static final int	kControllerFoot	4
public static final int	kControllerHeight	16
public static final int	kControllerLever1	16
public static final int	kControllerLever2	17
public static final int	kControllerLever3	18
public static final int	kControllerLever4	19
public static final int	kControllerLever5	80
public static final int	kControllerLever6	81
public static final int	kControllerLever7	82
public static final int	kControllerLever8	83
public static final int	kControllerMasterCPULoad	116
public static final int	kControllerMasterFeatures	118
public static final int	kControllerMasterPolyphony	117
public static final int	kControllerMasterTranspose	114
public static final int	kControllerMasterTune	114
public static final int	kControllerMasterVolume	115
public static final short	kControllerMaximum	32767
public static final short	kControllerMinimum	-32768
public static final int	kControllerModulationWheel	1
public static final int	kControllerPan	10
public static final int	kControllerPartTranspose	40
public static final int	kControllerPartVolume	42
public static final int	kControllerPhaser	95
public static final int	kControllerPitchBend	32
public static final int	kControllerPortamento	65
public static final int	kControllerPortamentoTime	5
public static final int	kControllerReverb	91
public static final int	kControllerSoftPedal	67
public static final int	kControllerSostenuto	66
public static final int	kControllerSustain	64
public static final int	kControllerTremolo	92
public static final int	kControllerTuneTranspose	41
public static final int	kControllerTuneVolume	43
public static final int	kControllerVolume	7
public static final int	kConvolveImageFilterType	1734700651
public static final int	kCrossFadeTransitionType	1685286006
public static final int	kCurrentlyNativeEndian	1
public static final int	kCurrentlyNotNativeEndian	2
public static final int	kCurveAddAtomToVectorStreamSelect	266
public static final int	kCurveAddPathAtomToVectorStreamSelect	267
public static final int	kCurveAddZeroAtomToVectorStreamSelect	268
public static final int	kCurveAntialiasControlAtom	1634628713
public static final int	kCurveAntialiasOff	0
public static final int	kCurveAntialiasOn	-1
public static final int	kCurveARGBColorAtom	1634887522
public static final int	kCurveCountPointsInPathSelect	259
public static final int	kCurveCreateVectorStreamSelect	265
public static final int	kCurveDepthAlwaysOffscreenMask	-2147483648
public static final int	kCurveEndAtom	2053468783
public static final int	kCurveFillTypeAtom	1718185068
public static final int	kCurveGetAtomDataFromVectorStreamSelect	269
public static final int	kCurveGetLengthSelect	256
public static final int	kCurveGetNearestPathPointSelect	263
public static final int	kCurveGetPathPointSelect	260
public static final int	kCurveGradientAngleAtom	1634625388
public static final int	kCurveGradientOffsetAtom	1667591796
public static final int	kCurveGradientRadiusAtom	1918985321
public static final int	kCurveGradientRecordAtom	1735549284
public static final int	kCurveGradientTypeAtom	1735550068
public static final int	kCurveInsertPointIntoPathSelect	261
public static final int	kCurveJoinAttributesAtom	1785686382
public static final int	kCurveLengthToPointSelect	257
public static final int	kCurveMinimumDepthAtom	1835626084
public static final int	kCurveMiterLimitAtom	1835627634
public static final int	kCurveNewPathSelect	258
public static final int	kCurvePathAtom	1885434984
public static final int	kCurvePathPointToLengthSelect	264
public static final int	kCurvePenThicknessAtom	1885695604
public static final int	kCurveSetPathPointSelect	262
public static final int	kDataHCanRead	1
public static final int	kDataHCanStreamingWrite	64
public static final int	kDataHCanWrite	8
public static final int	kDataHExtendedSchedule	2020896356
public static final int	kDataHMustCheckDataRef	128
public static final int	kDataHSpecialRead	2
public static final int	kDataHSpecialReadFile	4
public static final int	kDataHSpecialWrite	16
public static final int	kDataHSpecialWriteFile	32
public static final int	kDataRate144ModemRate	1400
public static final int	kDataRate288ModemRate	2800
public static final int	kDataRateDualISDNRate	11200
public static final int	kDataRateInfiniteRate	2147483647
public static final int	kDataRateISDNRate	5600
public static final int	kDataRateT1Rate	150000
public static final int	kDataRefExtensionChokeSpeed	1667788651
public static final int	kDataRefExtensionInitializationData	1684108385
public static final int	kDataRefExtensionMacOSFileType	1718909296
public static final int	kDataRefExtensionMIMEType	1835625829
public static final int	kDataRefFileExtensionTag	1702392864
public static final int	kDataRefIsSelfContained	1
public static final int	kDataRefMimeTypeTag	1835625829
public static final int	kDataRefQTFileTypeTag	1718909296
public static final int	kDefaultKnobValue	2147483646
public static final int	kDeleteCurFile	-2147483648
public static final int	kDisableControl	1
public static final int	kDisableWhenEqual	17
public static final int	kDisableWhenGreaterThan	49
public static final int	kDisableWhenLessThan	33
public static final int	kDisableWhenNotEqual	1
public static final int	kDontUseValidateToFindGraphicsImporter	1
public static final int	kDVCNTSCCodecType	1685480224
public static final int	kDVCPALCodecType	1685480304
public static final int	kDVCProNTSCCodecType	1685483630
public static final int	kDVCProPALCodecType	1685483632
public static final int	kEdgeDetectImageFilterType	1701078885
public static final int	keepInRam	1
public static final int	kEffectBlendMode	1649241956
public static final int	kEffectBorderColor	1650682994
public static final int	kEffectBorderWidth	2003395700
public static final int	kEffectBottomAlphaPin	1885957698
public static final int	kEffectDataSourceType	1685353332
public static final int	kEffectDirectionBottom	2
public static final int	kEffectDirectionLeft	1
public static final int	kEffectDirectionRight	3
public static final int	kEffectDirectionTop	0
public static final int	kEffectFromDirection	1718775661
public static final int	kEffectGainValue	1734437230
public static final int	kEffectGenericType	1734698598
public static final int	kEffectHorizontalRepeat	1752134249
public static final int	kEffectManufacturerAtom	1835101813
public static final int	kEffectNameAtom	1851878757
public static final int	kEffectOffsetValue	1868981875
public static final int	kEffectPercentage	1885564532
public static final int	kEffectPreMultiplyAlpha	2
public static final int	kEffectPreMultiplyColor	1835232370
public static final int	kEffectRawSource	0
public static final int	kEffectReverseAlpha	3
public static final int	kEffectSlideAngle	1634625388
public static final int	kEffectSoftBorder	1936680564
public static final int	kEffectSourceName	1936876320
public static final int	kEffectSrcAtom	1936876320
public static final int	kEffectStraightAlpha	1
public static final int	kEffectTopAlphaPin	1885957716
public static final int	kEffectTypeAtom	1954115685
public static final int	kEffectVerticalRepeat	1986359924
public static final int	kEffectWhatAtom	2003329396
public static final int	kEffectWipe	2003847492
public static final int	kEmbossImageFilterType	1701667443
public static final int	kEventLen	1
public static final int	kEventLengthFieldPos	30
public static final int	kEventLengthFieldWidth	2
public static final int	kEventPartFieldPos	24
public static final int	kEventPartFieldWidth	5
public static final int	kEventTypeFieldPos	29
public static final int	kEventTypeFieldWidth	3
public static final int	kExplodeTransitionType	2020633711
public static final int	kExpressionContainerAtomType	1702391922
public static final int	kFieldInfoImageDescriptionExtension	1718183276
public static final int	kFieldOrderUnknown	0
public static final int	kFieldsStoredF1F2DisplayedF1F2	1
public static final int	kFieldsStoredF1F2DisplayedF2F1	2
public static final int	kFieldsStoredF2F1DisplayedF1F2	5
public static final int	kFieldsStoredF2F1DisplayedF2F1	6
public static final int	kFilmNoiseImageFilterType	1718447731
public static final int	kFireCodecType	1718186597
public static final int	kFirstDrumkit	16385
public static final int	kFirstGMInstrument	1
public static final int	kFirstGSInstrument	129
public static final int	kFirstROMInstrument	32768
public static final int	kFirstUserInstrument	65536
public static final int	kFLCCodecType	1718380899
public static final int	kFlushFirstQueuedFrame	1
public static final int	kFlushLastQueuedFrame	0
public static final int	kFMSComponentSubType	1179472672
public static final int	kGeneralEventAtomicInstrument	6
public static final int	kGeneralEventKnob	7
public static final int	kGeneralEventLen	2
public static final int	kGeneralEventLengthBits	3
public static final int	kGeneralEventLengthFieldPos	0
public static final int	kGeneralEventLengthFieldWidth	16
public static final int	kGeneralEventMIDIChannel	8
public static final int	kGeneralEventNoOp	10
public static final int	kGeneralEventNoteRequest	1
public static final int	kGeneralEventPartChange	9
public static final int	kGeneralEventPartKey	4
public static final int	kGeneralEventPartMix	12
public static final int	kGeneralEventSubtypeFieldPos	16
public static final int	kGeneralEventSubtypeFieldWidth	14
public static final int	kGeneralEventTuneDifference	5
public static final int	kGeneralEventType	15
public static final int	kGeneralEventUsedNotes	11
public static final int	kGetAtomicInstAllKnobs	32
public static final int	kGetAtomicInstNoExpandedSamples	1
public static final int	kGetAtomicInstNoInstrumentInfo	8
public static final int	kGetAtomicInstNoKnobList	4
public static final int	kGetAtomicInstNoOriginalSamples	2
public static final int	kGetAtomicInstNoSamples	3
public static final int	kGetAtomicInstOriginalKnobList	16
public static final int	kGetInstrumentInfoMidiUserInst	2
public static final int	kGetInstrumentInfoNoBuiltIn	1
public static final int	kGetInstrumentInfoNoIText	4
public static final int	kGetMovieImporterAllowNewFile	2
public static final int	kGetMovieImporterDontConsiderGraphicsImporters	4
public static final int	kGetMovieImporterValidateToFind	1
public static final int	kGIFCodecType	1734960672
public static final int	kGKON	1196117838
public static final int	kGMSynthComponentSubType	1735204896
public static final int	kGradientTransitionType	1835103348
public static final int	kGraphicsCodecType	1936548640
public static final int	kGraphicsExportDescription	1684370275
public static final int	kGraphicsExportExtension	1702392864
public static final int	kGraphicsExportFileType	1718909296
public static final int	kGraphicsExportGroup	1702391919
public static final int	kGraphicsExportMIMEType	1835625829
public static final int	kGraphicsFlagsGray	1
public static final int	kGraphicsNoFlags	0
public static final int	kGroupAlignText	65536
public static final int	kGroupMatrix	262144
public static final int	kGroupNoFlags	0
public static final int	kGroupNoName	524288
public static final int	kGroupSurroundBox	131072
public static final int	kH261CodecType	1748121137
public static final int	kH263CodecType	1748121139
public static final int	kHSLColorBalanceImageFilterType	1752394850
public static final int	kImageCodecSettingsFieldCount	1718183276
public static final int	kImageCodecSettingsFieldOrdering	1717858157
public static final int	kImageCodecSettingsFieldOrderingF1F2	1
public static final int	kImageCodecSettingsFieldOrderingF2F1	2
public static final int	kImplodeTransitionType	1836084335
public static final int	kInitialRotationAtom	1768845935
public static final int	kInputMapSubInputID	1937072745
public static final int	kInstKnobMissingDefault	1
public static final int	kInstKnobMissingUnknown	0
public static final int	kInstrumentComponentType	1768846196
public static final int	kInstrumentExactMatch	2
public static final int	kInstrumentMatchGMNumber	16
public static final int	kInstrumentMatchGSNumber	32
public static final int	kInstrumentMatchName	4
public static final int	kInstrumentMatchNumber	8
public static final int	kInstrumentMatchSynthesizerName	2
public static final int	kInstrumentMatchSynthesizerType	1
public static final int	kInstrumentRecommendedSubstitute	1
public static final int	kInstrumentRoland8BitQuality	5
public static final int	kIrisTransitionType	1936551986
public static final int	kITextAtomType	1769240692
public static final int	kITextRemoveEverythingBut	0
public static final int	kITextRemoveLeaveSuggestedAlternate	2
public static final int	kITextStringAtomType	1952807028
public static final int	kJPEGCodecType	1785750887
public static final int	kJPEGHuffmanTablesImageDescriptionExtension	1835690100
public static final int	kJPEGQuantizationTablesImageDescriptionExtension	1835692404
public static final int	kKeyFrameAndAllOverrides	4
public static final int	kKeyFrameAndSingleOverride	2
public static final int	kKnobBasic	8
public static final int	kKnobEventKnobFieldPos	16
public static final int	kKnobEventKnobFieldWidth	14
public static final int	kKnobEventType	11
public static final int	kKnobEventValueHighFieldPos	0
public static final int	kKnobEventValueHighFieldWidth	16
public static final int	kKnobEventValueLowFieldPos	0
public static final int	kKnobEventValueLowFieldWidth	16
public static final int	kKnobFixedPoint16	2048
public static final int	kKnobFixedPoint8	1024
public static final int	kKnobGroupStart	128
public static final int	kKnobInterruptUnsafe	32
public static final int	kKnobKeyrangeOverride	64
public static final int	kKnobReadOnly	16
public static final int	kKnobTypeBoolean	8192
public static final int	kKnobTypeButton	40960
public static final int	kKnobTypeGroupName	4096
public static final int	kKnobTypeHertz	36864
public static final int	kKnobTypeInstrument	20480
public static final int	kKnobTypeMilliseconds	28672
public static final int	kKnobTypeNote	12288
public static final int	kKnobTypeNumber	0
public static final int	kKnobTypePan	16384
public static final int	kKnobTypePercentage	32768
public static final int	kKnobTypeSetting	24576
public static final int	kLastDrumkit	16512
public static final int	kLastGMInstrument	128
public static final int	kLastGSInstrument	16383
public static final int	kLastROMInstrument	65535
public static final int	kLastUserInstrument	131071
public static final int	kLinearGradient	0
public static final int	kListElementDataType	1684108409
public static final int	kListElementType	1954115685
public static final int	kMacPaintCodecType	1346589767
public static final int	kMarkerEventBeat	1
public static final int	kMarkerEventEnd	0
public static final int	kMarkerEventLen	1
public static final int	kMarkerEventSubtypeFieldPos	16
public static final int	kMarkerEventSubtypeFieldWidth	8
public static final int	kMarkerEventTempo	2
public static final int	kMarkerEventType	3
public static final int	kMarkerEventValueFieldPos	0
public static final int	kMarkerEventValueFieldWidth	16
public static final int	kMatrixTransitionType	1936551988
public static final int	kMCIEColorTable	256
public static final int	kMCIEDepressedButtonPicture	3
public static final int	kMCIEDisabledButtonPicture	2
public static final int	kMCIEDisabledSizeBoxPicture	5
public static final int	kMCIEDisabledUnavailableButtonPicture	7
public static final int	kMCIEDoButtonIconsDropOnDepress	258
public static final int	kMCIEEnabledButtonPicture	1
public static final int	kMCIEEnabledSizeBoxPicture	4
public static final int	kMCIEEnabledUnavailableButtonPicture	6
public static final int	kMCIEIsFlatAppearance	257
public static final int	kMCIESoundSlider	128
public static final int	kMCIESoundThumb	129
public static final int	kMediaPropertyHasActions	105
public static final int	kMediaPropertyNonLinearAtomType	1852796524
public static final int	kMediaVideoParamBlackLevel	6
public static final int	kMediaVideoParamBrightness	1
public static final int	kMediaVideoParamContrast	2
public static final int	kMediaVideoParamHue	3
public static final int	kMediaVideoParamSaturation	5
public static final int	kMediaVideoParamSharpness	4
public static final int	kMediaVideoParamWhiteLevel	7
public static final int	kMicrosoftVideo1CodecType	1836283491
public static final int	kMIDIAftertouch	208
public static final int	kMIDIBeginSystemExclusive	240
public static final int	kMIDIChannel1	0
public static final int	kMIDIChannel10	9
public static final int	kMIDIChannel11	10
public static final int	kMIDIChannel12	11
public static final int	kMIDIChannel13	12
public static final int	kMIDIChannel14	13
public static final int	kMIDIChannel15	14
public static final int	kMIDIChannel16	15
public static final int	kMIDIChannel2	1
public static final int	kMIDIChannel3	2
public static final int	kMIDIChannel4	3
public static final int	kMIDIChannel5	4
public static final int	kMIDIChannel6	5
public static final int	kMIDIChannel7	6
public static final int	kMIDIChannel8	7
public static final int	kMIDIChannel9	8
public static final int	kMIDIChannelPressure	208
public static final int	kMIDIControlChange	176
public static final int	kMIDIEndSystemExclusive	247
public static final int	kMIDIImport20Playable	4
public static final int	kMIDIImportSilenceAfter	2
public static final int	kMIDIImportSilenceBefore	1
public static final int	kMIDIImportWantLyrics	8
public static final int	kMIDIManagerComponentSubType	1835886450
public static final int	kMIDINoteOff	128
public static final int	kMIDINoteOn	144
public static final int	kMIDIPitchBend	224
public static final int	kMIDIPolyPressure	160
public static final int	kMIDIProgramChange	192
public static final int	kMimeInfoDescriptionTag	1684370275
public static final int	kMimeInfoDoNotOverrideExistingFileTypeAssociation	1852794465
public static final int	kMimeInfoFileExtensionTag	1702392864
public static final int	kMimeInfoFileTypeTag	1718909296
public static final int	kMimeInfoGroupTag	1735552880
public static final int	kMimeInfoMimeTypeTag	1835625829
public static final int	kMotionJPEGACodecType	1835692129
public static final int	kMotionJPEGBCodecType	1835692130
public static final int	kMotionJPEGTag	1835692135
public static final int	kMovieExportAbsoluteTime	1
public static final int	kMovieExportRelativeTime	2
public static final int	kMovieExportTextOnly	0
public static final int	kMoviePlayer	1414942532
public static final int	kMovieVersion	0
public static final int	kMShp	1297311856
public static final int	kMusicComponentType	1836413801
public static final int	kMusicLoopTypeNormal	0
public static final int	kMusicLoopTypePalindrome	1
public static final int	kMusicPacketPortFound	2
public static final int	kMusicPacketPortLost	1
public static final int	kMusicPacketTimeGap	3
public static final int	kNameAtom	1851878757
public static final int	kNewImageGWorldErase	1
public static final int	kNoAtom	1852796517
public static final int	kNoDrumKit	16384
public static final int	kNoMaximumLongFixed	-2147483648
public static final int	kNoMinimumLongFixed	2147483647
public static final int	kNonLinearTweenHeader	1852601448
public static final int	kNoPrecision	-1
public static final int	kNoQTIdleEvents	-1
public static final int	kNoScaleLongFixed	0
public static final int	kNoteAllocatorComponentType	1852798049
public static final int	kNoteEventDurationFieldPos	0
public static final int	kNoteEventDurationFieldWidth	11
public static final int	kNoteEventDurationMax	2047
public static final int	kNoteEventLen	1
public static final int	kNoteEventPitchFieldPos	18
public static final int	kNoteEventPitchFieldWidth	6
public static final int	kNoteEventPitchOffset	32
public static final int	kNoteEventType	1
public static final int	kNoteEventVolumeFieldPos	11
public static final int	kNoteEventVolumeFieldWidth	7
public static final int	kNoteEventVolumeOffset	0
public static final int	kNoteRequestNoGM	1
public static final int	kNoteRequestNoSynthType	2
public static final int	kNoteRequestSynthMustMatch	4
public static final int	kOMSComponentSubType	1330467616
public static final int	kOnlyDrawToSpriteWorld	1
public static final int	kOpenDMLJPEGCodecType	1684890161
public static final int	kOperandAtomType	1869640302
public static final int	kOperandConstant	2
public static final int	kOperandExpression	1
public static final int	kOperandKeyIsDown	5122
public static final int	kOperandMouseLocalHLoc	5120
public static final int	kOperandMouseLocalVLoc	5121
public static final int	kOperandMovieIsLooping	1026
public static final int	kOperandMovieLoopIsPalindrome	1027
public static final int	kOperandMovieRate	1025
public static final int	kOperandMovieTime	1028
public static final int	kOperandMovieVolume	1024
public static final int	kOperandQTVRFieldOfView	4098
public static final int	kOperandQTVRNodeID	4099
public static final int	kOperandQTVRPanAngle	4096
public static final int	kOperandQTVRTiltAngle	4097
public static final int	kOperandRandom	5123
public static final int	kOperandSpriteBoundsBottom	3075
public static final int	kOperandSpriteBoundsLeft	3072
public static final int	kOperandSpriteBoundsRight	3074
public static final int	kOperandSpriteBoundsTop	3073
public static final int	kOperandSpriteFirstCornerX	3084
public static final int	kOperandSpriteFirstCornerY	3085
public static final int	kOperandSpriteFourthCornerX	3090
public static final int	kOperandSpriteFourthCornerY	3091
public static final int	kOperandSpriteID	3082
public static final int	kOperandSpriteImageIndex	3076
public static final int	kOperandSpriteImageRegistrationPointX	3092
public static final int	kOperandSpriteImageRegistrationPointY	3093
public static final int	kOperandSpriteIndex	3083
public static final int	kOperandSpriteLayer	3078
public static final int	kOperandSpriteSecondCornerX	3086
public static final int	kOperandSpriteSecondCornerY	3087
public static final int	kOperandSpriteThirdCornerX	3088
public static final int	kOperandSpriteThirdCornerY	3089
public static final int	kOperandSpriteTrackNumImages	3081
public static final int	kOperandSpriteTrackNumSprites	3080
public static final int	kOperandSpriteTrackVariable	3079
public static final int	kOperandSpriteVisible	3077
public static final int	kOperandTrackBalance	2049
public static final int	kOperandTrackEnabled	2050
public static final int	kOperandTrackHeight	2053
public static final int	kOperandTrackLayer	2051
public static final int	kOperandTrackVolume	2048
public static final int	kOperandTrackWidth	2052
public static final int	kOperatorAbsoluteValue	1633841952
public static final int	kOperatorAdd	1633969184
public static final int	kOperatorAnd	1634624544
public static final int	kOperatorAtomType	1869636978
public static final int	kOperatorDivide	1684633120
public static final int	kOperatorEqualTo	1025515552
public static final int	kOperatorGreaterThan	1042292768
public static final int	kOperatorGreaterThanEqualTo	1044193312
public static final int	kOperatorIntegerDivide	1768188278
public static final int	kOperatorLessThan	1008738336
public static final int	kOperatorLessThanEqualTo	1010638880
public static final int	kOperatorModulo	1836016672
public static final int	kOperatorMultiply	1836412020
public static final int	kOperatorNegate	1852139296
public static final int	kOperatorNot	1852797984
public static final int	kOperatorNotEqualTo	557654048
public static final int	kOperatorOr	1869750304
public static final int	kOperatorSubtract	1937072672
public static final int	kParameterAlternateCodecID	1
public static final int	kParameterAlternateCodecName	1937072755
public static final int	kParameterAlternateDataType	1634497585
public static final int	kParameterAtomTypeAndID	1954115685
public static final int	kParameterDataBehavior	1684632684
public static final int	kParameterDataDefaultItem	1684434036
public static final int	kParameterDataRange	1918987879
public static final int	kParameterDataType	1684108385
public static final int	kParameterDataUsage	1970496800
public static final int	kParameterDependencyID	1
public static final int	kParameterDependencyName	1684366704
public static final int	kParameterEnumList	1701737837
public static final int	kParameterImageNoFlags	0
public static final int	kParameterInfoCopyright	-1453100935
public static final int	kParameterInfoDescription	-1452708250
public static final int	kParameterInfoIDs	1
public static final int	kParameterInfoLongName	-1452383891
public static final int	kParameterInfoManufacturer	-1452449426
public static final int	kParameterInfoPicture	-1452250760
public static final int	kParameterInfoWindowTitle	-1451790732
public static final int	kParameterItemCheckBox	1667786104
public static final int	kParameterItemColorPicker	1885954923
public static final int	kParameterItemControl	1668183148
public static final int	kParameterItemDragImage	1768776039
public static final int	kParameterItemEditDouble	1685026146
public static final int	kParameterItemEditFixed	1718188132
public static final int	kParameterItemEditLong	1819242087
public static final int	kParameterItemEditText	1701079412
public static final int	kParameterItemGroupDivider	1684633193
public static final int	kParameterItemLine	1818848869
public static final int	kParameterItemPopUp	1886351477
public static final int	kParameterItemRadioCluster	1918985321
public static final int	kParameterItemStaticText	1937006964
public static final int	kParameterListDependsUponColorProfiles	1886547814
public static final int	kParameterListDependsUponFonts	1718578804
public static final int	kParameterRepeatableFalse	0
public static final int	kParameterRepeatableID	1
public static final int	kParameterRepeatableName	1885697125
public static final int	kParameterRepeatableTrue	1
public static final int	kParameterSourceCountID	1
public static final int	kParameterSourceCountName	1936876403
public static final int	kParameterTitleID	1
public static final int	kParameterTitleName	1851878757
public static final int	kParameterTypeDataBitField	1651470188
public static final int	kParameterTypeDataColorValue	1668115570
public static final int	kParameterTypeDataCubic	1668637289
public static final int	kParameterTypeDataDouble	11
public static final int	kParameterTypeDataEnum	1701737837
public static final int	kParameterTypeDataFixed	3
public static final int	kParameterTypeDataImage	1768776039
public static final int	kParameterTypeDataLong	2
public static final int	kParameterTypeDataNURB	1853190754
public static final int	kParameterTypeDataRGBValue	8
public static final int	kParameterTypeDataText	1952807028
public static final int	kParameterUsage3by3Matrix	862091571
public static final int	kParameterUsage3DPoint	2021227040
public static final int	kParameterUsageDegrees	1684367218
public static final int	kParameterUsageMicroseconds	-1250728605
public static final int	kParameterUsageMilliseconds	1836279139
public static final int	kParameterUsagePercent	1885564532
public static final int	kParameterUsagePixels	1885960300
public static final int	kParameterUsagePoint	2021204000
public static final int	kParameterUsageRadians	1918985331
public static final int	kParameterUsageRectangle	1919247220
public static final int	kParameterUsageSeconds	1936024435
public static final int	kParameterValidationFinalValidation	1
public static final int	kParameterValidationNoFlags	0
public static final int	kParameterVersionID	1
public static final int	kParameterVersionName	1986359923
public static final int	kParameterWhatID	1
public static final int	kParameterWhatName	2003329396
public static final int	kParentAtomIsContainer	0
public static final int	kPhotoCDCodecType	1802527588
public static final int	kPhotoshop	943868237
public static final int	kPickDontMix	1
public static final int	kPickEditAllowEdit	8
public static final int	kPickEditAllowPick	16
public static final int	kPickEditControllers	64
public static final int	kPickEditSynthGlobal	32
public static final int	kPickSameSynth	2
public static final int	kPickUserInsts	4
public static final int	kPictureCompressor	1886419049
public static final int	kPlanarRGBCodecType	943870035
public static final int	kPopupStoreAsString	65536
public static final int	kPushTransitionType	1886745448
public static final int	kQTColorSyncProfile	1768121197
public static final int	kQTDontRecompress	1684960370
public static final int	kQTEventFrameLoaded	1718772077
public static final int	kQTEventIdle	1768189029
public static final int	kQTEventMouseClick	1668049259
public static final int	kQTEventMouseClickEnd	1667591780
public static final int	kQTEventMouseClickEndTriggerButton	1953655143
public static final int	kQTEventMouseEnter	1701737586
public static final int	kQTEventMouseExit	1702390132
public static final int	kQTEventRequestToModifyMovie	1919250797
public static final int	kQTEventType	1702260340
public static final int	kQTFileType3DMF	860114246
public static final int	kQTFileTypeAIFC	1095321155
public static final int	kQTFileTypeAIFF	1095321158
public static final int	kQTFileTypeAudioCDTrack	1953653099
public static final int	kQTFileTypeAVI	1449547552
public static final int	kQTFileTypeBMP	1112363110
public static final int	kQTFileTypeDVC	1685480225
public static final int	kQTFileTypeGIF	1195984486
public static final int	kQTFileTypeJFIF	1246774599
public static final int	kQTFileTypeJPEG	1246774599
public static final int	kQTFileTypeMacPaint	1347310663
public static final int	kQTFileTypeMIDI	1298752617
public static final int	kQTFileTypeMovie	1299148630
public static final int	kQTFileTypeMuLaw	1431060823
public static final int	kQTFileTypePhotoShop	943870035
public static final int	kQTFileTypePICS	1346978643
public static final int	kQTFileTypePicture	1346978644
public static final int	kQTFileTypeQuickDrawGXPicture	1902405496
public static final int	kQTFileTypeQuickTimeImage	1903454566
public static final int	kQTFileTypeSGIImage	777209673
public static final int	kQTFileTypeSoundDesignerII	1399075430
public static final int	kQTFileTypeSystemSevenSound	1936091500
public static final int	kQTFileTypeTargaImage	1414547779
public static final int	kQTFileTypeText	1413830740
public static final int	kQTFileTypeWave	1463899717
public static final int	kQTInterlaceStyle	6909027
public static final int	kQTMIDIComponentType	1835623529
public static final int	kQTMSKnobEnv1AttackTimeID	33554471
public static final int	kQTMSKnobEnv1DecayTimeID	33554472
public static final int	kQTMSKnobEnv1ExpOptionsID	33554477
public static final int	kQTMSKnobEnv1ReleaseTimeID	33554476
public static final int	kQTMSKnobEnv1SustainInfiniteID	33554475
public static final int	kQTMSKnobEnv1SustainLevelID	33554473
public static final int	kQTMSKnobEnv1SustainTimeID	33554474
public static final int	kQTMSKnobEnv2AttackTimeID	33554478
public static final int	kQTMSKnobEnv2DecayTimeID	33554479
public static final int	kQTMSKnobEnv2ExpOptionsID	33554484
public static final int	kQTMSKnobEnv2ReleaseTimeID	33554483
public static final int	kQTMSKnobEnv2SustainInfiniteID	33554482
public static final int	kQTMSKnobEnv2SustainLevelID	33554480
public static final int	kQTMSKnobEnv2SustainTimeID	33554481
public static final int	kQTMSKnobExclusionGroupID	33554460
public static final int	kQTMSKnobFilterFrequencyEnvelopeDepthID	33554491
public static final int	kQTMSKnobFilterFrequencyEnvelopeID	33554490
public static final int	kQTMSKnobFilterKeyFollowID	33554487
public static final int	kQTMSKnobFilterQEnvelopeDepthID	33554493
public static final int	kQTMSKnobFilterQEnvelopeID	33554492
public static final int	kQTMSKnobFilterQID	33554489
public static final int	kQTMSKnobFilterTransposeID	33554488
public static final int	kQTMSKnobLastIDPlus1	33554496
public static final int	kQTMSKnobPitchEnvelopeDepthID	33554486
public static final int	kQTMSKnobPitchEnvelopeID	33554485
public static final int	kQTMSKnobPitchLFODelayID	33554451
public static final int	kQTMSKnobPitchLFODepthFromWheelID	33554469
public static final int	kQTMSKnobPitchLFODepthID	33554455
public static final int	kQTMSKnobPitchLFOOffsetID	33554459
public static final int	kQTMSKnobPitchLFOPeriodID	33554453
public static final int	kQTMSKnobPitchLFOQuantizeID	33554456
public static final int	kQTMSKnobPitchLFORampTimeID	33554452
public static final int	kQTMSKnobPitchLFOShapeID	33554454
public static final int	kQTMSKnobPitchSensitivityID	33554467
public static final int	kQTMSKnobPitchTransposeID	33554450
public static final int	kQTMSKnobReverbThresholdID	33554494
public static final int	kQTMSKnobStartID	33554432
public static final int	kQTMSKnobStereoDefaultPanID	33554457
public static final int	kQTMSKnobStereoPositionKeyScalingID	33554458
public static final int	kQTMSKnobSustainInfiniteID	33554462
public static final int	kQTMSKnobSustainTimeID	33554461
public static final int	kQTMSKnobVelocityHighID	33554465
public static final int	kQTMSKnobVelocityLowID	33554464
public static final int	kQTMSKnobVelocitySensitivityID	33554466
public static final int	kQTMSKnobVolumeAttackTimeID	33554433
public static final int	kQTMSKnobVolumeAttackVelScalingID	33554495
public static final int	kQTMSKnobVolumeDecayKeyScalingID	33554437
public static final int	kQTMSKnobVolumeDecayTimeID	33554434
public static final int	kQTMSKnobVolumeExpOptionsID	33554470
public static final int	kQTMSKnobVolumeLFODelayID	33554439
public static final int	kQTMSKnobVolumeLFODepthFromWheelID	33554468
public static final int	kQTMSKnobVolumeLFODepthID	33554443
public static final int	kQTMSKnobVolumeLFOPeriodID	33554441
public static final int	kQTMSKnobVolumeLFORampTimeID	33554440
public static final int	kQTMSKnobVolumeLFOShapeID	33554442
public static final int	kQTMSKnobVolumeLFOStereoID	33554463
public static final int	kQTMSKnobVolumeOverallID	33554444
public static final int	kQTMSKnobVolumeRelease1RateID	33554436
public static final int	kQTMSKnobVolumeReleaseTimeID	33554438
public static final int	kQTMSKnobVolumeSustainLevelID	33554435
public static final int	kQTMSKnobVolumeVelocity127ID	33554445
public static final int	kQTMSKnobVolumeVelocity16ID	33554449
public static final int	kQTMSKnobVolumeVelocity32ID	33554448
public static final int	kQTMSKnobVolumeVelocity64ID	33554447
public static final int	kQTMSKnobVolumeVelocity96ID	33554446
public static final int	kQTPNGFilterAdaptivePerRow	1634102388
public static final int	kQTPNGFilterAverage	3
public static final int	kQTPNGFilterBestForColorType	1650879604
public static final int	kQTPNGFilterNone	0
public static final int	kQTPNGFilterPaeth	4
public static final int	kQTPNGFilterPreference	1835952486
public static final int	kQTPNGFilterSub	1
public static final int	kQTPNGFilterUp	2
public static final int	kQTPNGInterlaceAdam7	1
public static final int	kQTPNGInterlaceNone	0
public static final int	kQTPNGInterlaceStyle	6909027
public static final int	kQTResolutionSettings	1919251311
public static final int	kQTSettingsAudioCDTrack	1953653099
public static final int	kQTSettingsAudioCDTrackRateShift	1920165990
public static final int	kQTSettingsEffect	1701209701
public static final int	kQTSettingsMIDI	1296647241
public static final int	kQTSettingsMIDISettingFlags	1937011815
public static final int	kQTSettingsSound	1936684398
public static final int	kQTSettingsText	1952807028
public static final int	kQTSettingsTextDescription	1684370275
public static final int	kQTSettingsTextSettingFlags	1937011815
public static final int	kQTSettingsTextSize	1936292453
public static final int	kQTSettingsTextTimeFraction	1953066342
public static final int	kQTSettingsTime	1953066341
public static final int	kQTSettingsVideo	1986618469
public static final int	kQTTargetDataSize	1684108154
public static final int	kQTTIFFCompression_None	1
public static final int	kQTTIFFCompressionMethod	1953064547
public static final int	kQTTIFFLittleEndian	1953064549
public static final int	kQTVideoOutputDontDisplayToUser	1
public static final int	kQTVODecompressorComponent	1668116596
public static final int	kQTVODecompressorContinuous	1668247156
public static final int	kQTVODecompressors	1684366191
public static final int	kQTVODecompressorType	1684370553
public static final int	kQTVODimensions	1684630894
public static final int	kQTVODisplayModeItem	1902407017
public static final int	kQTVOName	1851878757
public static final int	kQTVOPixelType	1885960300
public static final int	kQTVORefreshRate	1919247986
public static final int	kQTVOResolution	1919251308
public static final int	kQuickDrawCodecType	1902408311
public static final int	kQuickDrawGXCodecType	1902405496
public static final int	kRadialTransitionType	1936551987
public static final int	kRandomWipeTransitionType	409
public static final int	kRawCodecType	1918990112
public static final int	kRestEventDurationFieldPos	0
public static final int	kRestEventDurationFieldWidth	24
public static final int	kRestEventDurationMax	16777215
public static final int	kRestEventLen	1
public static final int	kRestEventType	0
public static final int	kRGBColorBalanceImageFilterType	1919378018
public static final int	kScaleSpritesToScaleWorld	2
public static final int	kScreenFloodMethodAlpha	2
public static final int	kScreenFloodMethodKeyColor	1
public static final int	kScreenFloodMethodNone	0
public static final int	kSetAtomicInstCallerGuarantees	8
public static final int	kSetAtomicInstCallerTosses	4
public static final int	kSetAtomicInstDontPreprocess	128
public static final int	kSetAtomicInstInterruptSafe	16
public static final int	kSetAtomicInstKeepOriginalInstrument	1
public static final int	kSetAtomicInstShareAcrossParts	2
public static final int	kSGICodecType	777209673
public static final int	kSharpenImageFilterType	1936224880
public static final int	kSlideTransitionType	1936484708
public static final int	kSoftSynthComponentSubType	1936924704
public static final int	kSolarizeImageFilterType	1936682098
public static final int	kSorensonCodecType	1398165809
public static final int	kSpriteAtomType	1936749172
public static final int	kSpriteImageAtomType	1768776039
public static final int	kSpriteImageDataAtomType	1768776801
public static final int	kSpriteImageGroupIDAtomType	1768777586
public static final int	kSpriteImageNameAtomType	1851878757
public static final int	kSpriteImagePropertyGroupID	1001
public static final int	kSpriteImagePropertyRegistrationPoint	1000
public static final int	kSpriteImageRegistrationAtomType	1768780391
public static final int	kSpriteImagesContainerAtomType	1768776564
public static final int	kSpriteNameAtomType	1851878757
public static final int	kSpritePropertyGraphicsMode	6
public static final int	kSpritePropertyImageDataPtr	3
public static final int	kSpritePropertyImageDataSize	7
public static final int	kSpritePropertyImageDescription	2
public static final int	kSpritePropertyImageIndex	100
public static final int	kSpritePropertyLayer	5
public static final int	kSpritePropertyMatrix	1
public static final int	kSpritePropertyVisible	4
public static final int	kSpriteSharedDataAtomType	1684434036
public static final int	kSpriteTrackPropertyBackgroundColor	101
public static final int	kSpriteTrackPropertyHasActions	105
public static final int	kSpriteTrackPropertyOffscreenBitDepth	102
public static final int	kSpriteTrackPropertyQTIdleEventsFrequency	107
public static final int	kSpriteTrackPropertySampleFormat	103
public static final int	kSpriteTrackPropertyScaleSpritesToScaleWorld	104
public static final int	kSpriteTrackPropertyVisible	106
public static final int	kSpriteUsesImageIDsAtomType	1970496883
public static final int	kSpriteWorldDidDraw	1
public static final int	kSpriteWorldDontAutoInvalidate	8
public static final int	kSpriteWorldHighQuality	4
public static final int	kSpriteWorldInvisible	16
public static final int	kSpriteWorldNeedsToDraw	2
public static final int	kSpriteWorldPreflight	2
public static final int	kSynthesizerConnectionFMS	16
public static final int	kSynthesizerConnectionMMgr	2
public static final int	kSynthesizerConnectionMono	1
public static final int	kSynthesizerConnectionOMS	4
public static final int	kSynthesizerConnectionQT	8
public static final int	kSynthesizerConnectionUnavailable	256
public static final int	kSynthesizerDLS	32768
public static final int	kSynthesizerDynamicChannel	128
public static final int	kSynthesizerDynamicVoice	1
public static final int	kSynthesizerGM	16384
public static final int	kSynthesizerHardware	64
public static final int	kSynthesizerHasSamples	8
public static final int	kSynthesizerHasSystemChannel	512
public static final int	kSynthesizerHogsSystemChannel	256
public static final int	kSynthesizerMicrotone	4
public static final int	kSynthesizerMixedDrums	16
public static final int	kSynthesizerOffline	4096
public static final int	kSynthesizerSlowSetPart	1024
public static final int	kSynthesizerSoftware	32
public static final int	kSynthesizerSoundLocalization	65536
public static final int	kSynthesizerUsesMIDIPort	2
public static final int	kTargaCodecType	1952932128
public static final int	kTargetMovie	1836019574
public static final int	kTargetSpriteID	1936746852
public static final int	kTargetSpriteIndex	1936746862
public static final int	kTargetSpriteName	1936748129
public static final int	kTargetTrackID	1953655140
public static final int	kTargetTrackIndex	1953655150
public static final int	kTargetTrackName	1953656417
public static final int	kTargetTrackType	1953657977
public static final int	kTeachText	1953785204
public static final int	kTrackModifierCameraData	9
public static final int	kTrackModifierInput	26990
public static final int	kTrackModifierInputName	1851878757
public static final int	kTrackModifierObjectGraphicsMode	7
public static final int	kTrackModifierObjectID	1868720484
public static final int	kTrackModifierObjectImageIndex	11
public static final int	kTrackModifierObjectLayer	12
public static final int	kTrackModifierObjectMatrix	6
public static final int	kTrackModifierObjectQTEventSend	1702260340
public static final int	kTrackModifierObjectVisible	13
public static final int	kTrackModifierPanAngle	1885433376
public static final int	kTrackModifierReference	1936945763
public static final int	kTrackModifierSoundLocalizationData	10
public static final int	kTrackModifierTiltAngle	1953066100
public static final int	kTrackModifierType	29817
public static final int	kTrackModifierType3d4x4Matrix	8
public static final int	kTrackModifierTypeBalance	4
public static final int	kTrackModifierTypeClip	2
public static final int	kTrackModifierTypeGraphicsMode	5
public static final int	kTrackModifierTypeImage	1986618469
public static final int	kTrackModifierTypeMatrix	1
public static final int	kTrackModifierTypeVolume	3
public static final int	kTrackModifierVerticalFieldOfViewAngle	1718580768
public static final int	kTrackReferenceChapterList	1667785072
public static final int	kTrackReferenceModifier	1936945763
public static final int	kTrackReferenceTimeCode	1953325924
public static final int	kTuneDontClipNotes	2
public static final int	kTuneExcludeEdgeNotes	4
public static final int	kTuneLoopUntil	16
public static final int	kTuneMixMute	1
public static final int	kTuneMixSolo	2
public static final int	kTunePlayConcurrent	64
public static final int	kTunePlayDifference	32
public static final int	kTunePlayerComponentType	1953853029
public static final int	kTuneQuickStart	8
public static final int	kTuneStartNewMaster	16384
public static final int	kTuneStartNow	1
public static final int	kTuneStopFade	1
public static final int	kTuneStopInstant	4
public static final int	kTuneStopReleaseChannels	8
public static final int	kTuneStopSustain	2
public static final int	kTween3dInitialCondition	1768124004
public static final int	kTweenData	1684108385
public static final int	kTweenDuration	1953981557
public static final int	kTweenEntry	1953981806
public static final int	kTweenFlags	1718378855
public static final int	kTweenInterpolateStyle	1769174137
public static final int	kTweenInterpolationID	1768846450
public static final int	kTweenOutputMax	1869439352
public static final int	kTweenOutputMin	1869441390
public static final int	kTweenPictureData	1346978644
public static final int	kTweenRegionData	1902408295
public static final int	kTweenReturnDelta	1
public static final int	kTweenSequenceElement	1936028005
public static final int	kTweenStartOffset	1953985396
public static final int	kTweenType	1953984116
public static final int	kTweenType3dCameraData	862151021
public static final int	kTweenType3dMatrix	862806388
public static final int	kTweenType3dMatrixNonLinear	862874738
public static final int	kTweenType3dQuaternion	863073633
public static final int	kTweenType3dRotate	863137652
public static final int	kTweenType3dRotateAboutAxis	863134072
public static final int	kTweenType3dRotateAboutPoint	863134064
public static final int	kTweenType3dRotateAboutVector	863139427
public static final int	kTweenType3dScale	863200097
public static final int	kTweenType3dSoundLocalizationData	863202403
public static final int	kTweenType3dTranslate	863269473
public static final int	kTweenType3dVRObject	863400559
public static final int	kTweenTypeAtomList	1635020653
public static final int	kTweenTypeFixed	3
public static final int	kTweenTypeFixedPoint	12
public static final int	kTweenTypeFloat	3
public static final int	kTweenTypeGraphicsModeWithRGBColor	9
public static final int	kTweenTypeLong	2
public static final int	kTweenTypeMatrix	7
public static final int	kTweenTypeMultiMatrix	1836412013
public static final int	kTweenTypePathToFixedPoint	1735943792
public static final int	kTweenTypePathToMatrixRotation	1735946354
public static final int	kTweenTypePathToMatrixTranslation	1735945588
public static final int	kTweenTypePathToMatrixTranslationAndRotation	1735945586
public static final int	kTweenTypePathXtoY	1735948409
public static final int	kTweenTypePathYtoX	1735948664
public static final int	kTweenTypePoint	4
public static final int	kTweenTypePolygon	1886350457
public static final int	kTweenTypeQDRect	5
public static final int	kTweenTypeQDRegion	6
public static final int	kTweenTypeQTFloatDouble	11
public static final int	kTweenTypeQTFloatSingle	10
public static final int	kTweenTypeRGBColor	8
public static final int	kTweenTypeShort	1
public static final int	kTweenTypeSpin	1936746862
public static final int	kUndefined1EventType	8
public static final int	kUndefined2EventType	12
public static final int	kUndefined3EventType	13
public static final int	kUndefined4EventType	14
public static final int	kUnknownKnobValue	2147483647
public static final int	kUserDataMovieControllerType	1668577648
public static final int	kUserDataName	1851878757
public static final int	kUserDataTextCopyright	-1453100935
public static final int	kUserDataTextFullName	-1452383891
public static final int	kUserDataTextInformation	-1452708250
public static final int	kVDIGControlledFrameRate	-1
public static final int	kVectorCodecType	1885434984
public static final int	kVendorApple	1634758764
public static final int	kVersionCheckMask	1
public static final int	kVersionCheckMin	0
public static final int	kVideoCodecType	1919973985
public static final int	kVis3	1449751347
public static final int	kVoiceCountDynamic	-1
public static final int	kWaterRippleCodecType	1919512684
public static final int	kWhichAction	2003331427
public static final int	kWindowsRawCodecType	1465008471
public static final int	kWipeTransitionType	1936552052
public static final int	kXControlEventControllerFieldPos	0
public static final int	kXControlEventControllerFieldWidth	16
public static final int	kXControlEventLen	2
public static final int	kXControlEventType	10
public static final int	kXControlEventValueFieldPos	0
public static final int	kXControlEventValueFieldWidth	16
public static final int	kXEventLen	2
public static final int	kXEventLengthBits	2
public static final int	kXEventPartFieldPos	16
public static final int	kXEventPartFieldWidth	12
public static final int	kXEventTypeFieldPos	28
public static final int	kXEventTypeFieldWidth	4
public static final int	kXNoteEventDurationFieldPos	0
public static final int	kXNoteEventDurationFieldWidth	22
public static final int	kXNoteEventDurationMax	4194303
public static final int	kXNoteEventLen	2
public static final int	kXNoteEventPitchFieldPos	0
public static final int	kXNoteEventPitchFieldWidth	16
public static final int	kXNoteEventType	9
public static final int	kXNoteEventVolumeFieldPos	22
public static final int	kXNoteEventVolumeFieldWidth	7
public static final int	linearMatrixType	4
public static final int	linearTranslateMatrixType	5
public static final int	loadBackwardTrackEdits	16
public static final int	loadForwardTrackEdits	8
public static final int	loadSettingsAID	1819238756
public static final int	loopTimeBase	1
public static final int	maintainTimeBaseZero	4
public static final int	mAtEnd	16
public static final int	matrixFlagScale1x	64
public static final int	matrixFlagScale2x	128
public static final int	matrixFlagScaleHalf	32
public static final int	matteAID	1835103348
public static final int	matteCompAID	1802330484
public static final short	mcActionActivate	3
public static final short	mcActionAdjustCursor	65
public static final short	mcActionBadgeClick	44
public static final short	mcActionClickAndHoldPoint	67
public static final short	mcActionControllerSizeChanged	26
public static final short	mcActionCustomButtonClick	60
public static final short	mcActionDeactivate	4
public static final short	mcActionDraw	2
public static final short	mcActionEvaluateExpression	73
public static final short	mcActionExecuteAllActionsForQTEvent	63
public static final short	mcActionExecuteOneActionForQTEvent	64
public static final short	mcActionFetchParameterAs	74
public static final short	mcActionForceTimeTableUpdate	61
public static final short	mcActionGetChapterTime	71
public static final short	mcActionGetCursorByID	75
public static final short	mcActionGetCursorSettingEnabled	56
public static final short	mcActionGetDragEnabled	51
public static final short	mcActionGetExternalMovie	70
public static final short	mcActionGetFlags	39
public static final short	mcActionGetKeysEnabled	33
public static final short	mcActionGetLooping	22
public static final short	mcActionGetLoopIsPalindrome	24
public static final short	mcActionGetNextURL	76
public static final short	mcActionGetPlayEveryFrame	41
public static final short	mcActionGetPlayRate	42
public static final short	mcActionGetPlaySelection	35
public static final short	mcActionGetSelectionBegin	53
public static final short	mcActionGetSelectionDuration	54
public static final short	mcActionGetTimeSliderRect	49
public static final short	mcActionGetUseBadge	37
public static final short	mcActionGetVolume	15
public static final short	mcActionGoToTime	12
public static final short	mcActionIdle	1
public static final short	mcActionKey	6
public static final short	mcActionLinkToURL	59
public static final short	mcActionMouseDown	5
public static final short	mcActionMovieClick	45
public static final short	mcActionMovieEdited	50
public static final short	mcActionPerformActionList	72
public static final short	mcActionPlay	8
public static final short	mcActionPrerollAndPlay	55
public static final short	mcActionResume	47
public static final short	mcActionSetColorTable	58
public static final short	mcActionSetControllerKeysEnabled	48
public static final short	mcActionSetControllerTimeLimits	62
public static final short	mcActionSetCursorSettingEnabled	57
public static final short	mcActionSetDragEnabled	52
public static final short	mcActionSetFlags	38
public static final short	mcActionSetGrowBoxBounds	25
public static final short	mcActionSetKeysEnabled	32
public static final short	mcActionSetLooping	21
public static final short	mcActionSetLoopIsPalindrome	23
public static final short	mcActionSetPlayEveryFrame	40
public static final short	mcActionSetPlaySelection	34
public static final short	mcActionSetSelectionBegin	29
public static final short	mcActionSetSelectionDuration	30
public static final short	mcActionSetUseBadge	36
public static final short	mcActionSetVolume	14
public static final short	mcActionShowBalloon	43
public static final short	mcActionShowMessageString	68
public static final short	mcActionShowStatusString	69
public static final short	mcActionStep	18
public static final short	mcActionSuspend	46
public static final short	mcActionUseTrackForTimeTable	66
public static final int	mcFlagsDontInvalidate	16
public static final int	mcFlagSuppressMovieFrame	1
public static final int	mcFlagSuppressSpeakerButton	4
public static final int	mcFlagSuppressStepButtons	2
public static final int	mcFlagsUseCustomButton	32
public static final int	mcFlagsUseWindowPalette	8
public static final int	mcInfoClearAvailable	16
public static final int	mcInfoCopyAvailable	4
public static final int	mcInfoCutAvailable	2
public static final int	mcInfoEditingEnabled	512
public static final int	mcInfoHasSound	32
public static final int	mcInfoIsInPalindrome	256
public static final int	mcInfoIsLooping	128
public static final int	mcInfoIsPlaying	64
public static final int	mcInfoMovieIsInteractive	1024
public static final int	mcInfoPasteAvailable	8
public static final int	mcInfoUndoAvailable	1
public static final int	mcMenuClear	6
public static final int	mcMenuCopy	4
public static final int	mcMenuCut	3
public static final int	mcMenuPaste	5
public static final int	mcMenuUndo	1
public static final int	mcNotVisible	8
public static final int	mcPositionDontInvalidate	32
public static final int	mcScaleMovieToFit	2
public static final int	mcTopLeftMovie	1
public static final int	mcWithBadge	4
public static final int	mcWithFrame	16
public static final int	mDidDraw	1
public static final int	mDrawAgain	8
public static final int	mediaAID	1835297121
public static final int	mediaHandlerType	1835560050
public static final int	mediaHeaderAID	1835296868
public static final int	mediaInfoAID	1835626086
public static final int	mediaSampleNotSync	1
public static final int	mediaSampleShadowSync	2
public static final int	mHitTestBounds	1
public static final int	mHitTestImage	2
public static final int	mHitTestInvisible	4
public static final int	mHitTestIsClick	8
public static final int	mInvisible	2
public static final int	mMustDraw	8
public static final int	mNeedsToDraw	4
public static final int	mOpaque	1
public static final int	movieAID	1836019574
public static final int	movieBackwardPointerResourceType	1650549611
public static final int	movieBufferHintsAID	1835165288
public static final int	movieControllerComponentType	1886151033
public static final int	movieDataAtomType	1835295092
public static final int	movieDataRefAliasAID	1835299425
public static final int	movieDrawingCallAlways	1
public static final int	movieDrawingCallWhenChanged	0
public static final int	movieExportDuration	1685418593
public static final int	movieExportHeight	1751476084
public static final int	movieExportMustGetSourceMediaType	524288
public static final int	movieExportNeedsResourceFork	131072
public static final int	movieExportType	1936746868
public static final int	movieExportVideoFilter	1768320116
public static final int	movieExportWidth	2003072104
public static final int	movieFileSpecValid	8
public static final int	movieFileType	1299148630
public static final int	movieForwardPointerResourceType	1718579813
public static final int	movieHeaderAID	1836476516
public static final int	movieImportCreateTrack	1
public static final int	movieImportInParallel	2
public static final int	movieImportMustUseTrack	4
public static final int	movieImportResultUsedMultipleTracks	8
public static final int	movieImportSubTypeIsFileExtension	4096
public static final int	movieImportType	1700885536
public static final int	movieInDataForkResID	-1
public static final int	movieResourceAtomType	1836019574
public static final int	movieResourceType	1836019574
public static final int	movieScrapDontZeroScrap	1
public static final int	movieScrapOnlyPutMovie	2
public static final int	movieScrapType	1836019574
public static final int	movieToFileOnlyExport	4
public static final int	movieTrackCharacteristic	2
public static final int	movieTrackEnabledOnly	4
public static final int	movieTrackMediaType	1
public static final int	mPartialDraw	16
public static final int	MPEGMediaType	1297106247
public static final int	mPreflightDraw	32
public static final int	mSyncDrawing	64
public static final int	musicMediaType	1836413801
public static final int	newMovieActive	1
public static final int	newMovieDontAskUnresolvedDataRefs	4
public static final int	newMovieDontAutoAlternates	8
public static final int	newMovieDontResolveDataRefs	2
public static final int	newMovieDontUpdateForeBackPointers	16
public static final int	nextTimeEdgeOK	16384
public static final int	nextTimeIgnoreActiveSegment	32768
public static final int	nextTimeMediaEdit	2
public static final int	nextTimeMediaSample	1
public static final int	nextTimeStep	16
public static final int	nextTimeSyncSample	8
public static final int	nextTimeTrackEdit	4
public static final int	noDefaultOpcodes	4
public static final int	ntscIn	0
public static final int	ntscReallyIn	3
public static final int	oddField1ToEvenFieldOut	4
public static final int	oddField1ToOddFieldOut	8
public static final int	oddField2ToEvenFieldOut	64
public static final int	oddField2ToOddFieldOut	128
public static final int	palIn	1
public static final int	palindromeLoopTimeBase	2
public static final int	pasteInParallel	1
public static final int	pdActionActivateSubPanel	10
public static final int	pdActionConductStopAlert	11
public static final int	pdActionConfirmDialog	1
public static final int	pdActionGetDialogValues	4
public static final int	pdActionGetSubPanelMenu	9
public static final int	pdActionModelessCallback	12
public static final int	pdActionSetAppleMenu	2
public static final int	pdActionSetColorPickerEventProc	7
public static final int	pdActionSetDialogTitle	8
public static final int	pdActionSetEditMenu	3
public static final int	pdActionSetPreviewPicture	6
public static final int	pdActionSetPreviewUserItem	5
public static final int	pdOptionsAllowOptionalInterpolations	2
public static final int	pdOptionsCollectOneValue	1
public static final int	pdOptionsModalDialogBox	4
public static final int	perspectiveMatrixType	6
public static final int	pnotComponentNeedsNoCache	2
public static final int	pnotComponentWantsEvents	1
public static final int	preloadAlways	1
public static final int	preloadOnlyIfEnabled	2
public static final int	propertyAtomAID	1668244581
public static final int	qtcbNeedsRateChanges	1
public static final int	qtcbNeedsStartStopChanges	4
public static final int	qtcbNeedsTimeChanges	2
public static final int	qtVideoOutputComponentBaseSubType	1650553701
public static final int	qtVideoOutputComponentType	1987016052
public static final int	quickTimeImageFileImageDataAtom	1768186228
public static final int	quickTimeImageFileImageDescriptionAtom	1768190819
public static final int	quickTimeImageFileMetaDataAtom	1835365473
public static final int	referenceMovieComponentCheckAID	1919771492
public static final int	referenceMovieDataRateAID	1919771762
public static final int	referenceMovieDataRefAID	1919185510
public static final int	referenceMovieDescriptorAID	1919771745
public static final int	referenceMovieQualityAID	1919775093
public static final int	referenceMovieRecordAID	1919775329
public static final int	referenceMovieVersionCheckAID	1919776355
public static final int	reservedForUseByGraphicsImporters	8388608
public static final int	resourceDataHandlerSubType	1920168547
public static final int	rgbComponentIn	2
public static final int	rgbComponentSyncIn	3
public static final int	rgnClipAID	1668441966
public static final int	sampleTableAID	1937007212
public static final int	scaleMatrixType	2
public static final int	scaleTranslateMatrixType	3
public static final int	scAllowZeroFrameRate	4
public static final int	scAllowZeroKeyFrameRate	8
public static final int	scCancelItem	2
public static final int	scCodecFlagsType	1667656807
public static final int	scCodecManufacturerType	1668114034
public static final int	scCodecSettingsType	1667523939
public static final int	scColorTableType	1668052340
public static final int	scCompressFlagIgnoreIdenticalFrames	1
public static final int	scCompressImage	11
public static final int	scCompressionListType	1668577644
public static final int	scCompressPicture	12
public static final int	scCompressPictureFile	13
public static final int	scCompressSequenceBegin	15
public static final int	scCompressSequenceEnd	17
public static final int	scCompressSequenceFrame	16
public static final int	scCustomItem	3
public static final int	scDataRateSettingsType	1685217652
public static final int	scDefaultPictFileSettings	19
public static final int	scDefaultPictHandleSettings	18
public static final int	scDefaultPixMapSettings	20
public static final int	scDisableFrameRateItem	64
public static final int	scDontDetermineSettingsFromTestImage	4
public static final int	scExtendedProcsType	2020635235
public static final int	scForceKeyValueType	1802725741
public static final int	scGetBestDeviceRect	7
public static final int	scGetCompression	1
public static final int	scGetInfo	21
public static final int	scListEveryCodec	2
public static final int	scNewGWorld	23
public static final int	scOKItem	1
public static final int	scPositionDialog	3
public static final int	scPositionRect	2
public static final int	scPreferCropping	1
public static final int	scPreferenceFlagsType	1886545254
public static final int	scPreferScaling	2
public static final int	scPreferScalingAndCropping	3
public static final int	scProgressProcType	1886547815
public static final int	scRequestImageSettings	10
public static final int	scRequestSequenceSettings	14
public static final int	scSequenceIDType	1936028021
public static final int	scSetInfo	22
public static final int	scSetTestImagePictFile	5
public static final int	scSetTestImagePictHandle	4
public static final int	scSetTestImagePixMap	6
public static final int	scSettingsChangedItem	-1
public static final int	scSettingsStateType	1936946273
public static final int	scShowBestDepth	16
public static final int	scShowMotionSettings	1
public static final int	scSoundChannelCountType	1936941923
public static final int	scSoundCompressionType	1936941940
public static final int	scSoundSampleRateType	1936945780
public static final int	scSoundSampleSizeType	1936946035
public static final int	scSpatialSettingsType	1936749676
public static final int	scTemporalSettingsType	1953526380
public static final int	scTestImageHeight	80
public static final int	scTestImageWidth	80
public static final int	scUseMovableModal	32
public static final int	scUserCancelled	1
public static final int	scWindowPositionType	2003723383
public static final int	sdiIn	7
public static final int	searchTextDontGoToFoundTime	65536
public static final int	searchTextDontHiliteFoundText	131072
public static final int	searchTextEnabledTracksOnly	524288
public static final int	searchTextOneTrackOnly	262144
public static final int	secamIn	2
public static final int	seqGrabAppendToFile	8
public static final int	seqGrabChannelType	1936155496
public static final int	seqGrabComponentType	1650553447
public static final int	seqGrabCompressionPanelType	1668116594
public static final int	seqGrabDataProcDoesOverlappingReads	256
public static final int	seqGrabDataProcIsInterruptSafe	128
public static final int	seqGrabDontAddMovieResource	16
public static final int	seqGrabDontMakeMovie	32
public static final int	seqGrabDontUseTempMemory	4
public static final int	seqGrabHasBounds	1
public static final int	seqGrabHasDiscreteSamples	4
public static final int	seqGrabHasVolume	2
public static final int	seqGrabPanelType	1936158830
public static final int	seqGrabPause	1
public static final int	seqGrabPauseForMenu	3
public static final int	seqGrabPlayDuringRecord	4
public static final int	seqGrabPreExtendFile	64
public static final int	seqGrabPreview	2
public static final int	seqGrabRecord	1
public static final int	seqGrabSettingsPreviewOnly	1
public static final int	seqGrabSourcePanelType	1936684402
public static final int	seqGrabToDisk	1
public static final int	seqGrabToMemory	2
public static final int	seqGrabUnpause	0
public static final int	seqGrabWriteAppend	0
public static final int	seqGrabWriteFill	2
public static final int	seqGrabWriteReserve	1
public static final int	sfpItemCreatePreviewButton	14
public static final int	sfpItemPreviewAreaUser	11
public static final int	sfpItemPreviewDividerUser	13
public static final int	sfpItemPreviewStaticText	12
public static final int	sfpItemShowPreviewButton	15
public static final int	sgChannelAtom	1667785070
public static final int	sgChannelDescription	1667527523
public static final int	sgChannelSettings	1668506996
public static final int	sgChannelSettingsAtom	1668575085
public static final int	sgClipType	1668049264
public static final int	sgcSoundChannelCountType	1935894638
public static final int	sgcSoundCompressionType	1935895920
public static final int	sgcSoundGainType	1734437230
public static final int	sgcSoundInputType	1936289392
public static final int	sgcSoundSampleRateType	1936875892
public static final int	sgcSoundSampleSizeType	1936943482
public static final int	sgcVideoBlackLevelType	1651272556
public static final int	sgcVideoBrigtnessType	1651665268
public static final int	sgcVideoContrastType	1953657716
public static final int	sgcVideoDigitizerType	1986292071
public static final int	sgcVideoFilterType	1986423924
public static final int	sgcVideoFormatType	1987277924
public static final int	sgcVideoHueType	1752524064
public static final int	sgcVideoInputType	1986621040
public static final int	sgcVideoRectType	1987208052
public static final int	sgcVideoSaturationType	1935766642
public static final int	sgcVideoSharpnessType	1936224880
public static final int	sgcVideoWhiteLevelType	2003334252
public static final int	sgDeviceListDontCheckAvailability	2
public static final int	sgDeviceListWithIcons	1
public static final int	sgDeviceNameFlagDeviceUnavailable	1
public static final int	sgDeviceNameType	1851878757
public static final int	sgFlagControlledGrab	1
public static final int	sgMatrixType	1836348024
public static final int	sgPanelDescription	1885631331
public static final int	sgPanelFlagForPanel	1
public static final int	sgPanelSettings	1886610804
public static final int	sgPanelSettingsAtom	1886678893
public static final int	sgPlayFlagsType	1886157158
public static final int	sgUsageType	1970496800
public static final int	sgVolumeType	1987013749
public static final int	showFilePreviewComponentType	1886285684
public static final int	showUserSettingsDialog	2
public static final int	soundLocalizationAID	1936486243
public static final int	soundMediaInfoHeaderAID	1936549988
public static final int	soundMediaType	1936684398
public static final int	spriteHitTestBounds	1
public static final int	spriteHitTestImage	2
public static final int	spriteHitTestInvisibleSprites	4
public static final int	spriteHitTestIsClick	8
public static final int	spriteHitTestLocInDisplayCoordinates	16
public static final int	spriteMediaType	1936749172
public static final int	standardCompressionSubType	1768776039
public static final int	standardCompressionSubTypeSound	1936684398
public static final int	standardCompressionType	1935893609
public static final int	sTChunkOffset64AID	1668232756
public static final int	sTChunkOffsetAID	1937007471
public static final int	sTSampleDescAID	1937011556
public static final int	sTSampleIDAID	1937008996
public static final int	sTSampleSizeAID	1937011578
public static final int	sTSampleToChunkAID	1937011555
public static final int	sTShadowSyncAID	1937011560
public static final int	sTSyncSampleAID	1937011571
public static final int	sTTimeToSampAID	1937011827
public static final int	suppressDither	2
public static final int	sVideoIn	1
public static final int	systemMicrosecondClock	1835623282
public static final int	systemMillisecondClock	1835625580
public static final int	systemSecondClock	1936024431
public static final int	systemTickClock	1953063787
public static final int	tc24HourMax	2
public static final int	tcCounter	8
public static final int	tcdfShowTimeCode	1
public static final int	tcDropFrame	1
public static final int	tcNegTimesOK	4
public static final int	tcSourceRefNameType	1851878757
public static final int	tctNegFlag	128
public static final int	textMediaType	1952807028
public static final int	threeDeeMediaType	1902392164
public static final int	threeDMediaType	1902392164
public static final int	timeBaseAfterStopTime	2
public static final int	timeBaseBeforeStartTime	1
public static final int	timeCodeMediaType	1953325924
public static final int	trackAID	1953653099
public static final int	trackEnable	1
public static final int	trackHeaderAID	1953196132
public static final int	trackInMovie	2
public static final int	trackInPoster	8
public static final int	trackInPreview	4
public static final int	trackReferenceAID	1953654118
public static final int	trackUsageInMovie	2
public static final int	trackUsageInPoster	8
public static final int	trackUsageInPreview	4
public static final int	translateMatrixType	1
public static final int	triggerAtStart	1
public static final int	triggerAtStop	2
public static final int	triggerRateChange	0
public static final int	triggerRateEqual	16
public static final int	triggerRateGT	8
public static final int	triggerRateGTE	24
public static final int	triggerRateLT	4
public static final int	triggerRateLTE	20
public static final int	triggerRateNotEqual	28
public static final int	triggerTimeBwd	2
public static final int	triggerTimeEither	3
public static final int	triggerTimeFwd	1
public static final int	tvTunerIn	6
public static final int	tweenComponentType	1953981806
public static final int	tweenMediaType	1953981806
public static final int	unkeepInRam	2
public static final int	urlDataHandlerSubType	1970433056
public static final int	useColorMatching	4
public static final int	userDataAID	1969517665
public static final int	vdBroadcastMode	0
public static final int	vdDigitizerBW	0
public static final int	vdDigitizerRGB	1
public static final int	vdigInterfaceRev	2
public static final int	vdPlayThruOff	0
public static final int	vdPlayThruOn	1
public static final int	vdTypeAlpha	1
public static final int	vdTypeBasic	0
public static final int	vdTypeKey	3
public static final int	vdTypeMask	2
public static final int	vdUseAnyField	0
public static final int	vdUseEvenField	2
public static final int	vdUseOddField	1
public static final int	vdVTRMode	1
public static final int	videoDigitizerComponentType	1986618471
public static final int	videoMediaInfoHeaderAID	1986881636
public static final int	videoMediaType	1986618469
public static final int	visualMediaCharacteristic	1702454643
public static final int	yuvComponentIn	4
public static final int	yuvComponentSyncIn	5
public static final int	zlibDataCompressorSubType	2053925218*/
enum {
seqGrabWriteAppend =	0,
};

/*Component Manager Request Codes

As with all components, your channel component receives its requests from the Component Manager in the form of request codes. Apple strongly recommends that you fully support all of the Component Manager’s request codes in your channel component, especially the target request. Developers will want to extend the capabilities of the sequence grabber channel components. The Component Manager’s CaptureComponent function, which uses the target request, is the most convenient mechanism for obtaining the services of a component and then extending those services. If your channel component does not support the target request, then it cannot be used by applications or other components in this manner. You can use the following constants to refer to the request codes for each of the functions that your channel component must support.    // basic sequence grabber channel component selectors //
    kSGSetGWorldSelect                      = 0x4;
    kSGStartPreviewSelect                   = 0x10;
    kSGStartRecordSelect                    = 0x11;
    kSGIdleSelect                           = 0x12;
    kSGStopSelect                           = 0x13;
    kSGPauseSelect                          = 0x14;
    kSGPrepareSelect                        = 0x15;
    kSGReleaseSelect                        = 0x16;
    kSGUpdateSelect                         = 0x27;
 
    // selectors for common channel configuration functions //
    kSGCSetChannelUsageSelect               = 0x80;
    kSGCGetChannelUsageSelect               = 0x81;
    kSGCSetChannelBoundsSelect              = 0x82;
    kSGCGetChannelBoundsSelect              = 0x83;
    kSGCSetChannelVolumeSelect              = 0x84;
    kSGCGetChannelVolumeSelect              = 0x85;
    kSGCGetChannelInfoSelect                = 0x86;
    kSGCSetChannelPlayFlagsSelect           = 0x87;
    kSGCGetChannelPlayFlagsSelect           = 0x88;
    kSGCSetChannelMaxFramesSelect           = 0x89;
    kSGCGetChannelMaxFramesSelect           = 0x8a;
    kSGCSetChannelRefConSelect              = 0x8b;
    kSGCSetChannelClipSelect                = 0x8C;
    kSGCGetChannelClipSelect                = 0x8D;
    kSGCGetChannelSampleDescriptionSelect   = 0x8E;
    kSGCGetChannelDeviceListSelect          = 0x8F;
    kSGCSetChannelDeviceSelect              = 0x90;
    kSGCSetChannelMatrixSelect              = 0x91;
    kSGCGetChannelMatrixSelect              = 0x92;
    kSGCGetChannelTimeScaleSelect           = 0x93;
 
    // selectors for video channel configuration functions //
    kSGCGetSrcVideoBoundsSelect             = 0x100;
    kSGCSetVideoRectSelect                  = 0x101;
    kSGCGetVideoRectSelect                  = 0x102;
    kSGCGetVideoCompressorTypeSelect        = 0x103;
    kSGCSetVideoCompressorTypeSelect        = 0x104;
    kSGCSetVideoCompressorSelect            = 0x105;
    kSGCGetVideoCompressorSelect            = 0x106;
    kSGCGetVideoDigitizerComponentSelect    = 0x107;
    kSGCSetVideoDigitizerComponentSelect    = 0x108;
    kSGCVideoDigitizerChangedSelect         = 0x109;
    kSGCSetVideoBottlenecksSelect           = 0x10a;
    kSGCGetVideoBottlenecksSelect           = 0x10b;
    kSGCGrabFrameSelect                     = 0x10c;
    kSGCGrabFrameCompleteSelect             = 0x10d;
    kSGCDisplayFrameSelect                  = 0x10e;
    kSGCCompressFrameSelect                 = 0x10f;
    kSGCCompressFrameCompleteSelect         = 0x110;
    kSGCAddFrameSelect                      = 0x111;
    kSGCTransferFrameForCompressSelect      = 0x112;
    kSGCSetCompressBufferSelect             = 0x113;
    kSGCGetCompressBufferSelect             = 0x114;
    kSGCGetBufferInfoSelect                 = 0x115;
    kSGCSetUseScreenBufferSelect            = 0x116;
    kSGCGetUseScreenBufferSelect            = 0x117;
    kSGCGrabCompressCompleteSelect          = 0x118;
    kSGCDisplayCompressSelect               = 0x119;
    kSGCSetFrameRateSelect                  = 0x11A;
    kSGCGetFrameRateSelect                  = 0x11B;
 
    // selectors for sound channel configuration functions //
    kSGCSetSoundInputDriverSelect           = 0x100;
    kSGCGetSoundInputDriverSelect           = 0x101;
    kSGCSoundInputDriverChangedSelect       = 0x102;
    kSGCSetSoundRecordChunkSizeSelect       = 0x103;
    kSGCGetSoundRecordChunkSizeSelect       = 0x104;
    kSGCSetSoundInputRateSelect             = 0x105;
    kSGCGetSoundInputRateSelect             = 0x106;
    kSGCSetSoundInputParametersSelect       = 0x107;
    kSGCGetSoundInputParametersSelect       = 0x108;
 
    // selectors for channel control functions //
    kSGCInitChannelSelect                   = 0x180;
    kSGCWriteSamplesSelect                  = 0x181;
    kSGCGetDataRateSelect                   = 0x182;
    kSGCAlignChannelRectSelect              = 0x183;
};*/

enum {
//    kSGSetGWorldSelect                      = 0x4,
//    kSGStartPreviewSelect                   = 0x10,
//    kSGStartRecordSelect                    = 0x11,
//    kSGIdleSelect                           = 0x12,
//    kSGStopSelect                           = 0x13,
//    kSGPauseSelect                          = 0x14,
//    kSGPrepareSelect                        = 0x15,
//    kSGReleaseSelect                        = 0x16,
//    kSGUpdateSelect                         = 0x27,
 
    /* selectors for common channel configuration functions */
//    kSGCSetChannelUsageSelect               = 0x80,
//    kSGCGetChannelUsageSelect               = 0x81,
//    kSGCSetChannelBoundsSelect              = 0x82,
//    kSGCGetChannelBoundsSelect              = 0x83,
//    kSGCSetChannelVolumeSelect              = 0x84,
//    kSGCGetChannelVolumeSelect              = 0x85,
//    kSGCGetChannelInfoSelect                = 0x86,
//    kSGCSetChannelPlayFlagsSelect           = 0x87,
//    kSGCGetChannelPlayFlagsSelect           = 0x88,
//    kSGCSetChannelMaxFramesSelect           = 0x89,
//    kSGCGetChannelMaxFramesSelect           = 0x8a,
//    kSGCSetChannelRefConSelect              = 0x8b,
//    kSGCSetChannelClipSelect                = 0x8C,
//    kSGCGetChannelClipSelect                = 0x8D,
//    kSGCGetChannelSampleDescriptionSelect   = 0x8E,
//    kSGCGetChannelDeviceListSelect          = 0x8F,
//    kSGCSetChannelDeviceSelect              = 0x90,
//    kSGCSetChannelMatrixSelect              = 0x91,
//    kSGCGetChannelMatrixSelect              = 0x92,
//    kSGCGetChannelTimeScaleSelect           = 0x93,
 
    /* selectors for video channel configuration functions */
//    kSGCGetSrcVideoBoundsSelect             = 0x100,
//    kSGCSetVideoRectSelect                  = 0x101,
//    kSGCGetVideoRectSelect                  = 0x102,
//    kSGCGetVideoCompressorTypeSelect        = 0x103,
//    kSGCSetVideoCompressorTypeSelect        = 0x104,
//    kSGCSetVideoCompressorSelect            = 0x105,
//    kSGCGetVideoCompressorSelect            = 0x106,
//    kSGCGetVideoDigitizerComponentSelect    = 0x107,
//    kSGCSetVideoDigitizerComponentSelect    = 0x108,
//    kSGCVideoDigitizerChangedSelect         = 0x109,
//    kSGCSetVideoBottlenecksSelect           = 0x10a,
    //kSGCGetVideoBottlenecksSelect           = 0x10b,
//    kSGCGrabFrameSelect                     = 0x10c,
//    kSGCGrabFrameCompleteSelect             = 0x10d,
//    kSGCDisplayFrameSelect                  = 0x10e,
//    kSGCCompressFrameSelect                 = 0x10f,
//    kSGCCompressFrameCompleteSelect         = 0x110,
//    kSGCAddFrameSelect                      = 0x111,
//    kSGCTransferFrameForCompressSelect      = 0x112,
//    kSGCSetCompressBufferSelect             = 0x113,
//    kSGCGetCompressBufferSelect             = 0x114,
//    kSGCGetBufferInfoSelect                 = 0x115,
//    kSGCSetUseScreenBufferSelect            = 0x116,
//    kSGCGetUseScreenBufferSelect            = 0x117,
//    kSGCGrabCompressCompleteSelect          = 0x118,
//    kSGCDisplayCompressSelect               = 0x119,
//    kSGCSetFrameRateSelect                  = 0x11A,
//    kSGCGetFrameRateSelect                  = 0x11B,
 
    /* selectors for sound channel configuration functions */
//    kSGCSetSoundInputDriverSelect           = 0x100,
//    kSGCGetSoundInputDriverSelect           = 0x101,
//    kSGCSoundInputDriverChangedSelect       = 0x102,
//    kSGCSetSoundRecordChunkSizeSelect       = 0x103,
//    kSGCGetSoundRecordChunkSizeSelect       = 0x104,
//    kSGCSetSoundInputRateSelect             = 0x105,
//    kSGCGetSoundInputRateSelect             = 0x106,
//    kSGCSetSoundInputParametersSelect       = 0x107,
//    kSGCGetSoundInputParametersSelect       = 0x108,
 
    /* selectors for channel control functions */
    kSGCInitChannelSelect                   = 0x180,
    kSGCWriteSamplesSelect                  = 0x181,
    kSGCGetDataRateSelect                   = 0x182,
    kSGCAlignChannelRectSelect              = 0x183,
};


/*Using Sequence Grabber Components

Sequence grabber components are standard components that are managed by the Component Manager.

The sequence grabber component provides functions that give your application precise control over the display of the captured data. This section describes how to use the basic sequence grabber component functions as well as the functions that allow you to configure video and sound channels.

Apple has defined a component type value for sequence grabber components; that type value is 'barg'. You can use the following constant to specify this type value.
#define SeqGrabComponentType 'barg'// sequence grabber component type //


Apple has defined a functional interface for basic sequence grabber components. For information about the functions a sequence grabber component may support, see “Sequence Grabber Component Functions”.

You can use the following constants to refer to the request codes for each of the functions that a sequence grabber component may support.
enum {
    // selectors for basic sequence grabber component functions //
    kSGInitializeSelect                         = 0x1;
    kSGSetDataOutputSelect                      = 0x2;
    kSGGetDataOutputSelect                      = 0x3;
    kSGSetGWorldSelect                          = 0x4;
    kSGGetGWorldSelect                          = 0x5;
    kSGNewChannelSelect                         = 0x6;
    kSGDisposeChannelSelect                     = 0x7;
    kSGStartPreviewSelect                       = 0x10;
    kSGStartRecordSelect                        = 0x11;
    kSGIdleSelect                               = 0x12;
    kSGStopSelect                               = 0x13;
    kSGPauseSelect                              = 0x14;
    kSGPrepareSelect                            = 0x15;
    kSGReleaseSelect                            = 0x16;
    kSGGetMovieSelect                           = 0x17;
    kSGSetMaximumRecordTimeSelect               = 0x18;
    kSGGetMaximumRecordTimeSelect               = 0x19;
    kSGGetStorageSpaceRemainingSelect           = 0x1a;
    kSGGetTimeRemainingSelect                   = 0x1b;
    kSGGrabPictSelect                           = 0x1c;
    kSGGetLastMovieResIDSelect                  = 0x1d;
    kSGSetFlagsSelect                           = 0x1e;
    kSGGetFlagsSelect                           = 0x1f;
    kSGSetDataProcSelect                        = 0x20;
    kSGNewChannelFromComponentSelect            = 0x21;
    kSGDisposeDeviceListSelect                  = 0x22;
    kSGAppendDeviceListToMenuSelect             = 0x23;
    kSGSetSettingsSelect                        = 0x24;
    kSGGetSettingsSelect                        = 0x25;
    kSGGetIndChannelSelect                      = 0x26;
    kSGUpdateSelect                             = 0x27;
    kSGGetPauseSelect                           = 0x28;
    kSGSettingsDialogSelect                     = 0x29;
    kSGGetAlignmentProcSelect                   = 0x2A;
    kSGSetChannelSettingsSelect                 = 0x2B;
    kSGGetChannelSettingsSelect                 = 0x2C;
    
    // selectors for common channel configuration functions //
    kSGCSetChannelUsageSelect                   = 0x80;
    kSGCGetChannelUsageSelect                   = 0x81;
    kSGCSetChannelBoundsSelect                  = 0x82;
    kSGCGetChannelBoundsSelect                  = 0x83;
    kSGCSetChannelVolumeSelect                  = 0x84;
    kSGCGetChannelVolumeSelect                  = 0x85;
    kSGCGetChannelInfoSelect                    = 0x86;
    kSGCSetChannelPlayFlagsSelect               = 0x87;
    kSGCGetChannelPlayFlagsSelect               = 0x88;
    kSGCSetChannelMaxFramesSelect               = 0x89;
    kSGCGetChannelMaxFramesSelect               = 0x8a;
    kSGCSetChannelRefConSelect                  = 0x8b;
    kSGCSetChannelClipSelect                    = 0x8C;
    kSGCGetChannelClipSelect                    = 0x8D;
    kSGCGetChannelSampleDescriptionSelect       = 0x8E;
    kSGCGetChannelDeviceListSelect              = 0x8F;
    kSGCSetChannelDeviceSelect                  = 0x90;
    kSGCSetChannelMatrixSelect                  = 0x91;
    kSGCGetChannelMatrixSelect                  = 0x92;
    kSGCGetChannelTimeScaleSelect               = 0x93;
    
    // selectors for video channel configuration functions //
    kSGCGetSrcVideoBoundsSelect                 = 0x100;
    kSGCSetVideoRectSelect                      = 0x101;
    kSGCGetVideoRectSelect                      = 0x102;
    kSGCGetVideoCompressorTypeSelect            = 0x103;
    kSGCSetVideoCompressorTypeSelect            = 0x104;
    kSGCSetVideoCompressorSelect                = 0x105;
    kSGCGetVideoCompressorSelect                = 0x106;
    kSGCGetVideoDigitizerComponentSelect        = 0x107;
    kSGCSetVideoDigitizerComponentSelect        = 0x108;
    kSGCVideoDigitizerChangedSelect             = 0x109;
    kSGCSetVideoBottlenecksSelect               = 0x10a;
    kSGCGetVideoBottlenecksSelect               = 0x10b;
    kSGCGrabFrameSelect                         = 0x10c;
    kSGCGrabFrameCompleteSelect                 = 0x10d;
    kSGCDisplayFrameSelect                      = 0x10e;
    kSGCCompressFrameSelect                     = 0x10f;
    kSGCCompressFrameCompleteSelect             = 0x110;
    kSGCAddFrameSelect                          = 0x111;
    kSGCTransferFrameForCompressSelect          = 0x112;
    kSGCSetCompressBufferSelect                 = 0x113;
    kSGCGetCompressBufferSelect                 = 0x114;
    kSGCGetBufferInfoSelect                     = 0x115;
    kSGCSetUseScreenBufferSelect                = 0x116;
    kSGCGetUseScreenBufferSelect                = 0x117;
    kSGCGrabCompressCompleteSelect              = 0x118;
    kSGCDisplayCompressSelect                   = 0x119;
    kSGCSetFrameRateSelect                      = 0x11A;
    kSGCGetFrameRateSelect                      = 0x11B;
    
    // selectors for sound channel configuration functions //
    kSGCSetSoundInputDriverSelect               = 0x100;
    kSGCGetSoundInputDriverSelect               = 0x101;
    kSGCSoundInputDriverChangedSelect           = 0x102;
    kSGCSetSoundRecordChunkSizeSelect           = 0x103;
    kSGCGetSoundRecordChunkSizeSelect           = 0x104;
    kSGCSetSoundInputRateSelect                 = 0x105;
    kSGCGetSoundInputRateSelect                 = 0x106;
    kSGCSetSoundInputParametersSelect           = 0x107;
    kSGCGetSoundInputParametersSelect           = 0x108;
    
    // selectors for utility functions provided to channel components //
    kSGWriteMovieData                           = 0x100;
    kSGAddFrameReferenceSelect                  = 0x101;
    kSGGetNextFrameReferenceSelect              = 0x102;
    kSGGetTimeBaseSelect                        = 0x103;
    kSGSortDeviceListSelect                     = 0x104;
    kSGAddMovieDataSelect                       = 0x105;
    kSGChangedSourceSelect                      = 0x106;
}; */


enum {
    /* selectors for basic sequence grabber component functions */
//    kSGInitializeSelect                         = 0x1,
//    kSGSetDataOutputSelect                      = 0x2,
//    kSGGetDataOutputSelect                      = 0x3,
//    kSGSetGWorldSelect                          = 0x4,
//    kSGGetGWorldSelect                          = 0x5,
//    kSGNewChannelSelect                         = 0x6,
//    kSGDisposeChannelSelect                     = 0x7,
//    kSGStartPreviewSelect                       = 0x10,
//    kSGStartRecordSelect                        = 0x11,
//    kSGIdleSelect                               = 0x12,
//    kSGStopSelect                               = 0x13,
//    kSGPauseSelect                              = 0x14,
//    kSGPrepareSelect                            = 0x15,
//    kSGReleaseSelect                            = 0x16,
//    kSGGetMovieSelect                           = 0x17,
//    kSGSetMaximumRecordTimeSelect               = 0x18,
 //   kSGGetMaximumRecordTimeSelect               = 0x19,
//    kSGGetStorageSpaceRemainingSelect           = 0x1a,
//    kSGGetTimeRemainingSelect                   = 0x1b,
//    kSGGrabPictSelect                           = 0x1c,
//    kSGGetLastMovieResIDSelect                  = 0x1d,
//    kSGSetFlagsSelect                           = 0x1e,
//    kSGGetFlagsSelect                           = 0x1f,
//    kSGSetDataProcSelect                        = 0x20,
//    kSGNewChannelFromComponentSelect            = 0x21,
//    kSGDisposeDeviceListSelect                  = 0x22,
//    kSGAppendDeviceListToMenuSelect             = 0x23,
//    kSGSetSettingsSelect                        = 0x24,
//  kSGGetSettingsSelect                        = 0x25,
  //  kSGGetIndChannelSelect                      = 0x26,
//    kSGUpdateSelect                             = 0x27,
//    kSGGetPauseSelect                           = 0x28,
//    kSGSettingsDialogSelect                     = 0x29,
//    kSGGetAlignmentProcSelect                   = 0x2A,
//    kSGSetChannelSettingsSelect                 = 0x2B,
//    kSGGetChannelSettingsSelect                 = 0x2C,
    
    /* selectors for common channel configuration functions */
    kSGCSetChannelUsageSelect                   = 0x80,
    kSGCGetChannelUsageSelect                   = 0x81,
    kSGCSetChannelBoundsSelect                  = 0x82,
    kSGCGetChannelBoundsSelect                  = 0x83,
    kSGCSetChannelVolumeSelect                  = 0x84,
    kSGCGetChannelVolumeSelect                  = 0x85,
    kSGCGetChannelInfoSelect                    = 0x86,
    kSGCSetChannelPlayFlagsSelect               = 0x87,
    kSGCGetChannelPlayFlagsSelect               = 0x88,
    kSGCSetChannelMaxFramesSelect               = 0x89,
    kSGCGetChannelMaxFramesSelect               = 0x8a,
    kSGCSetChannelRefConSelect                  = 0x8b,
    kSGCSetChannelClipSelect                    = 0x8C,
    kSGCGetChannelClipSelect                    = 0x8D,
    kSGCGetChannelSampleDescriptionSelect       = 0x8E,
    kSGCGetChannelDeviceListSelect              = 0x8F,
    kSGCSetChannelDeviceSelect                  = 0x90,
    kSGCSetChannelMatrixSelect                  = 0x91,
    kSGCGetChannelMatrixSelect                  = 0x92,
    kSGCGetChannelTimeScaleSelect               = 0x93,
    
    /* selectors for video channel configuration functions */
    kSGCGetSrcVideoBoundsSelect                 = 0x100,
    kSGCSetVideoRectSelect                      = 0x101,
    kSGCGetVideoRectSelect                      = 0x102,
    kSGCGetVideoCompressorTypeSelect            = 0x103,
    kSGCSetVideoCompressorTypeSelect            = 0x104,
    kSGCSetVideoCompressorSelect                = 0x105,
    kSGCGetVideoCompressorSelect                = 0x106,
    kSGCGetVideoDigitizerComponentSelect        = 0x107,
    kSGCSetVideoDigitizerComponentSelect        = 0x108,
    kSGCVideoDigitizerChangedSelect             = 0x109,
    kSGCSetVideoBottlenecksSelect               = 0x10a,
    kSGCGetVideoBottlenecksSelect               = 0x10b,
    kSGCGrabFrameSelect                         = 0x10c,
    kSGCGrabFrameCompleteSelect                 = 0x10d,
    kSGCDisplayFrameSelect                      = 0x10e,
    kSGCCompressFrameSelect                     = 0x10f,
    kSGCCompressFrameCompleteSelect             = 0x110,
    kSGCAddFrameSelect                          = 0x111,
    kSGCTransferFrameForCompressSelect          = 0x112,
    kSGCSetCompressBufferSelect                 = 0x113,
    kSGCGetCompressBufferSelect                 = 0x114,
    kSGCGetBufferInfoSelect                     = 0x115,
    kSGCSetUseScreenBufferSelect                = 0x116,
    kSGCGetUseScreenBufferSelect                = 0x117,
    kSGCGrabCompressCompleteSelect              = 0x118,
    kSGCDisplayCompressSelect                   = 0x119,
    kSGCSetFrameRateSelect                      = 0x11A,
    kSGCGetFrameRateSelect                      = 0x11B,
    
    /* selectors for sound channel configuration functions */
    kSGCSetSoundInputDriverSelect               = 0x100,
    kSGCGetSoundInputDriverSelect               = 0x101,
    kSGCSoundInputDriverChangedSelect           = 0x102,
    kSGCSetSoundRecordChunkSizeSelect           = 0x103,
    kSGCGetSoundRecordChunkSizeSelect           = 0x104,
    kSGCSetSoundInputRateSelect                 = 0x105,
    kSGCGetSoundInputRateSelect                 = 0x106,
    kSGCSetSoundInputParametersSelect           = 0x107,
    kSGCGetSoundInputParametersSelect           = 0x108,
    
    /* selectors for utility functions provided to channel components */
    kSGWriteMovieData                           = 0x100,
//    kSGAddFrameReferenceSelect                  = 0x101,
//    kSGGetNextFrameReferenceSelect              = 0x102,
//    kSGGetTimeBaseSelect                        = 0x103,
//    kSGSortDeviceListSelect                     = 0x104,
//    kSGAddMovieDataSelect                       = 0x105,
//    kSGChangedSourceSelect                      = 0x106,
}; 
 

/*In general, Apple has reserved all lowercase values of component subtypes and manufacturer codes.

Apple has defined a functional interface for sequence grabber panel components. You may use the following constants to refer to the request codes for each of the functions that your component must support:
enum {
    // sequence grabber panel request codes //
    kSGCPanelGetDitlSelect         = 0x200,    // SGPanelGetDITL //
    kSGCPanelCanRunSelect          = 0x202,    // SGPanelCanRun //
    kSGCPanelInstallSelect         = 0x203,    // SGPanelInstall //
    kSGCPanelEventSelect           = 0x204,    // SGPanelEvent //
    kSGCPanelItemSelect            = 0x205,    // SGPanelItem //
    kSGCPanelRemoveSelect          = 0x206,    // SGPanelRemove //
    kSGCPanelSetGrabberSelect      = 0x207,    // SGPanelSetGrabber //
    kSGCPanelSetResFileSelect      = 0x208,    // SGPanelSetResFile //
    kSGCPanelGetSettingsSelect     = 0x209,    // SGPanelGetSettings //
    kSGCPanelSetSettingsSelect     = 0x20A,    // SGPanelSetSettings //
    kSGCPanelValidateInputSelect   = 0x20B
};


Before reading the rest of this chapter, you should have a basic understanding of how to create components. To create a sequence grabber panel component, you set up the global variables and implement the required Component Manager request codes and the functions that are private to your particular component. Then you manage the dialog box and work with the settings in the dialog box.*/
enum {
    // sequence grabber panel request codes //
    kSGCPanelGetDitlSelect         = 0x200,    // SGPanelGetDITL //
    kSGCPanelCanRunSelect          = 0x202,    // SGPanelCanRun //
    kSGCPanelInstallSelect         = 0x203,    // SGPanelInstall //
    kSGCPanelEventSelect           = 0x204,    // SGPanelEvent //
    kSGCPanelItemSelect            = 0x205,    // SGPanelItem //
    kSGCPanelRemoveSelect          = 0x206,    // SGPanelRemove //
    kSGCPanelSetGrabberSelect      = 0x207,    // SGPanelSetGrabber //
    kSGCPanelSetResFileSelect      = 0x208,    // SGPanelSetResFile //
    kSGCPanelGetSettingsSelect     = 0x209,    // SGPanelGetSettings //
    kSGCPanelSetSettingsSelect     = 0x20A,    // SGPanelSetSettings //
    kSGCPanelValidateInputSelect   = 0x20B
};



/*Constants

This section defines the constants that are used to communicate with preview components. These are primarily flags that describe the preview components capabilities and requirements.enum {
    pnotComponentWantsEvents    = 1, // component requires events //
    pnotComponentNeedsNoCache   = 2  // component does not require cache //
};
enum {
  kPreviewShowDataSelector             = 1, // PreviewShowData //
  kPreviewMakePreviewSelector          = 2, // PreviewMakePreview //
  kPreviewMakePreviewReferenceSelector = 3, // PreviewMakePreviewReference //
  kPreviewEventSelector                = 4  // PreviewEvent //
};
#define ShowFilePreviewComponentType 'pnot'     // creates previews //
#define CreateFilePreviewComponentType 'pmak'   // displays previews //*/
enum {
  kPreviewShowDataSelector             = 1, // PreviewShowData //
  kPreviewMakePreviewSelector          = 2, // PreviewMakePreview //
  kPreviewMakePreviewReferenceSelector = 3, // PreviewMakePreviewReference //
  kPreviewEventSelector                = 4  // PreviewEvent //
};


/*MovieImportDataRef Values

Constants passed to MovieImportDataRef.

enum {
   movieImportCreateTrack        = 1,
   movieImportInParallel         = 2,
   movieImportMustUseTrack       = 4,
   movieImportWithIdle           = 16
};
enum {
   movieImportResultUsedMultipleTracks = 8,
   movieImportResultNeedIdles    = 32,
   movieImportResultComplete     = 64
};
Constants
movieImportResultNeedIdles

Undocumented 

Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
enum {
//   movieImportCreateTrack        = 1,
//   movieImportInParallel         = 2,
//   movieImportMustUseTrack       = 4,
   movieImportWithIdle           = 16
};
enum {
//   movieImportResultUsedMultipleTracks = 8,
   movieImportResultNeedIdles    = 32,
   movieImportResultComplete     = 64
};

/*Display Mode Atom Types

The following atom type constants specify atom types:
enum {
    kQTVODisplayModeItem = FOUR_CHAR_CODE('qdmi'),
    kQTVODimensions = FOUR_CHAR_CODE('dimn'),
        // atom contains two longs - pixel count - width, height //
    kQTVOResolution = FOUR_CHAR_CODE('resl'),
        // atom contains two Fixed - hRes, vRes in dpi //
    kQTVORefreshRate = FOUR_CHAR_CODE('refr'),
        // atom contains one Fixed - refresh rate in Hz //
    kQTVOPixelType = FOUR_CHAR_CODE('pixl'),
        // atom contains one OSType - pixel format of mode //
    kQTVOName = FOUR_CHAR_CODE('name'),
        // atom contains string (no length byte) --
           name of mode for display to user //
    kQTVODecompressors = FOUR_CHAR_CODE('deco'),
        // atom contains other atoms indicating supported decompressors //
        // kQTVODecompressors sub-atoms //
    kQTVODecompressorType = FOUR_CHAR_CODE('dety'),
        // atom contains one OSType - decompressor type code //
    kQTVODecompressorContinuous = FOUR_CHAR_CODE('cont'),
        // atom contains one Boolean --
           true if this type is displayed continuously //
    kQTVODecompressorComponent = FOUR_CHAR_CODE('cmpt')
        // atom contains one component id of decompressor //
};*/
enum {
    kQTVODisplayModeItem = FOUR_CHAR_CODE('qdmi'),
    kQTVODimensions = FOUR_CHAR_CODE('dimn'),
        /* atom contains two longs - pixel count - width, height */
    kQTVOResolution = FOUR_CHAR_CODE('resl'),
        /* atom contains two Fixed - hRes, vRes in dpi */
    kQTVORefreshRate = FOUR_CHAR_CODE('refr'),
        /* atom contains one Fixed - refresh rate in Hz */
    kQTVOPixelType = FOUR_CHAR_CODE('pixl'),
        /* atom contains one OSType - pixel format of mode */
    kQTVOName = FOUR_CHAR_CODE('name'),
        /* atom contains string (no length byte) --
           name of mode for display to user */
    kQTVODecompressors = FOUR_CHAR_CODE('deco'),
        /* atom contains other atoms indicating supported decompressors */
        /* kQTVODecompressors sub-atoms */
    kQTVODecompressorType = FOUR_CHAR_CODE('dety'),
        /* atom contains one OSType - decompressor type code */
    kQTVODecompressorContinuous = FOUR_CHAR_CODE('cont'),
        /* atom contains one Boolean --
           true if this type is displayed continuously */
    kQTVODecompressorComponent = FOUR_CHAR_CODE('cmpt')
        /* atom contains one component id of decompressor */
};

/*Component Call Selectors

Constants that represent selectors for component calls.

kClockGetTimeSelect                        = 0x0001
kClockNewCallBackSelect                    = 0x0002
kClockDisposeCallBackSelect                = 0x0003
kClockCallMeWhenSelect                     = 0x0004
kClockCancelCallBackSelect                 = 0x0005
kClockRateChangedSelect                    = 0x0006
kClockTimeChangedSelect                    = 0x0007
kClockSetTimeBaseSelect                    = 0x0008
kClockStartStopChangedSelect               = 0x0009
kClockGetRateSelect                        = 0x000A
kClockGetTimesForRateChangeSelect          = 0x000B
kClockGetRateChangeConstraintsSelect       = 0x000C
kSCGetCompressionExtendedSelect            = 0x0001
kSCPositionRectSelect                      = 0x0002
kSCPositionDialogSelect                    = 0x0003
kSCSetTestImagePictHandleSelect            = 0x0004
kSCSetTestImagePictFileSelect              = 0x0005
kSCSetTestImagePixMapSelect                = 0x0006
kSCGetBestDeviceRectSelect                 = 0x0007
kSCRequestImageSettingsSelect              = 0x000A
kSCCompressImageSelect                     = 0x000B
kSCCompressPictureSelect                   = 0x000C
kSCCompressPictureFileSelect               = 0x000D
kSCRequestSequenceSettingsSelect           = 0x000E
kSCCompressSequenceBeginSelect             = 0x000F
kSCCompressSequenceFrameSelect             = 0x0010
kSCCompressSequenceEndSelect               = 0x0011
kSCDefaultPictHandleSettingsSelect         = 0x0012
kSCDefaultPictFileSettingsSelect           = 0x0013
kSCDefaultPixMapSettingsSelect             = 0x0014
kSCGetInfoSelect                           = 0x0015
kSCSetInfoSelect                           = 0x0016
kSCNewGWorldSelect                         = 0x0017
kSCSetCompressFlagsSelect                  = 0x0018
kSCGetCompressFlagsSelect                  = 0x0019
kSCGetSettingsAsTextSelect                 = 0x001A
kSCGetSettingsAsAtomContainerSelect        = 0x001B
kSCSetSettingsFromAtomContainerSelect      = 0x001C
kSCCompressSequenceFrameAsyncSelect        = 0x001D
kSCAsyncIdleSelect                         = 0x001E
kSCCopyCompressionSessionOptionsSelect     = 0x001F
kSCAudioInvokeLegacyCodecOptionsDialogSelect = 0x0081
kTweenerInitializeSelect                   = 0x0001
kTweenerDoTweenSelect                      = 0x0002
kTweenerResetSelect                        = 0x0003
kTCGetCurrentTimeCodeSelect                = 0x0101
kTCGetTimeCodeAtTimeSelect                 = 0x0102
kTCTimeCodeToStringSelect                  = 0x0103
kTCTimeCodeToFrameNumberSelect             = 0x0104
kTCFrameNumberToTimeCodeSelect             = 0x0105
kTCGetSourceRefSelect                      = 0x0106
kTCSetSourceRefSelect                      = 0x0107
kTCSetTimeCodeFlagsSelect                  = 0x0108
kTCGetTimeCodeFlagsSelect                  = 0x0109
kTCSetDisplayOptionsSelect                 = 0x010A
kTCGetDisplayOptionsSelect                 = 0x010B
kMovieImportHandleSelect                   = 0x0001
kMovieImportFileSelect                     = 0x0002
kMovieImportSetSampleDurationSelect        = 0x0003
kMovieImportSetSampleDescriptionSelect     = 0x0004
kMovieImportSetMediaFileSelect             = 0x0005
kMovieImportSetDimensionsSelect            = 0x0006
kMovieImportSetChunkSizeSelect             = 0x0007
kMovieImportSetProgressProcSelect          = 0x0008
kMovieImportSetAuxiliaryDataSelect         = 0x0009
kMovieImportSetFromScrapSelect             = 0x000A
kMovieImportDoUserDialogSelect             = 0x000B
kMovieImportSetDurationSelect              = 0x000C
kMovieImportGetAuxiliaryDataTypeSelect     = 0x000D
kMovieImportValidateSelect                 = 0x000E
kMovieImportGetFileTypeSelect              = 0x000F
kMovieImportDataRefSelect                  = 0x0010
kMovieImportGetSampleDescriptionSelect     = 0x0011
kMovieImportGetMIMETypeListSelect          = 0x0012
kMovieImportSetOffsetAndLimitSelect        = 0x0013
kMovieImportGetSettingsAsAtomContainerSelect = 0x0014
kMovieImportSetSettingsFromAtomContainerSelect = 0x0015
kMovieImportSetOffsetAndLimit64Select      = 0x0016
kMovieImportIdleSelect                     = 0x0017
kMovieImportValidateDataRefSelect          = 0x0018
kMovieImportGetLoadStateSelect             = 0x0019
kMovieImportGetMaxLoadedTimeSelect         = 0x001A
kMovieImportEstimateCompletionTimeSelect   = 0x001B
kMovieImportSetDontBlockSelect             = 0x001C
kMovieImportGetDontBlockSelect             = 0x001D
kMovieImportSetIdleManagerSelect           = 0x001E
kMovieImportSetNewMovieFlagsSelect         = 0x001F
kMovieImportGetDestinationMediaTypeSelect  = 0x0020
kMovieImportSetMediaDataRefSelect          = 0x0021
kMovieImportDoUserDialogDataRefSelect      = 0x0022
kMovieExportToHandleSelect                 = 0x0080
kMovieExportToFileSelect                   = 0x0081
kMovieExportGetAuxiliaryDataSelect         = 0x0083
kMovieExportSetProgressProcSelect          = 0x0084
kMovieExportSetSampleDescriptionSelect     = 0x0085
kMovieExportDoUserDialogSelect             = 0x0086
kMovieExportGetCreatorTypeSelect           = 0x0087
kMovieExportToDataRefSelect                = 0x0088
kMovieExportFromProceduresToDataRefSelect  = 0x0089
kMovieExportAddDataSourceSelect            = 0x008A
kMovieExportValidateSelect                 = 0x008B
kMovieExportGetSettingsAsAtomContainerSelect = 0x008C
kMovieExportSetSettingsFromAtomContainerSelect = 0x008D
kMovieExportGetFileNameExtensionSelect     = 0x008E
kMovieExportGetShortFileTypeStringSelect   = 0x008F
kMovieExportGetSourceMediaTypeSelect       = 0x0090
kMovieExportSetGetMoviePropertyProcSelect  = 0x0091
kTextExportGetDisplayDataSelect            = 0x0100
kTextExportGetTimeFractionSelect           = 0x0101
kTextExportSetTimeFractionSelect           = 0x0102
kTextExportGetSettingsSelect               = 0x0103
kTextExportSetSettingsSelect               = 0x0104
kMIDIImportGetSettingsSelect               = 0x0100
kMIDIImportSetSettingsSelect               = 0x0101
kMovieExportNewGetDataAndPropertiesProcsSelect = 0x0100
kMovieExportDisposeGetDataAndPropertiesProcsSelect = 0x0101
kGraphicsImageImportSetSequenceEnabledSelect = 0x0100
kGraphicsImageImportGetSequenceEnabledSelect = 0x0101
kPreviewShowDataSelect                     = 0x0001
kPreviewMakePreviewSelect                  = 0x0002
kPreviewMakePreviewReferenceSelect         = 0x0003
kPreviewEventSelect                        = 0x0004
kDataCodecDecompressSelect                 = 0x0001
kDataCodecGetCompressBufferSizeSelect      = 0x0002
kDataCodecCompressSelect                   = 0x0003
kDataCodecBeginInterruptSafeSelect         = 0x0004
kDataCodecEndInterruptSafeSelect           = 0x0005
kDataCodecDecompressPartialSelect          = 0x0006
kDataCodecCompressPartialSelect            = 0x0007
kDataHGetDataSelect                        = 0x0002
kDataHPutDataSelect                        = 0x0003
kDataHFlushDataSelect                      = 0x0004
kDataHOpenForWriteSelect                   = 0x0005
kDataHCloseForWriteSelect                  = 0x0006
kDataHOpenForReadSelect                    = 0x0008
kDataHCloseForReadSelect                   = 0x0009
kDataHSetDataRefSelect                     = 0x000A
kDataHGetDataRefSelect                     = 0x000B
kDataHCompareDataRefSelect                 = 0x000C
kDataHTaskSelect                           = 0x000D
kDataHScheduleDataSelect                   = 0x000E
kDataHFinishDataSelect                     = 0x000F
kDataHFlushCacheSelect                     = 0x0010
kDataHResolveDataRefSelect                 = 0x0011
kDataHGetFileSizeSelect                    = 0x0012
kDataHCanUseDataRefSelect                  = 0x0013
kDataHGetVolumeListSelect                  = 0x0014
kDataHWriteSelect                          = 0x0015
kDataHPreextendSelect                      = 0x0016
kDataHSetFileSizeSelect                    = 0x0017
kDataHGetFreeSpaceSelect                   = 0x0018
kDataHCreateFileSelect                     = 0x0019
kDataHGetPreferredBlockSizeSelect          = 0x001A
kDataHGetDeviceIndexSelect                 = 0x001B
kDataHIsStreamingDataHandlerSelect         = 0x001C
kDataHGetDataInBufferSelect                = 0x001D
kDataHGetScheduleAheadTimeSelect           = 0x001E
kDataHSetCacheSizeLimitSelect              = 0x001F
kDataHGetCacheSizeLimitSelect              = 0x0020
kDataHGetMovieSelect                       = 0x0021
kDataHAddMovieSelect                       = 0x0022
kDataHUpdateMovieSelect                    = 0x0023
kDataHDoesBufferSelect                     = 0x0024
kDataHGetFileNameSelect                    = 0x0025
kDataHGetAvailableFileSizeSelect           = 0x0026
kDataHGetMacOSFileTypeSelect               = 0x0027
kDataHGetMIMETypeSelect                    = 0x0028
kDataHSetDataRefWithAnchorSelect           = 0x0029
kDataHGetDataRefWithAnchorSelect           = 0x002A
kDataHSetMacOSFileTypeSelect               = 0x002B
kDataHSetTimeBaseSelect                    = 0x002C
kDataHGetInfoFlagsSelect                   = 0x002D
kDataHScheduleData64Select                 = 0x002E
kDataHWrite64Select                        = 0x002F
kDataHGetFileSize64Select                  = 0x0030
kDataHPreextend64Select                    = 0x0031
kDataHSetFileSize64Select                  = 0x0032
kDataHGetFreeSpace64Select                 = 0x0033
kDataHAppend64Select                       = 0x0034
kDataHReadAsyncSelect                      = 0x0035
kDataHPollReadSelect                       = 0x0036
kDataHGetDataAvailabilitySelect            = 0x0037
kDataHGetFileSizeAsyncSelect               = 0x003A
kDataHGetDataRefAsTypeSelect               = 0x003B
kDataHSetDataRefExtensionSelect            = 0x003C
kDataHGetDataRefExtensionSelect            = 0x003D
kDataHGetMovieWithFlagsSelect              = 0x003E
kDataHGetFileTypeOrderingSelect            = 0x0040
kDataHCreateFileWithFlagsSelect            = 0x0041
kDataHGetMIMETypeAsyncSelect               = 0x0042
kDataHGetInfoSelect                        = 0x0043
kDataHSetIdleManagerSelect                 = 0x0044
kDataHDeleteFileSelect                     = 0x0045
kDataHSetMovieUsageFlagsSelect             = 0x0046
kDataHUseTemporaryDataRefSelect            = 0x0047
kDataHGetTemporaryDataRefCapabilitiesSelect = 0x0048
kDataHRenameFileSelect                     = 0x0049
kDataHGetAvailableFileSize64Select         = 0x004E
kDataHGetDataAvailability64Select          = 0x004F
kDataHPlaybackHintsSelect                  = 0x0103
kDataHPlaybackHints64Select                = 0x010E
kDataHGetDataRateSelect                    = 0x0110
kDataHSetTimeHintsSelect                   = 0x0111
kVDGetMaxSrcRectSelect                     = 0x0001
kVDGetActiveSrcRectSelect                  = 0x0002
kVDSetDigitizerRectSelect                  = 0x0003
kVDGetDigitizerRectSelect                  = 0x0004
kVDGetVBlankRectSelect                     = 0x0005
kVDGetMaskPixMapSelect                     = 0x0006
kVDGetPlayThruDestinationSelect            = 0x0008
kVDUseThisCLUTSelect                       = 0x0009
kVDSetInputGammaValueSelect                = 0x000A
kVDGetInputGammaValueSelect                = 0x000B
kVDSetBrightnessSelect                     = 0x000C
kVDGetBrightnessSelect                     = 0x000D
kVDSetContrastSelect                       = 0x000E
kVDSetHueSelect                            = 0x000F
kVDSetSharpnessSelect                      = 0x0010
kVDSetSaturationSelect                     = 0x0011
kVDGetContrastSelect                       = 0x0012
kVDGetHueSelect                            = 0x0013
kVDGetSharpnessSelect                      = 0x0014
kVDGetSaturationSelect                     = 0x0015
kVDGrabOneFrameSelect                      = 0x0016
kVDGetMaxAuxBufferSelect                   = 0x0017
kVDGetDigitizerInfoSelect                  = 0x0019
kVDGetCurrentFlagsSelect                   = 0x001A
kVDSetKeyColorSelect                       = 0x001B
kVDGetKeyColorSelect                       = 0x001C
kVDAddKeyColorSelect                       = 0x001D
kVDGetNextKeyColorSelect                   = 0x001E
kVDSetKeyColorRangeSelect                  = 0x001F
kVDGetKeyColorRangeSelect                  = 0x0020
kVDSetDigitizerUserInterruptSelect         = 0x0021
kVDSetInputColorSpaceModeSelect            = 0x0022
kVDGetInputColorSpaceModeSelect            = 0x0023
kVDSetClipStateSelect                      = 0x0024
kVDGetClipStateSelect                      = 0x0025
kVDSetClipRgnSelect                        = 0x0026
kVDClearClipRgnSelect                      = 0x0027
kVDGetCLUTInUseSelect                      = 0x0028
kVDSetPLLFilterTypeSelect                  = 0x0029
kVDGetPLLFilterTypeSelect                  = 0x002A
kVDGetMaskandValueSelect                   = 0x002B
kVDSetMasterBlendLevelSelect               = 0x002C
kVDSetPlayThruDestinationSelect            = 0x002D
kVDSetPlayThruOnOffSelect                  = 0x002E
kVDSetFieldPreferenceSelect                = 0x002F
kVDGetFieldPreferenceSelect                = 0x0030
kVDPreflightDestinationSelect              = 0x0032
kVDPreflightGlobalRectSelect               = 0x0033
kVDSetPlayThruGlobalRectSelect             = 0x0034
kVDSetInputGammaRecordSelect               = 0x0035
kVDGetInputGammaRecordSelect               = 0x0036
kVDSetBlackLevelValueSelect                = 0x0037
kVDGetBlackLevelValueSelect                = 0x0038
kVDSetWhiteLevelValueSelect                = 0x0039
kVDGetWhiteLevelValueSelect                = 0x003A
kVDGetVideoDefaultsSelect                  = 0x003B
kVDGetNumberOfInputsSelect                 = 0x003C
kVDGetInputFormatSelect                    = 0x003D
kVDSetInputSelect                          = 0x003E
kVDGetInputSelect                          = 0x003F
kVDSetInputStandardSelect                  = 0x0040
kVDSetupBuffersSelect                      = 0x0041
kVDGrabOneFrameAsyncSelect                 = 0x0042
kVDDoneSelect                              = 0x0043
kVDSetCompressionSelect                    = 0x0044
kVDCompressOneFrameAsyncSelect             = 0x0045
kVDCompressDoneSelect                      = 0x0046
kVDReleaseCompressBufferSelect             = 0x0047
kVDGetImageDescriptionSelect               = 0x0048
kVDResetCompressSequenceSelect             = 0x0049
kVDSetCompressionOnOffSelect               = 0x004A
kVDGetCompressionTypesSelect               = 0x004B
kVDSetTimeBaseSelect                       = 0x004C
kVDSetFrameRateSelect                      = 0x004D
kVDGetDataRateSelect                       = 0x004E
kVDGetSoundInputDriverSelect               = 0x004F
kVDGetDMADepthsSelect                      = 0x0050
kVDGetPreferredTimeScaleSelect             = 0x0051
kVDReleaseAsyncBuffersSelect               = 0x0052
kVDSetDataRateSelect                       = 0x0054
kVDGetTimeCodeSelect                       = 0x0055
kVDUseSafeBuffersSelect                    = 0x0056
kVDGetSoundInputSourceSelect               = 0x0057
kVDGetCompressionTimeSelect                = 0x0058
kVDSetPreferredPacketSizeSelect            = 0x0059
kVDSetPreferredImageDimensionsSelect       = 0x005A
kVDGetPreferredImageDimensionsSelect       = 0x005B
kVDGetInputNameSelect                      = 0x005C
kVDSetDestinationPortSelect                = 0x005D
kVDGetDeviceNameAndFlagsSelect             = 0x005E
kVDCaptureStateChangingSelect              = 0x005F
kVDGetUniqueIDsSelect                      = 0x0060
kVDSelectUniqueIDsSelect                   = 0x0061
kVDCopyPreferredAudioDeviceSelect          = 0x0063
kVDIIDCGetFeaturesSelect                   = 0x0200
kVDIIDCSetFeaturesSelect                   = 0x0201
kVDIIDCGetDefaultFeaturesSelect            = 0x0202
kVDIIDCGetCSRDataSelect                    = 0x0203
kVDIIDCSetCSRDataSelect                    = 0x0204
kVDIIDCGetFeaturesForSpecifierSelect       = 0x0205
kXMLParseDataRefSelect                     = 0x0001
kXMLParseFileSelect                        = 0x0002
kXMLParseDisposeXMLDocSelect               = 0x0003
kXMLParseGetDetailedParseErrorSelect       = 0x0004
kXMLParseAddElementSelect                  = 0x0005
kXMLParseAddAttributeSelect                = 0x0006
kXMLParseAddMultipleAttributesSelect       = 0x0007
kXMLParseAddAttributeAndValueSelect        = 0x0008
kXMLParseAddMultipleAttributesAndValuesSelect = 0x0009
kXMLParseAddAttributeValueKindSelect       = 0x000A
kXMLParseAddNameSpaceSelect                = 0x000B
kXMLParseSetOffsetAndLimitSelect           = 0x000C
kXMLParseSetEventParseRefConSelect         = 0x000D
kXMLParseSetStartDocumentHandlerSelect     = 0x000E
kXMLParseSetEndDocumentHandlerSelect       = 0x000F
kXMLParseSetStartElementHandlerSelect      = 0x0010
kXMLParseSetEndElementHandlerSelect        = 0x0011
kXMLParseSetCharDataHandlerSelect          = 0x0012
kXMLParseSetPreprocessInstructionHandlerSelect = 0x0013
kXMLParseSetCommentHandlerSelect           = 0x0014
kXMLParseSetCDataHandlerSelect             = 0x0015
kSGInitializeSelect                        = 0x0001
kSGSetDataOutputSelect                     = 0x0002
kSGGetDataOutputSelect                     = 0x0003
kSGSetGWorldSelect                         = 0x0004
kSGGetGWorldSelect                         = 0x0005
kSGNewChannelSelect                        = 0x0006
kSGDisposeChannelSelect                    = 0x0007
kSGStartPreviewSelect                      = 0x0010
kSGStartRecordSelect                       = 0x0011
kSGIdleSelect                              = 0x0012
kSGStopSelect                              = 0x0013
kSGPauseSelect                             = 0x0014
kSGPrepareSelect                           = 0x0015
kSGReleaseSelect                           = 0x0016
kSGGetMovieSelect                          = 0x0017
kSGSetMaximumRecordTimeSelect              = 0x0018
kSGGetMaximumRecordTimeSelect              = 0x0019
kSGGetStorageSpaceRemainingSelect          = 0x001A
kSGGetTimeRemainingSelect                  = 0x001B
kSGGrabPictSelect                          = 0x001C
kSGGetLastMovieResIDSelect                 = 0x001D
kSGSetFlagsSelect                          = 0x001E
kSGGetFlagsSelect                          = 0x001F
kSGSetDataProcSelect                       = 0x0020
kSGNewChannelFromComponentSelect           = 0x0021
kSGDisposeDeviceListSelect                 = 0x0022
kSGAppendDeviceListToMenuSelect            = 0x0023
kSGSetSettingsSelect                       = 0x0024
kSGGetSettingsSelect                       = 0x0025
kSGGetIndChannelSelect                     = 0x0026
kSGUpdateSelect                            = 0x0027
kSGGetPauseSelect                          = 0x0028
kSGSettingsDialogSelect                    = 0x0029
kSGGetAlignmentProcSelect                  = 0x002A
kSGSetChannelSettingsSelect                = 0x002B
kSGGetChannelSettingsSelect                = 0x002C
kSGGetModeSelect                           = 0x002D
kSGSetDataRefSelect                        = 0x002E
kSGGetDataRefSelect                        = 0x002F
kSGNewOutputSelect                         = 0x0030
kSGDisposeOutputSelect                     = 0x0031
kSGSetOutputFlagsSelect                    = 0x0032
kSGSetChannelOutputSelect                  = 0x0033
kSGGetDataOutputStorageSpaceRemainingSelect = 0x0034
kSGHandleUpdateEventSelect                 = 0x0035
kSGSetOutputNextOutputSelect               = 0x0036
kSGGetOutputNextOutputSelect               = 0x0037
kSGSetOutputMaximumOffsetSelect            = 0x0038
kSGGetOutputMaximumOffsetSelect            = 0x0039
kSGGetOutputDataReferenceSelect            = 0x003A
kSGWriteExtendedMovieDataSelect            = 0x003B
kSGGetStorageSpaceRemaining64Select        = 0x003C
kSGGetDataOutputStorageSpaceRemaining64Select = 0x003D
kSGWriteMovieDataSelect                    = 0x0100
kSGAddFrameReferenceSelect                 = 0x0101
kSGGetNextFrameReferenceSelect             = 0x0102
kSGGetTimeBaseSelect                       = 0x0103
kSGSortDeviceListSelect                    = 0x0104
kSGAddMovieDataSelect                      = 0x0105
kSGChangedSourceSelect                     = 0x0106
kSGAddExtendedFrameReferenceSelect         = 0x0107
kSGGetNextExtendedFrameReferenceSelect     = 0x0108
kSGAddExtendedMovieDataSelect              = 0x0109
kSGAddOutputDataRefToMediaSelect           = 0x010A
kSGSetSettingsSummarySelect                = 0x010B
kSGSetChannelUsageSelect                   = 0x0080
kSGGetChannelUsageSelect                   = 0x0081
kSGSetChannelBoundsSelect                  = 0x0082
kSGGetChannelBoundsSelect                  = 0x0083
kSGSetChannelVolumeSelect                  = 0x0084
kSGGetChannelVolumeSelect                  = 0x0085
kSGGetChannelInfoSelect                    = 0x0086
kSGSetChannelPlayFlagsSelect               = 0x0087
kSGGetChannelPlayFlagsSelect               = 0x0088
kSGSetChannelMaxFramesSelect               = 0x0089
kSGGetChannelMaxFramesSelect               = 0x008A
kSGSetChannelRefConSelect                  = 0x008B
kSGSetChannelClipSelect                    = 0x008C
kSGGetChannelClipSelect                    = 0x008D
kSGGetChannelSampleDescriptionSelect       = 0x008E
kSGGetChannelDeviceListSelect              = 0x008F
kSGSetChannelDeviceSelect                  = 0x0090
kSGSetChannelMatrixSelect                  = 0x0091
kSGGetChannelMatrixSelect                  = 0x0092
kSGGetChannelTimeScaleSelect               = 0x0093
kSGChannelPutPictureSelect                 = 0x0094
kSGChannelSetRequestedDataRateSelect       = 0x0095
kSGChannelGetRequestedDataRateSelect       = 0x0096
kSGChannelSetDataSourceNameSelect          = 0x0097
kSGChannelGetDataSourceNameSelect          = 0x0098
kSGChannelSetCodecSettingsSelect           = 0x0099
kSGChannelGetCodecSettingsSelect           = 0x009A
kSGGetChannelTimeBaseSelect                = 0x009B
kSGGetChannelRefConSelect                  = 0x009C
kSGGetChannelDeviceAndInputNamesSelect     = 0x009D
kSGSetChannelDeviceInputSelect             = 0x009E
kSGSetChannelSettingsStateChangingSelect   = 0x009F
kSGInitChannelSelect                       = 0x0180
kSGWriteSamplesSelect                      = 0x0181
kSGGetDataRateSelect                       = 0x0182
kSGAlignChannelRectSelect                  = 0x0183
kSGPanelGetDitlSelect                      = 0x0200
kSGPanelGetTitleSelect                     = 0x0201
kSGPanelCanRunSelect                       = 0x0202
kSGPanelInstallSelect                      = 0x0203
kSGPanelEventSelect                        = 0x0204
kSGPanelItemSelect                         = 0x0205
kSGPanelRemoveSelect                       = 0x0206
kSGPanelSetGrabberSelect                   = 0x0207
kSGPanelSetResFileSelect                   = 0x0208
kSGPanelGetSettingsSelect                  = 0x0209
kSGPanelSetSettingsSelect                  = 0x020A
kSGPanelValidateInputSelect                = 0x020B
kSGPanelSetEventFilterSelect               = 0x020C
kSGPanelGetDITLForSizeSelect               = 0x020D
kSGGetSrcVideoBoundsSelect                 = 0x0100
kSGSetVideoRectSelect                      = 0x0101
kSGGetVideoRectSelect                      = 0x0102
kSGGetVideoCompressorTypeSelect            = 0x0103
kSGSetVideoCompressorTypeSelect            = 0x0104
kSGSetVideoCompressorSelect                = 0x0105
kSGGetVideoCompressorSelect                = 0x0106
kSGGetVideoDigitizerComponentSelect        = 0x0107
kSGSetVideoDigitizerComponentSelect        = 0x0108
kSGVideoDigitizerChangedSelect             = 0x0109
kSGSetVideoBottlenecksSelect               = 0x010A
kSGGetVideoBottlenecksSelect               = 0x010B
kSGGrabFrameSelect                         = 0x010C
kSGGrabFrameCompleteSelect                 = 0x010D
kSGDisplayFrameSelect                      = 0x010E
kSGCompressFrameSelect                     = 0x010F
kSGCompressFrameCompleteSelect             = 0x0110
kSGAddFrameSelect                          = 0x0111
kSGTransferFrameForCompressSelect          = 0x0112
kSGSetCompressBufferSelect                 = 0x0113
kSGGetCompressBufferSelect                 = 0x0114
kSGGetBufferInfoSelect                     = 0x0115
kSGSetUseScreenBufferSelect                = 0x0116
kSGGetUseScreenBufferSelect                = 0x0117
kSGGrabCompressCompleteSelect              = 0x0118
kSGDisplayCompressSelect                   = 0x0119
kSGSetFrameRateSelect                      = 0x011A
kSGGetFrameRateSelect                      = 0x011B
kSGSetPreferredPacketSizeSelect            = 0x0121
kSGGetPreferredPacketSizeSelect            = 0x0122
kSGSetUserVideoCompressorListSelect        = 0x0123
kSGGetUserVideoCompressorListSelect        = 0x0124
kSGSetSoundInputDriverSelect               = 0x0100
kSGGetSoundInputDriverSelect               = 0x0101
kSGSoundInputDriverChangedSelect           = 0x0102
kSGSetSoundRecordChunkSizeSelect           = 0x0103
kSGGetSoundRecordChunkSizeSelect           = 0x0104
kSGSetSoundInputRateSelect                 = 0x0105
kSGGetSoundInputRateSelect                 = 0x0106
kSGSetSoundInputParametersSelect           = 0x0107
kSGGetSoundInputParametersSelect           = 0x0108
kSGSetAdditionalSoundRatesSelect           = 0x0109
kSGGetAdditionalSoundRatesSelect           = 0x010A
kSGSetFontNameSelect                       = 0x0100
kSGSetFontSizeSelect                       = 0x0101
kSGSetTextForeColorSelect                  = 0x0102
kSGSetTextBackColorSelect                  = 0x0103
kSGSetJustificationSelect                  = 0x0104
kSGGetTextReturnToSpaceValueSelect         = 0x0105
kSGSetTextReturnToSpaceValueSelect         = 0x0106
kSGGetInstrumentSelect                     = 0x0100
kSGSetInstrumentSelect                     = 0x0101
kQTVideoOutputGetDisplayModeListSelect     = 0x0001
kQTVideoOutputGetCurrentClientNameSelect   = 0x0002
kQTVideoOutputSetClientNameSelect          = 0x0003
kQTVideoOutputGetClientNameSelect          = 0x0004
kQTVideoOutputBeginSelect                  = 0x0005
kQTVideoOutputEndSelect                    = 0x0006
kQTVideoOutputSetDisplayModeSelect         = 0x0007
kQTVideoOutputGetDisplayModeSelect         = 0x0008
kQTVideoOutputSaveStateSelect              = 0x000A
kQTVideoOutputRestoreStateSelect           = 0x000B
kQTVideoOutputGetGWorldSelect              = 0x000C
kQTVideoOutputGetGWorldParametersSelect    = 0x000D
kQTVideoOutputGetIndSoundOutputSelect      = 0x000E
kQTVideoOutputGetClockSelect               = 0x000F
kQTVideoOutputSetEchoPortSelect            = 0x0010
kQTVideoOutputGetIndImageDecompressorSelect = 0x0011
kQTVideoOutputBaseSetEchoPortSelect        = 0x0012
kQTVideoOutputCopyIndAudioOutputDeviceUIDSelect = 0x0016*/
enum {
kClockGetTimeSelect                        = 0x0001,
kClockNewCallBackSelect                    = 0x0002,
kClockDisposeCallBackSelect                = 0x0003,
kClockCallMeWhenSelect                     = 0x0004,
kClockCancelCallBackSelect                 = 0x0005,
kClockRateChangedSelect                    = 0x0006,
kClockTimeChangedSelect                    = 0x0007,
kClockSetTimeBaseSelect                    = 0x0008,
kClockStartStopChangedSelect               = 0x0009,
kClockGetRateSelect                        = 0x000A,
kClockGetTimesForRateChangeSelect          = 0x000B,
kClockGetRateChangeConstraintsSelect       = 0x000C,
kSCGetCompressionExtendedSelect            = 0x0001,
kSCPositionRectSelect                      = 0x0002,
kSCPositionDialogSelect                    = 0x0003,
kSCSetTestImagePictHandleSelect            = 0x0004,
kSCSetTestImagePictFileSelect              = 0x0005,
kSCSetTestImagePixMapSelect                = 0x0006,
kSCGetBestDeviceRectSelect                 = 0x0007,
kSCRequestImageSettingsSelect              = 0x000A,
kSCCompressImageSelect                     = 0x000B,
kSCCompressPictureSelect                   = 0x000C,
kSCCompressPictureFileSelect               = 0x000D,
kSCRequestSequenceSettingsSelect           = 0x000E,
kSCCompressSequenceBeginSelect             = 0x000F,
kSCCompressSequenceFrameSelect             = 0x0010,
kSCCompressSequenceEndSelect               = 0x0011,
kSCDefaultPictHandleSettingsSelect         = 0x0012,
kSCDefaultPictFileSettingsSelect           = 0x0013,
kSCDefaultPixMapSettingsSelect             = 0x0014,
kSCGetInfoSelect                           = 0x0015,
kSCSetInfoSelect                           = 0x0016,
kSCNewGWorldSelect                         = 0x0017,
kSCSetCompressFlagsSelect                  = 0x0018,
kSCGetCompressFlagsSelect                  = 0x0019,
kSCGetSettingsAsTextSelect                 = 0x001A,
kSCGetSettingsAsAtomContainerSelect        = 0x001B,
kSCSetSettingsFromAtomContainerSelect      = 0x001C,
kSCCompressSequenceFrameAsyncSelect        = 0x001D,
kSCAsyncIdleSelect                         = 0x001E,
kSCCopyCompressionSessionOptionsSelect     = 0x001F,
kSCAudioInvokeLegacyCodecOptionsDialogSelect = 0x0081,
kTweenerInitializeSelect                   = 0x0001,
kTweenerDoTweenSelect                      = 0x0002,
kTweenerResetSelect                        = 0x0003,
kTCGetCurrentTimeCodeSelect                = 0x0101,
kTCGetTimeCodeAtTimeSelect                 = 0x0102,
kTCTimeCodeToStringSelect                  = 0x0103,
kTCTimeCodeToFrameNumberSelect             = 0x0104,
kTCFrameNumberToTimeCodeSelect             = 0x0105,
kTCGetSourceRefSelect                      = 0x0106,
kTCSetSourceRefSelect                      = 0x0107,
kTCSetTimeCodeFlagsSelect                  = 0x0108,
kTCGetTimeCodeFlagsSelect                  = 0x0109,
kTCSetDisplayOptionsSelect                 = 0x010A,
kTCGetDisplayOptionsSelect                 = 0x010B,
kMovieImportHandleSelect                   = 0x0001,
kMovieImportFileSelect                     = 0x0002,
kMovieImportSetSampleDurationSelect        = 0x0003,
kMovieImportSetSampleDescriptionSelect     = 0x0004,
kMovieImportSetMediaFileSelect             = 0x0005,
kMovieImportSetDimensionsSelect            = 0x0006,
kMovieImportSetChunkSizeSelect             = 0x0007,
kMovieImportSetProgressProcSelect          = 0x0008,
kMovieImportSetAuxiliaryDataSelect         = 0x0009,
kMovieImportSetFromScrapSelect             = 0x000A,
kMovieImportDoUserDialogSelect             = 0x000B,
kMovieImportSetDurationSelect              = 0x000C,
kMovieImportGetAuxiliaryDataTypeSelect     = 0x000D,
kMovieImportValidateSelect                 = 0x000E,
kMovieImportGetFileTypeSelect              = 0x000F,
kMovieImportDataRefSelect                  = 0x0010,
kMovieImportGetSampleDescriptionSelect     = 0x0011,
kMovieImportGetMIMETypeListSelect          = 0x0012,
kMovieImportSetOffsetAndLimitSelect        = 0x0013,
kMovieImportGetSettingsAsAtomContainerSelect = 0x0014,
kMovieImportSetSettingsFromAtomContainerSelect = 0x0015,
kMovieImportSetOffsetAndLimit64Select      = 0x0016,
kMovieImportIdleSelect                     = 0x0017,
kMovieImportValidateDataRefSelect          = 0x0018,
kMovieImportGetLoadStateSelect             = 0x0019,
kMovieImportGetMaxLoadedTimeSelect         = 0x001A,
kMovieImportEstimateCompletionTimeSelect   = 0x001B,
kMovieImportSetDontBlockSelect             = 0x001C,
kMovieImportGetDontBlockSelect             = 0x001D,
kMovieImportSetIdleManagerSelect           = 0x001E,
kMovieImportSetNewMovieFlagsSelect         = 0x001F,
kMovieImportGetDestinationMediaTypeSelect  = 0x0020,
kMovieImportSetMediaDataRefSelect          = 0x0021,
kMovieImportDoUserDialogDataRefSelect      = 0x0022,
kMovieExportToHandleSelect                 = 0x0080,
kMovieExportToFileSelect                   = 0x0081,
kMovieExportGetAuxiliaryDataSelect         = 0x0083,
kMovieExportSetProgressProcSelect          = 0x0084,
kMovieExportSetSampleDescriptionSelect     = 0x0085,
kMovieExportDoUserDialogSelect             = 0x0086,
kMovieExportGetCreatorTypeSelect           = 0x0087,
kMovieExportToDataRefSelect                = 0x0088,
kMovieExportFromProceduresToDataRefSelect  = 0x0089,
kMovieExportAddDataSourceSelect            = 0x008A,
kMovieExportValidateSelect                 = 0x008B,
kMovieExportGetSettingsAsAtomContainerSelect = 0x008C,
kMovieExportSetSettingsFromAtomContainerSelect = 0x008D,
kMovieExportGetFileNameExtensionSelect     = 0x008E,
kMovieExportGetShortFileTypeStringSelect   = 0x008F,
kMovieExportGetSourceMediaTypeSelect       = 0x0090,
kMovieExportSetGetMoviePropertyProcSelect  = 0x0091,
kTextExportGetDisplayDataSelect            = 0x0100,
kTextExportGetTimeFractionSelect           = 0x0101,
kTextExportSetTimeFractionSelect           = 0x0102,
kTextExportGetSettingsSelect               = 0x0103,
kTextExportSetSettingsSelect               = 0x0104,
kMIDIImportGetSettingsSelect               = 0x0100,
kMIDIImportSetSettingsSelect               = 0x0101,
kMovieExportNewGetDataAndPropertiesProcsSelect = 0x0100,
kMovieExportDisposeGetDataAndPropertiesProcsSelect = 0x0101,
kGraphicsImageImportSetSequenceEnabledSelect = 0x0100,
kGraphicsImageImportGetSequenceEnabledSelect = 0x0101,
kPreviewShowDataSelect                     = 0x0001,
kPreviewMakePreviewSelect                  = 0x0002,
kPreviewMakePreviewReferenceSelect         = 0x0003,
kPreviewEventSelect                        = 0x0004,
kDataCodecDecompressSelect                 = 0x0001,
kDataCodecGetCompressBufferSizeSelect      = 0x0002,
kDataCodecCompressSelect                   = 0x0003,
kDataCodecBeginInterruptSafeSelect         = 0x0004,
kDataCodecEndInterruptSafeSelect           = 0x0005,
kDataCodecDecompressPartialSelect          = 0x0006,
kDataCodecCompressPartialSelect            = 0x0007,
kDataHGetDataSelect                        = 0x0002,
kDataHPutDataSelect                        = 0x0003,
kDataHFlushDataSelect                      = 0x0004,
kDataHOpenForWriteSelect                   = 0x0005,
kDataHCloseForWriteSelect                  = 0x0006,
kDataHOpenForReadSelect                    = 0x0008,
kDataHCloseForReadSelect                   = 0x0009,
kDataHSetDataRefSelect                     = 0x000A,
kDataHGetDataRefSelect                     = 0x000B,
kDataHCompareDataRefSelect                 = 0x000C,
kDataHTaskSelect                           = 0x000D,
kDataHScheduleDataSelect                   = 0x000E,
kDataHFinishDataSelect                     = 0x000F,
kDataHFlushCacheSelect                     = 0x0010,
kDataHResolveDataRefSelect                 = 0x0011,
kDataHGetFileSizeSelect                    = 0x0012,
kDataHCanUseDataRefSelect                  = 0x0013,
kDataHGetVolumeListSelect                  = 0x0014,
kDataHWriteSelect                          = 0x0015,
kDataHPreextendSelect                      = 0x0016,
kDataHSetFileSizeSelect                    = 0x0017,
kDataHGetFreeSpaceSelect                   = 0x0018,
kDataHCreateFileSelect                     = 0x0019,
kDataHGetPreferredBlockSizeSelect          = 0x001A,
kDataHGetDeviceIndexSelect                 = 0x001B,
kDataHIsStreamingDataHandlerSelect         = 0x001C,
kDataHGetDataInBufferSelect                = 0x001D,
kDataHGetScheduleAheadTimeSelect           = 0x001E,
kDataHSetCacheSizeLimitSelect              = 0x001F,
kDataHGetCacheSizeLimitSelect              = 0x0020,
kDataHGetMovieSelect                       = 0x0021,
kDataHAddMovieSelect                       = 0x0022,
kDataHUpdateMovieSelect                    = 0x0023,
kDataHDoesBufferSelect                     = 0x0024,
kDataHGetFileNameSelect                    = 0x0025,
kDataHGetAvailableFileSizeSelect           = 0x0026,
kDataHGetMacOSFileTypeSelect               = 0x0027,
kDataHGetMIMETypeSelect                    = 0x0028,
kDataHSetDataRefWithAnchorSelect           = 0x0029,
kDataHGetDataRefWithAnchorSelect           = 0x002A,
kDataHSetMacOSFileTypeSelect               = 0x002B,
kDataHSetTimeBaseSelect                    = 0x002C,
kDataHGetInfoFlagsSelect                   = 0x002D,
kDataHScheduleData64Select                 = 0x002E,
kDataHWrite64Select                        = 0x002F,
kDataHGetFileSize64Select                  = 0x0030,
kDataHPreextend64Select                    = 0x0031,
kDataHSetFileSize64Select                  = 0x0032,
kDataHGetFreeSpace64Select                 = 0x0033,
kDataHAppend64Select                       = 0x0034,
kDataHReadAsyncSelect                      = 0x0035,
kDataHPollReadSelect                       = 0x0036,
kDataHGetDataAvailabilitySelect            = 0x0037,
kDataHGetFileSizeAsyncSelect               = 0x003A,
kDataHGetDataRefAsTypeSelect               = 0x003B,
kDataHSetDataRefExtensionSelect            = 0x003C,
kDataHGetDataRefExtensionSelect            = 0x003D,
kDataHGetMovieWithFlagsSelect              = 0x003E,
kDataHGetFileTypeOrderingSelect            = 0x0040,
kDataHCreateFileWithFlagsSelect            = 0x0041,
kDataHGetMIMETypeAsyncSelect               = 0x0042,
kDataHGetInfoSelect                        = 0x0043,
kDataHSetIdleManagerSelect                 = 0x0044,
kDataHDeleteFileSelect                     = 0x0045,
kDataHSetMovieUsageFlagsSelect             = 0x0046,
kDataHUseTemporaryDataRefSelect            = 0x0047,
kDataHGetTemporaryDataRefCapabilitiesSelect = 0x0048,
kDataHRenameFileSelect                     = 0x0049,
kDataHGetAvailableFileSize64Select         = 0x004E,
kDataHGetDataAvailability64Select          = 0x004F,
kDataHPlaybackHintsSelect                  = 0x0103,
kDataHPlaybackHints64Select                = 0x010E,
kDataHGetDataRateSelect                    = 0x0110,
kDataHSetTimeHintsSelect                   = 0x0111,
kVDGetMaxSrcRectSelect                     = 0x0001,
kVDGetActiveSrcRectSelect                  = 0x0002,
kVDSetDigitizerRectSelect                  = 0x0003,
kVDGetDigitizerRectSelect                  = 0x0004,
kVDGetVBlankRectSelect                     = 0x0005,
kVDGetMaskPixMapSelect                     = 0x0006,
kVDGetPlayThruDestinationSelect            = 0x0008,
kVDUseThisCLUTSelect                       = 0x0009,
kVDSetInputGammaValueSelect                = 0x000A,
kVDGetInputGammaValueSelect                = 0x000B,
kVDSetBrightnessSelect                     = 0x000C,
kVDGetBrightnessSelect                     = 0x000D,
kVDSetContrastSelect                       = 0x000E,
kVDSetHueSelect                            = 0x000F,
kVDSetSharpnessSelect                      = 0x0010,
kVDSetSaturationSelect                     = 0x0011,
kVDGetContrastSelect                       = 0x0012,
kVDGetHueSelect                            = 0x0013,
kVDGetSharpnessSelect                      = 0x0014,
kVDGetSaturationSelect                     = 0x0015,
kVDGrabOneFrameSelect                      = 0x0016,
kVDGetMaxAuxBufferSelect                   = 0x0017,
kVDGetDigitizerInfoSelect                  = 0x0019,
kVDGetCurrentFlagsSelect                   = 0x001A,
kVDSetKeyColorSelect                       = 0x001B,
kVDGetKeyColorSelect                       = 0x001C,
kVDAddKeyColorSelect                       = 0x001D,
kVDGetNextKeyColorSelect                   = 0x001E,
kVDSetKeyColorRangeSelect                  = 0x001F,
kVDGetKeyColorRangeSelect                  = 0x0020,
kVDSetDigitizerUserInterruptSelect         = 0x0021,
kVDSetInputColorSpaceModeSelect            = 0x0022,
kVDGetInputColorSpaceModeSelect            = 0x0023,
kVDSetClipStateSelect                      = 0x0024,
kVDGetClipStateSelect                      = 0x0025,
kVDSetClipRgnSelect                        = 0x0026,
kVDClearClipRgnSelect                      = 0x0027,
kVDGetCLUTInUseSelect                      = 0x0028,
kVDSetPLLFilterTypeSelect                  = 0x0029,
kVDGetPLLFilterTypeSelect                  = 0x002A,
kVDGetMaskandValueSelect                   = 0x002B,
kVDSetMasterBlendLevelSelect               = 0x002C,
kVDSetPlayThruDestinationSelect            = 0x002D,
kVDSetPlayThruOnOffSelect                  = 0x002E,
kVDSetFieldPreferenceSelect                = 0x002F,
kVDGetFieldPreferenceSelect                = 0x0030,
kVDPreflightDestinationSelect              = 0x0032,
kVDPreflightGlobalRectSelect               = 0x0033,
kVDSetPlayThruGlobalRectSelect             = 0x0034,
kVDSetInputGammaRecordSelect               = 0x0035,
kVDGetInputGammaRecordSelect               = 0x0036,
kVDSetBlackLevelValueSelect                = 0x0037,
kVDGetBlackLevelValueSelect                = 0x0038,
kVDSetWhiteLevelValueSelect                = 0x0039,
kVDGetWhiteLevelValueSelect                = 0x003A,
kVDGetVideoDefaultsSelect                  = 0x003B,
kVDGetNumberOfInputsSelect                 = 0x003C,
kVDGetInputFormatSelect                    = 0x003D,
kVDSetInputSelect                          = 0x003E,
kVDGetInputSelect                          = 0x003F,
kVDSetInputStandardSelect                  = 0x0040,
kVDSetupBuffersSelect                      = 0x0041,
kVDGrabOneFrameAsyncSelect                 = 0x0042,
kVDDoneSelect                              = 0x0043,
kVDSetCompressionSelect                    = 0x0044,
kVDCompressOneFrameAsyncSelect             = 0x0045,
kVDCompressDoneSelect                      = 0x0046,
kVDReleaseCompressBufferSelect             = 0x0047,
kVDGetImageDescriptionSelect               = 0x0048,
kVDResetCompressSequenceSelect             = 0x0049,
kVDSetCompressionOnOffSelect               = 0x004A,
kVDGetCompressionTypesSelect               = 0x004B,
kVDSetTimeBaseSelect                       = 0x004C,
kVDSetFrameRateSelect                      = 0x004D,
kVDGetDataRateSelect                       = 0x004E,
kVDGetSoundInputDriverSelect               = 0x004F,
kVDGetDMADepthsSelect                      = 0x0050,
kVDGetPreferredTimeScaleSelect             = 0x0051,
kVDReleaseAsyncBuffersSelect               = 0x0052,
kVDSetDataRateSelect                       = 0x0054,
kVDGetTimeCodeSelect                       = 0x0055,
kVDUseSafeBuffersSelect                    = 0x0056,
kVDGetSoundInputSourceSelect               = 0x0057,
kVDGetCompressionTimeSelect                = 0x0058,
kVDSetPreferredPacketSizeSelect            = 0x0059,
kVDSetPreferredImageDimensionsSelect       = 0x005A,
kVDGetPreferredImageDimensionsSelect       = 0x005B,
kVDGetInputNameSelect                      = 0x005C,
kVDSetDestinationPortSelect                = 0x005D,
kVDGetDeviceNameAndFlagsSelect             = 0x005E,
kVDCaptureStateChangingSelect              = 0x005F,
kVDGetUniqueIDsSelect                      = 0x0060,
kVDSelectUniqueIDsSelect                   = 0x0061,
kVDCopyPreferredAudioDeviceSelect          = 0x0063,
kVDIIDCGetFeaturesSelect                   = 0x0200,
kVDIIDCSetFeaturesSelect                   = 0x0201,
kVDIIDCGetDefaultFeaturesSelect            = 0x0202,
kVDIIDCGetCSRDataSelect                    = 0x0203,
kVDIIDCSetCSRDataSelect                    = 0x0204,
kVDIIDCGetFeaturesForSpecifierSelect       = 0x0205,
kXMLParseDataRefSelect                     = 0x0001,
kXMLParseFileSelect                        = 0x0002,
kXMLParseDisposeXMLDocSelect               = 0x0003,
kXMLParseGetDetailedParseErrorSelect       = 0x0004,
kXMLParseAddElementSelect                  = 0x0005,
kXMLParseAddAttributeSelect                = 0x0006,
kXMLParseAddMultipleAttributesSelect       = 0x0007,
kXMLParseAddAttributeAndValueSelect        = 0x0008,
kXMLParseAddMultipleAttributesAndValuesSelect = 0x0009,
kXMLParseAddAttributeValueKindSelect       = 0x000A,
kXMLParseAddNameSpaceSelect                = 0x000B,
kXMLParseSetOffsetAndLimitSelect           = 0x000C,
kXMLParseSetEventParseRefConSelect         = 0x000D,
kXMLParseSetStartDocumentHandlerSelect     = 0x000E,
kXMLParseSetEndDocumentHandlerSelect       = 0x000F,
kXMLParseSetStartElementHandlerSelect      = 0x0010,
kXMLParseSetEndElementHandlerSelect        = 0x0011,
kXMLParseSetCharDataHandlerSelect          = 0x0012,
kXMLParseSetPreprocessInstructionHandlerSelect = 0x0013,
kXMLParseSetCommentHandlerSelect           = 0x0014,
kXMLParseSetCDataHandlerSelect             = 0x0015,
kSGInitializeSelect                        = 0x0001,
kSGSetDataOutputSelect                     = 0x0002,
kSGGetDataOutputSelect                     = 0x0003,
kSGSetGWorldSelect                         = 0x0004,
kSGGetGWorldSelect                         = 0x0005,
kSGNewChannelSelect                        = 0x0006,
kSGDisposeChannelSelect                    = 0x0007,
kSGStartPreviewSelect                      = 0x0010,
kSGStartRecordSelect                       = 0x0011,
kSGIdleSelect                              = 0x0012,
kSGStopSelect                              = 0x0013,
kSGPauseSelect                             = 0x0014,
kSGPrepareSelect                           = 0x0015,
kSGReleaseSelect                           = 0x0016,
kSGGetMovieSelect                          = 0x0017,
kSGSetMaximumRecordTimeSelect              = 0x0018,
kSGGetMaximumRecordTimeSelect              = 0x0019,
kSGGetStorageSpaceRemainingSelect          = 0x001A,
kSGGetTimeRemainingSelect                  = 0x001B,
kSGGrabPictSelect                          = 0x001C,
kSGGetLastMovieResIDSelect                 = 0x001D,
kSGSetFlagsSelect                          = 0x001E,
kSGGetFlagsSelect                          = 0x001F,
kSGSetDataProcSelect                       = 0x0020,
kSGNewChannelFromComponentSelect           = 0x0021,
kSGDisposeDeviceListSelect                 = 0x0022,
kSGAppendDeviceListToMenuSelect            = 0x0023,
kSGSetSettingsSelect                       = 0x0024,
kSGGetSettingsSelect                       = 0x0025,
kSGGetIndChannelSelect                     = 0x0026,
kSGUpdateSelect                            = 0x0027,
kSGGetPauseSelect                          = 0x0028,
kSGSettingsDialogSelect                    = 0x0029,
kSGGetAlignmentProcSelect                  = 0x002A,
kSGSetChannelSettingsSelect                = 0x002B,
kSGGetChannelSettingsSelect                = 0x002C,
kSGGetModeSelect                           = 0x002D,
kSGSetDataRefSelect                        = 0x002E,
kSGGetDataRefSelect                        = 0x002F,
kSGNewOutputSelect                         = 0x0030,
kSGDisposeOutputSelect                     = 0x0031,
kSGSetOutputFlagsSelect                    = 0x0032,
kSGSetChannelOutputSelect                  = 0x0033,
kSGGetDataOutputStorageSpaceRemainingSelect = 0x0034,
kSGHandleUpdateEventSelect                 = 0x0035,
kSGSetOutputNextOutputSelect               = 0x0036,
kSGGetOutputNextOutputSelect               = 0x0037,
kSGSetOutputMaximumOffsetSelect            = 0x0038,
kSGGetOutputMaximumOffsetSelect            = 0x0039,
kSGGetOutputDataReferenceSelect            = 0x003A,
kSGWriteExtendedMovieDataSelect            = 0x003B,
kSGGetStorageSpaceRemaining64Select        = 0x003C,
kSGGetDataOutputStorageSpaceRemaining64Select = 0x003D,
kSGWriteMovieDataSelect                    = 0x0100,
kSGAddFrameReferenceSelect                 = 0x0101,
kSGGetNextFrameReferenceSelect             = 0x0102,
kSGGetTimeBaseSelect                       = 0x0103,
kSGSortDeviceListSelect                    = 0x0104,
kSGAddMovieDataSelect                      = 0x0105,
kSGChangedSourceSelect                     = 0x0106,
kSGAddExtendedFrameReferenceSelect         = 0x0107,
kSGGetNextExtendedFrameReferenceSelect     = 0x0108,
kSGAddExtendedMovieDataSelect              = 0x0109,
kSGAddOutputDataRefToMediaSelect           = 0x010A,
kSGSetSettingsSummarySelect                = 0x010B,
kSGSetChannelUsageSelect                   = 0x0080,
kSGGetChannelUsageSelect                   = 0x0081,
kSGSetChannelBoundsSelect                  = 0x0082,
kSGGetChannelBoundsSelect                  = 0x0083,
kSGSetChannelVolumeSelect                  = 0x0084,
kSGGetChannelVolumeSelect                  = 0x0085,
kSGGetChannelInfoSelect                    = 0x0086,
kSGSetChannelPlayFlagsSelect               = 0x0087,
kSGGetChannelPlayFlagsSelect               = 0x0088,
kSGSetChannelMaxFramesSelect               = 0x0089,
kSGGetChannelMaxFramesSelect               = 0x008A,
kSGSetChannelRefConSelect                  = 0x008B,
kSGSetChannelClipSelect                    = 0x008C,
kSGGetChannelClipSelect                    = 0x008D,
kSGGetChannelSampleDescriptionSelect       = 0x008E,
kSGGetChannelDeviceListSelect              = 0x008F,
kSGSetChannelDeviceSelect                  = 0x0090,
kSGSetChannelMatrixSelect                  = 0x0091,
kSGGetChannelMatrixSelect                  = 0x0092,
kSGGetChannelTimeScaleSelect               = 0x0093,
kSGChannelPutPictureSelect                 = 0x0094,
kSGChannelSetRequestedDataRateSelect       = 0x0095,
kSGChannelGetRequestedDataRateSelect       = 0x0096,
kSGChannelSetDataSourceNameSelect          = 0x0097,
kSGChannelGetDataSourceNameSelect          = 0x0098,
kSGChannelSetCodecSettingsSelect           = 0x0099,
kSGChannelGetCodecSettingsSelect           = 0x009A,
kSGGetChannelTimeBaseSelect                = 0x009B,
kSGGetChannelRefConSelect                  = 0x009C,
kSGGetChannelDeviceAndInputNamesSelect     = 0x009D,
kSGSetChannelDeviceInputSelect             = 0x009E,
kSGSetChannelSettingsStateChangingSelect   = 0x009F,
kSGInitChannelSelect                       = 0x0180,
kSGWriteSamplesSelect                      = 0x0181,
kSGGetDataRateSelect                       = 0x0182,
kSGAlignChannelRectSelect                  = 0x0183,
kSGPanelGetDitlSelect                      = 0x0200,
kSGPanelGetTitleSelect                     = 0x0201,
kSGPanelCanRunSelect                       = 0x0202,
kSGPanelInstallSelect                      = 0x0203,
kSGPanelEventSelect                        = 0x0204,
kSGPanelItemSelect                         = 0x0205,
kSGPanelRemoveSelect                       = 0x0206,
kSGPanelSetGrabberSelect                   = 0x0207,
kSGPanelSetResFileSelect                   = 0x0208,
kSGPanelGetSettingsSelect                  = 0x0209,
kSGPanelSetSettingsSelect                  = 0x020A,
kSGPanelValidateInputSelect                = 0x020B,
kSGPanelSetEventFilterSelect               = 0x020C,
kSGPanelGetDITLForSizeSelect               = 0x020D,
kSGGetSrcVideoBoundsSelect                 = 0x0100,
kSGSetVideoRectSelect                      = 0x0101,
kSGGetVideoRectSelect                      = 0x0102,
kSGGetVideoCompressorTypeSelect            = 0x0103,
kSGSetVideoCompressorTypeSelect            = 0x0104,
kSGSetVideoCompressorSelect                = 0x0105,
kSGGetVideoCompressorSelect                = 0x0106,
kSGGetVideoDigitizerComponentSelect        = 0x0107,
kSGSetVideoDigitizerComponentSelect        = 0x0108,
kSGVideoDigitizerChangedSelect             = 0x0109,
kSGSetVideoBottlenecksSelect               = 0x010A,
kSGGetVideoBottlenecksSelect               = 0x010B,
kSGGrabFrameSelect                         = 0x010C,
kSGGrabFrameCompleteSelect                 = 0x010D,
kSGDisplayFrameSelect                      = 0x010E,
kSGCompressFrameSelect                     = 0x010F,
kSGCompressFrameCompleteSelect             = 0x0110,
kSGAddFrameSelect                          = 0x0111,
kSGTransferFrameForCompressSelect          = 0x0112,
kSGSetCompressBufferSelect                 = 0x0113,
kSGGetCompressBufferSelect                 = 0x0114,
kSGGetBufferInfoSelect                     = 0x0115,
kSGSetUseScreenBufferSelect                = 0x0116,
kSGGetUseScreenBufferSelect                = 0x0117,
kSGGrabCompressCompleteSelect              = 0x0118,
kSGDisplayCompressSelect                   = 0x0119,
kSGSetFrameRateSelect                      = 0x011A,
kSGGetFrameRateSelect                      = 0x011B,
kSGSetPreferredPacketSizeSelect            = 0x0121,
kSGGetPreferredPacketSizeSelect            = 0x0122,
kSGSetUserVideoCompressorListSelect        = 0x0123,
kSGGetUserVideoCompressorListSelect        = 0x0124,
kSGSetSoundInputDriverSelect               = 0x0100,
kSGGetSoundInputDriverSelect               = 0x0101,
kSGSoundInputDriverChangedSelect           = 0x0102,
kSGSetSoundRecordChunkSizeSelect           = 0x0103,
kSGGetSoundRecordChunkSizeSelect           = 0x0104,
kSGSetSoundInputRateSelect                 = 0x0105,
kSGGetSoundInputRateSelect                 = 0x0106,
kSGSetSoundInputParametersSelect           = 0x0107,
kSGGetSoundInputParametersSelect           = 0x0108,
kSGSetAdditionalSoundRatesSelect           = 0x0109,
kSGGetAdditionalSoundRatesSelect           = 0x010A,
kSGSetFontNameSelect                       = 0x0100,
kSGSetFontSizeSelect                       = 0x0101,
kSGSetTextForeColorSelect                  = 0x0102,
kSGSetTextBackColorSelect                  = 0x0103,
kSGSetJustificationSelect                  = 0x0104,
kSGGetTextReturnToSpaceValueSelect         = 0x0105,
kSGSetTextReturnToSpaceValueSelect         = 0x0106,
kSGGetInstrumentSelect                     = 0x0100,
kSGSetInstrumentSelect                     = 0x0101,
kQTVideoOutputGetDisplayModeListSelect     = 0x0001,
kQTVideoOutputGetCurrentClientNameSelect   = 0x0002,
kQTVideoOutputSetClientNameSelect          = 0x0003,
kQTVideoOutputGetClientNameSelect          = 0x0004,
kQTVideoOutputBeginSelect                  = 0x0005,
kQTVideoOutputEndSelect                    = 0x0006,
kQTVideoOutputSetDisplayModeSelect         = 0x0007,
kQTVideoOutputGetDisplayModeSelect         = 0x0008,
kQTVideoOutputSaveStateSelect              = 0x000A,
kQTVideoOutputRestoreStateSelect           = 0x000B,
kQTVideoOutputGetGWorldSelect              = 0x000C,
kQTVideoOutputGetGWorldParametersSelect    = 0x000D,
kQTVideoOutputGetIndSoundOutputSelect      = 0x000E,
kQTVideoOutputGetClockSelect               = 0x000F,
kQTVideoOutputSetEchoPortSelect            = 0x0010,
kQTVideoOutputGetIndImageDecompressorSelect = 0x0011,
kQTVideoOutputBaseSetEchoPortSelect        = 0x0012,
kQTVideoOutputCopyIndAudioOutputDeviceUIDSelect = 0x0016,
};


/*Data Constants
AppleDataCompressorSubType 
The Apple data compressor; value is 'adec'. 
zlibDataCompressorSubType 
The zlib data compressor; value is 'zlib'.*/
enum {
  zlibDataCompressorSubType     = 'zlib',
};

/*TCSetTimeCodeFlags Values

Constants passed to TCSetTimeCodeFlags.

enum {
   tcdfShowTimeCode              = 1 << 0
};
Declared In
QuickTimeComponents.h*/
enum {
   tcdfShowTimeCode              = 1 << 0
};


/*TimeCodeDef Values

Constants passed to TimeCodeDef.

enum {
   tcDropFrame                   = 1 << 0,
   tc24HourMax                   = 1 << 1,
   tcNegTimesOK                  = 1 << 2,
   tcCounter                     = 1 << 3
};
Constants
tcDropFrame

Indicates that the timecode drops frames occasionally to stay in synchronization. Some timecodes run at other than a whole number of frames per second. For example, NTSC video runs at 29.97 frames per second. In order to resynchronize between the timecode rate and a 30 frames-per-second playback rate, the timecode drops a frame at a predictable time (in much the same way that leap years keep the calendar synchronized). 

Available in Mac OS X v10.0 and later.
tc24HourMax

Indicates that the timecode values return to 0 at 24 hours. 

Available in Mac OS X v10.0 and later.
tcNegTimesOK

Indicates that the timecode supports negative time values. 

Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
enum {
   tcDropFrame                   = 1 << 0,
   tc24HourMax                   = 1 << 1,
   tcNegTimesOK                  = 1 << 2,
   tcCounter                     = 1 << 3
};


/*quictime.std.StdQTConstants5
public static final int	attributeValueKindBoolean	4
public static final int	attributeValueKindCaseSensEnum	64
public static final int	attributeValueKindCharString	0
public static final int	attributeValueKindColor	16
public static final int	attributeValueKindEnum	32
public static final int	attributeValueKindInteger	1
public static final int	attributeValueKindOnOff	8
public static final int	attributeValueKindPercent	2
public static final int	codecImageBufferIsInAGPMemory	16
public static final int	codecImageBufferIsInPCIMemory	32
public static final int	codecImageBufferIsOverlaySurface	2
public static final int	codecSrcMustBeImageBuffer	4
public static final int	codecUsesOverlaySurface	1
public static final int	elementFlagAlwaysSelfContained	1
public static final int	elementFlagPreserveWhiteSpace	2
public static final int	handlerCanPicSave	8192
public static final int	hintsNoRenderingTimeOut	2097152
public static final int	kActionDoCompressedActions	6159
public static final int	kActionDontPassKeyEvent	6163
public static final int	kActionFlashTrackDoButtonActions	10246
public static final int	kActionFlashTrackSetFlashVariable	10245
public static final int	kActionListAddElement	13312
public static final int	kActionListExchangeLists	13318
public static final int	kActionListPasteFromXML	13315
public static final int	kActionListRemoveElements	13313
public static final int	kActionListServerQuery	13319
public static final int	kActionListSetElementValue	13314
public static final int	kActionListSetFromURL	13317
public static final int	kActionListSetMatchingFromXML	13316
public static final int	kActionLoadComponent	6161
public static final int	kActionMovieTrackLoadChildMovieWithQTListParams	11266
public static final int	kActionQTVREnableHotSpot	4101
public static final int	kActionQTVRShowHotSpots	4102
public static final int	kActionQTVRTranslateObject	4103
public static final int	kActionSendAppMessage	6160
public static final int	kActionSetFocus	6162
public static final int	kActionSpriteExchangeLists	3084
public static final int	kActionTextTrackFindText	12305
public static final int	kActionTextTrackKeyEntry	12308
public static final int	kActionTextTrackMouseDown	12309
public static final int	kActionTextTrackPasteText	12288
public static final int	kActionTextTrackRelativeScroll	12304
public static final int	kActionTextTrackSetAlignment	12299
public static final int	kActionTextTrackSetBackgroundColor	12294
public static final int	kActionTextTrackSetDisplayFlags	12302
public static final int	kActionTextTrackSetDropShadow	12301
public static final int	kActionTextTrackSetEditable	12310
public static final int	kActionTextTrackSetFace	12296
public static final int	kActionTextTrackSetFont	12297
public static final int	kActionTextTrackSetForegroundColor	12295
public static final int	kActionTextTrackSetHilite	12300
public static final int	kActionTextTrackSetHyperTextColor	12307
public static final int	kActionTextTrackSetHyperTextFace	12306
public static final int	kActionTextTrackSetScroll	12303
public static final int	kActionTextTrackSetSelection	12293
public static final int	kActionTextTrackSetSize	12298
public static final int	kActionTextTrackSetTextBox	12291
public static final int	kActionTextTrackSetTextStyle	12292
public static final int	kActionTrackSetBassTreble	2057
public static final int	kActionTrackSetIdleFrequency	2056
public static final int	kFetchAsBooleanPtr	1
public static final int	kFetchAsComponentDescriptionPtr	15
public static final int	kFetchAsCString	16
public static final int	kFetchAsFixedPtr	12
public static final int	kFetchAsFloatPtr	8
public static final int	kFetchAsHandle	6
public static final int	kFetchAsLongPtr	3
public static final int	kFetchAsMatrixRecordPtr	4
public static final int	kFetchAsModifierTrackGraphicsModeRecord	5
public static final int	kFetchAsNewAtomContainer	10
public static final int	kFetchAsPointPtr	9
public static final int	kFetchAsQTEventRecordPtr	11
public static final int	kFetchAsRgnHandle	14
public static final int	kFetchAsSetControllerValuePtr	13
public static final int	kFetchAsShortPtr	2
public static final int	kFetchAsStr255	7
public static final int	kFirstMultiTargetAction	13312
public static final int	kFirstTextTrackAction	12288
public static final int	kFlashMediaDoButtonActionsSelect	268
public static final int	kFlashMediaGetFlashVariableSelect	266
public static final int	kFlashMediaGetSupportedSwfVersionSelect	269
public static final int	kFlashMediaSetFlashVariableSelect	267
public static final int	kGetMovieImporterAutoImportOnly	1024
public static final int	kICMSequenceTaskName	1953390957
public static final int	kICMSequenceTaskWeight	1953981801
public static final int	kLastAction5	13319
public static final int	kLastMultiTargetAction	13319
public static final int	kLastTextTrackAction	12310
public static final int	kMCAddMovieSegmentSelect	51
public static final int	kMCTrimMovieSegmentSelect	52
public static final int	kMediaQTIdleFrequencySelector	1768187505
public static final int	kMHInfoEncodedFrameRate	1869767028
public static final int	kMovieAnchorDataRefIsDefault	1
public static final int	kMovieLoadStateComplete	100000
public static final int	kMovieLoadStateLoading	1000
public static final int	kMovieLoadStatePlayable	10000
public static final int	kMovieLoadStatePlaythroughOK	20000
public static final int	kMovieMediaPrerollTime	1886545266
public static final int	kOperandATan	8195
public static final int	kOperandATan2	8196
public static final int	kOperandCanHaveFocus	5124
public static final int	kOperandCos	8193
public static final int	kOperandDegreesToRadians	8197
public static final int	kOperandEventParameter	26
public static final int	kOperandExponent	8200
public static final int	kOperandFlashTrackVariable	9216
public static final int	kOperandFreeMemory	27
public static final int	kOperandHasFocus	5125
public static final int	kOperandListCopyToXML	7171
public static final int	kOperandListCountElements	7168
public static final int	kOperandListGetElementPathByIndex	7169
public static final int	kOperandListGetElementValue	7170
public static final int	kOperandLog	8201
public static final int	kOperandMovieDuration	1029
public static final int	kOperandMovieHeight	1032
public static final int	kOperandMovieID	1037
public static final int	kOperandMovieIsActive	1035
public static final int	kOperandMovieLoadState	1033
public static final int	kOperandMovieName	1036
public static final int	kOperandMovieTimeScale	1030
public static final int	kOperandMovieTrackCount	1034
public static final int	kOperandMovieWidth	1031
public static final int	kOperandNetworkStatus	28
public static final int	kOperandQTVRHotSpotsVisible	4100
public static final int	kOperandQTVRViewCenterH	4101
public static final int	kOperandQTVRViewCenterV	4102
public static final int	kOperandQuickTimeVersionRegistered	29
public static final int	kOperandRadiansToDegrees	8198
public static final int	kOperandSin	8192
public static final int	kOperandSpriteName	3095
public static final int	kOperandSpriteTrackSpriteIDAtPoint	3094
public static final int	kOperandSquareRoot	8199
public static final int	kOperandStringCompare	10241
public static final int	kOperandStringConcat	10243
public static final int	kOperandStringLength	10240
public static final int	kOperandStringSubString	10242
public static final int	kOperandSystemVersion	30
public static final int	kOperandTan	8194
public static final int	kOperandTextTrackCopyText	6145
public static final int	kOperandTextTrackEditable	6144
public static final int	kOperandTextTrackEndSelection	6147
public static final int	kOperandTextTrackStartSelection	6146
public static final int	kOperandTextTrackTextBoxBottom	6151
public static final int	kOperandTextTrackTextBoxLeft	6148
public static final int	kOperandTextTrackTextBoxRight	6150
public static final int	kOperandTextTrackTextBoxTop	6149
public static final int	kOperandTextTrackTextLength	6152
public static final int	kOperandTrackBass	2058
public static final int	kOperandTrackDuration	2054
public static final int	kOperandTrackID	2056
public static final int	kOperandTrackIdleFrequency	2057
public static final int	kOperandTrackName	2055
public static final int	kOperandTrackTreble	2059
public static final int	kParameterUsageCircularDegrees	1684367203
public static final int	kParameterUsageCircularRadians	1918985315
public static final int	kQTAllowAggressiveImporters	16
public static final int	kQTAllowImportersThatWouldCreateNewFile	8
public static final int	kQTAllowOpeningStillImagesAsMovies	4
public static final int	kQTAppMessageDisplayChannels	5
public static final int	kQTAppMessageEnterFullScreenRequested	6
public static final int	kQTAppMessageExitFullScreenRequested	4
public static final int	kQTAppMessageSoftwareChanged	1
public static final int	kQTAppMessageWindowCloseRequested	3
public static final int	kQTBandwidthChangeRequest	4
public static final int	kQTBandwidthNotifyGoodToGo	2
public static final int	kQTBandwidthNotifyNeedToStop	1
public static final int	kQTBandwidthQueueRequest	8
public static final int	kQTBandwidthScheduledRequest	16
public static final int	kQTBandwidthVoluntaryRelease	32
public static final int	kQTCloneDontCopyEdits	2
public static final int	kQTCloneShareSamples	1
public static final int	kQTDontLookForMovieImporterIfGraphicsImporterFound	2
public static final int	kQTDontUseDataToFindImporter	1
public static final int	kQTEventListReceived	1818850164
public static final int	kQTEventPayloadIsQTList	1
public static final int	kQTGetMIMETypeInfoIsQuickTimeMovieType	1836019574
public static final int	kQTGetMIMETypeInfoIsUnhelpfulType	1685417314
public static final int	kQTListElementTypeEmpty	1701671028
public static final int	kQTListElementTypeFloat	1718382433
public static final int	kQTListElementTypeList	1818850164
public static final int	kQTListElementTypeString	1937011232
public static final int	kQTNetworkStatusConnected	1
public static final int	kQTNetworkStatusNoNetwork	-2
public static final int	kQTNetworkStatusNotConnected	0
public static final int	kQTNetworkStatusUncertain	-1
public static final int	kQTParseTextHREFBaseURL	1651864172
public static final int	kQTParseTextHREFChapter	1667785072
public static final int	kQTParseTextHREFClickPoint	1668049259
public static final int	kQTParseTextHREFDelimiter	1684368493
public static final int	kQTParseTextHREFEMBEDArgs	1835165028
public static final int	kQTParseTextHREFHREF	1752327526
public static final int	kQTParseTextHREFIsAutoHREF	1635087471
public static final int	kQTParseTextHREFIsServerMap	1936548208
public static final int	kQTParseTextHREFRecomposeHREF	1919447654
public static final int	kQTParseTextHREFTarget	1952543335
public static final int	kQTParseTextHREFText	1952807028
public static final int	kQTParseTextHREFURL	1970433056
public static final int	kQTParseTextHREFUseAltDelim	1634497636
public static final int	kQTPhotoshopLayerClipping	1818455152
public static final int	kQTPhotoshopLayerFlags	1818651751
public static final int	kQTPhotoshopLayerMode	1819111268
public static final int	kQTPhotoshopLayerName	-1452511635
public static final int	kQTPhotoshopLayerOpacity	1819242593
public static final int	kQTPhotoshopLayerUnicodeName	1819635305
public static final int	kQTRealTimeSharedPriority	25
public static final int	kScriptIsAppleScript	32
public static final int	kTargetCurrentQTEventParams	1702260833
public static final int	kTextEditState	21
public static final int	kTextEndSelection	23
public static final int	kTextHyperTextColor	17
public static final int	kTextHyperTextFace	16
public static final int	kTextKeyEntry	18
public static final int	kTextLength	22
public static final int	kTextMediaGetTextPropertySelect	269
public static final int	kTextMouseDown	19
public static final int	kTextRelativeScroll	15
public static final int	kTextSelection	4
public static final int	kTextStartSelection	22
public static final int	kTextTextBox	20
public static final int	kTextTextBoxBottom	27
public static final int	kTextTextBoxLeft	24
public static final int	kTextTextBoxRight	26
public static final int	kTextTextBoxTop	25
public static final int	kUserDataTextAlbum	-1453233054
public static final int	kUserDataTextArtist	-1455336876
public static final int	kUserDataTextComposer	-1453101203
public static final int	kUserDataTextEncodedBy	-1452970397
public static final int	kUserDataTextGenre	-1452841618
public static final int	kUserDataTextOriginalArtist	-1452314523
public static final int	kUserDataTextTrack	-1451986325
public static final int	kUserDataTextURLLink	-1451920788
public static final short	mcActionAppMessageReceived	85
public static final short	mcActionAutoPlay	83
public static final short	mcActionEvaluateExpressionWithType	89
public static final short	mcActionGetMovieActive	92
public static final short	mcActionGetMovieID	91
public static final short	mcActionGetMovieName	90
public static final short	mcActionMovieFinished	86
public static final short	mcActionPauseToBuffer	84
public static final short	mcActionSetVolumeStep	82
public static final int	mDisableIdleActions	4096
public static final int	mDoIdleActionsBeforeDraws	2048
public static final int	mIgnorePortOrigin	8192
public static final int	mPrecompositeOnly	512
public static final int	mSoundOnly	1024
public static final int	mWantIdleActions	32
public static final int	nameSpaceIDNone	0
public static final int	nullDataHandlerSubType	1853189228
public static final int	pointerDataHandlerSubType	1886679584
public static final int	txtProcDefaultDisplay	0
public static final int	txtProcDoDisplay	2
public static final int	txtProcDontDisplay	1
public static final int	videoFlagDontLeanAhead	1
public static final int	xmlContentTypeCharData	2
public static final int	xmlContentTypeElement	1
public static final int	xmlContentTypeInvalid	0
public static final int	xmlIdentifierInvalid	0
public static final int	xmlIdentifierUnrecognized	-1
public static final int	xmlParseComponentSubType	2020437024
public static final int	xmlParseComponentType	1885434483
public static final int	xmlParseFlagAllowUnquotedAttributeValues	2
public static final int	xmlParseFlagAllowUppercase	1
public static final int	xmlParseFlagEventParseOnly	*/
enum {
  xmlContentTypeInvalid         = 0,
  xmlContentTypeElement	=1,
  nameSpaceIDNone	=0,
  attributeValueKindCharString	=0,
	xmlIdentifierInvalid	=0,
};

/*GraphicsExportGetMIMETypeList

Returns MIME types and other information about the graphics format in a graphics export operation.

ComponentResult GraphicsExportGetMIMETypeList (
   GraphicsExportComponent    ci,
   void                       *qtAtomContainerPtr );
Parameters
ci

The component instance that identifies your connection to the graphics exporter component.
qtAtomContainerPtr

Receives a newly-created QuickTime atom container that contains information about the graphics format.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function creates and returns a QuickTime atom container that contains the format's name, as a string in an atom of type 'desc' (kMimeInfoDescriptionTag), and optionally the MIME type as a string in an atom of type 'mime'[atom] (kMimeInfoMimeTypeTag).
Version Notes

Introduced in QuickTime 4.
Availability
Available in Mac OS X v10.0 and later.
Declared In
ImageCompression.h*/
enum {
  kMimeInfoMimeTypeTag          = 'mime',
};

/*kDataHCanRead

Constants grouped with kDataHCanRead.

enum {
   kDataHCanRead                 = 1L << 0,
   kDataHSpecialRead             = 1L << 1,
   kDataHSpecialReadFile         = 1L << 2,
   kDataHCanWrite                = 1L << 3,
   kDataHSpecialWrite            = 1 << 4,
   kDataHSpecialWriteFile        = 1 << 5,
   kDataHCanStreamingWrite       = 1 << 6,
   kDataHMustCheckDataRef        = 1 << 7
};
Constants
kDataHCanRead

Indicates that your data handler can read from the volume. 

Available in Mac OS X v10.0 and later.
kDataHSpecialRead

Indicates that your data handler can read from the volume using a specialized method. For example, your data handler might support access to networked multimedia servers using a special protocol. In that case, your component would set this flag to 1 whenever the volume resides on a supported server. 

Available in Mac OS X v10.0 and later.
kDataHSpecialReadFile

Reserved for use by Apple. 

Available in Mac OS X v10.0 and later.
kDataHCanWrite

Indicates that your data handler can write data to the volume. In particular, use this flag to indicate that your data handler's DataHPutData function will work with this volume. 

Available in Mac OS X v10.0 and later.
kDataHSpecialWrite

Indicates that your data handler can write to the volume using a specialized method. As with the kDataHSpecialRead flag, your data handler would use this flag to indicate that your component can access the volume using specialized support (for example, special network protocols). 

Available in Mac OS X v10.0 and later.
kDataHCanStreamingWrite

Indicates that your data handler can support the special write functions for capturing movie data when writing to this volume. 

Available in Mac OS X v10.0 and later.*/
enum {
   kDataHCanRead                 = 1L << 0,
   kDataHSpecialRead             = 1L << 1,
   kDataHSpecialReadFile         = 1L << 2,
   kDataHCanWrite                = 1L << 3,
   kDataHSpecialWrite            = 1 << 4,
   kDataHSpecialWriteFile        = 1 << 5,
   kDataHCanStreamingWrite       = 1 << 6,
   kDataHMustCheckDataRef        = 1 << 7
};


/*SGGrabPict Values

Constants passed to SGGrabPict.

enum {
   grabPictOffScreen             = 1,
   grabPictIgnoreClip            = 2,
   grabPictCurrentImage          = 4
};
Declared In
QuickTimeComponents.h*/
enum {
   grabPictOffScreen             = 1,
   grabPictIgnoreClip            = 2,
   grabPictCurrentImage          = 4
};

/*If you include kQTFileTypeQuickTimeImage ('qtif') in the list of types passed to StandardGetFilePreview, all files that can be opened with graphics importers are included in the file list. The slow validate approach is not used in this case.*/
enum {
kQTFileTypeQuickTimeImage ='qtif' 
};

/*SGCompressInfo

Defines the characteristics of a buffer that contains a captured image that has been compressed.

struct SGCompressInfo {
   Ptr              buffer;
   unsigned long    bufferSize;
   UInt8            similarity;
   UInt8            reserved;
};
Fields
buffer
Discussion

Points to the buffer that contains the compressed image. This pointer must contain a 32-bit clean address.
bufferSize
Discussion

Specifies the number of bytes of image data in the buffer.
similarity
Discussion

Indicates the relative similarity of this image to the previous image in a sequence. A value of 0 indicates that the current frame is a key frame in the sequence. A value of 255 indicates that the current frame is identical to the previous frame. Values from 1 through 254 indicate relative similarity, ranging from very different (1) to very similar (254).
reserved
Discussion

Reserved; set to 0.
Discussion

Callback functions use this structure to exchange information about compressed images. For example, SGCompressCompleteBottleProc must format a compression information record whenever a video frame is compressed.
Related Functions
SGCompressCompleteBottleProc
SGCompressFrameComplete
SGGrabCompressComplete
SGGrabCompressCompleteBottleProc 
Declared In
QuickTimeComponents.h*/

typedef struct SGCompressInfo {
   Ptr              buffer;
   unsigned long    bufferSize;
   UInt8            similarity;
   UInt8            reserved;
}SGCompressInfo ;

/*Component Capability Flags for Clocks

The Component Manager allows a clock component to specify information about its capabilities in the componentFlags field of the component description structure. Apple has defined two component flags for clock components. These flags specify information about the capabilities of the clock component. The component author sets these flags in the componentFlags field of the component’s ComponentDescription structure. The following constants can be used to manipulate these flags. Clock component authors should set them appropriately for their clock.
enum {
    kClockRateIsLinear = 1,        /* clock keeps constant rate *
    kClockImplementsCallBacks = 2  /* clock supports callback events *
};


kClockRateIsLinear indicates that your clock maintains a constant rate. Most clocks that you deal with in the everyday world fall into this category. An example of a clock with an irregular rate is a clock that is dependent on the position of the Macintosh computer’s mouse; the clock’s rate might change depending upon where the user moves the mouse. Set this flag to 1 if your clock has a constant rate.

kClockImplementsCallBacks indicates that your clock supports callback events. Set this flag to 1 if your clock supports callback events.

You should set the componentFlags field appropriately in the component description structure that is associated with your clock component.*/

enum {
    kClockRateIsLinear = 1,        /* clock keeps constant rate */
    kClockImplementsCallBacks = 2  /* clock supports callback events */
};

/*SCParams Values

Constants passed to SCParams.

enum {
   scGetCompression              = 1,
   scShowMotionSettings          = 1L << 0,
   scSettingsChangedItem         = -1
};
Constants
scGetCompression

Undocumented 

Available in Mac OS X v10.0 and later.
scShowMotionSettings

Undocumented 

Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

enum {
   scGetCompression              = 1,
   scShowMotionSettings          = 1L << 0,
   scSettingsChangedItem         = -1
};

/*Video Digitizer Capabilities

Flags that indicate the input and output capabilities of a video digitizer.

enum {
   digiInDoesNTSC                = 1L << 0,
   /* digitizer supports NTSC input format *
   digiInDoesPAL                 = 1L << 1,
   /* digitizer supports PAL input format *
   digiInDoesSECAM               = 1L << 2,
   /* digitizer supports SECAM input format *
   digiInDoesGenLock             = 1L << 7,
   /* digitizer does genlock *
   digiInDoesComposite           = 1L << 8,
   /* digitizer supports composite input type *
   digiInDoesSVideo              = 1L << 9,
   /* digitizer supports S-Video input type *
   digiInDoesComponent           = 1L << 10,
   /* digitizer supports component = rgb,
   input type *
   digiInVTR_Broadcast           = 1L << 11,
   / digitizer can differentiate between the two *
   digiInDoesColor               = 1L << 12,
   / digitizer supports color *
   digiInDoesBW                  = 1L << 13,
   / digitizer supports black & white *
   / Digitizer Input Current Flags = these are valid only during active operating conditions,
   *
   digiInSignalLock              = 1L << 31 / digitizer detects input signal is locked,
   this bit = horiz lock || vertical lock *
};
enum {
   digiOutDoes1                  = 1L << 0,
   /* digitizer supports 1 bit pixels *
   digiOutDoes2                  = 1L << 1,
   /* digitizer supports 2 bit pixels *
   digiOutDoes4                  = 1L << 2,
   /* digitizer supports 4 bit pixels *
   digiOutDoes8                  = 1L << 3,
   /* digitizer supports 8 bit pixels *
   digiOutDoes16                 = 1L << 4,
   /* digitizer supports 16 bit pixels *
   digiOutDoes32                 = 1L << 5,
   /* digitizer supports 32 bit pixels *
   digiOutDoesDither             = 1L << 6,
   /* digitizer dithers in indexed modes *
   digiOutDoesStretch            = 1L << 7,
   /* digitizer can arbitrarily stretch *
   digiOutDoesShrink             = 1L << 8,
   /* digitizer can arbitrarily shrink *
   digiOutDoesMask               = 1L << 9,
   /* digitizer can mask to clipping regions *
   digiOutDoesDouble             = 1L << 11,
   /* digitizer can stretch to exactly double size *
   digiOutDoesQuad               = 1L << 12,
   /* digitizer can stretch exactly quadruple size /
   digiOutDoesQuarter            = 1L << 13,
   /* digitizer can shrink to exactly quarter size *
   digiOutDoesSixteenth          = 1L << 14,
   /* digitizer can shrink to exactly sixteenth size *
   digiOutDoesRotate             = 1L << 15,
   /* digitizer supports rotate transformations *
   digiOutDoesHorizFlip          = 1L << 16,
   /* digitizer supports horizontal flips Sx < 0 *
   digiOutDoesVertFlip           = 1L << 17,
   /* digitizer supports vertical flips Sy < 0 *
   digiOutDoesSkew               = 1L << 18,
   /* digitizer supports skew = shear,
twist,
   *
   digiOutDoesBlend              = 1L << 19,
   digiOutDoesWarp               = 1L << 20,
   digiOutDoesHW_DMA             = 1L << 21,
   /* digitizer not constrained to local device *
   digiOutDoesHWPlayThru         = 1L << 22,
   /* digitizer doesn't need time to play thru *
   digiOutDoesILUT               = 1L << 23,
   /* digitizer does inverse LUT for index modes *
   digiOutDoesKeyColor           = 1L << 24,
   /* digitizer does key color functions too *
   digiOutDoesAsyncGrabs         = 1L << 25,
   /* digitizer supports async grabs *
   digiOutDoesUnreadableScreenBits = 1L << 26,
   /* playthru doesn't generate readable bits on screen*
   digiOutDoesCompress           = 1L << 27,
   /* supports alternate output data types *
   digiOutDoesCompressOnly       = 1L << 28,
   /* can't provide raw frames anywhere *
   digiOutDoesPlayThruDuringCompress = 1L << 29,
   /* digi can do playthru while providing compressed data *
   digiOutDoesCompressPartiallyVisible = 1L << 30,
   /* digi doesn't need all bits visible on screen to do hardware compress *
   digiOutDoesNotNeedCopyOfCompressData = 1L << 31 /* digi doesn't need any bufferization when providing compressed data *
};
Constants
digiInDoesNTSC

The video digitizer supports National Television System Committee (NTSC) format input video signals. This flag is set to 1 if the digitizer component supports NTSC video. 

Available in Mac OS X v10.0 and later.
digiInDoesPAL

The video digitizer component supports Phase Alternation Line (PAL) format input video signals. This flag is set to 1 if the digitizer component supports PAL video. 

Available in Mac OS X v10.0 and later.
digiInDoesSECAM

The video digitizer component supports Systeme Electronique Couleur avec Memoire (SECAM) format input video signals. This flag is set to 1 if the digitizer component supports SECAM video. 

Available in Mac OS X v10.0 and later.
digiInDoesGenLock

The video digitizer component supports genlock; that is, the digitizer can derive its timing from an external time base. This flag is set to 1 if the digitizer component supports genlock. 

Available in Mac OS X v10.0 and later.
digiInDoesComposite

The video digitizer component supports composite input video. This flag is set to 1 if the digitizer component supports composite input. 

Available in Mac OS X v10.0 and later.
digiInDoesComponent

The video digitizer component supports RGB input video. This flag is set to 1 if the digitizer component supports RGB input. 

Available in Mac OS X v10.0 and later.
digiInVTR_Broadcast

The video digitizer component can distinguish between an input signal that emanates from a videotape player and a broadcast signal. This flag is set to 1 if the digitizer component can differentiate between the two different signal types. 

Available in Mac OS X v10.0 and later.
digiInDoesColor

The video digitizer component supports color input. This flag is set to 1 if the digitizer component can accept color input. 

Available in Mac OS X v10.0 and later.
digiInDoesBW

The video digitizer component supports grayscale input. This flag is set to 1 if the digitizer component can accept grayscale input. 

Available in Mac OS X v10.0 and later.
digiInSignalLock

The video digitizer component is locked onto the input signal. If this flag is set to 1, the digitizer component detects either vertical or horizontal signal lock. 

Available in Mac OS X v10.0 and later.
digiOutDoes1

The video digitizer component can work with pixel maps that contain 1-bit pixels. If this flag is set to 1, then the digitizer component can write images that contain 1-bit pixels. If this flag is set to 0, then the digitizer component cannot handle such images. 

Available in Mac OS X v10.0 and later.
digiOutDoes2

The video digitizer component can work with pixel maps that contain 2-bit pixels. If this flag is set to 1, then the digitizer component can write images that contain 2-bit pixels. If this flag is set to 0, then the digitizer component cannot handle such images. 

Available in Mac OS X v10.0 and later.
digiOutDoes4

The video digitizer component can work with pixel maps that contain 4-bit pixels. If this flag is set to 1, then the digitizer component can write images that contain 4-bit pixels. If this flag is set to 0, then the digitizer component cannot handle such images. 

Available in Mac OS X v10.0 and later.
digiOutDoes8

The video digitizer component can work with pixel maps that contain 8-bit pixels. If this flag is set to 1, then the digitizer component can write images that contain 8-bit pixels. If this flag is set to 0, then the digitizer component cannot handle such images. 

Available in Mac OS X v10.0 and later.
digiOutDoes16

The video digitizer component can work with pixel maps that contain 16-bit pixels. If this flag is set to 1, then the digitizer component can write images that contain 16-bit pixels. If this flag is set to 0, then the digitizer component cannot handle such images. 

Available in Mac OS X v10.0 and later.
digiOutDoes32

The video digitizer component can work with pixel maps that contain 32-bit pixels. If this flag is set to 1, then the digitizer component can write images that contain 32-bit pixels. If this flag is set to 0, then the digitizer component cannot handle such images. 

Available in Mac OS X v10.0 and later.
digiOutDoesDither

The video digitizer component supports dithering. If this flag is set to 1, the component supports dithering of colors. If this flag is set to 0, the digitizer component does not support dithering. 

Available in Mac OS X v10.0 and later.
digiOutDoesStretch

The video digitizer component can stretch images to arbitrary sizes. If this flag is set to 1, the digitizer component can stretch images. If this flag is set to 0, the digitizer component does not support stretching. 

Available in Mac OS X v10.0 and later.
digiOutDoesShrink

The video digitizer component can shrink images to arbitrary sizes. If this flag is set to 1, the digitizer component can shrink images. If this flag is set to 0, the digitizer component does not support shrinking. 

Available in Mac OS X v10.0 and later.
digiOutDoesMask

The video digitizer component can handle clipping regions. If this flag is set to 1, the digitizer component can mask to an arbitrary clipping region. If this flag is set to 0, the digitizer component does not support clipping regions. 

Available in Mac OS X v10.0 and later.
digiOutDoesDouble

The video digitizer component supports stretching to quadruple size when displaying the output video. The parameters for the stretch operation are specified in the matrix structure for the request; the component modifies the scaling attributes of the matrix (see the chapter "Movie Toolbox" in Inside Macintosh: QuickTime for information about transformation matrices). If this flag is set to 1, the digitizer component can stretch an image to exactly four times its original size, up to the maximum size specified by the maxDestHeight and maxDestWidth fields in the digitizer information structure. If this flag is set to 0, the digitizer component does not support stretching to quadruple size. 

Available in Mac OS X v10.0 and later.
digiOutDoesQuad

The video digitizer component supports stretching an image to 16 times its original size when displaying the output video. The parameters for the stretch operation are specified in the matrix structure for the request; the component modifies the scaling attributes of the matrix (see the chapter "Movie Toolbox" in Inside Macintosh: QuickTime for information about transformation matrices). If this flag is set to 1, the digitizer component can stretch an image to exactly 16 times its original size, up to the maximum size specified by the maxDestHeight and maxDestWidth fields in the digitizer information structure. If this flag is set to 0, the digitizer component does not support this capability. 

Available in Mac OS X v10.0 and later.
digiOutDoesQuarter

The video digitizer component can shrink an image to one-quarter of its original size when displaying the output video. The parameters for the shrink operation are specified in the matrix structure for the request; the component modifies the scaling attributes of the matrix (see the chapter "Movie Toolbox" in Inside Macintosh: QuickTime for information about transformation matrices). If this flag is set to 1, the digitizer component can shrink an image to exactly one-quarter of its original size, down to the minimum size specified by the minDestHeight and minDestWidth fields in the digitizer information structure. If this flag is set to 0, the digitizer component does not support this capability. 

Available in Mac OS X v10.0 and later.
digiOutDoesSixteenth

The video digitizer component can shrink an image to 1/16 of its original size when displaying the output video. The parameters for the shrink operation are specified in the matrix structure for the request; the digitizer component modifies the scaling attributes of the matrix (see the chapter "Movie Toolbox" in Inside Macintosh: QuickTime for information about transformation matrices). If this flag is set to 1, the digitizer component can shrink an image to exactly 1/16 of its original size, down to the minimum size specified by the minDestHeight and minDestWidth fields in the digitizer information structure. If this flag is set to 0, the digitizer component does not support this capability. 

Available in Mac OS X v10.0 and later.
digiOutDoesRotate

The video digitizer component can rotate an image when displaying the output video. The parameters for the rotation are specified in the matrix structure for an operation. If this flag is set to 1, the digitizer component can rotate the image. If this flag is set to 0, the digitizer component cannot rotate the resulting image. 

Available in Mac OS X v10.0 and later.
digiOutDoesHorizFlip

The video digitizer component can flip an image horizontally when displaying the output video. The parameters for the horizontal flip are specified in the matrix structure for an operation. If this flag is set to 1, the digitizer component can flip the image. If this flag is set to 0, the digitizer component cannot flip the resulting image. 

Available in Mac OS X v10.0 and later.
digiOutDoesVertFlip

The video digitizer component can flip an image vertically when displaying the output video. The parameters for the vertical flip are specified in the matrix structure for an operation. If this flag is set to 1, the digitizer component can flip the image. If this flag is set to 0, the digitizer component cannot flip the resulting image. 

Available in Mac OS X v10.0 and later.
digiOutDoesSkew

The video digitizer component can skew an image when displaying the output video. Skewing an image distorts it linearly along only a single axis; for example, drawing a rectangular image into a parallelogram-shaped region. The parameters for the skew operation are specified in the matrix structure for the request. If this flag is set to 1, the digitizer component can skew an image. If this flag is set to 0, the digitizer component does not support this capability. 

Available in Mac OS X v10.0 and later.
digiOutDoesBlend

The video digitizer component can blend the resulting image with a matte when displaying the output video. The matte is provided by the application by defining either an alpha channel or a mask plane. If this flag is set to 1, the digitizer component can blend. If this flag is set to 0, the digitizer component does not support this capability. 

Available in Mac OS X v10.0 and later.
digiOutDoesWarp

The video digitizer component can warp an image when displaying the output video. Warping an image distorts it along one or more axes, perhaps nonlinearly, in effect "bending" the result region. The parameters for the warp operation are specified in the matrix structure for the request. If this flag is set to 1, the digitizer component can warp an image. If this flag is set to 0, the digitizer component does not support this capability. 

Available in Mac OS X v10.0 and later.
digiOutDoesHWPlayThru

The video digitizer component does not need idle time in order to display its video. If this flag is set to 1, your application does not need to grant processor time to the digitizer component at normal display speeds. 

Available in Mac OS X v10.0 and later.
digiOutDoesILUT

The video digitizer component supports inverse lookup tables for indexed color modes. If this flag is set to 1, the digitizer component uses inverse lookup tables when appropriate. 

Available in Mac OS X v10.0 and later.
digiOutDoesKeyColor

The video digitizer component supports clipping by means of key colors. If this flag is set to 1, the digitizer component can clip to a region defined by a key color. 

Available in Mac OS X v10.0 and later.
digiOutDoesAsyncGrabs

The video digitizer component can operate asynchronously. If this flag is set to 1, your application can use the VDSetupBuffers and VDGrabOneFrameAsync functions (described on page 0-669 and page 0-671, respectively). 

Available in Mac OS X v10.0 and later.
digiOutDoesUnreadableScreenBits

The video digitizer may place pixels on the screen that cannot be used when compressing images. 

Available in Mac OS X v10.0 and later.
digiOutDoesCompress

The video digitizer component supports compressed source devices. These devices provide compressed data directly, without having to use the Image Compression Manager. See "Controlling Compressed Source Devices" beginning on page 0-657 for more information about the functions that applications can use to work with compressed source devices. 

Available in Mac OS X v10.0 and later.
digiOutDoesCompressOnly

The video digitizer component only provides compressed image data; the component cannot provide displayable data. This flag only applies to digitizers that support compressed source devices. 

Available in Mac OS X v10.0 and later.
digiOutDoesPlayThruDuringCompress

The video digitizer component can draw images on the screen at the same time that it is delivering compressed image data. This flag only applies to digitizers that support compressed source devices. 

Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/


enum {
   digiInDoesNTSC                = 1L << 0,
   /* digitizer supports NTSC input format */
   digiInDoesPAL                 = 1L << 1,
   /* digitizer supports PAL input format */
   digiInDoesSECAM               = 1L << 2,
   /* digitizer supports SECAM input format */
   digiInDoesGenLock             = 1L << 7,
   /* digitizer does genlock */
   digiInDoesComposite           = 1L << 8,
   /* digitizer supports composite input type */
   digiInDoesSVideo              = 1L << 9,
   /* digitizer supports S-Video input type */
   digiInDoesComponent           = 1L << 10,
   /* digitizer supports component = rgb,
   input type */
   digiInVTR_Broadcast           = 1L << 11,
   /* digitizer can differentiate between the two */
   digiInDoesColor               = 1L << 12,
   /* digitizer supports color */
   digiInDoesBW                  = 1L << 13,
   /* digitizer supports black & white */
   /* Digitizer Input Current Flags = these are valid only during active operating conditions,
   */
   digiInSignalLock              = 1L << 31 /* digitizer detects input signal is locked,
   this bit = horiz lock || vertical lock */
};
enum {
   digiOutDoes1                  = 1L << 0,
   /* digitizer supports 1 bit pixels */
   digiOutDoes2                  = 1L << 1,
   /* digitizer supports 2 bit pixels */
   digiOutDoes4                  = 1L << 2,
   /* digitizer supports 4 bit pixels */
   digiOutDoes8                  = 1L << 3,
   /* digitizer supports 8 bit pixels */
   digiOutDoes16                 = 1L << 4,
   /* digitizer supports 16 bit pixels */
   digiOutDoes32                 = 1L << 5,
   /* digitizer supports 32 bit pixels */
   digiOutDoesDither             = 1L << 6,
   /* digitizer dithers in indexed modes */
   digiOutDoesStretch            = 1L << 7,
   /* digitizer can arbitrarily stretch */
   digiOutDoesShrink             = 1L << 8,
   /* digitizer can arbitrarily shrink */
   digiOutDoesMask               = 1L << 9,
   /* digitizer can mask to clipping regions */
   digiOutDoesDouble             = 1L << 11,
   /* digitizer can stretch to exactly double size */
   digiOutDoesQuad               = 1L << 12,
   /* digitizer can stretch exactly quadruple size */
   digiOutDoesQuarter            = 1L << 13,
   /* digitizer can shrink to exactly quarter size */
   digiOutDoesSixteenth          = 1L << 14,
   /* digitizer can shrink to exactly sixteenth size */
   digiOutDoesRotate             = 1L << 15,
   /* digitizer supports rotate transformations */
   digiOutDoesHorizFlip          = 1L << 16,
   /* digitizer supports horizontal flips Sx < 0 */
   digiOutDoesVertFlip           = 1L << 17,
   /* digitizer supports vertical flips Sy < 0 */
   digiOutDoesSkew               = 1L << 18,
   /* digitizer supports skew = shear,
twist,
   */
   digiOutDoesBlend              = 1L << 19,
   digiOutDoesWarp               = 1L << 20,
   digiOutDoesHW_DMA             = 1L << 21,
   /* digitizer not constrained to local device */
   digiOutDoesHWPlayThru         = 1L << 22,
   /* digitizer doesn't need time to play thru */
   digiOutDoesILUT               = 1L << 23,
   /* digitizer does inverse LUT for index modes */
   digiOutDoesKeyColor           = 1L << 24,
   /* digitizer does key color functions too */
   digiOutDoesAsyncGrabs         = 1L << 25,
   /* digitizer supports async grabs */
   digiOutDoesUnreadableScreenBits = 1L << 26,
   /* playthru doesn't generate readable bits on screen*/
   digiOutDoesCompress           = 1L << 27,
   /* supports alternate output data types */
   digiOutDoesCompressOnly       = 1L << 28,
   /* can't provide raw frames anywhere */
   digiOutDoesPlayThruDuringCompress = 1L << 29,
   /* digi can do playthru while providing compressed data */
   digiOutDoesCompressPartiallyVisible = 1L << 30,
   /* digi doesn't need all bits visible on screen to do hardware compress */
   digiOutDoesNotNeedCopyOfCompressData = 1L << 31 /* digi doesn't need any bufferization when providing compressed data */
};

/*VDGetDeviceNameAndFlags Values

Constants passed to VDGetDeviceNameAndFlags.

enum {
   vdDeviceFlagShowInputsAsDevices = (1 << 0),
   / Tell the Panel to promote Inputs to Devices*
   vdDeviceFlagHideDevice        = (1 << 1) /Omit this Device entirely from the list*
};
Declared In
QuickTimeComponents.h*/
enum {
   vdDeviceFlagShowInputsAsDevices = (1 << 0),
   /* Tell the Panel to promote Inputs to Devices*/
   vdDeviceFlagHideDevice        = (1 << 1) /* Omit this Device entirely from the list*/
};


/*DataHGetInfoFlags Values

Constants passed to DataHGetInfoFlags.

enum {
   kDataHInfoFlagNeverStreams    = 1 << 0,
   /*set if this data handler doesn't stream*
   kDataHInfoFlagCanUpdateDataRefs = 1 << 1,
   / set if this data handler might update data reference*
   kDataHInfoFlagNeedsNetworkBandwidth = 1 << 2 / set if this data handler may need to occupy the network*
};
Declared In
QuickTimeComponents.h*/
enum {
   kDataHInfoFlagNeverStreams    = 1 << 0,
   /* set if this data handler doesn't stream*/
   kDataHInfoFlagCanUpdateDataRefs = 1 << 1,
   /* set if this data handler might update data reference*/
   kDataHInfoFlagNeedsNetworkBandwidth = 1 << 2 /* set if this data handler may need to occupy the network*/
};


/*Video Output Component Flag

The following flag indicates that a video output component is not connected to a display and should not be included in a list of components that are available to the user.
enum {
    kQTVideoOutputDontDisplayToUser = 1L << 0
};*/
enum {
    kQTVideoOutputDontDisplayToUser = 1L << 0
};



/*Summary of Constants/* component type values *
#define MovieImportType                   'eat '    / movie data import *
#define MovieExportType                   'spit'    / movie data export *
 
/  componentFlags values for movie import and movie export components *
enum {
    canMovieImportHandles                = 1,    /*can import from handles *
    canMovieImportFiles                  = 2,    / can import from files *
    hasMovieImportUserInterface          = 4,    / import has user interface *
    canMovieExportHandles                = 8,    / can export to handles *
    canMovieExportFiles                  = 16,   / can export to files *
    hasMovieExportUserInterface          = 32,   / export has user interface *
    dontAutoFileMovieImport              = 64    / do not automatically
                                                      import movie files *
};
 
/  flags for MovieImportHandle and MovieImportFile *
enum {
    movieImportCreateTrack                 = 1,    / create a new track *
    movieImportInParallel                  = 2,    / paste imported data *
    movieImportMustUseTrack                = 4     / use specified track *
};
 
enum {
    movieImportResultUsedMultipleTracks    = 8,    / component used
                                                      several tracks *
};
 
enum {
    / movie data import components *
    kMovieImportHandleSelect                = 1,  /* import from handle *
    kMovieImportFileSelect                  = 2,  /* import from file *
    kMovieImportSetSampleDurationSelect     = 3,  /* set sample duration *
    kMovieImportSetSampleDescriptionSelect  = 4,  /* set sample description *
    kMovieImportSetMediaFileSelect          = 5,  /* set media file *
    kMovieImportSetDimensionsSelect         = 6,  /* set track dimensions *
    kMovieImportSetChunkSizeSelect          = 7,  /* set chunk size *
    kMovieImportSetProgressProcSelect       = 8,  /* set progress func *
    kMovieImportSetAuxiliaryDataSelect      = 9,  /* set additional data *
    kMovieImportSetFromScrapSelect          = 10, /* data from scrap *
    kMovieImportDoUserDialogSelect          = 11, /* invoke user dialog *
    kMovieImportSetDurationSelect           = 12  / set paste duration *
    
    / movie data export components *
    kMovieExportToHandleSelect             = 128  / export to handle *
    kMovieExportToFileSelect               = 129,  / export to file *
    kMovieExportDoUserDialogSelect         = 130,  / invoke user dialog *
    kMovieExportGetAuxiliaryDataSelect     = 131,  / get additional data *
    kMovieExportSetProgressProcSelect      = 132   /set progress function *
};*/


//#define MovieImportType                   'eat '    /* movie data import *
//#define MovieExportType                   'spit'    /* movie data export 
 
/*  componentFlags values for movie import and movie export components */
enum {
    canMovieImportHandles                = 1,    /* can import from handles */
    canMovieImportFiles                  = 2,    /* can import from files */
    hasMovieImportUserInterface          = 4,    /* import has user interface */
    canMovieExportHandles                = 8,    /* can export to handles */
    canMovieExportFiles                  = 16,   /* can export to files */
    hasMovieExportUserInterface          = 32,   /* export has user interface */
    dontAutoFileMovieImport              = 64    /* do not automatically
                                                      import movie files */
};
 
/*  flags for MovieImportHandle and MovieImportFile */
enum {
    movieImportCreateTrack                 = 1,    /* create a new track */
    movieImportInParallel                  = 2,    /* paste imported data */
    movieImportMustUseTrack                = 4     /* use specified track */
};
 
enum {
    movieImportResultUsedMultipleTracks    = 8,    /* component used
                                                      several tracks */
};

/*Component Instance, Type, and Subtypetypedef ComponentInstance QTVideoOutputComponent;
enum {
    QTVideoOutputComponentType = FOUR_CHAR_CODE('vout'),
    QTVideoOutputComponentBaseSubType = FOUR_CHAR_CODE('base')
};*/
enum {
    QTVideoOutputComponentType = FOUR_CHAR_CODE('vout'),
    QTVideoOutputComponentBaseSubType = FOUR_CHAR_CODE('base')
};

/*movieExportDuration

Constants grouped with movieExportDuration.

enum {
   movieExportUseConfiguredSettings = 'ucfg',
   // pointer to Boolean
   movieExportWidth              = 'wdth',
   // pointer to Fixed
   movieExportHeight             = 'hegt',
   // pointer to Fixed
   movieExportDuration           = 'dura',
   // pointer to TimeRecord
   movieExportVideoFilter        = 'iflt',
   // pointer to QTAtomContainer
   movieExportTimeScale          = 'tmsc' // pointer to TimeScale
};
Constants
movieExportWidth

A fixed integer that represents a video track's image width in pixels. 

Available in Mac OS X v10.0 and later.
movieExportHeight

A fixed integer that represents a video track's image height in pixels. 

Available in Mac OS X v10.0 and later.
movieExportDuration

The TimeRecord structure for the whole movie. 

Available in Mac OS X v10.0 and later.
movieExportVideoFilter

A pointer to a QTAtomContainer handle that references a video track's filter atom container. 

Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
enum {
   movieExportUseConfiguredSettings = 'ucfg',
   /* pointer to Boolean*/
   movieExportWidth              = 'wdth',
   /* pointer to Fixed*/
   movieExportHeight             = 'hegt',
   /* pointer to Fixed*/
   movieExportDuration           = 'dura',
   /* pointer to TimeRecord*/
   movieExportVideoFilter        = 'iflt',
   /* pointer to QTAtomContainer*/
   movieExportTimeScale          = 'tmsc' /* pointer to TimeScale*/
};

/*MovieExportGetPropertyProc

Returns parameters that determine the appropriate format for movie export data.

typedef OSErr (*MovieExportGetPropertyProcPtr) (void *refcon, long trackID, OSType propertyType, void *propertyValue);

If you name your function MyMovieExportGetPropertyProc, you would declare it this way:

OSErr MyMovieExportGetPropertyProc (
   void      *refcon,
   long      trackID,
   OSType    propertyType,
   void      *propertyValue );
Parameters
refcon

Contains the value passed to MovieExportAddDataSource in the refCon parameter.
trackID

Specifies the value returned from MovieExportAddDataSource.
propertyType

Contains a pointer to the location of the requested property information.
propertyValue

Specifies the property being requested (see below). See these constants: 
scSoundSampleRateType
scSoundSampleSizeType
scSoundChannelCountType
scSoundCompressionType
movieExportWidth
movieExportHeight
movieExportVideoFilter
scSpatialSettingsType
scTemporalSettingsType
scDataRateSettingsType
movieExportDuration
Return Value

See Error Codes. Your callback should return noErr if there is no error. If this function doesn't have a setting for a requested property, it should return an error. 
Discussion

This function is passed to MovieExportAddDataSource to define a new data source for an export operation. For example, a video export operation may call this function to determine the dimensions of the destination video track. The export component provides a default value for the property based on the source data format. For example, if no values for video track width and height properties were provided by the callback function, the dimensions of the source data would be used.
Declared In
QuickTimeComponents.h*/
typedef OSErr (*MovieExportGetPropertyProcPtr) (void *refcon, long trackID, OSType propertyType, void *propertyValue);

/*MovieExportGetPropertyUPP

Represents a type used by the Movie Components API.

typedef STACK_UPP_TYPE(MovieExportGetPropertyProcPtr) MovieExportGetPropertyUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(MovieExportGetPropertyProcPtr) MovieExportGetPropertyUPP;




/*MovieExportGetDataProc

Defines a data source for an export operation.

typedef OSErr (*MovieExportGetDataProcPtr) (void *refCon, MovieExportGetDataParams *params);

If you name your function MyMovieExportGetDataProc, you would declare it this way:

OSErr MyMovieExportGetDataProc (
   void                        *refCon,
   MovieExportGetDataParams    *params );
Parameters
refCon

Contains the value passed to MovieExportAddDataSource in the refCon parameter
params

The sample request is made through a MovieExportGetDataParams structure.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Discussion

This callback is passed to MovieExportAddDataSource to define a new data source for an export operation. The function is used by the exporting application to request source media data to be used in the export operation. For example, in a video export operation, frames of video data (either compressed or uncompressed) are provided. In a sound export operation, buffers of audio (either compressed or uncompressed) are provided.
Special Considerations

The data pointed to by dataPtr must remain valid until the next call to this function. The MovieExportGetDataProc callback is responsible for allocating and disposing of the memory associated with this data pointer.
Declared In
QuickTimeComponents.h*/
typedef OSErr (*MovieExportGetDataProcPtr) (void *refCon, MovieExportGetDataParams *params);
/*MovieExportGetDataUPP

Represents a type used by the Movie Components API.

typedef STACK_UPP_TYPE(MovieExportGetDataProcPtr) MovieExportGetDataUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(MovieExportGetDataProcPtr) MovieExportGetDataUPP;

/*MovieExportComponent

Represents a type used by the Movie Components API.

typedef ComponentInstance MovieExportComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance MovieExportComponent;

/*Pointer Data Handler

The Pointer data handler adds to the complement of other QuickTime data handlers. Like the Handle Data Handler, the Pointer data handler supports references to data in memory; unlike the Handle data handler, the Pointer data handler does not require that data reside within a block allocated by the Macintosh Memory Manager. You just specify the memory address of the data and its length, and the Pointer data handler will do the rest.

The Pointer data handler allows you to submit data for use by QuickTime via direct memory address. However, it does not eliminate the use of handles in QuickTime��s data handler API. Data references themselves are still stored in handles on which QuickTime will call GetHandleSize. The API also requires that ancillary pieces of information about data references, such as their names and MIME types, are passed to QuickTime in handle blocks, not pointer blocks.

A pointer data ref record has the following definition:struct PointerDataRefRecord {
    void        *data;
    Size        dataLength;
};
typedef PointerDataRefRecord *PointerDataRefPtr;
typedef PointerDataRefPtr *PointerDataRef;


The code snippet in Listing 1-8 shows you how you can open media at a specific memory address as a QuickTime movie. The snippet does not include error checking.*/
struct PointerDataRefRecord {
    void        *data;
    Size        dataLength;
};
typedef struct PointerDataRefRecord PointerDataRefRecord  ;
typedef struct PointerDataRefRecord *PointerDataRefPtr;
typedef PointerDataRefPtr *PointerDataRef;



/*Standard Compression Constants

Constants that represent constants for Standard Compression.

enum {
   /*
   * Indicates the client is ready to use the ICM compression session
   * API to perform compression operations. StdCompression disables
   * frame reordering and multi pass encoding if this flag is cleared.
   */
   //scAllowEncodingWithCompressionSession = 1L << 8,
   /*
   * Indicates the client does not want the user to change the frame
   * reordering setting.
   */
   //scDisableFrameReorderingItem  = 1L << 9,
   /*
   * Indicates the client does not want the user to change the multi
   * pass encoding setting
   */
  // scDisableMultiPassEncodingItem = 1L << 10
//};
//enum {
   /*
   * Specifies if frame reordering can occur in encoding.
   */
   //scVideoAllowFrameReorderingType = 'bfra',
   /* pointer to Boolean*/
   /*
   * The settings to control multi pass encoding.
   */
   //scVideoMultiPassEncodingSettingsType = 'mpes' /* pointer to SCVideoMutiPassEncodingSettings struct*/
//};
/*enum {
   scListEveryCodec              = 1L << 1,
   scAllowZeroFrameRate          = 1L << 2,
   scAllowZeroKeyFrameRate       = 1L << 3,
   scShowBestDepth               = 1L << 4,
   scUseMovableModal             = 1L << 5,
   scDisableFrameRateItem        = 1L << 6,
   scShowDataRateAsKilobits      = 1L << 7
};
enum {
   scOKItem                      = 1,
   scCancelItem                  = 2,
   scCustomItem                  = 3
};
enum {
   scPositionRect                = 2,
   scPositionDialog              = 3,
   scSetTestImagePictHandle      = 4,
   scSetTestImagePictFile        = 5,
   scSetTestImagePixMap          = 6,
   scGetBestDeviceRect           = 7,
   scRequestImageSettings        = 10,
   scCompressImage               = 11,
   scCompressPicture             = 12,
   scCompressPictureFile         = 13,
   scRequestSequenceSettings     = 14,
   scCompressSequenceBegin       = 15,
   scCompressSequenceFrame       = 16,
   scCompressSequenceEnd         = 17,
   scDefaultPictHandleSettings   = 18,
   scDefaultPictFileSettings     = 19,
   scDefaultPixMapSettings       = 20,
   scGetInfo                     = 21,
   scSetInfo                     = 22,
   scNewGWorld                   = 23
};
enum {
   scPreferCropping              = 1 << 0,
   scPreferScaling               = 1 << 1,
   scPreferScalingAndCropping    = scPreferScaling | scPreferCropping,
   scDontDetermineSettingsFromTestImage = 1 << 2
};
enum {
   scSpatialSettingsType         = 'sptl',
   /* pointer to SCSpatialSettings struct*/
//   scTemporalSettingsType        = 'tprl',
   /* pointer to SCTemporalSettings struct*/
   //scDataRateSettingsType        = 'drat',
   /* pointer to SCDataRateSettings struct*/
   //scColorTableType              = 'clut',
   /* pointer to CTabHandle*/
   //scProgressProcType            = 'prog',
   /* pointer to ProgressRecord struct*/
   //scExtendedProcsType           = 'xprc',
   /* pointer to SCExtendedProcs struct*/
   //scPreferenceFlagsType         = 'pref',
   /* pointer to long*/
   //scSettingsStateType           = 'ssta',
   /* pointer to Handle*/
   //scSequenceIDType              = 'sequ',
   /* pointer to ImageSequence*/
   //scWindowPositionType          = 'wndw',
   /* pointer to Point*/
   //scCodecFlagsType              = 'cflg',
   /* pointer to CodecFlags*/
   //scCodecSettingsType           = 'cdec',
   /* pointer to Handle*/
   //scForceKeyValueType           = 'ksim',
   /* pointer to long*/
   //scCompressionListType         = 'ctyl',
   /* pointer to OSType Handle*/
   //scCodecManufacturerType       = 'cmfr',
   /* pointer to OSType*/
   //scAvailableCompressionListType = 'avai',
   /* pointer to OSType Handle*/
   //scWindowOptionsType           = 'shee',
   /* pointer to SCWindowSettings struct*/
   //scSoundVBRCompressionOK       = 'cvbr',
   /* pointer to Boolean*/
   //scSoundSampleRateChangeOK     = 'rcok',
   /* pointer to Boolean*/
   //scSoundCompressionType        = 'ssct',
   /* pointer to OSType*/
   //scSoundSampleRateType         = 'ssrt',
   /* pointer to UnsignedFixed*/
   //scSoundInputSampleRateType    = 'ssir',
   /* pointer to UnsignedFixed*/
   //scSoundSampleSizeType         = 'ssss',
   /* pointer to short*/
   //scSoundChannelCountType       = 'sscc' /* pointer to short*/
/*};
enum {
   scTestImageWidth              = 80,
   scTestImageHeight             = 80
};
enum {
   scUserCancelled               = 1
};
enum {
   scWindowRefKindCarbon         = 'carb' /* WindowRef*/
/*};
Constants
scVideoAllowFrameReorderingType

Pointer to Boolean. 

Available in Mac OS X v10.3 and later.
scSpatialSettingsType

A video track's SCSpatialSettings structure. 

Available in Mac OS X v10.0 and later.
scTemporalSettingsType

A video track's SCTemporalSettings structure. 

Available in Mac OS X v10.0 and later.
scDataRateSettingsType

A video track's SCDataRateSettings structure. 

Available in Mac OS X v10.0 and later.
scCodecSettingsType

Pointer to Handle. 

Available in Mac OS X v10.0 and later.
scForceKeyValueType

Pointer to long. 

Available in Mac OS X v10.0 and later.
scCodecManufacturerType

Pointer to OSType. 

Available in Mac OS X v10.0 and later.
scAvailableCompressionListType

Pointer to OSType Handle. 

Available in Mac OS X v10.2 and later.
scWindowOptionsType

Pointer to SCWindowSettings struct. 

Available in Mac OS X v10.3 and later.
scSoundVBRCompressionOK

Pointer to Boolean. 

Available in Mac OS X v10.2 and later.
scSoundSampleRateChangeOK

Pointer to Boolean. 

Available in Mac OS X v10.2 and later.
scSoundCompressionType

A sound track's compression type constant; see Codec Identifiers. 

Available in Mac OS X v10.0 and later.
scSoundSampleRateType

An UnsignedFixed value that represents a sound track's sampling rate. 

Available in Mac OS X v10.0 and later.
scSoundInputSampleRateType

Pointer to UnsignedFixed. 

Available in Mac OS X v10.2 and later.
scSoundSampleSizeType

A short integer that represents a sound track's sample size. 

Available in Mac OS X v10.0 and later.
scSoundChannelCountType

A short integer that represents a sound track's channel count. 

Available in Mac OS X v10.0 and later.*/
enum {
   /*
   * Indicates the client is ready to use the ICM compression session
   * API to perform compression operations. StdCompression disables
   * frame reordering and multi pass encoding if this flag is cleared.
   */
   scAllowEncodingWithCompressionSession = 1L << 8,
   /*
   * Indicates the client does not want the user to change the frame
   * reordering setting.
   */
   scDisableFrameReorderingItem  = 1L << 9,
   /*
   * Indicates the client does not want the user to change the multi
   * pass encoding setting
   */
   scDisableMultiPassEncodingItem = 1L << 10
};
enum {
   /*
   * Specifies if frame reordering can occur in encoding.
   */
   scVideoAllowFrameReorderingType = 'bfra',
   /* pointer to Boolean*/
   /*
   * The settings to control multi pass encoding.
   */
   scVideoMultiPassEncodingSettingsType = 'mpes' /* pointer to SCVideoMutiPassEncodingSettings struct*/
};
enum {
   scListEveryCodec              = 1L << 1,
   scAllowZeroFrameRate          = 1L << 2,
   scAllowZeroKeyFrameRate       = 1L << 3,
   scShowBestDepth               = 1L << 4,
   scUseMovableModal             = 1L << 5,
   scDisableFrameRateItem        = 1L << 6,
   scShowDataRateAsKilobits      = 1L << 7
};
enum {
   scOKItem                      = 1,
   scCancelItem                  = 2,
   scCustomItem                  = 3
};
enum {
   scPositionRect                = 2,
   scPositionDialog              = 3,
   scSetTestImagePictHandle      = 4,
   scSetTestImagePictFile        = 5,
   scSetTestImagePixMap          = 6,
   scGetBestDeviceRect           = 7,
   scRequestImageSettings        = 10,
   scCompressImage               = 11,
   scCompressPicture             = 12,
   scCompressPictureFile         = 13,
   scRequestSequenceSettings     = 14,
   scCompressSequenceBegin       = 15,
   scCompressSequenceFrame       = 16,
   scCompressSequenceEnd         = 17,
   scDefaultPictHandleSettings   = 18,
   scDefaultPictFileSettings     = 19,
   scDefaultPixMapSettings       = 20,
   scGetInfo                     = 21,
   scSetInfo                     = 22,
   scNewGWorld                   = 23
};
enum {
   scPreferCropping              = 1 << 0,
   scPreferScaling               = 1 << 1,
   scPreferScalingAndCropping    = scPreferScaling | scPreferCropping,
   scDontDetermineSettingsFromTestImage = 1 << 2
};
enum {
   scSpatialSettingsType         = 'sptl',
   /* pointer to SCSpatialSettings struct*/
   scTemporalSettingsType        = 'tprl',
   /* pointer to SCTemporalSettings struct*/
   scDataRateSettingsType        = 'drat',
   /* pointer to SCDataRateSettings struct*/
   scColorTableType              = 'clut',
   /* pointer to CTabHandle*/
   scProgressProcType            = 'prog',
   /* pointer to ProgressRecord struct*/
   scExtendedProcsType           = 'xprc',
   /* pointer to SCExtendedProcs struct*/
   scPreferenceFlagsType         = 'pref',
   /* pointer to long*/
   scSettingsStateType           = 'ssta',
   /* pointer to Handle*/
   scSequenceIDType              = 'sequ',
   /* pointer to ImageSequence*/
   scWindowPositionType          = 'wndw',
   /* pointer to Point*/
   scCodecFlagsType              = 'cflg',
   /* pointer to CodecFlags*/
   scCodecSettingsType           = 'cdec',
   /* pointer to Handle*/
   scForceKeyValueType           = 'ksim',
   /* pointer to long*/
   scCompressionListType         = 'ctyl',
   /* pointer to OSType Handle*/
   scCodecManufacturerType       = 'cmfr',
   /* pointer to OSType*/
   scAvailableCompressionListType = 'avai',
   /* pointer to OSType Handle*/
   scWindowOptionsType           = 'shee',
   /* pointer to SCWindowSettings struct*/
   scSoundVBRCompressionOK       = 'cvbr',
   /* pointer to Boolean*/
   scSoundSampleRateChangeOK     = 'rcok',
   /* pointer to Boolean*/
   scSoundCompressionType        = 'ssct',
   /* pointer to OSType*/
   scSoundSampleRateType         = 'ssrt',
   /* pointer to UnsignedFixed*/
   scSoundInputSampleRateType    = 'ssir',
   /* pointer to UnsignedFixed*/
   scSoundSampleSizeType         = 'ssss',
   /* pointer to short*/
   scSoundChannelCountType       = 'sscc' /* pointer to short*/
};
enum {
   scTestImageWidth              = 80,
   scTestImageHeight             = 80
};
enum {
   scUserCancelled               = 1
};
enum {
   scWindowRefKindCarbon         = 'carb' /* WindowRef*/
};

/*Audio Property Selectors

The following values are used as ComponentPropertyID selectors. Use these with the StandardCompressionSubTypeAudio ('scdi'/'audi') component. All property IDs are to be used in conjunction with the kQTPropertyClass_SCAudio property class. 
kQTSCAudioPropertyID_AvailableCompressionFormatList = 'acf#'

A read/listen C-style array of OSType values that specifies the list of available output compression formats. This list includes all the kAudioEncoderComponentType components and kSoundCompressor type components on the user��s system. You can restrict the list by using the kQTSCAudioPropertyID_CompressionFormatList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate for this array.
kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList = 'crf#'

A read/write/listen C-style array of OSType values that specifies a client-restricted set of output compression formats that you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_AvailableCompressionFormatNamesList = 'cnm#'

A read/write CFArrayRef structure of CFStringRef structures that reference the human-readable names of each item in a kQTSCAudioPropertyID_AvailableCompressionFormatList. The caller assumes responsibility for calling CFRelease to dispose of the CFArrayRef structure.
kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog = 'opn?'

Some compression formats have format-specific properties that are accessible only via a compressor-provided dialog. This constant specifies a read/listen Boolean value that lets you know if the current compression format has such a dialog.
kQTSCAudioPropertyID_ConstantBitRateFormatsOnly = '!vbr'

By default, constant as well as variable bit rate compression formats are shown in the available format list. This constant specifies a read/write/listen Boolean value that lets you restrict the available formats to constant bit rate formats by setting this property to TRUE.
kQTSCAudioPropertyID_AvailableSampleRateList = 'avr#'

A read/listen C-style array of AudioValueRange values that specifies a list of available output sample rates. This list is specific to the compression format and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_ClientRestrictedSampleRateList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_SampleRateRecommended = 'reco'

Clients not wishing to set an output sample rate manually may set the output rate to the recommended rate. Some compressors can perform rate conversion, and can pick optimal settings for a desired bitrate (AAC is one example). For other formats, the recommended rate is simply the closest output rate to the input rate that's allowed by the output format. kQTSCAudioPropertyID_SampleRateIsRecommended is read-only. To set the sample rate to recommended, a client sets the kQTSCAudioPropertyID_BasicDescription with mSampleRate = 0.0. To unset the sample rate as recommended, the client sets the kQTSCAudioPropertyID_BasicDescription with a non-zero mSampleRate field.
kQTSCAudioPropertyID_ApplicableSampleRateList = 'avr#'

A read/listen C-style array of AudioValueRange values that specifies which of the value ranges in the kQTSCAudioPropertyID_AvailableSampleRateList are currently applicable. The kQTSCAudioPropertyID_AvailableSampleRateList takes into account client restrictions, and a compression format's general sample rate restrictions. kQTSCAudioPropertyID_ApplicableSampleRateList further filters the list to just those sample rates that are legal and valid given the current codec configuration. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_ClientRestrictedSampleRateList = 'crr#'

A read/write/listen C-style array of AudioValueRange values that specifies a client-restricted set of output sample rate ranges that should be listed as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_InputMagicCookie = 'ikki'

A read/write/listen opaque data structure that contains an untyped codec-specific data structure (a ��magic cookie��), which some decompressors use to decode their input. Cookies are variable size, so you must call QTGetComponentPropertyInfo to discover the size of the buffer you should allocate to hold the cookie.
kQTSCAudioPropertyID_MagicCookie = 'kuki'

A read/write/listen opaque data structure that contains an untyped codec-specific data structure (a ��magic cookie��), which some decompressors use to configure their output. Cookies are variable size, so you must call QTGetComponentPropertyInfo to discover the size of the buffer you should allocate to hold the cookie.
kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList = 'crb#'

Specifies a client-restricted set of output bits per channel that should be listed as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList = 'avb#'

A read/listen C-style array of UInt32 values that contains a list of available bits per audio channel. This list is specific to LPCM, and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_LPCMBitsPerChannelList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList = 'apb#'

Specifies which of the values in the kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList are currently applicable. The kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList takes into account client restrictions, and LPCM��s general bits per channel restrictions. kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList further filters the list to just those bits per channel that are legal and valid given the current LPCM configuration. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_LPCMBitsPerChannelList = 'sbc#'

A read/write/listen C-style array of UInt32 values that contains a client-restricted set of output bits per channel, which you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_AvailableNumChannelsList = 'anc#'

A read/listen C-style array of UInt32 values that contains a list of available numbers of channels. This list is specific to the compression format and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_NumChannelsList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_NumChannelsList = 'snc#'

A read/write/listen C-style array of UInt32 values that contains a client-restricted set of numbers of channels that you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_InputChannelLayout = 'icly'

A read/write/listen variable-size AudioChannelLayout structure that specifies the audio channel layout of the input description. AudioChannelLayout is a variable-size structure, so you must use QTGetComponentPropertyInfo to discover the number of bytes you should allocate for it.
kQTSCAudioPropertyID_InputChannelLayoutName = 'icln'

A read-only CFStringRef structure that specifies the human-readable name for a kQTSCAudioPropertyID_InputChannelLayout structure, if one exists. The caller is responsible for calling CFRelease to dispose of the resulting string.
kQTSCAudioPropertyID_ChannelLayout = 'clay'

A read/write/listen variable-size AudioChannelLayout structure that specifies the audio channel layout of the output description. AudioChannelLayout is a variable size structure, so you must use QTGetComponentPropertyInfo to discover the number of bytes you should allocate.
kQTSCAudioPropertyID_ChannelLayoutName = 'clyn'

A read-only CFStringRef structure that specifies the human-readable name for a kQTSCAudioPropertyID_ChannelLayout, if one exists. The caller is responsible for calling CFRelease to dispose of the resulting string.
kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList = 'crl#'

Specifies a client-restricted set of channel layout tags that should be listed as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_AvailableChannelLayoutTagList = 'acl#'

A read/listen C-style array of AudioChannelLayoutTag values that specifies a list of available audio channel layout tags. This list is specific to the compression format and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_ChannelLayoutTagList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_ChannelLayoutTagList = 'cly#'

A read/write C-style array of AudioChannelLayoutTag values that specifies a client-restricted set of channel layout tags, which you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_AvailableChannelLayoutTagNamesList = 'cln#'

A read-only CFArrayRef array that specifies the human-readable names for the AudioChannelLayoutTag values in a kQTSCAudioPropertyID_AvailableChannelLayoutTagList. Each element in the array is a CFStringRef structure. The caller is responsible for calling CFRelease to dispose of this array.
kQTSCAudioPropertyID_ApplicableChannelLayoutTagNamesList = 'apl#'

Specifies which of the values in the kQTSCAudioPropertyID_AvailableChannelLayoutTagList are currently applicable. The kQTSCAudioPropertyID_AvailableChannelLayoutTagList takes into account client restrictions, and the current output format��s general channel layout restrictions. kQTSCAudioPropertyID_ApplicableChannelLayoutTagList further filters the list to just those channel layouts that are legal and valid given the current codec configuration. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_ClientRestrictedPCMFlags = 'crip'

Specifies a client-restricted set of flags corresponding to the mFormatFlags fields in an AudioStreamBasicDescription. Data type is a SCAudioFormatFlagsRestrictions struct. For instance, if a client wishes to specify to the StandardAudioCompression component that their file format requires little endian pcm data, the client may set this property, with formatFlagsMask set to kAudioFormatFlagIsBigEndian, and formatFlagsValues set to zero (indicating that the IsBigEndian bit should be interpreted as LittleEndian only).
kQTSCAudioPropertyID_DiscreteChannelsOK = 'dscr'

A read/write/listen Boolean value that lets you tell the StandardCompressionSubTypeAudio dialog to not show ��Discrete�� as an available option. Each AudioChannelLayout structure assigns specific spatial orientation to specific channels (for example, Channel 1 = Left). ��Discrete�� is a special channel layout that does not assign spatial characteristics to channels, but instead labels them as distinct outputs. For example, the first channel in the audio source is played through the first channel on the output device, the second channel in the source is played through the second channel, and so on. If this property is set to FALSE, the StandardCompressionSubTypeAudio dialog will not show ��Discrete�� as an available option.
kQTSCAudioPropertyID_LPCMSpecificFlagsMask = 'sffm'

A read/write/listen UInt32 value that specifies which flag fields in kQTSCAudioPropertyID_FormatSpecificFlags should be made available in the StandardCompressionSubTypeAudio dialog. For instance, a value of 0xFFFFFFFD (all bits except kAudioFormatFlagIsBigEndian set) tells the StandardCompressionSubTypeAudio component to disable any UI that would allow a choice between little and big endian. This selector is valid only for PCM formats and is ignored for others.
kQTSCAudioPropertyID_InputSoundDescription = 'isdh'

A read/write SoundDescriptionHandle value that specifies the current input description as a SoundDescriptionHandle (lowest possible version for the current format). When calling QTGetComponentProperty, the caller passes a pointer to an unallocated Handle and assumes responsibility for calling DisposeHandle when done.
kQTSCAudioPropertyID_SoundDescription = 'osdh'

A read/write SoundDescriptionHandle value that specifies the current output description as a SoundDescriptionHandle (lowest possible version for the current format). When calling QTGetComponentProperty, the caller passes a pointer to an unallocated Handle and assumes responsibility for calling DisposeHandle when done.
kQTSCAudioPropertyID_InputBasicDescription = 'isbd'

A read/write/DataProc/listen AudioStreamBasicDescription value that specifies that the current input description is an AudioStreamBasicDescription value.
kQTSCAudioPropertyID_BasicDescription = 'osbd'

A read/write/DataProc/listen AudioStreamBasicDescription value that specifies that the current output description is an AudioStreamBasicDescription value.
kQTSCAudioPropertyID_CodecSpecificSettingsArray = 'cdst'

A read/write CFArrayRef structure that designates a CFArray of CFDictionary structures, which describe various parameters specific to configuring a codec. This array of dictionaries, which is published by some compressors, can be parsed to generate UI information. When any value in the array changes, a client should call QTSetComponentProperty, passing the entire array.
kQTSCAudioPropertyID_SettingsState = scSettingsStateType

A read/write Handle value that is used to save the current state of the StandardCompressionSubTypeAudio component, so that its state may be restored at a later time with a single call. A StandardCompressionSubTypeAudio component can accept a saved settings state from a legacy StandardCompressionSubTypeSound component as write-only.
kQTSCAudioPropertyID_ExtendedProcs = scExtendedProcsType

A read/write/listen SCExtendedProcs value that is used to get or set an SCExtendedProcs structure.
kQTSCAudioPropertyID_PreferenceFlags = scPreferenceFlagsType

A read/write/listen SInt32 value that is used to specify dialog preferences such as scUseMovableModal.
kQTSCAudioPropertyID_WindowOptions = scWindowOptionsType

A read/write/listen SCWindowSettings structure that is used to set an SCWindowSettings structure, which tells the dialog about its parent window so that it can draw itself as a sheet on top of the parent.*/
/*Audio Property Selectors

The following values are used as ComponentPropertyID selectors. Use these with the StandardCompressionSubTypeAudio ('scdi'/'audi') component. All property IDs are to be used in conjunction with the kQTPropertyClass_SCAudio property class. 
kQTSCAudioPropertyID_AvailableCompressionFormatList = 'acf#'

A read/listen C-style array of OSType values that specifies the list of available output compression formats. This list includes all the kAudioEncoderComponentType components and kSoundCompressor type components on the user��s system. You can restrict the list by using the kQTSCAudioPropertyID_CompressionFormatList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate for this array.
kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList = 'crf#'

A read/write/listen C-style array of OSType values that specifies a client-restricted set of output compression formats that you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_AvailableCompressionFormatNamesList = 'cnm#'

A read/write CFArrayRef structure of CFStringRef structures that reference the human-readable names of each item in a kQTSCAudioPropertyID_AvailableCompressionFormatList. The caller assumes responsibility for calling CFRelease to dispose of the CFArrayRef structure.
kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog = 'opn?'

Some compression formats have format-specific properties that are accessible only via a compressor-provided dialog. This constant specifies a read/listen Boolean value that lets you know if the current compression format has such a dialog.
kQTSCAudioPropertyID_ConstantBitRateFormatsOnly = '!vbr'

By default, constant as well as variable bit rate compression formats are shown in the available format list. This constant specifies a read/write/listen Boolean value that lets you restrict the available formats to constant bit rate formats by setting this property to TRUE.
kQTSCAudioPropertyID_AvailableSampleRateList = 'avr#'

A read/listen C-style array of AudioValueRange values that specifies a list of available output sample rates. This list is specific to the compression format and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_ClientRestrictedSampleRateList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_SampleRateRecommended = 'reco'

Clients not wishing to set an output sample rate manually may set the output rate to the recommended rate. Some compressors can perform rate conversion, and can pick optimal settings for a desired bitrate (AAC is one example). For other formats, the recommended rate is simply the closest output rate to the input rate that's allowed by the output format. kQTSCAudioPropertyID_SampleRateIsRecommended is read-only. To set the sample rate to recommended, a client sets the kQTSCAudioPropertyID_BasicDescription with mSampleRate = 0.0. To unset the sample rate as recommended, the client sets the kQTSCAudioPropertyID_BasicDescription with a non-zero mSampleRate field.
kQTSCAudioPropertyID_ApplicableSampleRateList = 'avr#'

A read/listen C-style array of AudioValueRange values that specifies which of the value ranges in the kQTSCAudioPropertyID_AvailableSampleRateList are currently applicable. The kQTSCAudioPropertyID_AvailableSampleRateList takes into account client restrictions, and a compression format's general sample rate restrictions. kQTSCAudioPropertyID_ApplicableSampleRateList further filters the list to just those sample rates that are legal and valid given the current codec configuration. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_ClientRestrictedSampleRateList = 'crr#'

A read/write/listen C-style array of AudioValueRange values that specifies a client-restricted set of output sample rate ranges that should be listed as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_InputMagicCookie = 'ikki'

A read/write/listen opaque data structure that contains an untyped codec-specific data structure (a ��magic cookie��), which some decompressors use to decode their input. Cookies are variable size, so you must call QTGetComponentPropertyInfo to discover the size of the buffer you should allocate to hold the cookie.
kQTSCAudioPropertyID_MagicCookie = 'kuki'

A read/write/listen opaque data structure that contains an untyped codec-specific data structure (a ��magic cookie��), which some decompressors use to configure their output. Cookies are variable size, so you must call QTGetComponentPropertyInfo to discover the size of the buffer you should allocate to hold the cookie.
kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList = 'crb#'

Specifies a client-restricted set of output bits per channel that should be listed as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList = 'avb#'

A read/listen C-style array of UInt32 values that contains a list of available bits per audio channel. This list is specific to LPCM, and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_LPCMBitsPerChannelList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList = 'apb#'

Specifies which of the values in the kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList are currently applicable. The kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList takes into account client restrictions, and LPCM��s general bits per channel restrictions. kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList further filters the list to just those bits per channel that are legal and valid given the current LPCM configuration. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_LPCMBitsPerChannelList = 'sbc#'

A read/write/listen C-style array of UInt32 values that contains a client-restricted set of output bits per channel, which you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_AvailableNumChannelsList = 'anc#'

A read/listen C-style array of UInt32 values that contains a list of available numbers of channels. This list is specific to the compression format and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_NumChannelsList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_NumChannelsList = 'snc#'

A read/write/listen C-style array of UInt32 values that contains a client-restricted set of numbers of channels that you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_InputChannelLayout = 'icly'

A read/write/listen variable-size AudioChannelLayout structure that specifies the audio channel layout of the input description. AudioChannelLayout is a variable-size structure, so you must use QTGetComponentPropertyInfo to discover the number of bytes you should allocate for it.
kQTSCAudioPropertyID_InputChannelLayoutName = 'icln'

A read-only CFStringRef structure that specifies the human-readable name for a kQTSCAudioPropertyID_InputChannelLayout structure, if one exists. The caller is responsible for calling CFRelease to dispose of the resulting string.
kQTSCAudioPropertyID_ChannelLayout = 'clay'

A read/write/listen variable-size AudioChannelLayout structure that specifies the audio channel layout of the output description. AudioChannelLayout is a variable size structure, so you must use QTGetComponentPropertyInfo to discover the number of bytes you should allocate.
kQTSCAudioPropertyID_ChannelLayoutName = 'clyn'

A read-only CFStringRef structure that specifies the human-readable name for a kQTSCAudioPropertyID_ChannelLayout, if one exists. The caller is responsible for calling CFRelease to dispose of the resulting string.
kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList = 'crl#'

Specifies a client-restricted set of channel layout tags that should be listed as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_AvailableChannelLayoutTagList = 'acl#'

A read/listen C-style array of AudioChannelLayoutTag values that specifies a list of available audio channel layout tags. This list is specific to the compression format and takes into account any restrictions imposed by a client using the kQTSCAudioPropertyID_ChannelLayoutTagList property. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_ChannelLayoutTagList = 'cly#'

A read/write C-style array of AudioChannelLayoutTag values that specifies a client-restricted set of channel layout tags, which you should list as available. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold this array.
kQTSCAudioPropertyID_AvailableChannelLayoutTagNamesList = 'cln#'

A read-only CFArrayRef array that specifies the human-readable names for the AudioChannelLayoutTag values in a kQTSCAudioPropertyID_AvailableChannelLayoutTagList. Each element in the array is a CFStringRef structure. The caller is responsible for calling CFRelease to dispose of this array.
kQTSCAudioPropertyID_ApplicableChannelLayoutTagNamesList = 'apl#'

Specifies which of the values in the kQTSCAudioPropertyID_AvailableChannelLayoutTagList are currently applicable. The kQTSCAudioPropertyID_AvailableChannelLayoutTagList takes into account client restrictions, and the current output format��s general channel layout restrictions. kQTSCAudioPropertyID_ApplicableChannelLayoutTagList further filters the list to just those channel layouts that are legal and valid given the current codec configuration. Use QTGetComponentPropertyInfo to discover the number of bytes you should allocate to hold the array.
kQTSCAudioPropertyID_ClientRestrictedPCMFlags = 'crip'

Specifies a client-restricted set of flags corresponding to the mFormatFlags fields in an AudioStreamBasicDescription. Data type is a SCAudioFormatFlagsRestrictions struct. For instance, if a client wishes to specify to the StandardAudioCompression component that their file format requires little endian pcm data, the client may set this property, with formatFlagsMask set to kAudioFormatFlagIsBigEndian, and formatFlagsValues set to zero (indicating that the IsBigEndian bit should be interpreted as LittleEndian only).
kQTSCAudioPropertyID_DiscreteChannelsOK = 'dscr'

A read/write/listen Boolean value that lets you tell the StandardCompressionSubTypeAudio dialog to not show ��Discrete�� as an available option. Each AudioChannelLayout structure assigns specific spatial orientation to specific channels (for example, Channel 1 = Left). ��Discrete�� is a special channel layout that does not assign spatial characteristics to channels, but instead labels them as distinct outputs. For example, the first channel in the audio source is played through the first channel on the output device, the second channel in the source is played through the second channel, and so on. If this property is set to FALSE, the StandardCompressionSubTypeAudio dialog will not show ��Discrete�� as an available option.
kQTSCAudioPropertyID_LPCMSpecificFlagsMask = 'sffm'

A read/write/listen UInt32 value that specifies which flag fields in kQTSCAudioPropertyID_FormatSpecificFlags should be made available in the StandardCompressionSubTypeAudio dialog. For instance, a value of 0xFFFFFFFD (all bits except kAudioFormatFlagIsBigEndian set) tells the StandardCompressionSubTypeAudio component to disable any UI that would allow a choice between little and big endian. This selector is valid only for PCM formats and is ignored for others.
kQTSCAudioPropertyID_InputSoundDescription = 'isdh'

A read/write SoundDescriptionHandle value that specifies the current input description as a SoundDescriptionHandle (lowest possible version for the current format). When calling QTGetComponentProperty, the caller passes a pointer to an unallocated Handle and assumes responsibility for calling DisposeHandle when done.
kQTSCAudioPropertyID_SoundDescription = 'osdh'

A read/write SoundDescriptionHandle value that specifies the current output description as a SoundDescriptionHandle (lowest possible version for the current format). When calling QTGetComponentProperty, the caller passes a pointer to an unallocated Handle and assumes responsibility for calling DisposeHandle when done.
kQTSCAudioPropertyID_InputBasicDescription = 'isbd'

A read/write/DataProc/listen AudioStreamBasicDescription value that specifies that the current input description is an AudioStreamBasicDescription value.
kQTSCAudioPropertyID_BasicDescription = 'osbd'

A read/write/DataProc/listen AudioStreamBasicDescription value that specifies that the current output description is an AudioStreamBasicDescription value.
kQTSCAudioPropertyID_CodecSpecificSettingsArray = 'cdst'

A read/write CFArrayRef structure that designates a CFArray of CFDictionary structures, which describe various parameters specific to configuring a codec. This array of dictionaries, which is published by some compressors, can be parsed to generate UI information. When any value in the array changes, a client should call QTSetComponentProperty, passing the entire array.
kQTSCAudioPropertyID_SettingsState = scSettingsStateType

A read/write Handle value that is used to save the current state of the StandardCompressionSubTypeAudio component, so that its state may be restored at a later time with a single call. A StandardCompressionSubTypeAudio component can accept a saved settings state from a legacy StandardCompressionSubTypeSound component as write-only.
kQTSCAudioPropertyID_ExtendedProcs = scExtendedProcsType

A read/write/listen SCExtendedProcs value that is used to get or set an SCExtendedProcs structure.
kQTSCAudioPropertyID_PreferenceFlags = scPreferenceFlagsType

A read/write/listen SInt32 value that is used to specify dialog preferences such as scUseMovableModal.
kQTSCAudioPropertyID_WindowOptions = scWindowOptionsType

A read/write/listen SCWindowSettings structure that is used to set an SCWindowSettings structure, which tells the dialog about its parent window so that it can draw itself as a sheet on top of the parent.*/
enum {
kQTSCAudioPropertyID_AvailableCompressionFormatList = 'acf#',
kQTSCAudioPropertyID_ClientRestrictedCompressionFormatList = 'crf#',
kQTSCAudioPropertyID_AvailableCompressionFormatNamesList = 'cnm#',
kQTSCAudioPropertyID_HasLegacyCodecOptionsDialog = 'opn?',
kQTSCAudioPropertyID_ConstantBitRateFormatsOnly = '!vbr',
kQTSCAudioPropertyID_AvailableSampleRateList = 'avr#',
kQTSCAudioPropertyID_SampleRateRecommended = 'reco',
kQTSCAudioPropertyID_ApplicableSampleRateList = 'avr#',
kQTSCAudioPropertyID_ClientRestrictedSampleRateList = 'crr#',
kQTSCAudioPropertyID_InputMagicCookie = 'ikki',
kQTSCAudioPropertyID_MagicCookie = 'kuki',
kQTSCAudioPropertyID_ClientRestrictedLPCMBitsPerChannelList = 'crb#',
kQTSCAudioPropertyID_AvailableLPCMBitsPerChannelList = 'avb#',
kQTSCAudioPropertyID_ApplicableLPCMBitsPerChannelList = 'apb#',
kQTSCAudioPropertyID_LPCMBitsPerChannelList = 'sbc#',
kQTSCAudioPropertyID_AvailableNumChannelsList = 'anc#',
kQTSCAudioPropertyID_NumChannelsList = 'snc#',
kQTSCAudioPropertyID_InputChannelLayout = 'icly',
kQTSCAudioPropertyID_InputChannelLayoutName = 'icln',
kQTSCAudioPropertyID_ChannelLayout = 'clay',
kQTSCAudioPropertyID_ChannelLayoutName = 'clyn',
kQTSCAudioPropertyID_ClientRestrictedChannelLayoutTagList = 'crl#',
kQTSCAudioPropertyID_AvailableChannelLayoutTagList = 'acl#',
kQTSCAudioPropertyID_ChannelLayoutTagList = 'cly#',
kQTSCAudioPropertyID_AvailableChannelLayoutTagNamesList = 'cln#',
kQTSCAudioPropertyID_ApplicableChannelLayoutTagNamesList = 'apl#',
kQTSCAudioPropertyID_ClientRestrictedPCMFlags = 'crip',
kQTSCAudioPropertyID_DiscreteChannelsOK = 'dscr',
kQTSCAudioPropertyID_LPCMSpecificFlagsMask = 'sffm',
kQTSCAudioPropertyID_InputSoundDescription = 'isdh',
kQTSCAudioPropertyID_SoundDescription = 'osdh',
kQTSCAudioPropertyID_InputBasicDescription = 'isbd',
kQTSCAudioPropertyID_BasicDescription = 'osbd',
kQTSCAudioPropertyID_CodecSpecificSettingsArray = 'cdst',
kQTSCAudioPropertyID_SettingsState = scSettingsStateType,
kQTSCAudioPropertyID_ExtendedProcs = scExtendedProcsType,
kQTSCAudioPropertyID_PreferenceFlags = scPreferenceFlagsType,
kQTSCAudioPropertyID_WindowOptions = scWindowOptionsType
};
/*Device Attribute Keys for Inputs and Outputs

The following dictionary keys may be used to parse CF dictionaries returned by kQTSGAudioPropertyID_DeviceListWithAttributes and kQTSGAudioPropertyID_DeviceAttributes IDs for SGAudioMediaType channels.
kQTAudioDeviceAttribute_DeviceInputID = 'inID'

A CFNumberRef that wraps an OSType value.
kQTAudioDeviceAttribute_DeviceInputDescription = 'inds'

A CFStringRef that is suitable for displaying to the user.
kQTAudioDeviceAttribute_DeviceOutputID = 'otID'

A CFNumberRef that wraps an OSType value.
kQTAudioDeviceAttribute_DeviceOutputDescription = 'otds'

A CFStringRef that is suitable for displaying to the user.*/
enum {
kQTAudioDeviceAttribute_DeviceInputID = 'inID',
kQTAudioDeviceAttribute_DeviceInputDescription = 'inds',
kQTAudioDeviceAttribute_DeviceOutputID = 'otID',
kQTAudioDeviceAttribute_DeviceOutputDescription = 'otds'
};
/*SGModalFilterProc

Undocumented

typedef Boolean (*SGModalFilterProcPtr) (DialogPtr theDialog, const EventRecord *theEvent, short *itemHit, long refCon);

If you name your function MySGModalFilterProc, you would declare it this way:

Boolean MySGModalFilterProc (
   DialogPtr            theDialog,
   const EventRecord    *theEvent,
   short                *itemHit,
   long                 refCon );
Parameters
theDialog

A pointer to a dialog box.
theEvent

Undocumented
itemHit

Undocumented
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

Return TRUE if the event was handled, FALSE otherwise.
Declared In
QuickTimeComponents.h*/
typedef Boolean (*SGModalFilterProcPtr) (DialogPtr theDialog, const EventRecord *theEvent, short *itemHit, long refCon);

/*SGModalFilterUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGModalFilterProcPtr) SGModalFilterUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGModalFilterProcPtr) SGModalFilterUPP;

/*ConstComponentListPtr

Represents a type used by the Sequence Grabber API.

typedef const Component * ConstComponentListPtr;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef const Component * ConstComponentListPtr;

/*SGGetPause Values

Constants passed to SGGetPause.

enum {
   seqGrabUnpause                = 0,
   seqGrabPause                  = 1,
   seqGrabPauseForMenu           = 3
};
Declared In
QuickTimeComponents.h*/

enum {
   seqGrabUnpause                = 0,
   seqGrabPause                  = 1,
   seqGrabPauseForMenu           = 3
};


/*Types

The SGDeviceInputName structure is defined as follows:

This section describes each new structure that is available in QuickTime 6. 
struct SGDeviceInputName {
   Str63                           name;
   Handle                          icon;
   long                            flags;
   long                            reserved; // zero
};
typedef struct SGDeviceInputName SGDeviceInputName;
enum {
   sgDeviceInputNameFlagInputUnavailable = (1 << 0)
};
struct SGDeviceInputListRecord {
   short                           count;
   short                           selectedIndex;
   long                            reserved; //zero
   SGDeviceInputName               entry[1];
};
typedef struct SGDeviceInputListRecord  SGDeviceInputListRecord;
typedef SGDeviceInputListRecord *       SGDeviceInputListPtr;
typedef SGDeviceInputListPtr *          SGDeviceInputList;*/
struct SGDeviceInputName {
   Str63                           name;
   Handle                          icon;
   long                            flags;
   long                            reserved; // zero
};
typedef struct SGDeviceInputName SGDeviceInputName;
enum {
   sgDeviceInputNameFlagInputUnavailable = (1 << 0)
};
struct SGDeviceInputListRecord {
   short                           count;
   short                           selectedIndex;
   long                            reserved; //zero
   SGDeviceInputName               entry[1];
};
typedef struct SGDeviceInputListRecord  SGDeviceInputListRecord;
typedef SGDeviceInputListRecord *       SGDeviceInputListPtr;
typedef SGDeviceInputListPtr *          SGDeviceInputList;

/*The SGDeviceName structure is re-defined as follows:
struct SGDeviceName {
   Str63                           name;
   Handle                          icon;
   long                            flags;
   long                            refCon;
   SGDeviceInputList               inputs; // list of inputs; formerly reserved to 0
};
typedef struct SGDeviceName SGDeviceName;
enum {
   sgDeviceNameFlagDeviceUnavailable = (1 << 0),
   sgDeviceNameFlagShowInputsAsDevices = (1 << 1)
};*/
struct SGDeviceName {
   Str63                           name;
   Handle                          icon;
   long                            flags;
   long                            refCon;
   SGDeviceInputList               inputs; // list of inputs; formerly reserved to 0
};
typedef struct SGDeviceName SGDeviceName;
enum {
   sgDeviceNameFlagDeviceUnavailable = (1 << 0),
   sgDeviceNameFlagShowInputsAsDevices = (1 << 1)
};

/*The SGDeviceListRecord structure is defined as follows:
struct SGDeviceListRecord {
   short                           count;
   short                           selectedIndex;
   long                            reserved; //zero
   SGDeviceName                    entry[1];
};
typedef struct SGDeviceListRecord       SGDeviceListRecord;
typedef SGDeviceListRecord *            SGDeviceListPtr;
typedef SGDeviceListPtr *               SGDeviceList;
enum {
   sgDeviceListWithIcons       = (1 << 0),
   sgDeviceListDontCheckAvailability = (1 << 1),
   sgDeviceListIncludeInputs   = (1 << 2)
};


The new flag sgDeviceListIncludeInputs is passed to SGGetChannelDeviceList if the caller desires to get the list of inputs as well as the devices. If this flag is not passed, the old behavior of just listing devices is retained.*/
struct SGDeviceListRecord {
   short                           count;
   short                           selectedIndex;
   long                            reserved; //zero
   SGDeviceName                    entry[1];
};
typedef struct SGDeviceListRecord       SGDeviceListRecord;
typedef SGDeviceListRecord *            SGDeviceListPtr;
typedef SGDeviceListPtr *               SGDeviceList;
enum {
   sgDeviceListWithIcons       = (1 << 0),
   sgDeviceListDontCheckAvailability = (1 << 1),
   sgDeviceListIncludeInputs   = (1 << 2)
};

/*SGDeviceListPtr

Represents a type used by the Sequence Grabber API.

typedef SGDeviceListRecord * SGDeviceListPtr;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef SGDeviceListRecord * SGDeviceListPtr;

/*SGDeviceList

Represents a type used by the Sequence Grabber API.

typedef SGDeviceListPtr * SGDeviceList;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef SGDeviceListPtr * SGDeviceList;

/*SGChannel

Represents a type used by the Sequence Grabber API.

typedef ComponentInstance SGChannel;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance SGChannel;

/*SGDataProc

Undocumented

typedef OSErr (*SGDataProcPtr) (SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType, long refCon);

If you name your function MySGDataProc, you would declare it this way:

OSErr MySGDataProc (
   SGChannel    c,
   Ptr          p,
   long         len,
   long         *offset,
   long         chRefCon,
   TimeValue    time,
   short        writeType,
   long         refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
p

Undocumented
len

Undocumented
offset

Undocumented
chRefCon

Undocumented
time

Undocumented
writeType

Undocumented
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/
typedef OSErr (*SGDataProcPtr) (SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType, long refCon);


/*SGDataUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGDataProcPtr) SGDataUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGDataProcPtr) SGDataUPP;


/*SGAudioCallbackStruct

Used to call an SGAudioCallbackProc.

struct SGAudioCallbackStruct {
   SGAudioCallback    inputProc;
   void               *inputProcRefCon;
};
Fields
inputProc

An SGAudioCallbackProc.
inputProcRefCon

A reference constant. Use this parameter to point to a data structure containing any information your callback needs.
Version Notes

Introduced in QuickTime 7.
Availability
Carbon status: Supported; C interface file: Movies.h*/
struct SGAudioCallbackStruct {
   SGAudioCallback    inputProc;
   void               *inputProcRefCon;
};
typedef  struct SGAudioCallbackStruct SGAudioCallbackStruct;


/*Dictionary Keys

The dictionary keys listed in this section are used with c ertain of the property IDs listed in ��SGAudio Component Property IDs��. They may be used to parse CF dictionaries returned by kQTSGAudioPropertyID_DeviceListWithAttributes and kQTSGAudioPropertyID_DeviceAttributes IDs for SGAudioMediaType channels.
kQTAudioDeviceAttribute_DeviceUIDKey = 'uid '

A CFStringRef containing a unique identifier for a device.
kQTAudioDeviceAttribute_DeviceNameKey = 'name'

A CFStringRef containing a device��s printable name, suitable for the user interface.
kQTAudioDeviceAttribute_DeviceManufacturerKey = 'manu'

A CFStringRef containing a device manufacturer��s printable name, suitable for the user interface.
kQTAudioDeviceAttribute_DeviceTransportTypeKey = 'tran'

A CFNumberRef that wraps an OSType; for example, '1394' for fw. See the file IOAudioTypes.h.
kQTAudioDeviceAttribute_DeviceAliveKey = 'aliv'

A CFBooleanRef value that is TRUE if the device is present.
kQTAudioDeviceAttribute_DeviceCanRecordKey = 'rec ' [last char = space]

A CFBooleanRef value that is TRUE if the device can be used for recording (some devices can only play back).
kQTAudioDeviceAttribute_DeviceCanPreviewKey = 'prev'

A CFBooleanRef value that is TRUE if the device can be used to preview a grabbed sequence.
kQTAudioDeviceAttribute_DeviceHoggedKey = 'hogg'

A CFNumberRef that wraps the unique process ID that is hogging the device, or ��1 if the device is currently not being hogged. The process ID comes from a call to getpid.
kQTAudioDeviceAttribute_DeviceInUseKey = 'used'

A CFBooleanRef value that is TRUE if the device is performing I/O in any process.
kQTAudioDeviceAttribute_DeviceSupportsHardwarePlaythruKey = 'hard'

A CFBooleanRef value that is TRUE if the device supports hardware playthrough of inputs to outputs.
kQTAudioDeviceAttribute_DefaultInputDeviceKey = 'dIn ' [last char = space]

A CFBooleanRef value that��s TRUE if the device is the user-selected default input in an audio MIDI setup.
kQTAudioDeviceAttribute_DefaultOutputDeviceKey = 'dOut'

A CFBooleanRef value that��s TRUE if the device is the user-selected default output in an audio MIDI setup.
kQTAudioDeviceAttribute_DefaultSystemOutputDeviceKey = 'sOut'

A CFBooleanRef value that��s TRUE if the device is the user-selected device where system alerts play.
kQTAudioDeviceAttribute_IsCoreAudioDeviceKey = 'hal!'

A CFBooleanRef value that��s TRUE if the device is a Core Audio device.*/
enum {
kQTAudioDeviceAttribute_DeviceUIDKey = 'uid ' ,
kQTAudioDeviceAttribute_DeviceNameKey = 'name' ,
kQTAudioDeviceAttribute_DeviceManufacturerKey = 'manu' ,
kQTAudioDeviceAttribute_DeviceTransportTypeKey = 'tran',
kQTAudioDeviceAttribute_DeviceAliveKey = 'aliv',
kQTAudioDeviceAttribute_DeviceCanRecordKey = 'rec ' ,
kQTAudioDeviceAttribute_DeviceCanPreviewKey = 'prev',
kQTAudioDeviceAttribute_DeviceHoggedKey = 'hogg',
kQTAudioDeviceAttribute_DeviceInUseKey = 'used',
kQTAudioDeviceAttribute_DeviceSupportsHardwarePlaythruKey = 'hard',
kQTAudioDeviceAttribute_DefaultInputDeviceKey = 'dIn ' ,
kQTAudioDeviceAttribute_DefaultOutputDeviceKey = 'dOut',
kQTAudioDeviceAttribute_DefaultSystemOutputDeviceKey = 'sOut',
kQTAudioDeviceAttribute_IsCoreAudioDeviceKey = 'hal!'
};

/*SGAudio Component Property IDs

This section lists the property IDs for SGAudioMediaType channels. Besides the IDs defined below, SGAudioMediaType channels respond to kComponentPropertyInfoList and kComponentPropertyClassPropertyInfo selectors, which return CFDataRef structures containing arrays of ComponentPropertyInfo structures as defined in the file ImageCompression.h.
kQTSGAudioPropertyID_DeviceListWithAttributes = '#dva'

Used with kQTPropertyClass_SGAudio in read and listen modes to get an array of CFDictionaryRef structures. Each dictionary represents the attributes of one audio device. See Dictionary Keys for a list of supported dictionary keys. If the device list changes (for example, if a device is hotplugged or unplugged), listeners of this property will be notified. The caller is responsible for calling CFRelease to release the resulting CFArray.
kQTSGAudioPropertyID_DeviceAttributes = 'deva'

Used with kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudioPreviewDevice in read only mode to get a CFDictionaryRef structure representing the attributes of a specified audio device (record or preview). See Dictionary Keys for a list of supported dictionary keys. Not all keys are guaranteed to be present for a given device. The caller is responsible for calling CFRelease to release the resulting CFDictionary.
kQTSGAudioPropertyID_DeviceUID = 'uid ' [last character is space]

Used with kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudioPreviewDevice in read and write modes to get a CFString with an audio device��s unique ID for the current recording or preview or set the current recording or preview device to a specified audio device��s unique ID. You can obtain a list of devices on the user��s system with kQTSGAudioPropertyID_DeviceListWithAttributes. The caller is responsible for calling CFRelease to release the resulting CFString.
kQTSGAudioPropertyID_ChannelLayout = 'clay'

Used with kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudio, and kQTPropertyClass_SGAudioPreviewDevice in read and write modes to get or set an AudioChannelLayout structure representing the spatial or discrete channel layout. If used with kQTPropertyClass_SGAudio, the AudioChannelLayout refers to the channels in the resulting QuickTime movie sound track. If used with kQTPropertyClass_SGAudioRecordDevice, the AudioChannelLayout refers to the input channels on the record device. If used with kQTPropertyClass_SGAudioPreviewDevice, the AudioChannelLayout refers to the preview device��s output channels. AudioChannelLayout is a variable size structure, so before calling QTGetComponentProperty you should call QTGetComponentPropertyInfo to discover the size of the block of memory you must allocate to hold the result.
kQTSGAudioPropertyID_MagicCookie = 'kuki'

Used with kQTPropertyClass_SGAudio in read and write modes to access opaque data structures representing get or set compressor-specific out-of-band settings. This property is applicable only to compressed formats that use a cookie, such as AAC and AMR.
kQTSGAudioPropertyID_ChannelMap = 'cmap'

Used with kQTPropertyClass_SGAudioRecordDevice in read and write modes to access a C-style array of SInt32 structures that let a client enable or disable channels on a recording device, as well as reorder them or duplicate them to several output channels. This property need not be set if a client wishes to capture all channels from the record device; this is the default behavior. Each element in the SInt32 array represents one output bus (into the SGAudioChannel) from the record device. The value of each element is the zero-based source channel on the input device that should feed the specified output. Channel-disabling example: if you wish to capture just the 1st, 3rd, and 5th channels from a 6-channel input device, your channel map should be SInt32 map[3] = { 0, 2, 4 }. Channel-reordering example: if you wish to capture both channels from a stereo input device, but you know the left and right channels are reversed in the data source, set your channel map to SInt32 map[2] = { 1, 0 }. Channel-duplication example: if you wish to duplicate the second source channel into 4 outputs, set your channel map to SInt32 map[4] = { 1, 1, 1, 1 }. Empty channel example: if you need to produce a conformant stream of audio (such as a 6-channel stream to send to an external 5.1 AC3 encoder), but you have audio only for the L, R, and C channels (on record device channels 0, 1, and 2), you may set your channel map to SInt32 map[6] = { 0, 1, 2, -1, -1, -1 }. The last 3 channels will be filled with silence.
kQTSGAudioPropertyID_StreamFormat = 'frmt'

Used with kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudio, and kQTPropertyClass_SGAudioPreviewDevice in read and write modes to access AudioStreamBasicDescription structures that let you get or set the format of the audio as it will be written to the destination QuickTime movie track. When used with kQTPropertyClass_SGAudioRecordDevice, this property ID gets and sets the format of audio as it is physically recorded on the device. The format must be one of the formats passed in kQTSGAudioPropertyID_StreamFormatList. The mChannelsPerFrame of the StreamFormat read from the record device will not reflect channels that have been enabled or disabled with the ChannelMap property.
kQTSGAudioPropertyID_StreamFormatList = '#frm'

Used with kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudioPreviewDevice in read-only mode to get an array of AudioStreamBasicDescription structures that describe valid combinations of settings supported by the physical device in its current configuration (sample rate, bit depth, number of channels).
kQTSGAudioPropertyID_InputSelection = 'inpt'

Used with kQTPropertyClass_SGAudioRecordDevice in read and write modes to get an OSType value that lets you change the current input selection in devices that allow switching between data sources, such as analog, adat, sdi, aes/ebu, and spdif. When the input selection changes, the StreamFormat of the device may change as well; in particular, the number of channels may change.
kQTSGAudioPropertyID_InputListWithAttributes = '#inp'

Used with kQTPropertyClass_SGAudioRecordDevice in read-only mode to get a CFArrayRef structure that represents the list of available input sources for a given device. A CFArrayRef of CFDictionaryRef values is returned, where each one represents the attributes of one input. See ��Dictionary Keys�� for a list of valid keys. The caller is responsible for calling CFRelease to release the returned array.
kQTSGAudioPropertyID_OutputSelection = 'otpt'

Used with kQTPropertyClass_SGAudioPreviewDevice in read and write modes to get an OSType value that lets you change the current output selection in devices that allow switching between output destinations, such as analog, adat, sdi, aes/ebu, and spdif. When the output selection changes, the StreamFormat of the device may change as well; in particular, the number of channels may change.
kQTSGAudioPropertyID_OutputListWithAttributes = '#otp'

Used with kQTPropertyClass_SGAudioPreviewDevice in read-only mode to get a CFArrayRef structure that represents the list of available output destinations for a given device. A CFArrayRef of CFDictionaryRef values is returned, where each one represents the attributes of one output. See ��Dictionary Keys�� for a list of valid keys. The caller is responsible for calling CFRelease to release the returned array.
kQTSGAudioPropertyID_SoundDescription = 'snds'

Used with kQTPropertyClass_SGAudio in read and write modes to get a SoundDescriptionHandle value for the sound description that describes the data written to a QuickTime movie track. A QTGetComponentProperty call allocates the SoundDescriptionHandle for you. The caller should declare the SoundDescriptionHandle and set it to NULL, then pass its address to QTGetComponentProperty. The caller must call DisposeHandle to dispose of the resulting SoundDescriptionHandle when done with it.
kQTSGAudioPropertyID_LevelMetersEnabled = 'lmet'

Used with kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudio, and kQTPropertyClass_SGAudioPreviewDevice in read and write modes to access a Boolean value that controls metering. When used with kQTPropertyClass_SGAudioRecordDevice or kQTPropertyClass_SGAudioPreviewDevice, this property ID turns device level metering on or off. When used with kQTPropertyClass_SGAudio, it turns output level metering on or off. When level meters are enabled, you can use kQTSGAudioPropertyID_AveragePowerLevels to get instantaneous levels, or kQTSGAudioPropertyID_PeakHoldLevels to get peak-hold style meters, which are better for clipping detection. Level meters should be enabled only if you intend to poll for levels, because they place an added load on the CPU when enabled.
kQTSGAudioPropertyID_PeakHoldLevels = 'phlv'

Used with kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudio, and kQTPropertyClass_SGAudioPreviewDevice in read-only mode to get a C-style array of Float32 values representing in dB the peak hold levels for each channel on a device or output. This property ID may be used only when level meters are enabled (by using kQTSGAudioPropertyID_LevelMetersEnabled). Poll for peak hold levels as often as you would like, to update the user interface or look for clipping. The number of elements in the Float32 array will be equal to the number of input channels on your record device for kQTPropertyClass_SGAudioRecordDevice, or the number of elements in your kQTSGAudioPropertyID_ChannelMap, if you've set one. It will be equal to the number of output channels on your preview device for kQTPropertyClass_SGAudioPreviewDevice and equal to the number of channels in your kQTSGAudioPropertyID_StreamFormat (format.mChannelsPerFrame) for kQTPropertyClass_SGAudio. If no channel mixdown is being performed between record device and output formats, then the kQTSGAudioPropertyID_PeakHoldLevels values for kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudio will be equivalent. If you have requested hardware playthrough, level metering will be unavailable.
kQTSGAudioPropertyID_AveragePowerLevels = 'aplv'

Used with kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudio, and kQTPropertyClass_SGAudioPreviewDevice in read-only mode to get a C-style array of Float32 values representing in dB the average power levels for each channel on a device or output. This property ID may be used only when level meters are enabled (by using kQTSGAudioPropertyID_LevelMetersEnabled). Poll for average power levels as often as you would like, to update the user interface. The number of elements in the Float32 array will be equal to the number of input channels on your record device for kQTPropertyClass_SGAudioRecordDevice, or the number of elements in your kQTSGAudioPropertyID_ChannelMap, if you've set one. It will be equal to the number of output channels on your preview device for kQTPropertyClass_SGAudioPreviewDevice and equal to the number of channels in your kQTSGAudioPropertyID_StreamFormat (format.mChannelsPerFrame) for kQTPropertyClass_SGAudio. If no channel mixdown is being performed between record device and output formats, then the kQTSGAudioPropertyID_AveragePowerLevels values for kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudio will be equivalent. If you have requested hardware playthrough, level metering will be unavailable.
kQTSGAudioPropertyID_Settings = 'setu'

Used with kQTPropertyClass_SGAudio in read and write modes to access UserData values. This property takes supersedes the SGGet/SetChannelSettings calls. An SGAudioMediaType channel accepts old-style 'soun' SGChannel settings in a QTSetComponentProperty call, but always produces new-style settings in a QTGetComponentProperty call.
kQTSGAudioPropertyID_MasterGain = 'mgan'

Used with kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudio, and kQTPropertyClass_SGAudioPreviewDevice in read and write modes to access a Float32 value that represents the master gain on a physical recording device with 0.0 = minimum volume and 1.0 = the maximum volume of the device. With kQTPropertyClass_SGAudioPreviewDevice, this property gets or sets the master gain on the physical previewing device with 0.0 = minimum volume and 1.0 = the maximum volume of the device. With kQTPropertyClass_SGAudio, this property gets or sets the master gain (volume) of the recorded audio data in software (pre-mixdown) with minimum = 0.0, maximum = unbounded. Normally you wouldn't set the volume greater than 1.0, but if the source sound level provided by the device is too low, you may set a gain greater than 1.0 to boost the gain. Some devices cannot respond to this property setting.
kQTSGAudioPropertyID_PerChannelGain = 'cgan'

Used with kQTPropertyClass_SGAudioRecordDevice, kQTPropertyClass_SGAudio, and kQTPropertyClass_SGAudioPreviewDevice in read and write modes to access a C-style array of Float32 value that represents the gain of each channel on a physical recording device. The number of channels in the array for kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudioPreviewDevice is equal to the total number of channels on the device, which can be discovered using kQTSGAudioPropertyID_StreamFormat. The number and order of channels in the array for the kQTPropertyClass_SGAudio class must correspond to the valence of channels on the output (which is affected by a channel map, if you've set one). With kQTPropertyClass_SGAudio, this property gets and sets the gain (volume) of each channel of recorded audio data in software. Levels set on the record device or preview device must be in the range minimum = 0.0, maximum = 1.0. Levels set in software may be set to values greater than 1.0 in order to boost low signals. The caller may specify that a particular channel gain level should be left alone by setting the value to ��1.0. For instance, to set the gain of channels 1, 2, and 3 to 0.5 on a 6 channel device, pass the following array values in a SetProperty call: { 0.5, 0.5, 0.5, -1., -1., -1. }.
kQTSGAudioPropertyID_HardwarePlaythruEnabled = 'hard'

Used with kQTPropertyClass_SGAudioRecordDevice in read and write modes to access a Boolean value representing the state of hardware playthrough during seqGrabPreview or seqGrabPlayDuringRecord operations. Setting this value will have no effect if the record device and preview device are not the same. Some devices do not support hardware playthrough; devices report whether or not they support this feature through the kQTSGAudioPropertyID_DeviceListWithAttributes property.
kQTSGAudioPropertyID_ChunkSize = 'chnk'

Used with kQTPropertyClass_SGAudio in read and write modes to access a Float32 value representing the number of seconds of audio that the SGAudioChannel should buffer before writing.
kComponentPropertyInfoList = 'list'

Used with kComponentPropertyClassPropertyInfo in read-only mode as defined in the file ImageCompression.h.
kQTSGAudioPropertyID_DeviceAlive = 'aliv'

Used with kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudioPreviewDevice in read and listen modes to get a Boolean value telling whether or not a device is alive. If the device is hot unplugged, listeners of this property will be notified. If a record or preview operation is in progress it will be stopped, but it is left to the client to select a new device.
kQTSGAudioPropertyID_DeviceHogged = 'hogg'

Used with kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudioPreviewDevice in read, write, and listen modes to get a Boolean value telling whether a device has become hogged or unhogged by another process. If so, listeners of this property will be notified. SGAudioMediaType channel does not hog devices, but a client that has reason to gain exclusive access to a device may set this property to TRUE.
kQTSGAudioPropertyID_DeviceInUse = 'used'

Used with kQTPropertyClass_SGAudioRecordDevice and kQTPropertyClass_SGAudioPreviewDevice in read and listen modes to get a Boolean value that tells whether a device is in use. If the device starts to be used (for instance, when another process starts performing I/O with it), listeners of this property will be notified.
kQTSGAudioPropertyID_MixerCoefficients = 'mixc'

Used with kQTPropertyClass_SGAudio in read and write modes to access a C-style array of Float32 values representing a set of coefficients for mixdown. If you wish to perform a custom mixdown from the incoming record device channel valence (discoverable using a combination of kQTPropertyClass_SGAudioRecordDevice, kQTSGAudioPropertyID_StreamFormat, kQTPropertyClass_SGAudioRecordDevice, and kQTSGAudioPropertyID_ChannelMap) to a different output number of channels (using kQTPropertyClass_SGAudio and kQTSGAudioPropertyID_StreamFormat), you may specify your own set of mixer coefficients which will be set as volume values at each crosspoint in SGAudioMediaType��s internal matrix mixer. The value you pass is a two-dimensional array of Float32 values where the first dimension (rows) is the input channel and the second dimension (columns) is the output channel. Each Float32 value contains one gain level to apply.
kQTSGAudioPropertyID_PreMixCallback = '_mxc'

Used with kQTPropertyClass_SGAudio in read and write modes to access a pre-mix SGAudioCallbackStruct. If you wish to receive a callback when new audio samples become available from a recording device (before they've been mixed down), set this property using an SGAudioCallbackStruct containing a pointer to your SGAudioCallback function and a reference constant (RefCon). If you have previously registered a callback and no longer wish to receive it, call QTSetComponentProperty again, this time passing NULL for your inputProc and 0 for your inputRefCon.
kQTSGAudioPropertyID_PreMixCallbackFormat = '_mcf'

Used with kQTPropertyClass_SGAudio in read-only mode to get an AudioStreamBasicDescription structure representing the format of the audio that will be received by your pre-mix SGAudioCallback function. Note that the format may not be available until you've called SGPrepare.
kQTSGAudioPropertyID_PostMixCallback = 'mx_c'

Used with kQTPropertyClass_SGAudio in read and write modes to access a post-mix SGAudioCallbackStruct. If you wish to receive a callback after audio samples have been mixed (the first step after they are received from a recording device by SGAudioMediaType channel), set this property ID using an SGAudioCallbackStruct containing a pointer to your SGAudioCallback function and a reference constant (RefCon). If you have previously registered a callback and no longer wish to receive it, call QTSetComponentProperty again, this time passing NULL for your inputProc and 0 for your inputRefCon.
kQTSGAudioPropertyID_PostMixCallbackFormat = 'm_cf'

Used with kQTPropertyClass_SGAudio in read-only mode to get an AudioStreamBasicDescription structure representing the format of the audio that will be received by your post-mix SGAudioCallback function. Note that the format may not be available until you've called SGPrepare.
kQTSGAudioPropertyID_PreConversionCallback = '_cvc'

Used with kQTPropertyClass_SGAudio in read and write modes to access a pre-conversion SGAudioCallbackStruct. If you wish to receive a callback just before audio samples are about to be sent through an audio converter (for format conversion or compression), set this property ID using an SGAudioCallbackStruct containing a pointer to your SGAudioCallback function and a reference constant (RefCon). If you have previously registered a callback and no longer wish to receive it, call QTSetComponentProperty again, this time passing NULL for your inputProc and 0 for your inputRefCon.
kQTSGAudioPropertyID_PreConversionCallbackFormat = '_ccf'

Used with kQTPropertyClass_SGAudio in read-only mode to get an AudioStreamBasicDescription structure representing the format of the audio that will be received by your pre-conversion SGAudioCallback function. Note that the format may not be available until you've called SGPrepare.
kQTSGAudioPropertyID_PostConversionCallback = 'cv_c'

Used with kQTPropertyClass_SGAudio in read and write modes to access a post-conversion SGAudioCallbackStruct. If you wish to receive a callback right after audio samples have been sent through an audio converter (for format conversion or compression), set this property ID using an SGAudioCallbackStruct containing a pointer to your SGAudioCallback function and a reference constant (RefCon). If you have previously registered a callback and no longer wish to receive it, call QTSetComponentProperty again, this time passing NULL for your inputProc and 0 for your inputRefCon.
kQTSGAudioPropertyID_PostConversionCallbackFormat = 'c_cf'

Used with kQTPropertyClass_SGAudio in read-only mode to get an AudioStreamBasicDescription structure representing the format of the audio that will be received by your post-conversion SGAudioCallback function. Note that the format may not be available until you've called SGPrepare.*/
enum {
kQTSGAudioPropertyID_DeviceListWithAttributes = '#dva',
kQTSGAudioPropertyID_DeviceAttributes = 'deva',
kQTSGAudioPropertyID_DeviceUID = 'uid ' ,
kQTSGAudioPropertyID_ChannelLayout = 'clay',
kQTSGAudioPropertyID_MagicCookie = 'kuki',
kQTSGAudioPropertyID_ChannelMap = 'cmap',
kQTSGAudioPropertyID_StreamFormat = 'frmt',
kQTSGAudioPropertyID_StreamFormatList = '#frm',
kQTSGAudioPropertyID_InputSelection = 'inpt',
kQTSGAudioPropertyID_InputListWithAttributes = '#inp',
kQTSGAudioPropertyID_OutputSelection = 'otpt',
kQTSGAudioPropertyID_OutputListWithAttributes = '#otp',
kQTSGAudioPropertyID_SoundDescription = 'snds',
kQTSGAudioPropertyID_LevelMetersEnabled = 'lmet',
kQTSGAudioPropertyID_PeakHoldLevels = 'phlv',
kQTSGAudioPropertyID_AveragePowerLevels = 'aplv',
kQTSGAudioPropertyID_Settings = 'setu',
kQTSGAudioPropertyID_MasterGain = 'mgan',
kQTSGAudioPropertyID_PerChannelGain = 'cgan',
kQTSGAudioPropertyID_HardwarePlaythruEnabled = 'hard',
kQTSGAudioPropertyID_ChunkSize = 'chnk',
//kComponentPropertyInfoList = 'list',
kQTSGAudioPropertyID_DeviceAlive = 'aliv',
kQTSGAudioPropertyID_DeviceHogged = 'hogg',
kQTSGAudioPropertyID_DeviceInUse = 'used',
kQTSGAudioPropertyID_MixerCoefficients = 'mixc',
kQTSGAudioPropertyID_PreMixCallback = '_mxc',
kQTSGAudioPropertyID_PreMixCallbackFormat = '_mcf',
kQTSGAudioPropertyID_PostMixCallback = 'mx_c',
kQTSGAudioPropertyID_PostMixCallbackFormat = 'm_cf',
kQTSGAudioPropertyID_PreConversionCallback = '_cvc',
kQTSGAudioPropertyID_PreConversionCallbackFormat = '_ccf',
kQTSGAudioPropertyID_PostConversionCallback = 'cv_c',
kQTSGAudioPropertyID_PostConversionCallbackFormat = 'c_cf'
};

/*SGAudio Component Property Classes

Every SGAudioMediaType channel uses standard QuickTime component property selectors to get, set, and listen to properties. Each component property takes a property class as well as a property ID. SGAudioMediaType channels use the property classes listed in this section.SGAudioMediaType                       = 'audi'
kQTPropertyClass_SGAudio                 = 'audo'
kQTPropertyClass_SGAudioRecordDevice     = 'audr'
kQTPropertyClass_SGAudioPreviewDevice    = 'audp'

'audo'

Used with properties that pertain to the SGChannel as a whole, or to the output of an SGAudioChannel (that is, with the resulting track in a QuickTime movie).
'audr'

Used with properties that pertain specifically to an SGAudioChannel recording device��s physical settings.
'audp'

Used with properties that pertain specifically to an SGAudioChannel preview device��s physical settings.

For the property IDs used with these classes. see ��SGAudio Component Property IDs��.*/
enum {
SGAudioMediaType                       = 'audi',
kQTPropertyClass_SGAudio                 = 'audo',
kQTPropertyClass_SGAudioRecordDevice     = 'audr',
kQTPropertyClass_SGAudioPreviewDevice    = 'audp'
};

/*QTComponentPropertyInfo

Stores information for component property functions.

struct ComponentPropertyInfo {
   ComponentPropertyClass    propClass;
   ComponentPropertyID       propID;
   ComponentValueType        propType;
   ByteCount                 propSize;
   UInt32                    propFlags;
};
Fields
propClass

A value of type OSType that specifies a property class:
kComponentPropertyClassPropertyInfo ('pnfo')

A QTComponentPropertyInfo structure that defines a property information class.
kComponentPropertyInfoList ('list')

An array of QTComponentPropertyInfo structures, one for each property.
kComponentPropertyCacheSeed ('seed')

A component property cache seed value.
kComponentPropertyExtendedInfo ('meta')

A CFDictionary with extended property information.
kComponentPropertyCacheFlags ('flgs')

One of the following two flags:
kComponentPropertyCacheFlagNotPersistent

Property metadata should not be saved in persistent cache.
kComponentPropertyCacheFlagIsDynamic

Property metadata should not be cached at all.
propID

A value of type OSType that specifies a property ID.
propType

The type of the property.
propSize

The size of the property in bytes.
propFlags

Component property flags.
Version Notes

Introduced in QuickTime 6.4.
Availability
Carbon status: Supported; C interface file: QuickTimeComponents.h
Platform Considerations

Associated functions: QTAddComponentPropertyListener, QTComponentPropertyListenerCollectionAddListener, QTComponentPropertyListenerCollectionHasListenersForProperty, QTComponentPropertyListenerCollectionNotifyListeners, QTComponentPropertyListenerCollectionRemoveListener, QTGetComponentProperty, QTGetComponentPropertyInfo, QTRemoveComponentPropertyListener, QTSetComponentProperty, QTComponentPropertyListenerFilterProc, QTComponentPropertyListenerProc*/
struct ComponentPropertyInfo {
   ComponentPropertyClass    propClass;
   ComponentPropertyID       propID;
   ComponentValueType        propType;
   ByteCount                 propSize;
   UInt32                    propFlags;
};

typedef  struct ComponentPropertyInfo ComponentPropertyInfo ;


/*seqGrabAppendToFile

Constants grouped with seqGrabAppendToFile.

enum {
   seqGrabToDisk                 = 1,
   seqGrabToMemory               = 2,
   seqGrabDontUseTempMemory      = 4,
   seqGrabAppendToFile           = 8,
   seqGrabDontAddMovieResource   = 16,
   seqGrabDontMakeMovie          = 32,
   seqGrabPreExtendFile          = 64,
   seqGrabDataProcIsInterruptSafe = 128,
   seqGrabDataProcDoesOverlappingReads = 256,
   seqGrabDontPreAllocateFileSize = 512  /* Don't set the size of the file before capture unless the file has been pre-extended */
//};
//Declared In
//QuickTimeComponents.h*/

enum {
   seqGrabToDisk                 = 1,
   seqGrabToMemory               = 2,
   seqGrabDontUseTempMemory      = 4,
   seqGrabAppendToFile           = 8,
   seqGrabDontAddMovieResource   = 16,
   seqGrabDontMakeMovie          = 32,
   seqGrabPreExtendFile          = 64,
   seqGrabDataProcIsInterruptSafe = 128,
   seqGrabDataProcDoesOverlappingReads = 256,
   seqGrabDontPreAllocateFileSize = 512  /* Don't set the size of the file before capture unless the file has been pre-extended */
};
/*Two new usage flags have also been defined so that your application can indicate to the sequence grabber (and thus the VDIG) that it is not being used in a conventional recording mode.
enum {
    seqGrabRecord               = 1,
    seqGrabPreview              = 2,
    seqGrabPlayDuringRecord     = 4,
    seqGrabLowLatencyCapture    = 8, /* return the freshest frame
                                        possible, for live work
                                        (i.e. videoconferencing,  live
                                        broadcast, live image processing)
                                                                     */
 
   // seqGrabAlwaysUseTimeBase    = 16 /* Tell VDIGs to use TimebaseTime
        //                                always, rather than creating
       //                                 uniform frame durations,  for more
       //                                 accurate live sync with  audio */
//};*

enum {
    seqGrabRecord               = 1,
    seqGrabPreview              = 2,
    seqGrabPlayDuringRecord     = 4,
    seqGrabLowLatencyCapture    = 8, /* return the freshest frame
                                        possible, for live work
                                        (i.e. videoconferencing,  live
                                        broadcast, live image processing)
                                                                     */
 
    seqGrabAlwaysUseTimeBase    = 16 /* Tell VDIGs to use TimebaseTime
                                        always, rather than creating
                                        uniform frame durations,  for more
                                        accurate live sync with  audio */
};
typedef unsigned long SeqGrabUsageEnum;

/*SGChannel

Represents a type used by the Sequence Grabber API.

typedef ComponentInstance SGChannel;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance SGChannel;


/*Component Identifiers

Identify the types of components.

clockComponentType                 ='clok'
compressorComponentType            ='imco'
CreateFilePreviewComponentType     ='pmak'
DataHandlerType                    ='dhlr'
decompressorComponentType          ='imdc'
MediaHandlerType                   ='mhlr'
MovieControllerComponentType       ='play'
MovieExportType                    ='spit'
MovieImportType                    ='eat '
SeqGrabChannelType                 ='sgch'
SeqGrabComponentType               ='barg'
SeqGrabCompressionPanelType        ='cmpr'
SeqGrabPanelType                   ='sgpn'
SeqGrabSourcePanelType             ='sour'
ShowFilePreviewComponentType       ='pnot'
StandardCompressionSubType         ='imag'
StandardCompressionSubTypeSound    ='soun'
StandardCompressionType            ='scdi'
systemMicrosecondClock             ='micr'
systemMillisecondClock             ='mill'
systemSecondClock                  ='seco'
systemTickClock                    ='tick'
videoDigitizerComponentType        ='vdig'
Discussion

All components of the same type or subtype provide the same kinds of services and support a common application programming interface. Codecs have their own set of types.*/
enum {
clockComponentType                 ='clok',
compressorComponentType            ='imco',
CreateFilePreviewComponentType     ='pmak',
DataHandlerType                    = 'dhlr',
decompressorComponentType          ='imdc',
MediaHandlerType                   ='mhlr',
MovieControllerComponentType       ='play',
MovieExportType                    ='spit',
MovieImportType                    ='eat',
SeqGrabChannelType                 ='sgch',
SeqGrabComponentType               ='barg',
SeqGrabCompressionPanelType        ='cmpr',
SeqGrabPanelType                   ='sgpn',
SeqGrabSourcePanelType             ='sour',
ShowFilePreviewComponentType       ='pnot',
StandardCompressionSubType         ='imag',
StandardCompressionSubTypeSound    ='soun',
StandardCompressionType            ='scdi',
systemMicrosecondClock             ='micr',
systemMillisecondClock             ='mill',
systemSecondClock                  ='seco',
systemTickClock                    ='tick',
videoDigitizerComponentType        ='vdig'
};

/*MovieImportComponent

Represents a type used by the Movie Components API.

typedef ComponentInstance MovieImportComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance MovieImportComponent;

/*QTVideoOutputComponent

Represents a type used by the Video Components API.

typedef ComponentInstance QTVideoOutputComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance QTVideoOutputComponent;

/*VideoDigitizerError

Represents a type used by the Video Components API.

typedef ComponentResult VideoDigitizerError;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentResult VideoDigitizerError;

/*VideoDigitizerComponent

Represents a type used by the Video Components API.

typedef ComponentInstance VideoDigitizerComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance VideoDigitizerComponent;

/*Temporal Settings Request Type

Use the temporal settings request to retrieve or modify the current temporal compression parameters. These parameters govern sequence-compression operations.

You supply a pointer to a temporal settings structure. If you are retrieving these settings, the standard dialog component places the current settings into the specified structure; if you are changing the settings, place the new values into the structure. The component uses those values to update its settings.

The SCTemporalSettings data type defines the format and content of the temporal settings structure:typedef struct {
    CodecQ      temporalQuality;    / desired quality *
    Fixed       frameRate;          / frame rate *
    long        keyFrameRate;       / key frame rate *
} SCTemporalSettings;*/
typedef struct SCTemporalSettings {
    CodecQ      temporalQuality;    /* desired quality */
    Fixed       frameRate;          /* frame rate */
    long        keyFrameRate;       /* key frame rate */
} SCTemporalSettings;

/*Spatial Settings Request Type

Use the spatial settings request to retrieve or modify the current spatial compression parameters. These parameters control how each image is compressed.

You supply a pointer to a spatial settings structure. If you are retrieving these settings, the standard dialog component places the current settings into the specified structure; if you are changing the settings, place the new values into the structure. The component uses those values to update its settings.

The SCSpatialSettings data type defines the format and content of the spatial settings structure:
typedef struct {
    CodecType           codecType;         *compressor type *
    CodecComponent      codec;             / compressor *
    short               depth;             / pixel depth *
    CodecQ              spatialQuality;    / desired quality *
} SCSpatialSettings;

Field	
Description

codecType	
Specifies the default compressor type that is displayed in the pop-up menu of compressors in the dialog box. The standard image compression dialog component uses this field to return the compressor type that was selected by the user. You must set this parameter to one of the compressor types supported by the Image Compression Manager, or to nil. If you set the field to nil, the standard image compression dialog component uses as the default value the first compressor or compressor type that it retrieves from the Image Compression Manager.

codec	
Provides additional information about the default compressor that is displayed in the pop-up menu of compressors in the dialog box. If the user selects a specific compressor component, the standard image compression dialog component returns the appropriate compressor identifier in this field. Other options for this field are discussed below.

depth	
Specifies the default value of the pixel depth pop-up menu in the dialog box. This menu allows the user to select the color or gray scale resolution value to be used when compressing the image or image sequence. If you set this field to 0, the component chooses an appropriate depth for the default compressor you specified with the theCodec field. When the user clicks OK, the standard image compression dialog component sets this field to the pixel depth value selected by the user. Note that the standard image compression dialog component may adjust the depth value so that it corresponds to a value that is supported by the compressor that has been selected by the user. The depth returned could be 0 if the scShowBestDepth flag is set.

spatialQuality	
Specifies the default setting of the quality slider in the dialog box. This slider controls the spatial quality of the compressed image sequence, which influences the amount of spatial compression that can be achieved. Spatial compression eliminates redundant information within each frame in a sequence. When the user clicks OK, the standard image compression dialog component sets this field to the spatial quality value selected by the user. Note that the standard image compression dialog component may adjust the quality value so that it corresponds to a value that is supported by the compressor that has been selected by the user.


The scListEveryCodec bit in the flag in the scPreferenceFlagsType request influences the operation of the compressor list in the dialog box and, therefore, the way the component uses the codec field. Set the flag to 1 to have the list contain an entry for each compressor component in the system. If the flag is set to 1, the standard image compression dialog component uses this field along with the codecType field to select the default compressor that appears in the dialog box. To specify a default image compressor component, set this field to the appropriate compressor identifier. When the user clicks OK in the dialog box, the standard image compression dialog component returns the compressor identifier that corresponds to the selected image compressor component.

If you set the codec field to nil, the standard image compression dialog component uses as the default value the first compressor of the specified type that it retrieves from the Image Compression Manager. If you have set the flag to 0, the list contains only one entry for each type of compressor in the system. The standard image compression dialog component ignores this field when creating the list of compressor types. In this case, the standard image compression dialog component does not change the value of this field when the user clicks OK.

However, you may use the codec field to specify additional selection criteria by setting this field to one of the special compressor identifiers supported by the Image Compression Manager. The standard image compression dialog component may use this value when it validates the compression parameters selected by the user.*/
typedef struct {
    CodecType           codecType;         /* compressor type */
    CodecComponent      codec;             /* compressor */
    short               depth;             /* pixel depth */ 
    CodecQ              spatialQuality;    /* desired quality */
} SCSpatialSettings;

/*SCModalFilterProc

Filter routine called when a user event occurs in a sequence compression modal dialog box.

typedef Boolean (*SCModalFilterProcPtr) (DialogPtr theDialog, EventRecord *theEvent, short *itemHit, long refcon);

If you name your function MySCModalFilterProc, you would declare it this way:

Boolean MySCModalFilterProc (
   DialogPtr      theDialog,
   EventRecord    *theEvent,
   short          *itemHit,
   long           refcon );
Parameters
theDialog

A pointer to a dialog box.
theEvent

A pointer to an EventRecord structure that defines a user event.
itemHit

A pointer to an item ID number in the dialog box.
refcon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

Return TRUE if the event was handled, FALSE otherwise.
Declared In
QuickTimeComponents.h*/
typedef Boolean (*SCModalFilterProcPtr) (DialogPtr theDialog, EventRecord *theEvent, short *itemHit, long refcon);

/*SCModalHookProc

Called whenever the user selects an item in the dialog box.

typedef short (*SCModalHookProcPtr) (DialogPtr theDialog, short itemHit, void *params, long refcon);

If you name your function MySCModalHookProc, you would declare it this way:

short MySCModalHookProc (
   DialogPtr    theDialog,
   short        itemHit,
   void         *params,
   long         refcon );
Parameters
theDialog

A pointer to a dialog box.
itemHit

A pointer to an item ID number in the dialog box.
params

A pointer to your data area.
refcon

A reference constant that the client code supplies to your callback.
Return Value

Return TRUE if the event was handled, FALSE otherwise.
Discussion

You can use this callback to customize the operation of the standard image-compression dialog box. For example, you might want to support a custom button that activates a secondary dialog box. Another possibility would be to provide additional validation support when the user clicks OK.
Declared In
QuickTimeComponents.h*/
typedef short (*SCModalHookProcPtr) (DialogPtr theDialog, short itemHit, void *params, long refcon);


/*Extended Functions Request Type

Use the extended functions request to extend the interface provided in the standard image or sequence dialog boxes. You may specify a filter function, a hook function, and a custom button; you may retrieve the current settings for these options using the SCGetInfo function.

You supply a pointer to an extended functions structure. If you are retrieving these settings, the standard dialog component places the current settings into the specified structure; if you are changing the settings, place the new values into the structure; the component uses those values to update its settings. Set this pointer to nil to remove the current functions.

By default, none of these extended interface elements are used.

The SCExtendedProcs data type defines the format and content of the extended functions structure:
typedef struct {
    SCModalFilterProcPtr    filterProc;     * filter function *
    SCModalHookProcPtr      hookProc;       * hook function *
    long                    refcon;         * reference constant *
    Str31                   customName;     * custom button name *
} SCExtendedProcs;

Field	
Description

filterProc	
Contains a pointer to a modal-dialog filter function in your application. Because the compression dialog box is a movable modal dialog box, you must provide a filter to process update events for your application windows. The standard component calls your filter function before it processes the event. You can use this function to control events in the dialog box. For example, you might use the filter function to release processing time to other windows displayed by your application while the standard image compression dialog box is being displayed. If you do not want to specify a filter function, set this parameter to nil.

hookProc	
Contains a pointer to a dialog hook function in your application. The standard component calls your hook function whenever the user selects an item in the dialog box. You can use this function to customize the operation of the standard image compression dialog box. For example, you might want to support a custom button that activates a secondary dialog box. Another possibility would be to provide additional validation support when the user clicks OK. If you do not want to specify a hook function, set this parameter to nil.

refcon	
Specifies a reference constant that is to be passed to the dialog hook function and the modal-dialog filter function.

customName	
Specifies the string to be displayed in the custom button in the dialog box. If you are not using a custom button, set this parameter to nil.


This is how to declare a filter function named MyFilter:pascal Boolean MyFilter (DialogPtr theDialog,
    EventRecord *theEvent, short *itemHit, long refcon);


This is how to declare a hook function named MyHook:pascal short MyHook (DialogPtr theDialog,
    short *itemHit, SCParams *params, long refcon);


In both cases the refcon parameter accepts the reference constant that you supply in the refcon field of the extended functions structure.*/
typedef struct {
    SCModalFilterProcPtr    filterProc;     /* filter function */
    SCModalHookProcPtr      hookProc;       /* hook function */
    long                    refcon;         /* reference constant */ 
    Str31                   customName;     /* custom button name */ 
} SCExtendedProcs;

/*(SGGrabBottleProc

Undocumented

typedef ComponentResult (*SGGrabBottleProcPtr) (SGChannel c, short bufferNum, long refCon);

If you name your function MySGGrabBottleProc, you would declare it this way:

ComponentResult MySGGrabBottleProc (
   SGChannel    c,
   short        bufferNum,
   long         refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bufferNum

A buffer identifier provided by the sequence grabber component.
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/
typedef ComponentResult (*SGGrabBottleProcPtr) (SGChannel c, short bufferNum, long refCon);

/*SGGrabBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGGrabBottleProcPtr) SGGrabBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGGrabBottleProcPtr) SGGrabBottleUPP;

/*SGGrabCompleteBottleProc

Undocumented

typedef ComponentResult (*SGGrabCompleteBottleProcPtr) (SGChannel c, short bufferNum, Boolean *done, long refCon);

If you name your function MySGGrabCompleteBottleProc, you would declare it this way:

ComponentResult MySGGrabCompleteBottleProc (
   SGChannel    c,
   short        bufferNum,
   Boolean      *done,
   long         refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bufferNum

A buffer identifier provided by the sequence grabber component.
done

A pointer to a Boolean; return TRUE if the task was completed, FALSE otherwise.
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/
typedef ComponentResult (*SGGrabCompleteBottleProcPtr) (SGChannel c, short bufferNum, Boolean *done, long refCon);

/*SGGrabCompleteBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGGrabCompleteBottleProcPtr) SGGrabCompleteBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGGrabCompleteBottleProcPtr) SGGrabCompleteBottleUPP;

/*SGDisplayBottleProc

Undocumented

typedef ComponentResult (*SGDisplayBottleProcPtr) (SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);

If you name your function MySGDisplayBottleProc, you would declare it this way:

ComponentResult MySGDisplayBottleProc (
   SGChannel       c,
   short           bufferNum,
   MatrixRecord    *mp,
   RgnHandle       clipRgn,
   long            refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bufferNum

A buffer identifier provided by the sequence grabber component.
mp

Undocumented
clipRgn

Undocumented
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/
typedef ComponentResult (*SGDisplayBottleProcPtr) (SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);


/*SGDisplayBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGDisplayBottleProcPtr) SGDisplayBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGDisplayBottleProcPtr) SGDisplayBottleUPP;

/*SGCompressBottleProc

Undocumented

typedef ComponentResult (*SGCompressBottleProcPtr) (SGChannel c, short bufferNum, long refCon);

If you name your function MySGCompressBottleProc, you would declare it this way:

ComponentResult MySGCompressBottleProc (
   SGChannel    c,
   short        bufferNum,
   long         refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bufferNum

A buffer identifier provided by the sequence grabber component.
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/
typedef ComponentResult (*SGCompressBottleProcPtr) (SGChannel c, short bufferNum, long refCon);

/*SGCompressBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGCompressBottleProcPtr) SGCompressBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGCompressBottleProcPtr) SGCompressBottleUPP;

/*SGCompressCompleteBottleProc

Undocumented

typedef ComponentResult (*SGCompressCompleteBottleProcPtr) (SGChannel c, short bufferNum, Boolean *done, SGCompressInfo *ci, long refCon);

If you name your function MySGCompressCompleteBottleProc, you would declare it this way:

ComponentResult MySGCompressCompleteBottleProc (
   SGChannel         c,
   short             bufferNum,
   Boolean           *done,
   SGCompressInfo    *ci,
   long              refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bufferNum

A buffer identifier provided by the sequence grabber component.
done

A pointer to a Boolean; return TRUE if the task was completed, FALSE otherwise.
ci

A pointer to a SGCompressInfo structure.
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/
typedef ComponentResult (*SGCompressCompleteBottleProcPtr) (SGChannel c, short bufferNum, Boolean *done, SGCompressInfo *ci, long refCon);


/*SGCompressCompleteBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGCompressCompleteBottleProcPtr) SGCompressCompleteBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGCompressCompleteBottleProcPtr) SGCompressCompleteBottleUPP;

/*SGAddFrameBottleProc

Undocumented

typedef ComponentResult (*SGAddFrameBottleProcPtr) (SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo *ci,
long refCon);

If you name your function MySGAddFrameBottleProc, you would declare it this way:

ComponentResult MySGAddFrameBottleProc (
   SGChannel               c,
   short                   bufferNum,
   TimeValue               atTime,
   TimeScale               scale,
   const SGCompressInfo    *ci,
   long                    refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bufferNum

A buffer identifier provided by the sequence grabber component.
atTime

Undocumented
scale

The current time scale.
ci

A pointer to a SGCompressInfo structure.
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/

typedef ComponentResult (*SGAddFrameBottleProcPtr) (SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo *ci,
long refCon);


/*SGAddFrameBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGAddFrameBottleProcPtr) SGAddFrameBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGAddFrameBottleProcPtr) SGAddFrameBottleUPP;

/*SGTransferFrameBottleProc

Undocumented

typedef ComponentResult (*SGTransferFrameBottleProcPtr) (SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);

If you name your function MySGTransferFrameBottleProc, you would declare it this way:

ComponentResult MySGTransferFrameBottleProc (
   SGChannel       c,
   short           bufferNum,
   MatrixRecord    *mp,
   RgnHandle       clipRgn,
   long            refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bufferNum

A buffer identifier provided by the sequence grabber component.
mp

Undocumented
clipRgn

Undocumented
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/

typedef ComponentResult (*SGTransferFrameBottleProcPtr) (SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);


/*SGTransferFrameBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGTransferFrameBottleProcPtr) SGTransferFrameBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGTransferFrameBottleProcPtr) SGTransferFrameBottleUPP;

/*SGGrabCompressCompleteBottleProc

Undocumented

typedef ComponentResult (*SGGrabCompressCompleteBottleProcPtr) (SGChannel c, Boolean *done, SGCompressInfo *ci, TimeRecord *t, long refCon);

If you name your function MySGGrabCompressCompleteBottleProc, you would declare it this way:

ComponentResult MySGGrabCompressCompleteBottleProc (
   SGChannel         c,
   UInt8             *queuedFrameCount,
   SGCompressInfo    *ci,
   TimeRecord        *t,
   long              refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
queuedFrameCount

A pointer to the number of queued frames yet to be done. 0 means no frames. Some VDIGs may return 2 even if more than 2 frames are available, and some will return 1 if any number more than 0 are available.
ci

A pointer to a SGCompressInfo structure. When the compression operation is complete, this structure is filled with information about it.
t

A pointer to a TimeRecord structure. When the compression operation is complete, this structure is used to indicate what time the frame was grabbed.
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/

typedef ComponentResult (*SGGrabCompressCompleteBottleProcPtr) (SGChannel c, Boolean *done, SGCompressInfo *ci, TimeRecord *t, long refCon);

/*SGGrabCompressCompleteBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGGrabCompressCompleteBottleProcPtr) SGGrabCompressCompleteBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGGrabCompressCompleteBottleProcPtr) SGGrabCompressCompleteBottleUPP;

/*SGDisplayCompressBottleProc

Undocumented

typedef ComponentResult (*SGDisplayCompressBottleProcPtr) (SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord *mp, RgnHandle clipRgn,
long refCon);

If you name your function MySGDisplayCompressBottleProc, you would declare it this way:

ComponentResult MySGDisplayCompressBottleProc (
   SGChannel                 c,
   Ptr                       dataPtr,
   ImageDescriptionHandle    desc,
   MatrixRecord              *mp,
   RgnHandle                 clipRgn,
   long                      refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
dataPtr

Undocumented
desc

Undocumented
mp

Undocumented
clipRgn

Undocumented
refCon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

See Error Codes. Your callback should return noErr if there is no error.
Declared In
QuickTimeComponents.h*/

typedef ComponentResult (*SGDisplayCompressBottleProcPtr) (SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord *mp, RgnHandle clipRgn,
long refCon);

/*SGDisplayCompressBottleUPP

Represents a type used by the Sequence Grabber API.

typedef STACK_UPP_TYPE(SGDisplayCompressBottleProcPtr) SGDisplayCompressBottleUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SGDisplayCompressBottleProcPtr) SGDisplayCompressBottleUPP;

/*VideoBottles

Identifies the callback functions to be assigned to a sequence grabber channel.

struct VideoBottles {
   short                              procCount;
   SGGrabBottleUPP                    grabProc;
   SGGrabCompleteBottleUPP            grabCompleteProc;
   SGDisplayBottleUPP                 displayProc;
   SGCompressBottleUPP                compressProc;
   SGCompressCompleteBottleUPP        compressCompleteProc;
   SGAddFrameBottleUPP                addFrameProc;
   SGTransferFrameBottleUPP           transferFrameProc;
   SGGrabCompressCompleteBottleUPP    grabCompressCompleteProc;
   SGDisplayCompressBottleUPP         displayCompressProc;
};
Fields
procCount
Discussion

Specifies the number of callback functions that may be identified in the structure. Set this field to 9.
grabProc
Discussion

Identifies the SGGrabBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
grabCompleteProc
Discussion

Identifies the SGGrabCompleteBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
displayProc
Discussion

Identifies the SGDisplayBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
compressProc
Discussion

Identifies the SGCompressBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
compressCompleteProc
Discussion

Identifies the SGCompressCompleteBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
addFrameProc
Discussion

Identifies the SGAddFrameBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
transferFrameProc
Discussion

Identifies the SGTransferFrameBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
grabCompressCompleteProc
Discussion

Identifies the SGGrabCompressCompleteBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
displayCompressProc
Discussion

Identifies the SGDisplayCompressBottleProc function. If you are setting such a function, set this field so that it points to the function's entry point. If you are not setting such a function, set this field to NIL.
Related Functions
SGGetVideoBottlenecks
SGSetVideoBottlenecks 
Declared In
QuickTimeComponents.h*/

struct VideoBottles {
   short                              procCount;
   SGGrabBottleUPP                    grabProc;
   SGGrabCompleteBottleUPP            grabCompleteProc;
   SGDisplayBottleUPP                 displayProc;
   SGCompressBottleUPP                compressProc;
   SGCompressCompleteBottleUPP        compressCompleteProc;
   SGAddFrameBottleUPP                addFrameProc;
   SGTransferFrameBottleUPP           transferFrameProc;
   SGGrabCompressCompleteBottleUPP    grabCompressCompleteProc;
   SGDisplayCompressBottleUPP         displayCompressProc;
};

typedef struct VideoBottles  VideoBottles;

/*Data-Rate Settings Request Type

Use the data-rate settings request to retrieve or modify the current temporal compression parameters that govern the data rate. These parameters affect sequence-compression operations.

You supply a pointer to a data-rate settings structure. If you are retrieving these settings, the standard dialog component places the current settings into the specified structure; if you are changing the settings, place the new values into the structure; the component uses those values to update its settings.

The SCDataRateSettings data type defines the format and content of the data-rate settings structure:
typedef struct {
    long        dataRate;              / desired data rate *
    long        frameDuration;         / frame duration *
    CodecQ      minSpatialQuality;     / minimum value *
    CodecQ      minTemporalQuality;   / minimum value *
} SCDataRateSettings;

Field	
Description

dataRate	
Specifies the maximum number of bytes of compressed data your application wants to receive per second. Use this parameter to modulate the rate at which the component passes compressed data to your application. This can be useful to account for hardware limitations during sequence playback.

frameDuration	
Indicates the duration of each frame, in milliseconds. Set this parameter to 0 to allow the standard dialog component to calculate the duration based upon the frame rate you specify in an scTemporalSettingsType request. However, if you allow the user to specify a 0 frame rate (that is, you set thescAllowZeroFrameRate flag to 1 in your scPreferenceFlagsType request), you must set the frame duration each time you compress a frame, because the component does not have sufficient information to determine an appropriate rate.

minSpatialQuality	
Specifies the minimum acceptable spatial quality. In order to meet your specified data rate, the standard dialog component may have to adjust the spatial quality setting. Use this parameter to set a minimum level, which the component may not exceed.

minTemporalQuality	
Specifies the minimum acceptable temporal quality. As with spatial quality, in order to meet your specified data rate, the standard dialog component may have to adjust the temporal quality setting. Use this parameter to set a minimum level, which the component may not exceed.*/
typedef struct {
    long        dataRate;              /* desired data rate */
    long        frameDuration;         /* frame duration */
    CodecQ      minSpatialQuality;     /* minimum value */
    CodecQ      minTemporalQuality;    /* minimum value */
} SCDataRateSettings;

/*SCModalHookUPP

Represents a type used by the Movie Components API.

typedef STACK_UPP_TYPE(SCModalHookProcPtr) SCModalHookUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SCModalHookProcPtr) SCModalHookUPP;

/*SCParams

Provides data for the SCGetCompressionExtended function.

struct SCParams {
   long              flags;
   CodecType         theCodecType;
   CodecComponent    theCodec;
   CodecQ            spatialQuality;
   CodecQ            temporalQuality;
   short             depth;
   Fixed             frameRate;
   long              keyFrameRate;
   long              reserved1;
   long              reserved2;
};
Fields
flags
Discussion

Flags (see below). See these constants: 
scGetCompression
scShowMotionSettings
scSettingsChangedItem
theCodecType
Discussion

A compressor type; see Codec Identifiers.
theCodec
Discussion

An instance of a compressor component, obtained by calling OpenComponent or OpenDefaultComponent.
spatialQuality
Discussion

Constants (see below) that determine image spatial quality. See these constants: 
codecMinQuality
codecLowQuality
codecNormalQuality
codecHighQuality
codecMaxQuality
codecLosslessQuality
temporalQuality
Discussion

Constants (see below) that determine image temporal quality.
depth
Discussion

Image data depth.
frameRate
Discussion

The frame rate.
keyFrameRate
Discussion

The key frame rate.
reserved1
Discussion

Reserved.
reserved2
Discussion

Reserved.
Related Functions
SCGetCompressionExtended 
Declared In
QuickTimeComponents.h*/

struct SCParams {
   long              flags;
   CodecType         theCodecType;
   CodecComponent    theCodec;
   CodecQ            spatialQuality;
   CodecQ            temporalQuality;
   short             depth;
   Fixed             frameRate;
   long              keyFrameRate;
   long              reserved1;
   long              reserved2;
};
typedef struct SCParams SCParams;

/*SCModalFilterProc

Filter routine called when a user event occurs in a sequence compression modal dialog box.

typedef Boolean (*SCModalFilterProcPtr) (DialogPtr theDialog, EventRecord *theEvent, short *itemHit, long refcon);

If you name your function MySCModalFilterProc, you would declare it this way:

Boolean MySCModalFilterProc (
   DialogPtr      theDialog,
   EventRecord    *theEvent,
   short          *itemHit,
   long           refcon );
Parameters
theDialog

A pointer to a dialog box.
theEvent

A pointer to an EventRecord structure that defines a user event.
itemHit

A pointer to an item ID number in the dialog box.
refcon

A reference constant that the client code supplies to your callback. You can use this reference to point to a data structure containing any information your callback needs.
Return Value

Return TRUE if the event was handled, FALSE otherwise.
Declared In
QuickTimeComponents.h*/

typedef Boolean (*SCModalFilterProcPtr) (DialogPtr theDialog, EventRecord *theEvent, short *itemHit, long refcon);


/*SCModalFilterUPP

Represents a type used by the Movie Components API.

typedef STACK_UPP_TYPE(SCModalFilterProcPtr) SCModalFilterUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(SCModalFilterProcPtr) SCModalFilterUPP;

/*SGOutputRecord

Contains a sequence grabber output.

struct SGOutputRecord {
   long    data[1];
};
Fields
data
Discussion

An array of data.
Declared In
QuickTimeComponents.h*/

struct SGOutputRecord {
   long    data[1];
};
typedef struct SGOutputRecord SGOutputRecord;

/*SGOutput

Represents a type used by the Sequence Grabber API.

typedef SGOutputRecord * SGOutput;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef SGOutputRecord * SGOutput;

/*pnotComponent

Represents a type used by the Movie Components API.

typedef ComponentInstance pnotComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance pnotComponent;

/*quicktime.std.qtcomponents 
Class XMLElement
java.lang.Object
  |
  +--quicktime.QTObject
        |
        +--quicktime.std.qtcomponents.XMLElement
All Implemented Interfaces: 
PrimitivesLib, com.apple.jdirect.SharedLibrary, SharedLibrary
public final class XMLElement
extends QTObject
implements PrimitivesLib

#pragma options align=mac68k struct XMLElement { UInt32 identifier; // size 4 // Tokenized identifier, if the element name was recognized by the parser char * name; // size 4 // Element name, only present if identifier == xmlIdentifierUnrecognized XMLAttributePtr attributes; // size 4 // Array of attributes, terminated with an attribute with identifier == xmlIdentifierInvalid XMLContentPtr contents; // size 4 // Array of contents, terminated with a content with kind == xmlIdentifierInvalid }; // sizeof (XMLElement) = 16*/

//defiem hys/
struct XMLElement { 
UInt32 identifier; // size 4 // Tokenized identifier, if the element name was recognized by the parser
char * name; // size 4 // Element name, only present if identifier == xmlIdentifierUnrecognized
XMLAttributePtr attributes; // size 4 // Array of attributes, terminated with an attribute with identifier == xmlIdentifierInvalid 
XMLContentPtr contents; // size 4 // Array of contents, terminated with a content with kind == xmlIdentifierInvalid 
}; // sizeof (XMLElement) = 16*
typedef  struct XMLElement  XMLElement;

typedef XMLElement *                    XMLElementPtr;

/*XMLDocRecord

Undocumented

struct XMLDocRecord {
   void *        xmlDataStorage;
   XMLElement    rootElement;
};
Fields
xmlDataStorage
Discussion

Undocumented
rootElement
Discussion

Undocumented
Declared In
QuickTimeComponents.h*/
struct XMLDocRecord {
   void *        xmlDataStorage;
   XMLElement    rootElement;
};
typedef struct XMLDocRecord XMLDocRecord;

/*XMLDoc

Represents a type used by the Data Components API.

typedef XMLDocRecord * XMLDoc;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef XMLDocRecord * XMLDoc;

/*DataHCompletionProc

Called upon completion of a read or write operation.

typedef void (*DataHCompletionProcPtr) (Ptr request, long refcon, OSErr err);

If you name your function MyDataHCompletionProc, you would declare it this way:

void MyDataHCompletionProc (
   Ptr      request,
   long     refcon,
   OSErr    err );
Parameters
request

Specifies a pointer to the data that was associated with the read request DataHScheduleData or write request DataHWrite. The client program uses this pointer to determine which request has completed.
refcon

A reference constant that the client program supplied to your data handler component when it made the original request.
err

Indicates the success or failure of the operation. If the operation succeeded, set this parameter to 0. Otherwise, specify an appropriate error code.
Discussion

Data handler completion functions are guaranteed to be called at non-interrupt time. This means that you can safely call functions that are not interrupt-safe, such as DataHScheduleData, from within a completion function.
Declared In
QuickTimeComponents.h*/
typedef void (*DataHCompletionProcPtr) (Ptr request, long refcon, OSErr err);

/*DataHCompletionUPP

Represents a type used by the Data Components API.

typedef STACK_UPP_TYPE(DataHCompletionProcPtr) DataHCompletionUPP;
Declared In
QuickTimeComponents.h*/
typedef STACK_UPP_TYPE(DataHCompletionProcPtr) DataHCompletionUPP;

/*TimeCodeDef

Contains timecode format information.

struct TimeCodeDef {
   long         flags;
   TimeScale    fTimeScale;
   TimeValue    frameDuration;
   UInt8        numFrames;
   UInt8        padding;
};
Fields
flags
Discussion

Contains flags (see below) that provide timecode format information. See these constants: 
tcDropFrame
tc24HourMax
tcNegTimesOK
tcCounter
fTimeScale
Discussion

Contains the time scale for interpreting the frameDuration field. This field indicates the number of time units per second.
frameDuration
Discussion

Specifies how long each frame lasts, in the units defined by the fTimeScale field.
numFrames
Discussion

Indicates the number of frames stored per second. In the case of timecodes that are interpreted as counters, this field indicates the number of frames stored per timer "tick."
padding
Discussion

Unused.
Related Functions
TCFrameNumberToTimeCode
TCGetCurrentTimeCode
TCGetTimeCodeAtTime
TCTimeCodeToFrameNumber
TCTimeCodeToString 
Declared In
QuickTimeComponents.h*/
struct TimeCodeDef {
   long         flags;
   TimeScale    fTimeScale;
   TimeValue    frameDuration;
   UInt8        numFrames;
   UInt8        padding;
};
typedef  struct TimeCodeDef TimeCodeDef;

/*HandlerError

Represents a type used by the Movie Components API.

typedef ComponentResult HandlerError;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentResult HandlerError;

/*TCTextOptions

Holds text font and style information.

struct TCTextOptions {
   short       txFont;
   short       txFace;
   short       txSize;
   short       pad;
   RGBColor    foreColor;
   RGBColor    backColor;
};
Fields
txFont
Discussion

Specifies the number of the font.
txFace
Discussion

Specifies the font's style (bold, italic, and so on).
txSize
Discussion

Specifies the font's size.
pad
Discussion

Unused field to make structure long-word aligned.
foreColor
Discussion

Specifies the foreground color.
backColor
Discussion

Specifies the background color.
Related Functions
TCGetDisplayOptions
TCSetDisplayOptions 
Declared In
QuickTimeComponents.h*/
struct TCTextOptions {
   short       txFont;
   short       txFace;
   short       txSize;
   short       pad;
   RGBColor    foreColor;
   RGBColor    backColor;
};
typedef  struct TCTextOptions TCTextOptions;


/*TCTextOptionsPtr

Represents a type used by the Movie Components API.

typedef TCTextOptions * TCTextOptionsPtr;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef TCTextOptions * TCTextOptionsPtr;


/*The movie’s natural frame rate of 29.97 frames per second is obtained by dividing the fTimeScale value by the frameDuration (2997 / 100). Note that the flags field indicates that the timecode uses the dropframe technique to resync the movie’s natural frame rate of 29.97 frames per second with its playback rate of 30 frames per second.

Given a timecode definition, you can freely convert from frame numbers to time values and from time values to frame numbers. For a time value of 00:00:12:15 (HH:MM:SS:FF), you would obtain a frame number of 375 ((12*30) + 15). The timecode media handler provides a number of functions that allow you to perform these conversions.

When you use the timecode media handler to work with time values, the media handler uses timecode records to store the time values. The timecode record allows you to interpret the time information as either a time value (HH:MM:SS:FF) or a counter value. The timecode record is defined as follows:typedef union TimeCodeRecord {
    TimeCodeTime        t;          // value interpreted as time //
    TimeCodeCounter     c;          // value interpreted as counter //
} TimeCodeRecord;
 
typedef struct TimeCodeTime {
    unsigned char       hours;      // time: hours //
    unsigned char       minutes;    // time: minutes //
    unsigned char       seconds;    // time: seconds //
    unsigned char       frames;     // time: frames //
} TimeCodeTime;
 
typedef struct TimeCodeCounter {
    long                counter;    // counter value //
} TimeCodeCounter;


When you are working with timecodes that allow negative time values, the minutes field of the TimeCodeTime structure (TimeCodeRecord.t.minutes) indicates whether the time value is positive or negative. If the tctNegFlag bit of the minutes field is set to 1, the time value is negative.*/

typedef struct TimeCodeCounter {
    long                counter;    // counter value //
} TimeCodeCounter;

typedef struct TimeCodeTime {
    unsigned char       hours;      // time: hours //
    unsigned char       minutes;    // time: minutes //
    unsigned char       seconds;    // time: seconds //
    unsigned char       frames;     // time: frames //
} TimeCodeTime;
 


/*TimeCodeRecord

Interprets time information as both a time value (HH:MM:SS:FF) and a frame count.

union TimeCodeRecord {
   TimeCodeTime       t;
   TimeCodeCounter    c;
};
Fields
t
Discussion

The timecode value interpreted as time in a TimeCodeTime structure.
c
Discussion

The timecode value interpreted as a frame count in a TimeCodeCounter structure.
Discussion

When you use the timecode media handler to work with time values, the media handler uses TimeCodeRecord structures to store the time values. These structures allows you to interpret the time information as either a time value (HH:MM:SS:FF) or a counter value. Given a timecode definition, you can freely convert from frame numbers to time values and from time values to frame numbers. For a time value of 00:00:12:15 (HH:MM:SS:FF), you would obtain a frame number of 375 ( (12*30) +15).
Related Functions
TCFrameNumberToTimeCode
TCGetCurrentTimeCode
TCGetTimeCodeAtTime
TCTimeCodeToFrameNumber
TCTimeCodeToString 
Declared In
QuickTimeComponents.h*/
union TimeCodeRecord {
   TimeCodeTime       t;
   TimeCodeCounter    c;
};
typedef  union   TimeCodeRecord TimeCodeRecord;


/*Timecode Samples

Each sample in the timecode track provides timecode information for a span of movie time. The sample includes duration information. As a result, you typically add each timecode sample after you have created the corresponding content track or tracks.

The timecode media sample description contains the control information that allows QuickTime to interpret the samples. This includes the timecode format information. The actual sample data contains a frame number that identifies one or more content frames that use this timecode. Stored as a long, this value identifies the first frame in the group of frames that use this timecode. In the case of a movie made from source material that contains no edits, you would only need one sample. When the source material contains edits, you typically need one sample for each edit, so that QuickTime can resynchronize the timecode information with the movie. Those samples contain the frame numbers of the frames that begin each new group of frames.

The timecode description structure defines the format and content of a timecode media sample description, as follows:
typedef struct TimeCodeDescription {
    long                descSize;           // size of the structure // 
    long                dataFormat;         // sample type // 
    long                resvd1;             // reserved--set to 0 // 
    short               resvd2;             // reserved--set to 0 // 
    short               dataRefIndex;       // data reference index // 
    long                flags;              // reserved--set to 0 // 
    TimeCodeDef timeCodeDef;            // timecode format information //
    long                srcRef[1];      // source information //
} TimeCodeDescription, *TimeCodeDescriptionPtr, **TimeCodeDescriptionHandle;

Term	
Definition

descSize	
Specifies the size of the sample description, in bytes.

dataFormat	
Indicates the sample description type (TimeCodeMediaType).

resvd1	
Reserved for use by Apple. Set this field to 0.

resvd2	
Reserved for use by Apple. Set this field to 0.

dataRefIndex	
Contains an index value indicating which of the media's data references contains the sample data for this sample description.

flags	
Reserved for use by Apple. Set this field to 0.

timeCodeDef	
Contains a timecode definition structure that defines timecode format information.

srcRef	
Contains the timecode's source information. This is formatted as a user data item that is stored in the sample description. The media handler provides functions that allow you to get and set this data.*/
typedef struct TimeCodeDescription {
    long                descSize;           // size of the structure // 
    long                dataFormat;         // sample type // 
    long                resvd1;             // reserved--set to 0 // 
    short               resvd2;             // reserved--set to 0 // 
    short               dataRefIndex;       // data reference index // 
    long                flags;              // reserved--set to 0 // 
    TimeCodeDef timeCodeDef;            // timecode format information //
    long                srcRef[1];      // source information //
} TimeCodeDescription, *TimeCodeDescriptionPtr, **TimeCodeDescriptionHandle;

/*TimeCodeDescriptionPtr

Represents a type used by the Movie Components API.

typedef TimeCodeDescription * TimeCodeDescriptionPtr;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef TimeCodeDescription * TimeCodeDescriptionPtr;

/*TimeCodeDescriptionHandle

Represents a type used by the Movie Components API.

typedef TimeCodeDescriptionPtr * TimeCodeDescriptionHandle;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef TimeCodeDescriptionPtr * TimeCodeDescriptionHandle;

/*DataCodecComponent

Represents a type used by the Data Components API.

typedef ComponentInstance DataCodecComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance DataCodecComponent;

/*SeqGrabComponent

Represents a type used by the Sequence Grabber API.

typedef ComponentInstance SeqGrabComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance SeqGrabComponent;

/*DataHScheduleRecord

Provides scheduling information for scheduled reads.

struct DataHScheduleRecord {
   TimeRecord    timeNeededBy;
   long          extendedID;
   long          extendedVers;
   Fixed         priority;
};
Fields
timeNeededBy
Discussion

Specifies the time at which your data handler must deliver the requested data to the calling program. This time value is relative to the time base that is contained in this time record. During pre-roll operations, the Movie Toolbox may use special values in certain time record fields. The time record fields in question are the scale and value fields. By correctly interpreting the values of these fields, your data handler can queue up the pre-roll read requests in the most efficient way for its device.
extendedID
Discussion

A constant (see below) that indicates the type of data that follows in the remainder of the structure. See these constants: 
kDataHExtendedSchedule
extendedVers
Discussion

Reserved. This field should always be set to 0.
priority
Discussion

Indicates the relative importance of the data request. Client programs assign a value of 100.0 to data requests the must be delivered. Lower values indicate relatively less critical data. If your data handler must accommodate bandwidth limitations when delivering data, your component may use this value as an indication of which requests can be dropped with the least impact on the client program. As an example, consider using priorities in a frame-differenced movie. Key frames might have priority values of 100.0, indicating that they are essential to proper playback. As you move through the frames following a key frame, each successive frame might have a lower priority value. Once you drop a frame, you must drop all successive frames of equal or lower priority until you reach another key frame, because each of these frames would rely on the dropped one for some image data.
Discussion

There are two types of preroll read operations. The first type is a required read; that is, the Movie Toolbox requires that the read operation be satisfied before the movie starts playing. The second type is an optional read. If your data handler can satisfy the read operation as part of the pre-roll operation, it should do so. Otherwise, your data handler may satisfy the request at a specified time while the movie is playing. The Movie Toolbox indicates that a preroll read request is required by setting the scale field of the time record to -1. This literally means that the request is scheduled for a time that is infinitely far into the future. Your data handler should collect all such read requests, order them most efficiently for your device, and process them when the Movie Toolbox calls your component's DataHFinishData function. For optional preroll read requests, the Movie Toolbox sets the scale field properly, but negates the contents of the value field. Your data handler has the option of delivering the data for this request with the required data, if that can be done efficiently. Otherwise, your data handler may deliver the data at its schedule time. You determine the scheduled time by negating the contents of the value field (that is, multiplying by -1).
Declared In
QuickTimeComponents.h*/
struct DataHScheduleRecord {
   TimeRecord    timeNeededBy;
   long          extendedID;
   long          extendedVers;
   Fixed         priority;
};
typedef struct DataHScheduleRecord      DataHScheduleRecord;

/*DataHSchedulePtr

Represents a type used by the Data Components API.

typedef DataHScheduleRecord * DataHSchedulePtr;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef DataHScheduleRecord * DataHSchedulePtr;

/*SeqGrabFrameInfo

Provides information about a frame for a sequence grabber component and its sequence grabber channel components.

struct SeqGrabFrameInfo {
   long         frameOffset;
   long         frameTime;
   long         frameSize;
   SGChannel    frameChannel;
   long         frameRefCon;
};
Fields
frameOffset
Discussion

Specifies the offset to the sample. Your channel component obtains this value from SGWriteMovieData.
frameTime
Discussion

Specifies the time at which your channel component captured the frame. This time value is relative to the data sequence. That is, this time is not represented in the context of any fixed time scale. Rather, your channel component must choose and use a time scale consistently for all sample references.
frameSize
Discussion

Specifies the number of bytes in the sample described by the sample reference.
frameChannel
Discussion

Identifies the current connection to your channel.
frameRefCon
Discussion

Contains a reference constant for use by your channel component. You can use this value in any way that is appropriate for your channel component. For example, video channel components may use this value to store a reference to frame differencing information for a temporally compressed image sequence.
Discussion

This structure differs from SeqGrabExtendedFrameInfo in two respects: the frameOffset field takes a 32-bit value, and SeqGrabExtendedFrameInfo has a frameOutput field.
Related Functions
SGAddFrameReference
SGGetNextFrameReference 
Declared In
QuickTimeComponents.h*/
struct SeqGrabFrameInfo {
   long         frameOffset;
   long         frameTime;
   long         frameSize;
   SGChannel    frameChannel;
   long         frameRefCon;
};
typedef struct  SeqGrabFrameInfo  SeqGrabFrameInfo;
typedef  SeqGrabFrameInfo seqGrabFrameInfo;

/*SeqGrabFrameInfoPtr

Represents a type used by the Sequence Grabber API.

typedef SeqGrabFrameInfo * SeqGrabFrameInfoPtr;

Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef SeqGrabFrameInfo * SeqGrabFrameInfoPtr;

/*DigitizerInfo

Contains information about the capabilities and current status of a video digitizer component.

struct DigitizerInfo {
   short       vdigType;
   long        inputCapabilityFlags;
   long        outputCapabilityFlags;
   long        inputCurrentFlags;
   long        outputCurrentFlags;
   short       slot;
   GDHandle    gdh;
   GDHandle    maskgdh;
   short       minDestHeight;
   short       minDestWidth;
   short       maxDestHeight;
   short       maxDestWidth;
   short       blendLevels;
   long        reserved;
};
Fields
vdigType
Discussion

Constant (see below) that specifies the type of video digitizer component. See these constants: 
vdTypeBasic
vdTypeAlpha
vdTypeMask
vdTypeKey

inputCapabilityFlags
Discussion

Constant (see below) that specifies the capabilities of the video digitizer component with respect to the input video signal. See these constants: 
digiInDoesNTSC
digiInDoesPAL
digiInDoesSECAM
digiInDoesGenLock
digiInDoesComposite
digiInDoesComponent
digiInVTR_Broadcast
digiInDoesColor
digiInDoesBW
outputCapabilityFlags
Discussion

Constant (see below) that specifies the capabilities of the video digitizer component with respect to the output digitized video information. See these constants: 
digiOutDoes1
digiOutDoes2
digiOutDoes4
digiOutDoes8
digiOutDoes16
digiOutDoes32
digiOutDoesDither
digiOutDoesStretch
digiOutDoesShrink
digiOutDoesMask
digiOutDoesDouble
digiOutDoesQuad
digiOutDoesQuarter
digiOutDoesSixteenth
digiOutDoesRotate
digiOutDoesHorizFlip
digiOutDoesVertFlip
digiOutDoesSkew
digiOutDoesBlend
digiOutDoesWarp
digiOutDoesHWPlayThru
digiOutDoesILUT
digiOutDoesKeyColor
digiOutDoesAsyncGrabs
digiOutDoesUnreadableScreenBits
digiOutDoesCompress
digiOutDoesCompressOnly
digiOutDoesPlayThruDuringCompress

inputCurrentFlags
Discussion

Specifies the current status of the video digitizer with respect to the input video signal. Video digitizer components report their current input status by returning a flags field that contains 1 bit for each of the applicable inputCapabilityFlags constants (see below), plus additional inputCurrentFlags constants (see below) as appropriate. The digitizer component sets these flags to reflect its current status. When reporting input status, for example, a video digitizer component sets the digiInDoesGenLock flag to 1 whenever the digitizer component is deriving its time signal from the input video. When reporting its input capabilities, the digitizer component sets this flag to 1 to indicate that it can derive its timing from the input video. See these constants: 
digiInSignalLock
outputCurrentFlags
Discussion

Specifies the current status of the video digitizer with respect to the output video signal. Video digitizer components report their current output status by returning a flags field that contains 1 bit for each of the applicable outputCapabilityFlags constants (see below)
slot
Discussion

Identifies the slot that contains the video digitizer interface card.
gdh
Discussion

Contains a handle to the graphics device that defines the screen to which the digitized data is to be written. Set this field to NIL if your application is not constrained to a particular graphics device.
maskgdh
Discussion

Contains a handle to the graphics device that contains the mask plane. This field is used only by digitizers that clip by means of mask planes.
minDestHeight
Discussion

Indicates the smallest height value the digitizer component can accommodate in its destination.
minDestWidth
Discussion

Indicates the smallest width value the digitizer component can accommodate in its destination.
maxDestHeight
Discussion

Indicates the largest height value the digitizer component can accommodate in its destination.
maxDestWidth
Discussion

Indicates the largest width value the digitizer component can accommodate in its destination.
blendLevels
Discussion

Specifies the number of blend levels the video digitizer component supports.
reserved
Discussion

Reserved. Set this field to 0.
Discussion

Your application can retrieve information about the capabilities and current status of a video digitizer component. You call VDGetDigitizerInfo to retrieve all this information from a video digitizer component. In response, the component formats a DigitizerInfo structure. The contents of this structure fully define the capabilities and current status of the video digitizer component.
Related Functions
VDGetDigitizerInfo 
Declared In
QuickTimeComponents.h*/
struct DigitizerInfo {
   short       vdigType;
   long        inputCapabilityFlags;
   long        outputCapabilityFlags;
   long        inputCurrentFlags;
   long        outputCurrentFlags;
   short       slot;
   GDHandle    gdh;
   GDHandle    maskgdh;
   short       minDestHeight;
   short       minDestWidth;
   short       maxDestHeight;
   short       maxDestWidth;
   short       blendLevels;
   long        reserved;
};
typedef struct DigitizerInfo  DigitizerInfo;

/*VdigType Values

Constants passed to VdigType.

enum {
   vdTypeBasic                   = 0,
   // basic,
   no clipping //
   vdTypeAlpha                   = 1,
   // supports clipping with alpha channel //
   vdTypeMask                    = 2,
   // supports clipping with mask plane //
   vdTypeKey                     = 3     // supports clipping with key color(s) //
};
Constants
vdTypeBasic

Basic video digitizer; does not support any clipping. 

Available in Mac OS X v10.0 and later.
vdTypeAlpha

Supports clipping by means of an alpha channel. 

Available in Mac OS X v10.0 and later.
vdTypeMask

Supports clipping by means of a mask plane. 

Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

enum {
   vdTypeBasic                   = 0,
   /* basic,
   no clipping */
   vdTypeAlpha                   = 1,
   /* supports clipping with alpha channel */
   vdTypeMask                    = 2,
   /* supports clipping with mask plane */
   vdTypeKey                     = 3     /* supports clipping with key color(s) */
};

/*GraphicImageMovieImportComponent

Represents a type used by the Movie Components API.

typedef ComponentInstance GraphicImageMovieImportComponent;
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
typedef ComponentInstance GraphicImageMovieImportComponent;

#include <APPLE/QuickTime/QuickTimeComponents_E.h>
//Function

/*SCAudioFillBuffer

Used is used to pull compressed frames from the StdAudio component in kQTSCAudioPropertyID_BasicDescription format.

ComponentResult SCAudioFillBuffer (
   ComponentInstance ci,
   SCAudioInputDataProc inInputDataProc,
   void *inInputDataProcRefCon,
   UInt32 *ioOutputDataPacketSize,
   AudioBufferList *outOutputData,
   AudioStreamPacketDescription *outPacketDescription
);
Parameters
ci

The clients connection to a StdAudio Compression component.
inInputDataProc

The proc address of the function that will be called to supply data in the kQTSCAudioPropertyID_InputBasicDescription format to SCAudio.
inInputDataProcRefCon

The client refcon that will be passed to the user-provided SCAudioInputDataProc function.
ioOutputDataPacketSize

On input, the number of desired packets. On output, the actual number of packets delivered (can be fewer than the input desired packets).
outOutputData

An AudioBufferList providing sufficiently large buffers to hold the requested number of packets.
outPacketDescription

An array of AudioStreamPacketDescriptions. If the requested output format requires external framing information??that is, a VBR format such as AAC?? allocate and pass an array of packet descriptions as large as the number of packets you are requesting.
Discussion

SCAudioFillBuffer preserves the same style API as the Core Audio AudioConverterFillComplexBuffer API, which is part of the AudioToolbox framework and resides in AudioConverter.h. 

This function has the same parameters as AudioConverterFillComplexBuffer, but internally it has an audio converter, a matrix mixer, and another audio converter. It is based on a pull model: You pull on the audio converter for some output, and specify the buffer in which you want to put it. You have already configured the format that it is going to return to you. You also provide it with an input proc and it will call back that input proc and specify however many samples of audio you have. For example, if you want five packets of AAC audio coming out the back end, and at the front end you happen to have PCM de-interleaved, the routine will ask you for the samples. The difference is you can now have different numbers of channels going in or out. For example, at the same time you are doing the compression from PCM to AAC, you can also go from 5.1 to stereo.

SCAudioFillBuffer is used to pull compressed frames from the StdAudio component in kQTSCAudioPropertyID_BasicDescription format. The StdAudio component can perform any combination of decompression/mixing/compression, combining the facilities of Core Audio AudioConverters and Matrix Mixer AudioUnits. The behavior of the SCAudioFillBuffer call (signalling end of data, and so on) is identical to the AudioConverter's AudioConverterFillComplexBuffer API.

One important difference between the AudioConverter and SCAudio component is that the SCAudio compression APIs can do mixing as well as n -> n channels conversion. If you want to compress, decompress, or transcode audio using the SCAudioFillBuffer interface, you configure the StandardCompressionSubTypeAudio component with the desired input and output formats (or use the SCRequestImageSettings API to present a dialog and let a user select an output format), then you call SCAudioFillBuffer, providing an SCAudioInputDataProc callback, which is called for audio in the specified source format.
Version Notes

Introduced in QuickTime 7.1 for Windows and QuickTime 7 for Mac OS X. 
Availability
Carbon status: Supported C interface file: QuickTimeComponents.h
Declared In
QuickTimeComponents.h*/
ComponentResult SCAudioFillBuffer (
   ComponentInstance ci,
   SCAudioInputDataProc inInputDataProc,
   void *inInputDataProcRefCon,
   UInt32 *ioOutputDataPacketSize,
   AudioBufferList *outOutputData,
   AudioStreamPacketDescription *outPacketDescription
);

/*SCRequestImageSettings

Displays the standard image dialog box to the user and shows default settings you have established.

ComponentResult SCRequestImageSettings (
   ComponentInstance    ci );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Use this function to retrieve the user's preferences for compressing a single image; use SCRequestSequenceSettings when you are working with an image sequence. Both functions manipulate the compression settings that the component stores for you.

The component derives the current settings when you may supply an image to the component from which it can derive default settings. If you have not set any defaults, but you do supply a test image for the dialog, the component examines the test image and derives appropriate default values based upon its characteristics. If you have not set any defaults and do not supply a test image, the component uses its own default values.
Special Considerations

You may modify the settings by using SCSetInfo. You may customize the dialog boxes by specifying a modal-dialog hook function or a custom button. You may use the custom button to invoke an ancillary dialog box that is specific to your application.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCRequestImageSettings (
   ComponentInstance    ci );

/*SGNewChannel

Creates a sequence grabber channel and assigns a channel component to the channel.

ComponentResult SGNewChannel (
   SeqGrabComponent    s,
   OSType              channelType,
   SGChannel           *ref );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
channelType

The type of channel to open (see below). This value corresponds to the component subtype value of the channel component. See these constants: 
VideoMediaType
SoundMediaType
ref

A pointer to the frameChannel field in the SeqGrabFrameInfo structure that is to receive a reference to the channel that is added to the sequence grabber component. If the sequence grabber component successfully locates and connects to an appropriate channel component, the sequence grabber component returns a reference to the channel component into this field.
Return Value

See Error Codes. If the sequence grabber component cannot open a connection, it sets the result code to a nonzero value. It returns noErr if there is no error.
Discussion

The channel component is responsible for providing digitized data to the sequence grabber component. You specify the type of channel component to be added to the sequence grabber component, as shown in the following sample code:// SGNewChannel coding example
// See "Discovering QuickTime," page 263
void MakeMyGrabChannels (SeqGrabComponent    seqGrab,
                            SGChannel        *sgchanVideo,
                            SGChannel        *sgchanSound,
                            const Rect       *rect,
                            Boolean          bWillRecord)
{
    OSErr           nErr;
    long            lUsage;
    // figure out the usage
    lUsage =seqGrabPreview;                // always previewing
    if (bWillRecord)
        lUsage |=seqGrabRecord;            // sometimes recording
    // create a video channel
    nErr =SGNewChannel(seqGrab, VideoMediaType, sgchanVideo);
    if (nErr ==noErr) {
        // set boundaries for new video channel
        nErr =SGSetChannelBounds(*sgchanVideo, rect);
        // set usage for new video channel
        if (nErr ==noErr)
            nErr =SGSetChannelUsage(*sgchanVideo, lUsage |
                                        seqGrabPlayDuringRecord);
        if (nErr !=noErr) {
            // clean up on failure
            SGDisposeChannel(seqGrab, *sgchanVideo);
            *sgchanVideo =NIL;
        }
    }
    // create a sound channel
    nErr =SGNewChannel(seqGrab, SoundMediaType, sgchanSound);
    if (nErr ==noErr) {
        // set usage of new sound channel
        nErr =SGSetChannelUsage(*sgchanSound, lUsage);
        if (nErr !=noErr) {
            // clean up on failure
            SGDisposeChannel(seqGrab, *sgchanSound);
            *sgchanSound =NIL;
        }
    }
}

Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGNewChannel (
   SeqGrabComponent    s,
   OSType              channelType,
   SGChannel           *ref );

/*SGGetChannelRefCon

Returns a reference constant that was previously set by SGSetChannelRefCon.

ComponentResult SGGetChannelRefCon (
   SGChannel    c,
   long         *refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
refCon

A pointer to the reference constant set by SGSetChannelRefCon, normally used to point to a data structure containing information your sequence grabber channel needs.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 6.
Availability
Available in Mac OS X v10.2 and later.
Declared In
QuickTimeComponents.h&*/

ComponentResult SGGetChannelRefCon (
   SGChannel    c,
   long         *refCon );

/*SGSetChannelRefCon

Sets the value of a reference constant that is passed to your callback functions for channel components.

ComponentResult SGSetChannelRefCon (
   SGChannel    c,
   long         refCon );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
refCon

A reference constant value that your component should pass to the callback functions that have been assigned to this channel. Use this parameter to point to a data structure containing any information your callbacks need.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetChannelRefCon (
   SGChannel    c,
   long         refCon );


/*SGSetDataProc

Specifies a data function for use by the sequence grabber.

ComponentResult SGSetDataProc (
   SeqGrabComponent    s,
   SGDataUPP           proc,
   long                refCon );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
proc

A pointer to your data function. To remove your data function, set this parameter to NIL.
refCon

A reference constant. The sequence grabber provides this value to your data callback. Use this parameter to point to a data structure containing any information your function needs.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetDataProc (
   SeqGrabComponent    s,
   SGDataUPP           proc,
   long                refCon );

/*SGGetChannelDeviceAndInputNames

Returns the sequence grabber's current device and input names.

ComponentResult SGGetChannelDeviceAndInputNames (
   SGChannel    c,
   Str255       outDeviceName,
   Str255       outInputName,
   short        *outInputNumber );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
outDeviceName

The current device names for display to the user.
outInputName

The current input names for display to the user.
outInputNumber

A pointer to the number of currently selected inputs.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This is a utility call that lets you find out the sequence grabber's current device and input names, instead of having to call GetDeviceList and walk it yourself. Pass NIL for parameters you are not interested in.
Version Notes

Introduced in QuickTime 6.
Availability
Available in Mac OS X v10.2 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelDeviceAndInputNames (
   SGChannel    c,
   Str255       outDeviceName,
   Str255       outInputName,
   short        *outInputNumber );

/*SGGetChannelDeviceList

Retrieves a list of the devices that are valid for a specified channel.

ComponentResult SGGetChannelDeviceList (
   SGChannel       c,
   long            selectionFlags,
   SGDeviceList    *list );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
selectionFlags

Flags (see below) that control the data you are to return for each device. See these constants: 
sgDeviceListWithIcons
sgDeviceListDontCheckAvailability
sgDeviceListIncludeInputs
list

A pointer to a pointer to an SGDeviceListRecord structure. The channel creates this structure and returns a pointer to it in the field referred to by this parameter. Applications use SGDisposeDeviceList to dispose of the memory used by the list.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function can be useful for retrieving the name of the current device. Retrieve the device list and use the selectedIndex field to determine which device is currently in use.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelDeviceList (
   SGChannel       c,
   long            selectionFlags,
   SGDeviceList    *list );

/*SGDisposeDeviceList

Disposes of a device list.

ComponentResult SGDisposeDeviceList (
   SeqGrabComponent    s,
   SGDeviceList        list );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
list

A pointer to a pointer to an SGDeviceListRecord structure. The sequence grabber disposes of the memory used by this structure.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGDisposeDeviceList (
   SeqGrabComponent    s,
   SGDeviceList        list );

/*SGGetSrcVideoBounds

Determines the size of the source video boundary rectangle.

ComponentResult SGGetSrcVideoBounds (
   SGChannel    c,
   Rect         *r );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
r

A pointer to a Rect structure that is to receive information about your channel's source video boundary rectangle.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

For video channel components that work with video digitizer components, the source video boundary rectangle corresponds to the video digitizer's active source rectangle.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGGetSrcVideoBounds (
   SGChannel    c,
   Rect         *r );

/*SGGetChannelSampleDescription

Retrieves a channel's sample description structure.

ComponentResult SGGetChannelSampleDescription (
   SGChannel    c,
   Handle       sampleDesc );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
sampleDesc

A handle that is to receive the structure.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The channel returns a structure that is appropriate to the type of data being captured. For video channels, the channel component returns an ImageDescription structure; for sound channels, it receives a SoundDescription structure.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelSampleDescription (
   SGChannel    c,
   Handle       sampleDesc );

/*SGGetChannelTimeScale

Lets the sequence grabber retrieve a channel's time scale.

ComponentResult SGGetChannelTimeScale (
   SGChannel    c,
   TimeScale    *scale );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
scale

A pointer to a time scale. Your channel component places information about its time scale into this structure.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The time scale you return typically corresponds to the time scale of the media that has been created by your channel. Applications may use this time scale in their data functions.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelTimeScale (
   SGChannel    c,
   TimeScale    *scale );

/*SGGetChannelBounds

Determines a channel's display boundary rectangle.

ComponentResult SGGetChannelBounds (
   SGChannel    c,
   Rect         *bounds );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bounds

A pointer to a Rect structure that is to receive information about your channel's display boundary rectangle.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelBounds (
   SGChannel    c,
   Rect         *bounds );

/*SGSetGWorld

Establishes the graphics port and device for a sequence grabber component.

ComponentResult SGSetGWorld (
   SeqGrabComponent    s,
   CGrafPtr            gp,
   GDHandle            gd );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
gp

The destination graphics port, which must be a color graphics port. The sequence grabber component always sets this parameter to a valid value. To use the current graphics port, the parameter is set to NIL.
gd

A handle to the destination graphics device. The sequence grabber component always sets this parameter to a valid value.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

You must call this function if you are working with any channels that collect visual data. If you are working only with data that has no visual representation, you do not need to call this function. The sequence grabber component performs this operation implicitly when you call SGInitialize and the component uses your application's current graphics port. To set it to a specified window, use code such as the following:// SGSetGWorld coding example
// See "Discovering QuickTime," page 262
SeqGrabComponent MakeMySequenceGrabber (WindowRef pMacWnd)
{
    SeqGrabComponent    seqGrab =NIL;
    OSErr               nErr =noErr;
    // open the default sequence grabber
    seqGrab =OpenDefaultComponent(SeqGrabComponentType, 0);
    if (seqGrab !=NIL) {
        // initialize the default sequence grabber component
        nErr =SGInitialize(seqGrab);
        if (nErr ==noErr) {
        // set its graphics world to the specified window
            nErr =SGSetGWorld(seqGrab, (CGrafPtr)pMacWnd, NIL);
        }
    }
    if (nErr && (seqGrab !=NIL)) {    // clean up on failure
        CloseComponent(seqGrab);
        seqGrab =NIL;
    }
    return seqGrab;
}

Special Considerations

You cannot call this function during a record or preview operation, or after you have prepared the sequence grabber component for a record or preview operation by calling SGPrepare. The window in which the sequence grabber is to draw video frames as defined by this function must be visible before you call SGPrepare; otherwise, the sequence grabber does not display the frames properly.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetGWorld (
   SeqGrabComponent    s,
   CGrafPtr            gp,
   GDHandle            gd );

/*SGSetChannelBounds

Specifies a channel's display boundary rectangle.

ComponentResult SGSetChannelBounds (
   SGChannel     c,
   const Rect    *bounds );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
bounds

A pointer to a Rect structure that defines your channel's display boundary rectangle.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetChannelBounds (
   SGChannel     c,
   const Rect    *bounds);

/*SGInitialize

Initializes the sequence grabber component.

ComponentResult SGInitialize (
   SeqGrabComponent    s );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Before you can call this function you must establish a connection to the sequence grabber component. Use OpenDefaultComponent or OpenComponent to establish a component connection, as shown below:// SGInitialize coding example
// See "Discovering QuickTime," page 262
SeqGrabComponent MakeMySequenceGrabber (WindowRef pMacWnd)
{
    SeqGrabComponent    seqGrab =NIL;
    OSErr               nErr =noErr;
    // open the default sequence grabber
    seqGrab =OpenDefaultComponent(SeqGrabComponentType, 0);
    if (seqGrab !=NIL) {
        // initialize the default sequence grabber component
        nErr =SGInitialize(seqGrab);
        if (nErr ==noErr) {
        // set its graphics world to the specified window
            nErr =SGSetGWorld(seqGrab, (CGrafPtr)pMacWnd, NIL);
        }
    }
    if (nErr && (seqGrab !=NIL)) {    // clean up on failure
        CloseComponent(seqGrab);
        seqGrab =NIL;
    }
    return seqGrab;
}

Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGInitialize (
   SeqGrabComponent    s );

/*(SGSetDataRef

Specifies the destination data reference for a record operation.

ComponentResult SGSetDataRef (
   SeqGrabComponent    s,
   Handle              dataRef,
   OSType              dataRefType,
   long                whereFlags );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
dataRef

A handle to the information that identifies the destination container.
dataRefType

The type of data reference. If the data reference is an alias, you must set the parameter to rAliasType.
whereFlags

Contains flags (see below) that control the record operation. You must set either seqGrabToDisk or seqGrabToMemory to 1. Set unused flags to 0. See these constants: 
seqGrabToDisk
seqGrabToMemory
seqGrabDontUseTempMemory
seqGrabAppendToFile
seqGrabDontAddMovieResource
seqGrabDontMakeMovie
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function allows you to specify the destination for a record operation using a data reference, and to specify other options that govern the operation. This function is similar to SGSetDataOutput, and provides you with an alternative way to specify the destination.
Special Considerations

If you are performing a preview operation, you don't need to use this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetDataRef (
   SeqGrabComponent    s,
   Handle              dataRef,
   OSType              dataRefType,
   long                whereFlags );

/*SGGetSettings

Retrieves the current settings of all channels used by the sequence grabber.

ComponentResult SGGetSettings (
   SeqGrabComponent    s,
   UserData            *ud,
   long                flags );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
ud

A pointer to a space where the sequence grabber returns a pointer to a UserDataRecord structure that contains the configuration information. Your application is responsible for disposing of this structure when it is done with it.
flags

Reserved for Apple. Set this parameter to 0.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetSettings (
   SeqGrabComponent    s,
   UserData            *ud,
   long                flags );

/*SGGetIndChannel

Collects information about all of the channel components currently in use by a sequence grabber component.

ComponentResult SGGetIndChannel (
   SeqGrabComponent    s,
   short               index,
   SGChannel           *ref,
   OSType              *chanType );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
index

Specifies an index value that identifies the channel to be queried. The first channel has an index value of 1.
ref

A pointer to a field to receive a value identifying your connection to the channel. If you do not want to receive this information, set this parameter to NIL.
chanType

A pointer to a field to receive the channel's subtype value (see below). This value indicates the media type supported by the channel component. See these constants: 
VideoMediaType
SoundMediaType
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetIndChannel (
   SeqGrabComponent    s,
   short               index,
   SGChannel           *ref,
   OSType              *chanType );

/*SGSetSettings

Configures a sequence grabber and its channels.

ComponentResult SGSetSettings (
   SeqGrabComponent    s,
   UserData            ud,
   long                flags );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
ud

A UserDataRecord structure that contains the configuration information to be used by the sequence grabber.
flags

Reserved for Apple. Set this parameter to 0.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The sequence grabber disposes of any of its current channels before applying this configuration information. It then opens connections to new channels as appropriate.
Special Considerations

You can restore saved settings by using NewUserDataFromHandle.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetSettings (
   SeqGrabComponent    s,
   UserData            ud,
   long                flags );

/*SGGetChannelSettings

Retrieves the current settings of a channel used by the sequence grabber.

ComponentResult SGGetChannelSettings (
   SeqGrabComponent    s,
   SGChannel           c,
   UserData            *ud,
   long                flags );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
ud

On return, a pointer to a UserDataRecord structure that contains the configuration information.
flags

Reserved for Apple. Set this parameter to 0.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGGetChannelSettings (
   SeqGrabComponent    s,
   SGChannel           c,
   UserData            *ud,
   long                flags );

/*SGDisposeChannel

Removes a channel from a sequence grabber component.

ComponentResult SGDisposeChannel (
   SeqGrabComponent    s,
   SGChannel           c );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
c

The reference that identifies the channel you want to close. You obtain this reference from SGNewChannel.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGDisposeChannel (
   SeqGrabComponent    s,
   SGChannel           c );

/*SGSetChannelSettings

Configures a sequence grabber channel.

ComponentResult SGSetChannelSettings (
   SeqGrabComponent    s,
   SGChannel           c,
   UserData            ud,
   long                flags );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
ud

A UserDataRecord structure that contains the configuration information to be used by the channel component.
flags

Reserved for Apple. Set this parameter to 0.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetChannelSettings (
   SeqGrabComponent    s,
   SGChannel           c,
   UserData            ud,
   long                flags );

/*SGSetMaximumRecordTime

Limits the duration of a record operation

ComponentResult SGSetMaximumRecordTime (
   SeqGrabComponent    s,
   unsigned long       ticks );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
ticks

The maximum duration for the record operation, in system ticks (sixtieths of a second). Set this parameter to 0 to remove the time limit from the operation.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

By default, there is no time limit on a record operation. If you do not set a limit, a record operation will run until it exhausts the Operating System resources or you call SGStop. Memory and disk space are the two major limiting factors.
Special Considerations

You must call this function before you start a sequence grabber record operation.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetMaximumRecordTime (
   SeqGrabComponent    s,
   unsigned long       ticks );

/*SGIdle

Provides processing time for sequence grabber components.

ComponentResult SGIdle (
   SeqGrabComponent    s );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

After starting a preview or record operation, the application calls this function as often as possible. The sequence grabber component then calls your SGIdle function. This continues until the calling application stops the operation by calling SGStop.Your SGIdle function reports several status and error conditions by means of its result code. If your component returns a nonzero result code during a record operation, the application should call SGStop so that the sequence grabber component can store the data it has collected.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGIdle (
   SeqGrabComponent    s );

/*SGStartRecord

Instructs the sequence grabber component to begin collecting data from its channels.

ComponentResult SGStartRecord (
   SeqGrabComponent    s );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGStartRecord (
   SeqGrabComponent    s );

/*SGStop

Stops a preview or record operation.

ComponentResult SGStop (
   SeqGrabComponent    s );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

It is dangerous to allow an update event to occur during recording. Many digitizers capture directly to the screen, and an update event will result in data loss.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGStop (
   SeqGrabComponent    s );

/*SGPause

Suspends or restarts a sequence grabber record or preview operation.

ComponentResult SGPause (
   SeqGrabComponent    s,
   Byte                pause );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
pause

A constant (see below) that instructs your component to suspend or restart the current operation. See these constants: 
seqGrabUnpause
seqGrabPause
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Your component should not release any system resources or temporary memory associated with the current operation. You should be ready to restart the operation immediately.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGPause (
   SeqGrabComponent    s,
   Byte                pause );

/*SGGetPause

Determines whether the sequence grabber is paused.

ComponentResult SGGetPause (
   SeqGrabComponent    s,
   Byte                *paused );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
paused

A pointer to a field that is to receive a constant (see below) that indicates whether the sequence grabber is currently paused. See these constants: 
seqGrabUnpause
seqGrabPause
seqGrabPauseForMenu
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetPause (
   SeqGrabComponent    s,
   Byte                *paused );

/*SGSetChannelUsage

Specifies how a channel is to be used by the sequence grabber component.

ComponentResult SGSetChannelUsage (
   SGChannel    c,
   long         usage );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
usage

Contains flags (see below) specifying how your channel is to be used. The sequence grabber component may set more than one of these flags to 1. It sets unused flags to 0. See these constants: 
seqGrabRecord
seqGrabPreview
seqGrabPlayDuringRecord
seqGrabLowLatencyCapture
seqGrabAlwaysUseTimeBase
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier. Flags added in QuickTime 6.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetChannelUsage (
   SGChannel    c,
   long         usage );

/*SGSettingsDialog

Causes a sequence grabber to display its settings dialog box to the user.

ComponentResult SGSettingsDialog (
   SeqGrabComponent         s,
   SGChannel                c,
   short                    numPanels,
   ConstComponentListPtr    panelList,
   long                     flags,
   SGModalFilterUPP         proc,
   long                     procRefNum );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
numPanels

The number of panel components to be listed in the panel component pop-up menu. You specify the panel components with the panelList parameter. You may use these parameters to limit the user's choice of panel components. If you set this parameter to 0 and the panelList parameter to NIL, the sequence grabber lists all available panel components.
panelList

A pointer to an array of component identifiers. The sequence grabber presents only these components in the panel component pop-up menu. You specify the number of identifiers in the array with the numPanels parameter. If you set this parameter to NIL, the sequence grabber lists all available panel components.
flags

Either set this to 0 or to seqGrabSettingsPreviewOnly (see below). See these constants: 
seqGrabSettingsPreviewOnly
proc

Specifies an SGModalFilterProc callback. Because the sequence grabber's settings dialog box is a movable modal dialog box, you must supply an event filter function to process update events in your window.
procRefNum

A reference constant to be passed to your filter callback. Use this parameter to point to a data structure containing any information your function needs.
Return Value

See Error Codes. If the user clicks OK and the settings are acceptable to the panel and channel components, this function returns a result code of noErr.
Discussion

Because the user may change several channel configuration parameters, your application should retrieve new configuration information from the channel so that you can update any values you save, such as the channel's display boundaries or the channel device. In particular, the video rectangle for the channels may have to be adjusted.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSettingsDialog (
   SeqGrabComponent         s,
   SGChannel                c,
   short                    numPanels,
   ConstComponentListPtr    panelList,
   long                     flags,
   SGModalFilterUPP         proc,
   long                     procRefNum );

/*SGGetChannelPlayFlags

Retrieves the playback control flags that you set with SGSetChannelPlayFlags.

ComponentResult SGGetChannelPlayFlags (
   SGChannel    c,
   long         *playFlags );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
playFlags

A pointer to a long integer that is to receive flags (see below) that influence channel playback. Set unused flags to 0. See these constants: 
channelPlayNormal
channelPlayFast
channelPlayHighQuality
channelPlayAllData
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelPlayFlags (
   SGChannel    c,
   long         *playFlags );

/*SGSetChannelPlayFlags

Adjusts the speed and quality with which the sequence grabber displays data from a channel.

ComponentResult SGSetChannelPlayFlags (
   SGChannel    c,
   long         playFlags );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
playFlags

A long integer that contains flags (see below) that influence channel playback. A sequence grabber component must use one of these values. See these constants: 
channelPlayNormal
channelPlayFast
channelPlayHighQuality
channelPlayAllData
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetChannelPlayFlags (
   SGChannel    c,
   long         playFlags );

/*SGGetChannelUsage

Determines how the sequence grabber component is using a channel.

ComponentResult SGGetChannelUsage (
   SGChannel    c,
   long         *usage );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
usage

A pointer to a location that is to receive flags (see below) that specify how your channel is to be used. You may set more than one of these flags to 1. Set unused flags to 0. See these constants: 
seqGrabRecord
seqGrabPreview
seqGrabPlayDuringRecord
seqGrabLowLatencyCapture
seqGrabAlwaysUseTimeBase
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier. Flags added in QuickTime 6.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelUsage (
   SGChannel    c,
   long         *usage );

/*SGPrepare

Instructs a sequence grabber to get ready to begin a preview or record operation.

ComponentResult SGPrepare (
   SeqGrabComponent    s,
   Boolean             prepareForPreview,
   Boolean             prepareForRecord );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
prepareForPreview

The sequence grabber component sets this parameter to TRUE to prepare for a preview operation. The sequence grabber component may set both the prepareForPreview and prepareForRecord parameters to TRUE.
prepareForRecord

The sequence grabber component sets this parameter to TRUE to prepare for a record operation. The sequence grabber component may set both the prepareForPreview and prepareForRecord parameters to TRUE.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

If you do not call this function before starting a record or preview operation, the sequence grabber component makes these preparations when you start the operation. You cannot call this function after you start a preview or record operation. If you call this function without subsequently starting a record or preview operation, you should call SGRelease. This allows the sequence grabber component to release any system resources it allocated when you called this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGPrepare (
   SeqGrabComponent    s,
   Boolean             prepareForPreview,
   Boolean             prepareForRecord );

/*SGStartPreview

Instructs the sequence grabber to begin processing data from its channels.

ComponentResult SGStartPreview (
   SeqGrabComponent    s );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Your channel component should immediately present the data to the user in the appropriate format, according to your channel's configuration. Display video data in the destination display region; play sound data at the specified volume settings.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGStartPreview (
   SeqGrabComponent    s );

/*SGRelease

Instructs the sequence grabber to release any system resources it allocated when you called SGPrepare.

ComponentResult SGRelease (
   SeqGrabComponent    s );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

You cannot call this function during a record or preview operation.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGRelease (
   SeqGrabComponent    s );

/*MovieExportAddDataSource

Defines a data source for use with an export operation performed by MovieExportFromProceduresToDataRef.

ComponentResult MovieExportAddDataSource (
   MovieExportComponent         ci,
   OSType                       trackType,
   TimeScale                    scale,
   long                         *trackID,
   MovieExportGetPropertyUPP    getPropertyProc,
   MovieExportGetDataUPP        getDataProc,
   void                         *refCon );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
trackType

The type of media provided by this data source. This normally corresponds to a QuickTime media type such as VideoMediaType or SoundMediaType.
scale

The time scale for time values passed to getDataProc parameter. If the source data is being taken from a QuickTime track, this value is typically the media's time scale.
trackID

An identifier for the data source. This identifier is returned from the call.
getPropertyProc

A MovieExportGetPropertyProc callback that provides information about processing source samples.
getDataProc

A MovieExportGetDataProc callback the export component uses to request sample data.
refCon

Passed to the procedures specified in the getPropertyProc and getDataProc parameters. Use this parameter to point to a data structure containing any information your callbacks need.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Before starting an export operation, all the data sources must be defined by calling this function once for each data source.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportAddDataSource (
   MovieExportComponent         ci,
   OSType                       trackType,
   TimeScale                    scale,
   long                         *trackID,
   MovieExportGetPropertyUPP    getPropertyProc,
   MovieExportGetDataUPP        getDataProc,
   void                         *refCon );


/*MovieExportNewGetDataAndPropertiesProcs

Returns MovieExportGetPropertyProc and MovieExportGetDataProc callbacks that can be passed to MovieExportAddDataSource to create a new data source.

ComponentResult MovieExportNewGetDataAndPropertiesProcs (
   MovieExportComponent         ci,
   OSType                       trackType,
   TimeScale                    *scale,
   Movie                        theMovie,
   Track                        theTrack,
   TimeValue                    startTime,
   TimeValue                    duration,
   MovieExportGetPropertyUPP    *getPropertyProc,
   MovieExportGetDataUPP        *getDataProc,
   void                         **refCon );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
trackType

The format of the data to be generated by the returned MovieExportGetDataProc.
scale

The time scale returned from this function; this should be passed on to MovieExportAddDataSource with the procedures.
theMovie

The movie for this operation, supplied by the Movie Toolbox. Your component may use this identifier to obtain sample data from the movie or to obtain information about the movie.
theTrack

The track for this operation. This track identifier is supplied by the Movie Toolbox.
startTime

The starting point of the track or movie segment to be converted. This time value is expressed in the movie's time coordinate system.
duration

The duration of the track or movie segment to be converted. This duration value is expressed in the movie's time coordinate system.
getPropertyProc

A MovieExportGetPropertyProc callback that provides information about processing source samples.
getDataProc

A MovieExportGetDataProc callback that the export component uses to request sample data.
refCon

Passed to the procedures specified in the getPropertyProc and getDataProc parameters. Use this parameter to point to a data structure containing any information your callbacks need.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function exists in order to provide a standard way of getting data using this protocol out of a movie or track. The returned procedures must be disposed by calling MovieExportDisposeGetDataAndPropertiesProcs.
Special Considerations

This function is only implemented by movie data export components.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportNewGetDataAndPropertiesProcs (
   MovieExportComponent         ci,
   OSType                       trackType,
   TimeScale                    *scale,
   Movie                        theMovie,
   Track                        theTrack,
   TimeValue                    startTime,
   TimeValue                    duration,
   MovieExportGetPropertyUPP    *getPropertyProc,
   MovieExportGetDataUPP        *getDataProc,
   void                         **refCon );


/*MovieExportDoUserDialog

Requests that a component display its user dialog box.

ComponentResult MovieExportDoUserDialog (
   MovieExportComponent    ci,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   TimeValue               startTime,
   TimeValue               duration,
   Boolean                 *canceled );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
theMovie

The movie containing the data to be exported.
onlyThisTrack

Specifies that the export component should only attempt to export the data from a single track. If this parameter is set to NIL, the exporter should attempt to export the entire movie, or all of the tracks in the movie that it can export. For example, an audio export component might export multiple audio tracks, mixing them if necessary. If this parameter is not NIL, the exporter should attempt to export only the specified track.
startTime

The movie time at which to begin the export operation. If you pass 0, the operation should start at the beginning of the movie or track.
duration

The duration, in movie timescale units, of the segment to be exported. To export the entire movie, or an entire track, pass in the value returned by GetMovieDuration or GetTrackDuration, minus the value passed in startTime, as described above.
canceled

A pointer to a Boolean value. Your component should set this value to TRUE if the user cancels the dialog box, otherwise FALSE. If the user cancels the dialog box, your component should revert to its settings as they were before executing this function.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportDoUserDialog (
   MovieExportComponent    ci,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   TimeValue               startTime,
   TimeValue               duration,
   Boolean                 *canceled );

/*DisposeMovieExportGetPropertyUPP

Disposes of a MovieExportGetPropertyUPP pointer.

void DisposeMovieExportGetPropertyUPP (
   MovieExportGetPropertyUPP    userUPP );
Parameters
userUPP

A MovieExportGetPropertyUPP pointer. See Universal Procedure Pointers.
Return Value

You can access this function's error returns through GetMoviesError and GetMoviesStickyError.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
void DisposeMovieExportGetPropertyUPP (
   MovieExportGetPropertyUPP    userUPP );

/*DisposeMovieExportGetDataUPP

Disposes of a MovieExportGetDataUPP pointer.

void DisposeMovieExportGetDataUPP (
   MovieExportGetDataUPP    userUPP );
Parameters
userUPP

A MovieExportGetDataUPP pointer. See Universal Procedure Pointers.
Return Value

You can access this function's error returns through GetMoviesError and GetMoviesStickyError.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
void DisposeMovieExportGetDataUPP (
   MovieExportGetDataUPP    userUPP );


/*MovieExportDisposeGetDataAndPropertiesProcs

Disposes of the memory associated with the procedures returned by MovieExportNewGetDataAndPropertiesProcs.

ComponentResult MovieExportDisposeGetDataAndPropertiesProcs (
   MovieExportComponent         ci,
   MovieExportGetPropertyUPP    getPropertyProc,
   MovieExportGetDataUPP        getDataProc,
   void                         *refCon );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
getPropertyProc

A MovieExportGetPropertyProc callback that provides information about processing source samples.
getDataProc

A MovieExportGetDataProc callback that the export component uses to request sample data.
refCon

Passed to the procedures specified in the getPropertyProc and getDataProc parameters. Use this parameter to point to a data structure containing any information your callbacks need.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportDisposeGetDataAndPropertiesProcs (
   MovieExportComponent         ci,
   MovieExportGetPropertyUPP    getPropertyProc,
   MovieExportGetDataUPP        getDataProc,
   void                         *refCon );

/*NewMovieExportGetPropertyUPP

Allocates a Universal Procedure Pointer for the MovieExportGetPropertyProc callback.

MovieExportGetPropertyUPP NewMovieExportGetPropertyUPP (
   MovieExportGetPropertyProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewMovieExportGetPropertyProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
MovieExportGetPropertyUPP NewMovieExportGetPropertyUPP (
   MovieExportGetPropertyProcPtr    userRoutine );

/*NewMovieExportGetDataUPP

Allocates a Universal Procedure Pointer for the MovieExportGetDataProc callback.

MovieExportGetDataUPP NewMovieExportGetDataUPP (
   MovieExportGetDataProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewMovieExportGetDataProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
MovieExportGetDataUPP NewMovieExportGetDataUPP (
   MovieExportGetDataProcPtr    userRoutine );

/*MovieExportFromProceduresToDataRef

Exports data provided by MovieExportAddDataSource to a specified location.

ComponentResult MovieExportFromProceduresToDataRef (
   MovieExportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
dataRef

The data reference for the export operation.
dataRefType

The type identifier for the data reference specified by dataRef.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function exports data provided by MovieExportAddDataSource to a location specified by dataRef and dataRefType. Typically dataRef contains a Macintosh file alias and dataRefType is set to rAliasType.
Special Considerations

Movie data export components that support export operations from procedures must set the canMovieExportFromProcedures flag in their component flags.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportFromProceduresToDataRef (
   MovieExportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType );

/*MovieImportGetSettingsAsAtomContainer

Retrieves the current settings from the movie import component.

ComponentResult MovieImportGetSettingsAsAtomContainer (
   MovieImportComponent    ci,
   QTAtomContainer         *settings );
Parameters
ci

A movie data import component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
settings

The address where the reference to the newly created atom container should be stored by the call.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The caller is responsible for disposing of the returned QT atom container.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieImportGetSettingsAsAtomContainer (
   MovieImportComponent    ci,
   QTAtomContainer         *settings );

/*MovieExportGetSettingsAsAtomContainer

Retrieves the current settings from the movie export component.

ComponentResult MovieExportGetSettingsAsAtomContainer (
   MovieExportComponent    ci,
   QTAtomContainer         *settings );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
settings

The address where the newly-created atom container should be stored by the call. The caller is responsible for disposing of the returned QT atom container.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Applications can call this function to obtain a correctly formatted atom container to use with MovieExportSetSettingsFromAtomContainer. This might be done after a call to MovieExportDoUserDialog, for example, to apply the user-obtained settings to a series of exports.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportGetSettingsAsAtomContainer (
   MovieExportComponent    ci,
   QTAtomContainer         *settings );

/*QTVideoOutputGetDisplayModeList

Returns a list of the display modes supported by a video output component.

ComponentResult QTVideoOutputGetDisplayModeList (
   QTVideoOutputComponent    vo,
   QTAtomContainer           *outputs );
Parameters
vo

The instance of a video output component. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
outputs

A pointer to the QT atom container that lists the video modes supported by this component.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

After your software calls this function, it must dispose of the QT atom container returned by the function by calling QTDisposeAtomContainer.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult QTVideoOutputGetDisplayModeList (
   QTVideoOutputComponent    vo,
   QTAtomContainer           *outputs );

/*VDIIDCGetFeatures

Places atoms in a QuickTime atom container that specify the current capabilities of a camera and the state of its IIDC features.

VideoDigitizerError VDIIDCGetFeatures (
   VideoDigitizerComponent    ci,
   QTAtomContainer            *container );
Parameters
ci

The component instance that identifies your connection to a video digitizer component. The digitizer's subtype must be vdSubtypeIIDC ('iidc').
container

Upon return, a pointer to a QuickTime atom container containing atoms of type vdIIDCAtomTypeFeature for each IIDC camera feature. If the camera has not implemented any IIDC features the container returns empty.
Return Value

See Error Codes in the QuickTime API Reference. Returns noErr if there is no error.
Discussion

The digitizer creates the container, and it is the responsibility of the client to ultimately delete it if the routine does not return an error. Since the values that this function retrieves might change underneath the client, they should not be cached but should be retrieved each time they are needed.
Version Notes

Introduced in QuickTime 6.4.
Availability
Available in Mac OS X v10.3 and later.
Declared In
QuickTimeComponents.h*/

VideoDigitizerError VDIIDCGetFeatures (
   VideoDigitizerComponent    ci,
   QTAtomContainer            *container );

/*DataHGetInfoFlags

Provides information about the operation of a data handler component.

ComponentResult DataHGetInfoFlags (
   DataHandler    dh,
   UInt32         *flags );
Parameters
dh

A data handler component.
flags

Flags (see below) that provide information about the data handler. See these constants: 
kDataHInfoFlagNeverStreams
kDataHInfoFlagCanUpdateDataRefs
kDataHInfoFlagNeedsNetworkBandwidth
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 4.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult DataHGetInfoFlags (
   DataHandler    dh,
   UInt32         *flags );

/*VDGetDeviceNameAndFlags

Returns the current name and device visibility of a video digitizer.

VideoDigitizerError VDGetDeviceNameAndFlags (
   VideoDigitizerComponent    ci,
   Str255                     outName,
   UInt32                     *outNameFlags );
Parameters
ci

The video digitizer component for the request. Applications obtain this reference from OpenComponent or OpenDefaultComponent.
outName

The video digitizer device name.
outNameFlags

A pointer to a constant (see below) that determines whether to show or hide the VDIG device. See these constants: 
vdDeviceFlagShowInputsAsDevices
vdDeviceFlagHideDevice
Return Value

An error return of type ComponentResult. See Error Codes. Returns noErr if there is no error.
Discussion

This routine is designed to give the VDIG more control over how it is presented to the user, and to clarify the distinction between devices and inputs. Historically, the assumption has been that there is one component registered per device and that the component name is displayed. This function lets a component choose its name after registration. When this function is called, it is also a good time to check for hardware and register further VDIG components if needed, allowing for lazy initialization when the application needs to find a VDIG rather than initializing at every launch or replug.
Version Notes

Introduced in QuickTime 6.
Availability
Available in Mac OS X v10.2 and later.
Declared In
QuickTimeComponents.h*/
VideoDigitizerError VDGetDeviceNameAndFlags (
   VideoDigitizerComponent    ci,
   Str255                     outName,
   UInt32                     *outNameFlags );


/*VDGetNumberOfInputs

Returns the number of input video sources that a video digitizer component supports.

VideoDigitizerError VDGetNumberOfInputs (
   VideoDigitizerComponent    ci,
   short                      *inputs );
Parameters
ci

The video digitizer component for the request. Applications obtain this reference from OpenComponent or OpenDefaultComponent.
inputs

A pointer to an integer that is to receive the number of input video sources supported by the specified component. Video digitizer components number video sources sequentially, starting at 0. So, if a digitizer component supports two inputs, this function sets the field referred to by the inputs parameter to 1.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

All video digitizer components must support this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
VideoDigitizerError VDGetNumberOfInputs (
   VideoDigitizerComponent    ci,
   short                      *inputs );

/*VDGetInputName

Gets the name of a video input.

VideoDigitizerError VDGetInputName (
   VideoDigitizerComponent    ci,
   long                       videoInput,
   Str255                     name );
Parameters
ci

Specifies the video digitizer component for this operation. Applications can obtain this reference from OpenComponent or OpenDefaultComponent.
videoInput

The input video source for this request. Video digitizer components number video sources sequentially, starting at 0. So, to request information about the first video source, an application sets this parameter to 0. Applications can get the number of video sources supported by a video digitizer component by calling VDGetNumberOfInputs.
name

The video input source's name string.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
VideoDigitizerError VDGetInputName (
   VideoDigitizerComponent    ci,
   long                       videoInput,
   Str255                     name );


/*VDGetInput

Returns data that identifies the currently active input video source.

VideoDigitizerError VDGetInput (
   VideoDigitizerComponent    ci,
   short                      *input );
Parameters
ci

The video digitizer component for the request. Applications obtain this reference from OpenComponent or OpenDefaultComponent.
input

A pointer to a short integer that is to receive the identifier for the currently active input video source. Video digitizer components number video sources sequentially, starting at 0. So, if the first source is active, this function sets the field referred to by the input parameter to 0.
Return Value

See Error Codes. Returns noErr if there is no error.
Special Considerations

All video digitizer components must support this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

VideoDigitizerError VDGetInput (
   VideoDigitizerComponent    ci,
   short                      *input );

/*VDGetSoundInputDriver

Retrieves information about a video digitizer's sound input driver.

VideoDigitizerError VDGetSoundInputDriver (
   VideoDigitizerComponent    ci,
   Str255                     soundDriverName );
Parameters
ci

Identifies the application's connection to the video digitizer component. An application obtains this value from OpenComponent or OpenDefaultComponent.
soundDriverName

A pointer to a string. The video digitizer returns the name of its sound input driver. If the digitizer does not have an associated driver, it returns a result code of digiUnimpErr.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

VideoDigitizerError VDGetSoundInputDriver (
   VideoDigitizerComponent    ci,
   Str255                     soundDriverName );

/*VDGetDataRate

Retrieves information that describes the performance capabilities of a video digitizer.

VideoDigitizerError VDGetDataRate (
   VideoDigitizerComponent    ci,
   long                       *milliSecPerFrame,
   Fixed                      *framesPerSecond,
   long                       *bytesPerSecond );
Parameters
ci

Identifies the application's connection to the video digitizer component. An application obtains this value from OpenComponent or OpenDefaultComponent.
milliSecPerFrame

A pointer to a long integer. The video digitizer returns a value that indicates the number of milliseconds of synchronous overhead involved in digitizing a single frame. This value includes the average delay incurred between the time when the digitizer requests a frame from its associated device, and the time at which the device delivers the frame.
framesPerSecond

A pointer to a fixed value. The video digitizer supplies the maximum rate at which it can capture video. Note that this value may differ from the rate that the application set with VDSetFrameRate.
bytesPerSecond

A pointer to a long integer. Video digitizers that can return compressed image data return a value that indicates the approximate number of bytes per second that the digitizer is generating compressed data, given the current compression and frame rate settings.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
VideoDigitizerError VDGetDataRate (
   VideoDigitizerComponent    ci,
   long                       *milliSecPerFrame,
   Fixed                      *framesPerSecond,
   long                       *bytesPerSecond );


/*VDGetImageDescription

Retrieves an ImageDescription structure from a video digitizer.

VideoDigitizerError VDGetImageDescription (
   VideoDigitizerComponent    ci,
   ImageDescriptionHandle     desc );
Parameters
ci

Identifies the application's connection to the video digitizer component. An application obtains this value from OpenComponent or OpenDefaultComponent.
desc

A handle. The video digitizer fills this handle with an ImageDescription structure containing information about the digitizer's current compression settings. The digitizer resizes the handle appropriately. It is the application's responsibility to dispose of this handle.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
VideoDigitizerError VDGetImageDescription (
   VideoDigitizerComponent    ci,
   ImageDescriptionHandle     desc );



/*VDGetCurrentFlags

Returns status information about a specified video digitizer component.

VideoDigitizerError VDGetCurrentFlags (
   VideoDigitizerComponent    ci,
   long                       *inputCurrentFlag,
   long                       *outputCurrentFlag );
Parameters
ci

The video digitizer component for the request. Applications obtain this reference from OpenComponent or OpenDefaultComponent.
inputCurrentFlag

A pointer to a long integer that is to receive the current input state flags for the video digitizer component; see Video Digitizer Capabilities.
outputCurrentFlag

A pointer to a long integer that is to receive the current output state flags for the video digitizer component; see Video Digitizer Capabilities.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function is often more convenient than VDGetDigitizerInfo. For example, this function provides a simple mechanism for determining whether a video digitizer is receiving a valid input signal. An application can retrieve the current input state flags and test the high-order bit by examining the sign of the returned value. If the value is negative (that is, the high-order bit, digiInSignalLock, is set to 1), the digitizer component is receiving a valid input signal.
Special Considerations

All video digitizer components must support this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
VideoDigitizerError VDGetCurrentFlags (
   VideoDigitizerComponent    ci,
   long                       *inputCurrentFlag,
   long                       *outputCurrentFlag );




/*MovieExportSetSettingsFromAtomContainer

Sets the movie export component's current configuration from passed settings data.

ComponentResult MovieExportSetSettingsFromAtomContainer (
   MovieExportComponent    ci,
   QTAtomContainer         settings );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
settings

A QT atom container that contains the settings.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The atom container may contain atoms other than those expected by the particular component type or may be missing certain atoms. This function uses only those settings it understands.

Here is sample code that overrides compression settings:// MovieExportSetSettingsFromAtomContainer coding example
ComponentInstance sc;
QTAtomContainer compressorData;
SCSpatialSettings ss;
sc =OpenDefaultComponent(StandardCompressionType,
                             StandardCompressionSubType);
ss.codecType =kCinepakCodecType;
ss.codec =NIL;
ss.depth =0;
ss.spatialQuality =codecHighQuality
err =SCSetInfo(sc, scSpatialSettingsType, &ss);
err =SCGetSettingsAsAtomContainer(sc, &compressorData);
MovieExportSetSettingsFromAtomContainer (qtvrExport, compressorData);

Special Considerations

Some movie export components treat sample descriptions as part of their settings. If your application attempts to set the sample description using MovieExportSetSampleDescription, and receives the badComponentSelector error, you may need to pass in the SampleDescription structure using this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportSetSettingsFromAtomContainer (
   MovieExportComponent    ci,
   QTAtomContainer         settings );

/*SGGrabCompressComplete

Provides the default behavior for your grab-compress-complete function.

ComponentResult SGGrabCompressComplete (
   SGChannel         c,
   UInt8             *queuedFrameCount,
   SGCompressInfo    *ci,
   TimeRecord        *tr );
Parameters
c

The connection identifier for the channel for this operation. The sequence grabber provides this value to your grab-compress-complete function.
queuedFrameCount

A pointer to the number of queued frames yet to be done. 0 means no frames. Some VDIGs may return 2 even if more than 2 frames are available, and some will return 1 if any number more than 0 are available.
ci

A pointer to an SGCompressInfo structure. When the operation is complete, the function fills in this structure with information about the compression operation.
tr

A pointer to a TimeRecord structure. When the operation is complete, the function uses this structure to indicate when the frame was grabbed.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

By setting the SGGrabCompressCompleteBottleProc callback and calling this function, your application can determine how many frames are currently queued in the VDIG, which can be useful for real-time processing.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGrabCompressComplete (
   SGChannel         c,
   UInt8             *queuedFrameCount,
   SGCompressInfo    *ci,
   TimeRecord        *tr );


/*SGGetTimeBase

Retrieves a reference to the time base that is being used by a sequence grabber component.

ComponentResult SGGetTimeBase (
   SeqGrabComponent    s,
   TimeBase            *tb );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
tb

A pointer to a time base identifier, such as that returned by NewTimeBase.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGGetTimeBase (
   SeqGrabComponent    s,
   TimeBase            *tb );

/*SGGetVideoDigitizerComponent

Determines the video digitizer component that is providing source video to a video channel component.

ComponentInstance SGGetVideoDigitizerComponent (
   SGChannel    c );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
Return Value

A component instance that identifies the connection between your video channel component and its video digitizer component. If your video channel component does not use a video digitizer component, set this returned value to NIL.
Discussion

This function allows the sequence grabber component to determine the video digitizer component that is providing source video to your video channel component. For example, the sequence grabber component can use this function to obtain access to the video digitizer component so that the grabber component can set the digitizer's parameters.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentInstance SGGetVideoDigitizerComponent (
   SGChannel    c );

/*SGGetAlignmentProc

Obtains information about the best screen positions for a sequence grabber's video image in terms of appearance and maximum performance.

ComponentResult SGGetAlignmentProc (
   SeqGrabComponent             s,
   ICMAlignmentProcRecordPtr    alignmentProc );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
alignmentProc

A pointer to an ICMAlignmentProcRecord structure. The sequence grabber places its alignment information into this structure.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGGetAlignmentProc (
   SeqGrabComponent             s,
   ICMAlignmentProcRecordPtr    alignmentProc );

/*SGSetVideoRect

Specifies a part of the source video image that is to be captured by a sequence grabber component.

ComponentResult SGSetVideoRect (
   SGChannel     c,
   const Rect    *r );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
r

A pointer to the Rect structure that defines the portion of the source video image to be captured. This rectangle must lie within the boundaries of the source video boundary rectangle, which the sequence grabber can obtain by calling SGGetSrcVideoBounds. If you do not use this function to set a source rectangle, the sequence grabber component captures the entire video image, as defined by the source video boundary rectangle.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

You cannot call this function during a record operation.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetVideoRect (
   SGChannel     c,
   const Rect    *r );


/*SGGetVideoBottlenecks

Determines the callback functions that have been assigned to a video channel.

ComponentResult SGGetVideoBottlenecks (
   SGChannel       c,
   VideoBottles    *vb );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
vb

A pointer to a VideoBottles structure. This function sets the fields of that structure to indicate the callback functions that have been assigned to this video channel. You must set the procCount field in the VideoBottles structure to 9.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGGetVideoBottlenecks (
   SGChannel       c,
   VideoBottles    *vb );

/*NewSGDataUPP

Allocates a Universal Procedure Pointer for the SGDataProc callback.

SGDataUPP NewSGDataUPP (
   SGDataProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewSGDataProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
SGDataUPP NewSGDataUPP (
   SGDataProcPtr    userRoutine );

/*SGGetChannelTimeBase

Retrieves a reference to the time base that is being used by a sequence grabber channel.

ComponentResult SGGetChannelTimeBase (
   SGChannel    c,
   TimeBase     *tb );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
tb

A pointer to a time base identifier, such as that returned by NewTimeBase.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 4.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGGetChannelTimeBase (
   SGChannel    c,
   TimeBase     *tb );


/*SGSetFrameRate

Specifies a video channel's frame rate for recording.

ComponentResult SGSetFrameRate (
   SGChannel    c,
   Fixed        frameRate );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
frameRate

The desired frame rate. If this parameter is set to 0, use your channel's default frame rate. Typically, this corresponds to the fastest rate that your channel can support.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetFrameRate (
   SGChannel    c,
   Fixed        frameRate );

/*SGSetVideoBottlenecks

Assigns callback functions to a video channel.

ComponentResult SGSetVideoBottlenecks (
   SGChannel       c,
   VideoBottles    *vb );
Parameters
c

The connection identifier for the video channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
vb

A pointer to a VideoBottles structure, which identifies the callback functions to be assigned to the video channel.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetVideoBottlenecks (
   SGChannel       c,
   VideoBottles    *vb );



/*NewSGGrabCompressCompleteBottleUPP

Allocates a Universal Procedure Pointer for the SGGrabCompressCompleteBottleProc callback.

SGGrabCompressCompleteBottleUPP NewSGGrabCompressCompleteBottleUPP (
   SGGrabCompressCompleteBottleProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewSGGrabCompressCompleteBottleProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
SGGrabCompressCompleteBottleUPP NewSGGrabCompressCompleteBottleUPP (
   SGGrabCompressCompleteBottleProcPtr    userRoutine );

/*SCGetInfo

Retrieves configuration information from the standard dialog component.

ComponentResult SCGetInfo (
   ComponentInstance    ci,
   OSType               infoType,
   void                 *info );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
infoType

A constant (see below) that specifies the type of information you want to retrieve. See these constants: 
scSpatialSettingsType
scTemporalSettingsType
scDataRateSettingsType
scColorTableType
scProgressProcType
scExtendedProcsType
scPreferenceFlagsType
scSettingsStateType
scSequenceIDType
scWindowPositionType
scCodecFlagsType
info

A pointer to a field that is to receive the information. The infoType constant descriptions (see below) include information about this field.
Return Value

See Error Codes. If the component cannot satisfy your request, it returns a result code of scTypeNotFoundErr. It returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCGetInfo (
   ComponentInstance    ci,
   OSType               infoType,
   void                 *info );


/*SCSetInfo

Modifies the standard dialog component's configuration information.

ComponentResult SCSetInfo (
   ComponentInstance    ci,
   OSType               infoType,
   void                 *info );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
infoType

A constant (see below) that specifies the type of information you want to set. See these constants: 
scSpatialSettingsType
scTemporalSettingsType
scDataRateSettingsType
scColorTableType
scProgressProcType
scExtendedProcsType
scPreferenceFlagsType
scSettingsStateType
scSequenceIDType
scWindowPositionType
scCodecFlagsType
info

A pointer to a field that contains the new information. The infoType constant descriptions (see below) include information about this field.
Return Value

See Error Codes. If the component cannot satisfy your request, it returns a result code of scTypeNotFoundErr. It returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCSetInfo (
   ComponentInstance    ci,
   OSType               infoType,
   void                 *info );

/*SCSetTestImagePixMap

Sets the dialog box's test image from a Picture structure that is stored in a PixMap structure.

ComponentResult SCSetTestImagePixMap (
   ComponentInstance    ci,
   PixMapHandle         testPixMap,
   Rect                 *testRect,
   short                testFlags );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
testPixMap

A handle to a PixMap structure that contains the new test image. Your application is responsible for creating this structure before calling the function. You must also dispose of the structure when you are done with it. You must clear the image or close your connection to the standard image-compression dialog component before you dispose of the structure.
testRect

A pointer to a Rect structure. This rectangle specifies, in the coordinate system of the source image, the area of interest or point of interest in the test image. The area of interest defines a portion of the test image that is to be shown to the user in the dialog box. Use this parameter to direct the component to a specific portion of the test image. The component uses the value of the testFlags parameter to determine how it transforms large images before displaying them to the user.
testFlags

Constants (see below) that specify how the component is to display a test image that is larger than the test image portion of the dialog box. If you set this parameter to 0, the component uses a default method of its own choosing. In all cases, the component centers the area or point of interest in the test image portion of the dialog box, and then displays some part of the test image. See these constants: 
scPreferCropping
scPreferScaling
scPreferScalingAndCropping
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCSetTestImagePixMap (
   ComponentInstance    ci,
   PixMapHandle         testPixMap,
   Rect                 *testRect,
   short                testFlags );

/*SCDefaultPixMapSettings

Derives default compression settings for an image that is stored in a pixel map.

ComponentResult SCDefaultPixMapSettings (
   ComponentInstance    ci,
   PixMapHandle         src,
   short                motion );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
src

A handle to the PixMap structure to be analyzed.
motion

Specifies whether the image is part of a sequence. Set this parameter to TRUE if the image is part of a sequence; set it to FALSE if you are working with a single still image.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCDefaultPixMapSettings (
   ComponentInstance    ci,
   PixMapHandle         src,
   short                motion );

/*SCRequestSequenceSettings

Displays the standard sequence dialog box to the user and shows default settings you have established.

ComponentResult SCRequestSequenceSettings (
   ComponentInstance    ci );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Use SCRequestSequenceSettings to retrieve the user's preferences for compressing an image sequence; use SCRequestImageSettings when you are working with a single image. Both functions manipulate the compression settings that the component stores for you.

The component derives the current settings when you may supply an image to the component from which it can derive default settings. If you have not set any defaults, but you do supply a test image for the dialog, the component examines the test image and derives appropriate default values based upon its characteristics. If you have not set any defaults and do not supply a test image, the component uses its own default values.
Special Considerations

You may modify the settings by using SCSetInfo. You may customize the dialog boxes by specifying a modal-dialog hook function or a custom button. You may use the custom button to invoke an ancillary dialog box that is specific to your application.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCRequestSequenceSettings (
   ComponentInstance    ci );

/*SCPositionRect

Positions a rectangle on the screen.

ComponentResult SCPositionRect (
   ComponentInstance    ci,
   Rect                 *rp,
   Point                *where );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
rp

A pointer to a Rect structure. When you call the function, this structure should contain the rectangle's current global coordinates. The function adjusts the coordinates in the structure to reflect the rectangle's new position.
where

A pointer to a Point structure identifying the desired location of the upper-left corner of the rectangle in global coordinates. This parameter allows your application to position the rectangle on the screen.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCPositionRect (
   ComponentInstance    ci,
   Rect                 *rp,
   Point                *where );

/*SCCompressSequenceBegin

Initiates a sequence-compression operation.

ComponentResult SCCompressSequenceBegin (
   ComponentInstance         ci,
   PixMapHandle              src,
   const Rect                *srcRect,
   ImageDescriptionHandle    *desc );
Parameters
ci

Identifies your application's connection to a standard image-compression component. You obtain this identifier from OpenDefaultComponent.
src

A handle to the PixMap structure to be compressed. This pixel map must contain the first image in the sequence.
srcRect

A pointer to a portion of the PixMap structure to compress as a Rect structure. This rectangle must be in the pixel map's coordinate system. If you want to compress the entire structure, set this parameter to NIL.
desc

A pointer to an image description handle. The standard dialog component creates an image description structure when it compresses the image, and returns a handle to that structure in the field referred to by this parameter. The component sizes the handle appropriately. If you do not want this information, set this parameter to NIL.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCCompressSequenceBegin (
   ComponentInstance         ci,
   PixMapHandle              src,
   const Rect                *srcRect,
   ImageDescriptionHandle    *desc );

/*SCCompressSequenceFrame

Continues a sequence-compression operation.

ComponentResult SCCompressSequenceFrame (
   ComponentInstance    ci,
   PixMapHandle         src,
   const Rect           *srcRect,
   Handle               *data,
   long                 *dataSize,
   short                *notSyncFlag );
Parameters
ci

Identifies your application's connection to a standard image-compression component. You obtain this identifier from OpenDefaultComponent.
src

A handle to the PixMap structure to be compressed.
srcRect

A pointer to a portion of the PixMap structure to compress as a Rect structure. This rectangle must be in the pixel map's coordinate system. If you want to compress the entire pixel map, set this parameter to NIL.
data

A pointer to a handle. The standard compression component returns a handle to the compressed image data in the field referred to by this parameter. The component sizes that handle appropriately for the sequence.
dataSize

A pointer to a long integer. The standard compression component returns a value that indicates the number of bytes of compressed image data that it returns. Note that this value will differ from the size of the handle referred to by the data parameter, because the handle is allocated to accommodate the largest image in the sequence.
notSyncFlag

A pointer to a short integer that indicates whether the compressed frame is a key frame. If the frame is a key frame, the standard compression component sets the field referred to by this parameter to 0; otherwise, the component sets this field to mediaSampleNotSync. You may use this field to set the sampleFlags parameter of the AddMediaSample function.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

You must call this function once for each frame in the sequence, including the first frame.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCCompressSequenceFrame (
   ComponentInstance    ci,
   PixMapHandle         src,
   const Rect           *srcRect,
   Handle               *data,
   long                 *dataSize,
   short                *notSyncFlag );

/*SCCompressSequenceEnd

Ends a sequence-compression operation.

ComponentResult SCCompressSequenceEnd (
   ComponentInstance    ci );
Parameters
ci

Identifies your application's connection to a standard image-compression component. You obtain this identifier from OpenDefaultComponent.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The standard dialog component disposes of any memory it used to compress the image sequence, including the data and image description buffers. You must call this function once for each sequence you start.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCCompressSequenceEnd (
   ComponentInstance    ci );

/*MovieImportFile

Imports data from a file, using a movie data import component.

ComponentResult MovieImportFile (
   MovieImportComponent    ci,
   const FSSpec            *theFile,
   Movie                   theMovie,
   Track                   targetTrack,
   Track                   *usedTrack,
   TimeValue               atTime,
   TimeValue               *addedDuration,
   long                    inFlags,
   long                    *outFlags );
Parameters
ci

A movie data import component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
theFile

A pointer to the file that contains the data that is to be imported into the movie. This file's type value corresponds to your component's subtype value.
theMovie

The movie for this operation. This movie identifier is supplied by the Movie Toolbox. Your component may use this identifier to add sample data to the target movie or to obtain information about the movie.
targetTrack

The track that is to receive the imported data. This track identifier is supplied by the Movie Toolbox and is valid only if the movieImportMustUseTrack flag in the inFlags parameter is set to 1.
usedTrack

A pointer to the track that received the imported data. Your component returns this track identifier to the Movie Toolbox. Your component needs to set this parameter only if you operate on a single track or if you create a new track. If you modify more than one track, leave the field referred to by this parameter unchanged.
atTime

The time corresponding to the location where your component is to place the imported data. This time value is expressed in the movie's time coordinate system.
addedDuration

A pointer to the duration of the data that your component added to the movie. Your component must specify this value in the movie's time coordinate system.
inFlags

Flags (see below) that specify control information governing the import operation. See these constants: 
movieImportCreateTrack
movieImportMustUseTrack
movieImportInParallel
outFlags

Flags (see below) that identify a field that is to receive status information about the import operation. Your component sets the appropriate flags in this field when the operation is complete. See these constants: 
movieImportResultUsedMultipleTracks
movieImportInParallel
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Your component must be prepared to perform this function at any time. You should not expect that any of your component's configuration functions will be called first. If your component can accept data from a file, be sure to set the canMovieImportFiles flag in the componentFlags field of your component's ComponentDescription structure.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult MovieImportFile (
   MovieImportComponent    ci,
   const FSSpec            *theFile,
   Movie                   theMovie,
   Track                   targetTrack,
   Track                   *usedTrack,
   TimeValue               atTime,
   TimeValue               *addedDuration,
   long                    inFlags,
   long                    *outFlags );

/*SCSetSettingsFromAtomContainer

Sets the standard image-compression component's current configuration from data in a QT atom container.

ComponentResult SCSetSettingsFromAtomContainer (
   ComponentInstance    ci,
   QTAtomContainer      settings );
Parameters
ci

Standard compression component instance.
settings

A QT atom container reference to the settings.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The settings QT atom container may contain atoms other than those expected by the particular component type or may be missing certain atoms. The function will only use settings it understands.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCSetSettingsFromAtomContainer (
   ComponentInstance    ci,
   QTAtomContainer      settings );

/*SCGetSettingsAsAtomContainer

Places the current configuration from the standard image-compression component in a QT atom container.

ComponentResult SCGetSettingsAsAtomContainer (
   ComponentInstance    ci,
   QTAtomContainer      *settings );
Parameters
ci

The standard compression component instance.
settings

The address where the newly-created atom container should be stored.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The caller is responsible for disposing of the returned QT atom container.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCGetSettingsAsAtomContainer (
   ComponentInstance    ci,
   QTAtomContainer      *settings );

/*NewSCModalHookUPP

Allocates a Universal Procedure Pointer for the SCModalHookProc callback.

SCModalHookUPP NewSCModalHookUPP (
   SCModalHookProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewSCModalHookProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/


SCModalHookUPP NewSCModalHookUPP (
   SCModalHookProcPtr    userRoutine );

/*SCPositionDialog

Helps position a dialog box on the screen.

ComponentResult SCPositionDialog (
   ComponentInstance    ci,
   short                id,
   Point                *where );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
id

The resource number of a 'DLOG' resource. The function positions the dialog box that corresponds to this resource.
where

A pointer to a Point structure identifying the desired location of the upper-left corner of the dialog box in global coordinates. This parameter allows you to indicate how you want to position the dialog box on the screen.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/


ComponentResult SCPositionDialog (
   ComponentInstance    ci,
   short                id,
   Point                *where );

/*SCGetCompressionExtended

Undocumented

ComponentResult SCGetCompressionExtended (
   ComponentInstance    ci,
   SCParams             *params,
   Point                where,
   SCModalFilterUPP     filterProc,
   SCModalHookUPP       hookProc,
   long                 refcon,
   StringPtr            customName );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
params

A pointer to an SCParams structure.
where

Undocumented
filterProc

A Universal Procedure Pointer that accesses a SCModalFilterProc callback.
hookProc

A Universal Procedure Pointer that accesses a SCModalHookProc callback.
refcon

A reference constant to be passed to your callbacks. Use this parameter to point to a data structure containing any information your callbacks need.
customName

Undocumented
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SCGetCompressionExtended (
   ComponentInstance    ci,
   SCParams             *params,
   Point                where,
   SCModalFilterUPP     filterProc,
   SCModalHookUPP       hookProc,
   long                 refcon,
   StringPtr            customName );

/*VDGetBlackLevelValue

Returns the current black level value.

VideoDigitizerError VDGetBlackLevelValue (
   VideoDigitizerComponent    ci,
   unsigned short             *blackLevel );
Parameters
ci

The video digitizer component for the request. Applications obtain this reference from OpenComponent or OpenDefaultComponent.
blackLevel

A pointer to an integer field that is to receive the current black level value. Black level values range from 0 to 65,535, where 0 represents the maximum black value and 65,535 represents the minimum black value.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
VideoDigitizerError VDGetBlackLevelValue (
   VideoDigitizerComponent    ci,
   unsigned short             *blackLevel );

/*VDSetBlackLevelValue

Sets the current black level value.

VideoDigitizerError VDSetBlackLevelValue (
   VideoDigitizerComponent    ci,
   unsigned short             *blackLevel );
Parameters
ci

The video digitizer component for the request. Applications obtain this reference from OpenComponent or OpenDefaultComponent.
blackLevel

A pointer to an integer that contains the new black level value. Black level values range from 0 to 65,535, where 0 represents the maximum black value and 65,535 represents the minimum black value. The digitizer component returns the new value, so that the application can avoid using unsupported values in future requests.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

VideoDigitizerError VDSetBlackLevelValue (
   VideoDigitizerComponent    ci,
   unsigned short             *blackLevel );

/*MovieExportSetSampleDescription

Requests the format of the exported data.

ComponentResult MovieExportSetSampleDescription (
   MovieExportComponent       ci,
   SampleDescriptionHandle    desc,
   OSType                     mediaType );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
desc

A handle to a valid SampleDescription structure.
mediaType

The type of media the SampleDescription structure is for. For example, if the sample description was a sound description, this parameter would be set to SoundMediaType.
Return Value

See Error Codes. Returns badComponentSelector if you should be passing a QT atom container (see discussion, below). Returns noErr if there is no error.
Discussion

A movie export component may use all, some, or none of the settings from the SampleDescription structure.

If your application attempts to set the sample description using this function, and receives the badComponentSelector error, you may need to pass in the sample description using MovieExportSetSettingsFromAtomContainer. You can use MovieExportGetSettingsAsAtomContainer to obtain a correctly formatted atom container to modify.
Special Considerations

This function is not implemented by all movie export components, but is supported by the sound movie export component, for example.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportSetSampleDescription (
   MovieExportComponent       ci,
   SampleDescriptionHandle    desc,
   OSType                     mediaType );

/*SGUpdate

Informs your component about update events, to update its display.

ComponentResult SGUpdate (
   SeqGrabComponent    s,
   RgnHandle           updateRgn );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
updateRgn

Indicates the part of the window that has been changed. 
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Applications can determine the part of the window that has been changed by examining the appropriate window record. For example, they may call the sequence grabber in this manner:SGUpdate (theSG, ((WindowPeek)updateWindow)->
updateRgn);

Special Considerations

Your application should avoid drawing where the sequence grabber is displaying video. Doing so may cause some video digitizer components to stop displaying video.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGUpdate (
   SeqGrabComponent    s,
   RgnHandle           updateRgn );

/*SGSetChannelVolume

Sets a channel's sound volume.

ComponentResult SGSetChannelVolume (
   SGChannel    c,
   short        volume );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
volume

The volume setting of your channel represented as a 16-bit, fixed-point number. The high-order 8 bits contain the integer part of the value; the low-order 8 bits contain the fractional part. Volume values range from -1.0 to 1.0. Negative values play no sound but preserve the absolute value of the volume setting.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetChannelVolume (
   SGChannel    c,
   short        volume );

/*SGSetAdditionalSoundRates

Specifies a list of sound sample rates to be included in the sequence grabber's sound settings dialog box.

ComponentResult SGSetAdditionalSoundRates (
   SGChannel    c,
   Handle       rates );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
rates

A handle containing a list of unsigned 32-bit fixed-point values. The sequence grabber channel determines the number of sample rates contained in the handle, based on the size of the handle. If any of the requested rates are not supported directly by the available sound capture hardware, sound will be captured at one of the available hardware rates and then converted in software to the requested rate.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The sequence grabber channel makes a copy of the additional rates handle, so your application can immediately dispose of it after making this call.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetAdditionalSoundRates (
   SGChannel    c,
   Handle       rates );

/*SGGrabPict

Lets your application obtain a Picture structure from a sequence grabber component.

ComponentResult SGGrabPict (
   SeqGrabComponent    s,
   PicHandle           *p,
   const Rect          *bounds,
   short               offscreenDepth,
   long                grabPictFlags );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
p

A pointer to a field that is to receive a handle to the Picture structure. If the function cannot create the structure, it sets this handle to NIL.
bounds

A pointer to the boundary region for the Picture structure. By default, this rectangle lies in the current graphics port. If you set the grabPictOffScreen flag in the grabPictFlags parameter to 1, the sequence grabber places the structure in an offscreen graphics world. In this case, the rectangle is interpreted in that offscreen world.
offscreenDepth

The pixel depth for the offscreen graphics world. This parameter is typically set to 0, which chooses the best available depth. If you set the grabPictOffScreen flag in the grabPictFlags parameter to 1, the sequence grabber places the Picture structure in an offscreen graphics world. You specify the pixel depth of this offscreen graphics world with this parameter. If you are displaying the picture, this parameter is ignored.
grabPictFlags

Contains flags (see below) that control the operation. See these constants: 
grabPictOffScreen
grabPictIgnoreClip
grabPictCurrentImage
Return Value

See Error Codes. Returns noErr if there is no error.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGrabPict (
   SeqGrabComponent    s,
   PicHandle           *p,
   const Rect          *bounds,
   short               offscreenDepth,
   long                grabPictFlags );

/*SGNewOutput

Creates a new sequence grabber output.

ComponentResult SGNewOutput (
   SeqGrabComponent    s,
   Handle              dataRef,
   OSType              dataRefType,
   long                whereFlags,
   SGOutput            *sgOut );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
dataRef

A handle to the destination container.
dataRefType

The type of data reference; see Data References. If the data reference is an alias, you must set the parameter to rAliasType.
whereFlags

Flags (see below) that control the record operation. You must set either seqGrabToDisk or seqGrabToMemory to 1. Set unused flags to 0. See these constants: 
seqGrabToDisk
seqGrabToMemory
seqGrabDontUseTempMemory
seqGrabAppendToFile
seqGrabDontAddMovieResource
seqGrabDontMakeMovie
sgOut

A pointer to a sequence grabber output. The sequence grabber component returns an output identifier that you can use with other sequence grabber component functions.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Once you have created the sequence grabber output, you can use SGSetChannelOutput to assign the output to a sequence grabber channel.
Version Notes

A sequence grabber output ties a sequence grabber channel to a specified data reference for the output of captured data. If you are capturing to a single movie file, you can continue to use SGSetDataOutput or SGSetDataRef to specify the sequence grabber's destination. However, if you want to capture movie data into several different files or data references, you must use sequence grabber outputs to do so. Even if you are using outputs, you must still use SGSetDataOutput or SGSetDataRef to identify where the sequence grabber should create the movie resource. You are responsible for creating outputs, assigning them to sequence grabber channels, and disposing of them when you are done.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGNewOutput (
   SeqGrabComponent    s,
   Handle              dataRef,
   OSType              dataRefType,
   long                whereFlags,
   SGOutput            *sgOut );

/*SGSetDataOutput

Specifies the movie file and options for a sequence grabber record operation.

ComponentResult SGSetDataOutput (
   SeqGrabComponent    s,
   const FSSpec        *movieFile,
   long                whereFlags );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
movieFile

A pointer to the FSSpec structure that identifies the movie file for this record operation.
whereFlags

Contains flags (see below) that control the record operation. You must set either seqGrabToDisk flag or seqGrabToMemory to 1. Set unused flags to 0. See these constants: 
seqGrabToDisk
seqGrabToMemory
seqGrabDontUseTempMemory
seqGrabAppendToFile
seqGrabDontAddMovieResource
seqGrabDontMakeMovie
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGSetDataOutput (
   SeqGrabComponent    s,
   const FSSpec        *movieFile,
   long                whereFlags );

/*SGGetVideoRect

Determines the portion of the source video image that is to be captured.

ComponentResult SGGetVideoRect (
   SGChannel    c,
   Rect         *r );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
r

A pointer to a Rect structure that is to receive the dimensions of the rectangle that defines the portion of the source video image your component is going to capture.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult SGGetVideoRect (
   SGChannel    c,
   Rect         *r );

/*SGSetChannelOutput

Assigns an output to a channel.

ComponentResult SGSetChannelOutput (
   SeqGrabComponent    s,
   SGChannel           c,
   SGOutput            sgOut );
Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
sgOut

Identifies the sequence grabber output for this operation. You obtain this identifier by calling SGNewOutput.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Use this function to assign an output to a channel. One output may be assigned to one or more channels. Note that when you call SGSetDataRef or SGSetDataOutput the sequence grabber component sets every channel to the specified file or container. If you want to use different outputs, you must use this function to assign the channels appropriately.
Version Notes

A sequence grabber output ties a sequence grabber channel to a specified data reference for the output of captured data. If you are capturing to a single movie file, you can continue to use SGSetDataOutput or SGSetDataRef to specify the sequence grabber's destination. However, if you want to capture movie data into several different files or data references, you must use sequence grabber outputs to do so. Even if you are using outputs, you must still use SGSetDataOutput or SGSetDataRef to identify where the sequence grabber should create the movie resource. You are responsible for creating outputs, assigning them to sequence grabber channels, and disposing of them when you are done.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetChannelOutput (
   SeqGrabComponent    s,
   SGChannel           c,
   SGOutput            sgOut );

/*NewSGModalFilterUPP

Allocates a Universal Procedure Pointer for the SGModalFilterProc callback.

SGModalFilterUPP NewSGModalFilterUPP (
   SGModalFilterProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewSGModalFilterProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
 #define NewSGModalFilterProc(userRoutine)                   NewSGModalFilterUPP(userRoutine)
SGModalFilterUPP NewSGModalFilterUPP (
   SGModalFilterProcPtr    userRoutine );

/*DisposeSGModalFilterUPP

Disposes of an SGModalFilterUPP pointer.

void DisposeSGModalFilterUPP (
   SGModalFilterUPP    userUPP );
Parameters
userUPP

An SGModalFilterUPP pointer. See Universal Procedure Pointers.
Return Value

You can access this function's error returns through GetMoviesError and GetMoviesStickyError.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
void DisposeSGModalFilterUPP (
   SGModalFilterUPP    userUPP );

/*MovieImportDoUserDialog

Requests that a component display its user dialog box.

ComponentResult MovieImportDoUserDialog (
   MovieImportComponent    ci,
   const FSSpec            *theFile,
   Handle                  theData,
   Boolean                 *canceled );
Parameters
ci

A movie data import component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
theFile

A pointer to a valid file specification. If the import request pertains to a file, the application must specify the source file with this parameter and set the theData parameter to NIL. If the request is for a handle, this parameter is set to NIL.
theData

A handle to the data to be imported. If the import request pertains to a handle, the application must specify the source of the data with this parameter, and set the theFile parameter to NIL. If the request is for a file, this parameter is set to NIL.
canceled

A pointer to a Boolean value. Your component should set this value to TRUE if the user cancels the dialog box; otherwise, set it to FALSE.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

If your component supports a user dialog box, be sure to set the hasMovieImportUserInterface flag in the componentFlags field of your component's ComponentDescription structure.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieImportDoUserDialog (
   MovieImportComponent    ci,
   const FSSpec            *theFile,
   Handle                  theData,
   Boolean                 *canceled );

/*PreviewShowData

Displays a preview if it does not handle events.

ComponentResult PreviewShowData (
   pnotComponent    p,
   OSType           dataType,
   Handle           data,
   const Rect       *inHere );
Parameters
p

Specifies your preview component. You obtain this identifier from OpenComponent.
dataType

The type of handle pointing to the data to be displayed in the preview.
data

A handle to the data, which is typically the same as the subtype of your preview component.
inHere

A pointer to a Rect structure that defines the area into which you draw the preview. The current port is set to the correct graphics port for drawing. You must not draw outside the given rectangle.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult PreviewShowData (
   pnotComponent    p,
   OSType           dataType,
   Handle           data,
   const Rect       *inHere );

/*SCCompressImage

Compresses an image that is stored in a PixMap structure.

ComponentResult SCCompressImage (
   ComponentInstance         ci,
   PixMapHandle              src,
   const Rect                *srcRect,
   ImageDescriptionHandle    *desc,
   Handle                    *data );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
src

A handle to the PixMap structure to be compressed.
srcRect

A pointer to a portion of the PixMap structure to compress as a Rect structure. This rectangle must be in the pixel map's coordinate system. If you want to compress the entire pixel map, set this parameter to NIL.
desc

A pointer to a handle to an ImageDescription structure. The standard dialog component creates an ImageDescription structure when it compresses the image, and returns a handle to that structure in the field referred to by this parameter. The component sizes that handle appropriately. Your application is responsible for disposing of that handle when you are done with it.
data

A pointer to a handle. The standard dialog component returns a handle to the compressed image data in the field referred to by this parameter. The component sizes that handle appropriately. Your application is responsible for disposing of that handle when you are done with it.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCCompressImage (
   ComponentInstance         ci,
   PixMapHandle              src,
   const Rect                *srcRect,
   ImageDescriptionHandle    *desc,
   Handle                    *data );

/*NewSCModalFilterUPP

Allocates a Universal Procedure Pointer for the SCModalFilterProc callback.

SCModalFilterUPP NewSCModalFilterUPP (
   SCModalFilterProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewSCModalFilterProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
SCModalFilterUPP NewSCModalFilterUPP (
   SCModalFilterProcPtr    userRoutine );

/*
DisposeSGDataUPP

Disposes of an SGDataUPP pointer.

void DisposeSGDataUPP (
   SGDataUPP    userUPP );
Parameters
userUPP

An SGDataUPP pointer. See Universal Procedure Pointers.
Return Value

You can access this function's error returns through GetMoviesError and GetMoviesStickyError.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
void DisposeSGDataUPP (
   SGDataUPP    userUPP );

/*QTVideoOutputSetClientName

Registers the name of an application or other software with an instance of a video output component.

ComponentResult QTVideoOutputSetClientName (
   QTVideoOutputComponent    vo,
   ConstStr255Param          str );
Parameters
vo

The instance of a video output component for the request. Your software obtains this reference when it calls OpenComponent or OpenDefaultComponent.
str

The name of the application or other software to be registered.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The name you specify with this function can later be used by QTVideoOutputGetCurrentClientName to specify which software has exclusive access to the video output device controlled by the component.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputSetClientName (
   QTVideoOutputComponent    vo,
   ConstStr255Param          str );

/*QTVideoOutputSetDisplayMode

Specifies the display mode to be used by a video output component.

ComponentResult QTVideoOutputSetDisplayMode (
   QTVideoOutputComponent    vo,
   long                      displayModeID );
Parameters
vo

The instance of a video output component for the request. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
displayModeID

The ID of the display mode to use. The ID specifies a QT atom of type kQTVODisplayModeItem in the QT atom container returned by QTVideoOutputGetDisplayModeList.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

When software changes the display mode with this function, the change does not take effect until the next time the software calls QTVideoOutputBegin for the video output component. This lets the software change other output settings before displaying the video.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputSetDisplayMode (
   QTVideoOutputComponent    vo,
   long                      displayModeID );

/*QTVideoOutputBegin

Obtains exclusive access to the video hardware controlled by a video output component.

ComponentResult QTVideoOutputBegin (
   QTVideoOutputComponent    vo );
Parameters
vo

The instance of a video output component. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
Return Value

See Error Codes. Returns noErr if there is no error. If this function returns the videoOutputInUseErr result code that indicates that the video hardware is currently in use, your software can get the name of the application or other software that is using the hardware by calling QTVideoOutputGetCurrentClientName. You can then display an alert to the user that says that the video hardware is in use and specifies the name of the software using the video hardware.
Discussion

When your software calls this function, the video output component acquires exclusive access to the video hardware controlled by the specified video output component or returns the videoOutputInUseErr result code if the video hardware is currently in use. If the video hardware is available, the video output component also enables the display mode last set with QTVideoOutputSetDisplayMode and enables the video settings, if any, that were most recently specified by the user in a custom video configuration dialog box. If the video output component supports QTVideoOutputCustomConfigureDisplay, your software can call the function to display a custom video configuration dialog box. When your software no longer needs the video output component, release it by calling QTVideoOutputEnd.
Special Considerations

If your software needs to change the display mode, it must change it before calling this function. It cannot change the display mode between calls to this function and to QTVideoOutputEnd.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputBegin (
   QTVideoOutputComponent    vo );

/*QTVideoOutputGetGWorld

Returns a pointer to the graphics world used by a video output component.

ComponentResult QTVideoOutputGetGWorld (
   QTVideoOutputComponent    vo,
   GWorldPtr                 *gw );
Parameters
vo

The instance of a video output component for this request. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
gw

A pointer to the graphics world used by the video output component to display images.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

If the pixel format of the graphics world is 1, 2, 4, 8, 16, or 32, your software can use either QuickDraw or QuickTime to draw graphics to it. If the graphics world has any other pixel format, your software must use QuickTime functions draw to it. Your software can pass the pointer returned by this function to the SetMovieGWorld, DecompressSequenceBegin, DecompressSequenceBeginS, DecompressImage, and FDecompressImage functions.

Your software can call QTVideoOutputGetGWorld only between calls to QTVideoOutputBegin and QTVideoOutputEnd. When your software calls QTVideoOutputEnd, the video output component automatically disposes of the graphics world. If your software needs to use the graphics world after calling QTVideoOutputEnd, it must call this function again after the next time it calls QTVideoOutputBegin.
Special Considerations

Your software must not dispose of the graphics world used by a video output component. The video output component automatically disposes of the graphics world when your software calls QTVideoOutputEnd.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputGetGWorld (
   QTVideoOutputComponent    vo,
   GWorldPtr                 *gw );

/*QTVideoOutputEnd

Releases access to the video hardware controlled by a video output component.

ComponentResult QTVideoOutputEnd (
   QTVideoOutputComponent    vo );
Parameters
vo

The instance of a video output component. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Your software should release access to a video output component as soon as it is done using the video hardware controlled by the component. If you close the instance of a video output component that currently has exclusive access to video hardware, the video output component automatically calls this function to release the hardware.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputEnd (
   QTVideoOutputComponent    vo );

/*XMLParseDataRef

Undocumented

ComponentResult XMLParseDataRef (
   ComponentInstance    aParser,
   Handle               dataRef,
   OSType               dataRefType,
   long                 parseFlags,
   XMLDoc               *document );
Parameters
aParser

Undocumented
dataRef

Undocumented
dataRefType

Undocumented
parseFlags

Undocumented
document

Undocumented
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 5.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult XMLParseDataRef (
   ComponentInstance    aParser,
   Handle               dataRef,
   OSType               dataRefType,
   long                 parseFlags,
   XMLDoc               *document );

/*MovieImportDataRef

Undocumented

ComponentResult MovieImportDataRef (
   MovieImportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType,
   Movie                   theMovie,
   Track                   targetTrack,
   Track                   *usedTrack,
   TimeValue               atTime,
   TimeValue               *addedDuration,
   long                    inFlags,
   long                    *outFlags );
Parameters
ci

A movie import component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
dataRef

The data reference to the data to be imported.
dataRefType

The type of data reference in the dataRef parameter.
theMovie

A movie identifier. Your application obtains this identifier from such functions as NewMovie, NewMovieFromFile, and NewMovieFromHandle.
targetTrack

Undocumented
usedTrack

Undocumented
atTime

Undocumented
addedDuration

Undocumented
inFlags

Flags (see below) that control the behavior of this function. See these constants: 
movieImportCreateTrack
movieImportInParallel
movieImportMustUseTrack
movieImportWithIdle
outFlags

Flags (see below) that this function sets on return. See these constants: 
movieImportResultUsedMultipleTracks
movieImportResultNeedIdles
movieImportResultComplete
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieImportDataRef (
   MovieImportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType,
   Movie                   theMovie,
   Track                   targetTrack,
   Track                   *usedTrack,
   TimeValue               atTime,
   TimeValue               *addedDuration,
   long                    inFlags,
   long                    *outFlags );

/*XMLParseDisposeXMLDoc

Undocumented

ComponentResult XMLParseDisposeXMLDoc (
   ComponentInstance    aParser,
   XMLDoc               document );
Parameters
aParser

Undocumented
document

Undocumented
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 5.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult XMLParseDisposeXMLDoc (
   ComponentInstance    aParser,
   XMLDoc               document );

/*DataHSetDataRefWithAnchor

Sets the data reference and anchor data reference for a data handler.

ComponentResult DataHSetDataRefWithAnchor (
   DataHandler    dh,
   Handle         anchorDataRef,
   OSType         dataRefType,
   Handle         dataRef );
Parameters
dh

A data handler component.
anchorDataRef

A handle to the anchor data reference.
dataRefType

The type of the data reference. Different types of containers may require different types of data references. For example, a reference to a memory-based movie may be a handle, while a reference to a file-based movie may be an alias. Apple's memory-based data handler for the Macintosh uses handles (and has a subtype value of 'hndl'), while the HFS data handler uses Alias Manager aliases (its subtype value is 'alis'). See Data References.
dataRef

A data reference handle. Your component should make a copy of its current data reference in a handle and return that handle in this field. The client program is responsible for disposing of that handle.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHSetDataRefWithAnchor (
   DataHandler    dh,
   Handle         anchorDataRef,
   OSType         dataRefType,
   Handle         dataRef );

/*DataHGetDataRefAsType

Retrieves a data handler component's current data reference of a given type.

ComponentResult DataHGetDataRefAsType (
   DataHandler    dh,
   OSType         requestedType,
   Handle         *dataRef );
Parameters
dh

A data handler component.
requestedType

The type of the data reference to retrieve; see Data References.
dataRef

A pointer to a data reference handle. Your component should make a copy of its current data reference in a handle and return that handle in this field. The client program is responsible for disposing of that handle. Different types of containers may require different types of data references. For example, a reference to a memory-based movie may be a handle, while a reference to a file-based movie may be an alias. Apple's memory-based data handler for the Macintosh uses handles (and has a subtype value of 'hndl'), while the HFS data handler uses Alias Manager aliases (its subtype value is 'alis'). See Data References.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHGetDataRefAsType (
   DataHandler    dh,
   OSType         requestedType,
   Handle         *dataRef );

/*XMLParseAddElement

Undocumented

ComponentResult XMLParseAddElement (
   ComponentInstance    aParser,
   char                 *elementName,
   UInt32               nameSpaceID,
   UInt32               *elementID,
   long                 elementFlags );
Parameters
aParser

Undocumented
elementName

Undocumented
nameSpaceID

Undocumented
elementID

Undocumented
elementFlags

Undocumented
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 5.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult XMLParseAddElement (
   ComponentInstance    aParser,
   char                 *elementName,
   UInt32               nameSpaceID,
   UInt32               *elementID,
   long                 elementFlags );

/*XMLParseAddAttributeAndValue

Undocumented

ComponentResult XMLParseAddAttributeAndValue (
   ComponentInstance    aParser,
   UInt32               elementID,
   UInt32               nameSpaceID,
   char                 *attributeName,
   UInt32               *attributeID,
   UInt32               attributeValueKind,
   void                 *attributeValueKindInfo );
Parameters
aParser

Undocumented
elementID

Undocumented
nameSpaceID

Undocumented
attributeName

Undocumented
attributeID

Undocumented
attributeValueKind

Undocumented
attributeValueKindInfo

Undocumented
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 5.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult XMLParseAddAttributeAndValue (
   ComponentInstance    aParser,
   UInt32               elementID,
   UInt32               nameSpaceID,
   char                 *attributeName,
   UInt32               *attributeID,
   UInt32               attributeValueKind,
   void                 *attributeValueKindInfo );

/*XMLParseAddAttribute

Undocumented

ComponentResult XMLParseAddAttribute (
   ComponentInstance    aParser,
   UInt32               elementID,
   UInt32               nameSpaceID,
   char                 *attributeName,
   UInt32               *attributeID );
Parameters
aParser

Undocumented
elementID

Undocumented
nameSpaceID

Undocumented
attributeName

Undocumented
attributeID

Undocumented
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 5.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult XMLParseAddAttribute (
   ComponentInstance    aParser,
   UInt32               elementID,
   UInt32               nameSpaceID,
   char                 *attributeName,
   UInt32               *attributeID );

/*SCDefaultPictFileSettings

Derives default compression settings for a Picture structure that is stored in a file.

ComponentResult SCDefaultPictFileSettings (
   ComponentInstance    ci,
   short                srcRef,
   short                motion );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
srcRef

A reference to the file to be analyzed.
motion

Specifies whether the image is part of a sequence. Set this parameter to TRUE if the image is part of a sequence; set it to FALSE if you are working with a single still image.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCDefaultPictFileSettings (
   ComponentInstance    ci,
   short                srcRef,
   short                motion );

/*SCCompressPictureFile

Compresses a Picture structure that is stored in a file.

ComponentResult SCCompressPictureFile (
   ComponentInstance    ci,
   short                srcRefNum,
   short                dstRefNum );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
srcRefNum

A reference to the file to be compressed.
dstRefNum

A reference to the file that is to receive the compressed data. This may be the same as the source file. The standard dialog component places the compressed image data into the file identified by this reference. Your application is responsible for this file after the compression operation.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCCompressPictureFile (
   ComponentInstance    ci,
   short                srcRefNum,
   short                dstRefNum );

/*SCSetTestImagePictFile

Sets the dialog box's test image from a Picture structure that is stored in a picture file.

ComponentResult SCSetTestImagePictFile (
   ComponentInstance    ci,
   short                testFileRef,
   Rect                 *testRect,
   short                testFlags );
Parameters
ci

Identifies your application's connection to a standard image-compression dialog component. You obtain this identifier from OpenDefaultComponent.
testFileRef

Identifies the file that contains the new test image. Your application is responsible for opening this file before calling this function. You must also close the file when you are done with it. You must clear the image or close your connection to the standard image-compression dialog component before you close the file. If the file contains a large image, the component may take some time to display the standard image-compression dialog box. In this case, the component displays the watch cursor while it loads the test image.
testRect

A pointer to a Rect structure. This rectangle specifies, in the coordinate system of the source image, the area of interest or point of interest in the test image. The area of interest defines a portion of the test image that is to be shown to the user in the dialog box. Use this parameter to direct the component to a specific portion of the test image. The component uses the value of the testFlags parameter to determine how it transforms large images before displaying them to the user.
testFlags

Constants (see below) that specify how the component is to display a test image that is larger than the test image portion of the dialog box. If you set this parameter to 0, the component uses a default method of its own choosing. In all cases, the component centers the area or point of interest in the test image portion of the dialog box, and then displays some part of the test image. See these constants: 
scPreferCropping
scPreferScaling
scPreferScalingAndCropping
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SCSetTestImagePictFile (
   ComponentInstance    ci,
   short                testFileRef,
   Rect                 *testRect,
   short                testFlags );

/*MovieExportToDataRef

Allows an application to request that data be exported to a data reference instead of to a file.

ComponentResult MovieExportToDataRef (
   MovieExportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   TimeValue               startTime,
   TimeValue               duration );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
dataRef

A handle to a data reference indicating where the data should be stored.
dataRefType

The type of the data reference. For exporting to a file, the dataRef is a Macintosh file alias and the dataRefType is rAliasType.
theMovie

The movie for this operation. This movie identifier is supplied by the Movie Toolbox. Your component may use this identifier to obtain sample data from the movie or to obtain information about the movie.
onlyThisTrack

Identifies a track that is to be converted. This track identifier is supplied by the Movie Toolbox. If this parameter contains a track identifier, your component must convert only the specified track.
startTime

The starting point of the track or movie segment to be converted. This time value is expressed in the movie's time coordinate system.
duration

The duration of the track or movie segment to be converted. This duration value is expressed in the movie's time coordinate system.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportToDataRef (
   MovieExportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   TimeValue               startTime,
   TimeValue               duration );

/*MovieExportSetProgressProc

Assigns a movie progress function.

ComponentResult MovieExportSetProgressProc (
   MovieExportComponent    ci,
   MovieProgressUPP        proc,
   long                    refcon );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
proc

A pointer to the application's MovieProgressProc callback. If this parameter is set to NIL, the application is removing its progress function. In this case, your component should stop calling the progress function.
refcon

A reference constant. Your component should pass this constant back to the application's progress function whenever you call that function. Use this parameter to point to a data structure containing any information the callback needs.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

These progress functions must support the same interface as Movie Toolbox progress functions. Note that this interface not only allows you to report progress to the application, but also allows the application to cancel the request.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportSetProgressProc (
   MovieExportComponent    ci,
   MovieProgressUPP        proc,
   long                    refcon );

/*DataHSetDataRef

Assigns a data reference to your data handler component.

ComponentResult DataHSetDataRef (
   DataHandler    dh,
   Handle         dataRef );
Parameters
dh

Identifies the calling program's connection to your data handler component.
dataRef

The data reference. This parameter contains a handle to the information that identifies the container in question. Different types of containers may require different types of data references. For example, a reference to a memory-based movie may be a handle, while a reference to a file-based movie may be an alias. For example, Apple's memory-based data handler for the Macintosh uses handles (and has a subtype value of 'hndl'), while the HFS data handler uses Alias Manager aliases (its subtype value is 'alis'). The client program is responsible for disposing of the handle, so your component must make a copy of it. See Data References.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function allows your application to assign your data handler's current data reference. All data handler components use data references to identify and locate a movie's container. Client programs can correlate data references with data handlers by matching the component's subtype value with the data reference type; the subtype value indicates the type of data reference the component supports. All data handlers with the same subtype value must support the same data reference type.
Special Considerations

Note that the type of data reference always corresponds to the type that your component supports, and that you specify in the component subtype value of your data handler. As a result, the client program does not provide a data reference type value (unlike the Movie Toolbox's data reference functions).
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHSetDataRef (
   DataHandler    dh,
   Handle         dataRef );

/*DataHOpenForRead

Opens a data handler's current data reference for read-only access.

ComponentResult DataHOpenForRead (
   DataHandler    dh );
Parameters
dh

Identifies the calling program's connection to your data handler component.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

After setting your component's current data reference by calling DataHSetDataRef, client programs call DataHOpenForRead to start reading from the data reference. Your component should open the data reference for read-only access. If the data reference is already open or cannot be opened, return an appropriate error code. As is the case with DataHScheduleData, your component calls the application's data-handler completion function when you are done with the write request.
Special Considerations

Note that the Movie Toolbox may try to read data from a data reference without calling your component's DataHOpenForRead function. If this happens, your component should open the data reference for read-only access, respond to the read request, and then leave the data reference open in anticipation of later read requests. 
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHOpenForRead (
   DataHandler    dh );

/*DataHCloseForWrite

Closes write-only access to its data reference.

ComponentResult DataHCloseForWrite (
   DataHandler    dh );
Parameters
dh

Identifies the calling program's connection to your data handler component.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Data handlers provide two distinct write facilities: DataHPutData is a simple synchronous interface that allows applications to append data to the end of a container, and DataHWrite is a more capable, asynchronous write function that is suitable for movie capture operations. Before writing data to a data reference, applications must call your component's DataHOpenForWrite function to open a write path to the container. DataHCloseForWrite closes that write path. As is the case with DataHScheduleData, your component calls the application's data-handler completion function when you are done with the write request.
Special Considerations

A client program may close its connection to your component (by calling CloseComponent) without closing the write path. If this happens, your component should close the data reference before closing the connection. Note that some data handlers may not support write operations. For example, some shared devices, such as a CD-ROM "jukebox," may be read-only devices. As a result, it is very important that your data handler correctly report its write capabilities to client programs.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHCloseForWrite (
   DataHandler    dh );

/*DisposeDataHCompletionUPP

Disposes of a DataHCompletionUPP pointer.

void DisposeDataHCompletionUPP (
   DataHCompletionUPP    userUPP );
Parameters
userUPP

A DataHCompletionUPP pointer. See Universal Procedure Pointers.
Return Value

You can access this function's error returns through GetMoviesError and GetMoviesStickyError.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
void DisposeDataHCompletionUPP (
   DataHCompletionUPP    userUPP );

/*DataHCloseForRead

Closes read-only access to its data reference.

ComponentResult DataHCloseForRead (
   DataHandler    dh );
Parameters
dh

Identifies the calling program's connection to your data handler component.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Data handler components provide two basic read facilities: DataHGetData function is a fully synchronous read operation, while DataHScheduleData is asynchronous. Applications provide scheduling information when they call your component's DataHScheduleData function. When your component processes the queued request, it calls the application's data-handler completion function. Before any application can read data from a data reference, it must open read access to that reference by calling your component's DataHOpenForRead function. DataHCloseForRead closes that read access path.
Special Considerations

Note that a client program may close its connection to your component (by calling CloseComponent) without closing the read path. If this happens, your component should close the data reference before closing the connection.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHCloseForRead (
   DataHandler    dh );

/*DataHReadAsync

Undocumented

ComponentResult DataHReadAsync (
   DataHandler           dh,
   void                  *dataPtr,
   UInt32                dataSize,
   const wide            *dataOffset,
   DataHCompletionUPP    completion,
   long                  refCon );
Parameters
dh

A data handler component.
dataPtr

Undocumented
dataSize

Undocumented
dataOffset

Undocumented
completion

A pointer to a data-handler completion callback, described in DataHCompletionProc.
refCon

A reference constant to be passed to your callback. Use this parameter to point to a data structure containing any information your function needs.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 4.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHReadAsync (
   DataHandler           dh,
   void                  *dataPtr,
   UInt32                dataSize,
   const wide            *dataOffset,
   DataHCompletionUPP    completion,
   long                  refCon );

/*DataHGetFileSize

Returns the size, in bytes, of the current data reference.

ComponentResult DataHGetFileSize (
   DataHandler    dh,
   long           *fileSize );
Parameters
dh

Identifies the calling program's connection to your data handler component.
fileSize

A pointer to a long integer. Your component returns the size of the container corresponding to the current data reference, in bytes.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function is operationally equivalent to the Mac OS File Manager's GetEOF function. Before writing data to a data reference, applications must call your component's DataHOpenForWrite function to open a write path to the container. DataHCloseForWrite closes that write path. As is the case with DataHScheduleData, your component calls the application's data-handler completion function when you are done with the write request.
Special Considerations

Note that some data handlers may not support write operations. For example, some shared devices, such as a CD-ROM "jukebox," may be read-only devices. As a result, it is very important that your data handler correctly report its write capabilities to client programs.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHGetFileSize (
   DataHandler    dh,
   long           *fileSize );

/*DataHOpenForWrite

Opens your component's current data reference for write-only access.

ComponentResult DataHOpenForWrite (
   DataHandler    dh );
Parameters
dh

Identifies the calling program's connection to your data handler component.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

After setting your component's current data reference by calling DataHSetDataRef, client programs call DataHOpenForWrite to start writing to the data reference. Your component should open the data reference for write-only access. If the data reference is already open or cannot be opened, return an appropriate error code. As is the case with DataHScheduleData, your component calls the application's data-handler completion function when you are done with the write request.
Special Considerations

Note that some data handlers may not support write operations. For example, some shared devices, such as a CD-ROM "jukebox," may be read-only devices. As a result, it is very important that your data handler correctly report its write capabilities to client programs.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHOpenForWrite (
   DataHandler    dh );

/*NewDataHCompletionUPP

Allocates a Universal Procedure Pointer for the DataHCompletionProc callback.

DataHCompletionUPP NewDataHCompletionUPP (
   DataHCompletionProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewDataHCompletionProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
DataHCompletionUPP NewDataHCompletionUPP (
   DataHCompletionProcPtr    userRoutine );

/*DataHWrite

Writes data to its current data reference.

ComponentResult DataHWrite (
   DataHandler           dh,
   Ptr                   data,
   long                  offset,
   long                  size,
   DataHCompletionUPP    completion,
   long                  refCon );
Parameters
dh

Identifies the calling program's connection to your data handler component.
data

Specifies a pointer to the data to be written. Client programs should lock the memory area holding this data, allowing your component's DataHWrite function to move memory.
offset

The offset (in bytes) to the location in the current data reference at which to write the data.
size

The number of bytes to write.
completion

A pointer to a data-handler completion function, described in DataHCompletionProc. The client program must provide a completion routine for all asynchronous write requests. For synchronous requests, client programs should set this parameter to NIL. When your data handler finishes with the client program's write request, your component must call this routine even if the request fails. Your component should pass the reference constant that the client program provided with the refCon parameter.
refCon

A reference constant that your data handler component should provide to the data-handler completion function specified with the completion parameter. For synchronous operations, client programs should set this parameter to 0.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function provides both a synchronous and an asynchronous write interface. Synchronous write operations work like the DataHPutData function; the data handler component returns control to the client program only after it has serviced the write request. Asynchronous write operations allow client programs to queue write requests. Your data handler queues the request and immediately returns control to the calling program. After your component actually writes the data, it calls the client program's data-handler completion function.
Special Considerations

Note that some data handlers may not support write operations. For example, some shared devices, such as a CD-ROM "jukebox," may be read-only devices. As a result, it is very important that your data handler correctly report its write capabilities to client programs.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHWrite (
   DataHandler           dh,
   Ptr                   data,
   long                  offset,
   long                  size,
   DataHCompletionUPP    completion,
   long                  refCon );

/*TCGetDisplayOptions

Retrieves the text characteristics that apply to timecode information displayed in a movie.

HandlerError TCGetDisplayOptions (
   MediaHandler        mh,
   TCTextOptionsPtr    textOptions );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
textOptions

A pointer to a TCTextOptions structure. This structure will receive font and style information.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCGetDisplayOptions (
   MediaHandler        mh,
   TCTextOptionsPtr    textOptions );

/*TCSetSourceRef

Changes the source information in the timecode media sample reference.

HandlerError TCSetSourceRef (
   MediaHandler                 mh,
   TimeCodeDescriptionHandle    tcdH,
   UserData                     srefH );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
tcdH

Specifies a handle containing the timecode media sample reference that is to be updated.
srefH

Specifies a handle to the source information to be placed in the sample reference as a UserDataRecord structure. It is your application's responsibility to dispose of this structure when you are done with it.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCSetSourceRef (
   MediaHandler                 mh,
   TimeCodeDescriptionHandle    tcdH,
   UserData                     srefH );

/*TCTimeCodeToFrameNumber

Converts a timecode time value into its corresponding frame number.

HandlerError TCTimeCodeToFrameNumber (
   MediaHandler      mh,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec,
   long              *frameNumber );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
tcdef

A pointer to the TimeCodeDef structure to use for the conversion.
tcrec

A pointer to the TimeCodeRecord structure containing the time value to convert.
frameNumber

A pointer to a field that is to receive the frame number that corresponds to the time value in the tcrec parameter.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCTimeCodeToFrameNumber (
   MediaHandler      mh,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec,
   long              *frameNumber );

/*TCSetTimeCodeFlags

Changes the flag that affects how the toolbox handles timecode information.

HandlerError TCSetTimeCodeFlags (
   MediaHandler    mh,
   long            flags,
   long            flagsMask );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
flags

The new flag value. See these constants: 
tcdfShowTimeCode
flagsMask

Specifies which of the flag values are to change. The media handler modifies only those flag values that correspond to bits that are set to 1 in this parameter. Use the flag values from the flags parameter. To turn off timecode display, set the tcdfShowTimeCode flag to 1 in the flagsMask parameter and to 0 in the flags parameter.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCSetTimeCodeFlags (
   MediaHandler    mh,
   long            flags,
   long            flagsMask );

/*TCTimeCodeToString

Converts a time value into a text string (HH:MM:SS:FF).

HandlerError TCTimeCodeToString (
   MediaHandler      mh,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec,
   StringPtr         tcStr );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
tcdef

A pointer to the TimeCodeDef structure to use for the conversion.
tcrec

A pointer to the TimeCodeRecord structure to use for the conversion.
tcStr

A pointer to a text string that is to receive the converted time value.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

If the timecode uses the dropframe technique, the separators are semicolons (;) rather than colons (:).
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCTimeCodeToString (
   MediaHandler      mh,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec,
   StringPtr         tcStr );

/*TCFrameNumberToTimeCode

Converts a frame number into its corresponding timecode time value.

HandlerError TCFrameNumberToTimeCode (
   MediaHandler      mh,
   long              frameNumber,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
frameNumber

The frame number that is to be converted.
tcdef

A pointer to the TimeCodeDef structure to use for the conversion.
tcrec

A pointer to the TimeCodeRecord structure that is to receive the time value.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCFrameNumberToTimeCode (
   MediaHandler      mh,
   long              frameNumber,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec );

/*TCGetTimeCodeAtTime

Returns a track's timecode information corresponding to a specific media time.

HandlerError TCGetTimeCodeAtTime (
   MediaHandler      mh,
   TimeValue         mediaTime,
   long              *frameNum,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcdata,
   UserData          *srcRefH );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
mediaTime

A time value for which you want to retrieve timecode information. This time value is expressed in the media's time coordinate system.
frameNum

A pointer to a field that is to receive the current frame number. Set this field to NIL if you don't want to retrieve the frame number.
tcdef

A pointer to a TimeCodeDef structure. The media handler returns the movie's timecode definition information. Set this parameter to NIL if you don't want this information.
tcdata

A pointer to a TimeCodeRecord structure. The media handler returns the current time value. Set this parameter to NIL if you don't want this information.
srcRefH

A pointer to a field that is to receive a handle containing the source information as a UserDataRecord structure. It is your responsibility to dispose of this structure when you are done with it. Set this field to NIL if you don't want this information.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCGetTimeCodeAtTime (
   MediaHandler      mh,
   TimeValue         mediaTime,
   long              *frameNum,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcdata,
   UserData          *srcRefH );

/*MovieExportToFile

Exports data to a file, using a movie data export component.

ComponentResult MovieExportToFile (
   MovieExportComponent    ci,
   const FSSpec            *theFile,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   TimeValue               startTime,
   TimeValue               duration );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
theFile

A pointer to the file that is to receive the converted movie data. This file's type value corresponds to your component's subtype value.
theMovie

The movie for this operation. This movie identifier is supplied by the Movie Toolbox. Your component may use this identifier to obtain sample data from the movie or to obtain information about the movie.
onlyThisTrack

Identifies a track that is to be converted. This track identifier is supplied by the Movie Toolbox. If this parameter contains a track identifier, your component must convert only the specified track.
startTime

The starting point of the track or movie segment to be converted. This time value is expressed in the movie's time coordinate system.
duration

The duration of the track or movie segment to be converted. This duration value is expressed in the movie's time coordinate system.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The requesting program or Movie Toolbox must create the destination file before calling this function. Furthermore, your component may not destroy any data in the destination file. If you cannot add data to the specified file, return an appropriate error. If your component can write data to a file, be sure to set the canMovieExportFiles flag in the componentFlags field of your component's ComponentDescription structure. Here is an example of using this function with a flattener component:// MovieExportToFile coding example
ComponentDescription desc;
Component flattener;
ComponentInstance qtvrExport =NIL;
desc.componentType =MovieExportType;
desc.componentSubType =MovieFileType;
desc.componentManufacturer =QTVRFlattenerType;
flattener =FindNextComponent(NIL, &desc);
if (flattener) qtvrExport =OpenComponent (flattener);
if (qtvrExport)
    MovieExportToFile (qtvrExport, &myFileSpec, myQTVRMovie, NIL, 0, 0);

Special Considerations

Your component must be prepared to perform this function at any time. You should not expect that any of your component's configuration functions will be called first.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieExportToFile (
   MovieExportComponent    ci,
   const FSSpec            *theFile,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   TimeValue               startTime,
   TimeValue               duration );

/*DataCodecGetCompressBufferSize

Returns the maximum possible size of the compressed data that will be returned using the specified compressor component.

ComponentResult DataCodecGetCompressBufferSize (
   DataCodecComponent    dc,
   UInt32                srcSize,
   UInt32                *dstSize );
Parameters
dc

The compressor component to used.
srcSize

The size in bytes of the data being compressed.
dstSize

A pointer to the maximum size of the compressed data that will be returned.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

The actual size of the compressed data will likely be smaller than the size you initially have to allocate, so after you compress the data you should shrink the compressed data handle down to the actual data size. When compressing a movie, allocate an extra ten 32-bit integers of space to store the compressed movie resource header information, as shown in the following code sample:unsigned long compressedSize;
Handle compressedData;
DataCodecGetCompressBufferSize(dataCompressor, movieResourceSize, &compressedSize);
compressedData =NewHandle(compressedSize + (10 * sizeof(UInt32)));

Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataCodecGetCompressBufferSize (
   DataCodecComponent    dc,
   UInt32                srcSize,
   UInt32                *dstSize );

/*DataCodecCompress

Compresses data using the specified compressor component.

ComponentResult DataCodecCompress (
   DataCodecComponent    dc,
   void                  *srcData,
   UInt32                srcSize,
   void                  *dstData,
   UInt32                dstBufferSize,
   UInt32                *actualDstSize,
   UInt32                *decompressSlop );
Parameters
dc

The compressor component to used.
srcData

A pointer to the data to be compressed.
srcSize

The size of the data to be compressed, in bytes.
dstData

A pointer to the buffer in which to store the compressed data.
dstBufferSize

The size of the buffer in which to store the compressed data, in bytes.
actualDstSize

The size of the compressed data that was created, in bytes.
decompressSlop

The number of bytes that should be added to the decompression buffer size if decompression occurs in place.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Before calling this function, you should call DataCodecGetCompressBufferSize to obtain the maximum possible size of the compressed data that will be returned. You can then use this value as the value of the dstBufferSize parameter. Note that a buffer for compressed data that is the same size as the uncompressed data may not be large enough: in some cases, the size of the compressed data can be larger than the size of the decompressed data. When you compress data, you should store the size of data before compression at the beginning of the file, immediately before the compressed data. This allows you to obtain the size of the decompressed data and allocate the buffer for storing the decompressed data before calling DataCodecDecompress.
Special Considerations

You can compress sprites by calling this function. If you do, you must include the uncompressed size of the sample at the beginning of the sample, before the compressed data, and store the component subtype of the data compressor used to compress the sprite in the decompressorType field of the sample's SpriteDescription structure. You can also compress QuickDraw 3D media samples by calling this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataCodecCompress (
   DataCodecComponent    dc,
   void                  *srcData,
   UInt32                srcSize,
   void                  *dstData,
   UInt32                dstBufferSize,
   UInt32                *actualDstSize,
   UInt32                *decompressSlop );

/*TCGetTimeCodeFlags

Retrieves the timecode control flags.

HandlerError TCGetTimeCodeFlags (
   MediaHandler    mh,
   long            *flags );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
flags

A pointer to a field that is to receive a control flag (see below). See these constants: 
tcdfShowTimeCode
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCGetTimeCodeFlags (
   MediaHandler    mh,
   long            *flags );

/*TCSetDisplayOptions

Sets the text characteristics that apply to timecode information displayed in a movie.

HandlerError TCSetDisplayOptions (
   MediaHandler        mh,
   TCTextOptionsPtr    textOptions );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
textOptions

A pointer to a TCTextOptions structure. This structure contains font and style information.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCSetDisplayOptions (
   MediaHandler        mh,
   TCTextOptionsPtr    textOptions );

/*TCGetCurrentTimeCode

Retrieves the timecode and source identification information for the current movie time.

HandlerError TCGetCurrentTimeCode (
   MediaHandler      mh,
   long              *frameNum,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec,
   UserData          *srcRefH );
Parameters
mh

The timecode media handler. You obtain this identifier by calling GetMediaHandler.
frameNum

A pointer to a field that is to receive the current frame number. Set this field to NIL if you don't want to retrieve the frame number.
tcdef

A pointer to a TimeCodeDef structure. The media handler returns the movie's timecode definition information. Set this parameter to NIL if you don't want this information.
tcrec

A pointer to a TimeCodeRecord structure. The media handler returns the current time value. Set this parameter to NIL if you don't want this information.
srcRefH

A pointer to a field that is to receive a handle containing the source information as a UserDataRecord structure. It is your responsibility to dispose of this structure when you are done with it. Set this field to NIL if you don't want this information.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
HandlerError TCGetCurrentTimeCode (
   MediaHandler      mh,
   long              *frameNum,
   TimeCodeDef       *tcdef,
   TimeCodeRecord    *tcrec,
   UserData          *srcRefH );

/*QTVideoOutputGetIndSoundOutput

Determines which sound output components are associated with the video output component.

ComponentResult QTVideoOutputGetIndSoundOutput (
   QTVideoOutputComponent    vo,
   long                      index,
   Component                 *outputComponent );
Parameters
vo

The instance of a video output component for this request. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
index

Specifies which of the sound output components to return. The index of the first component is 1.
outputComponent

A pointer to a sound output component associated with the video output component that is specified by the index parameter.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Your software can display sound output components returned by this function in a dialog box and let the user choose which outputs to use for movie playback.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputGetIndSoundOutput (
   QTVideoOutputComponent    vo,
   long                      index,
   Component                 *outputComponent );

/*QTVideoOutputGetClock

Returns a pointer to the clock component associated with the video output component.

ComponentResult QTVideoOutputGetClock (
   QTVideoOutputComponent    vo,
   ComponentInstance         *clock );
Parameters
vo

The instance of a video output component for this request. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
clock

A pointer to the clock component associated with the video output component.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Your software can use the clock component returned by this function to synchronize video and sound for a movie to the rate of the display. To associate the instance of the clock component with a movie, call SetMovieMasterClock. Because a change to the display mode could affect a clock component, your software should call this function only between calls to QTVideoOutputBegin and QTVideoOutputEnd, when it is not possible to change the display mode.
Special Considerations

When your software calls QTVideoOutputEnd, the video output component disposes of the instance of the clock component returned by this function. Because of this, software that uses the clock to control a movie must reset the clock for the movie to the default clock, by calling SetMovieMasterClock with NIL as the value of the clock component, before calling QTVideoOutputEnd.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputGetClock (
   QTVideoOutputComponent    vo,
   ComponentInstance         *clock );

/*QTVideoOutputSetEchoPort

Specifies a window on the desktop in which to display video sent to the device.

ComponentResult QTVideoOutputSetEchoPort (
   QTVideoOutputComponent    vo,
   CGrafPtr                  echoPort );
Parameters
vo

The instance of a video output component for this request. Your software obtains this reference when calling OpenComponent or OpenDefaultComponent.
echoPort

The window on the computer's desktop in which to display the video.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

When your software sends video to the window you specify, the video is both displayed in the window and sent to the normal output of the video output device. When an output device can display video both on an external video display and in a window on a computer's desktop, the video displayed on the desktop is often at a smaller size and/or lower frame rate.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult QTVideoOutputSetEchoPort (
   QTVideoOutputComponent    vo,
   CGrafPtr                  echoPort );

/*MovieImportSetMediaDataRef

Specifies a storage location that is to receive imported movie data.

ComponentResult MovieImportSetMediaDataRef (
   MovieImportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType );
Parameters
ci

The component instance that identifies your connection to the graphics importer component.
dataRef

A data reference that specifies a storage location that receives the imported data.
dataRefType

The type of the data reference.
Return Value

See Error Codes in the QuickTime API Reference. Returns noErr if there is no error.
Discussion

By calling this function you can specify a storage location that receives some imported movie data.
Version Notes

Introduced in QuickTime 6.4.
Availability
Available in Mac OS X v10.3 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieImportSetMediaDataRef (
   MovieImportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType );

/*MovieImportValidateDataRef

Validates the data file indicated by the data reference.

ComponentResult MovieImportValidateDataRef (
   MovieImportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType,
   UInt8                   *valid );
Parameters
ci

A movie data import component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
dataRef

The data reference to the file to be validated.
dataRefType

The type of data reference for the dataRef parameter.
valid

A pointer to a UInt8 value. If the data or file cannot be imported, the value returned should be 0. Otherwise, it should be set to 128.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Movie import components can implement this function to allow applications to determine if a given file referenced by a data reference is acceptable for a particular import component. The data reference can refer to any data for which there is a suitable data handler component installed and available to QuickTime. As this function may be called on many files, the validation process should be as fast as possible. Furthermore, the importer should probably limit the amount of reading it performs, especially when the data handler refers to data on the Internet.
Special Considerations

Unlike MovieImportValidate, the valid parameter for this function is a value that can be interpreted as the degree to which the importer can interpret the file's contents. In all cases, returning 0 indicates the file cannot be interpreted by the importer. However, other non-zero values can be used to determine the relative weighting between multiple importers that can import a particular kind of file. For now, it is best to return either 0 or 128 only.
Version Notes

Introduced in QuickTime 4.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult MovieImportValidateDataRef (
   MovieImportComponent    ci,
   Handle                  dataRef,
   OSType                  dataRefType,
   UInt8                   *valid );

/*DataHScheduleData

Reads data from its current data reference, which can be a synchronous read operation or an asynchronous read operation.

ComponentResult DataHScheduleData (
   DataHandler           dh,
   Ptr                   PlaceToPutDataPtr,
   long                  FileOffset,
   long                  DataSize,
   long                  RefCon,
   DataHSchedulePtr      scheduleRec,
   DataHCompletionUPP    CompletionRtn );
Parameters
dh

Identifies the calling program's connection to your data handler component.
PlaceToPutDataPtr

The location in memory that is to receive the data.
FileOffset

The offset in the data reference from which your component is to read.
DataSize

The number of bytes to read.
RefCon

A reference constant that your data handler component should provide to the data-handler completion function specified with the CompletionRtn parameter.
scheduleRec

A pointer to a DataHScheduleRecord. If this parameter is set to NIL, then the client program is requesting a synchronous read operation (that is, your data handler must return the data before returning control to the client program). If this parameter is not set to NIL, it must contain the location of a schedule record that has timing information for an asynchronous read request. Your data handler should return control to the client program immediately, and then call the client's data-handler completion function when the data is ready.
CompletionRtn

A pointer to a data handler completion function, described in DataHCompletionProc. The client program must provide a completion routine for all asynchronous read requests (that is, all requests that include a valid schedule record). For synchronous requests, client programs should set this parameter to NIL. However, if the function is provided, your handler must call it, even after synchronous requests. When your data handler finishes with the client program's read request, your component must call this routine even if the request fails. Your component should pass the reference constant that the client program provided with the RefCon parameter.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function provides both a synchronous and an asynchronous read interface. Synchronous read operations work like the DataHGetData function; the data handler component returns control to the client program only after it has serviced the read request. Asynchronous read operations allow client programs to schedule read requests in the context of a specified QuickTime time base. Your data handler queues the request and immediately returns control to the calling program. After your component actually reads the data, it calls the client program's data-handler completion function. If your component cannot satisfy the request (for example, the request requires data more quickly than you can deliver it), your component should reject the request immediately, rather than queuing the request and then calling the client's data-handler completion function.typedef struct DataHScheduleRecord {
                    TimeRecord timeNeededBy; // schedule info *
                    long     extendedID; // type of data 
                    long     extendedVers; // reserved 
                    Fixed   priority;  //priority 
                    } DataHScheduleRecord, *DataHSchedulePtr;

Special Considerations

Note that the Movie Toolbox may try to read data from a data reference without calling your component's DataHOpenForRead function. If this happens, your component should open the data reference for read-only access, respond to the read request, and then leave the data reference open in anticipation of later read requests.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHScheduleData (
   DataHandler           dh,
   Ptr                   PlaceToPutDataPtr,
   long                  FileOffset,
   long                  DataSize,
   long                  RefCon,
   DataHSchedulePtr      scheduleRec,
   DataHCompletionUPP    CompletionRtn );

/*SGSetChannelMatrix

Sets a channel's display transformation matrix.

ComponentResult SGSetChannelMatrix (
   SGChannel             c,
   const MatrixRecord    *m );

Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
m

A pointer to a MatrixRecord structure. This parameter is set to NIL to select the identity matrix.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetChannelMatrix (
   SGChannel             c,
   const MatrixRecord    *m );

/*SGGetChannelClip

Retrieves a channel's clipping region.

ComponentResult SGGetChannelClip (
   SGChannel    c,
   RgnHandle    *theClip );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
theClip

A pointer to a handle that is to receive a MacRegion structure that defines the clipping region. The application is responsible for disposing of this handle. If there is no clipping region, set this handle to NIL.
Return Value

See Error Codes. Returns noErr if there is no error.
Special Considerations

Note that some devices may not support clipping.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelClip (
   SGChannel    c,
   RgnHandle    *theClip );

/*SGGetChannelMatrix

Retrieves a channel's display transformation matrix.

ComponentResult SGGetChannelMatrix (
   SGChannel       c,
   MatrixRecord    *m );
Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
m

A pointer to a MatrixRecord structure. Place your current matrix values into this structure.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetChannelMatrix (
   SGChannel       c,
   MatrixRecord    *m );

/*SGSetChannelClip

Sets a channel's clipping region.

ComponentResult SGSetChannelClip (
   SGChannel    c,
   RgnHandle    theClip );

Parameters
c

The connection identifier for the channel for this operation. You get this value from SGNewChannel or SGNewChannelFromComponent.
theClip

A handle to the new clipping region. You should make a copy of this region; the application may dispose of the region immediately.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGSetChannelClip (
   SGChannel    c,
   RgnHandle    theClip );

/*SGAddMovieData

Lets a channel component add data to a movie.

ComponentResult SGAddMovieData (
   SeqGrabComponent    s,
   SGChannel           c,
   Ptr                 p,
   long                len,
   long                *offset,
   long                chRefCon,
   TimeValue           time,
   short               writeType );
Parameters
s

An instance of the sequence grabber component connected to your channel component. The sequence grabber component provides this value through SGInitChannel.
c

Identifies the connection to your channel.
p

The location of the data to be added to the movie.
len

Indicates the number of bytes of data to be added to the movie.
offset

A pointer to a field that is to receive the offset to the new data in the movie. The sequence grabber component returns an offset that is correct in the context of the movie resource, even if the movie is currently stored in memory. That is, if the movie is in memory, the returned offset reflects the location that the data will have in a movie on a permanent storage device, such as a disk.
chRefCon

Your channel's reference constant.
time

The time at which your channel captured the frame. This time value is expressed in your channel's time scale.
writeType

A constant (see below) that determines the type of write operation to be used. See these constants: 
seqGrabWriteAppend
seqGrabWriteReserve
seqGrabWriteFill

Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function combines the services provided by SGWriteMovieData and SGAddFrameReference. Your channel component should not write data directly to the movie file; use this function instead.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGAddMovieData (
   SeqGrabComponent    s,
   SGChannel           c,
   Ptr                 p,
   long                len,
   long                *offset,
   long                chRefCon,
   TimeValue           time,
   short               writeType );

/*SGGetNextFrameReference

Lets a channel component retrieve the sample references that were stored by calling SGAddMovieData or SGAddFrameReference.

ComponentResult SGGetNextFrameReference (
   SeqGrabComponent       s,
   SeqGrabFrameInfoPtr    frameInfo,
   TimeValue              *frameDuration,
   long                   *frameNumber );

Parameters
s

The component instance that identifies your connection to the sequence grabber component. You obtain this value from OpenDefaultComponent or OpenComponent.
frameInfo

A pointer to a SeqGrabFrameInfo structure. Your component must identify itself to the sequence grabber component by setting the frameChannel field of this structure to the component instance that identifies the current connection to your channel. You get this value from SGNewChannel or SGNewChannelFromComponent. The sequence grabber component then returns information about the specified frame in the remaining fields of this structure.
frameDuration

A pointer to a time value. The sequence grabber component calculates the duration of the specified frame and returns that duration in the structure referred to by this parameter. The sequence grabber component cannot calculate the duration of the last frame in a sequence. In this case, the sequence grabber component sets the returned time value to -1.
frameNumber

A pointer to a long integer. Your channel component specifies the frame number corresponding to the frame about which you want to retrieve information. Frames are numbered starting at 0. However, frame numbers need not start at 0, and they need not be sequential. Set the integer to -1 to retrieve information about the first frame in a movie.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGetNextFrameReference (
   SeqGrabComponent       s,
   SeqGrabFrameInfoPtr    frameInfo,
   TimeValue              *frameDuration,
   long                   *frameNumber );

/*VDGetDigitizerInfo

Returns capability and status information about a specified video digitizer component.

VideoDigitizerError VDGetDigitizerInfo (
   VideoDigitizerComponent    ci,
   DigitizerInfo              *info );
Parameters
ci

The video digitizer component for the request. Applications obtain this reference from OpenComponent or OpenDefaultComponent.
info

A pointer to a DigitizerInfo structure. The function returns information describing the capabilities of the specified video digitizer into this structure.
Return Value

See Error Codes. Returns noErr if there is no error.
Special Considerations

All video digitizer components must support this function.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

VideoDigitizerError VDGetDigitizerInfo (
   VideoDigitizerComponent    ci,
   DigitizerInfo              *info );

/*SGGrabFrameComplete

Provides the default behavior for your grab-complete function.

ComponentResult SGGrabFrameComplete (
   SGChannel    c,
   short        bufferNum,
   Boolean      *done );
Parameters
c

The reference that identifies the channel for this operation. The sequence grabber provides this value to your grab-complete function.
bufferNum

Identifies the buffer. The sequence grabber provides this value to your grab-complete function.
done

A pointer to a Boolean value. The function sets this value to TRUE if the capture is complete, and sets it to FALSE if the capture is incomplete. The sequence grabber provides this pointer to your grab-complete function.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult SGGrabFrameComplete (
   SGChannel    c,
   short        bufferNum,
   Boolean      *done );

/*NewSGGrabCompleteBottleUPP

Allocates a Universal Procedure Pointer for the SGGrabCompleteBottleProc callback.

SGGrabCompleteBottleUPP NewSGGrabCompleteBottleUPP (
   SGGrabCompleteBottleProcPtr    userRoutine );
Parameters
userRoutine

A pointer to your application-defined function.
Return Value

A new UPP; see Universal Procedure Pointers.
Discussion

This function is used with Macintosh PowerPC systems. See Inside Macintosh: PowerPC System Software.
Version Notes

Introduced in QuickTime 4.1. Replaces NewSGGrabCompleteBottleProc.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

    #define NewSGGrabCompleteBottleProc(userRoutine)            NewSGGrabCompleteBottleUPP(userRoutine)

SGGrabCompleteBottleUPP NewSGGrabCompleteBottleUPP (
   SGGrabCompleteBottleProcPtr    userRoutine );


/*DataHCreateFile

Creates a new container that meets the specifications of the current data reference.

ComponentResult DataHCreateFile (
   DataHandler    dh,
   OSType         creator,
   Boolean        deleteExisting );

Parameters
dh

Identifies the calling program's connection to your data handler component.
creator

The creator type of the new container. If the client program sets this parameter to 0, your component should choose a reasonable value (for example, 'TV0D', the creator type for Apple's movie player).
deleteExisting

Indicates whether to delete any existing data. If this parameter is set to TRUE and a container already exists for the current data reference, your component should delete that data before creating the new container. If this parameter is set to FALSE, your component should preserve any data that resides in the container defined by the current data reference (if there is any).
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

Data handlers provide two distinct write facilities: DataHPutData is a simple synchronous interface that allows applications to append data to the end of a container, while DataHWrite is a more capable, asynchronous write function that is suitable for movie capture operations. As is the case with DataHScheduleData, your component calls the application's data-handler completion function when you are done with the write request.
Special Considerations

Note that some data handlers may not support write operations. For example, some shared devices, such as a CD-ROM "jukebox," may be read-only devices. As a result, it is very important that your data handler correctly report its write capabilities to client programs.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHCreateFile (
   DataHandler    dh,
   OSType         creator,
   Boolean        deleteExisting );

/*DataHSetMacOSFileType

Sets the Mac OS file type for a data handler's current data reference.

ComponentResult DataHSetMacOSFileType (
   DataHandler    dh,
   OSType         fileType );

Parameters
dh

A data handler component.
fileType

A file type; see File Types and Creators.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHSetMacOSFileType (
   DataHandler    dh,
   OSType         fileType );

/*MovieExportValidate

Determines whether a movie export component can export all the data for a specified movie or track.

ComponentResult MovieExportValidate (
   MovieExportComponent    ci,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   Boolean                 *valid );
Parameters
ci

A movie export component instance. Your software obtains this reference from OpenComponent or OpenDefaultComponent.
theMovie

The movie to validate.
onlyThisTrack

A track within the movie to validate, or NIL if the entire movie is to be validated.
valid

A pointer to a Boolean value. If the data for the movie or track can be exported by the component, the value is TRUE.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function allows an application to determine if a particular movie or track could be exported by the specified movie data export component. The movie or track is passed in the theMovie and onlyThisTrack parameters as they are passed to MovieExportToFile. Although a movie export component can export one or more media types, it may not be able to export all the kinds of data stored in those media. The MovieExportValidate function allows applications to get this additional information. Movie data export components that implement this function also set the canMovieExportValidateMovie flag in in the componentFlags field of their ComponentDescription structure.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult MovieExportValidate (
   MovieExportComponent    ci,
   Movie                   theMovie,
   Track                   onlyThisTrack,
   Boolean                 *valid );

/*GraphicsImageImportSetSequenceEnabled

Undocumented

ComponentResult GraphicsImageImportSetSequenceEnabled (
   GraphicImageMovieImportComponent    ci,
   Boolean                             enable );

Parameters
ci

The component instance that identifies your connection to the movie importer component.
enable

Pass TRUE to enable, FALSE to disable.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/

ComponentResult GraphicsImageImportSetSequenceEnabled (
   GraphicImageMovieImportComponent    ci,
   Boolean                             enable );

/*DisposeSCModalHookUPP

Disposes of an SCModalHookUPP pointer.

void DisposeSCModalHookUPP (
   SCModalHookUPP    userUPP );

Parameters
userUPP

An SCModalHookUPP pointer. See Universal Procedure Pointers.
Return Value

You can access this function's error returns through GetMoviesError and GetMoviesStickyError.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
void DisposeSCModalHookUPP (
   SCModalHookUPP    userUPP );

/*DisposeSCModalFilterUPP

Disposes of an SCModalFilterUPP pointer.

void DisposeSCModalFilterUPP (
   SCModalFilterUPP    userUPP );
Parameters
userUPP

An SCModalFilterUPP pointer. See Universal Procedure Pointers.
Return Value

You can access this function's error returns through GetMoviesError and GetMoviesStickyError.
Version Notes

Introduced in QuickTime 4.1.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
void DisposeSCModalFilterUPP (
   SCModalFilterUPP    userUPP );

/*DataHTask

Cedes processor time to your data handler.

ComponentResult DataHTask (
   DataHandler    dh );
Parameters
dh

Identifies the calling program's connection to your data handler component.
Return Value

See Error Codes. Returns noErr if there is no error.
Discussion

This function is essentially analogous to the Movie Toolbox's MoviesTask function. Client programs call this function in order to give your data handler component time to do its work. Because client programs will call this function frequently, and especially so during movie playback or capture, your data handler should return control quickly to the client program.
Special Considerations

Applications should call this function often so that your handler has enough time to do its work.
Version Notes

Introduced in QuickTime 3 or earlier.
Availability
Available in Mac OS X v10.0 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHTask (
   DataHandler    dh );

/*DataHDeleteFile

Deletes a data handler's data storage file.

ComponentResult DataHDeleteFile (
   DataHandler    dh );
Parameters
dh

A data handler component.
Return Value

See Error Codes. Returns noErr if there is no error.
Version Notes

Introduced in QuickTime 6.
Availability
Available in Mac OS X v10.2 and later.
Declared In
QuickTimeComponents.h*/
ComponentResult DataHDeleteFile (
   DataHandler    dh );


#ifdef __cplusplus
}
#endif


#endif