Merge pull request #1830 from secondlife/roxie/webrtc-voice-1451
commit
35148b8a84
|
|
@ -13043,7 +13043,7 @@
|
|||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>AutoDisengageMic</key>
|
||||
<map>
|
||||
|
|
|
|||
|
|
@ -9342,15 +9342,6 @@ class LLUpdateMembershipLabel : public view_listener_t
|
|||
}
|
||||
};
|
||||
|
||||
void handle_voice_morphing_subscribe()
|
||||
{
|
||||
LLWeb::loadURL(LLTrans::getString("voice_morphing_url"));
|
||||
}
|
||||
|
||||
void handle_premium_voice_morphing_subscribe()
|
||||
{
|
||||
LLWeb::loadURL(LLTrans::getString("premium_voice_morphing_url"));
|
||||
}
|
||||
|
||||
class LLToggleUIHints : public view_listener_t
|
||||
{
|
||||
|
|
@ -9551,16 +9542,6 @@ void initialize_menus()
|
|||
//Communicate Nearby chat
|
||||
view_listener_t::addMenu(new LLCommunicateNearbyChat(), "Communicate.NearbyChat");
|
||||
|
||||
// Communicate > Voice morphing > Subscribe...
|
||||
commit.add("Communicate.VoiceMorphing.Subscribe", boost::bind(&handle_voice_morphing_subscribe));
|
||||
// Communicate > Voice morphing > Premium perk...
|
||||
commit.add("Communicate.VoiceMorphing.PremiumPerk", boost::bind(&handle_premium_voice_morphing_subscribe));
|
||||
LLVivoxVoiceClient * voice_clientp = LLVivoxVoiceClient::getInstance();
|
||||
enable.add("Communicate.VoiceMorphing.NoVoiceMorphing.Check"
|
||||
, boost::bind(&LLVivoxVoiceClient::onCheckVoiceEffect, voice_clientp, "NoVoiceMorphing"));
|
||||
commit.add("Communicate.VoiceMorphing.NoVoiceMorphing.Click"
|
||||
, boost::bind(&LLVivoxVoiceClient::onClickVoiceEffect, voice_clientp, "NoVoiceMorphing"));
|
||||
|
||||
// World menu
|
||||
view_listener_t::addMenu(new LLWorldAlwaysRun(), "World.AlwaysRun");
|
||||
view_listener_t::addMenu(new LLWorldCreateLandmark(), "World.CreateLandmark");
|
||||
|
|
|
|||
|
|
@ -137,8 +137,9 @@ LLVoiceClient::LLVoiceClient(LLPumpIO *pump)
|
|||
mSpatialVoiceModule(NULL),
|
||||
mNonSpatialVoiceModule(NULL),
|
||||
m_servicePump(NULL),
|
||||
mVoiceEffectEnabled(LLCachedControl<bool>(gSavedSettings, "VoiceMorphingEnabled", true)),
|
||||
mVoiceEffectEnabled(LLCachedControl<bool>(gSavedSettings, "VoiceMorphingEnabled", false)),
|
||||
mVoiceEffectDefault(LLCachedControl<std::string>(gSavedPerAccountSettings, "VoiceEffectDefault", "00000000-0000-0000-0000-000000000000")),
|
||||
mVoiceEffectSupportNotified(false),
|
||||
mPTTDirty(true),
|
||||
mPTT(true),
|
||||
mUsePTT(true),
|
||||
|
|
@ -569,11 +570,37 @@ void LLVoiceClient::setMicGain(F32 gain)
|
|||
//------------------------------------------
|
||||
// enable/disable voice features
|
||||
|
||||
// static
|
||||
bool LLVoiceClient::onVoiceEffectsNotSupported(const LLSD ¬ification, const LLSD &response)
|
||||
{
|
||||
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
|
||||
switch (option)
|
||||
{
|
||||
case 0: // "Okay"
|
||||
gSavedSettings.setBOOL("VoiceMorphingEnabled", FALSE);
|
||||
break;
|
||||
|
||||
case 1: // "Cancel"
|
||||
break;
|
||||
|
||||
default:
|
||||
llassert(0);
|
||||
break;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool LLVoiceClient::voiceEnabled()
|
||||
{
|
||||
static LLCachedControl<bool> enable_voice_chat(gSavedSettings, "EnableVoiceChat");
|
||||
static LLCachedControl<bool> cmd_line_disable_voice(gSavedSettings, "CmdLineDisableVoice");
|
||||
return enable_voice_chat && !cmd_line_disable_voice && !gNonInteractive;
|
||||
bool enabled = enable_voice_chat && !cmd_line_disable_voice && !gNonInteractive;
|
||||
if (enabled && !mVoiceEffectSupportNotified && getVoiceEffectEnabled() && !getVoiceEffectDefault().isNull())
|
||||
{
|
||||
LLNotificationsUtil::add("VoiceEffectsNotSupported", LLSD(), LLSD(), &LLVoiceClient::onVoiceEffectsNotSupported);
|
||||
mVoiceEffectSupportNotified = true;
|
||||
}
|
||||
return enabled;
|
||||
}
|
||||
|
||||
void LLVoiceClient::setVoiceEnabled(bool enabled)
|
||||
|
|
@ -812,7 +839,7 @@ std::string LLVoiceClient::sipURIFromID(const LLUUID &id)
|
|||
|
||||
LLVoiceEffectInterface* LLVoiceClient::getVoiceEffectInterface() const
|
||||
{
|
||||
return getVoiceEffectEnabled() ? dynamic_cast<LLVoiceEffectInterface*>(mSpatialVoiceModule) : NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
///////////////////
|
||||
|
|
|
|||
|
|
@ -508,6 +508,8 @@ public:
|
|||
|
||||
protected:
|
||||
|
||||
static bool onVoiceEffectsNotSupported(const LLSD ¬ification, const LLSD &response);
|
||||
|
||||
LLVoiceModuleInterface* mSpatialVoiceModule;
|
||||
LLVoiceModuleInterface* mNonSpatialVoiceModule;
|
||||
LLSD mSpatialCredentials; // used to store spatial credentials for vivox
|
||||
|
|
@ -519,6 +521,7 @@ protected:
|
|||
|
||||
LLCachedControl<bool> mVoiceEffectEnabled;
|
||||
LLCachedControl<std::string> mVoiceEffectDefault;
|
||||
bool mVoiceEffectSupportNotified;
|
||||
|
||||
bool mPTTDirty;
|
||||
bool mPTT;
|
||||
|
|
|
|||
|
|
@ -42,12 +42,6 @@
|
|||
<menu_item_call label="Facebook..." name="Facebook"/>
|
||||
<menu_item_call label="Twitter..." name="Twitter"/>
|
||||
<menu_item_call label="Flickr..." name="Flickr"/>
|
||||
<menu label="Voice-Morphing" name="VoiceMorphing">
|
||||
<menu_item_check label="Kein Voice-Morphing" name="NoVoiceMorphing"/>
|
||||
<menu_item_check label="Vorschau..." name="Preview"/>
|
||||
<menu_item_call label="Abonnieren..." name="Subscribe"/>
|
||||
<menu_item_call label="Premium-Vorteil..." name="PremiumPerk"/>
|
||||
</menu>
|
||||
<menu_item_check label="Gesten..." name="Gestures"/>
|
||||
<menu_item_check label="Freunde" name="My Friends"/>
|
||||
<menu_item_check label="Gruppen" name="My Groups"/>
|
||||
|
|
|
|||
|
|
@ -561,42 +561,6 @@
|
|||
parameter="conversation" />
|
||||
</menu_item_check>
|
||||
<menu_item_separator/>
|
||||
<menu
|
||||
label="Voice morphing"
|
||||
name="VoiceMorphing"
|
||||
visibility_control="VoiceMorphingEnabled">
|
||||
<menu_item_check
|
||||
label="No voice morphing"
|
||||
name="NoVoiceMorphing">
|
||||
<menu_item_check.on_check
|
||||
function="Communicate.VoiceMorphing.NoVoiceMorphing.Check" />
|
||||
<menu_item_check.on_click
|
||||
function="Communicate.VoiceMorphing.NoVoiceMorphing.Click" />
|
||||
</menu_item_check>
|
||||
<menu_item_separator/>
|
||||
<menu_item_check
|
||||
label="Preview..."
|
||||
name="Preview">
|
||||
<menu_item_check.on_check
|
||||
function="Floater.Visible"
|
||||
parameter="voice_effect" />
|
||||
<menu_item_check.on_click
|
||||
function="Floater.Toggle"
|
||||
parameter="voice_effect" />
|
||||
</menu_item_check>
|
||||
<menu_item_call
|
||||
label="Subscribe..."
|
||||
name="Subscribe">
|
||||
<menu_item_call.on_click
|
||||
function="Communicate.VoiceMorphing.Subscribe" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Premium perk..."
|
||||
name="PremiumPerk">
|
||||
<menu_item_call.on_click
|
||||
function="Communicate.VoiceMorphing.PremiumPerk" />
|
||||
</menu_item_call>
|
||||
</menu>
|
||||
<menu_item_check
|
||||
label="Gestures..."
|
||||
name="Gestures"
|
||||
|
|
|
|||
|
|
@ -8830,6 +8830,20 @@ New Voice Morphs are available!
|
|||
<tag>voice</tag>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="VoiceEffectsNotSupported"
|
||||
sound="UISndAlert"
|
||||
persist="true"
|
||||
type="alertmodal">
|
||||
Voice Morphs are not supported by this viewer.
|
||||
<usetemplate
|
||||
notext="Cancel"
|
||||
name="okcancelbuttons"
|
||||
yestext="Disable Voice Morphing"/>
|
||||
<tag>voice</tag>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="notifytip.tga"
|
||||
name="Cannot enter parcel: not a group member"
|
||||
|
|
|
|||
|
|
@ -42,12 +42,6 @@
|
|||
<menu_item_call label="Facebook..." name="Facebook"/>
|
||||
<menu_item_call label="Twitter..." name="Twitter"/>
|
||||
<menu_item_call label="Flickr..." name="Flickr"/>
|
||||
<menu label="Transformación de voz" name="VoiceMorphing">
|
||||
<menu_item_check label="Sin transformación de voz" name="NoVoiceMorphing"/>
|
||||
<menu_item_check label="Probar..." name="Preview"/>
|
||||
<menu_item_call label="Suscribir..." name="Subscribe"/>
|
||||
<menu_item_call label="Ventaja Premium..." name="PremiumPerk"/>
|
||||
</menu>
|
||||
<menu_item_check label="Gestos..." name="Gestures"/>
|
||||
<menu_item_check label="Amigos" name="My Friends"/>
|
||||
<menu_item_check label="Grupos" name="My Groups"/>
|
||||
|
|
|
|||
|
|
@ -42,12 +42,6 @@
|
|||
<menu_item_call label="Facebook..." name="Facebook"/>
|
||||
<menu_item_call label="Twitter..." name="Twitter"/>
|
||||
<menu_item_call label="Flickr..." name="Flickr"/>
|
||||
<menu label="Manipolazione voce" name="VoiceMorphing">
|
||||
<menu_item_check label="Nessuna manipolazione voce" name="NoVoiceMorphing"/>
|
||||
<menu_item_check label="Anteprima..." name="Preview"/>
|
||||
<menu_item_call label="Abbonati..." name="Subscribe"/>
|
||||
<menu_item_call label="Vantaggio Premium..." name="PremiumPerk"/>
|
||||
</menu>
|
||||
<menu_item_check label="Gesture..." name="Gestures"/>
|
||||
<menu_item_check label="Amici" name="My Friends"/>
|
||||
<menu_item_check label="Gruppi" name="My Groups"/>
|
||||
|
|
|
|||
|
|
@ -74,7 +74,6 @@
|
|||
<menu_item_check label="ボイスチャット" name="Speak"/>
|
||||
<menu_item_check name="Conversation Log..." label="会話ログ…"/>
|
||||
<menu_item_separator/>
|
||||
<menu label="ボイスモーフィング" name="VoiceMorphing"/>
|
||||
<menu_item_check label="ジェスチャー…" name="Gestures"/>
|
||||
<menu_item_separator/>
|
||||
<menu_item_check label="フレンド" name="My Friends"/>
|
||||
|
|
|
|||
|
|
@ -35,11 +35,6 @@
|
|||
<menu_item_check label="Czat lokalny..." name="Nearby Chat" />
|
||||
<menu_item_check label="Mowa" name="Speak" />
|
||||
<menu_item_check name="Conversation Log..." label="Dziennik rozmów..." />
|
||||
<menu label="Przekształcanie głosu" name="VoiceMorphing">
|
||||
<menu_item_check label="Bez przekształcania" name="NoVoiceMorphing" />
|
||||
<menu_item_check label="Podgląd..." name="Preview" />
|
||||
<menu_item_call label="Subskrybuj..." name="Subscribe" />
|
||||
</menu>
|
||||
<menu_item_check label="Gesty..." name="Gestures" />
|
||||
<menu_item_check label="Znajomi" name="My Friends" />
|
||||
<menu_item_check label="Grupy" name="My Groups" />
|
||||
|
|
|
|||
|
|
@ -42,12 +42,6 @@
|
|||
<menu_item_call label="Facebook..." name="Facebook"/>
|
||||
<menu_item_call label="Twitter..." name="Twitter"/>
|
||||
<menu_item_call label="Flickr..." name="Flickr"/>
|
||||
<menu label="Distorção de voz" name="VoiceMorphing">
|
||||
<menu_item_check label="Não distorcer voz" name="NoVoiceMorphing"/>
|
||||
<menu_item_check label="Visualizar..." name="Preview"/>
|
||||
<menu_item_call label="Assinar..." name="Subscribe"/>
|
||||
<menu_item_call label="Benefício Premium..." name="PremiumPerk"/>
|
||||
</menu>
|
||||
<menu_item_check label="Gestos..." name="Gestures"/>
|
||||
<menu_item_check label="Amigos" name="My Friends"/>
|
||||
<menu_item_check label="Grupos" name="My Groups"/>
|
||||
|
|
|
|||
|
|
@ -40,12 +40,6 @@
|
|||
<menu_item_call label="Facebook..." name="Facebook"/>
|
||||
<menu_item_call label="Twitter..." name="Twitter"/>
|
||||
<menu_item_call label="Flickr..." name="Flickr"/>
|
||||
<menu label="Изменение голоса" name="VoiceMorphing">
|
||||
<menu_item_check label="Без изменения голоса" name="NoVoiceMorphing"/>
|
||||
<menu_item_check label="Просмотр..." name="Preview"/>
|
||||
<menu_item_call label="Подписаться..." name="Subscribe"/>
|
||||
<menu_item_call label="Премиум-бонус..." name="PremiumPerk"/>
|
||||
</menu>
|
||||
<menu_item_check label="Жесты..." name="Gestures"/>
|
||||
<menu_item_check label="Друзья" name="My Friends"/>
|
||||
<menu_item_check label="Группы" name="My Groups"/>
|
||||
|
|
|
|||
|
|
@ -40,12 +40,6 @@
|
|||
<menu_item_call label="Facebook..." name="Facebook"/>
|
||||
<menu_item_call label="Twitter..." name="Twitter"/>
|
||||
<menu_item_call label="Flickr..." name="Flickr"/>
|
||||
<menu label="Ses şekillendirme" name="VoiceMorphing">
|
||||
<menu_item_check label="Ses şekillendirme yok" name="NoVoiceMorphing"/>
|
||||
<menu_item_check label="Önizleme..." name="Preview"/>
|
||||
<menu_item_call label="Abone ol..." name="Subscribe"/>
|
||||
<menu_item_call label="Özel üye avantajı..." name="PremiumPerk"/>
|
||||
</menu>
|
||||
<menu_item_check label="Mimikler..." name="Gestures"/>
|
||||
<menu_item_check label="Arkadaşlar" name="My Friends"/>
|
||||
<menu_item_check label="Gruplar" name="My Groups"/>
|
||||
|
|
|
|||
|
|
@ -40,12 +40,6 @@
|
|||
<menu_item_call label="臉書…" name="Facebook"/>
|
||||
<menu_item_call label="推特…" name="Twitter"/>
|
||||
<menu_item_call label="Flickr…" name="Flickr"/>
|
||||
<menu label="語音變聲" name="VoiceMorphing">
|
||||
<menu_item_check label="沒有變聲效果" name="NoVoiceMorphing"/>
|
||||
<menu_item_check label="預覽……" name="Preview"/>
|
||||
<menu_item_call label="訂閱……" name="Subscribe"/>
|
||||
<menu_item_call label="付費會員獨享…" name="PremiumPerk"/>
|
||||
</menu>
|
||||
<menu_item_check label="姿勢…" name="Gestures"/>
|
||||
<menu_item_check label="朋友" name="My Friends"/>
|
||||
<menu_item_check label="群組" name="My Groups"/>
|
||||
|
|
|
|||
Loading…
Reference in New Issue