QTMovie Class Reference

Inherits from
Conforms to
Framework
/System/Library/Frameworks/QTKit.framework
Availability
Available in OS X v10.4 and later.
Declared in
QTMovie.h
Related sample code

Overview

A QTMovie object is an object that represents a playable collection of media data.

A QTMovie object can be initialized from a file, from a resource specified by a URL, from a block of memory, from a pasteboard, or from an existing QuickTime movie. Once a QTMovie object has been initialized, it will typically be used in combination with a QTMovieView for playback. It can also be used for other purposes, such as converting the media data into a different format.

The designated initializer for the QTMovie class is initWithAttributes:error:, whose first parameter is a dictionary of attribute keys and their desired values. One of these attributes must specify the location of the media data (for instance, using the QTMovieURLAttribute key). Other attributes may specify desired movie-opening behaviors, and others still may specify desired initial values of QTMovie properties (for instance, QTMovieVolumeAttribute).

There are two movie-opening behaviors. Specifying QTMovieOpenForPlaybackAttribute with the value YES indicates that the QTMovie object will be used only for playback, in which case QTKit may be able to use more efficient code paths for some media data. Specifying QTMovieOpenAsyncRequiredAttribute with the value YES indicates that all operations necessary to open the movie file (or other container) and to create a valid QTMovie object must occur asynchronously. In other words, initWithAttributes:error: will return almost immediately, performing any lengthy operations on another thread.

An exception, QTDisallowedForInitializationPurposeException, is raised whenever the client attempts to call a method that is not allowed under a requested movie-opening behavior. For example, if a QTMovie object is initialized with QTMovieOpenForPlaybackAttribute set to YES, then QTDisallowedForInitializationPurposeException is raised if the client attempts to call methods that export the media data. An exception, QTMovieUneditableException, is raised whenever the client attempts to directly or indirectly edit a QTMovie object that is not currently set as editable (for instance, by calling appendSelectionFromMovie: on an uneditable movie).

Tasks

Determining If a Movie Can Be Initialized

Getting a List of Supported File Types

Creating a Movie

Controlling Movie Playback

Managing Threaded Operations of Movie Objects

Initializing a QTMovie

Getting Information About a Movie and Its Chapters

Inspecting Movie Properties

Managing QTMovie Idling States

Setting QTMovie Properties

Setting Movie Attributes

Supporting Aperture Modes

Getting and Setting Selection Times

Getting Movie Tracks

Getting Movie Images

Storing Movie Data

Editing a Movie

Saving a Movie

Getting QTMovie Primitives

Getting and Setting QTMovie Delegates

Accessing QTMovie Visual Contexts

Class Methods

canInitWithDataReference:

Returns YES if the specified data reference can be used to initialize a QTMovie object.

+ (BOOL)canInitWithDataReference:(QTDataReference*)dataReference
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

canInitWithFile:

Returns YES if the contents of the specified file can be used to initialize a QTMovie object.

+ (BOOL)canInitWithFile:(NSString *)fileName
Parameters
fileName

An NSString object that specifies a full pathname to a file.

Return Value

YES if a QTMovie object can be initialized from the specified file, NO otherwise.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

canInitWithPasteboard:

Returns YES if the contents of the specified pasteboard can be used to initialize a QTMovie object.

+ (BOOL)canInitWithPasteboard:(NSPasteboard *)pasteboard
Parameters
pasteboard

An NSPasteboard object.

Return Value

YES if a QTMovie object can be initialized from the specified pasteboard, NO otherwise.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

canInitWithURL:

Returns YES if the contents of the specified URL can be used to initialize a QTMovie object.

+ (BOOL)canInitWithURL:(NSURL *)url
Parameters
url

An NSURL object.

Return Value

YES if a QTMovie object can be initialized from the specified URL, NO otherwise.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

enterQTKitOnThread

Performs any QuickTime-specific initialization for the current (non-main) thread; must be paired with a call to exitQTKitOnThread.

+ (void)enterQTKitOnThread
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

enterQTKitOnThreadDisablingThreadSafetyProtection

Performs any QuickTime-specific initialization for the current (non-main) thread, allowing non-thread-safe components; must be paired with a call to exitQTKitOnThread.

+ (void)enterQTKitOnThreadDisablingThreadSafetyProtection
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

exitQTKitOnThread

Performs any QuickTime-specific shut-down for the current (non-main) thread; must be paired with a call to enterQTKitOnThread or enterQTKitOnThreadDisablingThreadSafetyProtection.

+ (void)exitQTKitOnThread
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

movie

Creates an empty QTMovie object.

+ (id)movie
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movieFileTypes:

Returns an array of file types that can be opened as QuickTime movies.

+ (NSArray *)movieFileTypes:(QTMovieTypeOptions)types
Discussion

Passing zero as the options parameter returns an array of all the common file types that QuickTime can open in place on the current system. This array includes the file type .mov and .mqv, and any files types that can be opened using a movie importer that does not need to write data into a new file while performing the import. This array excludes any file types for still images and any file types that require an aggressive movie importer (for instance, the movie importer for text files). For more information, refer to “Constants For Use With movieFileTypes: Method.”

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

movieNamed:error:

Creates a QTMovie object initialized with the data from the QuickTime movie of the specified name in the application’s bundle.

+ (id)movieNamed:(NSString *)name error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

movieTypesWithOptions:

Returns an array of UTIs that QuickTime can open.

+ (NSArray *)movieTypesWithOptions:(QTMovieFileTypeOptions)types
Discussion

This method gets an array of NSString objects that specify the uniform type identifiers (UTIs) for types of files that QuickTime can open. The types parameter is interpreted just like the types parameter to + (NSArray *)movieFileTypes:(QTMovieFileTypeOptions)types.

Availability
  • QuickTime 7.2.1 or later.
Declared In
QTMovie.h

movieUnfilteredFileTypes

Returns an array of file types that can be used to initialize a QTMovie object.

+ (NSArray *)movieUnfilteredFileTypes
Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

movieUnfilteredPasteboardTypes

Returns an array of pasteboard types that can be used to initialize a QTMovie object.

+ (NSArray *)movieUnfilteredPasteboardTypes
Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

movieWithAttributes:error:

Creates a QTMovie object initialized with the attributes specified in attributes.

+ (id)movieWithAttributes:(NSDictionary *)attributes error:(NSError **)errorPtr
Parameters
attributes

An NSDictionary object whose key-value pairs specify the attributes to use when initializing the movie.

Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

A new QTMovie object is created using the specified attributes. There are three types of attributes that can be included in this dictionary:

  • Attributes that specify the location of the movie data, for instance, QTMovieFileNameAttribute.

  • Attributes that specify how the movie is to be instantiated, for instance, QTMovieOpenForPlaybackAttribute.

  • Attributes that specify playback characteristics of the movie or other properties of the QTMovie object, for instance, QTMovieVolumeAttribute.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

movieWithData:error:

Creates a QTMovie object initialized with the data specified by data.

+ (id)movieWithData:(NSData *)data error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movieWithDataReference:error:

Creates a QTMovie object initialized with the data specified by the data reference dataReference.

+ (id)movieWithDataReference:(QTDataReference *)dataReference error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movieWithFile:error:

Creates a QTMovie object initialized with the data in the file specified by the name fileName.

+ (id)movieWithFile:(NSString *)fileName error:(NSError **)errorPtr
Discussion

The fileName is assumed to be a full path name for a file.

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movieWithPasteboard:error:

Creates a QTMovie object initialized with the contents of the pasteboard specified by pasteboard.

+ (id)movieWithPasteboard:(NSPasteboard *)pasteboard error:(NSError **)errorPtr
Discussion

These contents can be a QuickTime movie (of type Movie), a file path, or data of type QTMoviePasteboardType.

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

movieWithQuickTimeMovie:disposeWhenDone:error:

Creates a QTMovie object initialized from an existing QuickTime movie movie.

+ (id)movieWithQuickTimeMovie:(Movie)movie disposeWhenDone:(BOOL)dispose error:(NSError **)errorPtr
Discussion

This method cannot be called by 64-bit applications.

The dispose parameter (a BOOL) indicates whether the QTKit should call DisposeMovie on the specified movie when the QTMovie object is deallocated. Passing YES effectively transfers “ownership” of the Movie to the QTKit. (Note that most applications will probably want to pass YES; passing NO means that the application wants to call DisposeMovie itself, perhaps so that it can operate on a Movie after it has been disassociated with a QTMovie object.)

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Note that command-line tools that pass NO for the disposeWhenDone parameter must make sure to release the active autorelease pool before calling DisposeMovie on the specified QuickTime movie. Failure to do this may result in a crash. Tools that need to call DisposeMovie before releasing the main autorelease pool can create another autorelease pool associated with the movie.

Availability
  • Available in OS X v10.3 and later.
  • Not available to 64-bit applications.
Declared In
QTMovie.h

movieWithURL:error:

Creates a QTMovie object initialized with the data in the URL specified by url.

+ (id)movieWithURL:(NSURL *)url error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

Instance Methods

addChapters:withAttributes:error:

Adds chapters to the receiver using the information specified in the chapters array. 

- (void)addChapters:(NSArray *)chapters withAttributes:(NSDictionary *)attributes error:(NSError **)errorPtr
Parameters
chapters

An NSArray that contains one dictionary per chapter. The dictionary entries are:

  • QTMovieChapterName, an NSString object that is the chapter name.

  • QTMovieChapterStartTime, an NSValue object that wraps a QTTime structure that indicates the start time of the chapter.

attributes

An NSDictionary that contains settings for the new chapter track and its text. The following keys are currently recognized:

  • QTMovieChapterTargetTrackAttribute, a QTTrack that is the target of the chapter track; if none is specified, use first video track in movie.

  • QTTrackDisplayNameAttribute, an NSString that is the name of the chapter track; if none is specified, use "Chapter Track".

  • QTTrackTimeScaleAttribute, an NSNumber that wraps a long; this is the time scale of the chapter track. If not present, the time scale of the target track is used.

  • QTTrackBoundsAttribute, an NSValue that wraps an NSRect that specifies the desired position and size of the chapter track. The default width and height are those of the receiver QTMovie object.

  • QTTrackEnabledAttribute, an NSNumber that wraps a BOOL; if YES, the chapter track is enabled, otherwise disabled (which is the default).

  • QTTrackLayerAttribute, an NSNumber that wraps a short; this is the layer of the chapter track (default is -1).

errorPtr

A pointer to an NSError instance; if non-NULL, return any error in that location.

Discussion

Each array element is an NSDictionary containing key-value pairs. Currently two keys are defined for this dictionary, QTMovieChapterName and QTMovieChapterStartTime. The value for the QTMovieChapterName key is an NSString object that is the chapter name. The value for the QTMovieChapterStartTime key is an NSValue object that wraps a QTTime structure that indicates the start time of the chapter. The receiving QTMovie object must be editable or an exception will be raised.

The attributes dictionary specifies additional attributes for the chapters. Currently only one key is recognized for this dictionary, QTMovieChapterTargetTrackAttribute, which specifies the QTTrack in the receiver that is the target of the chapters; if none is specified, this method uses first video track in movie. If no video track is in the movie, this method uses the first audio track in the movie. If no audio track is in the movie, this method uses the first track in the movie. If an error occurs and errorPtr is non-NULL, then an NSError object is returned in that location.

Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

addImage:forDuration:withAttributes:

Adds an image for the specified duration to the receiver, using attributes specified in the attributes dictionary.

- (void)addImage:(NSImage *)image forDuration:(QTTime)duration withAttributes:(NSDictionary *)attributes
Discussion

Keys in the dictionary can be QTAddImageCodecType to select a codec type and QTAddImageCodecQuality to select a quality. Qualities are expected to be specified as NSNumbers, using the codec values like codecNormalQuality. (See ImageCompression.h for the complete list.) The attributes dictionary can also contain a value for the QTTrackTimeScaleAttribute key, which is used as the time scale of the new track, should one need to be created. The default time scale for a new track is 600.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

appendSelectionFromMovie:

Appends to a QTMovie the current selection in movie.

- (void)appendSelectionFromMovie:(id)movie
Discussion

If the movie is not editable, this method raises an exception.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

attachToCurrentThread

Attaches the receiver to the current thread; returns YES if successful, NO otherwise.

- (BOOL)attachToCurrentThread
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

attributeForKey:

Returns the current value of the movie attribute attributeKey.

- (id)attributeForKey:(NSString *)attributeKey
Discussion

A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

autoplay

Sets a movie to start playing when a sufficient amount of media data is available.

- (void)autoplay
Discussion

The autoplay method configures a QTMovie object to begin playing as soon as enough data is available that the playback can continue uninterrupted to the end of the movie. This is most useful for movies being loaded from a remote URL or from an extremely slow local device. For movies stored on most local devices, this method has the same effect as the -[QTMovie play] method.

Availability
  • QuickTime 7.2.1 or later.
Declared In
QTMovie.h

canUpdateMovieFile

Indicates whether a movie file can be updated with changes made to the movie object.

- (BOOL)canUpdateMovieFile
Discussion

This method returns NO if any of the following conditions are true:

  • The movie is not associated with a file.

  • The movie is not savable (has 'nsav' user data set to 1).

  • The movie file is not writable.

  • The movie file does not contain a movie atom (indicating that the movie was imported from a non-movie format).

Otherwise, the method returns YES.

Using this method, an application can check first to see if the movie file can be updated; if not, it can prompt the user for a new name and location of a file in which to save the updated movie.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

chapterCount

Returns the number of chapters in the receiver, or 0 if there are no chapters.

- (NSInteger)chapterCount
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

chapterIndexForTime:

Returns the 0-based index of the chapter that contains the specified movie time.

- (NSInteger)chapterIndexForTime:(QTTime)time
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

chapters

Returns an NSArray containing information about the chapters in the receiver.

- (NSArray *)chapters
Discussion

Each array element is an NSDictionary containing key-value pairs. Currently two keys are defined for this dictionary, QTMovieChapterName and QTMovieChapterStartTime. The value for the QTMovieChapterName key is an NSString object that is the chapter name. The value for the QTMovieChapterStartTime key is an NSValue object that wraps a QTTime structure that indicates the start time of the chapter.

Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

currentFrameImage

Returns an NSImage for the frame at the current time in a QTMovie.

- (NSImage *)currentFrameImage
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

currentTime

Returns the current time of a QTMovie object as a structure of type QTTime.

- (QTTime)currentTime
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

delegate

Returns the delegate of a QTMovie object.

- (id)delegate
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

deleteSegment:

Deletes from a QTMovie the segment delimited by segment.

- (void)deleteSegment:(QTTimeRange)segment
Discussion

If the movie is not editable, this method raises an exception.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

detachFromCurrentThread

Detaches the receiver from the current thread; returns YES if successful, NO otherwise.

- (BOOL)detachFromCurrentThread
Discussion

These methods allow applications to manage QTMovie objects on non-main threads. Before any QTKit operations can be performed on a secondary thread, either enterQTKitOnThread or enterQTKitOnThreadDisablingThreadSafetyProtection must be called, and exitQTKitOnThread must be called before exiting the thread. A QTMovie object can be migrated from one thread to another by first calling detachFromCurrentThread on the first thread and then attachToCurrentThread on the second thread.

Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

duration

Returns the duration of a QTMovie object as a structure of type QTTime.

- (QTTime)duration
Discussion

This method can be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

frameImageAtTime:

Returns an NSImage for the frame at the time time in a QTMovie.

- (NSImage *)frameImageAtTime:(QTTime)time
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

frameImageAtTime:withAttributes:error:

Returns an NSImage*, CIImage*, CGImageRef, CVPixelBufferRef, or CVOpenGLTextureRef for the movie image at the specified time

- (void *)frameImageAtTime:(QTTime)time withAttributes:(NSDictionary *)attributes error:(NSError **)errorPtr
Discussion

if an error occurs and the desired type of image cannot be created, then this returns nil and sets errorPtr to an NSError * describing the error. The dictionary of attributes that contain these keys is described in “Dictionary of Frame Image Attributes .”

Availability
  • Available in OS X v10.5 and later.
Declared In
QTMovie.h

generateApertureModeDimensions

Adds information to a QTMovie needed to support aperture modes for tracks created with applications and/or versions of QuickTime that did not support aperture mode dimensions.

- (void)generateApertureModeDimensions
Discussion

If the image descriptions in video tracks lack tags describing clean aperture and pixel aspect ratio information, the media data is scanned to see if the correct values can be divined and attached. Then the aperture mode dimensions are calculated and set. Afterwards, the QTTrackHasApertureModeDimensionsAttribute property will be set to YES for those tracks. Tracks that do not support aperture modes are not changed.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

gotoBeginning

Repositions the play position to the beginning of the movie.

- (void)gotoBeginning
Discussion

If the movie is playing, the movie continues playing from the new position.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

gotoEnd

Repositions the play position to the end of the movie.

- (void)gotoEnd
Discussion

If the movie is playing in one of the looping modes, the movie continues playing accordingly; otherwise, play stops.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

gotoNextSelectionPoint

Repositions the movie to the next selection point.

- (void)gotoNextSelectionPoint
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

gotoPosterTime

Repositions the play position to the movie’s poster time.

- (void)gotoPosterTime
Discussion

If no poster time is defined, the movie jumps to the beginning. If the movie is playing, the movie continues playing from the new position.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

gotoPreviousSelectionPoint

Repositions the movie to the previous selection point.

- (void)gotoPreviousSelectionPoint
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

hasChapters

Returns YES if the receiver has chapters, NO otherwise.

- (BOOL)hasChapters
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

initToWritableData:error:

Useful for directly passing filenames and data objects. The QTMovie returned by this method is editable.

- (id)initToWritableData:(NSMutableData *)data error:(NSError **)errorPtr
Discussion

These methods––initToWritableDataReference:error:, initToWritableFile:error: and initToWritableData:error:––create an empty, writable storage container to which media data can be added (for example, using the QTMovie addImage method). The methods return QTMovie objects associated with those containers.

Special Considerations

This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • QuickTime 7.2.1 or later.
Declared In
QTMovie.h

initToWritableDataReference:error:

Creates a new storage container at the location specified by dataReference and returns a QTMovie object that has that container as its default data reference.

- (id)initToWritableDataReference:(QTDataReference *)dataReference error:(NSError **)errorPtr
Special Considerations

This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • QuickTime 7.2.1 or later.
Declared In
QTMovie.h

initToWritableFile:error:

Useful for directly passing filenames and data objects. The QTMovie returned by this method is editable.

- (id)initToWritableFile:(NSString *)filename error:(NSError **)errorPtr
Special Considerations

This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • QuickTime 7.2.1 or later.
Declared In
QTMovie.h

initWithAttributes:error:

Initializes a QTMovie object with the attributes specified in attributes.

- (id)initWithAttributes:(NSDictionary *)attributes error:(NSError **)errorPtr
Parameters
attributes

An NSDictionary object whose key-value pairs specify the attributes to use when initializing the movie.

Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

A new QTMovie object is created using the specified attributes. There are three types of attributes that can be included in this dictionary:

  • Attributes that specify the location of the movie data, for instance, QTMovieFileNameAttribute.

  • Attributes that specify how the movie is to be instantiated, for instance, QTMovieOpenForPlaybackAttribute.

  • Attributes that specify playback characteristics of the movie or other properties of the QTMovie object, for instance, QTMovieVolumeAttribute.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

initWithData:error:

Initializes a QTMovie object with the data specified by data.

- (id)initWithData:(NSData *)data error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

initWithDataReference:error:

Initializes a QTMovie object with the data reference setting specified by dataReference.

- (id)initWithDataReference:(QTDataReference *)dataReference error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

initWithFile:error:

Initializes a QTMovie object with the data in the file specified by the name fileName.

- (id)initWithFile:(NSString *)fileName error:(NSError **)errorPtr
Discussion

The fileName is assumed to be a full path name for a file. If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Note that alias files should not be passed into this method; the client application is responsible for resolving aliases before handing them to QTKit methods.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

initWithMovie:timeRange:error:

Initializes a QTMovie object with some or all of the data from an existing QTMovie object movie.

- (id)initWithMovie:(QTMovie *)movie timeRange:(QTTimeRange)range error:(NSError **)errorPtr
Discussion

The section of data used is delimited by the range range. If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

initWithPasteboard:error:

Initializes a QTMovie object with the contents of the pasteboard specified by pasteboard.

- (id)initWithPasteboard:(NSPasteboard *)pasteboard error:(NSError **)errorPtr
Discussion

These contents can be a QuickTime movie (of type Movie), a file path, or data of type QTMoviePasteBoardType. If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

initWithQuickTimeMovie:disposeWhenDone:error:

Initializes a QTMovie object with the data from an existing QuickTime movie movie.

- (id)initWithQuickTimeMovie:(Movie)movie disposeWhenDone:(BOOL)dispose error:(NSError **)errorPtr
Parameters
movie

A QuickTime movie (of type Movie).

dispose

A BOOL value that indicates whether QTKit should call DisposeMovie on the specified QuickTime movie when the QTMovie object is deallocated. Passing YES effectively transfers ownership of the Movie to QTKit.

Discussion

This method cannot be called by 64-bit applications.

This is the designated initializer for the QTMovie class. The dispose parameter (a BOOL) indicates whether the QTKit should call DisposeMovie on the specified movie when the QTMovie object is deallocated. Passing YES effectively transfers “ownership” of the Movie to the QTKit. (Note that most applications will probably want to pass YES; passing NO means that the application wants to call DisposeMovie itself, perhaps so that it can operate on a Movie after it has been disassociated from a QTMovie object.) Command-line tools that pass NO for the dispose parameter must make sure to release the active autorelease pool before calling DisposeMovie on the specified QuickTime movie. Failure to do this may result in a crash. Tools that need to call DisposeMovie before releasing the main autorelease pool can create another autorelease pool associated with the movie.

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
  • Not available to 64-bit applications.
Declared In
QTMovie.h

initWithURL:error:

Initializes a QTMovie object with the data in the URL specified by url.

- (id)initWithURL:(NSURL *)url error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

insertEmptySegmentAt:

inserts into a QTMovie an empty segment delimited by the range range.

- (void)insertEmptySegmentAt:(QTTimeRange)range
Discussion

If the movie is not editable, this method raises an exception.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

insertSegmentOfMovie:fromRange:scaledToRange:

Inserts the specified segment from the movie into the receiver, scaled to the range dstRange.

- (void)insertSegmentOfMovie:(QTMovie *)movie fromRange:(QTTimeRange)srcRange scaledToRange:(QTTimeRange)dstRange
Discussion

This is essentially an Add Scaled operation on a movie. If the movie is not editable, this method raises an exception.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

insertSegmentOfMovie:timeRange:atTime:

Inserts into a QTMovie at time time the selection in movie delimited by the time range range.

- (void)insertSegmentOfMovie:(QTMovie *)movie timeRange:(QTTimeRange)range atTime:(QTTime)time
Discussion

If the movie is not editable, this method raises an exception.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

insertSegmentOfTrack:fromRange:scaledToRange:

Inserts the specified segment of a QTTrack object into a QTMovie, scaling it as necessary to fit into the specified target range.

- (QTTrack *)insertSegmentOfTrack:(QTTrack *)track fromRange:(QTTimeRange)srcRange scaledToRange:(QTTimeRange)dstRange
Availability
  • Available in OS X v10.5 and later.
Declared In
QTMovie.h

insertSegmentOfTrack:timeRange:atTime:

Inserts the specified segment of a QTTrack object into a QTMovie, at the specified time in the target QTMovie.

- (QTTrack *)insertSegmentOfTrack:(QTTrack *)track timeRange:(QTTimeRange)range atTime:(QTTime)time
Availability
  • Available in OS X v10.5 and later.
Declared In
QTMovie.h

invalidate

Invalidates a QTMovie object immediately.

- (void)invalidate
Discussion

By the time this method has returned, the receiver will have detached itself from any resources it is using, disposing of these resources when appropriate. Attempting to make any non-trivial use of the receiver after invalidating it will result in undefined behavior. This method does not release the receiver, so under retain-release memory management, release must still be called on the receiver for it to be fully deallocated. Because this method defeats sharing of QTMovie objects, it should only be called when it is known that the object is no longer needed.

Clients that pass NO for the dispose parameter must invalidate the QTMovie object (by calling -[QTMovie invalidate]) before calling DisposeMovie on the specified QuickTime movie. Failure to do this may result in a crash.

Special Considerations

This method can be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • QuickTime 7.2.1 or later.
Declared In
QTMovie.h

isIdling

Returns the current idling state of a QTMovie object.

- (BOOL)isIdling
Return Value

YES if the movie is idling, NO otherwise.

Discussion

This method allows you to manage the idling state of a QTMovie object, that is, whether it is being tasked. Note that movies attached to a background thread should not be idled; if they are idled, unexpected behavior can result. This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.5 and later.
Declared In
QTMovie.h

movieAttributes

Returns a dictionary containing the current values of all defined movie attributes.

