adam4813/Sigma — pull request #105 by Meisaka (2013-12-27 09:29:52+00:00)
Title: OpenAL sound system

Adds support for audio playback using base OpenAL 1.1 and audio loading from Ogg/Vorbis and RIFF/WAVE files
OpenAL, libogg and libvorbis are required dependencies, these were tested on a Windows VS2010 platform.
This adds many features from issue #52 :
- An OpenALSystem
- A SoundFile resource - used for both effects and music
- A generic ISound component
- ALSound component supporting x,y,z, loop and soundFilename properties.
- Play/Pause/Stop/Gain/Position on sound components.
- The ALSound component is used for both effects and music, the only difference between the two is the channel count in the loaded file, music and effects could be all ogg or all WAV.
- Ogg/Vorbis media is loaded compressed in memory, and decoded as needed.
- components each maintain a decoder/playback state and can share sound resources (including compressed)
- sound position functions are implemented, but orientation/directional is not yet.
- listener position and orientation functions are implemented, but not used anywhere yet.
- example code plays entity 30 on loop (add an ALSound component)

This still needs testing on other platforms, also looping still needs some work.