From 5dc0158eea0d4ff35e5d02b03b1e54d4aa838941 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Tue, 29 Sep 2009 14:36:38 +0000 Subject: enabled modplug support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1268 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/modplug/CMakeLists.txt | 6 +- src/plugins/Input/modplug/decoder_modplug.cpp | 19 +- src/plugins/Input/modplug/decoder_modplug.h | 7 +- .../Input/modplug/decodermodplugfactory.cpp | 15 +- src/plugins/Input/modplug/decodermodplugfactory.h | 4 +- src/plugins/Input/modplug/detailsdialog.cpp | 202 --------------------- src/plugins/Input/modplug/detailsdialog.h | 45 ----- src/plugins/Input/modplug/detailsdialog.ui | 158 ---------------- src/plugins/Input/modplug/modplug.pro | 63 +++---- src/plugins/Input/modplug/modplugmetadatamodel.cpp | 188 +++++++++++++++++++ src/plugins/Input/modplug/modplugmetadatamodel.h | 44 +++++ src/plugins/Input/modplug/settingsdialog.cpp | 6 +- .../modplug/translations/modplug_plugin_cs.ts | 131 +++++-------- .../modplug/translations/modplug_plugin_de.ts | 138 +++++--------- .../modplug/translations/modplug_plugin_it.ts | 141 +++++--------- .../modplug/translations/modplug_plugin_lt.ts | 151 +++++---------- .../modplug/translations/modplug_plugin_pl.ts | 126 +++++-------- .../modplug/translations/modplug_plugin_ru.ts | 144 +++++---------- .../modplug/translations/modplug_plugin_tr.ts | 129 +++++-------- .../modplug/translations/modplug_plugin_uk_UA.ts | 134 +++++--------- .../modplug/translations/modplug_plugin_zh_CN.ts | 138 +++++--------- .../modplug/translations/modplug_plugin_zh_TW.ts | 138 +++++--------- 22 files changed, 710 insertions(+), 1417 deletions(-) delete mode 100644 src/plugins/Input/modplug/detailsdialog.cpp delete mode 100644 src/plugins/Input/modplug/detailsdialog.h delete mode 100644 src/plugins/Input/modplug/detailsdialog.ui create mode 100644 src/plugins/Input/modplug/modplugmetadatamodel.cpp create mode 100644 src/plugins/Input/modplug/modplugmetadatamodel.h (limited to 'src/plugins/Input/modplug') diff --git a/src/plugins/Input/modplug/CMakeLists.txt b/src/plugins/Input/modplug/CMakeLists.txt index 2900702a8..fad0d66ac 100644 --- a/src/plugins/Input/modplug/CMakeLists.txt +++ b/src/plugins/Input/modplug/CMakeLists.txt @@ -48,7 +48,7 @@ link_directories(${MODPLUG_LIBRARY_DIRS}) SET(libmodplug_SRCS decoder_modplug.cpp decodermodplugfactory.cpp - detailsdialog.cpp + modplugmetadatamodel.cpp settingsdialog.cpp archivereader.cpp ) @@ -56,7 +56,7 @@ SET(libmodplug_SRCS SET(libmodplug_MOC_HDRS decodermodplugfactory.h decoder_modplug.h - detailsdialog.h + modplugmetadatamodel.h settingsdialog.h archivereader.h ) @@ -69,9 +69,7 @@ QT4_WRAP_CPP(libmodplug_MOC_SRCS ${libmodplug_MOC_HDRS}) # user interface - SET(libmodplug_UIS - detailsdialog.ui settingsdialog.ui ) diff --git a/src/plugins/Input/modplug/decoder_modplug.cpp b/src/plugins/Input/modplug/decoder_modplug.cpp index bee4feed4..b2f6866e5 100644 --- a/src/plugins/Input/modplug/decoder_modplug.cpp +++ b/src/plugins/Input/modplug/decoder_modplug.cpp @@ -46,8 +46,7 @@ DecoderModPlug* DecoderModPlug::m_instance = 0; -DecoderModPlug::DecoderModPlug(QObject *parent, DecoderFactory *d, Output *o, const QString &path) - : Decoder(parent, d, o) +DecoderModPlug::DecoderModPlug(const QString &path) : Decoder(0) { m_path = path; m_freq = 0; @@ -69,9 +68,9 @@ bool DecoderModPlug::initialize() { m_freq = m_bitrate = 0; m_chan = 0; - m_totalTime = 0.0; + m_totalTime = 0; - ArchiveReader reader(this); + ArchiveReader reader; if (reader.isSupported(m_path)) m_input_buf = reader.unpack(m_path); else @@ -110,10 +109,10 @@ int DecoderModPlug::bitrate() return m_bitrate; } -qint64 DecoderModPlug::readAudio(char *audio, qint64 maxSize) +qint64 DecoderModPlug::read(char *audio, qint64 maxSize) { long len = m_soundFile->Read (audio, qMin((qint64)Buffer::size(), maxSize)) * m_sampleSize; - /*if (m_usePreamp) + if (m_usePreamp) { { //apply preamp @@ -143,11 +142,11 @@ qint64 DecoderModPlug::readAudio(char *audio, qint64 maxSize) } } } - }*/ + } return len; } -void DecoderModPlug::seekAudio(qint64 pos) +void DecoderModPlug::seek(qint64 pos) { quint32 lMax; quint32 lMaxtime; @@ -190,13 +189,13 @@ void DecoderModPlug::readSettings() ( settings.value("Surround", TRUE).toBool(), TRUE, - settings.value("Reverb", TRUE).toBool(), + settings.value("Reverb", FALSE).toBool(), TRUE, settings.value("Megabass", FALSE).toBool(), settings.value("NoiseReduction", FALSE).toBool(), FALSE ); - if (settings.value("Reverb", TRUE).toBool()) + if (settings.value("Reverb", FALSE).toBool()) { CSoundFile::SetReverbParameters ( diff --git a/src/plugins/Input/modplug/decoder_modplug.h b/src/plugins/Input/modplug/decoder_modplug.h index 6d5a6dff7..12356ef8f 100644 --- a/src/plugins/Input/modplug/decoder_modplug.h +++ b/src/plugins/Input/modplug/decoder_modplug.h @@ -28,7 +28,7 @@ class CSoundFile; class DecoderModPlug : public Decoder { public: - DecoderModPlug(QObject *, DecoderFactory *, Output *, const QString &path); + DecoderModPlug(const QString &path); virtual ~DecoderModPlug(); void readSettings(); @@ -37,10 +37,11 @@ public: bool initialize(); qint64 totalTime(); int bitrate(); + qint64 read(char *audio, qint64 maxSize); + void seek(qint64 time); private: - qint64 readAudio(char *audio, qint64 maxSize); - void seekAudio(qint64 time); + //helper function void deinit(); diff --git a/src/plugins/Input/modplug/decodermodplugfactory.cpp b/src/plugins/Input/modplug/decodermodplugfactory.cpp index dc913e654..fdef9d3ad 100644 --- a/src/plugins/Input/modplug/decodermodplugfactory.cpp +++ b/src/plugins/Input/modplug/decodermodplugfactory.cpp @@ -26,7 +26,7 @@ #include #include "settingsdialog.h" -#include "detailsdialog.h" +#include "modplugmetadatamodel.h" #include "decoder_modplug.h" #include "archivereader.h" #include "decodermodplugfactory.h" @@ -71,11 +71,10 @@ const DecoderProperties DecoderModPlugFactory::properties() const return properties; } -Decoder *DecoderModPlugFactory::create(QObject *parent, QIODevice *input, - Output *output, const QString &path) +Decoder *DecoderModPlugFactory::create(const QString &path, QIODevice *input) { Q_UNUSED(input); - return new DecoderModPlug(parent, this, output, path); + return new DecoderModPlug(path); } QList DecoderModPlugFactory::createPlayList(const QString &fileName, bool useMetaData) @@ -106,7 +105,7 @@ QList DecoderModPlugFactory::createPlayList(const QString &fileName, file.close(); } CSoundFile* soundFile = new CSoundFile(); - soundFile->Create((uchar*) buffer.data(), buffer.size()); + soundFile->Create((uchar*) buffer.data(), buffer.size()+1); list << new FileInfo(fileName); list.at(0)->setLength((int) soundFile->GetSongTime()); list.at(0)->setMetaData(Qmmp::TITLE, QString::fromUtf8(soundFile->GetTitle())); @@ -115,11 +114,9 @@ QList DecoderModPlugFactory::createPlayList(const QString &fileName, return list; } -QObject* DecoderModPlugFactory::showDetails(QWidget *parent, const QString &path) +MetaDataModel* DecoderModPlugFactory::createMetaDataModel(const QString &path, QObject *parent) { - DetailsDialog *d = new DetailsDialog(parent, path); - d -> show(); - return d; + return new ModPlugMetaDataModel(path, parent); } void DecoderModPlugFactory::showSettings(QWidget *parent) diff --git a/src/plugins/Input/modplug/decodermodplugfactory.h b/src/plugins/Input/modplug/decodermodplugfactory.h index 333ff1a56..5908e9090 100644 --- a/src/plugins/Input/modplug/decodermodplugfactory.h +++ b/src/plugins/Input/modplug/decodermodplugfactory.h @@ -41,9 +41,9 @@ public: bool supports(const QString &source) const; bool canDecode(QIODevice *input) const; const DecoderProperties properties() const; - Decoder *create(QObject *, QIODevice *, Output *, const QString &); + Decoder *create(const QString &, QIODevice *); QList createPlayList(const QString &fileName, bool useMetaData); - QObject* showDetails(QWidget *parent, const QString &path); + MetaDataModel* createMetaDataModel(const QString &path, QObject *parent = 0); void showSettings(QWidget *parent); void showAbout(QWidget *parent); QTranslator *createTranslator(QObject *parent); diff --git a/src/plugins/Input/modplug/detailsdialog.cpp b/src/plugins/Input/modplug/detailsdialog.cpp deleted file mode 100644 index 881572ecd..000000000 --- a/src/plugins/Input/modplug/detailsdialog.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#include -#include -#include - -#include -#include -#include -#include -#include - -#define MAX_MESSAGE_LENGTH 4000 - -#include "archivereader.h" -#include "detailsdialog.h" - -DetailsDialog::DetailsDialog(QWidget *parent, const QString &path) - : QDialog(parent) -{ - ui.setupUi(this); - setAttribute(Qt::WA_DeleteOnClose); - m_path = path; - setWindowTitle (path.section('/',-1)); - ui.pathLineEdit->setText(m_path); - ui.nameLabel->setText(tr("File name:")+'\n'+ - tr("Title:")+'\n'+ - tr("Type:")+'\n'+ - tr("Length:")+'\n'+ - tr("Speed:")+'\n'+ - tr("Tempo:")+'\n'+ - tr("Samples:")+'\n'+ - tr("Instruments:")+'\n'+ - tr("Patterns:")+'\n'+ - tr("Channels:")); - - loadInfo(); -} - - -DetailsDialog::~DetailsDialog() -{} - -void DetailsDialog::loadInfo() -{ - quint32 lSongTime, lNumSamples, lNumInstruments, i; - char lBuffer[33]; - ArchiveReader reader(this); - QByteArray buffer; - if(reader.isSupported(m_path)) - { - buffer = reader.unpack(m_path); - } - else - { - QFile file(m_path); - if(!file.open(QIODevice::ReadOnly)) - { - qWarning("DetailsDialog: error: %s", qPrintable(file.errorString ())); - return; - } - buffer = file.readAll(); - file.close(); - } - - CSoundFile* soundFile = new CSoundFile(); - soundFile->Create((uchar*) buffer.data(), buffer.size()); - - QString lInfo = m_path.section('/',-1); - lInfo += '\n'; - lInfo += QString::fromUtf8(soundFile->GetTitle()); - lInfo += '\n'; - - switch(soundFile->GetType()) - { - case MOD_TYPE_MOD: - lInfo+= "ProTracker"; - break; - case MOD_TYPE_S3M: - lInfo+= "Scream Tracker 3"; - break; - case MOD_TYPE_XM: - lInfo+= "Fast Tracker 2"; - break; - case MOD_TYPE_IT: - lInfo+= "Impulse Tracker"; - break; - case MOD_TYPE_MED: - lInfo+= "OctaMed"; - break; - case MOD_TYPE_MTM: - lInfo+= "MTM"; - break; - case MOD_TYPE_669: - lInfo+= "669 Composer / UNIS 669"; - break; - case MOD_TYPE_ULT: - lInfo+= "ULT"; - break; - case MOD_TYPE_STM: - lInfo+= "Scream Tracker"; - break; - case MOD_TYPE_FAR: - lInfo+= "Farandole"; - break; - case MOD_TYPE_AMF: - lInfo+= "ASYLUM Music Format"; - break; - case MOD_TYPE_AMS: - lInfo+= "AMS module"; - break; - case MOD_TYPE_DSM: - lInfo+= "DSIK Internal Format"; - break; - case MOD_TYPE_MDL: - lInfo+= "DigiTracker"; - break; - case MOD_TYPE_OKT: - lInfo+= "Oktalyzer"; - break; - case MOD_TYPE_DMF: - lInfo+= "Delusion Digital Music Fileformat (X-Tracker)"; - break; - case MOD_TYPE_PTM: - lInfo+= "PolyTracker"; - break; - case MOD_TYPE_DBM: - lInfo+= "DigiBooster Pro"; - break; - case MOD_TYPE_MT2: - lInfo+= "MT2"; - break; - case MOD_TYPE_AMF0: - lInfo+= "AMF0"; - break; - case MOD_TYPE_PSM: - lInfo+= "PSM"; - break; - default: - lInfo+= "Unknown"; - break; - } - lInfo += '\n'; - - lSongTime = soundFile->GetSongTime(); - QString text = QString("%1").arg(lSongTime/60); - text +=":"+QString("%1").arg(lSongTime%60,2,10,QChar('0')); - lInfo += text; - lInfo += '\n'; - - QTextStream lStrStream(&lInfo); - lStrStream << (int)soundFile->GetMusicSpeed() << '\n'; - lStrStream << (int)soundFile->GetMusicTempo() << '\n'; - lStrStream << (int)(lNumSamples = soundFile->GetNumSamples()) << '\n'; - lStrStream << (int)(lNumInstruments = soundFile->GetNumInstruments()); - lStrStream << '\n'; - lStrStream << (int)(soundFile->GetNumPatterns()) << '\n'; - lStrStream << (int)soundFile->GetNumChannels(); - ui.valueLabel->setText(lInfo); - lInfo.clear(); - for(i = 0; i < lNumSamples; i++) - { - soundFile->GetSampleName(i, lBuffer); - lInfo += QString::fromUtf8(lBuffer); - lInfo += '\n'; - } - ui.samplesTextEdit->setText(lInfo.trimmed ()); - lInfo.clear(); - for(i = 0; i < lNumInstruments; i++) - { - soundFile->GetInstrumentName(i, lBuffer); - lInfo += QString::fromUtf8(lBuffer); - lInfo += '\n'; - } - ui.instrumentsTextEdit->setText(lInfo.trimmed ()); - lInfo.clear(); - char message[MAX_MESSAGE_LENGTH]; - int length = soundFile->GetSongComments(message, MAX_MESSAGE_LENGTH, 80); - if (length != 0) - ui.instrumentsTextEdit->setText(QString::fromUtf8(message).trimmed ()); - - soundFile->Destroy(); - delete soundFile; -} - diff --git a/src/plugins/Input/modplug/detailsdialog.h b/src/plugins/Input/modplug/detailsdialog.h deleted file mode 100644 index a6806ff58..000000000 --- a/src/plugins/Input/modplug/detailsdialog.h +++ /dev/null @@ -1,45 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2008 by Ilya Kotov * - * forkotov02@hotmail.ru * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - ***************************************************************************/ -#ifndef DETAILSDIALOG_H -#define DETAILSDIALOG_H - -#include - -#include "ui_detailsdialog.h" - -/** - @author Ilya Kotov -*/ -class DetailsDialog : public QDialog -{ -Q_OBJECT -public: - DetailsDialog(QWidget *parent = 0, const QString &path = 0); - - ~DetailsDialog(); - -private: - Ui::DetailsDialog ui; - QString m_path; - void loadInfo(); - -}; - -#endif diff --git a/src/plugins/Input/modplug/detailsdialog.ui b/src/plugins/Input/modplug/detailsdialog.ui deleted file mode 100644 index e99ed5836..000000000 --- a/src/plugins/Input/modplug/detailsdialog.ui +++ /dev/null @@ -1,158 +0,0 @@ - - DetailsDialog - - - - 0 - 0 - 328 - 376 - - - - MOD Info - - - - - - true - - - - - - - 0 - - - - General - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - Samples - - - - - - true - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - - - - Instruments - - - - - - true - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - - - - Message - - - - - - true - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - - - - - - - - Qt::Horizontal - - - - 171 - 20 - - - - - - - - Close - - - - - - - - - closeButton - clicked() - DetailsDialog - accept() - - - 271 - 311 - - - 120 - 325 - - - - - diff --git a/src/plugins/Input/modplug/modplug.pro b/src/plugins/Input/modplug/modplug.pro index 605761005..589d1ecdb 100644 --- a/src/plugins/Input/modplug/modplug.pro +++ b/src/plugins/Input/modplug/modplug.pro @@ -1,46 +1,41 @@ include(../../plugins.pri) - -FORMS += detailsdialog.ui \ - settingsdialog.ui +FORMS += settingsdialog.ui HEADERS += decodermodplugfactory.h \ - decoder_modplug.h \ - detailsdialog.h \ - settingsdialog.h \ - archivereader.h + decoder_modplug.h \ + settingsdialog.h \ + archivereader.h \ + modplugmetadatamodel.h SOURCES += decoder_modplug.cpp \ - decodermodplugfactory.cpp \ - detailsdialog.cpp \ - settingsdialog.cpp \ - archivereader.cpp - -TARGET =$$PLUGINS_PREFIX/Input/modplug -QMAKE_CLEAN =$$PLUGINS_PREFIX/Input/libmodplug.so - -DEFINES += HAVE_STDINT_H HAVE_INTTYPES_H + decodermodplugfactory.cpp \ + settingsdialog.cpp \ + archivereader.cpp \ + modplugmetadatamodel.cpp +TARGET = $$PLUGINS_PREFIX/Input/modplug +QMAKE_CLEAN = $$PLUGINS_PREFIX/Input/libmodplug.so +DEFINES += HAVE_STDINT_H \ + HAVE_INTTYPES_H INCLUDEPATH += ../../../ CONFIG += release \ -warn_on \ -plugin \ -link_pkgconfig + warn_on \ + plugin \ + link_pkgconfig TEMPLATE = lib QMAKE_LIBDIR += ../../../../lib -LIBS += -lqmmp -L/usr/lib -I/usr/include +LIBS += -lqmmp \ + -L/usr/lib \ + -I/usr/include PKGCONFIG += libmodplug TRANSLATIONS = translations/modplug_plugin_cs.ts \ - translations/modplug_plugin_de.ts \ - translations/modplug_plugin_zh_CN.ts \ - translations/modplug_plugin_zh_TW.ts \ - translations/modplug_plugin_ru.ts \ - translations/modplug_plugin_pl.ts \ - translations/modplug_plugin_uk_UA.ts \ - translations/modplug_plugin_it.ts \ - translations/modplug_plugin_tr.ts \ - translations/modplug_plugin_lt.ts + translations/modplug_plugin_de.ts \ + translations/modplug_plugin_zh_CN.ts \ + translations/modplug_plugin_zh_TW.ts \ + translations/modplug_plugin_ru.ts \ + translations/modplug_plugin_pl.ts \ + translations/modplug_plugin_uk_UA.ts \ + translations/modplug_plugin_it.ts \ + translations/modplug_plugin_tr.ts \ + translations/modplug_plugin_lt.ts RESOURCES = translations/translations.qrc - -isEmpty(LIB_DIR){ - LIB_DIR = /lib -} - +isEmpty(LIB_DIR):LIB_DIR = /lib target.path = $$LIB_DIR/qmmp/Input INSTALLS += target diff --git a/src/plugins/Input/modplug/modplugmetadatamodel.cpp b/src/plugins/Input/modplug/modplugmetadatamodel.cpp new file mode 100644 index 000000000..ee275f227 --- /dev/null +++ b/src/plugins/Input/modplug/modplugmetadatamodel.cpp @@ -0,0 +1,188 @@ +/*************************************************************************** + * Copyright (C) 2009 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include +#include "archivereader.h" +#include "modplugmetadatamodel.h" + +#define MAX_MESSAGE_LENGTH 4000 + +ModPlugMetaDataModel::ModPlugMetaDataModel(const QString &path, QObject *parent) : MetaDataModel(parent) +{ + m_soundFile = 0; + m_path = path; + ArchiveReader reader(this); + if(reader.isSupported(m_path)) + { + m_buffer = reader.unpack(m_path); + } + else + { + QFile file(m_path); + if(!file.open(QIODevice::ReadOnly)) + { + qWarning("DetailsDialog: error: %s", qPrintable(file.errorString ())); + return; + } + m_buffer = file.readAll(); + file.close(); + } + m_soundFile = new CSoundFile(); + m_soundFile->Create((uchar*) m_buffer.data(), m_buffer.size()); +} + +ModPlugMetaDataModel::~ModPlugMetaDataModel() +{ + if(m_soundFile) + { + m_soundFile->Destroy(); + delete m_soundFile; + } +} + +QHash ModPlugMetaDataModel::audioProperties() +{ + QHash ap; + if(!m_soundFile) + return ap; + + ap.insert(tr("File name"), m_path.section('/',-1)); + QString text; + switch(m_soundFile->GetType()) + { + case MOD_TYPE_MOD: + text += "ProTracker"; + break; + case MOD_TYPE_S3M: + text += "Scream Tracker 3"; + break; + case MOD_TYPE_XM: + text += "Fast Tracker 2"; + break; + case MOD_TYPE_IT: + text += "Impulse Tracker"; + break; + case MOD_TYPE_MED: + text += "OctaMed"; + break; + case MOD_TYPE_MTM: + text += "MTM"; + break; + case MOD_TYPE_669: + text += "669 Composer / UNIS 669"; + break; + case MOD_TYPE_ULT: + text += "ULT"; + break; + case MOD_TYPE_STM: + text += "Scream Tracker"; + break; + case MOD_TYPE_FAR: + text += "Farandole"; + break; + case MOD_TYPE_AMF: + text += "ASYLUM Music Format"; + break; + case MOD_TYPE_AMS: + text += "AMS module"; + break; + case MOD_TYPE_DSM: + text += "DSIK Internal Format"; + break; + case MOD_TYPE_MDL: + text += "DigiTracker"; + break; + case MOD_TYPE_OKT: + text += "Oktalyzer"; + break; + case MOD_TYPE_DMF: + text += "Delusion Digital Music Fileformat (X-Tracker)"; + break; + case MOD_TYPE_PTM: + text += "PolyTracker"; + break; + case MOD_TYPE_DBM: + text += "DigiBooster Pro"; + break; + case MOD_TYPE_MT2: + text += "MT2"; + break; + case MOD_TYPE_AMF0: + text += "AMF0"; + break; + case MOD_TYPE_PSM: + text += "PSM"; + break; + default: + text += "Unknown"; + break; + } + ap.insert(tr("Type"), text); + + int lSongTime = m_soundFile->GetSongTime(); + text = QString("%1").arg(lSongTime/60); + text +=":"+QString("%1").arg(lSongTime%60,2,10,QChar('0')); + ap.insert(tr("Length"), text); + ap.insert(tr("Speed"), QString::number(m_soundFile->GetMusicSpeed())); + ap.insert(tr("Tempo"), QString::number(m_soundFile->GetMusicTempo())); + ap.insert(tr("Samples"), QString::number(m_soundFile->GetNumSamples())); + ap.insert(tr("Instruments"), QString::number(m_soundFile->GetNumInstruments())); + ap.insert(tr("Patterns"), QString::number(m_soundFile->GetNumPatterns())); + ap.insert(tr("Channels"), QString::number(m_soundFile->GetNumChannels())); + return ap; +} + +QHash ModPlugMetaDataModel::descriptions() +{ + QHash desc; + if(!m_soundFile) + return desc; + char lBuffer[33]; + QString text; + for(uint i = 0; i < m_soundFile->GetNumSamples(); i++) + { + m_soundFile->GetSampleName(i, lBuffer); + text += QString::fromUtf8(lBuffer) + '\n'; + } + text = text.trimmed(); + if(!text.isEmpty()) + desc.insert(tr("Samples"), text); + text.clear(); + for(uint i = 0; i < m_soundFile->GetNumInstruments(); i++) + { + m_soundFile->GetInstrumentName(i, lBuffer); + text += QString::fromUtf8(lBuffer) + '\n'; + } + text = text.trimmed(); + if(!text.isEmpty()) + desc.insert(tr("Instruments"), text); + text.clear(); + char message[MAX_MESSAGE_LENGTH]; + int length = m_soundFile->GetSongComments(message, MAX_MESSAGE_LENGTH, 80); + if (length != 0) + desc.insert(tr("Comment"), QString::fromUtf8(message).trimmed ()); + return desc; +} + diff --git a/src/plugins/Input/modplug/modplugmetadatamodel.h b/src/plugins/Input/modplug/modplugmetadatamodel.h new file mode 100644 index 000000000..df49ae940 --- /dev/null +++ b/src/plugins/Input/modplug/modplugmetadatamodel.h @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright (C) 2009 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef MODPLUGMETADATAMODEL_H +#define MODPLUGMETADATAMODEL_H + + +#include + +class CSoundFile; + +class ModPlugMetaDataModel : public MetaDataModel +{ +Q_OBJECT +public: + ModPlugMetaDataModel(const QString &path, QObject *parent); + ~ModPlugMetaDataModel(); + QHash audioProperties(); + QHash descriptions(); + +private: + CSoundFile* m_soundFile; + QByteArray m_buffer; + QString m_path; +}; + +#endif // MODPLUGMETADATAMODEL_H diff --git a/src/plugins/Input/modplug/settingsdialog.cpp b/src/plugins/Input/modplug/settingsdialog.cpp index ce1da24a9..7fbdeb5b9 100644 --- a/src/plugins/Input/modplug/settingsdialog.cpp +++ b/src/plugins/Input/modplug/settingsdialog.cpp @@ -74,7 +74,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) else ui.resampPolyphaseRadioButton->setChecked(TRUE); //reverberation - ui.reverbGroupBox->setChecked(settings.value("Reverb", TRUE).toBool()); + ui.reverbGroupBox->setChecked(settings.value("Reverb", FALSE).toBool()); ui.reverbDepthSlider->setValue(settings.value("ReverbDepth", 30).toInt()); ui.reverbDelaySlider->setValue(settings.value("ReverbDelay", 100).toInt()); //surround @@ -168,9 +168,9 @@ void SettingsDialog::writeSettings() //apply settings for the created decoder if (DecoderModPlug::instance()) { - DecoderModPlug::instance()->mutex()->lock(); + //DecoderModPlug::instance()->mutex()->lock(); DecoderModPlug::instance()->readSettings(); - DecoderModPlug::instance()->mutex()->unlock(); + //DecoderModPlug::instance()->mutex()->unlock(); } } diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts b/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts index 1290302e8..e3ab97629 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts @@ -14,146 +14,99 @@ Soubory ModPlug - + About ModPlug Audio Plugin O modulu ModPlug - + Qmmp ModPlug Audio Plugin Vstupní modul Qmmp ModPlug - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilja Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms Založeno na modulu Modplug pro XMMS - + Modplug Plugin developers: - Vývojáři modulu Modplug: + - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - - - - - - - - - Title: - Název: - - - - Close - Zavřít - + ModPlugMetaDataModel - - Length: - Délka: + + File name + Název souboru - - Channels: - Počet kanálů: + + Type + Typ - - File name: - Název souboru: + + Length + Délka - - Type: - Typ: + + Speed + Rychlost - - Speed: - Rychlost: + + Tempo + Tempo - - Tempo: - Tempo: - - - - Samples: - Vzorky: - - - - Instruments: - Nástroje: - - - - Patterns: - Patterny: - - - - MOD Info - Informace o modulu - - - - General - Obecné + + + Samples + Vzorky - - Samples - Vzorky + + + Instruments + Nástroje - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> + + Patterns + Patterny - - Instruments - Nástroje + + Channels + - - Message - Zpráva + + Comment + diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_de.ts b/src/plugins/Input/modplug/translations/modplug_plugin_de.ts index d83b16e54..b665c5b49 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_de.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_de.ts @@ -14,143 +14,99 @@ ModPlug-Dateien - + About ModPlug Audio Plugin Über ModPlug-Audio-Modul - + Qmmp ModPlug Audio Plugin Qmmp ModPlug-Audio-Modul - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilya Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms Basiert auf dem Modplug-Modul für Xmms - + Modplug Plugin developers: - Modplug-Modul-Entwickler: + - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - Dateiname: - - - - Title: - Titel: - + ModPlugMetaDataModel - - Type: - Typ: + + File name + Dateiname - - Length: - Länge: + + Type + Typ - - Speed: - Geschwindigkeit: + + Length + Länge - - Tempo: - Tempo: + + Speed + Geschwindigkeit - - Samples: - Samples: + + Tempo + Tempo - - Instruments: - Instrumente: - - - - Patterns: - Pattern: - - - - Channels: - Kanäle: - - - - MOD Info - MOD-Info - - - - General - Allgemein - - - - - - - - - - - + + Samples - Samples + Samples - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - + + + Instruments + Instrumente - - Instruments - Instrumente + + Patterns + Pattern - - Message - Mitteilung + + Channels + Kanäle - - Close - Schließen + + Comment + @@ -353,18 +309,6 @@ p, li { white-space: pre-wrap; } Loop forever Endlosschleife - - OK - OK - - - Apply - Anwenden - - - Cancel - Abbrechen - diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_it.ts b/src/plugins/Input/modplug/translations/modplug_plugin_it.ts index a1becc715..823aec22b 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_it.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_it.ts @@ -14,146 +14,99 @@ Brani ModPlug - + About ModPlug Audio Plugin Info sul modulo audio ModPlug - + Qmmp ModPlug Audio Plugin Modulo audio ModPlug per Qmmp - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autore: Ilya Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms Basato sul Modulo Modplug per Xmms - + Modplug Plugin developers: - Sviluppatori del modulo Modplug: + - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog + ModPlugMetaDataModel - - File name: - Nome del brano: + + File name + Nome del brano - - Title: - Titolo: + + Type + Tipo - - Type: - Tipo: + + Length + Durata - - Length: - Durata: + + Speed + Velocità - - Speed: - Velocità: + + Tempo + Tempo - - Tempo: - Tempo: - - - - Samples: - Campioni: - - - - Instruments: - Strumenti: - - - - Patterns: - Schema: - - - - Channels: - Canali: - - - - MOD Info - Info MOD - - - - General - Generale - - - - - - - - - - - + + Samples - Campioni + Campioni - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> + + + Instruments + Strumenti - - Instruments - Strumenti + + Patterns + Schema - - Message - Messaggio + + Channels + Canali - - Close - Chiudi + + Comment + @@ -356,18 +309,6 @@ p, li { white-space: pre-wrap; } Loop forever Sempre - - OK - OK - - - Apply - Anwenden - - - Cancel - Abbrechen - diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_lt.ts b/src/plugins/Input/modplug/translations/modplug_plugin_lt.ts index 6993d3d00..78db795a5 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_lt.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_lt.ts @@ -1,153 +1,112 @@ - - + + DecoderModPlugFactory - + ModPlug Plugin ModPlug Įskiepis - + ModPlug Files ModPlug bylos - + About ModPlug Audio Plugin Apie ModPlug audio įskiepį - + Qmmp ModPlug Audio Plugin Qmmp ModPlug audio įskiepis - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> sukūrė:Ilya Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms Sukurta Xmms Modplug įskiepio pagrindu - + Modplug Plugin developers: - Modplug kūrėjai: + - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - Bylos pavadinimas: - - - - Title: - Pavadinimas: - - - - Type: - Tipas: - - - - Length: - Ilgis: - - - - Speed: - Greitis: - - - - Tempo: - Tempas: - + ModPlugMetaDataModel - - Samples: - Samples: + + File name + Bylos pavadinimas - - Instruments: - Instrumentai: + + Type + Tipas - - Patterns: - Pavyzdžiai: + + Length + Ilgis - - Channels: - Kanalai: + + Speed + Greitis - - MOD Info - MOD informacija + + Tempo + Tempas - - General - Bendri - - - - - - - - - + + Samples - Pavyzdžiai + Samples - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - + + + Instruments + Instrumentai - - Instruments - Instrumentai + + Patterns + Pavyzdžiai - - Message - Žinutė + + Channels + Kanalai - - Close - Užverti + + Comment + @@ -253,16 +212,21 @@ p, li { white-space: pre-wrap; } Reverb + Depth (%) Gilumas (%) + + + 0 + Delay (ms) Užlaikymas (ms) @@ -374,20 +338,5 @@ too high may cause clipping! Loop forever Amžinai - - - OK - Gerai - - - - Apply - Patvirtinti - - - - Cancel - Atšaukti - diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_pl.ts b/src/plugins/Input/modplug/translations/modplug_plugin_pl.ts index a18d39ab8..8affea6a0 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_pl.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_pl.ts @@ -14,143 +14,99 @@ Pliki ModPlug - + About ModPlug Audio Plugin O wtyczce ModPlug Audio - + Qmmp ModPlug Audio Plugin Wtyczka ModPlug Audio dla Qmmp - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Autor: Ilya Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms Oparty na wtyczce Modplug dla Xmms - + Modplug Plugin developers: - Twórcy wtyczki Modplug: + - + Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - Nazwa pliku: - - - - Title: - Tytuł: - - - - Type: - Typ: - + ModPlugMetaDataModel - - Length: - Długość: + + File name + Nazwa pliku - - Speed: - Prędkość: + + Type + Typ - - Tempo: - Tempo: + + Length + Długość - - Samples: - Sample: + + Speed + Prędkość - - Instruments: - Instrumenty: + + Tempo + Tempo - - Patterns: - Szablony: - - - - Channels: - Kanały: - - - - MOD Info - MOD Info - - - - General - Ogólne - - - - - - - - - - + + Samples - Sample + Sample - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - + + + Instruments + Instrumenty - - Instruments - Instrumenty + + Patterns + Szablony - - Message - Wiadomości + + Channels + Kanały - - Close - Zamknij + + Comment + diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts b/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts index c3b2c95d1..43088f522 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts @@ -14,143 +14,99 @@ Файлы ModPlug - + About ModPlug Audio Plugin Об аудио-модуле ModPlug - + Qmmp ModPlug Audio Plugin Аудио-модуль ModPlug для Qmmp - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Разработчик: Илья Котов <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms Основан на базе модуля Modplug для Xmms - + Modplug Plugin developers: Разработчики модуля Modplug: - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - Имя файла: - - - - Title: - Название: - - - - Type: - Тип: - - - - Length: - Длительность: - - - - Speed: - Скорость: - + ModPlugMetaDataModel - - Tempo: - Темп: + + File name + Имя файла - - Samples: - Сэмплов: + + Type + Тип - - Instruments: - Инструментов: + + Length + Длительность - - Patterns: - Образцов: + + Speed + Скорость - - Channels: - Каналов: + + Tempo + Темп - - MOD Info - Иформация MOD - - - - General - Общие - - - - - - - - - - + + Samples Сэмплы - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - - - - + + Instruments Инструменты - - Message - Сообщение + + Patterns + Образцов - - Close - Закрыть + + Channels + Каналы + + + + Comment + Комментарий @@ -267,7 +223,7 @@ p, li { white-space: pre-wrap; } 0 - + 0 @@ -278,7 +234,7 @@ p, li { white-space: pre-wrap; } 40 - + 40 @@ -298,7 +254,7 @@ p, li { white-space: pre-wrap; } 10 - + 10 @@ -308,7 +264,7 @@ p, li { white-space: pre-wrap; } 5 - + 5 @@ -324,7 +280,7 @@ p, li { white-space: pre-wrap; } Note: Setting the preamp too high may cause clipping! - Замечание: установка слишком высокого + Замечание: установка слишком высокого усиления может вызвать срезание! @@ -382,17 +338,5 @@ too high may cause clipping! Loop forever Повторять всегда - - OK - OK - - - Apply - Применить - - - Cancel - Отмена - diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_tr.ts b/src/plugins/Input/modplug/translations/modplug_plugin_tr.ts index c428c51ac..25b00b848 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_tr.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_tr.ts @@ -14,146 +14,99 @@ ModPlug Dosyaları - + About ModPlug Audio Plugin ModPlug Ses Eklentisi Hakkında - + Qmmp ModPlug Audio Plugin Qmmp ModPlug Ses Eklentisi - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Yazan: Ilya Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms Xmms için yazılan Modplug eklentisi temellidir - + Modplug Plugin developers: - Modplug Eklentisi geliştiricileri: + - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - Dosya adı: - - - - Title: - Başlık: - - - - Type: - Tip: - + ModPlugMetaDataModel - - Length: - Uzunluk: + + File name + Dosya adı - - Speed: - Hız: + + Type + Tip - - Tempo: - Tempo: + + Length + Uzunluk - - Samples: - Örnekler: + + Speed + Hız - - Instruments: - Enstrümanlar: + + Tempo + Tempo - - Patterns: - Desenler: - - - - Channels: - Kanallar: - - - - MOD Info - MOD Bilgisi - - - - General - Genel - - - - - - - - - - - + + Samples - Örnekler + Örnekler - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> + + + Instruments + Enstrümanlar - - Instruments - Enstrümanlar + + Patterns + Desenler - - Message - Mesaj + + Channels + Kanallar - - Close - Kapat + + Comment + diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts b/src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts index 00ff9cbe9..8011490a5 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts @@ -14,143 +14,99 @@ Файли ModPlug - + About ModPlug Audio Plugin Про аудіо-модуль ModPlug - + Qmmp ModPlug Audio Plugin Аудіо-модуль для Qmmp - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> Розробник: Ілля Котов <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms На базі модуля Modplug для Xmms - + Modplug Plugin developers: - Розробники модуля Modplug: + - + Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - Ім'я файлу: - - - - Title: - Назва: - - - - Type: - Тип: - - - - Length: - Тривалість: - + ModPlugMetaDataModel - - Speed: - Швидкість: + + File name + Ім'я файлу - - Tempo: - Темп: + + Type + Тип - - Samples: - Семпли: + + Length + Тривалість - - Instruments: - Інструменти: + + Speed + Швидкість - - Patterns: - Зразків: + + Tempo + Темп - - Channels: - Каналів: - - - - MOD Info - Іформація MOD - - - - General - Загальні - - - - - - - - - - + + Samples - Семпли + Семпли - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - + + + Instruments + Інструменти - - Instruments - Інструменти + + Patterns + Зразків - - Message - Повідомлення + + Channels + - - Close - Закрити + + Comment + @@ -382,13 +338,5 @@ too high may cause clipping! Loop forever Цикл назавжди - - Apply - Застосувати - - - Cancel - Відміна - diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts b/src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts index 4db27d3b5..48ae175c8 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts @@ -14,143 +14,99 @@ ModPlug 文件 - + About ModPlug Audio Plugin 关于 ModPlug 音频插件 - + Qmmp ModPlug Audio Plugin Qmmp ModPlug 音频插件 - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> 作者:Ilya Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms 基于 Modplug 的 Xmms 插件 - + Modplug Plugin developers: - ModPlug 插件开发者: + - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - 文件名: - - - - Title: - 标题: - - - - Type: - 类型: - - - - Length: - 长度: - - - - Speed: - 速度: - + ModPlugMetaDataModel - - Tempo: - 节拍: + + File name + 文件名: - - Samples: - 取样率: + + Type + 类型: - - Instruments: - 乐器: + + Length + 长度: - - Patterns: - 结构: + + Speed + 速度: - - Channels: - 声音通道: + + Tempo + 节拍: - - MOD Info - MOD 信息 - - - - General - 常规 - - - - - - - - - - - + + Samples - 取样率 + 取样率: - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - + + + Instruments + 乐器: - - Instruments - 乐器 + + Patterns + 结构: - - Message - 信息 + + Channels + - - Close - 关闭 + + Comment + @@ -353,18 +309,6 @@ p, li { white-space: pre-wrap; } Loop forever 永远循环 - - OK - 确定 - - - Apply - 应用 - - - Cancel - 取消 - diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts b/src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts index cd292afa0..98de6076e 100644 --- a/src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts +++ b/src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts @@ -14,143 +14,99 @@ ModPlug 檔案 - + About ModPlug Audio Plugin 關於 ModPlug 聲訊插件 - + Qmmp ModPlug Audio Plugin Qmmp ModPlug 聲訊插件 - + Writen by: Ilya Kotov <forkotov02@hotmail.ru> 作者:Ilya Kotov <forkotov02@hotmail.ru> - + Based on the Modplug Plugin for Xmms 基於 Modplug 的 Xmms 插件 - + Modplug Plugin developers: - ModPlug 插件開發者: + - + Olivier Lapicque <olivierl@jps.net> Olivier Lapicque <olivierl@jps.net> - + Kenton Varda <temporal@gauge3d.org> Kenton Varda <temporal@gauge3d.org> - + Konstanty Bialkowski <konstanty@ieee.org> Konstanty Bialkowski <konstanty@ieee.org> - DetailsDialog - - - File name: - 檔名: - - - - Title: - 標題: - - - - Type: - 類別: - - - - Length: - 長度: - - - - Speed: - 速度: - + ModPlugMetaDataModel - - Tempo: - 節拍: + + File name + 檔名: - - Samples: - 取樣率: + + Type + 類別: - - Instruments: - 樂器: + + Length + 長度: - - Patterns: - 架構: + + Speed + 速度: - - Channels: - 音頻通道: + + Tempo + 節拍: - - MOD Info - MOD 資訊 - - - - General - 常規 - - - - - - - - - - - + + Samples - 取樣率 + 取樣率: - - - - <html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> - + + + Instruments + 樂器: - - Instruments - 樂器 + + Patterns + 架構: - - Message - 資訊 + + Channels + - - Close - 關閉 + + Comment + @@ -353,18 +309,6 @@ p, li { white-space: pre-wrap; } Loop forever 永遠循環 - - OK - 確定 - - - Apply - 應用 - - - Cancel - 取消 - -- cgit v1.2.3-13-gbd6f