new LV2 Host

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

Post Reply
Topic Starter
tramp
Established Member
Posts: 2584
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 13 times
Been thanked: 758 times

new LV2 Host

Post by tramp »

Hi. I've worked out a new LV2 host, which I started as a plain debugging tool for my use. Over time, while it still serves as debugging tool, it becomes a full featured Multi Plugin LV2 host.


https://github.com/brummer10/Luma
On the road again.
User avatar
Axel-Erfurt
Established Member
Posts: 255
Joined: Tue Dec 05, 2023 6:06 pm
Has thanked: 65 times
Been thanked: 100 times
Contact:

Re: new LV2 Host

Post by Axel-Erfurt »

Thanks.
I had a problem at the beginning. lv2-gtk-ui-bridge.lv2 was installed.
When I then load a Calf plugin it cannot be closed. I must kill lv2-gtk-ui-bridge.
After removing lv2-gtk-ui-bridge.lv2 it works.
Topic Starter
tramp
Established Member
Posts: 2584
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 13 times
Been thanked: 758 times

Re: new LV2 Host

Post by tramp »

Axel-Erfurt wrote: Tue Feb 24, 2026 8:43 pm When I then load a Calf plugin it cannot be closed. I must kill lv2-gtk-ui-bridge.
Ah, yes, I didn't have it installed. I've implemented a filter now to avoid the use of the bridge. So it should work flawless now even when the bridge is installed.
On the road again.
User avatar
LAM
Established Member
Posts: 1306
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 168 times
Been thanked: 509 times

Re: new LV2 Host

Post by LAM »

Wow @tramp you seems unstoppable, one cool project after another. :D I was following Luma since a few days already.

Are session management (NSM compatibility) or state saving (by signal handling) out of scope for Luma or is something you could consider in the future?

in mix, nobody can hear your screen

Topic Starter
tramp
Established Member
Posts: 2584
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 13 times
Been thanked: 758 times

Re: new LV2 Host

Post by tramp »

LAM wrote: Wed Feb 25, 2026 8:56 am Are session management (NSM compatibility) or state saving (by signal handling) out of scope for Luma or is something you could consider in the future?
Yes, for Luma it is out of scope as Luma comes with just terminal interface. But the LV2Host code is created to be easily reusable in other projects, so, it will be easy to do with NSM and save/restore when the host interface is created with a Widget toolkit (like libxputty) :)
On the road again.
User avatar
Axel-Erfurt
Established Member
Posts: 255
Joined: Tue Dec 05, 2023 6:06 pm
Has thanked: 65 times
Been thanked: 100 times
Contact:

Re: new LV2 Host

Post by Axel-Erfurt »

What is your secret that Calf plugins in Luma (under Debian Trixie) have a (complete) GUI, which is not possible with lv2-gtk-ui-bridge?

25_02_26_15_18_17.png
25_02_26_15_18_17.png (236.5 KiB) Viewed 700 times
Topic Starter
tramp
Established Member
Posts: 2584
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 13 times
Been thanked: 758 times

Re: new LV2 Host

Post by tramp »

It's not a secret, but, it's very hard to implement this feature, which calf request therefore, in a modern C++ host. It requires a global static thread_local pointer with class forwarding, and explicit handling during UI instantiate. It is not nice, boring to do, and feels all the way wrong.

https://lv2plug.in/ns/ext/data-access -> use of this extension is highly discouraged

More modern plugins using atom ports for this.
On the road again.
User avatar
alex stone
Established Member
Posts: 470
Joined: Fri Jun 06, 2008 7:39 am
Has thanked: 259 times
Been thanked: 112 times

Re: new LV2 Host

Post by alex stone »

tramp wrote: Wed Feb 25, 2026 3:14 pm It's not a secret, but, it's very hard to implement this feature, which calf request therefore, in a modern C++ host. It requires a global static thread_local pointer with class forwarding, and explicit handling during UI instantiate. It is not nice, boring to do, and feels all the way wrong.

https://lv2plug.in/ns/ext/data-access -> use of this extension is highly discouraged

More modern plugins using atom ports for this.
@tramp Thanks for this. I've managed to load every LV2 i have so far. I have no doubt this is going to be useful in the future.
Tuxedo core XL Gen2 AMD Ryzen 7, 192GB ram, RME IO, Focusrite 16i16 Scarlett USB, Debian Trixie with an RT kernel.
Topic Starter
tramp
Established Member
Posts: 2584
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 13 times
Been thanked: 758 times

Re: new LV2 Host

Post by tramp »

alex stone wrote: Sun Mar 01, 2026 8:08 pm Thanks for this. I've managed to load every LV2 i have so far. I have no doubt this is going to be useful in the future.
Nice to hear that.
This is what comes next, Preset save/restore
Image
On the road again.
Post Reply