19470 lines
620 KiB
C
19470 lines
620 KiB
C
/*
|
|
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__ */
|
|
|