diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-04-22 13:18:09 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-04-22 13:18:09 +0000 |
| commit | dabbb8f97cefbdbffa48ffca0017826197fe2ff2 (patch) | |
| tree | 8ff8a4ad1da5d766dcc1009ec6b5e9c6d970240f /src/plugins/Transports | |
| parent | 9f3362e5b7b69bb29a56ffc836b7489f0c87f511 (diff) | |
| download | qmmp-dabbb8f97cefbdbffa48ffca0017826197fe2ff2.tar.gz qmmp-dabbb8f97cefbdbffa48ffca0017826197fe2ff2.tar.bz2 qmmp-dabbb8f97cefbdbffa48ffca0017826197fe2ff2.zip | |
fixed icy parsing (Closes issue 166) (Closes issue 245)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1691 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Transports')
| -rw-r--r-- | src/plugins/Transports/http/downloader.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/plugins/Transports/http/downloader.cpp b/src/plugins/Transports/http/downloader.cpp index 7e3fda2b9..dafc9ea26 100644 --- a/src/plugins/Transports/http/downloader.cpp +++ b/src/plugins/Transports/http/downloader.cpp @@ -314,11 +314,14 @@ void Downloader::checkBuffer() { m_ready = true; qDebug("Downloader: ready"); - if(!m_meta_sent && stream()->icy_meta_data) + if(!m_meta_sent) { QMap<Qmmp::MetaData, QString> metaData; - metaData.insert(Qmmp::TITLE, m_stream.header.value("icy-name")); - metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre")); + if(stream()->icy_meta_data) + { + metaData.insert(Qmmp::TITLE, m_stream.header.value("icy-name")); + metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre")); + } metaData.insert(Qmmp::URL, m_url); StateHandler::instance()->dispatch(metaData); } @@ -389,7 +392,16 @@ void Downloader::parseICYMetaData(char *data, qint64 size) m_title = line.remove("'"); QMap<Qmmp::MetaData, QString> metaData; if (!m_title.isEmpty()) - metaData.insert(Qmmp::TITLE, m_title); + { + QStringList l = m_title.split(" - "); + if(l.count() > 1) + { + metaData.insert(Qmmp::ARTIST, l.at(0)); + metaData.insert(Qmmp::TITLE, l.at(1)); + } + else + metaData.insert(Qmmp::TITLE, m_title); + } else metaData.insert(Qmmp::TITLE, m_stream.header.value("icy-name")); metaData.insert(Qmmp::GENRE, m_stream.header.value("icy-genre")); |