- (NSDictionary *)movieAttributes
Discussion

A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movieFormatRepresentation

Returns the movie’s data in an NSData object.

- (NSData *)movieFormatRepresentation
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movieShouldLoadData:

If implemented by a delegate of a QTMovie object, called periodically while the movie is loading its data.

- (BOOL)movieShouldLoadData:(id)sender
Parameters
sender

The QTMovie object that is loading its data.

Return Value

A BOOL value; this value is ignored by QTKit.

Special Considerations

This delegate method is deprecated and should not be used in new code. This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

movieWithTimeRange:error:

Returns a QTMovie object whose data is the data in the specified time range.

- (id)movieWithTimeRange:(QTTimeRange)range error:(NSError **)errorPtr
Discussion

If a QTMovie object cannot be created, an NSError object is returned in the location pointed to by errorPtr. Pass NIL if you do not want an NSError object returned.

Special Considerations

This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

muted

Returns the movie’s mute setting.

- (BOOL)muted
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

play

Plays the movie.

- (void)play
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

posterImage

Returns an NSImage for the poster frame of a QTMovie.

- (NSImage *)posterImage
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

quickTimeMovie

Returns the QuickTime movie associated with a QTMovie object.

- (Movie)quickTimeMovie
Availability
  • Available in OS X v10.3 and later.
  • Not available to 64-bit applications.
Declared In
QTMovie.h

quickTimeMovieController

Returns the QuickTime movie controller associated with a QTMovie object.

- (MovieController)quickTimeMovieController
Availability
  • Available in OS X v10.3 and later.
  • Not available to 64-bit applications.
Declared In
QTMovie.h

rate

Returns the current rate of a QTMovie object.

- (float)rate
Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

removeApertureModeDimensions

Removes aperture mode dimension information from a movie's tracks.

- (void)removeApertureModeDimensions
Discussion

This method does not attempt to modify sample descriptions, so it may not completely reverse the effects of generateApertureModeDimensions. It sets the QTMovieHasApertureModeDimensionsAttribute property to NO.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

removeChapters

 Removes any existing chapters from the receiver.

- (BOOL)removeChapters
Discussion

Returns YES if either the receiver had no chapters or the chapters were successfully removed from the receiver. Returns NO if the chapters could not for some reason be removed from the receiver. The receiving QTMovie object must be editable or an exception will be raised.

Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

removeTrack:

Removes a QTTrack from a movie.

- (void)removeTrack:(QTTrack *)track
Availability
  • Available in OS X v10.5 and later.
Declared In
QTMovie.h

replaceSelectionWithSelectionFromMovie:

Replaces the current selection in a QTMovie with the current selection in movie.

- (void)replaceSelectionWithSelectionFromMovie:(id)movie
Discussion

If the movie is not editable, this method raises an exception.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

scaleSegment:newDuration:

Scales the QTMovie segment delimited by the segment segment so that it will have the new duration newDuration.

- (void)scaleSegment:(QTTimeRange)segment newDuration:(QTTime)newDuration
Discussion

If the movie is not editable, this method raises an exception.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

selectionDuration

Returns the duration of the movie’s current selection as a QTTime structure.

- (QTTime)selectionDuration
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

selectionEnd

Returns the end point of the movie’s current selection as a QTTime structure.

- (QTTime)selectionEnd
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

selectionStart

Returns the start time of the movie’s current selection as a QTTime structure.

- (QTTime)selectionStart
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

setAttribute:forKey:

Set the movie attribute attributeKey to the value specified by the value parameter.

- (void)setAttribute:(id)value forKey:(NS String *)attributeKey
Discussion

A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

setCurrentTime:

Sets the movie’s current time setting to time.

- (void)setCurrentTime:(QTTime)time
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

setDelegate:

Sets the movie’s delegate to delegate.

- (void)setDelegate:(id)delegate
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

setIdling:

Sets the movie to idle YES or not to idle NO.

- (void)setIdling:(BOOL)state
Parameters
state

A Boolean value that indicates whether to idle the movie (YES) or not (NO).

Discussion

This method allows you to manage the idling state of a QTMovie object, that is, whether it is being tasked. Note that movies attached to a background thread should not be idled; if they are idled, unexpected behavior can result. This method cannot be called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.5 and later.
Declared In
QTMovie.h

setMovieAttributes:

Set the movie attributes using the key-value pairs specified in the dictionary attributes.

- (void)setMovieAttributes:(NSDictionary *)attributes
Discussion

A list of supported movie attributes and their acceptable values can be found in the “Settable and Gettable Movie Attributes” section.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

setMuted:

Sets the movie’s mute setting to mute.

- (void)setMuted:(BOOL)mute
Discussion

Note that this does not affect the volume.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

setRate:

Sets the movie’s rate to rate.

- (void)setRate:(float)rate
Discussion

For instance, 0.0 is stop, 1.0 is playback at normal speed, 2.0 is twice normal speed, and so on.

Availability
  • Available in OS X v10.3 and later.
Related Sample Code
Declared In
QTMovie.h

setSelection:

Sets the movie’s selection to selection.

- (void)setSelection:(QTTimeRange)selection
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

setVisualContext:

Sets the visual context of the QTMovie.

- (void)setVisualContext:(QTVisualContextRef)visualContext
Availability
  • Available in OS X v10.5 and later.
  • Not available to 64-bit applications.
Declared In
QTMovie.h

setVolume:

Sets the movie’s volume to volume.

- (void)setVolume:(float)volume
Discussion

Note that this does not affect the movie’s stored settings.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

startTimeOfChapter:

Returns a QTTime structure that is the start time of the chapter having the specified 0-based index in the list of chapters.

- (QTTime)startTimeOfChapter:(NSInteger)chapterIndex
Availability
  • OS X v10.5 and later.
Declared In
QTMovie.h

stepBackward

Sets the movie backward a single frame.

- (void)stepBackward
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

stepForward

Sets the movie forward a single frame.

- (void)stepForward
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

stop

Stops the movie playing.

- (void)stop
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

tracks

Returns an array of QTTrack objects associated with the receiver.

- (NSArray *)tracks
Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

tracksOfMediaType:

Returns an array of tracks with the specified media type.

- (NSArray *)tracksOfMediaType:(NSString *)type
Discussion

The type parameter should be one of the media types defined by constants in QTMedia.h beginning with "QTMediaType", for instance, QTMediaTypeVideo.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

updateMovieFile

Updates the movie file of a QTMovie.

- (BOOL)updateMovieFile
Discussion

Returns YES if the update succeeds and NO otherwise.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

visualContext

Allows access to the visual context of the QTMovie.

- (QTVisualContextRef)visualContext
Availability
  • Available in OS X v10.5 and later.
  • Not available to 64-bit applications.
Declared In
QTMovie.h

volume

Returns the movie’s volume as a scalar value of type float.

- (float)volume
Discussion

The valid range is 0.0 to 1.0.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

writeToFile:withAttributes:

Returns YES if the movie file was successfully created and NO otherwise.

- (BOOL)writeToFile:(NSString *)fileName withAttributes :(NSDictionary *)attributes
Discussion

This method returns YES if the movie file was successfully created and NO otherwise. NO will also be returned if the load state of the target is less than QTMovieLoadStateComplete, in which case no attempt is made to write the QTMovie into a file. If the dictionary attributes contains an object whose key is QTMovieFlatten, then the movie is flattened into the specified file. If the dictionary attributes contains an object whose key is QTMovieExport, then the movie is exported into the specified file using a movie exporter whose type is specified by the value of the key QTMovieExportType. The value associated with the QTMovieExportSettings key should be an object of type NSData that contains an atom container of movie export settings.

Availability
  • QuickTime 7.2.1 or later.
Declared In
QTMovie.h

writeToFile:withAttributes:error:

Returns an NSError object if an error occurs and if errorPtr is non-NULL.

- (BOOL)writeToFile:(NSString *)fileName withAttributes:(NSDictionary *)attributes error:(NSError **)errorPtr
Discussion

The method operates exactly like the existing QTMovie writeToFile:withAttributes method.

Availability
  • Available in OS X v10.5 and later.
Declared In
QTMovie.h

Delegate Methods

externalMovie:

This method is called, if implemented by a QTMovie delegate object, when an external movie needs to be found (usually for a wired action targeted at an external movie).

- (QTMovie *)externalMovie:(NSDictionary *)dictionary
Parameters
dictionary

An NSDictionary object that contains information about the desired external movie.

Return Value

A QTMovie object.

Discussion

