From 200889bd4b2bef9812051ea644d229d1b40faf30 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Thu, 13 May 2010 14:59:27 +0100 Subject: EXT-7336 WIP Open the Voice Morphing marketing page from the voice font UI Temporarily points at https://secondlife.com/my/account/voice.php until a proper URL is allocated. --- indra/newview/llpanelvoiceeffect.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 4de1fffef9..4d694c1be0 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -92,6 +92,7 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() if (value.asInteger() == GET_VOICE_EFFECTS) { LL_DEBUGS("Voice") << "GET VOICE FONTS!" << LL_ENDL; + LLWeb::loadURL(getString("get_voice_effects_url")); } else if (value.asInteger() == PREVIEW_VOICE_EFFECTS) { -- cgit v1.2.3 From 009db32afecd7e95e6dd37cb8b9899829783a5d4 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Fri, 14 May 2010 13:11:18 +0100 Subject: EXT-7138 WIP added a refreshVoiceEffectLists() method to LLVoiceEffectInterface --- indra/newview/llpanelvoiceeffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 4d694c1be0..c51ec91b66 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -107,7 +107,7 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() } // virtual -void LLPanelVoiceEffect::onVoiceEffectChanged() +void LLPanelVoiceEffect::onVoiceEffectChanged(bool new_effects) { update(); } -- cgit v1.2.3 From 24c55c9a689aaf7c8c961a5eb4aab5283b0fb1fa Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Tue, 18 May 2010 14:16:25 +0100 Subject: EXT-7337 WIP Implemented prototype voice font preview floater. --- indra/newview/llpanelvoiceeffect.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index c51ec91b66..6210fc7cc7 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -36,8 +36,8 @@ #include "llpanelvoiceeffect.h" #include "llcombobox.h" +#include "llfloaterreg.h" #include "llpanel.h" -#include "llvoicechannel.h" #include "llvoiceclient.h" static LLRegisterPanelClassWrapper t_panel_voice_effect("panel_voice_effect"); @@ -64,7 +64,6 @@ LLPanelVoiceEffect::~LLPanelVoiceEffect() BOOL LLPanelVoiceEffect::postBuild() { mVoiceEffectCombo = getChild("voice_effect"); - update(); LLVoiceEffectInterface* effect_interface = LLVoiceClient::instance().getVoiceEffectInterface(); if (effect_interface) @@ -72,6 +71,8 @@ BOOL LLPanelVoiceEffect::postBuild() effect_interface->addObserver(this); } + update(); + return TRUE; } @@ -91,12 +92,13 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() LLSD value = mVoiceEffectCombo->getValue(); if (value.asInteger() == GET_VOICE_EFFECTS) { - LL_DEBUGS("Voice") << "GET VOICE FONTS!" << LL_ENDL; + // Open the voice morphing info web page LLWeb::loadURL(getString("get_voice_effects_url")); } else if (value.asInteger() == PREVIEW_VOICE_EFFECTS) { - LL_DEBUGS("Voice") << "PREVIEW VOICE FONTS!" << LL_ENDL; + // Open the voice effects management floater + LLFloaterReg::showInstance("voice_effect"); } else { -- cgit v1.2.3 From b0b07b9438a8c90e4f8f68743310354b28583d5e Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Thu, 20 May 2010 22:55:47 +0100 Subject: EXT-7138 WIP Voice Morphing - Reselect "No voice effect" correctly in the voice effect combo if "Preview" or "Add effects" is chosen while no effects are enabled. --- indra/newview/llpanelvoiceeffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 6210fc7cc7..daafb451e0 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -126,7 +126,7 @@ void LLPanelVoiceEffect::update() } mVoiceEffectCombo->removeall(); - mVoiceEffectCombo->add(getString("no_voice_effect"), NO_VOICE_EFFECT); + mVoiceEffectCombo->add(getString("no_voice_effect"), LLUUID::null); mVoiceEffectCombo->addSeparator(); const voice_effect_list_t& effect_list = effect_interface->getVoiceEffectList(); -- cgit v1.2.3 From 05157c9985d955bb62c9ef897cee6298500c762d Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Sat, 22 May 2010 15:24:08 +0100 Subject: EXT-7138 WIP Voice Morphing Updated "Preview Voice Morphing" and "Get Voice Morphing" items in the Voice Effect combo --- indra/newview/llpanelvoiceeffect.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index daafb451e0..915d547056 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -90,16 +90,16 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() } LLSD value = mVoiceEffectCombo->getValue(); - if (value.asInteger() == GET_VOICE_EFFECTS) - { - // Open the voice morphing info web page - LLWeb::loadURL(getString("get_voice_effects_url")); - } - else if (value.asInteger() == PREVIEW_VOICE_EFFECTS) + if (value.asInteger() == PREVIEW_VOICE_EFFECTS) { // Open the voice effects management floater LLFloaterReg::showInstance("voice_effect"); } + else if (value.asInteger() == GET_VOICE_EFFECTS) + { + // Open the voice morphing info web page + LLWeb::loadURL(getString("get_voice_effects_url")); + } else { effect_interface->setVoiceEffect(value.asUUID()); @@ -140,8 +140,8 @@ void LLPanelVoiceEffect::update() mVoiceEffectCombo->addSeparator(); } - mVoiceEffectCombo->add(getString("get_voice_effects"), GET_VOICE_EFFECTS); mVoiceEffectCombo->add(getString("preview_voice_effects"), PREVIEW_VOICE_EFFECTS); + mVoiceEffectCombo->add(getString("get_voice_effects"), GET_VOICE_EFFECTS); mVoiceEffectCombo->setValue(effect_interface->getVoiceEffect()); mVoiceEffectCombo->setEnabled(true); -- cgit v1.2.3 From 12171ddba3c70b73e53bf103a45779262b38c6ec Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Mon, 24 May 2010 00:20:03 +0100 Subject: EXT-7336 WIP Move the Voice Morphing marketing URL into strings.xml so it can be used in notifications as well. --- indra/newview/llpanelvoiceeffect.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 915d547056..140feb7a54 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -38,6 +38,7 @@ #include "llcombobox.h" #include "llfloaterreg.h" #include "llpanel.h" +#include "lltrans.h" #include "llvoiceclient.h" static LLRegisterPanelClassWrapper t_panel_voice_effect("panel_voice_effect"); @@ -98,7 +99,7 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() else if (value.asInteger() == GET_VOICE_EFFECTS) { // Open the voice morphing info web page - LLWeb::loadURL(getString("get_voice_effects_url")); + LLWeb::loadURL(LLTrans::getString("voice_morphing_url")); } else { -- cgit v1.2.3 From 15c3b2c6309fa4b45376f3d62e33bfcd3ccdbfc7 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Mon, 24 May 2010 02:27:07 +0100 Subject: EXT-7335 WIP Added notification of expiring voice effects --- indra/newview/llpanelvoiceeffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 140feb7a54..4f73f38edc 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -110,7 +110,7 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() } // virtual -void LLPanelVoiceEffect::onVoiceEffectChanged(bool new_effects) +void LLPanelVoiceEffect::onVoiceEffectChanged(bool effect_list_updated) { update(); } -- cgit v1.2.3 From d85464bb3304a112f1dd766428889a919c5715e2 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Mon, 24 May 2010 16:21:56 +0100 Subject: EXT-7138 WIP Don't rebuild the voice effect combo list every time a different effect is selected. Added a notification on receiving new voice effects. --- indra/newview/llpanelvoiceeffect.cpp | 54 +++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 22 deletions(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 4f73f38edc..f4f0ea3ee7 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -72,7 +72,7 @@ BOOL LLPanelVoiceEffect::postBuild() effect_interface->addObserver(this); } - update(); + update(true); return TRUE; } @@ -112,39 +112,49 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() // virtual void LLPanelVoiceEffect::onVoiceEffectChanged(bool effect_list_updated) { - update(); + update(effect_list_updated); } -void LLPanelVoiceEffect::update() +void LLPanelVoiceEffect::update(bool list_updated) { if (mVoiceEffectCombo) { LLVoiceEffectInterface* effect_interface = LLVoiceClient::instance().getVoiceEffectInterface(); - if (!effect_interface || !LLVoiceClient::instance().isVoiceWorking()) + if (list_updated) { - mVoiceEffectCombo->setEnabled(false); - return; - } - - mVoiceEffectCombo->removeall(); - mVoiceEffectCombo->add(getString("no_voice_effect"), LLUUID::null); - mVoiceEffectCombo->addSeparator(); + // Add the default "No Voice Effect" entry. + mVoiceEffectCombo->removeall(); + mVoiceEffectCombo->add(getString("no_voice_effect"), LLUUID::null); + mVoiceEffectCombo->addSeparator(); - const voice_effect_list_t& effect_list = effect_interface->getVoiceEffectList(); - if (!effect_list.empty()) - { - for (voice_effect_list_t::const_iterator it = effect_list.begin(); it != effect_list.end(); ++it) + // Add entries for each Voice Effect. + const voice_effect_list_t& effect_list = effect_interface->getVoiceEffectList(); + if (!effect_list.empty()) { - mVoiceEffectCombo->add(it->first, it->second, ADD_BOTTOM); + for (voice_effect_list_t::const_iterator it = effect_list.begin(); it != effect_list.end(); ++it) + { + mVoiceEffectCombo->add(it->first, it->second, ADD_BOTTOM); + } + + mVoiceEffectCombo->addSeparator(); } - mVoiceEffectCombo->addSeparator(); + // Add the fixed entries to go to the preview floater or marketing page. + mVoiceEffectCombo->add(getString("preview_voice_effects"), PREVIEW_VOICE_EFFECTS); + mVoiceEffectCombo->add(getString("get_voice_effects"), GET_VOICE_EFFECTS); } - mVoiceEffectCombo->add(getString("preview_voice_effects"), PREVIEW_VOICE_EFFECTS); - mVoiceEffectCombo->add(getString("get_voice_effects"), GET_VOICE_EFFECTS); - - mVoiceEffectCombo->setValue(effect_interface->getVoiceEffect()); - mVoiceEffectCombo->setEnabled(true); + if (effect_interface && LLVoiceClient::instance().isVoiceWorking()) + { + // Select the current voice effect. + mVoiceEffectCombo->setValue(effect_interface->getVoiceEffect()); + mVoiceEffectCombo->setEnabled(true); + } + else + { + // If voice isn't working or Voice Effects are not supported disable the control. + mVoiceEffectCombo->setValue(LLUUID::null); + mVoiceEffectCombo->setEnabled(false); + } } } -- cgit v1.2.3 From 76fc600e948f8c8ae9723f8ec5559408de5dc87f Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Tue, 25 May 2010 13:51:28 +0100 Subject: EXT-7138 WIP Made selecting voice effects while the Voice Control Panel is docked work properly. --- indra/newview/llpanelvoiceeffect.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index f4f0ea3ee7..518afc5eb3 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -39,6 +39,7 @@ #include "llfloaterreg.h" #include "llpanel.h" #include "lltrans.h" +#include "lltransientfloatermgr.h" #include "llvoiceclient.h" static LLRegisterPanelClassWrapper t_panel_voice_effect("panel_voice_effect"); @@ -51,6 +52,9 @@ LLPanelVoiceEffect::LLPanelVoiceEffect() LLPanelVoiceEffect::~LLPanelVoiceEffect() { + LLView* combo_list_view = mVoiceEffectCombo->getChildView("ComboBox"); + LLTransientFloaterMgr::getInstance()->removeControlView(combo_list_view); + if(LLVoiceClient::instanceExists()) { LLVoiceEffectInterface* effect_interface = LLVoiceClient::instance().getVoiceEffectInterface(); @@ -66,6 +70,11 @@ BOOL LLPanelVoiceEffect::postBuild() { mVoiceEffectCombo = getChild("voice_effect"); + // Need to tell LLTransientFloaterMgr about the combo list, otherwise it can't + // be clicked while in a docked floater as it extends outside the floater area. + LLView* combo_list_view = mVoiceEffectCombo->getChildView("ComboBox"); + LLTransientFloaterMgr::getInstance()->addControlView(combo_list_view); + LLVoiceEffectInterface* effect_interface = LLVoiceClient::instance().getVoiceEffectInterface(); if (effect_interface) { -- cgit v1.2.3 From d821d371e30cb7fcf32b6fae12ef4557e729bca3 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Thu, 27 May 2010 11:41:07 +0100 Subject: EXT-7138 WIP Removed now redundant onClickAdd callback from the Voice Effect preview floater. Cleaned up comments. --- indra/newview/llpanelvoiceeffect.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 518afc5eb3..707e05048e 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -1,6 +1,6 @@ /** * @file llpanelvoiceeffect.cpp - * @author Aimee Walton + * @author Aimee * @brief Panel to select Voice Effects. * * $LicenseInfo:firstyear=2010&license=viewergpl$ -- cgit v1.2.3 From 485f9abde6b728a923070e392e40c16ea9f05226 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Thu, 27 May 2010 12:53:53 +0100 Subject: EXT-7138 WIP Changed UI text to use "Voice Morph" everywhere instead of "Voice Effect". Revised wording in preview floater (DEV-50573). Added tool-tip for Voice Morphing control in Nearby Voice (DEV-50608). --- indra/newview/llpanelvoiceeffect.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indra/newview/llpanelvoiceeffect.cpp') diff --git a/indra/newview/llpanelvoiceeffect.cpp b/indra/newview/llpanelvoiceeffect.cpp index 707e05048e..fd470798ee 100644 --- a/indra/newview/llpanelvoiceeffect.cpp +++ b/indra/newview/llpanelvoiceeffect.cpp @@ -1,7 +1,7 @@ /** * @file llpanelvoiceeffect.cpp * @author Aimee - * @brief Panel to select Voice Effects. + * @brief Panel to select Voice Morphs. * * $LicenseInfo:firstyear=2010&license=viewergpl$ * @@ -102,7 +102,7 @@ void LLPanelVoiceEffect::onCommitVoiceEffect() LLSD value = mVoiceEffectCombo->getValue(); if (value.asInteger() == PREVIEW_VOICE_EFFECTS) { - // Open the voice effects management floater + // Open the Voice Morph preview floater LLFloaterReg::showInstance("voice_effect"); } else if (value.asInteger() == GET_VOICE_EFFECTS) @@ -131,12 +131,12 @@ void LLPanelVoiceEffect::update(bool list_updated) LLVoiceEffectInterface* effect_interface = LLVoiceClient::instance().getVoiceEffectInterface(); if (list_updated) { - // Add the default "No Voice Effect" entry. + // Add the default "No Voice Morph" entry. mVoiceEffectCombo->removeall(); mVoiceEffectCombo->add(getString("no_voice_effect"), LLUUID::null); mVoiceEffectCombo->addSeparator(); - // Add entries for each Voice Effect. + // Add entries for each Voice Morph. const voice_effect_list_t& effect_list = effect_interface->getVoiceEffectList(); if (!effect_list.empty()) { @@ -155,7 +155,7 @@ void LLPanelVoiceEffect::update(bool list_updated) if (effect_interface && LLVoiceClient::instance().isVoiceWorking()) { - // Select the current voice effect. + // Select the current Voice Morph. mVoiceEffectCombo->setValue(effect_interface->getVoiceEffect()); mVoiceEffectCombo->setEnabled(true); } -- cgit v1.2.3