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");
+	}
+}
+