OpenAL- A binding to the OpenAL cross-platform 3D audio API

Safe HaskellSafe-Inferred



This module corresponds to the extension handling parts of section 6.3 (ALC Queries) of the OpenAL Specification and Reference (version 1.1).



alcExtensions :: Device -> GettableStateVar [String]Source

Contains a list of available context extensions.

alcIsExtensionPresent :: Maybe Device -> String -> GettableStateVar BoolSource

To verify that a given extension is available for the current context and the device it is associated with, use alcIsExtensionPresent. For invalid and unsupported string tokens it contains False. Using Nothing as the device is acceptable. The extension name is not case sensitive: The implementation will convert the name to all upper-case internally (and will express extension names in upper-case).

alcProcAddress :: Maybe Device -> String -> GettableStateVar (FunPtr a)Source

The application is expected to verify the applicability of an extension or core function entry point before requesting it by name, by use of alcIsExtensionPresent. Extension entry points can be retrieved using alcProcAddress. Entry points can be device specific, but are not context specific. Using Nothing as the device does not guarantee that the entry point is returned, even if available for one of the available devices.

alcEnumValue :: Maybe Device -> String -> GettableStateVar ALCenumSource

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

alcVersion :: GettableStateVar StringSource

Contains the "major.minor" specification revision for this implementation.