| OpenAL-1.3.1.1: A binding to the OpenAL cross-platform 3D audio API | Source code | Contents | Index
Sound.OpenAL.AL.Extensions |
Portability | portable
Stability | provisional
Maintainer | sven.panne@aedion.de
Description
This module corresponds to section 3.1.2 (String Queries) and chapter 7 (Appendix: Extensions) of the OpenAL Specification and Reference (version 1.1).
Synopsis
alExtensions :: GettableStateVar [String]
alIsExtensionPresent :: String -> GettableStateVar Bool
alProcAddress :: String -> GettableStateVar (FunPtr a)
alEnumValue :: String -> GettableStateVar ALenum
alVersion :: GettableStateVar String
Documentation
alExtensions :: GettableStateVar [String] | Source
Contains the list of available extensions.
alIsExtensionPresent :: String -> GettableStateVar Bool | Source
To verify that a given extension is available for the current context, use `alIsExtensionPresent`. For invalid and unsupported string tokens it contains `False`. 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).
alProcAddress :: String -> GettableStateVar (FunPtr a) | Source
To retrieving function entry addresses, applications can use `alProcAddress`. It contains `nullFunPtr` if no entry point with the given name can be found. Implementations are free to use `nullFunPtr` if an entry point is present, but not applicable for the current context. However the specification does not guarantee this behavior. Applications can use `alProcAddress` to obtain core API entry points, not just extensions. This is the recommended way to dynamically load and unload OpenAL DLLs as sound drivers.
alEnumValue :: String -> GettableStateVar ALenum | Source
To obtain enumeration values for extensions, the application has to use `alEnumValue` of an extension token. Enumeration values are defined within the OpenAL name space and allocated according to specification of the core API and the extensions, thus they are context-independent. `alEnumValue` contains 0 if the enumeration can not be found. The presence of an enum value does not guarantee the applicability of an extension to the current context. A non-zero value indicates merely that the implementation is aware of the existence of this extension. Implementations should not attempt to use 0 to indicate that the extensions is not supported for the current context.
alVersion :: GettableStateVar String | Source
Contains a version string in the format `"\<spec major number\>./<spec minor number> <optional vendor version information>/"`.
Produced by Haddock version 0.9