diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-11-23 20:42:54 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-11-23 20:42:54 +0000 |
| commit | f1fcd977f02a579829cd654dca625632237b0e07 (patch) | |
| tree | 8cf49b1a38321fedece7072c27f3ba7b48881c05 | |
| parent | b6847c88c279c51828f5b3c3e754c0d50c1e379a (diff) | |
| download | qmmp-f1fcd977f02a579829cd654dca625632237b0e07.tar.gz qmmp-f1fcd977f02a579829cd654dca625632237b0e07.tar.bz2 qmmp-f1fcd977f02a579829cd654dca625632237b0e07.zip | |
show notification for all files
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@627 90c681e8-e032-0410-971d-27865f9a5e38
| -rw-r--r-- | src/qmmp/qmmp.h | 2 | ||||
| -rw-r--r-- | src/qmmp/soundcore.cpp | 23 | ||||
| -rw-r--r-- | src/qmmp/soundcore.h | 7 | ||||
| -rw-r--r-- | src/qmmp/statehandler.cpp | 3 |
4 files changed, 26 insertions, 9 deletions
diff --git a/src/qmmp/qmmp.h b/src/qmmp/qmmp.h index c9c830071..dfa704a6d 100644 --- a/src/qmmp/qmmp.h +++ b/src/qmmp/qmmp.h @@ -27,7 +27,7 @@ class Qmmp { public: enum State {Playing = 0, Paused, Stopped, Buffering, NormalError, FatalError}; - enum MetaData {TITLE = 0, ARTIST, ALBUM, COMMENT, GENRE, YEAR, TRACK}; + enum MetaData {TITLE = 0, ARTIST, ALBUM, COMMENT, GENRE, YEAR, TRACK, URL}; }; diff --git a/src/qmmp/soundcore.cpp b/src/qmmp/soundcore.cpp index 7ad0bc050..bd8275b32 100644 --- a/src/qmmp/soundcore.cpp +++ b/src/qmmp/soundcore.cpp @@ -104,13 +104,6 @@ bool SoundCore::play(const QString &source) m_handler->dispatch(Qmmp::NormalError); return FALSE; } - QList <FileInfo *> list = m_factory->createPlayList(url.toLocalFile ()); - if (!list.isEmpty()) - { - m_handler->dispatch(list[0]->metaData()); - while (!list.isEmpty()) - delete list.takeFirst(); - } return decode(); } else @@ -245,6 +238,11 @@ void SoundCore::seek(qint64 pos) } } +const QString SoundCore::url() +{ + return m_source; +} + qint64 SoundCore::length() const { return (m_decoder) ? m_decoder->lengthInSeconds() : 0; @@ -401,6 +399,17 @@ bool SoundCore::decode() if (m_decoder->initialize()) { + if (QFile::exists(m_source)) //send metadata for local files + { + QList <FileInfo *> list = m_factory->createPlayList(m_source); + if (!list.isEmpty()) + { + m_handler->dispatch(list[0]->metaData()); + while (!list.isEmpty()) + delete list.takeFirst(); + } + } + if (m_output) m_output->start(); m_decoder->start(); diff --git a/src/qmmp/soundcore.h b/src/qmmp/soundcore.h index a4d5819d7..df3792be5 100644 --- a/src/qmmp/soundcore.h +++ b/src/qmmp/soundcore.h @@ -119,10 +119,15 @@ public slots: void pause(); /*! - *This function sets the current play position to \p pos. + * This function sets the current play position to \p pos. */ void seek(qint64 pos); + /*! + * This function returns file path or stream url. + */ + const QString url(); + signals: /*! diff --git a/src/qmmp/statehandler.cpp b/src/qmmp/statehandler.cpp index 1bc2e1587..3559187b9 100644 --- a/src/qmmp/statehandler.cpp +++ b/src/qmmp/statehandler.cpp @@ -20,6 +20,7 @@ #include <QStringList> +#include "soundcore.h" #include "statehandler.h" @@ -92,6 +93,8 @@ void StateHandler::dispatch(const QMap<Qmmp::MetaData, QString> &metaData) if (value.isEmpty() || value == "0") tmp.remove(tmp.key(value)); } + qDebug(qPrintable(SoundCore::instance()->url())); + tmp.insert(Qmmp::URL, SoundCore::instance()->url()); if (m_metaData != tmp) { m_metaData = tmp; |
