View Issue Details

IDProjectCategoryView StatusLast Update
0002667MMW v4Properties/Auto-Toolspublic2007-03-20 01:04
Reporterjiri Assigned To 
PriorityurgentSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.5.4 
Fixed in Version3.0 
Summary0002667: Add support for album art in tag for FLAC
DescriptionAs reported in http://www.mediamonkey.com/forum/viewtopic.php?t=12635, FLAC now supports album art stored in tags. We should support it in our FLAC plug-in.

Additional Topics on forum:
http://www.mediamonkey.com/forum/viewtopic.php?t=9643
http://www.mediamonkey.com/forum/viewtopic.php?t=8913
http://www.mediamonkey.com/forum/viewtopic.php?t=14073
Additional InformationFirstly, we have to add support to MM.exe, so that FLAC plug-in can implement it. I'd suggest to add the following:

const
  FF_AlbumArtCount = 1007;
  FF_AlbumArt = 3000;

type
  PFORMAT_AlbumArtData = ^TFORMAT_AlbumArtData;
  TFORMAT_AlbumArtData = record
    MIMEType : PAnsiChar; // most often 'image/jpeg'
    PictureType : integer; // as in ID3v2 standard
    Description : PAnsiChar; // UTF-8 encoded widestring
    PictureData : pointer; // pointer to data
  end;

type
  TFORMAT_GetBinary = function( FormatParser:TFormatHandle; Field, Index : integer; out value : pointer):integer; cdecl;
  TFORMAT_SetBinary = function( FormatParser:TFormatHandle; Field, Index : integer; value : pointer):integer; cdecl;

The workflow of setting e.g. 2 images would look like:
SetInteger( XX, FF_AlbumArtCount, 2);
SetBinary( XX, FF_AlbumArt, 0, PointerToPictureData {PFORMAT_AlbumArtData});
SetBinary( XX, FF_AlbumArt, 1, PointerToPictureData {PFORMAT_AlbumArtData});

The workflow of getting e.g. 3 images would look like:
GetInteger( XX, FF_AlbumArtCount, i);
GetBinary( XX, FF_AlbumArt, 0, PointerToPictureData {PFORMAT_AlbumArtData});
GetBinary( XX, FF_AlbumArt, 1, PointerToPictureData {PFORMAT_AlbumArtData});
GetBinary( XX, FF_AlbumArt, 2, PointerToPictureData {PFORMAT_AlbumArtData});
TagsNo tags attached.
Fixed in build1024

Relationships

related to 0002730 resolvedjiri Add support for Album Art in OGG files 
parent of 0002764 resolvedpeke Linked/URL Images in FLAC are not read Correctly 
parent of 0002766 resolvedpeke Linked/URL Images are not parsed to FLAC format plugin. 
related to 0002698 feedbackpeke Add support for album art in WAVE tags 
related to 0002748 assignedpeke Add support for album art in tag for File Formats that use APEv2 MetadataType 
related to 0002927 resolvedpeke FLAC Album Art Metadata written directly to file corrupts FLAC 

Activities

jiri

2007-01-03 22:14

administrator   ~0008372

The internal part in MM.exe was added in 0002370 and so now the support in plug-in can be easily added.

peke

2007-01-09 23:10

developer   ~0008403

MM Never Calls GetInteger( XX, FF_AlbumArtCount, i); for FLAC?
Tested on SVN Revision 2078.

jiri

2007-01-10 13:39

administrator   ~0008405

The plug-in must first set FP_CAN_TAG_IMAGES flag (see f_ogg.dll for details, it's just one line of code), then MM knows plug-in supports images.

peke

2007-01-11 04:05

developer   ~0008407

Updated according to F_Ogg, Added support for reading Multiple Album Arts according to 1.1.3 Standard. Uploaded Test.bat file on FTP to generate compatible FLAC 1.1.3 file with multiple Album Arts for testing purposes as no other app currently support embedding multiple Album arts.

peke

2007-01-14 21:13

developer   ~0008430

Last edited: 2007-01-14 21:16

Added full support for FLAC PICTURE METDATA In .FLAC and .FLA File Format and fixed Rare cases when Tag data corrupts FLAC cosed by incorrect calculation of Supported and Unsupported Blocks before All blocks are written to file thrum Tempfile (.XXXXXX) which raised by changes in added support/fix from Bug 0002758

peke

2007-03-19 22:24

developer   ~0008850

Tested 3 apps that add Album Art tag in FLAC and all do not write Album art Correctly
1. Tag&Rename v3.3 http://www.softpointer.com/tr.htm It support album art but only Single Album Art and in Case that there is multiple album Arts in file it deletes all other and read only first one

2. AudioShell v1.3.5 http://www.softpointer.com/AudioShell.htm Same As Above

3. dbPowerAmp r12 and FLAC Beta 1.1.4 http://forum.dbpoweramp.com/printthread.php?t=12302 Album Art is not written correctly and do not write MIMEType Info to FLAC AlbumArt Metadata and strips existing MIMETypes (MIMEType Field is important as FLAC Album Art Support Linked To image Field. re writting Album Art Metadata in Mediamonkey correct Compatibility Issues), Do not handle Linked Image and when uses on file that contains Linked Image It creates multiple Album Art Metadata user didn't add and corrupts Linked Image Metadata to invalid, but it support multiple Album arts according to FLAC Spec.

Assigning To Rusty to retest and make notice for MM Community as warning.

rusty

2007-03-20 01:04

administrator   ~0008852

Setting to resolved since this is fixed. Will test and post results/documentation as needed.