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

Set field "Grouping" doesn't work as expected

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Normal Normal
    • 2.1
    • 1.4.2, 2.0
    • Scripting, Tags & Metadata
    • None
    • Mac OS High Sierra (Tested Versions: 1.4.2 & 2.0.0dev4)
      Windows 7 (Tested Version: 1.4.2)

      I used the scripting function $Set() to save data to the field "Grouping" in order to populate the iTunes attribute "Grouping". Code used: $Set(grouping,Picard Grouping Attribute)

      The string "Picard Grouping Attribute" does not appear in iTunes. Afterwards I typed "iTunes Grouping Attribute" into the grouping field in iTunes. The Tag-Editor mp3tag shows that Picard populates the attribute "Contentgroup", iTunes uses "Grouping" instead.

      I expected Picard to fill the Grouping-Attribute. If I'm not wrong, this should be the case according to https://picard.musicbrainz.org/docs/mappings/#cite_note-lastfmplugin-2.

      Please find some screenshots attached.

        1. 01_Picard_Script.png
          62 kB
          tagiac
        2. 02_Picard_Attributes.png
          109 kB
          tagiac
        3. 03_iTunes.png
          130 kB
          tagiac
        4. 04_mp3tag.png
          98 kB
          tagiac
        5. 05_file.png
          120 kB
          tagiac
        6. 06_file.png
          214 kB
          tagiac

          [PICARD-1245] Set field "Grouping" doesn't work as expected

          The PR missed the fact that Mutagen >= 1.38 already supports GRP1, but 1.37 does not. Currently this does not run with mutagen 1.37

          Philipp Wolfer added a comment - The PR missed the fact that Mutagen >= 1.38 already supports GRP1, but 1.37 does not. Currently this does not run with mutagen 1.37

          Philipp Wolfer added a comment - https://github.com/metabrainz/picard/pull/928

          Suggestion:

          1. Add an option to Picard for ID3 tags "Save iTunes compatible grouping and work"
          2. When selected, save grouping to GRP1 and work to TIT1
          3. When not selected (default) keep it as is

          Philipp Wolfer added a comment - Suggestion: Add an option to Picard for ID3 tags "Save iTunes compatible grouping and work" When selected, save grouping to GRP1 and work to TIT1 When not selected (default) keep it as is

          So it's fun. As indicated in the comment by Paul Taylor at PICARD-1043 iTunes used to use TIT1 for this, but then they repurposed TIT1 for storing the work and invented GRP1.

          Basically everybody followed their idea of grouping, then they changed their mind and now we are stuck here.

          Currently I think we need a set of options for handling iTunes quirks, and this will be the first option to implement.

          @ijabz: Do you handle this somehow in your software?

          Philipp Wolfer added a comment - So it's fun. As indicated in the comment by Paul Taylor at PICARD-1043 iTunes used to use TIT1 for this, but then they repurposed TIT1 for storing the work and invented GRP1. Basically everybody followed their idea of grouping, then they changed their mind and now we are stuck here. Currently I think we need a set of options for handling iTunes quirks, and this will be the first option to implement. @ijabz: Do you handle this somehow in your software?

          I tested this with iTunes, and Picard is treating the grouping tag differently for MP3 files than iTunes does.

          Picard writes grouping to the TIT1 frame (Content group description). That's also what many other tools do, including MusicBee, Media Monkey and Jaikoz.

          However, iTunes uses the non-standard frame GRP1 for this.

          For reference: For MP4 files the tag is called @grp, which is also what Picard and other tools use. So this works out-of-the-box for MP4 files.

          Now MP3Tag handles this interestingly. It knows two tags, one called CONTENTGROUP and one called GROUPING, it writes it to files as follows:

           

          Tag name ID3 MP4
          CONTENGROUP TIT1 @grp
          GROUPING GRP1

           

          So if you use MP3Tag and you want to tag a MP3 file with grouping for iTunes you will need to use the GROUPING tag. But if you want to tag a MP4 file you instead have to use CONTENTGROUP

           

          Really not sure how to handle this. TIT1 is more standard conform and works with other software, GRP1 is non-standard and works for iTunes (and maybe others who follow iTunes' naming). Maybe we need an option for this. Or just store it to both TIT1 and GRP1

          Philipp Wolfer added a comment - I tested this with iTunes, and Picard is treating the grouping tag differently for MP3 files than iTunes does. Picard writes grouping to the TIT1 frame (Content group description). That's also what many other tools do, including MusicBee, Media Monkey and Jaikoz. However, iTunes uses the non-standard frame GRP1 for this. For reference: For MP4 files the tag is called @grp, which is also what Picard and other tools use. So this works out-of-the-box for MP4 files. Now MP3Tag handles this interestingly. It knows two tags, one called CONTENTGROUP and one called GROUPING, it writes it to files as follows:   Tag name ID3 MP4 CONTENGROUP TIT1 @grp GROUPING GRP1   So if you use MP3Tag and you want to tag a MP3 file with grouping for iTunes you will need to use the GROUPING tag. But if you want to tag a MP4 file you instead have to use CONTENTGROUP   Really not sure how to handle this. TIT1 is more standard conform and works with other software, GRP1 is non-standard and works for iTunes (and maybe others who follow iTunes' naming). Maybe we need an option for this. Or just store it to both TIT1 and GRP1

            outsidecontext Philipp Wolfer
            tagiac tagiac
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                Version Package
                2.1