Vuo 2.4.2
Loading...
Searching...
No Matches
Functions | Variables
libmodule.c File Reference

Description

Implementations of functions available to modules (nodes, types, libraries).

Definition in file libmodule.c.

Go to the source code of this file.

Functions

static void * copyCompositionStateFromThreadLocalStorage (void)
 Wrapper for vuoCopyCompositionStateFromThreadLocalStorage(). More...
 
const char * VuoGetWorkingDirectory (void)
 Returns the POSIX path that this composition should use to resolve relative paths. More...
 
void VuoFrameworkPaths_dylibLoaded (const struct mach_header *mh32, intptr_t vmaddr_slide)
 Helper for VuoInitializeFrameworkPaths. More...
 
void VuoInitializeFrameworkPaths (void)
 Helper for VuoGetFrameworkPath and VuoGetRunnerFrameworkPath. More...
 
const char * VuoGetFrameworkPath (void)
 Returns the absolute path of Vuo.framework (including the Vuo.framework directory name without a trailing slash), or an empty string if Vuo.framework cannot be located. More...
 
const char * VuoGetRunnerFrameworkPath (void)
 Returns the absolute path of VuoRunner.framework (including the VuoRunner.framework directory name without a trailing slash), or an empty string if VuoRunner.framework cannot be located. More...
 
const char * VuoGetFrameworkOrRunnerFrameworkPath (void)
 Returns the absolute path of Vuo.framework (preferably) or VuoRunner.framework (if Vuo.framework is unavailable), or NULL (if neither is available). More...
 
pid_t VuoGetRunnerPid (void)
 Returns the process ID of the runner that started the composition. More...
 
void VuoStopComposition (void)
 Asynchronously stops the composition. More...
 
void VuoStopCurrentComposition (void)
 Asynchronously stops the composition. More...
 
void VuoDisableTermination (void)
 Temporarily disables automatic termination. More...
 
void VuoEnableTermination (void)
 Resumes automatic termination after a call to VuoDisableTermination(). More...
 
bool VuoShouldShowSplashWindow (void)
 Returns true if this composition should show the Vuo Community Edition splash window. More...
 
bool VuoProcessorSupportsAVX2 (void)
 Returns true if the current (runtime) processor supports Intel AVX2. More...
 

Variables

const int VuoGraphicsWindowDefaultWidth = 1024
 The standard Vuo graphics window width, in points. More...
 
dispatch_once_t VuoGetWorkingDirectoryOnce = 0
 Ensures the bulk of VuoGetWorkingDirectory only executes once. More...
 
static pthread_once_t VuoFrameworkPathsOnce = PTHREAD_ONCE_INIT
 Ensures the framework paths are initialized just once. More...
 
static bool VuoFrameworkPathsInitialMatchCompleted = false
 Stops checking dylibs after the initial scan. More...
 
static char * VuoFrameworkPath = NULL
 The absolute path of Vuo.framework. More...
 
static char * VuoRunnerFrameworkPath = NULL
 The absolute path of VuoRunner.framework. More...
 

Function Documentation

◆ copyCompositionStateFromThreadLocalStorage()

static void * copyCompositionStateFromThreadLocalStorage ( void  )
static

Wrapper for vuoCopyCompositionStateFromThreadLocalStorage().

Definition at line 23 of file libmodule.c.

◆ VuoDisableTermination()

void VuoDisableTermination ( void  )

Temporarily disables automatic termination.

When a composition is asked to shut down, a watchdog timer waits a few seconds then force-quits if it hasn't cleanly shut down by then. This disables that watchdog.

Call this before entering a section where it would be undesirable to have the composition automatically force-quit, such as when saving a movie file that needs to be finalized.

When the work is over, call VuoEnableTermination().

Definition at line 229 of file libmodule.c.

◆ VuoEnableTermination()

void VuoEnableTermination ( void  )

Resumes automatic termination after a call to VuoDisableTermination().

Definition at line 241 of file libmodule.c.

◆ VuoFrameworkPaths_dylibLoaded()

void VuoFrameworkPaths_dylibLoaded ( const struct mach_header *  mh32,
intptr_t  vmaddr_slide 
)

Helper for VuoInitializeFrameworkPaths.

This needs to be kept in sync with VuoFileUtilities::dylibLoaded().

Definition at line 81 of file libmodule.c.

