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

Copyright(c) Sven Panne 2003-2016
MaintainerSven Panne <>
Safe HaskellSafe



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 Bool Source #

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 ALCenum Source #

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 String Source #

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