X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fsound%2Fsoundmgr_openal.cxx;h=450b5714d0cc98811747c9b72241c0807663ac5b;hb=6fe057e27795a7ca9624dc126a1549b8d06500b3;hp=12c4b9540fc427e38e55a30b3d15d8398b8d410a;hpb=f23e8bfb0209d5c12ac3099e69bfb7fe844dc8c8;p=simgear.git diff --git a/simgear/sound/soundmgr_openal.cxx b/simgear/sound/soundmgr_openal.cxx index 12c4b954..450b5714 100644 --- a/simgear/sound/soundmgr_openal.cxx +++ b/simgear/sound/soundmgr_openal.cxx @@ -101,11 +101,14 @@ void SGSoundMgr::init() { ALCcontext *context = alcCreateContext(device, NULL); if ( testForError(context, "Unable to create a valid context.") ) { + alcCloseDevice (device); return; } if ( !alcMakeContextCurrent(context) ) { testForALCError("context initialization"); + alcDestroyContext (context); + alcCloseDevice (device); return; } @@ -116,11 +119,11 @@ void SGSoundMgr::init() { _at_up_vec[3] = 0.0; _at_up_vec[4] = 1.0; _at_up_vec[5] = 0.0; alListenerf( AL_GAIN, 0.2f ); - alListenerfv( AL_POSITION, SGVec3f::zeros().data() ); alListenerfv( AL_ORIENTATION, _at_up_vec ); - alListenerfv( AL_VELOCITY, toVec3f(_velocity).data() ); + alListenerfv( AL_POSITION, SGVec3f::zeros().data() ); + alListenerfv( AL_VELOCITY, SGVec3f::zeros().data() ); - alDopplerFactor(0.5); + alDopplerFactor(1.0); alDopplerVelocity(340.3); // speed of sound in meters per second. if ( alIsExtensionPresent((const ALchar*)"EXT_exponent_distance") ) { @@ -131,8 +134,6 @@ void SGSoundMgr::init() { testForALError("listener initialization"); - alGetError(); // clear any undetetced error, just to be sure - // get a free source one at a time // if an error is returned no more (hardware) sources are available for (unsigned int i=0; i