Index: Slim/Player/Playlist.pm =================================================================== RCS file: /home/cvs/cvsroot/slim/server/Slim/Player/Playlist.pm,v retrieving revision 1.18 diff -u -p -B -r1.18 Playlist.pm --- Slim/Player/Playlist.pm 9 Sep 2004 19:12:24 -0000 1.18 +++ Slim/Player/Playlist.pm 21 Sep 2004 01:54:53 -0000 @@ -335,7 +335,7 @@ sub reshuffle { $trackToNum{$track}=$i; $i++; } - if ($realsong == -1) { + if ($realsong == -1 && !$dontpreservecurrsong) { $realsong=${$listRef}[Slim::Utils::Prefs::clientGet($client,'currentSong')]; } my $curalbum=Slim::Utils::Text::matchCase(Slim::Music::Info::album(${playList($client)}[$realsong])); Index: Slim/Control/Command.pm =================================================================== RCS file: /home/cvs/cvsroot/slim/server/Slim/Control/Command.pm,v retrieving revision 1.45 diff -u -p -B -r1.45 Command.pm --- Slim/Control/Command.pm 14 Sep 2004 19:37:19 -0000 1.45 +++ Slim/Control/Command.pm 21 Sep 2004 01:54:54 -0000 @@ -789,7 +789,8 @@ sub executeCallback { sub load_done { my ($client, $index, $callbackf, $callbackargs)=@_; - Slim::Player::Playlist::reshuffle($client); + # dont' keep current song on loading a playlist + Slim::Player::Playlist::reshuffle($client,1); if (defined($index)) { Slim::Player::Source::jumpto($client, $index); }