=== Control/Commands.pm ================================================================== --- Control/Commands.pm (revision 19514) +++ Control/Commands.pm (local) @@ -1310,6 +1310,7 @@ my $cmd = $request->getRequest(1); #p1 my $what = $request->getParam('_what'); #p2 my $listref = $request->getParam('_listref');#p3 + my $suppress = $request->getParam('_suppress');#p4 if (!defined $what) { $request->setStatusBadParams(); @@ -1408,7 +1409,7 @@ $client->currentPlaylistUpdateTime(Time::HiRes::time()); } - if ( $add ) { + if ( $add && !$suppress ) { $client->showBriefly({ 'jive' => { @@ -1595,7 +1596,7 @@ $cmd .= "tracks"; Slim::Control::Request::executeRequest( - $client, ['playlist', $cmd, 'playlist.id=' . $playlist_id] + $client, ['playlist', $cmd, 'playlist.id=' . $playlist_id, 0, 1] ); $request->addResult('count', scalar($playlist->tracks())); @@ -1683,7 +1684,7 @@ $cmd .= "tracks"; Slim::Control::Request::executeRequest( - $client, ['playlist', $cmd, 'listRef', \@tracks] + $client, ['playlist', $cmd, 'listRef', \@tracks, 1] ); } === Control/Request.pm ================================================================== --- Control/Request.pm (revision 19514) +++ Control/Request.pm (local) @@ -519,7 +519,7 @@ addDispatch(['players', '_index', '_quantity'], [0, 1, 1, \&Slim::Control::Queries::playersQuery]); addDispatch(['playlist', 'add', '_item'], [1, 0, 0, \&Slim::Control::Commands::playlistXitemCommand]); addDispatch(['playlist', 'addalbum', '_genre', '_artist', '_album', '_title'], [1, 0, 0, \&Slim::Control::Commands::playlistXalbumCommand]); - addDispatch(['playlist', 'addtracks', '_what', '_listref'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); + addDispatch(['playlist', 'addtracks', '_what', '_listref', '_suppress'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); addDispatch(['playlist', 'album', '_index', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); addDispatch(['playlist', 'append', '_item'], [1, 0, 0, \&Slim::Control::Commands::playlistXitemCommand]); addDispatch(['playlist', 'artist', '_index', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); @@ -527,7 +527,7 @@ addDispatch(['playlist', 'delete', '_index'], [1, 0, 0, \&Slim::Control::Commands::playlistDeleteCommand]); addDispatch(['playlist', 'deletealbum', '_genre', '_artist', '_album', '_title'], [1, 0, 0, \&Slim::Control::Commands::playlistXalbumCommand]); addDispatch(['playlist', 'deleteitem', '_item'], [1, 0, 0, \&Slim::Control::Commands::playlistDeleteitemCommand]); - addDispatch(['playlist', 'deletetracks', '_what', '_listref'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); + addDispatch(['playlist', 'deletetracks', '_what', '_listref', '_suppress'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); addDispatch(['playlist', 'duration', '_index', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); addDispatch(['playlist', 'genre', '_index', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); addDispatch(['playlist', 'index', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); @@ -535,12 +535,12 @@ addDispatch(['playlist', 'insert', '_item'], [1, 0, 0, \&Slim::Control::Commands::playlistXitemCommand]); addDispatch(['playlist', 'insertlist', '_item'], [1, 0, 0, \&Slim::Control::Commands::playlistXitemCommand]); addDispatch(['playlist', 'insertalbum', '_genre', '_artist', '_album', '_title'], [1, 0, 0, \&Slim::Control::Commands::playlistXalbumCommand]); - addDispatch(['playlist', 'inserttracks', '_what', '_listref'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); + addDispatch(['playlist', 'inserttracks', '_what', '_listref', '_suppress'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); addDispatch(['playlist', 'jump', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); addDispatch(['playlist', 'jump', '_index', '_noplay'], [1, 0, 0, \&Slim::Control::Commands::playlistJumpCommand]); addDispatch(['playlist', 'load', '_item'], [1, 0, 0, \&Slim::Control::Commands::playlistXitemCommand]); addDispatch(['playlist', 'loadalbum', '_genre', '_artist', '_album', '_title'], [1, 0, 0, \&Slim::Control::Commands::playlistXalbumCommand]); - addDispatch(['playlist', 'loadtracks', '_what', '_listref'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); + addDispatch(['playlist', 'loadtracks', '_what', '_listref', '_suppress'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); addDispatch(['playlist', 'modified', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); addDispatch(['playlist', 'move', '_fromindex', '_toindex'], [1, 0, 0, \&Slim::Control::Commands::playlistMoveCommand]); addDispatch(['playlist', 'name', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); @@ -548,7 +548,7 @@ addDispatch(['playlist', 'play', '_item'], [1, 0, 0, \&Slim::Control::Commands::playlistXitemCommand]); addDispatch(['playlist', 'playalbum', '_genre', '_artist', '_album', '_title'], [1, 0, 0, \&Slim::Control::Commands::playlistXalbumCommand]); addDispatch(['playlist', 'playlistsinfo'], [1, 1, 1, \&Slim::Control::Queries::playlistPlaylistsinfoQuery]); - addDispatch(['playlist', 'playtracks', '_what', '_listref'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); + addDispatch(['playlist', 'playtracks', '_what', '_listref', '_suppress'], [1, 0, 0, \&Slim::Control::Commands::playlistXtracksCommand]); addDispatch(['playlist', 'remote', '_index', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); addDispatch(['playlist', 'repeat', '?'], [1, 1, 0, \&Slim::Control::Queries::playlistXQuery]); addDispatch(['playlist', 'repeat', '_newvalue'], [1, 0, 0, \&Slim::Control::Commands::playlistRepeatCommand]); === Plugin/RandomPlay/Plugin.pm ================================================================== --- Plugin/RandomPlay/Plugin.pm (revision 19514) +++ Plugin/RandomPlay/Plugin.pm (local) @@ -428,7 +428,7 @@ # Replace the current playlist with the first item / track or add it to end my $request = $client->execute([ - 'playlist', $addOnly ? 'addtracks' : 'loadtracks', sprintf('%s.id=%d', $type, $obj->id) + 'playlist', $addOnly ? 'addtracks' : 'loadtracks', sprintf('%s.id=%d', $type, $obj->id), 0, 1 ]); # indicate request source @@ -443,7 +443,7 @@ $log->info(sprintf("Adding %i tracks to end of playlist", scalar @results)); } - $request = $client->execute(['playlist', 'addtracks', 'listRef', \@results ]); + $request = $client->execute(['playlist', 'addtracks', 'listRef', \@results, 1 ]); $request->source('PLUGIN_RANDOMPLAY'); }