diff --git a/indra/newview/llfloatersounddevices.cpp b/indra/newview/llfloatersounddevices.cpp index 4f3945c95ffe574696c106bb6b39ce480cf7985b..3903b9b0154501881b5b1c93208537ca63eacaf0 100644 --- a/indra/newview/llfloatersounddevices.cpp +++ b/indra/newview/llfloatersounddevices.cpp @@ -63,7 +63,12 @@ BOOL LLFloaterSoundDevices::postBuild() if (mDragHandle) mDragHandle->setTitleVisible(TRUE); updateTransparency(TT_ACTIVE); // force using active floater transparency (STORM-730) - + + LLPanelVoiceDeviceSettings* panel = findChild<LLPanelVoiceDeviceSettings>("device_settings_panel"); + if (panel) + { + panel->setUseTuningMode(false); + } return TRUE; } diff --git a/indra/newview/llpanelvoicedevicesettings.cpp b/indra/newview/llpanelvoicedevicesettings.cpp index d13f57bd6a4640096a4d2838025c768c64baf01b..71bb4a5584a893b9e0e455c5cdd829a58d429782 100644 --- a/indra/newview/llpanelvoicedevicesettings.cpp +++ b/indra/newview/llpanelvoicedevicesettings.cpp @@ -51,6 +51,7 @@ LLPanelVoiceDeviceSettings::LLPanelVoiceDeviceSettings() mInputDevice = gSavedSettings.getString("VoiceInputAudioDevice"); mOutputDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); mDevicesUpdated = FALSE; + mUseTuningMode = true; // grab "live" mic volume level mMicVolume = gSavedSettings.getF32("AudioLevelMic"); @@ -96,7 +97,7 @@ void LLPanelVoiceDeviceSettings::draw() // let user know that volume indicator is not yet available bool is_in_tuning_mode = LLVoiceClient::getInstance()->inTuningMode(); - getChildView("wait_text")->setVisible( !is_in_tuning_mode); + getChildView("wait_text")->setVisible( !is_in_tuning_mode && mUseTuningMode); LLPanel::draw(); @@ -292,14 +293,20 @@ void LLPanelVoiceDeviceSettings::initialize() LLVoiceClient::getInstance()->refreshDeviceLists(); // put voice client in "tuning" mode - LLVoiceClient::getInstance()->tuningStart(); - LLVoiceChannel::suspend(); + if (mUseTuningMode) + { + LLVoiceClient::getInstance()->tuningStart(); + LLVoiceChannel::suspend(); + } } void LLPanelVoiceDeviceSettings::cleanup() { - LLVoiceClient::getInstance()->tuningStop(); - LLVoiceChannel::resume(); + if (mUseTuningMode) + { + LLVoiceClient::getInstance()->tuningStop(); + LLVoiceChannel::resume(); + } } void LLPanelVoiceDeviceSettings::onCommitInputDevice() diff --git a/indra/newview/llpanelvoicedevicesettings.h b/indra/newview/llpanelvoicedevicesettings.h index 636b8b99481f9df8b25ed055a7da0fa62ab214dd..d09476d469742d94ae3d6c69ccb9b9c17b58269a 100644 --- a/indra/newview/llpanelvoicedevicesettings.h +++ b/indra/newview/llpanelvoicedevicesettings.h @@ -45,6 +45,8 @@ class LLPanelVoiceDeviceSettings : public LLPanel void cleanup(); /*virtual*/ void handleVisibilityChange ( BOOL new_visibility ); + + void setUseTuningMode(bool use) { mUseTuningMode = use; }; protected: void onCommitInputDevice(); @@ -56,6 +58,7 @@ class LLPanelVoiceDeviceSettings : public LLPanel class LLComboBox *mCtrlInputDevices; class LLComboBox *mCtrlOutputDevices; BOOL mDevicesUpdated; + bool mUseTuningMode; }; #endif // LL_LLPANELVOICEDEVICESETTINGS_H diff --git a/indra/newview/skins/default/xui/en/floater_sound_devices.xml b/indra/newview/skins/default/xui/en/floater_sound_devices.xml index 584413c030cc05111333350fdf0bd4488ee7cc40..b5d95aeca43f06120b6f529494f3e5086ebc339e 100644 --- a/indra/newview/skins/default/xui/en/floater_sound_devices.xml +++ b/indra/newview/skins/default/xui/en/floater_sound_devices.xml @@ -21,7 +21,7 @@ follows="all" filename="panel_sound_devices.xml" name="device_settings_panel" - width="300" + width="400" left="2" top="26" class="panel_voice_device_settings"/>