jaudiotagger
  1. jaudiotagger
  2. JAUDIOTAGGER-420

Be able to merge fields from ID3v1 tag, if no corresponding field in ID3v2 tag

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Invalid
    • Affects Version/s: 2.0.3
    • Fix Version/s: None
    • Component/s: mp3
    • Labels:
      None
    • Environment:

      uname -a
      Darwin thora.local 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64


      With other words: Mac OS X Lion

      Description

      file #1

          • Tag information for Monolithe/Interlude Second/01 Harmony of Null Matter - Section 1.mp3
            === TIT2 (Title/songname/content description): Harmony of Null Matter - Section 1
            === TPE1 (Lead performer(s)/Soloist(s)): Monolithe
            === TALB (Album/Movie/Show title): Interlude Second
            === TRCK (Track number/Position in set): 1/2
            === TYER (Year): 2012
            === TPE2 (Band/orchestra/accompaniment): Monolithe
            === USLT (Unsynchronized lyric/text transcription): ()[ ]:
            === COMM (Comments): ()[eng]: http://www.metal-archives.com/albums/_/_/326538
            Can be downloaded at http://monolithe.bandcamp.com/album/interlude-second-ep

      === TPOS (Part of a set): 1/1
      === APIC (Attached picture): ()[, 3]: image/bmp, 985014 bytes
      === COMM (Comments): (ID3v1 Comment)[XXX]: Ripped By Schizo

          • mp3 info
            MPEG1/layer III
            Bitrate: 320KBps
            Frequency: 44KHz

      and another file #2
      === TIT2 (Title/songname/content description): Ea
      === TALB (Album/Movie/Show title): Ea
      === TCON (Content type):
      === TRCK (Track number/Position in set): 1
      === USLT (Unsynchronized lyric/text transcription): ()[ ]:
      === COMM (Comments): ()[eng]:
      === TPOS (Part of a set): 0/1
      === APIC (Attached picture): ()[, 3]: image/bmp, 750054 bytes
      === TPE1 (Lead performer(s)/Soloist(s)): Ea
      === TYER (Year): 2012

          • mp3 info
            MPEG1/layer III
            Bitrate: 320KBps
            Frequency: 44KHz

      I wrote:
      List<TagField> blub2 = tag.getFields("TPE1");
      for (final TagField tagField : blub2) {
      System.out.println(tagField.getId());
      try

      { System.out.println(new String(tagField.getRawContent())); }

      catch (UnsupportedEncodingException e)

      { e.printStackTrace(); }

      }

      I'll get for file #1 Monolithe which is actually the content.
      But for file #2 blub2 is empty, I also don't get "Ea" via the FieldKeys

      The information above about the tags did I got via id3info.

      I was also wondering about that I gotd the Tags via Jaikoz, http://www.jthink.com/jaikoz/jsp/startup.jsp

        Activity

        Hide
        Zara-Satyr added a comment -

        Yes, I used Totem Video-Player 2.30.2 http://en.wikipedia.org/wiki/Totem_%28software%29

        Show
        Zara-Satyr added a comment - Yes, I used Totem Video-Player 2.30.2 http://en.wikipedia.org/wiki/Totem_%28software%29
        Hide
        paultaylor added a comment -

        Seeing as you are on Mac OSX Lion, can you try with iTunes as well please.

        Show
        paultaylor added a comment - Seeing as you are on Mac OSX Lion, can you try with iTunes as well please.
        Hide
        Zara-Satyr added a comment -

        I'm now under Debian, but I have a Win XP VM here I just installed the latest Winamp version and tested it.
        All tags and the artwork are visible.

        Maybe it is because of the length of the audio file? The length is 47:38 min. Just mention it because it is unusual.

        Show
        Zara-Satyr added a comment - I'm now under Debian, but I have a Win XP VM here I just installed the latest Winamp version and tested it. All tags and the artwork are visible. Maybe it is because of the length of the audio file? The length is 47:38 min. Just mention it because it is unusual.
        Hide
        paultaylor added a comment -

        Problem was that file 2 didn't actually have a TPE1 or TYER frame, however it did have an ID3v1 tag containing a value for artist and year which is why they were displayed in application.

        So

        tag.getFields("TPE1");

        should have returned an empty list because here we are referring to the ID3v2 specific frames but even if you call

        tag.getFields(FieldKey.YEAR);

        it still returns an empty list.

        This is because if the file has an ID3v2 tag then the v1 Tag will be ignored. I dont know whether we need the functionality to check both tags for the fields that can appear in both versions and if we do whether it should be the default behaviour but Ive added Issue420Test.java to demonstrate the issue.

        Show
        paultaylor added a comment - Problem was that file 2 didn't actually have a TPE1 or TYER frame, however it did have an ID3v1 tag containing a value for artist and year which is why they were displayed in application. So tag.getFields("TPE1"); should have returned an empty list because here we are referring to the ID3v2 specific frames but even if you call tag.getFields(FieldKey.YEAR); it still returns an empty list. This is because if the file has an ID3v2 tag then the v1 Tag will be ignored. I dont know whether we need the functionality to check both tags for the fields that can appear in both versions and if we do whether it should be the default behaviour but Ive added Issue420Test.java to demonstrate the issue.
        Hide
        paultaylor added a comment -

        I think if a ID3v2 tag exists this should override anything in a ID3v1 tag so not going to fix this.

        Show
        paultaylor added a comment - I think if a ID3v2 tag exists this should override anything in a ID3v1 tag so not going to fix this.

          People

          • Assignee:
            Unassigned
            Reporter:
            Zara-Satyr
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: