[Voice Update] Remove gVoiceClient occurrences in favor of using LLVoiceClient as a Singleton everywhere.
This commit is contained in:
@@ -14096,6 +14096,17 @@ This should be as low as possible, but too low may break functionality</string>
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</map>
|
</map>
|
||||||
|
<key>ShowVoiceVisualizersInCalls</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Enables in-world voice visualizers, voice gestures and lip-sync while in group or P2P calls.</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</map>
|
||||||
<key>ShowVolumeSettingsPopup</key>
|
<key>ShowVolumeSettingsPopup</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|||||||
@@ -3909,7 +3909,7 @@ bool LLAgent::teleportCore(bool is_local)
|
|||||||
|
|
||||||
// MBW -- Let the voice client know a teleport has begun so it can leave the existing channel.
|
// MBW -- Let the voice client know a teleport has begun so it can leave the existing channel.
|
||||||
// This was breaking the case of teleporting within a single sim. Backing it out for now.
|
// This was breaking the case of teleporting within a single sim. Backing it out for now.
|
||||||
// gVoiceClient->leaveChannel();
|
// LLVoiceClient::getInstance()->leaveChannel();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4270,8 +4270,10 @@ void LLAppViewer::sendLogoutRequest()
|
|||||||
gLogoutMaxTime = LOGOUT_REQUEST_TIME;
|
gLogoutMaxTime = LOGOUT_REQUEST_TIME;
|
||||||
mLogoutRequestSent = TRUE;
|
mLogoutRequestSent = TRUE;
|
||||||
|
|
||||||
if(gVoiceClient)
|
if(LLVoiceClient::instanceExists())
|
||||||
gVoiceClient->leaveChannel();
|
{
|
||||||
|
LLVoiceClient::getInstance()->leaveChannel();
|
||||||
|
}
|
||||||
|
|
||||||
//Set internal status variables and marker files
|
//Set internal status variables and marker files
|
||||||
gLogoutInProgress = TRUE;
|
gLogoutInProgress = TRUE;
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ LLSpeaker::LLSpeaker(const LLUUID& id, const std::string& name, const ESpeakerTy
|
|||||||
mDisplayName = name;
|
mDisplayName = name;
|
||||||
mLegacyName = name;
|
mLegacyName = name;
|
||||||
}
|
}
|
||||||
gVoiceClient->setUserVolume(id, LLMuteList::getInstance()->getSavedResidentVolume(id));
|
LLVoiceClient::getInstance()->setUserVolume(id, LLMuteList::getInstance()->getSavedResidentVolume(id));
|
||||||
mActivityTimer.reset(SPEAKER_TIMEOUT);
|
mActivityTimer.reset(SPEAKER_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@ LLFloaterActiveSpeakers::LLFloaterActiveSpeakers(const LLSD& seed) : mPanel(NULL
|
|||||||
BOOL no_open = FALSE;
|
BOOL no_open = FALSE;
|
||||||
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_active_speakers.xml", &getFactoryMap(), no_open);
|
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_active_speakers.xml", &getFactoryMap(), no_open);
|
||||||
//RN: for now, we poll voice client every frame to get voice amplitude feedback
|
//RN: for now, we poll voice client every frame to get voice amplitude feedback
|
||||||
//gVoiceClient->addObserver(this);
|
//LLVoiceClient::getInstance()->addObserver(this);
|
||||||
mPanel->refreshSpeakers();
|
mPanel->refreshSpeakers();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -599,7 +599,7 @@ void LLPanelActiveSpeakers::refreshSpeakers()
|
|||||||
{
|
{
|
||||||
mMuteVoiceCtrl->setValue(LLMuteList::getInstance()->isMuted(selected_id, LLMute::flagVoiceChat));
|
mMuteVoiceCtrl->setValue(LLMuteList::getInstance()->isMuted(selected_id, LLMute::flagVoiceChat));
|
||||||
mMuteVoiceCtrl->setEnabled(LLVoiceClient::voiceEnabled()
|
mMuteVoiceCtrl->setEnabled(LLVoiceClient::voiceEnabled()
|
||||||
&& gVoiceClient->getVoiceEnabled(selected_id)
|
&& LLVoiceClient::getInstance()->getVoiceEnabled(selected_id)
|
||||||
&& selected_id.notNull()
|
&& selected_id.notNull()
|
||||||
&& selected_id != gAgent.getID()
|
&& selected_id != gAgent.getID()
|
||||||
&& (selected_speakerp.notNull() && (selected_speakerp->mType == LLSpeaker::SPEAKER_AGENT || selected_speakerp->mType == LLSpeaker::SPEAKER_EXTERNAL)));
|
&& (selected_speakerp.notNull() && (selected_speakerp->mType == LLSpeaker::SPEAKER_AGENT || selected_speakerp->mType == LLSpeaker::SPEAKER_EXTERNAL)));
|
||||||
@@ -617,9 +617,9 @@ void LLPanelActiveSpeakers::refreshSpeakers()
|
|||||||
&& !selected_speakerp->mLegacyName.empty()
|
&& !selected_speakerp->mLegacyName.empty()
|
||||||
&& !LLMuteList::getInstance()->isLinden(selected_speakerp->mLegacyName));
|
&& !LLMuteList::getInstance()->isLinden(selected_speakerp->mLegacyName));
|
||||||
}
|
}
|
||||||
mVolumeSlider->setValue(gVoiceClient->getUserVolume(selected_id));
|
mVolumeSlider->setValue(LLVoiceClient::getInstance()->getUserVolume(selected_id));
|
||||||
mVolumeSlider->setEnabled(LLVoiceClient::voiceEnabled()
|
mVolumeSlider->setEnabled(LLVoiceClient::voiceEnabled()
|
||||||
&& gVoiceClient->getVoiceEnabled(selected_id)
|
&& LLVoiceClient::getInstance()->getVoiceEnabled(selected_id)
|
||||||
&& selected_id.notNull()
|
&& selected_id.notNull()
|
||||||
&& selected_id != gAgent.getID()
|
&& selected_id != gAgent.getID()
|
||||||
&& (selected_speakerp.notNull() && (selected_speakerp->mType == LLSpeaker::SPEAKER_AGENT || selected_speakerp->mType == LLSpeaker::SPEAKER_EXTERNAL)));
|
&& (selected_speakerp.notNull() && (selected_speakerp->mType == LLSpeaker::SPEAKER_AGENT || selected_speakerp->mType == LLSpeaker::SPEAKER_EXTERNAL)));
|
||||||
@@ -628,7 +628,7 @@ void LLPanelActiveSpeakers::refreshSpeakers()
|
|||||||
view->setEnabled(selected_id.notNull());
|
view->setEnabled(selected_id.notNull());
|
||||||
|
|
||||||
if (LLView* view = findChild<LLView>("moderator_allow_voice"))
|
if (LLView* view = findChild<LLView>("moderator_allow_voice"))
|
||||||
view->setEnabled(selected_id.notNull() && mSpeakerMgr->isVoiceActive() && gVoiceClient->getVoiceEnabled(selected_id));
|
view->setEnabled(selected_id.notNull() && mSpeakerMgr->isVoiceActive() && LLVoiceClient::getInstance()->getVoiceEnabled(selected_id));
|
||||||
|
|
||||||
if (LLView* view = findChild<LLView>("moderator_allow_text"))
|
if (LLView* view = findChild<LLView>("moderator_allow_text"))
|
||||||
view->setEnabled(selected_id.notNull());
|
view->setEnabled(selected_id.notNull());
|
||||||
@@ -751,7 +751,7 @@ void LLPanelActiveSpeakers::onVolumeChange(LLUICtrl* source, void* user_data)
|
|||||||
LLUUID speaker_id = panelp->mSpeakerList->getValue().asUUID();
|
LLUUID speaker_id = panelp->mSpeakerList->getValue().asUUID();
|
||||||
|
|
||||||
F32 new_volume = (F32)panelp->childGetValue("speaker_volume").asReal();
|
F32 new_volume = (F32)panelp->childGetValue("speaker_volume").asReal();
|
||||||
gVoiceClient->setUserVolume(speaker_id, new_volume);
|
LLVoiceClient::getInstance()->setUserVolume(speaker_id, new_volume);
|
||||||
|
|
||||||
// store this volume setting for future sessions
|
// store this volume setting for future sessions
|
||||||
LLMuteList::getInstance()->setSavedResidentVolume(speaker_id, new_volume);
|
LLMuteList::getInstance()->setSavedResidentVolume(speaker_id, new_volume);
|
||||||
@@ -1012,7 +1012,7 @@ LLPointer<LLSpeaker> LLSpeakerMgr::setSpeaker(const LLUUID& id, const std::strin
|
|||||||
|
|
||||||
void LLSpeakerMgr::update(BOOL resort_ok)
|
void LLSpeakerMgr::update(BOOL resort_ok)
|
||||||
{
|
{
|
||||||
if (!gVoiceClient)
|
if (!LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1026,7 +1026,7 @@ void LLSpeakerMgr::update(BOOL resort_ok)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// update status of all current speakers
|
// update status of all current speakers
|
||||||
BOOL voice_channel_active = (!mVoiceChannel && gVoiceClient->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive());
|
BOOL voice_channel_active = (!mVoiceChannel && LLVoiceClient::getInstance()->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive());
|
||||||
for (speaker_map_t::iterator speaker_it = mSpeakers.begin(); speaker_it != mSpeakers.end();)
|
for (speaker_map_t::iterator speaker_it = mSpeakers.begin(); speaker_it != mSpeakers.end();)
|
||||||
{
|
{
|
||||||
LLUUID speaker_id = speaker_it->first;
|
LLUUID speaker_id = speaker_it->first;
|
||||||
@@ -1034,21 +1034,21 @@ void LLSpeakerMgr::update(BOOL resort_ok)
|
|||||||
|
|
||||||
speaker_it++;
|
speaker_it++;
|
||||||
|
|
||||||
if (voice_channel_active && gVoiceClient->getVoiceEnabled(speaker_id))
|
if (voice_channel_active && LLVoiceClient::getInstance()->getVoiceEnabled(speaker_id))
|
||||||
{
|
{
|
||||||
speakerp->mSpeechVolume = gVoiceClient->getCurrentPower(speaker_id);
|
speakerp->mSpeechVolume = LLVoiceClient::getInstance()->getCurrentPower(speaker_id);
|
||||||
BOOL moderator_muted_voice = gVoiceClient->getIsModeratorMuted(speaker_id);
|
BOOL moderator_muted_voice = LLVoiceClient::getInstance()->getIsModeratorMuted(speaker_id);
|
||||||
if (moderator_muted_voice != speakerp->mModeratorMutedVoice)
|
if (moderator_muted_voice != speakerp->mModeratorMutedVoice)
|
||||||
{
|
{
|
||||||
speakerp->mModeratorMutedVoice = moderator_muted_voice;
|
speakerp->mModeratorMutedVoice = moderator_muted_voice;
|
||||||
speakerp->fireEvent(new LLSpeakerVoiceModerationEvent(speakerp));
|
speakerp->fireEvent(new LLSpeakerVoiceModerationEvent(speakerp));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gVoiceClient->getOnMuteList(speaker_id) || speakerp->mModeratorMutedVoice)
|
if (LLVoiceClient::getInstance()->getOnMuteList(speaker_id) || speakerp->mModeratorMutedVoice)
|
||||||
{
|
{
|
||||||
speakerp->mStatus = LLSpeaker::STATUS_MUTED;
|
speakerp->mStatus = LLSpeaker::STATUS_MUTED;
|
||||||
}
|
}
|
||||||
else if (gVoiceClient->getIsSpeaking(speaker_id))
|
else if (LLVoiceClient::getInstance()->getIsSpeaking(speaker_id))
|
||||||
{
|
{
|
||||||
// reset inactivity expiration
|
// reset inactivity expiration
|
||||||
if (speakerp->mStatus != LLSpeaker::STATUS_SPEAKING)
|
if (speakerp->mStatus != LLSpeaker::STATUS_SPEAKING)
|
||||||
@@ -1143,9 +1143,9 @@ void LLSpeakerMgr::update(BOOL resort_ok)
|
|||||||
void LLSpeakerMgr::updateSpeakerList()
|
void LLSpeakerMgr::updateSpeakerList()
|
||||||
{
|
{
|
||||||
// are we bound to the currently active voice channel?
|
// are we bound to the currently active voice channel?
|
||||||
if ((!mVoiceChannel && gVoiceClient->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive()))
|
if ((!mVoiceChannel && LLVoiceClient::getInstance()->inProximalChannel()) || (mVoiceChannel && mVoiceChannel->isActive()))
|
||||||
{
|
{
|
||||||
LLVoiceClient::participantMap* participants = gVoiceClient->getParticipantList();
|
LLVoiceClient::participantMap* participants = LLVoiceClient::getInstance()->getParticipantList();
|
||||||
if(participants)
|
if(participants)
|
||||||
{
|
{
|
||||||
LLVoiceClient::participantMap::iterator participant_it;
|
LLVoiceClient::participantMap::iterator participant_it;
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ LLPanelVoiceDeviceSettings::LLPanelVoiceDeviceSettings()
|
|||||||
|
|
||||||
// ask for new device enumeration
|
// ask for new device enumeration
|
||||||
// now do this in onOpen() instead...
|
// now do this in onOpen() instead...
|
||||||
//gVoiceClient->refreshDeviceLists();
|
//LLVoiceClient::getInstance()->refreshDeviceLists();
|
||||||
}
|
}
|
||||||
|
|
||||||
LLPanelVoiceDeviceSettings::~LLPanelVoiceDeviceSettings()
|
LLPanelVoiceDeviceSettings::~LLPanelVoiceDeviceSettings()
|
||||||
@@ -86,12 +86,12 @@ BOOL LLPanelVoiceDeviceSettings::postBuild()
|
|||||||
void LLPanelVoiceDeviceSettings::draw()
|
void LLPanelVoiceDeviceSettings::draw()
|
||||||
{
|
{
|
||||||
// let user know that volume indicator is not yet available
|
// let user know that volume indicator is not yet available
|
||||||
bool is_in_tuning_mode = gVoiceClient->inTuningMode();
|
bool is_in_tuning_mode = LLVoiceClient::getInstance()->inTuningMode();
|
||||||
childSetVisible("wait_text", !is_in_tuning_mode);
|
childSetVisible("wait_text", !is_in_tuning_mode);
|
||||||
|
|
||||||
LLPanel::draw();
|
LLPanel::draw();
|
||||||
|
|
||||||
F32 voice_power = gVoiceClient->tuningGetEnergy();
|
F32 voice_power = LLVoiceClient::getInstance()->tuningGetEnergy();
|
||||||
S32 discrete_power = 0;
|
S32 discrete_power = 0;
|
||||||
|
|
||||||
if (!is_in_tuning_mode)
|
if (!is_in_tuning_mode)
|
||||||
@@ -174,13 +174,13 @@ void LLPanelVoiceDeviceSettings::refresh()
|
|||||||
LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider");
|
LLSlider* volume_slider = getChild<LLSlider>("mic_volume_slider");
|
||||||
// set mic volume tuning slider based on last mic volume setting
|
// set mic volume tuning slider based on last mic volume setting
|
||||||
F32 current_volume = (F32)volume_slider->getValue().asReal();
|
F32 current_volume = (F32)volume_slider->getValue().asReal();
|
||||||
gVoiceClient->tuningSetMicVolume(current_volume);
|
LLVoiceClient::getInstance()->tuningSetMicVolume(current_volume);
|
||||||
|
|
||||||
// Fill in popup menus
|
// Fill in popup menus
|
||||||
mCtrlInputDevices = getChild<LLComboBox>("voice_input_device");
|
mCtrlInputDevices = getChild<LLComboBox>("voice_input_device");
|
||||||
mCtrlOutputDevices = getChild<LLComboBox>("voice_output_device");
|
mCtrlOutputDevices = getChild<LLComboBox>("voice_output_device");
|
||||||
|
|
||||||
if(!gVoiceClient->deviceSettingsAvailable())
|
if(!LLVoiceClient::getInstance()->deviceSettingsAvailable())
|
||||||
{
|
{
|
||||||
// The combo boxes are disabled, since we can't get the device settings from the daemon just now.
|
// The combo boxes are disabled, since we can't get the device settings from the daemon just now.
|
||||||
// Put the currently set default (ONLY) in the box, and select it.
|
// Put the currently set default (ONLY) in the box, and select it.
|
||||||
@@ -208,7 +208,7 @@ void LLPanelVoiceDeviceSettings::refresh()
|
|||||||
mCtrlInputDevices->removeall();
|
mCtrlInputDevices->removeall();
|
||||||
mCtrlInputDevices->add( getString("default_text"), ADD_BOTTOM );
|
mCtrlInputDevices->add( getString("default_text"), ADD_BOTTOM );
|
||||||
|
|
||||||
devices = gVoiceClient->getCaptureDevices();
|
devices = LLVoiceClient::getInstance()->getCaptureDevices();
|
||||||
for(iter=devices->begin(); iter != devices->end(); iter++)
|
for(iter=devices->begin(); iter != devices->end(); iter++)
|
||||||
{
|
{
|
||||||
mCtrlInputDevices->add( *iter, ADD_BOTTOM );
|
mCtrlInputDevices->add( *iter, ADD_BOTTOM );
|
||||||
@@ -225,7 +225,7 @@ void LLPanelVoiceDeviceSettings::refresh()
|
|||||||
mCtrlOutputDevices->removeall();
|
mCtrlOutputDevices->removeall();
|
||||||
mCtrlOutputDevices->add( getString("default_text"), ADD_BOTTOM );
|
mCtrlOutputDevices->add( getString("default_text"), ADD_BOTTOM );
|
||||||
|
|
||||||
devices = gVoiceClient->getRenderDevices();
|
devices = LLVoiceClient::getInstance()->getRenderDevices();
|
||||||
for(iter=devices->begin(); iter != devices->end(); iter++)
|
for(iter=devices->begin(); iter != devices->end(); iter++)
|
||||||
{
|
{
|
||||||
mCtrlOutputDevices->add( *iter, ADD_BOTTOM );
|
mCtrlOutputDevices->add( *iter, ADD_BOTTOM );
|
||||||
@@ -248,34 +248,34 @@ void LLPanelVoiceDeviceSettings::onOpen()
|
|||||||
mDevicesUpdated = FALSE;
|
mDevicesUpdated = FALSE;
|
||||||
|
|
||||||
// ask for new device enumeration
|
// ask for new device enumeration
|
||||||
gVoiceClient->refreshDeviceLists();
|
LLVoiceClient::getInstance()->refreshDeviceLists();
|
||||||
|
|
||||||
// put voice client in "tuning" mode
|
// put voice client in "tuning" mode
|
||||||
gVoiceClient->tuningStart();
|
LLVoiceClient::getInstance()->tuningStart();
|
||||||
LLVoiceChannel::suspend();
|
LLVoiceChannel::suspend();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLPanelVoiceDeviceSettings::onClose(bool app_quitting)
|
void LLPanelVoiceDeviceSettings::onClose(bool app_quitting)
|
||||||
{
|
{
|
||||||
gVoiceClient->tuningStop();
|
LLVoiceClient::getInstance()->tuningStop();
|
||||||
LLVoiceChannel::resume();
|
LLVoiceChannel::resume();
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
void LLPanelVoiceDeviceSettings::onCommitInputDevice(LLUICtrl* ctrl, void* user_data)
|
void LLPanelVoiceDeviceSettings::onCommitInputDevice(LLUICtrl* ctrl, void* user_data)
|
||||||
{
|
{
|
||||||
if(gVoiceClient)
|
if(LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
gVoiceClient->setCaptureDevice(ctrl->getValue().asString());
|
LLVoiceClient::getInstance()->setCaptureDevice(ctrl->getValue().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// static
|
// static
|
||||||
void LLPanelVoiceDeviceSettings::onCommitOutputDevice(LLUICtrl* ctrl, void* user_data)
|
void LLPanelVoiceDeviceSettings::onCommitOutputDevice(LLUICtrl* ctrl, void* user_data)
|
||||||
{
|
{
|
||||||
if(gVoiceClient)
|
if(LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
gVoiceClient->setRenderDevice(ctrl->getValue().asString());
|
LLVoiceClient::getInstance()->setRenderDevice(ctrl->getValue().asString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -515,13 +515,13 @@ LLFloaterIMPanel::~LLFloaterIMPanel()
|
|||||||
mSpeakers = NULL;
|
mSpeakers = NULL;
|
||||||
|
|
||||||
// End the text IM session if necessary
|
// End the text IM session if necessary
|
||||||
if(gVoiceClient && mOtherParticipantUUID.notNull())
|
if(LLVoiceClient::instanceExists() && mOtherParticipantUUID.notNull())
|
||||||
{
|
{
|
||||||
switch(mDialog)
|
switch(mDialog)
|
||||||
{
|
{
|
||||||
case IM_NOTHING_SPECIAL:
|
case IM_NOTHING_SPECIAL:
|
||||||
case IM_SESSION_P2P_INVITE:
|
case IM_SESSION_P2P_INVITE:
|
||||||
gVoiceClient->endUserIMSession(mOtherParticipantUUID);
|
LLVoiceClient::getInstance()->endUserIMSession(mOtherParticipantUUID);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -651,7 +651,7 @@ void LLFloaterIMPanel::onVolumeChange(LLUICtrl* source, void* user_data)
|
|||||||
LLFloaterIMPanel* floaterp = (LLFloaterIMPanel*)user_data;
|
LLFloaterIMPanel* floaterp = (LLFloaterIMPanel*)user_data;
|
||||||
if (floaterp)
|
if (floaterp)
|
||||||
{
|
{
|
||||||
gVoiceClient->setUserVolume(floaterp->mOtherParticipantUUID, (F32)source->getValue().asReal());
|
LLVoiceClient::getInstance()->setUserVolume(floaterp->mOtherParticipantUUID, (F32)source->getValue().asReal());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -734,7 +734,7 @@ void LLFloaterIMPanel::draw()
|
|||||||
{
|
{
|
||||||
// refresh volume and mute checkbox
|
// refresh volume and mute checkbox
|
||||||
mVolumeSlider->setVisible(LLVoiceClient::voiceEnabled() && mVoiceChannel->isActive());
|
mVolumeSlider->setVisible(LLVoiceClient::voiceEnabled() && mVoiceChannel->isActive());
|
||||||
mVolumeSlider->setValue(gVoiceClient->getUserVolume(mOtherParticipantUUID));
|
mVolumeSlider->setValue(LLVoiceClient::getInstance()->getUserVolume(mOtherParticipantUUID));
|
||||||
|
|
||||||
mMuteBtn->setValue(LLMuteList::getInstance()->isMuted(mOtherParticipantUUID, LLMute::flagVoiceChat));
|
mMuteBtn->setValue(LLMuteList::getInstance()->isMuted(mOtherParticipantUUID, LLMute::flagVoiceChat));
|
||||||
mMuteBtn->setVisible(LLVoiceClient::voiceEnabled() && mVoiceChannel->isActive());
|
mMuteBtn->setVisible(LLVoiceClient::voiceEnabled() && mVoiceChannel->isActive());
|
||||||
@@ -752,7 +752,8 @@ public:
|
|||||||
|
|
||||||
/*virtual*/ void error(U32 statusNum, const std::string& reason)
|
/*virtual*/ void error(U32 statusNum, const std::string& reason)
|
||||||
{
|
{
|
||||||
llinfos << "Error inviting all agents to session" << llendl;
|
llwarns << "Error inviting all agents to session [status:"
|
||||||
|
<< statusNum << "]: " << reason << llendl;
|
||||||
//throw something back to the viewer here?
|
//throw something back to the viewer here?
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1197,7 +1198,7 @@ void deliver_message(const std::string& utf8_text,
|
|||||||
if((offline == IM_OFFLINE) && (LLVoiceClient::getInstance()->isOnlineSIP(other_participant_id)))
|
if((offline == IM_OFFLINE) && (LLVoiceClient::getInstance()->isOnlineSIP(other_participant_id)))
|
||||||
{
|
{
|
||||||
// User is online through the OOW connector, but not with a regular viewer. Try to send the message via SLVoice.
|
// User is online through the OOW connector, but not with a regular viewer. Try to send the message via SLVoice.
|
||||||
sent = gVoiceClient->sendTextMessage(other_participant_id, utf8_text);
|
sent = LLVoiceClient::getInstance()->sendTextMessage(other_participant_id, utf8_text);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!sent)
|
if(!sent)
|
||||||
|
|||||||
@@ -355,10 +355,10 @@ bool inviteUserResponse(const LLSD& notification, const LLSD& response)
|
|||||||
{
|
{
|
||||||
if (type == IM_SESSION_P2P_INVITE)
|
if (type == IM_SESSION_P2P_INVITE)
|
||||||
{
|
{
|
||||||
if(gVoiceClient)
|
if(LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
std::string s = payload["session_handle"].asString();
|
std::string s = payload["session_handle"].asString();
|
||||||
gVoiceClient->declineInvite(s);
|
LLVoiceClient::getInstance()->declineInvite(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1592,7 +1592,7 @@ bool idle_startup()
|
|||||||
}
|
}
|
||||||
gViewerWindow->getWindow()->setTitle(LLAppViewer::instance()->getWindowTitle() + "- " + name);
|
gViewerWindow->getWindow()->setTitle(LLAppViewer::instance()->getWindowTitle() + "- " + name);
|
||||||
// Pass the user information to the voice chat server interface.
|
// Pass the user information to the voice chat server interface.
|
||||||
gVoiceClient->userAuthorized(firstname, lastname, gAgentID);
|
LLVoiceClient::getInstance()->userAuthorized(firstname, lastname, gAgentID);
|
||||||
LLStartUp::setStartupState( STATE_WORLD_INIT );
|
LLStartUp::setStartupState( STATE_WORLD_INIT );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -73,7 +73,6 @@
|
|||||||
#include "llviewerparcelmgr.h"
|
#include "llviewerparcelmgr.h"
|
||||||
#include "llviewerthrottle.h"
|
#include "llviewerthrottle.h"
|
||||||
#include "lluictrlfactory.h"
|
#include "lluictrlfactory.h"
|
||||||
#include "llvoiceclient.h" // for gVoiceClient
|
|
||||||
#include "llagentui.h"
|
#include "llagentui.h"
|
||||||
|
|
||||||
#include "lltoolmgr.h"
|
#include "lltoolmgr.h"
|
||||||
|
|||||||
@@ -182,19 +182,19 @@ void audio_update_volume(bool force_update)
|
|||||||
LLViewerMedia::setVolume( mute_media ? 0.0f : media_volume );
|
LLViewerMedia::setVolume( mute_media ? 0.0f : media_volume );
|
||||||
|
|
||||||
// Voice
|
// Voice
|
||||||
if (gVoiceClient)
|
if (LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
F32 voice_volume = mute_volume * master_volume * audio_level_voice;
|
F32 voice_volume = mute_volume * master_volume * audio_level_voice;
|
||||||
gVoiceClient->setVoiceVolume(mute_voice ? 0.f : voice_volume);
|
LLVoiceClient::getInstance()->setVoiceVolume(mute_voice ? 0.f : voice_volume);
|
||||||
gVoiceClient->setMicGain(mute_voice ? 0.f : audio_level_mic);
|
LLVoiceClient::getInstance()->setMicGain(mute_voice ? 0.f : audio_level_mic);
|
||||||
|
|
||||||
if (!gViewerWindow->getActive() && mute_when_minimized)
|
if (!gViewerWindow->getActive() && mute_when_minimized)
|
||||||
{
|
{
|
||||||
gVoiceClient->setMuteMic(true);
|
LLVoiceClient::getInstance()->setMuteMic(true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gVoiceClient->setMuteMic(false);
|
LLVoiceClient::getInstance()->setMuteMic(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -547,6 +547,12 @@ bool handleEffectColorChanged(const LLSD& newvalue)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool handleVoiceClientPrefsChanged(const LLSD& newvalue)
|
||||||
|
{
|
||||||
|
LLVoiceClient::getInstance()->updateSettings();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool handleVelocityInterpolate(const LLSD& newvalue)
|
bool handleVelocityInterpolate(const LLSD& newvalue)
|
||||||
{
|
{
|
||||||
LLMessageSystem* msg = gMessageSystem;
|
LLMessageSystem* msg = gMessageSystem;
|
||||||
@@ -571,15 +577,6 @@ bool handleVelocityInterpolate(const LLSD& newvalue)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool handleVoiceClientPrefsChanged(const LLSD& newvalue)
|
|
||||||
{
|
|
||||||
if(gVoiceClient)
|
|
||||||
{
|
|
||||||
gVoiceClient->updateSettings();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool handleTranslateChatPrefsChanged(const LLSD& newvalue)
|
bool handleTranslateChatPrefsChanged(const LLSD& newvalue)
|
||||||
{
|
{
|
||||||
LLFloaterChat* floaterp = LLFloaterChat::getInstance();
|
LLFloaterChat* floaterp = LLFloaterChat::getInstance();
|
||||||
|
|||||||
@@ -1085,7 +1085,7 @@ BOOL LLViewerWindow::handleRightMouseUp(LLWindow *window, LLCoordGL pos, MASK m
|
|||||||
BOOL LLViewerWindow::handleMiddleMouseDown(LLWindow *window, LLCoordGL pos, MASK mask)
|
BOOL LLViewerWindow::handleMiddleMouseDown(LLWindow *window, LLCoordGL pos, MASK mask)
|
||||||
{
|
{
|
||||||
BOOL down = TRUE;
|
BOOL down = TRUE;
|
||||||
gVoiceClient->middleMouseState(true);
|
LLVoiceClient::getInstance()->middleMouseState(true);
|
||||||
handleAnyMouseClick(window,pos,mask,LLMouseHandler::CLICK_MIDDLE,down);
|
handleAnyMouseClick(window,pos,mask,LLMouseHandler::CLICK_MIDDLE,down);
|
||||||
|
|
||||||
// Always handled as far as the OS is concerned.
|
// Always handled as far as the OS is concerned.
|
||||||
@@ -1095,7 +1095,7 @@ BOOL LLViewerWindow::handleMiddleMouseDown(LLWindow *window, LLCoordGL pos, MAS
|
|||||||
BOOL LLViewerWindow::handleMiddleMouseUp(LLWindow *window, LLCoordGL pos, MASK mask)
|
BOOL LLViewerWindow::handleMiddleMouseUp(LLWindow *window, LLCoordGL pos, MASK mask)
|
||||||
{
|
{
|
||||||
BOOL down = FALSE;
|
BOOL down = FALSE;
|
||||||
gVoiceClient->middleMouseState(false);
|
LLVoiceClient::getInstance()->middleMouseState(false);
|
||||||
handleAnyMouseClick(window,pos,mask,LLMouseHandler::CLICK_MIDDLE,down);
|
handleAnyMouseClick(window,pos,mask,LLMouseHandler::CLICK_MIDDLE,down);
|
||||||
|
|
||||||
// Always handled as far as the OS is concerned.
|
// Always handled as far as the OS is concerned.
|
||||||
@@ -1237,8 +1237,7 @@ void LLViewerWindow::handleFocusLost(LLWindow *window)
|
|||||||
BOOL LLViewerWindow::handleTranslatedKeyDown(KEY key, MASK mask, BOOL repeated)
|
BOOL LLViewerWindow::handleTranslatedKeyDown(KEY key, MASK mask, BOOL repeated)
|
||||||
{
|
{
|
||||||
// Let the voice chat code check for its PTT key. Note that this never affects event processing.
|
// Let the voice chat code check for its PTT key. Note that this never affects event processing.
|
||||||
if(gVoiceClient)
|
LLVoiceClient::getInstance()->keyDown(key, mask);
|
||||||
gVoiceClient->keyDown(key, mask);
|
|
||||||
|
|
||||||
if (gAwayTimer.getElapsedTimeF32() > MIN_AFK_TIME)
|
if (gAwayTimer.getElapsedTimeF32() > MIN_AFK_TIME)
|
||||||
{
|
{
|
||||||
@@ -1260,7 +1259,7 @@ BOOL LLViewerWindow::handleTranslatedKeyDown(KEY key, MASK mask, BOOL repeated)
|
|||||||
BOOL LLViewerWindow::handleTranslatedKeyUp(KEY key, MASK mask)
|
BOOL LLViewerWindow::handleTranslatedKeyUp(KEY key, MASK mask)
|
||||||
{
|
{
|
||||||
// Let the voice chat code check for its PTT key. Note that this never affects event processing.
|
// Let the voice chat code check for its PTT key. Note that this never affects event processing.
|
||||||
gVoiceClient->keyUp(key, mask);
|
LLVoiceClient::getInstance()->keyUp(key, mask);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1526,7 +1526,7 @@ void LLVOAvatar::initInstance(void)
|
|||||||
|
|
||||||
//VTPause(); // VTune
|
//VTPause(); // VTune
|
||||||
|
|
||||||
mVoiceVisualizer->setVoiceEnabled( gVoiceClient->getVoiceEnabled( mID ) );
|
mVoiceVisualizer->setVoiceEnabled( LLVoiceClient::getInstance()->getVoiceEnabled( mID ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// virtual
|
// virtual
|
||||||
@@ -2344,13 +2344,16 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
|
|||||||
// store off last frame's root position to be consistent with camera position
|
// store off last frame's root position to be consistent with camera position
|
||||||
LLVector3 root_pos_last = mRoot->getWorldPosition();
|
LLVector3 root_pos_last = mRoot->getWorldPosition();
|
||||||
bool detailed_update = updateCharacter(agent);
|
bool detailed_update = updateCharacter(agent);
|
||||||
bool voice_enabled = gVoiceClient->getVoiceEnabled( mID ) && gVoiceClient->inProximalChannel();
|
|
||||||
|
|
||||||
if (gNoRender)
|
if (gNoRender)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LLUICachedControl<bool> visualizers_in_calls("ShowVoiceVisualizersInCalls", false);
|
||||||
|
bool voice_enabled = (visualizers_in_calls || LLVoiceClient::getInstance()->inProximalChannel()) &&
|
||||||
|
LLVoiceClient::getInstance()->getVoiceEnabled(mID);
|
||||||
|
|
||||||
idleUpdateVoiceVisualizer( voice_enabled );
|
idleUpdateVoiceVisualizer( voice_enabled );
|
||||||
idleUpdateMisc( detailed_update );
|
idleUpdateMisc( detailed_update );
|
||||||
idleUpdateAppearanceAnimation();
|
idleUpdateAppearanceAnimation();
|
||||||
@@ -2421,7 +2424,7 @@ void LLVOAvatar::idleUpdateVoiceVisualizer(bool voice_enabled)
|
|||||||
// Notice the calls to "gAwayTimer.reset()". This resets the timer that determines how long the avatar has been
|
// Notice the calls to "gAwayTimer.reset()". This resets the timer that determines how long the avatar has been
|
||||||
// "away", so that the avatar doesn't lapse into away-mode (and slump over) while the user is still talking.
|
// "away", so that the avatar doesn't lapse into away-mode (and slump over) while the user is still talking.
|
||||||
//-----------------------------------------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------------------------------------
|
||||||
if ( gVoiceClient->getIsSpeaking( mID ) )
|
if (LLVoiceClient::getInstance()->getIsSpeaking( mID ))
|
||||||
{
|
{
|
||||||
if ( ! mVoiceVisualizer->getCurrentlySpeaking() )
|
if ( ! mVoiceVisualizer->getCurrentlySpeaking() )
|
||||||
{
|
{
|
||||||
@@ -2430,7 +2433,7 @@ void LLVOAvatar::idleUpdateVoiceVisualizer(bool voice_enabled)
|
|||||||
//printf( "gAwayTimer.reset();\n" );
|
//printf( "gAwayTimer.reset();\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
mVoiceVisualizer->setSpeakingAmplitude( gVoiceClient->getCurrentPower( mID ) );
|
mVoiceVisualizer->setSpeakingAmplitude( LLVoiceClient::getInstance()->getCurrentPower( mID ) );
|
||||||
|
|
||||||
if( isSelf() )
|
if( isSelf() )
|
||||||
{
|
{
|
||||||
@@ -2682,7 +2685,7 @@ F32 LLVOAvatar::calcMorphAmount()
|
|||||||
void LLVOAvatar::idleUpdateLipSync(bool voice_enabled)
|
void LLVOAvatar::idleUpdateLipSync(bool voice_enabled)
|
||||||
{
|
{
|
||||||
// Use the Lipsync_Ooh and Lipsync_Aah morphs for lip sync
|
// Use the Lipsync_Ooh and Lipsync_Aah morphs for lip sync
|
||||||
if ( voice_enabled && (gVoiceClient->lipSyncEnabled()) && gVoiceClient->getIsSpeaking( mID ) )
|
if ( voice_enabled && (LLVoiceClient::getInstance()->lipSyncEnabled()) && LLVoiceClient::getInstance()->getIsSpeaking( mID ) )
|
||||||
{
|
{
|
||||||
F32 ooh_morph_amount = 0.0f;
|
F32 ooh_morph_amount = 0.0f;
|
||||||
F32 aah_morph_amount = 0.0f;
|
F32 aah_morph_amount = 0.0f;
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
* COMPLETENESS OR PERFORMANCE.
|
* COMPLETENESS OR PERFORMANCE.
|
||||||
* $/LicenseInfo$
|
* $/LicenseInfo$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "llviewerprecompiledheaders.h"
|
#include "llviewerprecompiledheaders.h"
|
||||||
|
|
||||||
#if LL_LINUX && defined(LL_STANDALONE)
|
#if LL_LINUX && defined(LL_STANDALONE)
|
||||||
@@ -86,15 +87,13 @@ extern AIHTTPTimeoutPolicy viewerVoiceAccountProvisionResponder_timeout;
|
|||||||
extern AIHTTPTimeoutPolicy voiceClientCapResponder_timeout;
|
extern AIHTTPTimeoutPolicy voiceClientCapResponder_timeout;
|
||||||
|
|
||||||
static bool sConnectingToAgni = false;
|
static bool sConnectingToAgni = false;
|
||||||
F32 LLVoiceClient::OVERDRIVEN_POWER_LEVEL = 0.7f;
|
const F32 LLVoiceClient::OVERDRIVEN_POWER_LEVEL = 0.7f;
|
||||||
|
|
||||||
const F32 SPEAKING_TIMEOUT = 1.f;
|
const F32 SPEAKING_TIMEOUT = 1.f;
|
||||||
|
|
||||||
const int VOICE_MAJOR_VERSION = 1;
|
const int VOICE_MAJOR_VERSION = 1;
|
||||||
const int VOICE_MINOR_VERSION = 0;
|
const int VOICE_MINOR_VERSION = 0;
|
||||||
|
|
||||||
LLVoiceClient *gVoiceClient = NULL;
|
|
||||||
|
|
||||||
// Don't retry connecting to the daemon more frequently than this:
|
// Don't retry connecting to the daemon more frequently than this:
|
||||||
const F32 CONNECT_THROTTLE_SECONDS = 1.0f;
|
const F32 CONNECT_THROTTLE_SECONDS = 1.0f;
|
||||||
|
|
||||||
@@ -155,19 +154,19 @@ public:
|
|||||||
if ( mRetries > 0 )
|
if ( mRetries > 0 )
|
||||||
{
|
{
|
||||||
LL_WARNS("Voice") << "ProvisionVoiceAccountRequest returned an error, retrying. status = " << status << ", reason = \"" << reason << "\"" << LL_ENDL;
|
LL_WARNS("Voice") << "ProvisionVoiceAccountRequest returned an error, retrying. status = " << status << ", reason = \"" << reason << "\"" << LL_ENDL;
|
||||||
if ( gVoiceClient ) gVoiceClient->requestVoiceAccountProvision(
|
if (LLVoiceClient::instanceExists()) LLVoiceClient::getInstance()->requestVoiceAccountProvision(
|
||||||
mRetries - 1);
|
mRetries - 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LL_WARNS("Voice") << "ProvisionVoiceAccountRequest returned an error, too many retries (giving up). status = " << status << ", reason = \"" << reason << "\"" << LL_ENDL;
|
LL_WARNS("Voice") << "ProvisionVoiceAccountRequest returned an error, too many retries (giving up). status = " << status << ", reason = \"" << reason << "\"" << LL_ENDL;
|
||||||
if ( gVoiceClient ) gVoiceClient->giveUp();
|
if (LLVoiceClient::instanceExists()) LLVoiceClient::getInstance()->giveUp();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*virtual*/ void result(const LLSD& content)
|
/*virtual*/ void result(const LLSD& content)
|
||||||
{
|
{
|
||||||
if ( gVoiceClient )
|
if (LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
std::string voice_sip_uri_hostname;
|
std::string voice_sip_uri_hostname;
|
||||||
std::string voice_account_server_uri;
|
std::string voice_account_server_uri;
|
||||||
@@ -181,7 +180,7 @@ public:
|
|||||||
if(content.has("voice_account_server_name"))
|
if(content.has("voice_account_server_name"))
|
||||||
voice_account_server_uri = content["voice_account_server_name"].asString();
|
voice_account_server_uri = content["voice_account_server_name"].asString();
|
||||||
|
|
||||||
gVoiceClient->login(
|
LLVoiceClient::getInstance()->login(
|
||||||
content["username"].asString(),
|
content["username"].asString(),
|
||||||
content["password"].asString(),
|
content["password"].asString(),
|
||||||
voice_sip_uri_hostname,
|
voice_sip_uri_hostname,
|
||||||
@@ -384,7 +383,7 @@ LLIOPipe::EStatus LLVivoxProtocolParser::process_impl(
|
|||||||
|
|
||||||
LL_DEBUGS("VivoxProtocolParser") << "at end, mInput is: " << mInput << LL_ENDL;
|
LL_DEBUGS("VivoxProtocolParser") << "at end, mInput is: " << mInput << LL_ENDL;
|
||||||
|
|
||||||
if(!gVoiceClient->mConnected)
|
if(!LLVoiceClient::getInstance()->mConnected)
|
||||||
{
|
{
|
||||||
// If voice has been disabled, we just want to close the socket. This does so.
|
// If voice has been disabled, we just want to close the socket. This does so.
|
||||||
LL_INFOS("Voice") << "returning STATUS_STOP" << LL_ENDL;
|
LL_INFOS("Voice") << "returning STATUS_STOP" << LL_ENDL;
|
||||||
@@ -484,23 +483,23 @@ void LLVivoxProtocolParser::StartTag(const char *tag, const char **attr)
|
|||||||
}
|
}
|
||||||
else if (!stricmp("CaptureDevices", tag))
|
else if (!stricmp("CaptureDevices", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->clearCaptureDevices();
|
LLVoiceClient::getInstance()->clearCaptureDevices();
|
||||||
}
|
}
|
||||||
else if (!stricmp("RenderDevices", tag))
|
else if (!stricmp("RenderDevices", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->clearRenderDevices();
|
LLVoiceClient::getInstance()->clearRenderDevices();
|
||||||
}
|
}
|
||||||
else if (!stricmp("Buddies", tag))
|
else if (!stricmp("Buddies", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->deleteAllBuddies();
|
LLVoiceClient::getInstance()->deleteAllBuddies();
|
||||||
}
|
}
|
||||||
else if (!stricmp("BlockRules", tag))
|
else if (!stricmp("BlockRules", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->deleteAllBlockRules();
|
LLVoiceClient::getInstance()->deleteAllBlockRules();
|
||||||
}
|
}
|
||||||
else if (!stricmp("AutoAcceptRules", tag))
|
else if (!stricmp("AutoAcceptRules", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->deleteAllAutoAcceptRules();
|
LLVoiceClient::getInstance()->deleteAllAutoAcceptRules();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -608,19 +607,19 @@ void LLVivoxProtocolParser::EndTag(const char *tag)
|
|||||||
}
|
}
|
||||||
else if (!stricmp("CaptureDevice", tag))
|
else if (!stricmp("CaptureDevice", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->addCaptureDevice(textBuffer);
|
LLVoiceClient::getInstance()->addCaptureDevice(textBuffer);
|
||||||
}
|
}
|
||||||
else if (!stricmp("RenderDevice", tag))
|
else if (!stricmp("RenderDevice", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->addRenderDevice(textBuffer);
|
LLVoiceClient::getInstance()->addRenderDevice(textBuffer);
|
||||||
}
|
}
|
||||||
else if (!stricmp("Buddy", tag))
|
else if (!stricmp("Buddy", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->processBuddyListEntry(uriString, displayNameString);
|
LLVoiceClient::getInstance()->processBuddyListEntry(uriString, displayNameString);
|
||||||
}
|
}
|
||||||
else if (!stricmp("BlockRule", tag))
|
else if (!stricmp("BlockRule", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->addBlockRule(blockMask, presenceOnly);
|
LLVoiceClient::getInstance()->addBlockRule(blockMask, presenceOnly);
|
||||||
}
|
}
|
||||||
else if (!stricmp("BlockMask", tag))
|
else if (!stricmp("BlockMask", tag))
|
||||||
blockMask = string;
|
blockMask = string;
|
||||||
@@ -628,7 +627,7 @@ void LLVivoxProtocolParser::EndTag(const char *tag)
|
|||||||
presenceOnly = string;
|
presenceOnly = string;
|
||||||
else if (!stricmp("AutoAcceptRule", tag))
|
else if (!stricmp("AutoAcceptRule", tag))
|
||||||
{
|
{
|
||||||
gVoiceClient->addAutoAcceptRule(autoAcceptMask, autoAddAsBuddy);
|
LLVoiceClient::getInstance()->addAutoAcceptRule(autoAcceptMask, autoAddAsBuddy);
|
||||||
}
|
}
|
||||||
else if (!stricmp("AutoAcceptMask", tag))
|
else if (!stricmp("AutoAcceptMask", tag))
|
||||||
autoAcceptMask = string;
|
autoAcceptMask = string;
|
||||||
@@ -701,7 +700,7 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
const char *eventTypeCstr = eventTypeString.c_str();
|
const char *eventTypeCstr = eventTypeString.c_str();
|
||||||
if (!stricmp(eventTypeCstr, "AccountLoginStateChangeEvent"))
|
if (!stricmp(eventTypeCstr, "AccountLoginStateChangeEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->accountLoginStateChangeEvent(accountHandle, statusCode, statusString, state);
|
LLVoiceClient::getInstance()->accountLoginStateChangeEvent(accountHandle, statusCode, statusString, state);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "SessionAddedEvent"))
|
else if (!stricmp(eventTypeCstr, "SessionAddedEvent"))
|
||||||
{
|
{
|
||||||
@@ -715,15 +714,15 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
<ChannelName />
|
<ChannelName />
|
||||||
</Event>
|
</Event>
|
||||||
*/
|
*/
|
||||||
gVoiceClient->sessionAddedEvent(uriString, alias, sessionHandle, sessionGroupHandle, isChannel, incoming, nameString, applicationString);
|
LLVoiceClient::getInstance()->sessionAddedEvent(uriString, alias, sessionHandle, sessionGroupHandle, isChannel, incoming, nameString, applicationString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "SessionRemovedEvent"))
|
else if (!stricmp(eventTypeCstr, "SessionRemovedEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->sessionRemovedEvent(sessionHandle, sessionGroupHandle);
|
LLVoiceClient::getInstance()->sessionRemovedEvent(sessionHandle, sessionGroupHandle);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "SessionGroupAddedEvent"))
|
else if (!stricmp(eventTypeCstr, "SessionGroupAddedEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->sessionGroupAddedEvent(sessionGroupHandle);
|
LLVoiceClient::getInstance()->sessionGroupAddedEvent(sessionGroupHandle);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "MediaStreamUpdatedEvent"))
|
else if (!stricmp(eventTypeCstr, "MediaStreamUpdatedEvent"))
|
||||||
{
|
{
|
||||||
@@ -737,7 +736,7 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
<Incoming>false</Incoming>
|
<Incoming>false</Incoming>
|
||||||
</Event>
|
</Event>
|
||||||
*/
|
*/
|
||||||
gVoiceClient->mediaStreamUpdatedEvent(sessionHandle, sessionGroupHandle, statusCode, statusString, state, incoming);
|
LLVoiceClient::getInstance()->mediaStreamUpdatedEvent(sessionHandle, sessionGroupHandle, statusCode, statusString, state, incoming);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "TextStreamUpdatedEvent"))
|
else if (!stricmp(eventTypeCstr, "TextStreamUpdatedEvent"))
|
||||||
{
|
{
|
||||||
@@ -750,7 +749,7 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
<Incoming>true</Incoming>
|
<Incoming>true</Incoming>
|
||||||
</Event>
|
</Event>
|
||||||
*/
|
*/
|
||||||
gVoiceClient->textStreamUpdatedEvent(sessionHandle, sessionGroupHandle, enabled, state, incoming);
|
LLVoiceClient::getInstance()->textStreamUpdatedEvent(sessionHandle, sessionGroupHandle, enabled, state, incoming);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "ParticipantAddedEvent"))
|
else if (!stricmp(eventTypeCstr, "ParticipantAddedEvent"))
|
||||||
{
|
{
|
||||||
@@ -764,7 +763,7 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
<ParticipantType>0</ParticipantType>
|
<ParticipantType>0</ParticipantType>
|
||||||
</Event>
|
</Event>
|
||||||
*/
|
*/
|
||||||
gVoiceClient->participantAddedEvent(sessionHandle, sessionGroupHandle, uriString, alias, nameString, displayNameString, participantType);
|
LLVoiceClient::getInstance()->participantAddedEvent(sessionHandle, sessionGroupHandle, uriString, alias, nameString, displayNameString, participantType);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "ParticipantRemovedEvent"))
|
else if (!stricmp(eventTypeCstr, "ParticipantRemovedEvent"))
|
||||||
{
|
{
|
||||||
@@ -776,7 +775,7 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
<AccountName>xtx7YNV-3SGiG7rA1fo5Ndw==</AccountName>
|
<AccountName>xtx7YNV-3SGiG7rA1fo5Ndw==</AccountName>
|
||||||
</Event>
|
</Event>
|
||||||
*/
|
*/
|
||||||
gVoiceClient->participantRemovedEvent(sessionHandle, sessionGroupHandle, uriString, alias, nameString);
|
LLVoiceClient::getInstance()->participantRemovedEvent(sessionHandle, sessionGroupHandle, uriString, alias, nameString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "ParticipantUpdatedEvent"))
|
else if (!stricmp(eventTypeCstr, "ParticipantUpdatedEvent"))
|
||||||
{
|
{
|
||||||
@@ -795,21 +794,21 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
// These happen so often that logging them is pretty useless.
|
// These happen so often that logging them is pretty useless.
|
||||||
squelchDebugOutput = true;
|
squelchDebugOutput = true;
|
||||||
|
|
||||||
gVoiceClient->participantUpdatedEvent(sessionHandle, sessionGroupHandle, uriString, alias, isModeratorMuted, isSpeaking, volume, energy);
|
LLVoiceClient::getInstance()->participantUpdatedEvent(sessionHandle, sessionGroupHandle, uriString, alias, isModeratorMuted, isSpeaking, volume, energy);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "AuxAudioPropertiesEvent"))
|
else if (!stricmp(eventTypeCstr, "AuxAudioPropertiesEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->auxAudioPropertiesEvent(energy);
|
LLVoiceClient::getInstance()->auxAudioPropertiesEvent(energy);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "BuddyPresenceEvent"))
|
else if (!stricmp(eventTypeCstr, "BuddyPresenceEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->buddyPresenceEvent(uriString, alias, statusString, applicationString);
|
LLVoiceClient::getInstance()->buddyPresenceEvent(uriString, alias, statusString, applicationString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "BuddyAndGroupListChangedEvent"))
|
else if (!stricmp(eventTypeCstr, "BuddyAndGroupListChangedEvent"))
|
||||||
{
|
{
|
||||||
// The buddy list was updated during parsing.
|
// The buddy list was updated during parsing.
|
||||||
// Need to recheck against the friends list.
|
// Need to recheck against the friends list.
|
||||||
gVoiceClient->buddyListChanged();
|
LLVoiceClient::getInstance()->buddyListChanged();
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "BuddyChangedEvent"))
|
else if (!stricmp(eventTypeCstr, "BuddyChangedEvent"))
|
||||||
{
|
{
|
||||||
@@ -827,15 +826,15 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "MessageEvent"))
|
else if (!stricmp(eventTypeCstr, "MessageEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->messageEvent(sessionHandle, uriString, alias, messageHeader, messageBody, applicationString);
|
LLVoiceClient::getInstance()->messageEvent(sessionHandle, uriString, alias, messageHeader, messageBody, applicationString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "SessionNotificationEvent"))
|
else if (!stricmp(eventTypeCstr, "SessionNotificationEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->sessionNotificationEvent(sessionHandle, uriString, notificationType);
|
LLVoiceClient::getInstance()->sessionNotificationEvent(sessionHandle, uriString, notificationType);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "SubscriptionEvent"))
|
else if (!stricmp(eventTypeCstr, "SubscriptionEvent"))
|
||||||
{
|
{
|
||||||
gVoiceClient->subscriptionEvent(uriString, subscriptionHandle, alias, displayNameString, applicationString, subscriptionType);
|
LLVoiceClient::getInstance()->subscriptionEvent(uriString, subscriptionHandle, alias, displayNameString, applicationString, subscriptionType);
|
||||||
}
|
}
|
||||||
else if (!stricmp(eventTypeCstr, "SessionUpdatedEvent"))
|
else if (!stricmp(eventTypeCstr, "SessionUpdatedEvent"))
|
||||||
{
|
{
|
||||||
@@ -874,39 +873,39 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
const char *actionCstr = actionString.c_str();
|
const char *actionCstr = actionString.c_str();
|
||||||
if (!stricmp(actionCstr, "Connector.Create.1"))
|
if (!stricmp(actionCstr, "Connector.Create.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->connectorCreateResponse(statusCode, statusString, connectorHandle, versionID);
|
LLVoiceClient::getInstance()->connectorCreateResponse(statusCode, statusString, connectorHandle, versionID);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Account.Login.1"))
|
else if (!stricmp(actionCstr, "Account.Login.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->loginResponse(statusCode, statusString, accountHandle, numberOfAliases);
|
LLVoiceClient::getInstance()->loginResponse(statusCode, statusString, accountHandle, numberOfAliases);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Session.Create.1"))
|
else if (!stricmp(actionCstr, "Session.Create.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->sessionCreateResponse(requestId, statusCode, statusString, sessionHandle);
|
LLVoiceClient::getInstance()->sessionCreateResponse(requestId, statusCode, statusString, sessionHandle);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "SessionGroup.AddSession.1"))
|
else if (!stricmp(actionCstr, "SessionGroup.AddSession.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->sessionGroupAddSessionResponse(requestId, statusCode, statusString, sessionHandle);
|
LLVoiceClient::getInstance()->sessionGroupAddSessionResponse(requestId, statusCode, statusString, sessionHandle);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Session.Connect.1"))
|
else if (!stricmp(actionCstr, "Session.Connect.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->sessionConnectResponse(requestId, statusCode, statusString);
|
LLVoiceClient::getInstance()->sessionConnectResponse(requestId, statusCode, statusString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Account.Logout.1"))
|
else if (!stricmp(actionCstr, "Account.Logout.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->logoutResponse(statusCode, statusString);
|
LLVoiceClient::getInstance()->logoutResponse(statusCode, statusString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Connector.InitiateShutdown.1"))
|
else if (!stricmp(actionCstr, "Connector.InitiateShutdown.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->connectorShutdownResponse(statusCode, statusString);
|
LLVoiceClient::getInstance()->connectorShutdownResponse(statusCode, statusString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Account.ListBlockRules.1"))
|
else if (!stricmp(actionCstr, "Account.ListBlockRules.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->accountListBlockRulesResponse(statusCode, statusString);
|
LLVoiceClient::getInstance()->accountListBlockRulesResponse(statusCode, statusString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Account.ListAutoAcceptRules.1"))
|
else if (!stricmp(actionCstr, "Account.ListAutoAcceptRules.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->accountListAutoAcceptRulesResponse(statusCode, statusString);
|
LLVoiceClient::getInstance()->accountListAutoAcceptRulesResponse(statusCode, statusString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Session.Set3DPosition.1"))
|
else if (!stricmp(actionCstr, "Session.Set3DPosition.1"))
|
||||||
{
|
{
|
||||||
@@ -916,7 +915,7 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
/*
|
/*
|
||||||
else if (!stricmp(actionCstr, "Account.ChannelGetList.1"))
|
else if (!stricmp(actionCstr, "Account.ChannelGetList.1"))
|
||||||
{
|
{
|
||||||
gVoiceClient->channelGetListResponse(statusCode, statusString);
|
LLVoiceClient::getInstance()->channelGetListResponse(statusCode, statusString);
|
||||||
}
|
}
|
||||||
else if (!stricmp(actionCstr, "Connector.AccountCreate.1"))
|
else if (!stricmp(actionCstr, "Connector.AccountCreate.1"))
|
||||||
{
|
{
|
||||||
@@ -998,13 +997,13 @@ void LLVivoxProtocolParser::processResponse(std::string tag)
|
|||||||
|
|
||||||
class LLVoiceClientMuteListObserver : public LLMuteListObserver
|
class LLVoiceClientMuteListObserver : public LLMuteListObserver
|
||||||
{
|
{
|
||||||
/* virtual */ void onChange() { gVoiceClient->muteListChanged();}
|
/* virtual */ void onChange() { LLVoiceClient::getInstance()->muteListChanged();}
|
||||||
};
|
};
|
||||||
|
|
||||||
class LLVoiceClientFriendsObserver : public LLFriendObserver
|
class LLVoiceClientFriendsObserver : public LLFriendObserver
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/* virtual */ void changed(U32 mask) { gVoiceClient->updateFriends(mask);}
|
/* virtual */ void changed(U32 mask) { LLVoiceClient::getInstance()->updateFriends(mask);}
|
||||||
};
|
};
|
||||||
|
|
||||||
static LLVoiceClientMuteListObserver mutelist_listener;
|
static LLVoiceClientMuteListObserver mutelist_listener;
|
||||||
@@ -1055,7 +1054,7 @@ void LLVoiceClientCapResponder::result(const LLSD& content)
|
|||||||
voice_credentials["channel_credentials"].asString();
|
voice_credentials["channel_credentials"].asString();
|
||||||
}
|
}
|
||||||
|
|
||||||
gVoiceClient->setSpatialChannel(uri, credentials);
|
LLVoiceClient::getInstance()->setSpatialChannel(uri, credentials);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1115,8 +1114,7 @@ static void killGateway()
|
|||||||
///////////////////////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
LLVoiceClient::LLVoiceClient()
|
LLVoiceClient::LLVoiceClient()
|
||||||
{
|
{
|
||||||
gVoiceClient = this;
|
|
||||||
mWriteInProgress = false;
|
mWriteInProgress = false;
|
||||||
mAreaVoiceDisabled = false;
|
mAreaVoiceDisabled = false;
|
||||||
mPTT = false;
|
mPTT = false;
|
||||||
@@ -1197,30 +1195,23 @@ LLVoiceClient::~LLVoiceClient()
|
|||||||
|
|
||||||
void LLVoiceClient::init(LLPumpIO *pump)
|
void LLVoiceClient::init(LLPumpIO *pump)
|
||||||
{
|
{
|
||||||
// constructor will set up gVoiceClient
|
|
||||||
LLVoiceClient::getInstance()->mPump = pump;
|
LLVoiceClient::getInstance()->mPump = pump;
|
||||||
LLVoiceClient::getInstance()->updateSettings();
|
LLVoiceClient::getInstance()->updateSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLVoiceClient::terminate()
|
void LLVoiceClient::terminate()
|
||||||
{
|
{
|
||||||
if(gVoiceClient)
|
if(LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
// gVoiceClient->leaveAudioSession();
|
// LLVoiceClient::getInstance()->leaveAudioSession();
|
||||||
gVoiceClient->logout();
|
LLVoiceClient::getInstance()->logout();
|
||||||
// As of SDK version 4885, this should no longer be necessary. It will linger after the socket close if it needs to.
|
// As of SDK version 4885, this should no longer be necessary. It will linger after the socket close if it needs to.
|
||||||
// ms_sleep(2000);
|
// ms_sleep(2000);
|
||||||
gVoiceClient->connectorShutdown();
|
LLVoiceClient::getInstance()->connectorShutdown();
|
||||||
gVoiceClient->closeSocket(); // Need to do this now -- bad things happen if the destructor does it later.
|
LLVoiceClient::getInstance()->closeSocket(); // Need to do this now -- bad things happen if the destructor does it later.
|
||||||
|
|
||||||
// This will do unpleasant things on windows.
|
// This will do unpleasant things on windows.
|
||||||
// killGateway();
|
// killGateway();
|
||||||
|
|
||||||
// Don't do this anymore -- LLSingleton will take care of deleting the object.
|
|
||||||
// delete gVoiceClient;
|
|
||||||
|
|
||||||
// Hint to other code not to access the voice client anymore.
|
|
||||||
gVoiceClient = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5725,7 +5716,7 @@ void LLVoiceClient::enforceTether(void)
|
|||||||
void LLVoiceClient::updatePosition(void)
|
void LLVoiceClient::updatePosition(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(gVoiceClient)
|
if(LLVoiceClient::instanceExists())
|
||||||
{
|
{
|
||||||
LLVOAvatar *agent = gAgentAvatarp;
|
LLVOAvatar *agent = gAgentAvatarp;
|
||||||
LLViewerRegion *region = gAgent.getRegion();
|
LLViewerRegion *region = gAgent.getRegion();
|
||||||
@@ -5741,7 +5732,7 @@ void LLVoiceClient::updatePosition(void)
|
|||||||
rot.setRows(LLViewerCamera::getInstance()->getAtAxis(), LLViewerCamera::getInstance()->getLeftAxis (), LLViewerCamera::getInstance()->getUpAxis());
|
rot.setRows(LLViewerCamera::getInstance()->getAtAxis(), LLViewerCamera::getInstance()->getLeftAxis (), LLViewerCamera::getInstance()->getUpAxis());
|
||||||
pos = gAgent.getRegion()->getPosGlobalFromRegion(LLViewerCamera::getInstance()->getOrigin());
|
pos = gAgent.getRegion()->getPosGlobalFromRegion(LLViewerCamera::getInstance()->getOrigin());
|
||||||
|
|
||||||
gVoiceClient->setCameraPosition(
|
LLVoiceClient::getInstance()->setCameraPosition(
|
||||||
pos, // position
|
pos, // position
|
||||||
LLVector3::zero, // velocity
|
LLVector3::zero, // velocity
|
||||||
rot); // rotation matrix
|
rot); // rotation matrix
|
||||||
@@ -5754,7 +5745,7 @@ void LLVoiceClient::updatePosition(void)
|
|||||||
// pos += LLVector3d(mHeadOffset);
|
// pos += LLVector3d(mHeadOffset);
|
||||||
pos += LLVector3d(0.f, 0.f, 1.f);
|
pos += LLVector3d(0.f, 0.f, 1.f);
|
||||||
|
|
||||||
gVoiceClient->setAvatarPosition(
|
LLVoiceClient::getInstance()->setAvatarPosition(
|
||||||
pos, // position
|
pos, // position
|
||||||
LLVector3::zero, // velocity
|
LLVector3::zero, // velocity
|
||||||
rot); // rotation matrix
|
rot); // rotation matrix
|
||||||
@@ -6958,16 +6949,7 @@ void LLVoiceClient::notifyFriendObservers()
|
|||||||
|
|
||||||
void LLVoiceClient::lookupName(const LLUUID &id)
|
void LLVoiceClient::lookupName(const LLUUID &id)
|
||||||
{
|
{
|
||||||
gCacheName->get(id, false, boost::bind(&LLVoiceClient::onAvatarNameLookup,_1,_2));
|
gCacheName->get(id, false, boost::bind(&LLVoiceClient::avatarNameResolved,this,_1,_2));
|
||||||
}
|
|
||||||
|
|
||||||
//static
|
|
||||||
void LLVoiceClient::onAvatarNameLookup(const LLUUID& id, const std::string& full_name)
|
|
||||||
{
|
|
||||||
if(gVoiceClient)
|
|
||||||
{
|
|
||||||
gVoiceClient->avatarNameResolved(id, full_name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLVoiceClient::avatarNameResolved(const LLUUID &id, const std::string &name)
|
void LLVoiceClient::avatarNameResolved(const LLUUID &id, const std::string &name)
|
||||||
@@ -7066,7 +7048,7 @@ class LLViewerParcelVoiceInfo : public LLHTTPNode
|
|||||||
voice_credentials["channel_credentials"].asString();
|
voice_credentials["channel_credentials"].asString();
|
||||||
}
|
}
|
||||||
|
|
||||||
gVoiceClient->setSpatialChannel(uri, credentials);
|
LLVoiceClient::getInstance()->setSpatialChannel(uri, credentials);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -7089,7 +7071,7 @@ class LLViewerRequiredVoiceVersion : public LLHTTPNode
|
|||||||
// int minor_voice_version =
|
// int minor_voice_version =
|
||||||
// input["body"]["minor_version"].asInteger();
|
// input["body"]["minor_version"].asInteger();
|
||||||
|
|
||||||
if (gVoiceClient &&
|
if (LLVoiceClient::instanceExists() &&
|
||||||
(major_voice_version > VOICE_MAJOR_VERSION) )
|
(major_voice_version > VOICE_MAJOR_VERSION) )
|
||||||
{
|
{
|
||||||
if (!sAlertedUser)
|
if (!sAlertedUser)
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class LLVoiceClient: public LLSingleton<LLVoiceClient>
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
static F32 OVERDRIVEN_POWER_LEVEL;
|
static const F32 OVERDRIVEN_POWER_LEVEL;
|
||||||
|
|
||||||
void updateSettings(); // call after loading settings and whenever they change
|
void updateSettings(); // call after loading settings and whenever they change
|
||||||
|
|
||||||
@@ -461,9 +461,8 @@ static void updatePosition(void);
|
|||||||
void removeObserver(LLFriendObserver* observer);
|
void removeObserver(LLFriendObserver* observer);
|
||||||
|
|
||||||
void lookupName(const LLUUID &id);
|
void lookupName(const LLUUID &id);
|
||||||
static void onAvatarNameLookup(const LLUUID& id, const std::string& full_name);
|
|
||||||
void avatarNameResolved(const LLUUID &id, const std::string &name);
|
void avatarNameResolved(const LLUUID &id, const std::string &name);
|
||||||
|
|
||||||
typedef std::vector<std::string> deviceList;
|
typedef std::vector<std::string> deviceList;
|
||||||
|
|
||||||
deviceList *getCaptureDevices();
|
deviceList *getCaptureDevices();
|
||||||
@@ -748,8 +747,6 @@ static std::string nameFromsipURI(const std::string &uri);
|
|||||||
void notifyFriendObservers();
|
void notifyFriendObservers();
|
||||||
};
|
};
|
||||||
|
|
||||||
extern LLVoiceClient *gVoiceClient;
|
|
||||||
|
|
||||||
#endif //LL_VOICE_CLIENT_H
|
#endif //LL_VOICE_CLIENT_H
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -113,15 +113,15 @@ void LLVoiceRemoteCtrl::draw()
|
|||||||
if (!mTalkBtn->hasMouseCapture())
|
if (!mTalkBtn->hasMouseCapture())
|
||||||
{
|
{
|
||||||
// not in push to talk mode, or push to talk is active means I'm talking
|
// not in push to talk mode, or push to talk is active means I'm talking
|
||||||
mTalkBtn->setToggleState(!ptt_currently_enabled || gVoiceClient->getUserPTTState());
|
mTalkBtn->setToggleState(!ptt_currently_enabled || LLVoiceClient::getInstance()->getUserPTTState());
|
||||||
}
|
}
|
||||||
mSpeakersBtn->setToggleState(LLFloaterActiveSpeakers::instanceVisible(LLSD()));
|
mSpeakersBtn->setToggleState(LLFloaterActiveSpeakers::instanceVisible(LLSD()));
|
||||||
mTalkLockBtn->setToggleState(!ptt_currently_enabled);
|
mTalkLockBtn->setToggleState(!ptt_currently_enabled);
|
||||||
|
|
||||||
std::string talk_blip_image;
|
std::string talk_blip_image;
|
||||||
if (gVoiceClient->getIsSpeaking(gAgent.getID()))
|
if (LLVoiceClient::getInstance()->getIsSpeaking(gAgent.getID()))
|
||||||
{
|
{
|
||||||
F32 voice_power = gVoiceClient->getCurrentPower(gAgent.getID());
|
F32 voice_power = LLVoiceClient::getInstance()->getCurrentPower(gAgent.getID());
|
||||||
|
|
||||||
if (voice_power > LLVoiceClient::OVERDRIVEN_POWER_LEVEL)
|
if (voice_power > LLVoiceClient::OVERDRIVEN_POWER_LEVEL)
|
||||||
{
|
{
|
||||||
@@ -129,7 +129,7 @@ void LLVoiceRemoteCtrl::draw()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
F32 power = gVoiceClient->getCurrentPower(gAgent.getID());
|
F32 power = LLVoiceClient::getInstance()->getCurrentPower(gAgent.getID());
|
||||||
S32 icon_image_idx = llmin(2, llfloor((power / LLVoiceClient::OVERDRIVEN_POWER_LEVEL) * 3.f));
|
S32 icon_image_idx = llmin(2, llfloor((power / LLVoiceClient::OVERDRIVEN_POWER_LEVEL) * 3.f));
|
||||||
|
|
||||||
switch(icon_image_idx)
|
switch(icon_image_idx)
|
||||||
@@ -224,7 +224,7 @@ void LLVoiceRemoteCtrl::onBtnTalkClicked()
|
|||||||
// when in toggle mode, clicking talk button turns mic on/off
|
// when in toggle mode, clicking talk button turns mic on/off
|
||||||
if (gSavedSettings.getBOOL("PushToTalkToggle"))
|
if (gSavedSettings.getBOOL("PushToTalkToggle"))
|
||||||
{
|
{
|
||||||
gVoiceClient->toggleUserPTTState();
|
LLVoiceClient::getInstance()->toggleUserPTTState();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +233,7 @@ void LLVoiceRemoteCtrl::onBtnTalkHeld()
|
|||||||
// when not in toggle mode, holding down talk button turns on mic
|
// when not in toggle mode, holding down talk button turns on mic
|
||||||
if (!gSavedSettings.getBOOL("PushToTalkToggle"))
|
if (!gSavedSettings.getBOOL("PushToTalkToggle"))
|
||||||
{
|
{
|
||||||
gVoiceClient->setUserPTTState(true);
|
LLVoiceClient::getInstance()->setUserPTTState(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,7 +242,7 @@ void LLVoiceRemoteCtrl::onBtnTalkReleased()
|
|||||||
// when not in toggle mode, releasing talk button turns off mic
|
// when not in toggle mode, releasing talk button turns off mic
|
||||||
if (!gSavedSettings.getBOOL("PushToTalkToggle"))
|
if (!gSavedSettings.getBOOL("PushToTalkToggle"))
|
||||||
{
|
{
|
||||||
gVoiceClient->setUserPTTState(false);
|
LLVoiceClient::getInstance()->setUserPTTState(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user