aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-11-23 20:42:54 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-11-23 20:42:54 +0000
commitf1fcd977f02a579829cd654dca625632237b0e07 (patch)
tree8cf49b1a38321fedece7072c27f3ba7b48881c05 /src
parentb6847c88c279c51828f5b3c3e754c0d50c1e379a (diff)
downloadqmmp-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
Diffstat (limited to 'src')
-rw-r--r--src/qmmp/qmmp.h2
-rw-r--r--src/qmmp/soundcore.cpp23
-rw-r--r--src/qmmp/soundcore.h7
-rw-r--r--src/qmmp/statehandler.cpp3
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;