Skip to content

jcelerier/score-simple-api-2

Repository files navigation

ossia score plug-ins

This add-on provides the groundwork for a stable plug-in API for ossia score.

Unlike most plug-in APIs for multimedia software and APIs such as LV2, VST, PureData or Max objects, ... it has the particularity of not requiring inheritance, filling of pointer functions, etc. In particular, it is possible to write a score plug-in without using any library / header at all, just by defining simple C++ structures. Reflection features of modern C++ are then used to construct the run-time structures from it.

The following blog post: https://ossia.io/posts/reflection/ explains the rationale and the implementation; an example is provided below.

There are multiple examples, which can act as a tutorial of sorts ; the comments in e.g. example 5 expects that you have read examples 1 to 4:

Simple examples

These examples showcase the basic usage of the API for the most common cases of processors found in multimedia systems.

Advanced features

These examples showcase sore more ossia-specific features:

  • Sample-accurate control values:
  • Dynamic multichannel handling:
  • All the GUI controls that can currently be used

Going deeper

  • How to write a score plug-in without having any dependency on score:
  • How to, instead, use score's data structures directly (which gives slightly better performance at the expense of interoperability and ease-of-use):

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published