The keys for the dictionary in this delegate method are: QTMovieTargetIDNotificationParameter and QTMovieTargetNameNotificationParameter. The QTMovieTargetIDNotificationParameter key indicates that the delegate should return a QTMovie object that has the specified movie ID. The QTMovieTargetNameNotificationParameter key indicates that the delegate should return a QTMovie object that has the specified movie name.

This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movie:linkToURL:

If implemented by a delegate of a QTMovie object, called to handle the movie controller actionmcActionLinkToURL.

- (BOOL)movie:(QTMovie *)movie linkToURL:(NSURL *)url
Parameters
movie

A QTMovie object.

url

An NSURL object.

Return Value

A BOOL value; a delegate should return YES if it handled this method, NO otherwise.

Discussion

QTMovie objects can contain requests to open URLs. An application can implement this delegate method to override the default URL-opening mechanism in QTKit. In general, most applications will not need to install a delegate to handle this. This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movie:shouldContinueOperation:withPhase:atPercent:withAttributes:

If implemented, this method is called periodically during lengthy operations (such as exporting a movie).

- (BOOL)movie:(QTMovie *)movieshouldContinueOperation :(NSString *)op withPhase:(QTMovieOperationPhase)phase atPercent:(NSNumber *)percent withAttributes:(NSDictionary *)attributes
Parameters
op

An NSString object that is a localized description of the operation being performed.

phase

A value of type QTMovieOperationPhase that indicates indicates whether the operation is just beginning (QTMovieOperationBeginPhase), ending (QTMovieOperationEndPhase), or is at a certain percentage of completion (QTMovieOperationUpdatePercentPhase).

percent

When the phase parameter is QTMovieOperationUpdatePercentPhase, the approximate percentage of the operation completed.

attributes

An NSDictionary object that the same dictionary passed to a QTMovie method that caused the lengthy operation (for example, the attributes dictionary passed to writeToFile:withAttributes:error:). This parameter may be nil.

Return Value

A BOOL value; a delegate should return YES to continue the lengthy operation, NO to cancel it.

Discussion

A delegate can implement this method. The op string is a localized string that indicates what the operation is. The phase indicates whether the operation is just beginning, ending, or is at a certain percentage of completion. If the phase is QTMovieOperationUpdatePercentPhase, then the percent parameter indicates the percentage of the operation completed. The attributes dictionary may be NIL; if not NIL, it is the same dictionary passed to a QTMovie method that caused the lengthy operation (for example, the attributes dictionary passed to writeToFile). The constants for this method are defined as follows:

typedef enum {
    QTMovieOperationBeginPhase = movieProgressOpen,
    QTMovieOperationUpdatePercentPhase = movieProgressUpdatePercent,
    QTMovieOperationEndPhase = movieProgressClose
}
Special Considerations

This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

movieShouldTask:

If a QTMovie object has a delegate and that delegate implements this method, that method will be called before QTKit performs the standard idle processing on a movie.

- (BOOL)movieShouldTask:(id)movie
Parameters
movie

The QTMovie object that is about to perform idle processing.

Return Value

A BOOL value; a delegate should return YES to cancel the standard movie idle processing, NO otherwise.

Discussion

The delegate can cancel that normal processing by returning YES.

Special Considerations

This delegate method is deprecated and should not be used in new code. This delegate method is not called when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Availability
  • Available in OS X v10.3 and later.
Declared In
QTMovie.h

Constants

Constants For Use With movieFileTypes: Method

The following values can be used to include some or all of the file types that are normally excluded:

typedef enum {
   QTIncludeStillImageTypes  =  1 << 0,
   QTIncludeTranslatableTypes =  1 << 1,
   QTIncludeAggressiveTypes =  1 << 2,
   QTIncludeCommonTypes = 0,
   QTIncludeAllTypes = 0xffff
} QTMovieFileTypeOptions;
Constants
QTIncludeStillImageTypes

This value adds to the array all file types for still images that can be opened using a graphics importer.

Available in OS X v10.3 and later.

Declared in QTMovie.h.

QTIncludeTranslatableTypes

This value adds to the array all file types for files that can be opened using a movie importer but for which a new file must be created.

Available in OS X v10.3 and later.

Declared in QTMovie.h.

QTIncludeAggressiveTypes

This value adds to the array all file types for files that can be opened using a movie importer but that are not commonly used in connection with movies (for instance, text or HTML files).

Available in OS X v10.3 and later.

Declared in QTMovie.h.

QTIncludeCommonTypes

This value adds to the array all common file types that QuickTime can open in place on the current system.

Available in OS X v10.3 and later.

Declared in QTMovie.h.

QTIncludeAllTypes

This value adds to the array all file types that QuickTime can open on the current system, using any available movie or graphics importer.

Available in OS X v10.3 and later.

Declared in QTMovie.h.

Settable and Gettable Movie Attributes

The following constants specify the movie attributes that you can get and set using the movieAttributes and setMovieAttributes methods. To get or set a single attribute, use attributeForKey or setAttribute.

NSString * const QTMovieApertureModeAttribute;
NSString * const QTMovieActiveSegmentAttribute;
NSString * const QTMovieAutoAlternatesAttribute;
NSString * const QTMovieCopyrightAttribute;
NSString * const QTMovieCreationTimeAttribute;
NSString * const QTMovieCurrentSizeAttribute;
NSString * const QTMovieCurrentTimeAttribute;
NSString * const QTMovieDataSizeAttribute;
NSString * const QTMovieDelegateAttribute;
NSString * const QTMovieDisplayNameAttribute;
NSString * const QTMovieDurationAttribute;
NSString * const QTMovieEditableAttribute;
NSString * const QTMovieFileNameAttribute;
NSString * const QTMovieHasApertureModeDimensionsAttribute;
NSString * const QTMovieHasAudioAttribute;
NSString * const QTMovieHasDurationAttribute;
NSString * const QTMovieHasVideoAttribute;
NSString * const QTMovieIsActiveAttribute;
NSString * const QTMovieIsInteractiveAttribute;
NSString * const QTMovieIsLinearAttribute;
NSString * const QTMovieIsSteppableAttribute;
NSString * const QTMovieLoadStateAttribute;
NSString * const QTMovieLoadStateErrorAttribute;
NSString * const QTMovieLoopsAttribute;
NSString * const QTMovieLoopsBackAndForthAttribute;
NSString * const QTMovieModificationTimeAttribute;
NSString * const QTMovieMutedAttribute;
NSString * const QTMovieNaturalSizeAttribute;
NSString * const QTMoviePlaysAllFramesAttribute;
NSString * const QTMoviePlaysSelectionOnlyAttribute;
NSString * const QTMoviePosterTimeAttribute;
NSString * const QTMoviePreferredMutedAttribute;
NSString * const QTMoviePreferredRateAttribute;
NSString * const QTMoviePreferredVolumeAttribute;
NSString * const QTMoviePreviewModeAttribute;
NSString * const QTMoviePreviewRangeAttribute;
NSString * const QTMovieRateAttribute;
NSString * const QTMovieSelectionAttribute;
NSString * const QTMovieTimeScaleAttribute;
NSString * const QTMovieURLAttribute;
NSString * const QTMovieVolumeAttribute;
NSString * const QTMovieRateChangesPreservePitchAttribute;
Constants
QTMovieApertureModeAttribute

Sets the aperture mode attribute on a QTMovie object to indicate whether aspect ratio and clean aperture correction should be performed.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieActiveSegmentAttribute

The active segment of a QTMovie object; the value for this key is of type NSValue, interpreted as a QTTimeRange structure. This constant is available in OS X v10.4 and later, but deprecated in OS X v10.5.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieAutoAlternatesAttribute

The auto-alternate state of a QTMovie object. The value for this key is of type NSNumber, interpreted as a BOOL.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieCopyrightAttribute

The copyright string of a QTMovie object; the value for this key is of type NSString.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieCreationTimeAttribute

The creation time of a QTMovie object; the value for this key is of type NSDate.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieCurrentSizeAttribute

The current size of a QTMovie object; the value for this key is of type NSValue, interpreted as an NSSize structure.

This attribute can be read and written. This attribute cannot be read or written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES. This attribute is deprecated in QTKit version 7.6 and later.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieCurrentTimeAttribute

The current time of a QTMovie object; the value for this key is of type NSValue, interpreted as a QTTime structure.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieDataSizeAttribute

The data size of a QTMovie. The value for this key is of type NSNumber, which is interpreted as a longlong.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieDelegateAttribute

