Copyright | (c) Sven Panne 2003-2016 |
---|---|
License | BSD3 |
Maintainer | Sven Panne <svenpanne@gmail.com> |
Stability | stable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
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
- unmarshalALboolean :: ALboolean -> Bool
- unmarshalFormat :: ALenum -> Format
- unmarshalBuffer :: ALuint -> Maybe Buffer
General AL extension support
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>/"
.
Internal re-exports, use at your own risk
unmarshalALboolean :: ALboolean -> Bool Source #
unmarshalFormat :: ALenum -> Format Source #