aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-09-12 14:59:16 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-09-12 14:59:16 +0000
commitd3fd87588a559dc23b29106cd8a7283ecc8b4507 (patch)
treecd1849b78bf077f05a6bc2c6f0f07e4737d83e62
parent07ae1ec8ca7452899b65b579e65fb1ad28764c58 (diff)
downloadqmmp-d3fd87588a559dc23b29106cd8a7283ecc8b4507.tar.gz
qmmp-d3fd87588a559dc23b29106cd8a7283ecc8b4507.tar.bz2
qmmp-d3fd87588a559dc23b29106cd8a7283ecc8b4507.zip
some changes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@550 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmp/decoder.cpp49
-rw-r--r--src/qmmp/decoder.h3
-rw-r--r--src/qmmp/output.cpp52
-rw-r--r--src/qmmp/output.h5
4 files changed, 58 insertions, 51 deletions
diff --git a/src/qmmp/decoder.cpp b/src/qmmp/decoder.cpp
index 9d52ee019..3d460e1ba 100644
--- a/src/qmmp/decoder.cpp
+++ b/src/qmmp/decoder.cpp
@@ -119,18 +119,17 @@ void Decoder::volume(int *l, int *r)
}
// static methods
+QList<DecoderFactory*> *Decoder::m_factories = 0;
+QStringList Decoder::m_files;
-static QList<DecoderFactory*> *factories = 0;
-static QStringList files;
-
-static void checkFactories()
+void Decoder::checkFactories()
{
QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat );
- if (! factories)
+ if (!m_factories)
{
- files.clear();
- factories = new QList<DecoderFactory *>;
+ m_files.clear();
+ m_factories = new QList<DecoderFactory *>;
QDir pluginsDir (qApp->applicationDirPath());
pluginsDir.cdUp();
@@ -149,13 +148,13 @@ static void checkFactories()
if (factory)
{
- factories->append(factory);
- files << pluginsDir.absoluteFilePath(fileName);
+ m_factories->append(factory);
+ m_files << pluginsDir.absoluteFilePath(fileName);
}
}
//remove physically deleted plugins from disabled list
QStringList names;
- foreach (QString filePath, files)
+ foreach (QString filePath, m_files)
{
names.append(filePath.section('/',-1));
}
@@ -179,7 +178,7 @@ QStringList Decoder::all()
QStringList l;
DecoderFactory *fact;
- foreach(fact, *factories)
+ foreach(fact, *m_factories)
{
l << fact->properties().description;
}
@@ -189,7 +188,7 @@ QStringList Decoder::all()
QStringList Decoder::decoderFiles()
{
checkFactories();
- return files;
+ return m_files;
}
@@ -198,7 +197,7 @@ bool Decoder::supports(const QString &source)
checkFactories();
DecoderFactory *fact;
- foreach(fact, *factories)
+ foreach(fact, *m_factories)
{
if (fact->supports(source) && isEnabled(fact))
{
@@ -243,7 +242,7 @@ DecoderFactory *Decoder::findByPath(const QString& source)
{
checkFactories();
DecoderFactory *fact;
- foreach(fact, *factories)
+ foreach(fact, *m_factories)
{
if (fact->supports(source) && isEnabled(fact))
{
@@ -258,7 +257,7 @@ DecoderFactory *Decoder::findByMime(const QString& type)
{
checkFactories();
DecoderFactory *fact;
- foreach(fact, *factories)
+ foreach(fact, *m_factories)
{
if (isEnabled(fact))
{
@@ -278,7 +277,7 @@ DecoderFactory *Decoder::findByContent(QIODevice *input)
{
checkFactories();
DecoderFactory *fact;
- foreach(fact, *factories)
+ foreach(fact, *m_factories)
{
if (fact->canDecode(input) && isEnabled(fact))
{
@@ -292,10 +291,10 @@ DecoderFactory *Decoder::findByContent(QIODevice *input)
void Decoder::setEnabled(DecoderFactory* factory, bool enable)
{
checkFactories();
- if (!factories->contains(factory))
+ if (!m_factories->contains(factory))
return;
- QString name = files.at(factories->indexOf(factory)).section('/',-1);
+ QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1);
QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat );
QStringList disabledList = settings.value("Decoder/disabled_plugins").toStringList();
@@ -312,9 +311,9 @@ void Decoder::setEnabled(DecoderFactory* factory, bool enable)
bool Decoder::isEnabled(DecoderFactory* factory)
{
checkFactories();
- if (!factories->contains(factory))
+ if (!m_factories->contains(factory))
return FALSE;
- QString name = files.at(factories->indexOf(factory)).section('/',-1);
+ QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1);
QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat );
QStringList disabledList = settings.value("Decoder/disabled_plugins").toStringList();
return !disabledList.contains(name);
@@ -334,7 +333,7 @@ QStringList Decoder::filters()
{
checkFactories();
QStringList filters;
- foreach(DecoderFactory *fact, *factories)
+ foreach(DecoderFactory *fact, *m_factories)
filters << fact->properties().description + " (" + fact->properties().filter + ")";
return filters;
}
@@ -343,10 +342,10 @@ QStringList Decoder::nameFilters()
{
checkFactories();
QStringList filters;
- for (int i=0; i<factories->size(); ++i)
+ for (int i=0; i<m_factories->size(); ++i)
{
- if (isEnabled(factories->at(i)))
- filters << factories->at(i)->properties().filter.split(" ", QString::SkipEmptyParts);
+ if (isEnabled(m_factories->at(i)))
+ filters << m_factories->at(i)->properties().filter.split(" ", QString::SkipEmptyParts);
}
return filters;
}
@@ -354,7 +353,7 @@ QStringList Decoder::nameFilters()
QList<DecoderFactory*> *Decoder::decoderFactories()
{
checkFactories();
- return factories;
+ return m_factories;
}
void Decoder::configure(quint32 srate, int chan, int bps)
diff --git a/src/qmmp/decoder.h b/src/qmmp/decoder.h
index ec82ad096..d1f3818df 100644
--- a/src/qmmp/decoder.h
+++ b/src/qmmp/decoder.h
@@ -84,6 +84,7 @@ protected:
private:
void changeVolume(char *data, qint64 size, int chan);
+ static void checkFactories();
DecoderFactory *m_factory;
QList <Effect*> m_effects;
@@ -99,6 +100,8 @@ private:
bool m_useVolume;
int m_volL, m_volR, m_volLF, m_volRF;
StateHandler *m_handler;
+ static QList<DecoderFactory*> *m_factories;
+ static QStringList m_files;
};
diff --git a/src/qmmp/output.cpp b/src/qmmp/output.cpp
index 8e4f579f5..11e4eb781 100644
--- a/src/qmmp/output.cpp
+++ b/src/qmmp/output.cpp
@@ -40,7 +40,7 @@ void Output::setStateHandler(StateHandler *handler)
Output::~Output()
{
- foreach(Visual *visual, m_vis_map.values ())
+ /*foreach(Visual *visual, m_vis_map.values ())
{
visual->setOutput(0);
visual->close();
@@ -48,7 +48,7 @@ Output::~Output()
foreach (Visual *visual , visuals) //external
{
visual->setOutput(0);
- }
+ }*/
}
void Output::addVisual ( Visual *v )
@@ -56,7 +56,7 @@ void Output::addVisual ( Visual *v )
if (visuals.indexOf (v) == -1)
{
visuals.append (v);
- v->setOutput(this);
+// v->setOutput(this);
qDebug("Output: added external visualization");
}
}
@@ -64,7 +64,7 @@ void Output::addVisual ( Visual *v )
void Output::removeVisual (Visual *v)
{
- v->setOutput(0);
+ //v->setOutput(0);
visuals.removeAll (v);
if (m_vis_map.key(v))
{
@@ -93,7 +93,7 @@ void Output::addVisual(VisualFactory *factory, QWidget *parent)
visual->setWindowFlags(Qt::Window);
if (visual)
{
- visual->setOutput(this);
+ //visual->setOutput(this);
qDebug("Output: added visual factory: %s",
qPrintable(factory->properties().name));
m_vis_map.insert (factory, visual);
@@ -218,16 +218,16 @@ void Output::dispatch(const Qmmp::State &state)
// static methods
-static QList<OutputFactory*> *factories = 0;
-static QStringList files;
-static QTimer *timer = 0;
+QList<OutputFactory*> *Output::m_factories = 0;
+QStringList Output::m_files;
+QTimer *Output::m_timer = 0;
-static void checkFactories()
+void Output::checkFactories()
{
- if ( ! factories )
+ if ( ! m_factories )
{
- files.clear();
- factories = new QList<OutputFactory *>;
+ m_files.clear();
+ m_factories = new QList<OutputFactory *>;
QDir pluginsDir ( qApp->applicationDirPath() );
pluginsDir.cdUp();
@@ -248,7 +248,7 @@ static void checkFactories()
if ( factory )
{
Output::registerFactory ( factory );
- files << pluginsDir.absoluteFilePath(fileName);
+ m_files << pluginsDir.absoluteFilePath(fileName);
}
}
}
@@ -256,7 +256,7 @@ static void checkFactories()
void Output::registerFactory ( OutputFactory *fact )
{
- factories->append ( fact );
+ m_factories->append ( fact );
}
Output *Output::create (QObject *parent)
@@ -264,18 +264,18 @@ Output *Output::create (QObject *parent)
Output *output = 0;
checkFactories();
- if (factories->isEmpty ())
+ if (m_factories->isEmpty ())
{
qDebug("Output: unable to find output plugins");
return output;
}
OutputFactory *fact = 0;
- foreach(fact, *factories)
+ foreach(fact, *m_factories)
{
if (isEnabled(fact))
break;
else
- fact = factories->at(0);
+ fact = m_factories->at(0);
}
QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat);
bool useVolume = !settings.value("Volume/software_volume", FALSE).toBool();
@@ -284,9 +284,9 @@ Output *Output::create (QObject *parent)
output = fact->create (parent, useVolume);
if (useVolume)
{
- timer = new QTimer(output);
- connect(timer, SIGNAL(timeout()), output, SLOT(checkVolume()));
- timer->start(125);
+ m_timer = new QTimer(output);
+ connect(m_timer, SIGNAL(timeout()), output, SLOT(checkVolume()));
+ m_timer->start(125);
}
else
{
@@ -299,22 +299,22 @@ Output *Output::create (QObject *parent)
QList<OutputFactory*> *Output::outputFactories()
{
checkFactories();
- return factories;
+ return m_factories;
}
QStringList Output::outputFiles()
{
checkFactories();
- return files;
+ return m_files;
}
void Output::setEnabled(OutputFactory* factory)
{
checkFactories();
- if (!factories->contains(factory))
+ if (!m_factories->contains(factory))
return;
- QString name = files.at(factories->indexOf(factory)).section('/',-1);
+ QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1);
QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat);
settings.setValue ("Output/plugin_file", name);
}
@@ -322,9 +322,9 @@ void Output::setEnabled(OutputFactory* factory)
bool Output::isEnabled(OutputFactory* factory)
{
checkFactories();
- if (!factories->contains(factory))
+ if (!m_factories->contains(factory))
return FALSE;
- QString name = files.at(factories->indexOf(factory)).section('/',-1);
+ QString name = m_files.at(m_factories->indexOf(factory)).section('/',-1);
QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat);
return name == settings.value("Output/plugin_file", "libalsa.so").toString();
}
diff --git a/src/qmmp/output.h b/src/qmmp/output.h
index 630b17539..7b0ce4a0b 100644
--- a/src/qmmp/output.h
+++ b/src/qmmp/output.h
@@ -88,6 +88,11 @@ private:
QMap<VisualFactory*, Visual*> m_vis_map; //internal visualization
int m_bl, m_br;
StateHandler *m_handler;
+
+ static void checkFactories();
+ static QList<OutputFactory*> *m_factories;
+ static QStringList m_files;
+ static QTimer *m_timer;
};