QTKit.framework

@interface QTCaptureAudioPreviewOutput : QTCaptureOutput

// Instance Members
- (NSString*)outputDeviceUniqueID;
- (float)volume;
- (void)setOutputDeviceUniqueID:(NSString*)uniqueID;
- (void)setVolume:(float)volume;

@interface QTCaptureConnection : NSObject

// Instance Members
- (BOOL)attributeIsReadOnly:(NSString*)attributeKey;
- (BOOL)isEnabled;
- (NSDictionary*)connectionAttributes;
- (NSString*)mediaType;
- (QTFormatDescription*)formatDescription;
- (id)attributeForKey:(NSString*)attributeKey;
- (id)owner;
- (void)setAttribute:(id)attribute forKey:(NSString*)key;
- (void)setConnectionAttributes:(NSDictionary*)connectionAttributes;
- (void)setEnabled:(BOOL)enabled;

@interface QTCaptureDecompressedVideoOutput : QTCaptureOutput

// Instance Members
- (NSDictionary*)pixelBufferAttributes;
- (id)delegate;
- (void)outputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer*)sampleBuffer fromConnection:(QTCaptureConnection*)connection;
- (void)setDelegate:(id)delegate;
- (void)setPixelBufferAttributes:(NSDictionary*)pixelBufferAttributes;

@interface NSObject (QTCaptureDecompressedVideoOutputDelegate)

// Instance Members
- (void)captureOutput:(QTCaptureOutput*)captureOutput didOutputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer*)sampleBuffer fromConnection:(QTCaptureConnection*)connection;

@interface QTCaptureDevice : NSObject

// Class Members
+ (NSArray*)inputDevices;
+ (NSArray*)inputDevicesWithMediaType:(NSString*)mediaType;
+ (QTCaptureDevice*)defaultInputDeviceWithMediaType:(NSString*)mediaType;
+ (QTCaptureDevice*)deviceWithUniqueID:(NSString*)deviceUniqueID;

// Instance Members
- (BOOL)attributeIsReadOnly:(NSString*)attributeKey;
- (BOOL)hasMediaType:(NSString*)mediaType;
- (BOOL)isConnected;
- (BOOL)isInUseByAnotherApplication;
- (BOOL)isOpen;
- (BOOL)open:(NSError**)errorPtr;
- (NSArray*)formatDescriptions;
- (NSDictionary*)deviceAttributes;
- (NSString*)localizedDisplayName;
- (NSString*)modelUniqueID;
- (NSString*)uniqueID;
- (id)attributeForKey:(NSString*)attributeKey;
- (void)close;
- (void)setAttribute:(id)attribute forKey:(NSString*)attributeKey;
- (void)setDeviceAttributes:(NSDictionary*)deviceAttributes;

@interface QTCaptureDeviceInput : QTCaptureInput

// Class Members
+ (id)deviceInputWithDevice:(QTCaptureDevice*)device;

// Instance Members
- (QTCaptureDevice*)device;
- (id)initWithDevice:(QTCaptureDevice*)device;

@interface QTCaptureFileOutput : QTCaptureOutput

// Instance Members
- (NSURL*)outputFileURL;
- (QTCompressionOptions*)compressionOptionsForConnection:(QTCaptureConnection*)connection;
- (QTTime)maximumRecordedDuration;
- (QTTime)recordedDuration;
- (UInt64)maximumRecordedFileSize;
- (UInt64)recordedFileSize;
- (id)delegate;
- (void)recordToOutputFileURL:(NSURL*)url bufferDestination:(QTCaptureFileOutputBufferDestination)bufferDestination;
- (void)recordToOutputFileURL:(NSURL*)url;
- (void)setCompressionOptions:(QTCompressionOptions*)compressionOptions forConnection:(QTCaptureConnection*)connection;
- (void)setDelegate:(id)delegate;
- (void)setMaximumRecordedDuration:(QTTime)maximumRecordedDuration;
- (void)setMaximumRecordedFileSize:(UInt64)maximumRecordedFileSize;

