Uploaded image for project: 'Picard'
  1. Picard
  2. PICARD-990

Picard not meeting formal ID3 standard for TXXX frames

    Details

    • Type: Bug
    • Status: Reopened
    • Priority: Normal
    • Resolution: Unresolved
    • Affects Version/s: 1.3.2, 1.4
    • Fix Version/s: 1.4.1
    • Component/s: Tags & Metadata
    • Labels:
      None

      Description

      For MBID artist and album artist fields, multiple values are possible. Picard tags this in ID3 as multiple-value TXXX fields. That's not allowed for TXXX per the id3 specification, which notes that "All text information frames supports multiple strings, stored as a null separated list" but then carefully distinguishes "text information frames" from "user defined text information frame" which has an entirely separate definition with exactly two strings:

      <Header for 'User defined text information frame', ID: "TXXX">
      Text encoding $xx
      Description <text string according to encoding> $00 (00)
      Value <text string according to encoding>

      The extension of TXXX to have additional values is a logical one, but several major id3 implementations lack support for this non-standard usage and are unlikely to ever add it (unless, I guess, an id3v2.5 standard comes out).

      Which leaves two options for full compatibility: encoding it as a single string with a deliminator other than 0x00 (',', ';', '/', etc would all work fine) or separate tags like "TXXX:MusicBrainz Album Artist Id 1" "TXXX:MusicBrainz Album Artist Id 2" as needed, since the same description can't be repeated.

      I'm not sure if any other fields are currently being encoded as multiple-value TXXX fields, but this would apply to them as well.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              tungolcraft Stephen
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated: