summaryrefslogtreecommitdiffstats
path: root/command.c
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-19 18:51:42 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-06-19 18:51:42 +0000
commit59346bc23a2910851596a0c36622ba49ef7b3ba3 (patch)
tree1da9aa1a49129ad32aa922a4282f673c0ec4b8d4 /command.c
parent864dc161406201d88b40bbfedf26772a281a1d83 (diff)
downloadmpv-59346bc23a2910851596a0c36622ba49ef7b3ba3.tar.bz2
mpv-59346bc23a2910851596a0c36622ba49ef7b3ba3.tar.xz
Change DVDNAV command key names.
Parameters now use a string much more intuitive than previous int value. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27100 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'command.c')
-rw-r--r--command.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/command.c b/command.c
index dbec5918c1..cbad8f6014 100644
--- a/command.c
+++ b/command.c
@@ -2281,6 +2281,22 @@ static int set_property_command(MPContext * mpctx, mp_cmd_t * cmd)
return 1;
}
+#ifdef USE_DVDNAV
+static const struct {
+ const char *name;
+ const mp_command_type cmd;
+} mp_dvdnav_bindings[] = {
+ { "up", MP_CMD_DVDNAV_UP },
+ { "down", MP_CMD_DVDNAV_DOWN },
+ { "left", MP_CMD_DVDNAV_LEFT },
+ { "right", MP_CMD_DVDNAV_RIGHT },
+ { "menu", MP_CMD_DVDNAV_MENU },
+ { "select", MP_CMD_DVDNAV_SELECT },
+ { "prev", MP_CMD_DVDNAV_PREVMENU },
+ { "mouse", MP_CMD_DVDNAV_MOUSECLICK },
+ { NULL, 0 }
+};
+#endif
int run_command(MPContext * mpctx, mp_cmd_t * cmd)
{
@@ -3105,10 +3121,18 @@ int run_command(MPContext * mpctx, mp_cmd_t * cmd)
#ifdef USE_DVDNAV
case MP_CMD_DVDNAV:{
int button = -1;
+ int i;
+ mp_command_type command = 0;
if (mpctx->stream->type != STREAMTYPE_DVDNAV)
break;
- mp_dvdnav_handle_input(mpctx->stream,cmd->args[0].v.i,&button);
+ for (i = 0; mp_dvdnav_bindings[i].name; i++)
+ if (cmd->args[0].v.s &&
+ !strcasecmp (cmd->args[0].v.s,
+ mp_dvdnav_bindings[i].name))
+ command = mp_dvdnav_bindings[i].cmd;
+
+ mp_dvdnav_handle_input(mpctx->stream,command,&button);
if (osd_level > 1 && button > 0)
set_osd_msg(OSD_MSG_TEXT, 1, osd_duration,
"Selected button number %d", button);