Mercurial > projects > dstep
diff dstep/qtkit/QTTrack.d @ 16:19885b43130e
Huge update, the bridge actually works now
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sun, 03 Jan 2010 22:06:11 +0100 |
parents | |
children | b9de51448c6b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/qtkit/QTTrack.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,321 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Sep 28, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.qtkit.QTTrack; + +import dstep.appkit.NSImage; +import dstep.foundation.Foundation; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; +import dstep.qtkit.QTKitDefines; +import dstep.qtkit.QTMedia; +import dstep.qtkit.QTMovie; +import dstep.qtkit.QTTime; +import dstep.qtkit.QTTimeRange; + +import bindings = dstep.qtkit.QTTrack_bindings; + +private +{ + NSString QTTrackBoundsAttribute_; + NSString QTTrackCreationTimeAttribute_; + NSString QTTrackDimensionsAttribute_; + NSString QTTrackDisplayNameAttribute_; + NSString QTTrackEnabledAttribute_; + NSString QTTrackFormatSummaryAttribute_; + NSString QTTrackIsChapterTrackAttribute_; + NSString QTTrackHasApertureModeDimensionsAttribute_; + NSString QTTrackIDAttribute_; + NSString QTTrackLayerAttribute_; + NSString QTTrackMediaTypeAttribute_; + NSString QTTrackModificationTimeAttribute_; + NSString QTTrackRangeAttribute_; + NSString QTTrackTimeScaleAttribute_; + NSString QTTrackUsageInMovieAttribute_; + NSString QTTrackUsageInPosterAttribute_; + NSString QTTrackUsageInPreviewAttribute_; + NSString QTTrackVolumeAttribute_; +} + +NSString QTTrackBoundsAttribute () +{ + if (QTTrackBoundsAttribute_) + return QTTrackBoundsAttribute_; + + return QTTrackBoundsAttribute_ = new NSString(bindings.QTTrackBoundsAttribute); +} + +NSString QTTrackCreationTimeAttribute () +{ + if (QTTrackCreationTimeAttribute_) + return QTTrackCreationTimeAttribute_; + + return QTTrackCreationTimeAttribute_ = new NSString(bindings.QTTrackCreationTimeAttribute); +} + +NSString QTTrackDimensionsAttribute () +{ + if (QTTrackDimensionsAttribute_) + return QTTrackDimensionsAttribute_; + + return QTTrackDimensionsAttribute_ = new NSString(bindings.QTTrackDimensionsAttribute); +} + +NSString QTTrackDisplayNameAttribute () +{ + if (QTTrackDisplayNameAttribute_) + return QTTrackDisplayNameAttribute_; + + return QTTrackDisplayNameAttribute_ = new NSString(bindings.QTTrackDisplayNameAttribute); +} + +NSString QTTrackEnabledAttribute () +{ + if (QTTrackEnabledAttribute_) + return QTTrackEnabledAttribute_; + + return QTTrackEnabledAttribute_ = new NSString(bindings.QTTrackEnabledAttribute); +} + +NSString QTTrackFormatSummaryAttribute () +{ + if (QTTrackFormatSummaryAttribute_) + return QTTrackFormatSummaryAttribute_; + + return QTTrackFormatSummaryAttribute_ = new NSString(bindings.QTTrackFormatSummaryAttribute); +} + +NSString QTTrackIsChapterTrackAttribute () +{ + if (QTTrackIsChapterTrackAttribute_) + return QTTrackIsChapterTrackAttribute_; + + return QTTrackIsChapterTrackAttribute_ = new NSString(bindings.QTTrackIsChapterTrackAttribute); +} + +NSString QTTrackHasApertureModeDimensionsAttribute () +{ + if (QTTrackHasApertureModeDimensionsAttribute_) + return QTTrackHasApertureModeDimensionsAttribute_; + + return QTTrackHasApertureModeDimensionsAttribute_ = new NSString(bindings.QTTrackHasApertureModeDimensionsAttribute); +} + +NSString QTTrackIDAttribute () +{ + if (QTTrackIDAttribute_) + return QTTrackIDAttribute_; + + return QTTrackIDAttribute_ = new NSString(bindings.QTTrackIDAttribute); +} + +NSString QTTrackLayerAttribute () +{ + if (QTTrackLayerAttribute_) + return QTTrackLayerAttribute_; + + return QTTrackLayerAttribute_ = new NSString(bindings.QTTrackLayerAttribute); +} + +NSString QTTrackMediaTypeAttribute () +{ + if (QTTrackMediaTypeAttribute_) + return QTTrackMediaTypeAttribute_; + + return QTTrackMediaTypeAttribute_ = new NSString(bindings.QTTrackMediaTypeAttribute); +} + +NSString QTTrackModificationTimeAttribute () +{ + if (QTTrackModificationTimeAttribute_) + return QTTrackModificationTimeAttribute_; + + return QTTrackModificationTimeAttribute_ = new NSString(bindings.QTTrackModificationTimeAttribute); +} + +NSString QTTrackRangeAttribute () +{ + if (QTTrackRangeAttribute_) + return QTTrackRangeAttribute_; + + return QTTrackRangeAttribute_ = new NSString(bindings.QTTrackRangeAttribute); +} + +NSString QTTrackTimeScaleAttribute () +{ + if (QTTrackTimeScaleAttribute_) + return QTTrackTimeScaleAttribute_; + + return QTTrackTimeScaleAttribute_ = new NSString(bindings.QTTrackTimeScaleAttribute); +} + +NSString QTTrackUsageInMovieAttribute () +{ + if (QTTrackUsageInMovieAttribute_) + return QTTrackUsageInMovieAttribute_; + + return QTTrackUsageInMovieAttribute_ = new NSString(bindings.QTTrackUsageInMovieAttribute); +} + +NSString QTTrackUsageInPosterAttribute () +{ + if (QTTrackUsageInPosterAttribute_) + return QTTrackUsageInPosterAttribute_; + + return QTTrackUsageInPosterAttribute_ = new NSString(bindings.QTTrackUsageInPosterAttribute); +} + +NSString QTTrackUsageInPreviewAttribute () +{ + if (QTTrackUsageInPreviewAttribute_) + return QTTrackUsageInPreviewAttribute_; + + return QTTrackUsageInPreviewAttribute_ = new NSString(bindings.QTTrackUsageInPreviewAttribute); +} + +NSString QTTrackVolumeAttribute () +{ + if (QTTrackVolumeAttribute_) + return QTTrackVolumeAttribute_; + + return QTTrackVolumeAttribute_ = new NSString(bindings.QTTrackVolumeAttribute); +} + +const TQTTrackVisualSupport = ` + + NSSize apertureModeDimensionsForMode (NSString mode) + { + return invokeObjcSelf!(NSSize, "apertureModeDimensionsForMode:", NSString)(mode); + } + + void setApertureModeDimensions (NSSize dimensions, NSString mode) + { + return invokeObjcSelf!(void, "setApertureModeDimensions:forMode:", NSSize, NSString)(dimensions, mode); + } + + void generateApertureModeDimensions () + { + return invokeObjcSelf!(void, "generateApertureModeDimensions"); + } + + void removeApertureModeDimensions () + { + return invokeObjcSelf!(void, "removeApertureModeDimensions"); + } + + //mixin ObjcBindMethod!(apertureModeDimensionsForMode, "apertureModeDimensionsForMode:"); + //mixin ObjcBindMethod!(setApertureModeDimensions, "setApertureModeDimensions:forMode:"); + //mixin ObjcBindMethod!(generateApertureModeDimensions, "generateApertureModeDimensions"); + //mixin ObjcBindMethod!(removeApertureModeDimensions, "removeApertureModeDimensions"); + +`; + +class QTTrack : NSObject +{ + mixin (ObjcWrap); + + QTMovie movie () + { + return invokeObjcSelf!(QTMovie, "movie"); + } + + QTMedia media () + { + return invokeObjcSelf!(QTMedia, "media"); + } + + bool isEnabled () + { + return invokeObjcSelf!(bool, "isEnabled"); + } + + void setEnabled (bool enabled) + { + return invokeObjcSelf!(void, "setEnabled:", bool)(enabled); + } + + float volume () + { + return invokeObjcSelf!(float, "volume"); + } + + void setVolume (float volume) + { + return invokeObjcSelf!(void, "setVolume:", float)(volume); + } + + NSDictionary trackAttributes () + { + return invokeObjcSelf!(NSDictionary, "trackAttributes"); + } + + void setTrackAttributes (NSDictionary attributes) + { + return invokeObjcSelf!(void, "setTrackAttributes:", NSDictionary)(attributes); + } + + Object attributeForKey (NSString attributeKey) + { + return invokeObjcSelf!(Object, "attributeForKey:", NSString)(attributeKey); + } + + void setAttribute (Object value, NSString attributeKey) + { + return invokeObjcSelf!(void, "setAttribute:forKey:", Object, NSString)(value, attributeKey); + } + + void insertSegmentOfTrack (QTTrack track, QTTimeRange range, QTTime time) + { + return invokeObjcSelf!(void, "insertSegmentOfTrack:timeRange:atTime:", QTTrack, QTTimeRange, QTTime)(track, range, time); + } + + void insertSegmentOfTrack (QTTrack track, QTTimeRange srcRange, QTTimeRange dstRange) + { + return invokeObjcSelf!(void, "insertSegmentOfTrack:fromRange:scaledToRange:", QTTrack, QTTimeRange, QTTimeRange)(track, srcRange, dstRange); + } + + void insertEmptySegmentAt (QTTimeRange range) + { + return invokeObjcSelf!(void, "insertEmptySegmentAt:", QTTimeRange)(range); + } + + void deleteSegment (QTTimeRange segment) + { + return invokeObjcSelf!(void, "deleteSegment:", QTTimeRange)(segment); + } + + void scaleSegment (QTTimeRange segment, QTTime newDuration) + { + return invokeObjcSelf!(void, "scaleSegment:newDuration:", QTTimeRange, QTTime)(segment, newDuration); + } + + void addImage (NSImage image, QTTime duration, NSDictionary attributes) + { + return invokeObjcSelf!(void, "addImage:forDuration:withAttributes:", NSImage, QTTime, NSDictionary)(image, duration, attributes); + } + + // QTTrackVisualSupport + NSSize apertureModeDimensionsForMode (NSString mode) + { + return invokeObjcSelf!(NSSize, "apertureModeDimensionsForMode:", NSString)(mode); + } + + void setApertureModeDimensions (NSSize dimensions, NSString mode) + { + return invokeObjcSelf!(void, "setApertureModeDimensions:forMode:", NSSize, NSString)(dimensions, mode); + } + + void generateApertureModeDimensions () + { + return invokeObjcSelf!(void, "generateApertureModeDimensions"); + } + + void removeApertureModeDimensions () + { + return invokeObjcSelf!(void, "removeApertureModeDimensions"); + } +} +