Exemplo n.º 1
0
void LLIMSpeakerMgr::processSessionUpdate(const LLSD& session_update)
{
    if (mReverseVoiceModeratedAvatarID.isNull()) return;

    if (session_update.has("moderated_mode") &&
            session_update["moderated_mode"].has("voice"))
    {
        BOOL voice_moderated = session_update["moderated_mode"]["voice"];

        moderateVoiceParticipant(mReverseVoiceModeratedAvatarID, voice_moderated);

        mReverseVoiceModeratedAvatarID = LLUUID::null;
    }
}
Exemplo n.º 2
0
void LLIMSpeakerMgr::forceVoiceModeratedMode(bool should_be_muted)
{
	for (speaker_map_t::iterator speaker_it = mSpeakers.begin(); speaker_it != mSpeakers.end(); ++speaker_it)
	{
		LLUUID speaker_id = speaker_it->first;
		LLSpeaker* speakerp = speaker_it->second;

		// participant does not match requested state
		if (should_be_muted != (bool)speakerp->mModeratorMutedVoice)
		{
			moderateVoiceParticipant(speaker_id, !should_be_muted);
		}
	}
}
Exemplo n.º 3
0
void LLParticipantList::LLParticipantListMenu::moderateVoice(const LLSD& userdata)
{
	if (!gAgent.getRegion()) return;

	bool moderate_selected = userdata.asString() == "selected";

	if (moderate_selected)
	{
		const LLUUID& selected_avatar_id = mUUIDs.front();
		bool is_muted = isMuted(selected_avatar_id);
		moderateVoiceParticipant(selected_avatar_id, is_muted);
	}
	else
	{
		bool unmute_all = userdata.asString() == "unmute_all";
		moderateVoiceAllParticipants(unmute_all);
	}
}