aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Input/flac/flacmetadatamodel.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-01 19:49:21 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2010-01-01 19:49:21 +0000
commit3a2ef3199d5e114ffa61da15c75a4786fc5a4c58 (patch)
tree3d46e5a271231924cf3da6b2888533a38b91b6f7 /src/plugins/Input/flac/flacmetadatamodel.cpp
parent2b81921d36a167c3e9530c3c9d1a8cbd132b10e7 (diff)
downloadqmmp-3a2ef3199d5e114ffa61da15c75a4786fc5a4c58.tar.gz
qmmp-3a2ef3199d5e114ffa61da15c75a4786fc5a4c58.tar.bz2
qmmp-3a2ef3199d5e114ffa61da15c75a4786fc5a4c58.zip
flac plugin: added support for picture block
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1464 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Input/flac/flacmetadatamodel.cpp')
-rw-r--r--src/plugins/Input/flac/flacmetadatamodel.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/plugins/Input/flac/flacmetadatamodel.cpp b/src/plugins/Input/flac/flacmetadatamodel.cpp
index 6ff5b0c8c..3c1366e25 100644
--- a/src/plugins/Input/flac/flacmetadatamodel.cpp
+++ b/src/plugins/Input/flac/flacmetadatamodel.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009 by Ilya Kotov *
+ * Copyright (C) 2009-2010 by Ilya Kotov *
* forkotov02@hotmail.ru *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -22,6 +22,7 @@
#include <taglib/tag.h>
#include <taglib/fileref.h>
#include <taglib/tmap.h>
+#include <FLAC/all.h>
#include <qmmp/metadatamanager.h>
#include "flacmetadatamodel.h"
@@ -74,6 +75,20 @@ QList<TagModel* > FLACMetaDataModel::tags()
QPixmap FLACMetaDataModel::cover()
{
+ //embedded cover
+ FLAC__StreamMetadata *metadata;
+ FLAC__metadata_get_picture (qPrintable(m_path),
+ &metadata,
+ FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER,
+ 0,0, -1,-1,-1,-1);
+ if(metadata)
+ {
+ FLAC__StreamMetadata_Picture *pict = &metadata->data.picture;
+ QPixmap cover;
+ cover.loadFromData(QByteArray((char *)pict->data, (int) pict->data_length));
+ FLAC__metadata_object_delete(metadata);
+ return cover;
+ }
QString cPath = coverPath();
return cPath.isEmpty() ? QPixmap() : QPixmap(cPath);
}