]> git.mxchange.org Git - simgear.git/blobdiff - simgear/sound/soundmgr_openal.cxx
alut pre-1.0 doesn't support aletGetError but then again, this function doesn't get...
[simgear.git] / simgear / sound / soundmgr_openal.cxx
index ac2d8352d8fba8a7d8dc0d546a7bb848726e6441..b156b8c5230b51601a95f6769ba865fab9c2f67f 100644 (file)
@@ -55,7 +55,7 @@ int SGSoundMgr::_alut_init = 0;
 SGSoundMgr::SGSoundMgr() :
     _working(false),
     _changed(true),
-    _volume(0.5),
+    _volume(0.0),
     _device(NULL),
     _context(NULL),
     _listener_pos(SGVec3d::zeros().data()),
@@ -204,6 +204,8 @@ void SGSoundMgr::update( double dt )
 // run the audio scheduler
 void SGSoundMgr::update_late( double dt ) {
     if (_working) {
+        // alcSuspendContext(_context);
+
         sample_group_map_iterator sample_grp_current = _sample_groups.begin();
         sample_group_map_iterator sample_grp_end = _sample_groups.end();
         for ( ; sample_grp_current != sample_grp_end; ++sample_grp_current ) {
@@ -220,6 +222,7 @@ void SGSoundMgr::update_late( double dt ) {
             testForALError("update");
             _changed = false;
         }
+        // alcProcessContext(_context);
     }
 }
 
@@ -409,8 +412,8 @@ bool SGSoundMgr::load(string &samplepath, void **dbuf, int *fmt,
  */
 void SGSoundMgr::set_orientation( SGQuatd ori )
 {
-    SGVec3d sgv_up = ori.rotate(SGVec3d::e2());
-    SGVec3d sgv_at = ori.rotate(SGVec3d::e3());
+    SGVec3d sgv_up = ori.rotate(SGVec3d::e3());
+    SGVec3d sgv_at = ori.rotate(SGVec3d::e2());
     for (int i=0; i<3; i++) {
        _listener_ori[i] = sgv_at[i];
        _listener_ori[i+3] = sgv_up[i];
@@ -455,6 +458,7 @@ bool SGSoundMgr::testForALCError(string s)
 
 bool SGSoundMgr::testForALUTError(string s)
 {
+#if defined(ALUT_API_MAJOR_VERSION) && ALUT_API_MAJOR_VERSION >= 1
     ALenum error;
     error =  alutGetError ();
     if (error != ALUT_ERROR_NO_ERROR) {
@@ -463,5 +467,6 @@ bool SGSoundMgr::testForALUTError(string s)
                                        << s);
         return true;
     }
+#endif
     return false;
 }