Skip to content
Switch branches/tags


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 implementations 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: PureData, Max/MSP, Python, C, C++, openframeworks, Unity3D, QML, Faust, SuperCollider.

You can find some documentation for the library and its various implementations is at

Please feel free to ask questions on the forum, or to come and chat with us ! Gitter

More about the general project at:



Build Status

  • Linux, OS X : Build Status
  • Windows : Build status
  • Max, Java & Unity3D : Azure Pipelines
  • Coveralls : Coverage Status

Latest ci builds are available here. But please note that those are only for testing purpose.


Available under both LGPLv3 and CeCILL-C

FOSSA Status