factor/libs/openal/alut.factor

65 lines
3.4 KiB
Factor

! Copyright (C) 2007 Chris Double.
! See http://factorcode.org/license.txt for BSD license.
!
IN: openal
USING: kernel alien ;
: load-alut-library ( -- )
"alut" {
{ [ win32? ] [ "alut.dll" ] }
{ [ macosx? ] [ "/System/Library/Frameworks/OpenAL.framework/OpenAL" ] }
{ [ unix? ] [ "libalut.so" ] }
} cond "cdecl" add-library ;
load-alut-library
LIBRARY: alut
: ALUT_API_MAJOR_VERSION ( -- number ) 1 ; inline
: ALUT_API_MINOR_VERSION ( -- number ) 1 ; inline
: ALUT_ERROR_NO_ERROR ( -- number ) 0 ; inline
: ALUT_ERROR_OUT_OF_MEMORY ( -- number ) HEX: 200 ; inline
: ALUT_ERROR_INVALID_ENUM ( -- number ) HEX: 201 ; inline
: ALUT_ERROR_INVALID_VALUE ( -- number ) HEX: 202 ; inline
: ALUT_ERROR_INVALID_OPERATION ( -- number ) HEX: 203 ; inline
: ALUT_ERROR_NO_CURRENT_CONTEXT ( -- number ) HEX: 204 ; inline
: ALUT_ERROR_AL_ERROR_ON_ENTRY ( -- number ) HEX: 205 ; inline
: ALUT_ERROR_ALC_ERROR_ON_ENTRY ( -- number ) HEX: 206 ; inline
: ALUT_ERROR_OPEN_DEVICE ( -- number ) HEX: 207 ; inline
: ALUT_ERROR_CLOSE_DEVICE ( -- number ) HEX: 208 ; inline
: ALUT_ERROR_CREATE_CONTEXT ( -- number ) HEX: 209 ; inline
: ALUT_ERROR_MAKE_CONTEXT_CURRENT ( -- number ) HEX: 20A ; inline
: ALUT_ERROR_DESTRY_CONTEXT ( -- number ) HEX: 20B ; inline
: ALUT_ERROR_GEN_BUFFERS ( -- number ) HEX: 20C ; inline
: ALUT_ERROR_BUFFER_DATA ( -- number ) HEX: 20D ; inline
: ALUT_ERROR_IO_ERROR ( -- number ) HEX: 20E ; inline
: ALUT_ERROR_UNSUPPORTED_FILE_TYPE ( -- number ) HEX: 20F ; inline
: ALUT_ERROR_UNSUPPORTED_FILE_SUBTYPE ( -- number ) HEX: 210 ; inline
: ALUT_ERROR_CORRUPT_OR_TRUNCATED_DATA ( -- number ) HEX: 211 ; inline
: ALUT_WAVEFORM_SINE ( -- number ) HEX: 100 ; inline
: ALUT_WAVEFORM_SQUARE ( -- number ) HEX: 101 ; inline
: ALUT_WAVEFORM_SAWTOOTH ( -- number ) HEX: 102 ; inline
: ALUT_WAVEFORM_WHITENOISE ( -- number ) HEX: 103 ; inline
: ALUT_WAVEFORM_IMPULSE ( -- number ) HEX: 104 ; inline
: ALUT_LOADER_BUFFER ( -- number ) HEX: 300 ; inline
: ALUT_LOADER_MEMORY ( -- number ) HEX: 301 ; inline
FUNCTION: ALboolean alutInit ( int* argcp, char** argv ) ;
FUNCTION: ALboolean alutInitWithoutContext ( int* argcp, char** argv ) ;
FUNCTION: ALboolean alutExit ( ) ;
FUNCTION: ALenum alutGetError ( ) ;
FUNCTION: char* alutGetErrorString ( ALenum error ) ;
FUNCTION: ALuint alutCreateBufferFromFile ( char* fileName ) ;
FUNCTION: ALuint alutCreateBufferFromFileImage ( void* data, ALsizei length ) ;
FUNCTION: ALuint alutCreateBufferHelloWorld ( ) ;
FUNCTION: ALuint alutCreateBufferWaveform ( ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration ) ;
FUNCTION: void* alutLoadMemoryFromFile ( char* fileName, ALenum* format, ALsizei* size, ALfloat* frequency ) ;
FUNCTION: void* alutLoadMemoryFromFileImage ( void* data, ALsizei length, ALenum* format, ALsizei* size, ALfloat* frequency ) ;
FUNCTION: void* alutLoadMemoryHelloWorld ( ALenum* format, ALsizei* size, ALfloat* frequency ) ;
FUNCTION: void* alutLoadMemoryWaveform ( ALenum waveshape, ALfloat frequency, ALfloat phase, ALfloat duration, ALenum* format, ALsizei* size, ALfloat* freq ) ;
FUNCTION: char* alutGetMIMETypes ( ALenum loader ) ;
FUNCTION: ALint alutGetMajorVersion ( ) ;
FUNCTION: ALint alutGetMinorVersion ( ) ;
FUNCTION: ALboolean alutSleep ( ALfloat duration ) ;
FUNCTION: void alutUnloadWAV ( ALenum format, void* data, ALsizei size, ALsizei frequency ) ;