Skip to content

mp3 tags displayed not properly (only 1st char) #226

Description

@pinwiz

First I´d like to thank Ed for his fantastic work 1000 times !!!
When playing mp3-files from SD only the first letter of Artist and Title were displayed.
During evaluation it turned out that the ID3tags "TALB" and "TPE1" contained 0x00 each 2nd char (16bit-format?) in my mp3-files.
I added a short pice of code in function "handle_ID3" to remove those 0x00 from the metalinebuffer, that works fine for my problem:

      ...
      sttg -= mp3file.read ( (uint8_t*)metalinebf, stg ) ;  // Read tag contents
      //remove all chr(0) from metalinebf
      int k = 0 ;
      for (i = 0; i < stg; i++) {
        metalinebf[k] = metalinebf[i];
        if (metalinebf[i] != 0) {
          k++ ;
        }
      }
      metalinebf[k] = 0 ;                                          // Add delimiter

      //tenc = metalinebf[0] ;                                // First byte is encoding type
      //if ( tenc == '\0' )                                   // Debug all tags with encoding 0
      //{
      dbgprint ( "ID3 %s = %s", ID3tag.tagid, metalinebf + 1 ) ;
      ...

Maybe this information is helpful for others, or may lead to an improved code.
Reading http://id3.org/id3v2.3.0 shows that decoding is a real drudgery.
Would be nice if somebody would take up the challenge to display the cover art from ID3-tags also :-) (Tag "APIC" - attached picture)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions