diff options
| author | Brad Linden <brad@lindenlab.com> | 2024-06-28 12:50:59 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2024-06-28 12:50:59 -0700 | 
| commit | 35f4de5ebe7c584eaa6c8734be1632e2751e09b5 (patch) | |
| tree | fc2568dab395ec339714ba315e8046aa20bac1ed /indra/newview | |
| parent | 7322623a6fe0e5120c07b720259e3beb325b097e (diff) | |
| parent | 9bc3dfbdeaba904999880f6b59306128c98469e8 (diff) | |
Merge remote-tracking branch 'origin/release/webrtc-voice' into develop
 # Conflicts:
 #	indra/newview/llvoicechannel.cpp
Diffstat (limited to 'indra/newview')
20 files changed, 72 insertions, 157 deletions
| diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index e7e9fc5b88..c455b6f5f1 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13087,7 +13087,7 @@        <key>Type</key>        <string>Boolean</string>        <key>Value</key> -      <integer>1</integer> +      <integer>0</integer>      </map>      <key>AutoDisengageMic</key>      <map> diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 72edbaebe1..05b1fec8e5 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -3412,11 +3412,11 @@ LLUUID LLIMMgr::addSession(          ((IM_NOTHING_SPECIAL == dialog) || (IM_SESSION_P2P_INVITE == dialog) || (IM_SESSION_CONFERENCE_START == dialog)) &&          ids.size())      { -        LLIMModel::LLIMSession* ad_hoc_found = LLIMModel::getInstance()->findAdHocIMSession(ids); -        if (ad_hoc_found) +        session = LLIMModel::getInstance()->findAdHocIMSession(ids); +        if (session)          {              new_session = false; -            session_id = ad_hoc_found->mSessionID; +            session_id = session->mSessionID;          }      } @@ -3852,7 +3852,7 @@ bool LLIMMgr::startCall(const LLUUID& session_id, LLVoiceChannel::EDirection dir  {      LLVoiceChannel* voice_channel = LLIMModel::getInstance()->getVoiceChannel(session_id);      if (!voice_channel) return false; -    if (!voice_channel_info.isUndefined()) +    if (voice_channel_info.isDefined() && voice_channel_info.isMap() && voice_channel_info.size() > 0)      {          voice_channel->setChannelInfo(voice_channel_info);      } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 7e58a604f6..9a9a316adf 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -9481,15 +9481,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  { @@ -9690,16 +9681,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"); diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index b665eb69a2..b95e43da8d 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -96,7 +96,7 @@ void LLVoiceChannel::setChannelInfo(const LLSD &channelInfo)      if (mState == STATE_NO_CHANNEL_INFO)      { -        if (mChannelInfo.isUndefined()) +        if (mChannelInfo.isUndefined() || !mChannelInfo.isMap() || mChannelInfo.size() == 0)          {              LLNotificationsUtil::add("VoiceChannelJoinFailed", mNotifyArgs);              LL_WARNS("Voice") << "Received empty channel info for channel " << mSessionName << LL_ENDL; @@ -122,7 +122,7 @@ void LLVoiceChannel::onChange(EStatusType type, const LLSD& channelInfo, bool pr  {      LL_DEBUGS("Voice") << "Incoming channel info: " << channelInfo << LL_ENDL;      LL_DEBUGS("Voice") << "Current channel info: " << mChannelInfo << LL_ENDL; -    if (mChannelInfo.isUndefined()) +    if (mChannelInfo.isUndefined() || (mChannelInfo.isMap() && mChannelInfo.size() == 0))      {          mChannelInfo = channelInfo;      } @@ -477,7 +477,7 @@ void LLVoiceChannelGroup::setChannelInfo(const LLSD& channelInfo)      if (mState == STATE_NO_CHANNEL_INFO)      { -        if(!mChannelInfo.isUndefined()) +        if(mChannelInfo.isDefined() && mChannelInfo.isMap())          {              setState(STATE_READY); @@ -676,9 +676,9 @@ void LLVoiceChannelProximal::activate()          // we're connected to a non-spatial channel, so disconnect.          LLVoiceClient::getInstance()->leaveNonSpatialChannel();      } +      LLVoiceClient::getInstance()->activateSpatialChannel(true);      LLVoiceChannel::activate(); -  }  void LLVoiceChannelProximal::onChange(EStatusType type, const LLSD& channelInfo, bool proximal) @@ -751,7 +751,7 @@ void LLVoiceChannelProximal::deactivate()      {          setState(STATE_HUNG_UP);      } - +    LLVoiceClient::getInstance()->removeObserver(this);      LLVoiceClient::getInstance()->activateSpatialChannel(false);  } @@ -907,7 +907,7 @@ void LLVoiceChannelP2P::setChannelInfo(const LLSD& channel_info)      }      mReceivedCall = true; -    if (!channel_info.isUndefined()) +    if (channel_info.isDefined() && channel_info.isMap())      {          mIncomingCallInterface = LLVoiceClient::getInstance()->getIncomingCallInterface(channel_info);      } diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 74c6d611a8..67f41b2733 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -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;  }  /////////////////// diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h index 7411df1693..9ae18b315c 100644 --- a/indra/newview/llvoiceclient.h +++ b/indra/newview/llvoiceclient.h @@ -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; diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index 17fd85f280..371b0df860 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -5107,25 +5107,31 @@ void LLVivoxVoiceClient::processChannels(bool process)  bool LLVivoxVoiceClient::isCurrentChannel(const LLSD &channelInfo)  { -    if (!mProcessChannels || (channelInfo["voice_server_type"].asString() != VIVOX_VOICE_SERVER_TYPE)) +    if (!mProcessChannels || (channelInfo.has("voice_server_type") && channelInfo["voice_server_type"].asString() != VIVOX_VOICE_SERVER_TYPE))      {          return false;      } -    if (mAudioSession) +    // favor the next audio session, as that's the one we're bringing up. +    sessionStatePtr_t session = mNextAudioSession; +    if (!session) +    { +        session = mAudioSession; +    } +    if (session)      {          if (!channelInfo["session_handle"].asString().empty())          { -            return mAudioSession->mHandle == channelInfo["session_handle"].asString(); +            return session->mHandle == channelInfo["session_handle"].asString();          } -        return channelInfo["channel_uri"].asString() == mAudioSession->mSIPURI; +        return channelInfo["channel_uri"].asString() == session->mSIPURI;      }      return false;  }  bool LLVivoxVoiceClient::compareChannels(const LLSD& channelInfo1, const LLSD& channelInfo2)  { -    return (channelInfo1["voice_server_type"] == VIVOX_VOICE_SERVER_TYPE) && -           (channelInfo1["voice_server_type"] == channelInfo2["voice_server_type"]) && +    return (!channelInfo1.has("voice_server_type") || (channelInfo1["voice_server_type"] == VIVOX_VOICE_SERVER_TYPE)) && +           (!channelInfo2.has("voice_server_type") || (channelInfo2["voice_server_type"] == VIVOX_VOICE_SERVER_TYPE)) &&             (channelInfo1["channel_uri"] == channelInfo2["channel_uri"]);  } diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index 661b4f7ef1..ede1542bd1 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -86,7 +86,7 @@ namespace {      const F32 VOLUME_SCALE_WEBRTC = 0.01f;      const F32 LEVEL_SCALE_WEBRTC  = 0.008f; -    const F32 SPEAKING_AUDIO_LEVEL = 0.35; +    const F32 SPEAKING_AUDIO_LEVEL = 0.30;      static const std::string REPORTED_VOICE_SERVER_TYPE = "Secondlife WebRTC Gateway"; @@ -1486,14 +1486,10 @@ void LLWebRTCVoiceClient::setMicGain(F32 gain)      if (gain != mMicGain)      {          mMicGain = gain; -        sessionState::for_each(boost::bind(predSetMicGain, _1, gain)); +        mWebRTCDeviceInterface->setPeerConnectionGain(gain);      }  } -void LLWebRTCVoiceClient::predSetMicGain(const LLWebRTCVoiceClient::sessionStatePtr_t &session, F32 gain) -{ -    session->setMicGain(gain); -}  void LLWebRTCVoiceClient::setVoiceEnabled(bool enabled)  { @@ -1692,7 +1688,6 @@ std::map<std::string, LLWebRTCVoiceClient::sessionState::ptr_t> LLWebRTCVoiceCli  LLWebRTCVoiceClient::sessionState::sessionState() :      mHangupOnLastLeave(false),      mNotifyOnFirstJoin(false), -    mMicGain(1.0),      mMuted(false),      mSpeakerVolume(1.0),      mShuttingDown(false) @@ -1737,15 +1732,6 @@ void LLWebRTCVoiceClient::sessionState::setMuteMic(bool muted)      }  } -void LLWebRTCVoiceClient::sessionState::setMicGain(F32 gain) -{ -    mMicGain = gain; -    for (auto &connection : mWebRTCConnections) -    { -        connection->setMicGain(gain); -    } -} -  void LLWebRTCVoiceClient::sessionState::setSpeakerVolume(F32 volume)  {      mSpeakerVolume = volume; @@ -1850,7 +1836,6 @@ LLWebRTCVoiceClient::sessionStatePtr_t LLWebRTCVoiceClient::addSession(const std          LL_DEBUGS("Voice") << "adding new session with channel: " << channel_id << LL_ENDL;          session->setMuteMic(mMuteMic); -        session->setMicGain(mMicGain);          session->setSpeakerVolume(mSpeakerVolume);          sessionState::addSession(channel_id, session); @@ -1976,7 +1961,6 @@ bool LLWebRTCVoiceClient::estateSessionState::processConnectionStates()              connectionPtr_t connection(new LLVoiceWebRTCSpatialConnection(neighbor, INVALID_PARCEL_ID, mChannelID));              mWebRTCConnections.push_back(connection); -            connection->setMicGain(mMicGain);              connection->setMuteMic(mMuted);              connection->setSpeakerVolume(mSpeakerVolume);          } @@ -2106,7 +2090,6 @@ LLVoiceWebRTCConnection::LLVoiceWebRTCConnection(const LLUUID ®ionID, const s      mShutDown(false),      mIceCompleted(false),      mSpeakerVolume(0.0), -    mMicGain(0.0),      mOutstandingRequests(0),      mChannelID(channelID),      mRegionID(regionID), @@ -2369,15 +2352,6 @@ void LLVoiceWebRTCConnection::setMuteMic(bool muted)      }  } -void LLVoiceWebRTCConnection::setMicGain(F32 gain) -{ -    mMicGain = gain; -    if (mWebRTCAudioInterface) -    { -        mWebRTCAudioInterface->setSendVolume(gain); -    } -} -  void LLVoiceWebRTCConnection::setSpeakerVolume(F32 volume)  {      mSpeakerVolume = volume; @@ -2677,7 +2651,6 @@ bool LLVoiceWebRTCConnection::connectionStateMachine()              // this connection.              mWebRTCAudioInterface->setMute(mMuted);              mWebRTCAudioInterface->setReceiveVolume(mSpeakerVolume); -            mWebRTCAudioInterface->setSendVolume(mMicGain);              LLWebRTCVoiceClient::getInstance()->OnConnectionEstablished(mChannelID, mRegionID);              setVoiceConnectionState(VOICE_STATE_WAIT_FOR_DATA_CHANNEL);              break; diff --git a/indra/newview/llvoicewebrtc.h b/indra/newview/llvoicewebrtc.h index c341ea6c94..480a7897cd 100644 --- a/indra/newview/llvoicewebrtc.h +++ b/indra/newview/llvoicewebrtc.h @@ -282,7 +282,6 @@ public:          virtual void sendData(const std::string &data);          void setMuteMic(bool muted); -        void setMicGain(F32 volume);          void setSpeakerVolume(F32 volume);          void setUserVolume(const LLUUID& id, F32 volume); @@ -303,7 +302,6 @@ public:          std::string mName;          bool    mMuted;          // this session is muted. -        F32     mMicGain;        // gain for this session.          F32     mSpeakerVolume;  // volume for this session.          bool        mShuttingDown; @@ -382,7 +380,6 @@ public:      static void predSendData(const LLWebRTCVoiceClient::sessionStatePtr_t &session, const std::string& spatial_data);      static void predUpdateOwnVolume(const LLWebRTCVoiceClient::sessionStatePtr_t &session, F32 audio_level);      static void predSetMuteMic(const LLWebRTCVoiceClient::sessionStatePtr_t &session, bool mute); -    static void predSetMicGain(const LLWebRTCVoiceClient::sessionStatePtr_t &session, F32 volume);      static void predSetSpeakerVolume(const LLWebRTCVoiceClient::sessionStatePtr_t &session, F32 volume);      static void predShutdownSession(const LLWebRTCVoiceClient::sessionStatePtr_t &session);      static void predSetUserMute(const LLWebRTCVoiceClient::sessionStatePtr_t &session, const LLUUID& id, bool mute); @@ -607,7 +604,6 @@ class LLVoiceWebRTCConnection :      void processIceUpdatesCoro();      virtual void setMuteMic(bool muted); -    virtual void setMicGain(F32 volume);      virtual void setSpeakerVolume(F32 volume);      void setUserVolume(const LLUUID& id, F32 volume); @@ -686,7 +682,6 @@ class LLVoiceWebRTCConnection :      std::string mRemoteChannelSDP;      bool mMuted; -    F32  mMicGain;      F32  mSpeakerVolume;      bool mShutDown; diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index f6724d4993..8c446c1975 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -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"/> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 4a043bbbc9..d5d2d00630 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -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" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 1584de6880..f86b297395 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -8842,6 +8842,20 @@ New Voice Morphs are available!    </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"     type="notifytip"> diff --git a/indra/newview/skins/default/xui/es/menu_viewer.xml b/indra/newview/skins/default/xui/es/menu_viewer.xml index c22311f882..04e43f01da 100644 --- a/indra/newview/skins/default/xui/es/menu_viewer.xml +++ b/indra/newview/skins/default/xui/es/menu_viewer.xml @@ -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"/> diff --git a/indra/newview/skins/default/xui/it/menu_viewer.xml b/indra/newview/skins/default/xui/it/menu_viewer.xml index 043fd28ddb..85999ccbe0 100644 --- a/indra/newview/skins/default/xui/it/menu_viewer.xml +++ b/indra/newview/skins/default/xui/it/menu_viewer.xml @@ -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"/> diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml index a1f3980df4..f6b10bb121 100644 --- a/indra/newview/skins/default/xui/ja/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml @@ -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"/> diff --git a/indra/newview/skins/default/xui/pl/menu_viewer.xml b/indra/newview/skins/default/xui/pl/menu_viewer.xml index 4d03e7c780..ee162addd2 100644 --- a/indra/newview/skins/default/xui/pl/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pl/menu_viewer.xml @@ -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" /> diff --git a/indra/newview/skins/default/xui/pt/menu_viewer.xml b/indra/newview/skins/default/xui/pt/menu_viewer.xml index b70adc3ad2..0f4873d11c 100644 --- a/indra/newview/skins/default/xui/pt/menu_viewer.xml +++ b/indra/newview/skins/default/xui/pt/menu_viewer.xml @@ -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"/> diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml index 8361464f4c..4a6390329d 100644 --- a/indra/newview/skins/default/xui/ru/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml @@ -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"/> diff --git a/indra/newview/skins/default/xui/tr/menu_viewer.xml b/indra/newview/skins/default/xui/tr/menu_viewer.xml index 1c977ba5ce..fb6111248c 100644 --- a/indra/newview/skins/default/xui/tr/menu_viewer.xml +++ b/indra/newview/skins/default/xui/tr/menu_viewer.xml @@ -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"/> diff --git a/indra/newview/skins/default/xui/zh/menu_viewer.xml b/indra/newview/skins/default/xui/zh/menu_viewer.xml index 972434dfc5..a048af7b68 100644 --- a/indra/newview/skins/default/xui/zh/menu_viewer.xml +++ b/indra/newview/skins/default/xui/zh/menu_viewer.xml @@ -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"/> | 
