Vuo  2.4.0
module.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "VuoConfig.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18#if !defined(VUO_STRINGIFY)
20 #define VUO_STRINGIFY(...) #__VA_ARGS__
21#endif
22
23#include "VuoHeap.h"
24
25#if !defined(_json_object_h_) && !defined(DOXYGEN)
26 struct json_object;
27 extern const char* json_object_to_json_string(struct json_object *obj);
28#endif
29
30#include "coreTypes.h"
31
32
109#define VuoModuleMetadata(...) extern const char *moduleDetails; const char *moduleDetails = #__VA_ARGS__
110
116#ifndef DISPATCH_RETURNS_RETAINED_BLOCK
119 #define DISPATCH_RETURNS_RETAINED_BLOCK
120#endif
122#include <dispatch/dispatch.h>
123
127typedef void (*VuoCompositionFiniCallback)(void);
128
132const char *VuoGetWorkingDirectory(void);
133
134const char *VuoGetFrameworkPath(void);
135const char *VuoGetRunnerFrameworkPath(void);
136
140pid_t VuoGetRunnerPid(void);
141
145void VuoStopComposition(void);
146
154
162
174void VuoDisableTermination(void);
175
179void VuoEnableTermination(void);
180
185
186bool VuoIsPro(void);
187
188bool VuoProcessorSupportsAVX2(void);
189
194extern const int VuoGraphicsWindowDefaultWidth;
195
214#define VuoJson_getObjectValue(type, js, key, ...) \
215(^{ \
216 json_object *o; \
217 if (json_object_object_get_ex(js, key, &o)) \
218 return type ## _makeFromJson(o); \
219 else \
220 return (type)__VA_ARGS__; \
221}())
222
238#define VuoType_returnInequality(type, a, b) \
239 if (type ## _isLessThan(a, b)) return true; \
240 if (type ## _isLessThan(b, a)) return false;
241
242#ifdef __cplusplus
243}
244#endif