@interface NSObject (QTCaptureFileOutputDelegate)

// Instance Members
- (BOOL)captureOutput:(QTCaptureFileOutput*)captureOutput shouldChangeOutputFileAtURL:(NSURL*)outputFileURL forConnections:(NSArray*)connections dueToError:(NSError*)error;
- (void)captureOutput:(QTCaptureFileOutput*)captureOutput didOutputSampleBuffer:(QTSampleBuffer*)sampleBuffer fromConnection:(QTCaptureConnection*)connection;
- (void)captureOutput:(QTCaptureFileOutput*)captureOutput didStartRecordingToOutputFileAtURL:(NSURL*)fileURL forConnections:(NSArray*)connections;
- (void)captureOutput:(QTCaptureFileOutput*)captureOutput willStartRecordingToOutputFileAtURL:(NSURL*)fileURL forConnections:(NSArray*)connections;
- (void)captureOutput:(QTCaptureFileOutput*)captureOutput mustChangeOutputFileAtURL:(NSURL*)outputFileURL forConnections:(NSArray*)connections dueToError:(NSError*)error;
- (void)captureOutput:(QTCaptureFileOutput*)captureOutput willFinishRecordingToOutputFileAtURL:(NSURL*)outputFileURL forConnections:(NSArray*)connections dueToError:(NSError*)error;
- (void)captureOutput:(QTCaptureFileOutput*)captureOutput didFinishRecordingToOutputFileAtURL:(NSURL*)outputFileURL forConnections:(NSArray*)connections dueToError:(NSError*)error;

@interface QTCaptureInput : NSObject

// Instance Members
- (NSArray*)connections;

@interface QTCaptureLayer : CALayer // QTCaptureLayer is a layer that renders a capture session within a layer hierarchy

// Class Members
+ (id)layerWithSession:(QTCaptureSession*)session;

// Instance Members
- (QTCaptureSession*)session;
- (id)initWithSession:(QTCaptureSession*)session;
- (void)setSession:(QTCaptureSession*)session;

@interface QTCaptureMovieFileOutput : QTCaptureFileOutput

@interface QTCaptureOutput : NSObject

// Instance Members
- (NSArray*)connections;

@interface QTCaptureSession : NSObject

// Instance Members
- (BOOL)addInput:(QTCaptureInput*)input error:(NSError**)errorPtr;
- (BOOL)addOutput:(QTCaptureOutput*)output error:(NSError**)errorPtr;
- (BOOL)isRunning;
- (NSArray*)inputs;
- (NSArray*)outputs;
- (void)removeInput:(QTCaptureInput*)input;
- (void)removeOutput:(QTCaptureOutput*)output;
- (void)startRunning;
- (void)stopRunning;

@interface QTCaptureVideoPreviewOutput : QTCaptureOutput

// Instance Members
- (NSDictionary*)pixelBufferAttributes;
- (QTVisualContextRef)visualContextForConnection:(QTCaptureConnection*)connection;
- (id)delegate;
- (void)outputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer*)sampleBuffer fromConnection:(QTCaptureConnection*)connection;
- (void)setDelegate:(id)delegate;
- (void)setPixelBufferAttributes:(NSDictionary*)pixelBufferAttributes;
- (void)setVisualContext:(QTVisualContextRef)visualContext forConnection:(QTCaptureConnection*)connection;

@interface NSObject (QTCaptureVideoPreviewOutputDelegate)

// Instance Members
- (void)captureOutput:(QTCaptureOutput*)captureOutput didOutputVideoFrame:(CVImageBufferRef)videoFrame withSampleBuffer:(QTSampleBuffer*)sampleBuffer fromConnection:(QTCaptureConnection*)connection;

@interface QTCaptureView : NSView

