From b3d297ca9bd1330cd78ef47d5a95d1dee1611999 Mon Sep 17 00:00:00 2001 From: Beq Date: Sat, 22 Jan 2022 16:46:54 +0000 Subject: [PATCH 01/23] FIRE-17459 - Add unattenuated local voice support back on OpenSim More details in Jira. Seems this functionality is not supported on later Vivox 4 versions. Still works on server 4.6 (opensim) --- indra/newview/llfloaterpreference.cpp | 10 ++++++++++ indra/newview/llvoicevivox.cpp | 16 +++++++++++++++- indra/newview/llvoicevivox.h | 1 + .../default/xui/en/panel_preferences_sound.xml | 13 +++++++++++-- 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 6c3b06ad60..5221d9cfa4 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -3139,6 +3139,16 @@ void LLFloaterPreference::updateUISoundsControls() getChild("PlayModeUISndNewIncomingGroupIMSession")->setValue((int)gSavedSettings.getU32("PlayModeUISndNewIncomingGroupIMSession")); // 0, 1, 2, 3. Shared with Chat > Notifications > "When receiving Group Instant Messages" getChild("PlayModeUISndNewIncomingConfIMSession")->setValue((int)gSavedSettings.getU32("PlayModeUISndNewIncomingConfIMSession")); // 0, 1, 2, 3. Shared with Chat > Notifications > "When receiving AdHoc Instant Messages" #ifdef OPENSIM + auto earPosGroup = getChild("ear_location"); + // OpenSim has option to not attenuate nearby local voice by distance + if(earPosGroup) + { + // It seems there is no better way to do this than with magic numbers short of importing the enums in vivoxvoice (which aren't necessarily the same thing). + // Index 2 here is the opensim only option to hear nearby chat without attenuation. + constexpr int hearNearbyVoiceFullVolume{2}; + earPosGroup->setIndexEnabled(hearNearbyVoiceFullVolume,LLGridManager::instance().isInOpenSim()); + } + // getChild("textFSRestartOpenSim")->setVisible(TRUE); getChild("UISndRestartOpenSim")->setVisible(TRUE); getChild("Prev_UISndRestartOpenSim")->setVisible(TRUE); diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 0591fd898d..8db9cfa228 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -3373,17 +3373,31 @@ void LLVivoxVoiceClient::sendPositionAndVolumeUpdate(void) earVelocity = mAvatarVelocity; earRot = mCameraRot; break; +// reimplement hear voice equally + case earLocSpeaker: + // we leave EarPos/Vel/Rot as empty + LL_DEBUGS("Voice") << "EarLoc Speaker in use" << LL_ENDL; + break; +// } +// reimplement hear voice equally + if(mEarLocation != earLocSpeaker) + { + // for all spatial sources we need to do the transform +// l = earRot.getLeftRow(); u = earRot.getUpRow(); a = earRot.getFwdRow(); pos = earPosition; vel = earVelocity; - + oldSDKTransform(l, u, a, pos, vel); +// reimplement hear voice equally + } +// if (mHidden) { diff --git a/indra/newview/llvoicevivox.h b/indra/newview/llvoicevivox.h index d19e6ca718..23a04b723c 100644 --- a/indra/newview/llvoicevivox.h +++ b/indra/newview/llvoicevivox.h @@ -803,6 +803,7 @@ private: { earLocCamera = 0, // ear at camera earLocAvatar, // ear at avatar + earLocSpeaker, // re-add equal voice based loosely on original patch from Tigh MacFanatic earLocMixed // ear at avatar location/camera direction }; diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index 4e5d3d25dd..4633555472 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -939,7 +939,7 @@ layout="topleft" left="25" width="400" - height="40" + height="60" top_pad="0" name="ear_location"> - + Date: Sat, 22 Jan 2022 22:58:41 +0100 Subject: [PATCH 02/23] Fix next check --- indra/newview/llfloaterpreference.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 5221d9cfa4..533cb39a7b 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -3139,14 +3139,14 @@ void LLFloaterPreference::updateUISoundsControls() getChild("PlayModeUISndNewIncomingGroupIMSession")->setValue((int)gSavedSettings.getU32("PlayModeUISndNewIncomingGroupIMSession")); // 0, 1, 2, 3. Shared with Chat > Notifications > "When receiving Group Instant Messages" getChild("PlayModeUISndNewIncomingConfIMSession")->setValue((int)gSavedSettings.getU32("PlayModeUISndNewIncomingConfIMSession")); // 0, 1, 2, 3. Shared with Chat > Notifications > "When receiving AdHoc Instant Messages" #ifdef OPENSIM - auto earPosGroup = getChild("ear_location"); // OpenSim has option to not attenuate nearby local voice by distance - if(earPosGroup) + auto earPosGroup = findChild("ear_location"); + if (earPosGroup) { // It seems there is no better way to do this than with magic numbers short of importing the enums in vivoxvoice (which aren't necessarily the same thing). // Index 2 here is the opensim only option to hear nearby chat without attenuation. constexpr int hearNearbyVoiceFullVolume{2}; - earPosGroup->setIndexEnabled(hearNearbyVoiceFullVolume,LLGridManager::instance().isInOpenSim()); + earPosGroup->setIndexEnabled(hearNearbyVoiceFullVolume, LLGridManager::instance().isInOpenSim()); } // getChild("textFSRestartOpenSim")->setVisible(TRUE); From 6ee3a14bb5c1a64635b0d79b59afdd29f39ac035 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Sat, 22 Jan 2022 23:06:37 +0100 Subject: [PATCH 03/23] Update German translation --- .../xui/de/panel_preferences_sound.xml | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/indra/newview/skins/default/xui/de/panel_preferences_sound.xml b/indra/newview/skins/default/xui/de/panel_preferences_sound.xml index 8cdf0fa6dd..06df86e757 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_sound.xml @@ -10,8 +10,8 @@ Maustaste 5 - - + + @@ -57,7 +57,7 @@ - + @@ -72,23 +72,23 @@