]> git.mxchange.org Git - simgear.git/blobdiff - simgear/sound/soundmgr_openal.cxx
Initialize volume to inaudiable at startup.
[simgear.git] / simgear / sound / soundmgr_openal.cxx
index 0785edb5a63c7193a8fe74ca15cd4ab5ae468041..c438a6531b3d29a208a5a2027ba9ea53e3c7f8dc 100644 (file)
@@ -47,7 +47,11 @@ inline int (isnan)(double r) { return isnan(r); }
 #endif
 
 #if defined (__FreeBSD__)
-inline int isnan(double r) { return !(r < 0 || r > 0); }
+#  if __FreeBSD_version < 500000
+     extern "C" {
+       inline int isnan(double r) { return !(r <= 0 || r >= 0); }
+     }
+#  endif
 #endif
 
 #include STL_IOSTREAM
@@ -69,7 +73,8 @@ SGSoundMgr::SGSoundMgr() {
 
     // initialize OpenAL
     alutInit( 0, NULL );
-    alGetError();
+    atexit(alutExit);
+
     if ( alGetError() == AL_NO_ERROR) {
         working = true;
     } else {
@@ -92,6 +97,7 @@ SGSoundMgr::SGSoundMgr() {
     listener_ori[4] = 1.0;
     listener_ori[5] = 0.0;
 
+    alListenerf( AL_GAIN, 0.0f );
     alListenerfv( AL_POSITION, listener_pos );
     alListenerfv( AL_VELOCITY, listener_vel );
     alListenerfv( AL_ORIENTATION, listener_ori );
@@ -119,8 +125,6 @@ SGSoundMgr::~SGSoundMgr() {
        SGSoundSample *sample = sample_current->second;
        delete sample;
     }
-
-    alutExit();
 }