Difference between revisions of "OpenAL"

From HaskellWiki
Jump to: navigation, search
(Windows specific actions)
(Installation: This subsection is completely re-written (including the previous edits))
Line 33: Line 33:
:If you need these variables more often, [http://support.microsoft.com/kb/310519 set them globally].
:If you need these variables more often, [http://support.microsoft.com/kb/310519 set them globally].
* Give command <code>cabal install OpenAL</code>
=== For all platforms ===
=== For all platforms ===
See [[Cabal/How to install a Cabal package | How to install a Cabal package]].
Give command <code>cabal install OpenAL</code>
== Tutorials ==
== Tutorials ==

Revision as of 14:22, 13 October 2015


OpenAL (short for Open Audio Library) is a library for creation of a virtual 3D world of sound. The application programmer can specify the location, the speed and the direction of the sources of sounds and of the listener. This is easily combined with a 3D world created with OpenGL and can very well be used to create games. The sounds must be provided in the form of samples; there is no support for MIDI.

An addition to this library is the OpenAL Utility Toolkit (ALUT). See also the Wikipedia article on OpenAL.


Windows specific actions

Before installing the Haskell package, you need to install the C-package of OpenAL:

where OpenAL32.dll
(You will need this later, when you distribute your application.)
Set LIBRARY_DIR=C:\Libraries
Set C_INCLUDE_PATH=%LIBRARY_DIR%\openal-soft-1.16.0-bin\include
Set LIBRARY_PATH=%LIBRARY_DIR%\openal-soft-1.16.0-bin\libs\Win32
If you need these variables more often, set them globally.

For all platforms

Give command cabal install OpenAL


There are several OpenAL tutorials for other programming languages:


Additional software

  • StateVar: This package contains state variables, which are references in the IO monad, like IORefs or parts of the OpenGL state
  • ObjectName: Explicitly handled object names. This tiny package contains the class ObjectName, which corresponds to the general notion of explicitly handled identifiers for API objects, e.g. a texture object name in OpenGL or a buffer object name in OpenAL
  • Tensor This package contains tensor data types and their instances for some basic type classes.
  • OpenGL 3D graphics software

More information

For questions