[Bf-committers] SDL versus OpenAL
Alexander Ewering
blender at instinctive.de
Sun Oct 30 14:13:07 CET 2005
On Sat, 29 Oct 2005, Tom M wrote:
> intrr has SDL sound instead of OpenAL in his instinctive blender tree,
The phrasing is a bit ambiguous... OpenAL is a complete 3D Soundsystem
which handles both 3d Sound calculations, pitch, mixing etc., *and* sound
output.
SDL *just* handles sound output and very basic mixing using SDL_mixer
(which iblender depends on).
> intrr - could you outline the advantages this offers? Also are there
> any disadvantages to switching to SDL from OpenAL?
Advantages:
- No dependancy on a library which is known to be buggy, badly
documented, and having version/platform issues
- Reuse of a library (SDL) which Blender *already* widely depends on
(Animation sound, renderer)
- Sound finally *works*! I know of a huge bunch of people, including
myself, who never got a single beep out of the game engine
sound system, especially on non-windows platforms
- Support for Ogg Vorbis files
- Lower latency: I once got OpenAL sound to work on windows, and it
had a terrible latency, somewhere around 300 ms maybe, or more.
iblender's has adjustable buffer size, I used it with something around
50-100 ms ...
Disadvantages:
- New dependancy (SDL_mixer). Is only a few kb, [c/sh]ould be included
with source
- New dependancy with some ogg-related libraries
- No doppler effect (was this supported in openal?)
- No changing of pitch *during* the playing of a sound (was
this supported in openal?)
> I seem to recall that you stated the code changes are fairly minimal,
> and would improve ease of maintenance. Also a number of nice features
I don't know how minimal they are by now, more than a year after syncing
between bf-cvs and iblender has stopped... I guess one could try though :)
> for the game engine - how does it affect sound in the sequencer
> though?
Sound in the sequencer and game engine are still a totally different
story. Game engine sound is asynchronous (event sounds), Animation system
sound is synchronous, so they still cannot live next to each other. But
I don't consider that a problem because a project that uses the sequencer
will never use the game engine - and vice versa. I guess I don't need
to explain :)
> Also would it be possible to create a patch for testing?
That depends on how hard it is to integrate the soundsystem nowadays,
but I could give it a try one of these days.
| alexander ewering instinctive mediaworks
| ae[@]instinctive[.]de http://www[.]instinctive[.]de
More information about the Bf-committers
mailing list