// Instance Members
- (BOOL)preservesAspectRatio;
- (NSArray*)availableVideoPreviewConnections;
- (NSColor*)fillColor;
- (NSRect)previewBounds;
- (QTCaptureConnection*)videoPreviewConnection;
- (QTCaptureSession*)captureSession;
- (id)delegate;
- (void)setCaptureSession:(QTCaptureSession*)captureSession;
- (void)setDelegate:(id)delegate;
- (void)setFillColor:(NSColor*)fillColor;
- (void)setPreservesAspectRatio:(BOOL)preservesAspectRatio;
- (void)setVideoPreviewConnection:(QTCaptureConnection*)videoPreviewConnection;

@interface NSObject (QTCaptureViewDelegate)

// Instance Members
- (CIImage*)view:(QTCaptureView*)view willDisplayImage:(CIImage*)image;

@interface QTCompressionOptions : NSObject

// Class Members
+ (NSArray*)compressionOptionsIdentifiersForMediaType:(NSString*)mediaType;
+ (id)compressionOptionsWithIdentifier:(NSString*)identifier;

// Instance Members
- (BOOL)isEqualToCompressionOptions:(QTCompressionOptions*)compressionOptions;
- (NSString*)localizedCompressionOptionsSummary;
- (NSString*)localizedDisplayName;
- (NSString*)mediaType;

@interface QTDataReference : NSObject

// Class Members
+ (id)dataReferenceWithDataRef:(Handle)dataRef type:(NSString*)type;
+ (id)dataReferenceWithDataRefData:(NSData*)dataRefData type:(NSString*)type;
+ (id)dataReferenceWithReferenceToData:(NSData*)data;
+ (id)dataReferenceWithReferenceToData:(NSData*)data name:(NSString*)name MIMEType:(NSString*)MIMEType;
+ (id)dataReferenceWithReferenceToFile:(NSString*)fileName;
+ (id)dataReferenceWithReferenceToURL:(NSURL*)url;

// Instance Members
- (Handle)dataRef;
- (NSData*)dataRefData;
- (NSData*)referenceData;
- (NSString*)MIMEType;
- (NSString*)dataRefType;
- (NSString*)name;
- (NSString*)referenceFile;
- (NSURL*)referenceURL;
- (id)initWithDataRef:(Handle)dataRef type:(NSString*)type;
- (id)initWithDataRefData:(NSData*)dataRefData type:(NSString*)type;
- (id)initWithReferenceToData:(NSData*)data;
- (id)initWithReferenceToData:(NSData*)data name:(NSString*)name MIMEType:(NSString*)MIMEType;
- (id)initWithReferenceToFile:(NSString*)fileName;
- (id)initWithReferenceToURL:(NSURL*)url;
- (void)setDataRef:(Handle)dataRef;
- (void)setDataRefType:(NSString*)type;

@interface QTFormatDescription : NSObject

// Instance Members
- (BOOL)isEqualToFormatDescription:(QTFormatDescription*)formatDescription;
- (NSData*)quickTimeSampleDescription;
- (NSDictionary*)formatDescriptionAttributes;
- (NSString*)localizedFormatSummary;
- (NSString*)mediaType;
- (UInt32)formatType;
- (id)attributeForKey:(NSString*)key;

@interface QTMedia : NSObject

// Class Members
+ (id)mediaWithQuickTimeMedia:(Media)media error:(NSError**)errorPtr;

// Instance Members
- (BOOL)hasCharacteristic:(NSString*)characteristic;
- (Media)quickTimeMedia;
- (NSDictionary*)mediaAttributes;
- (QTTrack*)track;
- (id)attributeForKey:(NSString*)attributeKey;
- (id)initWithQuickTimeMedia:(Media)media error:(NSError**)errorPtr;
- (void)setAttribute:(id)value forKey:(NSString*)attributeKey;
- (void)setMediaAttributes:(NSDictionary*)attributes;

@interface NSObject (QTMovieDelegate)

