= Sound = Presented to you by [wiki:ErwinHerrsche Erwin Herrsche] == User Guide == === Level ambient sound === If you want to load an ambient sound in your level object, add the ambientsound attribut to your Level tag. The attribut value is the filepath relative to the [mediapath]/audio directory. == Development == Sound uses the [http://openal.org OpenAL library]. === Classes === SoundManager: <- Tickable * manages the OpenAL device and context * manages the listener position * updates all registred sounds every tick SoundBase: * base class for all sounds * manages OpenAL buffer and source * has to be attached to a WorldEntity * can load a sound sample form a file (via alut all alut supported sound formats, via fallback handler ogg vorbis files) == PPS-Timetable == || '''Date''' || '''What?''' || || 2009-03-30 || Initial code commit, defitiv decision of API (done)|| || 2009-04-06 || Implementing SoundManager and integration into the build system (done) || || 2009-04-27 || Implementing SoundBase (done) || || 2009-05-04 || Adding default sounds, configuration loaders (done for levels) || || 2009-05-11 || Testing || || 2009-05-18 || Testing and getting things ready for presentation || || 2009-05-2? || Presentation || === Future === * make error checking better * prepare for multiple level loading (mostly patches on SoundManager, some things done, to do: activate and deactivate contexts) * implement sound device configuration * implment a fallback ogg loader * clean up/add version numbers to cmake files