diff options
Diffstat (limited to 'indra/newview/llaudiosourcevo.cpp')
-rw-r--r-- | indra/newview/llaudiosourcevo.cpp | 196 |
1 files changed, 98 insertions, 98 deletions
diff --git a/indra/newview/llaudiosourcevo.cpp b/indra/newview/llaudiosourcevo.cpp index 43abbb57ee..13a91e9713 100644 --- a/indra/newview/llaudiosourcevo.cpp +++ b/indra/newview/llaudiosourcevo.cpp @@ -1,4 +1,4 @@ -/** +/** * @file llaudiosourcevo.cpp * @author Douglas Soo, James Cook * @brief Audio sources attached to viewer objects @@ -6,21 +6,21 @@ * $LicenseInfo:firstyear=2006&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -37,24 +37,24 @@ #include "llvoavatarself.h" LLAudioSourceVO::LLAudioSourceVO(const LLUUID &sound_id, const LLUUID& owner_id, const F32 gain, LLViewerObject *objectp) - : LLAudioSource(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_SFX), - mObjectp(objectp) + : LLAudioSource(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_SFX), + mObjectp(objectp) { - update(); + update(); } LLAudioSourceVO::~LLAudioSourceVO() { - if (mObjectp) - { - mObjectp->clearAttachedSound(); - } - mObjectp = NULL; + if (mObjectp) + { + mObjectp->clearAttachedSound(); + } + mObjectp = NULL; } void LLAudioSourceVO::setGain(const F32 gain) { - mGain = llclamp(gain, 0.f, 1.f); + mGain = llclamp(gain, 0.f, 1.f); } void LLAudioSourceVO::checkCutOffRadius() @@ -129,16 +129,16 @@ bool LLAudioSourceVO::isInCutOffRadius(const LLVector3d pos_global, const F32 cu void LLAudioSourceVO::updateMute() { - if (!mObjectp || mObjectp->isDead()) - { - mSourceMuted = true; - return; - } + if (!mObjectp || mObjectp->isDead()) + { + mSourceMuted = true; + return; + } - bool mute = false; - LLVector3d pos_global = getPosGlobal(); + bool mute = false; + LLVector3d pos_global = getPosGlobal(); - F32 cutoff = mObjectp->getSoundCutOffRadius(); + F32 cutoff = mObjectp->getSoundCutOffRadius(); // Object can specify radius at which it turns off // consider cutoff below 0.1m as 'cutoff off' if (cutoff > 0.1f && !isInCutOffRadius(pos_global, cutoff)) @@ -170,90 +170,90 @@ void LLAudioSourceVO::updateMute() } } - if (!mute) - { - if (LLMuteList::getInstance()->isMuted(mObjectp->getID())) - { - mute = true; - } - else if (LLMuteList::getInstance()->isMuted(mOwnerID, LLMute::flagObjectSounds)) - { - mute = true; - } - else if (mObjectp->isAttachment()) - { - LLViewerObject* parent = mObjectp; - while (parent && !parent->isAvatar()) - { - parent = (LLViewerObject*)parent->getParent(); - } - if (parent - && LLMuteList::getInstance()->isMuted(parent->getID())) - { - mute = true; - } - } - } + if (!mute) + { + if (LLMuteList::getInstance()->isMuted(mObjectp->getID())) + { + mute = true; + } + else if (LLMuteList::getInstance()->isMuted(mOwnerID, LLMute::flagObjectSounds)) + { + mute = true; + } + else if (mObjectp->isAttachment()) + { + LLViewerObject* parent = mObjectp; + while (parent && !parent->isAvatar()) + { + parent = (LLViewerObject*)parent->getParent(); + } + if (parent + && LLMuteList::getInstance()->isMuted(parent->getID())) + { + mute = true; + } + } + } - if (mute != mSourceMuted) - { - mSourceMuted = mute; - if (mSourceMuted) - { - // Stop the sound. - this->play(LLUUID::null); - } - else - { - // Muted sounds keep there data at all times, because - // it's the place where the audio UUID is stored. - // However, it's possible that mCurrentDatap is - // NULL when this source did only preload sounds. - if (mCurrentDatap) - { - // Restart the sound. - this->play(mCurrentDatap->getID()); - } - } - } + if (mute != mSourceMuted) + { + mSourceMuted = mute; + if (mSourceMuted) + { + // Stop the sound. + this->play(LLUUID::null); + } + else + { + // Muted sounds keep there data at all times, because + // it's the place where the audio UUID is stored. + // However, it's possible that mCurrentDatap is + // NULL when this source did only preload sounds. + if (mCurrentDatap) + { + // Restart the sound. + this->play(mCurrentDatap->getID()); + } + } + } } void LLAudioSourceVO::update() { - updateMute(); + updateMute(); - if (!mObjectp) - { - return; - } + if (!mObjectp) + { + return; + } - if (mObjectp->isDead()) - { - mObjectp = NULL; - return; - } + if (mObjectp->isDead()) + { + mObjectp = NULL; + return; + } - if (mSourceMuted) - { - return; - } + if (mSourceMuted) + { + return; + } - if (mObjectp->isHUDAttachment()) - { - mPositionGlobal = gAgentCamera.getCameraPositionGlobal(); - } - else - { - mPositionGlobal = mObjectp->getPositionGlobal(); - } - if (mObjectp->getSubParent()) - { - mVelocity = mObjectp->getSubParent()->getVelocity(); - } - else - { - mVelocity = mObjectp->getVelocity(); - } + if (mObjectp->isHUDAttachment()) + { + mPositionGlobal = gAgentCamera.getCameraPositionGlobal(); + } + else + { + mPositionGlobal = mObjectp->getPositionGlobal(); + } + if (mObjectp->getSubParent()) + { + mVelocity = mObjectp->getSubParent()->getVelocity(); + } + else + { + mVelocity = mObjectp->getVelocity(); + } - LLAudioSource::update(); + LLAudioSource::update(); } |