// Instance Members
- (BOOL)movie:(QTMovie*)movie linkToURL:(NSURL*)url;
- (BOOL)movie:(QTMovie*)movie shouldContinueOperation:(NSString*)op withPhase:(QTMovieOperationPhase)phase atPercent:(NSNumber*)percent withAttributes:(NSDictionary*)attributes;
- (BOOL)movieShouldLoadData:(id)sender;
- (BOOL)movieShouldTask:(id)movie;
- (QTMovie*)externalMovie:(NSDictionary*)dictionary;

@interface QTMovie : NSObject

// Instance Members
- (QTTime)duration;

@interface QTMovie (QTMovieInitialization)

// Class Members
+ (BOOL)canInitWithDataReference:(QTDataReference*)dataReference;
+ (BOOL)canInitWithFile:(NSString*)fileName;
+ (BOOL)canInitWithPasteboard:(NSPasteboard*)pasteboard;
+ (BOOL)canInitWithURL:(NSURL*)url;
+ (NSArray*)movieFileTypes:(QTMovieFileTypeOptions)types;
+ (NSArray*)movieTypesWithOptions:(QTMovieFileTypeOptions)types;
+ (NSArray*)movieUnfilteredFileTypes;
+ (NSArray*)movieUnfilteredPasteboardTypes;
+ (id)movie;
+ (id)movieNamed:(NSString*)name error:(NSError**)errorPtr;
+ (id)movieWithAttributes:(NSDictionary*)attributes error:(NSError**)errorPtr;
+ (id)movieWithData:(NSData*)data error:(NSError**)errorPtr;
+ (id)movieWithDataReference:(QTDataReference*)dataReference error:(NSError**)errorPtr;
+ (id)movieWithFile:(NSString*)fileName error:(NSError**)errorPtr;
+ (id)movieWithPasteboard:(NSPasteboard*)pasteboard error:(NSError**)errorPtr;
+ (id)movieWithQuickTimeMovie:(Movie)movie disposeWhenDone:(BOOL)dispose error:(NSError**)errorPtr;
+ (id)movieWithURL:(NSURL*)url error:(NSError**)errorPtr;

// Instance Members
- (id)initToWritableData:(NSMutableData*)data error:(NSError**)errorPtr;
- (id)initToWritableDataReference:(QTDataReference*)dataReference error:(NSError**)errorPtr;
- (id)initToWritableFile:(NSString*)filename error:(NSError**)errorPtr;
- (id)initWithAttributes:(NSDictionary*)attributes error:(NSError**)errorPtr;
- (id)initWithData:(NSData*)data error:(NSError**)errorPtr;
- (id)initWithDataReference:(QTDataReference*)dataReference error:(NSError**)errorPtr;
- (id)initWithFile:(NSString*)fileName error:(NSError**)errorPtr;
- (id)initWithMovie:(QTMovie*)movie timeRange:(QTTimeRange)range error:(NSError**)errorPtr;
- (id)initWithPasteboard:(NSPasteboard*)pasteboard error:(NSError**)errorPtr;
- (id)initWithQuickTimeMovie:(Movie)movie disposeWhenDone:(BOOL)dispose error:(NSError**)errorPtr;
- (id)initWithURL:(NSURL*)url error:(NSError**)errorPtr;
- (id)movieWithTimeRange:(QTTimeRange)range error:(NSError**)errorPtr;
- (void)invalidate;

@interface QTMovie (QTMovieInspection)

// Instance Members
- (BOOL)muted;
- (NSArray*)tracks;
- (NSArray*)tracksOfMediaType:(NSString*)type;
- (NSDictionary*)movieAttributes;
- (QTTime)currentTime;
- (float)rate;
- (float)volume;
- (id)attributeForKey:(NSString*)attributeKey;
- (void)setAttribute:(id)value forKey:(NSString*)attributeKey;
- (void)setMovieAttributes:(NSDictionary*)attributes;

