aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/wildmidi
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-08-04 19:15:41 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-08-04 19:15:41 +0000
commitc878d3ca598a611cc066b027a4d4a317eed7c081 (patch)
treec9a4e468ec0bf27abf1674fbbbe4b6bfc836d399 /src/plugins/Input/wildmidi
parentb9cc3f286ceae3972afd918b04474b162032c100 (diff)
downloadqmmp-c878d3ca598a611cc066b027a4d4a317eed7c081.tar.gz
qmmp-c878d3ca598a611cc066b027a4d4a317eed7c081.tar.bz2
qmmp-c878d3ca598a611cc066b027a4d4a317eed7c081.zip
midi plugin: added some improvements (still disabled)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1817 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/wildmidi')
-rw-r--r--src/plugins/Input/wildmidi/decoder_wildmidi.cpp19
-rw-r--r--src/plugins/Input/wildmidi/decoder_wildmidi.h1
-rw-r--r--src/plugins/Input/wildmidi/decoderwildmidifactory.cpp38
-rw-r--r--src/plugins/Input/wildmidi/settingsdialog.cpp19
-rw-r--r--src/plugins/Input/wildmidi/settingsdialog.ui21
-rw-r--r--src/plugins/Input/wildmidi/translations/translations.qrc16
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts85
-rw-r--r--src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts85
-rw-r--r--src/plugins/Input/wildmidi/wildmidi.pro19
-rw-r--r--src/plugins/Input/wildmidi/wildmidihelper.cpp57
-rw-r--r--src/plugins/Input/wildmidi/wildmidihelper.h9
20 files changed, 1088 insertions, 46 deletions
diff --git a/src/plugins/Input/wildmidi/decoder_wildmidi.cpp b/src/plugins/Input/wildmidi/decoder_wildmidi.cpp
index f29d60fef..c11fc0fbc 100644
--- a/src/plugins/Input/wildmidi/decoder_wildmidi.cpp
+++ b/src/plugins/Input/wildmidi/decoder_wildmidi.cpp
@@ -26,12 +26,16 @@ DecoderWildMidi::DecoderWildMidi(const QString &path) : Decoder()
{
m_path = path;
midi_ptr = 0;
+ m_sample_rate = 0;
}
DecoderWildMidi::~DecoderWildMidi()
{
if(midi_ptr)
+ {
+ WildMidiHelper::instance()->removePtr(midi_ptr);
WildMidi_Close(midi_ptr);
+ }
}
bool DecoderWildMidi::initialize()
@@ -43,20 +47,21 @@ bool DecoderWildMidi::initialize()
qWarning("DecoderWildMidi: initialization failed");
return false;
}
-
-
+ WildMidiHelper::instance()->readSettings();
midi_ptr = WildMidi_Open (m_path.toLocal8Bit());
+
if(!midi_ptr)
{
qWarning("DecoderWildMidi: unable to open file");
return false;
}
- _WM_Info *wm_info = WildMidi_GetInfo(midi_ptr);
+ WildMidiHelper::instance()->addPtr(midi_ptr);
- m_totalTime = (qint64)wm_info->approx_total_samples / 48;
-
- configure(48000, 2, Qmmp::PCM_S16LE);
+ m_sample_rate = WildMidiHelper::instance()->sampleRate();
+ _WM_Info *wm_info = WildMidi_GetInfo(midi_ptr);
+ m_totalTime = (qint64)wm_info->approx_total_samples * 1000 / WildMidiHelper::instance()->sampleRate();
+ configure(m_sample_rate, 2, Qmmp::PCM_S16LE);
qDebug("DecoderWildMidi: initialize succes");
return true;
}
@@ -68,7 +73,7 @@ qint64 DecoderWildMidi::totalTime()
void DecoderWildMidi::seek(qint64 pos)
{
- ulong sample = ulong(pos*48);
+ ulong sample = (ulong)m_sample_rate * pos / 1000;
WildMidi_FastSeek(midi_ptr, &sample);
}
diff --git a/src/plugins/Input/wildmidi/decoder_wildmidi.h b/src/plugins/Input/wildmidi/decoder_wildmidi.h
index 222c1ef3c..4deaff768 100644
--- a/src/plugins/Input/wildmidi/decoder_wildmidi.h
+++ b/src/plugins/Input/wildmidi/decoder_wildmidi.h
@@ -42,6 +42,7 @@ public:
private:
void *midi_ptr;
qint64 m_totalTime;
+ quint32 m_sample_rate;
QString m_path;
};
diff --git a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
index 13b3b2e06..d33f0cc7d 100644
--- a/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
+++ b/src/plugins/Input/wildmidi/decoderwildmidifactory.cpp
@@ -22,20 +22,19 @@
#include "wildmidihelper.h"
#include "decoder_wildmidi.h"
+#include "settingsdialog.h"
#include "decoderwildmidifactory.h"
-
// DecoderWildMidiFactory
bool DecoderWildMidiFactory::supports(const QString &source) const
{
-
return (source.right(4).toLower() == ".mid");
}
bool DecoderWildMidiFactory::canDecode(QIODevice *) const
{
- return FALSE;
+ return false;
}
const DecoderProperties DecoderWildMidiFactory::properties() const
@@ -45,9 +44,10 @@ const DecoderProperties DecoderWildMidiFactory::properties() const
properties.filter = "*.mid";
properties.description = tr("Midi Files");
//properties.contentType = ;
- properties.hasAbout = FALSE;
- properties.hasSettings = FALSE;
- properties.noInput = TRUE;
+ properties.shortName = "wildmidi";
+ properties.hasAbout = true;
+ properties.hasSettings = true;
+ properties.noInput = true;
properties.protocols = "file";
return properties;
}
@@ -60,17 +60,21 @@ Decoder *DecoderWildMidiFactory::create(const QString &path, QIODevice *input)
QList<FileInfo *> DecoderWildMidiFactory::createPlayList(const QString &fileName, bool useMetaData)
{
+ Q_UNUSED(useMetaData);
QList <FileInfo*> list;
FileInfo *info = new FileInfo(fileName);
- if(WildMidiHelper::instance()->initialize())
+ if(WildMidiHelper::instance()->initialize() && WildMidiHelper::instance()->sampleRate())
{
void *midi_ptr = WildMidi_Open (fileName.toLocal8Bit());
if(midi_ptr)
{
+ WildMidiHelper::instance()->addPtr(midi_ptr);
_WM_Info *wm_info = WildMidi_GetInfo(midi_ptr);
- info->setLength((qint64)wm_info->approx_total_samples / 48000);
+ info->setLength((qint64)wm_info->approx_total_samples
+ / WildMidiHelper::instance()->sampleRate());
WildMidi_Close(midi_ptr);
+ WildMidiHelper::instance()->removePtr(midi_ptr);
}
}
list << info;
@@ -79,16 +83,24 @@ QList<FileInfo *> DecoderWildMidiFactory::createPlayList(const QString &fileName
MetaDataModel* DecoderWildMidiFactory::createMetaDataModel(const QString &path, QObject *parent)
{
- /*DetailsDialog *d = new DetailsDialog(parent, path);
- d -> show();*/
+ Q_UNUSED(path);
+ Q_UNUSED(parent);
return 0;
}
-void DecoderWildMidiFactory::showSettings(QWidget *)
-{}
+void DecoderWildMidiFactory::showSettings(QWidget *parent)
+{
+ SettingsDialog *d = new SettingsDialog(parent);
+ d->show();
+}
void DecoderWildMidiFactory::showAbout(QWidget *parent)
-{}
+{
+ QMessageBox::about (parent, tr("About WildMidi Audio Plugin"),
+ tr("Qmmp WildMidi Audio Plugin")+"\n"+
+ tr("This plugin uses WildMidi library to play midi files")+"\n"+
+ tr("Writen by: Ilya Kotov <forkotov02@hotmail.ru>"));
+}
QTranslator *DecoderWildMidiFactory::createTranslator(QObject *parent)
{
diff --git a/src/plugins/Input/wildmidi/settingsdialog.cpp b/src/plugins/Input/wildmidi/settingsdialog.cpp
index 0b88748f3..d07ab5b7a 100644
--- a/src/plugins/Input/wildmidi/settingsdialog.cpp
+++ b/src/plugins/Input/wildmidi/settingsdialog.cpp
@@ -21,6 +21,7 @@
#include <QSettings>
#include <QStringList>
#include <qmmp/qmmp.h>
+#include "wildmidihelper.h"
#include "settingsdialog.h"
SettingsDialog::SettingsDialog(QWidget *parent)
@@ -29,6 +30,15 @@ SettingsDialog::SettingsDialog(QWidget *parent)
ui.setupUi(this);
setAttribute(Qt::WA_DeleteOnClose);
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.beginGroup("Midi");
+ ui.confPathComboBox->setEditText(settings.value("conf_path", "/etc/timidity/timidity.cfg").toString());
+ ui.sampleRateComboBox->addItem(tr("44100 Hz"), 44100);
+ ui.sampleRateComboBox->addItem(tr("48000 Hz"), 48000);
+ int i = ui.sampleRateComboBox->findData(settings.value("sample_rate", 44100).toInt());
+ ui.sampleRateComboBox->setCurrentIndex(i);
+ ui.enhancedResemplingCheckBox->setChecked(settings.value("enhanced_resampling", false).toBool());
+ ui.reverbCheckBox->setChecked(settings.value("reverberation", false).toBool());
+ settings.endGroup();
}
SettingsDialog::~SettingsDialog()
@@ -38,6 +48,13 @@ SettingsDialog::~SettingsDialog()
void SettingsDialog::accept()
{
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
- //settings.setValue("FFMPEG/filters", filters);
+ settings.beginGroup("Midi");
+ settings.setValue("conf_path", ui.confPathComboBox->currentText());
+ settings.setValue("sample_rate",
+ ui.sampleRateComboBox->itemData(ui.sampleRateComboBox->currentIndex()));
+ settings.setValue("enhanced_resampling", ui.enhancedResemplingCheckBox->isChecked());
+ settings.setValue("reverberation", ui.reverbCheckBox->isChecked());
+ settings.endGroup();
+ WildMidiHelper::instance()->readSettings();
QDialog::accept();
}
diff --git a/src/plugins/Input/wildmidi/settingsdialog.ui b/src/plugins/Input/wildmidi/settingsdialog.ui
index 720cbac82..811c26f0f 100644
--- a/src/plugins/Input/wildmidi/settingsdialog.ui
+++ b/src/plugins/Input/wildmidi/settingsdialog.ui
@@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>292</width>
+ <width>329</width>
<height>133</height>
</rect>
</property>
@@ -31,7 +31,7 @@
</widget>
</item>
<item row="0" column="1" colspan="2">
- <widget class="QComboBox" name="comboBox">
+ <widget class="QComboBox" name="confPathComboBox">
<property name="editable">
<bool>true</bool>
</property>
@@ -55,14 +55,14 @@
</widget>
</item>
<item row="2" column="0" colspan="3">
- <widget class="QCheckBox" name="checkBox">
+ <widget class="QCheckBox" name="enhancedResemplingCheckBox">
<property name="text">
<string>Enhanced resempling</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="3">
- <widget class="QCheckBox" name="checkBox_2">
+ <widget class="QCheckBox" name="reverbCheckBox">
<property name="text">
<string>Reverberation</string>
</property>
@@ -82,18 +82,7 @@
</widget>
</item>
<item row="1" column="1" colspan="2">
- <widget class="QComboBox" name="comboBox_2">
- <item>
- <property name="text">
- <string>44100</string>
- </property>
- </item>
- <item>
- <property name="text">
- <string>48000</string>
- </property>
- </item>
- </widget>
+ <widget class="QComboBox" name="sampleRateComboBox"/>
</item>
</layout>
</widget>
diff --git a/src/plugins/Input/wildmidi/translations/translations.qrc b/src/plugins/Input/wildmidi/translations/translations.qrc
new file mode 100644
index 000000000..8f57e673c
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/translations.qrc
@@ -0,0 +1,16 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource>
+ <file>wildmidi_plugin_it.qm</file>
+ <file>wildmidi_plugin_ru.qm</file>
+ <file>wildmidi_plugin_uk_UA.qm</file>
+ <file>wildmidi_plugin_zh_CN.qm</file>
+ <file>wildmidi_plugin_zh_TW.qm</file>
+ <file>wildmidi_plugin_cs.qm</file>
+ <file>wildmidi_plugin_de.qm</file>
+ <file>wildmidi_plugin_pl.qm</file>
+ <file>wildmidi_plugin_tr.qm</file>
+ <file>wildmidi_plugin_lt.qm</file>
+ <file>wildmidi_plugin_nl.qm</file>
+ </qresource>
+</RCC>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts
new file mode 100644
index 000000000..878fb1df6
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="cs">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilja Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts
new file mode 100644
index 000000000..b670ea9f4
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="de_DE">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts
new file mode 100644
index 000000000..fd843215e
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="it">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autore: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts
new file mode 100644
index 000000000..b951902e2
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="lt">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Sukūrė: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts
new file mode 100644
index 000000000..6d2a8d54f
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="nl">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Auteur: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl.ts
new file mode 100644
index 000000000..498f92203
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="pl">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Autor: Ilja Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts
new file mode 100644
index 000000000..185d4ce3f
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Разработчик: Илья Котов &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts
new file mode 100644
index 000000000..ace54f101
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="tr_TR">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Yazan: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts
new file mode 100644
index 000000000..4e9e07e76
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="uk">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">Розробник: Ілля Котов &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts
new file mode 100644
index 000000000..821be0430
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_CN">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts
new file mode 100644
index 000000000..cdd591273
--- /dev/null
+++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="zh_TW">
+<context>
+ <name>DecoderWildMidiFactory</name>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="43"/>
+ <source>WildMidi Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="45"/>
+ <source>Midi Files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="99"/>
+ <source>About WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="100"/>
+ <source>Qmmp WildMidi Audio Plugin</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="101"/>
+ <source>This plugin uses WildMidi library to play midi files</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../decoderwildmidifactory.cpp" line="102"/>
+ <source>Writen by: Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</source>
+ <translation type="unfinished">作者:Ilya Kotov &lt;forkotov02@hotmail.ru&gt;</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsDialog</name>
+ <message>
+ <location filename="../settingsdialog.ui" line="14"/>
+ <source>FFmpeg Plugin Settings</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="29"/>
+ <source>Instrument configuration: </source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="40"/>
+ <source>/etc/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="45"/>
+ <source>/etc/timidity/timidity.cfg</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="53"/>
+ <source>Sample rate:</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="60"/>
+ <source>Enhanced resempling</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.ui" line="67"/>
+ <source>Reverberation</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="35"/>
+ <source>44100 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../settingsdialog.cpp" line="36"/>
+ <source>48000 Hz</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+</TS>
diff --git a/src/plugins/Input/wildmidi/wildmidi.pro b/src/plugins/Input/wildmidi/wildmidi.pro
index 0b76a828d..2d8a752ca 100644
--- a/src/plugins/Input/wildmidi/wildmidi.pro
+++ b/src/plugins/Input/wildmidi/wildmidi.pro
@@ -20,14 +20,19 @@ LIBS += -lqmmp \
-L/usr/lib \
-I/usr/include \
-lWildMidi
-TRANSLATIONS = translations/wildmidi_plugin_cs.ts \
- translations/wildmidi_plugin_de.ts \
- translations/wildmidi_plugin_zh_CN.ts \
- translations/wildmidi_plugin_zh_TW.ts \
- translations/wildmidi_plugin_ru.ts \
- translations/wildmidi_plugin_uk_UA.ts
+TRANSLATIONS = translations/wildmidi_plugin_it.ts \
+ translations/wildmidi_plugin_ru.ts \
+ translations/wildmidi_plugin_cs.ts \
+ translations/wildmidi_plugin_de.ts \
+ translations/wildmidi_plugin_zh_CN.ts \
+ translations/wildmidi_plugin_zh_TW.ts \
+ translations/wildmidi_plugin_uk_UA.ts \
+ translations/wildmidi_plugin_pl.ts \
+ translations/wildmidi_plugin_tr.ts \
+ translations/wildmidi_plugin_lt.ts \
+ translations/wildmidi_plugin_nl.ts
-# RESOURCES = translations/translations.qrc
+RESOURCES = translations/translations.qrc
isEmpty (LIB_DIR):LIB_DIR = /lib
target.path = $$LIB_DIR/qmmp/Input
INSTALLS += target
diff --git a/src/plugins/Input/wildmidi/wildmidihelper.cpp b/src/plugins/Input/wildmidi/wildmidihelper.cpp
index f5cb11fc1..c52c36b8d 100644
--- a/src/plugins/Input/wildmidi/wildmidihelper.cpp
+++ b/src/plugins/Input/wildmidi/wildmidihelper.cpp
@@ -19,9 +19,11 @@
***************************************************************************/
#include <QApplication>
+#include <QSettings>
extern "C"{
#include <wildmidi_lib.h>
}
+#include <qmmp/qmmp.h>
#include "wildmidihelper.h"
WildMidiHelper *WildMidiHelper::m_instance = 0;
@@ -30,6 +32,7 @@ WildMidiHelper::WildMidiHelper(QObject *parent) :
QObject(parent)
{
m_inited = false;
+ m_sample_rate = 0;
}
WildMidiHelper::~WildMidiHelper()
@@ -41,17 +44,69 @@ WildMidiHelper::~WildMidiHelper()
bool WildMidiHelper::initialize()
{
+ m_mutex.lock();
if(m_inited)
+ {
+ m_mutex.unlock();
return true;
- if (WildMidi_Init ("/etc/timidity/timidity.cfg", 48000, 0) < 0)
+ }
+
+ QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
+ settings.beginGroup("Midi");
+ unsigned short int mixer_options = 0;
+ QString conf_path = settings.value("conf_path", "/etc/timidity/timidity.cfg").toString();
+ unsigned short int sample_rate = settings.value("sample_rate", 44100).toInt();
+ if(settings.value("enhanced_resampling", false).toBool())
+ mixer_options |= WM_MO_ENHANCED_RESAMPLING;
+ if(settings.value("reverberation", false).toBool())
+ mixer_options |= WM_MO_REVERB;
+ settings.endGroup();
+
+ m_sample_rate = sample_rate;
+ if (WildMidi_Init (qPrintable(conf_path), sample_rate, mixer_options) < 0)
{
qWarning("WildMidiHelper: unable to initialize WildMidi library");
+ m_mutex.unlock();
return false;
}
m_inited = true;
+ m_mutex.unlock();
return true;
}
+void WildMidiHelper::readSettings()
+{
+ m_mutex.lock();
+ if(!m_ptrs.isEmpty())
+ {
+ m_mutex.unlock();
+ return;
+ }
+ if(m_inited)
+ WildMidi_Shutdown();
+ m_inited = false;
+ m_mutex.unlock();
+ initialize();
+}
+
+void WildMidiHelper::addPtr(void *t)
+{
+ m_mutex.lock();
+ m_ptrs.append(t);
+ m_mutex.unlock();
+}
+
+void WildMidiHelper::removePtr(void *t)
+{
+ m_mutex.lock();
+ m_ptrs.removeAll(t);
+ m_mutex.unlock();
+}
+
+quint32 WildMidiHelper::sampleRate()
+{
+ return m_sample_rate;
+}
WildMidiHelper *WildMidiHelper::instance()
{
diff --git a/src/plugins/Input/wildmidi/wildmidihelper.h b/src/plugins/Input/wildmidi/wildmidihelper.h
index 3e5d5f303..d9a6a7d99 100644
--- a/src/plugins/Input/wildmidi/wildmidihelper.h
+++ b/src/plugins/Input/wildmidi/wildmidihelper.h
@@ -22,6 +22,7 @@
#define WILDMIDIHELPER_H
#include <QObject>
+#include <QMutex>
class WildMidiHelper : public QObject
{
@@ -30,12 +31,18 @@ public:
explicit WildMidiHelper(QObject *parent = 0);
~WildMidiHelper();
bool initialize();
+ void readSettings();
+ quint32 sampleRate();
+ void addPtr(void *);
+ void removePtr(void *);
static WildMidiHelper *instance();
private:
static WildMidiHelper *m_instance;
bool m_inited;
-
+ QMutex m_mutex;
+ QList <void *> m_ptrs;
+ quint32 m_sample_rate;
};
#endif // WILDMIDIHELPER_H