From e20b1c45fee6f658afea9a92e5a833a449b0e2ff Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Mon, 28 Mar 2016 03:47:07 +0000 Subject: [PATCH] play: Convert com_ff() to lopsub. Converting com_ff() is analogous to com_jmp() since both subcommands take a single integer argument. See the commit message of the previous commit which converted com_jmp() for more information. --- m4/lls/play_cmd.suite.m4 | 7 +++++++ play.c | 15 +++++++++++---- play.cmd | 5 ----- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/m4/lls/play_cmd.suite.m4 b/m4/lls/play_cmd.suite.m4 index 744e7931..46646808 100644 --- a/m4/lls/play_cmd.suite.m4 +++ b/m4/lls/play_cmd.suite.m4 @@ -40,3 +40,10 @@ caption = list of commands [description] The percent argument must be an integer between 0 and 100, inclusively. [/description] + +[subcommand ff] + purpose = set playback position relative to the current position + non-opts-name = seconds + [description] + Negative values mean to jump backwards the given amount of seconds. + [/description] diff --git a/play.c b/play.c index 95270754..4545502b 100644 --- a/play.c +++ b/play.c @@ -986,14 +986,20 @@ static int com_jmp(struct play_task *pt, struct lls_parse_result *lpr) } EXPORT_PLAY_CMD_HANDLER(jmp); -static int com_ff(struct play_task *pt, int argc, char **argv) +static int com_ff(struct play_task *pt, struct lls_parse_result *lpr) { int32_t seconds; + char *errctx; int ret; - if (argc != 2) - return -E_PLAY_SYNTAX; - ret = para_atoi32(argv[1], &seconds); + ret = lls(lls_check_arg_count(lpr, 1, 1, &errctx)); + if (ret < 0) { + if (errctx) + PARA_ERROR_LOG("%s\n", errctx); + free(errctx); + return ret; + } + ret = para_atoi32(lls_input(0, lpr), &seconds); if (ret < 0) return ret; if (pt->playing && !pt->fn.btrn) @@ -1010,6 +1016,7 @@ static int com_ff(struct play_task *pt, int argc, char **argv) kill_stream(pt); return 0; } +EXPORT_PLAY_CMD_HANDLER(ff); static int run_command(char *line, struct play_task *pt) { diff --git a/play.cmd b/play.cmd index 8e2fb6ac..595d0f4a 100644 --- a/play.cmd +++ b/play.cmd @@ -2,11 +2,6 @@ BN: play SF: play.c SN: list of commands --- -N: ff -D: Jump forwards or backwards. -U: ff -H: Negative values mean to jmp backwards the given amount of seconds. ---- N: ls D: List playlist. U: ls -- 2.39.5