diff options
author | albeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-07-26 21:26:39 +0000 |
---|---|---|
committer | albeu <albeu@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-07-26 21:26:39 +0000 |
commit | 06693273a4a58619706aae35cb8c87a85fadc967 (patch) | |
tree | 2cb15d38b59725e32fcd55829141129af2d36159 | |
parent | a70e4ff97360256323c0d222ae8a3c1ef57770e0 (diff) | |
download | mpv-06693273a4a58619706aae35cb8c87a85fadc967.tar.bz2 mpv-06693273a4a58619706aae35cb8c87a85fadc967.tar.xz |
Add loadfile and loadlist commands. May be buggy if the filename contain some
spaces.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6819 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | input/input.c | 2 | ||||
-rw-r--r-- | input/input.h | 2 | ||||
-rw-r--r-- | mplayer.c | 26 |
3 files changed, 29 insertions, 1 deletions
diff --git a/input/input.c b/input/input.c index 8267227a63..580b23a302 100644 --- a/input/input.c +++ b/input/input.c @@ -68,6 +68,8 @@ static mp_cmd_t mp_cmds[] = { { MP_CMD_VO_FULLSCREEN, "vo_fullscreen", 0, { {-1,{0}} } }, { MP_CMD_SCREENSHOT, "screenshot", 0, { {-1,{0}} } }, { MP_CMD_PANSCAN, "panscan",1, { {MP_CMD_ARG_FLOAT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, + { MP_CMD_LOADFILE, "loadfile", 1, { {MP_CMD_ARG_STRING, {0}}, {-1,{0}} } }, + { MP_CMD_LOADLIST, "loadlist", 1, { {MP_CMD_ARG_STRING, {0}}, {-1,{0}} } }, #ifdef HAVE_NEW_GUI { MP_CMD_GUI_LOADFILE, "gui_loadfile", 0, { {-1,{0}} } }, diff --git a/input/input.h b/input/input.h index c989c8f585..ee77376b38 100644 --- a/input/input.h +++ b/input/input.h @@ -28,6 +28,8 @@ #define MP_CMD_SCREENSHOT 23 #define MP_CMD_PANSCAN 24 #define MP_CMD_MUTE 25 +#define MP_CMD_LOADFILE 26 +#define MP_CMD_LOADLIST 27 #define MP_CMD_GUI_EVENTS 5000 #define MP_CMD_GUI_LOADFILE 5001 @@ -2393,7 +2393,31 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still) case MP_CMD_MUTE: { mixer_mute(); } - case MP_CMD_MIXER_USEMASTER : { + case MP_CMD_LOADFILE : { + play_tree_t* e = play_tree_new(); + play_tree_add_file(e,cmd->args[0].v.s); + + // Go back to the start point + while(play_tree_iter_up_step(playtree_iter,0,1) != PLAY_TREE_ITER_END) + /* NOP */; + play_tree_free_list(playtree->child,1); + play_tree_set_child(playtree,e); + play_tree_iter_step(playtree_iter,0,0); + eof = PT_NEXT_SRC; + } break; + case MP_CMD_LOADLIST : { + play_tree_t* e = parse_playlist_file(cmd->args[0].v.s); + if(!e) + mp_msg(MSGT_CPLAYER,MSGL_ERR,"\nUnable to load playlist %s\n",cmd->args[0].v.s); + else { + // Go back to the start point + while(play_tree_iter_up_step(playtree_iter,0,1) != PLAY_TREE_ITER_END) + /* NOP */; + play_tree_free_list(playtree->child,1); + play_tree_set_child(playtree,e); + play_tree_iter_step(playtree_iter,0,0); + eof = PT_NEXT_SRC; + } } break; case MP_CMD_BRIGHTNESS : { int v = cmd->args[0].v.i, abs = cmd->args[1].v.i; |