aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/vorbis/decodervorbisfactory.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-08-08 14:35:03 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2009-08-08 14:35:03 +0000
commit1eef96342df93be653ec498f73f26b608381fd54 (patch)
treed926e1a8c9642d1e2335aa5f606f65c618c5e6e6 /src/plugins/Input/vorbis/decodervorbisfactory.cpp
parent5ad45d8d9e9bd0bfa294220cbd865251a00d88e6 (diff)
downloadqmmp-1eef96342df93be653ec498f73f26b608381fd54.tar.gz
qmmp-1eef96342df93be653ec498f73f26b608381fd54.tar.bz2
qmmp-1eef96342df93be653ec498f73f26b608381fd54.zip
vorbis plugin: added support for composer and disc number tags
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1123 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/vorbis/decodervorbisfactory.cpp')
-rw-r--r--src/plugins/Input/vorbis/decodervorbisfactory.cpp25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/plugins/Input/vorbis/decodervorbisfactory.cpp b/src/plugins/Input/vorbis/decodervorbisfactory.cpp
index 124b001e7..8dcd738c7 100644
--- a/src/plugins/Input/vorbis/decodervorbisfactory.cpp
+++ b/src/plugins/Input/vorbis/decodervorbisfactory.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2008 by Ilya Kotov *
+ * Copyright (C) 2008-2009 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -20,7 +20,7 @@
#include <QtGui>
#include <taglib/tag.h>
#include <taglib/fileref.h>
-#include <tag.h>
+#include <taglib/vorbisfile.h>
#include "detailsdialog.h"
#include "decoder_vorbis.h"
@@ -63,13 +63,12 @@ Decoder *DecoderVorbisFactory::create(QObject *parent, QIODevice *input,
return new DecoderVorbis(parent, this, input, output);
}
-//FileInfo *DecoderVorbisFactory::createFileInfo(const QString &source)
QList<FileInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName, bool useMetaData)
{
FileInfo *info = new FileInfo(fileName);
- TagLib::FileRef fileRef(fileName.toLocal8Bit ());
- TagLib::Tag *tag = useMetaData ? fileRef.tag() : 0;
+ TagLib::Ogg::Vorbis::File fileRef(fileName.toLocal8Bit ());
+ TagLib::Ogg::XiphComment *tag = useMetaData ? fileRef.tag() : 0;
if (tag && !tag->isEmpty())
{
@@ -89,6 +88,17 @@ QList<FileInfo *> DecoderVorbisFactory::createPlayList(const QString &fileName,
if (fileRef.audioProperties())
info->setLength(fileRef.audioProperties()->length());
+ //additional metadata
+ if(tag)
+ {
+ TagLib::StringList fld;
+ if(!(fld = tag->fieldListMap()["COMPOSER"]).isEmpty())
+ info->setMetaData(Qmmp::COMPOSER,
+ QString::fromUtf8(fld.toString().toCString(TRUE)).trimmed());
+ if(!(fld = tag->fieldListMap()["DISCNUMBER"]).isEmpty())
+ info->setMetaData(Qmmp::DISCNUMBER,
+ QString::fromUtf8(fld.toString().toCString(TRUE)).trimmed());
+ }
QList <FileInfo*> list;
list << info;
@@ -103,10 +113,7 @@ QObject* DecoderVorbisFactory::showDetails(QWidget *parent, const QString &path)
}
void DecoderVorbisFactory::showSettings(QWidget *)
-{
- /*SettingsDialog *s = new SettingsDialog(parent);
- s -> show();*/
-}
+{}
void DecoderVorbisFactory::showAbout(QWidget *parent)
{