SC SongScanner changes: --- Plugin.pm.orig 2009-01-07 06:13:11.000000000 -0500 +++ Plugin.pm 2009-01-08 09:45:54.000000000 -0500 @@ -82,7 +82,19 @@ # Display song position e.g. 1:32 my $pos = int($val); my $dur = int(Slim::Player::Source::playingSongDuration($client)); - return sprintf("%01d:%02d / %01d:%02d", $pos / 60, $pos % 60, $dur / 60, $dur % 60); + my $durpos; + if (int($pos / 3600) > 0) { + $durpos = sprintf("%01d:%02d:%02d / ", $pos / 3600, ($pos % 3600) / 60, $pos % 60); + } else { + $durpos = sprintf("%01d:%02d / ", $pos / 60, $pos % 60); + } + if (int($dur / 3600) > 0) { + $durpos = $durpos . sprintf("%01d:%02d:%02d", $dur / 3600, ($dur % 3600) / 60, $dur % 60); + } else { + $durpos = $durpos . sprintf("%01d:%02d", $dur / 60, $dur % 60); + } + + return $durpos; } ,'overlayRefArgs' => 'CV' ,'max' => undef controller changes: --- DefaultSkinApplet.lua.orig 2009-01-08 11:01:00.000000000 -0500 +++ DefaultSkinApplet.lua 2009-01-08 11:01:00.000000000 -0500 @@ -802,9 +802,10 @@ s.scannerGroup.text = {} s.scannerGroup.text.fg = TEXT_COLOR s.scannerGroup.text.font = FONT_13px - s.scannerGroup.text.w = 55 + s.scannerGroup.text.w = 60 -- s.scannerGroup.padding = { 0, 0, 0, 0 } - s.scannerGroup.text.padding = { 8, 0, 0, 0} + s.scannerGroup.text.align = "right" + s.scannerGroup.text.padding = { 0, 0, 4, 0} s.scannerPopup = {} s.scannerPopup.x = 0 --- Scanner.lua.orig 2009-01-08 11:01:00.000000000 -0500 +++ Scanner.lua 2009-01-08 11:01:00.000000000 -0500 @@ -48,9 +48,12 @@ module(..., oo.class) local function _secondsToString(seconds) - local min = math.floor(seconds / 60) - local sec = math.floor(seconds - (min*60)) - + local hour = math.floor(seconds / 3600 ) + local min = math.floor((seconds / 60) - (hour*60)) + local sec = math.floor(seconds - (min*60) - (hour*3600)) + if hour > 0 then + return string.format("%d:%02d:%02d", hour, min, sec) + end return string.format("%d:%02d", min, sec) end