Class ALC10

java.lang.Object
org.lwjgl.openal.ALC10
Direct Known Subclasses:
ALC11

public class ALC10 extends Object
Native bindings to ALC 1.0 functionality.
  • Field Details

    • ALC_INVALID

      public static final int ALC_INVALID
      General tokens.
      See Also:
    • ALC_FALSE

      public static final int ALC_FALSE
      General tokens.
      See Also:
    • ALC_TRUE

      public static final int ALC_TRUE
      General tokens.
      See Also:
    • ALC_FREQUENCY

      public static final int ALC_FREQUENCY
      Context creation attributes.
      See Also:
    • ALC_REFRESH

      public static final int ALC_REFRESH
      Context creation attributes.
      See Also:
    • ALC_SYNC

      public static final int ALC_SYNC
      Context creation attributes.
      See Also:
    • ALC_NO_ERROR

      public static final int ALC_NO_ERROR
      Error conditions.
      See Also:
    • ALC_INVALID_DEVICE

      public static final int ALC_INVALID_DEVICE
      Error conditions.
      See Also:
    • ALC_INVALID_CONTEXT

      public static final int ALC_INVALID_CONTEXT
      Error conditions.
      See Also:
    • ALC_INVALID_ENUM

      public static final int ALC_INVALID_ENUM
      Error conditions.
      See Also:
    • ALC_INVALID_VALUE

      public static final int ALC_INVALID_VALUE
      Error conditions.
      See Also:
    • ALC_OUT_OF_MEMORY

      public static final int ALC_OUT_OF_MEMORY
      Error conditions.
      See Also:
    • ALC_DEFAULT_DEVICE_SPECIFIER

      public static final int ALC_DEFAULT_DEVICE_SPECIFIER
      String queries.
      See Also:
    • ALC_DEVICE_SPECIFIER

      public static final int ALC_DEVICE_SPECIFIER
      String queries.
      See Also:
    • ALC_EXTENSIONS

      public static final int ALC_EXTENSIONS
      String queries.
      See Also:
    • ALC_MAJOR_VERSION

      public static final int ALC_MAJOR_VERSION
      Integer queries.
      See Also:
    • ALC_MINOR_VERSION

      public static final int ALC_MINOR_VERSION
      Integer queries.
      See Also:
    • ALC_ATTRIBUTES_SIZE

      public static final int ALC_ATTRIBUTES_SIZE
      Integer queries.
      See Also:
    • ALC_ALL_ATTRIBUTES

      public static final int ALC_ALL_ATTRIBUTES
      Integer queries.
      See Also:
  • Method Details

    • nalcOpenDevice

      public static long nalcOpenDevice(long deviceSpecifier)
      Unsafe version of: OpenDevice
    • alcOpenDevice

      public static long alcOpenDevice(@Nullable ByteBuffer deviceSpecifier)
      Allows the application to connect to a device.

      If the function returns NULL, then no sound driver/device has been found. The argument is a null terminated string that requests a certain device or device configuration. If NULL is specified, the implementation will provide an implementation specific default.

      Parameters:
      deviceSpecifier - the requested device or device configuration
    • alcOpenDevice

      public static long alcOpenDevice(@Nullable CharSequence deviceSpecifier)
      Allows the application to connect to a device.

      If the function returns NULL, then no sound driver/device has been found. The argument is a null terminated string that requests a certain device or device configuration. If NULL is specified, the implementation will provide an implementation specific default.

      Parameters:
      deviceSpecifier - the requested device or device configuration
    • alcCloseDevice

      public static boolean alcCloseDevice(long deviceHandle)
      Allows the application to disconnect from a device.

      The return code will be ALC_TRUE or ALC_FALSE, indicating success or failure. Failure will occur if all the device's contexts and buffers have not been destroyed. Once closed, the deviceHandle is invalid.

      Parameters:
      deviceHandle - the device to close
    • nalcCreateContext

      public static long nalcCreateContext(long deviceHandle, long attrList)
      Unsafe version of: CreateContext
    • alcCreateContext

      public static long alcCreateContext(long deviceHandle, @Nullable IntBuffer attrList)
      Creates an AL context.
      Parameters:
      deviceHandle - a valid device
      attrList - null or a zero terminated list of integer pairs composed of valid ALC attribute tokens and requested values. One of:
      FREQUENCYREFRESHSYNCMONO_SOURCESSTEREO_SOURCES
    • alcMakeContextCurrent

      public static boolean alcMakeContextCurrent(long context)
      Makes a context current with respect to OpenAL operation.

      The context parameter can be NULL or a valid context pointer. Using NULL results in no context being current, which is useful when shutting OpenAL down. The operation will apply to the device that the context was created for.

      For each OS process (usually this means for each application), only one context can be current at any given time. All AL commands apply to the current context. Commands that affect objects shared among contexts (e.g. buffers) have side effects on other contexts.

      Parameters:
      context - the context to make current
    • alcProcessContext

      public static void alcProcessContext(long context)
      The current context is the only context accessible to state changes by AL commands (aside from state changes affecting shared objects). However, multiple contexts can be processed at the same time. To indicate that a context should be processed (i.e. that internal execution state such as the offset increments are to be performed), the application uses alcProcessContext.

      Repeated calls to alcProcessContext are legal, and do not affect a context that is already marked as processing. The default state of a context created by alcCreateContext is that it is processing.

      Parameters:
      context - the context to mark for processing
    • alcSuspendContext

      public static void alcSuspendContext(long context)
      The application can suspend any context from processing (including the current one). To indicate that a context should be suspended from processing (i.e. that internal execution state such as offset increments are not to be changed), the application uses alcSuspendContext.

      Repeated calls to alcSuspendContext are legal, and do not affect a context that is already marked as suspended.

      Parameters:
      context - the context to mark as suspended
    • alcDestroyContext

      public static void alcDestroyContext(long context)
      Destroys a context.

      The correct way to destroy a context is to first release it using alcMakeCurrent with a NULL context. Applications should not attempt to destroy a current context – doing so will not work and will result in an ALC_INVALID_OPERATION error. All sources within a context will automatically be deleted during context destruction.

      Parameters:
      context - the context to destroy
    • alcGetCurrentContext

      public static long alcGetCurrentContext()
      Queries for, and obtains a handle to, the current context for the application. If there is no current context, NULL is returned.
    • alcGetContextsDevice

      public static long alcGetContextsDevice(long context)
      Queries for, and obtains a handle to, the device of a given context.
      Parameters:
      context - the context to query
    • nalcIsExtensionPresent

      public static boolean nalcIsExtensionPresent(long deviceHandle, long extName)
      Unsafe version of: IsExtensionPresent
    • alcIsExtensionPresent

      public static boolean alcIsExtensionPresent(long deviceHandle, ByteBuffer extName)
      Verifies that a given extension is available for the current context and the device it is associated with.

      Invalid and unsupported string tokens return ALC_FALSE. A NULL deviceHandle is acceptable. extName is not case sensitive – the implementation will convert the name to all upper-case internally (and will express extension names in upper-case).

      Parameters:
      deviceHandle - the device to query
      extName - the extension name
    • alcIsExtensionPresent

      public static boolean alcIsExtensionPresent(long deviceHandle, CharSequence extName)
      Verifies that a given extension is available for the current context and the device it is associated with.

      Invalid and unsupported string tokens return ALC_FALSE. A NULL deviceHandle is acceptable. extName is not case sensitive – the implementation will convert the name to all upper-case internally (and will express extension names in upper-case).

      Parameters:
      deviceHandle - the device to query
      extName - the extension name
    • nalcGetProcAddress

      public static long nalcGetProcAddress(long deviceHandle, long funcName)
      Unsafe version of: GetProcAddress
    • alcGetProcAddress

      public static long alcGetProcAddress(long deviceHandle, ByteBuffer funcName)
      Retrieves extension entry points.

      The application is expected to verify the applicability of an extension or core function entry point before requesting it by name, by use of IsExtensionPresent.

      Entry points can be device specific, but are not context specific. Using a NULL device handle does not guarantee that the entry point is returned, even if available for one of the available devices.

      Parameters:
      deviceHandle - the device to query
      funcName - the function name
    • alcGetProcAddress

      public static long alcGetProcAddress(long deviceHandle, CharSequence funcName)
      Retrieves extension entry points.

      The application is expected to verify the applicability of an extension or core function entry point before requesting it by name, by use of IsExtensionPresent.

      Entry points can be device specific, but are not context specific. Using a NULL device handle does not guarantee that the entry point is returned, even if available for one of the available devices.

      Parameters:
      deviceHandle - the device to query
      funcName - the function name
    • nalcGetEnumValue

      public static int nalcGetEnumValue(long deviceHandle, long enumName)
      Unsafe version of: GetEnumValue
    • alcGetEnumValue

      public static int alcGetEnumValue(long deviceHandle, ByteBuffer enumName)
      Returns extension enum values.

      Enumeration/token values are device independent, but tokens defined for extensions might not be present for a given device. Using a NULL handle is legal, but only the tokens defined by the AL core are guaranteed. Availability of extension tokens depends on the ALC extension.

      Parameters:
      deviceHandle - the device to query
      enumName - the enum name
    • alcGetEnumValue

      public static int alcGetEnumValue(long deviceHandle, CharSequence enumName)
      Returns extension enum values.

      Enumeration/token values are device independent, but tokens defined for extensions might not be present for a given device. Using a NULL handle is legal, but only the tokens defined by the AL core are guaranteed. Availability of extension tokens depends on the ALC extension.

      Parameters:
      deviceHandle - the device to query
      enumName - the enum name
    • alcGetError

      public static int alcGetError(long deviceHandle)
      Queries ALC errors.

      ALC uses the same conventions and mechanisms as AL for error handling. In particular, ALC does not use conventions derived from X11 (GLX) or Windows (WGL).

      Error conditions are specific to the device, and (like AL) a call to alcGetError resets the error state.

      Parameters:
      deviceHandle - the device to query
    • nalcGetString

      public static long nalcGetString(long deviceHandle, int token)
      Unsafe version of: GetString
    • alcGetString

      public static @Nullable String alcGetString(long deviceHandle, int token)
      Obtains string value(s) from ALC.

      LWJGL note: Use ALUtil.getStringList(long, int) for those tokens that return multiple values.

      Parameters:
      deviceHandle - the device to query
      token - the information to query. One of:
      DEFAULT_DEVICE_SPECIFIERDEVICE_SPECIFIEREXTENSIONS
      CAPTURE_DEFAULT_DEVICE_SPECIFIERCAPTURE_DEVICE_SPECIFIER
    • nalcGetIntegerv

      public static void nalcGetIntegerv(long deviceHandle, int token, int size, long dest)
      Unsafe version of: GetIntegerv
      Parameters:
      size - the size of the dest buffer
    • alcGetIntegerv

      public static void alcGetIntegerv(long deviceHandle, int token, IntBuffer dest)
      Obtains integer value(s) from ALC.
      Parameters:
      deviceHandle - the device to query
      token - the information to query. One of:
      MAJOR_VERSIONMINOR_VERSIONATTRIBUTES_SIZEALL_ATTRIBUTESCAPTURE_SAMPLES
      dest - the destination buffer
    • alcGetInteger

      public static int alcGetInteger(long deviceHandle, int token)
      Obtains integer value(s) from ALC.
      Parameters:
      deviceHandle - the device to query
      token - the information to query. One of:
      MAJOR_VERSIONMINOR_VERSIONATTRIBUTES_SIZEALL_ATTRIBUTESCAPTURE_SAMPLES
    • alcCreateContext

      public static long alcCreateContext(long deviceHandle, int @Nullable [] attrList)
      Array version of: CreateContext
    • alcGetIntegerv

      public static void alcGetIntegerv(long deviceHandle, int token, int[] dest)
      Array version of: GetIntegerv