0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 20:03:10 +02:00

command: add playlist_shuffle command

Fixes #965.
This commit is contained in:
wm4 2015-05-17 21:16:10 +02:00
parent aa78dff42b
commit f4c412a057
4 changed files with 11 additions and 0 deletions

View File

@ -246,6 +246,10 @@ List of Input Commands
because index2 refers to the target entry, not the index the entry because index2 refers to the target entry, not the index the entry
will have after moving.) will have after moving.)
``playlist_shuffle``
Shuffle the playlist. This is similar to what is done on start if the
``--shuffle`` option is used.
``run "command" "arg1" "arg2" ...`` ``run "command" "arg1" "arg2" ...``
Run the given command. Unlike in MPlayer/mplayer2 and earlier versions of Run the given command. Unlike in MPlayer/mplayer2 and earlier versions of
mpv (0.2.x and older), this doesn't call the shell. Instead, the command mpv (0.2.x and older), this doesn't call the shell. Instead, the command

View File

@ -89,6 +89,7 @@ const struct mp_cmd_def mp_cmds[] = {
OARG_CHOICE(0, ({"weak", 0}, OARG_CHOICE(0, ({"weak", 0},
{"force", 1})), {"force", 1})),
}}, }},
{ MP_CMD_PLAYLIST_SHUFFLE, "playlist_shuffle", },
{ MP_CMD_SUB_STEP, "sub_step", { ARG_INT }, .allow_auto_repeat = true }, { MP_CMD_SUB_STEP, "sub_step", { ARG_INT }, .allow_auto_repeat = true },
{ MP_CMD_SUB_SEEK, "sub_seek", { ARG_INT }, .allow_auto_repeat = true }, { MP_CMD_SUB_SEEK, "sub_seek", { ARG_INT }, .allow_auto_repeat = true },
{ MP_CMD_OSD, "osd", { OARG_INT(-1) } }, { MP_CMD_OSD, "osd", { OARG_INT(-1) } },

View File

@ -54,6 +54,7 @@ enum mp_command_type {
MP_CMD_PLAYLIST_CLEAR, MP_CMD_PLAYLIST_CLEAR,
MP_CMD_PLAYLIST_REMOVE, MP_CMD_PLAYLIST_REMOVE,
MP_CMD_PLAYLIST_MOVE, MP_CMD_PLAYLIST_MOVE,
MP_CMD_PLAYLIST_SHUFFLE,
MP_CMD_SUB_STEP, MP_CMD_SUB_STEP,
MP_CMD_SUB_SEEK, MP_CMD_SUB_SEEK,
MP_CMD_TV_LAST_CHANNEL, MP_CMD_TV_LAST_CHANNEL,

View File

@ -4483,6 +4483,11 @@ int run_command(struct MPContext *mpctx, struct mp_cmd *cmd, struct mpv_node *re
break; break;
} }
case MP_CMD_PLAYLIST_SHUFFLE: {
playlist_shuffle(mpctx->playlist);
break;
}
case MP_CMD_STOP: case MP_CMD_STOP:
playlist_clear(mpctx->playlist); playlist_clear(mpctx->playlist);
mpctx->stop_play = PT_STOP; mpctx->stop_play = PT_STOP;