X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2Fopenal_wrapper.h;h=39f05eb96417695e6505c02eb5e3daa740e15fed;hb=cd043e3f9e26c2b3406b40a354c2840941e9db7f;hp=44fb7ecb62ba6e94db7939b70e88a9315822e8bf;hpb=00db7320c0d936a5fd6e5b9e9192a128ccfa0afd;p=lugaru.git diff --git a/Source/openal_wrapper.h b/Source/openal_wrapper.h index 44fb7ec..39f05eb 100644 --- a/Source/openal_wrapper.h +++ b/Source/openal_wrapper.h @@ -1,3 +1,22 @@ +/* +Copyright (C) 2003, 2010 - Wolfire Games + +This file is part of Lugaru. + +Lugaru is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +Lugaru is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Lugaru. If not, see . +*/ + #ifndef OPENAL_WRAPPER_H #define OPENAL_WRAPPER_H @@ -5,8 +24,8 @@ #include #endif -#include "al.h" -#include "alc.h" +#include "AL/al.h" +#include "AL/alc.h" #include "ogg/ogg.h" #include "vorbis/vorbisfile.h" @@ -44,14 +63,13 @@ typedef struct OPENAL_SAMPLE OPENAL_SAMPLE; -typedef struct OPENAL_STREAM OPENAL_STREAM; +typedef OPENAL_SAMPLE OPENAL_STREAM; typedef struct OPENAL_DSPUNIT OPENAL_DSPUNIT; -enum OPENAL_OUTPUTTYPES -{ - OPENAL_OUTPUT_NOSOUND, /* NoSound driver, all calls to this succeed but do nothing. */ - OPENAL_OUTPUT_OSS, /* Linux/Unix OSS (Open Sound System) driver, i.e. the kernel sound drivers. */ - OPENAL_OUTPUT_ALSA, /* Linux Alsa driver. */ +enum OPENAL_OUTPUTTYPES { + OPENAL_OUTPUT_NOSOUND, /* NoSound driver, all calls to this succeed but do nothing. */ + OPENAL_OUTPUT_OSS, /* Linux/Unix OSS (Open Sound System) driver, i.e. the kernel sound drivers. */ + OPENAL_OUTPUT_ALSA, /* Linux Alsa driver. */ }; #define OPENAL_LOOP_OFF 0x00000001 /* For non looping samples. */ @@ -68,44 +86,27 @@ extern "C" { #undef AL_API #define AL_API -AL_API void OPENAL_3D_Listener_SetAttributes(const float *pos, const float *vel, float fx, float fy, float fz, float tx, float ty, float tz); -AL_API signed char OPENAL_3D_SetAttributes(int channel, const float *pos, const float *vel); -AL_API void OPENAL_3D_SetDopplerFactor(float scale); -AL_API signed char OPENAL_Init(int mixrate, int maxsoftwarechannels, unsigned int flags); -AL_API void OPENAL_Close(); -AL_API OPENAL_SAMPLE *OPENAL_GetCurrentSample(int channel); -AL_API signed char OPENAL_GetPaused(int channel); -AL_API unsigned int OPENAL_GetLoopMode(int channel); -AL_API signed char OPENAL_IsPlaying(int channel); -AL_API int OPENAL_PlaySoundEx(int channel, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused); -AL_API OPENAL_SAMPLE *OPENAL_Sample_Load(int index, const char *name_or_data, unsigned int mode, int offset, int length); -AL_API void OPENAL_Sample_Free(OPENAL_SAMPLE *sptr); -AL_API signed char OPENAL_Sample_SetMode(OPENAL_SAMPLE *sptr, unsigned int mode); -AL_API signed char OPENAL_Sample_SetMinMaxDistance(OPENAL_SAMPLE *sptr, float mindist, float maxdist); -AL_API signed char OPENAL_SetFrequency(int channel, int freq); -AL_API signed char OPENAL_SetVolume(int channel, int vol); -AL_API signed char OPENAL_SetPaused(int channel, signed char paused); -AL_API void OPENAL_SetSFXMasterVolume(int volume); -AL_API signed char OPENAL_StopSound(int channel); -AL_API OPENAL_STREAM *OPENAL_Stream_Open(const char *name_or_data, unsigned int mode, int offset, int length); -AL_API void OPENAL_Stream_Close(OPENAL_STREAM *stream); -AL_API OPENAL_SAMPLE *OPENAL_Stream_GetSample(OPENAL_STREAM *stream); -AL_API int OPENAL_Stream_PlayEx(int channel, OPENAL_STREAM *stream, OPENAL_DSPUNIT *dsp, signed char startpaused); -AL_API signed char OPENAL_Stream_Stop(OPENAL_STREAM *stream); -AL_API signed char OPENAL_Stream_SetMode(OPENAL_STREAM *stream, unsigned int mode); -AL_API void OPENAL_Update(); -AL_API signed char OPENAL_SetOutput(int outputtype); + AL_API void OPENAL_3D_Listener_SetAttributes(const float *pos, const float *vel, float fx, float fy, float fz, float tx, float ty, float tz); + AL_API signed char OPENAL_3D_SetAttributes(int channel, const float *pos, const float *vel); + AL_API signed char OPENAL_3D_SetAttributes_(int channel, const XYZ &pos, const float *vel); + AL_API signed char OPENAL_Init(int mixrate, int maxsoftwarechannels, unsigned int flags); + AL_API void OPENAL_Close(); + AL_API OPENAL_SAMPLE *OPENAL_Sample_Load(int index, const char *name_or_data, unsigned int mode, int offset, int length); + AL_API void OPENAL_Sample_Free(OPENAL_SAMPLE *sptr); + AL_API signed char OPENAL_SetFrequency(int channel, int freq); + AL_API signed char OPENAL_SetVolume(int channel, int vol); + AL_API signed char OPENAL_SetPaused(int channel, signed char paused); + AL_API void OPENAL_SetSFXMasterVolume(int volume); + AL_API signed char OPENAL_StopSound(int channel); + AL_API void OPENAL_Stream_Close(OPENAL_STREAM *stream); + AL_API signed char OPENAL_Stream_SetMode(OPENAL_STREAM *stream, unsigned int mode); + AL_API void OPENAL_Update(); + AL_API signed char OPENAL_SetOutput(int outputtype); + void PlaySoundEx(int chan, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused); + void PlayStreamEx(int chan, OPENAL_SAMPLE *sptr, OPENAL_DSPUNIT *dsp, signed char startpaused); #ifdef __cplusplus } #endif -#if USE_OPENAL -# define OPENAL_Sample_LoadEx(a, b, c, d, e) OPENAL_Sample_Load( a, ConvertFileName( b), c, d, e) -# define OPENAL_Stream_OpenEx(a, b, c, d) OPENAL_Stream_Open(ConvertFileName(a), b, c, d) -#elif !PLATFORM_MACOSX -# define OPENAL_Sample_LoadEx(a, b, c, d, e) OPENAL_Sample_Load( a, ConvertFileName( b), c, d, e) -# define OPENAL_Stream_OpenEx(a, b, c, d) OPENAL_Stream_Open(ConvertFileName(a), b, c, d) -#endif - #endif