// -- if album is set, $if(%album%, // processing 'album' as "album artist - album name" format // -- if album contains " - " substring, (setting _pos to index to the substring) $ifgreater($put(_pos,$strstr(%album%,' - ')),0, // -- set album var to album[_pos+3:] $puts(album,$substr(%album%,$add($get(_pos),3),9999)) // -- set albumartist var to album[:_pos] $puts(albumartist,$left(%album%,$sub($get(_pos),1))), // -- else, set album var to album $puts(album,%album%)) // processing 'album artist' // -- if album artist is set, $if(%album artist%, // -- and if album artist is not same to (already defined) albumartist var, $if($strcmp(%album artist%,$get(albumartist)),, // -- restore album var to original album, // -- and set albumartist var to album artist tag. $puts(album,%album%)$puts(albumartist,%album artist%))) // processing 'album' // -- append (if set) disc # to album var. $puts(album,$get(album)[ / CD$num(%disc%,1)]) // -- (end if) ) // processing raw path // -- set rawpath var to... $puts(rawpath, // -- if raw path(URL including scheme) starts with "http://", the raw path, $if($stricmp($left(%_path_raw%,7),'http://'),%_path_raw%, // -- else file name without extension. %_filename%)) // processing 'artist' and 'title' // -- if artist tag is set, set artist var to the tag. $if(%artist%,$puts(artist,%artist%)) // -- if title tag is set, set title var to the tag, else set it to raw path var. $puts(title,$if2(%title%,$get(rawpath))) // -- if 1st artist is same to albumartist var, $if($strcmp($get(albumartist),$meta(artist,1)), // -- if there is two or more artists, $ifgreater($meta_num(artist),1, // -- set artist var (empty), $puts(artists,) // -- and reset artist var to 2nd, 3rd, ..., last artists. $puts(artist,$substr($meta_sep(artist,', '),$len($meta(artist,1)___),9999)), // -- else remove artist var. $puts(artist,)) // -- (end if) ) /////////////////////////////////////////////////////////// // printing column 1 (#, album, track, title, artist) // -- padding playlist # to invisible 0s $char(3)603000|B09880$char(3)$repeat(0,$sub($len(%_playlist_total%),$len(%_playlist_number%))) // -- and print playlist # $char(3)B09880|584C40$char(3)%_playlist_number%.$char(3)$char(3)' ' // -- if set, print album var with (if set) albumartist var. [$char(3)D8CCC0|2C2620$char(3)'['[$get(albumartist) - ]$get(album)']' // -- if set, print track #. (like printf("%02d", tracknumber);) [ $char(3)B09880|584C40$char(3)'['$num(%tracknumber%,2)']']$char(3)$char(3) ] // -- if artists var is set, (that means 1st artist is omitted from artist var, and needs other processing.) // -- print artist var if set. $if($get(artists),,$iflonger($get(artist),0,$get(artist) - ,)) // -- if set, print title var. [$get(title)] // -- if artists var is set, print artist var (artists without 1st artist) $if($get(artists),$char(3)D8CCC0|2C2620$char(3)' ('$get(artist)')') // printing column 2 (playing, codec/bitrate, length) // -- indicates next column $char(9) // -- if this song is playing, print filled arrow like this: |> $char(3)D8CCC0|2C2620$char(3)$if(%_isplaying%,'▶ ') // -- print codec info and bitrate(if set) $char(3)886440|847260$char(3)$codec()[ %__bitrate%k]' | ' // -- padding song length to invisible 0s or ?s(if length is not available) $char(3)603000|B09880$char(3)$if2($repeat(0,$sub(5,$len(%_length%))),?) // -- print song length if set, otherwise print ?:?? $char(3)B09880|584C40$char(3)$if2(%_length%,?:??)