aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-11-27 20:57:53 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-11-27 20:57:53 +0000
commitdc8dac141f57b50a9316131c8491e72b488a2d2c (patch)
tree8c3c7e05412b304258d4aa19014c3321897332a6 /src/plugins
parent6f42fc16aa3b35750598e4322c3dbd1792e66e7d (diff)
downloadqmmp-dc8dac141f57b50a9316131c8491e72b488a2d2c.tar.gz
qmmp-dc8dac141f57b50a9316131c8491e72b488a2d2c.tar.bz2
qmmp-dc8dac141f57b50a9316131c8491e72b488a2d2c.zip
fixed cue parsing
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@642 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/Input/cue/cueparser.cpp10
1 files 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 <QFile>
-#include <QFileInfo>
-#include <QRegExp>
#include <QDir>
#include <QSettings>
#include <QTextStream>
@@ -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();
}