00001 00010 #ifdef USE_OPENAL 00011 00012 #ifndef SOUNDIMPOPENAL 00013 #define SOUNDIMPOPENAL 00014 00015 #include "SoundMgr.H" 00016 00017 #include <AL/al.h> 00018 00019 class SoundImpOpenAL : public SoundImplementation 00020 { 00021 public: 00022 00023 SoundImpOpenAL(); 00024 ~SoundImpOpenAL(); 00025 00026 void setListenerLoc(Wtransf m); 00027 void setListenerVel(Wvec v); 00028 void setListenerGain(float g); 00029 00030 void load(str_ptr filename); 00031 void play(str_ptr filename); 00032 void stop(str_ptr filename); 00033 void deleteSound(str_ptr filename); 00034 void setParam(str_ptr filename, SOUNDPARAM param, float value); 00035 00036 protected: 00037 00038 ALuint getOpenALSource(str_ptr filename); 00039 00040 ARRAY<ALuint> _sources; 00041 str_list _fnames; 00042 00043 }; 00044 00045 #endif 00046 00047 #endif // USE_OPENAL