Class SOFTLoopback

java.lang.Object
org.lwjgl.openal.SOFTLoopback

public class SOFTLoopback extends Object
Native bindings to the SOFT_loopback extension.

This extension allows an application to read back OpenAL's rendered audio instead of having it output to an audio device on the system. Unextended OpenAL will output audio to an audio device, with no mechanism to allow an application to divert the audio somewhere else.

  • Field Details

  • Method Details

    • nalcLoopbackOpenDeviceSOFT

      public static long nalcLoopbackOpenDeviceSOFT(long deviceName)
      Unsafe version of: LoopbackOpenDeviceSOFT
    • alcLoopbackOpenDeviceSOFT

      public static long alcLoopbackOpenDeviceSOFT(@Nullable ByteBuffer deviceName)
      Loopback devices provide a way for applications to "read back" rendered audio without it being sent to an actual audio device. It allows applications to render audio as fast or slow as it needs, making it suitable for non-real-time rendering, and so it can be passed to an audio codec or something for further processing.

      To open a loopback device, use this function.

      A loopback device behaves largely the same as a playback device. You may query playback state and error codes, and create contexts, which can then be set as current to generate sources and buffers like normal.

      Note that loopback devices do not have either the SYNC or REFRESH attributes. Attempting to query them will result in an INVALID_ENUM error.

      Parameters:
      deviceName - which device or device driver to use for subsequent rendering. This may be NULL for an implementation-defined default, otherwise it must be a valid name returned by enumeration (and further must be a device capable of loopback rendering).
    • alcLoopbackOpenDeviceSOFT

      public static long alcLoopbackOpenDeviceSOFT(@Nullable CharSequence deviceName)
      Loopback devices provide a way for applications to "read back" rendered audio without it being sent to an actual audio device. It allows applications to render audio as fast or slow as it needs, making it suitable for non-real-time rendering, and so it can be passed to an audio codec or something for further processing.

      To open a loopback device, use this function.

      A loopback device behaves largely the same as a playback device. You may query playback state and error codes, and create contexts, which can then be set as current to generate sources and buffers like normal.

      Note that loopback devices do not have either the SYNC or REFRESH attributes. Attempting to query them will result in an INVALID_ENUM error.

      Parameters:
      deviceName - which device or device driver to use for subsequent rendering. This may be NULL for an implementation-defined default, otherwise it must be a valid name returned by enumeration (and further must be a device capable of loopback rendering).
    • alcIsRenderFormatSupportedSOFT

      public static boolean alcIsRenderFormatSupportedSOFT(long device, int frequency, int channels, int type)
      When creating contexts, the attribute list must specify the format used for rendering. This is done with the FORMAT_CHANNELS_SOFT, FORMAT_TYPE_SOFT, and FREQUENCY attributes. This controls the format of the audio subsequently rendered by the device.

      To check if a particular rendering format is available, use this function.

      Parameters:
      device - the loopback device to query
      frequency - the sample rate of the rendered audio
      channels - the channel configuration used for rendering. One of:
      MONO_SOFTSTEREO_SOFTQUAD_SOFT5POINT1_SOFT6POINT1_SOFT7POINT1_SOFT
      type - sample type of the written audio. One of:
      BYTE_SOFTUNSIGNED_BYTE_SOFTSHORT_SOFTUNSIGNED_SHORT_SOFTINT_SOFTUNSIGNED_INT_SOFT
      FLOAT_SOFT
    • nalcRenderSamplesSOFT

      public static void nalcRenderSamplesSOFT(long device, long buffer, int samples)
      Unsafe version of: RenderSamplesSOFT
    • alcRenderSamplesSOFT

      public static void alcRenderSamplesSOFT(long device, ByteBuffer buffer, int samples)
      The state of various objects on loopback devices (including processed buffers and source offsets) is processed only when new samples are rendered. To render samples, use this function.
      Parameters:
      device - the loopback device which samples are rendered from, using its contexts and associated buffers and sources
      buffer - the buffer that will receive the samples. It must be big enough to contain at least samples sample frames.
      samples - the number of sample frames to render
    • alcRenderSamplesSOFT

      public static void alcRenderSamplesSOFT(long device, ShortBuffer buffer, int samples)
      The state of various objects on loopback devices (including processed buffers and source offsets) is processed only when new samples are rendered. To render samples, use this function.
      Parameters:
      device - the loopback device which samples are rendered from, using its contexts and associated buffers and sources
      buffer - the buffer that will receive the samples. It must be big enough to contain at least samples sample frames.
      samples - the number of sample frames to render
    • alcRenderSamplesSOFT

      public static void alcRenderSamplesSOFT(long device, IntBuffer buffer, int samples)
      The state of various objects on loopback devices (including processed buffers and source offsets) is processed only when new samples are rendered. To render samples, use this function.
      Parameters:
      device - the loopback device which samples are rendered from, using its contexts and associated buffers and sources
      buffer - the buffer that will receive the samples. It must be big enough to contain at least samples sample frames.
      samples - the number of sample frames to render
    • alcRenderSamplesSOFT

      public static void alcRenderSamplesSOFT(long device, FloatBuffer buffer, int samples)
      The state of various objects on loopback devices (including processed buffers and source offsets) is processed only when new samples are rendered. To render samples, use this function.
      Parameters:
      device - the loopback device which samples are rendered from, using its contexts and associated buffers and sources
      buffer - the buffer that will receive the samples. It must be big enough to contain at least samples sample frames.
      samples - the number of sample frames to render
    • alcRenderSamplesSOFT

      public static void alcRenderSamplesSOFT(long device, short[] buffer, int samples)
      Array version of: RenderSamplesSOFT
    • alcRenderSamplesSOFT

      public static void alcRenderSamplesSOFT(long device, int[] buffer, int samples)
      Array version of: RenderSamplesSOFT
    • alcRenderSamplesSOFT

      public static void alcRenderSamplesSOFT(long device, float[] buffer, int samples)
      Array version of: RenderSamplesSOFT