@interface QTMovie (QTMovieImage)

// Instance Members
- (NSImage*)currentFrameImage;
- (NSImage*)frameImageAtTime:(QTTime)time;
- (NSImage*)posterImage;
- (void*)frameImageAtTime:(QTTime)time withAttributes:(NSDictionary*)attributes error:(NSError**)errorPtr;

@interface QTMovie (QTMovieFormat)

// Instance Members
- (BOOL)canUpdateMovieFile;
- (BOOL)updateMovieFile;
- (BOOL)writeToFile:(NSString*)fileName withAttributes:(NSDictionary*)attributes;
- (BOOL)writeToFile:(NSString*)fileName withAttributes:(NSDictionary*)attributes error:(NSError**)errorPtr;
- (NSData*)movieFormatRepresentation;

@interface QTMovie (QTMovieTime)

// Instance Members
- (void)autoplay;
- (void)gotoBeginning;
- (void)gotoEnd;
- (void)gotoNextSelectionPoint;
- (void)gotoPosterTime;
- (void)gotoPreviousSelectionPoint;
- (void)play;
- (void)setCurrentTime:(QTTime)time;
- (void)stepBackward;
- (void)stepForward;
- (void)stop;

@interface QTMovie (QTMoviePlaybackControl)

// Instance Members
- (void)setMuted:(BOOL)mute;
- (void)setRate:(float)rate;
- (void)setVolume:(float)volume;

@interface QTMovie (QTSelection)

// Instance Members
- (QTTime)selectionDuration;
- (QTTime)selectionEnd;
- (QTTime)selectionStart;
- (void)setSelection:(QTTimeRange)selection;

@interface QTMovie (QTEditing)

// Instance Members
- (QTTrack*)insertSegmentOfTrack:(QTTrack*)track timeRange:(QTTimeRange)range atTime:(QTTime)time;
- (QTTrack*)insertSegmentOfTrack:(QTTrack*)track fromRange:(QTTimeRange)srcRange scaledToRange:(QTTimeRange)dstRange;
- (void)addImage:(NSImage*)image forDuration:(QTTime)duration withAttributes:(NSDictionary*)attributes;
- (void)appendSelectionFromMovie:(id)movie;
- (void)deleteSegment:(QTTimeRange)segment;
- (void)insertEmptySegmentAt:(QTTimeRange)range;
- (void)insertSegmentOfMovie:(QTMovie*)movie timeRange:(QTTimeRange)range atTime:(QTTime)time;
- (void)insertSegmentOfMovie:(QTMovie*)movie fromRange:(QTTimeRange)srcRange scaledToRange:(QTTimeRange)dstRange;
- (void)removeTrack:(QTTrack*)track;
- (void)replaceSelectionWithSelectionFromMovie:(id)movie;
- (void)scaleSegment:(QTTimeRange)segment newDuration:(QTTime)newDuration;

@interface QTMovie (QTDelegate)

// Instance Members
- (id)delegate;
- (void)setDelegate:(id)delegate;

@interface QTMovie (QTPrimitives)

// Instance Members
- (Movie)quickTimeMovie;
- (MovieController)quickTimeMovieController;

@interface QTMovie (QTMovieVisualSupport)

// Instance Members
- (void)generateApertureModeDimensions;
- (void)removeApertureModeDimensions;

@interface QTMovie (QTMovieVisualContext)

// Instance Members
- (QTVisualContextRef)visualContext;
- (void)setVisualContext:(QTVisualContextRef)visualContext;

@interface QTMovie (QTMovieThreading)

// Class Members
+ (void)enterQTKitOnThread;
+ (void)enterQTKitOnThreadDisablingThreadSafetyProtection;
+ (void)exitQTKitOnThread;

// Instance Members
- (BOOL)attachToCurrentThread;
- (BOOL)detachFromCurrentThread;
- (BOOL)isIdling;
- (void)setIdling:(BOOL)state;

