QuickTimeComponents.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:297k
- EXTERN_API( ComponentResult )
- DataHSetFileSize64 (DataHandler dh,
- const wide * fileSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0032, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetFreeSpace64 (DataHandler dh,
- wide * freeSize) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0033, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHAppend64 (DataHandler dh,
- void * data,
- wide * fileOffset,
- unsigned long size) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0034, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHReadAsync (DataHandler dh,
- void * dataPtr,
- UInt32 dataSize,
- const wide * dataOffset,
- DataHCompletionUPP completion,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0035, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHPollRead (DataHandler dh,
- void * dataPtr,
- UInt32 * dataSizeSoFar) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetDataAvailability (DataHandler dh,
- long offset,
- long len,
- long * missing_offset,
- long * missing_len) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0037, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetFileSizeAsync (DataHandler dh,
- wide * fileSize,
- DataHCompletionUPP completionRtn,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetDataRefAsType (DataHandler dh,
- OSType requestedType,
- Handle * dataRef) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003B, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHSetDataRefExtension (DataHandler dh,
- Handle extension,
- OSType idType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003C, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetDataRefExtension (DataHandler dh,
- Handle * extension,
- OSType idType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x003D, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetMovieWithFlags (DataHandler dh,
- Movie * theMovie,
- short * id,
- short flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x003E, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetFileTypeOrdering (DataHandler dh,
- DataHFileTypeOrderingHandle * orderingListHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0040, 0x7000, 0xA82A);
- /* flags for DataHCreateFileWithFlags*/
- enum {
- kDataHCreateFileButDontCreateResFile = (1L << 0)
- };
- EXTERN_API( ComponentResult )
- DataHCreateFileWithFlags (DataHandler dh,
- OSType creator,
- Boolean deleteExisting,
- UInt32 flags) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0041, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetMIMETypeAsync (DataHandler dh,
- Str255 mimeType,
- DataHCompletionUPP completionRtn,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0042, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetInfo (DataHandler dh,
- OSType what,
- void * info) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0043, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHSetIdleManager (DataHandler dh,
- IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0044, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHDeleteFile (DataHandler dh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0045, 0x7000, 0xA82A);
- enum {
- kDataHMovieUsageDoAppendMDAT = 1L << 0 /* if set, datahandler should append wide and mdat atoms in append call*/
- };
- EXTERN_API( ComponentResult )
- DataHSetMovieUsageFlags (DataHandler dh,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0046, 0x7000, 0xA82A);
- enum {
- kDataHTempUseSameDirectory = 1L << 0, /* temp data ref should be in same directory as current data ref (vs. in temporary directory)*/
- kDataHTempUseSameVolume = 1L << 1, /* temp data ref should be on same volume as current data ref (vs. find "best" volume)*/
- kDataHTempCreateFile = 1L << 2, /* create the file*/
- kDataHTempOpenFile = 1L << 3 /* open temporary file for write (kDataHTempCreateFile must be passed, too)*/
- };
- EXTERN_API( ComponentResult )
- DataHUseTemporaryDataRef (DataHandler dh,
- long inFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHGetTemporaryDataRefCapabilities (DataHandler dh,
- long * outUnderstoodFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHRenameFile (DataHandler dh,
- Handle newDataRef) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0049, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHPlaybackHints (DataHandler dh,
- long flags,
- unsigned long minFileOffset,
- unsigned long maxFileOffset,
- long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0103, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- DataHPlaybackHints64 (DataHandler dh,
- long flags,
- const wide * minFileOffset,
- const wide * maxFileOffset,
- long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010E, 0x7000, 0xA82A);
- /* Symbolic constants for DataHGetDataRate*/
- enum {
- kDataHGetDataRateInfiniteRate = 0x7FFFFFFF /* all the data arrived instantaneously*/
- };
- EXTERN_API( ComponentResult )
- DataHGetDataRate (DataHandler dh,
- long flags,
- long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0110, 0x7000, 0xA82A);
- /* Flags for DataHSetTimeHints*/
- enum {
- kDataHSetTimeHintsSkipBandwidthRequest = 1 << 0 /* set if this data handler should use the network without requesting bandwidth*/
- };
- EXTERN_API( ComponentResult )
- DataHSetTimeHints (DataHandler dh,
- long flags,
- long bandwidthPriority,
- TimeScale scale,
- TimeValue minTime,
- TimeValue maxTime) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0111, 0x7000, 0xA82A);
- /* Standard type for video digitizers */
- enum {
- videoDigitizerComponentType = FOUR_CHAR_CODE('vdig'),
- vdigInterfaceRev = 2
- };
- /* Input Format Standards */
- enum {
- ntscIn = 0, /* current input format */
- currentIn = 0, /* ntsc input format */
- palIn = 1, /* pal input format */
- secamIn = 2, /* secam input format */
- ntscReallyIn = 3 /* ntsc input format */
- };
- /* Input Formats */
- enum {
- compositeIn = 0, /* input is composite format */
- sVideoIn = 1, /* input is sVideo format */
- rgbComponentIn = 2, /* input is rgb component format */
- rgbComponentSyncIn = 3, /* input is rgb component format (sync on green?)*/
- yuvComponentIn = 4, /* input is yuv component format */
- yuvComponentSyncIn = 5, /* input is yuv component format (sync on green?) */
- tvTunerIn = 6,
- sdiIn = 7
- };
- /* Video Digitizer PlayThru States */
- enum {
- vdPlayThruOff = 0,
- vdPlayThruOn = 1
- };
- /* Input Color Space Modes */
- enum {
- vdDigitizerBW = 0, /* black and white */
- vdDigitizerRGB = 1 /* rgb color */
- };
- /* Phase Lock Loop Modes */
- enum {
- vdBroadcastMode = 0, /* Broadcast / Laser Disk video mode */
- vdVTRMode = 1 /* VCR / Magnetic media mode */
- };
- /* Field Select Options */
- enum {
- vdUseAnyField = 0, /* Digitizers choice on field use */
- vdUseOddField = 1, /* Use odd field for half size vert and smaller */
- vdUseEvenField = 2 /* Use even field for half size vert and smaller */
- };
- /* vdig types */
- 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) */
- };
- /* Digitizer Input Capability/Current Flags */
- 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 */
- };
- /* Digitizer Output Capability/Current Flags */
- 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 */
- };
- /* Types */
- typedef ComponentInstance VideoDigitizerComponent;
- typedef ComponentResult VideoDigitizerError;
- struct DigitizerInfo {
- short vdigType;
- long inputCapabilityFlags;
- long outputCapabilityFlags;
- long inputCurrentFlags;
- long outputCurrentFlags;
- short slot; /* temporary for connection purposes */
- GDHandle gdh; /* temporary for digitizers that have preferred screen */
- GDHandle maskgdh; /* temporary for digitizers that have mask planes */
- short minDestHeight; /* Smallest resizable height */
- short minDestWidth; /* Smallest resizable width */
- short maxDestHeight; /* Largest resizable height */
- short maxDestWidth; /* Largest resizable width */
- short blendLevels; /* Number of blend levels supported (2 if 1 bit mask) */
- long reserved; /* reserved */
- };
- typedef struct DigitizerInfo DigitizerInfo;
- struct VdigType {
- long digType;
- long reserved;
- };
- typedef struct VdigType VdigType;
- struct VdigTypeList {
- short count;
- VdigType list[1];
- };
- typedef struct VdigTypeList VdigTypeList;
- struct VdigBufferRec {
- PixMapHandle dest;
- Point location;
- long reserved;
- };
- typedef struct VdigBufferRec VdigBufferRec;
- struct VdigBufferRecList {
- short count;
- MatrixRecordPtr matrix;
- RgnHandle mask;
- VdigBufferRec list[1];
- };
- typedef struct VdigBufferRecList VdigBufferRecList;
- typedef VdigBufferRecList * VdigBufferRecListPtr;
- typedef VdigBufferRecListPtr * VdigBufferRecListHandle;
- typedef CALLBACK_API( void , VdigIntProcPtr )(long flags, long refcon);
- typedef STACK_UPP_TYPE(VdigIntProcPtr) VdigIntUPP;
- struct VDCompressionList {
- CodecComponent codec;
- CodecType cType;
- Str63 typeName;
- Str63 name;
- long formatFlags;
- long compressFlags;
- long reserved;
- };
- typedef struct VDCompressionList VDCompressionList;
- typedef VDCompressionList * VDCompressionListPtr;
- typedef VDCompressionListPtr * VDCompressionListHandle;
- enum {
- dmaDepth1 = 1,
- dmaDepth2 = 2,
- dmaDepth4 = 4,
- dmaDepth8 = 8,
- dmaDepth16 = 16,
- dmaDepth32 = 32,
- dmaDepth2Gray = 64,
- dmaDepth4Gray = 128,
- dmaDepth8Gray = 256
- };
- enum {
- kVDIGControlledFrameRate = -1
- };
- EXTERN_API( VideoDigitizerError )
- VDGetMaxSrcRect (VideoDigitizerComponent ci,
- short inputStd,
- Rect * maxSrcRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0001, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetActiveSrcRect (VideoDigitizerComponent ci,
- short inputStd,
- Rect * activeSrcRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetDigitizerRect (VideoDigitizerComponent ci,
- Rect * digitizerRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetDigitizerRect (VideoDigitizerComponent ci,
- Rect * digitizerRect) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetVBlankRect (VideoDigitizerComponent ci,
- short inputStd,
- Rect * vBlankRect) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0005, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetMaskPixMap (VideoDigitizerComponent ci,
- PixMapHandle maskPixMap) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetPlayThruDestination (VideoDigitizerComponent ci,
- PixMapHandle * dest,
- Rect * destRect,
- MatrixRecord * m,
- RgnHandle * mask) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0008, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDUseThisCLUT (VideoDigitizerComponent ci,
- CTabHandle colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetInputGammaValue (VideoDigitizerComponent ci,
- Fixed channel1,
- Fixed channel2,
- Fixed channel3) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000A, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetInputGammaValue (VideoDigitizerComponent ci,
- Fixed * channel1,
- Fixed * channel2,
- Fixed * channel3) FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetBrightness (VideoDigitizerComponent ci,
- unsigned short * brightness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetBrightness (VideoDigitizerComponent ci,
- unsigned short * brightness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetContrast (VideoDigitizerComponent ci,
- unsigned short * contrast) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetHue (VideoDigitizerComponent ci,
- unsigned short * hue) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetSharpness (VideoDigitizerComponent ci,
- unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetSaturation (VideoDigitizerComponent ci,
- unsigned short * saturation) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetContrast (VideoDigitizerComponent ci,
- unsigned short * contrast) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetHue (VideoDigitizerComponent ci,
- unsigned short * hue) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetSharpness (VideoDigitizerComponent ci,
- unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetSaturation (VideoDigitizerComponent ci,
- unsigned short * saturation) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGrabOneFrame (VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetMaxAuxBuffer (VideoDigitizerComponent ci,
- PixMapHandle * pm,
- Rect * r) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetDigitizerInfo (VideoDigitizerComponent ci,
- DigitizerInfo * info) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetCurrentFlags (VideoDigitizerComponent ci,
- long * inputCurrentFlag,
- long * outputCurrentFlag) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetKeyColor (VideoDigitizerComponent ci,
- long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetKeyColor (VideoDigitizerComponent ci,
- long * index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDAddKeyColor (VideoDigitizerComponent ci,
- long * index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetNextKeyColor (VideoDigitizerComponent ci,
- long index) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetKeyColorRange (VideoDigitizerComponent ci,
- RGBColor * minRGB,
- RGBColor * maxRGB) FIVEWORDINLINE(0x2F3C, 0x0008, 0x001F, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetKeyColorRange (VideoDigitizerComponent ci,
- RGBColor * minRGB,
- RGBColor * maxRGB) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetDigitizerUserInterrupt (VideoDigitizerComponent ci,
- long flags,
- VdigIntUPP userInterruptProc,
- long refcon) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0021, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetInputColorSpaceMode (VideoDigitizerComponent ci,
- short colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0022, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetInputColorSpaceMode (VideoDigitizerComponent ci,
- short * colorSpaceMode) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetClipState (VideoDigitizerComponent ci,
- short clipEnable) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0024, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetClipState (VideoDigitizerComponent ci,
- short * clipEnable) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetClipRgn (VideoDigitizerComponent ci,
- RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDClearClipRgn (VideoDigitizerComponent ci,
- RgnHandle clipRegion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetCLUTInUse (VideoDigitizerComponent ci,
- CTabHandle * colorTableHandle) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetPLLFilterType (VideoDigitizerComponent ci,
- short pllType) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0029, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetPLLFilterType (VideoDigitizerComponent ci,
- short * pllType) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetMaskandValue (VideoDigitizerComponent ci,
- unsigned short blendLevel,
- long * mask,
- long * value) FIVEWORDINLINE(0x2F3C, 0x000A, 0x002B, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetMasterBlendLevel (VideoDigitizerComponent ci,
- unsigned short * blendLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetPlayThruDestination (VideoDigitizerComponent ci,
- PixMapHandle dest,
- RectPtr destRect,
- MatrixRecordPtr m,
- RgnHandle mask) FIVEWORDINLINE(0x2F3C, 0x0010, 0x002D, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetPlayThruOnOff (VideoDigitizerComponent ci,
- short state) FIVEWORDINLINE(0x2F3C, 0x0002, 0x002E, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetFieldPreference (VideoDigitizerComponent ci,
- short fieldFlag) FIVEWORDINLINE(0x2F3C, 0x0002, 0x002F, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetFieldPreference (VideoDigitizerComponent ci,
- short * fieldFlag) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDPreflightDestination (VideoDigitizerComponent ci,
- Rect * digitizerRect,
- PixMap ** dest,
- RectPtr destRect,
- MatrixRecordPtr m) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0032, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDPreflightGlobalRect (VideoDigitizerComponent ci,
- GrafPtr theWindow,
- Rect * globalRect) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetPlayThruGlobalRect (VideoDigitizerComponent ci,
- GrafPtr theWindow,
- Rect * globalRect) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetInputGammaRecord (VideoDigitizerComponent ci,
- VDGamRecPtr inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetInputGammaRecord (VideoDigitizerComponent ci,
- VDGamRecPtr * inputGammaPtr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0036, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetBlackLevelValue (VideoDigitizerComponent ci,
- unsigned short * blackLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetBlackLevelValue (VideoDigitizerComponent ci,
- unsigned short * blackLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetWhiteLevelValue (VideoDigitizerComponent ci,
- unsigned short * whiteLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0039, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetWhiteLevelValue (VideoDigitizerComponent ci,
- unsigned short * whiteLevel) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetVideoDefaults (VideoDigitizerComponent ci,
- unsigned short * blackLevel,
- unsigned short * whiteLevel,
- unsigned short * brightness,
- unsigned short * hue,
- unsigned short * saturation,
- unsigned short * contrast,
- unsigned short * sharpness) FIVEWORDINLINE(0x2F3C, 0x001C, 0x003B, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetNumberOfInputs (VideoDigitizerComponent ci,
- short * inputs) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetInputFormat (VideoDigitizerComponent ci,
- short input,
- short * format) FIVEWORDINLINE(0x2F3C, 0x0006, 0x003D, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetInput (VideoDigitizerComponent ci,
- short input) FIVEWORDINLINE(0x2F3C, 0x0002, 0x003E, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetInput (VideoDigitizerComponent ci,
- short * input) FIVEWORDINLINE(0x2F3C, 0x0004, 0x003F, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetInputStandard (VideoDigitizerComponent ci,
- short inputStandard) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0040, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetupBuffers (VideoDigitizerComponent ci,
- VdigBufferRecListHandle bufferList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0041, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGrabOneFrameAsync (VideoDigitizerComponent ci,
- short buffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0042, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDDone (VideoDigitizerComponent ci,
- short buffer) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0043, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetCompression (VideoDigitizerComponent ci,
- OSType compressType,
- short depth,
- Rect * bounds,
- CodecQ spatialQuality,
- CodecQ temporalQuality,
- long keyFrameRate) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0044, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDCompressOneFrameAsync (VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0045, 0x7000, 0xA82A);
- /* Note that UInt8* queuedFrameCount replaces Boolean* done. 0(==false) still means no frames, and 1(==true) one,
- but if more than one are available the number should be returned here. The value 2 previously meant more than one frame,
- so some VDIGs may return 2 even if more than 2 are available, and some will still return 1 as they are using the original definition */
- EXTERN_API( VideoDigitizerError )
- VDCompressDone (VideoDigitizerComponent ci,
- UInt8 * queuedFrameCount,
- Ptr * theData,
- long * dataSize,
- UInt8 * similarity,
- TimeRecord * t) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0046, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDReleaseCompressBuffer (VideoDigitizerComponent ci,
- Ptr bufferAddr) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetImageDescription (VideoDigitizerComponent ci,
- ImageDescriptionHandle desc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDResetCompressSequence (VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0049, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetCompressionOnOff (VideoDigitizerComponent ci,
- Boolean state) FIVEWORDINLINE(0x2F3C, 0x0002, 0x004A, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetCompressionTypes (VideoDigitizerComponent ci,
- VDCompressionListHandle h) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004B, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetTimeBase (VideoDigitizerComponent ci,
- TimeBase t) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004C, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetFrameRate (VideoDigitizerComponent ci,
- Fixed framesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004D, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetDataRate (VideoDigitizerComponent ci,
- long * milliSecPerFrame,
- Fixed * framesPerSecond,
- long * bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x000C, 0x004E, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetSoundInputDriver (VideoDigitizerComponent ci,
- Str255 soundDriverName) FIVEWORDINLINE(0x2F3C, 0x0004, 0x004F, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetDMADepths (VideoDigitizerComponent ci,
- long * depthArray,
- long * preferredDepth) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0050, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetPreferredTimeScale (VideoDigitizerComponent ci,
- TimeScale * preferred) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0051, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDReleaseAsyncBuffers (VideoDigitizerComponent ci) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0052, 0x7000, 0xA82A);
- /* 83 is reserved for compatibility reasons */
- EXTERN_API( VideoDigitizerError )
- VDSetDataRate (VideoDigitizerComponent ci,
- long bytesPerSecond) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0054, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetTimeCode (VideoDigitizerComponent ci,
- TimeRecord * atTime,
- void * timeCodeFormat,
- void * timeCodeTime) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0055, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDUseSafeBuffers (VideoDigitizerComponent ci,
- Boolean useSafeBuffers) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0056, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetSoundInputSource (VideoDigitizerComponent ci,
- long videoInput,
- long * soundInput) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0057, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetCompressionTime (VideoDigitizerComponent ci,
- OSType compressionType,
- short depth,
- Rect * srcRect,
- CodecQ * spatialQuality,
- CodecQ * temporalQuality,
- unsigned long * compressTime) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0058, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetPreferredPacketSize (VideoDigitizerComponent ci,
- long preferredPacketSizeInBytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0059, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetPreferredImageDimensions (VideoDigitizerComponent ci,
- long width,
- long height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005A, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetPreferredImageDimensions (VideoDigitizerComponent ci,
- long * width,
- long * height) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005B, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDGetInputName (VideoDigitizerComponent ci,
- long videoInput,
- Str255 name) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005C, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDSetDestinationPort (VideoDigitizerComponent ci,
- CGrafPtr destPort) FIVEWORDINLINE(0x2F3C, 0x0004, 0x005D, 0x7000, 0xA82A);
- /*
- The following call is designed to give the VDIG a little more control over how it is presented to the User, to clarify the
- distinction between Devices and Inputs. Historically, the assumption has been that there is one component registered per device
- and the component name is displayed. This change lets a component choose its name after registration.
- vdDeviceFlagShowInputsAsDevices is meant for components that register once and support multiple devices
- The UI is clearer if these are presented as device rather than inputs,
- and this allows a VDIG to present itself this way without huge restructuring
- vdDeviceFlagHideDevice is for the kind of VDIG that registers itself, and then can register a further VDIG for each device.
- If no hardware is available, returning this flag will omit it from the list.
- This call being made 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 on every launch or replug.
- */
- enum {
- vdDeviceFlagShowInputsAsDevices = (1 << 0), /* Tell the Panel to promote Inputs to Devices*/
- vdDeviceFlagHideDevice = (1 << 1) /* Omit this Device entirely from the list*/
- };
- EXTERN_API( VideoDigitizerError )
- VDGetDeviceNameAndFlags (VideoDigitizerComponent ci,
- Str255 outName,
- UInt32 * outNameFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x005E, 0x7000, 0xA82A);
- enum {
- vdFlagCaptureStarting = (1 << 0), /* Capture is about to start; allocate bandwidth */
- vdFlagCaptureStopping = (1 << 1), /* Capture is about to stop; stop queuing frames*/
- vdFlagCaptureIsForPreview = (1 << 2), /* Capture is just to screen for preview purposes*/
- vdFlagCaptureIsForRecord = (1 << 3), /* Capture is going to be recorded*/
- vdFlagCaptureLowLatency = (1 << 4), /* Fresh frames are more important than delivering every frame - don't queue too much*/
- vdFlagCaptureAlwaysUseTimeBase = (1 << 5), /* Use the timebase for every frame; don't worry about making durations uniform*/
- vdFlagCaptureSetSettingsBegin = (1 << 6), /* A series of calls are about to be made to restore settings.*/
- vdFlagCaptureSetSettingsEnd = (1 << 7) /* Finished restoring settings; any set calls after this are from the app or UI*/
- };
- EXTERN_API( VideoDigitizerError )
- VDCaptureStateChanging (VideoDigitizerComponent ci,
- UInt32 inStateFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x005F, 0x7000, 0xA82A);
- /*
- These UniqueID calls are so that the VDIG can give the SG information enabling it to restore a particular
- configuration - choose a particular device and input from those available.
- For example, restoring the specific camera for a set of several hot-plugged FireWire cameras
- the caller can pass nil if it is not interested in one of the IDs
- returning 0 in an ID means you don't have one
- */
- EXTERN_API( VideoDigitizerError )
- VDGetUniqueIDs (VideoDigitizerComponent ci,
- UInt64 * outDeviceID,
- UInt64 * outInputID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0060, 0x7000, 0xA82A);
- /*
- Note this is a 'Select' not a 'Set' - the assumption is that the Unique ID is a function of the hardware
- and not modifiable by the calling application. Either a nil pointer or 0 an the ID means don't care.
- return vdDontHaveThatUniqueIDErr if your device doesn't have a match.
- */
- EXTERN_API( VideoDigitizerError )
- VDSelectUniqueIDs (VideoDigitizerComponent ci,
- const UInt64 * inDeviceID,
- const UInt64 * inInputID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0061, 0x7000, 0xA82A);
- /*
- IIDC (Instrumentation & Industrial Digital Camera) Video Digitizers
- Video Digitizers of subtype vdSubtypeIIDC support FireWire cameras which conform to the
- "IIDC 1394-based Digital Camera Specification."
- */
- enum {
- vdSubtypeIIDC = FOUR_CHAR_CODE('iidc') /* Subtype for IIDC 1394-Digital Camera video digitizer*/
- };
- /*
- vdIIDCAtomTypeFeature
- Parent node for the QTAtoms which describe a given feature.
- */
- enum {
- vdIIDCAtomTypeFeature = FOUR_CHAR_CODE('feat')
- };
- /*
- vdIIDCAtomTypeFeatureAtomTypeAndID
- This atom describes the feature's OSType/group/name and QTAtomType & QTAtomID needed to retrieve its settings.
- The contents of this atom is a VDIIDCFeatureAtomTypeAndID structure.
- */
- enum {
- vdIIDCAtomTypeFeatureAtomTypeAndID = FOUR_CHAR_CODE('t&id'),
- vdIIDCAtomIDFeatureAtomTypeAndID = 1
- };
- struct VDIIDCFeatureAtomTypeAndID {
- OSType feature; /* OSType of feature*/
- OSType group; /* OSType of group that feature is categorized into*/
- Str255 name; /* Name of this feature*/
- QTAtomType atomType; /* Atom type which contains feature's settings*/
- QTAtomID atomID; /* Atom ID which contains feature's settings*/
- };
- typedef struct VDIIDCFeatureAtomTypeAndID VDIIDCFeatureAtomTypeAndID;
- /* IIDC Feature OSTypes*/
- enum {
- vdIIDCFeatureHue = FOUR_CHAR_CODE('hue '), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureSaturation = FOUR_CHAR_CODE('satu'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureContrast = FOUR_CHAR_CODE('ctst'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureSharpness = FOUR_CHAR_CODE('shrp'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureBlackLevel = FOUR_CHAR_CODE('blvl'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureGain = FOUR_CHAR_CODE('gain'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureIris = FOUR_CHAR_CODE('iris'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureShutter = FOUR_CHAR_CODE('shtr'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureExposure = FOUR_CHAR_CODE('xpsr'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureWhiteBalanceU = FOUR_CHAR_CODE('whbu'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureWhiteBalanceV = FOUR_CHAR_CODE('whbv'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureGamma = FOUR_CHAR_CODE('gmma'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureTemperature = FOUR_CHAR_CODE('temp'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureZoom = FOUR_CHAR_CODE('zoom'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureFocus = FOUR_CHAR_CODE('fcus'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeaturePan = FOUR_CHAR_CODE('pan '), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureTilt = FOUR_CHAR_CODE('tilt'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureOpticalFilter = FOUR_CHAR_CODE('opft'), /* Feature's settings handled by VDIIDCFeatureSettings*/
- vdIIDCFeatureTrigger = FOUR_CHAR_CODE('trgr'), /* Trigger's setttings handled by VDIIDCTriggerSettings*/
- vdIIDCFeatureCaptureSize = FOUR_CHAR_CODE('cpsz'), /* Feature's settings is not defined*/
- vdIIDCFeatureCaptureQuality = FOUR_CHAR_CODE('cpql') /* Feature's settings is not defined*/
- };
- /* IIDC Group OSTypes that features are categorized into*/
- enum {
- vdIIDCGroupImage = FOUR_CHAR_CODE('imag'), /* Feature related to camera's image*/
- vdIIDCGroupColor = FOUR_CHAR_CODE('colr'), /* Feature related to camera's color control*/
- vdIIDCGroupMechanics = FOUR_CHAR_CODE('mech'), /* Feature related to camera's mechanics*/
- vdIIDCGroupTrigger = FOUR_CHAR_CODE('trig') /* Feature related to camera's trigger*/
- };
- /*
- vdIIDCAtomTypeFeatureSettings
- This atom describes the settings for the majority of features.
- The contents of this atom is a VDIIDCFeatureSettings structure.
- */
- enum {
- vdIIDCAtomTypeFeatureSettings = FOUR_CHAR_CODE('fstg'),
- vdIIDCAtomIDFeatureSettings = 1
- };
- struct VDIIDCFeatureCapabilities {
- UInt32 flags;
- UInt16 rawMinimum;
- UInt16 rawMaximum;
- QTFloatSingle absoluteMinimum;
- QTFloatSingle absoluteMaximum;
- };
- typedef struct VDIIDCFeatureCapabilities VDIIDCFeatureCapabilities;
- struct VDIIDCFeatureState {
- UInt32 flags;
- QTFloatSingle value;
- };
- typedef struct VDIIDCFeatureState VDIIDCFeatureState;
- struct VDIIDCFeatureSettings {
- VDIIDCFeatureCapabilities capabilities;
- VDIIDCFeatureState state;
- };
- typedef struct VDIIDCFeatureSettings VDIIDCFeatureSettings;
- /*
- Flags for use in VDIIDCFeatureCapabilities.flags & VDIIDCFeatureState.flags
- When indicating capabilities, the flag being set indicates that the feature can be put into the given state.
- When indicating/setting state, the flag represents the current/desired state.
- Note that certain combinations of flags are valid for cababilities (i.e. vdIIDCFeatureFlagOn | vdIIDCFeatureFlagOff)
- but are mutally exclusive for state.
- */
- enum {
- vdIIDCFeatureFlagOn = (1 << 0),
- vdIIDCFeatureFlagOff = (1 << 1),
- vdIIDCFeatureFlagManual = (1 << 2),
- vdIIDCFeatureFlagAuto = (1 << 3),
- vdIIDCFeatureFlagTune = (1 << 4),
- vdIIDCFeatureFlagRawControl = (1 << 5),
- vdIIDCFeatureFlagAbsoluteControl = (1 << 6)
- };
- /*
- vdIIDCAtomTypeTriggerSettings
- This atom describes the settings for the trigger feature.
- The contents of this atom is a VDIIDCTriggerSettings structure.
- */
- enum {
- vdIIDCAtomTypeTriggerSettings = FOUR_CHAR_CODE('tstg'),
- vdIIDCAtomIDTriggerSettings = 1
- };
- struct VDIIDCTriggerCapabilities {
- UInt32 flags;
- QTFloatSingle absoluteMinimum;
- QTFloatSingle absoluteMaximum;
- };
- typedef struct VDIIDCTriggerCapabilities VDIIDCTriggerCapabilities;
- struct VDIIDCTriggerState {
- UInt32 flags;
- UInt16 mode2TransitionCount;
- UInt16 mode3FrameRateMultiplier;
- QTFloatSingle absoluteValue;
- };
- typedef struct VDIIDCTriggerState VDIIDCTriggerState;
- struct VDIIDCTriggerSettings {
- VDIIDCTriggerCapabilities capabilities;
- VDIIDCTriggerState state;
- };
- typedef struct VDIIDCTriggerSettings VDIIDCTriggerSettings;
- /*
- Flags for use in VDIIDCTriggerCapabilities.flags & VDIIDCTriggerState.flags
- When indicating capabilities, the flag being set indicates that the trigger can be put into the given state.
- When indicating/setting state, the flag represents the current/desired state.
- Note that certain combinations of flags are valid for cababilities (i.e. vdIIDCTriggerFlagOn | vdIIDCTriggerFlagOff)
- but are mutally exclusive for state.
- */
- enum {
- vdIIDCTriggerFlagOn = (1 << 0),
- vdIIDCTriggerFlagOff = (1 << 1),
- vdIIDCTriggerFlagActiveHigh = (1 << 2),
- vdIIDCTriggerFlagActiveLow = (1 << 3),
- vdIIDCTriggerFlagMode0 = (1 << 4),
- vdIIDCTriggerFlagMode1 = (1 << 5),
- vdIIDCTriggerFlagMode2 = (1 << 6),
- vdIIDCTriggerFlagMode3 = (1 << 7),
- vdIIDCTriggerFlagRawControl = (1 << 8),
- vdIIDCTriggerFlagAbsoluteControl = (1 << 9)
- };
- /*
- VDIIDC calls are additional calls for IIDC digitizers (vdSubtypeIIDC)
- These calls are only valid for video digitizers of subtype vdSubtypeIIDC.
- */
- EXTERN_API( VideoDigitizerError )
- VDIIDCGetFeatures (VideoDigitizerComponent ci,
- QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDIIDCSetFeatures (VideoDigitizerComponent ci,
- QTAtomContainer container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDIIDCGetDefaultFeatures (VideoDigitizerComponent ci,
- QTAtomContainer * container) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0202, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDIIDCGetCSRData (VideoDigitizerComponent ci,
- Boolean offsetFromRegisterBase,
- UInt32 offset,
- UInt32 * data) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0203, 0x7000, 0xA82A);
- EXTERN_API( VideoDigitizerError )
- VDIIDCSetCSRData (VideoDigitizerComponent ci,
- Boolean offsetFromRegisterBase,
- UInt32 offset,
- UInt32 data) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0204, 0x7000, 0xA82A);
- enum {
- xmlParseComponentType = FOUR_CHAR_CODE('pars'),
- xmlParseComponentSubType = FOUR_CHAR_CODE('xml ')
- };
- enum {
- xmlIdentifierInvalid = 0,
- xmlIdentifierUnrecognized = (long)0xFFFFFFFF,
- xmlContentTypeInvalid = 0,
- xmlContentTypeElement = 1,
- xmlContentTypeCharData = 2
- };
- enum {
- elementFlagAlwaysSelfContained = 1L << 0, /* Element doesn't have contents or closing tag even if it doesn't end with />, as in the HTML <img> tag*/
- elementFlagPreserveWhiteSpace = 1L << 1, /* Preserve whitespace in content, default is to remove it */
- xmlParseFlagAllowUppercase = 1L << 0, /* Entities and attributes do not have to be lowercase (strict XML), but can be upper or mixed case as in HTML*/
- xmlParseFlagAllowUnquotedAttributeValues = 1L << 1, /* Attributes values do not have to be enclosed in quotes (strict XML), but can be left unquoted if they contain no spaces*/
- xmlParseFlagEventParseOnly = 1L << 2 /* Do event parsing only*/
- };
- enum {
- attributeValueKindCharString = 0,
- attributeValueKindInteger = 1L << 0, /* Number*/
- attributeValueKindPercent = 1L << 1, /* Number or percent*/
- attributeValueKindBoolean = 1L << 2, /* "true" or "false"*/
- attributeValueKindOnOff = 1L << 3, /* "on" or "off"*/
- attributeValueKindColor = 1L << 4, /* Either "#rrggbb" or a color name*/
- attributeValueKindEnum = 1L << 5, /* one of a number of strings; the enum strings are passed as a zero-separated, double-zero-terminated C string in the attributeKindValueInfo param*/
- attributeValueKindCaseSensEnum = 1L << 6, /* one of a number of strings; the enum strings are passed as for attributeValueKindEnum, but the values are case-sensitive*/
- MAX_ATTRIBUTE_VALUE_KIND = attributeValueKindCaseSensEnum
- };
- enum {
- nameSpaceIDNone = 0
- };
- /* A Parsed XML attribute value, one of number/percent, boolean/on-off, color, or enumerated type*/
- union XMLAttributeValue {
- SInt32 number; /* The value when valueKind is attributeValueKindInteger or attributeValueKindPercent*/
- Boolean boolean; /* The value when valueKind is attributeValueKindBoolean or attributeValueKindOnOff*/
- RGBColor color; /* The value when valueKind is attributeValueKindColor*/
- UInt32 enumType; /* The value when valueKind is attributeValueKindEnum*/
- };
- typedef union XMLAttributeValue XMLAttributeValue;
- /* An XML attribute-value pair*/
- struct XMLAttribute {
- UInt32 identifier; /* Tokenized identifier, if the attribute name was recognized by the parser*/
- char * name; /* Attribute name, Only present if identifier == xmlIdentifierUnrecognized*/
- long valueKind; /* Type of parsed value, if the value was recognized and parsed; otherwise, attributeValueKindCharString*/
- XMLAttributeValue value; /* Parsed attribute value*/
- char * valueStr; /* Always present*/
- };
- typedef struct XMLAttribute XMLAttribute;
- typedef XMLAttribute * XMLAttributePtr;
- /* Forward struct declarations for recursively-defined tree structure*/
- typedef struct XMLContent XMLContent;
- typedef XMLContent * XMLContentPtr;
- /*
- An XML Element, i.e.
- <element attr="value" attr="value" ...> [contents] </element>
- or
- <element attr="value" attr="value" .../>
- */
- struct XMLElement {
- UInt32 identifier; /* Tokenized identifier, if the element name was recognized by the parser*/
- char * name; /* Element name, only present if identifier == xmlIdentifierUnrecognized*/
- XMLAttributePtr attributes; /* Array of attributes, terminated with an attribute with identifier == xmlIdentifierInvalid*/
- XMLContentPtr contents; /* Array of contents, terminated with a content with kind == xmlIdentifierInvalid*/
- };
- typedef struct XMLElement XMLElement;
- typedef XMLElement * XMLElementPtr;
- /*
- The content of an XML element is a series of parts, each of which may be either another element
- or simply character data.
- */
- union XMLElementContent {
- XMLElement element; /* The contents when the content kind is xmlContentTypeElement*/
- char * charData; /* The contents when the content kind is xmlContentTypeCharData*/
- };
- typedef union XMLElementContent XMLElementContent;
- struct XMLContent {
- UInt32 kind;
- XMLElementContent actualContent;
- };
- struct XMLDocRecord {
- void * xmlDataStorage; /* opaque storage*/
- XMLElement rootElement;
- };
- typedef struct XMLDocRecord XMLDocRecord;
- typedef XMLDocRecord * XMLDoc;
- /*callback routines for event parsing*/
- typedef CALLBACK_API( ComponentResult , StartDocumentHandler )(long refcon);
- typedef CALLBACK_API( ComponentResult , EndDocumentHandler )(long refcon);
- typedef CALLBACK_API( ComponentResult , StartElementHandler )(const char *name, const char *const atts[], long refcon);
- typedef CALLBACK_API( ComponentResult , EndElementHandler )(const char *name, long refcon);
- typedef CALLBACK_API( ComponentResult , CharDataHandler )(const char *charData, long refcon);
- typedef CALLBACK_API( ComponentResult , PreprocessInstructionHandler )(const char *name, const char *const atts[], long refcon);
- typedef CALLBACK_API( ComponentResult , CommentHandler )(const char *comment, long refcon);
- typedef CALLBACK_API( ComponentResult , CDataHandler )(const char *cdata, long refcon);
- typedef STACK_UPP_TYPE(StartDocumentHandler) StartDocumentHandlerUPP;
- typedef STACK_UPP_TYPE(EndDocumentHandler) EndDocumentHandlerUPP;
- typedef STACK_UPP_TYPE(StartElementHandler) StartElementHandlerUPP;
- typedef STACK_UPP_TYPE(EndElementHandler) EndElementHandlerUPP;
- typedef STACK_UPP_TYPE(CharDataHandler) CharDataHandlerUPP;
- typedef STACK_UPP_TYPE(PreprocessInstructionHandler) PreprocessInstructionHandlerUPP;
- typedef STACK_UPP_TYPE(CommentHandler) CommentHandlerUPP;
- typedef STACK_UPP_TYPE(CDataHandler) CDataHandlerUPP;
- /* Parses the XML file pointed to by dataRef, returning a XMLDoc parse tree*/
- EXTERN_API( ComponentResult )
- XMLParseDataRef (ComponentInstance aParser,
- Handle dataRef,
- OSType dataRefType,
- long parseFlags,
- XMLDoc * document) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
- /* Parses the XML file pointed to by fileSpec, returning a XMLDoc parse tree*/
- EXTERN_API( ComponentResult )
- XMLParseFile (ComponentInstance aParser,
- ConstFSSpecPtr fileSpec,
- long parseFlags,
- XMLDoc * document) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A);
- /* Disposes of a XMLDoc parse tree*/
- EXTERN_API( ComponentResult )
- XMLParseDisposeXMLDoc (ComponentInstance aParser,
- XMLDoc document) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
- /*
- Returns a more detailed description of the error and the line in which it occurred, if a
- file failed to parse properly.
- */
- EXTERN_API( ComponentResult )
- XMLParseGetDetailedParseError (ComponentInstance aParser,
- long * errorLine,
- StringPtr errDesc) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
- /*
- Tell the parser of an element to be recognized. The tokenized element unique identifier is
- passed in *elementID, unless *elementID is zero, whereupon a unique ID is generated and returned.
- Thus, a valid element identifier can never be zero.
- */
- EXTERN_API( ComponentResult )
- XMLParseAddElement (ComponentInstance aParser,
- char * elementName,
- UInt32 nameSpaceID,
- UInt32 * elementID,
- long elementFlags) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0005, 0x7000, 0xA82A);
- /*
- Tells the parser of an attribute for the specified element. The tokenized attribute unique
- ID is passed in *attributeID, unless *attributeID is zero, whereupon a unique ID is generated and
- returned. Thus, a valid attribute identifier can never be zero.
- */
- EXTERN_API( ComponentResult )
- XMLParseAddAttribute (ComponentInstance aParser,
- UInt32 elementID,
- UInt32 nameSpaceID,
- char * attributeName,
- UInt32 * attributeID) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0006, 0x7000, 0xA82A);
- /*
- Tells the parser of several attributes for the specified element. The attributes are passed
- as a zero-delimited, double-zero-terminated C string in attributeNames, and the attribute
- IDs are passed in on attributeIDs as an array; if any attributeIDs are zero, unique IDs
- are generated for those and returned
- */
- EXTERN_API( ComponentResult )
- XMLParseAddMultipleAttributes (ComponentInstance aParser,
- UInt32 elementID,
- UInt32 * nameSpaceIDs,
- char * attributeNames,
- UInt32 * attributeIDs) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0007, 0x7000, 0xA82A);
- /*
- Tells the parser of an attribute, which may have a particular type of value, for the
- specified element. Params are as in XMLParseAddAttribute, plus all the kinds of values
- the attribute may have are passed in attributeValueKind, and optional additional information
- required to tokenize the particular kind of attribute is passed in attributeValueKindInfo
- */
- EXTERN_API( ComponentResult )
- XMLParseAddAttributeAndValue (ComponentInstance aParser,
- UInt32 elementID,
- UInt32 nameSpaceID,
- char * attributeName,
- UInt32 * attributeID,
- UInt32 attributeValueKind,
- void * attributeValueKindInfo) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0008, 0x7000, 0xA82A);
- /*
- Tells the parser of several attributes, which may have a particular type of value, for the
- specified element. Params are as in XMLParseAddMultipleAttributes, plus all the kinds of values
- the attributes may have are passed in attributeValueKinds, and optional additional information
- required to tokenize the particular kind of attributes is passed in attributeValueKindInfos
- */
- EXTERN_API( ComponentResult )
- XMLParseAddMultipleAttributesAndValues (ComponentInstance aParser,
- UInt32 elementID,
- UInt32 * nameSpaceIDs,
- char * attributeNames,
- UInt32 * attributeIDs,
- UInt32 * attributeValueKinds,
- void ** attributeValueKindInfos) FIVEWORDINLINE(0x2F3C, 0x0018, 0x0009, 0x7000, 0xA82A);
- /*
- Tells the parser that the particular attribute may have an additional kind of
- value, as specified by attributeValueKind and attributeValueKindInfo
- */
- EXTERN_API( ComponentResult )
- XMLParseAddAttributeValueKind (ComponentInstance aParser,
- UInt32 elementID,
- UInt32 attributeID,
- UInt32 attributeValueKind,
- void * attributeValueKindInfo) FIVEWORDINLINE(0x2F3C, 0x0010, 0x000A, 0x7000, 0xA82A);
- /*
- Tell the parser of a namespace to be recognized. The tokenized namespace unique identifier is
- passed in *nameSpaceID, unless *nameSpaceID is zero, whereupon a unique ID is generated and returned.
- Thus, a valid nameSpaceID identifier can never be zero.
- */
- EXTERN_API( ComponentResult )
- XMLParseAddNameSpace (ComponentInstance aParser,
- char * nameSpaceURL,
- UInt32 * nameSpaceID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000B, 0x7000, 0xA82A);
- /* Specifies the offset and limit for reading from the dataref to be used when parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetOffsetAndLimit (ComponentInstance aParser,
- UInt32 offset,
- UInt32 limit) FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
- /* Set the event parse refcon*/
- EXTERN_API( ComponentResult )
- XMLParseSetEventParseRefCon (ComponentInstance aParser,
- long refcon) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
- /* Set the start document handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetStartDocumentHandler (ComponentInstance aParser,
- StartDocumentHandlerUPP startDocument) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
- /* Set the end document handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetEndDocumentHandler (ComponentInstance aParser,
- EndDocumentHandlerUPP endDocument) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
- /* Set the start element handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetStartElementHandler (ComponentInstance aParser,
- StartElementHandlerUPP startElement) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
- /* Set the end element handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetEndElementHandler (ComponentInstance aParser,
- EndElementHandlerUPP endElement) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
- /* Set the character data handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetCharDataHandler (ComponentInstance aParser,
- CharDataHandlerUPP charData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
- /* Set the preprocess instruction handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetPreprocessInstructionHandler (ComponentInstance aParser,
- PreprocessInstructionHandlerUPP preprocessInstruction) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
- /* Set the comment handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetCommentHandler (ComponentInstance aParser,
- CommentHandlerUPP comment) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
- /* Set the cdata handler UPP for event parsing*/
- EXTERN_API( ComponentResult )
- XMLParseSetCDataHandler (ComponentInstance aParser,
- CDataHandlerUPP cdata) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
- /*
- Helper Macros
-
- These macros allow you to easily add entities and attributes to the parser
- in an error free manner when the identifiers are defined in a particular manner.
- For these to work, you must define the identifiers as follows:
-
- For entities, they must be defined as element_elementName, as in:
-
- enum
- {
- element_xml = 1, // "xml"
- element_head, // "head"
- element_body // "body"
- };
-
- If the element name has characters that are illegal in an identifier,
- some of the macros support that, but the identifier must not contain
- the illegal characters:
-
- enum
- {
- element_rootlayout // "root-layout"
- }
-
- For attribute names, similar rules apply except that they must be defined
- as attr_attributeName, as in:
-
- enum
- {
- attr_src = 1, // "src"
- attr_href,
- attr_width,
- attr_height
- }
-
- Finally, the existence of local variables elementID and attributeID is required.
- */
- /*
- Adds the specified element to the parser, i.e. XML_ADD_ELEMENT(head) adds the element "head" with
- a unique identifier of element_head
- */
- #define XML_ADD_ELEMENT_NS(elementName,nameSpaceID) elementID = GLUE2(element_,elementName); XMLParseAddElement(xmlParser, #elementName, nameSpaceID, &elementID, 0)
- #define XML_ADD_ELEMENT(elementName) XML_ADD_ELEMENT_NS(elementName,nameSpaceIDNone)
- /*
- Adds the specified element to the parser, not using the same string to generate the identifier and
- the element name. Use for element names that contain characters which are illegal in identifiers,
- i.e XML_ADD_COMPLEX_ELEMENT("root-layout",rootlayout) adds the element "root-layout" with a unique
- identifier of element_rootlayout
- */
- #define XML_ADD_COMPLEX_ELEMENT_NS(elementName,elemID,nameSpaceID) elementID = GLUE2(element_,elemID); XMLParseAddElement(xmlParser, #elementName, nameSpaceID, &elementID, 0)
- #define XML_ADD_COMPLEX_ELEMENT(elementName,elemID) XML_ADD_COMPLEX_ELEMENT_NS(elementName,elemID,nameSpaceIDNone)
- /*
- Adds the specified attribute to the current element in the parser, i.e. XML_ADD_ATTRIBUTE(src)
- adds the attribute "src" to the current element, and identifies it by attr_src
- */
- #define XML_ADD_ATTRIBUTE_NS(attrName,nameSpaceID) attributeID = GLUE2(attr_,attrName); XMLParseAddAttribute(xmlParser, elementID, nameSpaceID, #attrName, &attributeID);
- #define XML_ADD_ATTRIBUTE(attrName) XML_ADD_ATTRIBUTE_NS(attrName,nameSpaceIDNone)
- /*
- Adds the specified attribute to the current element in the parser, i.e. XML_ADD_ATTRIBUTE(element_img, src)
- adds the attribute "src" to the element_img element, and identifies it by attr_src
- Adds the specified attribute to the current element in the parser, not using the same string to
- generate the identifier and the element name. Use for attribute names that contain characters which
- are illegal in identifiers, i.e XML_ADD_COMPLEX_ATTRIBUTE("http-equiv",httpequiv) adds the element
- "http-equiv" with a unique identifier of attr_httpequiv
- */
- #define XML_ADD_COMPLEX_ATTRIBUTE_NS(attrName,attrID,nameSpaceID) attributeID = GLUE2(attr_,attrID); XMLParseAddAttribute(xmlParser, elementID, nameSpaceID, #attrName, &attributeID);
- #define XML_ADD_COMPLEX_ATTRIBUTE(attrName,attrID) XML_ADD_COMPLEX_ATTRIBUTE_NS(attrName,attrID,nameSpaceIDNone)
- #define XML_ADD_ATTRIBUTE_AND_VALUE_NS(attrName,valueKind,valueKindInfo,nameSpaceID) attributeID = GLUE2(attr_,attrName); XMLParseAddAttributeAndValue(xmlParser, elementID, nameSpaceID, #attrName, &attributeID, valueKind, valueKindInfo);
- #define XML_ADD_ATTRIBUTE_AND_VALUE(attrName,valueKind,valueKindInfo) XML_ADD_ATTRIBUTE_AND_VALUE_NS(attrName,valueKind,valueKindInfo,nameSpaceIDNone)
- #define XML_ADD_COMPLEX_ATTRIBUTE_AND_VALUE_NS(attrName,attrID,valueKind,valueKindInfo,nameSpaceID) attributeID = GLUE2(attr_,attrID); XMLParseAddAttributeAndValue(xmlParser, elementID, nameSpaceID, #attrName, &attributeID, valueKind, valueKindInfo);
- #define XML_ADD_COMPLEX_ATTRIBUTE_AND_VALUE(attrName,attrID,valueKind,valueKindInfo) XML_ADD_COMPLEX_ATTRIBUTE_AND_VALUE_NS(attrName,attrID,valueKind,valueKindInfo,nameSpaceIDNone)
- /*
- General Sequence Grab stuff
- */
- typedef ComponentInstance SeqGrabComponent;
- typedef ComponentInstance SGChannel;
- enum {
- SeqGrabComponentType = FOUR_CHAR_CODE('barg'),
- SeqGrabChannelType = FOUR_CHAR_CODE('sgch'),
- SeqGrabPanelType = FOUR_CHAR_CODE('sgpn'),
- SeqGrabCompressionPanelType = FOUR_CHAR_CODE('cmpr'),
- SeqGrabSourcePanelType = FOUR_CHAR_CODE('sour')
- };
- enum {
- seqGrabToDisk = 1,
- seqGrabToMemory = 2,
- seqGrabDontUseTempMemory = 4,
- seqGrabAppendToFile = 8,
- seqGrabDontAddMovieResource = 16,
- seqGrabDontMakeMovie = 32,
- seqGrabPreExtendFile = 64,
- seqGrabDataProcIsInterruptSafe = 128,
- seqGrabDataProcDoesOverlappingReads = 256
- };
- typedef unsigned long SeqGrabDataOutputEnum;
- enum {
- seqGrabRecord = 1,
- seqGrabPreview = 2,
- seqGrabPlayDuringRecord = 4,
- seqGrabLowLatencyCapture = 8, /* return the freshest frame possible, for live work (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;
- enum {
- seqGrabHasBounds = 1,
- seqGrabHasVolume = 2,
- seqGrabHasDiscreteSamples = 4,
- seqGrabDoNotBufferizeData = 8,
- seqGrabCanMoveWindowWhileRecording = 16
- };
- typedef unsigned long SeqGrabChannelInfoEnum;
- struct SGOutputRecord {
- long data[1];
- };
- typedef struct SGOutputRecord SGOutputRecord;
- typedef SGOutputRecord * SGOutput;
- struct SeqGrabFrameInfo {
- long frameOffset;
- long frameTime;
- long frameSize;
- SGChannel frameChannel;
- long frameRefCon;
- };
- typedef struct SeqGrabFrameInfo SeqGrabFrameInfo;
- typedef SeqGrabFrameInfo * SeqGrabFrameInfoPtr;
- struct SeqGrabExtendedFrameInfo {
- wide frameOffset;
- long frameTime;
- long frameSize;
- SGChannel frameChannel;
- long frameRefCon;
- SGOutput frameOutput;
- };
- typedef struct SeqGrabExtendedFrameInfo SeqGrabExtendedFrameInfo;
- typedef SeqGrabExtendedFrameInfo * SeqGrabExtendedFrameInfoPtr;
- enum {
- grabPictOffScreen = 1,
- grabPictIgnoreClip = 2,
- grabPictCurrentImage = 4
- };
- enum {
- sgFlagControlledGrab = (1 << 0),
- sgFlagAllowNonRGBPixMaps = (1 << 1)
- };
- typedef CALLBACK_API( OSErr , SGDataProcPtr )(SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType, long refCon);
- typedef STACK_UPP_TYPE(SGDataProcPtr) SGDataUPP;
- 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 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 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)
- };
- enum {
- seqGrabWriteAppend = 0,
- seqGrabWriteReserve = 1,
- seqGrabWriteFill = 2
- };
- enum {
- seqGrabUnpause = 0,
- seqGrabPause = 1,
- seqGrabPauseForMenu = 3
- };
- enum {
- channelFlagDontOpenResFile = 2,
- channelFlagHasDependency = 4
- };
- typedef CALLBACK_API( Boolean , SGModalFilterProcPtr )(DialogRef theDialog, const EventRecord *theEvent, short *itemHit, long refCon);
- typedef STACK_UPP_TYPE(SGModalFilterProcPtr) SGModalFilterUPP;
- enum {
- sgPanelFlagForPanel = 1
- };
- enum {
- seqGrabSettingsPreviewOnly = 1
- };
- enum {
- channelPlayNormal = 0,
- channelPlayFast = 1,
- channelPlayHighQuality = 2,
- channelPlayAllData = 4
- };
- EXTERN_API( ComponentResult )
- SGInitialize (SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0001, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetDataOutput (SeqGrabComponent s,
- const FSSpec * movieFile,
- long whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetDataOutput (SeqGrabComponent s,
- FSSpec * movieFile,
- long * whereFlags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetGWorld (SeqGrabComponent s,
- CGrafPtr gp,
- GDHandle gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetGWorld (SeqGrabComponent s,
- CGrafPtr * gp,
- GDHandle * gd) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGNewChannel (SeqGrabComponent s,
- OSType channelType,
- SGChannel * ref) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGDisposeChannel (SeqGrabComponent s,
- SGChannel c) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGStartPreview (SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0010, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGStartRecord (SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGIdle (SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGStop (SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0013, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGPause (SeqGrabComponent s,
- Byte pause) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0014, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGPrepare (SeqGrabComponent s,
- Boolean prepareForPreview,
- Boolean prepareForRecord) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGRelease (SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
- EXTERN_API( Movie )
- SGGetMovie (SeqGrabComponent s) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0017, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetMaximumRecordTime (SeqGrabComponent s,
- unsigned long ticks) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetMaximumRecordTime (SeqGrabComponent s,
- unsigned long * ticks) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetStorageSpaceRemaining (SeqGrabComponent s,
- unsigned long * bytes) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetTimeRemaining (SeqGrabComponent s,
- long * ticksLeft) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGrabPict (SeqGrabComponent s,
- PicHandle * p,
- const Rect * bounds,
- short offscreenDepth,
- long grabPictFlags) FIVEWORDINLINE(0x2F3C, 0x000E, 0x001C, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetLastMovieResID (SeqGrabComponent s,
- short * resID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetFlags (SeqGrabComponent s,
- long sgFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetFlags (SeqGrabComponent s,
- long * sgFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetDataProc (SeqGrabComponent s,
- SGDataUPP proc,
- long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGNewChannelFromComponent (SeqGrabComponent s,
- SGChannel * newChannel,
- Component sgChannelComponent) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGDisposeDeviceList (SeqGrabComponent s,
- SGDeviceList list) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGAppendDeviceListToMenu (SeqGrabComponent s,
- SGDeviceList list,
- MenuRef mh) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0023, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetSettings (SeqGrabComponent s,
- UserData ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetSettings (SeqGrabComponent s,
- UserData * ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0025, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetIndChannel (SeqGrabComponent s,
- short index,
- SGChannel * ref,
- OSType * chanType) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0026, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGUpdate (SeqGrabComponent s,
- RgnHandle updateRgn) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetPause (SeqGrabComponent s,
- Byte * paused) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
- typedef const Component * ConstComponentListPtr;
- EXTERN_API( ComponentResult )
- SGSettingsDialog (SeqGrabComponent s,
- SGChannel c,
- short numPanels,
- ConstComponentListPtr panelList,
- long flags,
- SGModalFilterUPP proc,
- long procRefNum) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0029, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetAlignmentProc (SeqGrabComponent s,
- ICMAlignmentProcRecordPtr alignmentProc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetChannelSettings (SeqGrabComponent s,
- SGChannel c,
- UserData ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002B, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetChannelSettings (SeqGrabComponent s,
- SGChannel c,
- UserData * ud,
- long flags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002C, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetMode (SeqGrabComponent s,
- Boolean * previewMode,
- Boolean * recordMode) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGSetDataRef (SeqGrabComponent s,
- Handle dataRef,
- OSType dataRefType,
- long whereFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002E, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGGetDataRef (SeqGrabComponent s,
- Handle * dataRef,
- OSType * dataRefType,
- long * whereFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x002F, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )
- SGNewOutput (SeqGrabComponent s,
- Handle dataRef,
- OSType dataRefType,
- long whereFlags,
- SGOutput * sgOut) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0030, 0x7000, 0xA82A);
- EXTERN_API( ComponentResult )