The direction of JOAL

I’ve been using it recently to do sound in my current project and my knowledge of it was only what was available in those tutorials linked to from the JOAL page. After looking at the stuff at Creative’s developer site, as well as the recent drivers to include OpenAL 1.1 support, I thought I’d start experimenting with some of the new features. One of these new features is the Effects Extensions (EFX), which I found wasn’t available through JOAL :frowning:

Seeing as there hasn’t been an official release since January, that the nightlies are almost similar to the January release, and that the last post to this forum was 2 weeks ago, I thought I’d ask: what’s the current status of the JOAL project? Is there a plan to include EFX (or whatever else is new) into it?

On another topic, I noticed some EAX classes in the JOAL library, but no documentation on their use. Do these work?

We’re open to adding new functions into it but I personally haven’t been keeping track of the state of OpenAL development. No active work is going on in JOAL right now, but the fact that it is now using GlueGen to autogenerate all of the code should make it much simpler to maintain it going forward. We are planning to extend the supported platforms in the nightly builds and eventually make an extension JNLP file for deployment similar to that used by JOGL.

I’m keeping active track of the OpenAL dev list. There’s not too much going on over there right now either. I did a fair bit of work to get the portable version of OpenAL working on Solaris 9/10 a while back, but that’s not one of the formally supported platforms there either.

As for JOAL, I’ve done a bit of extra custom work to make it function as an Eclipse Plugin. I’ll be posting what I have up on the j3d.org site in the next day or so. Mostly it is just extra manifest definitions and some repackaging of the JARs.

Well, it’s good to hear that someone is still watching over the project; I’m rather fond of the audio aspects of games and the simplicity of the OpenAL library as a whole :slight_smile:

As for new feature requests, would it be too much to ask for EFX support in JOAL? (entry points to new functions, interface constants for the new object properties, etc)

I’ve filed Issue 11 to track this and will try to get to it shortly.

The EFX entry points have been added and should be present in nightly builds dated 6/24 and later. Due to air conditioning problems our nightly build machines are down this weekend, so please consider checking out and building the source yourself to get the latest. Please post if you find any problems – the new entry points have not yet been tested.

w00t! Thank you :smiley: I’ll be sure to let you know how it goes. (pity about the nightly machines though; I always found those nightlies handy)

Regarding the post from Mithrandir about Eclipse plugin, I did just want to say that I consider the fact of being able to use JOAL (and JOGL as well, if Ken Russel reads this post) as an Eclipse plugin really interesting ; I’m working on a game engine which uses Eclipse framework for its tool set.

I guess that the changes only consist in modifying the manifest in order to add OSGi informations and therefore should be very limited with no side effect. It would be great if this could be incorporated in the core JOAL and JOGL distributions.

        Vincent

BTW, the nightly build machines were powered back up last night and the current nightly build on the JOAL home page should have EFX exposed. Please try it and let us know how they work.

Regarding Eclipse plugin support, if you would like to contribute a non-destructive and very localized patch to allow JOGL and JOAL to be used more easily as Eclipse plugins that would be great. I have no experience with Eclipse and from reading Mithrandir’s posts about his company’s ongoing JSR-231 implementation with Eclipse support it sounds like there’s a lot of mechanism to make it work and I’m not willing to make large-scale changes to the source base for this.

I’m back here now. Been a long way out of the forums for a while.

Regarding Eclipse support: For JOAL, there is almost nothing to do. The only thing we had to set up was the plugin fragment and host JAR files to separate out the platform dependent and independent declarations needed. I’ve posted those on the j3d.org site a while ago.

For JOGL, as Ken has already noted, the two are mutually incompatible. While it can work on Win32 and X11, anything on the Mac just won’t work. The problem is that the SWT toolkit uses a different native windowing API to the core JDK. This rather unfortunate situation means that whenever SWT code touches AWT code, the system hard deadlocks. As I have discovered, the tenticles of the JOGL RI reach deep into the code. Any time the native Threading class is referenced it hooks into the Java AWT event queue. In addition all the Java2D integration work also hooks into that event queue. These two little bits have really caused a lot of problems on the Mac platform. I’ve quite literally had to start recoding everything from the ground up on this platform. Anything from the JOGL RI has been tossed aside because there are all sorts of oddball interdependencies that end up tickling one of the Java2D or Threading classes, resulting in a lockup. It would have been nice to keep the two compatible, but unfortunately it can’t. My changes are way to huge to even consider sending to Ken as his goals and mine are very different.