summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/mplayer.12
-rw-r--r--DOCS/tech/slave.txt21
-rw-r--r--command.c6
-rw-r--r--input/input.c1
4 files changed, 19 insertions, 11 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 60ee3b9169..9fe7d38df9 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -263,7 +263,7 @@ Toggle frame dropping states: none / skip display / skip decoding
(see \-framedrop and \-hardframedrop).
.IPs "v\ \ \ \ "
Toggle subtitle visibility.
-.IPs "j\ \ \ \ "
+.IPs "j and J"
Cycle through the available subtitles.
.IPs "y and g"
Step forward/backward in the subtitle list.
diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt
index e923232689..b53fa575b0 100644
--- a/DOCS/tech/slave.txt
+++ b/DOCS/tech/slave.txt
@@ -350,7 +350,8 @@ sub_select [value]
Display subtitle with index [value]. Turn subtitle display off if
[value] is -1 or greater than the highest available subtitle index.
Cycle through the available subtitles if [value] is omitted or less
- than -1. Supported subtitle sources are -sub options on the command
+ than -1 (forward or backward respectively).
+ Supported subtitle sources are -sub options on the command
line, VOBsubs, DVD subtitles, and Ogg and Matroska text streams.
This command is mainly for cycling all subtitles, if you want to set
a specific subtitle, use sub_file, sub_vob, or sub_demux.
@@ -360,26 +361,30 @@ sub_source [source]
SUB_SOURCE_SUBS (0) for file subs
SUB_SOURCE_VOBSUB (1) for VOBsub files
SUB_SOURCE_DEMUX (2) for subtitle embedded in the media file or DVD subs.
- If [source] is -1, will turn off subtitle display. If [source] less than -1,
- will cycle between the first subtitle of each currently available sources.
+ If [source] is -1, will turn off subtitle display.
+ If [value] is omitted or less than -1, will cycle between the first subtitle
+ of each currently available source (forward or backward respectively).
sub_file [value]
Display subtitle specifid by [value] for file subs. The [value] is
corresponding to ID_FILE_SUB_ID values reported by '-identify'.
- If [value] is -1, will turn off subtitle display. If [value] less than -1,
- will cycle all file subs.
+ If [value] is -1, will turn off subtitle display.
+ If [value] is omitted or less than -1, will cycle all file subs
+ (forward or backward respectively).
sub_vob [value]
Display subtitle specifid by [value] for vobsubs. The [value] is
corresponding to ID_VOBSUB_ID values reported by '-identify'.
- If [value] is -1, will turn off subtitle display. If [value] less than -1,
- will cycle all vobsubs.
+ If [value] is -1, will turn off subtitle display.
+ If [value] is omitted or less than -1, will cycle all vobsubs
+ (forward or backward respectively).
sub_demux [value]
Display subtitle specifid by [value] for subtitles from DVD or embedded
in media file. The [value] is corresponding to ID_SUBTITLE_ID values
reported by '-identify'. If [value] is -1, will turn off subtitle display.
- If [value] less than -1, will cycle all DVD subs or embedded subs.
+ If [value] is omitted or less than -1, will cycle all DVD subs or embedded subs
+ (forward or backward respectively).
sub_scale <value> [abs]
Adjust the subtitle size by +/- <value> or set it to <value> when [abs]
diff --git a/command.c b/command.c
index 6bf4825848..aa4fb7cb2b 100644
--- a/command.c
+++ b/command.c
@@ -2463,8 +2463,8 @@ static int show_property_osd(MPContext *mpctx, const char *pname)
*
* Toggle commands take 0 or 1 parameters. With no parameter
* or a value less than the property minimum it just steps the
- * property to its next value. Otherwise it sets it to the given
- * value.
+ * property to its next or previous value respectively.
+ * Otherwise it sets it to the given value.
*
*@{
*/
@@ -2551,6 +2551,8 @@ static int set_property_command(MPContext *mpctx, mp_cmd_t *cmd)
// set to value
if (cmd->nargs > 0 && cmd->args[0].v.i >= prop->min)
r = mp_property_do(pname, M_PROPERTY_SET, &cmd->args[0].v.i, mpctx);
+ else if (cmd->nargs > 0)
+ r = mp_property_do(pname, M_PROPERTY_STEP_DOWN, NULL, mpctx);
else
r = mp_property_do(pname, M_PROPERTY_STEP_UP, NULL, mpctx);
} else if (cmd->args[1].v.i) //set
diff --git a/input/input.c b/input/input.c
index c08f3d49f0..2119c729ba 100644
--- a/input/input.c
+++ b/input/input.c
@@ -438,6 +438,7 @@ static const mp_cmd_bind_t def_cmd_binds[] = {
{ { 'a', 0 }, "sub_alignment" },
{ { 'v', 0 }, "sub_visibility" },
{ { 'j', 0 }, "sub_select" },
+ { { 'J', 0 }, "sub_select -3" },
{ { 'F', 0 }, "forced_subs_only" },
{ { '#', 0 }, "switch_audio" },
{ { '_', 0 }, "step_property switch_video" },