I modify Lite code next way. That make natural language timestamps working with using foo_cwb_hooks.
/////////////////////////////////////////
// NATURAL LANGUAGE TIMESTAMPS
// by topdownjimmy
// v0.4 - June 4, 2006
/////////////////////////////////////////
// calculate "dayssince": number of days since song was last played
$puts(sy,$substr(%cwb_systemdate%,1,4))
$puts(sm,$substr(%cwb_systemdate%,6,7))
$puts(sd,$substr(%cwb_systemdate%,9,10))
$puts(sh,$substr(%cwb_systemdatetime%,12,13))
// calculate "dayssince": number of days since song was last played
$if(%last_played%,$puts(dayssince,$sub($add($mul($right(
$get(sy),2),365),$select(
$get(sm),0,31,59,90,120,151,181,212,243,273,304,334),$add($div($right(
$get(sy),2),4),$if($or($greater(
$get(sm),2),$greater($mod(
$get(sy),4),0)),1,0)),
$get(sd)),$add($mul($substr(%last_played%,3,4),365),$select($substr(%last_played%,6,7),0,31,59,90,120,151,181,212,243,273,304,334),$add($div($substr(%last_played%,3,4),4),$if($or($greater($substr(%last_played%,6,7),2),$greater($mod($substr(%last_played%,1,4),4),0)),1,0)),$substr(%last_played%,9,10)))),$puts(dayssince,))
// correct "dayssince" to consider early AM to be an extension of previous day
$puts(dayssince,$sub($get(dayssince),$if($and($greater(7,
$get(sh)),$greater($substr(%last_played%,12,13),6)),1,0)))$if($and($greater(
$get(sh),6),$greater(7,$substr(%last_played%,12,13))),$puts(dayssince,$add($get(dayssince),1)),)
// calculate day of week
$puts(calcdayofweek,$add(1,$mod($add($substr(%last_played%,3,4),$div($substr(%last_played%,3,4),4),$select($substr(%last_played%,6,7),6,2,2,5,0,3,5,1,4,6,2,4),$substr(%last_played%,9,10)),7)))
// correct day of week to consider early AM to be an extension of previous day
$puts(calcdayofweek,$sub($get(calcdayofweek),$ifgreater(7,$substr(%last_played%,12,13),1,0)))$if($strcmp($get(calcdayofweek),0),$puts(calcdayofweek,7),)
// calculate period of day (night, morning, etc.)
$puts(dayperiod,$select($add(1,$substr(%last_played% ,12,13)),Night,Night,Night,Night,Night,Night,Night,Morning,Morning,Morning,Morning,Morning,Afternoon
,Afternoon,Afternoon,Afternoon,Afternoon,Evening,Evening,Evening,Evening,Night,Night,Night))
// calculate natural language timestamp
$if(%last_played%,$puts(nat_lang_stamp,$ifgreater($get(dayssince),0,$ifgreater($get(dayssince),1,$ifgreater($get(dayssince),6,$if($and($greater($get(dayssince),21),$not($strcmp(
$get(sm),$substr(%last_played%,6,7)))),$if($not($strcmp(
$get(sy),$substr(%last_played%,1,4))),$select($substr(%last_played%,6,7),January,February,March,April,May,June,July,August,September,October,November,December)' '$substr(%last_played%,1,4),$ifgreater(2,$sub(
$get(sm),$substr(%last_played%,6,7)),'Last Month',$select($substr(%last_played%,6,7),January,February,March,April,May,June,July,August,September,October,November,December))),$ifgreater($div($add($get(dayssince),4),7),1,$div($add($get(dayssince),4),7)' Weeks Ago',Last Week)),$select($get(calcdayofweek),Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday)' '$get(dayperiod)),$if($strcmp($get(dayperiod),Night),Last,Yesterday)' '$get(dayperiod)),$if($strcmp($get(dayperiod),Night),Tonight,This $get(dayperiod)))),$puts(nat_lang_stamp,Never))
/////////////////////////////////////////
$alignabs(right,top)
$font(arial,8,bold,255-255-128)
Date: %cwb_systemdate%
$char(10)
//Codded by Lite
// User config
// ----------------------------------------------------------
// Toggles
$puts(show_trackinfo_mode,1)
$puts(show_song_info,1)
$puts(show_tech_info,1)
$puts(show_play_info,1)
$puts(show_audioscrobblered,1)
$puts(show_progressbar,1)
//Trackinfo view
// 1 - View 1
// 2 - View 2
$puts(trackinfo_view,1)
// Color Config
// 1 - Soundtrack to Your Escape background: 16,40,46
// 2 - Reroute to Remain background: 229,232,231
// 3 - Sandman2012 background: 255,255,255
// 4 - Draconian Times background: 129,52,65
// 5 - Since the Day It All Came Down background: 246,248,245
// 6 - Tales from the Thousand Lakes background: 35,22,89
// 7 - Projector background: 0,0,0
// 8 - The Astral Sleep background: 134,107,76
// 9 - Verisakeet background: 64,76,61
// 10 - Haunted background: 0,0,16
// 11 - Ghost Reveries background: 29,20,15
// 12 - Rain Without End background: 34,27,67
// 13 - Arte Novecento background: 240,240,240
// 14 - Ghosts of Loss background: 87,111,117
// 15 - The Truth Inside the Shades background: 16,20,23
// 16 - 00 Void background: 167,167,177
// 17 - Antimatter background: 0,0,0
// 18 - Frail Words Collapse background: 202,184,122
// 19 - Am Universum background: 204,201,124
// 20 - Character background: 228,226,227
// 21 - From Mars to Sirius background: 239,233,221
// 22 - Voice of Wilderness background: 169,169,159
// 23 - Blue Sky by Lite background: 140,140,202
// 99 - Custom config
$puts(color_config,23)
// Custom color scheme
$puts(cc_text1,$rgb(70,07,16))
$puts(cc_text2,$rgb(10,10,10))
$puts(cc_section_title,$rgb(25,20,26))
$puts(cc_fade_inside,$rgb(10,27,26))
$puts(cc_fade_outside,$rgb(0,0,0))
// ----------------------------------------------------------
// End of user config
// color schemes
$if($strcmp($get(color_config),99),
// User defined scheme
$puts(info,$get(cc_text1))
$puts(head,$get(cc_text2))
$puts(anno,$get(cc_text1))
$puts(text2,$get(cc_section_title))
$puts(text1,$get(cc_fade_inside))
$puts(fadeend,$get(cc_fade_outside))
,
$select($get(color_config),
// Soundtrack to Your Escape
$puts(head,$rgb(170,170,170))
$puts(info,$rgb(170,207,216))
$puts(anno,$rgb(98,114,121))
$puts(text1,$rgb(170,207,216))
$puts(text2,$rgb(255,250,216))
$puts(fadeend,$rgb(0,0,0)),
// Reroute to Remain
$puts(head,$rgb(0,0,0))
$puts(info,$rgb(100,106,102))
$puts(anno,$rgb(100,106,102))
$puts(text1,$rgb(179,181,180))
$puts(text2,$rgb(123,40,48))
$puts(fadeend,$rgb(0,0,0)),
// Sandman2012
$puts(head,$rgb(0,128,192))
$puts(info,$rgb(130,130,130))
$puts(anno,$rgb(100,106,102))
$puts(text1,$rgb(235,242,254))
$puts(text2,$rgb(0,128,64))
$puts(fadeend,$rgb(0,0,0)),
// Draconian Times
$puts(head,$rgb(201,193,146))
$puts(info,$rgb(217,219,206))
$puts(anno,$rgb(217,219,206))
$puts(text1,$rgb(157,51,67))
$puts(text2,$rgb(178,196,200))
$puts(fadeend,$rgb(176,107,68)),
// Since the Day It All Came Down
$puts(head,$rgb(3,46,41))
$puts(info,$rgb(104,104,94))
$puts(anno,$rgb(104,104,94))
$puts(text1,$rgb(76,107,106))
$puts(text2,$rgb(50,85,91))
$puts(fadeend,$rgb(0,0,0)),
// Tales from the Thousand Lakes
$puts(head,$rgb(98,167,162))
$puts(info,$rgb(203,203,210))
$puts(anno,$rgb(203,203,210))
$puts(text1,$rgb(78,112,173))
$puts(text2,$rgb(143,201,234))
$puts(fadeend,$rgb(62,67,171)),
// Projector
$puts(head,$rgb(227,122,76))
$puts(info,$rgb(170,134,98))
$puts(anno,$rgb(170,134,98))
$puts(text1,$rgb(132,55,40))
$puts(text2,$rgb(248,214,134))
$puts(fadeend,$rgb(0,0,0)),
// The Astral Sleep
$puts(head,$rgb(67,45,32))
$puts(info,$rgb(208,204,199))
$puts(anno,$rgb(208,204,199))
$puts(text1,$rgb(103,75,51))
$puts(text2,$rgb(214,200,168))
$puts(fadeend,$rgb(0,0,0)),
// Verisakeet
$puts(head,$rgb(160,146,117))
$puts(info,$rgb(208,194,165))
$puts(anno,$rgb(208,194,165))
$puts(text1,$rgb(113,52,47))
$puts(text2,$rgb(244,244,244))
$puts(fadeend,$rgb(0,0,0)),
// Haunted
$puts(head,$rgb(119,119,136))
$puts(info,$rgb(160,176,184))
$puts(anno,$rgb(208,194,165))
$puts(text1,$rgb(216,88,16))
$puts(text2,$rgb(228,228,232))
$puts(fadeend,$rgb(0,0,0)),
// Ghost Reveries
$puts(head,$rgb(145,113,54))
$puts(info,$rgb(238,219,135))
$puts(anno,$rgb(162,144,88))
$puts(text1,$rgb(172,148,76))
$puts(text2,$rgb(241,238,205))
$puts(fadeend,$rgb(35,27,16)),
// Rain Without End
$puts(head,$rgb(83,119,171))
$puts(info,$rgb(204,204,204))
$puts(anno,$rgb(194,194,194))
$puts(text1,$rgb(70,102,149))
$puts(text2,$rgb(244,244,244))
$puts(fadeend,$rgb(0,0,0)),
// Arte Novecento
$puts(head,$rgb(122,116,128))
$puts(info,$rgb(115,106,111))
$puts(anno,$rgb(115,106,111))
$puts(text1,$rgb(106,100,128))
$puts(text2,$rgb(130,139,148))
$puts(fadeend,$rgb(122,116,128)),
// Ghosts of Loss
$puts(head,$rgb(151,174,180))
$puts(info,$rgb(197,207,216))
$puts(anno,$rgb(197,207,216))
$puts(text1,$rgb(93,116,122))
$puts(text2,$rgb(237,233,228))
$puts(fadeend,$rgb(0,0,0)),
// The Truth Inside the Shades
$puts(head,$rgb(191,195,168))
$puts(info,$rgb(246,242,155))
$puts(anno,$rgb(246,242,155))
$puts(text1,$rgb(244,163,107))
$puts(text2,$rgb(251,251,251))
$puts(fadeend,$rgb(0,0,0)),
// 00 Void
$puts(head,$rgb(55,54,72))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(145,68,63))
$puts(text2,$rgb(244,241,234))
$puts(fadeend,$rgb(0,0,0)),
// Antimatter
$puts(head,$rgb(107,111,122))
$puts(info,$rgb(204,204,204))
$puts(anno,$rgb(184,184,184))
$puts(text1,$rgb(206,158,66))
$puts(text2,$rgb(204,204,204))
$puts(fadeend,$rgb(0,0,0)),
// Frail Words Collapse
$puts(head,$rgb(77,40,22))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(187,155,103))
$puts(text2,$rgb(128,83,62))
$puts(fadeend,$rgb(0,0,0)),
// Am Universum
$puts(head,$rgb(122,100,40))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(122,100,40))
$puts(text2,$rgb(107,70,13))
$puts(fadeend,$rgb(235,229,143)),
// Character
$puts(head,$rgb(98,100,97))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(160,66,35))
$puts(text2,$rgb(115,39,23))
$puts(fadeend,$rgb(221,162,88)),
// From Mars to Sirius
$puts(head,$rgb(159,143,127))
$puts(info,$rgb(0,0,0))
$puts(anno,$rgb(0,0,0))
$puts(text1,$rgb(159,143,127))
$puts(text2,$rgb(111,89,66))
$puts(fadeend,$rgb(0,0,0)),
// Voice of Wilderness
$puts(head,$rgb(0,0,4))
$puts(info,$rgb(77,75,63))
$puts(anno,$rgb(77,75,63))
$puts(text1,$rgb(0,0,0))
$puts(text2,$rgb(89,87,71))
$puts(fadeend,$rgb(199,197,181)),
// Blue Sky by Lite
$puts(head,$rgb(250,255,245))
$puts(info,$rgb(224,255,255))
$puts(anno,$rgb(147,112,219))
$puts(text1,$rgb(158,33,145))
$puts(text2,$rgb(18,38,94))
$puts(fadeend,$rgb(140,140,202)),
))
// Day Conversion
$puts(day,$substr(%last_played%,9,10))
$if(%last_played%,
$if($strcmp($left($get(day),1),0),$puts(day,$right($get(day),1))))
$if($strcmp($get(day),11),$puts(xx,th),
$if($strcmp($get(day),12),$puts(xx,th),
$if($strcmp($get(day),13),$puts(xx,th),
$if($strcmp($right($get(day),1),1),$puts(xx,st),
$if($strcmp($right($get(day),1),2),$puts(xx,nd),
$if($strcmp($right($get(day),1),3),$puts(xx,rd),
$puts(xx,th)))))))
// Month Conversion
$puts(month,$substr(%last_played%,6,7))
$puts(month_name,$select($get(month),
Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec))
// Year Conversion
$puts(year,20$substr(%last_played%,3,4))
// Time Conversion
$puts(hour,$substr(%last_played%,12,13))
$puts(min,$substr(%last_played%,15,16))
$puts(sec,$substr(%last_played%,18,19))
// Date Format
$puts(time_of_year,$get(month_name) $get(day)$get(xx)',' $get(year))
// Time Format
$puts(time_of_day,$get(hour):$get(min):$get(sec))
// Progress Bar Config
$puts(progbarchar,•)
$puts(proglen,35)
$puts(color1,$get(info))
$puts(color2,$get(anno))
// Separator char1
$puts(sepw,20)
$puts(sepc,••)
// Separator char2
$puts(sepw2,10)
$puts(sepc2,``)
/////////////////////////////////////////////////////////////////
// Trackinfo View 1
/////////////////////////////////////////////////////////////////
$if($strcmp($get(trackinfo_view),1),
$align(left,top)
$font(Lucida,9,shadow,255-255-255)
// Trackinfo mode
$if($strcmp($get(show_trackinfo_mode),1),
$get(head)Mode: $get(info)%_trackinfo_mode%$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))$char(10)
)
// ----------------------------------------------------------
// Song info
$if($strcmp($get(show_song_info),1),
$get(head)Song Info:$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$get(head)Artist:$get(info)[ %artist%]$char(10)
$get(head)Title:$get(info)[ %title%]$char(10)
$get(head)Album:$get(info)[ %album%] ['('%date%')']$char(10)
$get(head)Track:$get(info)[ %tracknumber%]$char(10)
$get(head)Genre:$get(info)[ %genre%]$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))$char(10)
)
// ----------------------------------------------------------
// Tech info
$if($strcmp($get(show_tech_info),1),
$get(head)Tech Info:$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$get(head)Codec:$get(info)[ %codec%]$char(10)
$get(head)Bitrate:$get(info) $if($stricmp(%codec%,mp3),%bitrate%$get(head)kbps $if($stricmp(%__extrainfo%,vbr),VBR,CBR),)
$char(10)
$get(head)Samplerate:$get(info) $if(%samplerate%,$div(%samplerate%,1000).$substr(%samplerate%,3,3) KHz)$char(10)
$get(head)Channels:$get(info) $if($stricmp([%codec%],mp3),$caps([%__mp3_stereo_mode%]),$caps([%channels%]))$char(10)
$get(head)$if(%filesize%,Size: $get(info)
$div(%filesize%,1048576).$left($num($muldiv($mod(%filesize%,1048576),100,1048576),2),2) $get(head)'MB',Size:)$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))$char(10)
)
// ----------------------------------------------------------
// Play info
$if($strcmp($get(show_play_info),1),
$get(head)Play Info:$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%last_played%,$get(head)Last played on $rgb(255,255,128)$get(nat_lang_stamp)$char(10),)
$if(%last_played%,
$if(%play_counter%,$get(head)Track played
$if($strcmp(%play_counter%,1),$get(info)only once,
$if($strcmp(%play_counter%,2),$get(info)twice,
$get(info)%play_counter% times)),
$get(head)Track $get(info)never been played),$get(info)No track)
$char(10)
$get(head)Track time: $get(info)$if(%isplaying%,[ %_time_elapsed% / %length%],[%length%])
$char(10)
// Audioscrobblered?
$if($strcmp($get(show_audioscrobblered),1),
$if(%isplaying%,
$puts(half_length,$div(%_length_seconds%,2))
$ifgreater($get(half_length),%_time_remaining_seconds%,$get(text1)Audioscrobblered$char(10)
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend)),$transition($repeat($get(sepc),$get(sepw)),$get
(text2),$get(fadeend))),
$transition($repeat($get(sepc),$get(sepw)),$get(text2),$get(fadeend))),$transition($repeat($get(sepc),$get(sepw)),$get
(text2),$get(fadeend)))
$char(10)
)
// ----------------------------------------------------------
// Progress bar
$if($strcmp($get(show_progressbar),1),
$if(%_time_total_seconds%,
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(proglen),
$get(color1)$get(progbarchar),$get(color2)$get(progbarchar))
$get(color1)$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)
' %'),)
/////////////////////////////////////////////////////////////////
// End of Trackinfoview 1
,
$if($strcmp($get(trackinfo_view),0), ,
// ----------------------------------------------------------
/////////////////////////////////////////////////////////////////
// Trackinfo view 2
/////////////////////////////////////////////////////////////////
$if($strcmp($get(trackinfo_view),2),
$font(times,10,shadow,255-255-255)
$align(center,middle)
// Trackinfo mode
$upper($if($strcmp($get(show_trackinfo_mode),1),
$if(%isplaying%,$get(info)%_trackinfo_mode%$char(10),$get(head)%_trackinfo_mode%$char(10))
)
)$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
// ----------------------------------------------------------
// Song info
$if($strcmp($get(show_song_info),1),
$get(head)SONG INFO$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%_trackinfo_notrack%,,
$get(info)[ %title%]$char(10)
$get(head)by$char(10)
$get(info)[ %artist%]$char(10)
$get(head)track #$get(info)[ %tracknumber% ]$get(head)from$char(10)
$get(info)[ %album%] ['('%date%')']$char(10)
$get(info)[ %genre%]$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10))
)
// ----------------------------------------------------------
// Tech info
$if($strcmp($get(show_tech_info),1),
$get(head) TECH INFO $char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%_trackinfo_notrack%,,
$get(info) $if($stricmp(%codec%,mp3),%bitrate%$get(head)kbps $if($stricmp(%__extrainfo%,vbr),VBR,CBR),)$get(info)[ %
codec%]$char(10)
$get(info) $if(%samplerate%,$div(%samplerate%,1000).$substr(%samplerate%,3,3) KHz) $get(info) $if($stricmp([%
codec%],mp3),$caps([%__mp3_stereo_mode%]),$caps([%channels%]))$char(10)
$get(info)
$div(%filesize%,1048576).$left($num($muldiv($mod(%filesize%,1048576),100,1048576),2),2) $get(head)'MB'$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
)
)
// ----------------------------------------------------------
// Play info
$if($strcmp($get(show_play_info),1),
$get(head) PLAY INFO $char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))$char(10)
$if(%last_played%,$get(head)Last played on $rgb(255,255,128)$get(nat_lang_stamp)$char(10),)
$if(%last_played%,
$if(%play_counter%,$get(head)Track played
$if($strcmp(%play_counter%,1),$get(info)only once,
$if($strcmp(%play_counter%,2),$get(info)twice,
$get(info)%play_counter% times)),
$get(head)Track $get(info)never been played),$get(info)NO TRACK)
$char(10)
$if(%isplaying%,
$get(info)$if(%isplaying%,[ %_time_elapsed% / %length%],[%length%])
$char(10),
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend))
$char(10)
)
)
// Audioscrobblered?
$if($strcmp($get(show_audioscrobblered),1),
$if(%isplaying%,
$puts(half_length,$div(%_length_seconds%,2))
$ifgreater($get(half_length),%_time_remaining_seconds%,$get(text1)Audioscrobblered$char(10)
$transition($repeat($get(sepc2),$get(sepw2)),$get(fadeend),$get(text2))
$transition($repeat($get(sepc2),$get(sepw2)),$get(text2),$get(fadeend)) $char(10),
$char(10)
),
),
)
// Progress bar
$if($strcmp($get(show_progressbar),1),
$if(%_time_total_seconds%,
$progress2(%_time_elapsed_seconds%,%_time_total_seconds%,$get(proglen),
$get(color1)$get(progbarchar),$get(color2)$get(progbarchar)) $char(10)
$get(color1)$muldiv(%_time_elapsed_seconds%,100,%_time_total_seconds%)
' %'),)
/////////////////////////////////////////////////////////////////
// End of Trackinfo view 2
, )))
Use this code I see "Last Played" string as (next string is sample)
Last played on This Afternoon
Screenshot is
http://img201.imageshack.us/my.php?image=1fk8.jpg