aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-04-10 20:50:28 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-04-10 20:50:28 +0000
commitd797b6af7c3d86cffd26ff8a1d4844dc5cc730b5 (patch)
treee9609cb08d6953c18be48bb3d7592c36c7ae5e8b /src/qmmpui
parentde2cf5e954ce3a1166deede76a539446f85a9e08 (diff)
downloadqmmp-d797b6af7c3d86cffd26ff8a1d4844dc5cc730b5.tar.gz
qmmp-d797b6af7c3d86cffd26ff8a1d4844dc5cc730b5.tar.bz2
qmmp-d797b6af7c3d86cffd26ff8a1d4844dc5cc730b5.zip
fixed regression, fixed signals synchronization (Fixes issue 447), fixed
mplayer engine bugs git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2152 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/fileloader.cpp9
-rw-r--r--src/qmmpui/fileloader.h1
-rw-r--r--src/qmmpui/mediaplayer.cpp42
3 files changed, 8 insertions, 44 deletions
diff --git a/src/qmmpui/fileloader.cpp b/src/qmmpui/fileloader.cpp
index 9e48e8cfe..203d147fe 100644
--- a/src/qmmpui/fileloader.cpp
+++ b/src/qmmpui/fileloader.cpp
@@ -41,11 +41,10 @@ void FileLoader::addFile(const QString &path)
void FileLoader::addDirectory(const QString& s)
{
- QStringList filters = MetaDataManager::instance()->nameFilters();
QDir dir(s);
dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
dir.setSorting(QDir::Name);
- QFileInfoList l = dir.entryInfoList(filters);
+ QFileInfoList l = dir.entryInfoList(m_filters);
foreach(QFileInfo info, l)
{
addFile(info.absoluteFilePath ());
@@ -85,18 +84,24 @@ void FileLoader::run()
void FileLoader::loadFile(const QString &path)
{
m_files.enqueue(path);
+ if(m_filters.isEmpty())
+ m_filters = MetaDataManager::instance()->nameFilters();
start(QThread::IdlePriority);
}
void FileLoader::loadFiles(const QStringList &paths)
{
m_files << paths;
+ if(m_filters.isEmpty())
+ m_filters = MetaDataManager::instance()->nameFilters();
start(QThread::IdlePriority);
}
void FileLoader::loadDirectory(const QString &path)
{
m_directories.enqueue(path);
+ if(m_filters.isEmpty())
+ m_filters = MetaDataManager::instance()->nameFilters();
start(QThread::IdlePriority);
}
diff --git a/src/qmmpui/fileloader.h b/src/qmmpui/fileloader.h
index afa356183..f3c89b490 100644
--- a/src/qmmpui/fileloader.h
+++ b/src/qmmpui/fileloader.h
@@ -81,6 +81,7 @@ protected:
private:
QQueue <QString> m_files;
QQueue <QString> m_directories;
+ QStringList m_filters;
bool m_finished;
};
diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp
index ea45c2b78..21051c7fe 100644
--- a/src/qmmpui/mediaplayer.cpp
+++ b/src/qmmpui/mediaplayer.cpp
@@ -103,45 +103,6 @@ void MediaPlayer::play(qint64 offset)
m_nextUrl.clear();
return;
}
-
- /*if (!m_core->play(s, false, offset))
- {
- //find out the reason why playback failed
- switch ((int) m_core->state())
- {
- case Qmmp::FatalError:
- {
- stop();
- return; //unrecovable error in output, so abort playing
- }
- case Qmmp::NormalError:
- {
- //error in decoder, so we should try to play next song
- m_skips++;
- if (m_skips > MAX_SKIPS)
- {
- stop();
- qWarning("MediaPlayer: skip limit exceeded");
- break;
- }
- qApp->processEvents();
- if (!m_pl_manager->currentPlayList()->isEmptyQueue())
- {
- m_pl_manager->currentPlayList()->setCurrentToQueued();
- }
- else if (!m_pl_manager->currentPlayList()->next())
- {
- stop();
- return;
- }
- play();
- break;
- }
- }
- }
- else
- m_skips = 0;*/
-
m_core->play(s, false, offset);
m_skips = 0;
}
@@ -256,11 +217,8 @@ void MediaPlayer::processState(Qmmp::State state)
{
case Qmmp::NormalError:
stop();
- //playNext();
if (m_skips < MAX_SKIPS)
{
- //stop();
- //qWarning("MediaPlayer: skip limit exceeded");
playNext();
m_skips++;
}