The delegate for a QTMovie object. The value for this key is of type NSObject.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieDisplayNameAttribute

The display name of a QTMovie object. A display name is stored as user data in a movie file and hence may differ from the base name of the movie’s filename or URL. The value for this key is of type NSString.

This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieDontInteractWithUserAttribute

When set in a dictionary passed to movieWithAttributes or initWithAttributes, this prevents QuickTime from interacting with the user during movie initialization. The value for this key is of type NSNumber, interpreted as a BOOL.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieDurationAttribute

The duration of a QTMovie object; the value for this key is of type NSValue, interpreted as a QTTime structure.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieEditableAttribute

The editable setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie can be edited.

This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieFileNameAttribute

The file name string of a QTMovie object; the value for this key is of type NSString.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieHasApertureModeDimensionsAttribute

The aperture mode dimensions set on any track in this QTMovie object, even if those dimensions are all identical to the classic dimensions (as is the case for content with square pixels and no edge-processing region). The value for this key is of type NSNumber, interpreted as a BOOL.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieHasAudioAttribute

The audio data setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie contains audio data.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieHasDurationAttribute

The duration setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie has a duration. (Some types of movies, for instance QuickTime VR movies, have no duration.)

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieHasVideoAttribute

The video data setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie contains video data.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieIsActiveAttribute

The active setting; the value for this key is of type NSNumber, interpreted as a BOOL.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieIsInteractiveAttribute

The interactive setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie is interactive.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieIsLinearAttribute

The linear setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie is linear, as opposed to a non-linear QuickTime VR movie.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieIsSteppableAttribute

The steppable setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie can step from frame to frame.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieLoadStateAttribute

The load state value; the value for this key is of type NSNumber, interpreted as a long.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Declared in QTMovie.h.

OS X v10.5 and later.

QTMovieLoadStateErrorAttribute

The load state error of a QTMovie object; the value for this key is of type NSError.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Declared in QTMovie.h.

QuickTime 7.6.3 and later.

QTMovieLoopsAttribute

The looping setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie is set to loop, NO otherwise.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieLoopsBackAndForthAttribute

The palindrome looping setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie is set to loop back and forth. Note that QTMovieLoopsAttribute and QTMovieLoopsBackAndForthAttribute are independent and indeed exclusive. QTMovieLoopsAttribute is used to get and set the state of normal looping; QTMovieLoopsBackAndForthAttribute is used to get and set the state of palindrome looping.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieModificationTimeAttribute

The modification time of a QTMovie object; the value for this key is of type NSDate.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieMutedAttribute

The mute setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie volume is muted.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieNaturalSizeAttribute

The natural size of a QTMovie object; the value for this key is of type NSValue, interpreted as an NSSize structure.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePlaysAllFramesAttribute

The play-all-frames setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie will play all frames.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePlaysSelectionOnlyAttribute

The play-selection setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie will play only the current selection.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePosterTimeAttribute

The movie poster time of a QTMovie object; the value for this key is of type NSValue, interpreted as a QTTime structure.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePreferredMutedAttribute

The preferred mute setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie preferred mute setting is muted.

This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

The preferred settings refer to settings contained in the movie file (or movie data) itself. The actual settings refer to the actual values of those settings. For instance, a movie can have a preferred rate of 2, and a good movie playing application will respect that setting. But an application or the user can set the actual rate to some other value. The non-preferred settings can change dynamically, but the preferred settings will not.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePreferredRateAttribute

The preferred rate; the value for this key is of type NSNumber, interpreted as a float.

This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

The preferred settings refer to settings contained in the movie file (or movie data) itself. The actual settings refer to the actual values of those settings. For instance, a movie can have a preferred rate of 2, and a good movie playing application will respect that setting. But an application or the user can set the actual rate to some other value. The non-preferred settings can change dynamically, but the preferred settings will not.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePreferredVolumeAttribute

The preferred volume; the value for this key is of type NSNumber, interpreted as a float.

This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

The preferred settings refer to settings contained in the movie file (or movie data) itself. The actual settings refer to the actual values of those settings. For instance, a movie can have a preferred rate of 2, and a good movie playing application will respect that setting. But an application or the user can set the actual rate to some other value. The non-preferred settings can change dynamically, but the preferred settings will not.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePreviewModeAttribute

The preview mode setting; the value for this key is of type NSNumber, interpreted as a BOOL. This value is YES if the movie is in preview mode.

This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePreviewRangeAttribute

The preview range of a QTMovie object; the value for this key is of type NSValue, interpreted as a QTTimeRange structure.

This attribute can be read and written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieRateAttribute

