Query about the LV2 plugin format

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

Post Reply
User avatar
milkii
Established Member
Posts: 477
Joined: Tue Jan 05, 2016 9:08 am
Location: Edinburgh
Has thanked: 92 times
Been thanked: 91 times
Contact:

Query about the LV2 plugin format

Post by milkii »

Breaking this out from the other thread as TBH it's OT there.
j_e_f_f_g wrote:It's shocking how something as basic/fundamental as data storage/organization is so horrendously ill-conceived and unwieldy. But then, he did make the absurd choice of turtle for a storage format, so there's no limit to how bad it can get. And it's gonna get bad when Wayland takes over. (Not because of Wayland though.)
The use of Turtle in the LV2 plugin format; what are the advantages, what are the disadvantages?

Are objections (seen threads such as the one linked above, or this one), with the use of a semantic/relational format, or with the choice of such a format (Turtle), or with the way that format has been used? Would another variety of semantic (or other) format have been better (i.e., if JSON-LD had been available then)?

Pointers to prehashed discussion points made in mailing lists also welcome.
Last edited by milkii on Tue Sep 11, 2018 12:29 pm, edited 2 times in total.

they/them ta / libreav.org / wiki.thingsandstuff.org/Audio and related pages / gh

User avatar
SpotlightKid
Established Member
Posts: 250
Joined: Sun Jul 02, 2017 1:24 pm
Has thanked: 48 times
Been thanked: 54 times

Re: Query about the LV2 plugin format

Post by SpotlightKid »

I don't really have a problem with turtle either. The important thing is that there is a standard for describing parameter values and their storage. The situation with VST, where every plugin and host just basically stores a binary blob in their own proprietary format, hinders exchangeability between different programs (which is probably why it is still prevalent in the commercial world).

Developers do seem to have problems with implementing all the aspects of the LV2 specs correctly, though. I think it comes down to better developer documentation. Not just reference docs but tutorials, which do not stop at implementing very basic plug-ins, but show how to do preset handling in hosts, and for plugins storage of file references, samples and other data and so on.
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Query about the LV2 plugin format

Post by tramp »

falkTX wrote:The LV2 author has been researching json-ld for possibly use in LV2. Although it seems simple at first glance, the implementation is not.
Indeed, JSON is very error-proneand tend to segfault on semantic mismatch. However I personally like it more then turtle, but that is urelevant for a plugin standard.

The advance of a turtle file per plugin is clearly that the host could collect data for the requirements/meaning/metatdata of a plugin without load the binary into the processing space. That is clearly a advance over any other plugin standard out there.
Which format is using for that dosen't matter, as long it is standardized. So why not turtle?

However, I see the problems with the LV2 plugin format more on the GUI side, were no standard is given.
Formally, LV2 starts with the goal to support "any GUI toolkit" out there, which is a to high goal to fill for a host. The gaps become now visible, where popular hosts simply skip support for some GUI tool-kits, even if they could support it.

A standardized LV2 GUI toolkit could prevent a lot of plugin developers to develop there own toolkit just to draw some knobs and background images.

I remember very well the first LV2 plugin, developed by Krzysztof Foltman, yes, it was the CALF suite, comes with a GTK based GUI, were still wasn't a host outside who could load a LV2 plug.

I've followed that, and found myself no this days develop my own Xlib based toolkit, over the last few weeks, just to draw some knobs, have I mention background images?
On the road again.
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Query about the LV2 plugin format

Post by tramp »

Unfortunately, in the LV2 book the only GUI examples been GTK based.
I guess it's time to change that, and provide instead a Xlib based example (I'm willing to do so) to avoid further complications.
On the road again.
User avatar
sadko4u
Established Member
Posts: 986
Joined: Mon Sep 28, 2015 9:03 pm
Has thanked: 2 times
Been thanked: 359 times

Re: Query about the LV2 plugin format

Post by sadko4u »

tramp wrote:Unfortunately, in the LV2 book the only GUI examples been GTK based.
I guess it's time to change that, and provide instead a Xlib based example (I'm willing to do so) to avoid further complications.
Yes, we need to kill it with fire!
No one should use GTK as toolkit for plugin development!

