aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-07-20 19:25:25 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-07-20 19:25:25 +0000
commitba1ead27be9789f63c1dce3f7ffc38ca38476b90 (patch)
treec6c01277ea62760977239b15224701e276bf5edb /src
parent411a6c40f71b28328262a195935c5f94f3584d8e (diff)
downloadqmmp-ba1ead27be9789f63c1dce3f7ffc38ca38476b90.tar.gz
qmmp-ba1ead27be9789f63c1dce3f7ffc38ca38476b90.tar.bz2
qmmp-ba1ead27be9789f63c1dce3f7ffc38ca38476b90.zip
enabled modplug plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1054 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Input/CMakeLists.txt2
-rw-r--r--src/plugins/Input/Input.pro2
-rw-r--r--src/plugins/Input/modplug/decoder_modplug.cpp257
-rw-r--r--src/plugins/Input/modplug/decoder_modplug.h41
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_cs.ts54
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_de.ts55
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_it.ts56
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_ru.ts59
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts61
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts58
-rw-r--r--src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts58
11 files changed, 280 insertions, 423 deletions
diff --git a/src/plugins/Input/CMakeLists.txt b/src/plugins/Input/CMakeLists.txt
index 214dfed1f..b17164880 100644
--- a/src/plugins/Input/CMakeLists.txt
+++ b/src/plugins/Input/CMakeLists.txt
@@ -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 2aff50c64..7cdba20aa 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/decoder_modplug.cpp b/src/plugins/Input/modplug/decoder_modplug.cpp
index adb11daed..c33716f28 100644
--- a/src/plugins/Input/modplug/decoder_modplug.cpp
+++ b/src/plugins/Input/modplug/decoder_modplug.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008 by Ilya Kotov *
+ * Copyright (C) 2008-2009 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -33,7 +33,6 @@
#include <libmodplug/it_defs.h>
#include <libmodplug/sndfile.h>
-#include <qmmp/constants.h>
#include <qmmp/buffer.h>
#include <qmmp/output.h>
#include <qmmp/recycler.h>
@@ -51,21 +50,10 @@ DecoderModPlug::DecoderModPlug(QObject *parent, DecoderFactory *d, Output *o, co
: Decoder(parent, d, o)
{
m_path = path;
- m_inited = FALSE;
- m_user_stop = FALSE;
- m_output_buf = 0;
- m_output_bytes = 0;
- m_output_at = 0;
- m_bks = 0;
- m_done = FALSE;
- m_finish = FALSE;
m_freq = 0;
m_bitrate = 0;
- m_seekTime = -1.0;
- m_totalTime = 0.0;
+ m_totalTime = 0;
m_chan = 0;
- m_output_size = 0;
- //m_modFile = 0;
m_soundFile = 0;
m_sampleSize = 0;
m_instance = this;
@@ -74,71 +62,15 @@ DecoderModPlug::DecoderModPlug(QObject *parent, DecoderFactory *d, Output *o, co
DecoderModPlug::~DecoderModPlug()
{
deinit();
- if (m_output_buf)
- delete [] m_output_buf;
- m_output_buf = 0;
m_instance = 0;
}
-void DecoderModPlug::stop()
-{
- m_user_stop = TRUE;
-}
-
-void DecoderModPlug::flush(bool final)
-{
- ulong min = final ? 0 : m_bks;
-
- while ((! m_done && ! m_finish) && m_output_bytes > min)
- {
- output()->recycler()->mutex()->lock ();
-
- while ((! m_done && ! m_finish) && output()->recycler()->full())
- {
- mutex()->unlock();
-
- output()->recycler()->cond()->wait(output()->recycler()->mutex());
-
- mutex()->lock ();
- m_done = m_user_stop;
- }
-
- if (m_user_stop || m_finish)
- {
- m_inited = FALSE;
- m_done = TRUE;
- }
- else
- {
- m_output_bytes -= produceSound(m_output_buf, m_output_bytes, m_bitrate, m_chan);
- m_output_size += m_bks;
- m_output_at = m_output_bytes;
- }
-
- if (output()->recycler()->full())
- {
- output()->recycler()->cond()->wakeOne();
- }
-
- output()->recycler()->mutex()->unlock();
- }
-}
-
bool DecoderModPlug::initialize()
{
- m_bks = Buffer::size();
- m_inited = m_user_stop = m_done = m_finish = FALSE;
m_freq = m_bitrate = 0;
m_chan = 0;
- m_output_size = 0;
- m_seekTime = -1.0;
m_totalTime = 0.0;
- if (! m_output_buf)
- m_output_buf = new char[globalBufferSize];
- m_output_at = 0;
- m_output_bytes = 0;
-
ArchiveReader reader(this);
if (reader.isSupported(m_path))
m_input_buf = reader.unpack(m_path);
@@ -163,171 +95,82 @@ bool DecoderModPlug::initialize()
m_sampleSize = m_bps / 8 * m_chan;
m_soundFile->Create((uchar*) m_input_buf.data(), m_input_buf.size());
m_bitrate = m_soundFile->GetNumChannels();
- /*if(!m_modFile)
- {
- qWarning("DecoderModPlug: error reading moplug file");
- return FALSE;
- }*/
-
m_totalTime = (qint64) m_soundFile->GetSongTime() * 1000;
configure(m_freq, m_chan, m_bps);
- m_inited = TRUE;
return TRUE;
}
qint64 DecoderModPlug::totalTime()
{
- if (! m_inited)
- return 0;
-
return m_totalTime;
}
-
-void DecoderModPlug::seek(qint64 pos)
-{
- m_seekTime = pos;
-}
-
-void DecoderModPlug::deinit()
+int DecoderModPlug::bitrate()
{
- m_inited = m_user_stop = m_done = m_finish = FALSE;
- m_freq = m_bitrate = 0;
- m_chan = 0;
- m_output_size = 0;
- if (m_soundFile)
- {
- m_soundFile->Destroy();
- delete m_soundFile;
- m_soundFile = 0;
- }
- m_input_buf.clear();
+ return m_bitrate;
}
-void DecoderModPlug::run()
+qint64 DecoderModPlug::readAudio(char *audio, qint64 maxSize)
{
- mutex()->lock ();
-
- ulong len = 0;
- if (!m_inited)
+ long len = m_soundFile->Read (audio, qMin((qint64)Buffer::size(), maxSize)) * m_sampleSize;
+ if (m_usePreamp)
{
- mutex()->unlock();
- return;
- }
- mutex()->unlock();
-
- char *prebuf = new char[m_bks];
-
- while (!m_done && !m_finish)
- {
- mutex()->lock ();
-
- //seeking
-
- if (m_seekTime >= 0)
- {
- quint32 lMax;
- quint32 lMaxtime;
- double lPostime;
-
- if (m_seekTime > (lMaxtime = m_soundFile->GetSongTime()) * 1000)
- m_seekTime = lMaxtime * 1000;
- lMax = m_soundFile->GetMaxPosition();
- lPostime = float(lMax) / lMaxtime;
- m_soundFile->SetCurrentPos(int(m_seekTime * lPostime / 1000));
- m_seekTime = -1.0;
- }
-
- // decode
- len = m_bks > (globalBufferSize - m_output_at) ? globalBufferSize - m_output_at : m_bks;
- len = m_soundFile->Read (prebuf, len) * m_sampleSize;
-
- //preamp
- if (m_usePreamp)
{
+ //apply preamp
+ if (m_bps == 16)
{
- //apply preamp
- if (m_bps == 16)
+ long n = len >> 1;
+ for (long i = 0; i < n; i++)
{
- uint n = len >> 1;
- for (uint i = 0; i < n; i++)
- {
- short old = ((short*)prebuf)[i];
- ((short*)prebuf)[i] *= m_preampFactor;
- // detect overflow and clip!
- if ((old & 0x8000) !=
- (((short*)prebuf)[i] & 0x8000))
- ((short*)prebuf)[i] = old | 0x7FFF;
-
- }
- }
- else
- {
- for (uint i = 0; i < len; i++)
- {
- uchar old = ((uchar*)prebuf)[i];
- ((uchar*)prebuf)[i] *= m_preampFactor;
- // detect overflow and clip!
- if ((old & 0x80) !=
- (((uchar*)prebuf)[i] & 0x80))
- ((uchar*)prebuf)[i] = old | 0x7F;
- }
+ short old = ((short*)audio)[i];
+ ((short*)audio)[i] *= m_preampFactor;
+ // detect overflow and clip!
+ if ((old & 0x8000) !=
+ (((short*)audio)[i] & 0x8000))
+ ((short*)audio)[i] = old | 0x7FFF;
}
}
- }
-
- memmove(m_output_buf + m_output_at, prebuf, len);
-
- if (len > 0)
- {
- m_output_at += len;
- m_output_bytes += len;
-
- if (output())
- flush();
-
- }
- else if (len == 0)
- {
- flush(TRUE);
-
- if (output())
+ else
{
- output()->recycler()->mutex()->lock ();
- // end of stream
- while (! output()->recycler()->empty() && ! m_user_stop)
+ for (long i = 0; i < len; i++)
{
- output()->recycler()->cond()->wakeOne();
- mutex()->unlock();
- output()->recycler()->cond()->wait(output()->recycler()->mutex());
- mutex()->lock ();
+ uchar old = ((uchar*)audio)[i];
+ ((uchar*)audio)[i] *= m_preampFactor;
+ // detect overflow and clip!
+ if ((old & 0x80) !=
+ (((uchar*)audio)[i] & 0x80))
+ ((uchar*)audio)[i] = old | 0x7F;
}
- output()->recycler()->mutex()->unlock();
- }
-
- m_done = TRUE;
- if (! m_user_stop)
- {
- m_finish = TRUE;
}
}
- else
- {
- // error while read
- qWarning("DecoderModPlug: Error while decoding stream, File appears to be corrupted");
- m_finish = TRUE;
- }
- mutex()->unlock();
}
+ return len;
+}
- mutex()->lock ();
-
- if (m_finish)
- finish();
+void DecoderModPlug::seekAudio(qint64 pos)
+{
+ quint32 lMax;
+ quint32 lMaxtime;
+ double lPostime;
+
+ if (pos > (lMaxtime = m_soundFile->GetSongTime()) * 1000)
+ pos = lMaxtime * 1000;
+ lMax = m_soundFile->GetMaxPosition();
+ lPostime = float(lMax) / lMaxtime;
+ m_soundFile->SetCurrentPos(int(pos * lPostime / 1000));
+}
- mutex()->unlock();
- delete prebuf;
- deinit();
+void DecoderModPlug::deinit()
+{
+ m_freq = m_bitrate = 0;
+ m_chan = 0;
+ if (m_soundFile)
+ {
+ m_soundFile->Destroy();
+ delete m_soundFile;
+ m_soundFile = 0;
+ }
+ m_input_buf.clear();
}
void DecoderModPlug::readSettings()
diff --git a/src/plugins/Input/modplug/decoder_modplug.h b/src/plugins/Input/modplug/decoder_modplug.h
index 8a14443b3..6d5a6dff7 100644
--- a/src/plugins/Input/modplug/decoder_modplug.h
+++ b/src/plugins/Input/modplug/decoder_modplug.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008 by Ilya Kotov *
+ * Copyright (C) 2008-2009 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -31,49 +31,30 @@ public:
DecoderModPlug(QObject *, DecoderFactory *, Output *, const QString &path);
virtual ~DecoderModPlug();
+ void readSettings();
+ static DecoderModPlug* instance();
// Standard Decoder API
bool initialize();
qint64 totalTime();
- void seek(qint64);
- void stop();
-
- void readSettings();
- static DecoderModPlug* instance();
+ int bitrate();
private:
- // thread run function
- void run();
-
- // helper functions
- void flush(bool = FALSE);
+ qint64 readAudio(char *audio, qint64 maxSize);
+ void seekAudio(qint64 time);
+ //helper function
void deinit();
- //ModPlug_Settings m_modSettings;
- //CSoundFile *m_modFile;
CSoundFile *m_soundFile;
- bool m_inited, m_user_stop;
int m_bps; //bits per sample
-
-
- //input buffer
- QByteArray m_input_buf;
-
- // output buffer
- char *m_output_buf;
- ulong m_output_bytes, m_output_at;
-
- unsigned int m_bks; //block size
- bool m_done, m_finish;
- long m_freq, m_bitrate;
- int m_chan, m_sampleSize;
- qint64 m_output_size;
- qint64 m_totalTime, m_seekTime;
+ QByteArray m_input_buf; //input buffer
+ quint32 m_freq;
+ int m_chan, m_sampleSize, m_bitrate;
+ qint64 m_totalTime;
double m_preampFactor;
bool m_usePreamp;
QString m_path;
static DecoderModPlug* m_instance;
};
-
#endif // DECODER_MODPLUG_H
diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts b/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts
index 767cd2b50..bb2db69c4 100644
--- a/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts
+++ b/src/plugins/Input/modplug/translations/modplug_plugin_cs.ts
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="cs">
+<!DOCTYPE TS>
+<TS version="2.0" language="cs">
<context>
<name>DecoderModPlugFactory</name>
<message>
@@ -13,42 +14,42 @@
<translation>Soubory ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="132"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>About ModPlug Audio Plugin</source>
<translation>O modulu ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="133"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Vstupní modul Qmmp ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="134"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<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="135"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<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="136"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Modplug Plugin developers:</source>
<translation>Vývojáři modulu Modplug:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="137"/>
+ <location filename="../decodermodplugfactory.cpp" line="138"/>
<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="138"/>
+ <location filename="../decodermodplugfactory.cpp" line="139"/>
<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="139"/>
+ <location filename="../decodermodplugfactory.cpp" line="140"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
@@ -56,12 +57,13 @@
<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="45"/>
+ <location filename="../detailsdialog.cpp" line="44"/>
<source>Title:</source>
<translation>Název:</translation>
</message>
@@ -71,7 +73,7 @@
<translation>Zavřít</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
+ <location filename="../detailsdialog.cpp" line="46"/>
<source>Length:</source>
<translation>Délka:</translation>
</message>
@@ -81,37 +83,37 @@
<translation>Počet kanálů:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
+ <location filename="../detailsdialog.cpp" line="43"/>
<source>File name:</source>
<translation>Název souboru:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
+ <location filename="../detailsdialog.cpp" line="45"/>
<source>Type:</source>
<translation>Typ:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
+ <location filename="../detailsdialog.cpp" line="47"/>
<source>Speed:</source>
<translation>Rychlost:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
+ <location filename="../detailsdialog.cpp" line="48"/>
<source>Tempo:</source>
<translation>Tempo:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
+ <location filename="../detailsdialog.cpp" line="49"/>
<source>Samples:</source>
<translation>Vzorky:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
+ <location filename="../detailsdialog.cpp" line="50"/>
<source>Instruments:</source>
<translation>Nástroje:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
+ <location filename="../detailsdialog.cpp" line="51"/>
<source>Patterns:</source>
<translation>Patterny:</translation>
</message>
@@ -131,6 +133,8 @@
<translation>Vzorky</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; }
@@ -155,14 +159,12 @@ p, li { white-space: pre-wrap; }
<context>
<name>SettingsDialog</name>
<message>
- <location filename="../settingsdialog.ui" line="800"/>
<source>OK</source>
- <translation>OK</translation>
+ <translation type="obsolete">OK</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="814"/>
<source>Cancel</source>
- <translation>Zrušit</translation>
+ <translation type="obsolete">Zrušit</translation>
</message>
<message>
<location filename="../settingsdialog.ui" line="13"/>
@@ -265,16 +267,21 @@ p, li { white-space: pre-wrap; }
<translation>Dozvuk</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>Hloubka (%)</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>0</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="250"/>
<location filename="../settingsdialog.ui" line="509"/>
<source>Delay (ms)</source>
<translation>Zpoždění (ms)</translation>
@@ -387,9 +394,8 @@ předzesílení může způsobit přebuzení!</translation>
<translation>Donekonečna</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="807"/>
<source>Apply</source>
- <translation>Aplikovat</translation>
+ <translation type="obsolete">Aplikovat</translation>
</message>
</context>
</TS>
diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_de.ts b/src/plugins/Input/modplug/translations/modplug_plugin_de.ts
index e2330d2e6..6b3a35ea3 100644
--- a/src/plugins/Input/modplug/translations/modplug_plugin_de.ts
+++ b/src/plugins/Input/modplug/translations/modplug_plugin_de.ts
@@ -4,52 +4,52 @@
<context>
<name>DecoderModPlugFactory</name>
<message>
- <location filename="../decodermodplugfactory.cpp" line="40"/>
+ <location filename="../decodermodplugfactory.cpp" line="60"/>
<source>ModPlug Plugin</source>
<translation>ModPlug-Modul</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="44"/>
+ <location filename="../decodermodplugfactory.cpp" line="64"/>
<source>ModPlug Files</source>
<translation>ModPlug-Dateien</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="108"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>About ModPlug Audio Plugin</source>
<translation>Über ModPlug-Audio-Modul</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="109"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug-Audio-Modul</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="110"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<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="111"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<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="112"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Modplug Plugin developers:</source>
<translation>Modplug-Modul-Entwickler:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="113"/>
+ <location filename="../decodermodplugfactory.cpp" line="138"/>
<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="139"/>
<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="140"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
@@ -57,47 +57,47 @@
<context>
<name>DetailsDialog</name>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
+ <location filename="../detailsdialog.cpp" line="43"/>
<source>File name:</source>
<translation>Dateiname:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
+ <location filename="../detailsdialog.cpp" line="44"/>
<source>Title:</source>
<translation>Titel:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
+ <location filename="../detailsdialog.cpp" line="45"/>
<source>Type:</source>
<translation>Typ:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
+ <location filename="../detailsdialog.cpp" line="46"/>
<source>Length:</source>
<translation>Länge:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
+ <location filename="../detailsdialog.cpp" line="47"/>
<source>Speed:</source>
<translation>Geschwindigkeit:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
+ <location filename="../detailsdialog.cpp" line="48"/>
<source>Tempo:</source>
<translation>Tempo:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
+ <location filename="../detailsdialog.cpp" line="49"/>
<source>Samples:</source>
<translation>Samples:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
+ <location filename="../detailsdialog.cpp" line="50"/>
<source>Instruments:</source>
<translation>Instrumente:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
+ <location filename="../detailsdialog.cpp" line="51"/>
<source>Patterns:</source>
<translation>Pattern:</translation>
</message>
@@ -117,6 +117,7 @@
<translation>Allgemein</translation>
</message>
<message>
+ <location filename="../detailsdialog.ui" line="36"/>
<location filename="../detailsdialog.ui" line="46"/>
<source>-</source>
<translation>-</translation>
@@ -127,6 +128,8 @@
<translation>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; }
@@ -253,6 +256,9 @@ p, li { white-space: pre-wrap; }
<translation>Hall</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>0</translation>
@@ -348,26 +354,25 @@ p, li { white-space: pre-wrap; }
<translation>Endlosschleife</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="800"/>
<source>OK</source>
- <translation>OK</translation>
+ <translation type="obsolete">OK</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="807"/>
<source>Apply</source>
- <translation>Anwenden</translation>
+ <translation type="obsolete">Anwenden</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="814"/>
<source>Cancel</source>
- <translation>Abbrechen</translation>
+ <translation type="obsolete">Abbrechen</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>Intensität (%)</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="250"/>
<location filename="../settingsdialog.ui" line="509"/>
<source>Delay (ms)</source>
<translation>Verzögerung (ms)</translation>
diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_it.ts b/src/plugins/Input/modplug/translations/modplug_plugin_it.ts
index c57ec6b0d..45349398a 100644
--- a/src/plugins/Input/modplug/translations/modplug_plugin_it.ts
+++ b/src/plugins/Input/modplug/translations/modplug_plugin_it.ts
@@ -1,56 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="de">
-<defaultcodec></defaultcodec>
<context>
<name>DecoderModPlugFactory</name>
<message>
- <location filename="../decodermodplugfactory.cpp" line="40"/>
+ <location filename="../decodermodplugfactory.cpp" line="60"/>
<source>ModPlug Plugin</source>
<translation>Modulo ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="44"/>
+ <location filename="../decodermodplugfactory.cpp" line="64"/>
<source>ModPlug Files</source>
<translation>Brani ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="108"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>About ModPlug Audio Plugin</source>
<translation>Info sul modulo audio ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="109"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Modulo audio ModPlug per Qmmp</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="110"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<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="111"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Basato sul Modulo Modplug per Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="112"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Modplug Plugin developers:</source>
<translation>Sviluppatori del modulo Modplug:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="113"/>
+ <location filename="../decodermodplugfactory.cpp" line="138"/>
<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="139"/>
<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="140"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
@@ -58,47 +57,47 @@
<context>
<name>DetailsDialog</name>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
+ <location filename="../detailsdialog.cpp" line="43"/>
<source>File name:</source>
<translation>Nome del brano:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
+ <location filename="../detailsdialog.cpp" line="44"/>
<source>Title:</source>
<translation>Titolo:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
+ <location filename="../detailsdialog.cpp" line="45"/>
<source>Type:</source>
<translation>Tipo:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
+ <location filename="../detailsdialog.cpp" line="46"/>
<source>Length:</source>
<translation>Durata:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
+ <location filename="../detailsdialog.cpp" line="47"/>
<source>Speed:</source>
<translation>Velocità:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
+ <location filename="../detailsdialog.cpp" line="48"/>
<source>Tempo:</source>
<translation>Tempo:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
+ <location filename="../detailsdialog.cpp" line="49"/>
<source>Samples:</source>
<translation>Campioni:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
+ <location filename="../detailsdialog.cpp" line="50"/>
<source>Instruments:</source>
<translation>Strumenti:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
+ <location filename="../detailsdialog.cpp" line="51"/>
<source>Patterns:</source>
<translation>Schema:</translation>
</message>
@@ -118,6 +117,7 @@
<translation>Generale</translation>
</message>
<message>
+ <location filename="../detailsdialog.ui" line="36"/>
<location filename="../detailsdialog.ui" line="46"/>
<source>-</source>
<translation>-</translation>
@@ -128,6 +128,8 @@
<translation>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; }
@@ -257,6 +259,9 @@ p, li { white-space: pre-wrap; }
<translation>Riverbero</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>0</translation>
@@ -352,26 +357,25 @@ p, li { white-space: pre-wrap; }
<translation>Sempre</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="800"/>
<source>OK</source>
- <translation>OK</translation>
+ <translation type="obsolete">OK</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="807"/>
<source>Apply</source>
- <translation>Anwenden</translation>
+ <translation type="obsolete">Anwenden</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="814"/>
<source>Cancel</source>
- <translation>Abbrechen</translation>
+ <translation type="obsolete">Abbrechen</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>Intensità (%)</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="250"/>
<location filename="../settingsdialog.ui" line="509"/>
<source>Delay (ms)</source>
<translation>Ritardo (ms)</translation>
diff --git a/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts b/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts
index fd928d4ae..c3b2c95d1 100644
--- a/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts
+++ b/src/plugins/Input/modplug/translations/modplug_plugin_ru.ts
@@ -1,55 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="ru_RU">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru_RU">
<context>
<name>DecoderModPlugFactory</name>
<message>
- <location filename="../decodermodplugfactory.cpp" line="40"/>
+ <location filename="../decodermodplugfactory.cpp" line="60"/>
<source>ModPlug Plugin</source>
<translation>Модуль ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="44"/>
+ <location filename="../decodermodplugfactory.cpp" line="64"/>
<source>ModPlug Files</source>
<translation>Файлы ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="108"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>About ModPlug Audio Plugin</source>
<translation>Об аудио-модуле ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="109"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Аудио-модуль ModPlug для Qmmp</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="110"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<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="111"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>Основан на базе модуля Modplug для Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="112"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Modplug Plugin developers:</source>
<translation>Разработчики модуля Modplug:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="113"/>
+ <location filename="../decodermodplugfactory.cpp" line="138"/>
<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="139"/>
<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="140"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
@@ -57,47 +57,47 @@
<context>
<name>DetailsDialog</name>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
+ <location filename="../detailsdialog.cpp" line="43"/>
<source>File name:</source>
<translation>Имя файла:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
+ <location filename="../detailsdialog.cpp" line="44"/>
<source>Title:</source>
<translation>Название:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
+ <location filename="../detailsdialog.cpp" line="45"/>
<source>Type:</source>
<translation>Тип:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
+ <location filename="../detailsdialog.cpp" line="46"/>
<source>Length:</source>
<translation>Длительность:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
+ <location filename="../detailsdialog.cpp" line="47"/>
<source>Speed:</source>
<translation>Скорость:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
+ <location filename="../detailsdialog.cpp" line="48"/>
<source>Tempo:</source>
<translation>Темп:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
+ <location filename="../detailsdialog.cpp" line="49"/>
<source>Samples:</source>
<translation>Сэмплов:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
+ <location filename="../detailsdialog.cpp" line="50"/>
<source>Instruments:</source>
<translation>Инструментов:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
+ <location filename="../detailsdialog.cpp" line="51"/>
<source>Patterns:</source>
<translation>Образцов:</translation>
</message>
@@ -117,6 +117,7 @@
<translation>Общие</translation>
</message>
<message>
+ <location filename="../detailsdialog.ui" line="36"/>
<location filename="../detailsdialog.ui" line="46"/>
<source>-</source>
<translation type="unfinished"></translation>
@@ -127,6 +128,8 @@
<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; }
@@ -253,16 +256,21 @@ p, li { white-space: pre-wrap; }
<translation>Затухание</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>Интенсивность (%)</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>Задержка (мс)</translation>
@@ -375,19 +383,16 @@ too high may cause clipping!</source>
<translation>Повторять всегда</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="800"/>
<source>OK</source>
- <translation>OK</translation>
+ <translation type="obsolete">OK</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="807"/>
<source>Apply</source>
- <translation>Применить</translation>
+ <translation type="obsolete">Применить</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="814"/>
<source>Cancel</source>
- <translation>Отмена</translation>
+ <translation type="obsolete">Отмена</translation>
</message>
</context>
</TS>
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 c31760b5c..00ff9cbe9 100644
--- a/src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts
+++ b/src/plugins/Input/modplug/translations/modplug_plugin_uk_UA.ts
@@ -1,55 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="uk">
-<defaultcodec></defaultcodec>
+<!DOCTYPE TS>
+<TS version="2.0" language="uk">
<context>
<name>DecoderModPlugFactory</name>
<message>
- <location filename="../decodermodplugfactory.cpp" line="40"/>
+ <location filename="../decodermodplugfactory.cpp" line="60"/>
<source>ModPlug Plugin</source>
<translation>Модуль ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="44"/>
+ <location filename="../decodermodplugfactory.cpp" line="64"/>
<source>ModPlug Files</source>
<translation>Файли ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="108"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>About ModPlug Audio Plugin</source>
<translation>Про аудіо-модуль ModPlug</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="109"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Аудіо-модуль для Qmmp</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="110"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<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="111"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>На базі модуля Modplug для Xmms</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="112"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Modplug Plugin developers:</source>
<translation>Розробники модуля Modplug:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="113"/>
+ <location filename="../decodermodplugfactory.cpp" line="138"/>
<source>Olivier Lapicque &lt;olivierl@jps.net&gt;</source>
<translation></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="114"/>
+ <location filename="../decodermodplugfactory.cpp" line="139"/>
<source>Kenton Varda &lt;temporal@gauge3d.org&gt;</source>
<translation></translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="115"/>
+ <location filename="../decodermodplugfactory.cpp" line="140"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation></translation>
</message>
@@ -57,47 +57,47 @@
<context>
<name>DetailsDialog</name>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
+ <location filename="../detailsdialog.cpp" line="43"/>
<source>File name:</source>
<translation>Ім&apos;я файлу:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
+ <location filename="../detailsdialog.cpp" line="44"/>
<source>Title:</source>
<translation>Назва:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
+ <location filename="../detailsdialog.cpp" line="45"/>
<source>Type:</source>
<translation>Тип:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
+ <location filename="../detailsdialog.cpp" line="46"/>
<source>Length:</source>
<translation>Тривалість:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
+ <location filename="../detailsdialog.cpp" line="47"/>
<source>Speed:</source>
<translation>Швидкість:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
+ <location filename="../detailsdialog.cpp" line="48"/>
<source>Tempo:</source>
<translation>Темп:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
+ <location filename="../detailsdialog.cpp" line="49"/>
<source>Samples:</source>
<translation>Семпли:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
+ <location filename="../detailsdialog.cpp" line="50"/>
<source>Instruments:</source>
<translation>Інструменти:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
+ <location filename="../detailsdialog.cpp" line="51"/>
<source>Patterns:</source>
<translation>Зразків:</translation>
</message>
@@ -117,6 +117,7 @@
<translation>Загальні</translation>
</message>
<message>
+ <location filename="../detailsdialog.ui" line="36"/>
<location filename="../detailsdialog.ui" line="46"/>
<source>-</source>
<translation></translation>
@@ -127,6 +128,8 @@
<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; }
@@ -253,16 +256,21 @@ p, li { white-space: pre-wrap; }
<translation>Реверберація</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>Глибина (%)</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></translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="250"/>
<location filename="../settingsdialog.ui" line="509"/>
<source>Delay (ms)</source>
<translation>Затримка (мс)</translation>
@@ -375,19 +383,12 @@ too high may cause clipping!</source>
<translation>Цикл назавжди</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="800"/>
- <source>OK</source>
- <translation></translation>
- </message>
- <message>
- <location filename="../settingsdialog.ui" line="807"/>
<source>Apply</source>
- <translation>Застосувати</translation>
+ <translation type="obsolete">Застосувати</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="814"/>
<source>Cancel</source>
- <translation>Відміна</translation>
+ <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 7975c7969..4db27d3b5 100644
--- a/src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts
+++ b/src/plugins/Input/modplug/translations/modplug_plugin_zh_CN.ts
@@ -1,54 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_CN">
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_CN">
<context>
<name>DecoderModPlugFactory</name>
<message>
- <location filename="../decodermodplugfactory.cpp" line="40"/>
+ <location filename="../decodermodplugfactory.cpp" line="60"/>
<source>ModPlug Plugin</source>
<translation>ModPlug 插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="44"/>
+ <location filename="../decodermodplugfactory.cpp" line="64"/>
<source>ModPlug Files</source>
<translation>ModPlug 文件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="108"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>About ModPlug Audio Plugin</source>
<translation>关于 ModPlug 音频插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="109"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug 音频插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="110"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<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="111"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>基于 Modplug 的 Xmms 插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="112"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Modplug Plugin developers:</source>
<translation>ModPlug 插件开发者:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="113"/>
+ <location filename="../decodermodplugfactory.cpp" line="138"/>
<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="139"/>
<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="140"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
@@ -56,47 +57,47 @@
<context>
<name>DetailsDialog</name>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
+ <location filename="../detailsdialog.cpp" line="43"/>
<source>File name:</source>
<translation>文件名:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
+ <location filename="../detailsdialog.cpp" line="44"/>
<source>Title:</source>
<translation>标题:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
+ <location filename="../detailsdialog.cpp" line="45"/>
<source>Type:</source>
<translation>类型:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
+ <location filename="../detailsdialog.cpp" line="46"/>
<source>Length:</source>
<translation>长度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
+ <location filename="../detailsdialog.cpp" line="47"/>
<source>Speed:</source>
<translation>速度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
+ <location filename="../detailsdialog.cpp" line="48"/>
<source>Tempo:</source>
<translation>节拍:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
+ <location filename="../detailsdialog.cpp" line="49"/>
<source>Samples:</source>
<translation>取样率:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
+ <location filename="../detailsdialog.cpp" line="50"/>
<source>Instruments:</source>
<translation>乐器:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
+ <location filename="../detailsdialog.cpp" line="51"/>
<source>Patterns:</source>
<translation>结构:</translation>
</message>
@@ -116,6 +117,7 @@
<translation>常规</translation>
</message>
<message>
+ <location filename="../detailsdialog.ui" line="36"/>
<location filename="../detailsdialog.ui" line="46"/>
<source>-</source>
<translation>-</translation>
@@ -126,6 +128,8 @@
<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; }
@@ -252,6 +256,9 @@ p, li { white-space: pre-wrap; }
<translation>余响</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>0</translation>
@@ -347,26 +354,25 @@ p, li { white-space: pre-wrap; }
<translation>永远循环</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="800"/>
<source>OK</source>
- <translation>确定</translation>
+ <translation type="obsolete">确定</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="807"/>
<source>Apply</source>
- <translation>应用</translation>
+ <translation type="obsolete">应用</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="814"/>
<source>Cancel</source>
- <translation>取消</translation>
+ <translation type="obsolete">取消</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>深度 (%)</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="250"/>
<location filename="../settingsdialog.ui" line="509"/>
<source>Delay (ms)</source>
<translation>延迟 (ms)</translation>
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 75f2a5b9c..cd292afa0 100644
--- a/src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts
+++ b/src/plugins/Input/modplug/translations/modplug_plugin_zh_TW.ts
@@ -1,54 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="1.1" language="zh_TW">
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
<context>
<name>DecoderModPlugFactory</name>
<message>
- <location filename="../decodermodplugfactory.cpp" line="40"/>
+ <location filename="../decodermodplugfactory.cpp" line="60"/>
<source>ModPlug Plugin</source>
<translation>ModPlug 插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="44"/>
+ <location filename="../decodermodplugfactory.cpp" line="64"/>
<source>ModPlug Files</source>
<translation>ModPlug 檔案</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="108"/>
+ <location filename="../decodermodplugfactory.cpp" line="133"/>
<source>About ModPlug Audio Plugin</source>
<translation>關於 ModPlug 聲訊插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="109"/>
+ <location filename="../decodermodplugfactory.cpp" line="134"/>
<source>Qmmp ModPlug Audio Plugin</source>
<translation>Qmmp ModPlug 聲訊插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="110"/>
+ <location filename="../decodermodplugfactory.cpp" line="135"/>
<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="111"/>
+ <location filename="../decodermodplugfactory.cpp" line="136"/>
<source>Based on the Modplug Plugin for Xmms</source>
<translation>基於 Modplug 的 Xmms 插件</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="112"/>
+ <location filename="../decodermodplugfactory.cpp" line="137"/>
<source>Modplug Plugin developers:</source>
<translation>ModPlug 插件開發者:</translation>
</message>
<message>
- <location filename="../decodermodplugfactory.cpp" line="113"/>
+ <location filename="../decodermodplugfactory.cpp" line="138"/>
<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="139"/>
<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="140"/>
<source>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</source>
<translation>Konstanty Bialkowski &lt;konstanty@ieee.org&gt;</translation>
</message>
@@ -56,47 +57,47 @@
<context>
<name>DetailsDialog</name>
<message>
- <location filename="../detailsdialog.cpp" line="44"/>
+ <location filename="../detailsdialog.cpp" line="43"/>
<source>File name:</source>
<translation>檔名:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="45"/>
+ <location filename="../detailsdialog.cpp" line="44"/>
<source>Title:</source>
<translation>標題:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="46"/>
+ <location filename="../detailsdialog.cpp" line="45"/>
<source>Type:</source>
<translation>類別:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="47"/>
+ <location filename="../detailsdialog.cpp" line="46"/>
<source>Length:</source>
<translation>長度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="48"/>
+ <location filename="../detailsdialog.cpp" line="47"/>
<source>Speed:</source>
<translation>速度:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="49"/>
+ <location filename="../detailsdialog.cpp" line="48"/>
<source>Tempo:</source>
<translation>節拍:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="50"/>
+ <location filename="../detailsdialog.cpp" line="49"/>
<source>Samples:</source>
<translation>取樣率:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="51"/>
+ <location filename="../detailsdialog.cpp" line="50"/>
<source>Instruments:</source>
<translation>樂器:</translation>
</message>
<message>
- <location filename="../detailsdialog.cpp" line="52"/>
+ <location filename="../detailsdialog.cpp" line="51"/>
<source>Patterns:</source>
<translation>架構:</translation>
</message>
@@ -116,6 +117,7 @@
<translation>常規</translation>
</message>
<message>
+ <location filename="../detailsdialog.ui" line="36"/>
<location filename="../detailsdialog.ui" line="46"/>
<source>-</source>
<translation>-</translation>
@@ -126,6 +128,8 @@
<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; }
@@ -252,6 +256,9 @@ p, li { white-space: pre-wrap; }
<translation>餘響</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>0</translation>
@@ -347,26 +354,25 @@ p, li { white-space: pre-wrap; }
<translation>永遠循環</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="800"/>
<source>OK</source>
- <translation>確定</translation>
+ <translation type="obsolete">確定</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="807"/>
<source>Apply</source>
- <translation>應用</translation>
+ <translation type="obsolete">應用</translation>
</message>
<message>
- <location filename="../settingsdialog.ui" line="814"/>
<source>Cancel</source>
- <translation>取消</translation>
+ <translation type="obsolete">取消</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="192"/>
<location filename="../settingsdialog.ui" line="457"/>
<source>Depth (%)</source>
<translation>深度 (%)</translation>
</message>
<message>
+ <location filename="../settingsdialog.ui" line="250"/>
<location filename="../settingsdialog.ui" line="509"/>
<source>Delay (ms)</source>
<translation>延遲 (ms)</translation>