@interface QTMovie (QTMovieChapters)

// Instance Members
- (BOOL)hasChapters;
- (BOOL)removeChapters;
- (NSArray*)chapters;
- (NSInteger)chapterCount;
- (NSInteger)chapterIndexForTime:(QTTime)time;
- (QTTime)startTimeOfChapter:(NSInteger)chapterIndex;
- (void)addChapters:(NSArray*)chapters withAttributes:(NSDictionary*)attributes error:(NSError**)errorPtr;

@interface QTMovieLayer : CALayer // QTMovieLayer is a layer that renders a QTMovie within a layer hierarchy

// Class Members
+ (id)layerWithMovie:(QTMovie*)movie;

// Instance Members
- (QTMovie*)movie;
- (id)initWithMovie:(QTMovie*)movie;
- (void)setMovie:(QTMovie*)movie;

@interface QTMovieView : NSView

// Instance Members
- (BOOL)areStepButtonsVisible;
- (BOOL)areZoomButtonsVisible;
- (BOOL)isBackButtonVisible;
- (BOOL)isControllerVisible;
- (BOOL)isCustomButtonVisible;
- (BOOL)isEditable;
- (BOOL)isHotSpotButtonVisible;
- (BOOL)isTranslateButtonVisible;
- (BOOL)isVolumeButtonVisible;
- (BOOL)preservesAspectRatio;
- (IBAction)add:(id)sender;
- (IBAction)addScaled:(id)sender;
- (IBAction)copy:(id)sender;
- (IBAction)cut:(id)sender;
- (IBAction)delete:(id)sender;
- (IBAction)gotoBeginning:(id)sender;
- (IBAction)gotoEnd:(id)sender;
- (IBAction)gotoNextSelectionPoint:(id)sender;
- (IBAction)gotoPosterFrame:(id)sender;
- (IBAction)gotoPreviousSelectionPoint:(id)sender;
- (IBAction)paste:(id)sender;
- (IBAction)pause:(id)sender;
- (IBAction)play:(id)sender;
- (IBAction)replace:(id)sender;
- (IBAction)selectAll:(id)sender;
- (IBAction)selectNone:(id)sender;
- (IBAction)stepBackward:(id)sender;
- (IBAction)stepForward:(id)sender;
- (IBAction)trim:(id)sender;
- (NSColor*)fillColor;
- (NSRect)movieBounds;
- (NSRect)movieControllerBounds;
- (QTMovie*)movie;
- (float)controllerBarHeight;
- (id)delegate;
- (id)initWithFrame:(NSRect)frame;
- (void)setBackButtonVisible:(BOOL)state;
- (void)setControllerVisible:(BOOL)controllerVisible;
- (void)setCustomButtonVisible:(BOOL)state;
- (void)setDelegate:(id)delegate;
- (void)setEditable:(BOOL)editable;
- (void)setFillColor:(NSColor*)fillColor;
- (void)setHotSpotButtonVisible:(BOOL)state;
- (void)setMovie:(QTMovie*)movie;
- (void)setPreservesAspectRatio:(BOOL)preservesAspectRatio;
- (void)setShowsResizeIndicator:(BOOL)show;
- (void)setStepButtonsVisible:(BOOL)state;
- (void)setTranslateButtonVisible:(BOOL)state;
- (void)setVolumeButtonVisible:(BOOL)state;
- (void)setZoomButtonsVisible:(BOOL)state;

@interface NSObject (QTMovieViewDelegate)

// Instance Members
- (CIImage*)view:(QTMovieView*)view willDisplayImage:(CIImage*)image;

@interface QTSampleBuffer : NSObject

// Instance Members
- (NSDictionary*)sampleBufferAttributes;
- (NSUInteger)lengthForAllSamples;
- (NSUInteger)numberOfSamples;
- (QTFormatDescription*)formatDescription;
- (QTTime)decodeTime;
- (QTTime)duration;
- (QTTime)presentationTime;
- (id)attributeForKey:(NSString*)key;
- (void*)bytesForAllSamples;

