libossia is a modern C++, cross-environment distributed object model for creative coding.
It allows to declare the architecture of your creative coding application’s functions as a tree of OSC nodes and parameters. These nodes/parameters can have attributes, which allow to declare many of their properties, such as their values, types, units, ranges, etc.
This OSC tree-based architecture (coined “device” in the OSSIA terminology) can then be exposed over the network under several protocols, some of which allow this architecture, and the properties and values of its nodes, to be fully explored and queried. For now, protocols available in the implemenations are: plain OSC, OSCquery, and Minuit – more are part of libossia and will be made available in the future.
libossia offers bindings and implementations for several environments such as:
The source code is hosted on github.com/ossia/libossia.
libossia is distributed under the terms of the CeCILL-C license and of the LGPLv3 license.