Ok here it is. There are a few problems with songs that have very long artists and titles, but nothing major, so that shouldn't be a huge problem. This config also relies heavily on the presence of %totaltracks%. Songs without that tag will show up with an Assorted Artists header above them, so that creates a single mode. Also if your album tags vary within an album then multiple headers will show up inside the group (ex. "Album" and "album" will show up as two separate albums, so just make sure the cases match and everything). Let me know if anyone needs a font.
Trackinfo modCODE
// Global
// Background
$imageabs(0,0,images\BG_1.png,)
$padding(-15,-13)$alignrel(right,bottom)$font(webdings,102, textalpha-55 glow-215-215-215 glowexpand-1 glowalpha-75,215-215-215)²
$alignabs(7,22,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-10 glowalpha-5,235-235-235)↘
$alignabs(7,20,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-10 glowalpha-10,235-235-235)↘
$alignabs(7,18,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-20 glowalpha-20,235-235-235)↘
$alignabs(7,16,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-30 glowalpha-30,235-235-235)↘
$alignabs(7,14,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-40 glowalpha-40,235-235-235)↘
$alignabs(7,12,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-50 glowalpha-50,235-235-235)↘
$alignabs(7,10,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-60 glowalpha-60,235-235-235)↘
$alignabs(7,8,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-70 glowalpha-70,235-235-235)↘
$alignabs(7,6,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-80 glowalpha-80,235-235-235)↘
$alignabs(7,4,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-90 glowalpha-90,235-235-235)↘
$alignabs(7,2,30,30,left,top)$font(calibri,22,bold glow-215-215-215 glowexpand-0 textalpha-100 glowalpha-100,225-225-225)↘
$alignabs(7,1,30,30,left,top)$font(calibri,21,bold glow-215-215-215 glowexpand-0,235-235-235)↘
// PerTrack
$if(%_trackinfo_notrack%,$alignabs(34,5,270,90,left,top)$font(calibri,18,bold glow-215-215-215 glowexpand-0,235-235-235)No Track,
$alignabs(39,5,270,90,left,top)$font(calibri,18,bold glow-215-215-215 glowexpand-0,235-235-235)$left(%title%,40)$ifgreater($len(%title%),40,...,)$alignset()
$padding(39,0)$alignrel(left,top)$font(calibri,16,glow-215-215-215 glowexpand-0,225-225-225)%artist%$alignset()
$alignrel(left,top)$font(calibri,13,glow-215-215-215 glowexpand-0,225-225-225)%album%$alignset()
$alignrel(left,top)$font(calibri,12,glow-215-215-215 glowexpand-0,225-225-225)%date%)
$if(%_trackinfo_notrack%,,
$alignabs(88,165,20,30,left,top)$font(Kroeger 05_55,6,glow-140-181-221 glowexpand-0,225-225-225)|
$alignabs(96,165,19,30,center,top)$upper($if($strcmp(%codec%,FLAC),$right(%filename_ext%,4),$right(%filename_ext%,3)))
$alignabs(119,165,25,30,left,top)|
$alignabs(127,165,33,30,center,top)$if(%__MP3_STEREO_MODE%,$if($strcmp(%__MP3_STEREO_MODE%,joint stereo),JStereo,Stereo),$if($strcmp(%channels%,stereo),Stereo,))
$alignabs(165,165,20,30,left,top)|
$alignabs(174,163,60,30,left,top)mod 588 $ifgreater($mod(%_length_samples%,588),0,$font(wingdings,8,glow-140-181-221 glowexpand-0,225-225-225)û,$font(wingdings,8,glow-140-181-221 glowexpand-0,225-225-225)ü)
$alignabs(225,165,20,30,left,top)$font(Kroeger 05_55,6,glow-140-181-221 glowexpand-0,225-225-225)|
$alignabs(233,164,60,30,left,top)RG $if(%__replaygain_track_gain%,$font(arial,7,bold glow-140-181-221 glowexpand-0,225-225-225)♪,$font(wingdings,8,glow-140-181-221 glowexpand-0,225-225-225)û)$if(%__replaygain_album_gain%,$font(arial,7,bold glow-140-181-221 glowexpand-0,225-225-225)♫,$font(wingdings,8,glow-140-181-221 glowexpand-0,225-225-225)û)
)
// PerSecond
$if(%_trackinfo_notrack%,,
$alignabs(49,165,40,30,left,top)$font(Kroeger 05_55,6,glow-140-181-221 glowexpand-0,225-225-225)%bitrate%kbps
)
$if(%isplaying%,
// Progress Bar
$drawrect($muldiv(%_width%,15,100),180,$muldiv(%_width%,70,100),8,brushcolor-null pencolor-215-215-215)
$drawrect($add($muldiv(%_width%,15,100),2),182,$ifgreater($muldiv($sub($muldiv(%_width%,70,100),4),%playback_time_seconds%,%length_seconds%),0,$muldiv($sub($muldiv(%_width%,70,100),4),%playback_time_seconds%,%length_seconds%),1),4,brushcolor-215-215-215 pencolor-null)
$alignabs($sub($muldiv(%_width%,15,100),33),177,35,13,center,middle)$font(consolas,8,bold glow-140-181-221 glowexpand-0,215-215-215)$if2(%playback_time%,0:00)
$alignabs($muldiv(%_width%,85,100),177,33,13,center,middle)$font(consolas,8,bold glow-140-181-221 glowexpand-0,215-215-215)$if2(%length%,0:00)
$alignabs(20,9,$sub(%_width%,28),16,center,middle)$font(consolas,7,bold glow-140-181-221 glowexpand-0,215-215-215)
// Interchanging Text
$select($add($mod(%playback_time_seconds%,15),1),
$get(str1),$get(str1),$get(str1),$get(str1),$get(str1),
$get(str2),$get(str2),$get(str2),$get(str2),$get(str2),
$get(str3),$get(str3),$get(str3),$get(str3),$get(str3))
,
// Not Playing...
$drawrect($muldiv(%_width%,15,100),180,$muldiv(%_width%,70,100),8,brushcolor-null pencolor-215-215-215)
$alignabs($sub($muldiv(%_width%,15,100),33),177,35,13,center,middle)$font(consolas,8,bold glow-140-181-221 glowexpand-0,215-215-215)$if2(%playback_time%,0:00)
$alignabs($muldiv(%_width%,85,100),177,33,13,center,middle)$font(consolas,8,bold glow-140-181-221 glowexpand-0,215-215-215)$if2(%length%,0:00)
$alignabs(20,9,$sub(%_width%,28),16,center,middle)$font(consolas,7,bold glow-140-181-221 glowexpand-0,215-215-215))
Row Height: 25
Group Rows: 1
Group by:$if2($if(%totaltracks%,%album%),0)
Item DisplayCODE
$if($greater(%tracknumber%,5),
$if($greater(9,%tracknumber%),$drawrect(3,0,144,0,brushcolor-250-250-250 pencolor-null)
$padding(8,3)$font(calibri,8,bold,100-100-100)
$alignabs(3,0,139,50,center,top)$if($strcmp($num(%tracknumber%,2),06),$font(calibri,8,bold,140-140-140)$if2(%album artist%,%artist%))
$if($strcmp($num(%tracknumber%,2),07),$font(calibri,8,bold,140-140-140)%album%$if(%discnumber%,' (Disc '%discnumber%')',))
$if($strcmp($num(%tracknumber%,2),08),$font(calibri,8,bold,140-140-140)$if2(%date%,Unknown))
$padding(-8,-3)
))
$ifgreater($mul(%_height%,%_itemcount%),107,
$imageabs(4,$add(26,$mul(-25,%tracknumber%)),'images\noalbum(small).png',)
$imageabs2(107,107,,,,,25,$add(32,$mul(-25,%tracknumber%)),$replace(%path%,%filename_ext%,)folder.jpg,NOKEEPASPECT)
$imageabs(4,$add(26,$mul(-25,%tracknumber%)),'images\albumoverlay(small).png',)
,
$alignabs(3,2,139,50,center,top)$if($strcmp($num(%tracknumber%,2),01),$font(calibri,8,bold,140-140-140)$if2(%album artist%,%artist%))
$if($strcmp($num(%tracknumber%,2),02),$font(calibri,8,bold,140-140-140)%album%$if(%discnumber%,' (Disc '%discnumber%')',))
$if($strcmp($num(%tracknumber%,2),03),$font(calibri,8,bold,140-140-140)$if2(%date%,Unknown))
)
$padding(0,0)
$drawrect(147,0,1,0,brushcolor-161-170-179 pencolor-null)
$drawrect(148,0,2,0,brushcolor-222-225-228 pencolor-null)
$if(%_isplaying%,$drawrect(147,0,0,0,brushcolor-122-169-216 pencolor-165-197-228)
,
$if(%_selected%,$drawrect(148,0,0,0,brushcolor-196-217-238 pencolor-165-197-228)
,
$ifequal($mod(%_playlist_number%,2),0,
$drawrect(150,0,0,0,brushcolor-250-250-250 pencolor-240-240-240)
,
$drawrect(150,0,0,0,brushcolor-255-255-255 pencolor-240-240-240)
)
))
$padding(2,0)
$if(%_isplaying%,$font(calibri,8,bold glow-225-225-225 glowexpand-0,245-245-245),$font(calibri,8,bold,164-171-179))
$alignabs(152,0,%_width%,21,left,top)↘
$if(%_isplaying%,$font(calibri,8,bold glow-140-181-221 glowexpand-0,245-245-245),$font(calibri,8,bold,180-180-180))
[Disc %discnumber% ][%tracknumber%. ]
$if(%_isplaying%,$font(calibri,8,bold glow-140-181-221 glowexpand-0,245-245-245),$font(calibri,8,bold,129-138-150))
$if($meta_test(album artist),%artist%' - ')
$if(%_isplaying%,$font(calibri,8,bold glow-140-181-221 glowexpand-0,245-245-245),$font(calibri,8,bold,120-120-120))
$if(%totaltracks%,$left(%title%,55)$ifgreater($len(%title%),55,...,),%artist% - $left(%title%,35)$ifgreater($len(%title%),35,...,))
$if(%_isplaying%,$font(calibri,8,bold glow-140-181-221 glowexpand-0,245-245-245),$font(calibri,8,bold,170-170-170))
$align(right,center)$if(%_isplaying%,'-'%playback_time_remaining%' / ')%length%
$if(%_isplaying%,$font(Kroeger 05_55,6, glow-140-181-221 glowexpand-0,245-245-245),$font(Kroeger 05_55,6,,180-180-180))
$alignabs(154,0,%_width%,21,left,bottom)
[%__codec%] [%__bitrate%'kbps'] [%__replaygain_track_gain%]
Group DisplayCODE
$drawrect(0,0,0,0,brushcolor-62-128-197 pencolor-165-197-228)
$padding(4,0)
$align(left,top)$font(calibri,14,bold glow-215-215-215 glowexpand-0,235-235-235)↘ $font(segoe ui,11,bold glow-140-181-221 glowexpand-0,235-235-235)$if(%totaltracks%,$if($meta_test(album artist),%album artist%,%artist%),Assorted Artists)
$padding(0,2)$align(right,top)$font(segoe ui,7,bold glow-140-181-221 glowexpand-0,235-235-235)$if(%totaltracks%,%album%,Single Tracks)
$font(Kroeger 05_55,6,glow-140-181-221 glowexpand-0,235-235-235)$align(right,bottom)$if(%totaltracks%,[%__replaygain_album_gain% '| '][%date% '| '][%genre% '| ']$upper($if($strcmp(%codec%,FLAC),$right(%filename_ext%,4),$right(%filename_ext%,3))),)[ %codec_profile%]
Columns UI layoutCODE
Vertical Splitter
-Horizontal Splitter
--Menu
--Playback Order
-Tabbed Panel Stack Mod
--Horizontal Splitter
---Track info mod
---Album Art
--Horizontal Splitter
---Browser Panel
---Browser Panel
-Spectrum analyser
-Single Column Playlist View
-Horizontal Splitter
--Playlists Dropdown
--Quicksearch Toolbar
-Horizontal Splitter
--Buttons
--Seekbar
(probably some slightly more efficient way to do the columns ui layout, but it works)
And the
Images.