diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-09-29 19:39:16 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-09-29 19:39:16 +0000 |
| commit | d0e69a239a8aed7ff06c470e0b2e7e81c0313f21 (patch) | |
| tree | 00de3ce2bccf0656fe8b6267fab769bee4f96a18 | |
| parent | da82e9b8ea8e24a09e1e0a8ebbe890b81abf9810 (diff) | |
| download | qmmp-d0e69a239a8aed7ff06c470e0b2e7e81c0313f21.tar.gz qmmp-d0e69a239a8aed7ff06c470e0b2e7e81c0313f21.tar.bz2 qmmp-d0e69a239a8aed7ff06c470e0b2e7e81c0313f21.zip | |
short name based plugin identification
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@571 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/plugins/Effect/srconverter/effectsrconverterfactory.cpp | 1 | ||||
| -rw-r--r-- | src/plugins/Input/mad/decodermadfactory.cpp | 1 | ||||
| -rw-r--r-- | src/plugins/Input/vorbis/decodervorbisfactory.cpp | 1 | ||||
| -rw-r--r-- | src/plugins/Output/alsa/outputalsafactory.cpp | 1 | ||||
| -rw-r--r-- | src/plugins/Visual/analyzer/visualanalyzerfactory.cpp | 1 | ||||
| -rw-r--r-- | src/qmmp/decoder.cpp | 18 | ||||
| -rw-r--r-- | src/qmmp/decoderfactory.h | 1 | ||||
| -rw-r--r-- | src/qmmp/effect.cpp | 10 | ||||
| -rw-r--r-- | src/qmmp/effectfactory.h | 9 | ||||
| -rw-r--r-- | src/qmmp/output.cpp | 21 | ||||
| -rw-r--r-- | src/qmmp/outputfactory.h | 9 | ||||
| -rw-r--r-- | src/qmmp/visual.cpp | 10 | ||||
| -rw-r--r-- | src/qmmp/visualfactory.h | 9 |
13 files changed, 54 insertions, 38 deletions
diff --git a/src/plugins/Effect/srconverter/effectsrconverterfactory.cpp b/src/plugins/Effect/srconverter/effectsrconverterfactory.cpp index d25296004..f7606d641 100644 --- a/src/plugins/Effect/srconverter/effectsrconverterfactory.cpp +++ b/src/plugins/Effect/srconverter/effectsrconverterfactory.cpp @@ -28,6 +28,7 @@ const EffectProperties EffectSRConverterFactory::properties() const { EffectProperties properties; properties.name = tr("SRC Plugin"); + properties.shortName = "SRC"; properties.hasSettings = TRUE; properties.hasAbout = TRUE; return properties; diff --git a/src/plugins/Input/mad/decodermadfactory.cpp b/src/plugins/Input/mad/decodermadfactory.cpp index cc0ecd020..0d66c68a2 100644 --- a/src/plugins/Input/mad/decodermadfactory.cpp +++ b/src/plugins/Input/mad/decodermadfactory.cpp @@ -85,6 +85,7 @@ const DecoderProperties DecoderMADFactory::properties() const { DecoderProperties properties; properties.name = tr("MPEG Plugin"); + properties.shortName = "mad"; properties.filter = "*.mp1 *.mp2 *.mp3 *.wav"; properties.description = tr("MPEG Files"); properties.contentType = "audio/mp3;audio/mpeg"; diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp index 095f6b5ff..2bc97a8f7 100644 --- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp +++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp @@ -48,6 +48,7 @@ const DecoderProperties DecoderVorbisFactory::properties() const { DecoderProperties properties; properties.name = tr("Ogg Vorbis Plugin"); + properties.shortName = "vorbis"; properties.filter = "*.ogg"; properties.description = tr("Ogg Vorbis Files"); properties.contentType = "application/ogg;audio/x-vorbis+ogg"; diff --git a/src/plugins/Output/alsa/outputalsafactory.cpp b/src/plugins/Output/alsa/outputalsafactory.cpp index 3b90073a5..a708d9df0 100644 --- a/src/plugins/Output/alsa/outputalsafactory.cpp +++ b/src/plugins/Output/alsa/outputalsafactory.cpp @@ -29,6 +29,7 @@ const OutputProperties OutputALSAFactory::properties() const { OutputProperties properties; properties.name = tr("ALSA Plugin"); + properties.shortName = "alsa"; properties.hasAbout = TRUE; properties.hasSettings = TRUE; return properties; diff --git a/src/plugins/Visual/analyzer/visualanalyzerfactory.cpp b/src/plugins/Visual/analyzer/visualanalyzerfactory.cpp index e57341d62..ad9122a87 100644 --- a/src/plugins/Visual/analyzer/visualanalyzerfactory.cpp +++ b/src/plugins/Visual/analyzer/visualanalyzerfactory.cpp @@ -28,6 +28,7 @@ const VisualProperties VisualAnalyzerFactory::properties() const { VisualProperties properties; properties.name = tr("Analyzer Plugin"); + properties.shortName = "analyzer"; properties.hasSettings = TRUE; properties.hasAbout = TRUE; return properties; diff --git a/src/qmmp/decoder.cpp b/src/qmmp/decoder.cpp index 13be451dc..c6c1f83b1 100644 --- a/src/qmmp/decoder.cpp +++ b/src/qmmp/decoder.cpp @@ -224,18 +224,15 @@ void Decoder::checkFactories() } //remove physically deleted plugins from disabled list QStringList names; - foreach (QString filePath, m_files) + foreach (DecoderFactory *factory, *m_factories) { - names.append(filePath.section('/',-1)); + names.append(factory->properties().shortName); } - int i = 0; QStringList disabledList = settings.value("Decoder/disabled_plugins").toStringList (); - while (i < disabledList.size()) + foreach (QString name, disabledList) { - if (!names.contains(disabledList.at(i))) - disabledList.removeAt(i); - else - i++; + if (!names.contains(name)) + disabledList.removeAll(name); } settings.setValue("Decoder/disabled_plugins",disabledList); } @@ -378,7 +375,7 @@ void Decoder::setEnabled(DecoderFactory* factory, bool enable) if (!m_factories->contains(factory)) return; - QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1); + QString name = factory->properties().shortName; QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat ); QStringList disabledList = settings.value("Decoder/disabled_plugins").toStringList(); @@ -397,7 +394,7 @@ bool Decoder::isEnabled(DecoderFactory* factory) checkFactories(); if (!m_factories->contains(factory)) return FALSE; - QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1); + QString name = factory->properties().shortName; QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat ); QStringList disabledList = settings.value("Decoder/disabled_plugins").toStringList(); return !disabledList.contains(name); @@ -439,4 +436,3 @@ QList<DecoderFactory*> *Decoder::factories() checkFactories(); return m_factories; } - diff --git a/src/qmmp/decoderfactory.h b/src/qmmp/decoderfactory.h index cf05ba124..c7f3f47da 100644 --- a/src/qmmp/decoderfactory.h +++ b/src/qmmp/decoderfactory.h @@ -44,6 +44,7 @@ public: } QString name; + QString shortName; QString filter; QString description; QString contentType; diff --git a/src/qmmp/effect.cpp b/src/qmmp/effect.cpp index 9b279fab8..63729c339 100644 --- a/src/qmmp/effect.cpp +++ b/src/qmmp/effect.cpp @@ -122,9 +122,9 @@ void Effect::setEnabled(EffectFactory* factory, bool enable) if(!factories->contains(factory)) return; - QString name = files.at(factories->indexOf(factory)).section('/',-1); + QString name = factory->properties().shortName; QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat ); - QStringList effList = settings.value("Effect/plugin_files").toStringList(); + QStringList effList = settings.value("Effect/enabled_plugins").toStringList(); if(enable) { @@ -133,7 +133,7 @@ void Effect::setEnabled(EffectFactory* factory, bool enable) } else effList.removeAll(name); - settings.setValue("Effect/plugin_files", effList); + settings.setValue("Effect/enabled_plugins", effList); } bool Effect::isEnabled(EffectFactory* factory) @@ -141,9 +141,9 @@ bool Effect::isEnabled(EffectFactory* factory) checkFactories(); if(!factories->contains(factory)) return FALSE; - QString name = files.at(factories->indexOf(factory)).section('/',-1); + QString name = factory->properties().shortName; QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat ); - QStringList effList = settings.value("Effect/plugin_files").toStringList(); + QStringList effList = settings.value("Effect/enabled_plugins").toStringList(); return effList.contains(name); } diff --git a/src/qmmp/effectfactory.h b/src/qmmp/effectfactory.h index 96354cf6e..18f605eed 100644 --- a/src/qmmp/effectfactory.h +++ b/src/qmmp/effectfactory.h @@ -31,9 +31,16 @@ class QTranslator; class Effect; -struct EffectProperties +class EffectProperties { +public: + EffectProperties() + { + hasAbout = FALSE; + hasSettings = FALSE; + } QString name; + QString shortName; bool hasAbout; bool hasSettings; }; diff --git a/src/qmmp/output.cpp b/src/qmmp/output.cpp index 839fb1f50..85f636daf 100644 --- a/src/qmmp/output.cpp +++ b/src/qmmp/output.cpp @@ -159,28 +159,21 @@ void Output::setCurrentFactory(OutputFactory* factory) checkFactories(); if (!m_factories->contains(factory)) return; - - QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1); - //TODO use plugin id instead QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat); - settings.setValue ("Output/plugin_file", name); + settings.setValue ("Output/current_plugin", factory->properties().shortName); } OutputFactory *Output::currentFactory() { checkFactories(); QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat); - QString name = settings.value("Output/plugin_file", "libalsa.so").toString(); - foreach(QString path, m_files) + QString name = settings.value("Output/current_plugin", "alsa").toString(); //TODO freebsd support + foreach(OutputFactory *factory, *m_factories) { - if (path.section('/',-1) == name) - { - int i = m_files.indexOf(path); - if (i < 0) - return 0; - else - return m_factories->at(i); - } + if (factory->properties().shortName == name) + return factory; } + if (!m_factories->isEmpty()) + return m_factories->at(0); return 0; } diff --git a/src/qmmp/outputfactory.h b/src/qmmp/outputfactory.h index 3e27f2396..c4522ea2a 100644 --- a/src/qmmp/outputfactory.h +++ b/src/qmmp/outputfactory.h @@ -31,9 +31,16 @@ class VolumeControl; class Decoder; class Output; -struct OutputProperties +class OutputProperties { +public: + OutputProperties() + { + hasAbout = FALSE; + hasSettings = FALSE; + } QString name; + QString shortName; bool hasAbout; bool hasSettings; }; diff --git a/src/qmmp/visual.cpp b/src/qmmp/visual.cpp index 453a7abd0..1b4378334 100644 --- a/src/qmmp/visual.cpp +++ b/src/qmmp/visual.cpp @@ -97,9 +97,9 @@ void Visual::setEnabled(VisualFactory* factory, bool enable) if (!m_factories->contains(factory)) return; - QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1); + QString name = factory->properties().shortName; QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat ); - QStringList visList = settings.value("Visualization/plugin_files").toStringList(); + QStringList visList = settings.value("Visualization/enabled_plugins").toStringList(); if (enable) { @@ -126,7 +126,7 @@ void Visual::setEnabled(VisualFactory* factory, bool enable) m_vis_map.remove (factory); } } - settings.setValue("Visualization/plugin_files", visList); + settings.setValue("Visualization/enabled_plugins", visList); } bool Visual::isEnabled(VisualFactory* factory) @@ -134,9 +134,9 @@ bool Visual::isEnabled(VisualFactory* factory) checkFactories(); if (!m_factories->contains(factory)) return FALSE; - QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1); + QString name = factory->properties().shortName; QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat ); - QStringList visList = settings.value("Visualization/plugin_files").toStringList(); + QStringList visList = settings.value("Visualization/enabled_plugins").toStringList(); return visList.contains(name); } diff --git a/src/qmmp/visualfactory.h b/src/qmmp/visualfactory.h index 723c86970..d57b5cf55 100644 --- a/src/qmmp/visualfactory.h +++ b/src/qmmp/visualfactory.h @@ -28,9 +28,16 @@ class QDialog; class Visual; -struct VisualProperties +class VisualProperties { +public: + VisualProperties() + { + hasAbout = FALSE; + hasSettings = FALSE; + } QString name; + QString shortName; bool hasAbout; bool hasSettings; }; |
