From cd5734bbe93aa7a0292bb75bb47886584b484e77 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 21 Feb 2013 15:48:08 +0000 Subject: wildmidi plugin: improved config search; updated linguist files git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3276 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/wildmidi/settingsdialog.cpp | 28 ++++++++++++---------- src/plugins/Input/wildmidi/settingsdialog.h | 2 +- src/plugins/Input/wildmidi/settingsdialog.ui | 14 ++--------- .../wildmidi/translations/wildmidi_plugin_cs.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_de.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_es.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_fr.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_he.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_hu.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_it.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_ja.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_kk.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_lt.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_nl.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_pl_PL.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_pt_BR.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_ru.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_sk.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_tr.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_uk_UA.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_zh_CN.ts | 10 ++++---- .../wildmidi/translations/wildmidi_plugin_zh_TW.ts | 10 ++++---- src/plugins/Input/wildmidi/wildmidihelper.cpp | 25 +++++++++++++++++-- src/plugins/Input/wildmidi/wildmidihelper.h | 4 +++- 24 files changed, 140 insertions(+), 123 deletions(-) (limited to 'src/plugins/Input/wildmidi') diff --git a/src/plugins/Input/wildmidi/settingsdialog.cpp b/src/plugins/Input/wildmidi/settingsdialog.cpp index e9ad96080..14825984a 100644 --- a/src/plugins/Input/wildmidi/settingsdialog.cpp +++ b/src/plugins/Input/wildmidi/settingsdialog.cpp @@ -27,17 +27,21 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); + m_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.enhancedResamplingCheckBox->setChecked(settings.value("enhanced_resampling", false).toBool()); - ui.reverbCheckBox->setChecked(settings.value("reverberation", false).toBool()); + QStringList files = WildMidiHelper::instance()->configFiles(); + QString conf_path = files.isEmpty() ? QString() : files.first(); + m_ui.confPathComboBox->addItems(files); + m_ui.confPathComboBox->setEditText(settings.value("conf_path", conf_path).toString()); + m_ui.sampleRateComboBox->addItem(tr("44100 Hz"), 44100); + m_ui.sampleRateComboBox->addItem(tr("48000 Hz"), 48000); + int i = m_ui.sampleRateComboBox->findData(settings.value("sample_rate", 44100).toInt()); + m_ui.sampleRateComboBox->setCurrentIndex(i); + m_ui.enhancedResamplingCheckBox->setChecked(settings.value("enhanced_resampling", false).toBool()); + m_ui.reverbCheckBox->setChecked(settings.value("reverberation", false).toBool()); settings.endGroup(); } @@ -49,11 +53,11 @@ void SettingsDialog::accept() { QSettings settings(Qmmp::configFile(), QSettings::IniFormat); settings.beginGroup("Midi"); - settings.setValue("conf_path", ui.confPathComboBox->currentText()); + settings.setValue("conf_path", m_ui.confPathComboBox->currentText()); settings.setValue("sample_rate", - ui.sampleRateComboBox->itemData(ui.sampleRateComboBox->currentIndex())); - settings.setValue("enhanced_resampling", ui.enhancedResamplingCheckBox->isChecked()); - settings.setValue("reverberation", ui.reverbCheckBox->isChecked()); + m_ui.sampleRateComboBox->itemData(m_ui.sampleRateComboBox->currentIndex())); + settings.setValue("enhanced_resampling", m_ui.enhancedResamplingCheckBox->isChecked()); + settings.setValue("reverberation", m_ui.reverbCheckBox->isChecked()); settings.endGroup(); WildMidiHelper::instance()->readSettings(); QDialog::accept(); diff --git a/src/plugins/Input/wildmidi/settingsdialog.h b/src/plugins/Input/wildmidi/settingsdialog.h index 0aad7fcb5..0a9d07048 100644 --- a/src/plugins/Input/wildmidi/settingsdialog.h +++ b/src/plugins/Input/wildmidi/settingsdialog.h @@ -39,7 +39,7 @@ public slots: virtual void accept(); private: - Ui::SettingsDialog ui; + Ui::SettingsDialog m_ui; }; diff --git a/src/plugins/Input/wildmidi/settingsdialog.ui b/src/plugins/Input/wildmidi/settingsdialog.ui index 5745cc0e7..eb3cbde97 100644 --- a/src/plugins/Input/wildmidi/settingsdialog.ui +++ b/src/plugins/Input/wildmidi/settingsdialog.ui @@ -6,8 +6,8 @@ 0 0 - 329 - 135 + 339 + 169 @@ -35,16 +35,6 @@ true - - - /etc/timidity.cfg - - - - - /etc/timidity/timidity.cfg - - diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts index 5b315dcb1..34bca8045 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_cs.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts index a1e484fe7..54b1f065c 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_de.ts @@ -47,27 +47,27 @@ Instrumenteneinrichtung: - + Sample rate: Abtastrate: - + Enhanced resampling Verbessertes Resampling - + Reverberation Nachhall - + 44100 Hz 44100 Hz - + 48000 Hz 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_es.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_es.ts index 78bfc5f89..5afc06b36 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_es.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_es.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_fr.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_fr.ts index 5c656128a..8c9189e2f 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_fr.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_fr.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_he.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_he.ts index 028224f80..04cc53203 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_he.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_he.ts @@ -47,27 +47,27 @@ תצורת מכשיר: - + Sample rate: שיעור דגימה: - + Enhanced resampling דגימה מחדש משופרת - + Reverberation הדהוד - + 44100 Hz 44100 הרץ - + 48000 Hz 48000 הרץ diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_hu.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_hu.ts index ec0859a66..9c8b0fed5 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_hu.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_hu.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts index 42d50c635..7a2789d5f 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_it.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ja.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ja.ts index 9bd2f5a9f..a221490aa 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ja.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ja.ts @@ -47,27 +47,27 @@ 楽器編成: - + Sample rate: サンプルレート: - + Enhanced resampling 拡張リサンプリング - + Reverberation 反響効果 (リバーブ) - + 44100 Hz 44100 Hz - + 48000 Hz 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_kk.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_kk.ts index ee18c4f86..585541fae 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_kk.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_kk.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts index f0c317fca..8866c7c7f 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_lt.ts @@ -47,27 +47,27 @@ Instrumentų nustatymai: - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz 44100 Hz - + 48000 Hz 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts index 829be12f6..5d8c3b3cc 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_nl.ts @@ -47,27 +47,27 @@ Instrument instellingen: - + Sample rate: Sample frequentie: - + Enhanced resampling Verbeterde resampling - + Reverberation Galm - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl_PL.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl_PL.ts index f6206c3af..25045d838 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl_PL.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pl_PL.ts @@ -47,27 +47,27 @@ Konfiguracja instrumentów: - + Sample rate: Próbkowanie: - + Enhanced resampling Rozszerzony resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pt_BR.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pt_BR.ts index e63e54878..17a0ea2b9 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pt_BR.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_pt_BR.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts index 865e40050..59aefbc9e 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_ru.ts @@ -47,27 +47,27 @@ Настройки инструментов: - + Sample rate: Частота дискретизации: - + Enhanced resampling Улучшенная передискретизация - + Reverberation Реверберация - + 44100 Hz 44100 Гц - + 48000 Hz 48000 Гц diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_sk.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_sk.ts index 84e14db7b..ac4481ab0 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_sk.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_sk.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts index d00f93255..814acd5e4 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_tr.ts @@ -47,27 +47,27 @@ - + Sample rate: - + Enhanced resampling - + Reverberation - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts index e3be9a873..4e3f711b5 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_uk_UA.ts @@ -47,27 +47,27 @@ Конфігурація інструменту: - + Sample rate: Частота: - + Enhanced resampling Покращена передискретизація - + Reverberation Реверберація - + 44100 Hz 44100 Гц - + 48000 Hz 48000 Гц diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts index 151ebfcc1..c23bc172a 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_CN.ts @@ -47,27 +47,27 @@ 乐器配置 - + Sample rate: 取样率: - + Enhanced resampling 提高再取样 - + Reverberation 混响效果 - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts index 32bdc7d75..d9dec1d87 100644 --- a/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts +++ b/src/plugins/Input/wildmidi/translations/wildmidi_plugin_zh_TW.ts @@ -47,27 +47,27 @@ 樂器配置: - + Sample rate: 取樣率 - + Enhanced resampling 提高再取樣 - + Reverberation 混響 - + 44100 Hz - + 48000 Hz diff --git a/src/plugins/Input/wildmidi/wildmidihelper.cpp b/src/plugins/Input/wildmidi/wildmidihelper.cpp index 9d25aad1a..0cb1f946d 100644 --- a/src/plugins/Input/wildmidi/wildmidihelper.cpp +++ b/src/plugins/Input/wildmidi/wildmidihelper.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010 by Ilya Kotov * + * Copyright (C) 2010-2013 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -20,6 +20,7 @@ #include #include +#include extern "C"{ #include } @@ -54,7 +55,14 @@ bool WildMidiHelper::initialize() 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(); + QString conf_path = configFiles().isEmpty() ? QString() : configFiles().first(); + conf_path = settings.value("conf_path", conf_path).toString(); + if(conf_path.isEmpty() || !QFile::exists(conf_path)) + { + qWarning("WildMidiHelper: invalid config path: %s", qPrintable(conf_path)); + m_mutex.unlock(); + return false; + } unsigned short int sample_rate = settings.value("sample_rate", 44100).toInt(); if(settings.value("enhanced_resampling", false).toBool()) mixer_options |= WM_MO_ENHANCED_RESAMPLING; @@ -103,6 +111,19 @@ void WildMidiHelper::removePtr(void *t) m_mutex.unlock(); } +QStringList WildMidiHelper::configFiles() const +{ + QStringList files = QStringList() << "/etc/timidity.cfg" + << "/etc/timidity.cfg" + << "/etc/wildmidi/wildmidi.cfg"; + foreach(QString path, files) + { + if(!QFile::exists(path)) + files.removeAll(path); + } + return files; +} + quint32 WildMidiHelper::sampleRate() { return m_sample_rate; diff --git a/src/plugins/Input/wildmidi/wildmidihelper.h b/src/plugins/Input/wildmidi/wildmidihelper.h index 4da9a0cf2..2a0a91998 100644 --- a/src/plugins/Input/wildmidi/wildmidihelper.h +++ b/src/plugins/Input/wildmidi/wildmidihelper.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2010 by Ilya Kotov * + * Copyright (C) 2010-2013 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -23,6 +23,7 @@ #include #include +#include class WildMidiHelper : public QObject { @@ -35,6 +36,7 @@ public: quint32 sampleRate(); void addPtr(void *); void removePtr(void *); + QStringList configFiles() const; static WildMidiHelper *instance(); private: -- cgit v1.2.3-13-gbd6f