diff options
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/fileloader.cpp | 9 | ||||
| -rw-r--r-- | src/qmmpui/fileloader.h | 1 | ||||
| -rw-r--r-- | src/qmmpui/mediaplayer.cpp | 42 |
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++; } |
