summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-03 02:55:03 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-03 02:55:03 +0000
commit3c8924371d09fbe41fa4af647dbe3d1362ef68de (patch)
tree6e28f3406c7988bbfa7de41f57244a3a867bb12e /mplayer.c
parent0885f41ebf38ac434a696c3aaa9ce9210f8c517e (diff)
downloadmpv-3c8924371d09fbe41fa4af647dbe3d1362ef68de.tar.bz2
mpv-3c8924371d09fbe41fa4af647dbe3d1362ef68de.tar.xz
-playlist option patch by Panagiotis Issaris <takis@lumumba.luc.ac.be>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2648 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/mplayer.c b/mplayer.c
index f762a6a7a7..586708a29d 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -209,6 +209,8 @@ static int screen_size_y=0;//SCREEN_SIZE_Y;
static int screen_size_xy=0;
static float movie_aspect=0.0;
+char* playlist_file;
+
// sub:
char *font_name=NULL;
float font_factor=0.75;
@@ -423,6 +425,39 @@ int gui_no_filename=0;
parse_cfgfiles();
num_filenames=parse_command_line(conf, argc, argv, envp, &filenames);
+
+ if(playlist_file!=NULL)
+ {
+ FILE *playlist_f;
+ char *playlist_linebuffer = (char*)malloc(256);
+ char *playlist_line;
+ if(!strcmp(playlist_file,"-"))
+ {
+ playlist_f = fopen("/dev/stdin","r");
+ }
+ else
+ playlist_f = fopen(playlist_file,"r");
+ if(playlist_f != NULL)
+ {
+ while(!feof(playlist_f))
+ {
+ memset(playlist_linebuffer,0,255);
+ fgets(playlist_linebuffer,255,playlist_f);
+ if(strlen(playlist_linebuffer)==0)
+ break;
+ playlist_linebuffer[strlen(playlist_linebuffer)-1] = 0;
+ playlist_line = (char*)malloc(strlen(playlist_linebuffer)+1);
+ memset(playlist_line,0,strlen(playlist_linebuffer)+1);
+ strcpy(playlist_line,playlist_linebuffer);
+ if (!(filenames = (char **) realloc(filenames, sizeof(*filenames) * (num_filenames + 2))))
+ exit(3);
+ filenames[num_filenames++] = playlist_line;
+ }
+ fclose(playlist_f);
+ }
+}
+
+
if(num_filenames<0) exit(1); // error parsing cmdline
#ifndef HAVE_NEW_GUI
@@ -1513,9 +1548,18 @@ if(step_sec>0) {
// quit
case KEY_ESC: // ESC
case 'q': exit_player(MSGTR_Exit_quit);
+ case '>':
+ if(curr_filename>=num_filenames-1)
+ break;
case KEY_ENTER: // ESC
eof=1; // jump to next file
break;
+ case '<':
+ if(curr_filename < 1)
+ break;
+ curr_filename-=2;
+ eof=1;
+ break;
case 'g': grab_frames=2;break;
// pause
case 'p':