The movie rate; the value for this key is of type NSNumber, interpreted as a float.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieRateChangesPreservePitchAttribute

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 (for example, 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 is used, which alters the speed without changing the pitch. Since this is more computationally expensive, this property may be silently ignored on some slow CPUs.

This attribute can be read but not written; it must be among the initialization attributes to have any effect. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieSelectionAttribute

The selection range of a QTMovie object; the value for this key is of type NSValue, interpreted as a QTTimeRange structure.

This attribute can be read and written. This attribute cannot be read or written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieTimeScaleAttribute

The time scale of a QTMovie object; the value for this key is of type NSNumber, interpreted as a long. This attribute can be read and (in OS X v10.5 and later) written; in earlier versions of OS X, this attribute is readable only. In general, you should set this attribute only on newly-created movies or on movies that have not been edited. Also, you should only increase the time scale value, and you should try to use integer multiples of the existing time scale.

This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieURLAttribute

The URL of a QTMovie object; the value for this key is of type NSURL.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieVolumeAttribute

The movie volume; the value for this key is of type NSNumber, interpreted as a float.

This attribute can be read and written. This attribute can be read and written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

Aperture Modes

When a movie is in clean, production, or encoded pixels aperture mode, each track's dimensions are overridden by special dimensions for that mode. The original track dimensions are preserved and can be restored by setting the movie into classic aperture mode. Aperture modes are not saved in movies. The associated value is of type NSString and is assumed to be one of the following strings:

NSString * const QTMovieApertureModeClassic;
NSString * const QTMovieApertureModeClean;
NSString * const QTMovieApertureModeProduction;
NSString * const QTMovieApertureModeEncodedPixels;
Constants
QTMovieApertureModeClassic

No aspect ratio or clean aperture correction is performed. This is the default aperture mode and provides compatibility with behavior in QuickTime 7.0.x and earlier. If you call -[QTTrack setDimensions], the movie is automatically switched to classic mode.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieApertureModeClean

An aperture mode for general display. Where possible, video will be displayed at the correct pixel aspect ratio, trimmed to the clean aperture. A movie in clean aperture mode sets each track’s dimensions to match the size returned by -[QTTrack apertureModeDimensionsForMode:QTMovieApertureModeClean].

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieApertureModeProduction

An aperture mode for modal use in authoring applications. Where possible, video will be displayed at the correct pixel aspect ratio, but without trimming to the clean aperture so that the edge processing region can be viewed. A movie in production aperture mode sets each track's dimensions to match the size returned by -[QTTrack apertureModeDimensionsForMode:QTMovieApertureModeProduction].

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieApertureModeEncodedPixels

An aperture mode for technical use. Displays all encoded pixels with no aspect ratio or clean aperture compensation. A movie in encoded pixels aperture mode sets each track's dimensions to match the size returned by -[QTTrack apertureModeDimensionsForMode:QTMovieApertureModeEncodedPixels].

Available in OS X v10.5 and later.

Declared in QTMovie.h.

Movie Load State Values

The movie load state values. The attributeForKey:QTMovieLoadStateAttribute returns an NSNumber that wraps a long integer; the enumerated constants shown here are the possible values of that long integer.

enum {
   QTMovieLoadStateError = -1L,
   QTMovieLoadStateLoading = 1000,
   QTMovieLoadStateLoaded = 2000,
   QTMovieLoadStatePlayable = 10000,
   QTMovieLoadStatePlaythroughOK = 20000,
   QTMovieLoadStateComplete = 100000L
};
typedef NSInteger QTMovieLoadState;
Constants
QTMovieLoadStateError

An error occurred while loading the movie.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieLoadStateLoading

The movie is loading.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieLoadStateLoaded

The movie atom has loaded; it’s safe to query movie properties.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieLoadStatePlayable

The movie has loaded enough media data to begin playing.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieLoadStatePlaythroughOK

The movie has loaded enough media data to play through to the end.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieLoadStateComplete

The movie has loaded completely.

OS X v10.5 and later.

Declared in QTMovie.h.

Dictionary Items Passed to QTMovie Notifications

The following constants specify items in dictionaries passed to QTMovie notifications and delegate methods.

NSString * const QTMovieMessageNotificationParameter;
NSString * const QTMovieRateDidChangeNotificationParameter;
NSString * const QTMovieStatusFlagsNotificationParameter;
NSString * const QTMovieStatusCodeNotificationParameter;
NSString * const QTMovieStatusStringNotificationParameter;
NSString * const QTMovieTargetIDNotificationParameter;
NSString * const QTMovieTargetNameNotificationParameter;
Constants
QTMovieMessageNotificationParameter

Used as a key in the userInfo dictionary passed to the QTMovieMessageNotification notification to indicate the message. The associated value is an NSString.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieRateDidChangeNotificationParameter

Used as a key in the userInfo dictionary passed to the QTMovieRateDidChangeNotification notification to indicate the new playback rate. The associated value is an NSNumber that holds a float.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieStatusFlagsNotificationParameter

Used as a key in the userInfo dictionary passed to the QTMovieStatusStringPostedNotification notification to indicate status flags. The associated value is an NSNumber that holds a long.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieStatusCodeNotificationParameter

Used as a key in the userInfo dictionary passed to the QTMovieStatusStringPostedNotification notification to indicate a status code (or error code). The associated value is an NSNumber that holds an int.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieStatusStringNotificationParameter

Used as a key in the userInfo dictionary passed to the QTMovieStatusStringPostedNotification notification to indicate a status string.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieTargetIDNotificationParameter

Used as a key in the dictionary passed to the externalMovie: delegate method to indicate that the delegate should return a QTMovie object that has the movie ID specified by the key’s value.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieTargetNameNotificationParameter

Used as a key in the dictionary passed to the externalMovie: delegate method to indicate that the delegate should return a QTMovie object that has the movie name specified by the key’s value.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

Dictionary Keys For Movie Export

The following constants are dictionary keys that you can use to specify movie attributes, using the writeToFile method.

NSString * const QTMovieExport;
NSString * const QTMovieExportType;
NSString * const QTMovieFlatten;
NSString * const QTMovieExportSettings;
NSString * const QTMovieExportManufacturer;
Constants
QTMovieExport

The movie export setting; the value for this key is of type NSNumber, interpreted as a BOOL.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieExportType

The movie export type; the value for this key is of type NSNumber, interpreted as a long.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieFlatten

The movie flatten setting; the value for this key is of type NSNumber, interpreted as a BOOL.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieExportSettings

The movie export settings; the value of this key is of type NSData, interpreted as a QTAtomContainer.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieExportManufacturer

The export manufacturer value; the value for this key is of type NSNumber, interpreted as a long.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

Dictionary Keys For Image Codecs

The following constants are dictionary keys that you can use to specify movie attributes, using the addImage method.

NSString * const QTAddImageCodecType;
NSString * const QTAddImageCodecQuality;
Constants
QTAddImageCodecType

The image codec string; the value for this key is of type NSString.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTAddImageCodecQuality

The image codec value; the value for this key is of type NSNumber.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

Dictionary of Frame Image Attributes

The following is a dictionary of attributes that can contain frame image keys, using the frameImageAtTime:withAttributes:error: method.

NSString * const QTMovieFrameImageSize;
NSString * const QTMovieFrameImageType;
NSString * const QTMovieFrameImageTypeNSImage;
NSString * const QTMovieFrameImageTypeCGImageRef;
NSString * const QTMovieFrameImageTypeCIImage;
NSString * const QTMovieFrameImageTypeCVPixelBufferRef;
NSString * const QTMovieFrameImageTypeCVOpenGLTextureRef;
NSString * const QTMovieFrameImageRepresentationsType;
NSString * const QTMovieFrameImageOpenGLContext;
NSString * const QTMovieFrameImagePixelFormat;
NSString * const QTMovieFrameImageDeinterlaceFields;
NSString * const QTMovieFrameImageHighQuality;
NSString * const QTMovieFrameImageSingleField;
NSString * const QTMovieFrameImageSessionMode;
Constants
QTMovieFrameImageSize

Size of the image. The value is an NSValue containing an NSSize record. The default image size is the current movie size.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageType

Type of the image. The value is an NSString. The default image type is NSImage.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageTypeNSImage

A value for the QTMovieFrameImageType key of the QTMovie frameImageAtTime:withAttributes:error: attributes dictionary. Specifies that the type of image returned should be an NSImage.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageTypeCGImageRef

A value for the QTMovieFrameImageType key of the QTMovie frameImageAtTime:withAttributes:error: attributes dictionary. Specifies that the type of image returned should be a CGImageRef.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageTypeCIImage

A value for the QTMovieFrameImageType key of the QTMovie frameImageAtTime:withAttributes:error: attributes dictionary. Specifies that the type of image returned should be a CIImage.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageTypeCVPixelBufferRef

A value for the QTMovieFrameImageType key of the QTMovie frameImageAtTime:withAttributes:error: attributes dictionary. Specifies that the type of image returned should be a CVPixelBufferRef.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageTypeCVOpenGLTextureRef

A value for the QTMovieFrameImageType key of the QTMovie frameImageAtTime:withAttributes:error: attributes dictionary. Specifies that the type of image returned should be a CVOpenGLTextureRef. Clients that specify this attribute must also specify the OpenGL context and pixel format for the texture using the QTMovieFrameImageOpenGLContext and QTMovieFrameImagePixelFormat attribute keys.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageRepresentationsType

For NSImage, the image representations in the image. Value is an NSArray of NSString; strings are, for example, NSBitmapImageRep class description. The default is NSBitmapImageRep.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageOpenGLContext

For CVOpenGLTextureRef, the OpenGL context to use. The value is an NSValue (CGLContextObj).

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImagePixelFormat

For CVOpenGLTextureRef, the pixel format to use. Value is an NSValue (CGLPixelFormatObj).

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageDeinterlaceFields

Image is de-interlaced. Value is an NSNumber (BOOL) (default = YES).

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageHighQuality

Image is high quality. Value is an NSNumber (BOOL) (default = YES).

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageSingleField

Image is single field. Value is an NSNumber (BOOL) (default = YES). The returned object is an autorelease object.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieFrameImageSessionMode

Indicates that two or more calls to frameImageAtTime:withAttributes:error: will be made on the same QTMovie object.

By adding this key with the associated value that is an NSNumber wrapping the BOOLYES to the dictionary of attributes, an application indicates that it will make more than one call to frameImageAtTime:withAttributes:error: on the same QTMovie object. This knowledge permits QTMovie to cache certain objects and data structures used to generate a frame image, thereby improving performance. When the caller has obtained all the frame images desired from a given QTMovie object, the caller should follow those session calls with a call where this value is NO; this is a signal to QTMovie to dispose of that cached data.

Declared in QTMovie.h.

OS X v10.6; QuickTime 7.6.3 and later.

Data Locator Attributes

The following constants are data locators that you can use to specify movie attributes, using the movieWithAttributes and initWithAttributes methods.

NSString * const QTMovieDataReferenceAttribute;
NSString * const QTMoviePasteboardAttribute;
NSString * const QTMovieDataAttribute;
Constants
QTMovieDataReferenceAttribute

The data reference of a QTMovie object;the value for this key is of type QTDataReference.

This attribute can be read but not written. This attribute can be read but not written when the movie has been initialized with QTMovieOpenForPlaybackAttribute set to YES.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMoviePasteboardAttribute

The pasteboard setting of a QTMovie object.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieDataAttribute

The data of a QTMovie object.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

Movie Instantiation Options

The following constants are movie instantiation options that you can use to specify movie attributes, using the movieWithAttributes and initWithAttributes methods.

NSString * const QTMovieFileOffsetAttribute;
NSString * const QTMovieResolveDataRefsAttribute;
NSString * const QTMovieAskUnresolvedDataRefsAttribute;
NSString * const QTMovieOpenAsyncOKAttribute;
NSString * const QTMovieOpenAsyncRequiredAttribute;
NSString * const QTMovieOpenForPlaybackAttribute;
Constants
QTMovieFileOffsetAttribute

The file offset value; the value for this key is of type NSNumber, interpreted as a long long.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieResolveDataRefsAttribute

Indicates whether external data references in a movie file should be resolved (NSNumber YES) or not resolved (NSNumber NO).

A movie file can contain references to media data in other locations. By default, QTMovie attempts to resolve these references at the time that the movie file is opened and a QTMovie object is instantiated. You can prevent that resolution from occurring by passing an NSNumber wrapping the value NO as the value of this attribute.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieAskUnresolvedDataRefsAttribute

Indicates whether the user should be prompted to help find any unresolved data references (NSNumber YES) or not (NSNumber NO).

When the value of the QTMovieResolveDataRefsAttribute attribute is an NSNumber wrapping the value YES and a movie file contains unresolved data references, this attribute indicates whether the user should be prompted to help find the missing referenced data (NSNumber YES) or not (NSNumber NO). Typically, QTMovie will display a dialog box that allows the user to navigate to the file or URL containing the referenced data. By setting this attribute to NO, you can prevent that dialog box from being displayed and thereby speed up the movie opening and initialization process.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieOpenAsyncOKAttribute

Indicates whether a movie file can be opened asynchronously if possible (NSNumber YES) or not (NSNumber NO).

Opening a movie file and initializing a QTMovie object for that file may require a considerable amount of time, perhaps to convert the data in the file from one format to another. By setting this attribute to an NSNumber wrapping the value YES, you grant QTMovie permission to return a non-nil QTMovie identifier to your application immediately and then to continue processing the file data internally. If a movie is opened asynchronously, you must monitor the movie load state and ensure that it has reached the appropriate threshold before attempting to perform certain operations on the movie. For instance, you cannot export or copy a QTMovie object until its load state has reached QTMovieLoadStateComplete.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

QTMovieOpenAsyncRequiredAttribute

Indicates whether the QTMovie must be opened asynchronously (NSNumber YES) or not (NSNumber NO).

Set this attribute to an NSNumber wrapping YES to indicate that all operations necessary to open the movie file (or other container) and create a valid QTMovie object must occur asynchronously. That is to say, the methods +movieWithAttributes:error: and -initWithAttributes:error: must return almost immediately, performing any lengthy operations on another thread. Your application can monitor the movie load state to determine the progress of those operations.

If you require asynchronous opening but QTMovie is unable to honor your request, then the methods +movieWithAttributes:error: and -initWithAttributes:error: return nil with an NSError having the error domain QTKitErrorDomain and code QTErrorMovieOpeningCannotBeAsynchronous.

Declared in QTMovie.h.

OS X v10.6 and later; QuickTime 7.6.3 and later.

QTMovieOpenForPlaybackAttribute

Indicates whether the QTMovie will be used only for playback (NSNumber YES) or not (NSNumber NO).

Set this attribute to an NSNumber wrapping YES to indicate that you intend to use movie playback methods (such as -play or -stop, or corresponding movie view methods such as -play: or -pause:) to control the movie, but do not intend to use other methods that edit, export, or in any way modify the movie. Knowing that you need playback services only may allow QTMovie to use more efficient code paths for some media files.

This attribute is meaningful only when added to the dictionary passed to -initWithAttributes:error:. In particular, setting this attribute on a QTMovie object that is already open has no effect.

Declared in QTMovie.h.

OS X v10.6 and later; QuickTime 7.6.3 and later.

Movie Chapter Information

These constants allow applications to get information about a movie and its chapters, and to navigate within a movie by chapters. Since chapters are a reasonably common feature of movies and podcasts, QTKit enables developers to create them.

NSString * const QTMovieChapterName;
NSString * const QTMovieChapterStartTime;
NSString * const QTMovieChapterTargetTrackAttribute;
Constants
QTMovieChapterName

A key indicating the chapter name in the dictionaries that are array elements in the array returned by QTMoviechapters or passed to QTMovieaddChapters:withAttributes:error.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieChapterStartTime

A key indicating the chapter start time in the dictionaries that are array elements in the array returned by QTMoviechapters or passed to QTMovieaddChapters:withAttributes:error.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

QTMovieChapterTargetTrackAttribute

A key indicating the track in the QTMovie object that is the target of the chapter track.

Available in OS X v10.5 and later.

Declared in QTMovie.h.

Pasteboard Support

The following constant is the type of movie data passed on the pasteboard.

NSString * const QTMoviePasteboardType;
Constants
QTMoviePasteboardType

Specifies the type of movie data passed on the pasteboard.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

Exceptions

The following exception is raised when calling a method requiring editing or modification of a movie that is uneditable.

NSString * const QTMovieUneditableException;
Constants
QTMovieUneditableException

Raised when the developer tries to call a method that requires editing or modifying the movie on an uneditable movie.

Available in OS X v10.4 and later.

Declared in QTMovie.h.

Notifications

QTMovieApertureModeDidChangeNotification

Issued when the aperture mode of the target QTMovie object changes.
Availability
Declared In
QTMovie.h

QTMovieChapterDidChangeNotification

Issued when the chapter associated with QTMovie changes.

This notification contains no information in the userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieChapterListDidChangeNotification

Issued when the chapter list associated with QTMovie changes.

This notification contains no information in the userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieCloseWindowRequestNotification

Sent when a request is made to close the movie’s window.

This notification contains no information in the userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieDidEndNotification

Sent when the movie is “done” or at its end.

This notification contains no userInfo parameters. It is equivalent to the standard player controller’s mcActionMovieFinished action.

Availability
Declared In
QTMovie.h

QTMovieEditabilityDidChangeNotification

Sent when the editable state of a movie has changed.

Availability
Declared In
QTMovie.h

QTMovieEditedNotification

Sent when a movie has been edited.

This notification contains no userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieEnterFullScreenRequestNotification

Sent when a request is made to play back a movie in full screen mode.

This notification contains no information in the userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieExitFullScreenRequestNotification

Sent when a request is made to play back a movie in normal windowed mode.

This notification contains no information in the userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieLoadStateDidChangeNotification

Sent when the load state of a movie has changed.

Availability
Declared In
QTMovie.h

QTMovieLoopModeDidChangeNotification

Sent when a change is made in a movie’s looping mode.

This notification contains no information in the userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieMessageStringPostedNotification

Sent when a movie message has been received by the movie controller.

Movie messages can be sent to an application by wired actions (for instance, a wired sprite) or by code that issues the mcActionShowMessageString movie controller action. The userInfo dictionary contains a single entry whose value is of type NSString, which is the movie message.

Availability
Declared In
QTMovie.h

QTMovieRateDidChangeNotification

Sent when the rate of a movie has changed.

The userInfo dictionary contains a single entry whose value is of type NSNumber that represents a float, which is the new rate.

Availability
Declared In
QTMovie.h

QTMovieSelectionDidChangeNotification

Sent when the selection of a movie has changed.

This notification contains no userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieNaturalSizeDidChangeNotification

Posted whenever the natural size (that is, the original dimensions of the movie when it was authored) changes, either because the movie was edited or because new information about the movie was loaded asynchronously.

All clients that display movies using dimensions based on the QTMovieNaturalSizeAttribute should respond to this notification to update their display as necessary.

Availability
Declared In
QTMovie.h

QTMovieSizeDidChangeNotification

Sent when the size of a movie has changed.

This notification contains no userInfo dictionary.

Availability
Declared In
QTMovie.h

QTMovieStatusStringPostedNotification

Status messages can be sent by QuickTime’s streaming components or by any code that wants to display a message in the movie controller bar status area.

The userInfo dictionary contains a single entry whose value is of type NSString, which is the status message.

The following are keys (notification parameters) for userInfo items for the QTMovieStatusStringPostedNotification notification QTMovieStatusCodeNotificationParameter and QTMovieStatusStringNotificationParameter.

A status string notification can indicate an error (in which case QTMovieStatusCodeNotificationParameter will have a value), or it can contain a string (in which case QTMovieStatusStringNotificationParameter will have a value). For more information, see mcActionShowStatusString.

Availability
Declared In
QTMovie.h

QTMovieTimeDidChangeNotification

Sent when the time in a movie has changed.

The QTMovieTimeDidChangeNotification is fired whenever the movie time changes to a time other than what it would be during normal playback. So, for example, this notification is not fired every frame.

Availability
Declared In
QTMovie.h

QTMovieVolumeDidChangeNotification

Sent when the volume of a movie has changed.

Availability
Declared In
QTMovie.h

Did this document help you? Yes It's good, but... Not helpful...