aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/Input/mad/decoder_mad.cpp4
-rw-r--r--src/plugins/Input/mad/tagextractor.cpp30
-rw-r--r--src/plugins/Input/mad/tagextractor.h8
3 files changed, 21 insertions, 21 deletions
diff --git a/src/plugins/Input/mad/decoder_mad.cpp b/src/plugins/Input/mad/decoder_mad.cpp
index 2cd8567a0..395506c33 100644
--- a/src/plugins/Input/mad/decoder_mad.cpp
+++ b/src/plugins/Input/mad/decoder_mad.cpp
@@ -111,9 +111,7 @@ bool DecoderMAD::initialize()
if (input()->isSequential ()) //for streams only
{
TagExtractor extractor(input());
- FileTag tag = extractor.id3v2tag();
- // if (!tag.isEmpty())
-// dispatch(extractor.id3v2tag());
+ StateHandler::instance()->dispatch(extractor.id3v2tag());
}
mad_stream_init(&stream);
diff --git a/src/plugins/Input/mad/tagextractor.cpp b/src/plugins/Input/mad/tagextractor.cpp
index dab104ab2..1385c8a85 100644
--- a/src/plugins/Input/mad/tagextractor.cpp
+++ b/src/plugins/Input/mad/tagextractor.cpp
@@ -39,7 +39,7 @@ TagExtractor::~TagExtractor()
{
}
-const FileTag &TagExtractor::id3v2tag()
+const QMap<Qmmp::MetaData, QString> TagExtractor::id3v2tag()
{
QByteArray array = m_d->peek(2048);
int offset = array.indexOf("ID3");
@@ -72,20 +72,20 @@ const FileTag &TagExtractor::id3v2tag()
if (!codec)
codec = QTextCodec::codecForName ("UTF-8");
- m_tag.setValue(FileTag::ALBUM,
- codec->toUnicode(album.toCString(utf)).trimmed());
- m_tag.setValue(FileTag::ARTIST,
- codec->toUnicode(artist.toCString(utf)).trimmed());
- m_tag.setValue(FileTag::COMMENT,
- codec->toUnicode(comment.toCString(utf)).trimmed());
- m_tag.setValue(FileTag::GENRE,
- codec->toUnicode(genre.toCString(utf)).trimmed());
- m_tag.setValue(FileTag::TITLE,
- codec->toUnicode(title.toCString(utf)).trimmed());
- m_tag.setValue(FileTag::YEAR,
- taglib_tag.year());
- m_tag.setValue(FileTag::TRACK,
- taglib_tag.track());
+ m_tag.insert(Qmmp::ALBUM,
+ codec->toUnicode(album.toCString(utf)).trimmed());
+ m_tag.insert(Qmmp::ARTIST,
+ codec->toUnicode(artist.toCString(utf)).trimmed());
+ m_tag.insert(Qmmp::COMMENT,
+ codec->toUnicode(comment.toCString(utf)).trimmed());
+ m_tag.insert(Qmmp::GENRE,
+ codec->toUnicode(genre.toCString(utf)).trimmed());
+ m_tag.insert(Qmmp::TITLE,
+ codec->toUnicode(title.toCString(utf)).trimmed());
+ m_tag.insert(Qmmp::YEAR,
+ QString::number(taglib_tag.year()));
+ m_tag.insert(Qmmp::TRACK,
+ QString::number(taglib_tag.track()));
return m_tag;
diff --git a/src/plugins/Input/mad/tagextractor.h b/src/plugins/Input/mad/tagextractor.h
index a814dc5b9..707719535 100644
--- a/src/plugins/Input/mad/tagextractor.h
+++ b/src/plugins/Input/mad/tagextractor.h
@@ -20,13 +20,15 @@
#ifndef TAGEXTRACTOR_H
#define TAGEXTRACTOR_H
+#include <QMap>
+
#include <taglib/tag.h>
#include <taglib/fileref.h>
#include <taglib/id3v1tag.h>
#include <taglib/id3v2tag.h>
#include <taglib/id3v2header.h>
-#include <qmmp/filetag.h>
+#include <qmmp/qmmp.h>
class QIODevice;
class QBuffer;
@@ -42,10 +44,10 @@ public:
~TagExtractor();
-const FileTag &id3v2tag();
+ const QMap<Qmmp::MetaData, QString> id3v2tag();
private:
- FileTag m_tag;
+ QMap<Qmmp::MetaData, QString> m_tag;
QIODevice *m_d;
};