I don't want to get too much into the details, but I would like to say
that I can at least see what Stefano is getting at here. This is an
API for applications that don't want to have to think hard about
plugins -- they just take the data from a file, blat it through a
series of almost identical black boxes, and stream it to the audio
driver.
Why not do that with LADSPA (or LV2 or VST or whatever)? Because
there are too many routing possibilities, too many plugins, and too
many parameters. It's not easy to anticipate the ideal environment
for any given plugin. Your application would either be overloaded
with possibilities for the user to resolve, or else you would end up
effectively hardcoding a known set of plugins and parameters. The
available plugins would likely prove a poor fit for the application,
and the ability to take advantage of new plugins and features would be
reduced. You would have gone out of your way (in terms of
understanding the design of the API, working out how to make it
conform to your platform requirements, bringing in any necessary
support libraries such as for RDF, etc) to do something that
eventually produced a less effective result than copying and pasting
an existing algorithm. Most programmers don't take all that much
persuading that it would be "simpler to roll your own".
Also, an API like LADSPA is designed on the basis of trying to make
the plugin author's life as simple as possible at the expense of the
host author. For better or worse, the field of media players is one
in which hosts are almost as numerous as plugins, and making the host
harder to write is much less likely to be a good strategy.
I think Stefano is running into a classic sort of resistance here
which says that you already can do it a certain way _technically_, and
the rest is just _cultural_, and the cultural stuff doesn't matter.
But it does matter.
So I can see where this is coming from.
The problem of course is when it turns out that your cultural
differences have concrete technical causes -- such as in the
stereo-to-5.1-conversion example. It may be that bridging some of the
cultural divide through, for example, appropriate metadata for an LV2
plugin reaps more benefit in the end than trying to start again and
approach this as if it were a completely separate problem. Supporting
RDF metadata for tracks is becoming a more interesting idea for a
media player anyway, so some of the infrastructure can presumably be
shared.
Chris