Re: [LAD] Portable user interfaces for LV2 plugins

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <d@...>
Cc: <linux-audio-dev@...>
Date: Wednesday, March 2, 2011 - 1:20 pm

On 03/02/2011 12:22 AM, David Robillard wrote:

> On Tue, 2011-03-01 at 19:36 +0100, Olivier Guilyardi wrote:

>> Hmm, what platform specific native code? In my idea, the host would handle

No, not really.

Apart from mobile web apps, a way to build cross-platform apps is using a
lightweight toolkit, with OpenGL for all graphics, and a couple of other entry
points such as an audio I/O callback, etc..

With this method, notably used by game devs, there's one code base, with thin
platform drivers.

So, with such portable hosts, the platform specific native code goes into the
toolkit. And both the host and plugin would be rather platform-agnostic.

> Going to something in a web browser doesn't involve any of that. It

Okay, I see. But we are talking about plugins, are we? To me a plugin is a small
module which embeds in a host UI or appears as a small window on top of it.

What you're talking about makes sense if the host itself runs in the browser...
But switching from a native UI to a browser repeatedly is going to look rather
odd IMO. And if your idea is mainly intended for browser-based hosts then it
will not integrate properly with a large range of existing software.

That said, for instance on Android, you can embed a small WebView into the UI of
a host. So it could make sense. But (http) network operations are going to bring
some more overhead. All of this really isn't going to be smooth.

In order to avoid network operations, on Android, you could expose some of your
Java classes as Javascript objects into the WebView, this is entirely possible.
But now that's going to be a lot of native code for binding say a slider to
javascript and then to java and then down to the native plugin...

>> The plugin would expose a draw() callback

The UI would draw into a rectangular area which could:
- either be embedded in a larger GL scene, if the host UI is GL based,
- or be displayed by QGLWidget, rendered into a GdkGLWindow, etc..

Also, what's rather funny is that there would be some kind of symmetry between
the run() and draw() functions exposed by a plugin. One for audio, the other for
graphics/video... And both called in a cyclic manner by the host.

> So far, nobody has showed up with a desire to write a GL plugin UI.

Yes, I've developed a long time for the desktop, and I never used OpenGL before
I got myself into mobile development. Now that I'm familiar with it, I quite
enjoy it, and am amazed by the perspectives in terms of portability.

> The next SLV2 will abstract away UI types, so if/when this gets

Sounds good. This is where LV2 extensibility shows some of its strengths I guess.

>> I'm confused now. You are talking about UIs automatically built by the host from

Hmm, own web server, I don't know really.. This sounds a bit bloated to me.

>> this is the absence of plugin specific UI, and the kind of thing which you can

And how does one draws a frequency curve, even one which doesn't update in
realtime? With SVG? Do you see how heavy this is all going to be?

>> Regarding remote controllers.. Well this is already in the wild, tablets

Slicker for who? The whole point of controllers is that the user can choose the
one he/she likes. Hardware controller, tablet-based controller with knobs, or
sliders, or pad, or even one which uses the device sensors such as the
accelerator, the compass, etc..

>> I think that I understand you idea of doing this with a browser. No need to

Not sure what you mean here, but I'm a big No Silver Bullet fan, and generally I
don't believe in no-need-to-code-anymore claims.

> Is it about web-based controllers on a tablet or whatever? Yes. But it

Now, first, I'll repeat what I said earlier: "I tend to believe that, generally,
what is supposed to work in all cases doesn't work well in specific cases. It
may do the job somehow, but it's not really adapted. And if this results in poor
acceptance, then your investment is lost."

Also, I'm into music too. The greatest reward (apart from money ;) I currently
get when working on my product is enthusiastic feedback from musicians.

Now, think of a music instrument. Do you mean that a grey guitar with
unpersonalized design is what musicians need? I strongly disagree. And that's
why I think that powerful UIs with their own style can be a good thing. It can
stimulate creativity. And each user can choose the one which best fits his mood.

> Hopefully its fast enough. Seems fine. Good enough for controllers and

Okay, well, this Web UI idea would certainly be good in certain cases. And the
truth is that I'm not really convinced about the OpenGL idea, because it may
result in inconsistent appearance, with widgets style which do not match each other.

But this later problem could be solved with a simple audio-oriented UI toolkit,
which would render using OpenGL. A such toolkit could actually be very
lightweight. For instance you do not necessarily need to embed entire charsets.
A couple of characters (digits, "dB", etc..) could be sufficient in many cases.

