From 7f7191c1735a2a823943119eec5c1ca160a7bf8d Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 25 Nov 2009 13:04:27 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Initial implementation of the xml for Voice Control Floater -- Added cpp files for an appropriate class (LLCallFloater) --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 57 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 indra/newview/llcallfloater.h (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h new file mode 100644 index 0000000000..3732379da2 --- /dev/null +++ b/indra/newview/llcallfloater.h @@ -0,0 +1,57 @@ +/** + * @file llcallfloater.h + * @author Mike Antipov + * @brief Voice Control Panel in a Voice Chats (P2P, Group, Nearby...). + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2009, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at + * http://secondlifegrid.net/programs/open_source/licensing/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ + +#ifndef LL_LLCALLFLOATER_H +#define LL_LLCALLFLOATER_H + +#include "llfloater.h" + +/** + * The Voice Control Panel is an ambient window summoned by clicking the flyout chevron on the Speak button. + * It can be torn-off and freely positioned onscreen. + * + * When the Resident is engaged in Nearby Voice Chat, the Voice Control Panel provides control over + * the Resident's own microphone input volume, the audible volume of each of the other participants, + * the Resident's own Voice Morphing settings (if she has subscribed to enable the feature), and Voice Recording. + * + * When the Resident is engaged in Group Voice Chat, the Voice Control Panel also provides an + * 'End Call' button to allow the Resident to leave that voice channel. + */ +class LLCallFloater : public LLFloater +{ + +}; + + +#endif //LL_LLCALLFLOATER_H + -- cgit v1.2.3 From cdd9c57b2c9f02167e78322e5631822b0cd0521b Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 25 Nov 2009 13:44:53 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Replaced LLVoiceControlPanel with LLCallFloater in Speak button implementation --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 3732379da2..dde4085d00 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -49,6 +49,10 @@ */ class LLCallFloater : public LLFloater { +public: + LLCallFloater(); + ~LLCallFloater(); + }; -- cgit v1.2.3 From 9d941cf1193eaaf333dd1c9427256786b1bc60c8 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 25 Nov 2009 14:52:39 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- Implemented speakers list for local chat. --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index dde4085d00..3e672eec79 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -36,6 +36,10 @@ #include "llfloater.h" +class LLAvatarList; +class LLParticipantList; +class LLSpeakerMgr; + /** * The Voice Control Panel is an ambient window summoned by clicking the flyout chevron on the Speak button. * It can be torn-off and freely positioned onscreen. @@ -53,7 +57,13 @@ public: LLCallFloater(); ~LLCallFloater(); + /*virtual*/ BOOL postBuild(); + +private: + LLSpeakerMgr* mSpeakerManager; + LLParticipantList* mPaticipants; + LLAvatarList* mAvatarList; }; -- cgit v1.2.3 From 964f4a8fef54f66a9d6ccfea321fa84f51be8bf6 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 25 Nov 2009 15:16:17 +0200 Subject: No ticket. Fixed lines endings to Unix format --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 3e672eec79..f1afddb1cc 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -41,13 +41,13 @@ class LLParticipantList; class LLSpeakerMgr; /** - * The Voice Control Panel is an ambient window summoned by clicking the flyout chevron on the Speak button. - * It can be torn-off and freely positioned onscreen. - * - * When the Resident is engaged in Nearby Voice Chat, the Voice Control Panel provides control over - * the Resident's own microphone input volume, the audible volume of each of the other participants, - * the Resident's own Voice Morphing settings (if she has subscribed to enable the feature), and Voice Recording. - * + * The Voice Control Panel is an ambient window summoned by clicking the flyout chevron on the Speak button. + * It can be torn-off and freely positioned onscreen. + * + * When the Resident is engaged in Nearby Voice Chat, the Voice Control Panel provides control over + * the Resident's own microphone input volume, the audible volume of each of the other participants, + * the Resident's own Voice Morphing settings (if she has subscribed to enable the feature), and Voice Recording. + * * When the Resident is engaged in Group Voice Chat, the Voice Control Panel also provides an * 'End Call' button to allow the Resident to leave that voice channel. */ -- cgit v1.2.3 From e0717c6aac140c840e6ca614afd39b6d95d46329 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 26 Nov 2009 11:39:59 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- made Voice Control Panel dockable to speak panel -- move button toggle state processing from the code to xml --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index f1afddb1cc..8c4a204943 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -34,7 +34,7 @@ #ifndef LL_LLCALLFLOATER_H #define LL_LLCALLFLOATER_H -#include "llfloater.h" +#include "lldockablefloater.h" class LLAvatarList; class LLParticipantList; @@ -51,10 +51,10 @@ class LLSpeakerMgr; * When the Resident is engaged in Group Voice Chat, the Voice Control Panel also provides an * 'End Call' button to allow the Resident to leave that voice channel. */ -class LLCallFloater : public LLFloater +class LLCallFloater : public LLDockableFloater { public: - LLCallFloater(); + LLCallFloater(const LLSD& key); ~LLCallFloater(); /*virtual*/ BOOL postBuild(); -- cgit v1.2.3 From bf6d5e9755b6c6e93fdf22a6cd4e20ffb2d2b441 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 26 Nov 2009 20:41:07 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- implemented opening of the Voice Control Panel from the Group Chat --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 8c4a204943..0b86a6ee92 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -58,6 +58,7 @@ public: ~LLCallFloater(); /*virtual*/ BOOL postBuild(); + /*virtual*/ void onOpen(const LLSD& key); private: -- cgit v1.2.3 From e88219b5e363f9535ac1193b2041da35ba5dd702 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Fri, 27 Nov 2009 13:34:24 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- improved logic to update Participant List for session. Now it uses current voice channel. --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index 0b86a6ee92..db33f17839 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -60,6 +60,10 @@ public: /*virtual*/ BOOL postBuild(); /*virtual*/ void onOpen(const LLSD& key); +private: + void updateSession(); + void setDefaultSession(); + void refreshPartisipantList(); private: LLSpeakerMgr* mSpeakerManager; -- cgit v1.2.3 From b8cb1e4f50b209a018b27d3d2d8e24af61aeb6e1 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Fri, 27 Nov 2009 14:53:46 +0200 Subject: Work on major sub-task EXT-2790 (Complete Voice Control Panel (floater) started by Lynx (LLVoiceControlPanel)) -- implemented refreshing of the participant list when Voice Channel is changed --HG-- branch : product-engine --- indra/newview/llcallfloater.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'indra/newview/llcallfloater.h') diff --git a/indra/newview/llcallfloater.h b/indra/newview/llcallfloater.h index db33f17839..bfaa1075c4 100644 --- a/indra/newview/llcallfloater.h +++ b/indra/newview/llcallfloater.h @@ -61,9 +61,19 @@ public: /*virtual*/ void onOpen(const LLSD& key); private: + /** + * Updates mSpeakerManager and list according to current Voice Channel + * + * It compares mSpeakerManager & current Voice Channel session IDs. + * If they are different gets Speaker manager related to current channel and updates channel participant list. + */ void updateSession(); - void setDefaultSession(); + + /** + * Refreshes participant list according to current Voice Channel + */ void refreshPartisipantList(); + void onCurrentChannelChanged(const LLUUID& session_id); private: LLSpeakerMgr* mSpeakerManager; -- cgit v1.2.3