2007/1/22, Dmitry Baikov <dsbaikov(a)gmail.com>om>:
On 1/22/07, Stefano D'Angelo
<zanga.mail(a)gmail.com> wrote:
What I'd like to work on is a sound
processing architecture (LADSPA,
VST, DSSI, etc.) wrapper, which hides the details of a particular
implementation to audio program developers.
All this architectures have different
APIs.
Will your one have an fat API (union of all APIs it hides) or a thin
API (intersection).
I'm thinking about a (fat) union API.
What will you do if APIs you wrap are doing the same
things very different ways?
Well, it depends on how big is the difference... this is a reason why
I'm asking you if you think this is possible... after all I know just
about VST, LADSPA 1.1 and LV2, and they don't seem to be that much
different (I mean at a logical level).
You say that if will be possible to compare standards
or create a new ones.
If your API wraps them all, then it should automatically be best one.
So, why bother creating new API's if your proposal is in fact that new
API, which is better than any other.
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.
And if it is not better, you can't use more
advanced API through your wrapper.
True, but I was thinking about a more "sophisticated" idea of
"processing object".
For example you might want to write a library to implement sound
processing with already-instructed neural networks, and you wish to
load values from a text file (which would actually be your "processing
object").
With this ideal architecture you don't have to create a new engine
from scratch and wait for other programmers to implement it. You would
just write a module, and that would work with any program using this
system.
I know my English isn't perfect, I do what I can. :-)
Stefano
P.S.: I think I've also found a name for it: "Naspro", an recursive
acronym meaning "Naspro Architecture for Sound PRocessing Objects".
The "Naspro" is a southern italian type of icing used for sweets.