aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-04-03 10:02:38 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-04-03 10:02:38 +0000
commit761a48386b9e64097dda181be21dec414721e549 (patch)
tree44af108d9a77e884bac358b37d85154a2f41e69e /src
parent77c73788b140b700e78c03636b7d48bce5eebd48 (diff)
downloadqmmp-761a48386b9e64097dda181be21dec414721e549.tar.gz
qmmp-761a48386b9e64097dda181be21dec414721e549.tar.bz2
qmmp-761a48386b9e64097dda181be21dec414721e549.zip
do not load all plugins in startup
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2148 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/qmmp/metadatamanager.cpp16
-rw-r--r--src/qmmp/metadatamanager.h4
-rw-r--r--src/qmmpui/fileloader.cpp10
-rw-r--r--src/qmmpui/fileloader.h3
4 files changed, 12 insertions, 21 deletions
diff --git a/src/qmmp/metadatamanager.cpp b/src/qmmp/metadatamanager.cpp
index b1d2c255c..e79b65b68 100644
--- a/src/qmmp/metadatamanager.cpp
+++ b/src/qmmp/metadatamanager.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2010 by Ilya Kotov *
+ * Copyright (C) 2009-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -35,8 +35,6 @@ MetaDataManager::MetaDataManager() : m_mutex(QMutex::Recursive)
if(m_instance)
qFatal("MetaDataManager is already created");
m_instance = this;
- m_decoderFactories = Decoder::factories();
- m_engineFactories = AbstractEngine::factories();
m_settings = QmmpSettings::instance();
}
@@ -70,7 +68,7 @@ QList <FileInfo *> MetaDataManager::createPlayList(const QString &fileName, bool
list << new FileInfo(fileName);
return list;
}
- foreach(fact, *m_decoderFactories)
+ foreach(fact, *Decoder::factories())
{
if(fact->properties().protocols.contains(scheme) && Decoder::isEnabled(fact))
return fact->createPlayList(fileName, useMetaData);
@@ -83,6 +81,7 @@ MetaDataModel* MetaDataManager::createMetaDataModel(const QString &path, QObject
{
DecoderFactory *fact = 0;
EngineFactory *efact = 0;
+
if (!path.contains("://")) //local file
{
if(!QFile::exists(path))
@@ -115,12 +114,12 @@ MetaDataModel* MetaDataManager::createMetaDataModel(const QString &path, QObject
QStringList MetaDataManager::filters() const
{
QStringList filters;
- foreach(DecoderFactory *fact, *m_decoderFactories)
+ foreach(DecoderFactory *fact, *Decoder::factories())
{
if (Decoder::isEnabled(fact) && !fact->properties().filters.isEmpty())
filters << fact->properties().description + " (" + fact->properties().filters.join(" ") + ")";
}
- foreach(EngineFactory *fact, *m_engineFactories)
+ foreach(EngineFactory *fact, *AbstractEngine::factories())
{
if (AbstractEngine::isEnabled(fact) && !fact->properties().filters.isEmpty())
filters << fact->properties().description + " (" + fact->properties().filters.join(" ") + ")";
@@ -131,12 +130,12 @@ QStringList MetaDataManager::filters() const
QStringList MetaDataManager::nameFilters() const
{
QStringList filters;
- foreach(DecoderFactory *fact, *m_decoderFactories)
+ foreach(DecoderFactory *fact, *Decoder::factories())
{
if (Decoder::isEnabled(fact))
filters << fact->properties().filters;
}
- foreach(EngineFactory *fact, *m_engineFactories)
+ foreach(EngineFactory *fact, *AbstractEngine::factories())
{
if (AbstractEngine::isEnabled(fact))
filters << fact->properties().filters;
@@ -262,4 +261,3 @@ void MetaDataManager::destroy()
if(m_instance)
delete m_instance;
}
-
diff --git a/src/qmmp/metadatamanager.h b/src/qmmp/metadatamanager.h
index 2d0ccdb72..94c68fe4c 100644
--- a/src/qmmp/metadatamanager.h
+++ b/src/qmmp/metadatamanager.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2010 by Ilya Kotov *
+ * Copyright (C) 2009-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -105,8 +105,6 @@ public:
private:
QFileInfoList findCoverFiles(QDir dir, int depth) const;
- QList <DecoderFactory *> *m_decoderFactories;
- QList <EngineFactory *> *m_engineFactories;
QMap <QString, QString> m_cover_cache;
QmmpSettings *m_settings;
mutable QMutex m_mutex;
diff --git a/src/qmmpui/fileloader.cpp b/src/qmmpui/fileloader.cpp
index d5d4c01af..9e48e8cfe 100644
--- a/src/qmmpui/fileloader.cpp
+++ b/src/qmmpui/fileloader.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2010 by Ilya Kotov *
+ * Copyright (C) 2006-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -25,15 +25,12 @@
FileLoader::FileLoader(QObject *parent) : QThread(parent)
{
- m_filters = MetaDataManager::instance()->nameFilters();
m_finished = false;
}
-
FileLoader::~FileLoader()
{}
-
void FileLoader::addFile(const QString &path)
{
bool use_meta = PlaylistSettings::instance()->useMetadata();
@@ -42,14 +39,13 @@ void FileLoader::addFile(const QString &path)
emit newPlayListItem(new PlayListItem(info));
}
-
void FileLoader::addDirectory(const QString& s)
{
- QList <FileInfo *> playList;
+ QStringList filters = MetaDataManager::instance()->nameFilters();
QDir dir(s);
dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
dir.setSorting(QDir::Name);
- QFileInfoList l = dir.entryInfoList(m_filters);
+ QFileInfoList l = dir.entryInfoList(filters);
foreach(QFileInfo info, l)
{
addFile(info.absoluteFilePath ());
diff --git a/src/qmmpui/fileloader.h b/src/qmmpui/fileloader.h
index 7b3ad8862..afa356183 100644
--- a/src/qmmpui/fileloader.h
+++ b/src/qmmpui/fileloader.h
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2006-2010 by Ilya Kotov *
+ * Copyright (C) 2006-2011 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -79,7 +79,6 @@ protected:
void addDirectory(const QString &s);
private:
- QStringList m_filters;
QQueue <QString> m_files;
QQueue <QString> m_directories;
bool m_finished;