Class SOFTHRTF

java.lang.Object
org.lwjgl.openal.SOFTHRTF

public class SOFTHRTF extends Object
Native bindings to the SOFT_HRTF extension.

This extension allows an application to request and determine the status of HRTF mixing. HRTF, or Head-Related Transfer Function, is a method of mixing 3D audio for "true" 3D panning, typically using filters designed to simulate how sound is affected by a listener's head as the sound waves travel between the ears.

As a 3D sound API, OpenAL's design allows implementations to transparently render audio using HRTF. However, the OpenAL API currently has no concept of HRTF so there's no way to query if it's being used, and no way for an application to request it on behalf of the user. This aims to fix that.

  • Field Details

  • Method Details

    • nalcGetStringiSOFT

      public static long nalcGetStringiSOFT(long device, int paramName, int index)
      Unsafe version of: GetStringiSOFT
    • alcGetStringiSOFT

      public static @Nullable String alcGetStringiSOFT(long device, int paramName, int index)
      Returns a human-readable string for an HRTF.

      The returned string will be an implementation-defined UTF-8 encoded specifier for the given HRTF index, designed for display to the user. The returned strings are valid until the next enumeration point or the device is closed.

      Parameters:
      device - he same one that previously queried the number of HRTF specifiers
      paramName - the parameter to query. Must be:
      HRTF_SPECIFIER_SOFT
      index - an index between 0 (inclusive) and the previously-queried HRTF count (exclusive)
    • nalcResetDeviceSOFT

      public static boolean nalcResetDeviceSOFT(long device, long attrList)
      Unsafe version of: ResetDeviceSOFT
    • alcResetDeviceSOFT

      public static boolean alcResetDeviceSOFT(long device, @Nullable IntBuffer attrList)
      Resets a device after it is opened for playback, to attempt changing the playback properties.
      Parameters:
      device - a handle to a valid playback device as returned by OpenDevice, otherwise the call fails and an INVALID_DEVICE error is generated
      attrList - the same as what could be passed to CreateContext. The AL is allowed to ignore attributes and attribute value combinations the device cannot support, for example if the device doesn't support the requested FREQUENCY value, another value it does support may be set.
      Returns:
      on success the function returns TRUE, and on failure the function returns FALSE. Note that a return of TRUE does not indicate any attributes were honored, just that the device was successfully reset. If you need to know what the attributes are after a reset, query the device using GetIntegerv with the relevant attributes.
    • alcResetDeviceSOFT

      public static boolean alcResetDeviceSOFT(long device, int @Nullable [] attrList)
      Array version of: ResetDeviceSOFT