You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
19469 lines
620 KiB
19469 lines
620 KiB
/* |
|
File: Movies.h |
|
|
|
Contains: QuickTime Interfaces. |
|
|
|
Version: QuickTime 7.3 |
|
|
|
Copyright: (c) 2007 (c) 1990-2007 by Apple Inc., all rights reserved |
|
|
|
Bugs?: For bug reports, consult the following page on |
|
the World Wide Web: |
|
|
|
http://developer.apple.com/bugreporter/ |
|
|
|
*/ |
|
/* |
|
Important note regarding availability macros |
|
============================================ |
|
|
|
QuickTime APIs that were introduced in QuickTime 6.0 and later are tagged with |
|
availability macros indicating the first Mac OS X version in which they were |
|
*always* available. Such APIs may also be present on systems running earlier |
|
Mac OS X releases when QuickTime updates have been installed. |
|
|
|
For example, QTNewDataReferenceFromCFURL was introduced in QuickTime 6.4. |
|
It is always available on Mac OS X 10.3, which shipped with QuickTime 6.4. |
|
However, QuickTime 6.4 can also be installed as an update to Mac OS X 10.2.x, |
|
so QTNewDataReferenceFromCFURL is also available on some systems running |
|
Mac OS X 10.2.x. |
|
|
|
QuickTime 6.0 / Mac OS X 10.2 : AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER |
|
QuickTime 6.4 / Mac OS X 10.3 : AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER |
|
QuickTime 7.0 / Mac OS X 10.4 : AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER |
|
QuickTime 7.2 / Mac OS X 10.5 : AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER |
|
|
|
As described in /usr/include/AvailabilityMacros.h, you can use the |
|
MAC_OS_X_VERSION_MIN_REQUIRED macro to weak-link to the APIs that may not be |
|
available on the Mac OS X versions your software targets. |
|
*/ |
|
#ifndef __MOVIES__ |
|
#define __MOVIES__ |
|
|
|
#ifndef __QUICKDRAW__ |
|
#include <Quickdraw.h> |
|
#endif |
|
|
|
#ifndef __ALIASES__ |
|
#include <Aliases.h> |
|
#endif |
|
|
|
#ifndef __EVENTS__ |
|
#include <Events.h> |
|
#endif |
|
|
|
#ifndef __MENUS__ |
|
#include <Menus.h> |
|
#endif |
|
|
|
#ifndef __COMPONENTS__ |
|
#include <Components.h> |
|
#endif |
|
|
|
#ifndef __SOUND__ |
|
#include <Sound.h> |
|
#endif |
|
|
|
#ifndef __IMAGECOMPRESSION__ |
|
#include <ImageCompression.h> |
|
#endif |
|
|
|
#ifndef __QUICKTIMEERRORS__ |
|
#include <QuickTimeErrors.h> |
|
#endif |
|
|
|
|
|
|
|
|
|
#if PRAGMA_ONCE |
|
#pragma once |
|
#endif |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
#if PRAGMA_IMPORT |
|
#pragma import on |
|
#endif |
|
|
|
#if PRAGMA_STRUCT_ALIGN |
|
#pragma options align=mac68k |
|
#elif PRAGMA_STRUCT_PACKPUSH |
|
#pragma pack(push, 2) |
|
#elif PRAGMA_STRUCT_PACK |
|
#pragma pack(2) |
|
#endif |
|
|
|
/* QuickTime is not available to 64-bit clients */ |
|
|
|
#if !__LP64__ |
|
|
|
#include <CoreAudioTypes.h> |
|
typedef UInt32 AudioUnitRenderActionFlags; |
|
/* This sets the user defined exportset name i.e. fw_QuickTime_XManchego, available on 10.5 or later, and comment [4486184] */ |
|
/* NOTE: Requires Interfacer-35 or later */ |
|
/* <exportset=fw_QuickTime_XManchego> */ |
|
/* <exportset=fw_QuickTime_XMaguro> */ |
|
|
|
/* "kFix1" is defined in FixMath as "fixed1" */ |
|
/* error codes are in Errors.[haa] */ |
|
/* gestalt codes are in Gestalt.[hpa] */ |
|
enum { |
|
MovieFileType = FOUR_CHAR_CODE('MooV'), |
|
MovieScrapType = FOUR_CHAR_CODE('moov') |
|
}; |
|
|
|
enum { |
|
MovieResourceType = FOUR_CHAR_CODE('moov'), |
|
MovieForwardPointerResourceType = FOUR_CHAR_CODE('fore'), |
|
MovieBackwardPointerResourceType = FOUR_CHAR_CODE('back') |
|
}; |
|
|
|
enum { |
|
MovieResourceAtomType = FOUR_CHAR_CODE('moov'), |
|
MovieDataAtomType = FOUR_CHAR_CODE('mdat'), |
|
FreeAtomType = FOUR_CHAR_CODE('free'), |
|
SkipAtomType = FOUR_CHAR_CODE('skip'), |
|
WideAtomPlaceholderType = FOUR_CHAR_CODE('wide') |
|
}; |
|
|
|
enum { |
|
MediaHandlerType = FOUR_CHAR_CODE('mhlr'), |
|
DataHandlerType = FOUR_CHAR_CODE('dhlr') |
|
}; |
|
|
|
enum { |
|
VideoMediaType = FOUR_CHAR_CODE('vide'), |
|
SoundMediaType = FOUR_CHAR_CODE('soun'), |
|
TextMediaType = FOUR_CHAR_CODE('text'), |
|
BaseMediaType = FOUR_CHAR_CODE('gnrc'), |
|
MPEGMediaType = FOUR_CHAR_CODE('MPEG'), |
|
MusicMediaType = FOUR_CHAR_CODE('musi'), |
|
TimeCodeMediaType = FOUR_CHAR_CODE('tmcd'), |
|
SpriteMediaType = FOUR_CHAR_CODE('sprt'), |
|
FlashMediaType = FOUR_CHAR_CODE('flsh'), |
|
MovieMediaType = FOUR_CHAR_CODE('moov'), |
|
TweenMediaType = FOUR_CHAR_CODE('twen'), |
|
ThreeDeeMediaType = FOUR_CHAR_CODE('qd3d'), |
|
SkinMediaType = FOUR_CHAR_CODE('skin'), |
|
HandleDataHandlerSubType = FOUR_CHAR_CODE('hndl'), |
|
PointerDataHandlerSubType = FOUR_CHAR_CODE('ptr '), |
|
NullDataHandlerSubType = FOUR_CHAR_CODE('null'), |
|
ResourceDataHandlerSubType = FOUR_CHAR_CODE('rsrc'), |
|
URLDataHandlerSubType = FOUR_CHAR_CODE('url '), |
|
AliasDataHandlerSubType = FOUR_CHAR_CODE('alis'), |
|
WiredActionHandlerType = FOUR_CHAR_CODE('wire'), |
|
kQTQuartzComposerMediaType = FOUR_CHAR_CODE('qtz '), |
|
TimeCode64MediaType = FOUR_CHAR_CODE('tc64') |
|
}; |
|
|
|
enum { |
|
VisualMediaCharacteristic = FOUR_CHAR_CODE('eyes'), |
|
AudioMediaCharacteristic = FOUR_CHAR_CODE('ears'), |
|
kCharacteristicCanSendVideo = FOUR_CHAR_CODE('vsnd'), |
|
kCharacteristicProvidesActions = FOUR_CHAR_CODE('actn'), |
|
kCharacteristicNonLinear = FOUR_CHAR_CODE('nonl'), |
|
kCharacteristicCanStep = FOUR_CHAR_CODE('step'), |
|
kCharacteristicHasNoDuration = FOUR_CHAR_CODE('noti'), |
|
kCharacteristicHasSkinData = FOUR_CHAR_CODE('skin'), |
|
kCharacteristicProvidesKeyFocus = FOUR_CHAR_CODE('keyf'), |
|
kCharacteristicSupportsDisplayOffsets = FOUR_CHAR_CODE('dtdd') |
|
}; |
|
|
|
enum { |
|
kUserDataMovieControllerType = FOUR_CHAR_CODE('ctyp'), |
|
kUserDataName = FOUR_CHAR_CODE('name'), |
|
kUserDataTextAlbum = 0xA9616C62, |
|
kUserDataTextArtist = 0xA9415254, |
|
kUserDataTextAuthor = 0xA9617574, |
|
kUserDataTextChapter = 0xA9636870, |
|
kUserDataTextComment = 0xA9636D74, |
|
kUserDataTextComposer = 0xA9636F6D, |
|
kUserDataTextCopyright = 0xA9637079, |
|
kUserDataTextCreationDate = 0xA9646179, |
|
kUserDataTextDescription = 0xA9646573, |
|
kUserDataTextDirector = 0xA9646972, |
|
kUserDataTextDisclaimer = 0xA9646973, |
|
kUserDataTextEncodedBy = 0xA9656E63, |
|
kUserDataTextFullName = 0xA96E616D, |
|
kUserDataTextGenre = 0xA967656E, |
|
kUserDataTextHostComputer = 0xA9687374, |
|
kUserDataTextInformation = 0xA9696E66, |
|
kUserDataTextKeywords = 0xA96B6579, |
|
kUserDataTextMake = 0xA96D616B, |
|
kUserDataTextModel = 0xA96D6F64, |
|
kUserDataTextOriginalArtist = 0xA96F7065, |
|
kUserDataTextOriginalFormat = 0xA9666D74, |
|
kUserDataTextOriginalSource = 0xA9737263, |
|
kUserDataTextPerformers = 0xA9707266, |
|
kUserDataTextProducer = 0xA9707264, |
|
kUserDataTextProduct = 0xA9505244, |
|
kUserDataTextSoftware = 0xA9737772, |
|
kUserDataTextSpecialPlaybackRequirements = 0xA9726571, |
|
kUserDataTextTrack = 0xA974726B, |
|
kUserDataTextWarning = 0xA977726E, |
|
kUserDataTextWriter = 0xA9777274, |
|
kUserDataTextURLLink = 0xA975726C, |
|
kUserDataTextEditDate1 = 0xA9656431, |
|
kUserDataAnimatedGIFLoopCount = FOUR_CHAR_CODE('gifc'), /* data is big-endian UInt16 */ |
|
kQTAnimatedGIFLoopCountInfinite = 0, |
|
kUserDataAnimatedGIFBufferingSize = FOUR_CHAR_CODE('gifb') /* data is big-endian UInt32 */ |
|
}; |
|
|
|
enum { |
|
kUserDataUnicodeBit = 1L << 7 |
|
}; |
|
|
|
enum { |
|
DoTheRightThing = 0 |
|
}; |
|
|
|
/* property types*/ |
|
typedef OSType QTPropertyClass; |
|
typedef OSType QTPropertyID; |
|
typedef OSType QTPropertyValueType; |
|
typedef void * QTPropertyValuePtr; |
|
typedef const void * ConstQTPropertyValuePtr; |
|
typedef struct MovieType** Movie; |
|
typedef Movie * PtrToMovie; |
|
typedef struct TrackType** Track; |
|
typedef struct MediaType** Media; |
|
typedef struct UserDataRecord** UserData; |
|
typedef struct MovieStateRecord** MovieEditState; |
|
typedef struct TrackStateRecord** TrackEditState; |
|
typedef struct QTRestrictionSetRecord** QTRestrictionSet; |
|
typedef struct SpriteWorldRecord* SpriteWorld; |
|
typedef struct SpriteRecord* Sprite; |
|
typedef struct QTTweenerRecord* QTTweener; |
|
struct SampleDescription { |
|
long descSize; |
|
long dataFormat; |
|
long resvd1; |
|
short resvd2; |
|
short dataRefIndex; |
|
}; |
|
typedef struct SampleDescription SampleDescription; |
|
typedef SampleDescription * SampleDescriptionPtr; |
|
typedef SampleDescriptionPtr * SampleDescriptionHandle; |
|
enum { |
|
kQTNetworkStatusNoNetwork = -2, |
|
kQTNetworkStatusUncertain = -1, |
|
kQTNetworkStatusNotConnected = 0, |
|
kQTNetworkStatusConnected = 1 |
|
}; |
|
|
|
typedef Handle QTAtomContainer; |
|
typedef long QTAtom; |
|
typedef long QTAtomType; |
|
typedef long QTAtomID; |
|
/* QTFloatDouble is the 64-bit IEEE-754 standard*/ |
|
typedef Float64 QTFloatDouble; |
|
/* QTFloatSingle is the 32-bit IEEE-754 standard*/ |
|
typedef Float32 QTFloatSingle; |
|
/************************* |
|
* SoundDescription |
|
*************************/ |
|
struct SoundDescription { |
|
long descSize; /* total size of SoundDescription including extra data */ |
|
long dataFormat; /* sound format */ |
|
long resvd1; /* reserved for apple use. set to zero */ |
|
short resvd2; /* reserved for apple use. set to zero */ |
|
short dataRefIndex; |
|
short version; /* which version is this data */ |
|
short revlevel; /* what version of that codec did this */ |
|
long vendor; /* whose codec compressed this data */ |
|
short numChannels; /* number of channels of sound */ |
|
short sampleSize; /* number of bits per sample */ |
|
short compressionID; /* unused. set to zero. */ |
|
short packetSize; /* unused. set to zero. */ |
|
UnsignedFixed sampleRate; /* sample rate sound is captured at */ |
|
}; |
|
typedef struct SoundDescription SoundDescription; |
|
typedef SoundDescription * SoundDescriptionPtr; |
|
typedef SoundDescriptionPtr * SoundDescriptionHandle; |
|
/* version 1 of the SoundDescription record*/ |
|
struct SoundDescriptionV1 { |
|
/* original fields*/ |
|
SoundDescription desc; |
|
/* fixed compression ratio information*/ |
|
unsigned long samplesPerPacket; |
|
unsigned long bytesPerPacket; |
|
unsigned long bytesPerFrame; |
|
unsigned long bytesPerSample; |
|
/* additional atom based fields ([long size, long type, some data], repeat)*/ |
|
}; |
|
typedef struct SoundDescriptionV1 SoundDescriptionV1; |
|
typedef SoundDescriptionV1 * SoundDescriptionV1Ptr; |
|
typedef SoundDescriptionV1Ptr * SoundDescriptionV1Handle; |
|
/* |
|
Definitions for SoundDescriptionV2: |
|
LPCMFrame = one uncompressed sample in each of the channels (ie. 44100Hz audio has |
|
44100 LPCMFrames per second, whether it is mono, stereo, 5.1, or whatever). |
|
In other words, LPCMFrames/audioSampleRate is duration in seconds. |
|
AudioPacket = For compressed audio, an AudioPacket is the natural compressed access |
|
unit of that format. For uncompressed audio, an AudioPacket is simply one |
|
LPCMFrame. |
|
*/ |
|
/* version 2 of the SoundDescription record*/ |
|
struct SoundDescriptionV2 { |
|
SInt32 descSize; /* total size of SoundDescription including extra data */ |
|
OSType dataFormat; /* 'lpcm' for uncompressed, compression type otherwise (eg. 'ima4') */ |
|
SInt32 resvd1; /* reserved for apple use. Must be set to zero */ |
|
SInt16 resvd2; /* reserved for apple use. Must be set to zero */ |
|
SInt16 dataRefIndex; |
|
SInt16 version; /* which version is this data (2 in this case) */ |
|
SInt16 revlevel; /* what version of that codec did this */ |
|
SInt32 vendor; /* whose codec compressed this data */ |
|
|
|
SInt16 always3; /* Reserved, must be set to 3 */ |
|
SInt16 always16; /* Reserved, must be set to 16 (0x0010) */ |
|
SInt16 alwaysMinus2; /* Reserved, must be set to -2 (0xFFFE) */ |
|
SInt16 always0; /* Reserved, must be set to 0 */ |
|
UInt32 always65536; /* Reserved, must be set to 65536 (0x00010000) */ |
|
|
|
UInt32 sizeOfStructOnly; /* must be set to sizeof(SoundDescriptionV2), ie. offset to extensions */ |
|
Float64 audioSampleRate; /* audio frames per second, eg. 44100.0 */ |
|
UInt32 numAudioChannels; /* any channel assignment info will be in an extension */ |
|
|
|
SInt32 always7F000000; /* Reserved, must be set to 0x7F000000 */ |
|
UInt32 constBitsPerChannel; /* only set if constant (and only for uncompressed audio) */ |
|
|
|
UInt32 formatSpecificFlags; /* eg. see LPCM flag definitions in CoreAudioTypes.h */ |
|
UInt32 constBytesPerAudioPacket; /* only set if constant */ |
|
UInt32 constLPCMFramesPerAudioPacket; /* only set if constant */ |
|
|
|
/* additional atom based extensions ([long size, long type, some data], repeat)*/ |
|
}; |
|
typedef struct SoundDescriptionV2 SoundDescriptionV2; |
|
typedef SoundDescriptionV2 * SoundDescriptionV2Ptr; |
|
typedef SoundDescriptionV2Ptr * SoundDescriptionV2Handle; |
|
enum { |
|
kQTSoundDescriptionKind_Movie_Version1 = FOUR_CHAR_CODE('mvv1'), |
|
kQTSoundDescriptionKind_Movie_Version2 = FOUR_CHAR_CODE('mvv2'), |
|
kQTSoundDescriptionKind_Movie_LowestPossibleVersion = FOUR_CHAR_CODE('mvlo'), |
|
kQTSoundDescriptionKind_Movie_AnyVersion = FOUR_CHAR_CODE('mvny') |
|
}; |
|
|
|
typedef FourCharCode QTSoundDescriptionKind; |
|
/* |
|
* QTSoundDescriptionCreate() |
|
* |
|
* Summary: |
|
* QTSoundDescriptionCreate creates a SoundDescription of the |
|
* requested kind from an AudioStreamBasicDescription, optional |
|
* AudioChannelLayout, and optional magic cookie. |
|
* QTSoundDescriptionCreate allocates the returned |
|
* SoundDescriptionHandle, and the caller is responsible for |
|
* disposing it. |
|
* |
|
* Parameters: |
|
* |
|
* inASBD: |
|
* a description of the format |
|
* |
|
* inLayout: |
|
* the audio channel layout (can be NULL if there isn't one) |
|
* |
|
* inLayoutSize: |
|
* size of the audio channel layout (should be 0 if inLayout is |
|
* NULL) |
|
* |
|
* inMagicCookie: |
|
* the magic cookie for the decompressor (can be NULL if there |
|
* isn't one) |
|
* |
|
* inMagicCookieSize: |
|
* size of the magic cookie (should be 0 if inMagicCookie is NULL) |
|
* |
|
* inRequestedKind: |
|
* the kind of SoundDescription to create |
|
* |
|
* outSoundDesc: |
|
* the resulting SoundDescription. Caller must dispose with |
|
* DisposeHandle. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSoundDescriptionCreate( |
|
AudioStreamBasicDescription * inASBD, |
|
AudioChannelLayout * inLayout, |
|
ByteCount inLayoutSize, |
|
void * inMagicCookie, |
|
ByteCount inMagicCookieSize, |
|
QTSoundDescriptionKind inRequestedKind, |
|
SoundDescriptionHandle * outSoundDesc); |
|
|
|
|
|
/* |
|
* QTSoundDescriptionConvert() |
|
* |
|
* Summary: |
|
* Converts from one kind of SoundDescription to another. Note that |
|
* fromKind is reserved for future expansion. You must set it to |
|
* kSoundDescriptionKind_Movie_AnyVersion. You can specify (via |
|
* toKind) that you would like a specific SoundDescription version, |
|
* the lowest possible version (given the constraints of the format |
|
* described by fromDescription), or any version of SoundDescription |
|
* at all. QTSoundDescriptionConvert allocates the returned |
|
* SoundDescriptionHandle and the caller is responsible for |
|
* disposing it. |
|
* |
|
* Parameters: |
|
* |
|
* fromKind: |
|
* reserved, must be set to kSoundDescriptionKind_Movie_AnyVersion |
|
* |
|
* fromDescription: |
|
* input description to be converted |
|
* |
|
* toKind: |
|
* kind of description toDescription will be |
|
* |
|
* toDescription: |
|
* the resulting SoundDescription. Caller must dispose with |
|
* DisposeHandle. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSoundDescriptionConvert( |
|
QTSoundDescriptionKind fromKind, |
|
SoundDescriptionHandle fromDescription, |
|
QTSoundDescriptionKind toKind, |
|
SoundDescriptionHandle * toDescription); |
|
|
|
|
|
|
|
/* SoundDescription Properties*/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Properties of a SoundDescription |
|
*/ |
|
kQTPropertyClass_SoundDescription = FOUR_CHAR_CODE('sdes') /* class for SoundDescription properties*/ |
|
}; |
|
|
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTSoundDescriptionPropertyID_AudioChannelLayout: Value is |
|
* AudioChannelLayout (Get/Set) Note that this is a variable sized |
|
* property (since it may contain an array of ChannelDescriptions; |
|
* see CoreAudioTypes.h). You must get the size first (by calling |
|
* QTSoundDescriptionGetPropertyInfo), allocate a struct of that |
|
* size, and then get the property. |
|
*/ |
|
kQTSoundDescriptionPropertyID_AudioChannelLayout = FOUR_CHAR_CODE('clay'), |
|
|
|
/* |
|
* kQTSoundDescriptionPropertyID_MagicCookie: Value is opaque bytes |
|
* (Get/Set) Note that this is a variable sized property (since it is |
|
* completely defined by the codec in question). You must get the |
|
* size first (by calling QTSoundDescriptionGetPropertyInfo), |
|
* allocate a struct of that size, and then get the property. |
|
*/ |
|
kQTSoundDescriptionPropertyID_MagicCookie = FOUR_CHAR_CODE('kuki'), |
|
|
|
/* |
|
* kQTSoundDescriptionPropertyID_AudioStreamBasicDescription: Value |
|
* is AudioStreamBasicDescription (Get only) |
|
*/ |
|
kQTSoundDescriptionPropertyID_AudioStreamBasicDescription = FOUR_CHAR_CODE('asbd'), |
|
|
|
/* |
|
* kQTSoundDescriptionPropertyID_BitRate: Value is UInt32 in bits per |
|
* second (Get only) kQTSoundDescriptionPropertyID_BitRate Note that |
|
* this property may not be available for formats that are inherently |
|
* very variable in bitrate and highly source-data dependent (such as |
|
* Apple Lossless). |
|
*/ |
|
kQTSoundDescriptionPropertyID_BitRate = FOUR_CHAR_CODE('brat'), |
|
|
|
/* |
|
* kQTSoundDescriptionPropertyID_UserReadableText: Value is |
|
* CFStringRef (Get only) QTSoundDescriptionGetProperty does a |
|
* CFRetain of the returned CFString on behalf of the caller, so the |
|
* caller is responsible for calling CFRelease on the returned |
|
* CFString. |
|
*/ |
|
kQTSoundDescriptionPropertyID_UserReadableText = FOUR_CHAR_CODE('text') |
|
}; |
|
|
|
/* |
|
* QTSoundDescriptionGetPropertyInfo() |
|
* |
|
* Summary: |
|
* Gets info about a particular property of a SoundDescription. |
|
* |
|
* Parameters: |
|
* |
|
* inDesc: |
|
* SoundDescription being interrogated |
|
* |
|
* inPropClass: |
|
* class of property being requested |
|
* |
|
* inPropID: |
|
* ID of property being requested |
|
* |
|
* outPropType: |
|
* type of property is returned here (can be NULL) |
|
* |
|
* outPropValueSize: |
|
* size of property is returned here (can be NULL) |
|
* |
|
* outPropertyFlags: |
|
* property flags are returned here (can be NULL) |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSoundDescriptionGetPropertyInfo( |
|
SoundDescriptionHandle inDesc, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTPropertyValueType * outPropType, |
|
ByteCount * outPropValueSize, |
|
UInt32 * outPropertyFlags); |
|
|
|
|
|
/* |
|
* QTSoundDescriptionGetProperty() |
|
* |
|
* Summary: |
|
* Gets a particular property of a SoundDescription. |
|
* |
|
* Parameters: |
|
* |
|
* inDesc: |
|
* SoundDescription being interrogated |
|
* |
|
* inPropClass: |
|
* class of property being requested |
|
* |
|
* inPropID: |
|
* ID of property being requested |
|
* |
|
* inPropValueSize: |
|
* size of property value buffer |
|
* |
|
* outPropValueAddress: |
|
* pointer to property value buffer |
|
* |
|
* outPropValueSizeUsed: |
|
* actual size of returned property value (can be NULL) |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSoundDescriptionGetProperty( |
|
SoundDescriptionHandle inDesc, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
QTPropertyValuePtr outPropValueAddress, |
|
ByteCount * outPropValueSizeUsed); |
|
|
|
|
|
/* |
|
* QTSoundDescriptionSetProperty() |
|
* |
|
* Summary: |
|
* Sets a particular property of a SoundDescription. |
|
* |
|
* Parameters: |
|
* |
|
* inDesc: |
|
* SoundDescription being modified |
|
* |
|
* inPropClass: |
|
* class of property being set |
|
* |
|
* inPropID: |
|
* ID of property being set |
|
* |
|
* inPropValueSize: |
|
* size of property value buffer |
|
* |
|
* inPropValueAddress: |
|
* pointer to property value buffer |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSoundDescriptionSetProperty( |
|
SoundDescriptionHandle inDesc, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
ConstQTPropertyValuePtr inPropValueAddress); |
|
|
|
|
|
|
|
/* Sound Description Extensions*/ |
|
|
|
/* |
|
* AddSoundDescriptionExtension() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddSoundDescriptionExtension( |
|
SoundDescriptionHandle desc, |
|
Handle extension, |
|
OSType idType); |
|
|
|
|
|
/* |
|
* GetSoundDescriptionExtension() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetSoundDescriptionExtension( |
|
SoundDescriptionHandle desc, |
|
Handle * extension, |
|
OSType idType); |
|
|
|
|
|
/* |
|
* RemoveSoundDescriptionExtension() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
RemoveSoundDescriptionExtension( |
|
SoundDescriptionHandle desc, |
|
OSType idType); |
|
|
|
|
|
|
|
|
|
|
|
enum { |
|
kTx3gSampleType = FOUR_CHAR_CODE('tx3g'), |
|
kTx3gFontTableAtomType = FOUR_CHAR_CODE('ftab'), |
|
kTx3gBlinkAtomType = FOUR_CHAR_CODE('blnk') |
|
}; |
|
|
|
struct Tx3gRGBAColor { |
|
unsigned char red; |
|
unsigned char green; |
|
unsigned char blue; |
|
unsigned char transparency; |
|
}; |
|
typedef struct Tx3gRGBAColor Tx3gRGBAColor; |
|
struct Tx3gStyleRecord { |
|
unsigned short startChar; |
|
unsigned short endChar; |
|
unsigned short fontID; |
|
unsigned char fontFace; |
|
unsigned char fontSize; |
|
Tx3gRGBAColor fontColor; |
|
}; |
|
typedef struct Tx3gStyleRecord Tx3gStyleRecord; |
|
typedef Tx3gStyleRecord * Tx3gStylePtr; |
|
typedef Tx3gStylePtr * Tx3gStyleHandle; |
|
struct Tx3gStyleTableRecord { |
|
unsigned short count; |
|
Tx3gStyleRecord table[1]; |
|
}; |
|
typedef struct Tx3gStyleTableRecord Tx3gStyleTableRecord; |
|
typedef Tx3gStyleTableRecord * Tx3gStyleTablePtr; |
|
typedef Tx3gStyleTablePtr * Tx3gStyleTableHandle; |
|
struct Tx3gFontRecord { |
|
unsigned short fontID; |
|
unsigned char nameLength; |
|
unsigned char name[1]; |
|
}; |
|
typedef struct Tx3gFontRecord Tx3gFontRecord; |
|
typedef Tx3gFontRecord * Tx3gFontRecordPtr; |
|
struct Tx3gFontTableRecord { |
|
unsigned short entryCount; |
|
Tx3gFontRecord fontEntries[1]; |
|
}; |
|
typedef struct Tx3gFontTableRecord Tx3gFontTableRecord; |
|
typedef Tx3gFontTableRecord * Tx3gFontTablePtr; |
|
typedef Tx3gFontTablePtr * Tx3gFontTableHandle; |
|
struct Tx3gDescription { |
|
long descSize; |
|
long dataFormat; |
|
long resvd1; |
|
short resvd2; |
|
short dataRefIndex; |
|
|
|
unsigned long displayFlags; |
|
char horizontalJustification; |
|
char verticalJustification; |
|
Tx3gRGBAColor backgroundColor; |
|
Rect defaultTextBox; |
|
Tx3gStyleRecord defaultStyle; |
|
}; |
|
typedef struct Tx3gDescription Tx3gDescription; |
|
typedef Tx3gDescription * Tx3gDescriptionPtr; |
|
typedef Tx3gDescriptionPtr * Tx3gDescriptionHandle; |
|
struct TextDescription { |
|
long descSize; /* Total size of TextDescription*/ |
|
long dataFormat; /* 'text'*/ |
|
|
|
long resvd1; |
|
short resvd2; |
|
short dataRefIndex; |
|
|
|
long displayFlags; /* see enum below for flag values*/ |
|
|
|
long textJustification; /* Can be: teCenter,teFlush -Default,-Right,-Left*/ |
|
|
|
RGBColor bgColor; /* Background color*/ |
|
|
|
Rect defaultTextBox; /* Location to place the text within the track bounds*/ |
|
ScrpSTElement defaultStyle; /* Default style (struct defined in TextEdit.h)*/ |
|
char defaultFontName[1]; /* Font Name (pascal string - struct extended to fit) */ |
|
}; |
|
typedef struct TextDescription TextDescription; |
|
typedef TextDescription * TextDescriptionPtr; |
|
typedef TextDescriptionPtr * TextDescriptionHandle; |
|
struct SpriteDescription { |
|
long descSize; /* total size of SpriteDescription including extra data */ |
|
long dataFormat; /* */ |
|
long resvd1; /* reserved for apple use */ |
|
short resvd2; |
|
short dataRefIndex; |
|
long version; /* which version is this data */ |
|
OSType decompressorType; /* which decompressor to use, 0 for no decompression */ |
|
long sampleFlags; /* how to interpret samples */ |
|
}; |
|
typedef struct SpriteDescription SpriteDescription; |
|
typedef SpriteDescription * SpriteDescriptionPtr; |
|
typedef SpriteDescriptionPtr * SpriteDescriptionHandle; |
|
struct FlashDescription { |
|
long descSize; |
|
long dataFormat; |
|
long resvd1; |
|
short resvd2; |
|
short dataRefIndex; |
|
long version; /* which version is this data */ |
|
OSType decompressorType; /* which decompressor to use, 0 for no decompression */ |
|
long flags; |
|
}; |
|
typedef struct FlashDescription FlashDescription; |
|
typedef FlashDescription * FlashDescriptionPtr; |
|
typedef FlashDescriptionPtr * FlashDescriptionHandle; |
|
struct ThreeDeeDescription { |
|
long descSize; /* total size of ThreeDeeDescription including extra data */ |
|
long dataFormat; /* */ |
|
long resvd1; /* reserved for apple use */ |
|
short resvd2; |
|
short dataRefIndex; |
|
long version; /* which version is this data */ |
|
long rendererType; /* which renderer to use, 0 for default */ |
|
long decompressorType; /* which decompressor to use, 0 for default */ |
|
}; |
|
typedef struct ThreeDeeDescription ThreeDeeDescription; |
|
typedef ThreeDeeDescription * ThreeDeeDescriptionPtr; |
|
typedef ThreeDeeDescriptionPtr * ThreeDeeDescriptionHandle; |
|
struct DataReferenceRecord { |
|
OSType dataRefType; |
|
Handle dataRef; |
|
}; |
|
typedef struct DataReferenceRecord DataReferenceRecord; |
|
typedef DataReferenceRecord * DataReferencePtr; |
|
/*-------------------------- |
|
Music Sample Description |
|
--------------------------*/ |
|
struct MusicDescription { |
|
long descSize; |
|
long dataFormat; /* 'musi' */ |
|
|
|
long resvd1; |
|
short resvd2; |
|
short dataRefIndex; |
|
|
|
long musicFlags; |
|
unsigned long headerData[1]; /* variable size! */ |
|
|
|
}; |
|
typedef struct MusicDescription MusicDescription; |
|
typedef MusicDescription * MusicDescriptionPtr; |
|
typedef MusicDescriptionPtr * MusicDescriptionHandle; |
|
enum { |
|
kMusicFlagDontPlay2Soft = 1L << 0, |
|
kMusicFlagDontSlaveToMovie = 1L << 1 |
|
}; |
|
|
|
|
|
enum { |
|
dfDontDisplay = 1 << 0, /* Don't display the text*/ |
|
dfDontAutoScale = 1 << 1, /* Don't scale text as track bounds grows or shrinks*/ |
|
dfClipToTextBox = 1 << 2, /* Clip update to the textbox*/ |
|
dfUseMovieBGColor = 1 << 3, /* Set text background to movie's background color*/ |
|
dfShrinkTextBoxToFit = 1 << 4, /* Compute minimum box to fit the sample*/ |
|
dfScrollIn = 1 << 5, /* Scroll text in until last of text is in view */ |
|
dfScrollOut = 1 << 6, /* Scroll text out until last of text is gone (if both set, scroll in then out)*/ |
|
dfHorizScroll = 1 << 7, /* Scroll text horizontally (otherwise it's vertical)*/ |
|
dfReverseScroll = 1 << 8, /* vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)*/ |
|
dfContinuousScroll = 1 << 9, /* new samples cause previous samples to scroll out */ |
|
dfFlowHoriz = 1 << 10, /* horiz scroll text flows in textbox rather than extend to right */ |
|
dfContinuousKaraoke = 1 << 11, /* ignore begin offset, hilite everything up to the end offset(karaoke)*/ |
|
dfDropShadow = 1 << 12, /* display text with a drop shadow */ |
|
dfAntiAlias = 1 << 13, /* attempt to display text anti aliased*/ |
|
dfKeyedText = 1 << 14, /* key the text over background*/ |
|
dfInverseHilite = 1 << 15, /* Use inverse hiliting rather than using hilite color*/ |
|
dfTextColorHilite = 1 << 16 /* changes text color in place of hiliting. */ |
|
}; |
|
|
|
enum { |
|
searchTextDontGoToFoundTime = 1L << 16, |
|
searchTextDontHiliteFoundText = 1L << 17, |
|
searchTextOneTrackOnly = 1L << 18, |
|
searchTextEnabledTracksOnly = 1L << 19 |
|
}; |
|
|
|
/*use these with the text property routines*/ |
|
enum { |
|
/* set property parameter / get property parameter*/ |
|
kTextTextHandle = 1, /* Handle / preallocated Handle*/ |
|
kTextTextPtr = 2, /* Pointer*/ |
|
kTextTEStyle = 3, /* TextStyle * / TextStyle **/ |
|
kTextSelection = 4, /* long [2] / long [2]*/ |
|
kTextBackColor = 5, /* RGBColor * / RGBColor **/ |
|
kTextForeColor = 6, /* RGBColor * / RGBColor **/ |
|
kTextFace = 7, /* long / long **/ |
|
kTextFont = 8, /* long / long **/ |
|
kTextSize = 9, /* long / long **/ |
|
kTextAlignment = 10, /* short * / short **/ |
|
kTextHilite = 11, /* hiliteRecord * / hiliteRecord **/ |
|
kTextDropShadow = 12, /* dropShadowRecord * / dropShadowRecord **/ |
|
kTextDisplayFlags = 13, /* long / long **/ |
|
kTextScroll = 14, /* TimeValue * / TimeValue **/ |
|
kTextRelativeScroll = 15, /* Point **/ |
|
kTextHyperTextFace = 16, /* hyperTextSetFace * / hyperTextSetFace **/ |
|
kTextHyperTextColor = 17, /* hyperTextSetColor * / hyperTextSetColor **/ |
|
kTextKeyEntry = 18, /* short*/ |
|
kTextMouseDown = 19, /* Point **/ |
|
kTextTextBox = 20, /* Rect * / Rect **/ |
|
kTextEditState = 21, /* short / short **/ |
|
kTextLength = 22 /* / long **/ |
|
}; |
|
|
|
enum { |
|
k3DMediaRendererEntry = FOUR_CHAR_CODE('rend'), |
|
k3DMediaRendererName = FOUR_CHAR_CODE('name'), |
|
k3DMediaRendererCode = FOUR_CHAR_CODE('rcod') |
|
}; |
|
|
|
/* progress messages */ |
|
enum { |
|
movieProgressOpen = 0, |
|
movieProgressUpdatePercent = 1, |
|
movieProgressClose = 2 |
|
}; |
|
|
|
/* progress operations */ |
|
enum { |
|
progressOpFlatten = 1, |
|
progressOpInsertTrackSegment = 2, |
|
progressOpInsertMovieSegment = 3, |
|
progressOpPaste = 4, |
|
progressOpAddMovieSelection = 5, |
|
progressOpCopy = 6, |
|
progressOpCut = 7, |
|
progressOpLoadMovieIntoRam = 8, |
|
progressOpLoadTrackIntoRam = 9, |
|
progressOpLoadMediaIntoRam = 10, |
|
progressOpImportMovie = 11, |
|
progressOpExportMovie = 12 |
|
}; |
|
|
|
enum { |
|
mediaQualityDraft = 0x0000, |
|
mediaQualityNormal = 0x0040, |
|
mediaQualityBetter = 0x0080, |
|
mediaQualityBest = 0x00C0 |
|
}; |
|
|
|
/***** |
|
Interactive Sprites Support |
|
*****/ |
|
/* QTEventRecord flags*/ |
|
enum { |
|
kQTEventPayloadIsQTList = 1L << 0 |
|
}; |
|
|
|
struct QTEventRecord { |
|
long version; |
|
OSType eventType; |
|
Point where; |
|
long flags; |
|
long payloadRefcon; /* from here down only present if version >= 2*/ |
|
long param1; |
|
long param2; |
|
long param3; |
|
}; |
|
typedef struct QTEventRecord QTEventRecord; |
|
typedef QTEventRecord * QTEventRecordPtr; |
|
struct QTAtomSpec { |
|
QTAtomContainer container; |
|
QTAtom atom; |
|
}; |
|
typedef struct QTAtomSpec QTAtomSpec; |
|
typedef QTAtomSpec * QTAtomSpecPtr; |
|
struct ResolvedQTEventSpec { |
|
QTAtomSpec actionAtom; |
|
Track targetTrack; |
|
long targetRefCon; |
|
}; |
|
typedef struct ResolvedQTEventSpec ResolvedQTEventSpec; |
|
typedef ResolvedQTEventSpec * ResolvedQTEventSpecPtr; |
|
|
|
/* action constants */ |
|
enum { |
|
kActionMovieSetVolume = 1024, /* (short movieVolume) */ |
|
kActionMovieSetRate = 1025, /* (Fixed rate) */ |
|
kActionMovieSetLoopingFlags = 1026, /* (long loopingFlags) */ |
|
kActionMovieGoToTime = 1027, /* (TimeValue time) */ |
|
kActionMovieGoToTimeByName = 1028, /* (Str255 timeName) */ |
|
kActionMovieGoToBeginning = 1029, /* no params */ |
|
kActionMovieGoToEnd = 1030, /* no params */ |
|
kActionMovieStepForward = 1031, /* no params */ |
|
kActionMovieStepBackward = 1032, /* no params */ |
|
kActionMovieSetSelection = 1033, /* (TimeValue startTime, TimeValue endTime) */ |
|
kActionMovieSetSelectionByName = 1034, /* (Str255 startTimeName, Str255 endTimeName) */ |
|
kActionMoviePlaySelection = 1035, /* (Boolean selectionOnly) */ |
|
kActionMovieSetLanguage = 1036, /* (long language) */ |
|
kActionMovieChanged = 1037, /* no params */ |
|
kActionMovieRestartAtTime = 1038, /* (TimeValue startTime, Fixed rate) */ |
|
kActionMovieGotoNextChapter = 1039, /* no params */ |
|
kActionMovieGotoPreviousChapter = 1040, /* no params */ |
|
kActionMovieGotoFirstChapter = 1041, /* no params */ |
|
kActionMovieGotoLastChapter = 1042, /* no params */ |
|
kActionMovieGotoChapterByIndex = 1043, /* ( short index ) */ |
|
kActionMovieSetScale = 1044, /* (Fixed xScale, Fixed yScale) */ |
|
kActionTrackSetVolume = 2048, /* (short volume) */ |
|
kActionTrackSetBalance = 2049, /* (short balance) */ |
|
kActionTrackSetEnabled = 2050, /* (Boolean enabled) */ |
|
kActionTrackSetMatrix = 2051, /* (MatrixRecord matrix) */ |
|
kActionTrackSetLayer = 2052, /* (short layer) */ |
|
kActionTrackSetClip = 2053, /* (RgnHandle clip) */ |
|
kActionTrackSetCursor = 2054, /* (QTATomID cursorID) */ |
|
kActionTrackSetGraphicsMode = 2055, /* (ModifierTrackGraphicsModeRecord graphicsMode) */ |
|
kActionTrackSetIdleFrequency = 2056, /* (long frequency) */ |
|
kActionTrackSetBassTreble = 2057, /* (short base, short treble) */ |
|
kActionSpriteSetMatrix = 3072, /* (MatrixRecord matrix) */ |
|
kActionSpriteSetImageIndex = 3073, /* (short imageIndex) */ |
|
kActionSpriteSetVisible = 3074, /* (short visible) */ |
|
kActionSpriteSetLayer = 3075, /* (short layer) */ |
|
kActionSpriteSetGraphicsMode = 3076, /* (ModifierTrackGraphicsModeRecord graphicsMode) */ |
|
kActionSpritePassMouseToCodec = 3078, /* no params */ |
|
kActionSpriteClickOnCodec = 3079, /* Point localLoc */ |
|
kActionSpriteTranslate = 3080, /* (Fixed x, Fixed y, Boolean isAbsolute) */ |
|
kActionSpriteScale = 3081, /* (Fixed xScale, Fixed yScale) */ |
|
kActionSpriteRotate = 3082, /* (Fixed degrees) */ |
|
kActionSpriteStretch = 3083, /* (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) */ |
|
kActionSpriteSetCanBeHitTested = 3094, /* (short canBeHitTested) */ |
|
kActionQTVRSetPanAngle = 4096, /* (float panAngle) */ |
|
kActionQTVRSetTiltAngle = 4097, /* (float tiltAngle) */ |
|
kActionQTVRSetFieldOfView = 4098, /* (float fieldOfView) */ |
|
kActionQTVRShowDefaultView = 4099, /* no params */ |
|
kActionQTVRGoToNodeID = 4100, /* (UInt32 nodeID) */ |
|
kActionQTVREnableHotSpot = 4101, /* long ID, Boolean enable */ |
|
kActionQTVRShowHotSpots = 4102, /* Boolean show */ |
|
kActionQTVRTranslateObject = 4103, /* float xMove, float yMove */ |
|
kActionQTVRSetViewState = 4109, /* long viewStateType, short state */ |
|
kActionMusicPlayNote = 5120, /* (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) */ |
|
kActionMusicSetController = 5121, /* (long sampleDescIndex, long partNumber, long delay, long controller, long value) */ |
|
kActionCase = 6144, /* [(CaseStatementActionAtoms)] */ |
|
kActionWhile = 6145, /* [(WhileStatementActionAtoms)] */ |
|
kActionGoToURL = 6146, /* (C string urlLink) */ |
|
kActionSendQTEventToSprite = 6147, /* ([(SpriteTargetAtoms)], QTEventRecord theEvent) */ |
|
kActionDebugStr = 6148, /* (Str255 theString) */ |
|
kActionPushCurrentTime = 6149, /* no params */ |
|
kActionPushCurrentTimeWithLabel = 6150, /* (Str255 theLabel) */ |
|
kActionPopAndGotoTopTime = 6151, /* no params */ |
|
kActionPopAndGotoLabeledTime = 6152, /* (Str255 theLabel) */ |
|
kActionStatusString = 6153, /* (C string theString, long stringTypeFlags) */ |
|
kActionSendQTEventToTrackObject = 6154, /* ([(TrackObjectTargetAtoms)], QTEventRecord theEvent) */ |
|
kActionAddChannelSubscription = 6155, /* (Str255 channelName, C string channelsURL, C string channelsPictureURL) */ |
|
kActionRemoveChannelSubscription = 6156, /* (C string channelsURL) */ |
|
kActionOpenCustomActionHandler = 6157, /* (long handlerID, ComponentDescription handlerDesc) */ |
|
kActionDoScript = 6158, /* (long scriptTypeFlags, CString command, CString arguments) */ |
|
kActionDoCompressedActions = 6159, /* (compressed QTAtomContainer prefixed with eight bytes: long compressorType, long decompressedSize) */ |
|
kActionSendAppMessage = 6160, /* (long appMessageID) */ |
|
kActionLoadComponent = 6161, /* (ComponentDescription handlerDesc) */ |
|
kActionSetFocus = 6162, /* [(TargetAtoms theObject)] */ |
|
kActionDontPassKeyEvent = 6163, /* no params */ |
|
kActionSetRandomSeed = 6164, /* long randomSeed */ |
|
kActionSpriteTrackSetVariable = 7168, /* (QTAtomID variableID, float value) */ |
|
kActionSpriteTrackNewSprite = 7169, /* (QTAtomID spriteID, short imageIndex, MatrixRecord *matrix, short visible, short layer, ModifierTrackGraphicsModeRecord *graphicsMode, QTAtomID actionHandlingSpriteID) */ |
|
kActionSpriteTrackDisposeSprite = 7170, /* (QTAtomID spriteID) */ |
|
kActionSpriteTrackSetVariableToString = 7171, /* (QTAtomID variableID, C string value) */ |
|
kActionSpriteTrackConcatVariables = 7172, /* (QTAtomID firstVariableID, QTAtomID secondVariableID, QTAtomID resultVariableID ) */ |
|
kActionSpriteTrackSetVariableToMovieURL = 7173, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */ |
|
kActionSpriteTrackSetVariableToMovieBaseURL = 7174, /* (QTAtomID variableID, < optional: [(MovieTargetAtoms)] > ) */ |
|
kActionSpriteTrackSetAllSpritesHitTestingMode = 7181, |
|
kActionSpriteTrackNewImage = 7182, /* (C string imageURL, QTAtomID desiredID) */ |
|
kActionSpriteTrackDisposeImage = 7183, /* (short imageIndex) */ |
|
kActionApplicationNumberAndString = 8192, /* (long aNumber, Str255 aString ) */ |
|
kActionQD3DNamedObjectTranslateTo = 9216, /* (Fixed x, Fixed y, Fixed z ) */ |
|
kActionQD3DNamedObjectScaleTo = 9217, /* (Fixed xScale, Fixed yScale, Fixed zScale ) */ |
|
kActionQD3DNamedObjectRotateTo = 9218, /* (Fixed xDegrees, Fixed yDegrees, Fixed zDegrees ) */ |
|
kActionFlashTrackSetPan = 10240, /* (short xPercent, short yPercent ) */ |
|
kActionFlashTrackSetZoom = 10241, /* (short zoomFactor ) */ |
|
kActionFlashTrackSetZoomRect = 10242, /* (long left, long top, long right, long bottom ) */ |
|
kActionFlashTrackGotoFrameNumber = 10243, /* (long frameNumber ) */ |
|
kActionFlashTrackGotoFrameLabel = 10244, /* (C string frameLabel ) */ |
|
kActionFlashTrackSetFlashVariable = 10245, /* (C string path, C string name, C string value, Boolean updateFocus) */ |
|
kActionFlashTrackDoButtonActions = 10246, /* (C string path, long buttonID, long transition) */ |
|
kActionMovieTrackAddChildMovie = 11264, /* (QTAtomID childMovieID, C string childMovieURL) */ |
|
kActionMovieTrackLoadChildMovie = 11265, /* (QTAtomID childMovieID) */ |
|
kActionMovieTrackLoadChildMovieWithQTListParams = 11266, /* (QTAtomID childMovieID, C string qtlistXML) */ |
|
kActionTextTrackPasteText = 12288, /* (C string theText, long startSelection, long endSelection ) */ |
|
kActionTextTrackSetTextBox = 12291, /* (short left, short top, short right, short bottom) */ |
|
kActionTextTrackSetTextStyle = 12292, /* (Handle textStyle) */ |
|
kActionTextTrackSetSelection = 12293, /* (long startSelection, long endSelection ) */ |
|
kActionTextTrackSetBackgroundColor = 12294, /* (ModifierTrackGraphicsModeRecord backgroundColor ) */ |
|
kActionTextTrackSetForegroundColor = 12295, /* (ModifierTrackGraphicsModeRecord foregroundColor ) */ |
|
kActionTextTrackSetFace = 12296, /* (long fontFace ) */ |
|
kActionTextTrackSetFont = 12297, /* (long fontID ) */ |
|
kActionTextTrackSetSize = 12298, /* (long fontSize ) */ |
|
kActionTextTrackSetAlignment = 12299, /* (short alignment ) */ |
|
kActionTextTrackSetHilite = 12300, /* (long startHighlight, long endHighlight, ModifierTrackGraphicsModeRecord highlightColor ) */ |
|
kActionTextTrackSetDropShadow = 12301, /* (Point dropShadow, short transparency ) */ |
|
kActionTextTrackSetDisplayFlags = 12302, /* (long flags ) */ |
|
kActionTextTrackSetScroll = 12303, /* (long delay ) */ |
|
kActionTextTrackRelativeScroll = 12304, /* (short deltaX, short deltaY ) */ |
|
kActionTextTrackFindText = 12305, /* (long flags, Str255 theText, ModifierTrackGraphicsModeRecord highlightColor ) */ |
|
kActionTextTrackSetHyperTextFace = 12306, /* (short index, long fontFace ) */ |
|
kActionTextTrackSetHyperTextColor = 12307, /* (short index, ModifierTrackGraphicsModeRecord highlightColor ) */ |
|
kActionTextTrackKeyEntry = 12308, /* (short character ) */ |
|
kActionTextTrackMouseDown = 12309, /* no params */ |
|
kActionTextTrackSetEditable = 12310, /* (short editState) */ |
|
kActionListAddElement = 13312, /* (C string parentPath, long atIndex, C string newElementName) */ |
|
kActionListRemoveElements = 13313, /* (C string parentPath, long startIndex, long endIndex) */ |
|
kActionListSetElementValue = 13314, /* (C string elementPath, C string valueString) */ |
|
kActionListPasteFromXML = 13315, /* (C string xml, C string targetParentPath, long startIndex) */ |
|
kActionListSetMatchingFromXML = 13316, /* (C string xml, C string targetParentPath) */ |
|
kActionListSetFromURL = 13317, /* (C string url, C string targetParentPath ) */ |
|
kActionListExchangeLists = 13318, /* (C string url, C string parentPath) */ |
|
kActionListServerQuery = 13319, /* (C string url, C string keyValuePairs, long flags, C string parentPath) */ |
|
kActionListAddAttribute = 13320, /* (C string elementPath, long atIndex, C string newAttributeName) */ |
|
kActionListRemoveAttributes = 13321, /* (C string elementPath, long startIndex, long endIndex) */ |
|
kActionListSetAttributeValue = 13322 /* (C string elementPath, C string attributeName, C string valueString) */ |
|
}; |
|
|
|
|
|
enum { |
|
kOperandExpression = 1, |
|
kOperandConstant = 2, |
|
kOperandSubscribedToChannel = 3, /* C string channelsURL */ |
|
kOperandUniqueCustomActionHandlerID = 4, |
|
kOperandCustomActionHandlerIDIsOpen = 5, /* long ID */ |
|
kOperandConnectionSpeed = 6, |
|
kOperandGMTDay = 7, |
|
kOperandGMTMonth = 8, |
|
kOperandGMTYear = 9, |
|
kOperandGMTHours = 10, |
|
kOperandGMTMinutes = 11, |
|
kOperandGMTSeconds = 12, |
|
kOperandLocalDay = 13, |
|
kOperandLocalMonth = 14, |
|
kOperandLocalYear = 15, |
|
kOperandLocalHours = 16, |
|
kOperandLocalMinutes = 17, |
|
kOperandLocalSeconds = 18, |
|
kOperandRegisteredForQuickTimePro = 19, |
|
kOperandPlatformRunningOn = 20, |
|
kOperandQuickTimeVersion = 21, |
|
kOperandComponentVersion = 22, /* C string type, C string subType, C string manufacturer */ |
|
kOperandOriginalHandlerRefcon = 23, |
|
kOperandTicks = 24, |
|
kOperandMaxLoadedTimeInMovie = 25, |
|
kOperandEventParameter = 26, /* short index */ |
|
kOperandFreeMemory = 27, |
|
kOperandNetworkStatus = 28, |
|
kOperandQuickTimeVersionRegistered = 29, /* long version */ |
|
kOperandSystemVersion = 30, |
|
kOperandMovieVolume = 1024, |
|
kOperandMovieRate = 1025, |
|
kOperandMovieIsLooping = 1026, |
|
kOperandMovieLoopIsPalindrome = 1027, |
|
kOperandMovieTime = 1028, |
|
kOperandMovieDuration = 1029, |
|
kOperandMovieTimeScale = 1030, |
|
kOperandMovieWidth = 1031, |
|
kOperandMovieHeight = 1032, |
|
kOperandMovieLoadState = 1033, |
|
kOperandMovieTrackCount = 1034, |
|
kOperandMovieIsActive = 1035, |
|
kOperandMovieName = 1036, |
|
kOperandMovieID = 1037, |
|
kOperandMovieChapterCount = 1038, |
|
kOperandMovieChapterIndex = 1039, |
|
kOperandMovieChapterName = 1040, |
|
kOperandMovieChapterNameByIndex = 1041, /* ( short index ) */ |
|
kOperandMovieChapterIndexByName = 1042, /* (c string name) */ |
|
kOperandMovieAnnotation = 1043, /* (c string requested, long flags) */ |
|
kOperandMovieConnectionFlags = 1044, |
|
kOperandMovieConnectionString = 1045, |
|
kOperandTrackVolume = 2048, |
|
kOperandTrackBalance = 2049, |
|
kOperandTrackEnabled = 2050, |
|
kOperandTrackLayer = 2051, |
|
kOperandTrackWidth = 2052, |
|
kOperandTrackHeight = 2053, |
|
kOperandTrackDuration = 2054, |
|
kOperandTrackName = 2055, |
|
kOperandTrackID = 2056, |
|
kOperandTrackIdleFrequency = 2057, |
|
kOperandTrackBass = 2058, |
|
kOperandTrackTreble = 2059, |
|
kOperandSpriteBoundsLeft = 3072, |
|
kOperandSpriteBoundsTop = 3073, |
|
kOperandSpriteBoundsRight = 3074, |
|
kOperandSpriteBoundsBottom = 3075, |
|
kOperandSpriteImageIndex = 3076, |
|
kOperandSpriteVisible = 3077, |
|
kOperandSpriteLayer = 3078, |
|
kOperandSpriteTrackVariable = 3079, /* [QTAtomID variableID] */ |
|
kOperandSpriteTrackNumSprites = 3080, |
|
kOperandSpriteTrackNumImages = 3081, |
|
kOperandSpriteID = 3082, |
|
kOperandSpriteIndex = 3083, |
|
kOperandSpriteFirstCornerX = 3084, |
|
kOperandSpriteFirstCornerY = 3085, |
|
kOperandSpriteSecondCornerX = 3086, |
|
kOperandSpriteSecondCornerY = 3087, |
|
kOperandSpriteThirdCornerX = 3088, |
|
kOperandSpriteThirdCornerY = 3089, |
|
kOperandSpriteFourthCornerX = 3090, |
|
kOperandSpriteFourthCornerY = 3091, |
|
kOperandSpriteImageRegistrationPointX = 3092, |
|
kOperandSpriteImageRegistrationPointY = 3093, |
|
kOperandSpriteTrackSpriteIDAtPoint = 3094, /* short x, short y */ |
|
kOperandSpriteName = 3095, |
|
kOperandSpriteCanBeHitTested = 3105, /* short */ |
|
kOperandSpriteTrackAllSpritesHitTestingMode = 3106, |
|
kOperandSpriteTrackImageIDByIndex = 3107, /* short imageIndex */ |
|
kOperandSpriteTrackImageIndexByID = 3108, /* QTAtomID */ |
|
kOperandQTVRPanAngle = 4096, |
|
kOperandQTVRTiltAngle = 4097, |
|
kOperandQTVRFieldOfView = 4098, |
|
kOperandQTVRNodeID = 4099, |
|
kOperandQTVRHotSpotsVisible = 4100, |
|
kOperandQTVRViewCenterH = 4101, |
|
kOperandQTVRViewCenterV = 4102, |
|
kOperandQTVRViewStateCount = 4103, |
|
kOperandQTVRViewState = 4104, /* long viewStateType */ |
|
kOperandMouseLocalHLoc = 5120, /* [TargetAtoms aTrack] */ |
|
kOperandMouseLocalVLoc = 5121, /* [TargetAtoms aTrack] */ |
|
kOperandKeyIsDown = 5122, /* [short modKeys, char asciiValue] */ |
|
kOperandRandom = 5123, /* [short min, short max] */ |
|
kOperandCanHaveFocus = 5124, /* [(TargetAtoms theObject)] */ |
|
kOperandHasFocus = 5125, /* [(TargetAtoms theObject)] */ |
|
kOperandTextTrackEditable = 6144, |
|
kOperandTextTrackCopyText = 6145, /* long startSelection, long endSelection */ |
|
kOperandTextTrackStartSelection = 6146, |
|
kOperandTextTrackEndSelection = 6147, |
|
kOperandTextTrackTextBoxLeft = 6148, |
|
kOperandTextTrackTextBoxTop = 6149, |
|
kOperandTextTrackTextBoxRight = 6150, |
|
kOperandTextTrackTextBoxBottom = 6151, |
|
kOperandTextTrackTextLength = 6152, |
|
kOperandListCountElements = 7168, /* (C string parentPath) */ |
|
kOperandListGetElementPathByIndex = 7169, /* (C string parentPath, long index) */ |
|
kOperandListGetElementValue = 7170, /* (C string elementPath) */ |
|
kOperandListCopyToXML = 7171, /* (C string parentPath, long startIndex, long endIndex) */ |
|
kOperandListCountAttributes = 7172, /* (C string elementPath) */ |
|
kOperandListGetAttributeNameByIndex = 7173, /* (C string elementPath, long index) */ |
|
kOperandListGetAttributeValue = 7174, /* (C string elementPath, C string attributeName) */ |
|
kOperandSin = 8192, /* float x */ |
|
kOperandCos = 8193, /* float x */ |
|
kOperandTan = 8194, /* float x */ |
|
kOperandATan = 8195, /* float x */ |
|
kOperandATan2 = 8196, /* float y, float x */ |
|
kOperandDegreesToRadians = 8197, /* float x */ |
|
kOperandRadiansToDegrees = 8198, /* float x */ |
|
kOperandSquareRoot = 8199, /* float x */ |
|
kOperandExponent = 8200, /* float x */ |
|
kOperandLog = 8201, /* float x */ |
|
kOperandFlashTrackVariable = 9216, /* [CString path, CString name] */ |
|
kOperandStringLength = 10240, /* (C string text) */ |
|
kOperandStringCompare = 10241, /* (C string aText, C string bText, Boolean caseSensitive, Boolan diacSensitive) */ |
|
kOperandStringSubString = 10242, /* (C string text, long offset, long length) */ |
|
kOperandStringConcat = 10243 /* (C string aText, C string bText) */ |
|
}; |
|
|
|
enum { |
|
kFirstMovieAction = kActionMovieSetVolume, |
|
kLastMovieAction = kActionMovieSetScale, |
|
kFirstTrackAction = kActionTrackSetVolume, |
|
kLastTrackAction = kActionTrackSetBassTreble, |
|
kFirstSpriteAction = kActionSpriteSetMatrix, |
|
kLastSpriteAction = kActionSpriteSetCanBeHitTested, |
|
kFirstQTVRAction = kActionQTVRSetPanAngle, |
|
kLastQTVRAction = kActionQTVRSetViewState, |
|
kFirstMusicAction = kActionMusicPlayNote, |
|
kLastMusicAction = kActionMusicSetController, |
|
kFirstSystemAction = kActionCase, |
|
kLastSystemAction = kActionSetRandomSeed, |
|
kFirstSpriteTrackAction = kActionSpriteTrackSetVariable, |
|
kLastSpriteTrackAction = kActionSpriteTrackDisposeImage, |
|
kFirstApplicationAction = kActionApplicationNumberAndString, |
|
kLastApplicationAction = kActionApplicationNumberAndString, |
|
kFirstQD3DNamedObjectAction = kActionQD3DNamedObjectTranslateTo, |
|
kLastQD3DNamedObjectAction = kActionQD3DNamedObjectRotateTo, |
|
kFirstFlashTrackAction = kActionFlashTrackSetPan, |
|
kLastFlashTrackAction = kActionFlashTrackDoButtonActions, |
|
kFirstMovieTrackAction = kActionMovieTrackAddChildMovie, |
|
kLastMovieTrackAction = kActionMovieTrackLoadChildMovieWithQTListParams, |
|
kFirstTextTrackAction = kActionTextTrackPasteText, |
|
kLastTextTrackAction = kActionTextTrackSetEditable, |
|
kFirstMultiTargetAction = kActionListAddElement, |
|
kLastMultiTargetAction = kActionListSetAttributeValue, |
|
kFirstAction = kFirstMovieAction, |
|
kLastAction = kLastMultiTargetAction |
|
}; |
|
|
|
/* target atom types*/ |
|
enum { |
|
kTargetMovie = FOUR_CHAR_CODE('moov'), /* no data */ |
|
kTargetMovieName = FOUR_CHAR_CODE('mona'), /* (PString movieName) */ |
|
kTargetMovieID = FOUR_CHAR_CODE('moid'), /* (long movieID) */ |
|
kTargetRootMovie = FOUR_CHAR_CODE('moro'), /* no data */ |
|
kTargetParentMovie = FOUR_CHAR_CODE('mopa'), /* no data */ |
|
kTargetChildMovieTrackName = FOUR_CHAR_CODE('motn'), /* (PString childMovieTrackName) */ |
|
kTargetChildMovieTrackID = FOUR_CHAR_CODE('moti'), /* (long childMovieTrackID) */ |
|
kTargetChildMovieTrackIndex = FOUR_CHAR_CODE('motx'), /* (long childMovieTrackIndex) */ |
|
kTargetChildMovieMovieName = FOUR_CHAR_CODE('momn'), /* (PString childMovieName) */ |
|
kTargetChildMovieMovieID = FOUR_CHAR_CODE('momi'), /* (long childMovieID) */ |
|
kTargetTrackName = FOUR_CHAR_CODE('trna'), /* (PString trackName) */ |
|
kTargetTrackID = FOUR_CHAR_CODE('trid'), /* (long trackID) */ |
|
kTargetTrackType = FOUR_CHAR_CODE('trty'), /* (OSType trackType) */ |
|
kTargetTrackIndex = FOUR_CHAR_CODE('trin'), /* (long trackIndex) */ |
|
kTargetSpriteName = FOUR_CHAR_CODE('spna'), /* (PString spriteName) */ |
|
kTargetSpriteID = FOUR_CHAR_CODE('spid'), /* (QTAtomID spriteID) */ |
|
kTargetSpriteIndex = FOUR_CHAR_CODE('spin'), /* (short spriteIndex) */ |
|
kTargetQD3DNamedObjectName = FOUR_CHAR_CODE('nana'), /* (CString objectName) */ |
|
kTargetCurrentQTEventParams = FOUR_CHAR_CODE('evpa') /* no data */ |
|
}; |
|
|
|
/* action container atom types*/ |
|
enum { |
|
kQTEventType = FOUR_CHAR_CODE('evnt'), |
|
kAction = FOUR_CHAR_CODE('actn'), |
|
kWhichAction = FOUR_CHAR_CODE('whic'), |
|
kActionParameter = FOUR_CHAR_CODE('parm'), |
|
kActionTarget = FOUR_CHAR_CODE('targ'), |
|
kActionFlags = FOUR_CHAR_CODE('flag'), |
|
kActionParameterMinValue = FOUR_CHAR_CODE('minv'), |
|
kActionParameterMaxValue = FOUR_CHAR_CODE('maxv'), |
|
kActionListAtomType = FOUR_CHAR_CODE('list'), |
|
kExpressionContainerAtomType = FOUR_CHAR_CODE('expr'), |
|
kConditionalAtomType = FOUR_CHAR_CODE('test'), |
|
kOperatorAtomType = FOUR_CHAR_CODE('oper'), |
|
kOperandAtomType = FOUR_CHAR_CODE('oprn'), |
|
kCommentAtomType = FOUR_CHAR_CODE('why '), |
|
kCustomActionHandler = FOUR_CHAR_CODE('cust'), |
|
kCustomHandlerID = FOUR_CHAR_CODE('id '), |
|
kCustomHandlerDesc = FOUR_CHAR_CODE('desc'), |
|
kQTEventRecordAtomType = FOUR_CHAR_CODE('erec') |
|
}; |
|
|
|
/* QTEvent types */ |
|
enum { |
|
kQTEventMouseClick = FOUR_CHAR_CODE('clik'), |
|
kQTEventMouseClickEnd = FOUR_CHAR_CODE('cend'), |
|
kQTEventMouseClickEndTriggerButton = FOUR_CHAR_CODE('trig'), |
|
kQTEventMouseEnter = FOUR_CHAR_CODE('entr'), |
|
kQTEventMouseExit = FOUR_CHAR_CODE('exit'), |
|
kQTEventMouseMoved = FOUR_CHAR_CODE('move'), |
|
kQTEventFrameLoaded = FOUR_CHAR_CODE('fram'), |
|
kQTEventIdle = FOUR_CHAR_CODE('idle'), |
|
kQTEventKey = FOUR_CHAR_CODE('key '), /* qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode */ |
|
kQTEventMovieLoaded = FOUR_CHAR_CODE('load'), |
|
kQTEventRequestToModifyMovie = FOUR_CHAR_CODE('reqm'), |
|
kQTEventListReceived = FOUR_CHAR_CODE('list'), |
|
kQTEventKeyUp = FOUR_CHAR_CODE('keyU') /* qtevent.param1 = key, qtevent.param2 = modifiers, qtEvent.param3 = scanCode */ |
|
}; |
|
|
|
/* flags for the kActionFlags atom */ |
|
enum { |
|
kActionFlagActionIsDelta = 1L << 1, |
|
kActionFlagParameterWrapsAround = 1L << 2, |
|
kActionFlagActionIsToggle = 1L << 3 |
|
}; |
|
|
|
/* flags for stringTypeFlags field of the QTStatusStringRecord */ |
|
enum { |
|
kStatusStringIsURLLink = 1L << 1, |
|
kStatusStringIsStreamingStatus = 1L << 2, |
|
kStatusHasCodeNumber = 1L << 3, /* high 16 bits of stringTypeFlags is error code number*/ |
|
kStatusIsError = 1L << 4 |
|
}; |
|
|
|
/* flags for scriptTypeFlags field of the QTDoScriptRecord*/ |
|
enum { |
|
kScriptIsUnknownType = 1L << 0, |
|
kScriptIsJavaScript = 1L << 1, |
|
kScriptIsLingoEvent = 1L << 2, |
|
kScriptIsVBEvent = 1L << 3, |
|
kScriptIsProjectorCommand = 1L << 4, |
|
kScriptIsAppleScript = 1L << 5 |
|
}; |
|
|
|
/* flags for CheckQuickTimeRegistration routine*/ |
|
enum { |
|
kQTRegistrationDialogTimeOutFlag = 1 << 0, |
|
kQTRegistrationDialogShowDialog = 1 << 1, |
|
kQTRegistrationDialogForceDialog = 1 << 2 |
|
}; |
|
|
|
/* constants for kOperatorAtomType IDs (operator types)*/ |
|
enum { |
|
kOperatorAdd = FOUR_CHAR_CODE('add '), |
|
kOperatorSubtract = FOUR_CHAR_CODE('sub '), |
|
kOperatorMultiply = FOUR_CHAR_CODE('mult'), |
|
kOperatorDivide = FOUR_CHAR_CODE('div '), |
|
kOperatorOr = FOUR_CHAR_CODE('or '), |
|
kOperatorAnd = FOUR_CHAR_CODE('and '), |
|
kOperatorNot = FOUR_CHAR_CODE('not '), |
|
kOperatorLessThan = FOUR_CHAR_CODE('< '), |
|
kOperatorLessThanEqualTo = FOUR_CHAR_CODE('<= '), |
|
kOperatorEqualTo = FOUR_CHAR_CODE('= '), |
|
kOperatorNotEqualTo = FOUR_CHAR_CODE('!= '), |
|
kOperatorGreaterThan = FOUR_CHAR_CODE('> '), |
|
kOperatorGreaterThanEqualTo = FOUR_CHAR_CODE('>= '), |
|
kOperatorModulo = FOUR_CHAR_CODE('mod '), |
|
kOperatorIntegerDivide = FOUR_CHAR_CODE('idiv'), |
|
kOperatorAbsoluteValue = FOUR_CHAR_CODE('abs '), |
|
kOperatorNegate = FOUR_CHAR_CODE('neg ') |
|
}; |
|
|
|
/* constants for kOperandPlatformRunningOn*/ |
|
enum { |
|
kPlatformMacintosh = 1, |
|
kPlatformWindows = 2 |
|
}; |
|
|
|
/* flags for kOperandSystemVersion*/ |
|
enum { |
|
kSystemIsWindows9x = 0x00010000, |
|
kSystemIsWindowsNT = 0x00020000, |
|
kSystemIsClassicBlueBox = 0x00040000 |
|
}; |
|
|
|
/* constants for MediaPropertiesAtom*/ |
|
enum { |
|
kMediaPropertyNonLinearAtomType = FOUR_CHAR_CODE('nonl'), |
|
kMediaPropertyHasActions = 105 |
|
}; |
|
|
|
|
|
/* TimeBase and TimeRecord moved to MacTypes.h */ |
|
typedef UInt32 TimeBaseFlags; |
|
enum { |
|
loopTimeBase = 1, |
|
palindromeLoopTimeBase = 2, |
|
maintainTimeBaseZero = 4 |
|
}; |
|
|
|
typedef struct QTCallBackHeader* QTCallBack; |
|
/* CallBack equates */ |
|
typedef UInt16 QTCallBackFlags; |
|
enum { |
|
triggerTimeFwd = 0x0001, /* when curTime exceeds triggerTime going forward */ |
|
triggerTimeBwd = 0x0002, /* when curTime exceeds triggerTime going backwards */ |
|
triggerTimeEither = 0x0003, /* when curTime exceeds triggerTime going either direction */ |
|
triggerRateLT = 0x0004, /* when rate changes to less than trigger value */ |
|
triggerRateGT = 0x0008, /* when rate changes to greater than trigger value */ |
|
triggerRateEqual = 0x0010, /* when rate changes to equal trigger value */ |
|
triggerRateLTE = triggerRateLT | triggerRateEqual, |
|
triggerRateGTE = triggerRateGT | triggerRateEqual, |
|
triggerRateNotEqual = triggerRateGT | triggerRateEqual | triggerRateLT, |
|
triggerRateChange = 0, |
|
triggerAtStart = 0x0001, |
|
triggerAtStop = 0x0002 |
|
}; |
|
|
|
typedef UInt32 TimeBaseStatus; |
|
enum { |
|
timeBaseBeforeStartTime = 1, |
|
timeBaseAfterStopTime = 2, |
|
timeBaseRateChanging = 4 |
|
}; |
|
|
|
|
|
typedef UInt16 QTCallBackType; |
|
enum { |
|
callBackAtTime = 1, |
|
callBackAtRate = 2, |
|
callBackAtTimeJump = 3, |
|
callBackAtExtremes = 4, |
|
callBackAtTimeBaseDisposed = 5, |
|
callBackAtInterrupt = 0x8000, |
|
callBackAtDeferredTask = 0x4000 |
|
}; |
|
|
|
typedef CALLBACK_API( void , QTCallBackProcPtr )(QTCallBack cb, long refCon); |
|
typedef STACK_UPP_TYPE(QTCallBackProcPtr) QTCallBackUPP; |
|
enum { |
|
qtcbNeedsRateChanges = 1, /* wants to know about rate changes */ |
|
qtcbNeedsTimeChanges = 2, /* wants to know about time changes */ |
|
qtcbNeedsStartStopChanges = 4 /* wants to know when TimeBase start/stop is changed*/ |
|
}; |
|
|
|
struct QTCallBackOpaqueHeader { |
|
long callBackFlags; |
|
long reserved1; |
|
SInt8 qtPrivate[52]; |
|
}; |
|
typedef struct QTCallBackOpaqueHeader QTCallBackOpaqueHeader; |
|
typedef CALLBACK_API( void , QTSyncTaskProcPtr )(void * task); |
|
typedef STACK_UPP_TYPE(QTSyncTaskProcPtr) QTSyncTaskUPP; |
|
struct QTSyncTaskRecord { |
|
void * qLink; |
|
QTSyncTaskUPP proc; |
|
}; |
|
typedef struct QTSyncTaskRecord QTSyncTaskRecord; |
|
typedef QTSyncTaskRecord * QTSyncTaskPtr; |
|
|
|
typedef CALLBACK_API( OSErr , MovieRgnCoverProcPtr )(Movie theMovie, RgnHandle changedRgn, long refcon); |
|
typedef CALLBACK_API( OSErr , MovieProgressProcPtr )(Movie theMovie, short message, short whatOperation, Fixed percentDone, long refcon); |
|
typedef CALLBACK_API( OSErr , MovieDrawingCompleteProcPtr )(Movie theMovie, long refCon); |
|
typedef CALLBACK_API( OSErr , TrackTransferProcPtr )(Track t, long refCon); |
|
typedef CALLBACK_API( OSErr , GetMovieProcPtr )(long offset, long size, void *dataPtr, void *refCon); |
|
typedef CALLBACK_API( Boolean , MoviePreviewCallOutProcPtr )(long refcon); |
|
typedef CALLBACK_API( OSErr , TextMediaProcPtr )(Handle theText, Movie theMovie, short *displayFlag, long refcon); |
|
typedef CALLBACK_API( OSErr , ActionsProcPtr )(void *refcon, Track targetTrack, long targetRefCon, QTEventRecordPtr theEvent); |
|
typedef CALLBACK_API( OSErr , DoMCActionProcPtr )(void *refcon, short action, void *params, Boolean *handled); |
|
typedef CALLBACK_API( OSErr , MovieExecuteWiredActionsProcPtr )(Movie theMovie, void *refcon, long flags, QTAtomContainer wiredActions); |
|
typedef CALLBACK_API( void , MoviePrePrerollCompleteProcPtr )(Movie theMovie, OSErr prerollErr, void *refcon); |
|
typedef CALLBACK_API( void , QTNextTaskNeededSoonerCallbackProcPtr )(TimeValue duration, unsigned long flags, void *refcon); |
|
typedef CALLBACK_API( void , MoviesErrorProcPtr )(OSErr theErr, long refcon); |
|
typedef STACK_UPP_TYPE(MovieRgnCoverProcPtr) MovieRgnCoverUPP; |
|
typedef STACK_UPP_TYPE(MovieProgressProcPtr) MovieProgressUPP; |
|
typedef STACK_UPP_TYPE(MovieDrawingCompleteProcPtr) MovieDrawingCompleteUPP; |
|
typedef STACK_UPP_TYPE(TrackTransferProcPtr) TrackTransferUPP; |
|
typedef STACK_UPP_TYPE(GetMovieProcPtr) GetMovieUPP; |
|
typedef STACK_UPP_TYPE(MoviePreviewCallOutProcPtr) MoviePreviewCallOutUPP; |
|
typedef STACK_UPP_TYPE(TextMediaProcPtr) TextMediaUPP; |
|
typedef STACK_UPP_TYPE(ActionsProcPtr) ActionsUPP; |
|
typedef STACK_UPP_TYPE(DoMCActionProcPtr) DoMCActionUPP; |
|
typedef STACK_UPP_TYPE(MovieExecuteWiredActionsProcPtr) MovieExecuteWiredActionsUPP; |
|
typedef STACK_UPP_TYPE(MoviePrePrerollCompleteProcPtr) MoviePrePrerollCompleteUPP; |
|
typedef STACK_UPP_TYPE(QTNextTaskNeededSoonerCallbackProcPtr) QTNextTaskNeededSoonerCallbackUPP; |
|
typedef STACK_UPP_TYPE(MoviesErrorProcPtr) MoviesErrorUPP; |
|
typedef ComponentInstance MediaHandler; |
|
typedef ComponentInstance DataHandler; |
|
typedef Component MediaHandlerComponent; |
|
typedef Component DataHandlerComponent; |
|
typedef ComponentResult HandlerError; |
|
enum { |
|
keepInRam = 1 << 0, /* load and make non-purgable*/ |
|
unkeepInRam = 1 << 1, /* mark as purgable*/ |
|
flushFromRam = 1 << 2, /* empty those handles*/ |
|
loadForwardTrackEdits = 1 << 3, /* load track edits into ram for playing forward*/ |
|
loadBackwardTrackEdits = 1 << 4 /* load track edits into ram for playing in reverse*/ |
|
}; |
|
|
|
enum { |
|
newMovieActive = 1 << 0, |
|
newMovieDontResolveDataRefs = 1 << 1, |
|
newMovieDontAskUnresolvedDataRefs = 1 << 2, |
|
newMovieDontAutoAlternates = 1 << 3, |
|
newMovieDontUpdateForeBackPointers = 1 << 4, |
|
newMovieDontAutoUpdateClock = 1 << 5, |
|
newMovieAsyncOK = 1 << 8, |
|
newMovieIdleImportOK = 1 << 10, |
|
newMovieDontInteractWithUser = 1 << 11 |
|
}; |
|
|
|
/* track usage bits */ |
|
enum { |
|
trackUsageInMovie = 1 << 1, |
|
trackUsageInPreview = 1 << 2, |
|
trackUsageInPoster = 1 << 3 |
|
}; |
|
|
|
/* Add/GetMediaSample flags */ |
|
enum { |
|
mediaSampleNotSync = 1 << 0, /* sample is not a sync sample (eg. is frame differenced */ |
|
mediaSampleShadowSync = 1 << 1, /* sample is a shadow sync */ |
|
mediaSampleDroppable = 1 << 27, /* sample is not required to be decoded for later samples to be decoded properly */ |
|
mediaSamplePartialSync = 1 << 16, /* sample is a partial sync (e.g., I frame after open GOP) */ |
|
mediaSampleHasRedundantCoding = 1 << 24, /* sample is known to contain redundant coding */ |
|
mediaSampleHasNoRedundantCoding = 1 << 25, /* sample is known not to contain redundant coding */ |
|
mediaSampleIsDependedOnByOthers = 1 << 26, /* one or more other samples depend upon the decode of this sample */ |
|
mediaSampleIsNotDependedOnByOthers = 1 << 27, /* synonym for mediaSampleDroppable */ |
|
mediaSampleDependsOnOthers = 1 << 28, /* sample's decode depends upon decode of other samples */ |
|
mediaSampleDoesNotDependOnOthers = 1 << 29, /* sample's decode does not depend upon decode of other samples */ |
|
mediaSampleEarlierDisplayTimesAllowed = 1 << 30 /* samples later in decode order may have earlier display times */ |
|
}; |
|
|
|
/* |
|
MediaSampleFlags is defined in ImageCompression.h: |
|
typedef UInt32 MediaSampleFlags; |
|
*/ |
|
enum { |
|
pasteInParallel = 1 << 0, |
|
showUserSettingsDialog = 1 << 1, |
|
movieToFileOnlyExport = 1 << 2, |
|
movieFileSpecValid = 1 << 3 |
|
}; |
|
|
|
enum { |
|
nextTimeMediaSample = 1 << 0, |
|
nextTimeMediaEdit = 1 << 1, |
|
nextTimeTrackEdit = 1 << 2, |
|
nextTimeSyncSample = 1 << 3, |
|
nextTimeStep = 1 << 4, |
|
nextTimePartialSyncSample = 1 << 5, |
|
nextTimeEdgeOK = 1 << 14, |
|
nextTimeIgnoreActiveSegment = 1 << 15 |
|
}; |
|
|
|
typedef unsigned short nextTimeFlagsEnum; |
|
enum { |
|
createMovieFileDeleteCurFile = 1L << 31, |
|
createMovieFileDontCreateMovie = 1L << 30, |
|
createMovieFileDontOpenFile = 1L << 29, |
|
createMovieFileDontCreateResFile = 1L << 28 |
|
}; |
|
|
|
typedef unsigned long createMovieFileFlagsEnum; |
|
enum { |
|
flattenAddMovieToDataFork = 1L << 0, |
|
flattenActiveTracksOnly = 1L << 2, |
|
flattenDontInterleaveFlatten = 1L << 3, |
|
flattenFSSpecPtrIsDataRefRecordPtr = 1L << 4, |
|
flattenCompressMovieResource = 1L << 5, |
|
flattenForceMovieResourceBeforeMovieData = 1L << 6 |
|
}; |
|
|
|
typedef unsigned long movieFlattenFlagsEnum; |
|
enum { |
|
movieInDataForkResID = -1 /* magic res ID */ |
|
}; |
|
|
|
enum { |
|
mcTopLeftMovie = 1 << 0, /* usually centered */ |
|
mcScaleMovieToFit = 1 << 1, /* usually only scales down */ |
|
mcWithBadge = 1 << 2, /* give me a badge */ |
|
mcNotVisible = 1 << 3, /* don't show controller */ |
|
mcWithFrame = 1 << 4 /* gimme a frame */ |
|
}; |
|
|
|
enum { |
|
movieScrapDontZeroScrap = 1 << 0, |
|
movieScrapOnlyPutMovie = 1 << 1 |
|
}; |
|
|
|
enum { |
|
dataRefSelfReference = 1 << 0, |
|
dataRefWasNotResolved = 1 << 1 |
|
}; |
|
|
|
typedef unsigned long dataRefAttributesFlags; |
|
enum { |
|
kMovieAnchorDataRefIsDefault = 1 << 0 /* data ref returned is movie default data ref */ |
|
}; |
|
|
|
enum { |
|
hintsScrubMode = 1 << 0, /* mask == && (if flags == scrub on, flags != scrub off) */ |
|
hintsLoop = 1 << 1, |
|
hintsDontPurge = 1 << 2, |
|
hintsUseScreenBuffer = 1 << 5, |
|
hintsAllowInterlace = 1 << 6, |
|
hintsUseSoundInterp = 1 << 7, |
|
hintsHighQuality = 1 << 8, /* slooooow */ |
|
hintsPalindrome = 1 << 9, |
|
hintsInactive = 1 << 11, |
|
hintsOffscreen = 1 << 12, |
|
hintsDontDraw = 1 << 13, |
|
hintsAllowBlacklining = 1 << 14, |
|
hintsDontUseVideoOverlaySurface = 1 << 16, |
|
hintsIgnoreBandwidthRestrictions = 1 << 17, |
|
hintsPlayingEveryFrame = 1 << 18, |
|
hintsAllowDynamicResize = 1 << 19, |
|
hintsSingleField = 1 << 20, |
|
hintsNoRenderingTimeOut = 1 << 21, |
|
hintsFlushVideoInsteadOfDirtying = 1 << 22, |
|
hintsEnableSubPixelPositioning = 1L << 23, |
|
hintsRenderingMode = 1L << 24, |
|
hintsAllowIdleSleep = 1L << 25, /* asks media handlers not to call UpdateSystemActivity etc */ |
|
hintsDeinterlaceFields = 1L << 26 |
|
}; |
|
|
|
typedef unsigned long playHintsEnum; |
|
enum { |
|
mediaHandlerFlagBaseClient = 1 |
|
}; |
|
|
|
typedef unsigned long mediaHandlerFlagsEnum; |
|
enum { |
|
movieTrackMediaType = 1 << 0, |
|
movieTrackCharacteristic = 1 << 1, |
|
movieTrackEnabledOnly = 1 << 2 |
|
}; |
|
|
|
/* |
|
Opaque replacement for SampleReferenceRecord/SampleReference64Record arrays able to carry information |
|
not described in those arrays of those records |
|
*/ |
|
typedef const struct OpaqueQTSampleTable* QTSampleTableRef; |
|
typedef struct OpaqueQTSampleTable* QTMutableSampleTableRef; |
|
struct SampleReferenceRecord { |
|
long dataOffset; |
|
long dataSize; |
|
TimeValue durationPerSample; |
|
long numberOfSamples; |
|
short sampleFlags; |
|
}; |
|
typedef struct SampleReferenceRecord SampleReferenceRecord; |
|
typedef SampleReferenceRecord * SampleReferencePtr; |
|
struct SampleReference64Record { |
|
wide dataOffset; |
|
unsigned long dataSize; |
|
TimeValue durationPerSample; |
|
unsigned long numberOfSamples; |
|
short sampleFlags; |
|
}; |
|
typedef struct SampleReference64Record SampleReference64Record; |
|
typedef SampleReference64Record * SampleReference64Ptr; |
|
|
|
/************************* |
|
* Initialization Routines |
|
**************************/ |
|
/* |
|
* CheckQuickTimeRegistration() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
CheckQuickTimeRegistration( |
|
void * registrationKey, |
|
long flags); |
|
|
|
|
|
/* |
|
* EnterMovies() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
EnterMovies(void); |
|
|
|
|
|
/* |
|
* ExitMovies() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ExitMovies(void); |
|
|
|
|
|
enum { |
|
kQTEnterMoviesFlagDontSetComponentsThreadMode = 1L << 0 |
|
}; |
|
|
|
#if TARGET_OS_MAC |
|
/* |
|
* EnterMoviesOnThread() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
EnterMoviesOnThread(UInt32 inFlags); |
|
|
|
|
|
/* |
|
* ExitMoviesOnThread() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ExitMoviesOnThread(void); |
|
|
|
|
|
#endif /* TARGET_OS_MAC */ |
|
|
|
/************************* |
|
* Error Routines |
|
**************************/ |
|
|
|
/* |
|
* GetMoviesError() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMoviesError(void); |
|
|
|
|
|
/* |
|
* ClearMoviesStickyError() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ClearMoviesStickyError(void); |
|
|
|
|
|
/* |
|
* GetMoviesStickyError() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMoviesStickyError(void); |
|
|
|
|
|
/* |
|
* SetMoviesErrorProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMoviesErrorProc( |
|
MoviesErrorUPP errProc, |
|
long refcon); |
|
|
|
|
|
|
|
/************************* |
|
* Idle Routines |
|
**************************/ |
|
/* |
|
* MoviesTask() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
MoviesTask( |
|
Movie theMovie, |
|
long maxMilliSecToUse); |
|
|
|
|
|
/* |
|
* PrerollMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PrerollMovie( |
|
Movie theMovie, |
|
TimeValue time, |
|
Fixed Rate); |
|
|
|
|
|
/* |
|
* PrePrerollMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PrePrerollMovie( |
|
Movie m, |
|
TimeValue time, |
|
Fixed rate, |
|
MoviePrePrerollCompleteUPP proc, |
|
void * refcon); |
|
|
|
|
|
/* |
|
* AbortPrePrerollMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
AbortPrePrerollMovie( |
|
Movie m, |
|
OSErr err); |
|
|
|
|
|
/* |
|
* LoadMovieIntoRam() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
LoadMovieIntoRam( |
|
Movie theMovie, |
|
TimeValue time, |
|
TimeValue duration, |
|
long flags); |
|
|
|
|
|
/* |
|
* LoadTrackIntoRam() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
LoadTrackIntoRam( |
|
Track theTrack, |
|
TimeValue time, |
|
TimeValue duration, |
|
long flags); |
|
|
|
|
|
/* |
|
* LoadMediaIntoRam() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
LoadMediaIntoRam( |
|
Media theMedia, |
|
TimeValue time, |
|
TimeValue duration, |
|
long flags); |
|
|
|
|
|
/* |
|
* SetMovieActive() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieActive( |
|
Movie theMovie, |
|
Boolean active); |
|
|
|
|
|
/* |
|
* GetMovieActive() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
GetMovieActive(Movie theMovie); |
|
|
|
|
|
/* |
|
* QTGetWallClockTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetWallClockTimeBase(TimeBase * wallClockTimeBase); |
|
|
|
|
|
|
|
/************************* |
|
* Idle Management |
|
**************************/ |
|
typedef struct OpaqueIdleManager* IdleManager; |
|
/* |
|
* QTIdleManagerOpen() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( IdleManager ) |
|
QTIdleManagerOpen(void); |
|
|
|
|
|
/* |
|
* QTIdleManagerClose() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerClose(IdleManager im); |
|
|
|
|
|
/* |
|
* QTIdleManagerGetNextIdleTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerGetNextIdleTime( |
|
IdleManager im, |
|
TimeRecord * nextIdle); |
|
|
|
|
|
/* |
|
* QTIdleManagerSetNextIdleTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerSetNextIdleTime( |
|
IdleManager im, |
|
TimeRecord * nextIdle); |
|
|
|
|
|
/* |
|
* QTIdleManagerSetNextIdleTimeNever() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerSetNextIdleTimeNever(IdleManager im); |
|
|
|
|
|
/* |
|
* QTIdleManagerSetNextIdleTimeNow() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerSetNextIdleTimeNow(IdleManager im); |
|
|
|
|
|
/* |
|
* QTIdleManagerSetNextIdleTimeDelta() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerSetNextIdleTimeDelta( |
|
IdleManager im, |
|
TimeValue duration, |
|
TimeScale scale); |
|
|
|
|
|
/* |
|
* QTIdleManagerSetParent() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerSetParent( |
|
IdleManager im, |
|
IdleManager parent); |
|
|
|
|
|
/* |
|
* QTIdleManagerNeedsAnIdle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIdleManagerNeedsAnIdle( |
|
IdleManager im, |
|
Boolean * needsOne); |
|
|
|
|
|
|
|
/************************* |
|
* Carbon Movie Control |
|
**************************/ |
|
/* Movie Control option bits*/ |
|
enum { |
|
kMovieControlOptionHideController = (1L << 0), |
|
kMovieControlOptionLocateTopLeft = (1L << 1), |
|
kMovieControlOptionEnableEditing = (1L << 2), |
|
kMovieControlOptionHandleEditingHI = (1L << 3), |
|
kMovieControlOptionSetKeysEnabled = (1L << 4), |
|
kMovieControlOptionManuallyIdled = (1L << 5) |
|
}; |
|
|
|
/* Item tags for use in GetControlData() (some with SetControlData()) calls on Movie Controls*/ |
|
enum { |
|
kMovieControlDataMovieController = FOUR_CHAR_CODE('mc '), |
|
kMovieControlDataMovie = FOUR_CHAR_CODE('moov'), |
|
kMovieControlDataManualIdling = FOUR_CHAR_CODE('manu') |
|
}; |
|
|
|
/* |
|
** CreateMovieControl() - This is the public API routine that creates a Movie Control. Given a window and location |
|
** plus a movie, it constructs a Movie Control with a Movie Controller in the window. |
|
*/ |
|
/* |
|
* CreateMovieControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CreateMovieControl( |
|
WindowRef theWindow, |
|
Rect * localRect, |
|
Movie theMovie, |
|
UInt32 options, |
|
ControlRef * returnedControl); |
|
|
|
|
|
|
|
/************************* |
|
* calls for playing movies, previews, posters |
|
**************************/ |
|
/* |
|
* StartMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
StartMovie(Movie theMovie); |
|
|
|
|
|
/* |
|
* StopMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
StopMovie(Movie theMovie); |
|
|
|
|
|
/* |
|
* GoToBeginningOfMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GoToBeginningOfMovie(Movie theMovie); |
|
|
|
|
|
/* |
|
* GoToEndOfMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GoToEndOfMovie(Movie theMovie); |
|
|
|
|
|
/* |
|
* IsMovieDone() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
IsMovieDone(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetMoviePreviewMode() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
GetMoviePreviewMode(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMoviePreviewMode() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMoviePreviewMode( |
|
Movie theMovie, |
|
Boolean usePreview); |
|
|
|
|
|
/* |
|
* ShowMoviePoster() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ShowMoviePoster(Movie theMovie); |
|
|
|
|
|
/* |
|
* PlayMoviePreview() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
PlayMoviePreview( |
|
Movie theMovie, |
|
MoviePreviewCallOutUPP callOutProc, |
|
long refcon); |
|
|
|
|
|
/************************* |
|
* calls for controlling movies & tracks which are playing |
|
**************************/ |
|
/* |
|
* GetMovieTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeBase ) |
|
GetMovieTimeBase(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMovieMasterTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieMasterTimeBase( |
|
Movie theMovie, |
|
TimeBase tb, |
|
const TimeRecord * slaveZero); |
|
|
|
|
|
/* |
|
* SetMovieMasterClock() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieMasterClock( |
|
Movie theMovie, |
|
Component clockMeister, |
|
const TimeRecord * slaveZero); |
|
|
|
|
|
/* |
|
* ChooseMovieClock() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ChooseMovieClock( |
|
Movie m, |
|
long flags); |
|
|
|
|
|
/* |
|
* GetMovieGWorld() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieGWorld( |
|
Movie theMovie, |
|
CGrafPtr * port, |
|
GDHandle * gdh); |
|
|
|
|
|
/* |
|
* SetMovieGWorld() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieGWorld( |
|
Movie theMovie, |
|
CGrafPtr port, |
|
GDHandle gdh); |
|
|
|
|
|
enum { |
|
movieDrawingCallWhenChanged = 0, |
|
movieDrawingCallAlways = 1 |
|
}; |
|
|
|
/* |
|
* SetMovieDrawingCompleteProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieDrawingCompleteProc( |
|
Movie theMovie, |
|
long flags, |
|
MovieDrawingCompleteUPP proc, |
|
long refCon); |
|
|
|
|
|
|
|
/* |
|
* GetMovieNaturalBoundsRect() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieNaturalBoundsRect( |
|
Movie theMovie, |
|
Rect * naturalBounds); |
|
|
|
|
|
/* |
|
* GetNextTrackForCompositing() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetNextTrackForCompositing( |
|
Movie theMovie, |
|
Track theTrack); |
|
|
|
|
|
/* |
|
* GetPrevTrackForCompositing() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetPrevTrackForCompositing( |
|
Movie theMovie, |
|
Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackGWorld() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackGWorld( |
|
Track theTrack, |
|
CGrafPtr port, |
|
GDHandle gdh, |
|
TrackTransferUPP proc, |
|
long refCon); |
|
|
|
|
|
/* |
|
* GetMoviePict() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( PicHandle ) |
|
GetMoviePict( |
|
Movie theMovie, |
|
TimeValue time); |
|
|
|
|
|
/* |
|
* GetTrackPict() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( PicHandle ) |
|
GetTrackPict( |
|
Track theTrack, |
|
TimeValue time); |
|
|
|
|
|
/* |
|
* GetMoviePosterPict() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( PicHandle ) |
|
GetMoviePosterPict(Movie theMovie); |
|
|
|
|
|
/* called between Begin & EndUpdate */ |
|
/* |
|
* UpdateMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
UpdateMovie(Movie theMovie); |
|
|
|
|
|
/* |
|
* InvalidateMovieRegion() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
InvalidateMovieRegion( |
|
Movie theMovie, |
|
RgnHandle invalidRgn); |
|
|
|
|
|
/**** spatial movie routines ****/ |
|
/* |
|
* GetMovieBox() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieBox( |
|
Movie theMovie, |
|
Rect * boxRect); |
|
|
|
|
|
/* |
|
* SetMovieBox() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieBox( |
|
Movie theMovie, |
|
const Rect * boxRect); |
|
|
|
|
|
/** movie display clip */ |
|
/* |
|
* GetMovieDisplayClipRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetMovieDisplayClipRgn(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMovieDisplayClipRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieDisplayClipRgn( |
|
Movie theMovie, |
|
RgnHandle theClip); |
|
|
|
|
|
/** movie src clip */ |
|
/* |
|
* GetMovieClipRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetMovieClipRgn(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMovieClipRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieClipRgn( |
|
Movie theMovie, |
|
RgnHandle theClip); |
|
|
|
|
|
/** track src clip */ |
|
/* |
|
* GetTrackClipRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetTrackClipRgn(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackClipRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackClipRgn( |
|
Track theTrack, |
|
RgnHandle theClip); |
|
|
|
|
|
/** bounds in display space (not clipped by display clip) */ |
|
/* |
|
* GetMovieDisplayBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetMovieDisplayBoundsRgn(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetTrackDisplayBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetTrackDisplayBoundsRgn(Track theTrack); |
|
|
|
|
|
/** bounds in movie space */ |
|
/* |
|
* GetMovieBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetMovieBoundsRgn(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetTrackMovieBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetTrackMovieBoundsRgn(Track theTrack); |
|
|
|
|
|
/** bounds in track space */ |
|
/* |
|
* GetTrackBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetTrackBoundsRgn(Track theTrack); |
|
|
|
|
|
/** mattes - always in track space */ |
|
/* |
|
* GetTrackMatte() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( PixMapHandle ) |
|
GetTrackMatte(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackMatte() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackMatte( |
|
Track theTrack, |
|
PixMapHandle theMatte); |
|
|
|
|
|
/* |
|
* DisposeMatte() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeMatte(PixMapHandle theMatte); |
|
|
|
|
|
/** video out */ |
|
/* |
|
* SetMovieVideoOutput() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieVideoOutput( |
|
Movie theMovie, |
|
ComponentInstance vout); |
|
|
|
|
|
|
|
/************************* |
|
* Audio Context |
|
*************************/ |
|
/* |
|
The QTAudioContextRef type encapsulates a connection to an audio output device. |
|
It represents a destination audio rendering environment that can be used for |
|
playback of a movie. |
|
*/ |
|
typedef struct QTAudioContextRefType* QTAudioContextRef; |
|
/* |
|
* QTAudioContextRetain() |
|
* |
|
* Summary: |
|
* Retains a QTAudioContext object by incrementing its reference |
|
* count. You should retain the object when you receive it from |
|
* elsewhere (that is, you did not create it) and you want it to |
|
* persist. If you retain a QTAudioContext object you are |
|
* responsible for releasing it. The same audio context is returned |
|
* for convenience. If audioContext is NULL, nothing happens. |
|
* |
|
* Parameters: |
|
* |
|
* audioContext: |
|
* [in] The audio context to retain. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( QTAudioContextRef ) |
|
QTAudioContextRetain(QTAudioContextRef audioContext); |
|
|
|
|
|
/* |
|
* QTAudioContextRelease() |
|
* |
|
* Summary: |
|
* Release a QTAudioContext object by decrementing its reference |
|
* count. If that count consequently becomes zero the memory |
|
* allocated to the object is deallocated and the object is |
|
* destroyed. If you create or explicitly retain a QTAudioContext |
|
* object, you are responsible for releasing it when you no longer |
|
* need it. If audioContext is NULL, nothing happens. |
|
* |
|
* Parameters: |
|
* |
|
* audioContext: |
|
* [in] The audio context to release. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
QTAudioContextRelease(QTAudioContextRef audioContext); |
|
|
|
|
|
/* |
|
* QTAudioContextCreateForAudioDevice() |
|
* |
|
* Summary: |
|
* Creates a QTAudioContext object that encapsulates a connection to |
|
* an audio output device. This object is suitable for passing to |
|
* SetMovieAudioContext or NewMovieFromProperties, which targets the |
|
* audio output of the movie to that device. A QTAudioContext object |
|
* cannot be associated with more than one movie. Each movie needs |
|
* its own connection to the device. In order to play more than one |
|
* movie to a particular device, create a QTAudioContext object for |
|
* each movie. You are responsible for releasing the QTAudioContext |
|
* object created by this routine. After calling |
|
* SetMovieAudioContext or NewMovieFromProperties, you can release |
|
* the object since these APIs will retain it for their own use. On |
|
* Windows, the audioDeviceUID is the GUID of a DirectSound device, |
|
* stringified using such Win32 functions as StringFromCLSID() or |
|
* StringFromGUID2(), then wrapped in a CFStringRef using |
|
* CFStringCreateWithCharacters(). After passing the audioDeviceUID |
|
* CFStringRef to QTAudioContextCreateForAudioDevice(), remember to |
|
* CFRelease() the CFStringRef you created. |
|
* |
|
* Parameters: |
|
* |
|
* allocator: |
|
* [in] Allocator used to create the audio context. |
|
* |
|
* audioDeviceUID: |
|
* [in] Audio device UID. NULL means the default CoreAudio |
|
* device. |
|
* |
|
* options: |
|
* [in] Reserved. Pass NULL. |
|
* |
|
* newAudioContextOut: |
|
* [out] Points to a variable to receive the new audio context. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
QTAudioContextCreateForAudioDevice( |
|
CFAllocatorRef allocator, |
|
CFStringRef audioDeviceUID, |
|
CFDictionaryRef options, |
|
QTAudioContextRef * newAudioContextOut); |
|
|
|
|
|
|
|
/************************* |
|
* Audio Context Inserts |
|
*************************/ |
|
/* |
|
Theory of operations: |
|
To register for a Movie Audio Context Insert during playback: |
|
1) Get the movie's current audio context: GetMovieAudioContext() |
|
2) Register the application insert: QTAudioContextRegisterInsert() |
|
To unregister a Movie Audio Context Insert: |
|
Call QTAudioContextRegisterInsert() with a NULL QTAudioContextInsertRegistryInfoRef |
|
If the registry ptr is non-NULL but the processDataCallback is NULL, this has the same effect. |
|
To register for a Track Audio Context Insert during playback: |
|
Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track, |
|
providing the same registry info structure that is used for the QTAudioContextRegisterInsert() call. |
|
To unregister a Track Audio Context Insert: |
|
Set the kQTAudioPropertyID_RegisterAudioContextInsert property on the track, |
|
with a NULL processDataCallback |
|
*/ |
|
|
|
|
|
/* |
|
* AudioContextInsertProcessDataCallback |
|
* |
|
* Summary: |
|
* A client-supplied function to be called during playback to get |
|
* data from the audio insert. |
|
* |
|
* Discussion: |
|
* This routine is called by the Audio Context for each buffer of |
|
* audio data it renders. The client receives a source buffer list |
|
* and a destination buffer list, and it is responsible for |
|
* supplying output buffers to the destination buffer list. This |
|
* routine is generally called on the IOProc at high thread |
|
* priority, and so should not do memory allocation or release, |
|
* acquire mutex resources, nor take very long to process. |
|
* |
|
* Parameters: |
|
* |
|
* inUserData: |
|
* An opaque pointer to the client's data. |
|
* |
|
* ioRenderFlags: |
|
* A field that contains render action flags (see AUComponent.h). |
|
* |
|
* inTimeStamp: |
|
* An AudioTimeStamp that indicates the start time of the buffer |
|
* to be processed. During normal playback or audio extraction, |
|
* the timestamp mSampleTime is normalized to the movie time that |
|
* this particular input sample buffer represents, expressed in |
|
* the sample rate being processed. During reverse playback, the |
|
* first Process Data call after Reset will contain a timestamp |
|
* designating the movie time, but subsequent timestamps will |
|
* advance forward instead of in reverse. |
|
* |
|
* inNumberFrames: |
|
* A UInt32 that specifies the number of frames to be rendered. |
|
* |
|
* inInputData: |
|
* An AudioBufferList used to pass input data to the insert. |
|
* |
|
* outOutputData: |
|
* An AudioBufferList to receive the processed data that is |
|
* produced by the insert. QuickTime sets buffer pointers in the |
|
* list to NULL. The client must set the buffer pointers to refer |
|
* to either its own allocated buffers or to be copies of the |
|
* buffer pointers received in inInputData. |
|
*/ |
|
typedef CALLBACK_API( OSStatus , AudioContextInsertProcessDataCallback )(void *inUserData, AudioUnitRenderActionFlags *ioRenderFlags, const AudioTimeStamp *inTimeStamp, UInt32 inNumberFrames, AudioBufferList *inInputData, AudioBufferList *outOutputData); |
|
|
|
/* |
|
* AudioContextInsertResetCallback |
|
* |
|
* Summary: |
|
* A client-supplied function to be called to initialize and reset |
|
* for processing data. |
|
* |
|
* Discussion: |
|
* This routine is called by the Audio Context to initialize for |
|
* rendering. The client is told the sample rate and the maximum |
|
* number of frames it will be asked to process on any single |
|
* ProcessData callback (ie, inNumberFrames will always be <= |
|
* inMaxFrames). On return, the client reports its processing |
|
* latency and tail times. This callback is invoked whenever the |
|
* rendering chain is interrupted (eg, when playback jumps to a new |
|
* point or changes direction). The client should call |
|
* AudioUnitReset on any audio units in use, and should be prepared |
|
* to respond to changes of sample rate or maxframes. |
|
* |
|
* Parameters: |
|
* |
|
* inUserData: |
|
* An opaque pointer to the client's data. |
|
* |
|
* inSampleRate: |
|
* A Float64 that will specifies the sample rate of the data to be |
|
* processed. |
|
* |
|
* inMaxFrames: |
|
* A UInt32 that specifies the maximum number of maximum frame |
|
* count that will be processed in a single call. |
|
* |
|
* outLatency: |
|
* A pointer to a Float64 that specifies the insert's render |
|
* latency, in seconds. Latency data will be pulled and discarded |
|
* by QuickTime after each reset. |
|
* |
|
* outTailTime: |
|
* A pointer to a Float64 that specifies the insert's tail render |
|
* time, in seconds. |
|
*/ |
|
typedef CALLBACK_API( OSStatus , AudioContextInsertResetCallback )(void *inUserData, Float64 inSampleRate, UInt32 inMaxFrames, Float64 *outLatency, Float64 *outTailTime); |
|
|
|
/* |
|
* AudioContextInsertFinalizeCallback |
|
* |
|
* Summary: |
|
* A client-supplied function to be called to release any resources |
|
* in use by the insert. |
|
* |
|
* Discussion: |
|
* This routine is called when the Audio Context is being disposed |
|
* (ie, the MovieAudioContext has been reset or the movie was |
|
* disposed). Once this callback returns, no more calls for this |
|
* registered insert will be made. |
|
* |
|
* Parameters: |
|
* |
|
* inUserData: |
|
* An opaque pointer to the client's data. |
|
*/ |
|
typedef CALLBACK_API( OSStatus , AudioContextInsertFinalizeCallback )(void * inUserData); |
|
|
|
/* |
|
* QTAudioContextInsertRegistryInfo |
|
* |
|
* Summary: |
|
* Parameters for registering an Audio Context insert |
|
* |
|
* Discussion: |
|
* This is used with QTAudioContextRegisterInsert() and the Movie |
|
* Audio Extraction |
|
* kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert |
|
* property. |
|
*/ |
|
struct QTAudioContextInsertRegistryInfo { |
|
|
|
/* |
|
* client user data to be passed to all client-specified callbacks. |
|
*/ |
|
void * userData; |
|
|
|
/* |
|
* The size of the input channel layout structure. |
|
*/ |
|
UInt32 inputChannelLayoutSize; |
|
|
|
/* |
|
* An AudioChannelLayout that describes the channel layout (and, |
|
* implicitly, channel valence) of the data that the insert expects |
|
* as input. |
|
*/ |
|
AudioChannelLayout * inputChannelLayout; |
|
|
|
/* |
|
* The size of the output channel layout structure. |
|
*/ |
|
UInt32 outputChannelLayoutSize; |
|
|
|
/* |
|
* An AudioChannelLayout that describes the channel layout (and, |
|
* implicitly, channel valence) of the processed data that the insert |
|
* will output. |
|
*/ |
|
AudioChannelLayout * outputChannelLayout; |
|
|
|
/* |
|
* Client-specified process data callback. |
|
*/ |
|
AudioContextInsertProcessDataCallback processDataCallback; |
|
|
|
/* |
|
* Client-specified reset callback. |
|
*/ |
|
AudioContextInsertResetCallback resetCallback; |
|
|
|
/* |
|
* Client-specified finalize callback (may be NULL). NOTE: Calls to |
|
* the client callbacks are interlocked with respect to each other: |
|
* there will never be simultaneous calls, with an identical |
|
* inUserData, on different threads. |
|
*/ |
|
AudioContextInsertFinalizeCallback finalizeCallback; |
|
}; |
|
typedef struct QTAudioContextInsertRegistryInfo QTAudioContextInsertRegistryInfo; |
|
typedef QTAudioContextInsertRegistryInfo * QTAudioContextInsertRegistryInfoRef; |
|
/* |
|
* QTAudioContextRegisterInsert() |
|
* |
|
* Summary: |
|
* Register an audio insert with QuickTime |
|
* |
|
* Discussion: |
|
* This routine is called to register an application to tap into the |
|
* audio playback stream, via callbacks during audio rendering. The |
|
* inAudioContext parameter refers to a Movie Audio Context that has |
|
* not yet been associated with a movie. Once the application has |
|
* successfully registered its insert, it may associate a movie with |
|
* this Audio Context by calling SetMovieAudioContext(). The |
|
* application must then be prepared to handle callbacks, which may |
|
* be executed on different threads, until the Finalize callback |
|
* with a matching userData parameter, is received. The application |
|
* may supply a NULL Finalize callback if it has its own logic for |
|
* detecting when it may release its insert resources. |
|
* |
|
* Parameters: |
|
* |
|
* inAudioContext: |
|
* A QTAudioContextRef that specifies the Audio Context to tap |
|
* into. |
|
* |
|
* inRegistryInfoSize: |
|
* Size, in bytes, of the supplied |
|
* QTAudioContextInsertRegistryInfo structure. |
|
* |
|
* inRegistryInfo: |
|
* Pointer to a QTAudioContextInsertRegistryInfo structure |
|
* containing setup parameters for the Audio Context insert and |
|
* callbacks. |
|
* |
|
* Result: |
|
* readErr Cannot register an insert on a movie containing protected |
|
* data. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.2) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
QTAudioContextRegisterInsert( |
|
QTAudioContextRef inAudioContext, |
|
UInt32 inRegistryInfoSize, |
|
QTAudioContextInsertRegistryInfoRef inRegistryInfo); |
|
|
|
|
|
|
|
/* Track-level Audio Context Insert property (kQTPropertyClass_Audio)*/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTAudioPropertyID_RegisterAudioContextInsert: Value is |
|
* QTAudioContextInsertRegistryInfoRef (Get/Set) Set on a Track to |
|
* register/unregister an Audio Context Insert for that specific |
|
* track. When this property is read back (QTGetTrackProperty) the |
|
* channel layout pointers will will be NULL. To unregister, supply |
|
* a NULL processDataCallback (in which case the rest of the registry |
|
* info will be ignored). |
|
*/ |
|
kQTAudioPropertyID_RegisterAudioContextInsert = FOUR_CHAR_CODE('regt') /* value is QTAudioContextInsertRegistryInfoRef. Get/Set.*/ |
|
}; |
|
|
|
|
|
/****************************************** |
|
* Using Audio/Visual contexts with movies |
|
*****************************************/ |
|
/* |
|
* SetMovieVisualContext() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetMovieVisualContext( |
|
Movie movie, |
|
QTVisualContextRef visualContext); |
|
|
|
|
|
/* |
|
* GetMovieVisualContext() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieVisualContext( |
|
Movie movie, |
|
QTVisualContextRef * visualContext); |
|
|
|
|
|
/* |
|
* SetMovieAudioContext() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetMovieAudioContext( |
|
Movie movie, |
|
QTAudioContextRef audioContext); |
|
|
|
|
|
/* |
|
* GetMovieAudioContext() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioContext( |
|
Movie movie, |
|
QTAudioContextRef * audioContext); |
|
|
|
|
|
|
|
/************************* |
|
* calls for getting/saving movies |
|
**************************/ |
|
/** Properties for NewMovieFromProperties */ |
|
enum { |
|
kQTPropertyClass_DataLocation = FOUR_CHAR_CODE('dloc'), |
|
kQTDataLocationPropertyID_DataReference = FOUR_CHAR_CODE('dref'), /* DataReferenceRecord (for semantics of NewMovieFromDataRef)*/ |
|
kQTDataLocationPropertyID_CFStringNativePath = FOUR_CHAR_CODE('cfnp'), |
|
kQTDataLocationPropertyID_CFStringPosixPath = FOUR_CHAR_CODE('cfpp'), |
|
kQTDataLocationPropertyID_CFStringHFSPath = FOUR_CHAR_CODE('cfhp'), |
|
kQTDataLocationPropertyID_CFStringWindowsPath = FOUR_CHAR_CODE('cfwp'), |
|
kQTDataLocationPropertyID_CFURL = FOUR_CHAR_CODE('cfur'), |
|
kQTDataLocationPropertyID_QTDataHandler = FOUR_CHAR_CODE('qtdh'), /* for semantics of NewMovieFromStorageOffset*/ |
|
kQTDataLocationPropertyID_Scrap = FOUR_CHAR_CODE('scrp'), |
|
kQTDataLocationPropertyID_LegacyMovieResourceHandle = FOUR_CHAR_CODE('rezh'), /* QTNewMovieUserProcInfo * (for semantics of NewMovieFromHandle)*/ |
|
kQTDataLocationPropertyID_MovieUserProc = FOUR_CHAR_CODE('uspr'), /* for semantics of NewMovieFromUserProc*/ |
|
kQTDataLocationPropertyID_ResourceFork = FOUR_CHAR_CODE('rfrk'), /* for semantics of NewMovieFromFile*/ |
|
kQTDataLocationPropertyID_DataFork = FOUR_CHAR_CODE('dfrk'), /* for semantics of NewMovieFromDataFork64*/ |
|
kQTPropertyClass_Context = FOUR_CHAR_CODE('ctxt'), /* Media Contexts*/ |
|
kQTContextPropertyID_AudioContext = FOUR_CHAR_CODE('audi'), |
|
kQTContextPropertyID_VisualContext = FOUR_CHAR_CODE('visu'), |
|
kQTPropertyClass_MovieResourceLocator = FOUR_CHAR_CODE('rloc'), |
|
kQTMovieResourceLocatorPropertyID_LegacyResID = FOUR_CHAR_CODE('rezi'), /* (input/result property)*/ |
|
kQTMovieResourceLocatorPropertyID_LegacyResName = FOUR_CHAR_CODE('rezn'), /* (result property)*/ |
|
kQTMovieResourceLocatorPropertyID_FileOffset = FOUR_CHAR_CODE('foff'), /* NewMovieFromDataFork[64]*/ |
|
kQTMovieResourceLocatorPropertyID_Callback = FOUR_CHAR_CODE('calb'), /* NewMovieFromUserProc(getProc,refcon)*/ |
|
/* Uses kQTMovieDefaultDataRefPropertyID for default dataref*/ |
|
kQTPropertyClass_MovieInstantiation = FOUR_CHAR_CODE('mins'), |
|
kQTMovieInstantiationPropertyID_DontResolveDataRefs = FOUR_CHAR_CODE('rdrn'), |
|
kQTMovieInstantiationPropertyID_DontAskUnresolvedDataRefs = FOUR_CHAR_CODE('aurn'), |
|
kQTMovieInstantiationPropertyID_DontAutoAlternates = FOUR_CHAR_CODE('aaln'), |
|
kQTMovieInstantiationPropertyID_DontUpdateForeBackPointers = FOUR_CHAR_CODE('fbpn'), |
|
kQTMovieInstantiationPropertyID_AsyncOK = FOUR_CHAR_CODE('asok'), |
|
kQTMovieInstantiationPropertyID_IdleImportOK = FOUR_CHAR_CODE('imok'), |
|
kQTMovieInstantiationPropertyID_DontAutoUpdateClock = FOUR_CHAR_CODE('aucl'), |
|
kQTMovieInstantiationPropertyID_ResultDataLocationChanged = FOUR_CHAR_CODE('dlch'), /* (result property)*/ |
|
kQTMovieInstantiationPropertyID_AllowMediaOptimization = FOUR_CHAR_CODE('amop'), |
|
kQTPropertyClass_NewMovieProperty = FOUR_CHAR_CODE('mprp'), |
|
kQTNewMoviePropertyID_DefaultDataRef = FOUR_CHAR_CODE('ddrf'), /* DataReferenceRecord*/ |
|
kQTNewMoviePropertyID_Active = FOUR_CHAR_CODE('actv'), |
|
kQTNewMoviePropertyID_DontInteractWithUser = FOUR_CHAR_CODE('intn') |
|
}; |
|
|
|
|
|
/** Property value for kQTDataLocationPropertyID_MovieUserProc */ |
|
struct QTNewMovieUserProcRecord { |
|
GetMovieUPP getMovieUserProc; |
|
void * getMovieUserProcRefcon; |
|
DataReferenceRecord defaultDataRef; |
|
}; |
|
typedef struct QTNewMovieUserProcRecord QTNewMovieUserProcRecord; |
|
/** Property structure for NewMovieFromProperties */ |
|
struct QTNewMoviePropertyElement { |
|
QTPropertyClass propClass; |
|
QTPropertyID propID; |
|
ByteCount propValueSize; |
|
QTPropertyValuePtr propValueAddress; |
|
OSStatus propStatus; |
|
}; |
|
typedef struct QTNewMoviePropertyElement QTNewMoviePropertyElement; |
|
/* |
|
* NewMovieFromProperties() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
NewMovieFromProperties( |
|
ItemCount inputPropertyCount, |
|
QTNewMoviePropertyElement * inputProperties, |
|
ItemCount outputPropertyCount, |
|
QTNewMoviePropertyElement * outputProperties, |
|
Movie * theMovie); |
|
|
|
|
|
/* |
|
* NewMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
NewMovie(long flags); |
|
|
|
|
|
/* |
|
* PutMovieIntoHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutMovieIntoHandle( |
|
Movie theMovie, |
|
Handle publicMovie); |
|
|
|
|
|
/* |
|
* PutMovieIntoDataFork() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutMovieIntoDataFork( |
|
Movie theMovie, |
|
short fRefNum, |
|
long offset, |
|
long maxSize); |
|
|
|
|
|
/* |
|
* PutMovieIntoDataFork64() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutMovieIntoDataFork64( |
|
Movie theMovie, |
|
long fRefNum, |
|
const wide * offset, |
|
unsigned long maxSize); |
|
|
|
|
|
/* |
|
* PutMovieIntoStorage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutMovieIntoStorage( |
|
Movie theMovie, |
|
DataHandler dh, |
|
const wide * offset, |
|
unsigned long maxSize); |
|
|
|
|
|
/* |
|
* PutMovieForDataRefIntoHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutMovieForDataRefIntoHandle( |
|
Movie theMovie, |
|
Handle dataRef, |
|
OSType dataRefType, |
|
Handle publicMovie); |
|
|
|
|
|
/* |
|
* DisposeMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeMovie(Movie theMovie); |
|
|
|
|
|
/************************* |
|
* Movie State Routines |
|
**************************/ |
|
/* |
|
* GetMovieCreationTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( unsigned long ) |
|
GetMovieCreationTime(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetMovieModificationTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( unsigned long ) |
|
GetMovieModificationTime(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetMovieTimeScale() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeScale ) |
|
GetMovieTimeScale(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMovieTimeScale() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieTimeScale( |
|
Movie theMovie, |
|
TimeScale timeScale); |
|
|
|
|
|
/* |
|
* GetMovieDuration() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetMovieDuration(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetMovieRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Fixed ) |
|
GetMovieRate(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMovieRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieRate( |
|
Movie theMovie, |
|
Fixed rate); |
|
|
|
|
|
/* |
|
* GetMoviePreferredRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Fixed ) |
|
GetMoviePreferredRate(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMoviePreferredRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMoviePreferredRate( |
|
Movie theMovie, |
|
Fixed rate); |
|
|
|
|
|
/* |
|
* GetMovieMatrix() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieMatrix( |
|
Movie theMovie, |
|
MatrixRecord * matrix); |
|
|
|
|
|
/* |
|
* SetMovieMatrix() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieMatrix( |
|
Movie theMovie, |
|
const MatrixRecord * matrix); |
|
|
|
|
|
/* |
|
* GetMoviePreviewTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMoviePreviewTime( |
|
Movie theMovie, |
|
TimeValue * previewTime, |
|
TimeValue * previewDuration); |
|
|
|
|
|
/* |
|
* SetMoviePreviewTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMoviePreviewTime( |
|
Movie theMovie, |
|
TimeValue previewTime, |
|
TimeValue previewDuration); |
|
|
|
|
|
/* |
|
* GetMoviePosterTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetMoviePosterTime(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMoviePosterTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMoviePosterTime( |
|
Movie theMovie, |
|
TimeValue posterTime); |
|
|
|
|
|
/* |
|
* GetMovieSelection() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieSelection( |
|
Movie theMovie, |
|
TimeValue * selectionTime, |
|
TimeValue * selectionDuration); |
|
|
|
|
|
/* |
|
* SetMovieSelection() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieSelection( |
|
Movie theMovie, |
|
TimeValue selectionTime, |
|
TimeValue selectionDuration); |
|
|
|
|
|
/* |
|
* SetMovieActiveSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieActiveSegment( |
|
Movie theMovie, |
|
TimeValue startTime, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* GetMovieActiveSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieActiveSegment( |
|
Movie theMovie, |
|
TimeValue * startTime, |
|
TimeValue * duration); |
|
|
|
|
|
/* |
|
* GetMovieTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetMovieTime( |
|
Movie theMovie, |
|
TimeRecord * currentTime); |
|
|
|
|
|
/* |
|
* SetMovieTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieTime( |
|
Movie theMovie, |
|
const TimeRecord * newtime); |
|
|
|
|
|
/* |
|
* SetMovieTimeValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieTimeValue( |
|
Movie theMovie, |
|
TimeValue newtime); |
|
|
|
|
|
|
|
/* |
|
* GetMovieUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( UserData ) |
|
GetMovieUserData(Movie theMovie); |
|
|
|
|
|
/* |
|
* QTGetTimeUntilNextTask() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetTimeUntilNextTask( |
|
long * duration, |
|
long scale); |
|
|
|
|
|
/* |
|
* QTInstallNextTaskNeededSoonerCallback() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTInstallNextTaskNeededSoonerCallback( |
|
QTNextTaskNeededSoonerCallbackUPP callbackProc, |
|
TimeScale scale, |
|
unsigned long flags, |
|
void * refcon); |
|
|
|
|
|
/* |
|
* QTUninstallNextTaskNeededSoonerCallback() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTUninstallNextTaskNeededSoonerCallback( |
|
QTNextTaskNeededSoonerCallbackUPP callbackProc, |
|
void * refcon); |
|
|
|
|
|
/* |
|
* GetMovieRateChangeConstraints() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieRateChangeConstraints( |
|
Movie theMovie, |
|
TimeRecord * minimumDelay, |
|
TimeRecord * maximumDelay); |
|
|
|
|
|
/************************* |
|
* Track/Media finding routines |
|
**************************/ |
|
/* |
|
* GetMovieTrackCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetMovieTrackCount(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetMovieTrack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetMovieTrack( |
|
Movie theMovie, |
|
long trackID); |
|
|
|
|
|
/* |
|
* GetMovieIndTrack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetMovieIndTrack( |
|
Movie theMovie, |
|
long index); |
|
|
|
|
|
/* |
|
* GetMovieIndTrackType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetMovieIndTrackType( |
|
Movie theMovie, |
|
long index, |
|
OSType trackType, |
|
long flags); |
|
|
|
|
|
/* |
|
* GetTrackID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetTrackID(Track theTrack); |
|
|
|
|
|
/* |
|
* GetTrackMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
GetTrackMovie(Track theTrack); |
|
|
|
|
|
/************************* |
|
* Track creation routines |
|
**************************/ |
|
/* |
|
* NewMovieTrack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
NewMovieTrack( |
|
Movie theMovie, |
|
Fixed width, |
|
Fixed height, |
|
short trackVolume); |
|
|
|
|
|
/* |
|
* DisposeMovieTrack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeMovieTrack(Track theTrack); |
|
|
|
|
|
/************************* |
|
* Track State routines |
|
**************************/ |
|
/* |
|
* GetTrackCreationTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( unsigned long ) |
|
GetTrackCreationTime(Track theTrack); |
|
|
|
|
|
/* |
|
* GetTrackModificationTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( unsigned long ) |
|
GetTrackModificationTime(Track theTrack); |
|
|
|
|
|
|
|
/* |
|
* GetTrackEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
GetTrackEnabled(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackEnabled( |
|
Track theTrack, |
|
Boolean isEnabled); |
|
|
|
|
|
/* |
|
* GetTrackUsage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetTrackUsage(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackUsage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackUsage( |
|
Track theTrack, |
|
long usage); |
|
|
|
|
|
/* |
|
* GetTrackDuration() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetTrackDuration(Track theTrack); |
|
|
|
|
|
/* |
|
* GetTrackOffset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetTrackOffset(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackOffset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackOffset( |
|
Track theTrack, |
|
TimeValue movieOffsetTime); |
|
|
|
|
|
/* |
|
* GetTrackLayer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
GetTrackLayer(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackLayer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackLayer( |
|
Track theTrack, |
|
short layer); |
|
|
|
|
|
/* |
|
* GetTrackAlternate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetTrackAlternate(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackAlternate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackAlternate( |
|
Track theTrack, |
|
Track alternateT); |
|
|
|
|
|
/* |
|
* SetAutoTrackAlternatesEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetAutoTrackAlternatesEnabled( |
|
Movie theMovie, |
|
Boolean enable); |
|
|
|
|
|
/* |
|
* SelectMovieAlternates() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SelectMovieAlternates(Movie theMovie); |
|
|
|
|
|
/* |
|
* GetTrackMatrix() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetTrackMatrix( |
|
Track theTrack, |
|
MatrixRecord * matrix); |
|
|
|
|
|
/* |
|
* SetTrackMatrix() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackMatrix( |
|
Track theTrack, |
|
const MatrixRecord * matrix); |
|
|
|
|
|
/* |
|
* GetTrackDimensions() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetTrackDimensions( |
|
Track theTrack, |
|
Fixed * width, |
|
Fixed * height); |
|
|
|
|
|
/* |
|
* SetTrackDimensions() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackDimensions( |
|
Track theTrack, |
|
Fixed width, |
|
Fixed height); |
|
|
|
|
|
/* |
|
* GetTrackUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( UserData ) |
|
GetTrackUserData(Track theTrack); |
|
|
|
|
|
/* |
|
* GetTrackDisplayMatrix() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetTrackDisplayMatrix( |
|
Track theTrack, |
|
MatrixRecord * matrix); |
|
|
|
|
|
|
|
/************************* |
|
* get Media routines |
|
**************************/ |
|
/* |
|
* NewTrackMedia() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Media ) |
|
NewTrackMedia( |
|
Track theTrack, |
|
OSType mediaType, |
|
TimeScale timeScale, |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* DisposeTrackMedia() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeTrackMedia(Media theMedia); |
|
|
|
|
|
/* |
|
* GetTrackMedia() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Media ) |
|
GetTrackMedia(Track theTrack); |
|
|
|
|
|
/* |
|
* GetMediaTrack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetMediaTrack(Media theMedia); |
|
|
|
|
|
|
|
|
|
/************************* |
|
* Media State routines |
|
**************************/ |
|
/* |
|
* GetMediaCreationTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( unsigned long ) |
|
GetMediaCreationTime(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaModificationTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( unsigned long ) |
|
GetMediaModificationTime(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaTimeScale() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeScale ) |
|
GetMediaTimeScale(Media theMedia); |
|
|
|
|
|
/* |
|
* SetMediaTimeScale() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMediaTimeScale( |
|
Media theMedia, |
|
TimeScale timeScale); |
|
|
|
|
|
/* |
|
* GetMediaDecodeDuration() |
|
* |
|
* Summary: |
|
* Returns the decode duration of a media. |
|
* |
|
* Discussion: |
|
* A media's decode duration is the sum of the decode durations of |
|
* its samples. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
GetMediaDecodeDuration(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaAdvanceDecodeTime() |
|
* |
|
* Summary: |
|
* Returns the advance decode time of a media. |
|
* |
|
* Discussion: |
|
* A media's advance decode time is the absolute value of the |
|
* greatest-magnitude negative display offset of its samples, or |
|
* zero if there are no samples with negative display offsets. |
|
* This is the amount that the decode time axis must be adjusted |
|
* ahead of the display time axis to ensure that no sample's |
|
* adjusted decode time is later than its display time. |
|
* For media without nonzero display offsets, the advance decode |
|
* time is zero. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
GetMediaAdvanceDecodeTime(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaDisplayDuration() |
|
* |
|
* Summary: |
|
* Returns the display duration of a media. |
|
* |
|
* Discussion: |
|
* A media's display duration is its display end time minus its |
|
* display start time. For media without nonzero display offsets, |
|
* the decode duration and display duration are the same, so |
|
* GetMediaDisplayDuration and GetMediaDisplayDuration are |
|
* equivalent to GetMediaDuration. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
GetMediaDisplayDuration(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaDisplayStartTime() |
|
* |
|
* Summary: |
|
* Returns the display start time of a media. |
|
* |
|
* Discussion: |
|
* A media's display start time is the earliest display time of any |
|
* of its samples. For media without nonzero display offsets, the |
|
* display start time is always zero. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
GetMediaDisplayStartTime(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaDisplayEndTime() |
|
* |
|
* Summary: |
|
* Returns the display end time of a media. |
|
* |
|
* Discussion: |
|
* A media's display end time is the sum of the display time and |
|
* decode duration of the sample with the greatest display time. For |
|
* media without nonzero display offsets, the display end time is |
|
* the same as the media decode duration, which is the same as the |
|
* media duration. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
GetMediaDisplayEndTime(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaDuration() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetMediaDuration(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaLanguage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
GetMediaLanguage(Media theMedia); |
|
|
|
|
|
/* |
|
* SetMediaLanguage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMediaLanguage( |
|
Media theMedia, |
|
short language); |
|
|
|
|
|
/* |
|
* GetMediaQuality() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
GetMediaQuality(Media theMedia); |
|
|
|
|
|
/* |
|
* SetMediaQuality() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMediaQuality( |
|
Media theMedia, |
|
short quality); |
|
|
|
|
|
/* |
|
* GetMediaHandlerDescription() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMediaHandlerDescription( |
|
Media theMedia, |
|
OSType * mediaType, |
|
Str255 creatorName, |
|
OSType * creatorManufacturer); |
|
|
|
|
|
/* |
|
* GetMediaUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( UserData ) |
|
GetMediaUserData(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaInputMap() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaInputMap( |
|
Media theMedia, |
|
QTAtomContainer * inputMap); |
|
|
|
|
|
/* |
|
* SetMediaInputMap() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaInputMap( |
|
Media theMedia, |
|
QTAtomContainer inputMap); |
|
|
|
|
|
/************************* |
|
* Media Handler routines |
|
**************************/ |
|
/* |
|
* GetMediaHandler() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( MediaHandler ) |
|
GetMediaHandler(Media theMedia); |
|
|
|
|
|
/* |
|
* SetMediaHandler() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaHandler( |
|
Media theMedia, |
|
MediaHandlerComponent mH); |
|
|
|
|
|
|
|
/************************* |
|
* Media's Data routines |
|
**************************/ |
|
/* |
|
* BeginMediaEdits() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
BeginMediaEdits(Media theMedia); |
|
|
|
|
|
/* |
|
* EndMediaEdits() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
EndMediaEdits(Media theMedia); |
|
|
|
|
|
/* |
|
* SetMediaDefaultDataRefIndex() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaDefaultDataRefIndex( |
|
Media theMedia, |
|
short index); |
|
|
|
|
|
/* |
|
* GetMediaDataHandlerDescription() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMediaDataHandlerDescription( |
|
Media theMedia, |
|
short index, |
|
OSType * dhType, |
|
Str255 creatorName, |
|
OSType * creatorManufacturer); |
|
|
|
|
|
/* |
|
* GetMediaDataHandler() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( DataHandler ) |
|
GetMediaDataHandler( |
|
Media theMedia, |
|
short index); |
|
|
|
|
|
/* |
|
* SetMediaDataHandler() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaDataHandler( |
|
Media theMedia, |
|
short index, |
|
DataHandlerComponent dataHandler); |
|
|
|
|
|
/* |
|
* GetDataHandler() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Component ) |
|
GetDataHandler( |
|
Handle dataRef, |
|
OSType dataHandlerSubType, |
|
long flags); |
|
|
|
|
|
/* |
|
* OpenADataHandler() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
OpenADataHandler( |
|
Handle dataRef, |
|
OSType dataHandlerSubType, |
|
Handle anchorDataRef, |
|
OSType anchorDataRefType, |
|
TimeBase tb, |
|
long flags, |
|
ComponentInstance * dh); |
|
|
|
|
|
/************************* |
|
* Media Sample Table Routines |
|
**************************/ |
|
/* |
|
* GetMediaSampleDescriptionCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetMediaSampleDescriptionCount(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaSampleDescription() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMediaSampleDescription( |
|
Media theMedia, |
|
long index, |
|
SampleDescriptionHandle descH); |
|
|
|
|
|
/* |
|
* SetMediaSampleDescription() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaSampleDescription( |
|
Media theMedia, |
|
long index, |
|
SampleDescriptionHandle descH); |
|
|
|
|
|
/* |
|
* GetMediaSampleCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetMediaSampleCount(Media theMedia); |
|
|
|
|
|
/* |
|
* GetMediaSyncSampleCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetMediaSyncSampleCount(Media theMedia); |
|
|
|
|
|
/* |
|
* MediaContainsDisplayOffsets() |
|
* |
|
* Summary: |
|
* Tests whether a media contains display offsets. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* Result: |
|
* True, if the media is valid and contains at least one sample with |
|
* a nonzero display offset. False otherwise. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
MediaContainsDisplayOffsets(Media theMedia); |
|
|
|
|
|
/* |
|
* SampleNumToMediaDecodeTime() |
|
* |
|
* Summary: |
|
* Finds the decode time for a specified sample. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* logicalSampleNum: |
|
* The sample number. |
|
* |
|
* sampleDecodeTime: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the decode time of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* sampleDecodeDuration: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the decode duration of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
SampleNumToMediaDecodeTime( |
|
Media theMedia, |
|
SInt64 logicalSampleNum, |
|
TimeValue64 * sampleDecodeTime, |
|
TimeValue64 * sampleDecodeDuration); |
|
|
|
|
|
/* |
|
* MediaDecodeTimeToSampleNum() |
|
* |
|
* Summary: |
|
* Finds the sample for a specified decode time. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* decodeTime: |
|
* The decode time for which you are retrieving sample |
|
* information. You must specify this value in the media's time |
|
* scale. |
|
* |
|
* sampleNum: |
|
* Points to a variable that is to receive the sample number. The |
|
* function returns the sample number that identifies the sample |
|
* that contains data for the specified decode time, or zero if it |
|
* is not found. |
|
* |
|
* sampleDecodeTime: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the decode time of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* sampleDecodeDuration: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the decode duration of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
MediaDecodeTimeToSampleNum( |
|
Media theMedia, |
|
TimeValue64 decodeTime, |
|
SInt64 * sampleNum, |
|
TimeValue64 * sampleDecodeTime, |
|
TimeValue64 * sampleDecodeDuration); |
|
|
|
|
|
/* |
|
* SampleNumToMediaDisplayTime() |
|
* |
|
* Summary: |
|
* Finds the display time for a specified sample. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* logicalSampleNum: |
|
* The sample number. |
|
* |
|
* sampleDisplayTime: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the display time of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* sampleDisplayDuration: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the display duration of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
SampleNumToMediaDisplayTime( |
|
Media theMedia, |
|
SInt64 logicalSampleNum, |
|
TimeValue64 * sampleDisplayTime, |
|
TimeValue64 * sampleDisplayDuration); |
|
|
|
|
|
/* |
|
* MediaDisplayTimeToSampleNum() |
|
* |
|
* Summary: |
|
* Finds the sample number for a specified display time. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* displayTime: |
|
* The display time for which you are retrieving sample |
|
* information. You must specify this value in the media's time |
|
* scale. |
|
* |
|
* sampleNum: |
|
* Points to a long integer that is to receive the sample number. |
|
* The function returns the sample number that identifies the |
|
* sample for the specified display time, or zero if it is not |
|
* found. |
|
* |
|
* sampleDisplayTime: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the display time of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* sampleDisplayDuration: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the display duration of the sample specified by the |
|
* logicalSampleNum parameter. This time value is expressed in the |
|
* media's time scale. Set this parameter to NULL if you do not |
|
* want this information. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
MediaDisplayTimeToSampleNum( |
|
Media theMedia, |
|
TimeValue64 displayTime, |
|
SInt64 * sampleNum, |
|
TimeValue64 * sampleDisplayTime, |
|
TimeValue64 * sampleDisplayDuration); |
|
|
|
|
|
/* |
|
* SampleNumToMediaTime() |
|
* |
|
* Summary: |
|
* Finds the media time for a specified sample. |
|
* |
|
* Discussion: |
|
* For media with display offsets, SampleNumToMediaTime is ambiguous |
|
* and will return kQTMediaHasDisplayOffsetsErr. Call |
|
* SampleNumToMediaDecodeTime or SampleNumToMediaDisplayTime instead. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SampleNumToMediaTime( |
|
Media theMedia, |
|
long logicalSampleNum, |
|
TimeValue * sampleTime, |
|
TimeValue * sampleDuration); |
|
|
|
|
|
/* |
|
* MediaTimeToSampleNum() |
|
* |
|
* Summary: |
|
* Finds the sample number for a specified media time. |
|
* |
|
* Discussion: |
|
* For media with display offsets, MediaTimeToSampleNum is ambiguous |
|
* and will return kQTMediaHasDisplayOffsetsErr. Call |
|
* MediaDecodeTimeToSampleNum or MediaDisplayTimeToSampleNum instead. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
MediaTimeToSampleNum( |
|
Media theMedia, |
|
TimeValue time, |
|
long * sampleNum, |
|
TimeValue * sampleTime, |
|
TimeValue * sampleDuration); |
|
|
|
|
|
/* |
|
* AddMediaSample2() |
|
* |
|
* Summary: |
|
* Adds sample data and a description to a media. AddMediaSample2 |
|
* extends and supercedes AddMediaSample. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* dataIn: |
|
* Points to sample data. |
|
* |
|
* size: |
|
* The number of bytes of sample data to be added to the media. |
|
* This parameter indicates the total number of bytes in the |
|
* sample data to be added to the media, not the number of bytes |
|
* per sample. Use the numberOfSamples parameter to indicate the |
|
* number of samples that are contained in the sample data. |
|
* |
|
* decodeDurationPerSample: |
|
* The duration of each sample to be added. You must specify this |
|
* parameter in the media time scale. For example, if you are |
|
* adding sound that was sampled at 22 kHz to a media that |
|
* contains a sound track with the same time scale, you would set |
|
* durationPerSample to 1. Similarly, if you are adding video that |
|
* was recorded at 10 frames per second to a video media that has |
|
* a time scale of 600, you would set this parameter to 60 to add |
|
* a single sample. |
|
* |
|
* displayOffset: |
|
* The offset from decode time to display time of each sample to |
|
* be added. You must specify this parameter in the media time |
|
* scale. If the decode times and display times for the samples |
|
* are identical, pass zero. |
|
* |
|
* sampleDescriptionH: |
|
* A handle to a SampleDescription structure. Some media |
|
* structures may require sample descriptions. There are different |
|
* descriptions for different types of samples. For example, a |
|
* media that contains compressed video requires that you supply |
|
* an ImageDescription structure. A media that contains sound |
|
* requires that you supply a SoundDescription structure. |
|
* |
|
* numberOfSamples: |
|
* The number of samples contained in the sample data to be added |
|
* to the media. |
|
* |
|
* sampleFlags: |
|
* Specifies the media sample flags for the samples to be added. |
|
* |
|
* sampleDecodeTimeOut: |
|
* A pointer to a time value. After adding the sample data to the |
|
* media, the AddMediaSample function returns the decode time |
|
* where the first sample was inserted in the time value referred |
|
* to by this parameter. If you don't want to receive this |
|
* information, set this parameter to NULL. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMediaSample2( |
|
Media theMedia, |
|
const UInt8 * dataIn, |
|
ByteCount size, |
|
TimeValue64 decodeDurationPerSample, |
|
TimeValue64 displayOffset, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
ItemCount numberOfSamples, |
|
MediaSampleFlags sampleFlags, |
|
TimeValue64 * sampleDecodeTimeOut); /* can be NULL */ |
|
|
|
|
|
/* |
|
* AddMediaSampleFromEncodedFrame() |
|
* |
|
* Summary: |
|
* Adds sample data and description from an encoded frame to a media. |
|
* |
|
* Discussion: |
|
* This is a convenience API to make it easy to add frames emitted |
|
* by ICM compression session APIs to media. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* encodedFrame: |
|
* An encoded frame token returned by an ICMCompressionSequence. |
|
* |
|
* sampleDecodeTimeOut: |
|
* A pointer to a time value. After adding the sample data to the |
|
* media, the function returns the decode time where the first |
|
* sample was inserted in the time value referred to by this |
|
* parameter. If you don't want to receive this information, set |
|
* this parameter to NULL. |
|
* |
|
* Result: |
|
* An operating system result code. |
|
* kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not |
|
* support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if |
|
* there is already a sample with this display time. |
|
* kQTDisplayTimeTooEarlyErr if a sample's display time would be |
|
* earlier than the display time of an existing sample that does not |
|
* have the mediaSampleEarlierDisplayTimesAllowed flag set. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMediaSampleFromEncodedFrame( |
|
Media theMedia, |
|
ICMEncodedFrameRef encodedFrame, |
|
TimeValue64 * sampleDecodeTimeOut); /* can be NULL */ |
|
|
|
|
|
/* |
|
* AddSampleTableToMedia() |
|
* |
|
* Summary: |
|
* Adds sample references from a sample table to a media. |
|
* AddSampleTableToMedia supercedes AddMediaSampleReferences and |
|
* AddMediaSampleReferences64. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* sampleTable: |
|
* The sample table containing sample references to be added to |
|
* the media. |
|
* |
|
* startSampleNum: |
|
* The sample number of the first sample reference in the sample |
|
* table to be added to the media. The first sample's number is 1. |
|
* |
|
* numberOfSamples: |
|
* The number of sample references from the sample table to be |
|
* added to the media. |
|
* |
|
* sampleDecodeTimeOut: |
|
* A pointer to a time value. After adding the sample references |
|
* to the media, the function returns the decode time where the |
|
* first sample was inserted in the time value referred to by this |
|
* parameter. If you don't want to receive this information, set |
|
* this parameter to NULL. |
|
* |
|
* Result: |
|
* An operating system result code. |
|
* kQTMediaDoesNotSupportDisplayOffsetsErr if the media does not |
|
* support nonzero display offsets. kQTDisplayTimeAlreadyInUseErr if |
|
* there is already a sample with this display time. |
|
* kQTDisplayTimeTooEarlyErr if a sample's display time would be |
|
* earlier than the display time of an existing sample that does not |
|
* have the mediaSampleEarlierDisplayTimesAllowed flag set. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddSampleTableToMedia( |
|
Media theMedia, |
|
QTSampleTableRef sampleTable, |
|
SInt64 startSampleNum, |
|
SInt64 numberOfSamples, |
|
TimeValue64 * sampleDecodeTimeOut); /* can be NULL */ |
|
|
|
|
|
/* |
|
* AddMediaSample() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMediaSample( |
|
Media theMedia, |
|
Handle dataIn, |
|
long inOffset, |
|
unsigned long size, |
|
TimeValue durationPerSample, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long numberOfSamples, |
|
short sampleFlags, |
|
TimeValue * sampleTime); |
|
|
|
|
|
/* |
|
* AddMediaSampleReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMediaSampleReference( |
|
Media theMedia, |
|
long dataOffset, |
|
unsigned long size, |
|
TimeValue durationPerSample, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long numberOfSamples, |
|
short sampleFlags, |
|
TimeValue * sampleTime); |
|
|
|
|
|
/* |
|
* AddMediaSampleReferences() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMediaSampleReferences( |
|
Media theMedia, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long numberOfSamples, |
|
SampleReferencePtr sampleRefs, |
|
TimeValue * sampleTime); |
|
|
|
|
|
/* |
|
* AddMediaSampleReferences64() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMediaSampleReferences64( |
|
Media theMedia, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long numberOfSamples, |
|
SampleReference64Ptr sampleRefs, |
|
TimeValue * sampleTime); |
|
|
|
|
|
/* |
|
* ExtendMediaDecodeDurationToDisplayEndTime() |
|
* |
|
* Summary: |
|
* Prepares a media for the addition of a completely new sequence of |
|
* samples by ensuring that the media display end time is not later |
|
* than the media decode end time. |
|
* |
|
* Discussion: |
|
* After adding a complete, well-formed set of samples to a media, |
|
* the media's display end time should be the same as the media's |
|
* decode end time (also called the media decode duration). |
|
* However, this is not necessarily the case after individual |
|
* sample-adding operations, and hence it is possible for a media to |
|
* be left with a display end time later than its decode end time -- |
|
* if adding a sequence of frames is aborted halfway, for example. |
|
* |
|
* This may make it difficult to add a new group of samples, because |
|
* a well-formed group of samples' earliest display time should be |
|
* the same as the first frame's decode time. If such a well-formed |
|
* group is added to an incompletely finished media, frames from the |
|
* old and new groups frames might collide in display time. |
|
* ExtendMediaDecodeDurationToDisplayEndTime prevents any such |
|
* collision or overlap by extending the last sample's decode |
|
* duration as necessary. It ensures that the next added sample |
|
* will have a decode time no earlier than the media's display end |
|
* time. If this was already the case, it makes no change to the |
|
* media. |
|
* You can call ExtendMediaDecodeDurationToDisplayEndTime before you |
|
* begin adding samples to a media if you're not certain that the |
|
* media was left in a well-finished state. You do not need to call |
|
* it before adding samples to a newly created media, nor should you |
|
* call it in between samples from the same compression session. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* mediaChanged: |
|
* Points to a variable which will be set to true if any samples |
|
* in the media were adjusted, false otherwise. If you don't want |
|
* to receive this information, set this parameter to NULL. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ExtendMediaDecodeDurationToDisplayEndTime( |
|
Media theMedia, |
|
Boolean * mediaChanged); |
|
|
|
|
|
/* |
|
* GetMediaSample2() |
|
* |
|
* Summary: |
|
* Retrieves sample data from a media file. GetMediaSample2 extends |
|
* and supercedes GetMediaSample. |
|
* |
|
* Discussion: |
|
* GetMediaSample2 will only return multiple samples that all have |
|
* the same decode duration per sample, the same display offset, the |
|
* same sample description, and the same size per sample. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* dataOut: |
|
* Points to a buffer to receive sample data. The buffer must be |
|
* large enough to contain at least maxDataSize bytes. If you do |
|
* not want to receive sample data, pass NULL. |
|
* |
|
* maxDataSize: |
|
* The maximum number of bytes of data to receive. |
|
* |
|
* size: |
|
* Points to a long integer to receive the number of bytes of |
|
* sample data returned. Pass NULL if you are not interested this |
|
* information. |
|
* |
|
* decodeTime: |
|
* The decode time for which you are retrieving sample |
|
* information. You must specify this value in the media's time |
|
* scale. |
|
* |
|
* sampleDecodeTime: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the actual decode time of the returned sample data. |
|
* (The returned time may differ from the time you specified with |
|
* the decodeTime parameter. This will occur if the time you |
|
* specified falls in the middle of a sample.) If you are not |
|
* interested in this information, set this parameter to NULL. |
|
* |
|
* decodeDurationPerSample: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the decode duration of each of the returned |
|
* samples. This time value is expressed in the media's time |
|
* scale. Set this parameter to NULL if you don't want this |
|
* information. |
|
* |
|
* displayOffset: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the display offset of the returned sample. This |
|
* time value is expressed in the media's time scale. Set this |
|
* parameter to NULL if you don't want this information. |
|
* |
|
* sampleDescriptionH: |
|
* A handle to a SampleDescription structure. The function returns |
|
* the sample description corresponding to the returned sample |
|
* data. The function resizes this handle as appropriate. If you |
|
* don't want a SampleDescription structure, set this parameter to |
|
* NULL. |
|
* |
|
* sampleDescriptionIndex: |
|
* A pointer to a long integer. The function returns an index |
|
* value to the SampleDescription structure that corresponds to |
|
* the returned sample data. You can retrieve the structure by |
|
* calling GetMediaSampleDescription and passing this index in the |
|
* index parameter. If you don't want this information, set this |
|
* parameter to NULL. |
|
* |
|
* maxNumberOfSamples: |
|
* The maximum number of samples to be returned. The Movie Toolbox |
|
* does not return more samples than you specify with this |
|
* parameter. If you set this parameter to 0, the Movie Toolbox |
|
* uses a value that is appropriate for the media, and returns |
|
* that value in the field referenced by the numberOfSamples |
|
* parameter. |
|
* |
|
* numberOfSamples: |
|
* A pointer to a long integer. The function updates the field |
|
* referred to by this parameter with the number of samples it |
|
* actually returns. If you don't want this information, set this |
|
* parameter to NULL. |
|
* |
|
* sampleFlags: |
|
* A pointer to a short integer in which the function returns |
|
* media sample flags for the returned samples. If you don't want |
|
* this information, set this parameter to NULL. |
|
* |
|
* Result: |
|
* An operating system result code. maxSizeToGrowTooSmall if the |
|
* sample data is larger than maxDataSize. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaSample2( |
|
Media theMedia, |
|
UInt8 * dataOut, |
|
ByteCount maxDataSize, |
|
ByteCount * size, |
|
TimeValue64 decodeTime, |
|
TimeValue64 * sampleDecodeTime, |
|
TimeValue64 * decodeDurationPerSample, |
|
TimeValue64 * displayOffset, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
ItemCount * sampleDescriptionIndex, |
|
ItemCount maxNumberOfSamples, |
|
ItemCount * numberOfSamples, |
|
MediaSampleFlags * sampleFlags); |
|
|
|
|
|
/* |
|
* GetMediaSample() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaSample( |
|
Media theMedia, |
|
Handle dataOut, |
|
long maxSizeToGrow, |
|
long * size, |
|
TimeValue time, |
|
TimeValue * sampleTime, |
|
TimeValue * durationPerSample, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long * sampleDescriptionIndex, |
|
long maxNumberOfSample, |
|
long * numberOfSamples, |
|
short * sampleFlags); |
|
|
|
|
|
/* |
|
* CopyMediaMutableSampleTable() |
|
* |
|
* Summary: |
|
* Obtains information about sample references in a media in the |
|
* form of a sample table. CopyMediaMutableSampleTable supercedes |
|
* GetMediaSampleReferences and GetMediaSampleReferences64. |
|
* |
|
* Discussion: |
|
* When you are done with the returned sample table, release it with |
|
* QTSampleTableRelease. |
|
* To find out how many samples were returned in the sample table, |
|
* call QTSampleTableGetNumberOfSamples. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* startDecodeTime: |
|
* The starting decode time of the sample references to be |
|
* retrieved. You must specify this value in the media's time |
|
* scale. |
|
* |
|
* sampleStartDecodeTime: |
|
* A pointer to a time value. The function updates this time value |
|
* to indicate the actual decode time of the first returned sample |
|
* reference. (The returned time may differ from the time you |
|
* specified with the startDecodeTime parameter. This will occur |
|
* if the time you specified falls in the middle of a sample.) If |
|
* you are not interested in this information, set this parameter |
|
* to NULL. |
|
* |
|
* maxNumberOfSamples: |
|
* The maximum number of sample references to be returned. If you |
|
* set this parameter to 0, the Movie Toolbox uses a value that is |
|
* appropriate to the media. |
|
* |
|
* maxDecodeDuration: |
|
* The maximum decode duration to be returned. The function does |
|
* not return samples with greater decode duration than you |
|
* specify with this parameter. If you set this parameter to 0, |
|
* the Movie Toolbox uses a value that is appropriate for the |
|
* media. |
|
* |
|
* sampleTableOut: |
|
* A pointer to a sample table reference to receive the newly |
|
* created mutable sample table. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CopyMediaMutableSampleTable( |
|
Media theMedia, |
|
TimeValue64 startDecodeTime, |
|
TimeValue64 * sampleStartDecodeTime, |
|
SInt64 maxNumberOfSamples, |
|
TimeValue64 maxDecodeDuration, |
|
QTMutableSampleTableRef * sampleTableOut); |
|
|
|
|
|
/* |
|
* GetMediaSampleReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaSampleReference( |
|
Media theMedia, |
|
long * dataOffset, |
|
long * size, |
|
TimeValue time, |
|
TimeValue * sampleTime, |
|
TimeValue * durationPerSample, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long * sampleDescriptionIndex, |
|
long maxNumberOfSamples, |
|
long * numberOfSamples, |
|
short * sampleFlags); |
|
|
|
|
|
/* |
|
* GetMediaSampleReferences() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaSampleReferences( |
|
Media theMedia, |
|
TimeValue time, |
|
TimeValue * sampleTime, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long * sampleDescriptionIndex, |
|
long maxNumberOfEntries, |
|
long * actualNumberofEntries, |
|
SampleReferencePtr sampleRefs); |
|
|
|
|
|
/* |
|
* GetMediaSampleReferences64() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaSampleReferences64( |
|
Media theMedia, |
|
TimeValue time, |
|
TimeValue * sampleTime, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long * sampleDescriptionIndex, |
|
long maxNumberOfEntries, |
|
long * actualNumberofEntries, |
|
SampleReference64Ptr sampleRefs); |
|
|
|
|
|
/* |
|
* SetMediaPreferredChunkSize() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaPreferredChunkSize( |
|
Media theMedia, |
|
long maxChunkSize); |
|
|
|
|
|
/* |
|
* GetMediaPreferredChunkSize() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaPreferredChunkSize( |
|
Media theMedia, |
|
long * maxChunkSize); |
|
|
|
|
|
/* |
|
* SetMediaShadowSync() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaShadowSync( |
|
Media theMedia, |
|
long frameDiffSampleNum, |
|
long syncSampleNum); |
|
|
|
|
|
/* |
|
* GetMediaShadowSync() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaShadowSync( |
|
Media theMedia, |
|
long frameDiffSampleNum, |
|
long * syncSampleNum); |
|
|
|
|
|
/************************* |
|
* Editing Routines |
|
**************************/ |
|
/* |
|
When inserting media that might have nonzero display offsets into a track, use display time: |
|
InsertMediaIntoTrack( track, |
|
0, // track start time |
|
GetMediaDisplayStartTime( media ), // media start time |
|
GetMediaDisplayDuration( media ), |
|
fixed1 ); // normal speed |
|
It is safe to use these display time calls for media without display offsets. |
|
*/ |
|
/* |
|
* InsertMediaIntoTrack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
InsertMediaIntoTrack( |
|
Track theTrack, |
|
TimeValue trackStart, |
|
TimeValue mediaTime, |
|
TimeValue mediaDuration, |
|
Fixed mediaRate); |
|
|
|
|
|
/* |
|
* InsertTrackSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
InsertTrackSegment( |
|
Track srcTrack, |
|
Track dstTrack, |
|
TimeValue srcIn, |
|
TimeValue srcDuration, |
|
TimeValue dstIn); |
|
|
|
|
|
/* |
|
* InsertMovieSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
InsertMovieSegment( |
|
Movie srcMovie, |
|
Movie dstMovie, |
|
TimeValue srcIn, |
|
TimeValue srcDuration, |
|
TimeValue dstIn); |
|
|
|
|
|
/* |
|
* InsertEmptyTrackSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
InsertEmptyTrackSegment( |
|
Track dstTrack, |
|
TimeValue dstIn, |
|
TimeValue dstDuration); |
|
|
|
|
|
/* |
|
* InsertEmptyMovieSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
InsertEmptyMovieSegment( |
|
Movie dstMovie, |
|
TimeValue dstIn, |
|
TimeValue dstDuration); |
|
|
|
|
|
/* |
|
* DeleteTrackSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DeleteTrackSegment( |
|
Track theTrack, |
|
TimeValue startTime, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* DeleteMovieSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DeleteMovieSegment( |
|
Movie theMovie, |
|
TimeValue startTime, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* ScaleTrackSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ScaleTrackSegment( |
|
Track theTrack, |
|
TimeValue startTime, |
|
TimeValue oldDuration, |
|
TimeValue newDuration); |
|
|
|
|
|
/* |
|
* ScaleMovieSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ScaleMovieSegment( |
|
Movie theMovie, |
|
TimeValue startTime, |
|
TimeValue oldDuration, |
|
TimeValue newDuration); |
|
|
|
|
|
|
|
/************************* |
|
* Hi-level Editing Routines |
|
**************************/ |
|
/* |
|
* CutMovieSelection() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
CutMovieSelection(Movie theMovie); |
|
|
|
|
|
/* |
|
* CopyMovieSelection() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
CopyMovieSelection(Movie theMovie); |
|
|
|
|
|
/* |
|
* PasteMovieSelection() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
PasteMovieSelection( |
|
Movie theMovie, |
|
Movie src); |
|
|
|
|
|
/* |
|
* AddMovieSelection() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
AddMovieSelection( |
|
Movie theMovie, |
|
Movie src); |
|
|
|
|
|
/* |
|
* ClearMovieSelection() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ClearMovieSelection(Movie theMovie); |
|
|
|
|
|
/* |
|
* PasteHandleIntoMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PasteHandleIntoMovie( |
|
Handle h, |
|
OSType handleType, |
|
Movie theMovie, |
|
long flags, |
|
ComponentInstance userComp); |
|
|
|
|
|
/* |
|
* PutMovieIntoTypedHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutMovieIntoTypedHandle( |
|
Movie theMovie, |
|
Track targetTrack, |
|
OSType handleType, |
|
Handle publicMovie, |
|
TimeValue start, |
|
TimeValue dur, |
|
long flags, |
|
ComponentInstance userComp); |
|
|
|
|
|
/* |
|
* IsScrapMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Component ) |
|
IsScrapMovie(Track targetTrack); |
|
|
|
|
|
/************************* |
|
* Middle-level Editing Routines |
|
**************************/ |
|
/* |
|
* CopyTrackSettings() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CopyTrackSettings( |
|
Track srcTrack, |
|
Track dstTrack); |
|
|
|
|
|
/* |
|
* CopyMovieSettings() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CopyMovieSettings( |
|
Movie srcMovie, |
|
Movie dstMovie); |
|
|
|
|
|
/* |
|
* AddEmptyTrackToMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddEmptyTrackToMovie( |
|
Track srcTrack, |
|
Movie dstMovie, |
|
Handle dataRef, |
|
OSType dataRefType, |
|
Track * dstTrack); |
|
|
|
|
|
enum { |
|
kQTCloneShareSamples = 1 << 0, |
|
kQTCloneDontCopyEdits = 1 << 1 |
|
}; |
|
|
|
/* |
|
* AddClonedTrackToMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddClonedTrackToMovie( |
|
Track srcTrack, |
|
Movie dstMovie, |
|
long flags, |
|
Track * dstTrack); |
|
|
|
|
|
/************************* |
|
* movie & track edit state routines |
|
**************************/ |
|
/* |
|
* NewMovieEditState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( MovieEditState ) |
|
NewMovieEditState(Movie theMovie); |
|
|
|
|
|
/* |
|
* UseMovieEditState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
UseMovieEditState( |
|
Movie theMovie, |
|
MovieEditState toState); |
|
|
|
|
|
/* |
|
* DisposeMovieEditState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DisposeMovieEditState(MovieEditState state); |
|
|
|
|
|
/* |
|
* NewTrackEditState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TrackEditState ) |
|
NewTrackEditState(Track theTrack); |
|
|
|
|
|
/* |
|
* UseTrackEditState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
UseTrackEditState( |
|
Track theTrack, |
|
TrackEditState state); |
|
|
|
|
|
/* |
|
* DisposeTrackEditState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DisposeTrackEditState(TrackEditState state); |
|
|
|
|
|
/************************* |
|
* track reference routines |
|
**************************/ |
|
/* |
|
* AddTrackReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddTrackReference( |
|
Track theTrack, |
|
Track refTrack, |
|
OSType refType, |
|
long * addedIndex); |
|
|
|
|
|
/* |
|
* DeleteTrackReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DeleteTrackReference( |
|
Track theTrack, |
|
OSType refType, |
|
long index); |
|
|
|
|
|
/* |
|
* SetTrackReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetTrackReference( |
|
Track theTrack, |
|
Track refTrack, |
|
OSType refType, |
|
long index); |
|
|
|
|
|
/* |
|
* GetTrackReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Track ) |
|
GetTrackReference( |
|
Track theTrack, |
|
OSType refType, |
|
long index); |
|
|
|
|
|
/* |
|
* GetNextTrackReferenceType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSType ) |
|
GetNextTrackReferenceType( |
|
Track theTrack, |
|
OSType refType); |
|
|
|
|
|
/* |
|
* GetTrackReferenceCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetTrackReferenceCount( |
|
Track theTrack, |
|
OSType refType); |
|
|
|
|
|
|
|
/************************* |
|
* high level file conversion routines |
|
**************************/ |
|
/* |
|
* ConvertFileToMovieFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ConvertFileToMovieFile( |
|
const FSSpec * inputFile, |
|
const FSSpec * outputFile, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
short * resID, |
|
long flags, |
|
ComponentInstance userComp, |
|
MovieProgressUPP proc, |
|
long refCon); |
|
|
|
|
|
/* |
|
* ConvertMovieToFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ConvertMovieToFile( |
|
Movie theMovie, |
|
Track onlyTrack, |
|
FSSpec * outputFile, |
|
OSType fileType, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
short * resID, |
|
long flags, |
|
ComponentInstance userComp); |
|
|
|
|
|
/* |
|
* ConvertMovieToDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ConvertMovieToDataRef( |
|
Movie m, |
|
Track onlyTrack, |
|
Handle dataRef, |
|
OSType dataRefType, |
|
OSType fileType, |
|
OSType creator, |
|
long flags, |
|
ComponentInstance userComp); |
|
|
|
|
|
/* |
|
* ConvertDataRefToMovieDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ConvertDataRefToMovieDataRef( |
|
Handle inputDataRef, |
|
OSType inputDataRefType, |
|
Handle outputDataRef, |
|
OSType outputDataRefType, |
|
OSType creator, |
|
long flags, |
|
ComponentInstance userComp, |
|
MovieProgressUPP proc, |
|
long refCon); |
|
|
|
|
|
enum { |
|
kGetMovieImporterValidateToFind = 1L << 0, |
|
kGetMovieImporterAllowNewFile = 1L << 1, |
|
kGetMovieImporterDontConsiderGraphicsImporters = 1L << 2, |
|
kGetMovieImporterDontConsiderFileOnlyImporters = 1L << 6, |
|
kGetMovieImporterAutoImportOnly = 1L << 10 /* reject aggressive movie importers which have dontAutoFileMovieImport set*/ |
|
}; |
|
|
|
/* |
|
* GetMovieImporterForDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieImporterForDataRef( |
|
OSType dataRefType, |
|
Handle dataRef, |
|
long flags, |
|
Component * importer); |
|
|
|
|
|
|
|
enum { |
|
kQTGetMIMETypeInfoIsQuickTimeMovieType = FOUR_CHAR_CODE('moov'), /* info is a pointer to a Boolean*/ |
|
kQTGetMIMETypeInfoIsUnhelpfulType = FOUR_CHAR_CODE('dumb') /* info is a pointer to a Boolean*/ |
|
}; |
|
|
|
/* |
|
* QTGetMIMETypeInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetMIMETypeInfo( |
|
const char * mimeStringStart, |
|
short mimeStringLength, |
|
OSType infoSelector, |
|
void * infoDataPtr, |
|
long * infoDataSize); |
|
|
|
|
|
|
|
/**************************** |
|
* Movie importer properties |
|
*****************************/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
kQTPropertyClass_MovieImporter = FOUR_CHAR_CODE('eat '), |
|
|
|
/* |
|
* kQTMovieImporterPropertyID_AllowMediaOptimization: Value is |
|
* Boolean (get/set) Allow QuickTime importers to optimize the media |
|
* representation during import. This may create media that is not |
|
* fully compatible with applications that use older low-level APIs |
|
* to access and manipulate media samples. For instance, this |
|
* property allows the MP3 importer to create VBR sample tables, |
|
* which may be incompatible with applications that use |
|
* GetMediaSample and SoundConverter to manually decode audio samples. |
|
*/ |
|
kQTMovieImporterPropertyID_AllowMediaOptimization = FOUR_CHAR_CODE('amop') /* Boolean*/ |
|
}; |
|
|
|
|
|
/************************* |
|
* Movie Timebase Conversion Routines |
|
**************************/ |
|
/* |
|
* TrackTimeToMediaDisplayTime() |
|
* |
|
* Summary: |
|
* Converts a track's time value to a display time value that is |
|
* appropriate to the track's media, using the track's edit list. |
|
* This is a 64-bit replacement for TrackTimeToMediaTime. |
|
* |
|
* Discussion: |
|
* This function maps the track time through the track's edit list |
|
* to come up with the media time. This time value contains the |
|
* track's time value according to the media's time coordinate |
|
* system. If the time you specified lies outside of the movie's |
|
* active segment or corresponds to empty space in the track, this |
|
* function returns a value of -1. Hence you can use it to determine |
|
* whether a specified track edit is empty. |
|
* |
|
* Parameters: |
|
* |
|
* value: |
|
* The track's time value; must be expressed in the time scale of |
|
* the movie that contains the track. |
|
* |
|
* theTrack: |
|
* The track for this operation. Your application obtains this |
|
* track identifier from such functions as NewMovieTrack and |
|
* GetMovieTrack. |
|
* |
|
* Result: |
|
* The corresponding time in media display time, in the media's time |
|
* coordinate system. If the track time corresponds to empty space, |
|
* this function returns a value of -1. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
TrackTimeToMediaDisplayTime( |
|
TimeValue64 value, |
|
Track theTrack); |
|
|
|
|
|
/* |
|
* TrackTimeToMediaTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
TrackTimeToMediaTime( |
|
TimeValue value, |
|
Track theTrack); |
|
|
|
|
|
/* |
|
* GetTrackEditRate64() |
|
* |
|
* Summary: |
|
* Returns the rate of the track edit of a specified track at an |
|
* indicated time. This is a 64-bit replacement for GetTrackEditRate. |
|
* |
|
* Discussion: |
|
* This function is useful if you are stepping through track edits |
|
* directly in your application or if you are a client of |
|
* QuickTime's base media handler. |
|
* |
|
* Parameters: |
|
* |
|
* theTrack: |
|
* The track identifier for which the rate of a track edit (at the |
|
* time given in the atTime parameter) is to be determined. |
|
* |
|
* atTime: |
|
* Indicates a time value at which the rate of a track edit (of a |
|
* track identified in the parameter theTrack) is to be determined. |
|
* |
|
* Result: |
|
* The rate of the track edit of the specified track at the |
|
* specified time. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( Fixed ) |
|
GetTrackEditRate64( |
|
Track theTrack, |
|
TimeValue64 atTime); |
|
|
|
|
|
/* |
|
* GetTrackEditRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Fixed ) |
|
GetTrackEditRate( |
|
Track theTrack, |
|
TimeValue atTime); |
|
|
|
|
|
|
|
/************************* |
|
* Miscellaneous Routines |
|
**************************/ |
|
|
|
/* |
|
* GetMovieDataSize() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetMovieDataSize( |
|
Movie theMovie, |
|
TimeValue startTime, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* GetMovieDataSize64() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieDataSize64( |
|
Movie theMovie, |
|
TimeValue startTime, |
|
TimeValue duration, |
|
wide * dataSize); |
|
|
|
|
|
/* |
|
* GetTrackDataSize() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetTrackDataSize( |
|
Track theTrack, |
|
TimeValue startTime, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* GetTrackDataSize64() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetTrackDataSize64( |
|
Track theTrack, |
|
TimeValue startTime, |
|
TimeValue duration, |
|
wide * dataSize); |
|
|
|
|
|
/* |
|
* GetMediaDataSizeTime64() |
|
* |
|
* Summary: |
|
* Determines the size, in bytes, of the sample data in a media |
|
* segment. This function uses 64-bit time values and returns a |
|
* 64-bit size. |
|
* |
|
* Discussion: |
|
* The only difference between this function and GetMediaDataSize64 |
|
* is that it uses 64-bit time values. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* startDisplayTime: |
|
* A time value specifying the starting point of the segment in |
|
* media display time. |
|
* |
|
* displayDuration: |
|
* A time value that specifies the duration of the segment in |
|
* media display time. |
|
* |
|
* dataSize: |
|
* Points to a variable to receive the size, in bytes, of the |
|
* sample data in the defined media segment. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaDataSizeTime64( |
|
Media theMedia, |
|
TimeValue64 startDisplayTime, |
|
TimeValue64 displayDuration, |
|
SInt64 * dataSize); |
|
|
|
|
|
/* |
|
* GetMediaDataSize() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetMediaDataSize( |
|
Media theMedia, |
|
TimeValue startTime, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* GetMediaDataSize64() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaDataSize64( |
|
Media theMedia, |
|
TimeValue startTime, |
|
TimeValue duration, |
|
wide * dataSize); |
|
|
|
|
|
/* |
|
* PtInMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
PtInMovie( |
|
Movie theMovie, |
|
Point pt); |
|
|
|
|
|
/* |
|
* PtInTrack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
PtInTrack( |
|
Track theTrack, |
|
Point pt); |
|
|
|
|
|
/************************* |
|
* Group Selection Routines |
|
**************************/ |
|
|
|
/* |
|
* SetMovieLanguage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieLanguage( |
|
Movie theMovie, |
|
long language); |
|
|
|
|
|
|
|
/************************* |
|
* User Data |
|
**************************/ |
|
|
|
/* |
|
* GetUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetUserData( |
|
UserData theUserData, |
|
Handle data, |
|
OSType udType, |
|
long index); |
|
|
|
|
|
/* |
|
* AddUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddUserData( |
|
UserData theUserData, |
|
Handle data, |
|
OSType udType); |
|
|
|
|
|
/* |
|
* RemoveUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
RemoveUserData( |
|
UserData theUserData, |
|
OSType udType, |
|
long index); |
|
|
|
|
|
/* |
|
* CountUserDataType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
CountUserDataType( |
|
UserData theUserData, |
|
OSType udType); |
|
|
|
|
|
/* |
|
* GetNextUserDataType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetNextUserDataType( |
|
UserData theUserData, |
|
OSType udType); |
|
|
|
|
|
/* |
|
* GetUserDataItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetUserDataItem( |
|
UserData theUserData, |
|
void * data, |
|
long size, |
|
OSType udType, |
|
long index); |
|
|
|
|
|
/* |
|
* SetUserDataItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetUserDataItem( |
|
UserData theUserData, |
|
void * data, |
|
long size, |
|
OSType udType, |
|
long index); |
|
|
|
|
|
/* |
|
* AddUserDataText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddUserDataText( |
|
UserData theUserData, |
|
Handle data, |
|
OSType udType, |
|
long index, |
|
short itlRegionTag); |
|
|
|
|
|
/* |
|
* GetUserDataText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetUserDataText( |
|
UserData theUserData, |
|
Handle data, |
|
OSType udType, |
|
long index, |
|
short itlRegionTag); |
|
|
|
|
|
/* |
|
* RemoveUserDataText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
RemoveUserDataText( |
|
UserData theUserData, |
|
OSType udType, |
|
long index, |
|
short itlRegionTag); |
|
|
|
|
|
/* |
|
* NewUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewUserData(UserData * theUserData); |
|
|
|
|
|
/* |
|
* DisposeUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DisposeUserData(UserData theUserData); |
|
|
|
|
|
/* |
|
* NewUserDataFromHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewUserDataFromHandle( |
|
Handle h, |
|
UserData * theUserData); |
|
|
|
|
|
/* |
|
* PutUserDataIntoHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutUserDataIntoHandle( |
|
UserData theUserData, |
|
Handle h); |
|
|
|
|
|
|
|
enum { |
|
kQTCopyUserDataReplace = FOUR_CHAR_CODE('rplc'), /* Delete all destination user data items and then add source user data items */ |
|
kQTCopyUserDataMerge = FOUR_CHAR_CODE('merg') /* Add source user data items to destination user data */ |
|
}; |
|
|
|
/* |
|
* CopyMovieUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CopyMovieUserData( |
|
Movie srcMovie, |
|
Movie dstMovie, |
|
OSType copyRule); |
|
|
|
|
|
/* |
|
* CopyTrackUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CopyTrackUserData( |
|
Track srcTrack, |
|
Track dstTrack, |
|
OSType copyRule); |
|
|
|
|
|
/* |
|
* CopyMediaUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CopyMediaUserData( |
|
Media srcMedia, |
|
Media dstMedia, |
|
OSType copyRule); |
|
|
|
|
|
/* |
|
* CopyUserData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CopyUserData( |
|
UserData srcUserData, |
|
UserData dstUserData, |
|
OSType copyRule); |
|
|
|
|
|
|
|
/* |
|
* SetMoviePropertyAtom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMoviePropertyAtom( |
|
Movie theMovie, |
|
QTAtomContainer propertyAtom); |
|
|
|
|
|
/* |
|
* GetMoviePropertyAtom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMoviePropertyAtom( |
|
Movie theMovie, |
|
QTAtomContainer * propertyAtom); |
|
|
|
|
|
/* |
|
* GetMediaNextInterestingDecodeTime() |
|
* |
|
* Summary: |
|
* Searches for decode times of interest in a media. |
|
* |
|
* Discussion: |
|
* This function takes the same flags as GetMediaNextInterestingTime. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* interestingTimeFlags: |
|
* Contains flags that determine the search criteria. Note that |
|
* you may set only one of the nextTimeMediaSample, |
|
* nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused |
|
* flags to 0. |
|
* |
|
* decodeTime: |
|
* Specifies a time value that establishes the starting point for |
|
* the search. This time value must be expressed in the media's |
|
* time scale. |
|
* |
|
* rate: |
|
* The search direction. Negative values cause the Movie Toolbox |
|
* to search backward from the starting point specified in the |
|
* decodeTime parameter. Other values cause a forward search. |
|
* |
|
* interestingDecodeTime: |
|
* A pointer to a time value. The Movie Toolbox returns the first |
|
* decode time value it finds that meets the search criteria |
|
* specified in the flags parameter. This time value is in the |
|
* media's time scale. If there are no times that meet the search |
|
* criteria you specify, the Movie Toolbox sets this value to -1. |
|
* Set this parameter to NULL if you are not interested in this |
|
* information. |
|
* |
|
* interestingDecodeDuration: |
|
* A pointer to a time value. The Movie Toolbox returns the decode |
|
* duration of the interesting time. This time value is in the |
|
* media's time coordinate system. Set this parameter to NULL if |
|
* you don't want this information; this lets the function work |
|
* faster. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMediaNextInterestingDecodeTime( |
|
Media theMedia, |
|
short interestingTimeFlags, |
|
TimeValue64 decodeTime, |
|
Fixed rate, |
|
TimeValue64 * interestingDecodeTime, |
|
TimeValue64 * interestingDecodeDuration); |
|
|
|
|
|
/* |
|
* GetMediaNextInterestingDisplayTime() |
|
* |
|
* Summary: |
|
* Searches for display times of interest in a media. |
|
* |
|
* Discussion: |
|
* This function takes the same flags as GetMediaNextInterestingTime. |
|
* |
|
* Parameters: |
|
* |
|
* theMedia: |
|
* The media for this operation. Your application obtains this |
|
* media identifier from such functions as NewTrackMedia and |
|
* GetTrackMedia. |
|
* |
|
* interestingTimeFlags: |
|
* Contains flags that determine the search criteria. Note that |
|
* you may set only one of the nextTimeMediaSample, |
|
* nextTimeMediaEdit or nextTimeSyncSample flags to 1. Set unused |
|
* flags to 0. |
|
* |
|
* displayTime: |
|
* Specifies a time value that establishes the starting point for |
|
* the search. This time value must be expressed in the media's |
|
* time scale. |
|
* |
|
* rate: |
|
* The search direction. Negative values cause the Movie Toolbox |
|
* to search backward from the starting point specified in the |
|
* time parameter. Other values cause a forward search. |
|
* |
|
* interestingDisplayTime: |
|
* A pointer to a time value. The Movie Toolbox returns the first |
|
* display time value it finds that meets the search criteria |
|
* specified in the flags parameter. This time value is in the |
|
* media's time scale. If there are no times that meet the search |
|
* criteria you specify, the Movie Toolbox sets this value to -1. |
|
* Set this parameter to NULL if you are not interested in this |
|
* information. |
|
* |
|
* interestingDisplayDuration: |
|
* A pointer to a time value. The Movie Toolbox returns the |
|
* display duration of the interesting time. This time value is in |
|
* the media's time coordinate system. Set this parameter to NULL |
|
* if you don't want this information; this lets the function work |
|
* faster. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMediaNextInterestingDisplayTime( |
|
Media theMedia, |
|
short interestingTimeFlags, |
|
TimeValue64 displayTime, |
|
Fixed rate, |
|
TimeValue64 * interestingDisplayTime, |
|
TimeValue64 * interestingDisplayDuration); |
|
|
|
|
|
/* |
|
* GetMediaNextInterestingTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMediaNextInterestingTime( |
|
Media theMedia, |
|
short interestingTimeFlags, |
|
TimeValue time, |
|
Fixed rate, |
|
TimeValue * interestingTime, |
|
TimeValue * interestingDuration); |
|
|
|
|
|
/* |
|
* GetTrackNextInterestingTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetTrackNextInterestingTime( |
|
Track theTrack, |
|
short interestingTimeFlags, |
|
TimeValue time, |
|
Fixed rate, |
|
TimeValue * interestingTime, |
|
TimeValue * interestingDuration); |
|
|
|
|
|
/* |
|
* GetMovieNextInterestingTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieNextInterestingTime( |
|
Movie theMovie, |
|
short interestingTimeFlags, |
|
short numMediaTypes, |
|
const OSType * whichMediaTypes, |
|
TimeValue time, |
|
Fixed rate, |
|
TimeValue * interestingTime, |
|
TimeValue * interestingDuration); |
|
|
|
|
|
|
|
/* |
|
* CreateMovieFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CreateMovieFile( |
|
const FSSpec * fileSpec, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
long createMovieFileFlags, |
|
short * resRefNum, |
|
Movie * newmovie); |
|
|
|
|
|
/* |
|
* OpenMovieFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
OpenMovieFile( |
|
const FSSpec * fileSpec, |
|
short * resRefNum, |
|
SInt8 permission); |
|
|
|
|
|
/* |
|
* CloseMovieFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CloseMovieFile(short resRefNum); |
|
|
|
|
|
/* |
|
* DeleteMovieFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DeleteMovieFile(const FSSpec * fileSpec); |
|
|
|
|
|
/* |
|
* NewMovieFromFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieFromFile( |
|
Movie * theMovie, |
|
short resRefNum, |
|
short * resId, /* can be NULL */ |
|
StringPtr resName, |
|
short newMovieFlags, |
|
Boolean * dataRefWasChanged); /* can be NULL */ |
|
|
|
|
|
/* |
|
* NewMovieFromHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieFromHandle( |
|
Movie * theMovie, |
|
Handle h, |
|
short newMovieFlags, |
|
Boolean * dataRefWasChanged); |
|
|
|
|
|
/* |
|
* NewMovieFromDataFork() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieFromDataFork( |
|
Movie * theMovie, |
|
short fRefNum, |
|
long fileOffset, |
|
short newMovieFlags, |
|
Boolean * dataRefWasChanged); |
|
|
|
|
|
/* |
|
* NewMovieFromDataFork64() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieFromDataFork64( |
|
Movie * theMovie, |
|
long fRefNum, |
|
const wide * fileOffset, |
|
short newMovieFlags, |
|
Boolean * dataRefWasChanged); |
|
|
|
|
|
/* |
|
* NewMovieFromUserProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieFromUserProc( |
|
Movie * m, |
|
short flags, |
|
Boolean * dataRefWasChanged, |
|
GetMovieUPP getProc, |
|
void * refCon, |
|
Handle defaultDataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* NewMovieFromDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieFromDataRef( |
|
Movie * m, |
|
short flags, |
|
short * id, |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* NewMovieFromStorageOffset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieFromStorageOffset( |
|
Movie * theMovie, |
|
DataHandler dh, |
|
const wide * fileOffset, |
|
short newMovieFlags, |
|
Boolean * dataRefWasChanged); |
|
|
|
|
|
/* |
|
* NewMovieForDataRefFromHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewMovieForDataRefFromHandle( |
|
Movie * theMovie, |
|
Handle h, |
|
short newMovieFlags, |
|
Boolean * dataRefWasChanged, |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* AddMovieResource() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMovieResource( |
|
Movie theMovie, |
|
short resRefNum, |
|
short * resId, |
|
ConstStr255Param resName); |
|
|
|
|
|
/* |
|
* UpdateMovieResource() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
UpdateMovieResource( |
|
Movie theMovie, |
|
short resRefNum, |
|
short resId, |
|
ConstStr255Param resName); |
|
|
|
|
|
/* |
|
* RemoveMovieResource() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
RemoveMovieResource( |
|
short resRefNum, |
|
short resId); |
|
|
|
|
|
/* |
|
* CreateMovieStorage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CreateMovieStorage( |
|
Handle dataRef, |
|
OSType dataRefType, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
long createMovieFileFlags, |
|
DataHandler * outDataHandler, |
|
Movie * newmovie); |
|
|
|
|
|
/* |
|
* OpenMovieStorage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
OpenMovieStorage( |
|
Handle dataRef, |
|
OSType dataRefType, |
|
long flags, |
|
DataHandler * outDataHandler); |
|
|
|
|
|
/* |
|
* CloseMovieStorage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CloseMovieStorage(DataHandler dh); |
|
|
|
|
|
/* |
|
* DeleteMovieStorage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DeleteMovieStorage( |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* AddMovieToStorage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMovieToStorage( |
|
Movie theMovie, |
|
DataHandler dh); |
|
|
|
|
|
/* |
|
* UpdateMovieInStorage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
UpdateMovieInStorage( |
|
Movie theMovie, |
|
DataHandler dh); |
|
|
|
|
|
/* |
|
* HasMovieChanged() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
HasMovieChanged(Movie theMovie); |
|
|
|
|
|
/* |
|
* ClearMovieChanged() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ClearMovieChanged(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMovieDefaultDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMovieDefaultDataRef( |
|
Movie theMovie, |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* GetMovieDefaultDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieDefaultDataRef( |
|
Movie theMovie, |
|
Handle * dataRef, |
|
OSType * dataRefType); |
|
|
|
|
|
/* |
|
* SetMovieAnchorDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMovieAnchorDataRef( |
|
Movie theMovie, |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* GetMovieAnchorDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieAnchorDataRef( |
|
Movie theMovie, |
|
Handle * dataRef, |
|
OSType * dataRefType, |
|
long * outFlags); |
|
|
|
|
|
/* |
|
* SetMovieColorTable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMovieColorTable( |
|
Movie theMovie, |
|
CTabHandle ctab); |
|
|
|
|
|
/* |
|
* GetMovieColorTable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieColorTable( |
|
Movie theMovie, |
|
CTabHandle * ctab); |
|
|
|
|
|
/* |
|
* FlattenMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
FlattenMovie( |
|
Movie theMovie, |
|
long movieFlattenFlags, |
|
const FSSpec * theFile, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
long createMovieFileFlags, |
|
short * resId, |
|
ConstStr255Param resName); |
|
|
|
|
|
/* |
|
* FlattenMovieData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
FlattenMovieData( |
|
Movie theMovie, |
|
long movieFlattenFlags, |
|
const FSSpec * theFile, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
long createMovieFileFlags); |
|
|
|
|
|
/* |
|
* FlattenMovieDataToDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
FlattenMovieDataToDataRef( |
|
Movie theMovie, |
|
long movieFlattenFlags, |
|
Handle dataRef, |
|
OSType dataRefType, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
long createMovieFileFlags); |
|
|
|
|
|
/* |
|
* SetMovieProgressProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieProgressProc( |
|
Movie theMovie, |
|
MovieProgressUPP p, |
|
long refcon); |
|
|
|
|
|
/* |
|
* GetMovieProgressProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMovieProgressProc( |
|
Movie theMovie, |
|
MovieProgressUPP * p, |
|
long * refcon); |
|
|
|
|
|
/* |
|
* CreateShortcutMovieFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CreateShortcutMovieFile( |
|
const FSSpec * fileSpec, |
|
OSType creator, |
|
ScriptCode scriptTag, |
|
long createMovieFileFlags, |
|
Handle targetDataRef, |
|
OSType targetDataRefType); |
|
|
|
|
|
/* |
|
* MovieSearchText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
MovieSearchText( |
|
Movie theMovie, |
|
Ptr text, |
|
long size, |
|
long searchFlags, |
|
Track * searchTrack, |
|
TimeValue * searchTime, |
|
long * searchOffset); |
|
|
|
|
|
/* |
|
* GetPosterBox() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetPosterBox( |
|
Movie theMovie, |
|
Rect * boxRect); |
|
|
|
|
|
/* |
|
* SetPosterBox() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetPosterBox( |
|
Movie theMovie, |
|
const Rect * boxRect); |
|
|
|
|
|
/* |
|
* GetMovieSegmentDisplayBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetMovieSegmentDisplayBoundsRgn( |
|
Movie theMovie, |
|
TimeValue time, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* GetTrackSegmentDisplayBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
GetTrackSegmentDisplayBoundsRgn( |
|
Track theTrack, |
|
TimeValue time, |
|
TimeValue duration); |
|
|
|
|
|
/* |
|
* SetMovieCoverProcs() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieCoverProcs( |
|
Movie theMovie, |
|
MovieRgnCoverUPP uncoverProc, |
|
MovieRgnCoverUPP coverProc, |
|
long refcon); |
|
|
|
|
|
/* |
|
* GetMovieCoverProcs() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieCoverProcs( |
|
Movie theMovie, |
|
MovieRgnCoverUPP * uncoverProc, |
|
MovieRgnCoverUPP * coverProc, |
|
long * refcon); |
|
|
|
|
|
/* |
|
* GetTrackStatus() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
GetTrackStatus(Track theTrack); |
|
|
|
|
|
/* |
|
* GetMovieStatus() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
GetMovieStatus( |
|
Movie theMovie, |
|
Track * firstProblemTrack); |
|
|
|
|
|
enum { |
|
kMovieLoadStateError = -1L, |
|
kMovieLoadStateLoading = 1000, |
|
kMovieLoadStateLoaded = 2000, |
|
kMovieLoadStatePlayable = 10000, |
|
kMovieLoadStatePlaythroughOK = 20000, |
|
kMovieLoadStateComplete = 100000L |
|
}; |
|
|
|
/* |
|
* GetMovieLoadState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetMovieLoadState(Movie theMovie); |
|
|
|
|
|
|
|
#if TARGET_OS_MAC |
|
/**** |
|
Thread related Movie routines |
|
****/ |
|
/* |
|
* AttachMovieToCurrentThread() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AttachMovieToCurrentThread(Movie m); |
|
|
|
|
|
/* |
|
* DetachMovieFromCurrentThread() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DetachMovieFromCurrentThread(Movie m); |
|
|
|
|
|
/* |
|
* GetMovieThreadAttachState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMovieThreadAttachState( |
|
Movie m, |
|
Boolean * outAttachedToCurrentThread, |
|
Boolean * outAttachedToAnyThread); |
|
|
|
|
|
#endif /* TARGET_OS_MAC */ |
|
|
|
/**** |
|
CanQuickTimeOpenFile, etc. |
|
****/ |
|
/* Input flags for CanQuickTimeOpenFile/DataRef */ |
|
enum { |
|
kQTDontUseDataToFindImporter = 1L << 0, |
|
kQTDontLookForMovieImporterIfGraphicsImporterFound = 1L << 1, |
|
kQTAllowOpeningStillImagesAsMovies = 1L << 2, |
|
kQTAllowImportersThatWouldCreateNewFile = 1L << 3, |
|
kQTAllowAggressiveImporters = 1L << 4 /* eg, TEXT and PICT movie importers*/ |
|
}; |
|
|
|
/* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */ |
|
/* |
|
* CanQuickTimeOpenFile() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CanQuickTimeOpenFile( |
|
FSSpecPtr fileSpec, |
|
OSType fileType, |
|
OSType fileNameExtension, |
|
Boolean * outCanOpenWithGraphicsImporter, |
|
Boolean * outCanOpenAsMovie, |
|
Boolean * outPreferGraphicsImporter, |
|
UInt32 inFlags); |
|
|
|
|
|
/* Determines whether the file could be opened using a graphics importer or opened in place as a movie. */ |
|
/* |
|
* CanQuickTimeOpenDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CanQuickTimeOpenDataRef( |
|
Handle dataRef, |
|
OSType dataRefType, |
|
Boolean * outCanOpenWithGraphicsImporter, |
|
Boolean * outCanOpenAsMovie, |
|
Boolean * outPreferGraphicsImporter, |
|
UInt32 inFlags); |
|
|
|
|
|
|
|
/**** |
|
Data Reference Utilities |
|
****/ |
|
enum { |
|
kQTNativeDefaultPathStyle = -1, |
|
kQTPOSIXPathStyle = 0, |
|
kQTHFSPathStyle = 1, |
|
kQTWindowsPathStyle = 2 |
|
}; |
|
|
|
|
|
typedef unsigned long QTPathStyle; |
|
/* |
|
* QTNewDataReferenceFromFSRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewDataReferenceFromFSRef( |
|
const FSRef * fileRef, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTNewDataReferenceFromFSRefCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewDataReferenceFromFSRefCFString( |
|
const FSRef * directoryRef, |
|
CFStringRef fileName, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTNewDataReferenceFromFSSpec() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewDataReferenceFromFSSpec( |
|
const FSSpec * fsspec, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTNewDataReferenceWithDirectoryCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewDataReferenceWithDirectoryCFString( |
|
Handle inDataRef, |
|
OSType inDataRefType, |
|
CFStringRef targetName, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTNewDataReferenceFromFullPathCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewDataReferenceFromFullPathCFString( |
|
CFStringRef filePath, |
|
QTPathStyle pathStyle, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTNewDataReferenceFromCFURL() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewDataReferenceFromCFURL( |
|
CFURLRef url, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTNewDataReferenceFromURLCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewDataReferenceFromURLCFString( |
|
CFStringRef urlString, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
|
|
/* |
|
* QTGetDataReferenceDirectoryDataReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetDataReferenceDirectoryDataReference( |
|
Handle dataRef, |
|
OSType dataRefType, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTGetDataReferenceTargetNameCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetDataReferenceTargetNameCFString( |
|
Handle dataRef, |
|
OSType dataRefType, |
|
CFStringRef * name); |
|
|
|
|
|
/* |
|
* QTGetDataReferenceFullPathCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetDataReferenceFullPathCFString( |
|
Handle dataRef, |
|
OSType dataRefType, |
|
QTPathStyle style, |
|
CFStringRef * outPath); |
|
|
|
|
|
|
|
/* |
|
* QTGetDataHandlerDirectoryDataReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetDataHandlerDirectoryDataReference( |
|
DataHandler dh, |
|
UInt32 flags, |
|
Handle * outDataRef, |
|
OSType * outDataRefType); |
|
|
|
|
|
/* |
|
* QTGetDataHandlerTargetNameCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetDataHandlerTargetNameCFString( |
|
DataHandler dh, |
|
CFStringRef * fileName); |
|
|
|
|
|
/* |
|
* QTGetDataHandlerFullPathCFString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetDataHandlerFullPathCFString( |
|
DataHandler dh, |
|
QTPathStyle style, |
|
CFStringRef * outPath); |
|
|
|
|
|
|
|
|
|
/**** |
|
Movie Controller support routines |
|
****/ |
|
/* |
|
* NewMovieController() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentInstance ) |
|
NewMovieController( |
|
Movie theMovie, |
|
const Rect * movieRect, |
|
long someFlags); |
|
|
|
|
|
/* |
|
* DisposeMovieController() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeMovieController(ComponentInstance mc); |
|
|
|
|
|
/* |
|
* ShowMovieInformation() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ShowMovieInformation( |
|
Movie theMovie, |
|
ModalFilterUPP filterProc, |
|
long refCon); |
|
|
|
|
|
|
|
/***** |
|
Scrap routines |
|
*****/ |
|
/* |
|
* PutMovieOnScrap() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
PutMovieOnScrap( |
|
Movie theMovie, |
|
long movieScrapFlags); |
|
|
|
|
|
/* |
|
* NewMovieFromScrap() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
NewMovieFromScrap(long newMovieFlags); |
|
|
|
|
|
|
|
/***** |
|
DataRef routines |
|
*****/ |
|
|
|
/* |
|
* GetMediaDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaDataRef( |
|
Media theMedia, |
|
short index, |
|
Handle * dataRef, |
|
OSType * dataRefType, |
|
long * dataRefAttributes); |
|
|
|
|
|
/* |
|
* SetMediaDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaDataRef( |
|
Media theMedia, |
|
short index, |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* SetMediaDataRefAttributes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaDataRefAttributes( |
|
Media theMedia, |
|
short index, |
|
long dataRefAttributes); |
|
|
|
|
|
/* |
|
* AddMediaDataRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMediaDataRef( |
|
Media theMedia, |
|
short * index, |
|
Handle dataRef, |
|
OSType dataRefType); |
|
|
|
|
|
/* |
|
* GetMediaDataRefCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaDataRefCount( |
|
Media theMedia, |
|
short * count); |
|
|
|
|
|
/* |
|
* QTNewAlias() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewAlias( |
|
const FSSpec * fss, |
|
AliasHandle * alias, |
|
Boolean minimal); |
|
|
|
|
|
/***** |
|
Playback hint routines |
|
*****/ |
|
/* |
|
* SetMoviePlayHints() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMoviePlayHints( |
|
Movie theMovie, |
|
long flags, |
|
long flagsMask); |
|
|
|
|
|
/* |
|
* SetMediaPlayHints() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMediaPlayHints( |
|
Media theMedia, |
|
long flags, |
|
long flagsMask); |
|
|
|
|
|
/* |
|
* GetMediaPlayHints() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetMediaPlayHints( |
|
Media theMedia, |
|
long * flags); |
|
|
|
|
|
/***** |
|
Load time track hints |
|
*****/ |
|
enum { |
|
preloadAlways = 1L << 0, |
|
preloadOnlyIfEnabled = 1L << 1 |
|
}; |
|
|
|
/* |
|
* SetTrackLoadSettings() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackLoadSettings( |
|
Track theTrack, |
|
TimeValue preloadTime, |
|
TimeValue preloadDuration, |
|
long preloadFlags, |
|
long defaultHints); |
|
|
|
|
|
/* |
|
* GetTrackLoadSettings() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
GetTrackLoadSettings( |
|
Track theTrack, |
|
TimeValue * preloadTime, |
|
TimeValue * preloadDuration, |
|
long * preloadFlags, |
|
long * defaultHints); |
|
|
|
|
|
/***** |
|
Big screen TV |
|
*****/ |
|
enum { |
|
fullScreenHideCursor = 1L << 0, |
|
fullScreenAllowEvents = 1L << 1, |
|
fullScreenDontChangeMenuBar = 1L << 2, |
|
fullScreenPreflightSize = 1L << 3, |
|
fullScreenDontSwitchMonitorResolution = 1L << 4, |
|
fullScreenCaptureDisplay = 1 << 5L, /* capturedisplay is a mac os x specific parameter */ |
|
fullScreenCaptureAllDisplays = 1 << 6L /* capturealldisplays is a mac os x specific parameter */ |
|
}; |
|
|
|
/* |
|
* BeginFullScreen() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
BeginFullScreen( |
|
Ptr * restoreState, |
|
GDHandle whichGD, |
|
short * desiredWidth, |
|
short * desiredHeight, |
|
WindowRef * newWindow, |
|
RGBColor * eraseColor, |
|
long flags); |
|
|
|
|
|
/* |
|
* EndFullScreen() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
EndFullScreen( |
|
Ptr fullState, |
|
long flags); |
|
|
|
|
|
/***** |
|
Wired Actions |
|
*****/ |
|
/* flags for MovieExecuteWiredActions*/ |
|
enum { |
|
movieExecuteWiredActionDontExecute = 1L << 0 |
|
}; |
|
|
|
/* |
|
* AddMovieExecuteWiredActionsProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddMovieExecuteWiredActionsProc( |
|
Movie theMovie, |
|
MovieExecuteWiredActionsUPP proc, |
|
void * refCon); |
|
|
|
|
|
/* |
|
* RemoveMovieExecuteWiredActionsProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
RemoveMovieExecuteWiredActionsProc( |
|
Movie theMovie, |
|
MovieExecuteWiredActionsUPP proc, |
|
void * refCon); |
|
|
|
|
|
/* |
|
* MovieExecuteWiredActions() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
MovieExecuteWiredActions( |
|
Movie theMovie, |
|
long flags, |
|
QTAtomContainer actions); |
|
|
|
|
|
/***** |
|
Keyboard Navigation/Editable Text Field Support |
|
*****/ |
|
/* |
|
Navigation Direction Constants |
|
for MediaNavigateTargetRefCon |
|
*/ |
|
enum { |
|
kRefConNavigationNext = 0, |
|
kRefConNavigationPrevious = 1 |
|
}; |
|
|
|
/* |
|
Refcon Properties |
|
for MediaRefConGetProerty/MediaRefConSetProperty |
|
*/ |
|
enum { |
|
kRefConPropertyCanHaveFocus = 1, /* Boolean */ |
|
kRefConPropertyHasFocus = 2 /* Boolean */ |
|
}; |
|
|
|
/* media properties*/ |
|
enum { |
|
kTrackFocusCanEditFlag = FOUR_CHAR_CODE('kedt'), |
|
kTrackDefaultFocusFlags = FOUR_CHAR_CODE('kfoc'), |
|
kTrackFocusDefaultRefcon = FOUR_CHAR_CODE('kref') |
|
}; |
|
|
|
/* focus flags*/ |
|
enum { |
|
kTrackFocusOn = 1, |
|
kTrackHandlesTabs = 2 /* this is reserved for a future release*/ |
|
}; |
|
|
|
/***** |
|
Flash track properties |
|
*****/ |
|
enum { |
|
kFlashTrackPropertyAcceptAllClicks = FOUR_CHAR_CODE('clik') /* type of media property atom; data is a Boolean */ |
|
}; |
|
|
|
/***** |
|
Sprite Toolbox |
|
*****/ |
|
enum { |
|
kBackgroundSpriteLayerNum = 32767 |
|
}; |
|
|
|
|
|
/* Sprite Properties*/ |
|
enum { |
|
kSpritePropertyMatrix = 1, |
|
kSpritePropertyImageDescription = 2, |
|
kSpritePropertyImageDataPtr = 3, |
|
kSpritePropertyVisible = 4, |
|
kSpritePropertyLayer = 5, |
|
kSpritePropertyGraphicsMode = 6, |
|
kSpritePropertyImageDataSize = 7, |
|
kSpritePropertyActionHandlingSpriteID = 8, |
|
kSpritePropertyCanBeHitTested = 9, |
|
kSpritePropertyImageIndex = 100, |
|
kSpriteTrackPropertyBackgroundColor = 101, |
|
kSpriteTrackPropertyOffscreenBitDepth = 102, |
|
kSpriteTrackPropertySampleFormat = 103, |
|
kSpriteTrackPropertyScaleSpritesToScaleWorld = 104, |
|
kSpriteTrackPropertyHasActions = 105, |
|
kSpriteTrackPropertyVisible = 106, |
|
kSpriteTrackPropertyQTIdleEventsFrequency = 107, |
|
kSpriteTrackPropertyAllSpritesHitTestingMode = 108, |
|
kSpriteTrackPropertyPreferredDepthInterpretationMode = 109, |
|
kSpriteImagePropertyRegistrationPoint = 1000, |
|
kSpriteImagePropertyGroupID = 1001 |
|
}; |
|
|
|
/* values for kSpriteTrackPropertyPreferredDepthInterpretationMode*/ |
|
enum { |
|
kSpriteTrackPreferredDepthCompatibilityMode = 0, |
|
kSpriteTrackPreferredDepthModernMode = 1 |
|
}; |
|
|
|
/* values for kSpriteTrackPropertyAllSpritesHitTestingMode*/ |
|
enum { |
|
kSpriteHitTestUseSpritesOwnPropertiesMode = 0, |
|
kSpriteHitTestTreatAllSpritesAsHitTestableMode = 1, |
|
kSpriteHitTestTreatAllSpritesAsNotHitTestableMode = 2 |
|
}; |
|
|
|
/* special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)*/ |
|
enum { |
|
kNoQTIdleEvents = -1 |
|
}; |
|
|
|
/* GetSpriteProperties for accessing invalid SpriteWorldRegion*/ |
|
enum { |
|
kGetSpriteWorldInvalidRegionAndLeaveIntact = -1L, |
|
kGetSpriteWorldInvalidRegionAndThenSetEmpty = -2L |
|
}; |
|
|
|
/* flagsIn for SpriteWorldIdle*/ |
|
enum { |
|
kOnlyDrawToSpriteWorld = 1L << 0, |
|
kSpriteWorldPreflight = 1L << 1 |
|
}; |
|
|
|
/* flagsOut for SpriteWorldIdle*/ |
|
enum { |
|
kSpriteWorldDidDraw = 1L << 0, |
|
kSpriteWorldNeedsToDraw = 1L << 1 |
|
}; |
|
|
|
/* flags for sprite track sample format*/ |
|
enum { |
|
kKeyFrameAndSingleOverride = 1L << 1, |
|
kKeyFrameAndAllOverrides = 1L << 2 |
|
}; |
|
|
|
/* sprite world flags*/ |
|
enum { |
|
kScaleSpritesToScaleWorld = 1L << 1, |
|
kSpriteWorldHighQuality = 1L << 2, |
|
kSpriteWorldDontAutoInvalidate = 1L << 3, |
|
kSpriteWorldInvisible = 1L << 4, |
|
kSpriteWorldDirtyInsteadOfFlush = 1L << 5 |
|
}; |
|
|
|
/* |
|
* NewSpriteWorld() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewSpriteWorld( |
|
SpriteWorld * newSpriteWorld, |
|
GWorldPtr destination, |
|
GWorldPtr spriteLayer, |
|
RGBColor * backgroundColor, |
|
GWorldPtr background); |
|
|
|
|
|
/* |
|
* DisposeSpriteWorld() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeSpriteWorld(SpriteWorld theSpriteWorld); |
|
|
|
|
|
/* |
|
* SetSpriteWorldClip() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetSpriteWorldClip( |
|
SpriteWorld theSpriteWorld, |
|
RgnHandle clipRgn); |
|
|
|
|
|
/* |
|
* SetSpriteWorldMatrix() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetSpriteWorldMatrix( |
|
SpriteWorld theSpriteWorld, |
|
const MatrixRecord * matrix); |
|
|
|
|
|
/* |
|
* SetSpriteWorldGraphicsMode() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetSpriteWorldGraphicsMode( |
|
SpriteWorld theSpriteWorld, |
|
long mode, |
|
const RGBColor * opColor); |
|
|
|
|
|
/* |
|
* SpriteWorldIdle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SpriteWorldIdle( |
|
SpriteWorld theSpriteWorld, |
|
long flagsIn, |
|
long * flagsOut); |
|
|
|
|
|
/* |
|
* InvalidateSpriteWorld() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
InvalidateSpriteWorld( |
|
SpriteWorld theSpriteWorld, |
|
Rect * invalidArea); |
|
|
|
|
|
/* |
|
* SpriteWorldHitTest() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SpriteWorldHitTest( |
|
SpriteWorld theSpriteWorld, |
|
long flags, |
|
Point loc, |
|
Sprite * spriteHit); |
|
|
|
|
|
/* |
|
* SpriteHitTest() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SpriteHitTest( |
|
Sprite theSprite, |
|
long flags, |
|
Point loc, |
|
Boolean * wasHit); |
|
|
|
|
|
/* |
|
* DisposeAllSprites() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeAllSprites(SpriteWorld theSpriteWorld); |
|
|
|
|
|
/* |
|
* SetSpriteWorldFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetSpriteWorldFlags( |
|
SpriteWorld spriteWorld, |
|
long flags, |
|
long flagsMask); |
|
|
|
|
|
/* |
|
* NewSprite() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
NewSprite( |
|
Sprite * newSprite, |
|
SpriteWorld itsSpriteWorld, |
|
ImageDescriptionHandle idh, |
|
Ptr imageDataPtr, |
|
MatrixRecord * matrix, |
|
Boolean visible, |
|
short layer); |
|
|
|
|
|
/* |
|
* DisposeSprite() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeSprite(Sprite theSprite); |
|
|
|
|
|
/* |
|
* InvalidateSprite() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
InvalidateSprite(Sprite theSprite); |
|
|
|
|
|
/* |
|
* SetSpriteProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetSpriteProperty( |
|
Sprite theSprite, |
|
long propertyType, |
|
void * propertyValue); |
|
|
|
|
|
/* |
|
* GetSpriteProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetSpriteProperty( |
|
Sprite theSprite, |
|
long propertyType, |
|
void * propertyValue); |
|
|
|
|
|
/***** |
|
QT Atom Data Support |
|
*****/ |
|
enum { |
|
kParentAtomIsContainer = 0 |
|
}; |
|
|
|
/* create and dispose QTAtomContainer objects*/ |
|
|
|
/* |
|
* QTNewAtomContainer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewAtomContainer(QTAtomContainer * atomData); |
|
|
|
|
|
/* |
|
* QTDisposeAtomContainer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTDisposeAtomContainer(QTAtomContainer atomData); |
|
|
|
|
|
/* locating nested atoms within QTAtomContainer container*/ |
|
|
|
/* |
|
* QTGetNextChildType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( QTAtomType ) |
|
QTGetNextChildType( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
QTAtomType currentChildType); |
|
|
|
|
|
/* |
|
* QTCountChildrenOfType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
QTCountChildrenOfType( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
QTAtomType childType); |
|
|
|
|
|
/* |
|
* QTFindChildByIndex() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( QTAtom ) |
|
QTFindChildByIndex( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
QTAtomType atomType, |
|
short index, |
|
QTAtomID * id); |
|
|
|
|
|
/* |
|
* QTFindChildByID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( QTAtom ) |
|
QTFindChildByID( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
QTAtomType atomType, |
|
QTAtomID id, |
|
short * index); |
|
|
|
|
|
/* |
|
* QTNextChildAnyType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNextChildAnyType( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
QTAtom currentChild, |
|
QTAtom * nextChild); |
|
|
|
|
|
/* set a leaf atom's data*/ |
|
/* |
|
* QTSetAtomData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTSetAtomData( |
|
QTAtomContainer container, |
|
QTAtom atom, |
|
long dataSize, |
|
void * atomData); |
|
|
|
|
|
/* extracting data*/ |
|
/* |
|
* QTCopyAtomDataToHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTCopyAtomDataToHandle( |
|
QTAtomContainer container, |
|
QTAtom atom, |
|
Handle targetHandle); |
|
|
|
|
|
/* |
|
* QTCopyAtomDataToPtr() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTCopyAtomDataToPtr( |
|
QTAtomContainer container, |
|
QTAtom atom, |
|
Boolean sizeOrLessOK, |
|
long size, |
|
void * targetPtr, |
|
long * actualSize); |
|
|
|
|
|
/* |
|
* QTGetAtomTypeAndID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetAtomTypeAndID( |
|
QTAtomContainer container, |
|
QTAtom atom, |
|
QTAtomType * atomType, |
|
QTAtomID * id); |
|
|
|
|
|
/* extract a copy of an atom and all of it's children, caller disposes*/ |
|
/* |
|
* QTCopyAtom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTCopyAtom( |
|
QTAtomContainer container, |
|
QTAtom atom, |
|
QTAtomContainer * targetContainer); |
|
|
|
|
|
/* obtaining direct reference to atom data*/ |
|
/* |
|
* QTLockContainer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTLockContainer(QTAtomContainer container); |
|
|
|
|
|
/* |
|
* QTGetAtomDataPtr() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetAtomDataPtr( |
|
QTAtomContainer container, |
|
QTAtom atom, |
|
long * dataSize, |
|
Ptr * atomData); |
|
|
|
|
|
/* |
|
* QTUnlockContainer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTUnlockContainer(QTAtomContainer container); |
|
|
|
|
|
/* |
|
building QTAtomContainer trees |
|
creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list |
|
used for Top-Down tree creation |
|
*/ |
|
/* |
|
* QTInsertChild() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTInsertChild( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
QTAtomType atomType, |
|
QTAtomID id, |
|
short index, |
|
long dataSize, |
|
void * data, |
|
QTAtom * newAtom); |
|
|
|
|
|
/* inserts children from childrenContainer as children of parentAtom*/ |
|
/* |
|
* QTInsertChildren() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTInsertChildren( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
QTAtomContainer childrenContainer); |
|
|
|
|
|
/* destruction*/ |
|
/* |
|
* QTRemoveAtom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRemoveAtom( |
|
QTAtomContainer container, |
|
QTAtom atom); |
|
|
|
|
|
/* |
|
* QTRemoveChildren() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRemoveChildren( |
|
QTAtomContainer container, |
|
QTAtom atom); |
|
|
|
|
|
/* replacement must be same type as target*/ |
|
/* |
|
* QTReplaceAtom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTReplaceAtom( |
|
QTAtomContainer targetContainer, |
|
QTAtom targetAtom, |
|
QTAtomContainer replacementContainer, |
|
QTAtom replacementAtom); |
|
|
|
|
|
/* |
|
* QTSwapAtoms() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTSwapAtoms( |
|
QTAtomContainer container, |
|
QTAtom atom1, |
|
QTAtom atom2); |
|
|
|
|
|
/* |
|
* QTSetAtomID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTSetAtomID( |
|
QTAtomContainer container, |
|
QTAtom atom, |
|
QTAtomID newID); |
|
|
|
|
|
/* |
|
* QTGetAtomParent() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( QTAtom ) |
|
QTGetAtomParent( |
|
QTAtomContainer container, |
|
QTAtom childAtom); |
|
|
|
|
|
/* |
|
* SetMediaPropertyAtom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetMediaPropertyAtom( |
|
Media theMedia, |
|
QTAtomContainer propertyAtom); |
|
|
|
|
|
/* |
|
* GetMediaPropertyAtom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMediaPropertyAtom( |
|
Media theMedia, |
|
QTAtomContainer * propertyAtom); |
|
|
|
|
|
/***** |
|
Tween Support |
|
*****/ |
|
typedef struct TweenRecord TweenRecord; |
|
typedef CALLBACK_API( ComponentResult , TweenerDataProcPtr )(TweenRecord *tr, void *tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void *refCon); |
|
typedef STACK_UPP_TYPE(TweenerDataProcPtr) TweenerDataUPP; |
|
struct TweenRecord { |
|
long version; |
|
|
|
QTAtomContainer container; |
|
QTAtom tweenAtom; |
|
QTAtom dataAtom; |
|
Fixed percent; |
|
|
|
TweenerDataUPP dataProc; |
|
|
|
void * private1; |
|
void * private2; |
|
}; |
|
|
|
struct TweenV1Record { |
|
long version; |
|
|
|
QTAtomContainer container; |
|
QTAtom tweenAtom; |
|
QTAtom dataAtom; |
|
Fixed percent; |
|
|
|
TweenerDataUPP dataProc; |
|
|
|
void * private1; |
|
void * private2; |
|
|
|
Fract fractPercent; |
|
}; |
|
typedef struct TweenV1Record TweenV1Record; |
|
enum { |
|
kTweenRecordNoFlags = 0, |
|
kTweenRecordIsAtInterruptTime = 0x00000001 |
|
}; |
|
|
|
struct TweenV2Record { |
|
long version; |
|
|
|
QTAtomContainer container; |
|
QTAtom tweenAtom; |
|
QTAtom dataAtom; |
|
Fixed percent; |
|
|
|
TweenerDataUPP dataProc; |
|
|
|
void * private1; |
|
void * private2; |
|
|
|
Fract fractPercent; |
|
|
|
long flags; |
|
}; |
|
typedef struct TweenV2Record TweenV2Record; |
|
/* |
|
* QTNewTween() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTNewTween( |
|
QTTweener * tween, |
|
QTAtomContainer container, |
|
QTAtom tweenAtom, |
|
TimeValue maxTime); |
|
|
|
|
|
/* |
|
* QTDisposeTween() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTDisposeTween(QTTweener tween); |
|
|
|
|
|
/* |
|
* QTDoTween() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTDoTween( |
|
QTTweener tween, |
|
TimeValue atTime, |
|
Handle result, |
|
long * resultSize, |
|
TweenerDataUPP tweenDataProc, |
|
void * tweenDataRefCon); |
|
|
|
|
|
/* |
|
QTDoTweenPtr is an interrupt-safe version of QTDoTween. It has the following limitations: |
|
- not all tween types support this call (those which must allocated memory), in which case they return codecUnimpErr. |
|
- the QTAtomContainer used for the tween must be locked |
|
- the dataSize must be large enough to contain the result |
|
- this call is not supported for sequence tweens, use interpolation tweens instead |
|
*/ |
|
/* |
|
* QTDoTweenPtr() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTDoTweenPtr( |
|
QTTweener tween, |
|
TimeValue atTime, |
|
Ptr result, |
|
long resultSize); |
|
|
|
|
|
|
|
/***** |
|
Preferences |
|
*****/ |
|
/* |
|
* GetQuickTimePreference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetQuickTimePreference( |
|
OSType preferenceType, |
|
QTAtomContainer * preferenceAtom); |
|
|
|
|
|
/* |
|
* SetQuickTimePreference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetQuickTimePreference( |
|
OSType preferenceType, |
|
QTAtomContainer preferenceAtom); |
|
|
|
|
|
/***** |
|
Effects and dialog Support |
|
*****/ |
|
/* atom types for entries in the effects list*/ |
|
enum { |
|
kEffectNameAtom = FOUR_CHAR_CODE('name'), /* name of effect */ |
|
kEffectTypeAtom = FOUR_CHAR_CODE('type'), /* codec sub-type for effect */ |
|
kEffectManufacturerAtom = FOUR_CHAR_CODE('manu') /* codec manufacturer for effect */ |
|
}; |
|
|
|
struct QTParamPreviewRecord { |
|
long sourceID; /* 1 based source identifier*/ |
|
PicHandle sourcePicture; /* picture for preview, must not dispose until dialog is disposed*/ |
|
}; |
|
typedef struct QTParamPreviewRecord QTParamPreviewRecord; |
|
typedef QTParamPreviewRecord * QTParamPreviewPtr; |
|
struct QTParamDialogEventRecord { |
|
EventRecord * theEvent; /* Event received by the dialog */ |
|
DialogRef whichDialog; /* dialog that event was directed towards */ |
|
short itemHit; /* dialog item which was hit */ |
|
}; |
|
typedef struct QTParamDialogEventRecord QTParamDialogEventRecord; |
|
typedef QTParamDialogEventRecord * QTParamDialogEventPtr; |
|
struct QTParamFetchPreviewRecord { |
|
GWorldPtr theWorld; /* the world into which to draw the preview */ |
|
Fixed percentage; /* frame percentage (from 0.0 - 1.0) to be drawn */ |
|
}; |
|
typedef struct QTParamFetchPreviewRecord QTParamFetchPreviewRecord; |
|
typedef QTParamFetchPreviewRecord * QTParamFetchPreviewPtr; |
|
|
|
#if TARGET_API_MAC_CARBON |
|
/* Only available on OS X */ |
|
enum { |
|
kEffectParentWindowCarbon = 'carb' |
|
}; |
|
struct QTEventLoopDescriptionRecord |
|
{ |
|
long recordSize; /* must be == sizeof(QTEventLoopDescriptionRecord) */ |
|
long windowRefKind; /* kind of window reference */ |
|
void * parentWindow; /* parent window (for sheets) or NIL to use Carbon FrontWindow() */ |
|
void * eventTarget; /* EventTargetRef to receive kHICommandOK and kHICommandCancel */ |
|
}; |
|
|
|
typedef struct QTEventLoopDescriptionRecord QTEventLoopDescriptionRecord, *QTEventLoopDescriptionPtr; |
|
#endif |
|
|
|
|
|
enum { |
|
pdActionConfirmDialog = 1, /* no param*/ |
|
pdActionSetAppleMenu = 2, /* param is MenuRef*/ |
|
pdActionSetEditMenu = 3, /* param is MenuRef*/ |
|
pdActionGetDialogValues = 4, /* param is QTAtomContainer*/ |
|
pdActionSetPreviewUserItem = 5, /* param is long*/ |
|
pdActionSetPreviewPicture = 6, /* param is QTParamPreviewPtr;*/ |
|
pdActionSetColorPickerEventProc = 7, /* param is UserEventUPP*/ |
|
pdActionSetDialogTitle = 8, /* param is StringPtr */ |
|
pdActionGetSubPanelMenu = 9, /* param is MenuRef* */ |
|
pdActionActivateSubPanel = 10, /* param is long */ |
|
pdActionConductStopAlert = 11, /* param is StringPtr */ |
|
pdActionModelessCallback = 12, /* param is QTParamDialogEventPtr */ |
|
pdActionFetchPreview = 13, /* param is QTParamFetchPreviewPtr */ |
|
pdActionSetDialogSettings = 14, /* param is QTAtomContainer */ |
|
pdActionGetDialogSettings = 15, /* param is QTAtomContainer */ |
|
pdActionGetNextSample = 16, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */ |
|
pdActionGetPreviousSample = 17, /* param is QTAtomContainer with effect sample to change - createdDialog may be NIL */ |
|
pdActionCompactSample = 18, /* param is QTAtomContainer with effect sample to compact, - createdDialog may be NIL */ |
|
pdActionSetEditCallout = 19, /* param is QTParamPreviewCalloutPtr, can be NIL */ |
|
pdActionSetSampleTime = 20, /* param is QTParamSampleTimePtr, can be NIL */ |
|
pdActionDoEditCommand = 21, /* param is long with menu command (ie, mcMenuCut etc) */ |
|
pdActionGetSubPanelMenuValue = 22, /* param is long and returns current sub-panel value selected by the effect */ |
|
/* Action codes and typedefs used for custom controls within effects */ |
|
pdActionCustomNewControl = 23, /* param is QTCustomControlNewPtr */ |
|
pdActionCustomDisposeControl = 24, /* param is QTCustomControlNewPtr */ |
|
pdActionCustomPositionControl = 25, /* param is QTCustomControlPositionControlPtr */ |
|
pdActionCustomShowHideControl = 26, /* param is QTCustomControlShowHideControlPtr */ |
|
pdActionCustomHandleEvent = 27, /* param is QTCustomControlHandleEventPtr */ |
|
pdActionCustomSetFocus = 28, /* param is QTCustomControlSetFocusPtr */ |
|
pdActionCustomSetEditMenu = 29, /* param is QTCustomControlSetEditMenuPtr */ |
|
pdActionCustomSetPreviewPicture = 30, /* param is QTCustomControlSetPreviewPicturePtr */ |
|
pdActionCustomSetEditCallout = 31, /* param is QTCustomControlSetEditCalloutPtr */ |
|
pdActionCustomGetEnableValue = 32, /* param is QTCustomControlGetEnableValuePtr */ |
|
pdActionCustomSetSampleTime = 33, /* param is QTCustomControlSetSampleTimePtr */ |
|
pdActionCustomGetValue = 34, /* param is QTCustomControlGetValue */ |
|
pdActionCustomDoEditCommand = 35, /* param is QTCustomControlDoEditCommand */ |
|
/* more actions for the dialog */ |
|
pdActionRunInEventLoop = 36, /* param is QTEventLoopDescriptionPtr - OS X only*/ |
|
pdActionConvertSettingsToXML = 37, /* param is QTAtomContainer* inbound, Handle* outbound contains the XML - createdDialog may be NIL */ |
|
pdActionConvertSettingsToXMLWithComments = 38, /* param is QTAtomContainer* inbound, Handle* outbound contains the XML with comments - createdDialog may be NIL */ |
|
pdActionConvertSettingsToText = 39, /* param is QTAtomContainer* inbound, Handle* outbound contains human readable text - createdDialog may be NIL */ |
|
pdActionConvertXMLToSettings = 40, /* param is Handle* inbound, QTAtomContainer* outbound contains parameters - createdDialog may be NIL */ |
|
pdActionSetPropertyComponent = 41 /* param is QTParamComponentPropertyPtr */ |
|
}; |
|
|
|
/* Sample Time information */ |
|
enum { |
|
pdSampleTimeDisplayOptionsNone = 0x00000000 |
|
}; |
|
|
|
struct QTParamComponentPropertyRecord { |
|
ComponentInstance component; /* component to call for get/set properties*/ |
|
OSType defaultClass; /* default property class if not overriden by a given parameter*/ |
|
}; |
|
typedef struct QTParamComponentPropertyRecord QTParamComponentPropertyRecord; |
|
typedef QTParamComponentPropertyRecord * QTParamComponentPropertyPtr; |
|
struct QTParamSampleTimeRecord { |
|
long displayOptions; |
|
TimeRecord sampleStartTime; |
|
TimeValue sampleDuration; |
|
long framesPerSecond; /* if 0, will cause revert to seconds display*/ |
|
}; |
|
typedef struct QTParamSampleTimeRecord QTParamSampleTimeRecord; |
|
typedef QTParamSampleTimeRecord * QTParamSampleTimePtr; |
|
/* Preview change callout information */ |
|
struct QTParamPreviewCalloutRecord { |
|
MoviePreviewCallOutUPP calloutProc; /* called when user makes editing changes to dialog. May be NIL. You should return true from your function. */ |
|
long refCon; /* passed to the callout procedure */ |
|
}; |
|
typedef struct QTParamPreviewCalloutRecord QTParamPreviewCalloutRecord; |
|
typedef QTParamPreviewCalloutRecord * QTParamPreviewCalloutPtr; |
|
enum { |
|
pdOptionsCollectOneValue = 0x00000001, /* should collect a single value only*/ |
|
pdOptionsAllowOptionalInterpolations = 0x00000002, /* non-novice interpolation options are shown */ |
|
pdOptionsModalDialogBox = 0x00000004, /* dialog box should be modal */ |
|
pdOptionsEditCurrentEffectOnly = 0x00000008, /* List of effects will not be shown */ |
|
pdOptionsHidePreview = 0x00000010, /* Preview item will not be shown */ |
|
pdOptionsDisplayAsSheet = 0x00000020 /* Dialog will be used as a sheet (on platforms that support it) */ |
|
}; |
|
|
|
typedef long QTParameterDialogOptions; |
|
/* ------- CUSTOM EFFECT CONTROLS*/ |
|
/* |
|
Effects may choose to implement custom controls to allow the user to more easily edit complex parameters |
|
that are ill-served by simple sliders or type in boxes. Effects may allow a custom control for either |
|
a single parameter, or for a group of parameters. |
|
|
|
Parameter(s) for a custom control must still be data types defined by the standard set, or for |
|
complex records of data, must be defined within a group as individual parameters made up from base |
|
data types (for example, a point is a group containing two Fixed point numbers). |
|
This is to allow applications that do not wish to use the custom control for the effect to set values themselves. |
|
|
|
Effects should be aware that these custom controls may be deployed by the application in either a dialog or |
|
a window, with application defined background colors or patterns, along with application defined font |
|
characteristics for the window. |
|
|
|
It is recommended that effects implement custom controls only when needed, and that custom controls be used |
|
for specific types of parameters (ie, point, rectangle, polygon, path) rather than the entire user interface |
|
for the effect. Effects may choose to implement multiple custom controls which combine with standard controls |
|
to present the total user interface. For effects which have very complex user interfaces not well suited for |
|
inclusion within a single window, it is recommended to use kParameterImageIsPreset -- which allows the effect to |
|
have an external editing application for parameters which may then be set within the standard UI via the open file |
|
dialog or drag and drop. The Lens Flare effect's "Flare Type" is an example of such a preset. |
|
|
|
For parameters that use a custom control to control a single parameter value, a new behavior |
|
flag has been added (kCustomControl), and the behavior for the parameter should be kParameterItemControl. |
|
|
|
For parameters that are groups, the same flag (kCustomControl) should be used, and the behavior |
|
should be kParameterItemGroupDivider. Groups with the kCustomControl bit set will be implemented |
|
by calling the custom control for that group -- the parameters within that group will not be processed |
|
in the normal manner. |
|
|
|
In both cases, the new customType and customID fields of the behavior must be filled in. These are |
|
used in order to allow your custom control to determine which parameter is being edited in the case |
|
where the custom control is used for the editing of multiple parameters. These values are passed into |
|
the pdActionCustomNewControl call. Since the custom control mechanism is also used by QuickTime's |
|
default effect dialogs, you should be prepared to pass onto the base effect any pdActionCustomNewControl |
|
calls for type/id pairs that you do not handle yourself. When pdActionCustomNewControl is called |
|
for controls of types handled by QuickTime, customType is kParameterAtomTypeAndID and customID is |
|
the ID of the parameter atom. |
|
*/ |
|
|
|
|
|
/* |
|
pdActionCustomNewControlControl is called by application to create a new custom control or set of controls |
|
for an effect parameter. When pdActionCustomNewControl is called, the effect should perform any |
|
basic allocation it needs for storage and return the result in storage. The options parameter tells |
|
the control if the application wishes to support interpolated, optionally interpolated, or a single |
|
value parameter. |
|
|
|
Since pdActionCustomNewControlControl may be called upon your effect for other items within the |
|
dialog, it is recommended that your effect have an easy way to determine which controls it implements: |
|
a) by having storage be a pointer with an OSType at the begining to mark controls |
|
implemented by your code. |
|
- or - |
|
b) keeping track in your component globals those custom controls which you have created. |
|
|
|
When pdActionCustomDisposeControl is called any allocation done by the control should be disposed. In addition, |
|
pdActionCustomDisposeControl is the last chance the control has to commit any user changes into the sample. |
|
Controls which implement type in fields typically need to commit any final user edits at this time. |
|
*/ |
|
struct QTCustomControlNewRecord { |
|
void * storage; /* storage allocated/disposed by the control*/ |
|
QTParameterDialogOptions options; /* options used to control interpolation/not*/ |
|
QTAtomContainer sample; /* sample that holds the data to be edited*/ |
|
long customType; /* custom type and ID specified by effect for creation of this control*/ |
|
long customID; |
|
}; |
|
typedef struct QTCustomControlNewRecord QTCustomControlNewRecord; |
|
typedef QTCustomControlNewRecord * QTCustomControlNewPtr; |
|
/* |
|
pdActionCustomPositionControl is called by the application to position the control within a window or dialog. |
|
|
|
The control should determine if it will fit in the alloted area and position itself there. It should also |
|
return the space taken up by the control. Note you are free to implement controls which are variable in size depending upon |
|
which parameter you are editing. You need not scale your control to the requested size. If the area presented to your |
|
control is too small, set didFit to false. You should still return in used the size you would have liked to use for |
|
the control. The application will then try again with a new size. Note that all |
|
controls must be able to fit within a minimum of 300 by 250 pixels. |
|
|
|
Custom controls that draw text should make note of the text font, size, and style at this time in order |
|
to properly display within application windows. |
|
|
|
Note that the default state for the control is hidden. You will receive a pdActionCustomShowHideControl |
|
in order to enable your control. You should not draw your control in response to pdActionCustomPositionControl. |
|
*/ |
|
struct QTCustomControlPositionControlRecord { |
|
void * storage; /* storage for the control*/ |
|
WindowPtr window; /* window to be used by the control*/ |
|
Rect location; /* location within the window the control may use*/ |
|
Rect used; /* returned by the control to indicate size it actually used*/ |
|
Boolean didFit; /* did the control fit in the specified area?*/ |
|
Boolean pad[3]; |
|
}; |
|
typedef struct QTCustomControlPositionControlRecord QTCustomControlPositionControlRecord; |
|
typedef QTCustomControlPositionControlRecord * QTCustomControlPositionControlPtr; |
|
/* |
|
pdActionCustomShowHideControl is called when the application wishes to enable/disable your control, or |
|
completely disable drawing of the control |
|
|
|
Your control should make note of the new state (if different from the last) and perform an InvalRect() |
|
on your drawing area, or you may draw your control's initial state in the case of show. You should not |
|
attempt to erase your control as the result of a hide -- instead call InvalRect() and allow the application |
|
to process the resulting event as appropriate. |
|
*/ |
|
struct QTCustomControlShowHideControlRecord { |
|
void * storage; /* storage for the control*/ |
|
Boolean show; /* display the control?*/ |
|
Boolean enable; /* enable the control (ie, black vs gray display)*/ |
|
Boolean pad[2]; |
|
}; |
|
typedef struct QTCustomControlShowHideControlRecord QTCustomControlShowHideControlRecord; |
|
typedef QTCustomControlShowHideControlRecord * QTCustomControlShowHideControlPtr; |
|
/* |
|
pdActionCustomHandleEvent is called to allow your custom control to process events. |
|
|
|
Typical controls handle the following events: |
|
- activate - to draw your control in normal/gray mode |
|
- update - to draw your control |
|
- mouseDown - to handle clicks |
|
- keyDown - to handle typing when you have focus |
|
- idle - to perform idle drawing (if applicable) |
|
If your control handles the entire event, set didProcess to true. If |
|
you handled the event, but other controls still need the event, set didProcess to false. |
|
|
|
If your control supports the concept of focus for the purposes of typing (such as by having |
|
a type-in box for the parameter) then you set the tookFocus Boolean as part of your processing |
|
of the event. It is assumed that your control will draw the appropriate focus UI as a result, and |
|
the calling application will disable any focus drawing within the remainder of the UI. |
|
|
|
By default, custom controls are not given idle time. If you need idle time, set needIdle to true |
|
in response to the even that causes you to need idle (typically the taking of focus, or the first draw). |
|
Your control will continue to be given idle events until you set needIdle to false in response to |
|
a nullEvent. |
|
*/ |
|
struct QTCustomControlHandleEventRecord { |
|
void * storage; /* storage for the control*/ |
|
EventRecord * pEvent; /* event to process*/ |
|
Boolean didProcess; /* did we process entire event?*/ |
|
Boolean tookFocus; /* did we take focus as a result of this event (typically mouseDowns)*/ |
|
Boolean needIdle; /* does this control need idle events?*/ |
|
Boolean didEdit; /* did we edit the samples?*/ |
|
}; |
|
typedef struct QTCustomControlHandleEventRecord QTCustomControlHandleEventRecord; |
|
typedef QTCustomControlHandleEventRecord * QTCustomControlHandleEventPtr; |
|
/* |
|
pdActionCustomSetFocus is called in order to set or advance the current focus of the user interface, typically |
|
because the user has pressed the tab or shift-tab keys, or because the user clicked within the area defined by |
|
your control. |
|
|
|
Your control will be called with pdActionFocusFirst, pdActionFocusLast, or pdActionFocusOff to set or clear focus on your |
|
control. Your control will be called with pdActionFocusForward or pdActionFocusBackward to cycle |
|
focus within your control (if your control has multiple focus). If your control does not support focus, |
|
or the focus request results in focus moving beyond your supported range, return pdActionFocusOff in |
|
the focus parameter. Otherwise, return the focus that you set. |
|
|
|
Controls which have no focus would always set focus to be pdActionFocusOff. |
|
|
|
Controls with a single focus would set pdActionFocusFirst when requsted to set either |
|
pdActionFocusFirst or pdActionFocusLast, and would set pdActionFocusOff for either |
|
pdActionFocusForward or pdActionFocusBackward. |
|
*/ |
|
enum { |
|
pdActionFocusOff = 0, /* no focus */ |
|
pdActionFocusFirst = 1, /* focus on first element */ |
|
pdActionFocusLast = 2, /* focus on last element */ |
|
pdActionFocusForward = 3, /* focus on next element */ |
|
pdActionFocusBackward = 4 /* focus on previous element */ |
|
}; |
|
|
|
struct QTCustomControlSetFocusRecord { |
|
void * storage; /* storage for the control*/ |
|
long focus; /* focus to set, return resulting focus*/ |
|
}; |
|
typedef struct QTCustomControlSetFocusRecord QTCustomControlSetFocusRecord; |
|
typedef QTCustomControlSetFocusRecord * QTCustomControlSetFocusPtr; |
|
/* |
|
pdActionCustomSetEditMenu will be called to inform your custom control of the location of the edit menu. |
|
|
|
If your control has editing boxes, this is useful in order to allow the user to perform cut/copy/paste operations |
|
when focus is on one of these boxes. |
|
*/ |
|
struct QTCustomControlSetEditMenuRecord { |
|
void * storage; /* storage for the control*/ |
|
MenuHandle editMenu; /* edit menu, or NIL*/ |
|
}; |
|
typedef struct QTCustomControlSetEditMenuRecord QTCustomControlSetEditMenuRecord; |
|
typedef QTCustomControlSetEditMenuRecord * QTCustomControlSetEditMenuPtr; |
|
/* |
|
pdActionCustomSetPreviewPicture will be called to inform your custom control of preview information that you |
|
may wish to use in the drawing of your user interface. |
|
*/ |
|
struct QTCustomControlSetPreviewPictureRecord { |
|
void * storage; /* storage for the control*/ |
|
QTParamPreviewPtr preview; /* preview to set*/ |
|
}; |
|
typedef struct QTCustomControlSetPreviewPictureRecord QTCustomControlSetPreviewPictureRecord; |
|
typedef QTCustomControlSetPreviewPictureRecord * QTCustomControlSetPreviewPicturePtr; |
|
/* |
|
pdActionCustomSetEditCallout tells your control of the need by the application to be informed of |
|
changes to the parameter values (typically for the purposes of updating previews). |
|
|
|
If a callout is available, your custom control should call it whenever a change has been |
|
made to the parameter(s) that your control is editing (as a result of user actions, most typically). |
|
If you choose not to implement this, live dragging or updating of values will not work. |
|
*/ |
|
struct QTCustomControlSetEditCalloutRecord { |
|
void * storage; /* storage for the control*/ |
|
QTParamPreviewCalloutPtr callout; /* requested callout, or NIL to disable*/ |
|
}; |
|
typedef struct QTCustomControlSetEditCalloutRecord QTCustomControlSetEditCalloutRecord; |
|
typedef QTCustomControlSetEditCalloutRecord * QTCustomControlSetEditCalloutPtr; |
|
/* |
|
pdActionCustomGetEnableValue allows you to return a value for the purposes of enabling/disabling |
|
other controls. |
|
Most custom controls do not need to implement this call. |
|
|
|
If your control is able to control the enabling and disabling of other parameter controls (such as is done |
|
by standard pop up or enumerated type controls), you need to supply a value that can be use for greater than/less than |
|
types of comparisons. |
|
*/ |
|
struct QTCustomControlGetEnableValueRecord { |
|
void * storage; /* storage for the control*/ |
|
long currentValue; /* value to compare against for enable/disable purposes*/ |
|
}; |
|
typedef struct QTCustomControlGetEnableValueRecord QTCustomControlGetEnableValueRecord; |
|
typedef QTCustomControlGetEnableValueRecord * QTCustomControlGetEnableValuePtr; |
|
/* |
|
pdActionCustomSetSampleTime tells your control information from the application about the duration |
|
and start time for the sample being edited. |
|
|
|
Most controls do not need this information, but some may choose to use it in the interface |
|
they present the user. However, this call need not be made by applications, so the custom |
|
control should be prepared to run when the sample time information is not available. |
|
*/ |
|
struct QTCustomControlSetSampleTimeRecord { |
|
void * storage; /* storage for the control*/ |
|
QTParamSampleTimePtr sampleTime; /* sample time information or NIL*/ |
|
}; |
|
typedef struct QTCustomControlSetSampleTimeRecord QTCustomControlSetSampleTimeRecord; |
|
typedef QTCustomControlSetSampleTimeRecord * QTCustomControlSetSampleTimePtr; |
|
/* |
|
pdActionCustomGetValue tells your control to store any value(s) into the specified atom container. |
|
|
|
All custom controls must implement this call |
|
*/ |
|
struct QTCustomControlGetValueRecord { |
|
void * storage; /* storage for the control*/ |
|
QTAtomContainer sample; /* sample to store into*/ |
|
}; |
|
typedef struct QTCustomControlGetValueRecord QTCustomControlGetValueRecord; |
|
typedef QTCustomControlGetValueRecord * QTCustomControlGetValuePtr; |
|
/* |
|
pdActionCustomDoEditCommand tells your control to handle edit commands if it allow focus and type in boxes. |
|
|
|
All custom controls must implement this call if they support edit boxes |
|
*/ |
|
struct QTCustomControlDoEditCommandRecord { |
|
void * storage; /* storage for the control*/ |
|
long command; /* command to execute, return 0 here if processed*/ |
|
}; |
|
typedef struct QTCustomControlDoEditCommandRecord QTCustomControlDoEditCommandRecord; |
|
typedef QTCustomControlDoEditCommandRecord * QTCustomControlDoEditCommandPtr; |
|
typedef long QTParameterDialog; |
|
enum { |
|
elOptionsIncludeNoneInList = 0x00000001 /* "None" effect is included in list */ |
|
}; |
|
|
|
typedef long QTEffectListOptions; |
|
enum { |
|
effectIsRealtime = 0 /* effect can be rendered in real time */ |
|
}; |
|
|
|
/* |
|
QTGetEffectsListExtended is a call that provides for |
|
more advanced filtering of effects to be placed into the |
|
effect list. Applications can filter on: |
|
1) number of input sources |
|
2) effect major or minor class |
|
3) custom filtering through a callback |
|
The callback will be called for each effect which passes |
|
the other criteria for inclusion. If the callback |
|
returns a true result the effect will be included in the list. |
|
|
|
Note that your filter proc may receive multiple effects from various |
|
manufacturers. If you return true for multiple effects of a given type |
|
only the one with the higher parameter version number will be included. |
|
If you wish other filtering (such as effects from a given manufacturer, you |
|
can do this by return false for the other effects and true for those |
|
that you prefer. |
|
*/ |
|
typedef CALLBACK_API( Boolean , QTEffectListFilterProcPtr )(Component effect, long effectMinSource, long effectMaxSource, OSType majorClass, OSType minorClass, void *refcon); |
|
typedef STACK_UPP_TYPE(QTEffectListFilterProcPtr) QTEffectListFilterUPP; |
|
/* |
|
* QTGetEffectsList() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetEffectsList( |
|
QTAtomContainer * returnedList, |
|
long minSources, |
|
long maxSources, |
|
QTEffectListOptions getOptions); |
|
|
|
|
|
/* |
|
* QTGetEffectsListExtended() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetEffectsListExtended( |
|
QTAtomContainer * returnedList, |
|
long minSources, |
|
long maxSources, |
|
QTEffectListOptions getOptions, |
|
OSType majorClass, |
|
OSType minorClass, |
|
QTEffectListFilterUPP filterProc, |
|
void * filterRefCon); |
|
|
|
|
|
/* |
|
* QTCreateStandardParameterDialog() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTCreateStandardParameterDialog( |
|
QTAtomContainer effectList, |
|
QTAtomContainer parameters, |
|
QTParameterDialogOptions dialogOptions, |
|
QTParameterDialog * createdDialog); |
|
|
|
|
|
/* |
|
* QTIsStandardParameterDialogEvent() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTIsStandardParameterDialogEvent( |
|
EventRecord * pEvent, |
|
QTParameterDialog createdDialog); |
|
|
|
|
|
/* |
|
* QTDismissStandardParameterDialog() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTDismissStandardParameterDialog(QTParameterDialog createdDialog); |
|
|
|
|
|
/* |
|
* QTStandardParameterDialogDoAction() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTStandardParameterDialogDoAction( |
|
QTParameterDialog createdDialog, |
|
long action, |
|
void * params); |
|
|
|
|
|
/* |
|
* QTGetEffectSpeed() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetEffectSpeed( |
|
QTAtomContainer parameters, |
|
Fixed * pFPS); |
|
|
|
|
|
|
|
|
|
/* Movie Audio/Sound APIs*/ |
|
|
|
/* |
|
SetMovieAudioGain: |
|
This API sets the audio gain level for the mixed audio output of a movie. This alters the |
|
perceived volume of the movie's playback. The gain level is multiplicative; eg. 0.0 |
|
is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the movie is not |
|
modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order |
|
to allow quiet movies to be boosted in volume. Settings higher than 1.0 may result in |
|
audio clipping, of course. The setting is not stored in the movie. It is only used until |
|
the movie is closed, at which time it is not saved. |
|
*/ |
|
/* |
|
* SetMovieAudioGain() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetMovieAudioGain( |
|
Movie m, |
|
Float32 gain, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetMovieAudioGain() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioGain( |
|
Movie m, |
|
Float32 * gain, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
SetTrackAudioGain: |
|
This API sets the audio gain level for the audio output of a track. This alters the |
|
perceived volume of the track's playback. The gain level is multiplicative; eg. 0.0 |
|
is silent, 0.5 is -6dB, 1.0 is 0dB (ie. the audio from the track is not |
|
modified), 2.0 is +6dB, etc. The gain level can be set higher than 1.0 in order |
|
to allow quiet tracks to be boosted in volume. Settings higher than 1.0 may result in |
|
audio clipping, of course. The setting is not stored in the movie. It is only used until |
|
the movie is closed, at which time it is not saved. |
|
*/ |
|
/* |
|
* SetTrackAudioGain() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetTrackAudioGain( |
|
Track t, |
|
Float32 gain, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetTrackAudioGain() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetTrackAudioGain( |
|
Track t, |
|
Float32 * gain, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
SetMovieAudioBalance: |
|
This API sets the audio balance level for the mixed audio output of a movie. -1.0 |
|
means full left, 0.0 means centered, and 1.0 means full right. The setting is not |
|
stored in the movie. It is only used until the movie is closed, at which time it |
|
is not saved. |
|
*/ |
|
/* |
|
* SetMovieAudioBalance() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetMovieAudioBalance( |
|
Movie m, |
|
Float32 leftRight, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetMovieAudioBalance() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioBalance( |
|
Movie m, |
|
Float32 * leftRight, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
SetMovieAudioMute: |
|
This API mutes or unmutes the mixed audio output from a movie. |
|
*/ |
|
/* |
|
* SetMovieAudioMute() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetMovieAudioMute( |
|
Movie m, |
|
Boolean muted, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetMovieAudioMute() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioMute( |
|
Movie m, |
|
Boolean * muted, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
SetTrackAudioMute: |
|
This API mutes or unmutes the audio output from a track. |
|
*/ |
|
/* |
|
* SetTrackAudioMute() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetTrackAudioMute( |
|
Track t, |
|
Boolean muted, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetTrackAudioMute() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetTrackAudioMute( |
|
Track t, |
|
Boolean * muted, |
|
UInt32 flags); |
|
|
|
|
|
|
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Properties of an audio presentation (eg. a movie's audio) |
|
*/ |
|
kQTPropertyClass_Audio = FOUR_CHAR_CODE('audi') |
|
}; |
|
|
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTAudioPropertyID_Gain: Value is Float32. Get/Set/Listenable |
|
* The audio gain of a movie or track. The gain level is |
|
* multiplicative; eg. 0.0 is silent, 0.5 is -6dB, 1.0 is 0dB (ie. |
|
* the audio from the movie is not modified), 2.0 is +6dB, etc. The |
|
* gain level can be set higher than 1.0 in order to allow quiet |
|
* movies/tracks to be boosted in volume. Settings higher than 1.0 |
|
* may result in audio clipping, of course. The setting is not stored |
|
* in the movie/track. It is only used until the movie/track is |
|
* disposed. |
|
*/ |
|
kQTAudioPropertyID_Gain = FOUR_CHAR_CODE('gain'), /* value is Float32. Gettable/Settable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_Mute: Value is Boolean. Get/Set/Listenable |
|
* The audio mute state of a movie or track. If true, the |
|
* movie/track is muted. The setting is not stored in the |
|
* movie/track. It is only used until the movie/track is disposed. |
|
*/ |
|
kQTAudioPropertyID_Mute = FOUR_CHAR_CODE('mute'), /* value is Boolean. Gettable/Settable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_Balance: Value is Float32. Get/Set/Listenable |
|
* The audio balance of a movie. -1.0 means full left, 0.0 means |
|
* centered, and 1.0 means full right. The setting is not stored in |
|
* the movie. It is only used until the movie is disposed. This is |
|
* only supported for movies, not tracks. |
|
*/ |
|
kQTAudioPropertyID_Balance = FOUR_CHAR_CODE('bala'), /* value is Float32. Gettable/Settable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_RateChangesPreservePitch: Value is Boolean. |
|
* Get/Set When the playback rate is not unity, audio must be |
|
* resampled in order to play at the new rate. The default |
|
* resampling affects the pitch of the audio (eg, playing at 2x speed |
|
* raises the pitch by an octave, 1/2x lowers an octave). If this |
|
* property is set on the Movie, an alternative algorithm may be |
|
* used, which alters the speed without changing the pitch. As this |
|
* is more computationally expensive, this property may be silently |
|
* ignored on some slow CPUs. Media handlers may query this movie |
|
* property and honor it when performing Scaled Edits. This property |
|
* can be specified as a property to the NewMovieFromProperties() |
|
* API. Currently, it has no effect when set on an open movie. |
|
*/ |
|
kQTAudioPropertyID_RateChangesPreservePitch = FOUR_CHAR_CODE('aucp'), /* value is Boolean. Gettable/Settable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_Pitch: Value is Float32. Get/Set/Listenable |
|
* Movie pitch adjustment. Adjusts the pitch of all audio tracks |
|
* that contribute to the AudioContext mix. Pitch control takes |
|
* effect only if kQTAudioPropertyID_RateChangesPreservePitch is in |
|
* effect, otherwise returns kQTMessageNotHandledErr. The Float32 |
|
* value is specified in cents: 0.0 == no change, 1.0 == one cent up, |
|
* 100.0 == one semi-tone up, -1.0 == one cent down. The most useful |
|
* ranges for pitch are +/- 1200. (ie, one octave) |
|
*/ |
|
kQTAudioPropertyID_Pitch = FOUR_CHAR_CODE('pitc'), /* value is Float32. Get/Set/Listenable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_RenderQuality: Value is UInt32. Get/Set |
|
* Movie audio render quality takes effect for movie playback. UInt32 |
|
* values vary from 0x00 (kQTAudioRenderQuality_Min) to 0x7F |
|
* (kQTAudioRenderQuality_Max). We also define a special value |
|
* (kQTAudioRenderQuality_PlaybackDefault) which resets the quality |
|
* settings of the playback processing chain to values that are |
|
* chosen to be an optimal balance of performance and quality. |
|
*/ |
|
kQTAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qual'), /* value is UInt32. Gettable/Settable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_ChannelLayout: Value is AudioChannelLayout. |
|
* Get/Set The AudioChannelLayout of a track, or other audio stream. |
|
* Currently only settable/gettable for tracks. (See |
|
* kQTAudioPropertyID_SummaryChannelLayout if you want to get the |
|
* summary AudioChannelLayout of a movie.) Note that this is a |
|
* variable sized property (since it may contain an array of |
|
* ChannelDescriptions; see CoreAudioTypes.h). You must get the size |
|
* first (by calling QTGetTrackPropertyInfo), allocate a struct of |
|
* that size, and then get the property. |
|
*/ |
|
kQTAudioPropertyID_ChannelLayout = FOUR_CHAR_CODE('tlay'), /* value is AudioChannelLayout. Gettable/Settable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_SummaryChannelLayout: Value is |
|
* AudioChannelLayout. Get-only The summary AudioChannelLayout of a |
|
* movie, or other grouping of audio streams. All like-labelled |
|
* channels are combined, so there are no duplicates. For example, |
|
* if there is a stereo (L/R) track, 5 single-channel tracks marked |
|
* Left, Right, Left Surround, Right Surround and Center, and a 4 |
|
* channel track marked L/R/Ls/Rs, then the summary |
|
* AudioChannelLayout will be L/R/Ls/Rs/C. It will _not_ be |
|
* L/R/L/R/Ls/Rs/C/L/R/Ls/Rs. Note that this is a variable sized |
|
* property (since it may contain an array of ChannelDescriptions; |
|
* see CoreAudioTypes.h). You must get the size first (by calling, |
|
* for example, QTGetMoviePropertyInfo) allocate a struct of that |
|
* size, and then get the property. |
|
*/ |
|
kQTAudioPropertyID_SummaryChannelLayout = FOUR_CHAR_CODE('clay'), /* value is AudioChannelLayout. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_DeviceChannelLayout: Value is |
|
* AudioChannelLayout. Get-only The AudioChannelLayout of the device |
|
* this movie is playing to. Note that this is a variable sized |
|
* property (since it may contain an array of ChannelDescriptions; |
|
* see CoreAudioTypes.h). You must get the size first (by calling, |
|
* for example, QTGetMoviePropertyInfo) allocate a struct of that |
|
* size, and then get the property. |
|
*/ |
|
kQTAudioPropertyID_DeviceChannelLayout = FOUR_CHAR_CODE('dcly'), /* value is AudioChannelLayout. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_DeviceASBD: Value is |
|
* AudioStreamBasicDescription. Get-only Returns the |
|
* AudioStreamBasicDescription of the device this movie is playing |
|
* to. The interesting fields are the sample rate, which reflects |
|
* device's current state, and the number of channels, which matches |
|
* what is reported by kQTAudioPropertyID_DeviceChannelLayout. |
|
*/ |
|
kQTAudioPropertyID_DeviceASBD = FOUR_CHAR_CODE('dasd'), /* value is AudioStreamBasicDescription. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_SummaryASBD: Value is |
|
* AudioStreamBasicDescription. Get-only Returns the |
|
* AudioStreamBasicDescription corresponding to the Summary Mix of a |
|
* movie. This will describe non-interleaved, Float32 linear PCM |
|
* data, with a sample rate equal to the highest audio sample rate |
|
* found among the sound tracks contributing to the AudioContext mix, |
|
* and a number of channels that matches what is reported by |
|
* kQTAudioPropertyID_SummaryChannelLayout. |
|
*/ |
|
kQTAudioPropertyID_SummaryASBD = FOUR_CHAR_CODE('sasd'), /* value is AudioStreamBasicDescription. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_FormatString: Value is CFStringRef. Get-only |
|
* kQTAudioPropertyID_FormatString returns a localized, human |
|
* readable string describing the audio format as a CFStringRef, i.e. |
|
* "MPEG Layer 3". You may get this property from a SoundDescription |
|
* Handle by calling QTSoundDescriptionGetProperty(), or from a |
|
* StandardAudioCompression (scdi/audi) component instance by calling |
|
* QTGetComponentProperty(). |
|
*/ |
|
kQTAudioPropertyID_FormatString = FOUR_CHAR_CODE('fstr'), /* value is CFStringRef. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_ChannelLayoutString: Value is CFStringRef. |
|
* Get-only kQTAudioPropertyID_ChannelLayoutString returns a |
|
* localized, human readable string describing the audio channel |
|
* layout as a CFStringRef, i.e. "5.0 (L R C Ls Rs)". You may get |
|
* this property from a SoundDescription Handle by calling |
|
* QTSoundDescriptionGetProperty(), or from a |
|
* StandardAudioCompression (scdi/audi) component instance by calling |
|
* QTGetComponentProperty(). |
|
*/ |
|
kQTAudioPropertyID_ChannelLayoutString = FOUR_CHAR_CODE('lstr'), /* value is CFStringRef. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_SampleRateString: Value is CFStringRef. |
|
* Get-only kQTAudioPropertyID_SampleRateString returns a localized, |
|
* human readable string describing the audio sample rate as a |
|
* CFStringRef, i.e. "44.100 kHz". You may get this property from a |
|
* SoundDescription Handle by calling |
|
* QTSoundDescriptionGetProperty(), or from a |
|
* StandardAudioCompression (scdi/audi) component instance by calling |
|
* QTGetComponentProperty(). |
|
*/ |
|
kQTAudioPropertyID_SampleRateString = FOUR_CHAR_CODE('rstr'), /* value is CFStringRef. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_SampleSizeString: Value is CFStringRef. |
|
* Get-only kQTAudioPropertyID_SampleSizeString returns a localized, |
|
* human readable string describing the audio sample size as a |
|
* CFStringRef, i.e. "24-bit". Note, this property will only return a |
|
* valid string if the format is uncompressed (LPCM) audio. You may |
|
* get this property from a SoundDescription Handle by calling |
|
* QTSoundDescriptionGetProperty(), or from a |
|
* StandardAudioCompression (scdi/audi) component instance by calling |
|
* QTGetComponentProperty(). |
|
*/ |
|
kQTAudioPropertyID_SampleSizeString = FOUR_CHAR_CODE('sstr'), /* value is CFStringRef. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_BitRateString: Value is CFStringRef. Get-only |
|
* kQTAudioPropertyID_BitRateString returns a localized, human |
|
* readable string describing the audio bit rate as a CFStringRef, |
|
* i.e. "12 kbps". You may get this property from a SoundDescription |
|
* Handle by calling QTSoundDescriptionGetProperty(), or from a |
|
* StandardAudioCompression (scdi/audi) component instance by calling |
|
* QTGetComponentProperty(). |
|
*/ |
|
kQTAudioPropertyID_BitRateString = FOUR_CHAR_CODE('bstr'), /* value is CFStringRef. Gettable.*/ |
|
|
|
/* |
|
* kQTAudioPropertyID_SummaryString: Value is CFStringRef. Get-only |
|
* kQTAudioPropertyID_SummaryString returns a localized, human |
|
* readable string summarizing the audio as a CFStringRef, i.e. |
|
* "16-bit Integer (Big Endian), Stereo (L R), 48.000 kHz". You may |
|
* get this property from a SoundDescription Handle calling |
|
* QTSoundDescriptionGetProperty(), or from a |
|
* StandardAudioCompression (scdi/audi) component instance by calling |
|
* QTGetComponentProperty(). |
|
*/ |
|
kQTAudioPropertyID_SummaryString = FOUR_CHAR_CODE('asum') /* value is CFStringRef. Gettable.*/ |
|
}; |
|
|
|
|
|
|
|
|
|
/* |
|
* Audio Render Quality constants |
|
* |
|
* Summary: |
|
* Render quality is an integer that ranges from |
|
* kQTAudioRenderQuality_Min to kQTAudioRenderQuality_Max. |
|
* kQTAudioRenderQuality_Low, kQTAudioRenderQuality_Medium, and |
|
* kQTAudioRenderQuality_High are the preferred values. |
|
*/ |
|
enum { |
|
|
|
/* |
|
* The maximum value. |
|
*/ |
|
kQTAudioRenderQuality_Max = 0x7F, |
|
|
|
/* |
|
* A value that increases quality but requires more computational |
|
* resources. |
|
*/ |
|
kQTAudioRenderQuality_High = 0x60, |
|
|
|
/* |
|
* A value that represents a good quality/performance tradeoff. |
|
*/ |
|
kQTAudioRenderQuality_Medium = 0x40, |
|
|
|
/* |
|
* A value that reduces quality for better performance. |
|
*/ |
|
kQTAudioRenderQuality_Low = 0x20, |
|
|
|
/* |
|
* The minimum value. |
|
*/ |
|
kQTAudioRenderQuality_Min = 0x00, |
|
|
|
/* |
|
* A QuickTime-specific value that selects optimal settings for |
|
* playback. |
|
*/ |
|
kQTAudioRenderQuality_PlaybackDefault = 0x8000 |
|
}; |
|
|
|
|
|
/* whatMixToMeter constants*/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTAudioMeter_DeviceMix: Meter the movie's mix to the device |
|
* channel layout. To determine the channel layout of this mix, call |
|
* QTGetMovieProperty(..., kQTAudioPropertyID_DeviceChannelLayout, |
|
* ...). |
|
*/ |
|
kQTAudioMeter_DeviceMix = kQTAudioPropertyID_DeviceChannelLayout, |
|
|
|
/* |
|
* kQTAudioMeter_StereoMix: Meter a stereo (two-channel) mix of the |
|
* enabled sound tracks in the movie. This option is offered only for |
|
* MovieAudioFrequencyMetering. |
|
*/ |
|
kQTAudioMeter_StereoMix = FOUR_CHAR_CODE('stmx'), |
|
|
|
/* |
|
* kQTAudioMeter_MonoMix: Meter a monarual (one-channel) mix of the |
|
* enabled sound tracks in the movie. This option is offered only for |
|
* MovieAudioFrequencyMetering. |
|
*/ |
|
kQTAudioMeter_MonoMix = FOUR_CHAR_CODE('momx') |
|
}; |
|
|
|
/* |
|
SetMovieAudioVolumeMeteringEnabled: |
|
This API enables or disables volume metering of a particular mix of this movie. The only possible |
|
mix to meter is currently kQTAudioMeter_DeviceMix. See kQTAudioMeter_DeviceMix above to see |
|
how to determine the channel layout of the movie's device mix. |
|
*/ |
|
/* |
|
* SetMovieAudioVolumeMeteringEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetMovieAudioVolumeMeteringEnabled( |
|
Movie m, |
|
FourCharCode whatMixToMeter, |
|
Boolean enabled); |
|
|
|
|
|
/* |
|
* GetMovieAudioVolumeMeteringEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioVolumeMeteringEnabled( |
|
Movie m, |
|
FourCharCode whatMixToMeter, |
|
Boolean * enabled); |
|
|
|
|
|
/* |
|
GetMovieAudioVolumeLevels: |
|
This API returns the current volume meter levels of the movie. It can return both average power |
|
levels and peak hold levels. whatMixToMeter must be set to kQTAudioMeter_DeviceMix. Either |
|
QTAudioVolumeLevels parameter may be nil. If non-nil, each must have its numChannels field set to |
|
the number of channels in the movie's device mix, and must be allocated large enough to hold levels |
|
for all those channels. See kQTAudioMeter_DeviceMix above to see how to determine the channel |
|
layout of the device mix. The levels returned are measured in decibels, where 0.0 means full volume, |
|
-6.0 means half volume, -12.0 means quarter volume, and -inf means silence. |
|
*/ |
|
struct QTAudioVolumeLevels { |
|
UInt32 numChannels; |
|
Float32 level[1]; /* numChannels entries*/ |
|
}; |
|
typedef struct QTAudioVolumeLevels QTAudioVolumeLevels; |
|
/* |
|
* GetMovieAudioVolumeLevels() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioVolumeLevels( |
|
Movie m, |
|
FourCharCode whatMixToMeter, |
|
QTAudioVolumeLevels * pAveragePowerLevels, |
|
QTAudioVolumeLevels * pPeakHoldLevels); |
|
|
|
|
|
/* |
|
SetTrackAudioVolumeMeteringEnabled: |
|
This API enables or disables volume metering of a particular track of this movie. |
|
This API should be used in preference to the legacy SoundMedia interface, but |
|
may interfere with its operation if both are in use at the same time. |
|
*/ |
|
/* |
|
* SetTrackAudioVolumeMeteringEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetTrackAudioVolumeMeteringEnabled( |
|
Track t, |
|
Boolean enabled); |
|
|
|
|
|
/* |
|
* GetTrackAudioVolumeMeteringEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetTrackAudioVolumeMeteringEnabled( |
|
Track t, |
|
Boolean * enabled); |
|
|
|
|
|
|
|
/* |
|
GetTrackAudioVolumeLevels: |
|
This API returns the current volume meter levels of the track. It can return both average power |
|
levels and peak hold levels. Either QTAudioVolumeLevels parameter may be nil. If non-nil, |
|
each must have its numChannels field set to the number of channels of interest, and must be |
|
allocated large enough to hold levels for all those channels. |
|
The levels returned are measured in decibels, where 0.0 means full volume, |
|
-6.0 means half volume, -12.0 means quarter volume, and -inf means silence. |
|
*/ |
|
/* |
|
* GetTrackAudioVolumeLevels() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetTrackAudioVolumeLevels( |
|
Track t, |
|
QTAudioVolumeLevels * pAveragePowerLevels, |
|
QTAudioVolumeLevels * pPeakHoldLevels); |
|
|
|
|
|
|
|
/* |
|
SetMovieAudioFrequencyMeteringNumBands: |
|
This API configures and enables (or disables) frequency metering for a movie. |
|
Note that ioNumBands is an in/out parameter. You specify the number of frequency bands you |
|
want to meter, and if that number is higher than is possible (determined by, among other things, |
|
the sample rate of the audio being metered), this API will return the number of bands it is |
|
actually going to meter. ioNumBands can be nil or a pointer to 0 to disable metering. |
|
whatMixToMeter must be set to kQTAudioMeter_StereoMix, kQTAudioMeter_MonoMix, or |
|
kQTAudioMeter_DeviceMix. When metering movies playing to audio devices that offer a |
|
large number of channels, it may be prohibitively expensive to perform spectral analysis |
|
on every channel; in these cases, stereo or mono mix metering may be preferable. |
|
*/ |
|
/* |
|
* SetMovieAudioFrequencyMeteringNumBands() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetMovieAudioFrequencyMeteringNumBands( |
|
Movie m, |
|
FourCharCode whatMixToMeter, |
|
UInt32 * ioNumBands); |
|
|
|
|
|
/* |
|
* GetMovieAudioFrequencyMeteringNumBands() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioFrequencyMeteringNumBands( |
|
Movie m, |
|
FourCharCode whatMixToMeter, |
|
UInt32 * outNumBands); |
|
|
|
|
|
/* |
|
GetMovieAudioFrequencyMeteringBandFrequencies: |
|
This API returns the actual chosen middle frequency for each band in the configured |
|
frequency metering of a movie. This is useful for labeling visual meters |
|
in a user interface. Frequencies are returned in Hz. whatMixToMeter must be set |
|
to the same value that was passed most recently to SetMovieAudioFrequencyMeteringNumBands(). |
|
*/ |
|
/* |
|
* GetMovieAudioFrequencyMeteringBandFrequencies() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioFrequencyMeteringBandFrequencies( |
|
Movie m, |
|
FourCharCode whatMixToMeter, |
|
UInt32 numBands, |
|
Float32 * outBandFrequencies); |
|
|
|
|
|
/* |
|
GetMovieAudioFrequencyLevels: |
|
This API returns the current frequency meter levels of the movie. pAveragePowerLevels should |
|
have its numChannels field set to the number of channels being metered, and its numBands field |
|
set to the number of bands being metered (as previously configured). pAveragePowerLevels must be |
|
allocated large enough to hold levels for all bands in all channels. The levels are returned with |
|
all the band levels for the first channel first, then all the band levels for the second channel, etc. |
|
whatMixToMeter must be set to the same value that was passed most recently to |
|
SetMovieAudioFrequencyMeteringNumBands(). |
|
*/ |
|
struct QTAudioFrequencyLevels { |
|
UInt32 numChannels; |
|
UInt32 numFrequencyBands; |
|
/* numChannels * numFrequencyBands entries, with the frequency bands for a single channel stored contiguously.*/ |
|
Float32 level[1]; |
|
}; |
|
typedef struct QTAudioFrequencyLevels QTAudioFrequencyLevels; |
|
/* |
|
* GetMovieAudioFrequencyLevels() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetMovieAudioFrequencyLevels( |
|
Movie m, |
|
FourCharCode whatMixToMeter, |
|
QTAudioFrequencyLevels * pAveragePowerLevels); |
|
|
|
|
|
|
|
/* Movie Audio Extraction*/ |
|
|
|
/* |
|
MovieAudioExtractionBegin: |
|
This API must be called before doing any movie audio extraction. The returned session |
|
object is to be passed to the other movie audio extraction APIs. Note that the extracted |
|
format defaults to the aggregate channel layout of the movie (eg. all Rights mixed together, |
|
all Left Surrounds mixed together, etc), 32-bit float, de-interleaved, with the sample rate |
|
set to the highest sample rate found in the movie. You can get this info, and you can also |
|
set the format to be something else (as long as it is uncompressed, and you do it before |
|
the first call to MovieAudioExtractionFillBuffer). |
|
*/ |
|
typedef struct MovieAudioExtractionRefRecord* MovieAudioExtractionRef; |
|
/* |
|
* MovieAudioExtractionBegin() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
MovieAudioExtractionBegin( |
|
Movie m, |
|
UInt32 flags, |
|
MovieAudioExtractionRef * outSession); |
|
|
|
|
|
/* |
|
MovieAudioExtractionEnd: |
|
This API must be called when movie audio extraction is complete. |
|
*/ |
|
/* |
|
* MovieAudioExtractionEnd() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
MovieAudioExtractionEnd(MovieAudioExtractionRef session); |
|
|
|
|
|
/* Movie audio extraction property classes*/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Properties of the movie being extracted from |
|
*/ |
|
kQTPropertyClass_MovieAudioExtraction_Movie = FOUR_CHAR_CODE('xmov'), |
|
|
|
/* |
|
* Properties of the output audio |
|
*/ |
|
kQTPropertyClass_MovieAudioExtraction_Audio = FOUR_CHAR_CODE('xaud') |
|
}; |
|
|
|
/* "Movie class" property IDs*/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTMovieAudioExtractionMoviePropertyID_CurrentTime: Value is |
|
* TimeRecord (set & get) When setting, set the timescale to anything |
|
* you want (output audio sample rate, movie timescale) When getting, |
|
* the timescale will be output audio sample rate for best accuracy. |
|
*/ |
|
kQTMovieAudioExtractionMoviePropertyID_CurrentTime = FOUR_CHAR_CODE('time'), /* value is TimeRecord. Get/Set.*/ |
|
|
|
/* |
|
* kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete: Value |
|
* is Boolean (set & get) Set to implement export of all audio |
|
* channels without mixing. When this is set and the extraction asbd |
|
* or channel layout are read back, you will get information relating |
|
* to the re-mapped movie. |
|
*/ |
|
kQTMovieAudioExtractionMoviePropertyID_AllChannelsDiscrete = FOUR_CHAR_CODE('disc'), /* value is Boolean. Get/Set.*/ |
|
|
|
/* |
|
* kQTMovieAudioExtractionAudioPropertyID_RenderQuality: Value is |
|
* UInt32 (set & get) Set the render quality to be used for this |
|
* audio extraction session. UInt32 values vary from 0x00 |
|
* (kQTAudioRenderQuality_Min) to 0x7F (kQTAudioRenderQuality_Max). |
|
* We also define a special value |
|
* (kQTAudioRenderQuality_PlaybackDefault) which resets the quality |
|
* settings to the same values that were chosen by default for |
|
* playback. |
|
*/ |
|
kQTMovieAudioExtractionAudioPropertyID_RenderQuality = FOUR_CHAR_CODE('qual') /* value is UInt32. Get/Set.*/ |
|
}; |
|
|
|
|
|
/* "Output Audio class" property IDs*/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
/* kQTPropertyClass_MovieAudioExtraction_Audio*/ |
|
|
|
/* |
|
* |
|
* QTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription: |
|
* Value is AudioStreamBasicDescription. Get/Set. (get any time, set |
|
* before first MovieAudioExtractionFillBuffer call) If you get this |
|
* property immediately after beginning an audio extraction session, |
|
* it will tell you the default extraction format for the movie. |
|
* This will include the number of channels in the default movie mix. |
|
* If you set the output AudioStreamBasicDescription, it is |
|
* recommended that you also set the output channel layout. If your |
|
* output ASBD has a different number of channels that the default |
|
* extraction mix, you _must_ set the output channel layout. You can |
|
* only set PCM output formats. Setting a compressed output format |
|
* will fail. |
|
*/ |
|
kQTMovieAudioExtractionAudioPropertyID_AudioStreamBasicDescription = FOUR_CHAR_CODE('asbd'), /* value is AudioStreamBasicDescription. Get/Set.*/ |
|
|
|
/* |
|
* kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout: Value |
|
* is AudioChannelLayout. Get/Set. (get any time, set before first |
|
* MovieAudioExtractionFillBuffer call) If you get this property |
|
* immediately after beginning an audio extraction session, it will |
|
* tell you what the channel layout is for the default extraction mix. |
|
*/ |
|
kQTMovieAudioExtractionAudioPropertyID_AudioChannelLayout = FOUR_CHAR_CODE('clay'), /* value is AudioChannelLayout. Get/Set.*/ |
|
|
|
/* |
|
* kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration: |
|
* Value is TimeRecord. Get only. Returns the total duration of audio |
|
* data that can be expected from the audio extraction session as |
|
* currently configured. This is computed by examining all tracks |
|
* that contribute to the audio mix, finding the highest end time |
|
* among them, adding in all relevant tail times from any Audio |
|
* Context Inserts that have been registered, and subtracting any |
|
* extraction start time that has been set. If this property is |
|
* queried once extraction has started, it will return the remaining |
|
* duration, or zero once extraction has advanced to the end of all |
|
* contributing audio tracks. |
|
*/ |
|
kQTMovieAudioExtractionAudioPropertyID_RemainingAudioDuration = FOUR_CHAR_CODE('dura') /* value is TimeRecord. Get only.*/ |
|
}; |
|
|
|
|
|
/* |
|
* MovieAudioExtractionGetPropertyInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
MovieAudioExtractionGetPropertyInfo( |
|
MovieAudioExtractionRef session, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTPropertyValueType * outPropType, |
|
ByteCount * outPropValueSize, |
|
UInt32 * outPropertyFlags); |
|
|
|
|
|
/* |
|
* MovieAudioExtractionGetProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
MovieAudioExtractionGetProperty( |
|
MovieAudioExtractionRef session, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
QTPropertyValuePtr outPropValueAddress, |
|
ByteCount * outPropValueSizeUsed); |
|
|
|
|
|
/* |
|
* MovieAudioExtractionSetProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
MovieAudioExtractionSetProperty( |
|
MovieAudioExtractionRef session, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
ConstQTPropertyValuePtr inPropValueAddress); |
|
|
|
|
|
/* |
|
MovieAudioExtractionFillBuffer: |
|
Each call to MovieAudioExtractionFillBuffer will continue where the last call left off. |
|
It will extract as many of the requested PCM frames as it can, given the limits of the |
|
buffer(s) supplied, and the limits of the input movie. ioNumFrames will be updated |
|
with the exact number of valid frames being returned. |
|
When there is no more audio to extract from the movie, MovieAudioExtractionFillBuffer |
|
will continue to return noErr, but no audio data will be returned. outFlags will have |
|
the kQTMovieAudioExtractionComplete bit set in this case. It is possible that the |
|
kQTMovieAudioExtractionComplete bit will accompany the last buffer of valid data. |
|
*/ |
|
enum { |
|
kQTMovieAudioExtractionComplete = (1L << 0) |
|
}; |
|
|
|
/* |
|
* MovieAudioExtractionFillBuffer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
MovieAudioExtractionFillBuffer( |
|
MovieAudioExtractionRef session, |
|
UInt32 * ioNumFrames, |
|
AudioBufferList * ioData, |
|
UInt32 * outFlags); |
|
|
|
|
|
|
|
/* Audio Context Insert properties for MovieAudioExtraction*/ |
|
|
|
/* |
|
Theory of operations: |
|
To register for a Movie Audio Context Insert during Movie Audio Extraction: |
|
Set the kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert |
|
property on the extraction session, providing the same registry info structure |
|
that is used for the QTAudioContextRegisterInsert call. |
|
To register for a Track Audio Context Insert during Movie Audio Extraction: |
|
Set the kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert |
|
property on the extraction session, providing a QTAudioTrackInsertRegistryInfoRef, |
|
described below. |
|
Note: Once extraction has begun (ie, MovieAudioExtractionFillBuffer() has been |
|
called), attempts to set these properties will return qtReadOnlyErr. |
|
This is consistent with the behavior of most extraction properties. |
|
*/ |
|
|
|
|
|
/* |
|
* QTAudioTrackInsertRegistryInfo |
|
* |
|
* Summary: |
|
* Parameters for registering an Audio Context Track Insert during |
|
* Movie Audio Extraction |
|
* |
|
* Discussion: |
|
* This is used with the |
|
* kQTMovieAudioExtractionMoviePropertyID_RegisterTrackInsert |
|
* property. |
|
*/ |
|
struct QTAudioTrackInsertRegistryInfo { |
|
|
|
/* |
|
* The track of the source movie on which to apply the insert. |
|
*/ |
|
Track track; |
|
|
|
/* |
|
* The Audio Context Insert registration info (channel layouts, |
|
* callbacks). |
|
*/ |
|
QTAudioContextInsertRegistryInfo regInfo; |
|
}; |
|
typedef struct QTAudioTrackInsertRegistryInfo QTAudioTrackInsertRegistryInfo; |
|
typedef QTAudioTrackInsertRegistryInfo * QTAudioTrackInsertRegistryInfoRef; |
|
/* Movie and Track level audio context inserts for extraction (kQTPropertyClass_MovieAudioExtraction_Audio)*/ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert: Value |
|
* is QTAudioContextInsertRegistryInfoRef (Get/Set) Set on an |
|
* extraction session to register/unregister an Audio Context Insert |
|
* for the movie summary mix. When this property is read back |
|
* (MovieAudioExtractionGetProperty) the channel layout pointers will |
|
* will be NULL. To unregister, supply a NULL processDataCallback (in |
|
* which case the rest of the registry info will be ignored). |
|
*/ |
|
kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert = FOUR_CHAR_CODE('regm'), /* value is QTAudioContextInsertRegistryInfoRef. Get/Set.*/ |
|
|
|
/* |
|
* kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert: Value |
|
* is QTAudioTrackInsertRegistryInfoRef (Get/Set) Set on an |
|
* extraction session to register/unregister an Audio Context Insert |
|
* for a particular track of the movie. When this property is read |
|
* back (MovieAudioExtractionGetProperty) the channel layout pointers |
|
* will will be NULL. To unregister, supply a NULL |
|
* processDataCallback (in which case the rest of the registry info |
|
* will be ignored). |
|
*/ |
|
kQTMovieAudioExtractionAudioPropertyID_RegisterTrackInsert = FOUR_CHAR_CODE('regt') /* value is QTAudioTrackInsertRegistryInfoRef. Get/Set.*/ |
|
}; |
|
|
|
|
|
#define kQTMovieAudioExtractionMoviePropertyID_RegisterInsert Use kQTPropertyClass_MovieAudioExtraction_Audio / kQTMovieAudioExtractionAudioPropertyID_RegisterMovieInsert instead! |
|
|
|
/* Legacy Audio/Sound APIs*/ |
|
|
|
/* |
|
* GetMoviePreferredVolume() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
GetMoviePreferredVolume(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMoviePreferredVolume() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMoviePreferredVolume( |
|
Movie theMovie, |
|
short volume); |
|
|
|
|
|
/* |
|
* GetMovieVolume() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
GetMovieVolume(Movie theMovie); |
|
|
|
|
|
/* |
|
* SetMovieVolume() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetMovieVolume( |
|
Movie theMovie, |
|
short volume); |
|
|
|
|
|
/* |
|
* GetTrackVolume() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
GetTrackVolume(Track theTrack); |
|
|
|
|
|
/* |
|
* SetTrackVolume() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTrackVolume( |
|
Track theTrack, |
|
short volume); |
|
|
|
|
|
/* |
|
* GetTrackSoundLocalizationSettings() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetTrackSoundLocalizationSettings( |
|
Track theTrack, |
|
Handle * settings); |
|
|
|
|
|
/* |
|
* SetTrackSoundLocalizationSettings() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetTrackSoundLocalizationSettings( |
|
Track theTrack, |
|
Handle settings); |
|
|
|
|
|
|
|
/* Performance properties*/ |
|
|
|
|
|
/* |
|
*/ |
|
enum { |
|
kQTPropertyClass_Performance = FOUR_CHAR_CODE('perf'), |
|
|
|
/* |
|
* kQTPerformancePropertyID_MediaStallCount: Value is UInt32. |
|
* Get/Set/Listenable Media stalls occur when a media handler is |
|
* unable to provide its media data at the time required for seamless |
|
* playback. The exact interpretation of a track's MediaStallCount |
|
* property is media-handler dependent, but may indicate conditions |
|
* such as a video frame not decoded in time, the sound queue runs |
|
* dry, etc. When requested on a specific track, this property |
|
* returns the current stall count of that track. When requested on |
|
* a movie, it returns the accumulated MediaStallCounts for all the |
|
* tracks in the movie. The track property may be set to zero to |
|
* reset it. Setting the movie property to zero resets all the track |
|
* counts. Setting the value to anything other than zero yields |
|
* paramErr. The movie toolbox defers property-changed notifications |
|
* to any property listeners until the next time the movie is idled. |
|
*/ |
|
kQTPerformancePropertyID_MediaStallCount = FOUR_CHAR_CODE('stal'), /* UInt32, Get/Set/Listenable */ |
|
|
|
/* |
|
* kQTPerformancePropertyID_AudioIOOverloadCount: Value is UInt32. |
|
* Get/Set/Listenable Audio I/O overloads occur when the |
|
* high-priority audio processing thread does not provide the |
|
* requested buffer of data in time to ensure seamless playback. |
|
* This movie property accumulates the number of Audio Device I/O |
|
* overloads that are detected during playback of a movie. I/O |
|
* overloads that are detected when the movie is not playing (but |
|
* other movies may be playing), are not counted. This property may |
|
* be set to zero to reset the counter. Setting the value to |
|
* anything other than zero yields paramErr. The movie toolbox defers |
|
* property-changed notifications to any property listeners until the |
|
* next time the movie is idled. |
|
*/ |
|
kQTPerformancePropertyID_AudioIOOverloadCount = FOUR_CHAR_CODE('ovct') /* UInt32, Get/Set/Listenable*/ |
|
}; |
|
|
|
|
|
/* Movie Visual Adjustment APIs*/ |
|
|
|
|
|
/* |
|
* Summary: |
|
* Visual movie properties. |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Class for visual properties. |
|
*/ |
|
kQTPropertyClass_Visual = FOUR_CHAR_CODE('visu'), |
|
|
|
/* |
|
* The hue adjustment for the movie. The value is a Float32 between |
|
* -1.0 and 1.0, with 0.0 meaning no adjustment. This adjustment |
|
* wraps around, such that -1.0 and 1.0 yield the same result. |
|
*/ |
|
kQTVisualPropertyID_Hue = FOUR_CHAR_CODE('vhue'), /* Float32, Read/Write */ |
|
|
|
/* |
|
* The color saturation adjustment for the movie. The value is a |
|
* Float32 percentage (1.0f = 100%), such that 0.0 gives grayscale. |
|
*/ |
|
kQTVisualPropertyID_Saturation = FOUR_CHAR_CODE('vsat'), /* Float32, Read/Write */ |
|
|
|
/* |
|
* The brightness adjustment for the movie. The value is a Float32 |
|
* for which -1.0 means full black, 0.0 means no adjustment, and 1.0 |
|
* means full white. |
|
*/ |
|
kQTVisualPropertyID_Brightness = FOUR_CHAR_CODE('vbrt'), /* Float32, Read/Write */ |
|
|
|
/* |
|
* The contrast adjustment for the movie. The value is a Float32 |
|
* percentage (1.0f = 100%), such that 0.0 gives solid grey. |
|
*/ |
|
kQTVisualPropertyID_Contrast = FOUR_CHAR_CODE('vcon') /* Float32, Read/Write */ |
|
}; |
|
|
|
|
|
/* |
|
* SetMovieVisualHue() |
|
* |
|
* Summary: |
|
* This API sets the hue adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details. |
|
* The setting is not stored in the movie. It is only used until |
|
* the movie is closed, at which time it is not saved. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* hue: |
|
* [in] New hue adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
SetMovieVisualHue( |
|
Movie movie, |
|
Float32 hue, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetMovieVisualHue() |
|
* |
|
* Summary: |
|
* This API gets the hue adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Hue for details. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* hueOut: |
|
* [out] Current hue adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
GetMovieVisualHue( |
|
Movie movie, |
|
Float32 * hueOut, |
|
UInt32 flags); |
|
|
|
|
|
|
|
/* |
|
* SetMovieVisualSaturation() |
|
* |
|
* Summary: |
|
* This API sets the color saturation adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for |
|
* details. The setting is not stored in the movie. It is only used |
|
* until the movie is closed, at which time it is not saved. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* saturation: |
|
* [in] New saturation adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
SetMovieVisualSaturation( |
|
Movie movie, |
|
Float32 saturation, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetMovieVisualSaturation() |
|
* |
|
* Summary: |
|
* This API gets the color saturation adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Saturation for |
|
* details. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* saturationOut: |
|
* [out] Current saturation adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
GetMovieVisualSaturation( |
|
Movie movie, |
|
Float32 * saturationOut, |
|
UInt32 flags); |
|
|
|
|
|
|
|
/* |
|
* SetMovieVisualBrightness() |
|
* |
|
* Summary: |
|
* This API sets the brightness adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for |
|
* details. The setting is not stored in the movie. It is only used |
|
* until the movie is closed, at which time it is not saved. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* brightness: |
|
* [in] New brightness adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
SetMovieVisualBrightness( |
|
Movie movie, |
|
Float32 brightness, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetMovieVisualBrightness() |
|
* |
|
* Summary: |
|
* This API gets the brightness adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Brightness for |
|
* details. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* brightnessOut: |
|
* [out] Current brightness adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
GetMovieVisualBrightness( |
|
Movie movie, |
|
Float32 * brightnessOut, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* SetMovieVisualContrast() |
|
* |
|
* Summary: |
|
* This API sets the contrast adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for |
|
* details. The setting is not stored in the movie. It is only used |
|
* until the movie is closed, at which time it is not saved. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* contrast: |
|
* [in] New contrast adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
SetMovieVisualContrast( |
|
Movie movie, |
|
Float32 contrast, |
|
UInt32 flags); |
|
|
|
|
|
/* |
|
* GetMovieVisualContrast() |
|
* |
|
* Summary: |
|
* This API gets the contrast adjustment for the movie. |
|
* |
|
* Discussion: |
|
* See kQTPropertyClass_Visual/kQTVisualPropertyID_Contrast for |
|
* details. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* contrastOut: |
|
* [out] Current contrast adjustment. |
|
* |
|
* flags: |
|
* [in] Reserved. Pass 0. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
GetMovieVisualContrast( |
|
Movie movie, |
|
Float32 * contrastOut, |
|
UInt32 flags); |
|
|
|
|
|
|
|
/* Movie Aperture APIs*/ |
|
|
|
|
|
/* |
|
* Summary: |
|
* Visual properties of movies for aperture modes. |
|
*/ |
|
enum { |
|
|
|
/* |
|
* You can set the aperture mode property on a movie to indicate |
|
* whether aspect ratio and clean aperture correction should be |
|
* performed. The values for this property have the prefix |
|
* kQTApertureMode_ and are in ImageCompression.h. |
|
* When a movie is in clean, production or encoded pixels aperture |
|
* mode, each track's dimensions are overriden by special dimensions |
|
* for that mode. The original track dimensions are preserved and can |
|
* be restored by setting the movie into classic aperture mode. |
|
*/ |
|
kQTVisualPropertyID_ApertureMode = FOUR_CHAR_CODE('apmd') /* OSType, Read/Write/Listen */ |
|
}; |
|
|
|
|
|
/* |
|
* Summary: |
|
* Visual properties of tracks for aperture modes |
|
* |
|
* Discussion: |
|
* A track's dimensions may vary depending on the movie's aperture |
|
* mode. The dimensions for a given aperture mode may be accessed |
|
* using these properties. |
|
*/ |
|
enum { |
|
|
|
/* |
|
* The track dimensions used in QuickTime 7.0.x and earlier. Setting |
|
* this property is equivalent to calling SetTrackDimensions, except |
|
* that SetTrackDimensions also changes the aperture mode to |
|
* kQTApertureMode_Classic, and setting this property does not. |
|
*/ |
|
kQTVisualPropertyID_ClassicDimensions = FOUR_CHAR_CODE('cldi'), /* FixedPoint, Read/Write */ |
|
|
|
/* |
|
* The track dimensions to use in clean aperture mode. |
|
*/ |
|
kQTVisualPropertyID_CleanApertureDimensions = FOUR_CHAR_CODE('cadi'), /* FixedPoint, Read/Write */ |
|
|
|
/* |
|
* The track dimensions to use in production aperture mode. |
|
*/ |
|
kQTVisualPropertyID_ProductionApertureDimensions = FOUR_CHAR_CODE('prdi'), /* FixedPoint, Read/Write */ |
|
|
|
/* |
|
* The track dimensions to use in encoded pixels aperture mode. |
|
*/ |
|
kQTVisualPropertyID_EncodedPixelsDimensions = FOUR_CHAR_CODE('endi'), /* FixedPoint, Read/Write */ |
|
|
|
/* |
|
* True if aperture mode dimensions have been set on this movie, even |
|
* if they are all identical to the classic dimensions (as is the |
|
* case for content with square pixels and no edge processing |
|
* region). |
|
* This property can also be tested on a movie, where it is true if |
|
* any track has aperture mode dimensions. |
|
*/ |
|
kQTVisualPropertyID_HasApertureModeDimensions = FOUR_CHAR_CODE('hamd') /* Boolean, Read */ |
|
}; |
|
|
|
|
|
/* |
|
* Summary: |
|
* Media Characteristics |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Indicates that a media handler supports aperture modes, which |
|
* enable video to be automatically scaled and cropped to compensate |
|
* for non-square pixel aspect ratios and to trim possibly-dirty edge |
|
* processing regions. The dimensions of such a track may change when |
|
* the movie's aperture mode is changed. |
|
*/ |
|
kCharacteristicSupportsApertureModes = FOUR_CHAR_CODE('apmd') |
|
}; |
|
|
|
/* |
|
* SetTrackApertureModeDimensionsUsingSampleDescription() |
|
* |
|
* Summary: |
|
* Sets a track's aperture mode dimensions using values calculated |
|
* using a sample description. |
|
* |
|
* Discussion: |
|
* This function should be used to add information needed to support |
|
* aperture modes to newly created tracks. This information is |
|
* calculated using the given sample description. If sampleDesc is |
|
* NULL, the track's first sample description is used. |
|
* |
|
* Parameters: |
|
* |
|
* track: |
|
* [in] The track. |
|
* |
|
* sampleDesc: |
|
* [in] The sample description handle. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.1) and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
SetTrackApertureModeDimensionsUsingSampleDescription( |
|
Track track, |
|
SampleDescriptionHandle sampleDesc); /* can be NULL */ |
|
|
|
|
|
/* |
|
* GenerateMovieApertureModeDimensions() |
|
* |
|
* Summary: |
|
* Examines a movie and sets up track aperture mode dimensions. |
|
* |
|
* Discussion: |
|
* This function can be used to add information needed to support |
|
* aperture modes to movies created with applications and/or |
|
* versions of QuickTime that did not support aperture mode |
|
* dimensions. If the image descriptions in video tracks lack tags |
|
* describing clean aperture and pixel aspect ratio information, the |
|
* media data may be scanned to see if the correct values can be |
|
* divined and attached. Then the aperture mode dimensions are |
|
* calculated and set for each track. Afterwards, the |
|
* kQTVisualPropertyID_HasApertureModeDimensions property will be |
|
* set to true for these tracks. Tracks which do not support |
|
* aperture modes are not changed. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.1) and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
GenerateMovieApertureModeDimensions(Movie movie); |
|
|
|
|
|
/* |
|
* GenerateTrackApertureModeDimensions() |
|
* |
|
* Summary: |
|
* Examines a track and sets up aperture mode dimensions. |
|
* |
|
* Discussion: |
|
* This function can be used to add information needed to support |
|
* aperture modes to tracks created with applications and/or |
|
* versions of QuickTime that did not support aperture mode |
|
* dimensions. If the image descriptions in video tracks lack tags |
|
* describing clean aperture and pixel aspect ratio information, the |
|
* media data may be scanned to see if the correct values can be |
|
* divined and attached. Then the aperture mode dimensions are |
|
* calculated and set. Afterwards, the |
|
* kQTVisualPropertyID_HasApertureModeDimensions property will be |
|
* set to true for these tracks. Tracks which do not support |
|
* aperture modes are not changed. |
|
* |
|
* Parameters: |
|
* |
|
* track: |
|
* [in] The track. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.1) and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
GenerateTrackApertureModeDimensions(Track track); |
|
|
|
|
|
/* |
|
* RemoveMovieApertureModeDimensions() |
|
* |
|
* Summary: |
|
* Removes aperture mode dimension information from a movie. |
|
* |
|
* Discussion: |
|
* This function removes aperture mode dimension information from a |
|
* movie's tracks. It does not attempt to modify sample |
|
* descriptions, so it may not completely reverse the effect of |
|
* GenerateMovieApertureModeDimensions. It sets the |
|
* kQTVisualPropertyID_HasApertureModeDimensions property to false. |
|
* |
|
* Parameters: |
|
* |
|
* movie: |
|
* [in] The movie. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.1) and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
RemoveMovieApertureModeDimensions(Movie movie); |
|
|
|
|
|
/* |
|
* RemoveTrackApertureModeDimensions() |
|
* |
|
* Summary: |
|
* Removes aperture mode dimension information from a track. |
|
* |
|
* Discussion: |
|
* This function removes aperture mode dimension information from a |
|
* track. It does not attempt to modify sample descriptions, so it |
|
* may not completely reverse the effect of |
|
* GenerateTrackApertureModeDimensions. It sets the |
|
* kQTVisualPropertyID_HasApertureModeDimensions property to false. |
|
* |
|
* Parameters: |
|
* |
|
* track: |
|
* [in] The track. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.1) and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
RemoveTrackApertureModeDimensions(Track track); |
|
|
|
|
|
|
|
/***** |
|
Error reporting |
|
*****/ |
|
struct QTErrorReplacementRecord { |
|
long numEntries; |
|
StringPtr replacementString[1]; /* array of numEntries StringPtrs (each String is allocated separately).*/ |
|
}; |
|
typedef struct QTErrorReplacementRecord QTErrorReplacementRecord; |
|
typedef QTErrorReplacementRecord * QTErrorReplacementPtr; |
|
/* |
|
QTAddMovieError is used to add orthogonal errors to a list of errors that will |
|
later be reported (at the end of an import or playback, for example). Errors are stored |
|
in 'qter' resources within the component. |
|
|
|
QTAddMovieError(Movie addTo, // in: movie to add error to |
|
Component adder, // in: component which is adding the error |
|
long errorCode, // in: error code being added |
|
QTErrorReplacementPtr stringReplacements);// in: list of strings to subsitute (in order) for "^1", "^2", etc |
|
*/ |
|
/* |
|
* QTAddMovieError() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTAddMovieError( |
|
Movie movieH, |
|
Component c, |
|
long errorCode, |
|
QTErrorReplacementPtr stringReplacements); |
|
|
|
|
|
|
|
/***** |
|
Access Keys |
|
*****/ |
|
enum { |
|
kAccessKeyAtomType = FOUR_CHAR_CODE('acky') |
|
}; |
|
|
|
enum { |
|
kAccessKeySystemFlag = 1L << 0 |
|
}; |
|
|
|
/* |
|
* QTGetAccessKeys() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetAccessKeys( |
|
Str255 accessKeyType, |
|
long flags, |
|
QTAtomContainer * keys); |
|
|
|
|
|
/* |
|
* QTRegisterAccessKey() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRegisterAccessKey( |
|
Str255 accessKeyType, |
|
long flags, |
|
Handle accessKey); |
|
|
|
|
|
/* |
|
* QTUnregisterAccessKey() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTUnregisterAccessKey( |
|
Str255 accessKeyType, |
|
long flags, |
|
Handle accessKey); |
|
|
|
|
|
/***** |
|
Content Restrictions |
|
*****/ |
|
|
|
/* |
|
* QTGetMovieRestrictions() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetMovieRestrictions( |
|
Movie theMovie, |
|
QTRestrictionSet * outRestrictionSet, |
|
UInt32 * outSeed); |
|
|
|
|
|
|
|
/* |
|
* QTRestrictionsGetInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRestrictionsGetInfo( |
|
QTRestrictionSet inRestrictionSet, |
|
long * outRestrictionClassCount, |
|
long * outSeed); |
|
|
|
|
|
/* |
|
* QTRestrictionsGetIndClass() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRestrictionsGetIndClass( |
|
QTRestrictionSet inRestrictionSet, |
|
long inIndex, |
|
OSType * outClass); |
|
|
|
|
|
/* |
|
* QTRestrictionsGetItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRestrictionsGetItem( |
|
QTRestrictionSet inRestrictionSet, |
|
OSType inRestrictionClass, |
|
UInt32 * outRestrictions); |
|
|
|
|
|
/* |
|
* QTGetSupportedRestrictions() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetSupportedRestrictions( |
|
OSType inRestrictionClass, |
|
UInt32 * outRestrictionIDs); |
|
|
|
|
|
/* |
|
* QTCreateUUID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTCreateUUID( |
|
QTUUID * outUUID, |
|
long creationFlags); |
|
|
|
|
|
/* |
|
* QTEqualUUIDs() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
QTEqualUUIDs( |
|
const QTUUID * uuid1, |
|
const QTUUID * uuid2); |
|
|
|
|
|
|
|
|
|
/***** |
|
Time table |
|
*****/ |
|
/* |
|
* MakeTrackTimeTable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
MakeTrackTimeTable( |
|
Track trackH, |
|
long ** offsets, |
|
TimeValue startTime, |
|
TimeValue endTime, |
|
TimeValue timeIncrement, |
|
short firstDataRefIndex, |
|
short lastDataRefIndex, |
|
long * retdataRefSkew); |
|
|
|
|
|
/* |
|
* MakeMediaTimeTable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
MakeMediaTimeTable( |
|
Media theMedia, |
|
long ** offsets, |
|
TimeValue startTime, |
|
TimeValue endTime, |
|
TimeValue timeIncrement, |
|
short firstDataRefIndex, |
|
short lastDataRefIndex, |
|
long * retdataRefSkew); |
|
|
|
|
|
/* |
|
* GetMaxLoadedTimeInMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetMaxLoadedTimeInMovie( |
|
Movie theMovie, |
|
TimeValue * time); |
|
|
|
|
|
/* |
|
* QTMovieNeedsTimeTable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTMovieNeedsTimeTable( |
|
Movie theMovie, |
|
Boolean * needsTimeTable); |
|
|
|
|
|
/* |
|
* QTGetDataRefMaxFileOffset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetDataRefMaxFileOffset( |
|
Movie movieH, |
|
OSType dataRefType, |
|
Handle dataRef, |
|
long * offset); |
|
|
|
|
|
|
|
enum { |
|
kQTIdlePriority = 10, |
|
kQTNonRealTimePriority = 20, |
|
kQTRealTimeSharedPriority = 25, |
|
kQTRealTimePriority = 30 |
|
}; |
|
|
|
|
|
/* |
|
* NewQTCallBackUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( QTCallBackUPP ) |
|
NewQTCallBackUPP(QTCallBackProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppQTCallBackProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(QTCallBackUPP) NewQTCallBackUPP(QTCallBackProcPtr userRoutine) { return (QTCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewQTCallBackUPP(userRoutine) (QTCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTCallBackProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewQTSyncTaskUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( QTSyncTaskUPP ) |
|
NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppQTSyncTaskProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(QTSyncTaskUPP) NewQTSyncTaskUPP(QTSyncTaskProcPtr userRoutine) { return (QTSyncTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewQTSyncTaskUPP(userRoutine) (QTSyncTaskUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTSyncTaskProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMovieRgnCoverUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MovieRgnCoverUPP ) |
|
NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMovieRgnCoverProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MovieRgnCoverUPP) NewMovieRgnCoverUPP(MovieRgnCoverProcPtr userRoutine) { return (MovieRgnCoverUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieRgnCoverProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMovieRgnCoverUPP(userRoutine) (MovieRgnCoverUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieRgnCoverProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMovieProgressUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MovieProgressUPP ) |
|
NewMovieProgressUPP(MovieProgressProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMovieProgressProcInfo = 0x0000FAE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 2_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MovieProgressUPP) NewMovieProgressUPP(MovieProgressProcPtr userRoutine) { return (MovieProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieProgressProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMovieProgressUPP(userRoutine) (MovieProgressUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieProgressProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMovieDrawingCompleteUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MovieDrawingCompleteUPP ) |
|
NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMovieDrawingCompleteProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MovieDrawingCompleteUPP) NewMovieDrawingCompleteUPP(MovieDrawingCompleteProcPtr userRoutine) { return (MovieDrawingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMovieDrawingCompleteUPP(userRoutine) (MovieDrawingCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieDrawingCompleteProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewTrackTransferUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( TrackTransferUPP ) |
|
NewTrackTransferUPP(TrackTransferProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppTrackTransferProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(TrackTransferUPP) NewTrackTransferUPP(TrackTransferProcPtr userRoutine) { return (TrackTransferUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTrackTransferProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewTrackTransferUPP(userRoutine) (TrackTransferUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTrackTransferProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewGetMovieUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( GetMovieUPP ) |
|
NewGetMovieUPP(GetMovieProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppGetMovieProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(GetMovieUPP) NewGetMovieUPP(GetMovieProcPtr userRoutine) { return (GetMovieUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewGetMovieUPP(userRoutine) (GetMovieUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetMovieProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMoviePreviewCallOutUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MoviePreviewCallOutUPP ) |
|
NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMoviePreviewCallOutProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MoviePreviewCallOutUPP) NewMoviePreviewCallOutUPP(MoviePreviewCallOutProcPtr userRoutine) { return (MoviePreviewCallOutUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMoviePreviewCallOutUPP(userRoutine) (MoviePreviewCallOutUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePreviewCallOutProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewTextMediaUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( TextMediaUPP ) |
|
NewTextMediaUPP(TextMediaProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppTextMediaProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(TextMediaUPP) NewTextMediaUPP(TextMediaProcPtr userRoutine) { return (TextMediaUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewTextMediaUPP(userRoutine) (TextMediaUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextMediaProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewActionsUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ActionsUPP ) |
|
NewActionsUPP(ActionsProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppActionsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ActionsUPP) NewActionsUPP(ActionsProcPtr userRoutine) { return (ActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewActionsUPP(userRoutine) (ActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActionsProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewDoMCActionUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DoMCActionUPP ) |
|
NewDoMCActionUPP(DoMCActionProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppDoMCActionProcInfo = 0x00003EE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(DoMCActionUPP) NewDoMCActionUPP(DoMCActionProcPtr userRoutine) { return (DoMCActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewDoMCActionUPP(userRoutine) (DoMCActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDoMCActionProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMovieExecuteWiredActionsUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MovieExecuteWiredActionsUPP ) |
|
NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMovieExecuteWiredActionsProcInfo = 0x00003FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MovieExecuteWiredActionsUPP) NewMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsProcPtr userRoutine) { return (MovieExecuteWiredActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMovieExecuteWiredActionsUPP(userRoutine) (MovieExecuteWiredActionsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExecuteWiredActionsProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMoviePrePrerollCompleteUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MoviePrePrerollCompleteUPP ) |
|
NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMoviePrePrerollCompleteProcInfo = 0x00000EC0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MoviePrePrerollCompleteUPP) NewMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteProcPtr userRoutine) { return (MoviePrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMoviePrePrerollCompleteUPP(userRoutine) (MoviePrePrerollCompleteUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviePrePrerollCompleteProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewQTNextTaskNeededSoonerCallbackUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( QTNextTaskNeededSoonerCallbackUPP ) |
|
NewQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppQTNextTaskNeededSoonerCallbackProcInfo = 0x00000FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(QTNextTaskNeededSoonerCallbackUPP) NewQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackProcPtr userRoutine) { return (QTNextTaskNeededSoonerCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTNextTaskNeededSoonerCallbackProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewQTNextTaskNeededSoonerCallbackUPP(userRoutine) (QTNextTaskNeededSoonerCallbackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTNextTaskNeededSoonerCallbackProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMoviesErrorUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MoviesErrorUPP ) |
|
NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMoviesErrorProcInfo = 0x00000380 }; /* pascal no_return_value Func(2_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MoviesErrorUPP) NewMoviesErrorUPP(MoviesErrorProcPtr userRoutine) { return (MoviesErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviesErrorProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMoviesErrorUPP(userRoutine) (MoviesErrorUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMoviesErrorProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewTweenerDataUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( TweenerDataUPP ) |
|
NewTweenerDataUPP(TweenerDataProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppTweenerDataProcInfo = 0x003FFFF0 }; /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(TweenerDataUPP) NewTweenerDataUPP(TweenerDataProcPtr userRoutine) { return (TweenerDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewTweenerDataUPP(userRoutine) (TweenerDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewQTEffectListFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( QTEffectListFilterUPP ) |
|
NewQTEffectListFilterUPP(QTEffectListFilterProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppQTEffectListFilterProcInfo = 0x0003FFD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(QTEffectListFilterUPP) NewQTEffectListFilterUPP(QTEffectListFilterProcPtr userRoutine) { return (QTEffectListFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTEffectListFilterProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewQTEffectListFilterUPP(userRoutine) (QTEffectListFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTEffectListFilterProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeQTCallBackUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeQTCallBackUPP(QTCallBackUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeQTCallBackUPP(QTCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeQTCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeQTSyncTaskUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeQTSyncTaskUPP(QTSyncTaskUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeQTSyncTaskUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMovieRgnCoverUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMovieRgnCoverUPP(MovieRgnCoverUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMovieRgnCoverUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMovieProgressUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMovieProgressUPP(MovieProgressUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMovieProgressUPP(MovieProgressUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMovieProgressUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMovieDrawingCompleteUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMovieDrawingCompleteUPP(MovieDrawingCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMovieDrawingCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeTrackTransferUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeTrackTransferUPP(TrackTransferUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeTrackTransferUPP(TrackTransferUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeTrackTransferUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeGetMovieUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeGetMovieUPP(GetMovieUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeGetMovieUPP(GetMovieUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeGetMovieUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMoviePreviewCallOutUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMoviePreviewCallOutUPP(MoviePreviewCallOutUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMoviePreviewCallOutUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeTextMediaUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeTextMediaUPP(TextMediaUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeTextMediaUPP(TextMediaUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeTextMediaUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeActionsUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeActionsUPP(ActionsUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeActionsUPP(ActionsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeActionsUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeDoMCActionUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDoMCActionUPP(DoMCActionUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeDoMCActionUPP(DoMCActionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeDoMCActionUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMovieExecuteWiredActionsUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMovieExecuteWiredActionsUPP(MovieExecuteWiredActionsUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMovieExecuteWiredActionsUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMoviePrePrerollCompleteUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMoviePrePrerollCompleteUPP(MoviePrePrerollCompleteUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMoviePrePrerollCompleteUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeQTNextTaskNeededSoonerCallbackUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeQTNextTaskNeededSoonerCallbackUPP(QTNextTaskNeededSoonerCallbackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeQTNextTaskNeededSoonerCallbackUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMoviesErrorUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMoviesErrorUPP(MoviesErrorUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMoviesErrorUPP(MoviesErrorUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMoviesErrorUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeTweenerDataUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeTweenerDataUPP(TweenerDataUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeTweenerDataUPP(TweenerDataUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeTweenerDataUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeQTEffectListFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeQTEffectListFilterUPP(QTEffectListFilterUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeQTEffectListFilterUPP(QTEffectListFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeQTEffectListFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeQTCallBackUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeQTCallBackUPP( |
|
QTCallBack cb, |
|
long refCon, |
|
QTCallBackUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeQTCallBackUPP(QTCallBack cb, long refCon, QTCallBackUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppQTCallBackProcInfo, cb, refCon); } |
|
#else |
|
#define InvokeQTCallBackUPP(cb, refCon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppQTCallBackProcInfo, (cb), (refCon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeQTSyncTaskUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeQTSyncTaskUPP( |
|
void * task, |
|
QTSyncTaskUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeQTSyncTaskUPP(void * task, QTSyncTaskUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppQTSyncTaskProcInfo, task); } |
|
#else |
|
#define InvokeQTSyncTaskUPP(task, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppQTSyncTaskProcInfo, (task)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMovieRgnCoverUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeMovieRgnCoverUPP( |
|
Movie theMovie, |
|
RgnHandle changedRgn, |
|
long refcon, |
|
MovieRgnCoverUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeMovieRgnCoverUPP(Movie theMovie, RgnHandle changedRgn, long refcon, MovieRgnCoverUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppMovieRgnCoverProcInfo, theMovie, changedRgn, refcon); } |
|
#else |
|
#define InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppMovieRgnCoverProcInfo, (theMovie), (changedRgn), (refcon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMovieProgressUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeMovieProgressUPP( |
|
Movie theMovie, |
|
short message, |
|
short whatOperation, |
|
Fixed percentDone, |
|
long refcon, |
|
MovieProgressUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeMovieProgressUPP(Movie theMovie, short message, short whatOperation, Fixed percentDone, long refcon, MovieProgressUPP userUPP) { return (OSErr)CALL_FIVE_PARAMETER_UPP(userUPP, uppMovieProgressProcInfo, theMovie, message, whatOperation, percentDone, refcon); } |
|
#else |
|
#define InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, refcon, userUPP) (OSErr)CALL_FIVE_PARAMETER_UPP((userUPP), uppMovieProgressProcInfo, (theMovie), (message), (whatOperation), (percentDone), (refcon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMovieDrawingCompleteUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeMovieDrawingCompleteUPP( |
|
Movie theMovie, |
|
long refCon, |
|
MovieDrawingCompleteUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeMovieDrawingCompleteUPP(Movie theMovie, long refCon, MovieDrawingCompleteUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppMovieDrawingCompleteProcInfo, theMovie, refCon); } |
|
#else |
|
#define InvokeMovieDrawingCompleteUPP(theMovie, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppMovieDrawingCompleteProcInfo, (theMovie), (refCon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeTrackTransferUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeTrackTransferUPP( |
|
Track t, |
|
long refCon, |
|
TrackTransferUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeTrackTransferUPP(Track t, long refCon, TrackTransferUPP userUPP) { return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppTrackTransferProcInfo, t, refCon); } |
|
#else |
|
#define InvokeTrackTransferUPP(t, refCon, userUPP) (OSErr)CALL_TWO_PARAMETER_UPP((userUPP), uppTrackTransferProcInfo, (t), (refCon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeGetMovieUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeGetMovieUPP( |
|
long offset, |
|
long size, |
|
void * dataPtr, |
|
void * refCon, |
|
GetMovieUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeGetMovieUPP(long offset, long size, void * dataPtr, void * refCon, GetMovieUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppGetMovieProcInfo, offset, size, dataPtr, refCon); } |
|
#else |
|
#define InvokeGetMovieUPP(offset, size, dataPtr, refCon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppGetMovieProcInfo, (offset), (size), (dataPtr), (refCon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMoviePreviewCallOutUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeMoviePreviewCallOutUPP( |
|
long refcon, |
|
MoviePreviewCallOutUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(Boolean) InvokeMoviePreviewCallOutUPP(long refcon, MoviePreviewCallOutUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppMoviePreviewCallOutProcInfo, refcon); } |
|
#else |
|
#define InvokeMoviePreviewCallOutUPP(refcon, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppMoviePreviewCallOutProcInfo, (refcon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeTextMediaUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeTextMediaUPP( |
|
Handle theText, |
|
Movie theMovie, |
|
short * displayFlag, |
|
long refcon, |
|
TextMediaUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeTextMediaUPP(Handle theText, Movie theMovie, short * displayFlag, long refcon, TextMediaUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppTextMediaProcInfo, theText, theMovie, displayFlag, refcon); } |
|
#else |
|
#define InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppTextMediaProcInfo, (theText), (theMovie), (displayFlag), (refcon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeActionsUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeActionsUPP( |
|
void * refcon, |
|
Track targetTrack, |
|
long targetRefCon, |
|
QTEventRecordPtr theEvent, |
|
ActionsUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeActionsUPP(void * refcon, Track targetTrack, long targetRefCon, QTEventRecordPtr theEvent, ActionsUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppActionsProcInfo, refcon, targetTrack, targetRefCon, theEvent); } |
|
#else |
|
#define InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppActionsProcInfo, (refcon), (targetTrack), (targetRefCon), (theEvent)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeDoMCActionUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeDoMCActionUPP( |
|
void * refcon, |
|
short action, |
|
void * params, |
|
Boolean * handled, |
|
DoMCActionUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeDoMCActionUPP(void * refcon, short action, void * params, Boolean * handled, DoMCActionUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppDoMCActionProcInfo, refcon, action, params, handled); } |
|
#else |
|
#define InvokeDoMCActionUPP(refcon, action, params, handled, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppDoMCActionProcInfo, (refcon), (action), (params), (handled)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMovieExecuteWiredActionsUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeMovieExecuteWiredActionsUPP( |
|
Movie theMovie, |
|
void * refcon, |
|
long flags, |
|
QTAtomContainer wiredActions, |
|
MovieExecuteWiredActionsUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeMovieExecuteWiredActionsUPP(Movie theMovie, void * refcon, long flags, QTAtomContainer wiredActions, MovieExecuteWiredActionsUPP userUPP) { return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppMovieExecuteWiredActionsProcInfo, theMovie, refcon, flags, wiredActions); } |
|
#else |
|
#define InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, wiredActions, userUPP) (OSErr)CALL_FOUR_PARAMETER_UPP((userUPP), uppMovieExecuteWiredActionsProcInfo, (theMovie), (refcon), (flags), (wiredActions)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMoviePrePrerollCompleteUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeMoviePrePrerollCompleteUPP( |
|
Movie theMovie, |
|
OSErr prerollErr, |
|
void * refcon, |
|
MoviePrePrerollCompleteUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeMoviePrePrerollCompleteUPP(Movie theMovie, OSErr prerollErr, void * refcon, MoviePrePrerollCompleteUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppMoviePrePrerollCompleteProcInfo, theMovie, prerollErr, refcon); } |
|
#else |
|
#define InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppMoviePrePrerollCompleteProcInfo, (theMovie), (prerollErr), (refcon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeQTNextTaskNeededSoonerCallbackUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeQTNextTaskNeededSoonerCallbackUPP( |
|
TimeValue duration, |
|
unsigned long flags, |
|
void * refcon, |
|
QTNextTaskNeededSoonerCallbackUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeQTNextTaskNeededSoonerCallbackUPP(TimeValue duration, unsigned long flags, void * refcon, QTNextTaskNeededSoonerCallbackUPP userUPP) { CALL_THREE_PARAMETER_UPP(userUPP, uppQTNextTaskNeededSoonerCallbackProcInfo, duration, flags, refcon); } |
|
#else |
|
#define InvokeQTNextTaskNeededSoonerCallbackUPP(duration, flags, refcon, userUPP) CALL_THREE_PARAMETER_UPP((userUPP), uppQTNextTaskNeededSoonerCallbackProcInfo, (duration), (flags), (refcon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMoviesErrorUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeMoviesErrorUPP( |
|
OSErr theErr, |
|
long refcon, |
|
MoviesErrorUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeMoviesErrorUPP(OSErr theErr, long refcon, MoviesErrorUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppMoviesErrorProcInfo, theErr, refcon); } |
|
#else |
|
#define InvokeMoviesErrorUPP(theErr, refcon, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppMoviesErrorProcInfo, (theErr), (refcon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeTweenerDataUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ComponentResult ) |
|
InvokeTweenerDataUPP( |
|
TweenRecord * tr, |
|
void * tweenData, |
|
long tweenDataSize, |
|
long dataDescriptionSeed, |
|
Handle dataDescription, |
|
ICMCompletionProcRecordPtr asyncCompletionProc, |
|
UniversalProcPtr transferProc, |
|
void * refCon, |
|
TweenerDataUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ComponentResult) InvokeTweenerDataUPP(TweenRecord * tr, void * tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void * refCon, TweenerDataUPP userUPP) { return (ComponentResult)CALL_EIGHT_PARAMETER_UPP(userUPP, uppTweenerDataProcInfo, tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon); } |
|
#else |
|
#define InvokeTweenerDataUPP(tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon, userUPP) (ComponentResult)CALL_EIGHT_PARAMETER_UPP((userUPP), uppTweenerDataProcInfo, (tr), (tweenData), (tweenDataSize), (dataDescriptionSeed), (dataDescription), (asyncCompletionProc), (transferProc), (refCon)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeQTEffectListFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeQTEffectListFilterUPP( |
|
Component effect, |
|
long effectMinSource, |
|
long effectMaxSource, |
|
OSType majorClass, |
|
OSType minorClass, |
|
void * refcon, |
|
QTEffectListFilterUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(Boolean) InvokeQTEffectListFilterUPP(Component effect, long effectMinSource, long effectMaxSource, OSType majorClass, OSType minorClass, void * refcon, QTEffectListFilterUPP userUPP) { return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppQTEffectListFilterProcInfo, effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon); } |
|
#else |
|
#define InvokeQTEffectListFilterUPP(effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppQTEffectListFilterProcInfo, (effect), (effectMinSource), (effectMaxSource), (majorClass), (minorClass), (refcon)) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES |
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ |
|
#define NewQTCallBackProc(userRoutine) NewQTCallBackUPP(userRoutine) |
|
#define NewQTSyncTaskProc(userRoutine) NewQTSyncTaskUPP(userRoutine) |
|
#define NewMovieRgnCoverProc(userRoutine) NewMovieRgnCoverUPP(userRoutine) |
|
#define NewMovieProgressProc(userRoutine) NewMovieProgressUPP(userRoutine) |
|
#define NewMovieDrawingCompleteProc(userRoutine) NewMovieDrawingCompleteUPP(userRoutine) |
|
#define NewTrackTransferProc(userRoutine) NewTrackTransferUPP(userRoutine) |
|
#define NewGetMovieProc(userRoutine) NewGetMovieUPP(userRoutine) |
|
#define NewMoviePreviewCallOutProc(userRoutine) NewMoviePreviewCallOutUPP(userRoutine) |
|
#define NewTextMediaProc(userRoutine) NewTextMediaUPP(userRoutine) |
|
#define NewActionsProc(userRoutine) NewActionsUPP(userRoutine) |
|
#define NewDoMCActionProc(userRoutine) NewDoMCActionUPP(userRoutine) |
|
#define NewMovieExecuteWiredActionsProc(userRoutine) NewMovieExecuteWiredActionsUPP(userRoutine) |
|
#define NewMoviePrePrerollCompleteProc(userRoutine) NewMoviePrePrerollCompleteUPP(userRoutine) |
|
#define NewQTNextTaskNeededSoonerCallbackProc(userRoutine) NewQTNextTaskNeededSoonerCallbackUPP(userRoutine) |
|
#define NewMoviesErrorProc(userRoutine) NewMoviesErrorUPP(userRoutine) |
|
#define NewTweenerDataProc(userRoutine) NewTweenerDataUPP(userRoutine) |
|
#define NewQTEffectListFilterProc(userRoutine) NewQTEffectListFilterUPP(userRoutine) |
|
#define CallQTCallBackProc(userRoutine, cb, refCon) InvokeQTCallBackUPP(cb, refCon, userRoutine) |
|
#define CallQTSyncTaskProc(userRoutine, task) InvokeQTSyncTaskUPP(task, userRoutine) |
|
#define CallMovieRgnCoverProc(userRoutine, theMovie, changedRgn, refcon) InvokeMovieRgnCoverUPP(theMovie, changedRgn, refcon, userRoutine) |
|
#define CallMovieProgressProc(userRoutine, theMovie, message, whatOperation, percentDone, refcon) InvokeMovieProgressUPP(theMovie, message, whatOperation, percentDone, refcon, userRoutine) |
|
#define CallMovieDrawingCompleteProc(userRoutine, theMovie, refCon) InvokeMovieDrawingCompleteUPP(theMovie, refCon, userRoutine) |
|
#define CallTrackTransferProc(userRoutine, t, refCon) InvokeTrackTransferUPP(t, refCon, userRoutine) |
|
#define CallGetMovieProc(userRoutine, offset, size, dataPtr, refCon) InvokeGetMovieUPP(offset, size, dataPtr, refCon, userRoutine) |
|
#define CallMoviePreviewCallOutProc(userRoutine, refcon) InvokeMoviePreviewCallOutUPP(refcon, userRoutine) |
|
#define CallTextMediaProc(userRoutine, theText, theMovie, displayFlag, refcon) InvokeTextMediaUPP(theText, theMovie, displayFlag, refcon, userRoutine) |
|
#define CallActionsProc(userRoutine, refcon, targetTrack, targetRefCon, theEvent) InvokeActionsUPP(refcon, targetTrack, targetRefCon, theEvent, userRoutine) |
|
#define CallDoMCActionProc(userRoutine, refcon, action, params, handled) InvokeDoMCActionUPP(refcon, action, params, handled, userRoutine) |
|
#define CallMovieExecuteWiredActionsProc(userRoutine, theMovie, refcon, flags, wiredActions) InvokeMovieExecuteWiredActionsUPP(theMovie, refcon, flags, wiredActions, userRoutine) |
|
#define CallMoviePrePrerollCompleteProc(userRoutine, theMovie, prerollErr, refcon) InvokeMoviePrePrerollCompleteUPP(theMovie, prerollErr, refcon, userRoutine) |
|
#define CallQTNextTaskNeededSoonerCallbackProc(userRoutine, duration, flags, refcon) InvokeQTNextTaskNeededSoonerCallbackUPP(duration, flags, refcon, userRoutine) |
|
#define CallMoviesErrorProc(userRoutine, theErr, refcon) InvokeMoviesErrorUPP(theErr, refcon, userRoutine) |
|
#define CallTweenerDataProc(userRoutine, tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon) InvokeTweenerDataUPP(tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon, userRoutine) |
|
#define CallQTEffectListFilterProc(userRoutine, effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon) InvokeQTEffectListFilterUPP(effect, effectMinSource, effectMaxSource, majorClass, minorClass, refcon, userRoutine) |
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/***** |
|
Connection Speed |
|
*****/ |
|
enum { |
|
ConnectionSpeedPrefsType = FOUR_CHAR_CODE('cspd'), |
|
ConnectionSpeedIsValidPrefsType = FOUR_CHAR_CODE('vspd') |
|
}; |
|
|
|
struct ConnectionSpeedPrefsRecord { |
|
long connectionSpeed; |
|
}; |
|
typedef struct ConnectionSpeedPrefsRecord ConnectionSpeedPrefsRecord; |
|
typedef ConnectionSpeedPrefsRecord * ConnectionSpeedPrefsPtr; |
|
typedef ConnectionSpeedPrefsPtr * ConnectionSpeedPrefsHandle; |
|
/* |
|
* QTGetConnectionSpeedFromPrefs() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetConnectionSpeedFromPrefs(long * pConnectionSpeed); |
|
|
|
|
|
/***** |
|
QT International Text Atom Support |
|
*****/ |
|
enum { |
|
kITextRemoveEverythingBut = 0 << 1, |
|
kITextRemoveLeaveSuggestedAlternate = 1 << 1 |
|
}; |
|
|
|
enum { |
|
kITextAtomType = FOUR_CHAR_CODE('itxt'), |
|
kITextStringAtomType = FOUR_CHAR_CODE('text') |
|
}; |
|
|
|
/* |
|
* ITextAddString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ITextAddString( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
RegionCode theRegionCode, |
|
ConstStr255Param theString); |
|
|
|
|
|
/* |
|
* ITextRemoveString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ITextRemoveString( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
RegionCode theRegionCode, |
|
long flags); |
|
|
|
|
|
/* |
|
* ITextGetString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
ITextGetString( |
|
QTAtomContainer container, |
|
QTAtom parentAtom, |
|
RegionCode requestedRegion, |
|
RegionCode * foundRegion, |
|
StringPtr theString); |
|
|
|
|
|
/* |
|
* QTTextToNativeText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTTextToNativeText( |
|
Handle theText, |
|
long encoding, |
|
long flags); |
|
|
|
|
|
/* QTParseTextHREF inContainer atoms*/ |
|
enum { |
|
kQTParseTextHREFText = FOUR_CHAR_CODE('text'), /* string*/ |
|
kQTParseTextHREFBaseURL = FOUR_CHAR_CODE('burl'), /* string*/ |
|
kQTParseTextHREFClickPoint = FOUR_CHAR_CODE('clik'), /* Point; if present, QTParseTextHREF will expand URLs to support server-side image maps*/ |
|
kQTParseTextHREFUseAltDelim = FOUR_CHAR_CODE('altd'), /* boolean; if no kQTParseTextHREFDelimiter, delim is ':'*/ |
|
kQTParseTextHREFDelimiter = FOUR_CHAR_CODE('delm'), /* character*/ |
|
kQTParseTextHREFRecomposeHREF = FOUR_CHAR_CODE('rhrf') /* Boolean; if true, QTParseTextHREF returns recomposed HREF with URL expanded as appropriate*/ |
|
}; |
|
|
|
/* QTParseTextHREF outContainer atoms*/ |
|
enum { |
|
kQTParseTextHREFURL = FOUR_CHAR_CODE('url '), /* string*/ |
|
kQTParseTextHREFTarget = FOUR_CHAR_CODE('targ'), /* string*/ |
|
kQTParseTextHREFChapter = FOUR_CHAR_CODE('chap'), /* string*/ |
|
kQTParseTextHREFIsAutoHREF = FOUR_CHAR_CODE('auto'), /* Boolean*/ |
|
kQTParseTextHREFIsServerMap = FOUR_CHAR_CODE('smap'), /* Boolean*/ |
|
kQTParseTextHREFHREF = FOUR_CHAR_CODE('href'), /* string; recomposed HREF with URL expanded as appropriate, suitable for mcActionLinkToURL*/ |
|
kQTParseTextHREFEMBEDArgs = FOUR_CHAR_CODE('mbed') /* string; text between 'E<' and '>' to be used as new movie's embed tags*/ |
|
}; |
|
|
|
/* |
|
* QTParseTextHREF() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTParseTextHREF( |
|
char * href, |
|
SInt32 hrefLen, |
|
QTAtomContainer inContainer, |
|
QTAtomContainer * outContainer); |
|
|
|
|
|
/************************* |
|
* track reference types |
|
**************************/ |
|
enum { |
|
kTrackReferenceChapterList = FOUR_CHAR_CODE('chap'), |
|
kTrackReferenceTimeCode = FOUR_CHAR_CODE('tmcd'), |
|
kTrackReferenceModifier = FOUR_CHAR_CODE('ssrc') |
|
}; |
|
|
|
/************************* |
|
* modifier track types |
|
**************************/ |
|
enum { |
|
kTrackModifierInput = 0x696E, /* is really 'in'*/ |
|
kTrackModifierType = 0x7479, /* is really 'ty'*/ |
|
kTrackModifierReference = FOUR_CHAR_CODE('ssrc'), |
|
kTrackModifierObjectID = FOUR_CHAR_CODE('obid'), |
|
kTrackModifierInputName = FOUR_CHAR_CODE('name') |
|
}; |
|
|
|
enum { |
|
kInputMapSubInputID = FOUR_CHAR_CODE('subi') |
|
}; |
|
|
|
enum { |
|
kTrackModifierTypeMatrix = 1, |
|
kTrackModifierTypeClip = 2, |
|
kTrackModifierTypeGraphicsMode = 5, |
|
kTrackModifierTypeVolume = 3, |
|
kTrackModifierTypeBalance = 4, |
|
kTrackModifierTypeImage = FOUR_CHAR_CODE('vide'), /* was kTrackModifierTypeSpriteImage*/ |
|
kTrackModifierObjectMatrix = 6, |
|
kTrackModifierObjectGraphicsMode = 7, |
|
kTrackModifierType3d4x4Matrix = 8, |
|
kTrackModifierCameraData = 9, |
|
kTrackModifierSoundLocalizationData = 10, |
|
kTrackModifierObjectImageIndex = 11, |
|
kTrackModifierObjectLayer = 12, |
|
kTrackModifierObjectVisible = 13, |
|
kTrackModifierAngleAspectCamera = 14, |
|
kTrackModifierPanAngle = FOUR_CHAR_CODE('pan '), |
|
kTrackModifierTiltAngle = FOUR_CHAR_CODE('tilt'), |
|
kTrackModifierVerticalFieldOfViewAngle = FOUR_CHAR_CODE('fov '), |
|
kTrackModifierObjectQTEventSend = FOUR_CHAR_CODE('evnt'), |
|
kTrackModifierObjectCanBeHitTested = 15 |
|
}; |
|
|
|
struct ModifierTrackGraphicsModeRecord { |
|
long graphicsMode; |
|
RGBColor opColor; |
|
}; |
|
typedef struct ModifierTrackGraphicsModeRecord ModifierTrackGraphicsModeRecord; |
|
|
|
/************************* |
|
* tween track types |
|
**************************/ |
|
enum { |
|
kTweenTypeShort = 1, |
|
kTweenTypeLong = 2, |
|
kTweenTypeFixed = 3, |
|
kTweenTypePoint = 4, |
|
kTweenTypeQDRect = 5, |
|
kTweenTypeQDRegion = 6, |
|
kTweenTypeMatrix = 7, |
|
kTweenTypeRGBColor = 8, |
|
kTweenTypeGraphicsModeWithRGBColor = 9, |
|
kTweenTypeQTFloatSingle = 10, |
|
kTweenTypeQTFloatDouble = 11, |
|
kTweenTypeFixedPoint = 12, |
|
kTweenType3dScale = FOUR_CHAR_CODE('3sca'), |
|
kTweenType3dTranslate = FOUR_CHAR_CODE('3tra'), |
|
kTweenType3dRotate = FOUR_CHAR_CODE('3rot'), |
|
kTweenType3dRotateAboutPoint = FOUR_CHAR_CODE('3rap'), |
|
kTweenType3dRotateAboutAxis = FOUR_CHAR_CODE('3rax'), |
|
kTweenType3dRotateAboutVector = FOUR_CHAR_CODE('3rvc'), |
|
kTweenType3dQuaternion = FOUR_CHAR_CODE('3qua'), |
|
kTweenType3dMatrix = FOUR_CHAR_CODE('3mat'), |
|
kTweenType3dCameraData = FOUR_CHAR_CODE('3cam'), |
|
kTweenType3dAngleAspectCameraData = FOUR_CHAR_CODE('3caa'), |
|
kTweenType3dSoundLocalizationData = FOUR_CHAR_CODE('3slc'), |
|
kTweenTypePathToMatrixTranslation = FOUR_CHAR_CODE('gxmt'), |
|
kTweenTypePathToMatrixRotation = FOUR_CHAR_CODE('gxpr'), |
|
kTweenTypePathToMatrixTranslationAndRotation = FOUR_CHAR_CODE('gxmr'), |
|
kTweenTypePathToFixedPoint = FOUR_CHAR_CODE('gxfp'), |
|
kTweenTypePathXtoY = FOUR_CHAR_CODE('gxxy'), |
|
kTweenTypePathYtoX = FOUR_CHAR_CODE('gxyx'), |
|
kTweenTypeAtomList = FOUR_CHAR_CODE('atom'), |
|
kTweenTypePolygon = FOUR_CHAR_CODE('poly'), |
|
kTweenTypeMultiMatrix = FOUR_CHAR_CODE('mulm'), |
|
kTweenTypeSpin = FOUR_CHAR_CODE('spin'), |
|
kTweenType3dMatrixNonLinear = FOUR_CHAR_CODE('3nlr'), |
|
kTweenType3dVRObject = FOUR_CHAR_CODE('3vro') |
|
}; |
|
|
|
enum { |
|
kTweenEntry = FOUR_CHAR_CODE('twen'), |
|
kTweenData = FOUR_CHAR_CODE('data'), |
|
kTweenType = FOUR_CHAR_CODE('twnt'), |
|
kTweenStartOffset = FOUR_CHAR_CODE('twst'), |
|
kTweenDuration = FOUR_CHAR_CODE('twdu'), |
|
kTweenFlags = FOUR_CHAR_CODE('flag'), |
|
kTweenOutputMin = FOUR_CHAR_CODE('omin'), |
|
kTweenOutputMax = FOUR_CHAR_CODE('omax'), |
|
kTweenSequenceElement = FOUR_CHAR_CODE('seqe'), |
|
kTween3dInitialCondition = FOUR_CHAR_CODE('icnd'), |
|
kTweenInterpolationID = FOUR_CHAR_CODE('intr'), |
|
kTweenRegionData = FOUR_CHAR_CODE('qdrg'), |
|
kTweenPictureData = FOUR_CHAR_CODE('PICT'), |
|
kListElementType = FOUR_CHAR_CODE('type'), |
|
kListElementDataType = FOUR_CHAR_CODE('daty'), |
|
kNameAtom = FOUR_CHAR_CODE('name'), |
|
kInitialRotationAtom = FOUR_CHAR_CODE('inro'), |
|
kNonLinearTweenHeader = FOUR_CHAR_CODE('nlth') |
|
}; |
|
|
|
/* kTweenFlags*/ |
|
enum { |
|
kTweenReturnDelta = 1L << 0 |
|
}; |
|
|
|
struct TweenSequenceEntryRecord { |
|
Fixed endPercent; |
|
QTAtomID tweenAtomID; |
|
QTAtomID dataAtomID; |
|
}; |
|
typedef struct TweenSequenceEntryRecord TweenSequenceEntryRecord; |
|
|
|
#ifdef __QD3D__ |
|
|
|
struct ThreeDeeVRObjectSample { |
|
long rows; |
|
long columns; |
|
TQ3Matrix4x4 calib1; |
|
TQ3Matrix4x4 calib2; |
|
long reserved1; |
|
long reserved2; |
|
}; |
|
|
|
typedef struct ThreeDeeVRObjectSample ThreeDeeVRObjectSample; |
|
|
|
struct ThreeDeeNonLinearSample { |
|
float DurFromLastSample; /* 0 to 1 */ |
|
TQ3Matrix4x4 matrix; |
|
}; |
|
typedef struct ThreeDeeNonLinearSample ThreeDeeNonLinearSample; |
|
|
|
struct ThreeDeeNonLinearTweenHeaderAtom { |
|
long number; |
|
long dataSize; |
|
float tensionFactor; /* default is 0 */ |
|
long reserved1; |
|
long reserved2; |
|
}; |
|
typedef struct ThreeDeeNonLinearTweenHeaderAtom ThreeDeeNonLinearTweenHeaderAtom; |
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if OLDROUTINENAMES |
|
|
|
/************************* |
|
* Video Media routines |
|
**************************/ |
|
|
|
#define GetVideoMediaGraphicsMode MediaGetGraphicsMode |
|
#define SetVideoMediaGraphicsMode MediaSetGraphicsMode |
|
|
|
/* use these two routines at your own peril */ |
|
#define ResetVideoMediaStatistics VideoMediaResetStatistics |
|
#define GetVideoMediaStatistics VideoMediaGetStatistics |
|
|
|
/************************* |
|
* Sound Media routines |
|
**************************/ |
|
|
|
#define GetSoundMediaBalance MediaGetSoundBalance |
|
#define SetSoundMediaBalance MediaSetSoundBalance |
|
|
|
/************************* |
|
* Text Media routines |
|
**************************/ |
|
|
|
#define SetTextProc TextMediaSetTextProc |
|
#define AddTextSample TextMediaAddTextSample |
|
#define AddTESample TextMediaAddTESample |
|
#define AddHiliteSample TextMediaAddHiliteSample |
|
#define FindNextText TextMediaFindNextText |
|
#define HiliteTextSample TextMediaHiliteTextSample |
|
#define SetTextSampleData TextMediaSetTextSampleData |
|
#define DrawRaw TextMediaDrawRaw |
|
#define RawSetup TextMediaRawSetup |
|
#define RawIdle TextMediaRawIdle |
|
#define SetTextProperty TextMediaSetTextProperty |
|
|
|
/************************* |
|
* Sprite Media routines |
|
**************************/ |
|
|
|
#define SetSpriteMediaSpriteProperty SpriteMediaSetProperty |
|
#define GetSpriteMediaSpriteProperty SpriteMediaGetProperty |
|
#define HitTestSpriteMedia SpriteMediaHitTestSprites |
|
#define CountSpriteMediaSprites SpriteMediaCountSprites |
|
#define CountSpriteMediaImages SpriteMediaCountImages |
|
#define GetSpriteMediaIndImageDescription SpriteMediaGetIndImageDescription |
|
#define GetDisplayedSampleNumber SpriteMediaGetDisplayedSampleNumber |
|
#endif /* OLDROUTINENAMES */ |
|
|
|
|
|
|
|
/***** |
|
Content Restrictions |
|
*****/ |
|
enum { |
|
kQTRestrictionClassSave = FOUR_CHAR_CODE('save'), |
|
kQTRestrictionSaveDontAddMovieResource = (1L << 0), |
|
kQTRestrictionSaveDontFlatten = (1L << 1), |
|
kQTRestrictionSaveDontExport = (1L << 2), |
|
kQTRestrictionSaveDontExtract = (1L << 3), /* don't allow any form of extraction of content*/ |
|
kQTRestrictionClassEdit = FOUR_CHAR_CODE('edit'), |
|
kQTRestrictionEditDontCopy = (1L << 0), /* disable copy */ |
|
kQTRestrictionEditDontCut = (1L << 1), /* disable cut */ |
|
kQTRestrictionEditDontPaste = (1L << 2), /* disable paste */ |
|
kQTRestrictionEditDontClear = (1L << 3), /* disable clear*/ |
|
kQTRestrictionEditDontModify = (1L << 4), /* don't allow modification of content*/ |
|
kQTRestrictionEditDontExtract = (1L << 5), /* don't allow any form of extraction of content*/ |
|
kQTRestrictionClassPlay = FOUR_CHAR_CODE('play'), |
|
kQTRestrictionPlayDontPlay = (1L << 0) /* disable playback */ |
|
}; |
|
|
|
|
|
/************************* |
|
* Video Media routines |
|
**************************/ |
|
|
|
|
|
enum { |
|
videoFlagDontLeanAhead = 1L << 0 |
|
}; |
|
|
|
|
|
|
|
|
|
/* use these five routines at your own peril*/ |
|
/* |
|
* VideoMediaResetStatistics() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
VideoMediaResetStatistics(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0105, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* VideoMediaGetStatistics() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
VideoMediaGetStatistics(MediaHandler mh) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0106, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
* VideoMediaGetStallCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
VideoMediaGetStallCount( |
|
MediaHandler mh, |
|
unsigned long * stalls) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010E, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
* VideoMediaSetCodecParameter() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
VideoMediaSetCodecParameter( |
|
MediaHandler mh, |
|
CodecType cType, |
|
OSType parameterID, |
|
long parameterChangeSeed, |
|
void * dataPtr, |
|
long dataSize) FIVEWORDINLINE(0x2F3C, 0x0014, 0x010F, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* VideoMediaGetCodecParameter() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
VideoMediaGetCodecParameter( |
|
MediaHandler mh, |
|
CodecType cType, |
|
OSType parameterID, |
|
Handle outParameterData) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0110, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
|
|
/************************* |
|
* Text Media routines |
|
**************************/ |
|
|
|
|
|
|
|
/* Return displayFlags for TextProc */ |
|
enum { |
|
txtProcDefaultDisplay = 0, /* Use the media's default*/ |
|
txtProcDontDisplay = 1, /* Don't display the text*/ |
|
txtProcDoDisplay = 2 /* Do display the text*/ |
|
}; |
|
|
|
/* |
|
* TextMediaSetTextProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaSetTextProc( |
|
MediaHandler mh, |
|
TextMediaUPP TextProc, |
|
long refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaAddTextSample() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaAddTextSample( |
|
MediaHandler mh, |
|
Ptr text, |
|
unsigned long size, |
|
short fontNumber, |
|
short fontSize, |
|
Style textFace, |
|
RGBColor * textColor, |
|
RGBColor * backColor, |
|
short textJustification, |
|
Rect * textBox, |
|
long displayFlags, |
|
TimeValue scrollDelay, |
|
short hiliteStart, |
|
short hiliteEnd, |
|
RGBColor * rgbHiliteColor, |
|
TimeValue duration, |
|
TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0034, 0x0102, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaAddTESample() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaAddTESample( |
|
MediaHandler mh, |
|
TEHandle hTE, |
|
RGBColor * backColor, |
|
short textJustification, |
|
Rect * textBox, |
|
long displayFlags, |
|
TimeValue scrollDelay, |
|
short hiliteStart, |
|
short hiliteEnd, |
|
RGBColor * rgbHiliteColor, |
|
TimeValue duration, |
|
TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0026, 0x0103, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaAddHiliteSample() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaAddHiliteSample( |
|
MediaHandler mh, |
|
short hiliteStart, |
|
short hiliteEnd, |
|
RGBColor * rgbHiliteColor, |
|
TimeValue duration, |
|
TimeValue * sampleTime) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0104, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaDrawRaw() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaDrawRaw( |
|
MediaHandler mh, |
|
GWorldPtr gw, |
|
GDHandle gd, |
|
void * data, |
|
long dataSize, |
|
TextDescriptionHandle tdh) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0109, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaSetTextProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaSetTextProperty( |
|
MediaHandler mh, |
|
TimeValue atMediaTime, |
|
long propertyType, |
|
void * data, |
|
long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010A, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaRawSetup() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaRawSetup( |
|
MediaHandler mh, |
|
GWorldPtr gw, |
|
GDHandle gd, |
|
void * data, |
|
long dataSize, |
|
TextDescriptionHandle tdh, |
|
TimeValue sampleDuration) FIVEWORDINLINE(0x2F3C, 0x0018, 0x010B, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaRawIdle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaRawIdle( |
|
MediaHandler mh, |
|
GWorldPtr gw, |
|
GDHandle gd, |
|
TimeValue sampleTime, |
|
long flagsIn, |
|
long * flagsOut) FIVEWORDINLINE(0x2F3C, 0x0014, 0x010C, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaGetTextProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaGetTextProperty( |
|
MediaHandler mh, |
|
TimeValue atMediaTime, |
|
long propertyType, |
|
void * data, |
|
long dataSize) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A); |
|
|
|
|
|
enum { |
|
findTextEdgeOK = 1 << 0, /* Okay to find text at specified sample time*/ |
|
findTextCaseSensitive = 1 << 1, /* Case sensitive search*/ |
|
findTextReverseSearch = 1 << 2, /* Search from sampleTime backwards*/ |
|
findTextWrapAround = 1 << 3, /* Wrap search when beginning or end of movie is hit*/ |
|
findTextUseOffset = 1 << 4 /* Begin search at the given character offset into sample rather than edge*/ |
|
}; |
|
|
|
/* |
|
* TextMediaFindNextText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaFindNextText( |
|
MediaHandler mh, |
|
Ptr text, |
|
long size, |
|
short findFlags, |
|
TimeValue startTime, |
|
TimeValue * foundTime, |
|
TimeValue * foundDuration, |
|
long * offset) FIVEWORDINLINE(0x2F3C, 0x001A, 0x0105, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* TextMediaHiliteTextSample() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaHiliteTextSample( |
|
MediaHandler mh, |
|
TimeValue sampleTime, |
|
short hiliteStart, |
|
short hiliteEnd, |
|
RGBColor * rgbHiliteColor) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0106, 0x7000, 0xA82A); |
|
|
|
|
|
enum { |
|
dropShadowOffsetType = FOUR_CHAR_CODE('drpo'), |
|
dropShadowTranslucencyType = FOUR_CHAR_CODE('drpt') |
|
}; |
|
|
|
/* |
|
* TextMediaSetTextSampleData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
TextMediaSetTextSampleData( |
|
MediaHandler mh, |
|
void * data, |
|
OSType dataType) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
|
|
|
|
/************************* |
|
* Sprite Media routines |
|
**************************/ |
|
/* flags for sprite hit test routines */ |
|
enum { |
|
spriteHitTestBounds = 1L << 0, /* point must only be within sprite's bounding box*/ |
|
spriteHitTestImage = 1L << 1, /* point must be within the shape of the sprite's image*/ |
|
spriteHitTestInvisibleSprites = 1L << 2, /* invisible sprites may be hit tested*/ |
|
spriteHitTestIsClick = 1L << 3, /* for codecs that want mouse events*/ |
|
spriteHitTestLocInDisplayCoordinates = 1L << 4, /* set if you want to pass a display coordiate point to SpriteHitTest*/ |
|
spriteHitTestTreatAllSpritesAsHitTestable = 1L << 5 /* set if you want to override each sprites hittestable property as true*/ |
|
}; |
|
|
|
/* atom types for sprite media */ |
|
enum { |
|
kSpriteAtomType = FOUR_CHAR_CODE('sprt'), |
|
kSpriteImagesContainerAtomType = FOUR_CHAR_CODE('imct'), |
|
kSpriteImageAtomType = FOUR_CHAR_CODE('imag'), |
|
kSpriteImageDataAtomType = FOUR_CHAR_CODE('imda'), |
|
kSpriteImageDataRefAtomType = FOUR_CHAR_CODE('imre'), |
|
kSpriteImageDataRefTypeAtomType = FOUR_CHAR_CODE('imrt'), |
|
kSpriteImageGroupIDAtomType = FOUR_CHAR_CODE('imgr'), |
|
kSpriteImageRegistrationAtomType = FOUR_CHAR_CODE('imrg'), |
|
kSpriteImageDefaultImageIndexAtomType = FOUR_CHAR_CODE('defi'), |
|
kSpriteSharedDataAtomType = FOUR_CHAR_CODE('dflt'), |
|
kSpriteNameAtomType = FOUR_CHAR_CODE('name'), |
|
kSpriteImageNameAtomType = FOUR_CHAR_CODE('name'), |
|
kSpriteUsesImageIDsAtomType = FOUR_CHAR_CODE('uses'), /* leaf data is an array of QTAtomID's, one per image used*/ |
|
kSpriteBehaviorsAtomType = FOUR_CHAR_CODE('beha'), |
|
kSpriteImageBehaviorAtomType = FOUR_CHAR_CODE('imag'), |
|
kSpriteCursorBehaviorAtomType = FOUR_CHAR_CODE('crsr'), |
|
kSpriteStatusStringsBehaviorAtomType = FOUR_CHAR_CODE('sstr'), |
|
kSpriteVariablesContainerAtomType = FOUR_CHAR_CODE('vars'), |
|
kSpriteStringVariableAtomType = FOUR_CHAR_CODE('strv'), |
|
kSpriteFloatingPointVariableAtomType = FOUR_CHAR_CODE('flov') |
|
}; |
|
|
|
struct QTRuntimeSpriteDescStruct { |
|
long version; /* set to zero*/ |
|
QTAtomID spriteID; |
|
short imageIndex; |
|
MatrixRecord matrix; |
|
short visible; |
|
short layer; |
|
ModifierTrackGraphicsModeRecord graphicsMode; |
|
QTAtomID actionHandlingSpriteID; |
|
}; |
|
typedef struct QTRuntimeSpriteDescStruct QTRuntimeSpriteDescStruct; |
|
typedef QTRuntimeSpriteDescStruct * QTRuntimeSpriteDescPtr; |
|
/* |
|
when filling in QTSpriteButtonBehaviorStruct values -1 may be used to indicate that |
|
the state transition does not change the property |
|
*/ |
|
struct QTSpriteButtonBehaviorStruct { |
|
QTAtomID notOverNotPressedStateID; |
|
QTAtomID overNotPressedStateID; |
|
QTAtomID overPressedStateID; |
|
QTAtomID notOverPressedStateID; |
|
}; |
|
typedef struct QTSpriteButtonBehaviorStruct QTSpriteButtonBehaviorStruct; |
|
typedef QTSpriteButtonBehaviorStruct * QTSpriteButtonBehaviorPtr; |
|
/* |
|
* SpriteMediaSetProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaSetProperty( |
|
MediaHandler mh, |
|
short spriteIndex, |
|
long propertyType, |
|
void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0101, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetProperty( |
|
MediaHandler mh, |
|
short spriteIndex, |
|
long propertyType, |
|
void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0102, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaHitTestSprites() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaHitTestSprites( |
|
MediaHandler mh, |
|
long flags, |
|
Point loc, |
|
short * spriteHitIndex) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaCountSprites() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaCountSprites( |
|
MediaHandler mh, |
|
short * numSprites) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaCountImages() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaCountImages( |
|
MediaHandler mh, |
|
short * numImages) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetIndImageDescription() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetIndImageDescription( |
|
MediaHandler mh, |
|
short imageIndex, |
|
ImageDescriptionHandle imageDescription) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0106, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetDisplayedSampleNumber() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetDisplayedSampleNumber( |
|
MediaHandler mh, |
|
long * sampleNum) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetSpriteName() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetSpriteName( |
|
MediaHandler mh, |
|
QTAtomID spriteID, |
|
Str255 spriteName) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetImageName() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetImageName( |
|
MediaHandler mh, |
|
short imageIndex, |
|
Str255 imageName) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0109, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaSetSpriteProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaSetSpriteProperty( |
|
MediaHandler mh, |
|
QTAtomID spriteID, |
|
long propertyType, |
|
void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetSpriteProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetSpriteProperty( |
|
MediaHandler mh, |
|
QTAtomID spriteID, |
|
long propertyType, |
|
void * propertyValue) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010B, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaHitTestAllSprites() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaHitTestAllSprites( |
|
MediaHandler mh, |
|
long flags, |
|
Point loc, |
|
QTAtomID * spriteHitID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010C, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaHitTestOneSprite() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaHitTestOneSprite( |
|
MediaHandler mh, |
|
QTAtomID spriteID, |
|
long flags, |
|
Point loc, |
|
Boolean * wasHit) FIVEWORDINLINE(0x2F3C, 0x0010, 0x010D, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaSpriteIndexToID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaSpriteIndexToID( |
|
MediaHandler mh, |
|
short spriteIndex, |
|
QTAtomID * spriteID) FIVEWORDINLINE(0x2F3C, 0x0006, 0x010E, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaSpriteIDToIndex() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaSpriteIDToIndex( |
|
MediaHandler mh, |
|
QTAtomID spriteID, |
|
short * spriteIndex) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010F, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetSpriteActionsForQTEvent() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetSpriteActionsForQTEvent( |
|
MediaHandler mh, |
|
QTEventRecordPtr event, |
|
QTAtomID spriteID, |
|
QTAtomContainer * container, |
|
QTAtom * atom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0110, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaSetActionVariable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaSetActionVariable( |
|
MediaHandler mh, |
|
QTAtomID variableID, |
|
const float * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0111, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetActionVariable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetActionVariable( |
|
MediaHandler mh, |
|
QTAtomID variableID, |
|
float * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0112, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetIndImageProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetIndImageProperty( |
|
MediaHandler mh, |
|
short imageIndex, |
|
long imagePropertyType, |
|
void * imagePropertyValue) FIVEWORDINLINE(0x2F3C, 0x000A, 0x0113, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaNewSprite() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaNewSprite( |
|
MediaHandler mh, |
|
QTRuntimeSpriteDescPtr newSpriteDesc) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0114, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaDisposeSprite() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaDisposeSprite( |
|
MediaHandler mh, |
|
QTAtomID spriteID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0115, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaSetActionVariableToString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaSetActionVariableToString( |
|
MediaHandler mh, |
|
QTAtomID variableID, |
|
Ptr theCString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0116, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaGetActionVariableAsString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaGetActionVariableAsString( |
|
MediaHandler mh, |
|
QTAtomID variableID, |
|
Handle * theCString) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0117, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
/* |
|
* SpriteMediaNewImage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaNewImage( |
|
MediaHandler mh, |
|
Handle dataRef, |
|
OSType dataRefType, |
|
QTAtomID desiredID) FIVEWORDINLINE(0x2F3C, 0x000C, 0x011B, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaDisposeImage() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaDisposeImage( |
|
MediaHandler mh, |
|
short imageIndex) FIVEWORDINLINE(0x2F3C, 0x0002, 0x011C, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaImageIndexToID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaImageIndexToID( |
|
MediaHandler mh, |
|
short imageIndex, |
|
QTAtomID * imageID) FIVEWORDINLINE(0x2F3C, 0x0006, 0x011D, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* SpriteMediaImageIDToIndex() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
SpriteMediaImageIDToIndex( |
|
MediaHandler mh, |
|
QTAtomID imageID, |
|
short * imageIndex) FIVEWORDINLINE(0x2F3C, 0x0008, 0x011E, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/************************* |
|
* Flash Media routines |
|
**************************/ |
|
|
|
/* |
|
* FlashMediaSetPan() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaSetPan( |
|
MediaHandler mh, |
|
short xPercent, |
|
short yPercent) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaSetZoom() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaSetZoom( |
|
MediaHandler mh, |
|
short factor) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0102, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaSetZoomRect() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaSetZoomRect( |
|
MediaHandler mh, |
|
long left, |
|
long top, |
|
long right, |
|
long bottom) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0103, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaGetRefConBounds() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaGetRefConBounds( |
|
MediaHandler mh, |
|
long refCon, |
|
long * left, |
|
long * top, |
|
long * right, |
|
long * bottom) FIVEWORDINLINE(0x2F3C, 0x0014, 0x0104, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaGetRefConID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaGetRefConID( |
|
MediaHandler mh, |
|
long refCon, |
|
long * refConID) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0105, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaIDToRefCon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaIDToRefCon( |
|
MediaHandler mh, |
|
long refConID, |
|
long * refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0106, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaGetDisplayedFrameNumber() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaGetDisplayedFrameNumber( |
|
MediaHandler mh, |
|
long * flashFrameNumber) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaFrameNumberToMovieTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaFrameNumberToMovieTime( |
|
MediaHandler mh, |
|
long flashFrameNumber, |
|
TimeValue * movieTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaFrameLabelToMovieTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaFrameLabelToMovieTime( |
|
MediaHandler mh, |
|
Ptr theLabel, |
|
TimeValue * movieTime) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0109, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaGetFlashVariable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaGetFlashVariable( |
|
MediaHandler mh, |
|
char * path, |
|
char * name, |
|
Handle * theVariableCStringOut) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaSetFlashVariable() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaSetFlashVariable( |
|
MediaHandler mh, |
|
char * path, |
|
char * name, |
|
char * value, |
|
Boolean updateFocus) FIVEWORDINLINE(0x2F3C, 0x000E, 0x010B, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaDoButtonActions() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaDoButtonActions( |
|
MediaHandler mh, |
|
char * path, |
|
long buttonID, |
|
long transition) FIVEWORDINLINE(0x2F3C, 0x000C, 0x010C, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* FlashMediaGetSupportedSwfVersion() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
FlashMediaGetSupportedSwfVersion( |
|
MediaHandler mh, |
|
unsigned char * swfVersion) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
/* sample format atoms*/ |
|
enum { |
|
kMovieMediaDataReference = FOUR_CHAR_CODE('mmdr'), /* data reference*/ |
|
kMovieMediaDefaultDataReferenceID = FOUR_CHAR_CODE('ddri'), /* atom id*/ |
|
kMovieMediaSlaveTime = FOUR_CHAR_CODE('slti'), /* boolean*/ |
|
kMovieMediaSlaveAudio = FOUR_CHAR_CODE('slau'), /* boolean*/ |
|
kMovieMediaSlaveGraphicsMode = FOUR_CHAR_CODE('slgr'), /* boolean*/ |
|
kMovieMediaAutoPlay = FOUR_CHAR_CODE('play'), /* boolean*/ |
|
kMovieMediaLoop = FOUR_CHAR_CODE('loop'), /* UInt8 (0=no loop, 1=loop, 2=palindrome loop)*/ |
|
kMovieMediaUseMIMEType = FOUR_CHAR_CODE('mime'), /* string indicating the MIME type to use for the dataref (usually not required)*/ |
|
kMovieMediaTitle = FOUR_CHAR_CODE('titl'), /* string of the media's title (tooltips)*/ |
|
kMovieMediaAltText = FOUR_CHAR_CODE('altt'), /* string of alternate text if media isn't loaded*/ |
|
kMovieMediaClipBegin = FOUR_CHAR_CODE('clpb'), /* MovieMediaTimeRecord of start time of embedded media*/ |
|
kMovieMediaClipDuration = FOUR_CHAR_CODE('clpd'), /* MovieMediaTimeRecord of duration of embedded media*/ |
|
kMovieMediaRegionAtom = FOUR_CHAR_CODE('regi'), /* contains subatoms that describe layout*/ |
|
kMovieMediaSlaveTrackDuration = FOUR_CHAR_CODE('sltr'), /* Boolean indicating that media handler should adjust track and media based on actual embedded movie duration*/ |
|
kMovieMediaEnableFrameStepping = FOUR_CHAR_CODE('enfs'), /* boolean. if true stepping on external movie steps frames within embedded movie.*/ |
|
kMovieMediaBackgroundColor = FOUR_CHAR_CODE('bkcl'), /* RGBColor.*/ |
|
kMovieMediaPrerollTime = FOUR_CHAR_CODE('prer') /* SInt32 indicating preroll time*/ |
|
}; |
|
|
|
/* fit types*/ |
|
enum { |
|
kMovieMediaFitNone = 0, |
|
kMovieMediaFitScroll = FOUR_CHAR_CODE('scro'), |
|
kMovieMediaFitClipIfNecessary = FOUR_CHAR_CODE('hidd'), |
|
kMovieMediaFitFill = FOUR_CHAR_CODE('fill'), |
|
kMovieMediaFitMeet = FOUR_CHAR_CODE('meet'), |
|
kMovieMediaFitSlice = FOUR_CHAR_CODE('slic') |
|
}; |
|
|
|
/* sub atoms for region atom*/ |
|
enum { |
|
kMovieMediaSpatialAdjustment = FOUR_CHAR_CODE('fit '), /* OSType from kMovieMediaFit**/ |
|
kMovieMediaRectangleAtom = FOUR_CHAR_CODE('rect'), |
|
kMovieMediaTop = FOUR_CHAR_CODE('top '), |
|
kMovieMediaLeft = FOUR_CHAR_CODE('left'), |
|
kMovieMediaWidth = FOUR_CHAR_CODE('wd '), |
|
kMovieMediaHeight = FOUR_CHAR_CODE('ht ') |
|
}; |
|
|
|
/* contained movie properties*/ |
|
enum { |
|
kMoviePropertyDuration = FOUR_CHAR_CODE('dura'), /* TimeValue **/ |
|
kMoviePropertyTimeScale = FOUR_CHAR_CODE('tims'), /* TimeValue **/ |
|
kMoviePropertyTime = FOUR_CHAR_CODE('timv'), /* TimeValue **/ |
|
kMoviePropertyNaturalBounds = FOUR_CHAR_CODE('natb'), /* Rect **/ |
|
kMoviePropertyMatrix = FOUR_CHAR_CODE('mtrx'), /* Matrix **/ |
|
kMoviePropertyTrackList = FOUR_CHAR_CODE('tlst') /* long ****/ |
|
}; |
|
|
|
|
|
enum { |
|
kTrackPropertyMediaType = FOUR_CHAR_CODE('mtyp'), /* OSType*/ |
|
kTrackPropertyInstantiation = FOUR_CHAR_CODE('inst') /* MovieMediaInstantiationInfoRecord*/ |
|
}; |
|
|
|
struct MovieMediaTimeRecord { |
|
wide time; |
|
TimeScale scale; |
|
}; |
|
typedef struct MovieMediaTimeRecord MovieMediaTimeRecord; |
|
struct MovieMediaInstantiationInfoRecord { |
|
Boolean immediately; |
|
Boolean pad; |
|
SInt32 bitRate; |
|
}; |
|
typedef struct MovieMediaInstantiationInfoRecord MovieMediaInstantiationInfoRecord; |
|
/************************* |
|
* Movie Media routines |
|
**************************/ |
|
|
|
|
|
/* |
|
* MovieMediaGetChildDoMCActionCallback() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MovieMediaGetChildDoMCActionCallback( |
|
MediaHandler mh, |
|
DoMCActionUPP * doMCActionCallbackProc, |
|
long * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0102, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MovieMediaGetDoMCActionCallback() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MovieMediaGetDoMCActionCallback( |
|
MediaHandler mh, |
|
DoMCActionUPP * doMCActionCallbackProc, |
|
long * refcon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0103, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MovieMediaGetCurrentMovieProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MovieMediaGetCurrentMovieProperty( |
|
MediaHandler mh, |
|
OSType whichProperty, |
|
void * value) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0104, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MovieMediaGetCurrentTrackProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MovieMediaGetCurrentTrackProperty( |
|
MediaHandler mh, |
|
long trackID, |
|
OSType whichProperty, |
|
void * value) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0105, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MovieMediaGetChildMovieDataReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MovieMediaGetChildMovieDataReference( |
|
MediaHandler mh, |
|
QTAtomID dataRefID, |
|
short dataRefIndex, |
|
OSType * dataRefType, |
|
Handle * dataRef, |
|
QTAtomID * dataRefIDOut, |
|
short * dataRefIndexOut) FIVEWORDINLINE(0x2F3C, 0x0016, 0x0106, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MovieMediaSetChildMovieDataReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MovieMediaSetChildMovieDataReference( |
|
MediaHandler mh, |
|
QTAtomID dataRefID, |
|
OSType dataRefType, |
|
Handle dataRef) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0107, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MovieMediaLoadChildMovieFromDataReference() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MovieMediaLoadChildMovieFromDataReference( |
|
MediaHandler mh, |
|
QTAtomID dataRefID) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
/************************* |
|
* 3D Media routines |
|
**************************/ |
|
/* |
|
* Media3DGetNamedObjectList() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DGetNamedObjectList( |
|
MediaHandler mh, |
|
QTAtomContainer * objectList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DGetRendererList() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DGetRendererList( |
|
MediaHandler mh, |
|
QTAtomContainer * rendererList) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DGetCurrentGroup() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DGetCurrentGroup( |
|
MediaHandler mh, |
|
void * group) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DTranslateNamedObjectTo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DTranslateNamedObjectTo( |
|
MediaHandler mh, |
|
char * objectName, |
|
Fixed x, |
|
Fixed y, |
|
Fixed z) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0104, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DScaleNamedObjectTo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DScaleNamedObjectTo( |
|
MediaHandler mh, |
|
char * objectName, |
|
Fixed xScale, |
|
Fixed yScale, |
|
Fixed zScale) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0105, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DRotateNamedObjectTo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DRotateNamedObjectTo( |
|
MediaHandler mh, |
|
char * objectName, |
|
Fixed xDegrees, |
|
Fixed yDegrees, |
|
Fixed zDegrees) FIVEWORDINLINE(0x2F3C, 0x0010, 0x0106, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DSetCameraData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DSetCameraData( |
|
MediaHandler mh, |
|
void * cameraData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DGetCameraData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DGetCameraData( |
|
MediaHandler mh, |
|
void * cameraData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DSetCameraAngleAspect() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DSetCameraAngleAspect( |
|
MediaHandler mh, |
|
QTFloatSingle fov, |
|
QTFloatSingle aspectRatioXToY) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0109, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DGetCameraAngleAspect() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DGetCameraAngleAspect( |
|
MediaHandler mh, |
|
QTFloatSingle * fov, |
|
QTFloatSingle * aspectRatioXToY) FIVEWORDINLINE(0x2F3C, 0x0008, 0x010A, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
* Media3DSetCameraRange() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DSetCameraRange( |
|
MediaHandler mh, |
|
void * tQ3CameraRange) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010D, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DGetCameraRange() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DGetCameraRange( |
|
MediaHandler mh, |
|
void * tQ3CameraRange) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010E, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* Media3DGetViewObject() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
Media3DGetViewObject( |
|
MediaHandler mh, |
|
void * tq3viewObject) FIVEWORDINLINE(0x2F3C, 0x0004, 0x010F, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
/**************************************** |
|
* * |
|
* M O V I E C O N T R O L L E R * |
|
* * |
|
****************************************/ |
|
enum { |
|
MovieControllerComponentType = FOUR_CHAR_CODE('play') |
|
}; |
|
|
|
|
|
enum { |
|
kMovieControllerQTVRFlag = 1 << 0, |
|
kMovieControllerDontDisplayToUser = 1 << 1 |
|
}; |
|
|
|
|
|
typedef ComponentInstance MovieController; |
|
typedef MovieController * MovieControllerPtr; |
|
enum { |
|
mcActionIdle = 1, /* no param*/ |
|
mcActionDraw = 2, /* param is WindowRef*/ |
|
mcActionActivate = 3, /* no param*/ |
|
mcActionDeactivate = 4, /* no param*/ |
|
mcActionMouseDown = 5, /* param is pointer to EventRecord*/ |
|
mcActionKey = 6, /* param is pointer to EventRecord*/ |
|
mcActionPlay = 8, /* param is Fixed, play rate*/ |
|
mcActionGoToTime = 12, /* param is TimeRecord*/ |
|
mcActionSetVolume = 14, /* param is a short*/ |
|
mcActionGetVolume = 15, /* param is pointer to a short*/ |
|
mcActionStep = 18, /* param is number of steps (short)*/ |
|
mcActionSetLooping = 21, /* param is Boolean*/ |
|
mcActionGetLooping = 22, /* param is pointer to a Boolean*/ |
|
mcActionSetLoopIsPalindrome = 23, /* param is Boolean*/ |
|
mcActionGetLoopIsPalindrome = 24, /* param is pointer to a Boolean*/ |
|
mcActionSetGrowBoxBounds = 25, /* param is a Rect*/ |
|
mcActionControllerSizeChanged = 26, /* no param*/ |
|
mcActionSetSelectionBegin = 29, /* param is TimeRecord*/ |
|
mcActionSetSelectionDuration = 30, /* param is TimeRecord, action only taken on set-duration*/ |
|
mcActionSetKeysEnabled = 32, /* param is Boolean*/ |
|
mcActionGetKeysEnabled = 33, /* param is pointer to Boolean*/ |
|
mcActionSetPlaySelection = 34, /* param is Boolean*/ |
|
mcActionGetPlaySelection = 35, /* param is pointer to Boolean*/ |
|
mcActionSetUseBadge = 36, /* param is Boolean*/ |
|
mcActionGetUseBadge = 37, /* param is pointer to Boolean*/ |
|
mcActionSetFlags = 38, /* param is long of flags*/ |
|
mcActionGetFlags = 39, /* param is pointer to a long of flags*/ |
|
mcActionSetPlayEveryFrame = 40, /* param is Boolean*/ |
|
mcActionGetPlayEveryFrame = 41, /* param is pointer to Boolean*/ |
|
mcActionGetPlayRate = 42, /* param is pointer to Fixed*/ |
|
mcActionShowBalloon = 43, /* param is a pointer to a boolean. set to false to stop balloon*/ |
|
mcActionBadgeClick = 44, /* param is pointer to Boolean. set to false to ignore click*/ |
|
mcActionMovieClick = 45, /* param is pointer to event record. change "what" to nullEvt to kill click*/ |
|
mcActionSuspend = 46, /* no param*/ |
|
mcActionResume = 47, /* no param*/ |
|
mcActionSetControllerKeysEnabled = 48, /* param is Boolean*/ |
|
mcActionGetTimeSliderRect = 49, /* param is pointer to rect*/ |
|
mcActionMovieEdited = 50, /* no param*/ |
|
mcActionGetDragEnabled = 51, /* param is pointer to Boolean*/ |
|
mcActionSetDragEnabled = 52, /* param is Boolean*/ |
|
mcActionGetSelectionBegin = 53, /* param is TimeRecord*/ |
|
mcActionGetSelectionDuration = 54, /* param is TimeRecord*/ |
|
mcActionPrerollAndPlay = 55, /* param is Fixed, play rate*/ |
|
mcActionGetCursorSettingEnabled = 56, /* param is pointer to Boolean*/ |
|
mcActionSetCursorSettingEnabled = 57, /* param is Boolean*/ |
|
mcActionSetColorTable = 58, /* param is CTabHandle*/ |
|
mcActionLinkToURL = 59, /* param is Handle to URL*/ |
|
mcActionCustomButtonClick = 60, /* param is pointer to EventRecord*/ |
|
mcActionForceTimeTableUpdate = 61, /* no param*/ |
|
mcActionSetControllerTimeLimits = 62, /* param is pointer to 2 time values min/max. do no send this message to controller. used internally only.*/ |
|
mcActionExecuteAllActionsForQTEvent = 63, /* param is ResolvedQTEventSpecPtr*/ |
|
mcActionExecuteOneActionForQTEvent = 64, /* param is ResolvedQTEventSpecPtr*/ |
|
mcActionAdjustCursor = 65, /* param is pointer to EventRecord (WindowRef is in message parameter)*/ |
|
mcActionUseTrackForTimeTable = 66, /* param is pointer to {long trackID; Boolean useIt}. do not send this message to controller. */ |
|
mcActionClickAndHoldPoint = 67, /* param is point (local coordinates). return true if point has click & hold action (e.g., VR object movie autorotate spot)*/ |
|
mcActionShowMessageString = 68, /* param is a StringPtr*/ |
|
mcActionShowStatusString = 69, /* param is a QTStatusStringPtr*/ |
|
mcActionGetExternalMovie = 70, /* param is a QTGetExternalMoviePtr*/ |
|
mcActionGetChapterTime = 71, /* param is a QTGetChapterTimePtr*/ |
|
mcActionPerformActionList = 72, /* param is a QTAtomSpecPtr*/ |
|
mcActionEvaluateExpression = 73, /* param is a QTEvaluateExpressionPtr*/ |
|
mcActionFetchParameterAs = 74, /* param is a QTFetchParameterAsPtr*/ |
|
mcActionGetCursorByID = 75, /* param is a QTGetCursorByIDPtr*/ |
|
mcActionGetNextURL = 76, /* param is a Handle to URL*/ |
|
mcActionMovieChanged = 77, |
|
mcActionDoScript = 78, /* param is QTDoScriptPtr*/ |
|
mcActionRestartAtTime = 79, /* param is QTResartAtTimePtr*/ |
|
mcActionGetIndChapter = 80, /* param is QTChapterInfoPtr*/ |
|
mcActionLinkToURLExtended = 81, /* param is QTAtomContainer as used by QTParseHREF*/ |
|
mcActionSetVolumeStep = 82, /* param is short containing amount to step volume via arrow keys - default = 64*/ |
|
mcActionAutoPlay = 83, /* param is Fixed, play rate*/ |
|
mcActionPauseToBuffer = 84, /* param is Fixed, play rate on restart*/ |
|
mcActionAppMessageReceived = 85, /* param is a long, application message*/ |
|
mcActionMovieFinished = 86, /* no param*/ |
|
mcActionEvaluateExpressionWithType = 89, /* param is a QTEvaluateExpressionWithTypePtr*/ |
|
mcActionGetMovieName = 90, /* param is a p String Handle*/ |
|
mcActionGetMovieID = 91, /* param is pointer to long*/ |
|
mcActionGetMovieActive = 92, /* param is pointer to Boolean*/ |
|
mcActionGetKeyboardFocus = 93, /* param is QTKeyboardFocusPtr*/ |
|
mcActionSetKeyboardFocus = 94, /* param is QTKeyboardFocusPtr*/ |
|
mcActionAddActionNotification = 95, /* param is QTMCActionNotificationPtr*/ |
|
mcActionRemoveActionNotification = 96, /* param is QTMCActionNotificationPtr*/ |
|
mcActionKeyUp = 97, /* param is pointer to EventRecord */ |
|
mcActionGetConnectionStatus = 98, /* param is QTConnectionStatusPtr*/ |
|
mcActionChapterListChanged = 99, /* no param */ |
|
mcActionMovieLoadStateChanged = 100, /* param is SInt32, new load state*/ |
|
mcActionEditStateChanged = 101, /* param is a Boolean, editing enabled?*/ |
|
mcActionCurrentChapterChanged = 102 /* param is a UInt32, new chapter index */ |
|
}; |
|
|
|
typedef short mcAction; |
|
enum { |
|
mcFlagSuppressMovieFrame = 1 << 0, |
|
mcFlagSuppressStepButtons = 1 << 1, |
|
mcFlagSuppressSpeakerButton = 1 << 2, |
|
mcFlagsUseWindowPalette = 1 << 3, |
|
mcFlagsDontInvalidate = 1 << 4, |
|
mcFlagsUseCustomButton = 1 << 5 |
|
}; |
|
|
|
|
|
enum { |
|
mcPositionDontInvalidate = 1 << 5 |
|
}; |
|
|
|
typedef unsigned long mcFlags; |
|
enum { |
|
kMCIEEnabledButtonPicture = 1, |
|
kMCIEDisabledButtonPicture = 2, |
|
kMCIEDepressedButtonPicture = 3, |
|
kMCIEEnabledSizeBoxPicture = 4, |
|
kMCIEDisabledSizeBoxPicture = 5, |
|
kMCIEEnabledUnavailableButtonPicture = 6, |
|
kMCIEDisabledUnavailableButtonPicture = 7, |
|
kMCIESoundSlider = 128, |
|
kMCIESoundThumb = 129, |
|
kMCIEColorTable = 256, |
|
kMCIEIsFlatAppearance = 257, |
|
kMCIEDoButtonIconsDropOnDepress = 258 |
|
}; |
|
|
|
typedef unsigned long MCInterfaceElement; |
|
typedef CALLBACK_API( Boolean , MCActionFilterProcPtr )(MovieController mc, short *action, void *params); |
|
typedef CALLBACK_API( Boolean , MCActionFilterWithRefConProcPtr )(MovieController mc, short action, void *params, long refCon); |
|
typedef CALLBACK_API( Boolean , MCActionNotificationProcPtr )(MovieController mc, short action, void *params, UInt32 inFlags, UInt32 *outFlags, void *refCon); |
|
typedef STACK_UPP_TYPE(MCActionFilterProcPtr) MCActionFilterUPP; |
|
typedef STACK_UPP_TYPE(MCActionFilterWithRefConProcPtr) MCActionFilterWithRefConUPP; |
|
typedef STACK_UPP_TYPE(MCActionNotificationProcPtr) MCActionNotificationUPP; |
|
/* |
|
menu related stuff |
|
*/ |
|
enum { |
|
mcInfoUndoAvailable = 1 << 0, |
|
mcInfoCutAvailable = 1 << 1, |
|
mcInfoCopyAvailable = 1 << 2, |
|
mcInfoPasteAvailable = 1 << 3, |
|
mcInfoClearAvailable = 1 << 4, |
|
mcInfoHasSound = 1 << 5, |
|
mcInfoIsPlaying = 1 << 6, |
|
mcInfoIsLooping = 1 << 7, |
|
mcInfoIsInPalindrome = 1 << 8, |
|
mcInfoEditingEnabled = 1 << 9, |
|
mcInfoMovieIsInteractive = 1 << 10 |
|
}; |
|
|
|
/* menu item codes*/ |
|
enum { |
|
mcMenuUndo = 1, |
|
mcMenuCut = 3, |
|
mcMenuCopy = 4, |
|
mcMenuPaste = 5, |
|
mcMenuClear = 6 |
|
}; |
|
|
|
/* messages to the application via mcActionAppMessageReceived*/ |
|
enum { |
|
kQTAppMessageSoftwareChanged = 1, /* notification to app that installed QuickTime software has been updated*/ |
|
kQTAppMessageWindowCloseRequested = 3, /* request for app to close window containing movie controller*/ |
|
kQTAppMessageExitFullScreenRequested = 4, /* request for app to turn off full screen mode if active*/ |
|
kQTAppMessageDisplayChannels = 5, /* request for app to display the channel UI*/ |
|
kQTAppMessageEnterFullScreenRequested = 6 /* request for app to turn on full screen mode*/ |
|
}; |
|
|
|
/* structures used as mcActionFilterProc params*/ |
|
struct QTStatusStringRecord { |
|
long stringTypeFlags; |
|
char * statusString; |
|
}; |
|
typedef struct QTStatusStringRecord QTStatusStringRecord; |
|
typedef QTStatusStringRecord * QTStatusStringPtr; |
|
struct QTGetExternalMovieRecord { |
|
long targetType; /* set to kTargetMovieName or kTargetMovieID*/ |
|
StringPtr movieName; |
|
long movieID; |
|
PtrToMovie theMovie; |
|
MovieControllerPtr theController; |
|
}; |
|
typedef struct QTGetExternalMovieRecord QTGetExternalMovieRecord; |
|
typedef QTGetExternalMovieRecord * QTGetExternalMoviePtr; |
|
struct QTGetChapterTimeRecord { |
|
StringPtr chapterName; |
|
TimeRecord chapterTime; |
|
}; |
|
typedef struct QTGetChapterTimeRecord QTGetChapterTimeRecord; |
|
typedef QTGetChapterTimeRecord * QTGetChapterTimePtr; |
|
struct QTChapterInfoRecord { |
|
long index; /* first chapter has index of 1*/ |
|
TimeValue time; /* -1 if no more chapters available*/ |
|
Str255 name; |
|
}; |
|
typedef struct QTChapterInfoRecord QTChapterInfoRecord; |
|
typedef QTChapterInfoRecord * QTChapterInfoPtr; |
|
struct QTEvaluateExpressionRecord { |
|
QTAtomSpec expressionSpec; |
|
float * expressionResult; |
|
}; |
|
typedef struct QTEvaluateExpressionRecord QTEvaluateExpressionRecord; |
|
typedef QTEvaluateExpressionRecord * QTEvaluateExpressionPtr; |
|
struct QTEvaluateExpressionWithTypeRecord { |
|
long recordSize; /* Size of structure (fill in at allocation) */ |
|
QTAtomSpec expressionSpec; |
|
float * expressionResult; |
|
long fetchAsType; |
|
Handle nonNumericResult; |
|
/* Current size is 24 */ |
|
}; |
|
typedef struct QTEvaluateExpressionWithTypeRecord QTEvaluateExpressionWithTypeRecord; |
|
typedef QTEvaluateExpressionWithTypeRecord * QTEvaluateExpressionWithTypePtr; |
|
struct QTFetchParameterAsRecord { |
|
QTAtomSpec paramListSpec; |
|
long paramIndex; |
|
long paramType; |
|
long allowedFlags; |
|
void * min; |
|
void * max; |
|
void * currentValue; |
|
void * newValue; |
|
Boolean isUnsignedValue; |
|
}; |
|
typedef struct QTFetchParameterAsRecord QTFetchParameterAsRecord; |
|
typedef QTFetchParameterAsRecord * QTFetchParameterAsPtr; |
|
struct QTGetCursorByIDRecord { |
|
short cursorID; |
|
Handle colorCursorData; |
|
long reserved1; |
|
}; |
|
typedef struct QTGetCursorByIDRecord QTGetCursorByIDRecord; |
|
typedef QTGetCursorByIDRecord * QTGetCursorByIDPtr; |
|
struct QTDoScriptRecord { |
|
long scriptTypeFlags; |
|
char * command; |
|
char * arguments; |
|
}; |
|
typedef struct QTDoScriptRecord QTDoScriptRecord; |
|
typedef QTDoScriptRecord * QTDoScriptPtr; |
|
struct QTRestartAtTimeRecord { |
|
TimeValue startTime; /* time scale is the movie timescale*/ |
|
Fixed rate; /* if rate is zero, the movie's current rate is maintained*/ |
|
}; |
|
typedef struct QTRestartAtTimeRecord QTRestartAtTimeRecord; |
|
typedef QTRestartAtTimeRecord * QTRestartAtTimePtr; |
|
/* values for paramType field of QTFetchParameterAsRecord*/ |
|
enum { |
|
kFetchAsBooleanPtr = 1, |
|
kFetchAsShortPtr = 2, |
|
kFetchAsLongPtr = 3, |
|
kFetchAsMatrixRecordPtr = 4, |
|
kFetchAsModifierTrackGraphicsModeRecord = 5, |
|
kFetchAsHandle = 6, |
|
kFetchAsStr255 = 7, |
|
kFetchAsFloatPtr = 8, |
|
kFetchAsPointPtr = 9, |
|
kFetchAsNewAtomContainer = 10, |
|
kFetchAsQTEventRecordPtr = 11, |
|
kFetchAsFixedPtr = 12, |
|
kFetchAsSetControllerValuePtr = 13, |
|
kFetchAsRgnHandle = 14, /* flipped to native*/ |
|
kFetchAsComponentDescriptionPtr = 15, |
|
kFetchAsCString = 16 |
|
}; |
|
|
|
enum { |
|
kQTCursorOpenHand = -19183, |
|
kQTCursorClosedHand = -19182, |
|
kQTCursorPointingHand = -19181, |
|
kQTCursorRightArrow = -19180, |
|
kQTCursorLeftArrow = -19179, |
|
kQTCursorDownArrow = -19178, |
|
kQTCursorUpArrow = -19177, |
|
kQTCursorIBeam = -19176 |
|
}; |
|
|
|
|
|
|
|
/* keyboard focus items*/ |
|
|
|
enum { |
|
kKeyboardAllowFocus = 1, |
|
kKeyboardHaveFocus = 2, |
|
kKeyboardValidate = 4 |
|
}; |
|
|
|
|
|
enum { |
|
kRefConNavigateClick = FOUR_CHAR_CODE('clik') |
|
}; |
|
|
|
|
|
struct QTKeyboardFocusRecord { |
|
long recordSize; /* -> size of structure*/ |
|
long navigation; /* -> same as in MediaNavigateTargetRefCon*/ |
|
long focusRefCon; /* <-> refcon*/ |
|
short focusFlags; /* <-> flags from kKeyboard... enum */ |
|
}; |
|
typedef struct QTKeyboardFocusRecord QTKeyboardFocusRecord; |
|
typedef QTKeyboardFocusRecord * QTKeyboardFocusPtr; |
|
enum { |
|
kQTMCActionNotifyBefore = (1L << 0), |
|
kQTMCActionNotifyAfter = (1L << 1), |
|
kQTMCActionNotifyParamChanged = (1L << 8), |
|
kQTMCActionNotifyCancelled = (1L << 9), |
|
kQTMCActionNotifyUserFilterCancelled = (1L << 10), |
|
kQTMCActionNotifySignature = FOUR_CHAR_CODE('noti') |
|
}; |
|
|
|
struct QTMCActionNotificationRecord { |
|
OSType returnSignature; /* Set to zero when passed to movieController, set to 'noti' if mcActionAddActionNotification is implemented*/ |
|
MCActionNotificationUPP notifyAction; /* Function to be called at action time*/ |
|
void * refcon; /* Something to pass to the action function*/ |
|
UInt32 flags; /* Option flags*/ |
|
}; |
|
typedef struct QTMCActionNotificationRecord QTMCActionNotificationRecord; |
|
typedef QTMCActionNotificationRecord * QTMCActionNotificationPtr; |
|
struct QTConnectionStatusRecord { |
|
|
|
short flags; |
|
short error; |
|
|
|
Handle message; |
|
}; |
|
typedef struct QTConnectionStatusRecord QTConnectionStatusRecord; |
|
typedef QTConnectionStatusRecord * QTConnectionStatusPtr; |
|
|
|
/* target management */ |
|
/* |
|
* MCSetMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetMovie( |
|
MovieController mc, |
|
Movie theMovie, |
|
WindowRef movieWindow, |
|
Point where) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0002, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetIndMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
MCGetIndMovie( |
|
MovieController mc, |
|
short index) FIVEWORDINLINE(0x2F3C, 0x0002, 0x0005, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
#define MCGetMovie(mc) MCGetIndMovie(mc, 0) |
|
/* |
|
* MCRemoveAllMovies() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCRemoveAllMovies(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCRemoveAMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCRemoveAMovie( |
|
MovieController mc, |
|
Movie m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCRemoveMovie() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCRemoveMovie(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A); |
|
|
|
|
|
/* event handling etc. */ |
|
/* |
|
* MCIsPlayerEvent() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCIsPlayerEvent( |
|
MovieController mc, |
|
const EventRecord * e) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A); |
|
|
|
|
|
/* obsolete. use MCSetActionFilterWithRefCon instead. */ |
|
/* |
|
* MCSetActionFilter() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetActionFilter( |
|
MovieController mc, |
|
MCActionFilterUPP blob) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
proc is of the form: |
|
Boolean userPlayerFilter(MovieController mc, short *action, void *params) = |
|
proc returns TRUE if it handles the action, FALSE if not |
|
action is passed as a VAR so that it could be changed by filter |
|
this is consistent with the current dialog manager stuff |
|
params is any potential parameters that go with the action |
|
such as set playback rate to xxx. |
|
*/ |
|
/* |
|
* MCDoAction() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCDoAction( |
|
MovieController mc, |
|
short action, |
|
void * params) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0009, 0x7000, 0xA82A); |
|
|
|
|
|
/* state type things */ |
|
/* |
|
* MCSetControllerAttached() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetControllerAttached( |
|
MovieController mc, |
|
Boolean attach) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000A, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCIsControllerAttached() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCIsControllerAttached(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000B, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCSetControllerPort() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetControllerPort( |
|
MovieController mc, |
|
CGrafPtr gp) FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetControllerPort() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( CGrafPtr ) |
|
MCGetControllerPort(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000D, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCSetVisible() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetVisible( |
|
MovieController mc, |
|
Boolean visible) FIVEWORDINLINE(0x2F3C, 0x0002, 0x000E, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetVisible() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCGetVisible(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x000F, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetControllerBoundsRect() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCGetControllerBoundsRect( |
|
MovieController mc, |
|
Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCSetControllerBoundsRect() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetControllerBoundsRect( |
|
MovieController mc, |
|
const Rect * bounds) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetControllerBoundsRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
MCGetControllerBoundsRgn(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetWindowRgn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( RgnHandle ) |
|
MCGetWindowRgn( |
|
MovieController mc, |
|
WindowRef w) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* other stuff */ |
|
/* |
|
* MCMovieChanged() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCMovieChanged( |
|
MovieController mc, |
|
Movie m) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
called when the app has changed thing about the movie (like bounding rect) or rate. So that we |
|
can update our graphical (and internal) state accordingly. |
|
*/ |
|
/* |
|
* MCSetDuration() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetDuration( |
|
MovieController mc, |
|
TimeValue duration) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
duration to use for time slider -- will be reset next time MCMovieChanged is called |
|
or MCSetMovie is called |
|
*/ |
|
/* |
|
* MCGetCurrentTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
MCGetCurrentTime( |
|
MovieController mc, |
|
TimeScale * scale) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0016, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
returns the time value and the time scale it is on. if there are no movies, the |
|
time scale is passed back as 0. scale is an optional parameter |
|
|
|
*/ |
|
/* |
|
* MCNewAttachedController() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCNewAttachedController( |
|
MovieController mc, |
|
Movie theMovie, |
|
WindowRef w, |
|
Point where) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
makes theMovie the only movie attached to the controller. makes the controller visible. |
|
the window and where parameters are passed a long to MCSetMovie and behave as |
|
described there |
|
*/ |
|
/* |
|
* MCDraw() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCDraw( |
|
MovieController mc, |
|
WindowRef w) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCActivate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCActivate( |
|
MovieController mc, |
|
WindowRef w, |
|
Boolean activate) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0019, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCIdle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCIdle(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001A, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCKey() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCKey( |
|
MovieController mc, |
|
SInt8 key, |
|
long modifiers) FIVEWORDINLINE(0x2F3C, 0x0006, 0x001B, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCClick() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCClick( |
|
MovieController mc, |
|
WindowRef w, |
|
Point where, |
|
long when, |
|
long modifiers) FIVEWORDINLINE(0x2F3C, 0x0010, 0x001C, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
calls for editing |
|
*/ |
|
/* |
|
* MCEnableEditing() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCEnableEditing( |
|
MovieController mc, |
|
Boolean enabled) FIVEWORDINLINE(0x2F3C, 0x0002, 0x001D, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCIsEditingEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
MCIsEditingEnabled(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001E, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCCopy() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
MCCopy(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x001F, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCCut() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Movie ) |
|
MCCut(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0020, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCPaste() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCPaste( |
|
MovieController mc, |
|
Movie srcMovie) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0021, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCClear() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCClear(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0022, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCUndo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCUndo(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0023, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
* somewhat special stuff |
|
*/ |
|
/* |
|
* MCPositionController() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCPositionController( |
|
MovieController mc, |
|
const Rect * movieRect, |
|
const Rect * controllerRect, |
|
long someFlags) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0024, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
* MCGetControllerInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCGetControllerInfo( |
|
MovieController mc, |
|
long * someFlags) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
/* |
|
* MCSetClip() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetClip( |
|
MovieController mc, |
|
RgnHandle theClip, |
|
RgnHandle movieClip) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0028, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetClip() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCGetClip( |
|
MovieController mc, |
|
RgnHandle * theClip, |
|
RgnHandle * movieClip) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0029, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
/* |
|
* MCDrawBadge() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCDrawBadge( |
|
MovieController mc, |
|
RgnHandle movieRgn, |
|
RgnHandle * badgeRgn) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002A, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCSetUpEditMenu() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetUpEditMenu( |
|
MovieController mc, |
|
long modifiers, |
|
MenuRef mh) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002B, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetMenuString() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCGetMenuString( |
|
MovieController mc, |
|
long modifiers, |
|
short item, |
|
Str255 aString) FIVEWORDINLINE(0x2F3C, 0x000A, 0x002C, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCSetActionFilterWithRefCon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetActionFilterWithRefCon( |
|
MovieController mc, |
|
MCActionFilterWithRefConUPP blob, |
|
long refCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCPtInController() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCPtInController( |
|
MovieController mc, |
|
Point thePt, |
|
Boolean * inController) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002E, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCInvalidate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCInvalidate( |
|
MovieController mc, |
|
WindowRef w, |
|
RgnHandle invalidRgn) FIVEWORDINLINE(0x2F3C, 0x0008, 0x002F, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCAdjustCursor() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCAdjustCursor( |
|
MovieController mc, |
|
WindowRef w, |
|
Point where, |
|
long modifiers) FIVEWORDINLINE(0x2F3C, 0x000C, 0x0030, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetInterfaceElement() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCGetInterfaceElement( |
|
MovieController mc, |
|
MCInterfaceElement whichElement, |
|
void * element) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0031, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCGetDoActionsProc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCGetDoActionsProc( |
|
MovieController mc, |
|
DoMCActionUPP * doMCActionProc, |
|
long * doMCActionRefCon) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCAddMovieSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCAddMovieSegment( |
|
MovieController mc, |
|
Movie srcMovie, |
|
Boolean scaled) FIVEWORDINLINE(0x2F3C, 0x0006, 0x0033, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCTrimMovieSegment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 5.0 and later |
|
* CarbonLib: in CarbonLib 1.3 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 5.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCTrimMovieSegment(MovieController mc) FIVEWORDINLINE(0x2F3C, 0x0000, 0x0034, 0x7000, 0xA82A); |
|
|
|
|
|
/* |
|
* MCSetIdleManager() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetIdleManager( |
|
MovieController mc, |
|
IdleManager im) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A); |
|
|
|
|
|
/* Called (but not implemented) by controllers that derive from the standard movie controller. |
|
All controllers except standard movie controller must delegate this call. */ |
|
enum { |
|
kControllerUnderstandsIdleManagers = 1 << 0 |
|
}; |
|
|
|
/* |
|
* MCSetControllerCapabilities() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 6.0 and later |
|
* CarbonLib: in CarbonLib 1.6 and later |
|
* Mac OS X: in version 10.2 and later |
|
* Windows: in qtmlClient.lib 6.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MCSetControllerCapabilities( |
|
MovieController mc, |
|
long flags, |
|
long flagsMask) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
|
|
|
|
/**************************************** |
|
* * |
|
* T I M E B A S E * |
|
* * |
|
****************************************/ |
|
/* |
|
* NewTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeBase ) |
|
NewTimeBase(void); |
|
|
|
|
|
/* |
|
* DisposeTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeTimeBase(TimeBase tb); |
|
|
|
|
|
/* |
|
* GetTimeBaseTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetTimeBaseTime( |
|
TimeBase tb, |
|
TimeScale s, |
|
TimeRecord * tr); |
|
|
|
|
|
/* |
|
* SetTimeBaseTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseTime( |
|
TimeBase tb, |
|
const TimeRecord * tr); |
|
|
|
|
|
/* |
|
* SetTimeBaseValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseValue( |
|
TimeBase tb, |
|
TimeValue t, |
|
TimeScale s); |
|
|
|
|
|
/* |
|
* GetTimeBaseRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Fixed ) |
|
GetTimeBaseRate(TimeBase tb); |
|
|
|
|
|
/* |
|
* SetTimeBaseRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseRate( |
|
TimeBase tb, |
|
Fixed r); |
|
|
|
|
|
/* |
|
* GetTimeBaseStartTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetTimeBaseStartTime( |
|
TimeBase tb, |
|
TimeScale s, |
|
TimeRecord * tr); |
|
|
|
|
|
/* |
|
* SetTimeBaseStartTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseStartTime( |
|
TimeBase tb, |
|
const TimeRecord * tr); |
|
|
|
|
|
/* |
|
* GetTimeBaseStopTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeValue ) |
|
GetTimeBaseStopTime( |
|
TimeBase tb, |
|
TimeScale s, |
|
TimeRecord * tr); |
|
|
|
|
|
/* |
|
* SetTimeBaseStopTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseStopTime( |
|
TimeBase tb, |
|
const TimeRecord * tr); |
|
|
|
|
|
/* |
|
* GetTimeBaseFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetTimeBaseFlags(TimeBase tb); |
|
|
|
|
|
/* |
|
* SetTimeBaseFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseFlags( |
|
TimeBase tb, |
|
long timeBaseFlags); |
|
|
|
|
|
/* |
|
* SetTimeBaseMasterTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseMasterTimeBase( |
|
TimeBase slave, |
|
TimeBase master, |
|
const TimeRecord * slaveZero); |
|
|
|
|
|
/* |
|
* GetTimeBaseMasterTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeBase ) |
|
GetTimeBaseMasterTimeBase(TimeBase tb); |
|
|
|
|
|
/* |
|
* SetTimeBaseMasterClock() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseMasterClock( |
|
TimeBase slave, |
|
Component clockMeister, |
|
const TimeRecord * slaveZero); |
|
|
|
|
|
/* |
|
* GetTimeBaseMasterClock() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentInstance ) |
|
GetTimeBaseMasterClock(TimeBase tb); |
|
|
|
|
|
/* |
|
* ConvertTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ConvertTime( |
|
TimeRecord * theTime, |
|
TimeBase newBase); |
|
|
|
|
|
/* |
|
* ConvertTimeScale() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ConvertTimeScale( |
|
TimeRecord * theTime, |
|
TimeScale newScale); |
|
|
|
|
|
/* |
|
* AddTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
AddTime( |
|
TimeRecord * dst, |
|
const TimeRecord * src); |
|
|
|
|
|
/* |
|
* SubtractTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SubtractTime( |
|
TimeRecord * dst, |
|
const TimeRecord * src); |
|
|
|
|
|
/* |
|
* GetTimeBaseStatus() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( long ) |
|
GetTimeBaseStatus( |
|
TimeBase tb, |
|
TimeRecord * unpinnedTime); |
|
|
|
|
|
/* |
|
* SetTimeBaseZero() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
SetTimeBaseZero( |
|
TimeBase tb, |
|
TimeRecord * zero); |
|
|
|
|
|
/* |
|
* GetTimeBaseEffectiveRate() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( Fixed ) |
|
GetTimeBaseEffectiveRate(TimeBase tb); |
|
|
|
|
|
/* |
|
* GetTimeBaseRateChangeStatus() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetTimeBaseRateChangeStatus( |
|
TimeBase tb, |
|
TimeScale scale, |
|
Fixed * ratedChangedTo, |
|
TimeBaseStatus * flags, |
|
TimeRecord * rateChangeTimeBaseTime, |
|
TimeRecord * rateChangeClockTime, |
|
TimeRecord * currentClockTime); |
|
|
|
|
|
/* |
|
* ConvertTimeToClockTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ConvertTimeToClockTime(TimeRecord * time); |
|
|
|
|
|
/* |
|
* GetTimeBaseMasterOffsetTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( TimeBase ) |
|
GetTimeBaseMasterOffsetTimeBase(TimeBase tb); |
|
|
|
|
|
/* |
|
* SetTimeBaseOffsetTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
* Windows: in qtmlClient.lib 6.5 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetTimeBaseOffsetTimeBase( |
|
TimeBase tb, |
|
TimeBase offsettb, |
|
const TimeRecord * offsetZero); |
|
|
|
|
|
#if TARGET_OS_MAC |
|
/* |
|
* AttachTimeBaseToCurrentThread() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AttachTimeBaseToCurrentThread(TimeBase tb); |
|
|
|
|
|
/* |
|
* DetachTimeBaseFromCurrentThread() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
DetachTimeBaseFromCurrentThread(TimeBase tb); |
|
|
|
|
|
/* |
|
* GetTimeBaseThreadAttachState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetTimeBaseThreadAttachState( |
|
TimeBase inTimeBase, |
|
Boolean * outAttachedToCurrentThread, |
|
Boolean * outAttachedToAnyThread); |
|
|
|
|
|
#endif /* TARGET_OS_MAC */ |
|
|
|
/**************************************** |
|
* * |
|
* C A L L B A C K * |
|
* * |
|
****************************************/ |
|
/* |
|
* NewCallBack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( QTCallBack ) |
|
NewCallBack( |
|
TimeBase tb, |
|
short cbType); |
|
|
|
|
|
/* |
|
* DisposeCallBack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
DisposeCallBack(QTCallBack cb); |
|
|
|
|
|
/* |
|
* GetCallBackType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( short ) |
|
GetCallBackType(QTCallBack cb); |
|
|
|
|
|
/* |
|
* GetCallBackTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( TimeBase ) |
|
GetCallBackTimeBase(QTCallBack cb); |
|
|
|
|
|
/* |
|
* CallMeWhen() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
CallMeWhen( |
|
QTCallBack cb, |
|
QTCallBackUPP callBackProc, |
|
long refCon, |
|
long param1, |
|
long param2, |
|
long param3); |
|
|
|
|
|
/* |
|
* CancelCallBack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
CancelCallBack(QTCallBack cb); |
|
|
|
|
|
|
|
/**************************************** |
|
* * |
|
* C L O C K C A L L B A C K * |
|
* S U P P O R T * |
|
* * |
|
****************************************/ |
|
/* |
|
* AddCallBackToTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
AddCallBackToTimeBase(QTCallBack cb); |
|
|
|
|
|
/* |
|
* RemoveCallBackFromTimeBase() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
RemoveCallBackFromTimeBase(QTCallBack cb); |
|
|
|
|
|
/* |
|
* GetFirstCallBack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( QTCallBack ) |
|
GetFirstCallBack(TimeBase tb); |
|
|
|
|
|
/* |
|
* GetNextCallBack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( QTCallBack ) |
|
GetNextCallBack(QTCallBack cb); |
|
|
|
|
|
/* |
|
* ExecuteCallBack() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 2.5 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( void ) |
|
ExecuteCallBack(QTCallBack cb); |
|
|
|
|
|
|
|
|
|
/**************************************** |
|
* * |
|
* M O V I E P R O P E R T I E S * |
|
* * |
|
****************************************/ |
|
|
|
typedef CALLBACK_API( void , QTMoviePropertyListenerProcPtr )(Movie inMovie, QTPropertyClass inPropClass, QTPropertyID inPropID, void *inUserData); |
|
typedef STACK_UPP_TYPE(QTMoviePropertyListenerProcPtr) QTMoviePropertyListenerUPP; |
|
/* |
|
* QTGetMoviePropertyInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetMoviePropertyInfo( |
|
Movie inMovie, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTPropertyValueType * outPropType, |
|
ByteCount * outPropValueSize, |
|
UInt32 * outPropertyFlags); |
|
|
|
|
|
/* |
|
* QTGetMovieProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetMovieProperty( |
|
Movie inMovie, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
QTPropertyValuePtr outPropValueAddress, |
|
ByteCount * outPropValueSizeUsed); |
|
|
|
|
|
/* |
|
* QTSetMovieProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTSetMovieProperty( |
|
Movie inMovie, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
ConstQTPropertyValuePtr inPropValueAddress); |
|
|
|
|
|
/* |
|
* QTAddMoviePropertyListener() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTAddMoviePropertyListener( |
|
Movie inMovie, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTMoviePropertyListenerUPP inListenerProc, |
|
void * inUserData); |
|
|
|
|
|
/* |
|
* QTRemoveMoviePropertyListener() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRemoveMoviePropertyListener( |
|
Movie inMovie, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTMoviePropertyListenerUPP inListenerProc, |
|
void * inUserData); |
|
|
|
|
|
|
|
|
|
/**************************************** |
|
* * |
|
* T R A C K P R O P E R T I E S * |
|
* * |
|
****************************************/ |
|
|
|
typedef CALLBACK_API( void , QTTrackPropertyListenerProcPtr )(Track inTrack, QTPropertyClass inPropClass, QTPropertyID inPropID, void *inUserData); |
|
typedef STACK_UPP_TYPE(QTTrackPropertyListenerProcPtr) QTTrackPropertyListenerUPP; |
|
/* |
|
* QTGetTrackPropertyInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetTrackPropertyInfo( |
|
Track inTrack, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTPropertyValueType * outPropType, |
|
ByteCount * outPropValueSize, |
|
UInt32 * outPropertyFlags); |
|
|
|
|
|
/* |
|
* QTGetTrackProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTGetTrackProperty( |
|
Track inTrack, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
QTPropertyValuePtr outPropValueAddress, |
|
ByteCount * outPropValueSizeUsed); |
|
|
|
|
|
/* |
|
* QTSetTrackProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTSetTrackProperty( |
|
Track inTrack, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
ConstQTPropertyValuePtr inPropValueAddress); |
|
|
|
|
|
/* |
|
* QTAddTrackPropertyListener() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTAddTrackPropertyListener( |
|
Track inTrack, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTTrackPropertyListenerUPP inListenerProc, |
|
void * inUserData); |
|
|
|
|
|
/* |
|
* QTRemoveTrackPropertyListener() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTRemoveTrackPropertyListener( |
|
Track inTrack, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTTrackPropertyListenerUPP inListenerProc, |
|
void * inUserData); |
|
|
|
|
|
|
|
/**************************************** |
|
* * |
|
* Q T S A M P L E T A B L E * |
|
* * |
|
****************************************/ |
|
|
|
typedef long QTSampleDescriptionID; |
|
/* |
|
* QTSampleTableCreateMutable() |
|
* |
|
* Summary: |
|
* Creates a new empty sample table. |
|
* |
|
* Discussion: |
|
* The newly created sample table will contain no sample references. |
|
* When sample references are added, their durations and display |
|
* offsets will be interpreted according to the sample table's |
|
* current timescale. |
|
* |
|
* Parameters: |
|
* |
|
* allocator: |
|
* The allocator to use for the new sample table. |
|
* |
|
* timescale: |
|
* The timescale to use for durations and display offsets. |
|
* |
|
* hints: |
|
* Reserved. Pass NULL. |
|
* |
|
* newSampleTable: |
|
* Points to a variable to receive the new sample table. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableCreateMutable( |
|
CFAllocatorRef allocator, |
|
TimeScale timescale, |
|
void * hints, |
|
QTMutableSampleTableRef * newSampleTable); |
|
|
|
|
|
/* |
|
* QTSampleTableRetain() |
|
* |
|
* Summary: |
|
* Increments the retain count of a sample table. |
|
* |
|
* Discussion: |
|
* The same sample table is returned for convenience. If sampleTable |
|
* is NULL, nothing happens. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( QTSampleTableRef ) |
|
QTSampleTableRetain(QTSampleTableRef sampleTable); |
|
|
|
|
|
/* |
|
* QTSampleTableRelease() |
|
* |
|
* Summary: |
|
* Decrements the retain count of a sample table. |
|
* |
|
* Discussion: |
|
* If the retain count decreases to zero, the sample table is |
|
* disposed. If sampleTable is NULL, nothing happens. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
QTSampleTableRelease(QTSampleTableRef sampleTable); |
|
|
|
|
|
/* |
|
* QTSampleTableCreateMutableCopy() |
|
* |
|
* Summary: |
|
* Copies a sample table. |
|
* |
|
* Discussion: |
|
* All the sample references and sample descriptions in the sample |
|
* table are copied. |
|
* |
|
* Parameters: |
|
* |
|
* allocator: |
|
* The allocator to use for the new sample table. |
|
* |
|
* sampleTable: |
|
* The sample table to copy. |
|
* |
|
* hints: |
|
* Reserved, set to NULL. |
|
* |
|
* newSampleTable: |
|
* Points to a variable to receive the new sample table. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableCreateMutableCopy( |
|
CFAllocatorRef allocator, |
|
QTSampleTableRef sampleTable, |
|
void * hints, |
|
QTMutableSampleTableRef * newSampleTable); |
|
|
|
|
|
/* |
|
* QTSampleTableGetTypeID() |
|
* |
|
* Summary: |
|
* Returns the CFTypeID for QTSampleTableRef. |
|
* |
|
* Discussion: |
|
* You could use this to test whether a CFTypeRef that extracted |
|
* from a CF container such as a CFArray was a QTSampleTableRef. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( CFTypeID ) |
|
QTSampleTableGetTypeID(void); |
|
|
|
|
|
/* |
|
* QTSampleTableSetTimeScale() |
|
* |
|
* Summary: |
|
* Changes the timescale of a sample table. |
|
* |
|
* Discussion: |
|
* The durations and display offsets of all the sample references in |
|
* the sample table are scaled from the old timescale to the new |
|
* timescale. No durations will be scaled to a value less than 1. |
|
* Display offsets will be adjusted to avoid display time collisions. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* newTimeScale: |
|
* The new timescale. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableSetTimeScale( |
|
QTMutableSampleTableRef sampleTable, |
|
TimeScale newTimeScale); |
|
|
|
|
|
/* |
|
* QTSampleTableGetTimeScale() |
|
* |
|
* Summary: |
|
* Returns the timescale of a sample table. |
|
* |
|
* Discussion: |
|
* Returns 0 if sampleTable is NULL. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeScale ) |
|
QTSampleTableGetTimeScale(QTSampleTableRef sampleTable); |
|
|
|
|
|
|
|
/* |
|
* Summary: |
|
* Attribute flags for QTSampleTableGetNextAttributeChange |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Set this flag to find first num such that samples num-1 and num |
|
* are not adjacent, ie, dataOffset of num-1 + dataSize of num-1 != |
|
* dataOffset of num |
|
*/ |
|
kQTSampleTableAttribute_DiscontiguousData = 1L << 0, |
|
|
|
/* |
|
* Set this flag to find the first sample with data size per sample |
|
* different from that of the starting sample. |
|
*/ |
|
kQTSampleTableAttribute_DataSizePerSampleChange = 1L << 1, |
|
|
|
/* |
|
* Set this flag to find the first sample with decode duration |
|
* different from that of the starting sample. |
|
*/ |
|
kQTSampleTableAttribute_DecodeDurationChange = 1L << 2, |
|
|
|
/* |
|
* Set this flag to find the first sample with display offset |
|
* different from that of the starting sample. |
|
*/ |
|
kQTSampleTableAttribute_DisplayOffsetChange = 1L << 3, |
|
|
|
/* |
|
* Set this flag to find the first sample with sample description ID |
|
* different from that of the starting sample. |
|
*/ |
|
kQTSampleTableAttribute_SampleDescriptionIDChange = 1L << 4, |
|
|
|
/* |
|
* Set this flag to find the first sample with any media sample flags |
|
* different from those of the starting sample. |
|
*/ |
|
kQTSampleTableAttribute_SampleFlagsChange = 1L << 5, |
|
|
|
/* |
|
* If no flags are set, find the first sample with any attribute |
|
* different from the starting sample. |
|
*/ |
|
kQTSampleTableAnyAttributeChange = 0 |
|
}; |
|
|
|
typedef UInt32 QTSampleTableAttribute; |
|
/* |
|
* QTSampleTableGetNextAttributeChange() |
|
* |
|
* Summary: |
|
* Finds the next sample number at which one or more of given sample |
|
* attributes change. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* startSampleNum: |
|
* A sample number. |
|
* |
|
* attributeMask: |
|
* A collection of flags that indicates which kinds of attribute |
|
* changes to search for. |
|
* |
|
* sampleNumOut: |
|
* Points to a variable to receive the next sample number after |
|
* startSampleNum at which any of the requested attributes |
|
* changes. If no attribute changes are found, this variable is |
|
* set to zero. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableGetNextAttributeChange( |
|
QTSampleTableRef sampleTable, |
|
SInt64 startSampleNum, |
|
QTSampleTableAttribute attributeMask, |
|
SInt64 * sampleNumOut); |
|
|
|
|
|
|
|
/* |
|
* QTSampleTableAddSampleDescription() |
|
* |
|
* Summary: |
|
* Adds a sample description to a sample table, returning a sample |
|
* description ID that can be used to refer to it. |
|
* |
|
* Discussion: |
|
* You can use the returned sample description ID when adding |
|
* samples to the sample table. |
|
* Note: Sample description IDs are local to each sample table. The |
|
* same sample description handle may have different IDs when |
|
* referenced in different sample tables. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleDescriptionH: |
|
* The sample description handle. The QTSampleTable will make its |
|
* own copy of this handle. |
|
* |
|
* mediaSampleDescriptionIndex: |
|
* Indicates the sample description index of this sample |
|
* description in a media. Pass zero for sample descriptions you |
|
* add to sample tables, to indicate that this was not retrieved |
|
* from a media. |
|
* |
|
* sampleDescriptionIDOut: |
|
* Points to a variable to receive a sample description ID. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableAddSampleDescription( |
|
QTMutableSampleTableRef sampleTable, |
|
SampleDescriptionHandle sampleDescriptionH, |
|
long mediaSampleDescriptionIndex, |
|
QTSampleDescriptionID * sampleDescriptionIDOut); |
|
|
|
|
|
/* |
|
* QTSampleTableCopySampleDescription() |
|
* |
|
* Summary: |
|
* Retrieves a sample description from a sample table. |
|
* |
|
* Discussion: |
|
* The caller is responsible for disposing the returned sampled |
|
* description handle with DisposeHandle. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleDescriptionID: |
|
* The sample description ID. |
|
* |
|
* mediaSampleDescriptionIndexOut: |
|
* Points to a variable to receive a media sample description |
|
* index. If the sample description came from a media, this is the |
|
* index that could be passed to GetMediaSampleDescription to |
|
* retrieve the same sample description handle. The index will be |
|
* zero if the sample description did not come directly from a |
|
* media. Pass NULL if you do not want to receive this information. |
|
* |
|
* sampleDescriptionHOut: |
|
* Points to a variable to receive a newly allocated sample |
|
* description handle. Pass NULL if you do not want one. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableCopySampleDescription( |
|
QTSampleTableRef sampleTable, |
|
QTSampleDescriptionID sampleDescriptionID, |
|
long * mediaSampleDescriptionIndexOut, |
|
SampleDescriptionHandle * sampleDescriptionHOut); |
|
|
|
|
|
/* |
|
* QTSampleTableAddSampleReferences() |
|
* |
|
* Summary: |
|
* Adds sample references to a sample table. |
|
* |
|
* Discussion: |
|
* Note that you must pass the data size per sample, not the total |
|
* size of all the samples as with some other APIs. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* dataOffset: |
|
* Specifies the offset at which the first sample begins. |
|
* |
|
* dataSizePerSample: |
|
* Specifies the number of bytes of data per sample. |
|
* |
|
* decodeDurationPerSample: |
|
* Specifies the decode duration of each sample. |
|
* |
|
* displayOffset: |
|
* Specifies the offset from decode time to display time of each |
|
* sample. If the decode times and display times will be the same, |
|
* pass 0. |
|
* |
|
* numberOfSamples: |
|
* Specifies the number of samples. Must be greater than zero. |
|
* |
|
* sampleFlags: |
|
* Specifies the media sample flags for all samples. |
|
* |
|
* sampleDescriptionID: |
|
* Specifies the ID of a sample description that has been added to |
|
* the sample table with QTSampleTableAddSampleDescription. |
|
* |
|
* newSampleNumOut: |
|
* Points to a variable to receive the sample number of the first |
|
* sample that was added. Pass NULL if you don't want this |
|
* information. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableAddSampleReferences( |
|
QTMutableSampleTableRef sampleTable, |
|
SInt64 dataOffset, |
|
ByteCount dataSizePerSample, |
|
TimeValue64 decodeDurationPerSample, |
|
TimeValue64 displayOffset, |
|
SInt64 numberOfSamples, |
|
MediaSampleFlags sampleFlags, |
|
QTSampleDescriptionID sampleDescriptionID, |
|
SInt64 * newSampleNumOut); |
|
|
|
|
|
/* |
|
* QTSampleTableGetNumberOfSamples() |
|
* |
|
* Summary: |
|
* Returns the number of samples in a sample table. |
|
* |
|
* Discussion: |
|
* Returns 0 if sampleTable is NULL. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( SInt64 ) |
|
QTSampleTableGetNumberOfSamples(QTSampleTableRef sampleTable); |
|
|
|
|
|
/* |
|
* QTSampleTableReplaceRange() |
|
* |
|
* Summary: |
|
* Replaces a range of samples in a sample table with a range of |
|
* samples from another sample table. Can also be used to delete a |
|
* range of samples, or to insert samples without removing any. |
|
* |
|
* Discussion: |
|
* This function removes destSampleCount samples from |
|
* destSampleTable starting with destStartingSampleNum, and then |
|
* inserts sourceSampleCount samples from sourceSampleTable starting |
|
* with sourceStartingSampleNum where the removed samples were. |
|
* Sample descriptions will be copied if necessary and new sample |
|
* description IDs defined. |
|
* |
|
* Parameters: |
|
* |
|
* destSampleTable: |
|
* The sample table to be modified. |
|
* |
|
* destStartingSampleNum: |
|
* The first sample number in destSampleTable to be replaced or |
|
* deleted, or the sample number at which samples should be |
|
* inserted. |
|
* |
|
* destSampleCount: |
|
* The number of samples to be removed from destSampleTable. Pass |
|
* 0 to insert without removing samples. |
|
* |
|
* sourceSampleTable: |
|
* The sample table from which samples should be copied, or NULL |
|
* to delete samples. |
|
* |
|
* sourceStartingSampleNum: |
|
* The first sample number to be copied. Ignored when deleting |
|
* samples. |
|
* |
|
* sourceSampleCount: |
|
* The number of samples which should be copied. Pass 0 to delete |
|
* samples. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableReplaceRange( |
|
QTMutableSampleTableRef destSampleTable, |
|
SInt64 destStartingSampleNum, |
|
SInt64 destSampleCount, |
|
QTSampleTableRef sourceSampleTable, |
|
SInt64 sourceStartingSampleNum, |
|
SInt64 sourceSampleCount); |
|
|
|
|
|
|
|
/* |
|
* QTSampleTableGetDataOffset() |
|
* |
|
* Summary: |
|
* Returns the data offset of a sample. |
|
* |
|
* Discussion: |
|
* Returns 0 if the sample table is NULL, or if the sample number is |
|
* out of range. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleNum: |
|
* The sample number. The first sample's number is 1. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( SInt64 ) |
|
QTSampleTableGetDataOffset( |
|
QTSampleTableRef sampleTable, |
|
SInt64 sampleNum); |
|
|
|
|
|
/* |
|
* QTSampleTableGetDataSizePerSample() |
|
* |
|
* Summary: |
|
* Returns the data size of a sample. |
|
* |
|
* Discussion: |
|
* Returns 0 if the sample table is NULL, or if the sample number is |
|
* out of range. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleNum: |
|
* The sample number. The first sample's number is 1. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( ByteCount ) |
|
QTSampleTableGetDataSizePerSample( |
|
QTSampleTableRef sampleTable, |
|
SInt64 sampleNum); |
|
|
|
|
|
/* |
|
* QTSampleTableGetDecodeDuration() |
|
* |
|
* Summary: |
|
* Returns the decode duration of a sample. |
|
* |
|
* Discussion: |
|
* Returns 0 if the sample table is NULL, or if the sample number is |
|
* out of range. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleNum: |
|
* The sample number. The first sample's number is 1. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
QTSampleTableGetDecodeDuration( |
|
QTSampleTableRef sampleTable, |
|
SInt64 sampleNum); |
|
|
|
|
|
/* |
|
* QTSampleTableGetDisplayOffset() |
|
* |
|
* Summary: |
|
* Returns the offset from decode time to display time of a sample. |
|
* |
|
* Discussion: |
|
* Returns 0 if the sample table is NULL, or if the sample number is |
|
* out of range. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleNum: |
|
* The sample number. The first sample's number is 1. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( TimeValue64 ) |
|
QTSampleTableGetDisplayOffset( |
|
QTSampleTableRef sampleTable, |
|
SInt64 sampleNum); |
|
|
|
|
|
/* |
|
* QTSampleTableGetSampleDescriptionID() |
|
* |
|
* Summary: |
|
* Returns the sample description ID of a sample. |
|
* |
|
* Discussion: |
|
* Returns 0 if the sample table is NULL, or if the sample number is |
|
* out of range. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleNum: |
|
* The sample number. The first sample's number is 1. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( QTSampleDescriptionID ) |
|
QTSampleTableGetSampleDescriptionID( |
|
QTSampleTableRef sampleTable, |
|
SInt64 sampleNum); |
|
|
|
|
|
/* |
|
* QTSampleTableGetSampleFlags() |
|
* |
|
* Summary: |
|
* Returns the media sample flags of a sample. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* sampleNum: |
|
* The sample number. The first sample's number is 1. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( MediaSampleFlags ) |
|
QTSampleTableGetSampleFlags( |
|
QTSampleTableRef sampleTable, |
|
SInt64 sampleNum); |
|
|
|
|
|
|
|
/* |
|
* Summary: |
|
* Properties of sample tables |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Property class for sample tables. |
|
*/ |
|
kQTPropertyClass_SampleTable = FOUR_CHAR_CODE('qtst'), |
|
|
|
/* |
|
* The total decode duration of all samples in the sample table. |
|
* Read-only. |
|
*/ |
|
kQTSampleTablePropertyID_TotalDecodeDuration = FOUR_CHAR_CODE('tded'), /* TimeValue64, Read */ |
|
|
|
/* |
|
* The least display offset in the table. (-50 is a lesser offset |
|
* than 20.) Read-only. |
|
*/ |
|
kQTSampleTablePropertyID_MinDisplayOffset = FOUR_CHAR_CODE('<ddd'), /* TimeValue64, Read */ |
|
|
|
/* |
|
* The greatest display offset in the table. (20 is a greater offset |
|
* than -50.) Read-only. |
|
*/ |
|
kQTSampleTablePropertyID_MaxDisplayOffset = FOUR_CHAR_CODE('>ddd'), /* TimeValue64, Read */ |
|
|
|
/* |
|
* The least display time of all samples in the table, relative to |
|
* the decode time of the first sample in the table. Read-only. |
|
*/ |
|
kQTSampleTablePropertyID_MinRelativeDisplayTime = FOUR_CHAR_CODE('<dis'), /* TimeValue64, Read */ |
|
|
|
/* |
|
* The greatest display time of all samples in the table, relative to |
|
* the decode time of the first sample in the table. Read-only. |
|
*/ |
|
kQTSampleTablePropertyID_MaxRelativeDisplayTime = FOUR_CHAR_CODE('>dis') /* TimeValue64, Read */ |
|
}; |
|
|
|
|
|
/* |
|
* QTSampleTableGetPropertyInfo() |
|
* |
|
* Summary: |
|
* Returns information about the properties of a sample table. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* inPropClass: |
|
* A property class. |
|
* |
|
* inPropID: |
|
* A property ID. |
|
* |
|
* outPropType: |
|
* A pointer to memory allocated to hold the property type on |
|
* return. Pass NULL if you do not want this information. |
|
* |
|
* outPropValueSize: |
|
* A pointer to memory allocated to hold the size of the property |
|
* value on return. Pass NULL if you do not want this information. |
|
* |
|
* outPropertyFlags: |
|
* A pointer to memory allocated to hold property flags on return. |
|
* Pass NULL if you do not want this information. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableGetPropertyInfo( |
|
QTSampleTableRef sampleTable, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTPropertyValueType * outPropType, /* can be NULL */ |
|
ByteCount * outPropValueSize, /* can be NULL */ |
|
UInt32 * outPropertyFlags); /* can be NULL */ |
|
|
|
|
|
/* |
|
* QTSampleTableGetProperty() |
|
* |
|
* Summary: |
|
* Returns the value of a specific sample table property. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* inPropClass: |
|
* A property class. |
|
* |
|
* inPropID: |
|
* A property ID. |
|
* |
|
* inPropValueSize: |
|
* The size of the buffer allocated to hold the property value. |
|
* |
|
* outPropValueAddress: |
|
* A pointer to the buffer allocated to hold the property value. |
|
* |
|
* outPropValueSizeUsed: |
|
* On return, the actual size of the value written to the buffer. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableGetProperty( |
|
QTSampleTableRef sampleTable, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
QTPropertyValuePtr outPropValueAddress, |
|
ByteCount * outPropValueSizeUsed); /* can be NULL */ |
|
|
|
|
|
/* |
|
* QTSampleTableSetProperty() |
|
* |
|
* Summary: |
|
* Sets the value of a specific sample table property. |
|
* |
|
* Parameters: |
|
* |
|
* sampleTable: |
|
* The sample table. |
|
* |
|
* inPropClass: |
|
* A property class. |
|
* |
|
* inPropID: |
|
* A property ID. |
|
* |
|
* inPropValueSize: |
|
* The size of the property value. |
|
* |
|
* inPropValueAddress: |
|
* A pointer to the property value. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTSampleTableSetProperty( |
|
QTSampleTableRef sampleTable, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
ConstQTPropertyValuePtr inPropValueAddress); |
|
|
|
|
|
|
|
|
|
|
|
/**************************************************************************** |
|
* * |
|
* M E T A D A T A * |
|
* * |
|
* QUICKTIME METADATA API OVERVIEW * |
|
* * |
|
* A QTMetaDataRef represents a metadata repository consisting of one or * |
|
* more native metadata containers. The QuickTime MetaData API supports * |
|
* unified access to and management of these containers. * |
|
* * |
|
* Each container may be addressed by its storage format * |
|
* (kQTMetaDataStorageFormat). Initially, there is support for classic * |
|
* QuickTime UserData, iTunes metadata, and a richer QuickTime metadata * |
|
* container format. A QTMetaDataRef may have one or all of these. No * |
|
* direct access to the native storage containers is provided. * |
|
* * |
|
* Each container consists of some number of metadata items. Metadata items * |
|
* correspond to individually labeled values with characteristics such as * |
|
* keys, data types, locale information, etc. What are called items here * |
|
* are sometimes referred to as attributes or properties in other metadata * |
|
* systems. Here, the focus is on the management of the pieces of metadata * |
|
* instead of the associations with objects. This parallels existing * |
|
* management of the classic QuickTime UserData construct. * |
|
* * |
|
* QTMetaDataRefs may be associated with the Movie, Track and Media levels. * |
|
* This parallels UserData placement today but provides access to other * |
|
* kinds of metadata storage at those levels. * |
|
* * |
|
* A metadata item is assigned a runtime identifier (QTMetaDataItem) that * |
|
* along with the QTMetaDataRef identifies the particular item (and value) * |
|
* across all native containers managed by the QTMetaDataRef. * |
|
* * |
|
* Each item is addressed by a key (or label). The key is not necessarily * |
|
* unique within its container as it is possible to have multiple items * |
|
* with the same key (e.g., multiple author items). Operations exist to * |
|
* enumerate all items or only items with a particular key. * |
|
* * |
|
* Because a QTMetaDataRef may provide access to different native metadata * |
|
* containers with differing key structures (a four-char-code for one, a * |
|
* string for another, etc.), the key structure is also specified. A * |
|
* QTMetaDataKeyFormat indicates the key structure in APIs accepting keys. * |
|
* This is also done because some container formats allow multiple key * |
|
* structures or multiple versions of key structures. * |
|
* * |
|
* To allow unified access across disparate containers, a wildcard storage * |
|
* format can be specified. This will direct operations like searches * |
|
* across container formats. A special key format called * |
|
* kQTMetaDataKeyFormatCommon indicates one of a set of common keys that * |
|
* can be handled by native containers (e.g., copyright). * |
|
* * |
|
* So, both of these modes of operation are possible: - access metadata * |
|
* regardless of native container format through the use a common key - * |
|
* access metadata natively using a native key format * |
|
* * |
|
****************************************************************************/ |
|
/* Opaque reference to a metadata object*/ |
|
typedef struct OpaqueQTMetaDataRef* QTMetaDataRef; |
|
/* Opaque identifier for metadata item*/ |
|
typedef UInt64 QTMetaDataItem; |
|
enum { |
|
kQTMetaDataItemUninitialized = 0 /* Uninitialized metadata item identifier*/ |
|
}; |
|
|
|
/* |
|
Metadata Storage Format. |
|
*/ |
|
typedef OSType QTMetaDataStorageFormat; |
|
enum { |
|
kQTMetaDataStorageFormatWildcard = 0 /* Wildcard storage format*/ |
|
}; |
|
|
|
/* |
|
Metadata Key Format. |
|
*/ |
|
typedef OSType QTMetaDataKeyFormat; |
|
enum { |
|
kQTMetaDataKeyFormatWildcard = 0 /* Match any key regardless of key format*/ |
|
}; |
|
|
|
/**************************************** |
|
* Common Key Format * |
|
***************************************/ |
|
enum { |
|
kQTMetaDataKeyFormatCommon = FOUR_CHAR_CODE('comn') |
|
}; |
|
|
|
/* Pre-defined meta keys*/ |
|
enum { |
|
kQTMetaDataCommonKeyAuthor = FOUR_CHAR_CODE('auth'), |
|
kQTMetaDataCommonKeyComment = FOUR_CHAR_CODE('cmmt'), |
|
kQTMetaDataCommonKeyCopyright = FOUR_CHAR_CODE('cprt'), |
|
kQTMetaDataCommonKeyDirector = FOUR_CHAR_CODE('dtor'), |
|
kQTMetaDataCommonKeyDisplayName = FOUR_CHAR_CODE('name'), |
|
kQTMetaDataCommonKeyInformation = FOUR_CHAR_CODE('info'), |
|
kQTMetaDataCommonKeyKeywords = FOUR_CHAR_CODE('keyw'), |
|
kQTMetaDataCommonKeyProducer = FOUR_CHAR_CODE('prod'), |
|
kQTMetaDataCommonKeyAlbum = FOUR_CHAR_CODE('albm'), |
|
kQTMetaDataCommonKeyArtist = FOUR_CHAR_CODE('arts'), |
|
kQTMetaDataCommonKeyArtwork = FOUR_CHAR_CODE('artw'), |
|
kQTMetaDataCommonKeyChapterName = FOUR_CHAR_CODE('chap'), |
|
kQTMetaDataCommonKeyComposer = FOUR_CHAR_CODE('comp'), |
|
kQTMetaDataCommonKeyDescription = FOUR_CHAR_CODE('desc'), |
|
kQTMetaDataCommonKeyGenre = FOUR_CHAR_CODE('genr'), |
|
kQTMetaDataCommonKeyOriginalFormat = FOUR_CHAR_CODE('orif'), |
|
kQTMetaDataCommonKeyOriginalSource = FOUR_CHAR_CODE('oris'), |
|
kQTMetaDataCommonKeyPerformers = FOUR_CHAR_CODE('perf'), |
|
kQTMetaDataCommonKeySoftware = FOUR_CHAR_CODE('soft'), |
|
kQTMetaDataCommonKeyWriter = FOUR_CHAR_CODE('wrtr') |
|
}; |
|
|
|
|
|
/**************************************** |
|
* QuickTime Native Metadata Format * |
|
***************************************/ |
|
/* QTMetaDataStorageFormat type*/ |
|
enum { |
|
kQTMetaDataStorageFormatQuickTime = FOUR_CHAR_CODE('mdta') /* QuickTime metadata storage format*/ |
|
}; |
|
|
|
/* QTMetaDataKeyFormat type*/ |
|
enum { |
|
kQTMetaDataKeyFormatQuickTime = FOUR_CHAR_CODE('mdta') /* Reverse DNS format*/ |
|
}; |
|
|
|
/**************************************** |
|
* iTunes Native Metadata Format * |
|
***************************************/ |
|
/* QTMetaDataStorageFormat type*/ |
|
enum { |
|
kQTMetaDataStorageFormatiTunes = FOUR_CHAR_CODE('itms') /* iTunes metadata storage format*/ |
|
}; |
|
|
|
/* QTMetaDataKeyFormat type*/ |
|
enum { |
|
kQTMetaDataKeyFormatiTunesShortForm = FOUR_CHAR_CODE('itsk'), /* FourCharCode*/ |
|
kQTMetaDataKeyFormatiTunesLongForm = FOUR_CHAR_CODE('itlk') /* Reverse DNS format*/ |
|
}; |
|
|
|
/* The list of keys for iTunes metadata is TBA.*/ |
|
|
|
/**************************************** |
|
* UserData Native Format * |
|
***************************************/ |
|
/* QTMetaDataStorageFormat type*/ |
|
enum { |
|
kQTMetaDataStorageFormatUserData = FOUR_CHAR_CODE('udta') /* UserData storage format*/ |
|
}; |
|
|
|
/* QTMetaDataKeyFormat type*/ |
|
enum { |
|
kQTMetaDataKeyFormatUserData = FOUR_CHAR_CODE('udta') /* FourCharCode*/ |
|
}; |
|
|
|
/* The list of keys are the User Data Identifiers (e.g. kUserDataTextAuthor, kUserDataTextCopyright, etc.)*/ |
|
|
|
/* |
|
Mapping from common keys to user data identifiers: |
|
|
|
kQTMetaDataCommonKeyAuthor -> kUserDataTextAuthor |
|
kQTMetaDataCommonKeyComment -> kUserDataTextComment |
|
kQTMetaDataCommonKeyCopyright -> kUserDataTextCopyright |
|
kQTMetaDataCommonKeyDirector -> kUserDataTextDirector |
|
kQTMetaDataCommonKeyDisplayName -> kUserDataTextFullName |
|
kQTMetaDataCommonKeyInformation -> kUserDataTextInformation |
|
kQTMetaDataCommonKeyKeywords -> kUserDataTextKeywords |
|
kQTMetaDataCommonKeyProducer -> kUserDataTextProducer |
|
kQTMetaDataCommonKeyAlbum -> kUserDataTextAlbum |
|
kQTMetaDataCommonKeyArtist -> kUserDataTextArtist |
|
kQTMetaDataCommonKeyChapterName -> kUserDataTextChapter |
|
kQTMetaDataCommonKeyComposer -> kUserDataTextComposer |
|
kQTMetaDataCommonKeyDescription -> kUserDataTextDescription |
|
kQTMetaDataCommonKeyGenre -> kUserDataTextGenre |
|
kQTMetaDataCommonKeyOriginalFormat -> kUserDataTextOriginalFormat |
|
kQTMetaDataCommonKeyOriginalSource -> kUserDataTextOriginalSource |
|
kQTMetaDataCommonKeyPerformers -> kUserDataTextPerformers |
|
kQTMetaDataCommonKeySoftware -> kUserDataTextSoftware |
|
kQTMetaDataCommonKeyWriter -> kUserDataTextWriter |
|
*/ |
|
/**************************************** |
|
* Metadata Property Class ID * |
|
***************************************/ |
|
enum { |
|
kPropertyClass_MetaData = FOUR_CHAR_CODE('meta') |
|
}; |
|
|
|
/* Metadata Property ID */ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTMetaDataPropertyID_StorageFormats: The list of storage formats |
|
* (QTMetaDataStorageFormat) associated with this QTMetaDataRef |
|
* object. Return - C-style array of OSTypes, Read |
|
*/ |
|
kQTMetaDataPropertyID_StorageFormats = FOUR_CHAR_CODE('fmts'), |
|
|
|
/* |
|
* kQTMetaDataPropertyID_OwnerType: The owner type associated with |
|
* this QTMetaDataRef object. Return - OSType (QT_MOVIE_TYPE, |
|
* QT_TRACK_TYPE, QT_MEDIA_TYPE), Read |
|
*/ |
|
kQTMetaDataPropertyID_OwnerType = FOUR_CHAR_CODE('ownt'), |
|
|
|
/* |
|
* kQTMetaDataPropertyID_Owner: The owner associated with this |
|
* QTMetaDataRef object. The QTMetaDataRef object does not |
|
* necessarily need to have an owner. Return - Movie, Track, or |
|
* Media, Read |
|
*/ |
|
kQTMetaDataPropertyID_Owner = FOUR_CHAR_CODE('ownr') |
|
}; |
|
|
|
/* |
|
Metadata Item Property Class ID |
|
*/ |
|
enum { |
|
kPropertyClass_MetaDataItem = FOUR_CHAR_CODE('mdit') |
|
}; |
|
|
|
/* Metadata Item Property ID */ |
|
|
|
/* |
|
*/ |
|
enum { |
|
|
|
/* |
|
* kQTMetaDataItemPropertyID_Value: The value of the metadata item. |
|
* Return - C-style array of UInt8, Read |
|
*/ |
|
kQTMetaDataItemPropertyID_Value = FOUR_CHAR_CODE('valu'), |
|
|
|
/* |
|
* kQTMetaDataItemPropertyID_DataType: The value type of the metadata |
|
* item. Return - UInt32, Read/Write |
|
*/ |
|
kQTMetaDataItemPropertyID_DataType = FOUR_CHAR_CODE('dtyp'), |
|
|
|
/* |
|
* kQTMetaDataItemPropertyID_StorageFormat: The storage format |
|
* (QTMetaDataStorageFormat). Return - QTMetaDataStorageFormat, Read |
|
*/ |
|
kQTMetaDataItemPropertyID_StorageFormat = FOUR_CHAR_CODE('sfmt'), |
|
|
|
/* |
|
* kQTMetaDataItemPropertyID_Key: The key associated with the |
|
* metadata item. Return - C-style array of UInt8, Read/Write |
|
*/ |
|
kQTMetaDataItemPropertyID_Key = FOUR_CHAR_CODE('key '), |
|
|
|
/* |
|
* kQTMetaDataItemPropertyID_KeyFormat: The format of the key used. |
|
* Return - OSType, Read/Write |
|
*/ |
|
kQTMetaDataItemPropertyID_KeyFormat = FOUR_CHAR_CODE('keyf'), |
|
|
|
/* |
|
* kQTMetaDataItemPropertyID_Locale: The locale identifier based on |
|
* the naming convention defined by the International Components for |
|
* Unicode (ICU). The identifier consists of two pieces of ordered |
|
* information: a language code and a region code. The language code |
|
* is based on the ISO 639-1 standard, which defines two-character |
|
* codes, such as "en" and "fr", for the world's most commonly used |
|
* languages. If a two-letter code is not available, then ISO 639-2 |
|
* three-letter identifiers are accepted as well, for example "haw" |
|
* for Hawaiian. The region code is defined by ISO 3166-1. The region |
|
* code is in all caps and appended, after an underscore, after the |
|
* language code, for example "en_US", "en_GB", and "fr_FR". Return - |
|
* C-string, Read/Write |
|
*/ |
|
kQTMetaDataItemPropertyID_Locale = FOUR_CHAR_CODE('loc ') |
|
}; |
|
|
|
/* Well-known data type code*/ |
|
enum { |
|
kQTMetaDataTypeBinary = 0, |
|
kQTMetaDataTypeUTF8 = 1, |
|
kQTMetaDataTypeUTF16BE = 2, |
|
kQTMetaDataTypeMacEncodedText = 3, |
|
kQTMetaDataTypeJPEGImage = 13, |
|
kQTMetaDataTypePNGImage = 14, |
|
kQTMetaDataTypeSignedIntegerBE = 21, /* The size of the integer is defined by the value size*/ |
|
kQTMetaDataTypeUnsignedIntegerBE = 22, /* The size of the integer is defined by the value size*/ |
|
kQTMetaDataTypeFloat32BE = 23, |
|
kQTMetaDataTypeFloat64BE = 24, |
|
kQTMetaDataTypeBMPImage = 27, |
|
kQTMetaDataTypeQuickTimeMetaData = 28 |
|
}; |
|
|
|
|
|
/**************************************** |
|
* QTMetaDataRef Access * |
|
***************************************/ |
|
/* |
|
* QTCopyMovieMetaData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTCopyMovieMetaData( |
|
Movie inMovie, |
|
QTMetaDataRef * outMetaData); |
|
|
|
|
|
/* |
|
* QTCopyTrackMetaData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTCopyTrackMetaData( |
|
Track inTrack, |
|
QTMetaDataRef * outMetaData); |
|
|
|
|
|
/* |
|
* QTCopyMediaMetaData() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTCopyMediaMetaData( |
|
Media inMedia, |
|
QTMetaDataRef * outMetaData); |
|
|
|
|
|
/* |
|
* QTMetaDataRetain() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( QTMetaDataRef ) |
|
QTMetaDataRetain(QTMetaDataRef inMetaData); |
|
|
|
|
|
/* |
|
* QTMetaDataRelease() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( void ) |
|
QTMetaDataRelease(QTMetaDataRef inMetaData); |
|
|
|
|
|
/* |
|
* QTMetaDataCreateFromBuffer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.2) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataCreateFromBuffer( |
|
const UInt8 * inBufferPtr, |
|
ByteCount inBufferSize, |
|
QTMetaDataRef * outMetaData); |
|
|
|
|
|
/* |
|
* QTMetaDataGetBytes() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.5 (or QuickTime 7.2) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetBytes( |
|
QTMetaDataRef inMetaData, |
|
ByteCount inBufferSize, |
|
UInt8 * inBufferPtr, |
|
ByteCount * outBufferSizeNeeded); |
|
|
|
|
|
|
|
/**************************************** |
|
* Metadata Item Routines * |
|
***************************************/ |
|
/* |
|
* QTMetaDataGetPropertyInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetPropertyInfo( |
|
QTMetaDataRef inMetaData, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTPropertyValueType * outPropType, |
|
ByteCount * outPropValueSize, |
|
UInt32 * outPropFlags); |
|
|
|
|
|
/* |
|
* QTMetaDataGetProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetProperty( |
|
QTMetaDataRef inMetaData, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
QTPropertyValuePtr outPropValueAddress, |
|
ByteCount * outPropValueSizeUsed); |
|
|
|
|
|
/* |
|
* QTMetaDataSetProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataSetProperty( |
|
QTMetaDataRef inMetaData, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
ConstQTPropertyValuePtr inPropValueAddress); |
|
|
|
|
|
/* |
|
* QTMetaDataGetItemValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetItemValue( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataItem inItem, |
|
UInt8 * outValuePtr, |
|
ByteCount inValueSize, |
|
ByteCount * outActualSize); |
|
|
|
|
|
/* |
|
* QTMetaDataGetNextItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetNextItem( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataStorageFormat inMetaDataFormat, |
|
QTMetaDataItem inCurrentItem, |
|
QTMetaDataKeyFormat inKeyFormat, |
|
const UInt8 * inKeyPtr, |
|
ByteCount inKeySize, |
|
QTMetaDataItem * outNextItem); |
|
|
|
|
|
/* |
|
* QTMetaDataGetItemPropertyInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetItemPropertyInfo( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataItem inItem, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
QTPropertyValueType * outPropType, |
|
ByteCount * outPropValueSize, |
|
UInt32 * outPropFlags); |
|
|
|
|
|
/* |
|
* QTMetaDataGetItemProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetItemProperty( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataItem inItem, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
QTPropertyValuePtr outPropValueAddress, |
|
ByteCount * outPropValueSizeUsed); |
|
|
|
|
|
/* |
|
* QTMetaDataSetItemProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataSetItemProperty( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataItem inItem, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
ByteCount inPropValueSize, |
|
ConstQTPropertyValuePtr inPropValueAddress); |
|
|
|
|
|
/* |
|
* QTMetaDataGetItemCountWithKey() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataGetItemCountWithKey( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataStorageFormat inMetaDataFormat, |
|
QTMetaDataKeyFormat inKeyFormat, |
|
const UInt8 * inKeyPtr, |
|
ByteCount inKeySize, |
|
ItemCount * outCount); |
|
|
|
|
|
/* |
|
* QTMetaDataAddItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataAddItem( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataStorageFormat inMetaDataFormat, |
|
QTMetaDataKeyFormat inKeyFormat, |
|
const UInt8 * inKeyPtr, |
|
ByteCount inKeySize, |
|
const UInt8 * inValuePtr, |
|
ByteCount inValueSize, |
|
UInt32 inDataType, |
|
QTMetaDataItem * outItem); |
|
|
|
|
|
/* |
|
* QTMetaDataSetItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataSetItem( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataItem inItem, |
|
UInt8 * inValuePtr, |
|
ByteCount inValueSize, |
|
UInt32 inDataType); |
|
|
|
|
|
/* |
|
* QTMetaDataRemoveItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataRemoveItem( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataItem inItem); |
|
|
|
|
|
/* |
|
* QTMetaDataRemoveItemsWithKey() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
* Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
QTMetaDataRemoveItemsWithKey( |
|
QTMetaDataRef inMetaData, |
|
QTMetaDataStorageFormat inMetaDataFormat, |
|
QTMetaDataKeyFormat inKeyFormat, |
|
const UInt8 * inKeyPtr, |
|
ByteCount inKeySize); |
|
|
|
|
|
|
|
/* |
|
* MusicMediaGetIndexedTunePlayer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 3.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
* Windows: in qtmlClient.lib 3.0 and later |
|
*/ |
|
EXTERN_API( ComponentResult ) |
|
MusicMediaGetIndexedTunePlayer( |
|
ComponentInstance ti, |
|
long sampleDescIndex, |
|
ComponentInstance * tp) FIVEWORDINLINE(0x2F3C, 0x0008, 0x0101, 0x7000, 0xA82A); |
|
|
|
|
|
|
|
|
|
|
|
typedef struct QTBandwidthUsageRecord** QTBandwidthReference; |
|
typedef struct QTScheduledBandwidthUsageRecord** QTScheduledBandwidthReference; |
|
enum { |
|
BandwidthManagementPrefsType = FOUR_CHAR_CODE('bwmg') |
|
}; |
|
|
|
|
|
struct BandwidthManagementPrefsRecord { |
|
Boolean overrideConnectionSpeedForBandwidth; |
|
}; |
|
typedef struct BandwidthManagementPrefsRecord BandwidthManagementPrefsRecord; |
|
typedef BandwidthManagementPrefsRecord * BandwidthManagementPrefsPtr; |
|
typedef BandwidthManagementPrefsPtr * BandwidthManagementPrefsHandle; |
|
enum { |
|
kQTBandwidthNotifyNeedToStop = 1L << 0, |
|
kQTBandwidthNotifyGoodToGo = 1L << 1, |
|
kQTBandwidthChangeRequest = 1L << 2, |
|
kQTBandwidthQueueRequest = 1L << 3, |
|
kQTBandwidthScheduledRequest = 1L << 4, |
|
kQTBandwidthVoluntaryRelease = 1L << 5 |
|
}; |
|
|
|
typedef CALLBACK_API( OSErr , QTBandwidthNotificationProcPtr )(long flags, void *reserved, void *refcon); |
|
struct QTScheduledBandwidthRecord { |
|
long recordSize; /* total number of bytes in QTScheduledBandwidthRecord*/ |
|
|
|
long priority; |
|
long dataRate; |
|
CompTimeValue startTime; /* bandwidth usage start time*/ |
|
CompTimeValue duration; /* duration of bandwidth usage (0 if unknown)*/ |
|
CompTimeValue prerollDuration; /* time for negotiation before startTime (0 if unknown)*/ |
|
TimeScale scale; /* timescale of value/duration/prerollDuration fields*/ |
|
TimeBase base; /* timebase*/ |
|
}; |
|
typedef struct QTScheduledBandwidthRecord QTScheduledBandwidthRecord; |
|
typedef QTScheduledBandwidthRecord * QTScheduledBandwidthPtr; |
|
typedef QTScheduledBandwidthPtr * QTScheduledBandwidthHandle; |
|
typedef STACK_UPP_TYPE(QTBandwidthNotificationProcPtr) QTBandwidthNotificationUPP; |
|
/* |
|
* QTBandwidthRequest() |
|
* |
|
* Deprecated: |
|
* No longer need to call bandwidth management functions. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later but deprecated in 10.4 |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTBandwidthRequest( |
|
long priority, |
|
QTBandwidthNotificationUPP callback, |
|
const void * refcon, |
|
QTBandwidthReference * bwRef, |
|
long flags); |
|
|
|
|
|
/* |
|
* QTBandwidthRequestForTimeBase() |
|
* |
|
* Deprecated: |
|
* No longer need to call bandwidth management functions. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later but deprecated in 10.4 |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTBandwidthRequestForTimeBase( |
|
TimeBase tb, |
|
long priority, |
|
QTBandwidthNotificationUPP callback, |
|
const void * refcon, |
|
QTBandwidthReference * bwRef, |
|
long flags); |
|
|
|
|
|
/* |
|
* QTBandwidthRelease() |
|
* |
|
* Deprecated: |
|
* No longer need to call bandwidth management functions. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.0 and later |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later but deprecated in 10.4 |
|
* Windows: in qtmlClient.lib 4.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTBandwidthRelease( |
|
QTBandwidthReference bwRef, |
|
long flags); |
|
|
|
|
|
/* |
|
* QTScheduledBandwidthRequest() |
|
* |
|
* Deprecated: |
|
* No longer need to call bandwidth management functions. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later but deprecated in 10.4 |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTScheduledBandwidthRequest( |
|
QTScheduledBandwidthPtr scheduleRec, |
|
QTBandwidthNotificationUPP notificationCallback, |
|
void * refcon, |
|
QTScheduledBandwidthReference * sbwRef, |
|
long flags); |
|
|
|
|
|
/* |
|
* QTScheduledBandwidthRelease() |
|
* |
|
* Deprecated: |
|
* No longer need to call bandwidth management functions. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in QuickTimeLib 4.1 and later |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later but deprecated in 10.4 |
|
* Windows: in qtmlClient.lib 4.1 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
QTScheduledBandwidthRelease( |
|
QTScheduledBandwidthReference sbwRef, |
|
long flags); |
|
|
|
|
|
/* |
|
* NewMCActionFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MCActionFilterUPP ) |
|
NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMCActionFilterProcInfo = 0x00000FD0 }; /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MCActionFilterUPP) NewMCActionFilterUPP(MCActionFilterProcPtr userRoutine) { return (MCActionFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMCActionFilterUPP(userRoutine) (MCActionFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewMCActionFilterWithRefConUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( MCActionFilterWithRefConUPP ) |
|
NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMCActionFilterWithRefConProcInfo = 0x00003ED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MCActionFilterWithRefConUPP) NewMCActionFilterWithRefConUPP(MCActionFilterWithRefConProcPtr userRoutine) { return (MCActionFilterWithRefConUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMCActionFilterWithRefConUPP(userRoutine) (MCActionFilterWithRefConUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionFilterWithRefConProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON |
|
/* |
|
* NewMCActionNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API_C( MCActionNotificationUPP ) |
|
NewMCActionNotificationUPP(MCActionNotificationProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppMCActionNotificationProcInfo = 0x0003FED0 }; /* pascal 1_byte Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(MCActionNotificationUPP) NewMCActionNotificationUPP(MCActionNotificationProcPtr userRoutine) { return (MCActionNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionNotificationProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewMCActionNotificationUPP(userRoutine) (MCActionNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMCActionNotificationProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/* |
|
* NewQTMoviePropertyListenerUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 9.9 and later |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API_C( QTMoviePropertyListenerUPP ) |
|
NewQTMoviePropertyListenerUPP(QTMoviePropertyListenerProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppQTMoviePropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(QTMoviePropertyListenerUPP) NewQTMoviePropertyListenerUPP(QTMoviePropertyListenerProcPtr userRoutine) { return (QTMoviePropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTMoviePropertyListenerProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewQTMoviePropertyListenerUPP(userRoutine) (QTMoviePropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTMoviePropertyListenerProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewQTTrackPropertyListenerUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 9.9 and later |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( QTTrackPropertyListenerUPP ) |
|
NewQTTrackPropertyListenerUPP(QTTrackPropertyListenerProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppQTTrackPropertyListenerProcInfo = 0x00003FC0 }; /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(QTTrackPropertyListenerUPP) NewQTTrackPropertyListenerUPP(QTTrackPropertyListenerProcPtr userRoutine) { return (QTTrackPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTTrackPropertyListenerProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewQTTrackPropertyListenerUPP(userRoutine) (QTTrackPropertyListenerUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTTrackPropertyListenerProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewQTBandwidthNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( QTBandwidthNotificationUPP ) |
|
NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppQTBandwidthNotificationProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(QTBandwidthNotificationUPP) NewQTBandwidthNotificationUPP(QTBandwidthNotificationProcPtr userRoutine) { return (QTBandwidthNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewQTBandwidthNotificationUPP(userRoutine) (QTBandwidthNotificationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppQTBandwidthNotificationProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMCActionFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMCActionFilterUPP(MCActionFilterUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMCActionFilterUPP(MCActionFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMCActionFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeMCActionFilterWithRefConUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMCActionFilterWithRefConUPP(MCActionFilterWithRefConUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMCActionFilterWithRefConUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON |
|
/* |
|
* DisposeMCActionNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeMCActionNotificationUPP(MCActionNotificationUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeMCActionNotificationUPP(MCActionNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeMCActionNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/* |
|
* DisposeQTMoviePropertyListenerUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 9.9 and later |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeQTMoviePropertyListenerUPP(QTMoviePropertyListenerUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeQTMoviePropertyListenerUPP(QTMoviePropertyListenerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeQTMoviePropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeQTTrackPropertyListenerUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 9.9 and later |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeQTTrackPropertyListenerUPP(QTTrackPropertyListenerUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeQTTrackPropertyListenerUPP(QTTrackPropertyListenerUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeQTTrackPropertyListenerUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeQTBandwidthNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeQTBandwidthNotificationUPP(QTBandwidthNotificationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeQTBandwidthNotificationUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMCActionFilterUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeMCActionFilterUPP( |
|
MovieController mc, |
|
short * action, |
|
void * params, |
|
MCActionFilterUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(Boolean) InvokeMCActionFilterUPP(MovieController mc, short * action, void * params, MCActionFilterUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppMCActionFilterProcInfo, mc, action, params); } |
|
#else |
|
#define InvokeMCActionFilterUPP(mc, action, params, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppMCActionFilterProcInfo, (mc), (action), (params)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeMCActionFilterWithRefConUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeMCActionFilterWithRefConUPP( |
|
MovieController mc, |
|
short action, |
|
void * params, |
|
long refCon, |
|
MCActionFilterWithRefConUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(Boolean) InvokeMCActionFilterWithRefConUPP(MovieController mc, short action, void * params, long refCon, MCActionFilterWithRefConUPP userUPP) { return (Boolean)CALL_FOUR_PARAMETER_UPP(userUPP, uppMCActionFilterWithRefConProcInfo, mc, action, params, refCon); } |
|
#else |
|
#define InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userUPP) (Boolean)CALL_FOUR_PARAMETER_UPP((userUPP), uppMCActionFilterWithRefConProcInfo, (mc), (action), (params), (refCon)) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON |
|
/* |
|
* InvokeMCActionNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: not available |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeMCActionNotificationUPP( |
|
MovieController mc, |
|
short action, |
|
void * params, |
|
UInt32 inFlags, |
|
UInt32 * outFlags, |
|
void * refCon, |
|
MCActionNotificationUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(Boolean) InvokeMCActionNotificationUPP(MovieController mc, short action, void * params, UInt32 inFlags, UInt32 * outFlags, void * refCon, MCActionNotificationUPP userUPP) { return (Boolean)CALL_SIX_PARAMETER_UPP(userUPP, uppMCActionNotificationProcInfo, mc, action, params, inFlags, outFlags, refCon); } |
|
#else |
|
#define InvokeMCActionNotificationUPP(mc, action, params, inFlags, outFlags, refCon, userUPP) (Boolean)CALL_SIX_PARAMETER_UPP((userUPP), uppMCActionNotificationProcInfo, (mc), (action), (params), (inFlags), (outFlags), (refCon)) |
|
#endif |
|
#endif |
|
|
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/* |
|
* InvokeQTMoviePropertyListenerUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 9.9 and later |
|
* Mac OS X: in version 10.3 (or QuickTime 6.4) and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeQTMoviePropertyListenerUPP( |
|
Movie inMovie, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
void * inUserData, |
|
QTMoviePropertyListenerUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeQTMoviePropertyListenerUPP(Movie inMovie, QTPropertyClass inPropClass, QTPropertyID inPropID, void * inUserData, QTMoviePropertyListenerUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQTMoviePropertyListenerProcInfo, inMovie, inPropClass, inPropID, inUserData); } |
|
#else |
|
#define InvokeQTMoviePropertyListenerUPP(inMovie, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTMoviePropertyListenerProcInfo, (inMovie), (inPropClass), (inPropID), (inUserData)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeQTTrackPropertyListenerUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 9.9 and later |
|
* Mac OS X: in version 10.4 (or QuickTime 7.0) and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeQTTrackPropertyListenerUPP( |
|
Track inTrack, |
|
QTPropertyClass inPropClass, |
|
QTPropertyID inPropID, |
|
void * inUserData, |
|
QTTrackPropertyListenerUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeQTTrackPropertyListenerUPP(Track inTrack, QTPropertyClass inPropClass, QTPropertyID inPropID, void * inUserData, QTTrackPropertyListenerUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppQTTrackPropertyListenerProcInfo, inTrack, inPropClass, inPropID, inUserData); } |
|
#else |
|
#define InvokeQTTrackPropertyListenerUPP(inTrack, inPropClass, inPropID, inUserData, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppQTTrackPropertyListenerProcInfo, (inTrack), (inPropClass), (inPropID), (inUserData)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeQTBandwidthNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0.2 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSErr ) |
|
InvokeQTBandwidthNotificationUPP( |
|
long flags, |
|
void * reserved, |
|
void * refcon, |
|
QTBandwidthNotificationUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(OSErr) InvokeQTBandwidthNotificationUPP(long flags, void * reserved, void * refcon, QTBandwidthNotificationUPP userUPP) { return (OSErr)CALL_THREE_PARAMETER_UPP(userUPP, uppQTBandwidthNotificationProcInfo, flags, reserved, refcon); } |
|
#else |
|
#define InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userUPP) (OSErr)CALL_THREE_PARAMETER_UPP((userUPP), uppQTBandwidthNotificationProcInfo, (flags), (reserved), (refcon)) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES |
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ |
|
#define NewMCActionFilterProc(userRoutine) NewMCActionFilterUPP(userRoutine) |
|
#define NewMCActionFilterWithRefConProc(userRoutine) NewMCActionFilterWithRefConUPP(userRoutine) |
|
#define NewMCActionNotificationProc(userRoutine) NewMCActionNotificationUPP(userRoutine) |
|
#define NewQTMoviePropertyListenerProc(userRoutine) NewQTMoviePropertyListenerUPP(userRoutine) |
|
#define NewQTTrackPropertyListenerProc(userRoutine) NewQTTrackPropertyListenerUPP(userRoutine) |
|
#define NewQTBandwidthNotificationProc(userRoutine) NewQTBandwidthNotificationUPP(userRoutine) |
|
#define CallMCActionFilterProc(userRoutine, mc, action, params) InvokeMCActionFilterUPP(mc, action, params, userRoutine) |
|
#define CallMCActionFilterWithRefConProc(userRoutine, mc, action, params, refCon) InvokeMCActionFilterWithRefConUPP(mc, action, params, refCon, userRoutine) |
|
#define CallMCActionNotificationProc(userRoutine, mc, action, params, inFlags, outFlags, refCon) InvokeMCActionNotificationUPP(mc, action, params, inFlags, outFlags, refCon, userRoutine) |
|
#define CallQTMoviePropertyListenerProc(userRoutine, inMovie, inPropClass, inPropID, inUserData) InvokeQTMoviePropertyListenerUPP(inMovie, inPropClass, inPropID, inUserData, userRoutine) |
|
#define CallQTTrackPropertyListenerProc(userRoutine, inTrack, inPropClass, inPropID, inUserData) InvokeQTTrackPropertyListenerUPP(inTrack, inPropClass, inPropID, inUserData, userRoutine) |
|
#define CallQTBandwidthNotificationProc(userRoutine, flags, reserved, refcon) InvokeQTBandwidthNotificationUPP(flags, reserved, refcon, userRoutine) |
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
|
|
|
|
/* UPP call backs */ |
|
|
|
/* selectors for component calls */ |
|
enum { |
|
kVideoMediaResetStatisticsSelect = 0x0105, |
|
kVideoMediaGetStatisticsSelect = 0x0106, |
|
kVideoMediaGetStallCountSelect = 0x010E, |
|
kVideoMediaSetCodecParameterSelect = 0x010F, |
|
kVideoMediaGetCodecParameterSelect = 0x0110, |
|
kTextMediaSetTextProcSelect = 0x0101, |
|
kTextMediaAddTextSampleSelect = 0x0102, |
|
kTextMediaAddTESampleSelect = 0x0103, |
|
kTextMediaAddHiliteSampleSelect = 0x0104, |
|
kTextMediaDrawRawSelect = 0x0109, |
|
kTextMediaSetTextPropertySelect = 0x010A, |
|
kTextMediaRawSetupSelect = 0x010B, |
|
kTextMediaRawIdleSelect = 0x010C, |
|
kTextMediaGetTextPropertySelect = 0x010D, |
|
kTextMediaFindNextTextSelect = 0x0105, |
|
kTextMediaHiliteTextSampleSelect = 0x0106, |
|
kTextMediaSetTextSampleDataSelect = 0x0107, |
|
kSpriteMediaSetPropertySelect = 0x0101, |
|
kSpriteMediaGetPropertySelect = 0x0102, |
|
kSpriteMediaHitTestSpritesSelect = 0x0103, |
|
kSpriteMediaCountSpritesSelect = 0x0104, |
|
kSpriteMediaCountImagesSelect = 0x0105, |
|
kSpriteMediaGetIndImageDescriptionSelect = 0x0106, |
|
kSpriteMediaGetDisplayedSampleNumberSelect = 0x0107, |
|
kSpriteMediaGetSpriteNameSelect = 0x0108, |
|
kSpriteMediaGetImageNameSelect = 0x0109, |
|
kSpriteMediaSetSpritePropertySelect = 0x010A, |
|
kSpriteMediaGetSpritePropertySelect = 0x010B, |
|
kSpriteMediaHitTestAllSpritesSelect = 0x010C, |
|
kSpriteMediaHitTestOneSpriteSelect = 0x010D, |
|
kSpriteMediaSpriteIndexToIDSelect = 0x010E, |
|
kSpriteMediaSpriteIDToIndexSelect = 0x010F, |
|
kSpriteMediaGetSpriteActionsForQTEventSelect = 0x0110, |
|
kSpriteMediaSetActionVariableSelect = 0x0111, |
|
kSpriteMediaGetActionVariableSelect = 0x0112, |
|
kSpriteMediaGetIndImagePropertySelect = 0x0113, |
|
kSpriteMediaNewSpriteSelect = 0x0114, |
|
kSpriteMediaDisposeSpriteSelect = 0x0115, |
|
kSpriteMediaSetActionVariableToStringSelect = 0x0116, |
|
kSpriteMediaGetActionVariableAsStringSelect = 0x0117, |
|
kSpriteMediaNewImageSelect = 0x011B, |
|
kSpriteMediaDisposeImageSelect = 0x011C, |
|
kSpriteMediaImageIndexToIDSelect = 0x011D, |
|
kSpriteMediaImageIDToIndexSelect = 0x011E, |
|
kFlashMediaSetPanSelect = 0x0101, |
|
kFlashMediaSetZoomSelect = 0x0102, |
|
kFlashMediaSetZoomRectSelect = 0x0103, |
|
kFlashMediaGetRefConBoundsSelect = 0x0104, |
|
kFlashMediaGetRefConIDSelect = 0x0105, |
|
kFlashMediaIDToRefConSelect = 0x0106, |
|
kFlashMediaGetDisplayedFrameNumberSelect = 0x0107, |
|
kFlashMediaFrameNumberToMovieTimeSelect = 0x0108, |
|
kFlashMediaFrameLabelToMovieTimeSelect = 0x0109, |
|
kFlashMediaGetFlashVariableSelect = 0x010A, |
|
kFlashMediaSetFlashVariableSelect = 0x010B, |
|
kFlashMediaDoButtonActionsSelect = 0x010C, |
|
kFlashMediaGetSupportedSwfVersionSelect = 0x010D, |
|
kMovieMediaGetChildDoMCActionCallbackSelect = 0x0102, |
|
kMovieMediaGetDoMCActionCallbackSelect = 0x0103, |
|
kMovieMediaGetCurrentMoviePropertySelect = 0x0104, |
|
kMovieMediaGetCurrentTrackPropertySelect = 0x0105, |
|
kMovieMediaGetChildMovieDataReferenceSelect = 0x0106, |
|
kMovieMediaSetChildMovieDataReferenceSelect = 0x0107, |
|
kMovieMediaLoadChildMovieFromDataReferenceSelect = 0x0108, |
|
kMedia3DGetNamedObjectListSelect = 0x0101, |
|
kMedia3DGetRendererListSelect = 0x0102, |
|
kMedia3DGetCurrentGroupSelect = 0x0103, |
|
kMedia3DTranslateNamedObjectToSelect = 0x0104, |
|
kMedia3DScaleNamedObjectToSelect = 0x0105, |
|
kMedia3DRotateNamedObjectToSelect = 0x0106, |
|
kMedia3DSetCameraDataSelect = 0x0107, |
|
kMedia3DGetCameraDataSelect = 0x0108, |
|
kMedia3DSetCameraAngleAspectSelect = 0x0109, |
|
kMedia3DGetCameraAngleAspectSelect = 0x010A, |
|
kMedia3DSetCameraRangeSelect = 0x010D, |
|
kMedia3DGetCameraRangeSelect = 0x010E, |
|
kMedia3DGetViewObjectSelect = 0x010F, |
|
kMCSetMovieSelect = 0x0002, |
|
kMCGetIndMovieSelect = 0x0005, |
|
kMCRemoveAllMoviesSelect = 0x0006, |
|
kMCRemoveAMovieSelect = 0x0003, |
|
kMCRemoveMovieSelect = 0x0006, |
|
kMCIsPlayerEventSelect = 0x0007, |
|
kMCSetActionFilterSelect = 0x0008, |
|
kMCDoActionSelect = 0x0009, |
|
kMCSetControllerAttachedSelect = 0x000A, |
|
kMCIsControllerAttachedSelect = 0x000B, |
|
kMCSetControllerPortSelect = 0x000C, |
|
kMCGetControllerPortSelect = 0x000D, |
|
kMCSetVisibleSelect = 0x000E, |
|
kMCGetVisibleSelect = 0x000F, |
|
kMCGetControllerBoundsRectSelect = 0x0010, |
|
kMCSetControllerBoundsRectSelect = 0x0011, |
|
kMCGetControllerBoundsRgnSelect = 0x0012, |
|
kMCGetWindowRgnSelect = 0x0013, |
|
kMCMovieChangedSelect = 0x0014, |
|
kMCSetDurationSelect = 0x0015, |
|
kMCGetCurrentTimeSelect = 0x0016, |
|
kMCNewAttachedControllerSelect = 0x0017, |
|
kMCDrawSelect = 0x0018, |
|
kMCActivateSelect = 0x0019, |
|
kMCIdleSelect = 0x001A, |
|
kMCKeySelect = 0x001B, |
|
kMCClickSelect = 0x001C, |
|
kMCEnableEditingSelect = 0x001D, |
|
kMCIsEditingEnabledSelect = 0x001E, |
|
kMCCopySelect = 0x001F, |
|
kMCCutSelect = 0x0020, |
|
kMCPasteSelect = 0x0021, |
|
kMCClearSelect = 0x0022, |
|
kMCUndoSelect = 0x0023, |
|
kMCPositionControllerSelect = 0x0024, |
|
kMCGetControllerInfoSelect = 0x0025, |
|
kMCSetClipSelect = 0x0028, |
|
kMCGetClipSelect = 0x0029, |
|
kMCDrawBadgeSelect = 0x002A, |
|
kMCSetUpEditMenuSelect = 0x002B, |
|
kMCGetMenuStringSelect = 0x002C, |
|
kMCSetActionFilterWithRefConSelect = 0x002D, |
|
kMCPtInControllerSelect = 0x002E, |
|
kMCInvalidateSelect = 0x002F, |
|
kMCAdjustCursorSelect = 0x0030, |
|
kMCGetInterfaceElementSelect = 0x0031, |
|
kMCGetDoActionsProcSelect = 0x0032, |
|
kMCAddMovieSegmentSelect = 0x0033, |
|
kMCTrimMovieSegmentSelect = 0x0034, |
|
kMCSetIdleManagerSelect = 0x0035, |
|
kMCSetControllerCapabilitiesSelect = 0x0036, |
|
kMusicMediaGetIndexedTunePlayerSelect = 0x0101 |
|
}; |
|
|
|
#endif // !__LP64__ |
|
|
|
|
|
|
|
#if PRAGMA_STRUCT_ALIGN |
|
#pragma options align=reset |
|
#elif PRAGMA_STRUCT_PACKPUSH |
|
#pragma pack(pop) |
|
#elif PRAGMA_STRUCT_PACK |
|
#pragma pack() |
|
#endif |
|
|
|
#ifdef PRAGMA_IMPORT_OFF |
|
#pragma import off |
|
#elif PRAGMA_IMPORT |
|
#pragma import reset |
|
#endif |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /* __MOVIES__ */ |
|
|
|
|