For a while the JOAL project, due to the lack of a maintainer, has been in maintenance mode (if that). I would like to propose resuming active development on it.
The initial JOAL implementation done some two years ago was basically done by hand. At one point the JOAL source tree was converted over to use the same GlueGen tool which the JOGL project uses to autogenerate its Java interfaces and JNI code, but this work was only done on a branch of the JOGL tree and was never promoted to the main trunk.
I’ve revived this work and have a JOAL workspace which uses the current GlueGen tool being used by JOGL and the JSR-231 proposed reference implementation. All of the utilities and demos have been converted over to the new APIs and seem to be working fine. As a bonus the demos should now be web-startable.
The new workspace has some public API changes compared to the current one. The ALC.Device and ALC.Context inner classes have been promoted to top-level data types (ALCdevice and ALCcontext) as is the glue code style in JOGL. The mappings of e.g. void* to Buffer which are done in JOGL are now done in the new JOAL workspace. I took the liberty of cleaning up some unused / unneeded methods in the ALut and ALFactory classes as well as some other cleanups. The headers have been upgraded to OpenAL version 1.1 and the lookup of the function pointers has been automated.
One slight downside of this change is that it currently requires a built JOGL workspace to be a sibling of the JOAL workspace, in order to pick up the GlueGen tool out of the JOGL workspace. We hope to split off the GlueGen tool into its own project on java.net so this would not be required forever.
I would like to check in this work on to the main trunk and increment the version number to 1.1.0 from 1.0.0 to indicate an API change. All in favor, please say ‘aye’. If you have any objections to this, please post them.