Difference between revisions of "OpenAL"

From HaskellWiki
Jump to navigation Jump to search
m (Opengl -> OpenGL)
m
(9 intermediate revisions by 3 users not shown)
Line 10: Line 10:
   
 
== Installation ==
 
== Installation ==
  +
Download the OpenAL [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenAL package from Hackage]
 
  +
{{PackageInfoBox|name=OpenAL|darcs-code=OpenAL/OpenAL/}}
or with [[Darcs]]:
 
  +
darcs get http://darcs.haskell.org/packages/OpenAL/
 
   
 
=== Windows specific actions ===
 
=== Windows specific actions ===
  +
 
If you downloaded from Hackage, you might want to know, [[How to unpack a tar file in windows]]
 
If you downloaded from Hackage, you might want to know, [[How to unpack a tar file in windows]]
   
Line 29: Line 30:
   
 
=== For all platforms ===
 
=== For all platforms ===
  +
 
See [[Cabal/How to install a Cabal package | How to install a Cabal package]].
 
See [[Cabal/How to install a Cabal package | How to install a Cabal package]].
   
Line 34: Line 36:
 
== Tutorials ==
 
== Tutorials ==
   
There are several tutorials for the C version of OpenAL:
+
There are several OpenAL tutorials for other programming languages:
*[http://www.edenwaith.com/products/pige/tutorials/openal.php OpenAL Tutorial at Edenwaith]
+
* [http://www.edenwaith.com/products/pige/tutorials/openal.php OpenAL Tutorial at Edenwaith] (C)
*[http://www.devmaster.net/articles/openal-tutorials/lesson1.php OpenAL Tutorial at DevMaster.net]
+
* [http://pielot.org/2010/12/14/openal-on-android/ OpenAL on Android] (Java)
  +
* [http://lwjgl.org/wiki/index.php?title=Main_Page The LWJGL Wiki] (Java)
  +
* [http://java.net/projects/joal-demos/ Java OpenAL demos]
   
   
== Example ==
+
== Examples ==
  +
[http://darcs.haskell.org/packages/OpenAL/examples/test/TestDevice.hs TestDevice.hs]
+
* [http://code.haskell.org/OpenAL/OpenAL/examples/test/TestDevice.hs TestDevice.hs]
  +
  +
  +
== Additional software ==
  +
  +
* {{HackagePackage|id=StateVar}}: This package contains state variables, which are references in the IO monad, like IORefs or parts of the OpenGL state
  +
* {{HackagePackage|id=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
  +
* {{HackagePackage|id=Tensor}} This package contains tensor data types and their instances for some basic type classes.
  +
* [[OpenGL]] 3D graphics software
   
   
 
== More information ==
 
== More information ==
   
*[http://haskell.org/ghc/docs/latest/html/libraries/OpenAL/Sound-OpenAL.html The API documentation]
+
*[http://hackage.haskell.org/packages/archive/OpenAL/latest/doc/html/Sound-OpenAL.html The API documentation]
*[http://www.openal.org/ The OpenAL website]
+
*[http://connect.creativelabs.com/openal/default.aspx/ The OpenAL website]
*[http://developer.creative.com/ Creative Lab's developer site]
+
*[http://connect.creativelabs.com/developer/default.aspx Creative Lab's developer site]
*[http://developer.creative.com/articles/article.asp?cat=1&sbcat=31&top=38&aid=51&file=OpenAL_Programmers_Guide.pdf The OpenAL programmer's guide]
+
*[http://connect.creativelabs.com/openal/Documentation/OpenAL_Programmers_Guide.pdf The OpenAL programmer's guide]
 
*[http://en.wikipedia.org/wiki/Openal Wikipedia]
 
*[http://en.wikipedia.org/wiki/Openal Wikipedia]
*[http://www.devmaster.net/articles.php?catID=6 OpenAL articles and tutorials]
 
 
 
   
 
== For questions ==
 
== For questions ==
  +
*[http://haskell.org/mailman/listinfo/haskell-cafe The Haskell Cafe mailing list]
+
*[http://www.haskell.org/mailman/listinfo/haskell-cafe The Haskell Cafe mailing list]
 
*[http://opensource.creative.com/mailman/listinfo/openal The OpenAL mailing list (non-Haskell)]
 
*[http://opensource.creative.com/mailman/listinfo/openal The OpenAL mailing list (non-Haskell)]
 
 
   
   
  +
[[Category:3D]]
  +
[[Category:Games]]
 
[[Category:Music]]
 
[[Category:Music]]
 
[[Category:Packages]]
 
[[Category:Packages]]
  +
[[Category:User interfaces]]
  +
[[Category:Libraries]]

Revision as of 22:07, 16 December 2012

Introduction

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.


Installation

Package OpenAL
Hackage http://hackage.haskell.org/package/OpenAL
Repository darcs get http://code.haskell.org/OpenAL/OpenAL/


Windows specific actions

If you downloaded from Hackage, you might want to know, How to unpack a tar file in windows

Create a directory for include files, without spaces in the name, for example:

  C:\usr\local\include

Define the environment variable C_INCLUDE_PATH and assign it the name of the include directory (the full path), for example, in a .bat file, before the build commands:

  Set C_INCLUDE_PATH=C:\usr\local\include

As you will need this variable more often, it is best to set it globally. Copy the directory include\AL from the package to

  C:\usr\local\include\AL


For all platforms

See How to install a Cabal package.


Tutorials

There are several OpenAL tutorials for other programming languages:


Examples


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