comparison dstep/qtkit/QTMedia.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.QTMedia;
8
9 import dstep.foundation.Foundation;
10 import dstep.objc.bridge.Bridge;
11 import dstep.objc.objc;
12 import dstep.qtkit.QTKitDefines;
13 import dstep.qtkit.QTMovie;
14 import dstep.qtkit.QTTrack;
15
16 import bindings = dstep.qtkit.QTMedia_bindings;
17
18 private
19 {
20 NSString QTMediaTypeVideo_;
21 NSString QTMediaTypeSound_;
22 NSString QTMediaTypeText_;
23 NSString QTMediaTypeBase_;
24 NSString QTMediaTypeMPEG_;
25 NSString QTMediaTypeMusic_;
26 NSString QTMediaTypeTimeCode_;
27 NSString QTMediaTypeSprite_;
28 NSString QTMediaTypeFlash_;
29 NSString QTMediaTypeMovie_;
30 NSString QTMediaTypeTween_;
31 NSString QTMediaType3D_;
32 NSString QTMediaTypeSkin_;
33 NSString QTMediaTypeQTVR_;
34 NSString QTMediaTypeHint_;
35 NSString QTMediaTypeStream_;
36 NSString QTMediaTypeMuxed_;
37 NSString QTMediaTypeQuartzComposer_;
38 NSString QTMediaCharacteristicVisual_;
39 NSString QTMediaCharacteristicAudio_;
40 NSString QTMediaCharacteristicCanSendVideo_;
41 NSString QTMediaCharacteristicProvidesActions_;
42 NSString QTMediaCharacteristicNonLinear_;
43 NSString QTMediaCharacteristicCanStep_;
44 NSString QTMediaCharacteristicHasNoDuration_;
45 NSString QTMediaCharacteristicHasSkinData_;
46 NSString QTMediaCharacteristicProvidesKeyFocus_;
47 NSString QTMediaCharacteristicHasVideoFrameRate_;
48 NSString QTMediaCreationTimeAttribute_;
49 NSString QTMediaDurationAttribute_;
50 NSString QTMediaModificationTimeAttribute_;
51 NSString QTMediaSampleCountAttribute_;
52 NSString QTMediaQualityAttribute_;
53 NSString QTMediaTimeScaleAttribute_;
54 NSString QTMediaTypeAttribute_;
55 }
56
57 NSString QTMediaTypeVideo ()
58 {
59 if (QTMediaTypeVideo_)
60 return QTMediaTypeVideo_;
61
62 return QTMediaTypeVideo_ = new NSString(bindings.QTMediaTypeVideo);
63 }
64
65 NSString QTMediaTypeSound ()
66 {
67 if (QTMediaTypeSound_)
68 return QTMediaTypeSound_;
69
70 return QTMediaTypeSound_ = new NSString(bindings.QTMediaTypeSound);
71 }
72
73 NSString QTMediaTypeText ()
74 {
75 if (QTMediaTypeText_)
76 return QTMediaTypeText_;
77
78 return QTMediaTypeText_ = new NSString(bindings.QTMediaTypeText);
79 }
80
81 NSString QTMediaTypeBase ()
82 {
83 if (QTMediaTypeBase_)
84 return QTMediaTypeBase_;
85
86 return QTMediaTypeBase_ = new NSString(bindings.QTMediaTypeBase);
87 }
88
89 NSString QTMediaTypeMPEG ()
90 {
91 if (QTMediaTypeMPEG_)
92 return QTMediaTypeMPEG_;
93
94 return QTMediaTypeMPEG_ = new NSString(bindings.QTMediaTypeMPEG);
95 }
96
97 NSString QTMediaTypeMusic ()
98 {
99 if (QTMediaTypeMusic_)
100 return QTMediaTypeMusic_;
101
102 return QTMediaTypeMusic_ = new NSString(bindings.QTMediaTypeMusic);
103 }
104
105 NSString QTMediaTypeTimeCode ()
106 {
107 if (QTMediaTypeTimeCode_)
108 return QTMediaTypeTimeCode_;
109
110 return QTMediaTypeTimeCode_ = new NSString(bindings.QTMediaTypeTimeCode);
111 }
112
113 NSString QTMediaTypeSprite ()
114 {
115 if (QTMediaTypeSprite_)
116 return QTMediaTypeSprite_;
117
118 return QTMediaTypeSprite_ = new NSString(bindings.QTMediaTypeSprite);
119 }
120
121 NSString QTMediaTypeFlash ()
122 {
123 if (QTMediaTypeFlash_)
124 return QTMediaTypeFlash_;
125
126 return QTMediaTypeFlash_ = new NSString(bindings.QTMediaTypeFlash);
127 }
128
129 NSString QTMediaTypeMovie ()
130 {
131 if (QTMediaTypeMovie_)
132 return QTMediaTypeMovie_;
133
134 return QTMediaTypeMovie_ = new NSString(bindings.QTMediaTypeMovie);
135 }
136
137 NSString QTMediaTypeTween ()
138 {
139 if (QTMediaTypeTween_)
140 return QTMediaTypeTween_;
141
142 return QTMediaTypeTween_ = new NSString(bindings.QTMediaTypeTween);
143 }
144
145 NSString QTMediaType3D ()
146 {
147 if (QTMediaType3D_)
148 return QTMediaType3D_;
149
150 return QTMediaType3D_ = new NSString(bindings.QTMediaType3D);
151 }
152
153 NSString QTMediaTypeSkin ()
154 {
155 if (QTMediaTypeSkin_)
156 return QTMediaTypeSkin_;
157
158 return QTMediaTypeSkin_ = new NSString(bindings.QTMediaTypeSkin);
159 }
160
161 NSString QTMediaTypeQTVR ()
162 {
163 if (QTMediaTypeQTVR_)
164 return QTMediaTypeQTVR_;
165
166 return QTMediaTypeQTVR_ = new NSString(bindings.QTMediaTypeQTVR);
167 }
168
169 NSString QTMediaTypeHint ()
170 {
171 if (QTMediaTypeHint_)
172 return QTMediaTypeHint_;
173
174 return QTMediaTypeHint_ = new NSString(bindings.QTMediaTypeHint);
175 }
176
177 NSString QTMediaTypeStream ()
178 {
179 if (QTMediaTypeStream_)
180 return QTMediaTypeStream_;
181
182 return QTMediaTypeStream_ = new NSString(bindings.QTMediaTypeStream);
183 }
184
185 NSString QTMediaTypeMuxed ()
186 {
187 if (QTMediaTypeMuxed_)
188 return QTMediaTypeMuxed_;
189
190 return QTMediaTypeMuxed_ = new NSString(bindings.QTMediaTypeMuxed);
191 }
192
193 NSString QTMediaTypeQuartzComposer ()
194 {
195 if (QTMediaTypeQuartzComposer_)
196 return QTMediaTypeQuartzComposer_;
197
198 return QTMediaTypeQuartzComposer_ = new NSString(bindings.QTMediaTypeQuartzComposer);
199 }
200
201 NSString QTMediaCharacteristicVisual ()
202 {
203 if (QTMediaCharacteristicVisual_)
204 return QTMediaCharacteristicVisual_;
205
206 return QTMediaCharacteristicVisual_ = new NSString(bindings.QTMediaCharacteristicVisual);
207 }
208
209 NSString QTMediaCharacteristicAudio ()
210 {
211 if (QTMediaCharacteristicAudio_)
212 return QTMediaCharacteristicAudio_;
213
214 return QTMediaCharacteristicAudio_ = new NSString(bindings.QTMediaCharacteristicAudio);
215 }
216
217 NSString QTMediaCharacteristicCanSendVideo ()
218 {
219 if (QTMediaCharacteristicCanSendVideo_)
220 return QTMediaCharacteristicCanSendVideo_;
221
222 return QTMediaCharacteristicCanSendVideo_ = new NSString(bindings.QTMediaCharacteristicCanSendVideo);
223 }
224
225 NSString QTMediaCharacteristicProvidesActions ()
226 {
227 if (QTMediaCharacteristicProvidesActions_)
228 return QTMediaCharacteristicProvidesActions_;
229
230 return QTMediaCharacteristicProvidesActions_ = new NSString(bindings.QTMediaCharacteristicProvidesActions);
231 }
232
233 NSString QTMediaCharacteristicNonLinear ()
234 {
235 if (QTMediaCharacteristicNonLinear_)
236 return QTMediaCharacteristicNonLinear_;
237
238 return QTMediaCharacteristicNonLinear_ = new NSString(bindings.QTMediaCharacteristicNonLinear);
239 }
240
241 NSString QTMediaCharacteristicCanStep ()
242 {
243 if (QTMediaCharacteristicCanStep_)
244 return QTMediaCharacteristicCanStep_;
245
246 return QTMediaCharacteristicCanStep_ = new NSString(bindings.QTMediaCharacteristicCanStep);
247 }
248
249 NSString QTMediaCharacteristicHasNoDuration ()
250 {
251 if (QTMediaCharacteristicHasNoDuration_)
252 return QTMediaCharacteristicHasNoDuration_;
253
254 return QTMediaCharacteristicHasNoDuration_ = new NSString(bindings.QTMediaCharacteristicHasNoDuration);
255 }
256
257 NSString QTMediaCharacteristicHasSkinData ()
258 {
259 if (QTMediaCharacteristicHasSkinData_)
260 return QTMediaCharacteristicHasSkinData_;
261
262 return QTMediaCharacteristicHasSkinData_ = new NSString(bindings.QTMediaCharacteristicHasSkinData);
263 }
264
265 NSString QTMediaCharacteristicProvidesKeyFocus ()
266 {
267 if (QTMediaCharacteristicProvidesKeyFocus_)
268 return QTMediaCharacteristicProvidesKeyFocus_;
269
270 return QTMediaCharacteristicProvidesKeyFocus_ = new NSString(bindings.QTMediaCharacteristicProvidesKeyFocus);
271 }
272
273 NSString QTMediaCharacteristicHasVideoFrameRate ()
274 {
275 if (QTMediaCharacteristicHasVideoFrameRate_)
276 return QTMediaCharacteristicHasVideoFrameRate_;
277
278 return QTMediaCharacteristicHasVideoFrameRate_ = new NSString(bindings.QTMediaCharacteristicHasVideoFrameRate);
279 }
280
281 NSString QTMediaCreationTimeAttribute ()
282 {
283 if (QTMediaCreationTimeAttribute_)
284 return QTMediaCreationTimeAttribute_;
285
286 return QTMediaCreationTimeAttribute_ = new NSString(bindings.QTMediaCreationTimeAttribute);
287 }
288
289 NSString QTMediaDurationAttribute ()
290 {
291 if (QTMediaDurationAttribute_)
292 return QTMediaDurationAttribute_;
293
294 return QTMediaDurationAttribute_ = new NSString(bindings.QTMediaDurationAttribute);
295 }
296
297 NSString QTMediaModificationTimeAttribute ()
298 {
299 if (QTMediaModificationTimeAttribute_)
300 return QTMediaModificationTimeAttribute_;
301
302 return QTMediaModificationTimeAttribute_ = new NSString(bindings.QTMediaModificationTimeAttribute);
303 }
304
305 NSString QTMediaSampleCountAttribute ()
306 {
307 if (QTMediaSampleCountAttribute_)
308 return QTMediaSampleCountAttribute_;
309
310 return QTMediaSampleCountAttribute_ = new NSString(bindings.QTMediaSampleCountAttribute);
311 }
312
313 NSString QTMediaQualityAttribute ()
314 {
315 if (QTMediaQualityAttribute_)
316 return QTMediaQualityAttribute_;
317
318 return QTMediaQualityAttribute_ = new NSString(bindings.QTMediaQualityAttribute);
319 }
320
321 NSString QTMediaTimeScaleAttribute ()
322 {
323 if (QTMediaTimeScaleAttribute_)
324 return QTMediaTimeScaleAttribute_;
325
326 return QTMediaTimeScaleAttribute_ = new NSString(bindings.QTMediaTimeScaleAttribute);
327 }
328
329 NSString QTMediaTypeAttribute ()
330 {
331 if (QTMediaTypeAttribute_)
332 return QTMediaTypeAttribute_;
333
334 return QTMediaTypeAttribute_ = new NSString(bindings.QTMediaTypeAttribute);
335 }
336
337 class QTMedia : NSObject
338 {
339 mixin (ObjcWrap);
340
341 QTTrack track ()
342 {
343 return invokeObjcSelf!(QTTrack, "track");
344 }
345
346 NSDictionary mediaAttributes ()
347 {
348 return invokeObjcSelf!(NSDictionary, "mediaAttributes");
349 }
350
351 void setMediaAttributes (NSDictionary attributes)
352 {
353 return invokeObjcSelf!(void, "setMediaAttributes:", NSDictionary)(attributes);
354 }
355
356 Object attributeForKey (NSString attributeKey)
357 {
358 return invokeObjcSelf!(Object, "attributeForKey:", NSString)(attributeKey);
359 }
360
361 void setAttribute (Object value, NSString attributeKey)
362 {
363 return invokeObjcSelf!(void, "setAttribute:forKey:", Object, NSString)(value, attributeKey);
364 }
365
366 bool hasCharacteristic (NSString characteristic)
367 {
368 return invokeObjcSelf!(bool, "hasCharacteristic:", NSString)(characteristic);
369 }
370 }
371