<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>1475</bug_id>
          
          <creation_ts>2023-11-10 15:47:22 +0100</creation_ts>
          <short_desc>Allow to retrieve devices specifiers with ALC_ENUMERATE_ALL_EXT</short_desc>
          <delta_ts>2023-11-28 17:43:24 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Joal</product>
          <component>core</component>
          <version>2.6.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mathieu Féry (MathiusD)">mfery</reporter>
          <assigned_to name="Mathieu Féry (MathiusD)">mfery</assigned_to>
          <cc>gouessej</cc>
    
    <cc>rmanzini</cc>
    
    <cc>sgothel</cc>
          
          <cf_type>FEATURE</cf_type>
          <cf_scm_refs>1aa6f3080953eb4b3a4018b805a014c95dfce4dd</cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>6937</commentid>
    <comment_count>0</comment_count>
    <who name="Mathieu Féry (MathiusD)">mfery</who>
    <bug_when>2023-11-10 15:47:22 +0100</bug_when>
    <thetext>Currently, when you want to retrieve the names of all the audio elements present, you can use several OpenAL constants offered by various extensions:
 * ALC_DEVICE_SPECIFIER
 * ALC_CAPTURE_DEVICE_SPECIFIER
 * ALC_ALL_DEVICES_SPECIFIER

The first two are part of the ALC_ENUMERATION_EXT extension, and the last is part of the ALC_ENUMERATE_ALL_EXT extension.

However, all 3 can be obtained via the alcGetString(null, param) method, which instead of returning a null terminated string, returns a doubly null terminated string, allowing you to store an array of strings in it.

Management of doubly null terminated strings is already handled, but was only activated for ALC_DEVICE_SPECIFIER.

Here, management has been extended to all three parameters.

And JOALVersion now shows all devices present with the 3 parameters (since the ALC_ENUMERATE_ALL_EXT extension is not necessarily present, but shows more comprehensible results for the user instead of just the &apos;OpenAL Soft&apos; driver).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6938</commentid>
    <comment_count>1</comment_count>
    <who name="Mathieu Féry (MathiusD)">mfery</who>
    <bug_when>2023-11-10 15:52:36 +0100</bug_when>
    <thetext>I&apos;ve made a patch available here : https://github.com/MathiusD/joal in 1475-devices-specifiers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6945</commentid>
    <comment_count>2</comment_count>
    <who name="Julien Gouesse">gouessej</who>
    <bug_when>2023-11-23 10:00:49 +0100</bug_when>
    <thetext>(In reply to Mathieu Féry (MathiusD) from comment #1)
https://github.com/JogAmp/joal/compare/master...MathiusD:joal:1475-devices-specifiers

Good job. Thank you for your changes. It looks good to me. Sven should look at all this more carefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6949</commentid>
    <comment_count>3</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2023-11-26 09:27:35 +0100</bug_when>
    <thetext>Thank you Mathieu, great stuff as usual and nice to see you have time to hack along.
I myself also return for a few rounds of lines,
so I will review and merger your work of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6956</commentid>
    <comment_count>4</comment_count>
    <who name="Mathieu Féry (MathiusD)">mfery</who>
    <bug_when>2023-11-27 13:52:34 +0100</bug_when>
    <thetext>Thanks a lot, i&apos;m happy to have some time for some hack along :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6960</commentid>
    <comment_count>5</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2023-11-28 12:14:02 +0100</bug_when>
    <thetext>Great stuff Mathieu!

+++

commit 1aa6f3080953eb4b3a4018b805a014c95dfce4dd

    Bug 1475: Minor revision of orig patch-set
    
    - Implement ALC.alcIsDoubleNullTerminatedString() in Java w/ our existing functionality,
      drop JNI function
    
    - JoalVersion.devicesToString(..) revert to original API
      dropping boolean params
    
    - C: Drop using stdbool.h, earmarked as obsolete in std</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>