Bug 84666 - wish : support of APEv2 tags in MP3 files
Summary: wish : support of APEv2 tags in MP3 files
Status: RESOLVED FIXED
Alias: None
Product: taglib
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-07 17:30 UTC by Samuel Krempp
Modified: 2004-10-21 01:46 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel Krempp 2004-07-07 17:30:10 UTC
Version:            (using KDE KDE 3.2.3)

The so-called "APEv2" tags for MP3 files are used mostly in foobar2000 windows-only player (foobar2000.com), and supported by a few windows tools (including a winamp plugin and several mass taggers).
The fact is : it's quite practical.

1. its design is safe and efficient : the tag is placed at the end of the file, just before id3v1 tags, so it is just ignored by players who don't recognize it, no problem here.
It is easy to parse, in either directions (from the end or from the beginning of the tag).

2. its design is simple : the structure of the tag itself is made of (key, value) pairs, the key being an ASCII string and the value either an UTF-8 string or just binary data.

3. it's flexible.  The (key,value) system, similar to ogg comments, is what convinced me to let foobar add such tags to most of my MP3 collections when I'm running windows.

Although APEv2 only defines the structure and imposes no standard on the content, it's in practice following a de-facto standard, set by foobar (so in fact, there's paradoxically less inconsistencies in APEv2 tags than in some id3..)
Foobar author was careful enough to follow the same set of (key, value) paris as ogg comments for all standard fields, so it turns out as a better forward-compatible solution for mp3 tags than id3v2 (just use the same standard for APEv2 tags as for ogg comments)

So here's my wish : add APEv2 support for mp3 files, and treat them like FLAC files are treated (i.e. union of id3 and ogg comments), so that extended features provided by programs for newer formats (FLAC, ogg..) can also seamlessly be used with older mp3 collections.

I've written a C++ APEv2 parser, and I plan to make it integrate inside taglib if there's hope to include it in taglib.

A few pointers :
description of the APEv2 tag structure
http://www.personal.uni-jena.de/~pfk/mpp/sv8/apetag.html

source of command-line windows tool that handles APEv2 as well as all kinds of tags
www.saunalahti.fi/~cse/files/Tag_src.zip
(in fact this tool has somewhat the same objective as taglib, except it's slightly windows specific - though it seems like it is mostly portable C++)
Comment 1 Scott Wheeler 2004-10-21 01:46:20 UTC
This is supported as of 1.3.