aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Input')
-rw-r--r--src/plugins/Input/CMakeLists.txt4
-rw-r--r--src/plugins/Input/Input.pro2
-rw-r--r--src/plugins/Input/modplug/CMakeLists.txt6
-rw-r--r--src/plugins/Input/modplug/decoder_modplug.cpp19
-rw-r--r--src/plugins/Input/modplug/decoder_modplug.h7
-rw-r--r--src/plugins/Input/modplug/decodermodplugfactory.cpp15
-rw-r--r--src/plugins/Input/modplug/decodermodplugfactory.h4
-rw-r--r--src/plugins/Input/modplug/detailsdialog.cpp202
-rw-r--r--src/plugins/Input/modplug/detailsdialog.ui158
-rw-r--r--src/plugins/Input/modplug/modplug.pro63
-rw-r--r--src/plugins/Input/modplug/modplugmetadatamodel.cpp188
-rw-r--r--src/plugins/Input/modplug/modplugmetadatamodel.h (renamed from src/plugins/Input/modplug/detailsdialog.h)31
-rw-r--r--src/plugins/Input/modplug/settingsdialog.cpp6
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_cs.ts131
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_de.ts138
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_it.ts141
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_lt.ts151
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_pl.ts126
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_ru.ts144
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_tr.ts129
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts134
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts138
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts138
23 files changed, 684 insertions, 1391 deletions
diff --git a/src/plugins/Input/CMakeLists.txt b/src/plugins/Input/CMakeLists.txt
index 3bf227f3a..a0e86fc3a 100644
--- a/src/plugins/Input/CMakeLists.txt
+++ b/src/plugins/Input/CMakeLists.txt
@@ -8,7 +8,7 @@ SET(USE_FFMPEG TRUE CACHE BOOL "enable/disable ffmpeg plugin")
SET(USE_MPC TRUE CACHE BOOL "enable/disable mpc plugin")
SET(USE_SNDFILE TRUE CACHE BOOL "enable/disable sndfile plugin")
SET(USE_WAVPACK TRUE CACHE BOOL "enable/disable wavpack plugin")
-#SET(USE_MODPLUG TRUE CACHE BOOL "enable/disable modplug plugin")
+SET(USE_MODPLUG TRUE CACHE BOOL "enable/disable modplug plugin")
#SET(USE_AAC TRUE CACHE BOOL "enable/disable aac plugin")
SET(USE_CUE TRUE CACHE BOOL "enable/disable cue plugin")
#SET(USE_MPLAYER TRUE CACHE BOOL "enable/disable mplayer support")
@@ -45,7 +45,7 @@ add_subdirectory(wavpack)
ENDIF(USE_WAVPACK)
IF(USE_MODPLUG)
-#add_subdirectory(modplug)
+add_subdirectory(modplug)
ENDIF(USE_MODPLUG)
IF(USE_AAC)
diff --git a/src/plugins/Input/Input.pro b/src/plugins/Input/Input.pro
index 4a1caff0d..92c359c85 100644
--- a/src/plugins/Input/Input.pro
+++ b/src/plugins/Input/Input.pro
@@ -6,7 +6,7 @@ TEMPLATE = subdirs
unix{
SUBDIRS += vorbis sndfile wavpack
contains(CONFIG, MODPLUG_PLUGIN){
-# SUBDIRS += modplug
+ SUBDIRS += modplug
message(***************************)
message(* Modplug plugin enabled *)
message(***************************)
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 <libmodplug/sndfile.h>
#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<FileInfo *> DecoderModPlugFactory::createPlayList(const QString &fileName, bool useMetaData)
@@ -106,7 +105,7 @@ QList<FileInfo *> 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<FileInfo *> 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<FileInfo *> 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 <QFile>
-#include <QFileInfo>
-#include <QTextStream>
-
-#include <stdint.h>
-#include <libmodplug/stdafx.h>
-#include <libmodplug/it_defs.h>
-#include <libmodplug/sndfile.h>
-#include <libmodplug/modplug.h>
-
-#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.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 @@
-<ui version="4.0" >
- <class>DetailsDialog</class>
- <widget class="QDialog" name="DetailsDialog" >
- <property name="geometry" >
- <rect>
- <x>0</x>
- <y>0</y>
- <width>328</width>
- <height>376</height>
- </rect>
- </property>
- <property name="windowTitle" >
- <string>MOD Info</string>
- </property>
- <layout class="QGridLayout" >
- <item row="0" column="0" colspan="2" >
- <widget class="QLineEdit" name="pathLineEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2" >
- <widget class="QTabWidget" name="tabWidget" >
- <property name="currentIndex" >
- <number>0</number>
- </property>
- <widget class="QWidget" name="tab" >
- <attribute name="title" >
- <string>General</string>
- </attribute>
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QLabel" name="nameLabel" >
- <property name="text" >
- <string>-</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="valueLabel" >
- <property name="text" >
- <string>-</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_2" >
- <attribute name="title" >
- <string>Samples</string>
- </attribute>
- <layout class="QVBoxLayout" >
- <item>
- <widget class="QTextEdit" name="samplesTextEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- <property name="html" >
- <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
-p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;">
-&lt;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;">&lt;/p>&lt;/body>&lt;/html></string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_3" >
- <attribute name="title" >
- <string>Instruments</string>
- </attribute>
- <layout class="QVBoxLayout" >
- <item>
- <widget class="QTextEdit" name="instrumentsTextEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- <property name="html" >
- <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
-p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;">
-&lt;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;">&lt;/p>&lt;/body>&lt;/html></string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="tab_4" >
- <attribute name="title" >
- <string>Message</string>
- </attribute>
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QTextEdit" name="messageTextEdit" >
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- <property name="html" >
- <string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
-p, li { white-space: pre-wrap; }
-&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:10pt; font-weight:400; font-style:normal;">
-&lt;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;">&lt;/p>&lt;/body>&lt;/html></string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </widget>
- </item>
- <item row="2" column="0" >
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>171</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="2" column="1" >
- <widget class="QPushButton" name="closeButton" >
- <property name="text" >
- <string>Close</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections>
- <connection>
- <sender>closeButton</sender>
- <signal>clicked()</signal>
- <receiver>DetailsDialog</receiver>
- <slot>accept()</slot>
- <hints>
- <hint type="sourcelabel" >
- <x>271</x>
- <y>311</y>
- </hint>
- <hint type="destinationlabel" >
- <x>120</x>
- <y>325</y>
- </hint>
- </hints>
- </connection>
- </connections>
-</ui>
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 <QFile>
+#include <stdint.h>
+#include <libmodplug/stdafx.h>
+#include <libmodplug/it_defs.h>
+#include <libmodplug/sndfile.h>
+#include <libmodplug/modplug.h>
+#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<QString, QString> ModPlugMetaDataModel::audioProperties()
+{
+ QHash<QString, QString> 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<QString, QString> ModPlugMetaDataModel::descriptions()
+{
+ QHash<QString, QString> 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/detailsdialog.h b/src/plugins/Input/modplug/modplugmetadatamodel.h
index a6806ff58..df49ae940 100644
--- a/src/plugins/Input/modplug/detailsdialog.h
+++ b/src/plugins/Input/modplug/modplugmetadatamodel.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008 by Ilya Kotov *
+ * Copyright (C) 2009 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -17,29 +17,28 @@
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#ifndef DETAILSDIALOG_H
-#define DETAILSDIALOG_H
-#include <QDialog>
+#ifndef MODPLUGMETADATAMODEL_H
+#define MODPLUGMETADATAMODEL_H
-#include "ui_detailsdialog.h"
-/**
- @author Ilya Kotov <forkotov02@hotmail.ru>
-*/
-class DetailsDialog : public QDialog
+#include <qmmp/metadatamodel.h>
+
+class CSoundFile;
+
+class ModPlugMetaDataModel : public MetaDataModel
{
Q_OBJECT
public:
- DetailsDialog(QWidget *parent = 0, const QString &path = 0);
-
- ~DetailsDialog();
+ ModPlugMetaDataModel(const QString &path, QObject *parent);
+ ~ModPlugMetaDataModel();
+ QHash<QString, QString> audioProperties();
+ QHash<QString, QString> descriptions();
private:
- Ui::DetailsDialog ui;
+ CSoundFile* m_soundFile;
+ QByteArray m_buffer;
QString m_path;
- void loadInfo();
-
};
-#endif
+#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 @@
<translation>Soubory ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>O modulu ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Vstupní modul Qmmp ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>Autor: Ilja Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Založeno na modulu Modplug pro XMMS</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>Vývojáři modulu Modplug:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation>-</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>Název:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Zavřít</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>Délka:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">Název souboru</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Počet kanálů:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">Typ</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>Název souboru:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">Délka</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>Typ:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">Rychlost</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>Rychlost:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">Tempo</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>Tempo:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>Vzorky:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>Nástroje:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>Patterny:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>Informace o modulu</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Obecné</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
+ <source>Samples</source>
+ <translation type="unfinished">Vzorky</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="57"/>
- <source>Samples</source>
- <translation>Vzorky</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">Nástroje</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">Patterny</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>Nástroje</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Zpráva</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
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 @@
<translation>ModPlug-Dateien</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>Über ModPlug-Audio-Modul</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug-Audio-Modul</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>Autor: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Basiert auf dem Modplug-Modul für Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>Modplug-Modul-Entwickler:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>Dateiname:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>Titel:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>Typ:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">Dateiname</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>Länge:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">Typ</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>Geschwindigkeit:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">Länge</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>Tempo:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">Geschwindigkeit</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>Samples:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">Tempo</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>Instrumente:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>Pattern:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Kanäle:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>MOD-Info</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Allgemein</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation>-</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>Samples</translation>
+ <translation type="unfinished">Samples</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation></translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">Instrumente</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>Instrumente</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">Pattern</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Mitteilung</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished">Kanäle</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Schließen</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -354,18 +310,6 @@ p, li { white-space: pre-wrap; }
<translation>Endlosschleife</translation>
</message>
<message>
- <source>OK</source>
- <translation type="obsolete">OK</translation>
- </message>
- <message>
- <source>Apply</source>
- <translation type="obsolete">Anwenden</translation>
- </message>
- <message>
- <source>Cancel</source>
- <translation type="obsolete">Abbrechen</translation>
- </message>
- <message>
<location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
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 @@
<translation>Brani ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>Info sul modulo audio ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Modulo audio ModPlug per Qmmp</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>Autore: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Basato sul Modulo Modplug per Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>Sviluppatori del modulo Modplug:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>Nome del brano:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">Nome del brano</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>Titolo:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">Tipo</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>Tipo:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">Durata</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>Durata:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">Velocità</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>Velocità:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">Tempo</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>Tempo:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>Campioni:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>Strumenti:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>Schema:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Canali:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>Info MOD</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Generale</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation>-</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>Campioni</translation>
+ <translation type="unfinished">Campioni</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">Strumenti</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>Strumenti</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">Schema</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Messaggio</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished">Canali</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Chiudi</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -357,18 +310,6 @@ p, li { white-space: pre-wrap; }
<translation>Sempre</translation>
</message>
<message>
- <source>OK</source>
- <translation type="obsolete">OK</translation>
- </message>
- <message>
- <source>Apply</source>
- <translation type="obsolete">Anwenden</translation>
- </message>
- <message>
- <source>Cancel</source>
- <translation type="obsolete">Abbrechen</translation>
- </message>
- <message>
<location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
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 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="lt">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="lt">
<context>
<name>DecoderModPlugFactory</name>
<message>
- <location filename="../decodermodplugfactory.cpp" line="40"/>
+ <location filename="../decodermodplugfactory.cpp" line="60"/>
<source>ModPlug Plugin</source>
<translation>ModPlug Įskiepis</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="44"/>
+ <location filename="../decodermodplugfactory.cpp" line="64"/>
<source>ModPlug Files</source>
<translation>ModPlug bylos</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="108"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>Apie ModPlug audio įskiepį</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="109"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug audio įskiepis</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="110"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>sukūrė:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="111"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Sukurta Xmms Modplug įskiepio pagrindu</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="112"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>Modplug kūrėjai:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="113"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="114"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="115"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>File name:</source>
- <translation>Bylos pavadinimas:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Title:</source>
- <translation>Pavadinimas:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Type:</source>
- <translation>Tipas:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Length:</source>
- <translation>Ilgis:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Speed:</source>
- <translation>Greitis:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Tempo:</source>
- <translation>Tempas:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Samples:</source>
- <translation>Samples:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">Bylos pavadinimas</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Instruments:</source>
- <translation>Instrumentai:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">Tipas</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Patterns:</source>
- <translation>Pavyzdžiai:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">Ilgis</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Kanalai:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">Greitis</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>MOD informacija</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">Tempas</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Bendri</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>Pavyzdžiai</translation>
+ <translation type="unfinished">Samples</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">Instrumentai</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>Instrumentai</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">Pavyzdžiai</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Žinutė</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished">Kanalai</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Užverti</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -253,16 +212,21 @@ p, li { white-space: pre-wrap; }
<translation>Reverb</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>Gilumas (%)</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="224"/>
+ <location filename="../settingsdialog.ui" line="358"/>
+ <location filename="../settingsdialog.ui" line="489"/>
<location filename="../settingsdialog.ui" line="608"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="250"/>
<location filename="../settingsdialog.ui" line="509"/>
<source>Delay (ms)</source>
<translation>Užlaikymas (ms)</translation>
@@ -374,20 +338,5 @@ too high may cause clipping!</translation>
<source>Loop forever</source>
<translation>Amžinai</translation>
</message>
- <message>
- <location filename="../settingsdialog.ui" line="800"/>
- <source>OK</source>
- <translation>Gerai</translation>
- </message>
- <message>
- <location filename="../settingsdialog.ui" line="807"/>
- <source>Apply</source>
- <translation>Patvirtinti</translation>
- </message>
- <message>
- <location filename="../settingsdialog.ui" line="814"/>
- <source>Cancel</source>
- <translation>Atšaukti</translation>
- </message>
</context>
</TS>
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 @@
<translation>Pliki ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>O wtyczce ModPlug Audio</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Wtyczka ModPlug Audio dla Qmmp</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>Autor: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Oparty na wtyczce Modplug dla Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>Twórcy wtyczki Modplug:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation></translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>Nazwa pliku:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>Tytuł:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>Typ:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>Długość:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">Nazwa pliku</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>Prędkość:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">Typ</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>Tempo:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">Długość</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>Sample:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">Prędkość</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>Instrumenty:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">Tempo</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>Szablony:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Kanały:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>MOD Info</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Ogólne</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>Sample</translation>
+ <translation type="unfinished">Sample</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation></translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">Instrumenty</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>Instrumenty</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">Szablony</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Wiadomości</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished">Kanały</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Zamknij</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
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 @@
<translation>Файлы ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>Об аудио-модуле ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Аудио-модуль ModPlug для Qmmp</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>Разработчик: Илья Котов &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Основан на базе модуля Modplug для Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
<translation>Разработчики модуля Modplug:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>Имя файла:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>Название:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>Тип:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>Длительность:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>Скорость:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>Темп:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation>Имя файла</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>Сэмплов:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation>Тип</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>Инструментов:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation>Длительность</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>Образцов:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation>Скорость</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Каналов:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation>Темп</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>Иформация MOD</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Общие</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
<translation>Сэмплы</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="77"/>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
<source>Instruments</source>
<translation>Инструменты</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Сообщение</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation>Образцов</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Закрыть</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation>Каналы</translation>
+ </message>
+ <message>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation>Комментарий</translation>
</message>
</context>
<context>
@@ -267,7 +223,7 @@ p, li { white-space: pre-wrap; }
<location filename="../settingsdialog.ui" line="489"/>
<location filename="../settingsdialog.ui" line="608"/>
<source>0</source>
- <translation type="unfinished"></translation>
+ <translation>0</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="250"/>
@@ -278,7 +234,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../settingsdialog.ui" line="282"/>
<source>40</source>
- <translation type="unfinished"></translation>
+ <translation>40</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="314"/>
@@ -298,7 +254,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../settingsdialog.ui" line="416"/>
<source>10</source>
- <translation type="unfinished"></translation>
+ <translation>10</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="448"/>
@@ -308,7 +264,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../settingsdialog.ui" line="541"/>
<source>5</source>
- <translation type="unfinished"></translation>
+ <translation>5</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="567"/>
@@ -324,7 +280,7 @@ p, li { white-space: pre-wrap; }
<location filename="../settingsdialog.ui" line="646"/>
<source>Note: Setting the preamp
too high may cause clipping!</source>
- <translation type="unfinished">Замечание: установка слишком высокого
+ <translation>Замечание: установка слишком высокого
усиления может вызвать срезание!</translation>
</message>
<message>
@@ -382,17 +338,5 @@ too high may cause clipping!</source>
<source>Loop forever</source>
<translation>Повторять всегда</translation>
</message>
- <message>
- <source>OK</source>
- <translation type="obsolete">OK</translation>
- </message>
- <message>
- <source>Apply</source>
- <translation type="obsolete">Применить</translation>
- </message>
- <message>
- <source>Cancel</source>
- <translation type="obsolete">Отмена</translation>
- </message>
</context>
</TS>
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 @@
<translation>ModPlug Dosyaları</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>ModPlug Ses Eklentisi Hakkında</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug Ses Eklentisi</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>Yazan: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Xmms için yazılan Modplug eklentisi temellidir</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>Modplug Eklentisi geliştiricileri:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>Dosya adı:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>Başlık:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>Tip:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>Uzunluk:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">Dosya adı</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>Hız:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">Tip</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>Tempo:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">Uzunluk</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>Örnekler:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">Hız</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>Enstrümanlar:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">Tempo</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>Desenler:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Kanallar:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>MOD Bilgisi</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Genel</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation>-</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>Örnekler</translation>
+ <translation type="unfinished">Örnekler</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">Enstrümanlar</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>Enstrümanlar</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">Desenler</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Mesaj</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished">Kanallar</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Kapat</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
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 @@
<translation>Файли ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>Про аудіо-модуль ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Аудіо-модуль для Qmmp</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>Розробник: Ілля Котов &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>На базі модуля Modplug для Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>Розробники модуля Modplug:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation></translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>Ім&apos;я файлу:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>Назва:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>Тип:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>Тривалість:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>Швидкість:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">Ім&apos;я файлу</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>Темп:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">Тип</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>Семпли:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">Тривалість</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>Інструменти:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">Швидкість</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>Зразків:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">Темп</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>Каналів:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>Іформація MOD</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>Загальні</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>Семпли</translation>
+ <translation type="unfinished">Семпли</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation></translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">Інструменти</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>Інструменти</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">Зразків</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>Повідомлення</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>Закрити</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -382,13 +338,5 @@ too high may cause clipping!</source>
<source>Loop forever</source>
<translation>Цикл назавжди</translation>
</message>
- <message>
- <source>Apply</source>
- <translation type="obsolete">Застосувати</translation>
- </message>
- <message>
- <source>Cancel</source>
- <translation type="obsolete">Відміна</translation>
- </message>
</context>
</TS>
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 @@
<translation>ModPlug 文件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>关于 ModPlug 音频插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug 音频插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>基于 Modplug 的 Xmms 插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>ModPlug 插件开发者:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>文件名:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>标题:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>类型:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>长度:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>速度:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>节拍:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">文件名:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>取样率:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">类型:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>乐器:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">长度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>结构:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">速度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>声音通道:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">节拍:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>MOD 信息</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>常规</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation>-</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>取样率</translation>
+ <translation type="unfinished">取样率:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">乐器:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>乐器</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">结构:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>信息</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>关闭</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -354,18 +310,6 @@ p, li { white-space: pre-wrap; }
<translation>永远循环</translation>
</message>
<message>
- <source>OK</source>
- <translation type="obsolete">确定</translation>
- </message>
- <message>
- <source>Apply</source>
- <translation type="obsolete">应用</translation>
- </message>
- <message>
- <source>Cancel</source>
- <translation type="obsolete">取消</translation>
- </message>
- <message>
<location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
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 @@
<translation>ModPlug 檔案</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="130"/>
<source>About ModPlug Audio Plugin</source>
<translation>關於 ModPlug 聲訊插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="131"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug 聲訊插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="132"/>
<source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
<translation>作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>基於 Modplug 的 Xmms 插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Modplug Plugin developers:</source>
- <translation>ModPlug 插件開發者:</translation>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation>Olivier Lapicque &lt;olivierl@jps.net&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation>Kenton Varda &lt;temporal@gauge3d.org&gt;</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="140"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
</context>
<context>
- <name>DetailsDialog</name>
- <message>
- <location filename="../detailsdialog.cpp" line="43"/>
- <source>File name:</source>
- <translation>檔名:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="44"/>
- <source>Title:</source>
- <translation>標題:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="45"/>
- <source>Type:</source>
- <translation>類別:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="46"/>
- <source>Length:</source>
- <translation>長度:</translation>
- </message>
- <message>
- <location filename="../detailsdialog.cpp" line="47"/>
- <source>Speed:</source>
- <translation>速度:</translation>
- </message>
+ <name>ModPlugMetaDataModel</name>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
- <source>Tempo:</source>
- <translation>節拍:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="71"/>
+ <source>File name</source>
+ <translation type="unfinished">檔名:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
- <source>Samples:</source>
- <translation>取樣率:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="142"/>
+ <source>Type</source>
+ <translation type="unfinished">類別:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
- <source>Instruments:</source>
- <translation>樂器:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="147"/>
+ <source>Length</source>
+ <translation type="unfinished">長度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
- <source>Patterns:</source>
- <translation>架構:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="148"/>
+ <source>Speed</source>
+ <translation type="unfinished">速度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
- <source>Channels:</source>
- <translation>音頻通道:</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="149"/>
+ <source>Tempo</source>
+ <translation type="unfinished">節拍:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="13"/>
- <source>MOD Info</source>
- <translation>MOD 資訊</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="30"/>
- <source>General</source>
- <translation>常規</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="36"/>
- <location filename="../detailsdialog.ui" line="46"/>
- <source>-</source>
- <translation>-</translation>
- </message>
- <message>
- <location filename="../detailsdialog.ui" line="57"/>
+ <location filename="../modplugmetadatamodel.cpp" line="150"/>
+ <location filename="../modplugmetadatamodel.cpp" line="171"/>
<source>Samples</source>
- <translation>取樣率</translation>
+ <translation type="unfinished">取樣率:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="66"/>
- <location filename="../detailsdialog.ui" line="86"/>
- <location filename="../detailsdialog.ui" line="106"/>
- <source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:&apos;Arial&apos;; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"></translation>
+ <location filename="../modplugmetadatamodel.cpp" line="151"/>
+ <location filename="../modplugmetadatamodel.cpp" line="180"/>
+ <source>Instruments</source>
+ <translation type="unfinished">樂器:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="77"/>
- <source>Instruments</source>
- <translation>樂器</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="152"/>
+ <source>Patterns</source>
+ <translation type="unfinished">架構:</translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="97"/>
- <source>Message</source>
- <translation>資訊</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="153"/>
+ <source>Channels</source>
+ <translation type="unfinished"></translation>
</message>
<message>
- <location filename="../detailsdialog.ui" line="133"/>
- <source>Close</source>
- <translation>關閉</translation>
+ <location filename="../modplugmetadatamodel.cpp" line="185"/>
+ <source>Comment</source>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -354,18 +310,6 @@ p, li { white-space: pre-wrap; }
<translation>永遠循環</translation>
</message>
<message>
- <source>OK</source>
- <translation type="obsolete">確定</translation>
- </message>
- <message>
- <source>Apply</source>
- <translation type="obsolete">應用</translation>
- </message>
- <message>
- <source>Cancel</source>
- <translation type="obsolete">取消</translation>
- </message>
- <message>
<location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>