Vuo  2.3.2
VuoRunnerCocoa.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #if defined(__OBJC__) || defined(DOXYGEN)
13 
14 #include "VuoMacOSSDKWorkaround.h"
15 #import <AppKit/AppKit.h>
16 
18 #define VuoRunner void
19 #define VuoCompiler void
20 #define VuoComposition void
21 #define VuoProtocol void
22 struct _VuoImage;
23 typedef struct _VuoImage * VuoImage;
24 typedef struct json_object json_object;
26 
34 @interface VuoRunnerCocoa : NSObject
35 
41 @property (readonly) NSString *compositionName;
42 
48 @property (readonly) NSString *compositionDescription;
49 
55 @property (readonly) NSString *compositionCopyright;
56 
57 + (void)setGlobalRootContext:(CGLContextObj)context;
58 + (void)prepareForFastBuild;
59 
60 - (NSArray *)inputPorts;
61 - (NSArray *)outputPorts;
62 - (NSDictionary *)detailsForPort:(NSString *)portName;
64 - (BOOL)setInputValuesWithPropertyList:(id)propertyList;
65 - (BOOL)setInputValues:(NSDictionary *)namesAndValues;
66 - (BOOL)setInputJSON:(NSDictionary *)namesAndJSON;
67 
68 - (id)valueForOutputPort:(NSString *)portName;
69 - (GLuint)glTextureWithTarget:(GLuint)target forOutputPort:(NSString *)portName outputPixelsWide:(NSUInteger *)outputPixelsWide pixelsHigh:(NSUInteger *)outputPixelsHigh;
70 - (GLuint)glTextureFromProvider:(GLuint (^)(NSUInteger pixelsWide, NSUInteger pixelsHigh))provider forOutputPort:(NSString *)portName outputPixelsWide:(NSUInteger *)outputPixelsWide pixelsHigh:(NSUInteger *)outputPixelsHigh ioSurface:(IOSurfaceRef *)outputIOSurface;
71 @end
72 
77 + (BOOL)canOpenComposition:(NSURL *)compositionURL;
78 + (BOOL)canOpenCompositionString:(NSString *)compositionString;
79 - (id)initWithComposition:(NSURL *)compositionURL;
80 - (id)initWithCompositionString:(NSString *)compositionString name:(NSString *)name sourcePath:(NSString *)sourcePath;
81 - (NSImage *)filterNSImage:(NSImage *)image atTime:(NSTimeInterval)time;
82 - (GLuint)filterGLTexture:(GLuint)textureName target:(GLuint)target pixelsWide:(NSUInteger)pixelsWide pixelsHigh:(NSUInteger)pixelsHigh atTime:(NSTimeInterval)time outputPixelsWide:(NSUInteger *)outputPixelsWide pixelsHigh:(NSUInteger *)outputPixelsHigh;
83 - (GLuint)filterGLTexture:(GLuint)textureName target:(GLuint)target pixelsWide:(NSUInteger)pixelsWide pixelsHigh:(NSUInteger)pixelsHigh atTime:(NSTimeInterval)time withTextureProvider:(GLuint (^)(NSUInteger pixelsWide, NSUInteger pixelsHigh))provider outputPixelsWide:(NSUInteger *)outputPixelsWide pixelsHigh:(NSUInteger *)outputPixelsHigh ioSurface:(IOSurfaceRef *)outputIOSurface;
84 @end
85 
90 + (BOOL)canOpenComposition:(NSURL *)compositionURL;
91 + (BOOL)canOpenCompositionString:(NSString *)compositionString;
92 - (id)initWithComposition:(NSURL *)compositionURL;
93 - (id)initWithCompositionString:(NSString *)compositionString name:(NSString *)name sourcePath:(NSString *)sourcePath;
94 - (NSImage *)generateNSImageWithSuggestedPixelsWide:(NSUInteger)suggestedPixelsWide pixelsHigh:(NSUInteger)suggestedPixelsHigh atTime:(NSTimeInterval)time;
95 - (GLuint)generateGLTextureWithTarget:(GLuint)target suggestedPixelsWide:(NSUInteger)suggestedPixelsWide pixelsHigh:(NSUInteger)suggestedPixelsHigh atTime:(NSTimeInterval)time outputPixelsWide:(NSUInteger *)outputPixelsWide pixelsHigh:(NSUInteger *)outputPixelsHigh;
96 - (GLuint)generateGLTextureWithProvider:(GLuint (^)(NSUInteger pixelsWide, NSUInteger pixelsHigh))provider suggestedPixelsWide:(NSUInteger)pixelsWide pixelsHigh:(NSUInteger)pixelsHigh atTime:(NSTimeInterval)time outputPixelsWide:(NSUInteger *)outputPixelsWide pixelsHigh:(NSUInteger *)outputPixelsHigh ioSurface:(IOSurfaceRef *)outputIOSurface;
97 - (VuoImage)generateVuoImageWithSuggestedPixelsWide:(NSUInteger)suggestedPixelsWide pixelsHigh:(NSUInteger)suggestedPixelsHigh atTime:(NSTimeInterval)time;
98 @end
99 
100 #undef VuoRunner
101 #undef VuoCompiler
102 #undef VuoComposition
103 #undef VuoProtocol
104 
105 #endif // defined(__OBJC__) || defined(DOXYGEN)