Dale Preston's Web Log
Saturday, July 25, 2009

ID3 Album Art Fixer

Download ID3AlbumArtFixer

My wife uses iTunes to listen to music and iTunes won't display MP3 album art unless the file is embedded into the MP3 file. To get around this, I wrote ID3EmbedPictures. The program served me well for a few years and I finally published it at http://www.dalepreston.com/Blog/2007/03/id3-embed-pictures.html

In response to a few bug reports in that application, I've written a new application to help with managing album art for MP3 files. The new application is based on the time-tested code in ID3EmbedPictures with a fix for the Invalid COMM Frame error - an error caused by Apple iTunes creating ID3 tags that do not follow the published standard at http://www.id3.org. This is a case where the Apple developers simply did not understand the spec but, because iTunes is so big and the rest of the world is not, other makers of tools to work with ID3 tags have to change their code to accommodate the iTunes bug.

A big change in ID3AlbumArtFixer is that I changed the user interface to a wizard interface - one in which you step through a few pages to collect all the information required and then execute the task on the last page. This was done to reduce the screen size in order to accommodate the small screens on today's popular netbooks.

I've written before that Windows Media Player will do everything it can to destroy your custom album art: http://dalepreston.com/Blog/2007/04/windows-media-player-and-album-art.html. ID3AlbumArtFixer now allows you to set file access permissions on your custom album art to prevent Windows Media Player from destroying it.

Lastly, the task that initially led to the development of ID3EmbedPictures and ultimately, ID3AlbumArtFixer. ID3AlbumArtFixer can embed your album art in your MP3 files for use with iTunes or other players and devices that only work with embedded art. The advantage to using ID3AlbumArtFixer over doing the job in iTunes or Windows Media Player is that, unlike those other programs that only do a track at a time or at most an album at a time, ID3AlbumArtFixer can do your whole library in one operation.

9-Aug-2009: Fixed an issue where the security settings could not be set unless you also execute the album art create/resize step. Now you can set album art security while skipping all other steps in the wizard.

27-Jul-2009: Two days after the initial release, here's the customary "oh shoot; how'd I miss that" release. It fixes a bug where folders without any existing folder.jpg file are skipped along with a few minor typographical type of errors.

Download ID3AlbumArtFixer
tried it - I get this error:

ee the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at ID3AlbumArtFixer.Wizard.SecurityPage.UpdateJobFromForm(AlbumArtFixerJob job)
at ID3AlbumArtFixer.Wizard.AlbumArtWizard.AlbumArtWizard_WizardFinish(Object sender, WizardSheetEventArgs e)
at Wizard.UI.WizardSheet.OnWizardFinish(WizardSheetEventArgs e)
at Wizard.UI.WizardSheet.finishButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Thank you. Thank you. Thank you. This certainly fixes my issues with WMP Album Art.
davereif, Can you send me some detail about what you were doing when you got that error and can you reproduce it? I would sure appreciate the help in making the program better.
Doesn't work. Same error as Dave. Windows 7, clean install. Happens at the end of the wizard when finish is clicked.
Everything seems to work fine on the wizard for me, except that it does not seem able to remove existing album art, despite being set to do so.

I am using Windows 7 x64, and I have tried this with/without administrator privs, and with various compatibility settings applied - the same problem happens regardless.

Apart from this problem, I absolutely love this piece of software. Can you help me find a solution?
The help file suggests creating a new security account and adding that account to the backup operators user group. Did you do that? Do that and then log in using that new account but never open WMP when logged in with that account. This prevents Windows from modifying the art when you're logged in with the account you normally use.

The default behavior of the program sets the security to only allow members of the backup operators group to access your album art. You have the option of specifying any group you choose, though, or of not setting security at all.

You can get more detailed information in the help file and at http://dalepreston.com/Blog/2009/11/tech-support-issue-for-album-art-fixer.html.
I did this but nothing changed. WMP12 is still shrinking my album art to 200x200 in the "Now Playing" mode.
Unfortunately, there's no way to get around that, that I have been able to find, for WMP 12.

Read my blog post at http://dalepreston.com/Blog/2009/08/laughable-album-art-craziness-in.html

WMP 12 does not use Folder.jpg. Now it uses their own hidden album art files.

Hmmm. Interesting thought just hit me. I wonder if I could replace those hidden files with my custom art, set the security on those, and set the security on the folder such that WMP 12 could edit MP3 files (and therefore ID3 tags) but not create new files and not edit the image files.

There may be hope yet. Check back from time to time. But until I come up with a new way to block them, they've won this round.
Well, no luck Rebecca. I replaced the hidden AlbumArt{xxxxxxxx}_Large.jpg file with my larger custom album art. I set the security so they cannot replace the image and yet I still get 240x240 pixels. Next, I replaced that file with the album art from a different album - and set the security on that new file. Now the Now Playing shows that incorrect album art at the reduced size.

That proves to me that the hidden AlbumArt{xxxxxxx}_Large.jpg file is the one used for the Album Art visualization in the Now Playing view. Even when that file is larger than 240x240, WMP 12 reduces it before displaying it.

I can only suggest that Windows 7 users should investigate media players other than WMP 12.
This program is fantastic. Thank you.
If I add custom art work to each folder, is there a way to have the program run more than one folder each time, and can i change the default size from 640 to 800 without typing it each time? I have 500 plus folders and 50,000 plus songs to go through .

I have a 1920x1080 monitor and run it at 165 DPI. The art fixer program does not display at this DPI. Is there a way to adjust this without changing my DPI?

Thank you again and again, If you ever make a media player from scratch I will be your first customer.


You can select the parent folder and it will process the parent and any subfolders. For instance, select "My Music" and all artists and albums underneath will be processed.

You should not have to set the album art size for the folder or for embedding each time. It should be remembering it from the last time you set it. If you log in with different accounts or on different PCs, you will have to set it for each account but otherwise it is remembered.

Hope this helps.
Thank you again a thousand times, I have sized the artwork to 800 for my boat computer and 640 for the laptop. Evey thing worked perfect but occasionally I find a Mp3 file is now TMP file in the album folder. It will will play but it will not show up in the WMP library. Is this temp file a result of it being open when the art fixer was making its changes? I can reload the CDs, I just do not want to mess things up.
I want to make a wizard control in my project can u teach me to do so pls.......
I recommend dumping Windows Media Player in favor of WinAmp. I did this awhile back and have been happy since. There is a free version and a pay version. The pay version is recommended. It won't destroy your album art. In fact, it displays whatever you embed. It even works with an old Samsung YP-P2 player for synchronization.

If you pair it with a neat app called Minilyrics, you can have the lyrics show up while the song plays. I get my album art from Album Art Exchange in the 600x600 variety. I have Minilyrics use the album art as the background of it's window and it shows the lyrics over the album art. Very nice!

Better than embedded art and lyrics with WMP.
Post a Comment

<< Home

Powered by Blogger