[LAD] [ANN] IR: LV2 Convolution Reverb

David Robillard d at drobilla.net
Mon Feb 21 19:38:32 UTC 2011


On Thu, 2011-02-10 at 12:53 -0500, Paul Coccoli wrote:
> On Wed, Feb 9, 2011 at 11:49 AM, David Robillard <d at drobilla.net> wrote:
> > FWIW, I would not do this.  The external UI extension is the wrong way
> > of going about this, and momentum towards it is very worrysome...  We
> > need an abstraction layer (i.e. a library) to provide the ability for
> > any UI to be external.  It shouldn't be the host's - and very definitely
> > not the plugin's - problem to do this.  It's a difficult problem to get
> > just right(*).  Even if it wasn't, we'd end up with the same code
> > implemented all over the place, which is an obvious sign something is
> > not right...
> >
> > The right way is for the plugin UI to provide whatever native UI (e.g.
> > gtk) it pleases, and a library provides the means to launch it
> > externally if the host toolkit does not match.  This way, the host can
> > embed the UI if possible (a feature which really is a shame to throw
> > away), but anyone can use it externally if this is not possible.  It is
> > also possible these days for Gtk to embed Qt, and vice versa, which the
> > lib could also do... in short, all the tricky business of using an X UI
> > in a Y host, either embedded or externally, needs to be done in one
> > place, and done in that one place correctly, so every host/plugin author
> > doesn't have to repeatedly deal with the same problems.
> >
> > After the upcoming LV2r4 (and new librdf-free slv2) is released (soon),
> > I will take a stab at making this library.  All the nitty gritty has
> > been done by other people already, it just needs to be sanely
> > amalgamated.
> >
> > -dr
> >
> > (* and it has recently come up that it seems impossible to get certain
> > window related things right with the current scheme...)
> 
> How would I write an LV2 GUI in python?

Good question.  The UI library itself is a C library.  I am not sure how
simple it is to get a C widget pointer for a UI implemented in Python
(this depends on the toolkit you choose to use, of course).  The best
way of achieving this depends on that... if it's simple, you'd probably
just implement a teeny wrapper lib in your UI to do so (so the host
wouldn't know the difference).  If not, we probably need a new UI type
for this (perhaps one that runs a separate executable, or something like
the current external UI extension).

I will keep this in mind when I get to the aforementioned LV2 UI design
work, thanks for raising the question...

-dr





More information about the Linux-audio-dev mailing list