2007/4/13, François Revol <revol@xxxxxxx>:
Hi, > I'm developing, in my spare time, a kind of modular wrapper for sound > effect plugins (something like imlib2 or gstreamer but for sound > processing). > > Recently I just accidentally knew about BeOS, tried Haiku with QEMU > on > Linux and I found it beautiful and very interesting for what I'm > gonna > do for a couple of reasons: good real-time capability and the fact > that it is a young project where a lot of things are yet to be done > and where I see a big interest in making things better (that's not > always true for open source/free software, believe me). For R1 the goal is already set (implement the Media Kit the BeOS R5 way), but it's of course always interesting to shuffle new ideas around. I suggest you read what the BeBook says on the Media Kit, media nodes specifically, you'll find GStreamer or DirectShow didn't invent much. http://www.beunited.org/bebook/The%20Media%20Kit/index.html
Wow! Is it also comparable to JACK about latency?
However, it is really possible to fit what you are aiming at into the current Media Kit I'm sure. There are already several software that retrofit existing media plugin APIs into the Media Kit. For example, you should have a look at VSTPlugin: http://www.bebits.com/app/1176 (hey maybe someone could try to contact the author to get the sources for Haiku ?) And the plugins that go with it: http://www.bebits.com/search?search=vst&x=0&y=0
I'll give it a look, even if I hate VST license so much that.... I can't tell :-P (Infact that software is shareware).
Some media nodes: http://www.bebits.com/app/3006 http://www.bebits.com/app/2648 Other apps that could be worth looking at: http://www.bebits.com/app/2200 http://www.bebits.com/app/311 Also several media players for BeOS had their own API for plugins (shame, they never agreed on a common API), like SoundPlay and CL-Amp.
I'll try them after my exams, 2 weeks from now.
> 3. maybe push forward the idea that sound processing can be done with > objects which can be represented by simple data (math formulas, > circuits, associative neural networks, etc.) instead of dynamically > loaded plugins. Well, media nodes are usually handled inside plugins, but it's transparently done by the Media Kit.
Mmm... the idea is a bit different: let people avoid programming when it is not needed ("less code less bugs" philosophy, and also ease of development). All linear time-invariant filters for example can be just represented by simple data (no algorythms needed).
> At the moment I'm writing it in strict ANSI C, limiting OS-dependent > stuff as much as possible (only use readdir, opendir and libltdl, so > it probably will just work out of the box for Haiku without > modifications). BeOS and Haiku supports way enough POSIX to run this I guess :)) (but libtool can be really picky... you'll have to explicitely disable allowing undefined symbols when building else you won't get shared libraries as the BeOS ABI forbids it).
No problem :-)
Happy experimentations :)
Thanks a lot. Stefano