aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/xmp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input/xmp')
-rw-r--r--src/plugins/Input/xmp/CMakeLists.txt45
-rw-r--r--src/plugins/Input/xmp/decoder_xmp.cpp137
-rw-r--r--src/plugins/Input/xmp/decoder_xmp.h55
-rw-r--r--src/plugins/Input/xmp/decoderxmpfactory.cpp118
-rw-r--r--src/plugins/Input/xmp/decoderxmpfactory.h42
-rw-r--r--src/plugins/Input/xmp/settingsdialog.cpp97
-rw-r--r--src/plugins/Input/xmp/settingsdialog.h46
-rw-r--r--src/plugins/Input/xmp/settingsdialog.ui142
-rw-r--r--src/plugins/Input/xmp/translations/translations.qrc33
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_bg.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_cs.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_de.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_el.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_en.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_es.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_fi.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_fr.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_gl_ES.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_he.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_hu.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_id.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_it.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_ja.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_kk.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_ko.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_lt.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_nl.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_pl_PL.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_pt.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_pt_BR.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_ru.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_sk.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_sr_BA.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_sr_RS.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_tr.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_uk_UA.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_zh_CN.ts173
-rw-r--r--src/plugins/Input/xmp/translations/xmp_plugin_zh_TW.ts173
-rw-r--r--src/plugins/Input/xmp/xmp.pro29
-rw-r--r--src/plugins/Input/xmp/xmpmetadatamodel.cpp94
-rw-r--r--src/plugins/Input/xmp/xmpmetadatamodel.h43
41 files changed, 5898 insertions, 0 deletions
diff --git a/src/plugins/Input/xmp/CMakeLists.txt b/src/plugins/Input/xmp/CMakeLists.txt
new file mode 100644
index 000000000..a422b16aa
--- /dev/null
+++ b/src/plugins/Input/xmp/CMakeLists.txt
@@ -0,0 +1,45 @@
+project(libxmp)
+
+# libqmmp
+include_directories(${QMMP_INCLUDE_DIRS})
+link_directories(${QMMP_LIBRARY_DIRS})
+
+# xmp
+pkg_search_module(XMP libxmp)
+
+include_directories(${XMP_INCLUDE_DIRS})
+link_directories(${XMP_LIBRARY_DIRS})
+ADD_DEFINITIONS(${XMP_CFLAGS})
+
+SET(libxmp_SRCS
+ decoder_xmp.cpp
+ decoderxmpfactory.cpp
+ xmpmetadatamodel.cpp
+ settingsdialog.cpp
+ xmpmetadatamodel.cpp
+)
+
+SET(libxmp_HDRS
+ decoder_xmp.h
+)
+
+SET(libxmp_RCCS translations/translations.qrc)
+
+QT5_ADD_RESOURCES(libxmp_RCC_SRCS ${libxmp_RCCS})
+
+# user interface
+
+SET(libxmp_UIS
+ settingsdialog.ui
+)
+
+QT5_WRAP_UI(libxmp_UIS_H ${libxmp_UIS})
+# Don't forget to include output directory, otherwise
+# the UI file won't be wrapped!
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+IF(XMP_FOUND)
+ADD_LIBRARY(xmp MODULE ${libxmp_SRCS} ${libxmp_UIS_H} ${libxmp_RCC_SRCS} ${libxmp_HDRS})
+target_link_libraries(xmp Qt5::Widgets ${QMMP_LDFLAGS} ${XMP_LDFLAGS})
+install(TARGETS xmp DESTINATION ${PLUGIN_DIR}/Input)
+ENDIF(XMP_FOUND)
diff --git a/src/plugins/Input/xmp/decoder_xmp.cpp b/src/plugins/Input/xmp/decoder_xmp.cpp
new file mode 100644
index 000000000..0aa52dccf
--- /dev/null
+++ b/src/plugins/Input/xmp/decoder_xmp.cpp
@@ -0,0 +1,137 @@
+/***************************************************************************
+ * Copyright (C) 2015-2021 by Ilya Kotov *
+ * forkotov02@ya.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 <QObject>
+#include <QSettings>
+#include <QDir>
+#include <QSettings>
+#include "decoder_xmp.h"
+
+// Decoder class
+
+DecoderXmp *DecoderXmp::m_instance = nullptr;
+
+DecoderXmp::DecoderXmp(const QString &path) : Decoder(nullptr), m_path(path)
+{
+ m_instance = this;
+}
+
+DecoderXmp::~DecoderXmp()
+{
+ if(m_instance == this)
+ m_instance = nullptr;
+ deinit();
+}
+
+DecoderXmp *DecoderXmp::instance()
+{
+ return m_instance;
+}
+
+bool DecoderXmp::initialize()
+{
+ m_ctx = xmp_create_context();
+
+ int err = xmp_load_module(m_ctx, m_path.toLocal8Bit().data());
+ if(err != 0)
+ {
+ qWarning("DecoderXmp: unable to load module file, error = %d", err);
+ xmp_free_context(m_ctx);
+ m_ctx = nullptr;
+ return false;
+ }
+
+ xmp_module_info mi;
+ xmp_get_module_info(m_ctx, &mi);
+
+ m_totalTime = mi.seq_data[0].duration;
+
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ m_srate = settings.value("Xmp/sample_rate", 44100).toInt();
+
+ xmp_start_player(m_ctx, m_srate, 0);
+ readSettings();
+
+ configure(m_srate, 2, Qmmp::PCM_S16LE);
+ return true;
+}
+
+qint64 DecoderXmp::totalTime() const
+{
+ return m_totalTime;
+}
+
+int DecoderXmp::bitrate() const
+{
+ return 8;
+}
+
+qint64 DecoderXmp::read(unsigned char *audio, qint64 maxSize)
+{
+ int c = xmp_play_buffer(m_ctx, audio, maxSize, 1);
+
+ if(c == 0)
+ return maxSize;
+ else if(c == -XMP_END)
+ return 0;
+
+ return -1;
+}
+
+void DecoderXmp::seek(qint64 pos)
+{
+ xmp_seek_time(m_ctx, pos);
+}
+
+void DecoderXmp::deinit()
+{
+ if(m_ctx)
+ {
+ xmp_end_player(m_ctx);
+ xmp_release_module(m_ctx);
+ xmp_free_context(m_ctx);
+ m_ctx = nullptr;
+ }
+}
+
+void DecoderXmp::readSettings()
+{
+ if(m_ctx)
+ {
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.beginGroup("Xmp");
+ xmp_set_player(m_ctx, XMP_PLAYER_AMP, settings.value("amp_factor", 1).toInt());
+ xmp_set_player(m_ctx, XMP_PLAYER_MIX, settings.value("stereo_mix", 70).toInt());
+ xmp_set_player(m_ctx, XMP_PLAYER_INTERP, settings.value("interpolation", XMP_INTERP_LINEAR).toInt());
+ int flags = 0;
+ if(settings.value("lowpass", false).toBool())
+ flags |= XMP_DSP_LOWPASS;
+ xmp_set_player(m_ctx, XMP_PLAYER_DSP, flags);
+ flags = 0;
+ if(settings.value("vblank", false).toBool())
+ flags |= XMP_FLAGS_VBLANK;
+ if(settings.value("fx9bug", false).toBool())
+ flags |= XMP_FLAGS_FX9BUG;
+ xmp_set_player(m_ctx, XMP_PLAYER_FLAGS, flags);
+
+
+ settings.endGroup();
+ }
+}
diff --git a/src/plugins/Input/xmp/decoder_xmp.h b/src/plugins/Input/xmp/decoder_xmp.h
new file mode 100644
index 000000000..dafe38764
--- /dev/null
+++ b/src/plugins/Input/xmp/decoder_xmp.h
@@ -0,0 +1,55 @@
+/***************************************************************************
+ * Copyright (C) 2015-2021 by Ilya Kotov *
+ * forkotov02@ya.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 DECODER_XMP_H
+#define DECODER_XMP_H
+
+#include <qmmp/decoder.h>
+#include <xmp.h>
+
+class DecoderXmp : public Decoder
+{
+public:
+ explicit DecoderXmp(const QString &path);
+ virtual ~DecoderXmp();
+
+ static DecoderXmp *instance();
+ void readSettings();
+ // Standard Decoder API
+ bool initialize() override;
+ qint64 totalTime() const override;
+ int bitrate() const override;
+ qint64 read(unsigned char *audio, qint64 maxSize) override;
+ void seek(qint64 time) override;
+
+
+private:
+ //helper function
+ void deinit();
+
+ xmp_context m_ctx = nullptr;
+ qint64 m_totalTime = 0;
+ QString m_path;
+ quint32 m_srate = 44100;
+
+ static DecoderXmp *m_instance;
+};
+
+#endif // DECODER_XMP_H
diff --git a/src/plugins/Input/xmp/decoderxmpfactory.cpp b/src/plugins/Input/xmp/decoderxmpfactory.cpp
new file mode 100644
index 000000000..3e10b614c
--- /dev/null
+++ b/src/plugins/Input/xmp/decoderxmpfactory.cpp
@@ -0,0 +1,118 @@
+/***************************************************************************
+ * Copyright (C) 2015-2019 by Ilya Kotov *
+ * forkotov02@ya.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 <QStringList>
+#include <QMessageBox>
+#include <xmp.h>
+#include "settingsdialog.h"
+#include "decoder_xmp.h"
+#include "xmpmetadatamodel.h"
+#include "decoderxmpfactory.h"
+
+// DecodeXmpFactory
+
+bool DecoderXmpFactory::canDecode(QIODevice *) const
+{
+ return false;
+}
+
+DecoderProperties DecoderXmpFactory::properties() const
+{
+ DecoderProperties properties;
+ properties.name = tr("XMP Plugin");
+ properties.filters = QStringList { "*.mod", "*.m15", "*.nt", "*.flx", "*.wow",
+ "*.dbm", "*.digi", "*.emod", "*.med", "*.mtn", "*.okt", "*.sfx",
+ "*.dtm", "*.gtk", "*.mgt",
+ "*.669", "*.far", "*.fnk", "*.imf", "*.it", "*.liq", "*.mdl",
+ "*.mtm", "*.rtm", "*.s3m", "*.stm", "*.ult", "*.xm",
+ "*.amf", "*.gdm", "*.stx",
+ "*.abk", "*.amf", "*.psm", "*.j2b", "*.mfp", "*.smp", "*.stim", "*.umx",
+ "*.amd", "*.rad", "*.hsc", "*.s3m",
+ "*.xm", "*.s3z", "*.s3r", "*.s3gz",
+ "*.mdz", "*.mdr", "*.mdbz", "*.mdgz",
+ "*.itz", "*.itr", "*.itgz",
+ "*.xmr", "*.xmgz", "*.xmz" };
+ properties.description = tr("Module Files");
+ //properties.contentType = ;
+ properties.shortName = "xmp";
+ properties.hasAbout = true;
+ properties.hasSettings = true;
+ properties.noInput = true;
+ properties.protocols << "file";
+ properties.priority = 10;
+ return properties;
+}
+
+Decoder *DecoderXmpFactory::create(const QString &path, QIODevice *input)
+{
+ Q_UNUSED(input);
+ return new DecoderXmp(path);
+}
+
+QList<TrackInfo *> DecoderXmpFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *)
+{
+ QList <TrackInfo*> list;
+ TrackInfo *info = new TrackInfo(path);
+ if(parts & (TrackInfo::MetaData | TrackInfo::Properties))
+ {
+ xmp_context ctx = xmp_create_context();
+ if(xmp_load_module(ctx, path.toLocal8Bit().data()) != 0)
+ {
+ qWarning("DecoderXmpFactory: unable to load module");
+ xmp_free_context(ctx);
+ delete info;
+ return list;
+ }
+ xmp_module_info mi;
+ xmp_get_module_info(ctx, &mi);
+ info->setValue(Qmmp::TITLE, mi.mod->name);
+ info->setValue(Qmmp::FORMAT_NAME, mi.mod->type);
+ info->setDuration(mi.seq_data[0].duration);
+ xmp_release_module(ctx);
+ xmp_free_context(ctx);
+ }
+ list << info;
+ return list;
+}
+
+MetaDataModel* DecoderXmpFactory::createMetaDataModel(const QString &path, bool readOnly)
+{
+ Q_UNUSED(readOnly);
+ return new XmpMetaDataModel(path);
+}
+
+void DecoderXmpFactory::showSettings(QWidget *parent)
+{
+ SettingsDialog *d = new SettingsDialog(parent);
+ d->show();
+}
+
+void DecoderXmpFactory::showAbout(QWidget *parent)
+{
+ QMessageBox::about (parent, tr("About XMP Audio Plugin"),
+ tr("Qmmp XMP Audio Plugin")+"\n"+
+ tr("Written by: Ilya Kotov <forkotov02@ya.ru>")+"\n"+
+ tr("Compiled against libxmp-%1").arg(XMP_VERSION));
+}
+
+QString DecoderXmpFactory::translation() const
+{
+ return QString(":/xmp_plugin_");
+}
diff --git a/src/plugins/Input/xmp/decoderxmpfactory.h b/src/plugins/Input/xmp/decoderxmpfactory.h
new file mode 100644
index 000000000..e3a8a77ea
--- /dev/null
+++ b/src/plugins/Input/xmp/decoderxmpfactory.h
@@ -0,0 +1,42 @@
+/***************************************************************************
+ * Copyright (C) 2015-2019 by Ilya Kotov *
+ * forkotov02@ya.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 DECODERXMPFACTORY_H
+#define DECODERXMPFACTORY_H
+
+#include <qmmp/decoderfactory.h>
+
+class DecoderXmpFactory : public QObject, DecoderFactory
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qmmp.qmmp.DecoderFactoryInterface.1.0")
+ Q_INTERFACES(DecoderFactory)
+
+public:
+ bool canDecode(QIODevice *input) const override;
+ DecoderProperties properties() const override;
+ Decoder *create(const QString &, QIODevice *) override;
+ QList<TrackInfo *> createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) override;
+ MetaDataModel* createMetaDataModel(const QString &path, bool readOnly) override;
+ void showSettings(QWidget *parent) override;
+ void showAbout(QWidget *parent) override;
+ QString translation() const override;
+};
+
+#endif
diff --git a/src/plugins/Input/xmp/settingsdialog.cpp b/src/plugins/Input/xmp/settingsdialog.cpp
new file mode 100644
index 000000000..ca2d3cc1a
--- /dev/null
+++ b/src/plugins/Input/xmp/settingsdialog.cpp
@@ -0,0 +1,97 @@
+/***************************************************************************
+ * Copyright (C) 2015-2021 by Ilya Kotov *
+ * forkotov02@ya.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 <QDir>
+#include <xmp.h>
+#include "decoder_xmp.h"
+#include "settingsdialog.h"
+
+SettingsDialog::SettingsDialog(QWidget *parent)
+ : QDialog(parent)
+{
+ m_ui.setupUi(this);
+ setAttribute(Qt::WA_DeleteOnClose);
+ //prepare combobox
+ m_ui.srateComboBox->addItem(tr("22050 Hz"), 22050);
+ m_ui.srateComboBox->addItem(tr("44100 Hz"), 44100);
+ m_ui.srateComboBox->addItem(tr("48000 Hz"), 48000);
+ m_ui.intTypeComboBox->addItem(tr("Nearest neighbor"), XMP_INTERP_NEAREST);
+ m_ui.intTypeComboBox->addItem(tr("Linear"), XMP_INTERP_LINEAR);
+ m_ui.intTypeComboBox->addItem(tr("Cubic spline"), XMP_INTERP_SPLINE);
+ //load settings
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.beginGroup("Xmp");
+ m_ui.ampFactorSpinBox->setValue(settings.value("amp_factor", 1).toInt());
+ m_ui.stereoMixingSpinBox->setValue(settings.value("stereo_mix", 70).toInt());
+ int index = m_ui.intTypeComboBox->findData(settings.value("interpolation", XMP_INTERP_LINEAR).toInt());
+ if(index >= 0)
+ m_ui.intTypeComboBox->setCurrentIndex(index);
+ index = m_ui.srateComboBox->findData(settings.value("sample_rate", 44100).toInt());
+ if(index >= 0)
+ m_ui.srateComboBox->setCurrentIndex(index);
+ m_ui.lowPassCheckBox->setChecked(settings.value("lowpass", false).toBool());
+ m_ui.vblankCheckBox->setChecked(settings.value("vblank", false).toBool());
+ m_ui.fx9BugCheckBox->setChecked(settings.value("fx9bug", false).toBool());
+ settings.endGroup();
+}
+
+
+SettingsDialog::~SettingsDialog()
+{}
+
+void SettingsDialog::writeSettings()
+{
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.beginGroup("Xmp");
+ settings.setValue("amp_factor", m_ui.ampFactorSpinBox->value());
+ settings.setValue("stereo_mix", m_ui.stereoMixingSpinBox->value());
+ int index = m_ui.intTypeComboBox->currentIndex();
+ if(index >= 0)
+ settings.setValue("interpolation", m_ui.intTypeComboBox->itemData(index));
+ index = m_ui.srateComboBox->currentIndex();
+ if(index >= 0)
+ settings.setValue("sample_rate", m_ui.srateComboBox->itemData(index));
+ settings.setValue("lowpass", m_ui.lowPassCheckBox->isChecked());
+ settings.setValue("vblank", m_ui.vblankCheckBox->isChecked());
+ settings.setValue("fx9bug", m_ui.fx9BugCheckBox->isChecked());
+ settings.endGroup();
+ //apply settings for the created decoder
+ if (DecoderXmp::instance())
+ {
+ //DecoderXmp::instance()->mutex()->lock();
+ DecoderXmp::instance()->readSettings();
+ //DecoderXmp::instance()->mutex()->unlock();
+ }
+}
+
+void SettingsDialog::on_buttonBox_clicked(QAbstractButton *button)
+{
+ switch ((int) m_ui.buttonBox->buttonRole(button))
+ {
+ case QDialogButtonBox::AcceptRole:
+ writeSettings();
+ accept();
+ break;
+ case QDialogButtonBox::ApplyRole:
+ writeSettings();
+ break;
+ }
+}
diff --git a/src/plugins/Input/xmp/settingsdialog.h b/src/plugins/Input/xmp/settingsdialog.h
new file mode 100644
index 000000000..692602d00
--- /dev/null
+++ b/src/plugins/Input/xmp/settingsdialog.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+ * Copyright (C) 2015-2021 by Ilya Kotov *
+ * forkotov02@ya.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@ya.ru>
+*/
+class SettingsDialog : public QDialog
+{
+Q_OBJECT
+public:
+ SettingsDialog(QWidget *parent = nullptr);
+
+ ~SettingsDialog();
+
+private slots:
+ void writeSettings();
+ void on_buttonBox_clicked(QAbstractButton *);
+
+private:
+ Ui::SettingsDialog m_ui;
+
+};
+
+#endif
diff --git a/src/plugins/Input/xmp/settingsdialog.ui b/src/plugins/Input/xmp/settingsdialog.ui
new file mode 100644
index 000000000..d5d4bae01
--- /dev/null
+++ b/src/plugins/Input/xmp/settingsdialog.ui
@@ -0,0 +1,142 @@
+<?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>448</width>
+ <height>265</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>XMP Plugin Settings</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="leftMargin">
+ <number>6</number>
+ </property>
+ <property name="rightMargin">
+ <number>6</number>
+ </property>
+ <property name="bottomMargin">
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string> Amplification factor:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="ampFactorSpinBox">
+ <property name="maximum">
+ <number>3</number>
+ </property>
+ <property name="value">
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Stereo mixing:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QSpinBox" name="stereoMixingSpinBox">
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>70</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string> Interpolation type:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QComboBox" name="intTypeComboBox"/>
+ </item>
+ <item row="4" column="0" colspan="2">
+ <widget class="QCheckBox" name="lowPassCheckBox">
+ <property name="text">
+ <string>Lowpass filter effect</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <widget class="QCheckBox" name="vblankCheckBox">
+ <property name="text">
+ <string>Use vblank timing</string>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0" colspan="2">
+ <widget class="QCheckBox" name="fx9BugCheckBox">
+ <property name="text">
+ <string>Emulate Protracker 2.x FX9 bug</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Sample rate:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="srateComboBox"/>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>SettingsDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>294</x>
+ <y>362</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>170</x>
+ <y>371</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/plugins/Input/xmp/translations/translations.qrc b/src/plugins/Input/xmp/translations/translations.qrc
new file mode 100644
index 000000000..992e2e27a
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/translations.qrc
@@ -0,0 +1,33 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource>
+ <file>xmp_plugin_ru.qm</file>
+ <file>xmp_plugin_uk_UA.qm</file>
+ <file>xmp_plugin_zh_CN.qm</file>
+ <file>xmp_plugin_zh_TW.qm</file>
+ <file>xmp_plugin_tr.qm</file>
+ <file>xmp_plugin_cs.qm</file>
+ <file>xmp_plugin_pt_BR.qm</file>
+ <file>xmp_plugin_pt.qm</file>
+ <file>xmp_plugin_de.qm</file>
+ <file>xmp_plugin_pl_PL.qm</file>
+ <file>xmp_plugin_fr.qm</file>
+ <file>xmp_plugin_it.qm</file>
+ <file>xmp_plugin_kk.qm</file>
+ <file>xmp_plugin_ko.qm</file>
+ <file>xmp_plugin_lt.qm</file>
+ <file>xmp_plugin_hu.qm</file>
+ <file>xmp_plugin_nl.qm</file>
+ <file>xmp_plugin_ja.qm</file>
+ <file>xmp_plugin_sk.qm</file>
+ <file>xmp_plugin_es.qm</file>
+ <file>xmp_plugin_he.qm</file>
+ <file>xmp_plugin_gl_ES.qm</file>
+ <file>xmp_plugin_sr_BA.qm</file>
+ <file>xmp_plugin_sr_RS.qm</file>
+ <file>xmp_plugin_bg.qm</file>
+ <file>xmp_plugin_el.qm</file>
+ <file>xmp_plugin_id.qm</file>
+ <file>xmp_plugin_fi.qm</file>
+ </qresource>
+</RCC>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_bg.ts b/src/plugins/Input/xmp/translations/xmp_plugin_bg.ts
new file mode 100644
index 000000000..59285a5dd
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_bg.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="bg">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_cs.ts b/src/plugins/Input/xmp/translations/xmp_plugin_cs.ts
new file mode 100644
index 000000000..3d4eb48af
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_cs.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="cs">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Vzorkovací kmitočet:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Vzorky</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Nástroje</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Poznámka</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_de.ts b/src/plugins/Input/xmp/translations/xmp_plugin_de.ts
new file mode 100644
index 000000000..0dd447b98
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_de.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="de">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>XMP-Modul</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Moduldateien</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Über XMP-Audiomodul</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Qmmp XMP-Audiomodul</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Geschrieben von: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Kompiliert gegen libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>XMP-Moduleinstellungen</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Verstärkungsfaktor:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Stereoabmischung:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation> Interpolationstyp:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Tiefpassfiltereffekt</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Vertikale Austastlückenabstimmung verwenden</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Protracker 2.x FX9-Fehler emulieren</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Abtastrate:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Nächster Nachbar</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Linear</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Kubischer Spline</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Lautstärkenskalierung</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Anzahl der Muster</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Anzahl der Titel</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Titel pro Muster</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Anzahl der Instrumente</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Anzahl der Abtastwerte</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Anfangsgeschwindigkeit</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>Anfangs-BPM</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Modullänge in Muster</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Abtastwerte</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instrumente</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Kommentar</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_el.ts b/src/plugins/Input/xmp/translations/xmp_plugin_el.ts
new file mode 100644
index 000000000..4dcfc6c85
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_el.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="el">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Πρόσθετο XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Αρχεία αρθρώματος</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Περί του πρόσθετο ήχου XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Qmmp πρόσθετο ήχου XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Γράφτηκε από τον: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Μεταγλωττίστηκε χρησιμοποιώντας την βιβλιοθήκη libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Ρυθμίσεις πρόσθετου XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation> Συντελεστής ενίσχυσης:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Στερεοφωνική μίξη:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation> Τύπος παρεμβολής:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Τέχνασμα φίλτρου χαμηλών συχνοτήτων</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Χρήση χρονισμού vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Σφάλμα προσομοίωσης Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Ρυθμός δειγματοληψίας:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Κοντινότερος γείτονας</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Γραμμικό</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Κυβική πολυωνυμική συνάρτηση (spline)</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Κλίμακα έντασης</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Αριθμός σχηματομορφών</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Αριθμός κομματιών</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Κομμάτια ανά σχηματομορφή</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Αριθμός οργάνων</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Αριθμός δειγμάτων</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Αρχική ταχύτητα</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>Αρχικό BPM</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Μήκος αρθρώματος στις σχηματομορφές</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Δείγματα</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Όργανα</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Σχόλιο</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_en.ts b/src/plugins/Input/xmp/translations/xmp_plugin_en.ts
new file mode 100644
index 000000000..88fdb4c88
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_en.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="en_US">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_es.ts b/src/plugins/Input/xmp/translations/xmp_plugin_es.ts
new file mode 100644
index 000000000..0184f56ba
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_es.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="es">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Módulo XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Archivos de Módulo</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Acerca del Módulo de Audio XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Módulo de Audio XMP de Qmmp</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Escrito por: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Compilado contra libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Configuración de Módulo XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Factor de amplificación:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Mezclado estéreo:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Tipo de interpolador:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Efecto del filtro de paso bajo</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Usar el tiempo vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Emular error FX9 de Protracker 2.x</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Tasa de muestreo:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Vecino más cercano</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Lineal</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Ranura cúbica</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Escala de volumen</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Número de patrones</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Número de pistas</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Pistas por patrón</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Número de instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Número de muestreos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Velocidad inicial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>BPM inicial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Longitud del módulo en patrones</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Muestreo</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Comentario</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_fi.ts b/src/plugins/Input/xmp/translations/xmp_plugin_fi.ts
new file mode 100644
index 000000000..7259b1027
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_fi.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="fi">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>XMP-liitännäinen</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Toteuttanut: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>XMP-liitännäisen asetukset</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Näytteenottotaajuus:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Kommentti</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_fr.ts b/src/plugins/Input/xmp/translations/xmp_plugin_fr.ts
new file mode 100644
index 000000000..93626ee90
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_fr.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="fr">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Greffon XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Fichiers Module</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>A propos du greffon audio XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Greffon audio XMP Qmmp</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Écrit par : Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Compilé avec libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Paramètres du greffon XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Facteur d&apos;amplification</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Mixing Stéréo</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Type d&apos;interpolation</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Filtre avec effet lowpass</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Utiliser le timing vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Emuler le bug Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Taux du sample</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Voisin le plus proche</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Linéaire</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Spline cubique</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Hauteur du volume</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Nombre de patterns</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Nombre de pistes</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Pistes par pattern</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Nombre d&apos;instruments</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Nombre de samples</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Vitesse initiale</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>BPM initial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Longueur du module en pattern</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Samples</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instruments</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Commentaire</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_gl_ES.ts b/src/plugins/Input/xmp/translations/xmp_plugin_gl_ES.ts
new file mode 100644
index 000000000..b1fc24931
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_gl_ES.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="gl_ES">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Plugin XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Ficheiros de modulación</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Acerca do plugin XMP Audio</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Plugin Qmmp XMP Audio</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Escrito por: LLya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Compilando con libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Preferencias do plugin XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Factor de amplificación:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Mestura Estéreo:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Tipo de interpolación:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Filtro de efecto de paso baixo:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Utilizar sincronización vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Emular erro do Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Taxa de mostra:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Veciño máis próximo</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Lineal</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Interpolación cúbica</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Escala do volume</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Número de patróns</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Número de pistas</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Pistas por patrón</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Número de instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Número de mostras</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Velocidade inicial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>BPM iniciais</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Lonxitude do módulo en patróns</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Mostras</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Comentarios</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_he.ts b/src/plugins/Input/xmp/translations/xmp_plugin_he.ts
new file mode 100644
index 000000000..87d4690a6
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_he.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="he">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>תוסף XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>קבצי מודול</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>אודות תוסף XMP שמע</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>תוסף XMP שמע של Qmmp</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>הודרה כנגד libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>הגדרות תוסף XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>שיעור דגימה:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 הרץ</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 הרץ</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 הרץ</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>לינארית</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>דגימות</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>מכשירים</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>הערה</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_hu.ts b/src/plugins/Input/xmp/translations/xmp_plugin_hu.ts
new file mode 100644
index 000000000..91070af3a
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_hu.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="hu">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Megjegyzés</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_id.ts b/src/plugins/Input/xmp/translations/xmp_plugin_id.ts
new file mode 100644
index 000000000..d27f7e2a3
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_id.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="id_ID">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_it.ts b/src/plugins/Input/xmp/translations/xmp_plugin_it.ts
new file mode 100644
index 000000000..deb58ade9
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_it.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="it">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Estensione XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>File Module</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Informazioni sull&apos;estensione audio XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Estensione audio XMP per Qmmp</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Autori: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Compilato con libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Impostazioni dell&apos;estensione XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Fattore di amplificazione:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Tipo di interpolazione:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Effetto filtro passa basso</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Usa l&apos;intervallo vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Emula il bug di Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Frequenza di campionamento:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Vicino più prossimo</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Lineare</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Spline cubica</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Scala volume</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Numero di tracce</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Numero di strumenti</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Numero di campioni</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Velocità iniziale</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>BPM iniziali</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Campioni</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Strumenti</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Commento</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_ja.ts b/src/plugins/Input/xmp/translations/xmp_plugin_ja.ts
new file mode 100644
index 000000000..029cd54de
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_ja.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ja_JP">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>XMP プラグイン</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>モジュールファイル</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>XMP 音響プラグインについて</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>QMMP XMP 音響プラグイン</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>制作: Илья Котов (Ilya Kotov) &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>libxmp-%1 を使用してコンパイル</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>XMP プラグイン設定</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation> 増幅率:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>ステレオミキシング:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation> 補間方法:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>低域通過フィルター効果</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>vblank (垂直帰線区間) 時を利用</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Protracker 2.x FX9 バグを再現</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>サンプルレート:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>最近傍</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>線形</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>三次スプライン</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>音量目盛</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>パターン個数</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>トラック個数</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>パターン毎のトラック個数</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>楽器個数</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>サンプル個数</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>初速</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>初拍数 (BPM)</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>パターンのモジュール長</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>サンプル</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>楽器</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>コメント</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_kk.ts b/src/plugins/Input/xmp/translations/xmp_plugin_kk.ts
new file mode 100644
index 000000000..475719283
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_kk.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="kk_KZ">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_ko.ts b/src/plugins/Input/xmp/translations/xmp_plugin_ko.ts
new file mode 100644
index 000000000..6b96cfe76
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_ko.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ko">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>XMP 오디오 플러그인</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>모듈 파일</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>XMP 오디오 플러그인 정보</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Qmmp XMP 오디오 플러그인</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>작성자: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>libxmp-%1에 대해 컴파일됨</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>XMP 플러그인 설정</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>증폭률:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>스테레오 믹싱:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>보간 유형:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>로우패스 필터 효과</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>vblank 타이밍 사용</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Protracker 2.x FX9 버그 에뮬레이션</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>샘플 레이트:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>최근접</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>선형</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>큐빅 스플라인</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>볼륨 스케일</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>패턴 수</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>트랙 수</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>패턴당 트랙 수</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>악기 수</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>샘플 수</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>초기 속도</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>초기 BPM</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>패턴의 모듈 길이</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>샘플</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>악기</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>해설</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_lt.ts b/src/plugins/Input/xmp/translations/xmp_plugin_lt.ts
new file mode 100644
index 000000000..0f5225941
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_lt.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="lt_LT">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_nl.ts b/src/plugins/Input/xmp/translations/xmp_plugin_nl.ts
new file mode 100644
index 000000000..9df13e857
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_nl.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="nl">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>XMP-plug-in</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Modulebestanden</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Over de XMP-audioplug-in</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Qmmp XMP-audioplug-in</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Auteur: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Gebouwd met libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Instellingen</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Versterkingsfactor:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Stereo mixen:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Soort interpolatie:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Lowpass-filtereffect</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>vblank-timer gebruiken</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Protracker 2.x FX9-bug nabootsen</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Samplesnelheid:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Nabije buur</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Lineair</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Cubic spline</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Volumeschaal</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Aantal patronen</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Aantal nummers</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Aantal nummers per patroon</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Aantal instrumenten</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Aantal samples</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Initële snelheid</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>Initiële BPM</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Moduleduur, in patronen</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Samples</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instrumenten</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Opmerking</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_pl_PL.ts b/src/plugins/Input/xmp/translations/xmp_plugin_pl_PL.ts
new file mode 100644
index 000000000..ab1f6c979
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_pl_PL.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pl_PL">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Wtyczka XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Pliki modułów</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>O wtyczcie dźwiękowej XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Wtyczka dźwiękowa XMP dla Qmmp</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Napisana przez: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Skompilowana z biblioteką libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Ustawienia wtyczki XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Współczynnik wzmocnienia:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Miksowanie stereo:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Typ interpolacji:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Efekt filtru dolnoprzepustowego</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Użyj timingu vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Emuluj błąd Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Próbkowanie:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Najbliższy sąsiad</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Liniowy</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Cubic spline</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Skala głośności</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Liczba wzorców</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Liczba ścieżek</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Ścieżki na wzorzec</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Liczba instrumentów</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Liczba próbek</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Prędkość początkowa</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>BPM początkowe</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Długość modułu we wzorcach</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Próbki</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instrumenty</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Komentarz</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_pt.ts b/src/plugins/Input/xmp/translations/xmp_plugin_pt.ts
new file mode 100644
index 000000000..11b23aa14
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_pt.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pt">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Suplemento XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Ficheiros MOD</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Acerca de suplemento XMP Audio</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Suplemento Qmmp XMP Audio</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Desenvolvido por: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Compilado com libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Definições</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Fator de amplificação:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Mistura estéreo:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Tipo de interpolação:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Efeito lowpass</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Utilizar temporização vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Emular erro Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Frequência:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Vizinhança mais próxima</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Linear</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Spline cúbica</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Escala de volume</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Número de padrões</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Número de faixas</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Faixas por padrão</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Número de instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Número de amostras</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Velocidade inicial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>BPM inicial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Tamanho do módulo em padrões</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Amostras</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Comentário</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_pt_BR.ts b/src/plugins/Input/xmp/translations/xmp_plugin_pt_BR.ts
new file mode 100644
index 000000000..87b6e910f
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_pt_BR.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="pt_BR">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Plugin XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Arquivos MOD</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Sobre o plugin XMP Audio</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Plugin Qmmp XMP Audio</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Compilado com libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Preferências do plugin XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Fator de amplificação:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Mixagem estéreo:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Tipo de interpolação:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Efeito lowpass</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Utilizar temporização vblank</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Emular erro Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Frequência:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Vizinhança mais próxima</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Linear</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Spline cúbica</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Escala de volume</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Número de padrões</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Número de faixas</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Faixas por padrão</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Número de instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Número de amostras</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Velocidade inicial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>BPM inicial</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Tamanho do módulo em padrões</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Amostras</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Instrumentos</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Comentário</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_ru.ts b/src/plugins/Input/xmp/translations/xmp_plugin_ru.ts
new file mode 100644
index 000000000..2413bb86a
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_ru.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="ru">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Модуль XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Трекерная музыка</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Об аудио-модуле XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Аудио-модуль XMP для Qmmp</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Разработчик: Илья Котов &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Собрано с libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Настройки модуля XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>Усиление:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Смешивание каналов:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>Тип интерполяции:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Низкочастотный фильтр</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Использовать кадровый гасящий импульс</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Эмулировать ошибку Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Частота дискретизации:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Гц</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Гц</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Гц</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Методом ближайшего соседа</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Линейная</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Кубическими сплайнами</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Усиление</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Число паттернов</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Число треков</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Треков в паттерне</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>Число инструментов</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Число сэмплов</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Начальная скорость</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>Начальное число нот в минуту</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Длина в паттернах</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Сэмплы</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Инструменты</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Комментарий</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_sk.ts b/src/plugins/Input/xmp/translations/xmp_plugin_sk.ts
new file mode 100644
index 000000000..44e6ece98
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_sk.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="sk">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Komentár</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_sr_BA.ts b/src/plugins/Input/xmp/translations/xmp_plugin_sr_BA.ts
new file mode 100644
index 000000000..403d2f713
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_sr_BA.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="sr_BA">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_sr_RS.ts b/src/plugins/Input/xmp/translations/xmp_plugin_sr_RS.ts
new file mode 100644
index 000000000..eadb3be70
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_sr_RS.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="sr_RS">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Аутор: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Узорковање:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Узорци</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Инструменти</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>коментар</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_tr.ts b/src/plugins/Input/xmp/translations/xmp_plugin_tr.ts
new file mode 100644
index 000000000..a8cbda0d0
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_tr.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="tr">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Yazan: Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Yorum</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_uk_UA.ts b/src/plugins/Input/xmp/translations/xmp_plugin_uk_UA.ts
new file mode 100644
index 000000000..77080f55b
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_uk_UA.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="uk_UA">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>Модуль XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>Трекерна музика</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>Про аудіо-модуль XMP</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Аудіо-модуль XMP для Qmmp</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>Розробник: Ілля Котов &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>Зібрано з libxmp-%1</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>Налаштування модуля XMP</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation> Підсилення:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>Змішування каналів:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation> Тип інтерполяції:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>Низькочастотний фільтр</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>Використовувати кадровий імпульс гасіння</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>Імітувати помилку Protracker 2.x FX9</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>Частота дискретизації:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Гц</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Гц</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Гц</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>Методом ближчогого сусіда</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>Лінійна</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>Кубічними сплайнами</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>Підсилення</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>Кількість паттернів</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>Кількість треків</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>Треків на паттерн</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>ількість інструментів</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>Кількість семплів</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>Початкова швидкість</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>Початкова кількість нот за хвилину</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>Довжина в паттернах</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>Семпли</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>Інструменти</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>Коментар</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_zh_CN.ts b/src/plugins/Input/xmp/translations/xmp_plugin_zh_CN.ts
new file mode 100644
index 000000000..ad21754ca
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_zh_CN.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="zh_CN">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>XMP插件</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>模块文件</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation>关于XMP音频插件</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation>Qmmp XMP音频插件</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation>对照libxmp-%1进行了编译</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation>XMP插件设置</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation>扩音比率:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation>立体声混合:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation>插音类型:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation>低音通过过滤效果</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation>使用vblank时间管理</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation>模拟Protracker 2.x FX9问题</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>取样率:</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100赫兹</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000赫兹</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation>最近的邻居</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation>线性</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation>三次样条</translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation>音量范围</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation>样式数量</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation>音轨数量</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation>每种样式的音轨</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation>乐器数量</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation>样品数量</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation>初始速度</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation>初始BPM(每分钟拍数)</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation>样式中的模长</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>取样率</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>乐器</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>评论</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/translations/xmp_plugin_zh_TW.ts b/src/plugins/Input/xmp/translations/xmp_plugin_zh_TW.ts
new file mode 100644
index 000000000..5d29a2276
--- /dev/null
+++ b/src/plugins/Input/xmp/translations/xmp_plugin_zh_TW.ts
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="zh_TW">
+<context>
+ <name>DecoderXmpFactory</name>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="39"/>
+ <source>XMP Plugin</source>
+ <translation>XMP 外掛</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="52"/>
+ <source>Module Files</source>
+ <translation>模組檔案</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="109"/>
+ <source>About XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="110"/>
+ <source>Qmmp XMP Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="111"/>
+ <source>Written by: Ilya Kotov &lt;forkotov02@ya.ru&gt;</source>
+ <translation>撰寫:Ilya Kotov &lt;forkotov02@ya.ru&gt;</translation>
+ </message>
+ <message>
+ <location filename="../decoderxmpfactory.cpp" line="112"/>
+ <source>Compiled against libxmp-%1</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>XMP Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="34"/>
+ <source> Amplification factor:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="51"/>
+ <source>Stereo mixing:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="68"/>
+ <source> Interpolation type:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="78"/>
+ <source>Lowpass filter effect</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="85"/>
+ <source>Use vblank timing</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="92"/>
+ <source>Emulate Protracker 2.x FX9 bug</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="99"/>
+ <source>Sample rate:</source>
+ <translation>取樣率</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="33"/>
+ <source>22050 Hz</source>
+ <translation>22050 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="34"/>
+ <source>44100 Hz</source>
+ <translation>44100 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>48000 Hz</source>
+ <translation>48000 Hz</translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>Nearest neighbor</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="37"/>
+ <source>Linear</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="38"/>
+ <source>Cubic spline</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
+ <name>XmpMetaDataModel</name>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="52"/>
+ <source>Volume scale</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="53"/>
+ <source>Number of patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="54"/>
+ <source>Number of tracks</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="55"/>
+ <source>Tracks per pattern</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="56"/>
+ <source>Number of instruments</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="57"/>
+ <source>Number of samples</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="58"/>
+ <source>Initial speed</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="59"/>
+ <source>Initial BPM</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="60"/>
+ <source>Module length in patterns</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="79"/>
+ <source>Samples</source>
+ <translation>取樣率</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="87"/>
+ <source>Instruments</source>
+ <translation>樂器</translation>
+ </message>
+ <message>
+ <location filename="../xmpmetadatamodel.cpp" line="92"/>
+ <source>Comment</source>
+ <translation>備註</translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/xmp/xmp.pro b/src/plugins/Input/xmp/xmp.pro
new file mode 100644
index 000000000..c30524d81
--- /dev/null
+++ b/src/plugins/Input/xmp/xmp.pro
@@ -0,0 +1,29 @@
+include(../../plugins.pri)
+
+TARGET = $$PLUGINS_PREFIX/Input/xmp
+
+HEADERS += decoderxmpfactory.h \
+ decoder_xmp.h \
+ xmpmetadatamodel.h \
+ settingsdialog.h
+
+SOURCES += decoder_xmp.cpp \
+ decoderxmpfactory.cpp \
+ xmpmetadatamodel.cpp \
+ settingsdialog.cpp
+
+FORMS += \
+ settingsdialog.ui
+
+RESOURCES = translations/translations.qrc
+
+unix {
+ target.path = $$PLUGIN_DIR/Input
+ INSTALLS += target
+ PKGCONFIG += libxmp
+ QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libxmp.so
+}
+
+win32 {
+ LIBS += -lxmp
+}
diff --git a/src/plugins/Input/xmp/xmpmetadatamodel.cpp b/src/plugins/Input/xmp/xmpmetadatamodel.cpp
new file mode 100644
index 000000000..5f454aecd
--- /dev/null
+++ b/src/plugins/Input/xmp/xmpmetadatamodel.cpp
@@ -0,0 +1,94 @@
+/***************************************************************************
+ * Copyright (C) 2015-2021 by Ilya Kotov *
+ * forkotov02@ya.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 <QFile>
+#include "xmpmetadatamodel.h"
+
+XmpMetaDataModel::XmpMetaDataModel(const QString &path) : MetaDataModel(true), m_path(path)
+{
+ m_ctx = xmp_create_context();
+ int err = xmp_load_module(m_ctx, m_path.toLocal8Bit().data());
+ if(err != 0)
+ {
+ xmp_free_context(m_ctx);
+ m_ctx = nullptr;
+ qWarning("XmpMetaDataModel: unable to load module file, error = %d", err);
+ }
+}
+
+XmpMetaDataModel::~XmpMetaDataModel()
+{
+ if(m_ctx)
+ {
+ xmp_release_module(m_ctx);
+ xmp_free_context(m_ctx);
+ }
+}
+
+QList<MetaDataItem> XmpMetaDataModel::extraProperties() const
+{
+ QList<MetaDataItem> ep;
+
+ xmp_module_info mi;
+ xmp_get_module_info(m_ctx, &mi);
+
+ ep << MetaDataItem(tr("Volume scale"), mi.vol_base);
+ ep << MetaDataItem(tr("Number of patterns"), mi.mod->pat);
+ ep << MetaDataItem(tr("Number of tracks"), mi.mod->trk);
+ ep << MetaDataItem(tr("Tracks per pattern"), mi.mod->chn);
+ ep << MetaDataItem(tr("Number of instruments"), mi.mod->ins);
+ ep << MetaDataItem(tr("Number of samples"),mi.mod->smp);
+ ep << MetaDataItem(tr("Initial speed"), mi.mod->spd);
+ ep << MetaDataItem(tr("Initial BPM"), mi.mod->bpm);
+ ep << MetaDataItem(tr("Module length in patterns"), mi.mod->len);
+
+ return ep;
+}
+
+QList<MetaDataItem> XmpMetaDataModel::descriptions() const
+{
+ QList<MetaDataItem> desc;
+ QString text;
+
+ xmp_module_info mi;
+ xmp_get_module_info(m_ctx, &mi);
+
+ for(int i = 0; i < mi.mod->smp; i++)
+ {
+ text += QString::fromUtf8(mi.mod->xxs[i].name) + '\n';
+ }
+ text = text.trimmed();
+ if(!text.isEmpty())
+ desc << MetaDataItem(tr("Samples"), text);
+ text.clear();
+ for(int i = 0; i < mi.mod->ins; i++)
+ {
+ text += QString::fromUtf8(mi.mod->xxi[i].name) + '\n';
+ }
+ text = text.trimmed();
+ if(!text.isEmpty())
+ desc << MetaDataItem(tr("Instruments"), text);
+ text.clear();
+
+ text = QString::fromUtf8(mi.comment).trimmed();
+ if(!text.isEmpty())
+ desc << MetaDataItem(tr("Comment"), text);
+ return desc;
+}
diff --git a/src/plugins/Input/xmp/xmpmetadatamodel.h b/src/plugins/Input/xmp/xmpmetadatamodel.h
new file mode 100644
index 000000000..ee55f2fac
--- /dev/null
+++ b/src/plugins/Input/xmp/xmpmetadatamodel.h
@@ -0,0 +1,43 @@
+/***************************************************************************
+ * Copyright (C) 2015-2021 by Ilya Kotov *
+ * forkotov02@ya.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 XMPMETADATAMODEL_H
+#define XMPMETADATAMODEL_H
+
+#include <QObject>
+#include <qmmp/metadatamodel.h>
+#include <xmp.h>
+
+class XmpMetaDataModel : public MetaDataModel
+{
+ Q_DECLARE_TR_FUNCTIONS(XmpMetaDataModel)
+public:
+ explicit XmpMetaDataModel(const QString &path);
+ ~XmpMetaDataModel();
+ QList<MetaDataItem> extraProperties() const override;
+ QList<MetaDataItem> descriptions() const override;
+
+private:
+ xmp_context m_ctx;
+ QString m_path;
+
+};
+
+#endif // XMPMETADATAMODEL_H