Bug 1476

Summary: Update OpenAL Headers
Product: [JogAmp] Joal Reporter: Mathieu Féry (MathiusD) <mfery>
Component: coreAssignee: Mathieu Féry (MathiusD) <mfery>
Status: RESOLVED FIXED    
Severity: enhancement CC: gouessej, rmanzini, sgothel
Priority: P4    
Version: 2.6.0   
Hardware: All   
OS: all   
Type: FEATURE SCM Refs:
4c286a85fb8b8e469d39de1811c2daebcc534a37
Workaround: ---

Description Mathieu Féry (MathiusD) 2023-11-22 14:36:35 CET
Bump OpenAL includes to latest version of openal-soft embedded, except for eax.h because usable reference header are located inside submodule openal-soft/al/eax/api.h but this header contains many symbol not processed by Gluegen like constexpr and other c++ feature

Following extensions has been added :
 * AL_EXT
   * AL_EXT_BFORMAT -> https://github.com/Raulshc/OpenAL-EXT-Repository/blob/master/AL%20Extensions/AL_EXT_BFORMAT.txt
   * AL_EXT_MULAW_BFORMAT -> https://github.com/Raulshc/OpenAL-EXT-Repository/blob/master/AL%20Extensions/AL_EXT_MULAW_BFORMAT.txt
 * AL_SOFT
   * AL_SOFT_deferred_updates -> https://openal-soft.org/openal-extensions/SOFT_deferred_updates.txt
   * AL_SOFT_block_alignment -> https://openal-soft.org/openal-extensions/SOFT_block_alignment.txt
   * AL_SOFT_MSADPCM -> https://openal-soft.org/openal-extensions/SOFT_MSADPCM.txt
   * AL_SOFT_source_length -> https://openal-soft.org/openal-extensions/SOFT_source_length.txt
   * AL_SOFT_buffer_length_query -> https://openal-soft.org/openal-extensions/SOFT_buffer_length_query.txt
   * AL_SOFT_gain_clamp_ex -> https://openal-soft.org/openal-extensions/SOFT_gain_clamp_ex.txt
   * AL_SOFT_source_resampler -> https://openal-soft.org/openal-extensions/SOFT_source_resampler.txt
   * AL_SOFT_source_spatialize -> https://openal-soft.org/openal-extensions/SOFT_source_spatialize.txt
   * AL_SOFT_direct_channels_remix -> https://openal-soft.org/openal-extensions/SOFT_direct_channels_remix.txt
   * AL_SOFT_bformat_ex -> https://openal-soft.org/openal-extensions/SOFT_bformat_ex.txt
   * AL_SOFT_effect_target -> https://openal-soft.org/openal-extensions/SOFT_effect_target.txt
   * AL_SOFT_callback_buffer -> https://openal-soft.org/openal-extensions/SOFT_callback_buffer.txt
   * AL_SOFT_UHJ -> https://openal-soft.org/openal-extensions/SOFT_UHJ.txt
   * AL_SOFT_UHJ_ex -> https://openal-soft.org/openal-extensions/SOFT_UHJ_ex.txt
   * AL_SOFT_source_start_delay -> https://openal-soft.org/openal-extensions/SOFT_source_start_delay.txt
 * ALC_EXT
   * ALC_EXT_DEFAULT_FILTER_ORDER -> https://github.com/Raulshc/OpenAL-EXT-Repository/blob/master/ALC%20Extensions/ALC_EXT_DEFAULT_FILTER_ORDER.txt
 * ALC_SOFT
   * ALC_SOFT_pause_device -> https://openal-soft.org/openal-extensions/SOFT_pause_device.txt
   * ALC_SOFT_HRTF -> https://openal-soft.org/openal-extensions/SOFT_HRTF.txt
   * ALC_SOFT_output_limiter -> https://openal-soft.org/openal-extensions/SOFT_output_limiter.txt
   * ALC_SOFT_device_clock -> https://openal-soft.org/openal-extensions/SOFT_device_clock.txt
   * ALC_SOFT_loopback_bformat -> https://openal-soft.org/openal-extensions/SOFT_loopback_bformat.txt
   * ALC_SOFT_reopen_device -> https://openal-soft.org/openal-extensions/SOFT_reopen_device.txt
   * ALC_SOFT_output_mode -> https://openal-soft.org/openal-extensions/SOFT_output_mode.txt
Comment 1 Mathieu Féry (MathiusD) 2023-11-22 14:38:33 CET
I've made a patch available here : https://github.com/MathiusD/joal in 1476-bump-al-headers
Comment 2 Julien Gouesse 2023-11-23 10:02:05 CET
(In reply to Mathieu Féry (MathiusD) from comment #1)
https://github.com/JogAmp/joal/compare/master...MathiusD:joal:1476-bump-al-and-efx-headers
Comment 3 Sven Gothel 2023-11-26 09:31:01 CET
Great!
I knew one should update the extensions 
when I added AL_SOFT_events extension for our ALAudioSink,
but .. ;-)
Comment 4 Mathieu Féry (MathiusD) 2023-11-27 13:52:37 CET
Yes, I understand, AL_SOFT_events are very useful :)
Btw, the next openal-soft version, atm unreleased, contains new extensions :
 * ALC_EXT_debug
 * ALC_SOFT_system_events
Both seems very useful!
Comment 5 Sven Gothel 2023-11-28 12:36:47 CET
Thank you!

+++

commit 4c286a85fb8b8e469d39de1811c2daebcc534a37

    Bug 1476: Reviewed updated OpenAL header (extensions) via make/scripts/cmpOld2New.sh
    
    No API change of old methods or fields!
Comment 6 Sven Gothel 2023-11-28 12:46:39 CET
(In reply to Mathieu Féry (MathiusD) from comment #4)
While I am snooping through OpenAL-Soft git commits,
I see that Chris works on supporting EAX now?
Hence .. shall we revert Bug 1477 and leave it in?
Comment 7 Sven Gothel 2023-11-28 13:02:23 CET
(In reply to Sven Gothel from comment #6)
btw, nice stuff Mathieu https://github.com/kcat/openal-soft/commit/c03603b58d4cf6a25d36bca00305970bc9f163b4
Comment 8 Mathieu Féry (MathiusD) 2023-11-28 17:03:11 CET
(In reply to Sven Gothel from comment #7)
Thanks! :) (Even though we've talked more about specification than coding per se xD)
Comment 9 Mathieu Féry (MathiusD) 2023-11-28 17:09:34 CET
(In reply to Sven Gothel from comment #6)
I must admit that I hadn't found a C header, but only this file in openal-soft: al/eax/api.h, which contains a large number of keywords not managed by Gluegen. And it seems to me that by default Chris only compiles the EAX API for Windows targets (although this can be changed in the compilation options of the Jogamp fork).
So I'm not sure whether to revert Bug 1477 or update the EAX headers? (for example, based on the DOOM3 headers quoted in the file I mentioned earlier, as I must confess I haven't found the original header files :c)
Comment 10 Sven Gothel 2023-11-28 21:05:31 CET
(In reply to Mathieu Féry (MathiusD) from comment #9)
yeah, let's keep it as is now (dropped EAX)