From dabbb8f97cefbdbffa48ffca0017826197fe2ff2 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 22 Apr 2010 13:18:09 +0000 Subject: 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 --- src/plugins/Transports/http/downloader.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src') 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 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 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")); -- cgit v1.2.3-13-gbd6f