On 22 Jan 2007, at 22:15, Stefano D'Angelo wrote:
2007/1/22, Dmitry Baikov
<dsbaikov(a)gmail.com>om>:
On 1/23/07, Stefano D'Angelo
<zanga.mail(a)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
Oops... seems like I'm a bit confused! Well, I'm going to reread the
LV2 spec and try to figure out how to manage this kind of situations.
Sorry for wasting your time!
Sincerely,
Stefano