diff options
author | Joerg Mueller <nexyon@gmail.com> | 2011-08-07 15:54:58 +0400 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2011-08-07 15:54:58 +0400 |
commit | 2d884fc035d403d43c7a18e3e61cd56ccdfbec2b (patch) | |
tree | 2548dcfbb52370618d1f255f57e65bcf1cbb49a4 /source/gameengine/Ketsji/KX_KetsjiEngine.cpp | |
parent | 4370099fb0bc1bdd21f78b14a91a1d8eb76e1bc1 (diff) |
3D Audio GSoC:
* Pepper depends on ffmpeg 0.7.1 or higher now, windows and mac build systems set to ffmpeg-0.8
* Fixed orientation retrieval in OpenAL device code.
* Added stopAll() method to AUD_IDevice (also for Python) and call it on BGE exit
* Changed BGE to use audaspace via native C++ instead over the C API.
* Made AUD_SequencerFactory and AUD_SequencerEntry thread safe.
* Changed sound caching into a flag which fixes problems on file loading, especially with undo.
* Removed unused parameter from sound_mute_scene_sound
* Fixed bug: changing FPS didn't update the sequencer sound positions.
* Fixed bug: Properties of sequencer strips weren't set correctly.
* Minor warning fixes.
Diffstat (limited to 'source/gameengine/Ketsji/KX_KetsjiEngine.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_KetsjiEngine.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index 651450f01bf..421e642a6df 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -70,6 +70,7 @@ #ifdef WITH_AUDASPACE # include "AUD_C-API.h" +# include "AUD_I3DDevice.h" #endif #include "NG_NetworkScene.h" @@ -995,16 +996,20 @@ void KX_KetsjiEngine::DoSound(KX_Scene* scene) if (!cam) return; - float f[4]; - - cam->NodeGetWorldPosition().getValue(f); - AUD_setListenerLocation(f); + AUD_I3DDevice* dev = AUD_get3DDevice(); + if(dev) + { + AUD_Vector3 v; + AUD_Quaternion q; + cam->NodeGetWorldPosition().getValue(v.get()); + dev->setListenerLocation(v); - cam->GetLinearVelocity().getValue(f); - AUD_setListenerVelocity(f); + cam->GetLinearVelocity().getValue(v.get()); + dev->setListenerVelocity(v); - cam->NodeGetWorldOrientation().getRotation().getValue(f); - AUD_setListenerOrientation(f); + cam->NodeGetWorldOrientation().getRotation().getValue(q.get()); + dev->setListenerOrientation(q); + } } |