So, I’ve been getting a lot of emails lately about TagLib#. Apparently it’s become quite popular with over 200 downloads since I put up the latest revision on Feb 12. Anyway, the more popular the library becomes, the more errors appear and I am hoping this weekend will give me some time to hunt them down. Here are some problems I need to seek and destroy:
- TagLib# Bug 7: Some MP3 files are throwing “index out of range” and “division by zero” exceptions.
- Gnome Bugzilla Bug 412273: WavPack fails if APE tag is at the beginning of the file.
- From email: Id3v2 tags disappearing on “Save”.
- From email: Application crash on WMA TagLib.File.Create().
- From email: Images in MP3’s disappear in WMP10 when saved in TagLib#.
I’m waiting on files for 1 and 3, but 1 is most likely due to some minor code problems here and there and I think 3 will be due to an application’s inability to read ID3v2.4 tags. 2 is going to be a little sucky, as I’m going to need to write methods to read and write the hodgepodge mixture of tagging formats and arrangements that can be in MP3, WavPack, and MusePack formats, but the code will be more flexible because of it. 4 is most likely like 1 where I just made some mistakes.
5 is the real doosy as I’m going to need to rewrite the code so it can write Id3v2.3 tags. It was never that major of a problem when just dealing with Linux, as you could always say “My library is better,” “Id3v2.3 sucks. It doesn’t even have UTF-8 support,” “Why support a dead standard,” or “Id3lib hasn’t been maintained in 3 years. You really shouldn’t use EasyTag. Try Cowbell.” But now that I’m making in roads with Windows users, the fact that WMP does not support the Id3v2.4 standard is a really problem. Hopefully I can at least start making a dent in the problem but I’m going to have to seriously rework parts of TagLib.Id3v2.FrameFactory as well as all of TagLib.Id3v2.*Frame. I’m going to put this off until last and maybe branch (How do I do this?) TagLib#’s SVN to not mess up Banshee, which I think is close to a release. Release cycles… What a crazy world.