summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/tech/slave.txt3
-rw-r--r--input/input.c1
-rw-r--r--input/input.h1
-rw-r--r--mplayer.c7
4 files changed, 12 insertions, 0 deletions
diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt
index 30cb1e7c59..29d52a2522 100644
--- a/DOCS/tech/slave.txt
+++ b/DOCS/tech/slave.txt
@@ -249,6 +249,9 @@ speed_mult <value>
speed_set <value>
Set the speed to <value>.
+step_property <property> [<value>]
+ Change property by value, or increase by a default if value is not given.
+
sub_alignment [value]
Toggle/set subtitle alignment.
0 top alignment
diff --git a/input/input.c b/input/input.c
index f2b5a8399b..ce59978008 100644
--- a/input/input.c
+++ b/input/input.c
@@ -164,6 +164,7 @@ static mp_cmd_t mp_cmds[] = {
{ MP_CMD_KEYDOWN_EVENTS, "key_down_event", 1, { {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
{ MP_CMD_SET_PROPERTY, "set_property", 2, { {MP_CMD_ARG_STRING, {0}}, {MP_CMD_ARG_STRING, {0}}, {-1,{0}} } },
{ MP_CMD_GET_PROPERTY, "get_property", 1, { {MP_CMD_ARG_STRING, {0}}, {-1,{0}} } },
+ { MP_CMD_STEP_PROPERTY, "step_property", 1, { {MP_CMD_ARG_STRING, {0}}, {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } },
{ MP_CMD_SEEK_CHAPTER, "seek_chapter", 1, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
{ MP_CMD_SET_MOUSE_POS, "set_mouse_pos", 2, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
diff --git a/input/input.h b/input/input.h
index f220a0889b..73e349f500 100644
--- a/input/input.h
+++ b/input/input.h
@@ -90,6 +90,7 @@
#define MP_CMD_RADIO_SET_CHANNEL 88
#define MP_CMD_RADIO_SET_FREQ 89
#define MP_CMD_SET_MOUSE_POS 90
+#define MP_CMD_STEP_PROPERTY 91
#define MP_CMD_GUI_EVENTS 5000
#define MP_CMD_GUI_LOADFILE 5001
diff --git a/mplayer.c b/mplayer.c
index 1c537db21b..b5df432721 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -4637,6 +4637,13 @@ if(step_sec>0) {
cmd->args[0].v.s,cmd->args[1].v.s);
} break;
+ case MP_CMD_STEP_PROPERTY: {
+ m_option_t* prop = mp_property_find(cmd->args[0].v.s);
+ float arg = cmd->args[1].v.f;
+ if(!prop) mp_msg(MSGT_CPLAYER,MSGL_WARN, "Unknown property: '%s'\n",cmd->args[0].v.s);
+ else if(m_property_do(prop,M_PROPERTY_STEP_UP, arg ? &arg : NULL) <= 0)
+ mp_msg(MSGT_CPLAYER,MSGL_WARN, "Failed to increment property '%s' by %f.\n",cmd->args[0].v.s, arg);
+ } break;
case MP_CMD_GET_PROPERTY: {
m_option_t* prop;
void* val;