PGE API 0.4
PR00F's Game Engine full documentation
|
PGE uses the SoLoud sound library.
Before selecting it, I spent some time with discovering about sounds libraries.
Apart from my general requirements for 3rd party libraries that I listed at the 3rd Party libs page, I have the following requirements towards the sound library:
I made some browsing and study instead of just going straight with the nice and popular FMOD library which is non-free nowadays.
Big lists of sound libraries can be found at these places:
Unfortunately, most of them doesn't have out-of-the-box 3D-audio support (I'm not talking about multiple channels support e.g. 5.1, I'm saying that they don't support spatial positioning of 3D audio and play them according to a listener position).
If you already use SDL then it might be a good idea to go with it for audio support as well (I think it also supports 3D positional audio).
For me, it boiled down to the following 3 libraries:
I chose SoLoud because it has a nice C++ interface and documentation. By the time I'm writing this wiki, the last release of the lib was in 2020, which I agree was 2 years ago, but since then still lots of commits have been done to the lib.
JUCE is still maintained but it is a bigger framework not only for audio but for other stuff as well like graphics.
OpenAL Soft has pure C interface as I can see it, and I didn't like how the source code of example programs looked like.