aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/wildmidi/wildmidihelper.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-02-21 15:48:08 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-02-21 15:48:08 +0000
commitcd5734bbe93aa7a0292bb75bb47886584b484e77 (patch)
treec7c0e8c61e26847d19d380b3d78313d4437416f2 /src/plugins/Input/wildmidi/wildmidihelper.cpp
parent08f658b636c39705f2b919a185bb55ed7c053f59 (diff)
downloadqmmp-cd5734bbe93aa7a0292bb75bb47886584b484e77.tar.gz
qmmp-cd5734bbe93aa7a0292bb75bb47886584b484e77.tar.bz2
qmmp-cd5734bbe93aa7a0292bb75bb47886584b484e77.zip
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
Diffstat (limited to 'src/plugins/Input/wildmidi/wildmidihelper.cpp')
-rw-r--r--src/plugins/Input/wildmidi/wildmidihelper.cpp25
1 files changed, 23 insertions, 2 deletions
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 <QApplication>
#include <QSettings>
+#include <QFile>
extern "C"{
#include <wildmidi_lib.h>
}
@@ -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;