Revert "viewer#2413 Remove obsolete alert about expiring voice morphs"
This reverts commit 5c16ae1375.
Fix is correct, but should wait untill server sided fix gets deployed.
master
parent
a2e9a0caf3
commit
cd8b0a4fc9
|
|
@ -13202,6 +13202,17 @@
|
|||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>VoiceEffectExpiryWarningTime</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>How much notice to give of Voice Morph subscriptions expiry, in seconds.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>259200</integer>
|
||||
</map>
|
||||
<key>VoiceMorphingEnabled</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -6458,6 +6458,7 @@ LLVivoxVoiceClient::voiceFontEntry::voiceFontEntry(LLUUID& id) :
|
|||
mIsNew(false)
|
||||
{
|
||||
mExpiryTimer.stop();
|
||||
mExpiryWarningTimer.stop();
|
||||
}
|
||||
|
||||
LLVivoxVoiceClient::voiceFontEntry::~voiceFontEntry()
|
||||
|
|
@ -6568,6 +6569,20 @@ void LLVivoxVoiceClient::addVoiceFont(const S32 font_index,
|
|||
font->mExpiryTimer.start();
|
||||
font->mExpiryTimer.setExpiryAt(expiration_date.secondsSinceEpoch() - VOICE_FONT_EXPIRY_INTERVAL);
|
||||
|
||||
// Set the warning timer to some interval before actual expiry.
|
||||
S32 warning_time = gSavedSettings.getS32("VoiceEffectExpiryWarningTime");
|
||||
if (warning_time != 0)
|
||||
{
|
||||
font->mExpiryWarningTimer.start();
|
||||
F64 expiry_time = (expiration_date.secondsSinceEpoch() - (F64)warning_time);
|
||||
font->mExpiryWarningTimer.setExpiryAt(expiry_time - VOICE_FONT_EXPIRY_INTERVAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Disable the warning timer.
|
||||
font->mExpiryWarningTimer.stop();
|
||||
}
|
||||
|
||||
// Only flag new session fonts after the first time we have fetched the list.
|
||||
if (mVoiceFontsReceived)
|
||||
{
|
||||
|
|
@ -6609,6 +6624,7 @@ void LLVivoxVoiceClient::expireVoiceFonts()
|
|||
// than checking each font individually.
|
||||
|
||||
bool have_expired = false;
|
||||
bool will_expire = false;
|
||||
bool expired_in_use = false;
|
||||
|
||||
LLUUID current_effect = LLVoiceClient::instance().getVoiceEffectDefault();
|
||||
|
|
@ -6618,6 +6634,7 @@ void LLVivoxVoiceClient::expireVoiceFonts()
|
|||
{
|
||||
voiceFontEntry* voice_font = iter->second;
|
||||
LLFrameTimer& expiry_timer = voice_font->mExpiryTimer;
|
||||
LLFrameTimer& warning_timer = voice_font->mExpiryWarningTimer;
|
||||
|
||||
// Check for expired voice fonts
|
||||
if (expiry_timer.getStarted() && expiry_timer.hasExpired())
|
||||
|
|
@ -6634,6 +6651,14 @@ void LLVivoxVoiceClient::expireVoiceFonts()
|
|||
deleteVoiceFont(voice_font->mID);
|
||||
have_expired = true;
|
||||
}
|
||||
|
||||
// Check for voice fonts that will expire in less that the warning time
|
||||
if (warning_timer.getStarted() && warning_timer.hasExpired())
|
||||
{
|
||||
LL_DEBUGS("VoiceFont") << "Voice Font " << voice_font->mName << " will expire soon." << LL_ENDL;
|
||||
will_expire = true;
|
||||
warning_timer.stop();
|
||||
}
|
||||
}
|
||||
|
||||
LLSD args;
|
||||
|
|
@ -6655,6 +6680,15 @@ void LLVivoxVoiceClient::expireVoiceFonts()
|
|||
// Refresh voice font lists in the UI.
|
||||
notifyVoiceFontObservers();
|
||||
}
|
||||
|
||||
// Give a warning notification if any voice fonts are due to expire.
|
||||
if (will_expire)
|
||||
{
|
||||
S32Seconds seconds(gSavedSettings.getS32("VoiceEffectExpiryWarningTime"));
|
||||
args["INTERVAL"] = llformat("%d", LLUnit<S32, LLUnits::Days>(seconds).value());
|
||||
|
||||
LLNotificationsUtil::add("VoiceEffectsWillExpire", args);
|
||||
}
|
||||
}
|
||||
|
||||
void LLVivoxVoiceClient::deleteVoiceFont(const LLUUID& id)
|
||||
|
|
|
|||
|
|
@ -880,6 +880,7 @@ private:
|
|||
bool mIsNew;
|
||||
|
||||
LLFrameTimer mExpiryTimer;
|
||||
LLFrameTimer mExpiryWarningTimer;
|
||||
};
|
||||
|
||||
bool mVoiceFontsReceived;
|
||||
|
|
|
|||
|
|
@ -1572,6 +1572,10 @@ Klik på Acceptér for at deltage eller Afvis for at afvise invitationen. Klik p
|
|||
</notification>
|
||||
<notification name="VoiceEffectsExpiredInUse">
|
||||
Den aktive stemme "morph" er udløbet og din normale stemme opsætning er genaktiveret.
|
||||
[[URL] Click here] for at forny dit abbonnement.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
En eller flere af dine stemme "morphs" vil udløbe om mindre end [INTERVAL] dage.
|
||||
[[URL] Click here] for at forny dit abbonnement.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
|
|
|
|||
|
|
@ -2465,6 +2465,10 @@ Wenn Sie Premium-Mitglied sind, [[PREMIUM_URL] klicken Sie hier], um Ihren Voice
|
|||
<notification name="VoiceEffectsExpiredInUse">Das aktive Voice-Morph-Abo ist abgelaufen. Ihre normalen Voice-Einstellungen werden angewendet.
|
||||
[[URL] Klicken Sie hier], um Ihr Abo zu erneuern.
|
||||
|
||||
Wenn Sie Premium-Mitglied sind, [[PREMIUM_URL] klicken Sie hier], um Ihren Voice-Morphing-Vorteil zu nutzen.</notification>
|
||||
<notification name="VoiceEffectsWillExpire">Ein oder mehrere Ihrer Voice-Morph-Abos laufen in weniger als [INTERVAL] Tagen ab.
|
||||
[[URL] Klicken Sie hier], um Ihr Abo zu erneuern.
|
||||
|
||||
Wenn Sie Premium-Mitglied sind, [[PREMIUM_URL] klicken Sie hier], um Ihren Voice-Morphing-Vorteil zu nutzen.</notification>
|
||||
<notification name="VoiceEffectsNew">Neue Voice-Morph-Effekte sind erhältlich!</notification>
|
||||
<notification name="Cannot enter parcel: not a group member">Nur Mitglieder einer bestimmten Gruppe dürfen diesen Bereich betreten.</notification>
|
||||
|
|
|
|||
|
|
@ -8858,6 +8858,21 @@ If you are a Premium Member, [[PREMIUM_URL] click here] to receive your voice mo
|
|||
<tag>voice</tag>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="notify.tga"
|
||||
name="VoiceEffectsWillExpire"
|
||||
sound="UISndAlert"
|
||||
persist="true"
|
||||
type="notify">
|
||||
<unique/>
|
||||
One or more of your Voice Morphs will expire in less than [INTERVAL] days.
|
||||
[[URL] Click here] to renew your subscription.
|
||||
|
||||
If you are a Premium Member, [[PREMIUM_URL] click here] to receive your voice morphing perk.
|
||||
<tag>fail</tag>
|
||||
<tag>voice</tag>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="notify.tga"
|
||||
name="VoiceEffectsNew"
|
||||
|
|
|
|||
|
|
@ -2451,6 +2451,10 @@ Si eres un miembro Premium [[PREMIUM_URL] pulsa aquí] para recibir tu beneficio
|
|||
<notification name="VoiceEffectsExpiredInUse">La transformación de voz activa ha caducado y se ha aplicado tu configuración de voz normal.
|
||||
[[URL] Pulsa aquí] para renovar la suscripción.
|
||||
|
||||
Si eres un miembro Premium [[PREMIUM_URL] pulsa aquí] para recibir tu beneficio de transformación de voz.</notification>
|
||||
<notification name="VoiceEffectsWillExpire">Una o más de tus transformaciones de voz caducarán en menos de [INTERVAL] días.
|
||||
[[URL] Pulsa aquí] para renovar la suscripción
|
||||
|
||||
Si eres un miembro Premium [[PREMIUM_URL] pulsa aquí] para recibir tu beneficio de transformación de voz.</notification>
|
||||
<notification name="VoiceEffectsNew">Están disponibles nuevas transformaciones de voz.</notification>
|
||||
<notification name="Cannot enter parcel: not a group member">Sólo los miembros de un grupo determinado pueden visitar esta zona.</notification>
|
||||
|
|
|
|||
|
|
@ -2451,6 +2451,10 @@ Si vous êtes un membre Premium, [[PREMIUM_URL] cliquez ici] pour recevoir votr
|
|||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
|
||||
Si vous êtes un membre Premium, [[PREMIUM_URL] cliquez ici] pour recevoir votre effet de voix.</notification>
|
||||
<notification name="VoiceEffectsWillExpire">Au moins l'un de vos effets de voix expirera dans moins de [INTERVAL] jours.
|
||||
[[URL] Cliquez ici] pour renouveler votre abonnement.
|
||||
|
||||
Si vous êtes un membre Premium, [[PREMIUM_URL] cliquez ici] pour recevoir votre effet de voix.</notification>
|
||||
<notification name="VoiceEffectsNew">De nouveaux effets de voix sont disponibles !</notification>
|
||||
<notification name="Cannot enter parcel: not a group member">Seuls les membres d'un certain groupe peuvent visiter cette zone.</notification>
|
||||
<notification name="Cannot enter parcel: banned">Vous ne pouvez pas pénétrer sur ce terrain car l'accès vous y est interdit.</notification>
|
||||
|
|
|
|||
|
|
@ -2453,6 +2453,10 @@ Se sei un membro Premium, [[PREMIUM_URL] fai clic qui] per ricevere in regalo la
|
|||
<notification name="VoiceEffectsExpiredInUse">Poiché la manipolazione vocale attiva è scaduta, sono state applicate le tue impostazioni normali.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
|
||||
Se sei un membro Premium, [[PREMIUM_URL] fai clic qui] per ricevere in regalo la manipolazione vocale.</notification>
|
||||
<notification name="VoiceEffectsWillExpire">Almeno una delle tue manipolazioni vocali scadrà tra meno di [INTERVAL] giorni.
|
||||
[[URL] Fai clic qui] per rinnovare l'abbonamento.
|
||||
|
||||
Se sei un membro Premium, [[PREMIUM_URL] fai clic qui] per ricevere in regalo la manipolazione vocale.</notification>
|
||||
<notification name="VoiceEffectsNew">Sono disponibili nuove manipolazioni vocali.</notification>
|
||||
<notification name="Cannot enter parcel: not a group member">Soltanto i membri di un determinato gruppo possono visitare questa zona.</notification>
|
||||
|
|
|
|||
|
|
@ -4655,6 +4655,17 @@ Webページにリンクすると、他人がこの場所に簡単にアクセ
|
|||
<notification name="VoiceEffectsExpiredInUse">ボイスモーフィング効果の有効期限が終了したため、あなたの通常のボイス設定が適用されました。
|
||||
期限を延長・更新するには[[URL] ここ]をクリックしてください。
|
||||
|
||||
プレミアム会員の方は、[[PREMIUM_URL] ここ]をクリックしてボイスモーフィング特典をお受け取りください。
|
||||
<tag>
|
||||
fail
|
||||
</tag>
|
||||
<tag>
|
||||
voice
|
||||
</tag>
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">ボイスモーフィング効果の1つ、または複数の有効期限が[INTERVAL]日以内に終了します。
|
||||
期限を延長・更新するには[[URL] ここ]をクリックしてください。
|
||||
|
||||
プレミアム会員の方は、[[PREMIUM_URL] ここ]をクリックしてボイスモーフィング特典をお受け取りください。
|
||||
<tag>
|
||||
fail
|
||||
|
|
|
|||
|
|
@ -3116,6 +3116,11 @@ Jeśli jesteś użytkownikiem premium, to [[PREMIUM_URL] kliknij tutaj] aby otrz
|
|||
<notification name="VoiceEffectsExpiredInUse">
|
||||
Czas aktywności Przekształcenia Głosu wygasł, normalne ustawienia Twojego głosu zostały zastosowane.
|
||||
[[URL] Kliknij tutaj] aby odnowić subskrypcję.
|
||||
Jeśli jesteś użytkownikiem premium, to [[PREMIUM_URL] kliknij tutaj] aby otrzymać swój perk Przekształceń Głosu.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Jedno lub więcej z Twoich Przekształceń Głosu wygaśnie za mniej niż [INTERVAL] dni.
|
||||
[[URL] Kliknij tutaj] aby odnowić subskrypcję.
|
||||
Jeśli jesteś użytkownikiem premium, to [[PREMIUM_URL] kliknij tutaj] aby otrzymać swój perk Przekształceń Głosu.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
|
|
|
|||
|
|
@ -2440,6 +2440,10 @@ Se você é um Membro Premium, [[PREMIUM_URL] clique aqui] para receber o seu ap
|
|||
<notification name="VoiceEffectsExpiredInUse">A Distorção de voz ativa expirou. Suas configurações de voz padrão foram ativadas.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
|
||||
Se você é um Membro Premium, [[PREMIUM_URL] clique aqui] para receber o seu app de distorção de voz.</notification>
|
||||
<notification name="VoiceEffectsWillExpire">Uma ou mais das suas distorções de voz tem vencimento em menos de [INTERVAL] dias.
|
||||
[[URL] Clique aqui] para renovar o serviço.
|
||||
|
||||
Se você é um Membro Premium, [[PREMIUM_URL] clique aqui] para receber o seu app de distorção de voz.</notification>
|
||||
<notification name="VoiceEffectsNew">Novas Distorções de voz!</notification>
|
||||
<notification name="Cannot enter parcel: not a group member">Só membros de um grupo podem acessar esta área.</notification>
|
||||
|
|
|
|||
|
|
@ -3230,6 +3230,12 @@
|
|||
Истек срок действия анимационного изменения голоса, действуют настройки вашего обычного голоса.
|
||||
[[URL] Щелкните здесь], чтобы обновить подписку.
|
||||
|
||||
Если вы - владелец премиум-аккаунта, [[PREMIUM_URL] щелкните здесь], чтобы получить право на анимационное изменение голоса.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Срок действия одного или нескольких ваших типов анимационного изменения голоса истекает через [INTERVAL] дней или раньше.
|
||||
[[URL] Щелкните здесь], чтобы обновить подписку.
|
||||
|
||||
Если вы - владелец премиум-аккаунта, [[PREMIUM_URL] щелкните здесь], чтобы получить право на анимационное изменение голоса.
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
|
|
|
|||
|
|
@ -3230,6 +3230,12 @@ Aboneliğinizi yenilemek için [[URL] buraya tıklayın].
|
|||
Etkin Ses Dönüşümünün süresi dolmuş, normal ses ayarlarınız uygulandı.
|
||||
Aboneliğinizi yenilemek için [[URL] buraya tıklayın].
|
||||
|
||||
Özel Üye iseniz, ses dönüştürme özelliğini almak için [[PREMIUM_URL] buraya tıklayın].
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
Ses Dönüşümlerinizden birinin ya da daha fazlasının süresi [INTERVAL] günden daha az bir zamanda dolacak.
|
||||
Aboneliğinizi yenilemek için [[URL] buraya tıklayın].
|
||||
|
||||
Özel Üye iseniz, ses dönüştürme özelliğini almak için [[PREMIUM_URL] buraya tıklayın].
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
|
|
|
|||
|
|
@ -3214,6 +3214,12 @@ SHA1 指紋:[MD5_DIGEST]
|
|||
使用中的變聲效果已經過期,已用你平時的聲音設定取代。
|
||||
[[URL] 點按這裡]繼續訂用。
|
||||
|
||||
付費用戶請[[PREMIUM_URL] 點按這裡]領取免費變聲工具。
|
||||
</notification>
|
||||
<notification name="VoiceEffectsWillExpire">
|
||||
至少一個你訂用的變聲效果將在 [INTERVAL] 天後到期。
|
||||
[[URL] 點按這裡]繼續訂用。
|
||||
|
||||
付費用戶請[[PREMIUM_URL] 點按這裡]領取免費變聲工具。
|
||||
</notification>
|
||||
<notification name="VoiceEffectsNew">
|
||||
|
|
|
|||
Loading…
Reference in New Issue