# Wrappers for popular LV2 plugins, with custom presets

**URL:** <https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635>\
**Category:** Software\
**Created:** [September 9, 2026, 4:58pm UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635 "2026-09-09T16:58:11Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![ascari.maximilian](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ascari.maximilian/32/16542_2.png) [@ascari.maximilian](https://discourse.zynthian.org/u/ascari.maximilian)\
**Post date:** [September 9, 2026, 4:58pm UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/1 "2026-09-09T16:58:11Z")

</div>

Hi Zynthian lovers!

I was looking for a way to easily add new patches (created with my desktop pc) to these plugins in Zynthian, without having to use VNC, and being able to give a custom name to each param, while grouping and sorting the params the way I wanted.

Since this is not possible with standard presets, I developer two plugin wrappers, written in C++, for Cardinal and Vitalium (Vital clone). They are both already installed in Vangelis OS.

> **[Zynthian – Real Time Webcam Tracking Midi Interfaces](https://midi.maximilianascari.it/zynthian/)**

These wrappers let you load a patch, give it a name (for the plugin wrapper), customize each parameter’s name, type (int, float, enum, bool, …), range, default value, and group them with custom group names. Then you can export a zip containing the preset folder and the lv2 plugin folder (you need to compile it on zynthian with a c++ compiler).

The main page contains basic instructions to install the c++ compilers and libraries on Zynthian. Each wrapper creator contains its own instructions, but they are (hopefully) quite straightforward to use.

I hope you’ll find them useful, as I do. Feel free to ask questions, report bugs, or suggest improvements and new features.

> **[Zynthian – Real Time Webcam Tracking Midi Interfaces](https://midi.maximilianascari.it/zynthian/)**

Cheers!

---

<div class="post-metadata">

**Author:** ![gitnob](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/gitnob/32/11827_2.png) [@gitnob](https://discourse.zynthian.org/u/gitnob)\
**Post date:** [September 17, 2026, 10:17am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/2 "2026-09-17T10:17:23Z")

</div>

I’m confused, but Cardinal is installed on Zynthian???

Is there an exact example workflow tutorial/video howto integrate a Cardinal patch into Zynthian as a lv2 plugin?

Regards

---

<div class="post-metadata">

**Author:** ![tunagenes](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/tunagenes/32/7279_2.png) [@tunagenes](https://discourse.zynthian.org/u/tunagenes)\
**Post date:** [September 17, 2026, 2:39pm UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/3 "2026-09-17T14:39:24Z")

</div>

I found quite a lot about it with a search on Cardinal in this forum - here’s one post-thread:

> [@Cardinal (VCV Rack) plugin](https://discourse.zynthian.org/t/cardinal-vcv-rack-plugin/6820/41):
>
> 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 definitio…

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [September 17, 2026, 2:51pm UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/4 "2026-09-17T14:51:43Z")

</div>

> [@gitnob](#):
>
> I’m confused, but Cardinal is installed on Zynthian???

No. It’s not. Users wanting to experiment with cardinal have to install it by themselves.

Regards,

---

<div class="post-metadata">

**Author:** ![shieman](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/s/7993a0/32.png) [@shieman](https://discourse.zynthian.org/u/shieman)\
**Post date:** [September 24, 2026, 10:36am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/5 "2026-09-24T10:36:58Z")

</div>

Hi

I tried the cardinal wrapper but did not work. The third point in help on your website is not very clear for me…

When the .so is compiled, in which folder to copy ? wrapper\_cpp\_lv2 ? and where to put that folder ?

Thanks

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [September 24, 2026, 10:45am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/6 "2026-09-24T10:45:16Z")

</div>

> [@shieman](#):
>
> The third point in help on your website is not very clear for me…

Sorry, shat do you mean?

---

<div class="post-metadata">

**Author:** ![shieman](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/s/7993a0/32.png) [@shieman](https://discourse.zynthian.org/u/shieman)\
**Post date:** [September 24, 2026, 11:44am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/7 "2026-09-24T11:44:02Z")

</div>

It’s about Maximilian help

---

<div class="post-metadata">

**Author:** ![ascari.maximilian](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ascari.maximilian/32/16542_2.png) [@ascari.maximilian](https://discourse.zynthian.org/u/ascari.maximilian)\
**Post date:** [September 24, 2026, 12:37pm UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/8 "2026-09-24T12:37:03Z")

</div>

> I tried the cardinal wrapper but did not work.

Hi, what do you mean? It gave you an error, or what else?

Anyway, first of all you need to install Cardinal the right way and enable it in webconf (Software \> Engines \> Scan for Engines \> Check the Cardinal plugin).

Then, after creating the wrapper, you have to copy the **Cardinal\_[Type]\_[Name]\_wrapper\_cpp.lv2** folder inside **/zynthian/zynthian-plugins/lv2/** as explained in the **help** section.

You can also copy the **Cardinal\_[Type]\_[Name]\_wrapper\_cpp.preset.lv2** folder into the **/zynthian/zynthian-my-data/presets/lv2/** folder.

Finally in webconf you need to enable the plugin (Software \> Engines \> Scan for Engines \> Check the Cardinal plugin wrapper).

This is the best way I found out to have a single Cardinal patch with all the parameters with names, ranges, labels, etc…

But you can also export a single patch as a preset. No named parameters, but it’s an alternative (faster) way to import a patch without using VNC.

Please let me know if it works.

Thanks!

---

<div class="post-metadata">

**Author:** ![shieman](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/s/7993a0/32.png) [@shieman](https://discourse.zynthian.org/u/shieman)\
**Post date:** [September 26, 2026, 10:42am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/9 "2026-09-26T10:42:14Z")

</div>

Hi

To try cardinal wrapper, i used the example you gave.

I exported the wrapper, installed the folders in the right places, compiled the wrapper.

In webconf-\>engines, i enabled cardinal (FX) and cardinal (FX) example.

When i use cardinal FX in zynthian, it is working (nothing loaded), ,no problem.

When i use cardinal FX (example) it stays in a loop in adding processor…

Thanks

PS : How to export a single patch in a preset ? I just use the folder preset in the export ZIP ? Is all in it for the patch ?

When i use cardinal (FX), i do not see the presets…

---

<div class="post-metadata">

**Author:** ![ascari.maximilian](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ascari.maximilian/32/16542_2.png) [@ascari.maximilian](https://discourse.zynthian.org/u/ascari.maximilian)\
**Post date:** [September 27, 2026, 6:30am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/10 "2026-09-27T06:30:10Z")

</div>

Hi, if you can enable the plugin in webconf, it should work. Go to WEBCONF \> INTERFACE \> UI LOG \> ENABLE DEBUG LOGGING and look for errors or other messages related to the plugin. What Raspberry PI and OS do you have? Mine is Raspberry PI 5 with 4 gb RAM and Vangelis OS.

> How to export a single patch in a preset ?

If you want to install a preset to use in the standard Cardinal plugin (not my wrapper), you have to copy the **Cardinal\_[Type]\_[Name].preset.lv2** folder inside **/zynthian/zynthian-my-data/presets/lv2/**

This way the Cardinal patch will be Base64-encoded inside the preset, but you won’t have named parameters, just param1..24.

If you want to change parameters names with the standard Cardinal plugin, without installing my wrapper, you can copy the **Cardinal\_[Type]\_[Name].lv2** folder to **/zynthian/zynthian-plugins/lv2/**

This way the default parameters names will be overwritten for EVERY patch or preset you will load form now on inside the standard Cardinal plugin.

Please let me know if it works.

Thanks!

---

<div class="post-metadata">

**Author:** ![shieman](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/s/7993a0/32.png) [@shieman](https://discourse.zynthian.org/u/shieman)\
**Post date:** [September 27, 2026, 5:30pm UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/11 "2026-09-27T17:30:43Z")

</div>

Hi

I got a zynthian 5.1 with rpi 5 8go.

Without using the wrapper :

- I put cardinal\_FX\_example.lv2 in zynthian/zynthian-plugins/lv2. After webconf scan engine, it appears, i enable it (cardinal FX is enabled in engines). When i add cardinal FX (example) as audio effect, zynthian enter in an infinite loop…
- I put cardinal\_FX\_example.preset.lv2 in zynthian/zynthian-my-data/presets/lv2/, i scan for presets in webconf and in cardinal effect (it loads normally), but preset does not appear in list…

Thanks

---

<div class="post-metadata">

**Author:** ![ascari.maximilian](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/ascari.maximilian/32/16542_2.png) [@ascari.maximilian](https://discourse.zynthian.org/u/ascari.maximilian)\
**Post date:** [September 28, 2026, 6:29am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/12 "2026-09-28T06:29:28Z")

</div>

Hi, it’s very difficult to find out the problem without an error log… please check the logs…

Start with a blank project, in ssh launch:

`journalctl -u zynthian -f -n 100`

Then load the plugin and check the logs.

You can also check webconf logs:

`journalctl -u zynthian-webconf -f`

Run also:

`lv2info ``https://distrho.sf.net/plugins/cardinal#FX`

Can you send me the exported zip file so I can test it locally?

Thanks

---

<div class="post-metadata">

**Author:** ![shieman](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/s/7993a0/32.png) [@shieman](https://discourse.zynthian.org/u/shieman)\
**Post date:** [September 28, 2026, 10:53am UTC](https://discourse.zynthian.org/t/wrappers-for-popular-lv2-plugins-with-custom-presets/13635/13 "2026-09-28T10:53:24Z")

</div>

Hi

I believe i did not understand some points. Must i load the vcv patch in gui cardinal ?

I tried cardinal FX with a simple vcv patch i loaded in cardinal GUI and i overwrited the template.  
It’s working. When i reboot it is ok. But the params are not named…

I’ll try with wrapper again…

Thanks
