ALUT
Jump to navigation
Jump to search
This article is a stub. You can help by expanding it.
A binding for the OpenAL Utility Toolkit
Downloads
- Hackage: https://hackage.haskell.org/package/ALUT
- Repository: git clone https://github.com/haskell-openal/ALUT
Windows specific actions
The following must be installed first:
- MSYS2 or MinGW/MSYS
- OpenAL
- The C++ package of ALUT, freealut
To install freealut:
- Start a shell
- Go to the directory where you want the freealut source code, for example
C:\Temp
- Fetch the source code with Git:
- Install CMake
- Set the search path in such a way that there is no sh.exe in it; you can use command
where sh
to find the directories that must be removed (CMake seems to be allergic to sh.exe) - Start cmake-gui
- Enter the directory of the freealut source code (
C:\Temp\freealut
) and the directory where you want the compile result, for exampleC:\Temp\freealut\build
- Add the entries in the table below, by pressing "Add Entry" for each entry
Name | Type | Value |
CMAKE_GENERATOR
|
String
|
MinGW Makefiles
|
OPENAL_INCLUDE_DIR
|
Filepath
|
the directory containing the OpenAL header file |
CMAKE_INSTALL_PREFIX
|
Filepath
|
C:\Libraries\ALUT
|
- Press "Configure"
- Press "Generate"; this will generate a makefile
- Edit freealut\include\AL\alut.h:
- Change line 34:
#define ALUT_APIENTRY __cdecl
- to:
#define ALUT_APIENTRY __stdcall
- In the shell, go to the directory where you want the compile result, for example
C:\Temp\freealut\build
- Start the MSYS shell:
sh
- Run the make utility:
mingw32-make install
- Set environment variables as follows:
Set LIBRARY_DIR=C:\Libraries Set C_INCLUDE_PATH=%LIBRARY_DIR%\ALUT\include;%C_INCLUDE_PATH% Set LIBRARY_PATH=%LIBRARY_DIR%\ALUT\lib;%LIBRARY_PATH% Set PATH=%LIBRARY_DIR%\ALUT\bin;%PATH%
- If you need these variables more often, set them permanently.
- The directory
%LIBRARY_DIR%\ALUT\bin
contains libalut.dll; this DLL must always be in the search path when you run an ALUT-using application.
- Install ALUT:
cabal install alut
Additional software
- StateVar: This package contains state variables, which are references in the IO monad, like IORefs or parts of the OpenGL state
- OpenAL 3D sound software
- OpenGL 3D graphics software
An alternative to ALUT might be OALWrapper