Vuo  0.5.2
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Macros

Description

Name, version, and behavior information to be defined by node classes, port types, and library modules.

Macros

#define VuoModuleMetadata(...)   const char *moduleDetails = #__VA_ARGS__
 Name, version, and behavior information to be defined by node classes, port types, and library modules.
 

Macro Definition Documentation

#define VuoModuleMetadata (   ...)    const char *moduleDetails = #__VA_ARGS__

Name, version, and behavior information to be defined by node classes, port types, and library modules.

Example:
"title" : "Display Console Window",
"description" : "<p>Opens a window that displays console output ...</p>",
"keywords" : [ "print", "log" ],
"version" : "1.0.0",
"dependencies" : [ "VuoWindow" ],
"compatibleOperatingSystems": {
"macosx" : { "min": "10.7" }
},
"node": {
"isInterface" : true,
"exampleCompositions" : [ "HelloWorld.vuo", "CalculateTip.vuo" ]
}
});

Pass a JSON specification that contains metadata about the node class, port type, or library module.

For any type of module, the keys in the JSON specification may optionally include:

  • "title" — A human-readable name for the module. It can be overridden by the user.
  • "description" — A description of the module's purpose. It may be formatted as plain text, HTML, or Markdown.
  • "keywords" — A list of words related to the module's name. This list is used when searching for node classes in the Vuo Editor's Node Library.
  • "version" — A version number for the module. It should use the Semantic Versioning (SemVer) scheme.
  • "dependencies" — A list of libraries that this module depends upon.
  • "compatibleOperatingSystems" — A set of operating systems on which this module can run. Unless this key is present, the module is assumed to run on all operating systems. This object contains keys for operating system names and values for the range of versions supported. Each range may specify "min", "max", or both. The operating systems and versions currently supported are:
    • "macosx" — "10.6", "10.7", "10.8", "10.9"

For node classes, the keys in the JSON specification may optionally include "node". Its keys may optionally include:

  • "isInterface" — True if this node class sends data to or receives data from somewhere external to the composition (e.g., input device, file, network). False by default.
  • "exampleCompositions" — A list of example compositions that demonstrate this node class. The example compositions and the node class must be packaged together in a node set.
See Also
Developing a Node Class
Developing a Port Type
Developing a Library Module