--
Olivier
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Jörn Nettingsmeier, (Sat Feb 26, 10:37 am)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Feb 25, 7:09 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Feb 25, 7:14 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Feb 25, 7:29 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Feb 25, 8:21 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Feb 25, 8:26 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Feb 25, 8:09 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Mar 11, 11:08 am)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Mar 18, 5:06 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Mar 18, 11:44 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Thu Mar 24, 10:10 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sun Mar 27, 4:08 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Fri Mar 11, 6:40 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sat Feb 26, 4:33 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sat Feb 26, 6:25 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sat Feb 26, 6:32 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Mon Feb 28, 4:24 pm)
[LAD] Lightweight LV2 implementation (Was: RDF libraries), David Robillard, (Thu Sep 29, 5:48 am)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sat Feb 26, 5:28 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sat Feb 26, 6:19 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Giuseppe Zompatori, (Sun Feb 27, 4:04 am)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Giuseppe Zompatori, (Sun Feb 27, 12:55 pm)
Re: [LAD] Audio effects on Android, Olivier Guilyardi, (Mon Feb 28, 5:03 pm)
Re: [LAD] Audio effects on Android, Stefano D'Angelo, (Tue Mar 1, 12:53 pm)
Re: [LAD] Audio effects on Android, Olivier Guilyardi, (Tue Mar 1, 4:21 pm)
Re: [LAD] Audio effects on Android, Stefano D'Angelo, (Wed Mar 2, 7:18 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sat Feb 26, 7:10 pm)
Re: [LAD] RDF libraries, was Re: [ANN] IR: LV2 Convolution R..., Olivier Guilyardi, (Sat Feb 26, 6:44 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Mon Feb 28, 8:51 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Tue Mar 1, 12:00 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Tue Mar 1, 6:36 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Tue Mar 1, 11:24 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 1:20 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 5:34 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 6:31 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 7:17 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 7:55 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 9:27 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 10:45 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 9:15 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 10:44 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 10:00 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 11:14 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Davis, (Wed Mar 2, 11:17 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Fons Adriaensen, (Wed Mar 2, 10:49 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Thu Mar 3, 10:36 am)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Thu Mar 3, 12:39 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Fons Adriaensen, (Thu Mar 3, 1:27 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Fri Mar 4, 12:53 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Fri Mar 4, 7:40 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Pedro Alves, (Fri Mar 4, 9:45 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Sat Mar 5, 12:05 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Davis, (Fri Mar 4, 10:00 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Pedro Alves, (Fri Mar 4, 10:56 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Sat Mar 5, 12:07 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Fri Mar 4, 2:25 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Fri Mar 4, 7:53 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Sat Mar 5, 12:10 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Fri Mar 4, 2:40 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Fri Mar 4, 3:00 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Fons Adriaensen, (Fri Mar 4, 2:14 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Fri Mar 4, 2:17 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 11:17 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Fons Adriaensen, (Thu Mar 3, 12:03 am)
Re: [LAD] Portable user interfaces for LV2 plugins, gene heskett, (Thu Mar 3, 2:33 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Fons Adriaensen, (Thu Mar 3, 11:15 am)
Re: [LAD] Portable user interfaces for LV2 plugins, gene heskett, (Fri Mar 4, 3:06 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 10:46 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Davis, (Wed Mar 2, 8:08 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 10:36 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Thu Mar 3, 12:06 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Davis, (Wed Mar 2, 10:58 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 11:14 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 9:38 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Giblock, (Wed Mar 2, 10:16 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 10:49 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Giblock, (Wed Mar 2, 11:02 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Thu Mar 3, 12:27 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Thu Mar 3, 10:05 am)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Fri Mar 4, 12:06 am)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Fri Mar 4, 12:43 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Fri Mar 4, 7:28 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 11:20 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Gabriel M. Beddingfield, (Wed Mar 2, 11:09 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Chris Cannam, (Wed Mar 2, 8:44 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Davis, (Wed Mar 2, 8:47 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Davis, (Wed Mar 2, 1:27 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 2:11 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Wed Mar 2, 2:30 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Fri Mar 11, 11:03 am)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 4:58 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 5:25 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Paul Davis, (Wed Mar 2, 5:29 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 7:15 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 6:03 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Wed Mar 2, 3:58 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Wed Mar 2, 4:57 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Tue Mar 1, 1:13 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Tue Mar 1, 3:47 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Mon Feb 28, 9:37 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Olivier Guilyardi, (Tue Mar 1, 5:53 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Tue Mar 1, 5:55 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, Stefano D'Angelo, (Tue Mar 1, 6:01 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Tue Mar 1, 10:43 pm)
Re: [LAD] Portable user interfaces for LV2 plugins, David Robillard, (Tue Mar 1, 12:02 am)