Fwd: [linux-audio-dev] Sound processing objects architecture, is it possible?

Steve Harris steve at plugin.org.uk
Tue Jan 23 08:46:30 UTC 2007

On 22 Jan 2007, at 22:15, Stefano D'Angelo wrote:

> 2007/1/22, Dmitry Baikov <dsbaikov at gmail.com>:
>> On 1/23/07, Stefano D'Angelo <zanga.mail at gmail.com> wrote:
>> > Good point! This is true, but there are lots of sound processing
>> > plugins around, so maybe instead of creating a new API and then  
>> apply
>> > some "compatibility layer", it should be better to create a  
>> wrapping
>> > tool natively. I think it should be also easier to expand.
>> Then, embrase LV2 and create LV2 plugins that will load VSTs, LADSPA
>> and anything you want.
>> Or if you want something not possible with LV2, write an extension  
>> proposal.
>> I think LV2 was designed as a very extendable API.
>> If it is not, in your opinion, then help the guys to improve it.
> That could be a very wise solution, but there's one big problem with
> it: when you load a LV2 plugin, you load only one plugin!
> To be clearer I make an example: I have 10 VST plugin, and I want to
> write a LV2 plugin which loads VST plugins. When the LV2-aware
> application asks me which plugin I want to load I should specify the
> VST plugin loader... but then? There's no way for my LV2 plugin to
> determine which VST plugin it should load.

This works fine, and was in the design brief for LV2. When asked what  
effects your LV2 plugin supports, you can return a list.

> But also if this is an overcomeable problem, for each VST plugin I
> load I have to waste memory space with a new instance of the LV2 VST
> loader plugin.

No you don't. A LV2 VST loader would be a single shared object, so  
the OS would only load one instance of it.

> Then, it is quite absurde from the user point of view to open a plugin
> which lets you open other plugins... it's just illogical!

It doesn't look like that to the user, they will just see a list of  
plugins, some of which will be VST and some will not be. Have you  
tried the DSSI VST reflector? It would work the same as that.

> Don't misunderstand me, LV2 is great, I think that it's the best
> processing architecture out there, but it's designed with a 1:1
> relationship in mind (one plugin = one effect). That's absolutely not
> an LV2 weakness, it just does its job and nothing else (as it should
> be).

You need to read the spec again.

The terminology is confused, not least in the spec documents, but a  
single .lv2 "plugin" can host multiple effects with different ports  
and so on.

- Steve

More information about the Linux-audio-dev mailing list