[quote]PaulsCode does the same, doesn’t it? Why else did he start out on a separate project to make a mixer (yet uncompleted afaik)?
[/quote]
PaulsCode does not include a software mixer last I checked. Instead, it’s just an abstraction of different sound libraries – LWJGL, JOGL and Java2D. TinySound, on the other hand, mixes all channels in software into a single JavaSound clip (if I remember correctly).
Regarding Paul’s 3D sound library – IMO it’s not the best.
OpenAL just sounds different than Java2D. This is obvious when you run the same audio file through the two different libraries. Java2D has crackles, pops, and glitches – especially when stopping a cilp – and often leads to slightly different volumes. So you might have fine-tuned your game to the LWJGL backend, but then testing it with the Java2D backend everything might sound a little off. And then you begin to question why you have a Java2D backend in the first place…
The reason Paul went lengths to abstract sound is for “maximum compatibility” – but realistically if your user doesn’t support OpenAL, they probably won’t be able to run your game!
So why bother with the Java2D backend at all? Then you are left with only two: JOGL or LWJGL. Obviously if your game is based on LWJGL, it makes no sense to use a JOGL backend, and vice versa. So really you just have a huge, clunky, multi-threaded and IMHO poorly designed API that wraps LWJGL.
With that said, Paul has written some fantastic decoders that are not very dependent on the rest of the library.
[quote]“Just use LWJGL/LibGDX/OpenAL and be done with it!”…
[/quote]
For a beginner, it’s easier to just use a wrapper: TinySound, Pauls Sound System, LibGDX, or even SlickUtil if you must.