From 9336f3666cdb3269d143d151a113d583c4cfab9c Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Tue, 3 Aug 2010 11:48:16 -0700 Subject: Scratching an ooooold itch: added 'Gestures' slider and mute button to the audio controls --- linden/indra/llaudio/audioengine.h | 3 ++- linden/indra/newview/app_settings/settings.xml | 22 +++++++++++++++++++++ linden/indra/newview/llvieweraudio.cpp | 2 ++ linden/indra/newview/llviewercontrol.cpp | 2 ++ linden/indra/newview/llviewermessage.cpp | 23 ++++++++++++++++++---- .../skins/default/xui/en-us/panel_audio.xml | 8 ++++++++ .../xui/en-us/panel_media_remote_expanded.xml | 4 ++-- .../default/xui/en-us/panel_preferences_audio.xml | 8 ++++---- 8 files changed, 61 insertions(+), 11 deletions(-) (limited to 'linden') diff --git a/linden/indra/llaudio/audioengine.h b/linden/indra/llaudio/audioengine.h index e990eb7..e46091c 100644 --- a/linden/indra/llaudio/audioengine.h +++ b/linden/indra/llaudio/audioengine.h @@ -93,7 +93,8 @@ public: AUDIO_TYPE_SFX = 1, AUDIO_TYPE_UI = 2, AUDIO_TYPE_AMBIENT = 3, - AUDIO_TYPE_COUNT = 4 // last + AUDIO_TYPE_GESTURE = 4, + AUDIO_TYPE_COUNT = 5 // last }; LLAudioEngine(); diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index aae182c..d71cf09 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml @@ -15,6 +15,17 @@ Value 0 + AudioLevelGestures + + Comment + Audio level of environment gestures + Persist + 1 + Type + F32 + Value + 0.5 + AutoCloseOOC Comment @@ -431,6 +442,17 @@ Value 1 + MuteGestures + + Comment + Gesture sound effects, play at 0 volume + Persist + 1 + Type + Boolean + Value + 0 + MuteWind Comment diff --git a/linden/indra/newview/llvieweraudio.cpp b/linden/indra/newview/llvieweraudio.cpp index 999e5dc..f043fb5 100644 --- a/linden/indra/newview/llvieweraudio.cpp +++ b/linden/indra/newview/llvieweraudio.cpp @@ -150,6 +150,8 @@ void audio_update_volume(bool force_update) gSavedSettings.getBOOL("MuteUI") ? 0.f : gSavedSettings.getF32("AudioLevelUI")); gAudiop->setSecondaryGain(LLAudioEngine::AUDIO_TYPE_AMBIENT, gSavedSettings.getBOOL("MuteAmbient") ? 0.f : gSavedSettings.getF32("AudioLevelAmbient")); + gAudiop->setSecondaryGain(LLAudioEngine::AUDIO_TYPE_GESTURE, + gSavedSettings.getBOOL("MuteGestures") ? 0.f : gSavedSettings.getF32("AudioLevelGestures")); } // Streaming Music diff --git a/linden/indra/newview/llviewercontrol.cpp b/linden/indra/newview/llviewercontrol.cpp index cca737c..0edb2c4 100644 --- a/linden/indra/newview/llviewercontrol.cpp +++ b/linden/indra/newview/llviewercontrol.cpp @@ -582,6 +582,7 @@ void settings_setup_listeners() gSavedSettings.getControl("AudioLevelMusic")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("AudioLevelMedia")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("AudioLevelVoice")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); + gSavedSettings.getControl("AudioLevelGestures")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("AudioLevelDistance")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("AudioLevelDoppler")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("AudioLevelRolloff")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); @@ -593,6 +594,7 @@ void settings_setup_listeners() gSavedSettings.getControl("MuteVoice")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("MuteAmbient")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("MuteUI")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); + gSavedSettings.getControl("MuteGestures")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _1)); gSavedSettings.getControl("RenderVBOEnable")->getSignal()->connect(boost::bind(&handleRenderUseVBOChanged, _1)); gSavedSettings.getControl("WLSkyDetail")->getSignal()->connect(boost::bind(&handleWLSkyDetailChanged, _1)); gSavedSettings.getControl("RenderLightingDetail")->getSignal()->connect(boost::bind(&handleRenderLightingDetailChanged, _1)); diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 140b517..ca7c613 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp @@ -3959,6 +3959,19 @@ void process_sound_trigger(LLMessageSystem *msg, void **) return; } + // Don't load sounds if we have gestures muted -- MC + if ((owner_id != gAgent.getID()) && (object_id == owner_id)) + { + if (gSavedSettings.getBOOL("MuteGestures")) + { + return; + } + else + { + gAudiop->triggerSound(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_GESTURE, pos_global); + } + } + // Don't play sounds from a region with maturity above current agent maturity // Actually, let's -- MC /*if( !gAgent.canAccessMaturityInRegion( region_handle ) ) @@ -4000,11 +4013,12 @@ void process_preload_sound(LLMessageSystem *msg, void **user_data) // help us out. // Don't play sounds from a region with maturity above current agent maturity - LLVector3d pos_global = objectp->getPositionGlobal(); + // Actually, let's -- MC + /*LLVector3d pos_global = objectp->getPositionGlobal(); if( !gAgent.canAccessMaturityAtGlobal( pos_global ) ) { return; - } + }*/ // Add audioData starts a transfer internally. sourcep->addAudioData(datap, FALSE); @@ -4040,11 +4054,12 @@ void process_attached_sound(LLMessageSystem *msg, void **user_data) // Don't play sounds from a region with maturity above current agent maturity - LLVector3d pos = objectp->getPositionGlobal(); + // Actually, let's -- MC + /*LLVector3d pos = objectp->getPositionGlobal(); if( !gAgent.canAccessMaturityAtGlobal(pos) ) { return; - } + }*/ objectp->setAttachedSound(sound_id, owner_id, gain, flags); } diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_audio.xml b/linden/indra/newview/skins/default/xui/en-us/panel_audio.xml index ee9695e..c6e75fc 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_audio.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_audio.xml @@ -49,6 +49,14 @@ image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" label="" label_width="55" left="150" name="mute_wind" tab_stop="false" toggle="true" width="25" /> + +