Custom columns: compact tag types, lyrics & chapters + playlists

I am new to Mp3tag, but made some columns modifications that suits me and maybe will be usefull to others.


  1. Compact tag types column (without repeated current tag).
    %_tag_read%[ $if($strcmp(%_tag_read%,%_tag%),,($trim($replace(%_tag%,%_tag_read%,))))]

  2. Compact tag types column, with current tag character encoding (when available).
    %_tag_read%[ ($if2(%_id3v2_character_encoding%,$if($neql($strstr(FLACVorbis,$left(%_tag_read%,6)),0),UTF-8,)))][ $if($strcmp(%_tag_read%,%_tag%),,($trim($replace(%_tag%,%_tag_read%,))))]

  3. Lyrics included (UNSYNCEDLYRICS, Lyrics3v2, Lyrics3).
    $trim([$if($neql($strstr(%_tag%,Lyrics3v2),0),Lyrics3v2,$if($neql($strstr(%_tag%,Lyrics3),0),Lyrics3,))][ $if(%unsyncedlyrics%,Unsynced,)])

  4. Chapters and playlists included.
    Cuesheet [as included TAG and from file extension], Vorbis [CHAPTERxxx] and others by Mp3tag's %_subsong_count% (works for chapters in MP4 and Matroska).
    $trim([$if($or($stricmp(%_extension%,cue),%CUESHEET%),Cuesheet,$if($neql(%_subsong_count%,1),Others,))][ $if($neql($strstr($list(^#*,,),^#*CHAPTER),0),Chapters,)])

  5. Coder - some more info.
    Encodedby - some tools adds their name here + settings.
    %_codec%[ (%_tool%)][ (%encodedby%)][ (%ENCODERSETTINGS%)]


That Lyrics piece looks like something I could use...

Can you explain a little more what it does, and how it works?

First, it checks if there is "Lyrics3v2" or "Lyrics3" string in embedded tag types, you can do it also by yourself in Tag column. These tag types can be only in MP3 files, are obsolete and although they were made for lyrics, their being in the file do not mean lyrics are there.

Later, in square brackets, it checks for Mp3tag built-in placeholder "%unsyncedlyrics%". This one works for multiple file types, at least MP3, MP4 and also probably for all Vorbis types and WMA. Unsynced means, it is just wall of text to read without timestamps.

There are many programs to add lyrics into files and many ways to do this. Some are not detectable from Mp3tag at all. If you want some more chances to detect lyrics, below I added also check for tags: "LYRICS" and "UNSYNCED LYRICS" (with space), as some programs use these.

$trim([$if($neql($strstr(%_tag%,Lyrics3v2),0),Lyrics3v2,$if($neql($strstr(%_tag%,Lyrics3),0),Lyrics3,))][ $if($or(%unsyncedlyrics%,%UNSYNCED LYRICS%,%LYRICS%),Unsynced,)])

If you want further info, let me know.