summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-08-04 18:17:50 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-08-04 18:29:02 +0300
commita16babdf7d96fbbe345d9e0c5df178e48539751c (patch)
tree4d735fe46ee5c3ebd6636a6d5a251e46511d74e2 /indra
parentb6cd14fc47cff62f6a30874d71be86d6639c32da (diff)
SL-18049 Part 4; Adjustments and fixes
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llpanelvoicedevicesettings.cpp22
-rw-r--r--indra/newview/llpanelvoicedevicesettings.h4
-rw-r--r--indra/newview/llpanelvolumepulldown.cpp5
-rw-r--r--indra/newview/llstatusbar.cpp4
-rw-r--r--indra/newview/llvoiceclient.cpp10
-rw-r--r--indra/newview/llvoiceclient.h2
-rw-r--r--indra/newview/llvoicevivox.cpp5
-rw-r--r--indra/newview/llvoicevivox.h3
-rw-r--r--indra/newview/skins/default/xui/en/panel_sound_devices.xml16
-rw-r--r--indra/newview/skins/default/xui/en/panel_volume_pulldown.xml6
10 files changed, 26 insertions, 51 deletions
diff --git a/indra/newview/llpanelvoicedevicesettings.cpp b/indra/newview/llpanelvoicedevicesettings.cpp
index 5e1cf801b9..af57169f3b 100644
--- a/indra/newview/llpanelvoicedevicesettings.cpp
+++ b/indra/newview/llpanelvoicedevicesettings.cpp
@@ -32,6 +32,7 @@
// Viewer includes
#include "llcombobox.h"
#include "llsliderctrl.h"
+#include "llstartup.h"
#include "llviewercontrol.h"
#include "llvoiceclient.h"
#include "llvoicechannel.h"
@@ -70,14 +71,14 @@ BOOL LLPanelVoiceDeviceSettings::postBuild()
mCtrlInputDevices = getChild<LLComboBox>("voice_input_device");
mCtrlOutputDevices = getChild<LLComboBox>("voice_output_device");
- mRetryBtn = getChild<LLButton>("retry_btn");
+ mUnmuteBtn = getChild<LLButton>("unmute_btn");
mCtrlInputDevices->setCommitCallback(
boost::bind(&LLPanelVoiceDeviceSettings::onCommitInputDevice, this));
mCtrlOutputDevices->setCommitCallback(
boost::bind(&LLPanelVoiceDeviceSettings::onCommitOutputDevice, this));
- mRetryBtn->setCommitCallback(
- boost::bind(&LLPanelVoiceDeviceSettings::onCommitRetry, this));
+ mUnmuteBtn->setCommitCallback(
+ boost::bind(&LLPanelVoiceDeviceSettings::onCommitUnmute, this));
mLocalizedDeviceNames[DEFAULT_DEVICE] = getString("default_text");
mLocalizedDeviceNames["No Device"] = getString("name_no_device");
@@ -115,16 +116,18 @@ void LLPanelVoiceDeviceSettings::draw()
if (voice_enabled)
{
getChildView("wait_text")->setVisible( !is_in_tuning_mode && mUseTuningMode);
- getChildView("muted_text")->setVisible(FALSE);
- mRetryBtn->setVisible(FALSE);
+ getChildView("disabled_text")->setVisible(FALSE);
+ mUnmuteBtn->setVisible(FALSE);
}
else
{
getChildView("wait_text")->setVisible(FALSE);
- getChildView("muted_text")->setVisible(TRUE);
- static LLCachedControl<bool> voice_enabled(gSavedSettings, "EnableVoiceChat");
- mRetryBtn->setVisible(!voice_enabled || LLVoiceClient::isMutedVoiceInstance());
+ static LLCachedControl<bool> chat_enabled(gSavedSettings, "EnableVoiceChat");
+ // If voice isn't enabled, it is either disabled or muted
+ bool voice_disabled = chat_enabled() || LLStartUp::getStartupState() <= STATE_LOGIN_WAIT;
+ getChildView("disabled_text")->setVisible(voice_disabled);
+ mUnmuteBtn->setVisible(!voice_disabled);
}
LLPanel::draw();
@@ -357,8 +360,7 @@ void LLPanelVoiceDeviceSettings::onInputDevicesClicked()
LLVoiceClient::getInstance()->refreshDeviceLists(false); // fill in the pop up menus again if needed.
}
-void LLPanelVoiceDeviceSettings::onCommitRetry()
+void LLPanelVoiceDeviceSettings::onCommitUnmute()
{
gSavedSettings.setBOOL("EnableVoiceChat", TRUE);
- LLVoiceClient::unmuteVoiceInstance();
}
diff --git a/indra/newview/llpanelvoicedevicesettings.h b/indra/newview/llpanelvoicedevicesettings.h
index 6b85d4e540..e704394d4a 100644
--- a/indra/newview/llpanelvoicedevicesettings.h
+++ b/indra/newview/llpanelvoicedevicesettings.h
@@ -55,14 +55,14 @@ protected:
void onCommitOutputDevice();
void onOutputDevicesClicked();
void onInputDevicesClicked();
- void onCommitRetry();
+ void onCommitUnmute();
F32 mMicVolume;
std::string mInputDevice;
std::string mOutputDevice;
class LLComboBox *mCtrlInputDevices;
class LLComboBox *mCtrlOutputDevices;
- class LLButton *mRetryBtn;
+ class LLButton *mUnmuteBtn;
BOOL mDevicesUpdated;
bool mUseTuningMode;
std::map<std::string, std::string> mLocalizedDeviceNames;
diff --git a/indra/newview/llpanelvolumepulldown.cpp b/indra/newview/llpanelvolumepulldown.cpp
index 17975a6e6d..09038ac95a 100644
--- a/indra/newview/llpanelvolumepulldown.cpp
+++ b/indra/newview/llpanelvolumepulldown.cpp
@@ -40,7 +40,6 @@
#include "llfloaterreg.h"
#include "llfloaterpreference.h"
#include "llsliderctrl.h"
-#include "llvoicevivox.h"
///----------------------------------------------------------------------------
/// Class LLPanelVolumePulldown
@@ -108,10 +107,6 @@ void LLPanelVolumePulldown::updateCheckbox(LLUICtrl* ctrl, const LLSD& user_data
getChild<LLCheckBoxCtrl>("media_auto_play_combo")->setEnabled(music_enabled || media_enabled);
}
}
- else if (control_name == "VoiceChat")
- {
- LLVivoxVoiceClient::unmuteVoiceInstance();
- }
}
void LLPanelVolumePulldown::onClickSetSounds()
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index a9ec4ffbb4..0145380712 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -193,7 +193,7 @@ BOOL LLStatusBar::postBuild()
gSavedSettings.getControl("MuteAudio")->getSignal()->connect(boost::bind(&LLStatusBar::onVolumeChanged, this, _2));
gSavedSettings.getControl("EnableVoiceChat")->getSignal()->connect(boost::bind(&LLStatusBar::onVoiceChanged, this, _2));
- if (gSavedSettings.getBOOL("EnableVoiceChat") && !LLVoiceClient::isMutedVoiceInstance())
+ if (gSavedSettings.getBOOL("EnableVoiceChat"))
{
mBtnVolume->setImageUnselected(LLUI::getUIImage("Audio_Off"));
}
@@ -653,7 +653,7 @@ void LLStatusBar::onVolumeChanged(const LLSD& newvalue)
void LLStatusBar::onVoiceChanged(const LLSD& newvalue)
{
- if (newvalue.asBoolean() && !LLVoiceClient::isMutedVoiceInstance())
+ if (newvalue.asBoolean())
{
mBtnVolume->setImageUnselected(LLUI::getUIImage("Audio_Off"));
}
diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp
index fab6ec3755..150b556284 100644
--- a/indra/newview/llvoiceclient.cpp
+++ b/indra/newview/llvoiceclient.cpp
@@ -555,16 +555,6 @@ void LLVoiceClient::setVoiceEnabled(bool enabled)
}
}
-void LLVoiceClient::unmuteVoiceInstance()
-{
- LLVivoxVoiceClient::unmuteVoiceInstance();
-}
-
-bool LLVoiceClient::isMutedVoiceInstance()
-{
- return LLVivoxVoiceClient::isMutedVoiceInstance();
-}
-
void LLVoiceClient::updateMicMuteLogic()
{
// If not configured to use PTT, the mic should be open (otherwise the user will be unable to speak).
diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h
index 7788efb8e1..aa67502908 100644
--- a/indra/newview/llvoiceclient.h
+++ b/indra/newview/llvoiceclient.h
@@ -403,8 +403,6 @@ public:
void toggleUserPTTState(void);
void inputUserControlState(bool down); // interpret any sort of up-down mic-open control input according to ptt-toggle prefs
void setVoiceEnabled(bool enabled);
- static void unmuteVoiceInstance();
- static bool isMutedVoiceInstance();
void setUsePTT(bool usePTT);
void setPTTIsToggle(bool PTTIsToggle);
diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp
index c89fe81a85..72e0412194 100644
--- a/indra/newview/llvoicevivox.cpp
+++ b/indra/newview/llvoicevivox.cpp
@@ -277,7 +277,6 @@ static void killGateway()
bool LLVivoxVoiceClient::sShuttingDown = false;
bool LLVivoxVoiceClient::sConnected = false;
-bool LLVivoxVoiceClient::sVoiceInstanceMuted = false;
LLPumpIO *LLVivoxVoiceClient::sPump = nullptr;
LLVivoxVoiceClient::LLVivoxVoiceClient() :
@@ -355,7 +354,6 @@ LLVivoxVoiceClient::LLVivoxVoiceClient() :
sShuttingDown = false;
sConnected = false;
sPump = nullptr;
- sVoiceInstanceMuted = LLAppViewer::instance()->isSecondInstance();
mSpeakerVolume = scale_speaker_volume(0);
@@ -5645,8 +5643,7 @@ bool LLVivoxVoiceClient::voiceEnabled()
{
return gSavedSettings.getBOOL("EnableVoiceChat") &&
!gSavedSettings.getBOOL("CmdLineDisableVoice") &&
- !gNonInteractive &&
- !sVoiceInstanceMuted;
+ !gNonInteractive;
}
void LLVivoxVoiceClient::setLipSyncEnabled(BOOL enabled)
diff --git a/indra/newview/llvoicevivox.h b/indra/newview/llvoicevivox.h
index 9a4023422b..e3ab99c675 100644
--- a/indra/newview/llvoicevivox.h
+++ b/indra/newview/llvoicevivox.h
@@ -172,8 +172,6 @@ public:
//@{
virtual bool voiceEnabled();
virtual void setVoiceEnabled(bool enabled);
- static void unmuteVoiceInstance() { sVoiceInstanceMuted = false; }
- static bool isMutedVoiceInstance() { return sVoiceInstanceMuted; }
virtual BOOL lipSyncEnabled();
virtual void setLipSyncEnabled(BOOL enabled);
virtual void setMuteMic(bool muted); // Set the mute state of the local mic.
@@ -919,7 +917,6 @@ private:
// This variables can last longer than vivox in coroutines so we need them as static
static bool sShuttingDown;
static bool sConnected;
- static bool sVoiceInstanceMuted; // Second+ instance of viewer starts muted
static LLPumpIO* sPump;
LLEventMailDrop mVivoxPump;
diff --git a/indra/newview/skins/default/xui/en/panel_sound_devices.xml b/indra/newview/skins/default/xui/en/panel_sound_devices.xml
index bcb38a46cc..a1ce99c8be 100644
--- a/indra/newview/skins/default/xui/en/panel_sound_devices.xml
+++ b/indra/newview/skins/default/xui/en/panel_sound_devices.xml
@@ -168,7 +168,7 @@
width="20" />
<text
type="string"
- name="muted_text"
+ name="disabled_text"
text_color="EmphasisColor"
length="1"
follows="right|top"
@@ -176,16 +176,16 @@
layout="topleft"
left_delta="-100"
top_delta="5"
- width="70">
- Muted
+ width="110">
+ Disabled
</text>
<button
follows="right|top"
height="23"
- image_overlay="Refresh_Off"
layout="topleft"
- left_pad="1"
- name="retry_btn"
- top_delta="-5"
- width="23" />
+ left_delta="0"
+ name="unmute_btn"
+ label="Unmute"
+ top_delta="-6"
+ width="110" />
</panel> \ No newline at end of file
diff --git a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml
index c7be790406..3c466022d8 100644
--- a/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml
+++ b/indra/newview/skins/default/xui/en/panel_volume_pulldown.xml
@@ -295,9 +295,5 @@
left_pad="5"
name="enable_voice_check"
width="110"
- >
- <check_box.commit_callback
- function="Vol.updateCheckbox"
- parameter="VoiceChat"/>
- </check_box>
+ />
</panel>