I finally made it! The C++ wrapper for Cardinal LV2 works fine.
I made a web app that lets you load a Cardinal .vcv patch and update parameters label, value, range and type (integer, float, list of parameters name=>value). Then you can export a zip file with 4 different folders:
-
A preset folder for Cardinal, with manifest.ttl and preset.ttl, with custom paramaters values (but no custom names/labels)
-
A custom plugin wrapper for Cardinal, that replaces default Cardinal plugin.ttl definition with custom parameters names/labels (but you can have only one running instance with same parameters names/labels, so you can change preset and patches but not the names/labels)
-
This is the real solution: a custom C++ plugin wrapper for Cardinal, with its own parameters names/labels. You can create many wrappers that show up as new plugins, each one with its own presets. Each wrapper uses an instance of the main Cardinal plugin
-
A preset folder for the custom Cardinal plugin wrapper, with manifest.ttl and preset.ttl
You can find the free web app here: Tools – Real Time Webcam Tracking Midi Interfaces (scroll down to Cardinal LV2 Wrapper and Preset creator for Zynthian).
The cpp file and compile command could probably be improved. If you are a c++ expert and you want to contribute, please let me know.
Enjoy!