I really like this idea, it's very cool to have all these data that I'd never otherwise look at, and which on their own don't really say anything terribly useful, reduced to a single useful and interesting dimension. Now if I only had some playcounter data that wasn't from the last few days.... Anyway, awesome stuff!
Just thought I'd suggest an alternate code for the actual display column - to blend between a few different colours on its trip from 100 to 0 hotness, and give a little more potential for differentiation. In my code it goes 100->0 red->orange->yellow->green->blue->blue/black, but it's easy enough to muck around with the colour values. And if the song's never been played, the dot doesn't show up at all. All this just goes straight in the column's display field (the colour field gets left totally alone). All fairly pointless, but there you go.
//colours used, hotness=100:0
$puts(colour100,0000FF)
$puts(colour99,0000FF)
$puts(colour75,00FFFF)
$puts(colour50,00FF00)
$puts(colour25,FF8800)
$puts(colour0,880000)
//dotshading
$if(%last_played%,
$select(
$add($put(hotdiv,$div(%_hotness%,25)),1)
$puts(shade,$sub(%_hotness%,$mul($get(hotdiv),25))),
$blend($get(colour0),$get(colour25),$get(shade),25),
$blend($get(colour25),$get(colour50),$get(shade),25),
$blend($get(colour50),$get(colour75),$get(shade),25),
$blend($get(colour75),$get(colour99),$get(shade),25),
$get(colour100)
)•
,)
Also spiffy alternate colour sets to paste over the other colour bit:
white->yellow->orange->red->black
$puts(colour100,FFFFFF)
$puts(colour99,FFFFFF)
$puts(colour75,00DDDD)
$puts(colour50,0088FF)
$puts(colour25,0000AA)
$puts(colour0,000000)
white->blue->black
$puts(colour100,FFFFFF)
$puts(colour99,FFFFFF)
$puts(colour75,DDAA22)
$puts(colour50,CC0000)
$puts(colour25,880000)
$puts(colour0,000000)