Vuo  0.9.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions | Variables
VuoCompositionLoader.cc File Reference

Description

VuoCompositionLoader implementation.

Functions

void replaceComposition (const char *dylibPath, const char *updatedCompositionDiff)
 Replaces the currently running composition (if any) with the given composition.
 
void stopComposition (void)
 Sends a control request to the composition telling it to stop.
 
void pauseComposition (void)
 Sends a control request to the composition telling it to pause.
 
void unpauseComposition (void)
 Sends a control request to the composition telling it to unpause.
 
void loadResourceDylib (const char *resourceDylibPath)
 Loads the resource dylib at the given path and adds the resulting handle to the list of resource dylibs.
 
void unloadResourceDylibs (void)
 Unloads all resource dylibs.
 
void vuoLoaderControlReplySend (enum VuoLoaderControlReply reply, zmq_msg_t *messages, unsigned int messageCount)
 Sends a control reply message to the process controlling this composition loader.
 
void vuoControlRequestSend (enum VuoControlRequest request, zmq_msg_t *messages, unsigned int messageCount)
 Sends a control request message to the running composition.
 
void vuoControlReplyReceive (enum VuoControlReply expectedReply)
 Receives a control reply message from the running composition, and checks that it is the expected reply.
 

Variables

void * ZMQLoaderControlContext = NULL
 The context for initializing sockets to control the composition loader.
 
void * ZMQLoaderControl = NULL
 The socket for controlling the composition loader.
 
void * ZMQControlContext = NULL
 The context for initializing sockets to control the composition.
 
void * ZMQControl = NULL
 The socket for controlling the composition.
 
char * controlURL = NULL
 The URL that the composition will use to initialize its control socket.
 
char * telemetryURL = NULL
 The URL that the composition will use to initialize its telemetry socket.
 
bool * isStopped = NULL
 True if the composition has stopped.
 
bool * isPaused = NULL
 True if the composition is paused.
 
bool isReplacing = false
 True if the composition is in the process of being replaced.
 
bool isReferenceCountingInitialized = false
 True if VuoHeap_init() has been called.
 
void * dylibHandle = NULL
 A handle to the running composition.
 
void ** resourceDylibHandles = NULL
 A list of handles to the running composition's resources.
 
size_t resourceDylibHandlesSize = 0
 The number of items in resourceDylibHandles.
 
size_t resourceDylibHandlesCapacity = 0
 The number of items that resourceDylibHandlesCapacity can currently hold.
 

Function Documentation

void loadResourceDylib ( const char *  resourceDylibPath)

Loads the resource dylib at the given path and adds the resulting handle to the list of resource dylibs.

If resourceDylibPath is the empty string, does nothing.

void pauseComposition ( void  )

Sends a control request to the composition telling it to pause.

void replaceComposition ( const char *  dylibPath,
const char *  compositionDiff 
)

Replaces the currently running composition (if any) with the given composition.

void stopComposition ( void  )

Sends a control request to the composition telling it to stop.

This function may only be called on dispatch queue VuoControlQueue.

void unloadResourceDylibs ( void  )

Unloads all resource dylibs.

void unpauseComposition ( void  )

Sends a control request to the composition telling it to unpause.

void vuoControlReplyReceive ( enum VuoControlReply  expectedReply)

Receives a control reply message from the running composition, and checks that it is the expected reply.

void vuoControlRequestSend ( enum VuoControlRequest  request,
zmq_msg_t *  messages,
unsigned int  messageCount 
)

Sends a control request message to the running composition.

void vuoLoaderControlReplySend ( enum VuoLoaderControlReply  reply,
zmq_msg_t *  messages,
unsigned int  messageCount 
)

Sends a control reply message to the process controlling this composition loader.

Variable Documentation

char* controlURL = NULL

The URL that the composition will use to initialize its control socket.

void* dylibHandle = NULL

A handle to the running composition.

bool* isPaused = NULL

True if the composition is paused.

bool isReferenceCountingInitialized = false

True if VuoHeap_init() has been called.

bool isReplacing = false

True if the composition is in the process of being replaced.

bool* isStopped = NULL

True if the composition has stopped.

void** resourceDylibHandles = NULL

A list of handles to the running composition's resources.

size_t resourceDylibHandlesCapacity = 0

The number of items that resourceDylibHandlesCapacity can currently hold.

size_t resourceDylibHandlesSize = 0

The number of items in resourceDylibHandles.

char* telemetryURL = NULL

The URL that the composition will use to initialize its telemetry socket.

void* ZMQControl = NULL

The socket for controlling the composition.

void* ZMQControlContext = NULL

The context for initializing sockets to control the composition.

void* ZMQLoaderControl = NULL

The socket for controlling the composition loader.

void* ZMQLoaderControlContext = NULL

The context for initializing sockets to control the composition loader.