[CLOSED] EFX/EAX Support?

Started by Momoko_Fan, August 13, 2009, 18:12:17

Previous topic - Next topic

Momoko_Fan

I was looking for a way to add reverb effects to my audio engine, but these are only possible with the EFX OpenAL extension or EAX, neither of which LWJGL supports.  :-\
I read somewhere on the forum that EAX support was dropped because Vista isn't going to have hardware audio, and EFX support isn't going to be added for the same reason. But I am here using Windows 7, and both EAX and EFX is supported on the software OpenAL!

I looked at JOAL, and it seems to have support for both so that works for me. But I would prefer using LWJGL only as it means one less dll and two less jars.

Anybody have any suggestions? Is it possible for EFX to be added to LWJGL's OpenAL?

Thanks
Momoko_Fan

Fool Running

I think the reason they were dropped from LWJGL (I think they were in there at one point), is that they are only supported on Windows machines (i.e. not Linux or Mac) and thus weren't that useful for a Java application.

Someone else might be able to shed more light on this.
Programmers will, one day, rule the world... and the world won't notice until its too late.Just testing the marquee option ;D

Momoko_Fan

I am looking at this page: http://kcat.strangesoft.net/openal.html
It states OpenAL Soft has support for EFX, and is cross platform.
I will try booting linux and see if EFX is supported on OpenAL Soft.

Momoko_Fan

I am posting from Ubuntu 9.04 64 bit. Using the libopenal.so that comes with LWJGL2.1, I see EFX being exposed as an extension:
Available playback devices: 
    ALSA Software on default
    ALSA Software on HDA Intel [STAC92xx Analog] (hw:0,0)
    ALSA Software on HDA Intel [STAC92xx Digital] (hw:0,1)
    OSS Software
    Wave File Writer
Available capture devices: 
    ALSA Capture on default
    ALSA Capture on HDA Intel [STAC92xx Analog] (hw:0,0)
    OSS Capture
Default device: ALSA Software
Default capture device: ALSA Capture on default
ALC version: 1.1
ALC extensions:
    ALC_ENUMERATE_ALL_EXT
    ALC_ENUMERATION_EXT
    ALC_EXT_CAPTURE
    ALC_EXT_EFX
OpenAL vendor string: OpenAL Community
OpenAL renderer string: OpenAL Soft
OpenAL version string: 1.1 ALSOFT 1.7.411
AL extensions:
    AL_EXTX_buffer_sub_data
    AL_EXT_EXPONENT_DISTANCE
    AL_EXT_FLOAT32
    AL_EXT_IMA4
    AL_EXT_LINEAR_DISTANCE
    AL_EXT_MCFORMATS
    AL_EXT_OFFSET
    AL_EXTX_source_distance_model
    AL_LOKI_quadriphonic


So, I don't think it's a problem with EFX not being supported on either Linux or Vista. I am pretty sure MacOS supports EFX as well, but I do not own a mac so I cannot test this.

Matzon

EFX EAX was dropped because the native oal didn't support it on anything but windows. Now we are using software oal and it supports it. Might be time to revive it...

Momoko_Fan

Quote from: Matzon on August 14, 2009, 04:58:27
EFX EAX was dropped because the native oal didn't support it on anything but windows. Now we are using software oal and it supports it. Might be time to revive it...
Okay. This is not a problem, JOAL supports it so I can use EFX until LWJGL implements it.  :)

peterkirn

Actually, I'm confused about this, as well.

Is there a link to the JOAL-wrapped EFX support? I actually thought JOAL didn't expose these calls, either.

It does appear that via the software implementation, EFX works across operating systems, which rocks. And this is huge for Java in general, because it means you have a way to sneak DSP code into your Java apps. ;)

Anyone working on this, I'd love to talk to you.

Momoko_Fan

Using EFX with JOAL is really easy, support is provided out of the box in the "AL" class. You just need to make sure the OpenAL implementation on your system supports EFX, like OpenAL Soft which is provided with LWJGL.

thecookie

Any update on getting EFX support? :)

Matzon

sorry havent received a patch yet

kappa

Had a look into this RFE this weekend, however can't see what the problem is. As far as I can see EFX is supported by LWJGL and has been for a long time. Therefore there doesn't seem to be anything further to add to this RFE.

Do let me know if there is something that has been overlooked.

Marking this RFE as CLOSED.