I thought the problem was that the artwork looked okay in Jaikoz but didn’t look okay in iTunes. However from the email you sent me and the files you sent it appears the problem is that the files are okay before adding to iTunes, but once they are added to iTunes and iTunes has applied Sound check (Preferences/Playback/Souncheck) the artwork is no longer displayed in iTunes OR Jaikoz.
After some testing I have found a serious bug in iTunes, when it resaves the file (after adding its Soundcheck tag as a COMM frame) it saves all frames without using unsynchronization but leaves the Unsynchronization frame bit set for the frames that had it set beforehand. i’m very disappointed with Apple over this issue. A while ago they didnt support Unsynchronization at all but then they fixed , I think this may be a regression on their part. Testing was done against iTunes 9.2
I think the problem only occurs for ID3v24 NOT ID3v23 so there are two workarounds
- Save your files as ID2v23 (this is the Jaikoz default)
- Disable synchronization (Check Preferences/Save/Compatability/Do not Unsynchronize your tags) and enable saving all fields (Check Preferences/Save/ID3v2 Tag/Save Existing fields using these encodings)
then Use ‘Force save’ to resave your files with these settings.
If you have files that have already been corrupted by iTunes, its easiest to just refix from Musicbrainz and force save. But if you have files that contain corrupted artwork that you cannot re source you can fix the file using a hex editor as follows:
Open file in Hex Editor (I use Ultradedit for Windows)
Search for the Picture Frame (starts APIC), this will probably be the last frame before the MP3 audio itself
Change the 10th bit of the frame header from 02 to 00 this will tell Jaikoz the frame is not unsynchronized after all and then it can read it correctly.
Save File.
Here is an example APIC frame header in hex
41 50 49 43 00 01 4B 0B 00 02
Needs changing to
41 50 49 43 00 01 4B 0B 00 00
I’m going to change Jaikoz defaults to not unsynchronize tags in the Jaikoz 3.7.0 release (released later today) to protect against this problem and I’ll raise a bug with Apple.