About turtle: I don't like it, I don't think that was a good design choice.
For non-trivial plugins it can take megabytes of text data.
That's why I just wrote turtle generator for LSP that generates proper configuration, that solved my problem of writing turtle files forever.
Similarily I don't like LV2 design because it requires too sharp learning curve. Many things could be done easier I think.
LSP (Linux Studio Plugins) Developer and Maintainer.
Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Been thanked: 1 time

Re: Query about the LV2 plugin format

Post by Lyberta »

What's wrong with GTK? Haven't coded for it so I have no idea.
ssj71
Established Member
Posts: 1294
Joined: Tue Sep 25, 2012 6:36 pm
Has thanked: 1 time

Re: Query about the LV2 plugin format

Post by ssj71 »

Lyberta wrote:What's wrong with GTK? Haven't coded for it so I have no idea.
Nothing wrong with GTK, lots wrong with using GTK for a plugin.
See: http://lists.lv2plug.in/pipermail/devel ... 01593.html for some explanation
_ssj71

music: https://soundcloud.com/ssj71
My plugins are Infamous! http://ssj71.github.io/infamousPlugins
I just want to get back to making music!
rghvdberg
Established Member
Posts: 1067
Joined: Mon May 12, 2014 7:11 am
Has thanked: 15 times
Been thanked: 36 times

Re: Query about the LV2 plugin format

Post by rghvdberg »

sadko4u wrote: Yes, we need to kill it with fire!
:lol:
Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Been thanked: 1 time

Re: Query about the LV2 plugin format

Post by Lyberta »

ssj71 wrote:Nothing wrong with GTK, lots wrong with using GTK for a plugin.
See: http://lists.lv2plug.in/pipermail/devel ... 01593.html for some explanation
Ugh, and I just wanted to add Qt GUI to my plugins. I'm so discouraged right now.
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Query about the LV2 plugin format

Post by tramp »

Lyberta wrote:
ssj71 wrote:Nothing wrong with GTK, lots wrong with using GTK for a plugin.
See: http://lists.lv2plug.in/pipermail/devel ... 01593.html for some explanation
Ugh, and I just wanted to add Qt GUI to my plugins. I'm so discouraged right now.
Here is one of my xlib based LV2 GUI implementation, you may use it as skeleton (or as it is) to develop your own xlib based implementation.
It handle mouse and keyboard events, and do proper window resizing.
All drawing is done in cairo.
https://github.com/brummer10/GxVintageF ... fm_x11ui.c

regards
hermann
On the road again.
User avatar
khz
Established Member
Posts: 1648
Joined: Thu Apr 17, 2008 6:29 am
Location: German
Has thanked: 42 times
Been thanked: 92 times

Re: Query about the LV2 plugin format

Post by khz »

[X] Yes
. . . FZ - Does humor belongs in Music?
. . GNU/LINUX@AUDIO ~ /Wiki $ Howto.Info && GNU/Linux Debian installing >> Linux Audio Workstation LAW
  • I don't care about the freedom of speech because I have nothing to say.
User avatar
ctrecordings
Established Member
Posts: 6
Joined: Mon Apr 15, 2019 3:57 am
Contact:

Re: Query about the LV2 plugin format

Post by ctrecordings »

ssj71 wrote:
Lyberta wrote:What's wrong with GTK? Haven't coded for it so I have no idea.
Nothing wrong with GTK, lots wrong with using GTK for a plugin.
See: http://lists.lv2plug.in/pipermail/devel ... 01593.html for some explanation
We went the XLib route for our UIs which has made things very lean but the one thing I'm missing from something like GTK or QT is an open file dialog. I'm still not sure what our best bet for implementing it will be on linux.
tramp
Established Member
Posts: 2335
Joined: Mon Jul 01, 2013 8:13 am
Has thanked: 9 times
Been thanked: 454 times

Re: Query about the LV2 plugin format

Post by tramp »

You may want to check out here:
https://github.com/x42/sofd
On the road again.
Post Reply