Building a LV2 plugin

From Clam
Jump to: navigation, search

LV2 is an standard for free software audio plugins, and the succesor of LADSPA. CLAM is able to generate LV2 plugins based on CLAM networks. Audio and float control streams are currently well supported and there is some primitive support for generation or/and binding of Qt UIs.

Because LV2 support is not mature yet, you should expect changes on the way of LV2 plugins are generated, but, also because it is quite cheap this should not be a big deal. In any case, until the procedure becomes stable the better and most updated documentation is at the example you can find here which wraps a couple of networks as plugins in a single lv2 bundle.

That example use the clam_lv2_generator program whose man page also provides some insight.

LV2 ui support

UI support is quite experimental and adhoc. The goal is supporting three use cases:

  1. Automated Qt ui generation given the properties of the network
  2. Custom Qt ui binded to the network by using special properties like Prototyper does (indeed the goal is reusing ui's).
  3. Hand programmed Qt interface, using facilities to interact with the network.

We are currently working in automatic generation (case 1) but using facilities that will enable case 2.

Notice that at time of writting this Qt support in LV2 is quite limited but we found a nice way of wrapping Qt widgets into Gtk.

Navigation menu