@interface QTSampleBuffer (QTSampleBufferUseCount)

// Instance Members
- (NSUInteger)sampleUseCount;
- (void)decrementSampleUseCount;
- (void)incrementSampleUseCount;

@interface QTSampleBuffer (QTAudioSampleBuffer)

// Instance Members
- (AudioBufferList*)audioBufferListWithOptions:(QTSampleBufferAudioBufferListOptions)options;
- (BOOL)getAudioStreamPacketDescriptions:(AudioStreamPacketDescription*)audioStreamPacketDescriptions inRange:(NSRange)range;

@interface NSValue (NSValueQTTimeExtensions)

// Class Members
+ (NSValue*)valueWithQTTime:(QTTime)time;

// Instance Members
- (QTTime)QTTimeValue;

@interface NSCoder (NSQTTimeCoding)

// Instance Members
- (QTTime)decodeQTTimeForKey:(NSString*)key;
- (void)encodeQTTime:(QTTime)time forKey:(NSString*)key;

@interface NSValue (NSValueQTSMPTETimeExtensions)

// Class Members
+ (NSValue*)valueWithSMPTETime:(SMPTETime)time;

// Instance Members
- (SMPTETime)SMPTETimeValue;

@interface NSCoder (NSCoderQTSMPTETimeCoding)

// Instance Members
- (SMPTETime)decodeSMPTETimeForKey:(NSString*)key;
- (void)encodeSMPTETime:(SMPTETime)time forKey:(NSString*)key;

@interface NSValue (NSValueQTTimeRangeExtensions)

// Class Members
+ (NSValue*)valueWithQTTimeRange:(QTTimeRange)range;

// Instance Members
- (QTTimeRange)QTTimeRangeValue;

@interface NSCoder (NSQTTimeRangeCoding)

// Instance Members
- (QTTimeRange)decodeQTTimeRangeForKey:(NSString*)key;
- (void)encodeQTTimeRange:(QTTimeRange)range forKey:(NSString*)key;

@interface QTTrack : NSObject

// Class Members
+ (id)trackWithQuickTimeTrack:(Track)track error:(NSError**)errorPtr;

// Instance Members
- (BOOL)isEnabled;
- (NSDictionary*)trackAttributes;
- (QTMedia*)media;
- (QTMovie*)movie;
- (Track)quickTimeTrack;
- (float)volume;
- (id)attributeForKey:(NSString*)attributeKey;
- (id)initWithQuickTimeTrack:(Track)track error:(NSError**)errorPtr;
- (void)addImage:(NSImage*)image forDuration:(QTTime)duration withAttributes:(NSDictionary*)attributes;
- (void)deleteSegment:(QTTimeRange)segment;
- (void)insertEmptySegmentAt:(QTTimeRange)range;
- (void)insertSegmentOfTrack:(QTTrack*)track timeRange:(QTTimeRange)range atTime:(QTTime)time;
- (void)insertSegmentOfTrack:(QTTrack*)track fromRange:(QTTimeRange)srcRange scaledToRange:(QTTimeRange)dstRange;
- (void)scaleSegment:(QTTimeRange)segment newDuration:(QTTime)newDuration;
- (void)setAttribute:(id)value forKey:(NSString*)attributeKey;
- (void)setEnabled:(BOOL)enabled;
- (void)setTrackAttributes:(NSDictionary*)attributes;
- (void)setVolume:(float)volume;

@interface QTTrack (QTTrackVisualSupport)

// Instance Members
- (NSSize)apertureModeDimensionsForMode:(NSString*)mode;
- (void)generateApertureModeDimensions;
- (void)removeApertureModeDimensions;
- (void)setApertureModeDimensions:(NSSize)dimensions forMode:(NSString*)mode;