This is a workaround until a way to request the current voice channel moderation mode is implemented in the viewer.
Details:
* Added method to initialize Speaker manager's Voice moderate_mode once Agent's participant state is known.
* Once agent's voice participant is updated this method is called.
* This method initializes Voice moderate_mode only once.
This is necessary to process "Mute everyone" menu item calls properly.
Also renamed moderateVoiceOtherParticipants methods with moderateVoiceAllParticipants and related staff.
Reviewed by Aimee Walton at https://codereview.productengine.com/secondlife/r/448/
--HG--
branch : product-engine
Partial fix (until restart moderator's viewer)
* store "moderate_mode" session state
* if session is already in requested state participants un/mute individually.
Known Issue:
"moderate_mode" session state is set to false on startup. Thus if moderator join voice chat with disabled voice it has incorrect state.
In this case when he sends "Mute everyone" request first time it has effect only to himself. Other unmuted participants are not muted.
Next "Mute everyone" request works properly: one request per participant is sent.
Reviewed by Aimee Walton at https://codereview.productengine.com/secondlife/r/423/
--HG--
branch : product-engine
Reason: not proper condition to check is LLSpeaker is in voice channel (implemented for EXT-3944)
Fix: Updated condition to check is speaker in voice channel state.
Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/242/
--HG--
branch : product-engine
* Changed the way blocked items are shown in the list. For now they are separated on two columns: Name & Type.
If Name is too long it is shown truncated (with ...)
* As result remove deprecated methods from LLMute to concatenate its name & type and to extract name & type from the such concatenated string.
* reduce include dependence from llmutelist.h
--HG--
branch : product-engine
- moved necessary functionality from LLMuteList to LLVoiceClient. It was used only in active speackers floater which is deprecated.
- initialized saving/loading of voice level in voice client.
- also saving voice levels between session is activated.
--HG--
branch : product-engine
-- replaced functionality to remove speacker from the list via Event timer.
-- removed calling of LLSpeakerMgr::update from LLPanelGroupControlPanel::draw() (group text chat)
For now list is updated when it is need.
--HG--
branch : product-engine
- improved condition to check if avatar can be moderated.
- if not moderation panel (with "Disable Voice" button) is not shown at all.
--HG--
branch : product-engine
-- changed behavior of 'mute/unmute everyone else' action to disable/enable voice chat and allow/disallow selected participant
Improvements to have more intellectual processing of several following requests is necessary
--HG--
branch : product-engine