aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-01-11 13:30:49 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-01-11 13:30:49 +0000
commit79f5b3ca078825a2e772433e09c3dbd1ad4faba7 (patch)
tree9badc280a96300472b74edf07bfe4eaa76505cfc
parent16138248f094683d5665f324d821f6a0bc0b556a (diff)
downloadqmmp-79f5b3ca078825a2e772433e09c3dbd1ad4faba7.tar.gz
qmmp-79f5b3ca078825a2e772433e09c3dbd1ad4faba7.tar.bz2
qmmp-79f5b3ca078825a2e772433e09c3dbd1ad4faba7.zip
added soxr plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5982 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/plugins/Effect/Effect.pro1
-rw-r--r--src/plugins/Effect/soxr/CMakeLists.txt66
-rw-r--r--src/plugins/Effect/soxr/effectsoxrfactory.cpp64
-rw-r--r--src/plugins/Effect/soxr/effectsoxrfactory.h44
-rw-r--r--src/plugins/Effect/soxr/settingsdialog.cpp55
-rw-r--r--src/plugins/Effect/soxr/settingsdialog.h45
-rw-r--r--src/plugins/Effect/soxr/settingsdialog.ui110
-rw-r--r--src/plugins/Effect/soxr/soxr.pro32
-rw-r--r--src/plugins/Effect/soxr/soxresampler.cpp86
-rw-r--r--src/plugins/Effect/soxr/soxresampler.h48
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_bg.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_cs.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_de.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_el.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_en.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_es.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_fr.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_gl_ES.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_he.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_hu.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_it.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_ja.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_kk.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_lt.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_nl.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_pl_PL.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_pt.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_pt_BR.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_ru.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_sk.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_sr_BA.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_sr_RS.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_tr.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_uk_UA.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_zh_CN.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/soxr_plugin_zh_TW.ts70
-rw-r--r--src/plugins/Effect/soxr/translations/translations.qrc30
37 files changed, 2401 insertions, 0 deletions
diff --git a/src/plugins/Effect/Effect.pro b/src/plugins/Effect/Effect.pro
index 336647a4b..0d0672fb9 100644
--- a/src/plugins/Effect/Effect.pro
+++ b/src/plugins/Effect/Effect.pro
@@ -9,6 +9,7 @@ SUBDIRS += bs2b
unix {
SUBDIRS += srconverter
+ SUBDIRS += soxr
contains(CONFIG, LADSPA_PLUGIN){
SUBDIRS += ladspa
}
diff --git a/src/plugins/Effect/soxr/CMakeLists.txt b/src/plugins/Effect/soxr/CMakeLists.txt
new file mode 100644
index 000000000..19341e529
--- /dev/null
+++ b/src/plugins/Effect/soxr/CMakeLists.txt
@@ -0,0 +1,66 @@
+project(libsrconverter)
+
+cmake_minimum_required(VERSION 2.4.7)
+
+if(COMMAND cmake_policy)
+cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
+
+# qt plugin
+ADD_DEFINITIONS( -Wall )
+ADD_DEFINITIONS(${QT_DEFINITIONS})
+ADD_DEFINITIONS(-DQT_PLUGIN)
+ADD_DEFINITIONS(-DQT_NO_DEBUG)
+ADD_DEFINITIONS(-DQT_SHARED)
+ADD_DEFINITIONS(-DQT_THREAD)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+SET(QT_INCLUDES
+ ${QT_INCLUDES}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../
+)
+
+# libqmmp
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp)
+
+pkg_check_modules(SAMPLERATE samplerate)
+
+include_directories(${SAMPLERATE_INCLUDE_DIRS})
+link_directories(${SAMPLERATE_LIBRARY_DIRS})
+ADD_DEFINITIONS(${SAMPLERATE_CFLAGS})
+
+SET(libsrconverter_SRCS
+ srconverter.cpp
+ settingsdialog.cpp
+ effectsrconverterfactory.cpp
+)
+
+SET(libsrconverter_HDRS
+ srconverter.h
+)
+
+SET(libsrconverter_RCCS translations/translations.qrc)
+
+QT4_ADD_RESOURCES(libsrconverter_RCC_SRCS ${libsrconverter_RCCS})
+
+# user interface
+
+
+SET(libsrconverter_UIS
+ settingsdialog.ui
+)
+
+QT4_WRAP_UI(libsrconverter_UIS_H ${libsrconverter_UIS})
+# Don't forget to include output directory, otherwise
+# the UI file won't be wrapped!
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+IF(SAMPLERATE_FOUND)
+ADD_LIBRARY(srconverter MODULE ${libsrconverter_SRCS} ${libsrconverter_UIS_H}
+ ${libsrconverter_RCC_SRCS} ${libsrconverter_HDRS})
+add_dependencies(srconverter qmmp)
+target_link_libraries(srconverter ${QT_LIBRARIES} libqmmp ${SAMPLERATE_LDFLAGS})
+install(TARGETS srconverter DESTINATION ${LIB_DIR}/qmmp/Effect)
+ENDIF(SAMPLERATE_FOUND)
diff --git a/src/plugins/Effect/soxr/effectsoxrfactory.cpp b/src/plugins/Effect/soxr/effectsoxrfactory.cpp
new file mode 100644
index 000000000..6ea8785bf
--- /dev/null
+++ b/src/plugins/Effect/soxr/effectsoxrfactory.cpp
@@ -0,0 +1,64 @@
+/***************************************************************************
+ * Copyright (C) 2016 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <QtGui>
+#include <qmmp/qmmp.h>
+#include "settingsdialog.h"
+#include "soxresampler.h"
+#include "effectsoxrfactory.h"
+
+const EffectProperties EffectSoXRFactory::properties() const
+{
+ EffectProperties properties;
+ properties.name = tr("SoX Resampler Plugin");
+ properties.shortName = "soxr";
+ properties.hasSettings = true;
+ properties.hasAbout = true;
+ properties.priority = EffectProperties::EFFECT_PRIORITY_HIGH;
+ return properties;
+}
+
+Effect *EffectSoXRFactory::create()
+{
+ return new SoXResampler();
+}
+
+void EffectSoXRFactory::showSettings(QWidget *parent)
+{
+ SettingsDialog *s = new SettingsDialog(parent);
+ s ->show();
+}
+
+void EffectSoXRFactory::showAbout(QWidget *parent)
+{
+ QMessageBox::about (parent, tr("About SoX Resampler Plugin"),
+ tr("Qmmp SoX Resampler Plugin")+"\n"+
+ tr("Written by: Ilya Kotov <forkotov02@hotmail.ru>"));
+}
+
+QTranslator *EffectSoXRFactory::createTranslator(QObject *parent)
+{
+ QTranslator *translator = new QTranslator(parent);
+ QString locale = Qmmp::systemLanguageID();
+ translator->load(QString(":/soxr_plugin_") + locale);
+ return translator;
+}
+
+Q_EXPORT_PLUGIN2(soxr, EffectSoXRFactory)
diff --git a/src/plugins/Effect/soxr/effectsoxrfactory.h b/src/plugins/Effect/soxr/effectsoxrfactory.h
new file mode 100644
index 000000000..e0e8f43ad
--- /dev/null
+++ b/src/plugins/Effect/soxr/effectsoxrfactory.h
@@ -0,0 +1,44 @@
+/***************************************************************************
+ * Copyright (C) 2016 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef EFFECTSOXRFACTORY_H
+#define EFFECTSOXRFACTORY_H
+
+#include <QObject>
+#include <qmmp/effectfactory.h>
+#include <qmmp/effect.h>
+
+/**
+ @author Ilya Kotov <forkotov02@hotmail.ru>
+*/
+class EffectSoXRFactory : public QObject, public EffectFactory
+{
+Q_OBJECT
+Q_INTERFACES(EffectFactory);
+
+public:
+ const EffectProperties properties() const;
+ Effect *create();
+ void showSettings(QWidget *parent);
+ void showAbout(QWidget *parent);
+ QTranslator *createTranslator(QObject *parent);
+};
+
+
+#endif
diff --git a/src/plugins/Effect/soxr/settingsdialog.cpp b/src/plugins/Effect/soxr/settingsdialog.cpp
new file mode 100644
index 000000000..8adad2335
--- /dev/null
+++ b/src/plugins/Effect/soxr/settingsdialog.cpp
@@ -0,0 +1,55 @@
+/***************************************************************************
+ * Copyright (C) 2016 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <QSettings>
+#include <soxr.h>
+#include <qmmp/qmmp.h>
+#include "settingsdialog.h"
+
+SettingsDialog::SettingsDialog(QWidget *parent)
+ : QDialog(parent)
+{
+ m_ui.setupUi(this);
+ setAttribute(Qt::WA_DeleteOnClose, true);
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ m_ui.srSpinBox->setValue(settings.value("SOXR/sample_rate",48000).toInt());
+
+ m_ui.qualityComboBox->addItem(tr("Quick"), SOXR_QQ);
+ m_ui.qualityComboBox->addItem(tr("Low"), SOXR_LQ);
+ m_ui.qualityComboBox->addItem(tr("Medium"), SOXR_MQ);
+ m_ui.qualityComboBox->addItem(tr("High"), SOXR_HQ);
+ m_ui.qualityComboBox->addItem(tr("Very High"), SOXR_VHQ);
+ int index = m_ui.qualityComboBox->findData(settings.value("SOXR/quality", SOXR_HQ).toInt());
+ if(index >= 0 && index < m_ui.qualityComboBox->count())
+ m_ui.qualityComboBox->setCurrentIndex(index);
+}
+
+
+SettingsDialog::~SettingsDialog()
+{
+}
+
+void SettingsDialog::accept()
+{
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.setValue("SOXR/sample_rate",m_ui.srSpinBox->value());
+ //settings.setValue("SOXR/quality", m_ui.engineComboBox->currentIndex());
+ QDialog::accept();
+}
diff --git a/src/plugins/Effect/soxr/settingsdialog.h b/src/plugins/Effect/soxr/settingsdialog.h
new file mode 100644
index 000000000..146879f76
--- /dev/null
+++ b/src/plugins/Effect/soxr/settingsdialog.h
@@ -0,0 +1,45 @@
+/***************************************************************************
+ * Copyright (C) 2016 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef SETTINGSDIALOG_H
+#define SETTINGSDIALOG_H
+
+#include <QDialog>
+#include "ui_settingsdialog.h"
+
+/**
+ @author Ilya Kotov <forkotov02@hotmail.ru>
+*/
+class SettingsDialog : public QDialog
+{
+Q_OBJECT
+public:
+ SettingsDialog(QWidget *parent = 0);
+
+ ~SettingsDialog();
+
+public slots:
+ virtual void accept();
+
+private:
+ Ui::SettingsDialog m_ui;
+
+};
+
+#endif
diff --git a/src/plugins/Effect/soxr/settingsdialog.ui b/src/plugins/Effect/soxr/settingsdialog.ui
new file mode 100644
index 000000000..435362c88
--- /dev/null
+++ b/src/plugins/Effect/soxr/settingsdialog.ui
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SettingsDialog</class>
+ <widget class="QDialog" name="SettingsDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>360</width>
+ <height>111</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Sample Rate Converter Plugin Settings</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Sample Rate (Hz):</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2">
+ <widget class="QSpinBox" name="srSpinBox">
+ <property name="maximum">
+ <number>96000</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>48000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Quality:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2">
+ <widget class="QComboBox" name="qualityComboBox"/>
+ </item>
+ <item row="2" column="0" colspan="2">
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>228</width>
+ <height>24</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="2">
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>SettingsDialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>270</x>
+ <y>76</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>91</x>
+ <y>88</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>SettingsDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>326</x>
+ <y>78</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>139</x>
+ <y>60</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/plugins/Effect/soxr/soxr.pro b/src/plugins/Effect/soxr/soxr.pro
new file mode 100644
index 000000000..4421d8287
--- /dev/null
+++ b/src/plugins/Effect/soxr/soxr.pro
@@ -0,0 +1,32 @@
+include(../../plugins.pri)
+
+HEADERS += soxresampler.h \
+ effectsoxrfactory.h \
+ settingsdialog.h
+
+SOURCES += soxresampler.cpp \
+ effectsoxrfactory.cpp \
+ settingsdialog.cpp
+
+TARGET=$$PLUGINS_PREFIX/Effect/soxr
+QMAKE_CLEAN =$$PLUGINS_PREFIX/Effect/libsoxr.so
+INCLUDEPATH += ../../../
+CONFIG += warn_on \
+plugin \
+link_pkgconfig
+
+PKGCONFIG += soxr
+TEMPLATE = lib
+QMAKE_LIBDIR += ../../../../lib
+LIBS += -lqmmp -L/usr/lib -I/usr/include
+
+RESOURCES = translations/translations.qrc
+
+isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+}
+target.path = $$LIB_DIR/qmmp/Effect
+INSTALLS += target
+
+FORMS += settingsdialog.ui
+
diff --git a/src/plugins/Effect/soxr/soxresampler.cpp b/src/plugins/Effect/soxr/soxresampler.cpp
new file mode 100644
index 000000000..5bc876160
--- /dev/null
+++ b/src/plugins/Effect/soxr/soxresampler.cpp
@@ -0,0 +1,86 @@
+/***************************************************************************
+ * Copyright (C) 2016 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+
+#include <QSettings>
+#include <math.h>
+#include <stdlib.h>
+#include <qmmp/qmmp.h>
+#include "soxresampler.h"
+
+SoXResampler::SoXResampler() : Effect()
+{
+ m_soxr = 0;
+ m_out = 0;
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ m_overSamplingFs = settings.value("SOXR/sample_rate", 48000).toInt();
+ m_quality = soxr_quality_spec(settings.value("SOXR/quality", SOXR_HQ).toInt(), 0);
+}
+
+SoXResampler::~SoXResampler()
+{
+ freeSoXR();
+}
+
+void SoXResampler::applyEffect(Buffer *b)
+{
+ if(m_soxr && b->samples > 0)
+ {
+ size_t frames = b->samples / channels();
+ size_t done = 0;
+ soxr_process(m_soxr, b->data, frames, 0, m_out, frames, &done);
+
+ b->samples = done * channels();
+ if(b->samples > b->size)
+ {
+ delete [] b->data;
+ b->data = new float[b->samples];
+ b->size = b->samples;
+ }
+
+ memcpy(b->data, m_out, b->samples * sizeof(float));
+ }
+}
+
+void SoXResampler::configure(quint32 freq, ChannelMap map)
+{
+ freeSoXR();
+ if(freq != m_overSamplingFs)
+ {
+ soxr_error_t error = 0;
+ m_soxr = soxr_create(freq, m_overSamplingFs, map.count(), &error, 0, &m_quality, 0);
+ double ratio = (double)m_overSamplingFs/freq;
+ m_out = new float[int(ratio * QMMP_BLOCK_FRAMES * map.count() * 2 + 2)];
+ }
+ Effect::configure(m_overSamplingFs, map);
+}
+
+void SoXResampler::freeSoXR()
+{
+ if(m_soxr)
+ {
+ soxr_delete(m_soxr);
+ m_soxr = 0;
+ }
+ if(m_out)
+ {
+ delete [] m_out;
+ m_out = 0;
+ }
+}
diff --git a/src/plugins/Effect/soxr/soxresampler.h b/src/plugins/Effect/soxr/soxresampler.h
new file mode 100644
index 000000000..026d60b3c
--- /dev/null
+++ b/src/plugins/Effect/soxr/soxresampler.h
@@ -0,0 +1,48 @@
+/***************************************************************************
+ * Copyright (C) 2016 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+ ***************************************************************************/
+#ifndef SRCONVERTER_H
+#define SRCONVERTER_H
+
+#include <soxr.h>
+#include <qmmp/effect.h>
+
+/**
+ @author Ilya Kotov <forkotov02@hotmail.ru>
+*/
+
+class SoXResampler : public Effect
+{
+public:
+ SoXResampler();
+ virtual ~SoXResampler();
+
+ void applyEffect(Buffer *b);
+ void configure(quint32 freq, ChannelMap map);
+
+private:
+ void freeSoXR();
+ quint32 m_overSamplingFs;
+ float *m_out;
+ soxr_quality_spec_t m_quality;
+ soxr_t m_soxr;
+
+};
+
+#endif
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_bg.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_bg.ts
new file mode 100644
index 000000000..94c20c0be
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_bg.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="bg_BG">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_cs.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_cs.ts
new file mode 100644
index 000000000..8ab31a402
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_cs.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="cs">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilja Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Nastavení modulu SRC</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Vzorkovací frekvence (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_de.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_de.ts
new file mode 100644
index 000000000..3ef53f745
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_de.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Geschrieben von: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Einstellungen Abtastratenkonverter-Modul</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Abtastrate (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_el.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_el.ts
new file mode 100644
index 000000000..c8a39889f
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_el.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="el">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Γράφτηκε από τον: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Ρυθμίσεις πρόσθετου μετατροπής ρυθμού δειγματοληψίας</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Ρυθμός δειγματοληψίας (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_en.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_en.ts
new file mode 100644
index 000000000..914c43a64
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_en.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="en_US">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_es.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_es.ts
new file mode 100644
index 000000000..b7711ecf9
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_es.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="es">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Escrito por: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Configuración del módulo de conversión de frecuencia</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Frecuencia (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_fr.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_fr.ts
new file mode 100644
index 000000000..9f8e9e1b1
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_fr.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="fr">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Écrit par : Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Configuration du greffon de conversion d&apos;échantillonnage</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Taux d&apos;échantillonnage (Hz) :</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_gl_ES.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_gl_ES.ts
new file mode 100644
index 000000000..73b0a06d1
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_gl_ES.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="gl_ES">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Escrito por: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Opcións do engadido Sample Rate Converter</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Frecuencia (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_he.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_he.ts
new file mode 100644
index 000000000..87bb84cbb
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_he.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="he">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">חוברה על ידי: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;‎</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>הגדרות תוספת ממיר שיעור דגימה</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>שיעור דגימה (הרץ):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_hu.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_hu.ts
new file mode 100644
index 000000000..0c685b4cc
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_hu.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="hu_HU">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_it.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_it.ts
new file mode 100644
index 000000000..71f900eba
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_it.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="it">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autore: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Impostazioni del modulo di conversione campionamento</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Campionamento (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_ja.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_ja.ts
new file mode 100644
index 000000000..e8e388986
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_ja.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ja_JP">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">制作: Илья Котов (Ilya Kotov) &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>サンプルレートコンバーターの設定</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>サンプルレート (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_kk.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_kk.ts
new file mode 100644
index 000000000..1ae49dd13
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_kk.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="kk_KZ">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_lt.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_lt.ts
new file mode 100644
index 000000000..d6ef50f10
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_lt.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="lt">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Sukurta: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>SRC įskiepio nustatymai</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Diskretizacijos dažnis (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_nl.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_nl.ts
new file mode 100644
index 000000000..6445bd830
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_nl.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="nl">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Auteur: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Sample Rate Converter Module Instellingen</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Sample frequentie (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_pl_PL.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_pl_PL.ts
new file mode 100644
index 000000000..ec0890629
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_pl_PL.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl_PL">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Ustawienia wtyczki Sample Rate Converter</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Próbkowanie (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_pt.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_pt.ts
new file mode 100644
index 000000000..3a053a67c
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_pt.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pt">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Desenvolvido por: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Definições</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Frequência (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_pt_BR.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_pt_BR.ts
new file mode 100644
index 000000000..ad4be33c0
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_pt_BR.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pt_BR">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_ru.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_ru.ts
new file mode 100644
index 000000000..9b09300cf
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_ru.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Разработчик: Илья Котов &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Настройки модуля передескретизации</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Частота дискретизации (Гц):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_sk.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_sk.ts
new file mode 100644
index 000000000..52a9f82f5
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_sk.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="sk_SK">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_sr_BA.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_sr_BA.ts
new file mode 100644
index 000000000..5e9bee5b3
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_sr_BA.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="sr_BA">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Аутор: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Поставке претварача узорковања</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Узорковање (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_sr_RS.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_sr_RS.ts
new file mode 100644
index 000000000..c4d0fb825
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_sr_RS.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="sr_RS">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Аутор: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Поставке претварача узорковања</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Узорковање (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_tr.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_tr.ts
new file mode 100644
index 000000000..e1d1e41d5
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_tr.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="tr_TR">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Yazan: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Örnekleme Oranı Dönüştürücü Eklentisi Ayarları</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Örnekleme Oranı (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_uk_UA.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_uk_UA.ts
new file mode 100644
index 000000000..7669a0956
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_uk_UA.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="uk">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Розробник: Ілля Котов &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>Налаштування модуля Sample Rate Converter</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>Дискретизація семпла (Гц):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_zh_CN.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_zh_CN.ts
new file mode 100644
index 000000000..3c20c344b
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_zh_CN.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_CN">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>取样率转换插件设置</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>取样率 (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/soxr_plugin_zh_TW.ts b/src/plugins/Effect/soxr/translations/soxr_plugin_zh_TW.ts
new file mode 100644
index 000000000..24e75c163
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/soxr_plugin_zh_TW.ts
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
+<context>
+ <name>EffectSoXRFactory</name>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="30"/>
+ <source>SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="51"/>
+ <source>About SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="52"/>
+ <source>Qmmp SoX Resampler Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../effectsoxrfactory.cpp" line="53"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>Sample Rate Converter Plugin Settings</source>
+ <translation>取樣率轉換插件設定</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="20"/>
+ <source>Sample Rate (Hz):</source>
+ <translation>取樣率 (Hz):</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>Quality:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>Quick</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>Low</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Medium</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>High</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Very High</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Effect/soxr/translations/translations.qrc b/src/plugins/Effect/soxr/translations/translations.qrc
new file mode 100644
index 000000000..7511b61f4
--- /dev/null
+++ b/src/plugins/Effect/soxr/translations/translations.qrc
@@ -0,0 +1,30 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource>
+ <file>soxr_plugin_ru.qm</file>
+ <file>soxr_plugin_uk_UA.qm</file>
+ <file>soxr_plugin_zh_CN.qm</file>
+ <file>soxr_plugin_zh_TW.qm</file>
+ <file>soxr_plugin_tr.qm</file>
+ <file>soxr_plugin_cs.qm</file>
+ <file>soxr_plugin_pt_BR.qm</file>
+ <file>soxr_plugin_pt.qm</file>
+ <file>soxr_plugin_de.qm</file>
+ <file>soxr_plugin_pl_PL.qm</file>
+ <file>soxr_plugin_fr.qm</file>
+ <file>soxr_plugin_it.qm</file>
+ <file>soxr_plugin_kk.qm</file>
+ <file>soxr_plugin_lt.qm</file>
+ <file>soxr_plugin_hu.qm</file>
+ <file>soxr_plugin_nl.qm</file>
+ <file>soxr_plugin_ja.qm</file>
+ <file>soxr_plugin_sk.qm</file>
+ <file>soxr_plugin_es.qm</file>
+ <file>soxr_plugin_he.qm</file>
+ <file>soxr_plugin_gl_ES.qm</file>
+ <file>soxr_plugin_sr_BA.qm</file>
+ <file>soxr_plugin_sr_RS.qm</file>
+ <file>soxr_plugin_bg.qm</file>
+ <file>soxr_plugin_el.qm</file>
+ </qresource>
+</RCC>