diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-07-20 19:25:25 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-07-20 19:25:25 +0000 |
| commit | ba1ead27be9789f63c1dce3f7ffc38ca38476b90 (patch) | |
| tree | c6c01277ea62760977239b15224701e276bf5edb /src | |
| parent | 411a6c40f71b28328262a195935c5f94f3584d8e (diff) | |
| download | qmmp-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')
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 <forkotov02@hotmail.ru></source> <translation>Autor: Ilja Kotov <forkotov02@hotmail.ru></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 <olivierl@jps.net></source> <translation>Olivier Lapicque <olivierl@jps.net></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="138"/> + <location filename="../decodermodplugfactory.cpp" line="139"/> <source>Kenton Varda <temporal@gauge3d.org></source> <translation>Kenton Varda <temporal@gauge3d.org></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="139"/> + <location filename="../decodermodplugfactory.cpp" line="140"/> <source>Konstanty Bialkowski <konstanty@ieee.org></source> <translation>Konstanty Bialkowski <konstanty@ieee.org></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> 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 <forkotov02@hotmail.ru></source> <translation>Autor: Ilya Kotov <forkotov02@hotmail.ru></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 <olivierl@jps.net></source> <translation>Olivier Lapicque <olivierl@jps.net></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="114"/> + <location filename="../decodermodplugfactory.cpp" line="139"/> <source>Kenton Varda <temporal@gauge3d.org></source> <translation>Kenton Varda <temporal@gauge3d.org></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="115"/> + <location filename="../decodermodplugfactory.cpp" line="140"/> <source>Konstanty Bialkowski <konstanty@ieee.org></source> <translation>Konstanty Bialkowski <konstanty@ieee.org></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> 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 <forkotov02@hotmail.ru></source> <translation>Autore: Ilya Kotov <forkotov02@hotmail.ru></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 <olivierl@jps.net></source> <translation>Olivier Lapicque <olivierl@jps.net></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="114"/> + <location filename="../decodermodplugfactory.cpp" line="139"/> <source>Kenton Varda <temporal@gauge3d.org></source> <translation>Kenton Varda <temporal@gauge3d.org></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="115"/> + <location filename="../decodermodplugfactory.cpp" line="140"/> <source>Konstanty Bialkowski <konstanty@ieee.org></source> <translation>Konstanty Bialkowski <konstanty@ieee.org></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> 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 <forkotov02@hotmail.ru></source> <translation>Разработчик: Илья Котов <forkotov02@hotmail.ru></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 <olivierl@jps.net></source> <translation>Olivier Lapicque <olivierl@jps.net></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="114"/> + <location filename="../decodermodplugfactory.cpp" line="139"/> <source>Kenton Varda <temporal@gauge3d.org></source> <translation>Kenton Varda <temporal@gauge3d.org></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="115"/> + <location filename="../decodermodplugfactory.cpp" line="140"/> <source>Konstanty Bialkowski <konstanty@ieee.org></source> <translation>Konstanty Bialkowski <konstanty@ieee.org></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> 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 <forkotov02@hotmail.ru></source> <translation>Розробник: Ілля Котов <forkotov02@hotmail.ru></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 <olivierl@jps.net></source> <translation></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="114"/> + <location filename="../decodermodplugfactory.cpp" line="139"/> <source>Kenton Varda <temporal@gauge3d.org></source> <translation></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="115"/> + <location filename="../decodermodplugfactory.cpp" line="140"/> <source>Konstanty Bialkowski <konstanty@ieee.org></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>Ім'я файлу:</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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> 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 <forkotov02@hotmail.ru></source> <translation>作者:Ilya Kotov <forkotov02@hotmail.ru></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 <olivierl@jps.net></source> <translation>Olivier Lapicque <olivierl@jps.net></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="114"/> + <location filename="../decodermodplugfactory.cpp" line="139"/> <source>Kenton Varda <temporal@gauge3d.org></source> <translation>Kenton Varda <temporal@gauge3d.org></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="115"/> + <location filename="../decodermodplugfactory.cpp" line="140"/> <source>Konstanty Bialkowski <konstanty@ieee.org></source> <translation>Konstanty Bialkowski <konstanty@ieee.org></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> 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 <forkotov02@hotmail.ru></source> <translation>作者:Ilya Kotov <forkotov02@hotmail.ru></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 <olivierl@jps.net></source> <translation>Olivier Lapicque <olivierl@jps.net></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="114"/> + <location filename="../decodermodplugfactory.cpp" line="139"/> <source>Kenton Varda <temporal@gauge3d.org></source> <translation>Kenton Varda <temporal@gauge3d.org></translation> </message> <message> - <location filename="../decodermodplugfactory.cpp" line="115"/> + <location filename="../decodermodplugfactory.cpp" line="140"/> <source>Konstanty Bialkowski <konstanty@ieee.org></source> <translation>Konstanty Bialkowski <konstanty@ieee.org></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><html><head><meta name="qrichtext" content="1" /><style type="text/css"> 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> |
