diff --git a/sound/clients/ogre_listener_mover.hpp b/sound/clients/ogre_listener_mover.hpp index d1cfcb65ce..739c08a13f 100644 --- a/sound/clients/ogre_listener_mover.hpp +++ b/sound/clients/ogre_listener_mover.hpp @@ -9,7 +9,7 @@ namespace Mangle { namespace Sound { /** This class lets a sound listener (ie. the SoundFactory) track a - given camera in Ogre3D. The poisition and orientation of the + given camera in Ogre3D. The position and orientation of the listener will be updated to match the camera whenever the camera is moved. */ @@ -27,6 +27,16 @@ namespace Sound { camera->addListener(this); } + void unfollowCamera() + { + // If the camera is null, this object wasn't following a camera. + // It doesn't make sense to call unfollow + assert(camera != NULL); + + camera->removeListener(this); + camera = NULL; + } + private: Mangle::Sound::SoundFactoryPtr soundFact; Ogre::Camera *camera;