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/wildmidihelper.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'src/plugins/Input/wildmidi/wildmidihelper.cpp') 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; -- cgit v1.2.3-13-gbd6f