OpenAL has to be the worst packaged library I’ve ever used.
The distributions are different between the SVN, the downloadable installer, and the source download.
There is a downloadable installer for a library to begin with, which makes no sense.
The license terms for the downloadable installer are draconian.
The library is split among 4 projects, each with different settings, which output to 2 .libs with no explanation as to why or what the differences are. The actual library takes 2-3 .libs depending on which one you download, which in turn takes 1-2 dlls, again depending on which one you download.
None of the three dowloads work without modifications.
Each of the three downloads only contain a subset of the code, meaning you have to download all 3 anyway and then figure out how to put them together.
The tutorials don’t run because they require a DLL that isn’t included in any of the distributions.
You can’t build static libraries or directly include the source without modifying the code.
Version 1.1 is utterly incompatible with older versions and in fact seems to have less features.
The documentation is so out of date that it is flat out useless for that functions that it does cover, which is only a minor fraction of the actual functions.
The code does not include useful user documentation in the headers so you have to just guess what the functions do.
/* Create Source objects */
AL_API void AL_APIENTRY alGenSources( ALsizei n, ALuint* sources );
Um thanks…
Out of all the libraries I’m including in my game engine, by far I’ve spent the most time trying to get OpenAL working. I’m about to just say screw it and use fmod instead, even though fmod isn’t free.
One reply on “OpenAL makes me want to kill someone!”
I really enjoy reading your experiences and critique of different libraries. I was yet to use OpenAL (been using fmod for most projects) but other developers, who hadn’t even used it, would often harp on about how awsome it was because they read about it on some forum or just like the idea of OpenAL / open source.
Im glad I didnt waste any time with it 🙂