SL-18049 Part 4; Adjustments and fixes

meow-7.2.2
Andrey Kleshchev 2023-08-04 18:17:50 +03:00
parent b6cd14fc47
commit a16babdf7d
10 changed files with 26 additions and 51 deletions

View File

@ -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();
}

View File

@ -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;

View File

@ -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()

View File

@ -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"));
}

View File

@ -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).

View File

@ -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);

View File

@ -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)

View File

@ -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;

View File

@ -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>

View File

@ -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>