Mercurial > projects > dstep
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 |