Mercurial > projects > dstep
view dstep/qtkit/QTCaptureFileOutput.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 source
/** * 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.QTCaptureFileOutput; import dstep.foundation.Foundation; import dstep.objc.bridge.Bridge; import dstep.objc.objc; import dstep.qtkit.QTCaptureConnection; import dstep.qtkit.QTCaptureOutput; import dstep.qtkit.QTCompressionOptions; import dstep.qtkit.QTKitDefines; import dstep.qtkit.QTSampleBuffer; import dstep.qtkit.QTTime; alias NSUInteger QTCaptureFileOutputBufferDestination; enum { QTCaptureFileOutputBufferDestinationNewFile = 1, QTCaptureFileOutputBufferDestinationOldFile = 2 } const TQTCaptureFileOutputDelegate = ` void captureOutput (QTCaptureFileOutput captureOutput, QTSampleBuffer sampleBuffer, QTCaptureConnection connection) { return invokeObjcSelf!(void, "captureOutput:didOutputSampleBuffer:fromConnection:", QTCaptureFileOutput, QTSampleBuffer, QTCaptureConnection)(captureOutput, sampleBuffer, connection); } void captureOutput (QTCaptureFileOutput captureOutput, NSURL fileURL, NSArray connections) { return invokeObjcSelf!(void, "captureOutput:willStartRecordingToOutputFileAtURL:forConnections:", QTCaptureFileOutput, NSURL, NSArray)(captureOutput, fileURL, connections); } void captureOutput (QTCaptureFileOutput captureOutput, NSURL fileURL, NSArray connections) { return invokeObjcSelf!(void, "captureOutput:didStartRecordingToOutputFileAtURL:forConnections:", QTCaptureFileOutput, NSURL, NSArray)(captureOutput, fileURL, connections); } bool captureOutput (QTCaptureFileOutput captureOutput, NSURL outputFileURL, NSArray connections, NSError error) { return invokeObjcSelf!(bool, "captureOutput:shouldChangeOutputFileAtURL:forConnections:dueToError:", QTCaptureFileOutput, NSURL, NSArray, NSError)(captureOutput, outputFileURL, connections, error); } void captureOutput (QTCaptureFileOutput captureOutput, NSURL outputFileURL, NSArray connections, NSError error) { return invokeObjcSelf!(void, "captureOutput:mustChangeOutputFileAtURL:forConnections:dueToError:", QTCaptureFileOutput, NSURL, NSArray, NSError)(captureOutput, outputFileURL, connections, error); } void captureOutput (QTCaptureFileOutput captureOutput, NSURL outputFileURL, NSArray connections, NSError error) { return invokeObjcSelf!(void, "captureOutput:willFinishRecordingToOutputFileAtURL:forConnections:dueToError:", QTCaptureFileOutput, NSURL, NSArray, NSError)(captureOutput, outputFileURL, connections, error); } void captureOutput (QTCaptureFileOutput captureOutput, NSURL outputFileURL, NSArray connections, NSError error) { return invokeObjcSelf!(void, "captureOutput:didFinishRecordingToOutputFileAtURL:forConnections:dueToError:", QTCaptureFileOutput, NSURL, NSArray, NSError)(captureOutput, outputFileURL, connections, error); } //mixin ObjcBindMethod!(captureOutput, "captureOutput:didOutputSampleBuffer:fromConnection:"); //mixin ObjcBindMethod!(captureOutput, "captureOutput:willStartRecordingToOutputFileAtURL:forConnections:"); //mixin ObjcBindMethod!(captureOutput, "captureOutput:didStartRecordingToOutputFileAtURL:forConnections:"); //mixin ObjcBindMethod!(captureOutput, "captureOutput:shouldChangeOutputFileAtURL:forConnections:dueToError:"); //mixin ObjcBindMethod!(captureOutput, "captureOutput:mustChangeOutputFileAtURL:forConnections:dueToError:"); //mixin ObjcBindMethod!(captureOutput, "captureOutput:willFinishRecordingToOutputFileAtURL:forConnections:dueToError:"); //mixin ObjcBindMethod!(captureOutput, "captureOutput:didFinishRecordingToOutputFileAtURL:forConnections:dueToError:"); `; class QTCaptureFileOutput : QTCaptureOutput { mixin (ObjcWrap); NSURL outputFileURL () { return invokeObjcSelf!(NSURL, "outputFileURL"); } void recordToOutputFileURL (NSURL url) { return invokeObjcSelf!(void, "recordToOutputFileURL:", NSURL)(url); } void recordToOutputFileURL (NSURL url, uint bufferDestination) { return invokeObjcSelf!(void, "recordToOutputFileURL:bufferDestination:", NSURL, uint)(url, bufferDestination); } QTCompressionOptions compressionOptionsForConnection (QTCaptureConnection connection) { return invokeObjcSelf!(QTCompressionOptions, "compressionOptionsForConnection:", QTCaptureConnection)(connection); } void setCompressionOptions (QTCompressionOptions compressionOptions, QTCaptureConnection connection) { return invokeObjcSelf!(void, "setCompressionOptions:forConnection:", QTCompressionOptions, QTCaptureConnection)(compressionOptions, connection); } QTTime recordedDuration () { return invokeObjcSelf!(QTTime, "recordedDuration"); } ulong recordedFileSize () { return invokeObjcSelf!(ulong, "recordedFileSize"); } QTTime maximumRecordedDuration () { return invokeObjcSelf!(QTTime, "maximumRecordedDuration"); } void setMaximumRecordedDuration (QTTime maximumRecordedDuration) { return invokeObjcSelf!(void, "setMaximumRecordedDuration:", QTTime)(maximumRecordedDuration); } ulong maximumRecordedFileSize () { return invokeObjcSelf!(ulong, "maximumRecordedFileSize"); } void setMaximumRecordedFileSize (ulong maximumRecordedFileSize) { return invokeObjcSelf!(void, "setMaximumRecordedFileSize:", ulong)(maximumRecordedFileSize); } Object delegate_ () { return invokeObjcSelf!(Object, "delegate"); } void setDelegate (Object delegate_) { return invokeObjcSelf!(void, "setDelegate:", Object)(delegate_); } }