<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">I wanted to make one more comment
      regarding this. Technically, OpenAL Soft is implementing this
      incorrectly according to the OpenAL Programmer's Guide. In there
      it states the following:<br>
      <br>
      <div data-canvas-width="284.34422" style="left: 584.197px; top:
        885.593px; font-size: 16.7px; font-family: sans-serif;
        transform: scaleX(0.998108);"><span class="highlight selected">ALC_DEVICE_SPECIFIER</span>
        will return the name of the specified output device if a pointer
        is supplied<br>
        <br>
      </div>
      And furthermore:<br>
      <br>
      <div data-canvas-width="331.21599999999995" style="left: 150px;
        top: 608.1px; font-size: 20px; font-family: sans-serif;
        transform: scaleX(1.07207);">         Checking the current
        device name </div>
      <div data-canvas-width="351.12752" style="left: 334.3px; top:
        653.786px; font-size: 16.7px; font-family: sans-serif;
        transform: scaleX(0.998372);">The developer can check to see the
        name of the device that was actually opened using the function
        call alcGetString with a pointer to an open device and the name
      </div>
      <div class="" data-canvas-width="221.39189999999996" style="left:
        149.999px; top: 672.39px; font-size: 16.7px; font-family:
        sans-serif; transform: scaleX(0.998385);">“ALC_DEVICE_SPECIFIER”.<br>
        <br>
      </div>
      <div data-canvas-width="219.96238000000008" style="left: 210px;
        top: 719.806px; font-size: 16.7px; font-family: monospace;
        transform: scaleX(0.998165);">ALCdevice *pMyDevice; </div>
      <div data-canvas-width="329.9435700000002" style="left: 210px;
        top: 748.706px; font-size: 16.7px; font-family: monospace;
        transform: scaleX(0.998165);">const ALCchar *actualDeviceName;<br>
        <br>
      </div>
      <div data-canvas-width="269.9538300000001" style="left: 210px;
        top: 806.405px; font-size: 16.7px; font-family: monospace;
        transform: scaleX(0.998165);">// Open the default device </div>
      <div data-canvas-width="299.9487000000002" style="left: 210px;
        top: 835.306px; font-size: 16.7px; font-family: monospace;
        transform: scaleX(0.998165);">pMyDevice=alcOpenDevice(NULL)<br>
        <br>
      </div>
      <div data-canvas-width="609.8956900000006" style="left: 210px;
        top: 893.106px; font-size: 16.7px; font-family: monospace;
        transform: scaleX(0.998165);">// Pass in valid device pointer to
        get the name of the open </div>
      <div data-canvas-width="99.98289999999999" style="left: 210px;
        top: 921.905px; font-size: 16.7px; font-family: monospace;
        transform: scaleX(0.998165);">// device<br>
        <br>
      </div>
      <div class="" data-canvas-width="659.8871400000006" style="left:
        210px; top: 979.705px; font-size: 16.7px; font-family:
        monospace; transform: scaleX(0.998165);">actualDeviceName =
        alcGetString(pMyDevice, ALC_DEVICE_SPECIFIER); </div>
      <div data-canvas-width="569.9025300000005" style="left: 210px;
        top: 1008.61px; font-size: 16.7px; font-family: monospace;
        transform: scaleX(0.998165);">// actualDeviceName contains the
        name of the open device </div>
      <br>
      And this is exactly how sample code is used provided in the
      original OpenAL SDK. So this should give the full device name, not
      just some driver specifier. I think that changing this behavior
      was not a good thing. Perhaps a different enumeration should be
      used for just getting the driver specifier.<br>
      <br>
      Tommy<br>
      <br>
      <br>
      On 9/1/2016 7:48 PM, Chris Robinson wrote:<br>
    </div>
    <blockquote
      cite="mid:f907ae07-666f-b87d-584d-e50d236fead5@gmail.com"
      type="cite">On 09/01/2016 08:34 AM, Tommy Scott wrote:
      <br>
      <blockquote type="cite">When I enumerate all the available devices
        they all come back with a
        <br>
        strDeviceName equal to "OpenAL Soft" instead of the actual
        device name.
        <br>
      </blockquote>
      <br>
      ALC_DEVICE_SPECIFIER effectively acts as a driver specifier.
      You'll get names like "Generic Software", "Generic Hardware",
      "OpenAL Soft", etc. You may see specific device names if you have
      a hardware OpenAL driver for your audio card, though.
      <br>
      <br>
      Otherwise, you should use the ALC_ENUMERATE_ALL_EXT extension's
      ALC_ALL_DEVICES_SPECIFIER to get the specific output. Then you'll
      get names like "OpenAL Soft on Some Device".
      <br>
      <br>
      <blockquote type="cite">Strangely, if I
        <br>
        change the call to ||alcGetString(device,
        ALC_ALL_DEVICES_SPECIFIER)
        <br>
        then it returns thje correct name for the device, but then when
        using
        <br>
        that name to open the device it doesn't allow the device to play
        sounds.
        <br>
      </blockquote>
      <br>
      That's odd, you should be able to open the specific names you get
      from that. What name do you get? What happens when you try to open
      a device with the name? Does the device open and the context get
      created, or does one of them fail, or...?
      <br>
      <br>
      It may help to get logging output, which you can do by setting the
      ALSOFT_LOGLEVEL environment variable to 3, then capturing stderr
      when running the app (or also set the ALSOFT_LOGFILE environment
      variable to a path with filename, where the log can be written
      to).
      <br>
      _______________________________________________
      <br>
      openal mailing list
      <br>
      <a class="moz-txt-link-abbreviated" href="mailto:openal@openal.org">openal@openal.org</a>
      <br>
      <a class="moz-txt-link-freetext" href="http://openal.org/mailman/listinfo/openal">http://openal.org/mailman/listinfo/openal</a><br>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>