Vuo 2.4.4
|
A library module is a way to provide functionality that multiple node classes and types can use.
This documentation assumes you're familiar with Developing a Port Type. Like a type, a library module can contain functions and data structures. Unlike a type, a library module's data structures are not used for storing port data. A library module doesn't have to implement any Vuo API functions; it just has to specify its metadata.
One reason you might want to develop a library module is to wrap a (non-Vuo) library or framework. For more information, see Managing Dependencies.
To implement a library module, you need to:
A library module's file name consists of the machine name followed by a file extension. The machine name is how node classes and types refer to your module when listing it as a dependency.
Library modules can be implemented in C/C++/Objective-C. The file extension for both the header file and the implementation file should reflect the language.
As with node classes and types, you need to specify the metadata for a library module by calling VuoModuleMetadata. Here's an example:
To be able to use your library module within Vuo, you'll need to:
vuo-compile
command to compile the library module to a .bc
file..bc
file and any dynamic libraries on which the library module depends..vuonode
) file in one of Vuo's Modules folders.After that, you should be able to use your library module as a dependency of a node class or data type. See Managing Dependencies.
Please do not begin your library module's name with "Vuo". This is reserved for library modules distributed by Team Vuo / Kosada. Please use your own company or personal name for your library modules so that Vuo users can appreciate your work (and not be confused).
Built-in Vuo library modules follow a set of naming conventions. If you develop library modules to share with other Vuo developers, we encourage you to follow these conventions, too, to make your library modules easier to use.
VuoSceneRenderer
).VuoUrl
, not VuoURL
).VuoImageRenderer_draw()
).VuoImageRenderer_make()
).