3 ms·
I wrote the most widely used implementation of ID3v2 (TagLib), and honestly, it doesn't even both implementing most of the really absurd parts of the spec, and
by wheels 4y ago
I wrote the most widely used implementation of ID3v2 (TagLib), and honestly, it doesn't even both implementing most of the really absurd parts of the spec, and nobody's ever asked for them. There are some things that I did implement (mainly at the generic frame parsing level) that have never been tested because I wrote them before unit testing was common (~20 years ago), and I've never seen a file that actually uses them.
The ID3v2 spec is actually a complete disaster, horribly misjudging what was needed. Xiph (Vorbis) was a lot saner, but they didn't account well for people wanting to store binary data in tags (cover art, mostly). An almost perfect system would simply have been a property system with key / mime-type / value; mime-type could even have been restricted to 8-ish values (a byte) for simplicity.
- cies 4y agoI used some Ruby wrapper over taglib (and others for other formats) to dump my Mixxx comments/ratings/bpms/cuepoints(!) from Mixxx' sqlite db into the tags of the files. I did not want to reclassify/reanalyze/add-cue-points to my track lib EVER again. So far so good, it worked :) Thanks for taglib btw.