Index: Slim/Buttons/BrowseDB.pm =================================================================== --- Slim/Buttons/BrowseDB.pm (revision 9031) +++ Slim/Buttons/BrowseDB.pm (working copy) @@ -189,7 +189,7 @@ # find out if this item is part of a container, such as an album or playlist previously selected. my $container = 0; - if ($levels[$level-1] =~ /^(?:playlist|album)$/ && grep { /playlist|me\.id/ } keys %{$findCriteria}) { + if ($levels[$level-1] =~ /^(?:playlist|album)$/ && grep { /playlist|album\.id/ } keys %{$findCriteria}) { $container = 1; } Index: Slim/Buttons/Input/Time.pm =================================================================== --- Slim/Buttons/Input/Time.pm (revision 9031) +++ Slim/Buttons/Input/Time.pm (working copy) @@ -30,7 +30,8 @@ } ,'knob' => sub { my ($client,$funct,$functarg) = @_; - # todo: make work with knob! + my @timedigits = timeDigits($client,$client->param('valueRef')); + scroll($client, $client->knobPos() - $timedigits[$client->param('cursorPos')]); } #moving one position to the left, exiting on leftmost position ,'left' => sub { @@ -195,6 +196,9 @@ Slim::Buttons::Common::popModeRight($client); } $client->lines(\&lines); + + my @timedigits = timeDigits($client,$client->param('valueRef')); + prepKnob($client,\@timedigits); } # set unsupplied parameters to the defaults @@ -339,6 +343,10 @@ } $client->param('cursorPos',$cursorPos); $client->update(); + + my @timedigits = timeDigits($client,$client->param('valueRef')); + prepKnob($client,\@timedigits); + return; } @@ -358,6 +366,27 @@ $client->update(); } +sub prepKnob { + my ($client,$digits) = @_; + + my $ampm = (Slim::Utils::Prefs::get('timeFormat') =~ /%p/); + my $c = $client->param('cursorPos'); + + if ($c == 0) { + $client->param('listLen',$ampm ? 2 : 3); + } elsif ($c == 1) { + $client->param('listLen', $ampm ? ($digits->[0] ? 3 : 10) : ($digits->[0] == 2 ? 4 : 10)); + } elsif ($c == 2) { + $client->param('listLen',6); + } elsif ($c == 3) { + $client->param('listLen',10); + } elsif ($c == 4) { + $client->param('listLen',2); + } + $client->param('listIndex',$digits->[$c]); + $client->updateKnob(1); +} + sub scrollTime { my ($client,$dir,$valueRef,$c) = @_;