diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-01 19:49:21 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2010-01-01 19:49:21 +0000 |
| commit | 3a2ef3199d5e114ffa61da15c75a4786fc5a4c58 (patch) | |
| tree | 3d46e5a271231924cf3da6b2888533a38b91b6f7 /src/plugins/Input | |
| parent | 2b81921d36a167c3e9530c3c9d1a8cbd132b10e7 (diff) | |
| download | qmmp-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')
| -rw-r--r-- | src/plugins/Input/flac/flacmetadatamodel.cpp | 17 |
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); } |
