panda3d icon indicating copy to clipboard operation
panda3d copied to clipboard

Include alext.h header file to enable using OpenAL Extensions

Open gabeklavans opened this issue 1 year ago • 1 comments

Description

If panda3d ever wants the ability to utilize OpenAL-Soft extensions, then the alext.h file will need to be included in the audio source via <AL/alext.h>.

Blockers

On my macOS 14.x, there's no alext.h file in my Frameworks folders, so I'm assuming Apple stopped including them at some point, for some reason. Thus, trying to include <OpenAL/alext.h> fails with the frameworks linked. The solution would be to just use a custom build, however, it seems that the makepanda build relies solely on the OpenAL framework, as when I tried to use the openal-disabled libs in the latest thirdparty zip, it failed to link, likely because the libs are outdated.

I'm not sure what the best path forward for this is, either to start building openal again in the prebuilt thirdparty zips, or some more flexibility in the CLI of makepanda, perhaps.

Use Case

I would love to add support for controlling HRTF via the ALC_SOFT_HRTF extension. This would allow greater control of audio playback fidelity for headphone users in games.

gabeklavans avatar Feb 07 '24 04:02 gabeklavans

We could conditionally make use of the extension if HAVE_OPENAL_FRAMEWORK is not defined.

rdb avatar Mar 01 '24 15:03 rdb