aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-06-25 13:45:40 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-06-25 13:45:40 +0000
commit3202566a05ef57922379697c5192010415488d20 (patch)
tree82de4ab0408e891890a373221569a3b98c531427 /src
parent32fb51e49fa811d6caf23283a5714851a57eba9c (diff)
downloadqmmp-3202566a05ef57922379697c5192010415488d20.tar.gz
qmmp-3202566a05ef57922379697c5192010415488d20.tar.bz2
qmmp-3202566a05ef57922379697c5192010415488d20.zip
alsa plugin: mmap access support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@431 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Output/alsa/outputalsa.cpp28
-rw-r--r--src/plugins/Output/alsa/outputalsa.h1
-rw-r--r--src/plugins/Output/alsa/settingsdialog.cpp3
-rw-r--r--src/plugins/Output/alsa/settingsdialog.ui159
-rw-r--r--src/plugins/Output/alsa/translations/alsa_plugin_cs.ts27
-rw-r--r--src/plugins/Output/alsa/translations/alsa_plugin_de.ts27
-rw-r--r--src/plugins/Output/alsa/translations/alsa_plugin_ru.ts28
-rw-r--r--src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts28
-rw-r--r--src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts27
-rw-r--r--src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts27
10 files changed, 226 insertions, 129 deletions
diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp
index 0f3b62d7e..100d3a7b6 100644
--- a/src/plugins/Output/alsa/outputalsa.cpp
+++ b/src/plugins/Output/alsa/outputalsa.cpp
@@ -29,6 +29,10 @@
#include <string.h>
#include <iostream>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
+
#include <qmmp/constants.h>
#include <qmmp/buffer.h>
#include <qmmp/visual.h>
@@ -41,6 +45,7 @@ OutputALSA::OutputALSA(QObject * parent, bool useVolume)
{
QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat);
QString dev_name = settings.value("ALSA/device","default").toString();
+ m_use_mmap = settings.value("ALSA/use_mmap", FALSE).toBool();
pcm_name = strdup(dev_name.toAscii().data());
stream = SND_PCM_STREAM_PLAYBACK;
snd_pcm_hw_params_alloca(&hwparams);
@@ -120,12 +125,23 @@ void OutputALSA::configure(long freq, int chan, int prec, int brate)
uint period_time = settings.value("period_time",100).toUInt()*1000;
settings.endGroup();
- if (snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED) < 0)
+ if (m_use_mmap)
{
- qWarning("OutputALSA: Error setting access.");
- return;
+ if (snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_MMAP_INTERLEAVED) < 0)
+ {
+ qWarning("OutputALSA: Error setting mmap access.");
+ m_use_mmap = FALSE;
+ }
}
+ if (!m_use_mmap)
+ {
+ if (snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED) < 0)
+ {
+ qWarning("OutputALSA: Error setting access.");
+ return;
+ }
+ }
if (snd_pcm_hw_params_set_format(pcm_handle, hwparams, SND_PCM_FORMAT_S16_LE) < 0)
{
@@ -137,6 +153,7 @@ void OutputALSA::configure(long freq, int chan, int prec, int brate)
exact_rate = rate;// = 11000;
qDebug("OutputALSA: frequency=%d, channels=%d, bitrate=%d",
rate, chan, brate);
+
if (snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &exact_rate, 0) < 0)
{
qWarning("OutputALSA: Error setting rate.\n");
@@ -285,7 +302,10 @@ void OutputALSA::run()
l = snd_pcm_bytes_to_frames(pcm_handle, b->nbytes - n);
while (l>0)
{
- m = snd_pcm_writei (pcm_handle, b->data+n, l);
+ if (m_use_mmap)
+ m = snd_pcm_mmap_writei (pcm_handle, b->data+n, l);
+ else
+ m = snd_pcm_writei (pcm_handle, b->data+n, l);
if (m > 0)
{
diff --git a/src/plugins/Output/alsa/outputalsa.h b/src/plugins/Output/alsa/outputalsa.h
index d22213012..cbf0cedca 100644
--- a/src/plugins/Output/alsa/outputalsa.h
+++ b/src/plugins/Output/alsa/outputalsa.h
@@ -76,6 +76,7 @@ private:
snd_mixer_elem_t* getMixerElem(snd_mixer_t *mixer, char *name, int index);
snd_mixer_t *mixer;
snd_mixer_elem_t *pcm_element;
+ bool m_use_mmap;
};
diff --git a/src/plugins/Output/alsa/settingsdialog.cpp b/src/plugins/Output/alsa/settingsdialog.cpp
index 7c5ddf081..cbb129795 100644
--- a/src/plugins/Output/alsa/settingsdialog.cpp
+++ b/src/plugins/Output/alsa/settingsdialog.cpp
@@ -54,6 +54,8 @@ SettingsDialog::SettingsDialog ( QWidget *parent )
if (d >= 0)
ui.mixerDeviceComboBox->setCurrentIndex(d);
+ ui.mmapCheckBox->setChecked(settings.value("use_mmap", FALSE).toBool());
+
settings.endGroup();
}
@@ -191,6 +193,7 @@ void SettingsDialog::writeSettings()
settings.setValue("mixer_card", card);
}
settings.setValue("mixer_device", ui.mixerDeviceComboBox->currentText ());
+ settings.setValue("use_mmap", ui.mmapCheckBox->isChecked());
settings.endGroup();
accept();
}
diff --git a/src/plugins/Output/alsa/settingsdialog.ui b/src/plugins/Output/alsa/settingsdialog.ui
index 2f9a20753..6eda3c05a 100644
--- a/src/plugins/Output/alsa/settingsdialog.ui
+++ b/src/plugins/Output/alsa/settingsdialog.ui
@@ -13,10 +13,22 @@
<string>ALSA Plugin Settings</string>
</property>
<layout class="QGridLayout" >
- <property name="margin" >
+ <property name="leftMargin" >
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
+ <property name="horizontalSpacing" >
+ <number>6</number>
+ </property>
+ <property name="verticalSpacing" >
<number>6</number>
</property>
<item row="0" column="0" colspan="3" >
@@ -29,12 +41,21 @@
<string>Device Settings</string>
</attribute>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<widget class="QGroupBox" name="groupBox" >
<property name="title" >
@@ -58,10 +79,22 @@
<string>Mixer</string>
</property>
<layout class="QGridLayout" >
- <property name="margin" >
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="horizontalSpacing" >
+ <number>6</number>
+ </property>
+ <property name="verticalSpacing" >
<number>6</number>
</property>
<item row="0" column="1" >
@@ -100,36 +133,49 @@
<string>Advanced Settings</string>
</attribute>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<widget class="QGroupBox" name="groupBox_3" >
<property name="title" >
<string>Soundcard</string>
</property>
<layout class="QGridLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
- <number>6</number>
- </property>
- <item row="2" column="1" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Vertical</enum>
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Buffer time (ms):</string>
</property>
- <property name="sizeHint" >
- <size>
- <width>20</width>
- <height>111</height>
- </size>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
- </spacer>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QSpinBox" name="bufferSpinBox" >
+ <property name="minimum" >
+ <number>200</number>
+ </property>
+ <property name="maximum" >
+ <number>10000</number>
+ </property>
+ <property name="value" >
+ <number>500</number>
+ </property>
+ </widget>
</item>
<item row="0" column="2" >
<spacer>
@@ -144,61 +190,58 @@
</property>
</spacer>
</item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Period time (ms):</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
<item row="1" column="1" >
<widget class="QSpinBox" name="periodSpinBox" >
- <property name="maximum" >
- <number>5000</number>
- </property>
<property name="minimum" >
<number>20</number>
</property>
- <property name="value" >
- <number>100</number>
- </property>
- </widget>
- </item>
- <item row="0" column="1" >
- <widget class="QSpinBox" name="bufferSpinBox" >
<property name="maximum" >
- <number>10000</number>
- </property>
- <property name="minimum" >
- <number>200</number>
+ <number>5000</number>
</property>
<property name="value" >
- <number>500</number>
+ <number>100</number>
</property>
</widget>
</item>
- <item row="0" column="0" >
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string>Buffer time (ms):</string>
+ <item row="1" column="2" >
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ <property name="sizeHint" >
+ <size>
+ <width>188</width>
+ <height>20</height>
+ </size>
</property>
- </widget>
+ </spacer>
</item>
- <item row="1" column="0" >
- <widget class="QLabel" name="label_2" >
+ <item row="2" column="0" colspan="3" >
+ <widget class="QCheckBox" name="mmapCheckBox" >
<property name="text" >
- <string>Period time (ms):</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ <string>Use mmap access</string>
</property>
</widget>
</item>
- <item row="1" column="2" >
+ <item row="3" column="1" >
<spacer>
<property name="orientation" >
- <enum>Qt::Horizontal</enum>
+ <enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
- <width>188</width>
- <height>20</height>
+ <width>60</width>
+ <height>81</height>
</size>
</property>
</spacer>
diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts b/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts
index 4e41c7332..b672ca366 100644
--- a/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts
+++ b/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts
@@ -31,59 +31,64 @@
<translation>Nastavení pluginu ALSA</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="29"/>
+ <location filename="../settingsdialog.ui" line="41"/>
<source>Device Settings</source>
<translation>Nastavení zařízení</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="41"/>
+ <location filename="../settingsdialog.ui" line="62"/>
<source>Audio device</source>
<translation>Zvukové zařízení</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="58"/>
+ <location filename="../settingsdialog.ui" line="79"/>
<source>Mixer</source>
<translation>Mixér</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="73"/>
+ <location filename="../settingsdialog.ui" line="106"/>
<source>Mixer card:</source>
<translation>Zvuková karta:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="83"/>
+ <location filename="../settingsdialog.ui" line="116"/>
<source>Mixer device:</source>
<translation>Ovládání hlasitosti:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="100"/>
+ <location filename="../settingsdialog.ui" line="133"/>
<source>Advanced Settings</source>
<translation>Pokročilá nastavení</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="112"/>
+ <location filename="../settingsdialog.ui" line="154"/>
<source>Soundcard</source>
<translation>Zvuková karta</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="176"/>
+ <location filename="../settingsdialog.ui" line="160"/>
<source>Buffer time (ms):</source>
<translation>Velikost bufferu (ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="186"/>
+ <location filename="../settingsdialog.ui" line="196"/>
<source>Period time (ms):</source>
<translation>Délka periody (ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="229"/>
+ <location filename="../settingsdialog.ui" line="272"/>
<source>Cancel</source>
<translation>Zrušit</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="236"/>
+ <location filename="../settingsdialog.ui" line="279"/>
<source>OK</source>
<translation>OK</translation>
</message>
+ <message>
+ <location filename="../settingsdialog.ui" line="232"/>
+ <source>Use mmap access</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_de.ts b/src/plugins/Output/alsa/translations/alsa_plugin_de.ts
index 0f3e01d65..29f95cbea 100644
--- a/src/plugins/Output/alsa/translations/alsa_plugin_de.ts
+++ b/src/plugins/Output/alsa/translations/alsa_plugin_de.ts
@@ -31,59 +31,64 @@
<translation>ALSA Plugin Einstellungen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="29"/>
+ <location filename="../settingsdialog.ui" line="41"/>
<source>Device Settings</source>
<translation>Geräte-Einstellungen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="41"/>
+ <location filename="../settingsdialog.ui" line="62"/>
<source>Audio device</source>
<translation>Audiogerät</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="58"/>
+ <location filename="../settingsdialog.ui" line="79"/>
<source>Mixer</source>
<translation>Mixer</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="73"/>
+ <location filename="../settingsdialog.ui" line="106"/>
<source>Mixer card:</source>
<translation>Mixerkarte:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="83"/>
+ <location filename="../settingsdialog.ui" line="116"/>
<source>Mixer device:</source>
<translation>Mixergerät:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="100"/>
+ <location filename="../settingsdialog.ui" line="133"/>
<source>Advanced Settings</source>
<translation>Erweiterte Einstellungen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="112"/>
+ <location filename="../settingsdialog.ui" line="154"/>
<source>Soundcard</source>
<translation>Soundkarte</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="176"/>
+ <location filename="../settingsdialog.ui" line="160"/>
<source>Buffer time (ms):</source>
<translation>Pufferzeit (ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="186"/>
+ <location filename="../settingsdialog.ui" line="196"/>
<source>Period time (ms):</source>
<translation>Zeitraster (ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="229"/>
+ <location filename="../settingsdialog.ui" line="272"/>
<source>Cancel</source>
<translation>Abbrechen</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="236"/>
+ <location filename="../settingsdialog.ui" line="279"/>
<source>OK</source>
<translation>OK</translation>
</message>
+ <message>
+ <location filename="../settingsdialog.ui" line="232"/>
+ <source>Use mmap access</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts b/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts
index eb6edabe6..b49715a8c 100644
--- a/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts
+++ b/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS><TS version="1.1" language="ru">
+<defaultcodec></defaultcodec>
<context>
<name>OutputALSAFactory</name>
<message>
@@ -26,57 +27,57 @@
<context>
<name>SettingsDialog</name>
<message>
- <location filename="../settingsdialog.ui" line="29"/>
+ <location filename="../settingsdialog.ui" line="41"/>
<source>Device Settings</source>
<translation>Параметры устройства</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="41"/>
+ <location filename="../settingsdialog.ui" line="62"/>
<source>Audio device</source>
<translation>Аудио устройство</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="58"/>
+ <location filename="../settingsdialog.ui" line="79"/>
<source>Mixer</source>
<translation>Микшер</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="73"/>
+ <location filename="../settingsdialog.ui" line="106"/>
<source>Mixer card:</source>
<translation>Карта микшера:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="83"/>
+ <location filename="../settingsdialog.ui" line="116"/>
<source>Mixer device:</source>
<translation>Устройство микшера:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="100"/>
+ <location filename="../settingsdialog.ui" line="133"/>
<source>Advanced Settings</source>
<translation>Дополнительные настройки</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="112"/>
+ <location filename="../settingsdialog.ui" line="154"/>
<source>Soundcard</source>
<translation>Звуковая карта</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="176"/>
+ <location filename="../settingsdialog.ui" line="160"/>
<source>Buffer time (ms):</source>
<translation>Время буферизации (мс):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="186"/>
+ <location filename="../settingsdialog.ui" line="196"/>
<source>Period time (ms):</source>
<translation>Время периода (мс):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="229"/>
+ <location filename="../settingsdialog.ui" line="272"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="236"/>
+ <location filename="../settingsdialog.ui" line="279"/>
<source>OK</source>
<translation>OK</translation>
</message>
@@ -85,5 +86,10 @@
<source>ALSA Plugin Settings</source>
<translation>Настройки модуля ALSA</translation>
</message>
+ <message>
+ <location filename="../settingsdialog.ui" line="232"/>
+ <source>Use mmap access</source>
+ <translation>Использовать доступ mmap</translation>
+ </message>
</context>
</TS>
diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts b/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts
index 7ac8a24cc..3df00d7ba 100644
--- a/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts
+++ b/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS><TS version="1.1" language="uk">
-<defaultcodec></defaultcodec>
<context>
<name>OutputALSAFactory</name>
<message>
@@ -27,57 +26,57 @@
<context>
<name>SettingsDialog</name>
<message>
- <location filename="../settingsdialog.ui" line="29"/>
+ <location filename="../settingsdialog.ui" line="41"/>
<source>Device Settings</source>
<translation>Параметри пристроїв</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="41"/>
+ <location filename="../settingsdialog.ui" line="62"/>
<source>Audio device</source>
<translation>Аудіо пристрій</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="58"/>
+ <location filename="../settingsdialog.ui" line="79"/>
<source>Mixer</source>
<translation>Мікшер</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="73"/>
+ <location filename="../settingsdialog.ui" line="106"/>
<source>Mixer card:</source>
<translation>Карта мікшера:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="83"/>
+ <location filename="../settingsdialog.ui" line="116"/>
<source>Mixer device:</source>
<translation>Пристрій мікшера:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="100"/>
+ <location filename="../settingsdialog.ui" line="133"/>
<source>Advanced Settings</source>
<translation>Додаткові налаштування</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="112"/>
+ <location filename="../settingsdialog.ui" line="154"/>
<source>Soundcard</source>
<translation>Звукова карта</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="176"/>
+ <location filename="../settingsdialog.ui" line="160"/>
<source>Buffer time (ms):</source>
<translation>Час буферизації (мс):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="186"/>
+ <location filename="../settingsdialog.ui" line="196"/>
<source>Period time (ms):</source>
<translation>Час періоду (мс):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="229"/>
+ <location filename="../settingsdialog.ui" line="272"/>
<source>Cancel</source>
<translation>Відміна</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="236"/>
+ <location filename="../settingsdialog.ui" line="279"/>
<source>OK</source>
<translation>Застосувати</translation>
</message>
@@ -86,5 +85,10 @@
<source>ALSA Plugin Settings</source>
<translation>Налаштування модуля ALSA</translation>
</message>
+ <message>
+ <location filename="../settingsdialog.ui" line="232"/>
+ <source>Use mmap access</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts b/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts
index 969691b93..cd129243c 100644
--- a/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts
+++ b/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts
@@ -26,57 +26,57 @@
<context>
<name>SettingsDialog</name>
<message>
- <location filename="../settingsdialog.ui" line="29"/>
+ <location filename="../settingsdialog.ui" line="41"/>
<source>Device Settings</source>
<translation>设备设置</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="41"/>
+ <location filename="../settingsdialog.ui" line="62"/>
<source>Audio device</source>
<translation>音频设备</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="58"/>
+ <location filename="../settingsdialog.ui" line="79"/>
<source>Mixer</source>
<translation>混频</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="73"/>
+ <location filename="../settingsdialog.ui" line="106"/>
<source>Mixer card:</source>
<translation>混频卡:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="83"/>
+ <location filename="../settingsdialog.ui" line="116"/>
<source>Mixer device:</source>
<translation>混频设备:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="100"/>
+ <location filename="../settingsdialog.ui" line="133"/>
<source>Advanced Settings</source>
<translation>高级设置</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="112"/>
+ <location filename="../settingsdialog.ui" line="154"/>
<source>Soundcard</source>
<translation>声卡</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="176"/>
+ <location filename="../settingsdialog.ui" line="160"/>
<source>Buffer time (ms):</source>
<translation>缓冲时间(ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="186"/>
+ <location filename="../settingsdialog.ui" line="196"/>
<source>Period time (ms):</source>
<translation>周期时间(ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="229"/>
+ <location filename="../settingsdialog.ui" line="272"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="236"/>
+ <location filename="../settingsdialog.ui" line="279"/>
<source>OK</source>
<translation>确定</translation>
</message>
@@ -85,5 +85,10 @@
<source>ALSA Plugin Settings</source>
<translation>ALSA 插件设置</translation>
</message>
+ <message>
+ <location filename="../settingsdialog.ui" line="232"/>
+ <source>Use mmap access</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>
diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts b/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts
index c04726a4d..bf0499845 100644
--- a/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts
+++ b/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts
@@ -26,57 +26,57 @@
<context>
<name>SettingsDialog</name>
<message>
- <location filename="../settingsdialog.ui" line="29"/>
+ <location filename="../settingsdialog.ui" line="41"/>
<source>Device Settings</source>
<translation>裝置設定</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="41"/>
+ <location filename="../settingsdialog.ui" line="62"/>
<source>Audio device</source>
<translation>聲訊裝置</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="58"/>
+ <location filename="../settingsdialog.ui" line="79"/>
<source>Mixer</source>
<translation>混頻</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="73"/>
+ <location filename="../settingsdialog.ui" line="106"/>
<source>Mixer card:</source>
<translation>混頻卡:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="83"/>
+ <location filename="../settingsdialog.ui" line="116"/>
<source>Mixer device:</source>
<translation>混頻裝置:</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="100"/>
+ <location filename="../settingsdialog.ui" line="133"/>
<source>Advanced Settings</source>
<translation>進階設定</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="112"/>
+ <location filename="../settingsdialog.ui" line="154"/>
<source>Soundcard</source>
<translation>音效卡</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="176"/>
+ <location filename="../settingsdialog.ui" line="160"/>
<source>Buffer time (ms):</source>
<translation>緩衝時間(ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="186"/>
+ <location filename="../settingsdialog.ui" line="196"/>
<source>Period time (ms):</source>
<translation>周期時間(ms):</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="229"/>
+ <location filename="../settingsdialog.ui" line="272"/>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="236"/>
+ <location filename="../settingsdialog.ui" line="279"/>
<source>OK</source>
<translation>確定</translation>
</message>
@@ -85,5 +85,10 @@
<source>ALSA Plugin Settings</source>
<translation>ALSA 插件設定</translation>
</message>
+ <message>
+ <location filename="../settingsdialog.ui" line="232"/>
+ <source>Use mmap access</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
</TS>