From dc8dac141f57b50a9316131c8491e72b488a2d2c Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 27 Nov 2008 20:57:53 +0000 Subject: fixed cue parsing git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@642 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/cue/cueparser.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/plugins/Input/cue/cueparser.cpp b/src/plugins/Input/cue/cueparser.cpp index 768203edc..440c5fb54 100644 --- a/src/plugins/Input/cue/cueparser.cpp +++ b/src/plugins/Input/cue/cueparser.cpp @@ -19,8 +19,6 @@ ***************************************************************************/ #include -#include -#include #include #include #include @@ -43,6 +41,7 @@ CUEParser::CUEParser(const QString &fileName) QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat); QTextCodec *codec = QTextCodec::codecForName(settings.value("CUE/encoding","ISO-8859-1").toByteArray ()); textStream.setCodec(codec); + QString artist; while (!textStream.atEnd()) { QString line = textStream.readLine().trimmed(); @@ -58,7 +57,10 @@ CUEParser::CUEParser(const QString &fileName) else if (words[0] == "PERFORMER") { if (m_infoList.isEmpty()) + { + artist = words[1]; continue; + } else m_infoList.last().setMetaData(Qmmp::ARTIST, words[1]); @@ -108,12 +110,14 @@ CUEParser::CUEParser(const QString &fileName) else m_infoList.last().setLength(0); - for(int i = 0; i < m_infoList.size(); ++i) + for (int i = 0; i < m_infoList.size(); ++i) { m_infoList[i].setMetaData(Qmmp::ALBUM, album); m_infoList[i].setMetaData(Qmmp::GENRE, genre); m_infoList[i].setMetaData(Qmmp::YEAR, date); m_infoList[i].setMetaData(Qmmp::COMMENT, comment); + if (!m_infoList[i].metaData().count(Qmmp::ARTIST) && !artist.isEmpty()) + m_infoList[i].setMetaData(Qmmp::ARTIST, artist); } file.close(); } -- cgit v1.2.3-13-gbd6f