[LAD] How to develop guis for LV2?

David Robillard dave at drobilla.net
Sun Nov 8 15:58:51 UTC 2009


On Sat, 2009-11-07 at 22:31 -0600, Gabriel M. Beddingfield wrote:
> 
> On Sun, 8 Nov 2009, Patrick Shirkey wrote:
> 
> > Would a set of reference template code written for the various languages
> > that we have at our disposal be of any use here?
> 
> I don't think so.  ATM, there's plenty of high-quality reference code... 
> especially with Lars's tutorial.  This is a different issue.
> 
> > It's clear that we need to better define the plugin publishing and
> > dependency system for LV2?
> 
> Not quite (though that would be a Good Thing).
> 
> More like a standard that says something like......
> 
> FOR SYNTH HOSTS:
> ----------------
> 
> If you follow these guidelines, you may call yourself an "LV2 Synth Host" 
> and you will be able to work cleanly with every synth that calls itself an 
> "LV2 Synth Plugin."
> 
>    + Support (at least) extensions A, B, and C.
>    + The synths will have several MIDI input ports (for note data)
>      and several audio output ports.

Several?  Why?

>    + All configuration will be done with the events extension.

Nothing more powerful than MIDI even exists for this yet.  Nothing to do
with synths.

>    + All feedback will be done with the events extension.

See above.  Also nothing to do with synths.

>    + The plugins may provide a GUI interface.  Its width will be
>      200, 400, 600, or 800 pixels.  Its height will be a multiple
>      of 100 pixels.

Ridiculous restriction.  Also nothing to do with synths.

> 
> FOR SYNTH PLUGINS:
> ------------------
> 
> If you follow these guidelines, you may call yourself an "LV2 Synth 
> Plugin" and you will be able to work cleanly with every host that calls 
> itself an "LV2 Synth Host."
> 
>    + Freely use extensions A, B, and C.  If you use any extra
>      LV2 extensions, try to make them optional.  Otherwise,
>      please simply call yourself an "LV2 Plugin," because you
>      won't work with every LV2 Synth Host.

Extensions that are not necessary to function at all should be optional
anyway, in all cases.

> Would somthing like this be *so* bad?

What benefit does it have?  What problem does it solve?  How is it even
any different from what might be the equivalent for an "effect" plugin?

Simple guidelines for how to make a plugin likely to work in widespread
places is good, but it doesn't make any sense to try and define "LV2
Synth" things like this.  There is zero technological difference between
most synths and most effects, other than the presence of an event port
that supports MIDI being more likely.

If you want to start such a thing, it's a wiki for a reason ;)  It's
much easier to revise there than on the list.

-dr





More information about the Linux-audio-dev mailing list