LV2 Toolkit
1.2.0
|
These documents describe some C++ classes that may be of use if you want to write LV2 plugins in C++. They implement most of the boilerplate code so you only have to write the parts that matter, and hide the low-level C API.
Libraries The classes are separated into two libraries. One, called liblvtk-plugin, contains the classes Plugin and Synth, defined in the files <lvtk/plugin.hpp> and <lvtk/synth.hpp>. They are base classes that you can inherit in order to create new LV2 plugins. The other library, called liblvtk-ui, contains the class UI, defined in the file <lvtk/ui.hpp> which you can use in a similar way to create new LV2 plugin UIs.
Packages There are a few included pkg-config packages to choose from when writing a plugins and UIs. Below is a list of all packages included and what they are for.
In summary, there is one package for a plugin and one for each type of supported UI. Each UI package includes the same static library plus dependencies of its cooresponding toolkit.
Mixins For both the plugin and the GUI class there are other helper classes called mixins that you can use to add extra functionality to your plugins, for example support for LV2 extensions.
Versioning These libraries are only available as static libraries (and most of the code is template classes in header files), thus ABI stability is not an issue. The API will be stable between major version bumps, at which the pkg-config name would change to prevent plugins from building against an incompatible version.