Index: Slim/Player/Source.pm =================================================================== --- Slim/Player/Source.pm (revision 4980) +++ Slim/Player/Source.pm (working copy) @@ -430,8 +430,21 @@ # when you resume, you go back to play mode if (($newmode eq "resume") ||($newmode eq "resumenow")) { - $everyclient->playmode("play"); + $everyclient->resume(); + my $song = Slim::Player::Source::streamingSong($client); + my $songLengthInBytes = $song->{totalbytes}; + my $pos = $client->songBytes() || 0; + + $::d_source && msg("resume: (pos: " . $client->songBytes() . ", totalbytes: " . $song->{totalbytes} . ")\n"); + + # if song pos matches totalbytes, previous playmode was playout-play + if ($songLengthInBytes - $pos == 0) { + $everyclient->playmode("playout-play"); + } else { + $everyclient->playmode("play"); + } + } elsif ($newmode eq "pausenow") { $everyclient->playmode("pause");