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

Copyright(c) Sven Panne 2003-2015
LicenseBSD3
MaintainerSven Panne <svenpanne@gmail.com>
Stabilitystable
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Sound.OpenAL.AL.BasicTypes

Contents

Description

This module corresponds to section 2.2 (Primitive Types) of the OpenAL Specification and Reference (version 1.1).

Synopsis

Primitive Types

As OpenAL is meant to allow for seamless integration with OpenGL code if needed, the OpenAL library primitive (scalar) data types mimic the OpenGL data types. Guaranteed minimum sizes are stated for OpenGL data types, but the actual choice of C data type is left to the implementation. All implementations on a given binary architecture, however, must use a common definition of these data types.

Floating-Point Computation

Any representable floating-point value is legal as input to an OpenAL command that requires floating point data. The result of providing a value that is not a floating point number to such a command is unspecified, but must not lead to OpenAL being interrupted or terminated. In IEEE arithmetic, for example, providing a negative zero or a denormalized number to an OpenAL command yields predictable results, while providing a NaN or infinity yields unspecified results. Some calculations require division. In such cases (including implied divisions required by vector normalizations), a division by zero produces an unspecified result but must not lead to OpenAL interruption or termination.

type ALboolean = CChar Source

8-bit boolean

type ALchar = CChar Source

Character

type ALbyte = CSChar Source

Signed 8-bit 2's complement integer

type ALubyte = CUChar Source

Unsigned 8-bit integer

type ALshort = CShort Source

Signed 16-bit 2's complement integer

type ALushort = CUShort Source

Unsigned 16-bit integer

type ALint = CInt Source

Signed 32-bit 2's complement integer

type ALuint = CUInt Source

Unsigned 32-bit integer

type ALsizei = CInt Source

Non-negatitve 32-bit binary integer size

type ALenum = CInt Source

Enumerated 32-bit value

type ALfloat = CFloat Source

32-bit IEEE754 floating-point

type ALdouble = CDouble Source

64-bit IEEE754 floating-point