[LV2] Patches vs Ports and Multiple IO configurations

Binder News bindernews at gmail.com
Sun Apr 18 11:30:29 PDT 2021

Hello there,

I'm trying to add LV2 support to the iPlug2 framework (
https://github.com/iPlug2/iPlug2), and I'm a bit confused as to how to
handle parameters and multiple IO setups.

The LV2 book talks about using the LV2 patch extension to handle parameters
instead of control ports, and I'd like to use this feature, because it
supports more fine-grained timings and gives the plugin the ability to
force certain parameter values.
The problem is that when testing with Carla and REAPER neither recognize
parameters unless I use the control ports. Since I'm generating everything
I can easily support both methods but I'm not sure what the best approach

Multiple IO configurations:
iPlug2 is designed to allow plugins to support multiple IO configurations
(e.g. mono mode or stereo mode). The approach I was going to use was to
generate one plugin object for each IO configuration (see "Example 1"
I can then detect which IO configuration the host selected and map channels
based on that. Is this the correct approach, or should I just create one
configuration with ALL I/O ports and allow the host to pick ports

Thank you,
~Binder News

Example 1:
  a lv2:Plugin , lv2:InstrumentPlugin ;

  a lv2:Plugin , lv2:InstrumentPlugin ;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lv2plug.in/pipermail/devel-lv2plug.in/attachments/20210418/cd803302/attachment.html>

More information about the Devel mailing list