◆ VuoGetFrameworkOrRunnerFrameworkPath()

const char * VuoGetFrameworkOrRunnerFrameworkPath ( void  )

Returns the absolute path of Vuo.framework (preferably) or VuoRunner.framework (if Vuo.framework is unavailable), or NULL (if neither is available).

The returned string remains owned by libmodule; the caller should not modify or free it.

Definition at line 185 of file libmodule.c.

◆ VuoGetFrameworkPath()

const char * VuoGetFrameworkPath ( void  )

Returns the absolute path of Vuo.framework (including the Vuo.framework directory name without a trailing slash), or an empty string if Vuo.framework cannot be located.

The returned string remains owned by libmodule; the caller should not modify or free it.

See also VuoFileUtilities::getVuoFrameworkPath.

Definition at line 154 of file libmodule.c.

◆ VuoGetRunnerFrameworkPath()

const char * VuoGetRunnerFrameworkPath ( void  )

Returns the absolute path of VuoRunner.framework (including the VuoRunner.framework directory name without a trailing slash), or an empty string if VuoRunner.framework cannot be located.

The returned string remains owned by libmodule; the caller should not modify or free it.

See also VuoFileUtilities::getVuoRunnerFrameworkPath.

Changed in Vuo 2.0.0:
New.

Definition at line 171 of file libmodule.c.

◆ VuoGetRunnerPid()

pid_t VuoGetRunnerPid ( void  )

Returns the process ID of the runner that started the composition.

Definition at line 194 of file libmodule.c.

◆ VuoGetWorkingDirectory()

const char * VuoGetWorkingDirectory ( void  )

Returns the POSIX path that this composition should use to resolve relative paths.

Returns the directory that nodes should use to resolve relative paths.

The returned string remains owned by this function; the caller should not modify or free it.

Definition at line 45 of file libmodule.c.

◆ VuoInitializeFrameworkPaths()

void VuoInitializeFrameworkPaths ( void  )

Helper for VuoGetFrameworkPath and VuoGetRunnerFrameworkPath.

Definition at line 123 of file libmodule.c.

◆ VuoProcessorSupportsAVX2()

bool VuoProcessorSupportsAVX2 ( void  )

Returns true if the current (runtime) processor supports Intel AVX2.

Definition at line 284 of file libmodule.c.

◆ VuoShouldShowSplashWindow()

bool VuoShouldShowSplashWindow ( void  )

Returns true if this composition should show the Vuo Community Edition splash window.

Definition at line 253 of file libmodule.c.

◆ VuoStopComposition()

void VuoStopComposition ( void  )

Asynchronously stops the composition.

Definition at line 207 of file libmodule.c.

◆ VuoStopCurrentComposition()

void VuoStopCurrentComposition ( void  )

Asynchronously stops the composition.

VuoStopComposition() is typically preferable to this function, since this function doesn't handle multiple compositions running in the process.

Definition at line 219 of file libmodule.c.

Variable Documentation

◆ VuoFrameworkPath

char* VuoFrameworkPath = NULL
static

The absolute path of Vuo.framework.

Definition at line 73 of file libmodule.c.

◆ VuoFrameworkPathsInitialMatchCompleted

bool VuoFrameworkPathsInitialMatchCompleted = false
static

Stops checking dylibs after the initial scan.

Definition at line 72 of file libmodule.c.

◆ VuoFrameworkPathsOnce

pthread_once_t VuoFrameworkPathsOnce = PTHREAD_ONCE_INIT
static

Ensures the framework paths are initialized just once.

Definition at line 71 of file libmodule.c.

◆ VuoGetWorkingDirectoryOnce

dispatch_once_t VuoGetWorkingDirectoryOnce = 0

Ensures the bulk of VuoGetWorkingDirectory only executes once.

This is a public symbol so TestVuoUrl can reset it.

Definition at line 38 of file libmodule.c.

◆ VuoGraphicsWindowDefaultWidth

const int VuoGraphicsWindowDefaultWidth = 1024

The standard Vuo graphics window width, in points.

Changed in Vuo 2.0.0:
New.

Definition at line 18 of file libmodule.c.

◆ VuoRunnerFrameworkPath

char* VuoRunnerFrameworkPath = NULL
static

The absolute path of VuoRunner.framework.

Definition at line 74 of file libmodule.c.