Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • MP3::Info is pretty cool, but doesn't support writing of tags.

    I could have sworn that I've been using MP3::Info to write tags for months. The docs mention a set_mp3tag function.

    • Oooops, I should have said "but doesn't support writing of ID3v2 tags".
    • As acme notes, MP3::Info doesn't currently support writing id3v2 tags. However, he doesn't explain why this is so important.

      Firstly, id3v1 has length limits on all the fields it supports, usually about 40 or so characters. Secondly, id3v1 only supports six (I think) basic tags.

      As I like to keep the file names of my mp3s short (so I can still see them with the Mac OS 9 Finder, amongst other reasons), that means the id3 tags have to keep all the metadata about the mp3s, so id3v1 just doesn't cut it. (Not en
      • It is 30 characters per field for ID3v1, for artist, album, title, and comment. If you use ID3v1.1 (which has a track number field), comment is then limited to 28. Year is 4.

        I have over a dozen MP3::Info patches to apply; when Apple sends me my new PowerBook, I am going to work more on them. One of them has to do with writing ID3v2 tags. I've not tried it yet, but someone wrote MP3::Info::set_mp3v2tag [cpan.org], and has given me permission to integrate it into MP3::Info. Have you tried this module? I've not ye
        • I have tried set_mp3v2tag, yes. It works fairly well for the core fields, and is a pretty good starting point.

          My one complaint is that it doesn't set comments correctly, because id3v2 allows multiple comment frames, distinguished by the language and description. I have a (three-line) local patch that uses 'eng' as the default language, which is probably acceptable as a convenience.