Mercurial > projects > dstep
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/qtkit/QTMedia.d Sun Jan 03 22:06:11 2010 +0100 @@ -0,0 +1,371 @@ +/** + * 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.QTMedia; + +import dstep.foundation.Foundation; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc; +import dstep.qtkit.QTKitDefines; +import dstep.qtkit.QTMovie; +import dstep.qtkit.QTTrack; + +import bindings = dstep.qtkit.QTMedia_bindings; + +private +{ + NSString QTMediaTypeVideo_; + NSString QTMediaTypeSound_; + NSString QTMediaTypeText_; + NSString QTMediaTypeBase_; + NSString QTMediaTypeMPEG_; + NSString QTMediaTypeMusic_; + NSString QTMediaTypeTimeCode_; + NSString QTMediaTypeSprite_; + NSString QTMediaTypeFlash_; + NSString QTMediaTypeMovie_; + NSString QTMediaTypeTween_; + NSString QTMediaType3D_; + NSString QTMediaTypeSkin_; + NSString QTMediaTypeQTVR_; + NSString QTMediaTypeHint_; + NSString QTMediaTypeStream_; + NSString QTMediaTypeMuxed_; + NSString QTMediaTypeQuartzComposer_; + NSString QTMediaCharacteristicVisual_; + NSString QTMediaCharacteristicAudio_; + NSString QTMediaCharacteristicCanSendVideo_; + NSString QTMediaCharacteristicProvidesActions_; + NSString QTMediaCharacteristicNonLinear_; + NSString QTMediaCharacteristicCanStep_; + NSString QTMediaCharacteristicHasNoDuration_; + NSString QTMediaCharacteristicHasSkinData_; + NSString QTMediaCharacteristicProvidesKeyFocus_; + NSString QTMediaCharacteristicHasVideoFrameRate_; + NSString QTMediaCreationTimeAttribute_; + NSString QTMediaDurationAttribute_; + NSString QTMediaModificationTimeAttribute_; + NSString QTMediaSampleCountAttribute_; + NSString QTMediaQualityAttribute_; + NSString QTMediaTimeScaleAttribute_; + NSString QTMediaTypeAttribute_; +} + +NSString QTMediaTypeVideo () +{ + if (QTMediaTypeVideo_) + return QTMediaTypeVideo_; + + return QTMediaTypeVideo_ = new NSString(bindings.QTMediaTypeVideo); +} + +NSString QTMediaTypeSound () +{ + if (QTMediaTypeSound_) + return QTMediaTypeSound_; + + return QTMediaTypeSound_ = new NSString(bindings.QTMediaTypeSound); +} + +NSString QTMediaTypeText () +{ + if (QTMediaTypeText_) + return QTMediaTypeText_; + + return QTMediaTypeText_ = new NSString(bindings.QTMediaTypeText); +} + +NSString QTMediaTypeBase () +{ + if (QTMediaTypeBase_) + return QTMediaTypeBase_; + + return QTMediaTypeBase_ = new NSString(bindings.QTMediaTypeBase); +} + +NSString QTMediaTypeMPEG () +{ + if (QTMediaTypeMPEG_) + return QTMediaTypeMPEG_; + + return QTMediaTypeMPEG_ = new NSString(bindings.QTMediaTypeMPEG); +} + +NSString QTMediaTypeMusic () +{ + if (QTMediaTypeMusic_) + return QTMediaTypeMusic_; + + return QTMediaTypeMusic_ = new NSString(bindings.QTMediaTypeMusic); +} + +NSString QTMediaTypeTimeCode () +{ + if (QTMediaTypeTimeCode_) + return QTMediaTypeTimeCode_; + + return QTMediaTypeTimeCode_ = new NSString(bindings.QTMediaTypeTimeCode); +} + +NSString QTMediaTypeSprite () +{ + if (QTMediaTypeSprite_) + return QTMediaTypeSprite_; + + return QTMediaTypeSprite_ = new NSString(bindings.QTMediaTypeSprite); +} + +NSString QTMediaTypeFlash () +{ + if (QTMediaTypeFlash_) + return QTMediaTypeFlash_; + + return QTMediaTypeFlash_ = new NSString(bindings.QTMediaTypeFlash); +} + +NSString QTMediaTypeMovie () +{ + if (QTMediaTypeMovie_) + return QTMediaTypeMovie_; + + return QTMediaTypeMovie_ = new NSString(bindings.QTMediaTypeMovie); +} + +NSString QTMediaTypeTween () +{ + if (QTMediaTypeTween_) + return QTMediaTypeTween_; + + return QTMediaTypeTween_ = new NSString(bindings.QTMediaTypeTween); +} + +NSString QTMediaType3D () +{ + if (QTMediaType3D_) + return QTMediaType3D_; + + return QTMediaType3D_ = new NSString(bindings.QTMediaType3D); +} + +NSString QTMediaTypeSkin () +{ + if (QTMediaTypeSkin_) + return QTMediaTypeSkin_; + + return QTMediaTypeSkin_ = new NSString(bindings.QTMediaTypeSkin); +} + +NSString QTMediaTypeQTVR () +{ + if (QTMediaTypeQTVR_) + return QTMediaTypeQTVR_; + + return QTMediaTypeQTVR_ = new NSString(bindings.QTMediaTypeQTVR); +} + +NSString QTMediaTypeHint () +{ + if (QTMediaTypeHint_) + return QTMediaTypeHint_; + + return QTMediaTypeHint_ = new NSString(bindings.QTMediaTypeHint); +} + +NSString QTMediaTypeStream () +{ + if (QTMediaTypeStream_) + return QTMediaTypeStream_; + + return QTMediaTypeStream_ = new NSString(bindings.QTMediaTypeStream); +} + +NSString QTMediaTypeMuxed () +{ + if (QTMediaTypeMuxed_) + return QTMediaTypeMuxed_; + + return QTMediaTypeMuxed_ = new NSString(bindings.QTMediaTypeMuxed); +} + +NSString QTMediaTypeQuartzComposer () +{ + if (QTMediaTypeQuartzComposer_) + return QTMediaTypeQuartzComposer_; + + return QTMediaTypeQuartzComposer_ = new NSString(bindings.QTMediaTypeQuartzComposer); +} + +NSString QTMediaCharacteristicVisual () +{ + if (QTMediaCharacteristicVisual_) + return QTMediaCharacteristicVisual_; + + return QTMediaCharacteristicVisual_ = new NSString(bindings.QTMediaCharacteristicVisual); +} + +NSString QTMediaCharacteristicAudio () +{ + if (QTMediaCharacteristicAudio_) + return QTMediaCharacteristicAudio_; + + return QTMediaCharacteristicAudio_ = new NSString(bindings.QTMediaCharacteristicAudio); +} + +NSString QTMediaCharacteristicCanSendVideo () +{ + if (QTMediaCharacteristicCanSendVideo_) + return QTMediaCharacteristicCanSendVideo_; + + return QTMediaCharacteristicCanSendVideo_ = new NSString(bindings.QTMediaCharacteristicCanSendVideo); +} + +NSString QTMediaCharacteristicProvidesActions () +{ + if (QTMediaCharacteristicProvidesActions_) + return QTMediaCharacteristicProvidesActions_; + + return QTMediaCharacteristicProvidesActions_ = new NSString(bindings.QTMediaCharacteristicProvidesActions); +} + +NSString QTMediaCharacteristicNonLinear () +{ + if (QTMediaCharacteristicNonLinear_) + return QTMediaCharacteristicNonLinear_; + + return QTMediaCharacteristicNonLinear_ = new NSString(bindings.QTMediaCharacteristicNonLinear); +} + +NSString QTMediaCharacteristicCanStep () +{ + if (QTMediaCharacteristicCanStep_) + return QTMediaCharacteristicCanStep_; + + return QTMediaCharacteristicCanStep_ = new NSString(bindings.QTMediaCharacteristicCanStep); +} + +NSString QTMediaCharacteristicHasNoDuration () +{ + if (QTMediaCharacteristicHasNoDuration_) + return QTMediaCharacteristicHasNoDuration_; + + return QTMediaCharacteristicHasNoDuration_ = new NSString(bindings.QTMediaCharacteristicHasNoDuration); +} + +NSString QTMediaCharacteristicHasSkinData () +{ + if (QTMediaCharacteristicHasSkinData_) + return QTMediaCharacteristicHasSkinData_; + + return QTMediaCharacteristicHasSkinData_ = new NSString(bindings.QTMediaCharacteristicHasSkinData); +} + +NSString QTMediaCharacteristicProvidesKeyFocus () +{ + if (QTMediaCharacteristicProvidesKeyFocus_) + return QTMediaCharacteristicProvidesKeyFocus_; + + return QTMediaCharacteristicProvidesKeyFocus_ = new NSString(bindings.QTMediaCharacteristicProvidesKeyFocus); +} + +NSString QTMediaCharacteristicHasVideoFrameRate () +{ + if (QTMediaCharacteristicHasVideoFrameRate_) + return QTMediaCharacteristicHasVideoFrameRate_; + + return QTMediaCharacteristicHasVideoFrameRate_ = new NSString(bindings.QTMediaCharacteristicHasVideoFrameRate); +} + +NSString QTMediaCreationTimeAttribute () +{ + if (QTMediaCreationTimeAttribute_) + return QTMediaCreationTimeAttribute_; + + return QTMediaCreationTimeAttribute_ = new NSString(bindings.QTMediaCreationTimeAttribute); +} + +NSString QTMediaDurationAttribute () +{ + if (QTMediaDurationAttribute_) + return QTMediaDurationAttribute_; + + return QTMediaDurationAttribute_ = new NSString(bindings.QTMediaDurationAttribute); +} + +NSString QTMediaModificationTimeAttribute () +{ + if (QTMediaModificationTimeAttribute_) + return QTMediaModificationTimeAttribute_; + + return QTMediaModificationTimeAttribute_ = new NSString(bindings.QTMediaModificationTimeAttribute); +} + +NSString QTMediaSampleCountAttribute () +{ + if (QTMediaSampleCountAttribute_) + return QTMediaSampleCountAttribute_; + + return QTMediaSampleCountAttribute_ = new NSString(bindings.QTMediaSampleCountAttribute); +} + +NSString QTMediaQualityAttribute () +{ + if (QTMediaQualityAttribute_) + return QTMediaQualityAttribute_; + + return QTMediaQualityAttribute_ = new NSString(bindings.QTMediaQualityAttribute); +} + +NSString QTMediaTimeScaleAttribute () +{ + if (QTMediaTimeScaleAttribute_) + return QTMediaTimeScaleAttribute_; + + return QTMediaTimeScaleAttribute_ = new NSString(bindings.QTMediaTimeScaleAttribute); +} + +NSString QTMediaTypeAttribute () +{ + if (QTMediaTypeAttribute_) + return QTMediaTypeAttribute_; + + return QTMediaTypeAttribute_ = new NSString(bindings.QTMediaTypeAttribute); +} + +class QTMedia : NSObject +{ + mixin (ObjcWrap); + + QTTrack track () + { + return invokeObjcSelf!(QTTrack, "track"); + } + + NSDictionary mediaAttributes () + { + return invokeObjcSelf!(NSDictionary, "mediaAttributes"); + } + + void setMediaAttributes (NSDictionary attributes) + { + return invokeObjcSelf!(void, "setMediaAttributes:", 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); + } + + bool hasCharacteristic (NSString characteristic) + { + return invokeObjcSelf!(bool, "hasCharacteristic:", NSString)(characteristic); + } +} +