Vuo 2.4.4
Loading...
Searching...
No Matches
Developing a Library Module

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.

Writing a library module

To implement a library module, you need to:

The file name

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.

The metadata

As with node classes and types, you need to specify the metadata for a library module by calling VuoModuleMetadata. Here's an example:

"title" : "VuoGradientNoiseCommon",
"dependencies" : [
"VuoReal",
"VuoPoint2d",
"VuoPoint3d",
"VuoPoint4d"
]
});

Compiling and installing a library module

To be able to use your library module within Vuo, you'll need to:

After that, you should be able to use your library module as a dependency of a node class or data type. See Managing Dependencies.

Naming library modules and functions

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.