From bf033d40386c2654b2a2b60dd8a90a43099d3be4 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 19 Sep 2021 14:34:05 +0000 Subject: replaced modplug by xmp git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@10304 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/xmp/CMakeLists.txt | 45 ++++++ src/plugins/Input/xmp/decoder_xmp.cpp | 137 ++++++++++++++++ src/plugins/Input/xmp/decoder_xmp.h | 55 +++++++ src/plugins/Input/xmp/decoderxmpfactory.cpp | 118 ++++++++++++++ src/plugins/Input/xmp/decoderxmpfactory.h | 42 +++++ src/plugins/Input/xmp/settingsdialog.cpp | 97 ++++++++++++ src/plugins/Input/xmp/settingsdialog.h | 46 ++++++ src/plugins/Input/xmp/settingsdialog.ui | 142 +++++++++++++++++ .../Input/xmp/translations/translations.qrc | 33 ++++ .../Input/xmp/translations/xmp_plugin_bg.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_cs.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_de.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_el.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_en.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_es.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_fi.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_fr.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_gl_ES.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_he.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_hu.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_id.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_it.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_ja.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_kk.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_ko.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_lt.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_nl.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_pl_PL.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_pt.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_pt_BR.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_ru.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_sk.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_sr_BA.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_sr_RS.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_tr.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_uk_UA.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_zh_CN.ts | 173 +++++++++++++++++++++ .../Input/xmp/translations/xmp_plugin_zh_TW.ts | 173 +++++++++++++++++++++ src/plugins/Input/xmp/xmp.pro | 29 ++++ src/plugins/Input/xmp/xmpmetadatamodel.cpp | 94 +++++++++++ src/plugins/Input/xmp/xmpmetadatamodel.h | 43 +++++ 41 files changed, 5898 insertions(+) create mode 100644 src/plugins/Input/xmp/CMakeLists.txt create mode 100644 src/plugins/Input/xmp/decoder_xmp.cpp create mode 100644 src/plugins/Input/xmp/decoder_xmp.h create mode 100644 src/plugins/Input/xmp/decoderxmpfactory.cpp create mode 100644 src/plugins/Input/xmp/decoderxmpfactory.h create mode 100644 src/plugins/Input/xmp/settingsdialog.cpp create mode 100644 src/plugins/Input/xmp/settingsdialog.h create mode 100644 src/plugins/Input/xmp/settingsdialog.ui create mode 100644 src/plugins/Input/xmp/translations/translations.qrc create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_bg.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_cs.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_de.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_el.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_en.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_es.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_fi.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_fr.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_gl_ES.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_he.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_hu.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_id.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_it.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_ja.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_kk.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_ko.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_lt.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_nl.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_pl_PL.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_pt.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_pt_BR.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_ru.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_sk.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_sr_BA.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_sr_RS.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_tr.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_uk_UA.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_zh_CN.ts create mode 100644 src/plugins/Input/xmp/translations/xmp_plugin_zh_TW.ts create mode 100644 src/plugins/Input/xmp/xmp.pro create mode 100644 src/plugins/Input/xmp/xmpmetadatamodel.cpp create mode 100644 src/plugins/Input/xmp/xmpmetadatamodel.h (limited to 'src/plugins/Input/xmp') 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 +#include +#include +#include +#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 +#include + +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 +#include +#include +#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 DecoderXmpFactory::createPlayList(const QString &path, TrackInfo::Parts parts, QStringList *) +{ + QList 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 ")+"\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 + +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 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 +#include +#include +#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 +#include "ui_settingsdialog.h" + +/** + @author Ilya Kotov +*/ +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 @@ + + + SettingsDialog + + + + 0 + 0 + 448 + 265 + + + + XMP Plugin Settings + + + + 6 + + + 6 + + + 6 + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + Amplification factor: + + + + + + + 3 + + + 1 + + + + + + + Stereo mixing: + + + + + + + 100 + + + 70 + + + + + + + Interpolation type: + + + + + + + + + + Lowpass filter effect + + + + + + + Use vblank timing + + + + + + + Emulate Protracker 2.x FX9 bug + + + + + + + Sample rate: + + + + + + + + + + + + + 0 + 0 + + + + QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + rejected() + SettingsDialog + reject() + + + 294 + 362 + + + 170 + 371 + + + + + 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 @@ + + + + xmp_plugin_ru.qm + xmp_plugin_uk_UA.qm + xmp_plugin_zh_CN.qm + xmp_plugin_zh_TW.qm + xmp_plugin_tr.qm + xmp_plugin_cs.qm + xmp_plugin_pt_BR.qm + xmp_plugin_pt.qm + xmp_plugin_de.qm + xmp_plugin_pl_PL.qm + xmp_plugin_fr.qm + xmp_plugin_it.qm + xmp_plugin_kk.qm + xmp_plugin_ko.qm + xmp_plugin_lt.qm + xmp_plugin_hu.qm + xmp_plugin_nl.qm + xmp_plugin_ja.qm + xmp_plugin_sk.qm + xmp_plugin_es.qm + xmp_plugin_he.qm + xmp_plugin_gl_ES.qm + xmp_plugin_sr_BA.qm + xmp_plugin_sr_RS.qm + xmp_plugin_bg.qm + xmp_plugin_el.qm + xmp_plugin_id.qm + xmp_plugin_fi.qm + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + Vzorkovací kmitočet: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + Vzorky + + + + Instruments + Nástroje + + + + Comment + Poznámka + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + XMP-Modul + + + + Module Files + Moduldateien + + + + About XMP Audio Plugin + Über XMP-Audiomodul + + + + Qmmp XMP Audio Plugin + Qmmp XMP-Audiomodul + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Geschrieben von: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Kompiliert gegen libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + XMP-Moduleinstellungen + + + + Amplification factor: + Verstärkungsfaktor: + + + + Stereo mixing: + Stereoabmischung: + + + + Interpolation type: + Interpolationstyp: + + + + Lowpass filter effect + Tiefpassfiltereffekt + + + + Use vblank timing + Vertikale Austastlückenabstimmung verwenden + + + + Emulate Protracker 2.x FX9 bug + Protracker 2.x FX9-Fehler emulieren + + + + Sample rate: + Abtastrate: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Nächster Nachbar + + + + Linear + Linear + + + + Cubic spline + Kubischer Spline + + + + XmpMetaDataModel + + + Volume scale + Lautstärkenskalierung + + + + Number of patterns + Anzahl der Muster + + + + Number of tracks + Anzahl der Titel + + + + Tracks per pattern + Titel pro Muster + + + + Number of instruments + Anzahl der Instrumente + + + + Number of samples + Anzahl der Abtastwerte + + + + Initial speed + Anfangsgeschwindigkeit + + + + Initial BPM + Anfangs-BPM + + + + Module length in patterns + Modullänge in Muster + + + + Samples + Abtastwerte + + + + Instruments + Instrumente + + + + Comment + Kommentar + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Πρόσθετο XMP + + + + Module Files + Αρχεία αρθρώματος + + + + About XMP Audio Plugin + Περί του πρόσθετο ήχου XMP + + + + Qmmp XMP Audio Plugin + Qmmp πρόσθετο ήχου XMP + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Γράφτηκε από τον: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Μεταγλωττίστηκε χρησιμοποιώντας την βιβλιοθήκη libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Ρυθμίσεις πρόσθετου XMP + + + + Amplification factor: + Συντελεστής ενίσχυσης: + + + + Stereo mixing: + Στερεοφωνική μίξη: + + + + Interpolation type: + Τύπος παρεμβολής: + + + + Lowpass filter effect + Τέχνασμα φίλτρου χαμηλών συχνοτήτων + + + + Use vblank timing + Χρήση χρονισμού vblank + + + + Emulate Protracker 2.x FX9 bug + Σφάλμα προσομοίωσης Protracker 2.x FX9 + + + + Sample rate: + Ρυθμός δειγματοληψίας: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Κοντινότερος γείτονας + + + + Linear + Γραμμικό + + + + Cubic spline + Κυβική πολυωνυμική συνάρτηση (spline) + + + + XmpMetaDataModel + + + Volume scale + Κλίμακα έντασης + + + + Number of patterns + Αριθμός σχηματομορφών + + + + Number of tracks + Αριθμός κομματιών + + + + Tracks per pattern + Κομμάτια ανά σχηματομορφή + + + + Number of instruments + Αριθμός οργάνων + + + + Number of samples + Αριθμός δειγμάτων + + + + Initial speed + Αρχική ταχύτητα + + + + Initial BPM + Αρχικό BPM + + + + Module length in patterns + Μήκος αρθρώματος στις σχηματομορφές + + + + Samples + Δείγματα + + + + Instruments + Όργανα + + + + Comment + Σχόλιο + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Módulo XMP + + + + Module Files + Archivos de Módulo + + + + About XMP Audio Plugin + Acerca del Módulo de Audio XMP + + + + Qmmp XMP Audio Plugin + Módulo de Audio XMP de Qmmp + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Escrito por: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Compilado contra libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Configuración de Módulo XMP + + + + Amplification factor: + Factor de amplificación: + + + + Stereo mixing: + Mezclado estéreo: + + + + Interpolation type: + Tipo de interpolador: + + + + Lowpass filter effect + Efecto del filtro de paso bajo + + + + Use vblank timing + Usar el tiempo vblank + + + + Emulate Protracker 2.x FX9 bug + Emular error FX9 de Protracker 2.x + + + + Sample rate: + Tasa de muestreo: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Vecino más cercano + + + + Linear + Lineal + + + + Cubic spline + Ranura cúbica + + + + XmpMetaDataModel + + + Volume scale + Escala de volumen + + + + Number of patterns + Número de patrones + + + + Number of tracks + Número de pistas + + + + Tracks per pattern + Pistas por patrón + + + + Number of instruments + Número de instrumentos + + + + Number of samples + Número de muestreos + + + + Initial speed + Velocidad inicial + + + + Initial BPM + BPM inicial + + + + Module length in patterns + Longitud del módulo en patrones + + + + Samples + Muestreo + + + + Instruments + Instrumentos + + + + Comment + Comentario + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + XMP-liitännäinen + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Toteuttanut: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + XMP-liitännäisen asetukset + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + Näytteenottotaajuus: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + Kommentti + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Greffon XMP + + + + Module Files + Fichiers Module + + + + About XMP Audio Plugin + A propos du greffon audio XMP + + + + Qmmp XMP Audio Plugin + Greffon audio XMP Qmmp + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Écrit par : Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Compilé avec libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Paramètres du greffon XMP + + + + Amplification factor: + Facteur d'amplification + + + + Stereo mixing: + Mixing Stéréo + + + + Interpolation type: + Type d'interpolation + + + + Lowpass filter effect + Filtre avec effet lowpass + + + + Use vblank timing + Utiliser le timing vblank + + + + Emulate Protracker 2.x FX9 bug + Emuler le bug Protracker 2.x FX9 + + + + Sample rate: + Taux du sample + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Voisin le plus proche + + + + Linear + Linéaire + + + + Cubic spline + Spline cubique + + + + XmpMetaDataModel + + + Volume scale + Hauteur du volume + + + + Number of patterns + Nombre de patterns + + + + Number of tracks + Nombre de pistes + + + + Tracks per pattern + Pistes par pattern + + + + Number of instruments + Nombre d'instruments + + + + Number of samples + Nombre de samples + + + + Initial speed + Vitesse initiale + + + + Initial BPM + BPM initial + + + + Module length in patterns + Longueur du module en pattern + + + + Samples + Samples + + + + Instruments + Instruments + + + + Comment + Commentaire + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Plugin XMP + + + + Module Files + Ficheiros de modulación + + + + About XMP Audio Plugin + Acerca do plugin XMP Audio + + + + Qmmp XMP Audio Plugin + Plugin Qmmp XMP Audio + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Escrito por: LLya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Compilando con libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Preferencias do plugin XMP + + + + Amplification factor: + Factor de amplificación: + + + + Stereo mixing: + Mestura Estéreo: + + + + Interpolation type: + Tipo de interpolación: + + + + Lowpass filter effect + Filtro de efecto de paso baixo: + + + + Use vblank timing + Utilizar sincronización vblank + + + + Emulate Protracker 2.x FX9 bug + Emular erro do Protracker 2.x FX9 + + + + Sample rate: + Taxa de mostra: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Veciño máis próximo + + + + Linear + Lineal + + + + Cubic spline + Interpolación cúbica + + + + XmpMetaDataModel + + + Volume scale + Escala do volume + + + + Number of patterns + Número de patróns + + + + Number of tracks + Número de pistas + + + + Tracks per pattern + Pistas por patrón + + + + Number of instruments + Número de instrumentos + + + + Number of samples + Número de mostras + + + + Initial speed + Velocidade inicial + + + + Initial BPM + BPM iniciais + + + + Module length in patterns + Lonxitude do módulo en patróns + + + + Samples + Mostras + + + + Instruments + Instrumentos + + + + Comment + Comentarios + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + תוסף XMP + + + + Module Files + קבצי מודול + + + + About XMP Audio Plugin + אודות תוסף XMP שמע + + + + Qmmp XMP Audio Plugin + תוסף XMP שמע של Qmmp + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + הודרה כנגד libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + הגדרות תוסף XMP + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + שיעור דגימה: + + + + 22050 Hz + 22050 הרץ + + + + 44100 Hz + 44100 הרץ + + + + 48000 Hz + 48000 הרץ + + + + Nearest neighbor + + + + + Linear + לינארית + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + דגימות + + + + Instruments + מכשירים + + + + Comment + הערה + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + Megjegyzés + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Estensione XMP + + + + Module Files + File Module + + + + About XMP Audio Plugin + Informazioni sull'estensione audio XMP + + + + Qmmp XMP Audio Plugin + Estensione audio XMP per Qmmp + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Autori: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Compilato con libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Impostazioni dell'estensione XMP + + + + Amplification factor: + Fattore di amplificazione: + + + + Stereo mixing: + + + + + Interpolation type: + Tipo di interpolazione: + + + + Lowpass filter effect + Effetto filtro passa basso + + + + Use vblank timing + Usa l'intervallo vblank + + + + Emulate Protracker 2.x FX9 bug + Emula il bug di Protracker 2.x FX9 + + + + Sample rate: + Frequenza di campionamento: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Vicino più prossimo + + + + Linear + Lineare + + + + Cubic spline + Spline cubica + + + + XmpMetaDataModel + + + Volume scale + Scala volume + + + + Number of patterns + + + + + Number of tracks + Numero di tracce + + + + Tracks per pattern + + + + + Number of instruments + Numero di strumenti + + + + Number of samples + Numero di campioni + + + + Initial speed + Velocità iniziale + + + + Initial BPM + BPM iniziali + + + + Module length in patterns + + + + + Samples + Campioni + + + + Instruments + Strumenti + + + + Comment + Commento + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + XMP プラグイン + + + + Module Files + モジュールファイル + + + + About XMP Audio Plugin + XMP 音響プラグインについて + + + + Qmmp XMP Audio Plugin + QMMP XMP 音響プラグイン + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + 制作: Илья Котов (Ilya Kotov) <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + libxmp-%1 を使用してコンパイル + + + + SettingsDialog + + + XMP Plugin Settings + XMP プラグイン設定 + + + + Amplification factor: + 増幅率: + + + + Stereo mixing: + ステレオミキシング: + + + + Interpolation type: + 補間方法: + + + + Lowpass filter effect + 低域通過フィルター効果 + + + + Use vblank timing + vblank (垂直帰線区間) 時を利用 + + + + Emulate Protracker 2.x FX9 bug + Protracker 2.x FX9 バグを再現 + + + + Sample rate: + サンプルレート: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + 最近傍 + + + + Linear + 線形 + + + + Cubic spline + 三次スプライン + + + + XmpMetaDataModel + + + Volume scale + 音量目盛 + + + + Number of patterns + パターン個数 + + + + Number of tracks + トラック個数 + + + + Tracks per pattern + パターン毎のトラック個数 + + + + Number of instruments + 楽器個数 + + + + Number of samples + サンプル個数 + + + + Initial speed + 初速 + + + + Initial BPM + 初拍数 (BPM) + + + + Module length in patterns + パターンのモジュール長 + + + + Samples + サンプル + + + + Instruments + 楽器 + + + + Comment + コメント + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + XMP 오디오 플러그인 + + + + Module Files + 모듈 파일 + + + + About XMP Audio Plugin + XMP 오디오 플러그인 정보 + + + + Qmmp XMP Audio Plugin + Qmmp XMP 오디오 플러그인 + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + 작성자: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + libxmp-%1에 대해 컴파일됨 + + + + SettingsDialog + + + XMP Plugin Settings + XMP 플러그인 설정 + + + + Amplification factor: + 증폭률: + + + + Stereo mixing: + 스테레오 믹싱: + + + + Interpolation type: + 보간 유형: + + + + Lowpass filter effect + 로우패스 필터 효과 + + + + Use vblank timing + vblank 타이밍 사용 + + + + Emulate Protracker 2.x FX9 bug + Protracker 2.x FX9 버그 에뮬레이션 + + + + Sample rate: + 샘플 레이트: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + 최근접 + + + + Linear + 선형 + + + + Cubic spline + 큐빅 스플라인 + + + + XmpMetaDataModel + + + Volume scale + 볼륨 스케일 + + + + Number of patterns + 패턴 수 + + + + Number of tracks + 트랙 수 + + + + Tracks per pattern + 패턴당 트랙 수 + + + + Number of instruments + 악기 수 + + + + Number of samples + 샘플 수 + + + + Initial speed + 초기 속도 + + + + Initial BPM + 초기 BPM + + + + Module length in patterns + 패턴의 모듈 길이 + + + + Samples + 샘플 + + + + Instruments + 악기 + + + + Comment + 해설 + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + XMP-plug-in + + + + Module Files + Modulebestanden + + + + About XMP Audio Plugin + Over de XMP-audioplug-in + + + + Qmmp XMP Audio Plugin + Qmmp XMP-audioplug-in + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Auteur: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Gebouwd met libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Instellingen + + + + Amplification factor: + Versterkingsfactor: + + + + Stereo mixing: + Stereo mixen: + + + + Interpolation type: + Soort interpolatie: + + + + Lowpass filter effect + Lowpass-filtereffect + + + + Use vblank timing + vblank-timer gebruiken + + + + Emulate Protracker 2.x FX9 bug + Protracker 2.x FX9-bug nabootsen + + + + Sample rate: + Samplesnelheid: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Nabije buur + + + + Linear + Lineair + + + + Cubic spline + Cubic spline + + + + XmpMetaDataModel + + + Volume scale + Volumeschaal + + + + Number of patterns + Aantal patronen + + + + Number of tracks + Aantal nummers + + + + Tracks per pattern + Aantal nummers per patroon + + + + Number of instruments + Aantal instrumenten + + + + Number of samples + Aantal samples + + + + Initial speed + Initële snelheid + + + + Initial BPM + Initiële BPM + + + + Module length in patterns + Moduleduur, in patronen + + + + Samples + Samples + + + + Instruments + Instrumenten + + + + Comment + Opmerking + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Wtyczka XMP + + + + Module Files + Pliki modułów + + + + About XMP Audio Plugin + O wtyczcie dźwiękowej XMP + + + + Qmmp XMP Audio Plugin + Wtyczka dźwiękowa XMP dla Qmmp + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Napisana przez: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Skompilowana z biblioteką libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Ustawienia wtyczki XMP + + + + Amplification factor: + Współczynnik wzmocnienia: + + + + Stereo mixing: + Miksowanie stereo: + + + + Interpolation type: + Typ interpolacji: + + + + Lowpass filter effect + Efekt filtru dolnoprzepustowego + + + + Use vblank timing + Użyj timingu vblank + + + + Emulate Protracker 2.x FX9 bug + Emuluj błąd Protracker 2.x FX9 + + + + Sample rate: + Próbkowanie: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Najbliższy sąsiad + + + + Linear + Liniowy + + + + Cubic spline + Cubic spline + + + + XmpMetaDataModel + + + Volume scale + Skala głośności + + + + Number of patterns + Liczba wzorców + + + + Number of tracks + Liczba ścieżek + + + + Tracks per pattern + Ścieżki na wzorzec + + + + Number of instruments + Liczba instrumentów + + + + Number of samples + Liczba próbek + + + + Initial speed + Prędkość początkowa + + + + Initial BPM + BPM początkowe + + + + Module length in patterns + Długość modułu we wzorcach + + + + Samples + Próbki + + + + Instruments + Instrumenty + + + + Comment + Komentarz + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Suplemento XMP + + + + Module Files + Ficheiros MOD + + + + About XMP Audio Plugin + Acerca de suplemento XMP Audio + + + + Qmmp XMP Audio Plugin + Suplemento Qmmp XMP Audio + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Desenvolvido por: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Compilado com libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Definições + + + + Amplification factor: + Fator de amplificação: + + + + Stereo mixing: + Mistura estéreo: + + + + Interpolation type: + Tipo de interpolação: + + + + Lowpass filter effect + Efeito lowpass + + + + Use vblank timing + Utilizar temporização vblank + + + + Emulate Protracker 2.x FX9 bug + Emular erro Protracker 2.x FX9 + + + + Sample rate: + Frequência: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Vizinhança mais próxima + + + + Linear + Linear + + + + Cubic spline + Spline cúbica + + + + XmpMetaDataModel + + + Volume scale + Escala de volume + + + + Number of patterns + Número de padrões + + + + Number of tracks + Número de faixas + + + + Tracks per pattern + Faixas por padrão + + + + Number of instruments + Número de instrumentos + + + + Number of samples + Número de amostras + + + + Initial speed + Velocidade inicial + + + + Initial BPM + BPM inicial + + + + Module length in patterns + Tamanho do módulo em padrões + + + + Samples + Amostras + + + + Instruments + Instrumentos + + + + Comment + Comentário + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Plugin XMP + + + + Module Files + Arquivos MOD + + + + About XMP Audio Plugin + Sobre o plugin XMP Audio + + + + Qmmp XMP Audio Plugin + Plugin Qmmp XMP Audio + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + Compilado com libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Preferências do plugin XMP + + + + Amplification factor: + Fator de amplificação: + + + + Stereo mixing: + Mixagem estéreo: + + + + Interpolation type: + Tipo de interpolação: + + + + Lowpass filter effect + Efeito lowpass + + + + Use vblank timing + Utilizar temporização vblank + + + + Emulate Protracker 2.x FX9 bug + Emular erro Protracker 2.x FX9 + + + + Sample rate: + Frequência: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + Vizinhança mais próxima + + + + Linear + Linear + + + + Cubic spline + Spline cúbica + + + + XmpMetaDataModel + + + Volume scale + Escala de volume + + + + Number of patterns + Número de padrões + + + + Number of tracks + Número de faixas + + + + Tracks per pattern + Faixas por padrão + + + + Number of instruments + Número de instrumentos + + + + Number of samples + Número de amostras + + + + Initial speed + Velocidade inicial + + + + Initial BPM + BPM inicial + + + + Module length in patterns + Tamanho do módulo em padrões + + + + Samples + Amostras + + + + Instruments + Instrumentos + + + + Comment + Comentário + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Модуль XMP + + + + Module Files + Трекерная музыка + + + + About XMP Audio Plugin + Об аудио-модуле XMP + + + + Qmmp XMP Audio Plugin + Аудио-модуль XMP для Qmmp + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Разработчик: Илья Котов <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Собрано с libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Настройки модуля XMP + + + + Amplification factor: + Усиление: + + + + Stereo mixing: + Смешивание каналов: + + + + Interpolation type: + Тип интерполяции: + + + + Lowpass filter effect + Низкочастотный фильтр + + + + Use vblank timing + Использовать кадровый гасящий импульс + + + + Emulate Protracker 2.x FX9 bug + Эмулировать ошибку Protracker 2.x FX9 + + + + Sample rate: + Частота дискретизации: + + + + 22050 Hz + 22050 Гц + + + + 44100 Hz + 44100 Гц + + + + 48000 Hz + 48000 Гц + + + + Nearest neighbor + Методом ближайшего соседа + + + + Linear + Линейная + + + + Cubic spline + Кубическими сплайнами + + + + XmpMetaDataModel + + + Volume scale + Усиление + + + + Number of patterns + Число паттернов + + + + Number of tracks + Число треков + + + + Tracks per pattern + Треков в паттерне + + + + Number of instruments + Число инструментов + + + + Number of samples + Число сэмплов + + + + Initial speed + Начальная скорость + + + + Initial BPM + Начальное число нот в минуту + + + + Module length in patterns + Длина в паттернах + + + + Samples + Сэмплы + + + + Instruments + Инструменты + + + + Comment + Комментарий + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + Komentár + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + + + + + 44100 Hz + + + + + 48000 Hz + + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Аутор: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + Узорковање: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + Узорци + + + + Instruments + Инструменти + + + + Comment + коментар + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + + + + + Module Files + + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Yazan: Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + + + + + Instruments + + + + + Comment + Yorum + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + Модуль XMP + + + + Module Files + Трекерна музика + + + + About XMP Audio Plugin + Про аудіо-модуль XMP + + + + Qmmp XMP Audio Plugin + Аудіо-модуль XMP для Qmmp + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + Розробник: Ілля Котов <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + Зібрано з libxmp-%1 + + + + SettingsDialog + + + XMP Plugin Settings + Налаштування модуля XMP + + + + Amplification factor: + Підсилення: + + + + Stereo mixing: + Змішування каналів: + + + + Interpolation type: + Тип інтерполяції: + + + + Lowpass filter effect + Низькочастотний фільтр + + + + Use vblank timing + Використовувати кадровий імпульс гасіння + + + + Emulate Protracker 2.x FX9 bug + Імітувати помилку Protracker 2.x FX9 + + + + Sample rate: + Частота дискретизації: + + + + 22050 Hz + 22050 Гц + + + + 44100 Hz + 44100 Гц + + + + 48000 Hz + 48000 Гц + + + + Nearest neighbor + Методом ближчогого сусіда + + + + Linear + Лінійна + + + + Cubic spline + Кубічними сплайнами + + + + XmpMetaDataModel + + + Volume scale + Підсилення + + + + Number of patterns + Кількість паттернів + + + + Number of tracks + Кількість треків + + + + Tracks per pattern + Треків на паттерн + + + + Number of instruments + ількість інструментів + + + + Number of samples + Кількість семплів + + + + Initial speed + Початкова швидкість + + + + Initial BPM + Початкова кількість нот за хвилину + + + + Module length in patterns + Довжина в паттернах + + + + Samples + Семпли + + + + Instruments + Інструменти + + + + Comment + Коментар + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + XMP插件 + + + + Module Files + 模块文件 + + + + About XMP Audio Plugin + 关于XMP音频插件 + + + + Qmmp XMP Audio Plugin + Qmmp XMP音频插件 + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + + + + + Compiled against libxmp-%1 + 对照libxmp-%1进行了编译 + + + + SettingsDialog + + + XMP Plugin Settings + XMP插件设置 + + + + Amplification factor: + 扩音比率: + + + + Stereo mixing: + 立体声混合: + + + + Interpolation type: + 插音类型: + + + + Lowpass filter effect + 低音通过过滤效果 + + + + Use vblank timing + 使用vblank时间管理 + + + + Emulate Protracker 2.x FX9 bug + 模拟Protracker 2.x FX9问题 + + + + Sample rate: + 取样率: + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100赫兹 + + + + 48000 Hz + 48000赫兹 + + + + Nearest neighbor + 最近的邻居 + + + + Linear + 线性 + + + + Cubic spline + 三次样条 + + + + XmpMetaDataModel + + + Volume scale + 音量范围 + + + + Number of patterns + 样式数量 + + + + Number of tracks + 音轨数量 + + + + Tracks per pattern + 每种样式的音轨 + + + + Number of instruments + 乐器数量 + + + + Number of samples + 样品数量 + + + + Initial speed + 初始速度 + + + + Initial BPM + 初始BPM(每分钟拍数) + + + + Module length in patterns + 样式中的模长 + + + + Samples + 取样率 + + + + Instruments + 乐器 + + + + Comment + 评论 + + + 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 @@ + + + + + DecoderXmpFactory + + + XMP Plugin + XMP 外掛 + + + + Module Files + 模組檔案 + + + + About XMP Audio Plugin + + + + + Qmmp XMP Audio Plugin + + + + + Written by: Ilya Kotov <forkotov02@ya.ru> + 撰寫:Ilya Kotov <forkotov02@ya.ru> + + + + Compiled against libxmp-%1 + + + + + SettingsDialog + + + XMP Plugin Settings + + + + + Amplification factor: + + + + + Stereo mixing: + + + + + Interpolation type: + + + + + Lowpass filter effect + + + + + Use vblank timing + + + + + Emulate Protracker 2.x FX9 bug + + + + + Sample rate: + 取樣率 + + + + 22050 Hz + 22050 Hz + + + + 44100 Hz + 44100 Hz + + + + 48000 Hz + 48000 Hz + + + + Nearest neighbor + + + + + Linear + + + + + Cubic spline + + + + + XmpMetaDataModel + + + Volume scale + + + + + Number of patterns + + + + + Number of tracks + + + + + Tracks per pattern + + + + + Number of instruments + + + + + Number of samples + + + + + Initial speed + + + + + Initial BPM + + + + + Module length in patterns + + + + + Samples + 取樣率 + + + + Instruments + 樂器 + + + + Comment + 備註 + + + 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 +#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 XmpMetaDataModel::extraProperties() const +{ + QList 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 XmpMetaDataModel::descriptions() const +{ + QList 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 +#include +#include + +class XmpMetaDataModel : public MetaDataModel +{ + Q_DECLARE_TR_FUNCTIONS(XmpMetaDataModel) +public: + explicit XmpMetaDataModel(const QString &path); + ~XmpMetaDataModel(); + QList extraProperties() const override; + QList descriptions() const override; + +private: + xmp_context m_ctx; + QString m_path; + +}; + +#endif // XMPMETADATAMODEL_H -- cgit v1.2.3-13-gbd6f