comparison 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
comparison
equal deleted inserted replaced
15:7ff919f595d5 16:19885b43130e
1 /**
2 * Copyright: Copyright (c) 2009 Jacob Carlborg.
3 * Authors: Jacob Carlborg
4 * Version: Initial created: Sep 28, 2009
5 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
6 */
7 module dstep.qtkit.QTTrack;
8
9 import dstep.appkit.NSImage;
10 import dstep.foundation.Foundation;
11 import dstep.objc.bridge.Bridge;
12 import dstep.objc.objc;
13 import dstep.qtkit.QTKitDefines;
14 import dstep.qtkit.QTMedia;
15 import dstep.qtkit.QTMovie;
16 import dstep.qtkit.QTTime;
17 import dstep.qtkit.QTTimeRange;
18
19 import bindings = dstep.qtkit.QTTrack_bindings;
20
21 private
22 {
23 NSString QTTrackBoundsAttribute_;
24 NSString QTTrackCreationTimeAttribute_;
25 NSString QTTrackDimensionsAttribute_;
26 NSString QTTrackDisplayNameAttribute_;
27 NSString QTTrackEnabledAttribute_;
28 NSString QTTrackFormatSummaryAttribute_;
29 NSString QTTrackIsChapterTrackAttribute_;
30 NSString QTTrackHasApertureModeDimensionsAttribute_;
31 NSString QTTrackIDAttribute_;
32 NSString QTTrackLayerAttribute_;
33 NSString QTTrackMediaTypeAttribute_;
34 NSString QTTrackModificationTimeAttribute_;
35 NSString QTTrackRangeAttribute_;
36 NSString QTTrackTimeScaleAttribute_;
37 NSString QTTrackUsageInMovieAttribute_;
38 NSString QTTrackUsageInPosterAttribute_;
39 NSString QTTrackUsageInPreviewAttribute_;
40 NSString QTTrackVolumeAttribute_;
41 }
42
43 NSString QTTrackBoundsAttribute ()
44 {
45 if (QTTrackBoundsAttribute_)
46 return QTTrackBoundsAttribute_;
47
48 return QTTrackBoundsAttribute_ = new NSString(bindings.QTTrackBoundsAttribute);
49 }
50
51 NSString QTTrackCreationTimeAttribute ()
52 {
53 if (QTTrackCreationTimeAttribute_)
54 return QTTrackCreationTimeAttribute_;
55
56 return QTTrackCreationTimeAttribute_ = new NSString(bindings.QTTrackCreationTimeAttribute);
57 }
58
59 NSString QTTrackDimensionsAttribute ()
60 {
61 if (QTTrackDimensionsAttribute_)
62 return QTTrackDimensionsAttribute_;
63
64 return QTTrackDimensionsAttribute_ = new NSString(bindings.QTTrackDimensionsAttribute);
65 }
66
67 NSString QTTrackDisplayNameAttribute ()
68 {
69 if (QTTrackDisplayNameAttribute_)
70 return QTTrackDisplayNameAttribute_;
71
72 return QTTrackDisplayNameAttribute_ = new NSString(bindings.QTTrackDisplayNameAttribute);
73 }
74
75 NSString QTTrackEnabledAttribute ()
76 {
77 if (QTTrackEnabledAttribute_)
78 return QTTrackEnabledAttribute_;
79
80 return QTTrackEnabledAttribute_ = new NSString(bindings.QTTrackEnabledAttribute);
81 }
82
83 NSString QTTrackFormatSummaryAttribute ()
84 {
85 if (QTTrackFormatSummaryAttribute_)
86 return QTTrackFormatSummaryAttribute_;
87
88 return QTTrackFormatSummaryAttribute_ = new NSString(bindings.QTTrackFormatSummaryAttribute);
89 }
90
91 NSString QTTrackIsChapterTrackAttribute ()
92 {
93 if (QTTrackIsChapterTrackAttribute_)
94 return QTTrackIsChapterTrackAttribute_;
95
96 return QTTrackIsChapterTrackAttribute_ = new NSString(bindings.QTTrackIsChapterTrackAttribute);
97 }
98
99 NSString QTTrackHasApertureModeDimensionsAttribute ()
100 {
101 if (QTTrackHasApertureModeDimensionsAttribute_)
102 return QTTrackHasApertureModeDimensionsAttribute_;
103
104 return QTTrackHasApertureModeDimensionsAttribute_ = new NSString(bindings.QTTrackHasApertureModeDimensionsAttribute);
105 }
106
107 NSString QTTrackIDAttribute ()
108 {
109 if (QTTrackIDAttribute_)
110 return QTTrackIDAttribute_;
111
112 return QTTrackIDAttribute_ = new NSString(bindings.QTTrackIDAttribute);
113 }
114
115 NSString QTTrackLayerAttribute ()
116 {
117 if (QTTrackLayerAttribute_)
118 return QTTrackLayerAttribute_;
119
120 return QTTrackLayerAttribute_ = new NSString(bindings.QTTrackLayerAttribute);
121 }
122
123 NSString QTTrackMediaTypeAttribute ()
124 {
125 if (QTTrackMediaTypeAttribute_)
126 return QTTrackMediaTypeAttribute_;
127
128 return QTTrackMediaTypeAttribute_ = new NSString(bindings.QTTrackMediaTypeAttribute);
129 }
130
131 NSString QTTrackModificationTimeAttribute ()
132 {
133 if (QTTrackModificationTimeAttribute_)
134 return QTTrackModificationTimeAttribute_;
135
136 return QTTrackModificationTimeAttribute_ = new NSString(bindings.QTTrackModificationTimeAttribute);
137 }
138
139 NSString QTTrackRangeAttribute ()
140 {
141 if (QTTrackRangeAttribute_)
142 return QTTrackRangeAttribute_;
143
144 return QTTrackRangeAttribute_ = new NSString(bindings.QTTrackRangeAttribute);
145 }
146
147 NSString QTTrackTimeScaleAttribute ()
148 {
149 if (QTTrackTimeScaleAttribute_)
150 return QTTrackTimeScaleAttribute_;
151
152 return QTTrackTimeScaleAttribute_ = new NSString(bindings.QTTrackTimeScaleAttribute);
153 }
154
155 NSString QTTrackUsageInMovieAttribute ()
156 {
157 if (QTTrackUsageInMovieAttribute_)
158 return QTTrackUsageInMovieAttribute_;
159
160 return QTTrackUsageInMovieAttribute_ = new NSString(bindings.QTTrackUsageInMovieAttribute);
161 }
162
163 NSString QTTrackUsageInPosterAttribute ()
164 {
165 if (QTTrackUsageInPosterAttribute_)
166 return QTTrackUsageInPosterAttribute_;
167
168 return QTTrackUsageInPosterAttribute_ = new NSString(bindings.QTTrackUsageInPosterAttribute);
169 }
170
171 NSString QTTrackUsageInPreviewAttribute ()
172 {
173 if (QTTrackUsageInPreviewAttribute_)
174 return QTTrackUsageInPreviewAttribute_;
175
176 return QTTrackUsageInPreviewAttribute_ = new NSString(bindings.QTTrackUsageInPreviewAttribute);
177 }
178
179 NSString QTTrackVolumeAttribute ()
180 {
181 if (QTTrackVolumeAttribute_)
182 return QTTrackVolumeAttribute_;
183
184 return QTTrackVolumeAttribute_ = new NSString(bindings.QTTrackVolumeAttribute);
185 }
186
187 const TQTTrackVisualSupport = `
188
189 NSSize apertureModeDimensionsForMode (NSString mode)
190 {
191 return invokeObjcSelf!(NSSize, "apertureModeDimensionsForMode:", NSString)(mode);
192 }
193
194 void setApertureModeDimensions (NSSize dimensions, NSString mode)
195 {
196 return invokeObjcSelf!(void, "setApertureModeDimensions:forMode:", NSSize, NSString)(dimensions, mode);
197 }
198
199 void generateApertureModeDimensions ()
200 {
201 return invokeObjcSelf!(void, "generateApertureModeDimensions");
202 }
203
204 void removeApertureModeDimensions ()
205 {
206 return invokeObjcSelf!(void, "removeApertureModeDimensions");
207 }
208
209 //mixin ObjcBindMethod!(apertureModeDimensionsForMode, "apertureModeDimensionsForMode:");
210 //mixin ObjcBindMethod!(setApertureModeDimensions, "setApertureModeDimensions:forMode:");
211 //mixin ObjcBindMethod!(generateApertureModeDimensions, "generateApertureModeDimensions");
212 //mixin ObjcBindMethod!(removeApertureModeDimensions, "removeApertureModeDimensions");
213
214 `;
215
216 class QTTrack : NSObject
217 {
218 mixin (ObjcWrap);
219
220 QTMovie movie ()
221 {
222 return invokeObjcSelf!(QTMovie, "movie");
223 }
224
225 QTMedia media ()
226 {
227 return invokeObjcSelf!(QTMedia, "media");
228 }
229
230 bool isEnabled ()
231 {
232 return invokeObjcSelf!(bool, "isEnabled");
233 }
234
235 void setEnabled (bool enabled)
236 {
237 return invokeObjcSelf!(void, "setEnabled:", bool)(enabled);
238 }
239
240 float volume ()
241 {
242 return invokeObjcSelf!(float, "volume");
243 }
244
245 void setVolume (float volume)
246 {
247 return invokeObjcSelf!(void, "setVolume:", float)(volume);
248 }
249
250 NSDictionary trackAttributes ()
251 {
252 return invokeObjcSelf!(NSDictionary, "trackAttributes");
253 }
254
255 void setTrackAttributes (NSDictionary attributes)
256 {
257 return invokeObjcSelf!(void, "setTrackAttributes:", NSDictionary)(attributes);
258 }
259
260 Object attributeForKey (NSString attributeKey)
261 {
262 return invokeObjcSelf!(Object, "attributeForKey:", NSString)(attributeKey);
263 }
264
265 void setAttribute (Object value, NSString attributeKey)
266 {
267 return invokeObjcSelf!(void, "setAttribute:forKey:", Object, NSString)(value, attributeKey);
268 }
269
270 void insertSegmentOfTrack (QTTrack track, QTTimeRange range, QTTime time)
271 {
272 return invokeObjcSelf!(void, "insertSegmentOfTrack:timeRange:atTime:", QTTrack, QTTimeRange, QTTime)(track, range, time);
273 }
274
275 void insertSegmentOfTrack (QTTrack track, QTTimeRange srcRange, QTTimeRange dstRange)
276 {
277 return invokeObjcSelf!(void, "insertSegmentOfTrack:fromRange:scaledToRange:", QTTrack, QTTimeRange, QTTimeRange)(track, srcRange, dstRange);
278 }
279
280 void insertEmptySegmentAt (QTTimeRange range)
281 {
282 return invokeObjcSelf!(void, "insertEmptySegmentAt:", QTTimeRange)(range);
283 }
284
285 void deleteSegment (QTTimeRange segment)
286 {
287 return invokeObjcSelf!(void, "deleteSegment:", QTTimeRange)(segment);
288 }
289
290 void scaleSegment (QTTimeRange segment, QTTime newDuration)
291 {
292 return invokeObjcSelf!(void, "scaleSegment:newDuration:", QTTimeRange, QTTime)(segment, newDuration);
293 }
294
295 void addImage (NSImage image, QTTime duration, NSDictionary attributes)
296 {
297 return invokeObjcSelf!(void, "addImage:forDuration:withAttributes:", NSImage, QTTime, NSDictionary)(image, duration, attributes);
298 }
299
300 // QTTrackVisualSupport
301 NSSize apertureModeDimensionsForMode (NSString mode)
302 {
303 return invokeObjcSelf!(NSSize, "apertureModeDimensionsForMode:", NSString)(mode);
304 }
305
306 void setApertureModeDimensions (NSSize dimensions, NSString mode)
307 {
308 return invokeObjcSelf!(void, "setApertureModeDimensions:forMode:", NSSize, NSString)(dimensions, mode);
309 }
310
311 void generateApertureModeDimensions ()
312 {
313 return invokeObjcSelf!(void, "generateApertureModeDimensions");
314 }
315
316 void removeApertureModeDimensions ()
317 {
318 return invokeObjcSelf!(void, "removeApertureModeDimensions");
319 }
320 }
321