Index: Slim/Control/Commands.pm =================================================================== --- Slim/Control/Commands.pm (revision 24435) +++ Slim/Control/Commands.pm (working copy) @@ -913,6 +913,13 @@ $client->execute([ 'power', 1, 1 ]); } + my $showStatus = sub { + if ($client->isPlayer()) { + my $parts = $client->currentSongLines(undef, Slim::Buttons::Common::suppressStatus($client), 1); + $client->showBriefly($parts, { duration => 2 }) if $parts; + } + }; + # Is this a relative jump, etc. if ( defined $index && $index =~ /[+-]/ ) { @@ -923,11 +930,13 @@ if ( ($songcount == 1 && $index eq '-1') || $index eq '+0' ) { # User is trying to restart the current track $client->controller()->jumpToTime(0, 1); + $showStatus->(); $request->setStatusDone(); return; } elsif ($index eq '+1') { # User is trying to skip to the next track - $client->controller()->skip(); + $client->controller()->skip(); + $showStatus->(); $request->setStatusDone(); return; } @@ -970,14 +979,7 @@ # Does the above change the playlist? Slim::Player::Playlist::refreshPlaylist($client) if $client->currentPlaylistModified(); - Slim::Buttons::Common::syncPeriodicUpdates($client, Time::HiRes::time() + 0.1); - -# should be done by StreamingController -# # update the display unless suppressed -# if ($client->isPlayer()) { -# my $parts = $client->currentSongLines(undef, Slim::Buttons::Common::suppressStatus($client), 1); -# $client->showBriefly($parts) if $parts; -# } + $showStatus->(); $request->setStatusDone(); } Index: Slim/Player/StreamingController.pm =================================================================== --- Slim/Player/StreamingController.pm (revision 24435) +++ Slim/Player/StreamingController.pm (working copy) @@ -1624,6 +1624,9 @@ if (scalar @{$self->songqueue()} == 1 && scalar $self->activePlayers() > 1) {return;} _eventAction($self, 'Started'); + + # sync the button mode periodic update to the track time + Slim::Buttons::Common::syncPeriodicUpdates($client, Time::HiRes::time() + 0.1); } sub playerReadyToStream { Index: Slim/Player/Source.pm =================================================================== --- Slim/Player/Source.pm (revision 24435) +++ Slim/Player/Source.pm (working copy) @@ -351,7 +351,14 @@ } sub playingSong { - return $_[0]->controller()->playingSong(); + my $song = $_[0]->controller()->playingSong(); + + # return the next song if the current one has finished - this shows the new track not the old one on skip + if (defined $song->{'status'} && $song->{'status'} || 0 == Slim::Player::Song::STATUS_FINISHED) { + $song = $_[0]->controller()->streamingSong() + } + + return $song; } sub playingSongDuration {