Bug 218696 - Embedded picture blocks in FLAC files
Summary: Embedded picture blocks in FLAC files
Alias: None
Product: taglib
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Unspecified
: NOR wishlist
Target Milestone: ---
Assignee: Scott Wheeler
Depends on:
Reported: 2009-12-14 21:13 UTC by Tim De Baets
Modified: 2011-08-10 11:41 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Tim De Baets 2009-12-14 21:13:15 UTC
Version:            (using Devel)
Installed from:    Compiled sources

Would it be possible to add support for FLAC picture blocks (embedded album art) to TagLib? Obviously not the pictures embedded in Vorbis comments, but in the FLAC metadata itself, according to the FLAC format specifications at http://flac.sourceforge.net/format.html .
Comment 1 Lukáš Lalinský 2010-07-25 13:05:37 UTC
SVN commit 1154376 by lalinsky:

Read-only support for FLAC picture blocks


 M  +1 -0      bindings/c/CMakeLists.txt  
 M  +2 -0      taglib/CMakeLists.txt  
 M  +1 -1      taglib/flac/CMakeLists.txt  
 M  +3 -2      taglib/flac/Makefile.am  
 M  +42 -1     taglib/flac/flacfile.cpp  
 M  +20 -0     taglib/flac/flacfile.h  
 A             taglib/flac/flacpicture.cpp   [License: LGPL (v2.1) (wrong address)]
 A             taglib/flac/flacpicture.h   [License: LGPL (v2.1) (wrong address)]
 AM            tests/data/silence-44-s.flac  
 M  +21 -0     tests/test_flac.cpp  

WebSVN link: http://websvn.kde.org/?view=rev&revision=1154376
Comment 2 Lukáš Lalinský 2010-11-28 13:54:54 UTC
SVN commit 1201717 by lalinsky:

Work-in-progress support for writing FLAC picture

This will enable the possibility to add support for accessing the Seektable
and Cuesheet blocks, but I'm not planning on implementing that right now.


 M  +3 -0      taglib/CMakeLists.txt  
 M  +1 -0      taglib/flac/flacfile.cpp  
 A             taglib/flac/flacmetadatablock.cpp   [License: LGPL (v2.1) (wrong address)]
 A             taglib/flac/flacmetadatablock.h   [License: LGPL (v2.1) (wrong address)]
 A             taglib/flac/flacmetadatablocks.cpp   [License: LGPL (v2.1) (wrong address)]
 A             taglib/flac/flacmetadatablocks.h   [License: LGPL (v2.1) (wrong address)]
 M  +24 -0     taglib/flac/flacpicture.cpp  
 M  +12 -1     taglib/flac/flacpicture.h  
 A             taglib/flac/flacunknownmetadatablock.cpp   [License: LGPL (v2.1) (wrong address)]
 A             taglib/flac/flacunknownmetadatablock.h   [License: LGPL (v2.1) (wrong address)]
 U             taglib/toolkit/tbytevector.h  
 M  +3 -0      tests/CMakeLists.txt  
 A             tests/test_flacmetadatablocks.cpp   [License: UNKNOWN]
 A             tests/test_flacpicture.cpp   [License: UNKNOWN]
 A             tests/test_flacunknownmetadatablock.cpp   [License: UNKNOWN]

WebSVN link: http://websvn.kde.org/?view=rev&revision=1201717
Comment 3 Lukáš Lalinský 2011-01-08 11:37:39 UTC
SVN commit 1212863 by lalinsky:

Full read/write support for FLAC pictures



 M  +0 -1      taglib/CMakeLists.txt  
 M  +93 -144   taglib/flac/flacfile.cpp  
 D             taglib/flac/flacmetadatablocks.cpp  
 D             taglib/flac/flacmetadatablocks.h  
 M  +2 -2      taglib/flac/flacpicture.cpp  
 M  +53 -3     taglib/flac/flacpicture.h  
 M  +3 -1      taglib/mp4/mp4file.cpp  
 M  +0 -1      tests/CMakeLists.txt  
 A             tests/data/empty_vorbis.oga   tests/data/empty_vorbis.ogg#1212844
 D             tests/data/empty_vorbis.ogg  
 M  +137 -3    tests/test_flac.cpp  
 D             tests/test_flacmetadatablocks.cpp  
 M  +0 -1      tests/test_flacpicture.cpp  

WebSVN link: http://websvn.kde.org/?view=rev&revision=1212863
Comment 4 Tim De Baets 2011-08-10 09:43:37 UTC
Thank you for adding FLAC picture support, I'm currently using it to add album art support to my Windows Media Player plug-in. However, I noticed that there isn't any way to remove an individual picture (the removePictures method removes all attached pictures). Am I missing something obvious or hasn't this been added yet? Are there any plans to add this in the near future?
Comment 5 Lukáš Lalinský 2011-08-10 10:21:44 UTC
No, it's just an oversight. What API would like for that?
Comment 6 Tim De Baets 2011-08-10 11:41:06 UTC
Just a simple "removePicture" method would be fine. Possibly something equivalent to TagLib::ID3v2::Tag::removeFrame?