From: Romain Bignon Date: Tue, 10 Feb 2009 13:09:32 +0000 (+0100) Subject: can shuffle selected list X-Git-Tag: release-0.14~109 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=c8be98c0eb6bed22c4a531c4fdb56b33f71adb64;p=ncmpc.git can shuffle selected list --- diff --git a/src/screen_play.c b/src/screen_play.c index 665a986..eb26893 100644 --- a/src/screen_play.c +++ b/src/screen_play.c @@ -598,6 +598,21 @@ play_cmd(mpdclient_t *c, command_t cmd) center_playing_item(c); playlist_repaint(); return false; + case CMD_SHUFFLE: + { + unsigned i = lw->selected_start + 1; + unsigned last_selected = lw->selected; + if(!lw->visual_selection) + /* No visual selection, shuffle all list. */ + break; + for(; i <= lw->selected_end; ++i) + mpdclient_cmd_move(c, i, lw->selected_start + (rand() % ((i - lw->selected_start) + 1))); + + lw->selected = last_selected; + screen_status_printf(_("Shuffled selection!")); + + return true; + } case CMD_LIST_MOVE_UP: if(lw->selected_start == 0) return false;