Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Adam <dev@robert-adam.de>2021-04-21 09:04:35 +0300
committerGitHub <noreply@github.com>2021-04-21 09:04:35 +0300
commit3baf367d570892daf9ae663da1b49c89d672cc81 (patch)
treedfd5bbeecc80136eca780e39cd895d807ef4bb00
parent25666f727e364ae6d5b70cbdac2eacfa4a6dbd01 (diff)
parent36a4cced915aa269b64f21797730e080a38acdc2 (diff)
Merge PR #4926: FEAT(client): Implement a mute cue
The mute cue is played when speech is detected while the local client is muted. This reminds the user that they are still muted, which is especially useful when the overlay/client indication is not available (e.g. in full-screen games). This currently reuses the existing "audio off" cue. Implements #4866
-rw-r--r--src/mumble/AudioConfigDialog.cpp26
-rw-r--r--src/mumble/AudioConfigDialog.h4
-rw-r--r--src/mumble/AudioInput.cpp29
-rw-r--r--src/mumble/AudioInput.h6
-rw-r--r--src/mumble/AudioInput.ui184
-rw-r--r--src/mumble/Settings.cpp9
-rw-r--r--src/mumble/Settings.h4
-rw-r--r--src/mumble/mumble_ar.ts12
-rw-r--r--src/mumble/mumble_bg.ts12
-rw-r--r--src/mumble/mumble_br.ts12
-rw-r--r--src/mumble/mumble_ca.ts12
-rw-r--r--src/mumble/mumble_cs.ts12
-rw-r--r--src/mumble/mumble_cy.ts12
-rw-r--r--src/mumble/mumble_da.ts12
-rw-r--r--src/mumble/mumble_de.ts12
-rw-r--r--src/mumble/mumble_el.ts12
-rw-r--r--src/mumble/mumble_en.ts12
-rw-r--r--src/mumble/mumble_en_GB.ts12
-rw-r--r--src/mumble/mumble_eo.ts12
-rw-r--r--src/mumble/mumble_es.ts12
-rw-r--r--src/mumble/mumble_et.ts12
-rw-r--r--src/mumble/mumble_eu.ts12
-rw-r--r--src/mumble/mumble_fa_IR.ts12
-rw-r--r--src/mumble/mumble_fi.ts12
-rw-r--r--src/mumble/mumble_fr.ts12
-rw-r--r--src/mumble/mumble_gl.ts12
-rw-r--r--src/mumble/mumble_he.ts12
-rw-r--r--src/mumble/mumble_hu.ts12
-rw-r--r--src/mumble/mumble_it.ts12
-rw-r--r--src/mumble/mumble_ja.ts12
-rw-r--r--src/mumble/mumble_ko.ts12
-rw-r--r--src/mumble/mumble_lt.ts12
-rw-r--r--src/mumble/mumble_nl.ts12
-rw-r--r--src/mumble/mumble_no.ts12
-rw-r--r--src/mumble/mumble_oc.ts12
-rw-r--r--src/mumble/mumble_pl.ts12
-rw-r--r--src/mumble/mumble_pt_BR.ts12
-rw-r--r--src/mumble/mumble_pt_PT.ts12
-rw-r--r--src/mumble/mumble_ro.ts12
-rw-r--r--src/mumble/mumble_ru.ts12
-rw-r--r--src/mumble/mumble_si.ts12
-rw-r--r--src/mumble/mumble_sv.ts12
-rw-r--r--src/mumble/mumble_te.ts12
-rw-r--r--src/mumble/mumble_th.ts12
-rw-r--r--src/mumble/mumble_tr.ts12
-rw-r--r--src/mumble/mumble_uk.ts12
-rw-r--r--src/mumble/mumble_zh_CN.ts12
-rw-r--r--src/mumble/mumble_zh_HK.ts12
-rw-r--r--src/mumble/mumble_zh_TW.ts12
49 files changed, 679 insertions, 87 deletions
diff --git a/src/mumble/AudioConfigDialog.cpp b/src/mumble/AudioConfigDialog.cpp
index bed102293..794520ed8 100644
--- a/src/mumble/AudioConfigDialog.cpp
+++ b/src/mumble/AudioConfigDialog.cpp
@@ -113,6 +113,7 @@ AudioInputDialog::AudioInputDialog(Settings &st) : ConfigWidget(st) {
qcbDevice->view()->setTextElideMode(Qt::ElideRight);
on_qcbPushClick_clicked(Global::get().s.bTxAudioCue);
+ on_qcbMuteCue_clicked(Global::get().s.bTxMuteCue);
on_Tick_timeout();
on_qcbIdleAction_currentIndexChanged(Global::get().s.iaeIdleAction);
@@ -156,6 +157,7 @@ void AudioInputDialog::load(const Settings &r) {
qlePushClickPathOn->setText(r.qsTxAudioCueOn);
qlePushClickPathOff->setText(r.qsTxAudioCueOff);
+ qleMuteCuePath->setText(r.qsTxMuteCue);
loadComboBox(qcbTransmit, r.atTransmit);
loadSlider(qsTransmitHold, r.iVoiceHold);
@@ -172,6 +174,7 @@ void AudioInputDialog::load(const Settings &r) {
loadCheckBox(qcbPushWindow, r.bShowPTTButtonWindow);
loadCheckBox(qcbPushClick, r.bTxAudioCue);
+ loadCheckBox(qcbMuteCue, r.bTxMuteCue);
loadSlider(qsQuality, r.iQuality);
loadCheckBox(qcbAllowLowDelay, r.bAllowLowDelay);
if (r.iSpeexNoiseCancelStrength != 0) {
@@ -297,6 +300,9 @@ void AudioInputDialog::save() const {
s.qsTxAudioCueOn = qlePushClickPathOn->text();
s.qsTxAudioCueOff = qlePushClickPathOff->text();
+ s.bTxMuteCue = qcbMuteCue->isChecked();
+ s.qsTxMuteCue = qleMuteCuePath->text();
+
s.qsAudioInput = qcbSystem->currentText();
s.echoOption = static_cast< EchoCancelOptionID >(qcbEcho->currentData().toInt());
s.bExclusiveInput = qcbExclusive->isChecked();
@@ -442,6 +448,26 @@ void AudioInputDialog::on_qpbPushClickPreview_clicked() {
}
}
+void AudioInputDialog::on_qcbMuteCue_clicked(bool b) {
+ qleMuteCuePath->setEnabled(b);
+ qpbMuteCueBrowse->setEnabled(b);
+ qpbMuteCuePreview->setEnabled(b);
+}
+
+void AudioInputDialog::on_qpbMuteCueBrowse_clicked() {
+ QString defaultpath(qleMuteCuePath->text());
+ QString qsnew = AudioOutputSample::browseForSndfile(defaultpath);
+ if (!qsnew.isEmpty())
+ qleMuteCuePath->setText(qsnew);
+}
+
+
+void AudioInputDialog::on_qpbMuteCuePreview_clicked() {
+ AudioOutputPtr ao = Global::get().ao;
+ if (ao)
+ ao->playSample(qleMuteCuePath->text());
+}
+
void AudioInputDialog::continuePlayback() {
AudioOutputPtr ao = Global::get().ao;
if (ao) {
diff --git a/src/mumble/AudioConfigDialog.h b/src/mumble/AudioConfigDialog.h
index 570703ec6..603d0e5e9 100644
--- a/src/mumble/AudioConfigDialog.h
+++ b/src/mumble/AudioConfigDialog.h
@@ -44,6 +44,10 @@ public slots:
void on_qpbPushClickPreview_clicked();
void on_qpbPushClickReset_clicked();
+ void on_qcbMuteCue_clicked(bool);
+ void on_qpbMuteCueBrowse_clicked();
+ void on_qpbMuteCuePreview_clicked();
+
void on_qsTransmitHold_valueChanged(int v);
void on_qsFrames_valueChanged(int v);
void on_qsQuality_valueChanged(int v);
diff --git a/src/mumble/AudioInput.cpp b/src/mumble/AudioInput.cpp
index 0ac244a40..ce2e23e23 100644
--- a/src/mumble/AudioInput.cpp
+++ b/src/mumble/AudioInput.cpp
@@ -1079,10 +1079,12 @@ void AudioInput::encodeAudioFrame(AudioChunk chunk) {
// instance this could mean we're currently whispering
bIsSpeech = bIsSpeech || (Global::get().iPushToTalk > 0);
- ClientUser *p = ClientUser::get(Global::get().uiSession);
+ ClientUser *p = ClientUser::get(Global::get().uiSession);
+ bool bTalkingWhenMuted = false;
if (Global::get().s.bMute || ((Global::get().s.lmLoopMode != Settings::Local) && p && (p->bMute || p->bSuppress))
|| Global::get().bPushToMute || (voiceTargetID < 0)) {
- bIsSpeech = false;
+ bTalkingWhenMuted = bIsSpeech;
+ bIsSpeech = false;
}
if (bIsSpeech) {
@@ -1102,12 +1104,25 @@ void AudioInput::encodeAudioFrame(AudioChunk chunk) {
p->setTalking(Settings::Shouting);
}
- if (Global::get().s.bTxAudioCue && Global::get().uiSession != 0) {
+ if (Global::get().uiSession != 0 && (Global::get().s.bTxAudioCue || Global::get().s.bTxMuteCue)) {
AudioOutputPtr ao = Global::get().ao;
- if (bIsSpeech && !bPreviousVoice && ao)
- ao->playSample(Global::get().s.qsTxAudioCueOn);
- else if (ao && !bIsSpeech && bPreviousVoice)
- ao->playSample(Global::get().s.qsTxAudioCueOff);
+
+ if (ao) {
+ if (Global::get().s.bTxAudioCue) {
+ if (bIsSpeech && !bPreviousVoice) {
+ ao->playSample(Global::get().s.qsTxAudioCueOn);
+ } else if (!bIsSpeech && bPreviousVoice) {
+ ao->playSample(Global::get().s.qsTxAudioCueOff);
+ }
+ }
+
+ if (Global::get().s.bTxMuteCue && !Global::get().s.bDeaf && bTalkingWhenMuted) {
+ if (!qetLastMuteCue.isValid() || qetLastMuteCue.elapsed() > iMuteCueDelay) {
+ qetLastMuteCue.start();
+ ao->playSample(Global::get().s.qsTxMuteCue);
+ }
+ }
+ }
}
if (!bIsSpeech && !bPreviousVoice) {
diff --git a/src/mumble/AudioInput.h b/src/mumble/AudioInput.h
index d69c28f84..31804bbec 100644
--- a/src/mumble/AudioInput.h
+++ b/src/mumble/AudioInput.h
@@ -6,6 +6,7 @@
#ifndef MUMBLE_MUMBLE_AUDIOINPUT_H_
#define MUMBLE_MUMBLE_AUDIOINPUT_H_
+#include <QElapsedTimer>
#include <QtCore/QObject>
#include <QtCore/QThread>
#include <boost/array.hpp>
@@ -193,6 +194,8 @@ private:
int encodeOpusFrame(short *source, int size, EncodingOutputBuffer &buffer);
int encodeCELTFrame(short *pSource, EncodingOutputBuffer &buffer);
+ QElapsedTimer qetLastMuteCue;
+
protected:
MessageHandler::UDPMessageType umtType;
SampleFormat eMicFormat, eEchoFormat;
@@ -227,6 +230,9 @@ protected:
/// Number of 10ms audio "frames" per packet (!= frames in packet)
int iAudioFrames;
+ /// The minimum time in ms that has to pass between the playback of two consecutive mute cues.
+ static constexpr unsigned int iMuteCueDelay = 5000;
+
float *pfMicInput;
float *pfEchoInput;
diff --git a/src/mumble/AudioInput.ui b/src/mumble/AudioInput.ui
index 36c7f5858..8fc66b90f 100644
--- a/src/mumble/AudioInput.ui
+++ b/src/mumble/AudioInput.ui
@@ -772,26 +772,6 @@
<string>Misc</string>
</property>
<layout class="QGridLayout" name="_2">
- <item row="2" column="5">
- <widget class="QPushButton" name="qpbPushClickBrowseOff">
- <property name="toolTip">
- <string>Browse for off audio file</string>
- </property>
- <property name="text">
- <string>B&amp;rowse...</string>
- </property>
- </widget>
- </item>
- <item row="2" column="3">
- <widget class="QLabel" name="qlPushClickOff">
- <property name="text">
- <string>Off</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
<item row="1" column="3">
<widget class="QLabel" name="qlPushClickOn">
<property name="text">
@@ -802,42 +782,6 @@
</property>
</widget>
</item>
- <item row="1" column="6">
- <widget class="QPushButton" name="qpbPushClickPreview">
- <property name="toolTip">
- <string>Preview the audio cues</string>
- </property>
- <property name="whatsThis">
- <string>&lt;b&gt;Preview&lt;/b&gt;&lt;br/&gt;Plays the current &lt;i&gt;on&lt;/i&gt; sound followed by the current &lt;i&gt;off&lt;/i&gt; sound.</string>
- </property>
- <property name="text">
- <string>&amp;Preview</string>
- </property>
- </widget>
- </item>
- <item row="2" column="6">
- <widget class="QPushButton" name="qpbPushClickReset">
- <property name="toolTip">
- <string>Reset audio cue to default</string>
- </property>
- <property name="whatsThis">
- <string>&lt;b&gt;Reset&lt;/b&gt;&lt;br/&gt;Reset the paths for the files to their default.</string>
- </property>
- <property name="text">
- <string>R&amp;eset</string>
- </property>
- </widget>
- </item>
- <item row="1" column="5">
- <widget class="QPushButton" name="qpbPushClickBrowseOn">
- <property name="toolTip">
- <string>Browse for on audio file</string>
- </property>
- <property name="text">
- <string>&amp;Browse...</string>
- </property>
- </widget>
- </item>
<item row="1" column="4">
<widget class="QLineEdit" name="qlePushClickPathOn">
<property name="toolTip">
@@ -845,44 +789,34 @@
</property>
</widget>
</item>
- <item row="2" column="4">
- <widget class="QLineEdit" name="qlePushClickPathOff">
- <property name="toolTip">
- <string>Gets played when stopping to transmit</string>
+ <item row="4" column="0" colspan="2">
+ <widget class="QLabel" name="qliIdle">
+ <property name="text">
+ <string>Idle action</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="qcbPushClick">
+ <item row="1" column="6">
+ <widget class="QPushButton" name="qpbPushClickPreview">
<property name="toolTip">
- <string>Audible audio cue when starting or stopping to transmit</string>
+ <string>Preview the audio cues</string>
</property>
<property name="whatsThis">
- <string>&lt;b&gt;This enables transmission audio cues.&lt;/b&gt;&lt;br /&gt;Setting this will give you a short audio beep when you start and stop transmitting.</string>
+ <string>&lt;b&gt;Preview&lt;/b&gt;&lt;br/&gt;Plays the current &lt;i&gt;on&lt;/i&gt; sound followed by the current &lt;i&gt;off&lt;/i&gt; sound.</string>
</property>
<property name="text">
- <string>Audio cue</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QLabel" name="qliIdle">
- <property name="text">
- <string>Idle action</string>
+ <string>&amp;Preview</string>
</property>
</widget>
</item>
- <item row="4" column="4">
- <widget class="QCheckBox" name="qcbUndoIdleAction">
+ <item row="2" column="4">
+ <widget class="QLineEdit" name="qlePushClickPathOff">
<property name="toolTip">
- <string>The idle action will be reversed upon any key or mouse button input</string>
- </property>
- <property name="text">
- <string>Undo Idle action upon activity</string>
+ <string>Gets played when stopping to transmit</string>
</property>
</widget>
</item>
- <item row="3" column="4">
+ <item row="4" column="4">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QSpinBox" name="qsbIdle">
@@ -944,13 +878,103 @@
</item>
</layout>
</item>
- <item row="3" column="3">
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="qcbPushClick">
+ <property name="toolTip">
+ <string>Audible audio cue when starting or stopping to transmit</string>
+ </property>
+ <property name="whatsThis">
+ <string>&lt;b&gt;This enables transmission audio cues.&lt;/b&gt;&lt;br /&gt;Setting this will give you a short audio beep when you start and stop transmitting.</string>
+ </property>
+ <property name="text">
+ <string>Audio cue</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="4">
+ <widget class="QCheckBox" name="qcbUndoIdleAction">
+ <property name="toolTip">
+ <string>The idle action will be reversed upon any key or mouse button input</string>
+ </property>
+ <property name="text">
+ <string>Undo Idle action upon activity</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QLabel" name="qlPushClickOff">
+ <property name="text">
+ <string>Off</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="5">
+ <widget class="QPushButton" name="qpbPushClickBrowseOff">
+ <property name="toolTip">
+ <string>Browse for off audio file</string>
+ </property>
+ <property name="text">
+ <string>B&amp;rowse...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="3">
<widget class="QLabel" name="qlIdle2">
<property name="text">
<string>after</string>
</property>
</widget>
</item>
+ <item row="2" column="6">
+ <widget class="QPushButton" name="qpbPushClickReset">
+ <property name="toolTip">
+ <string>Reset audio cue to default</string>
+ </property>
+ <property name="whatsThis">
+ <string>&lt;b&gt;Reset&lt;/b&gt;&lt;br/&gt;Reset the paths for the files to their default.</string>
+ </property>
+ <property name="text">
+ <string>R&amp;eset</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="5">
+ <widget class="QPushButton" name="qpbPushClickBrowseOn">
+ <property name="toolTip">
+ <string>Browse for on audio file</string>
+ </property>
+ <property name="text">
+ <string>&amp;Browse...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QCheckBox" name="qcbMuteCue">
+ <property name="text">
+ <string>Mute cue</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="4">
+ <widget class="QLineEdit" name="qleMuteCuePath"/>
+ </item>
+ <item row="3" column="5">
+ <widget class="QPushButton" name="qpbMuteCueBrowse">
+ <property name="text">
+ <string>Br&amp;owse...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="6">
+ <widget class="QPushButton" name="qpbMuteCuePreview">
+ <property name="text">
+ <string>Pre&amp;view</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
diff --git a/src/mumble/Settings.cpp b/src/mumble/Settings.cpp
index aa85f4220..4bf80c107 100644
--- a/src/mumble/Settings.cpp
+++ b/src/mumble/Settings.cpp
@@ -162,6 +162,8 @@ QDataStream &operator>>(QDataStream &qds, ShortcutTarget &st) {
const QString Settings::cqsDefaultPushClickOn = QLatin1String(":/on.ogg");
const QString Settings::cqsDefaultPushClickOff = QLatin1String(":/off.ogg");
+const QString Settings::cqsDefaultMuteCue = QLatin1String(":/off.ogg");
+
OverlaySettings::OverlaySettings() {
bEnable = false;
@@ -336,6 +338,9 @@ Settings::Settings() {
qsTxAudioCueOn = cqsDefaultPushClickOn;
qsTxAudioCueOff = cqsDefaultPushClickOff;
+ bTxMuteCue = true;
+ qsTxMuteCue = cqsDefaultMuteCue;
+
bUserTop = true;
bWhisperFriends = false;
@@ -718,6 +723,8 @@ void Settings::load(QSettings *settings_ptr) {
LOAD(bTxAudioCue, "audio/pushclick");
LOAD(qsTxAudioCueOn, "audio/pushclickon");
LOAD(qsTxAudioCueOff, "audio/pushclickoff");
+ LOAD(bTxMuteCue, "audio/mutecue");
+ LOAD(qsTxMuteCue, "audio/mutecuepath");
LOAD(iQuality, "audio/quality");
LOAD(iMinLoudness, "audio/loudness");
LOAD(fVolume, "audio/volume");
@@ -1157,6 +1164,8 @@ void Settings::save() {
SAVE(bTxAudioCue, "audio/pushclick");
SAVE(qsTxAudioCueOn, "audio/pushclickon");
SAVE(qsTxAudioCueOff, "audio/pushclickoff");
+ SAVE(bTxMuteCue, "audio/mutecue");
+ SAVE(qsTxMuteCue, "audio/mutecuepath");
SAVE(iQuality, "audio/quality");
SAVE(iMinLoudness, "audio/loudness");
SAVE(fVolume, "audio/volume");
diff --git a/src/mumble/Settings.h b/src/mumble/Settings.h
index 18c5b9edb..285da8d5d 100644
--- a/src/mumble/Settings.h
+++ b/src/mumble/Settings.h
@@ -176,6 +176,10 @@ struct Settings {
QString qsTxAudioCueOn;
QString qsTxAudioCueOff;
+ bool bTxMuteCue;
+ static const QString cqsDefaultMuteCue;
+ QString qsTxMuteCue;
+
bool bTransmitPosition;
bool bMute, bDeaf;
bool bTTS;
diff --git a/src/mumble/mumble_ar.ts b/src/mumble/mumble_ar.ts
index 4fc00bb4e..ec1d45ac9 100644
--- a/src/mumble/mumble_ar.ts
+++ b/src/mumble/mumble_ar.ts
@@ -1016,6 +1016,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_bg.ts b/src/mumble/mumble_bg.ts
index 8ff93bd2e..f754eff5c 100644
--- a/src/mumble/mumble_bg.ts
+++ b/src/mumble/mumble_bg.ts
@@ -1017,6 +1017,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_br.ts b/src/mumble/mumble_br.ts
index 56c3e4cd4..8419e89ec 100644
--- a/src/mumble/mumble_br.ts
+++ b/src/mumble/mumble_br.ts
@@ -1016,6 +1016,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_ca.ts b/src/mumble/mumble_ca.ts
index df853080e..e9e626c22 100644
--- a/src/mumble/mumble_ca.ts
+++ b/src/mumble/mumble_ca.ts
@@ -1022,6 +1022,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_cs.ts b/src/mumble/mumble_cs.ts
index d564ee872..d353e8955 100644
--- a/src/mumble/mumble_cs.ts
+++ b/src/mumble/mumble_cs.ts
@@ -1024,6 +1024,18 @@ Tato hodnota Vám umožňuje nastavit maximální počet povolených uživatelů
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_cy.ts b/src/mumble/mumble_cy.ts
index d3ce85dca..1bd198b2d 100644
--- a/src/mumble/mumble_cy.ts
+++ b/src/mumble/mumble_cy.ts
@@ -1017,6 +1017,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_da.ts b/src/mumble/mumble_da.ts
index 72d08e75f..d3e2585e5 100644
--- a/src/mumble/mumble_da.ts
+++ b/src/mumble/mumble_da.ts
@@ -1023,6 +1023,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_de.ts b/src/mumble/mumble_de.ts
index 3ceee3768..4c914a2ae 100644
--- a/src/mumble/mumble_de.ts
+++ b/src/mumble/mumble_de.ts
@@ -1025,6 +1025,18 @@ Zum Beispiel wäre für die Audigy 2 ZS &apos;&lt;i&gt;Mic L&lt;/i&gt;&apos; ein
<source>Speex suppression strength</source>
<translation>Speex Unterdrückungsstärke</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_el.ts b/src/mumble/mumble_el.ts
index 761c641a3..b7bca9613 100644
--- a/src/mumble/mumble_el.ts
+++ b/src/mumble/mumble_el.ts
@@ -1027,6 +1027,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_en.ts b/src/mumble/mumble_en.ts
index 49e2aceb2..3bbcd497a 100644
--- a/src/mumble/mumble_en.ts
+++ b/src/mumble/mumble_en.ts
@@ -1016,6 +1016,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_en_GB.ts b/src/mumble/mumble_en_GB.ts
index 63b1260bb..49f5f2831 100644
--- a/src/mumble/mumble_en_GB.ts
+++ b/src/mumble/mumble_en_GB.ts
@@ -1024,6 +1024,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_eo.ts b/src/mumble/mumble_eo.ts
index 91f0f740a..ba3bd2539 100644
--- a/src/mumble/mumble_eo.ts
+++ b/src/mumble/mumble_eo.ts
@@ -1021,6 +1021,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_es.ts b/src/mumble/mumble_es.ts
index 9bfdc9a17..80a6b81ca 100644
--- a/src/mumble/mumble_es.ts
+++ b/src/mumble/mumble_es.ts
@@ -1024,6 +1024,18 @@ Este valor permite fijar el número máximo de usuarios permitidos en el canal.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_et.ts b/src/mumble/mumble_et.ts
index 8170471b1..34f9fcf9e 100644
--- a/src/mumble/mumble_et.ts
+++ b/src/mumble/mumble_et.ts
@@ -1017,6 +1017,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation>Speex mürasummutuse tugevus</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_eu.ts b/src/mumble/mumble_eu.ts
index 21a710694..9a3928873 100644
--- a/src/mumble/mumble_eu.ts
+++ b/src/mumble/mumble_eu.ts
@@ -1026,6 +1026,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_fa_IR.ts b/src/mumble/mumble_fa_IR.ts
index 1d1e9b2f4..d4a9a6a95 100644
--- a/src/mumble/mumble_fa_IR.ts
+++ b/src/mumble/mumble_fa_IR.ts
@@ -1016,6 +1016,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_fi.ts b/src/mumble/mumble_fi.ts
index 8948e902c..4ab86cead 100644
--- a/src/mumble/mumble_fi.ts
+++ b/src/mumble/mumble_fi.ts
@@ -1025,6 +1025,18 @@ määritellyssä ajassa, lukitaan se päälle. Mumble jatkaa puheen lähettämis
<source>Speex suppression strength</source>
<translation>Speex vaimennuksen voimakkuus</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_fr.ts b/src/mumble/mumble_fr.ts
index 69846001c..e19aea6db 100644
--- a/src/mumble/mumble_fr.ts
+++ b/src/mumble/mumble_fr.ts
@@ -1024,6 +1024,18 @@ Cette valeur vous permet de définir un nombre maximum d&apos;utilisateurs autor
<source>Speex suppression strength</source>
<translation>Puissance de suppression de Speex</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_gl.ts b/src/mumble/mumble_gl.ts
index efb2ebbd0..94dd82090 100644
--- a/src/mumble/mumble_gl.ts
+++ b/src/mumble/mumble_gl.ts
@@ -1018,6 +1018,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_he.ts b/src/mumble/mumble_he.ts
index 0e7680463..b9274f67e 100644
--- a/src/mumble/mumble_he.ts
+++ b/src/mumble/mumble_he.ts
@@ -1025,6 +1025,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_hu.ts b/src/mumble/mumble_hu.ts
index 0e6933174..6646469c4 100644
--- a/src/mumble/mumble_hu.ts
+++ b/src/mumble/mumble_hu.ts
@@ -1020,6 +1020,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_it.ts b/src/mumble/mumble_it.ts
index d178feb5f..568dbace2 100644
--- a/src/mumble/mumble_it.ts
+++ b/src/mumble/mumble_it.ts
@@ -1024,6 +1024,18 @@ Questo valore ti permette di impostare il numero massimo di utenti consentiti ne
<source>Speex suppression strength</source>
<translation>Intensità riduzione rumore Speex</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_ja.ts b/src/mumble/mumble_ja.ts
index add00ec4f..eeafd0e04 100644
--- a/src/mumble/mumble_ja.ts
+++ b/src/mumble/mumble_ja.ts
@@ -1024,6 +1024,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_ko.ts b/src/mumble/mumble_ko.ts
index 420312974..03d0485b1 100644
--- a/src/mumble/mumble_ko.ts
+++ b/src/mumble/mumble_ko.ts
@@ -1023,6 +1023,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_lt.ts b/src/mumble/mumble_lt.ts
index 4c7d4c039..f98cc0b71 100644
--- a/src/mumble/mumble_lt.ts
+++ b/src/mumble/mumble_lt.ts
@@ -1018,6 +1018,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_nl.ts b/src/mumble/mumble_nl.ts
index 894779254..b51791c5b 100644
--- a/src/mumble/mumble_nl.ts
+++ b/src/mumble/mumble_nl.ts
@@ -1024,6 +1024,18 @@ Deze waarde laat je toe om een maximum aantal gebruikers in te stellen voor het
<source>Speex suppression strength</source>
<translation>Speex-onderdrukkingssterkte</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_no.ts b/src/mumble/mumble_no.ts
index 07486d581..0cc79fbea 100644
--- a/src/mumble/mumble_no.ts
+++ b/src/mumble/mumble_no.ts
@@ -1024,6 +1024,18 @@ Denne verdien gjør at du setter maksimalt antall brukere tillatt i kanalen. Hvi
<source>Speex suppression strength</source>
<translation>Speex-undertrykkingsstyrke</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_oc.ts b/src/mumble/mumble_oc.ts
index c5b0ce572..dc78b406b 100644
--- a/src/mumble/mumble_oc.ts
+++ b/src/mumble/mumble_oc.ts
@@ -1017,6 +1017,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_pl.ts b/src/mumble/mumble_pl.ts
index 05d9c5b9b..ea6c6a444 100644
--- a/src/mumble/mumble_pl.ts
+++ b/src/mumble/mumble_pl.ts
@@ -1024,6 +1024,18 @@ Określa maksymalną dozwoloną liczbę użytkowników na tym kanale. Jeżeli wa
<source>Speex suppression strength</source>
<translation>Siła tłumienia Speex</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_pt_BR.ts b/src/mumble/mumble_pt_BR.ts
index e5e34bf6f..42d58dcdb 100644
--- a/src/mumble/mumble_pt_BR.ts
+++ b/src/mumble/mumble_pt_BR.ts
@@ -1024,6 +1024,18 @@ Este valor permite que você especifique o número máximo de usuárias permitid
<source>Speex suppression strength</source>
<translation>Intensidade da supressão Speex</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_pt_PT.ts b/src/mumble/mumble_pt_PT.ts
index f683c817d..1e7ce6194 100644
--- a/src/mumble/mumble_pt_PT.ts
+++ b/src/mumble/mumble_pt_PT.ts
@@ -1023,6 +1023,18 @@ Este valor permite definir o número máximo de utilizadores permitido no canal.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_ro.ts b/src/mumble/mumble_ro.ts
index be4b70950..a8509cafb 100644
--- a/src/mumble/mumble_ro.ts
+++ b/src/mumble/mumble_ro.ts
@@ -1020,6 +1020,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_ru.ts b/src/mumble/mumble_ru.ts
index 007d7a382..9fdedeadd 100644
--- a/src/mumble/mumble_ru.ts
+++ b/src/mumble/mumble_ru.ts
@@ -1019,6 +1019,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation>Сила шумоподавления Speex</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_si.ts b/src/mumble/mumble_si.ts
index 967c0a939..59d151862 100644
--- a/src/mumble/mumble_si.ts
+++ b/src/mumble/mumble_si.ts
@@ -1012,6 +1012,18 @@ Contains the list of members inherited by the current channel. Uncheck &lt;i&gt;
<source>Server maximum network bandwidth is only %1 kbit/s. Audio quality auto-adjusted to %2 kbit/s (%3 ms)</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_sv.ts b/src/mumble/mumble_sv.ts
index 3f4d1708c..0b39ae078 100644
--- a/src/mumble/mumble_sv.ts
+++ b/src/mumble/mumble_sv.ts
@@ -1024,6 +1024,18 @@ Det värdet tillåter dig att ställa in ett maximalt antal av användare som ä
<source>Speex suppression strength</source>
<translation>Speex reduceringsstyrka</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_te.ts b/src/mumble/mumble_te.ts
index 3c894a928..1aebfe866 100644
--- a/src/mumble/mumble_te.ts
+++ b/src/mumble/mumble_te.ts
@@ -1022,6 +1022,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_th.ts b/src/mumble/mumble_th.ts
index bcff56ff3..b80bc6b93 100644
--- a/src/mumble/mumble_th.ts
+++ b/src/mumble/mumble_th.ts
@@ -1016,6 +1016,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_tr.ts b/src/mumble/mumble_tr.ts
index 524a04bf1..7fb79b3e0 100644
--- a/src/mumble/mumble_tr.ts
+++ b/src/mumble/mumble_tr.ts
@@ -1024,6 +1024,18 @@ Bu değer kanalda izin verilen azami kullanıcı sayısını ayarlamanıza izin
<source>Speex suppression strength</source>
<translation>Speex bastırma gücü</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_uk.ts b/src/mumble/mumble_uk.ts
index 3b075ef7e..f811af3a4 100644
--- a/src/mumble/mumble_uk.ts
+++ b/src/mumble/mumble_uk.ts
@@ -1016,6 +1016,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_zh_CN.ts b/src/mumble/mumble_zh_CN.ts
index df68662bb..989892646 100644
--- a/src/mumble/mumble_zh_CN.ts
+++ b/src/mumble/mumble_zh_CN.ts
@@ -1024,6 +1024,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation>Speex 抑制强度</translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_zh_HK.ts b/src/mumble/mumble_zh_HK.ts
index 3cfe84124..ff8858eb9 100644
--- a/src/mumble/mumble_zh_HK.ts
+++ b/src/mumble/mumble_zh_HK.ts
@@ -1016,6 +1016,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>
diff --git a/src/mumble/mumble_zh_TW.ts b/src/mumble/mumble_zh_TW.ts
index 979b4f3c8..b4df84114 100644
--- a/src/mumble/mumble_zh_TW.ts
+++ b/src/mumble/mumble_zh_TW.ts
@@ -1019,6 +1019,18 @@ This value allows you to set the maximum number of users allowed in the channel.
<source>Speex suppression strength</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Mute cue</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Br&amp;owse...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Pre&amp;view</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AudioInputDialog</name>