diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-12-08 21:15:57 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-12-08 21:15:57 +0000 |
| commit | bd5d761d73012232b9a76b95d05eacd96cd5dc26 (patch) | |
| tree | 26994230eafba424e8c51cf9257bd64682f257f9 | |
| parent | 34d21d2e921920ac8f1ddda91dbc019b9a58e02e (diff) | |
| download | qmmp-bd5d761d73012232b9a76b95d05eacd96cd5dc26.tar.gz qmmp-bd5d761d73012232b9a76b95d05eacd96cd5dc26.tar.bz2 qmmp-bd5d761d73012232b9a76b95d05eacd96cd5dc26.zip | |
some effect fixes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1433 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/qmmp/effect.cpp | 32 | ||||
| -rw-r--r-- | src/qmmp/effect.h | 3 |
2 files changed, 20 insertions, 15 deletions
diff --git a/src/qmmp/effect.cpp b/src/qmmp/effect.cpp index 4aa8b6c01..66b6bdf69 100644 --- a/src/qmmp/effect.cpp +++ b/src/qmmp/effect.cpp @@ -58,17 +58,19 @@ int Effect::bitsPerSample() return m_res; } -static QList<EffectFactory*> *factories = 0; -static QStringList files; +//static members -static void checkFactories() +QList<EffectFactory*> *Effect::m_factories = 0; +QStringList Effect::m_files; + +void Effect::checkFactories() { - if (! factories) + if (!m_factories) { - files.clear(); - factories = new QList<EffectFactory *>; + m_files.clear(); + m_factories = new QList<EffectFactory *>; - QDir pluginsDir (Qmmp::pluginsPath()); + QDir pluginsDir (Qmmp::pluginsPath()); pluginsDir.cd("Effect"); foreach (QString fileName, pluginsDir.entryList(QDir::Files)) { @@ -85,8 +87,8 @@ static void checkFactories() if (factory) { - factories->append(factory); - files << pluginsDir.absoluteFilePath(fileName); + m_factories->append(factory); + m_files << pluginsDir.absoluteFilePath(fileName); qApp->installTranslator(factory->createTranslator(qApp)); } } @@ -98,7 +100,7 @@ QList<Effect*> Effect::create() checkFactories(); QList<Effect*> effects; EffectFactory *factory = 0; - foreach (factory, *factories) + foreach (factory, *m_factories) { if(isEnabled(factory)) effects.append(factory->create()); @@ -109,19 +111,19 @@ QList<Effect*> Effect::create() QList<EffectFactory*> *Effect::effectFactories() { checkFactories(); - return factories; + return m_factories; } QStringList Effect::effectFiles() { checkFactories(); - return files; + return m_files; } void Effect::setEnabled(EffectFactory* factory, bool enable) { checkFactories(); - if(!factories->contains(factory)) + if(!m_factories->contains(factory)) return; QString name = factory->properties().shortName; @@ -141,10 +143,10 @@ void Effect::setEnabled(EffectFactory* factory, bool enable) bool Effect::isEnabled(EffectFactory* factory) { checkFactories(); - if(!factories->contains(factory)) + if(!m_factories->contains(factory)) return FALSE; QString name = factory->properties().shortName; - QSettings settings ( Qmmp::configFile(), QSettings::IniFormat ); + QSettings settings (Qmmp::configFile(), QSettings::IniFormat); QStringList effList = settings.value("Effect/enabled_plugins").toStringList(); return effList.contains(name); } diff --git a/src/qmmp/effect.h b/src/qmmp/effect.h index a3a14ab0b..511ef8f18 100644 --- a/src/qmmp/effect.h +++ b/src/qmmp/effect.h @@ -94,6 +94,9 @@ private: quint32 m_freq; int m_chan; int m_res; + static void checkFactories(); + static QList<EffectFactory*> *m_factories; + static QStringList m_files; }; #endif |
