On 3 Jun 2009, at 13:34, Stefan Bidigaray wrote:
I just wrote a really long list of stuff I dislike about having
gnustep_sndd and using OpenAL instead of portaudio, but I decided not
to send that. Really, I think the most compeling reason that I went
with OpenAL is for how simple it is, and it's cross-platformness
(that's right, new word :) ), not to mention we're just re-inventing
the wheel by having our own sound server... ALSA, OSS, winmm,
CoreAudio all already implement software mixing with a lot more
features and optimization that gnustep_sndd. Why have our own, prone
to bugs since very few people use it, when we can use the native OS's
version?
Couldn't agree more. Portaudio kind-of works on Linux, occasionally
works on other platforms, and is a buggy mess. The only reason to have
any kind of sound server is that the OS doesn't support mixing at the
driver level, and so having a separate sound server per toolkit is
completely pointless. At the moment, sound playback in Mélodie, which
uses OSS directly, works on more of the machines I've tried it on than
simple NSSounds going 'bing' and this is clearly far from ideal.
OpenAL is well-supported and is a relatively simple API. It's a far
better choice than PortAudio. Ideally, we should have an interface in
-back that used the host platform's native APIs (OSS, ALSA, DirectShow,
CoreAudio, etc) directly, but doing this is a massive amount of work for
very little gain.