changeset 18911:89af7441989b

Modifies behavior of -edlout Now it creates a new file and writes edit decision list (EDL) records to it just as it did before but instead of making pas-2-seconds blocks for each 'i' keystroke lets the user hits 'i' to mark the start or end of a block.
author reynaldo
date Wed, 05 Jul 2006 22:47:44 +0000
parents 5f31565951f7
children 7ebb8863726d
files DOCS/man/en/mplayer.1 help/help_mp-en.h mplayer.c
diffstat 3 files changed, 22 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/man/en/mplayer.1	Wed Jul 05 22:47:47 2006 +0000
+++ b/DOCS/man/en/mplayer.1	Wed Jul 05 22:47:44 2006 +0000
@@ -304,7 +304,7 @@
 .IPs "r and t"
 Move subtitles up/down.
 .IPs "i (\-edlout mode only)"
-Set EDL mark.
+Set start or end of an EDL skip and write it out to the given file.
 .IPs "s (\-vf screenshot only)"
 Take a screenshot.
 .IPs "I"
@@ -727,9 +727,8 @@
 .
 .TP
 .B \-edlout <filename>
-Creates a new file and writes edit decision list (EDL) records to that file.
-During playback, when the user hits 'i', an entry to skip over the last two
-seconds of playback will be written to the file.
+Creates a new file and writes edit decision list (EDL) records to it.
+During playback, the user hits 'i' to mark the start or end of a skip block
 This provides a starting point from which the user can fine-tune EDL entries
 later.
 See DOCS/\:HTML/\:en/\:edl.html for details.
--- a/help/help_mp-en.h	Wed Jul 05 22:47:47 2006 +0000
+++ b/help/help_mp-en.h	Wed Jul 05 22:47:44 2006 +0000
@@ -198,6 +198,9 @@
 #define MSGTR_EdlBadLineOverlap "Last stop position was [%f]; next start is [%f].\n"\
 "Entries must be in chronological order, cannot overlap. Discarding.\n"
 #define MSGTR_EdlBadLineBadStop "Stop time has to be after start time.\n"
+#define MSGTR_EdloutBadStop "EDL skip canceled, last start > stop\n"
+#define MSGTR_EdloutStartSkip "EDL skip start, press 'i' again to end block.\n"
+#define MSGTR_EdloutEndSkip "EDL skip end, line written.\n"
 
 // mplayer.c OSD
 
--- a/mplayer.c	Wed Jul 05 22:47:47 2006 +0000
+++ b/mplayer.c	Wed Jul 05 22:47:44 2006 +0000
@@ -397,6 +397,7 @@
 short edl_muted  = 0; ///< Stores whether EDL is currently in muted mode.
 short edl_decision = 0; ///< 1 when an EDL operation has been made.
 FILE* edl_fd = NULL; ///< fd to write to when in -edlout mode.
+float begin_skip = MP_NOPTS_VALUE; ///< start time of the current skip while on edlout mode
 
 static unsigned int inited_flags=0;
 #define INITED_VO 1
@@ -4226,7 +4227,21 @@
       if( edl_fd ) {
 	float v = sh_video ? sh_video->pts :
 	    playing_audio_pts(sh_audio, d_audio, audio_out);
-	fprintf( edl_fd, "%f %f %d\n", v-2, v, 0 );
+
+	if(begin_skip == MP_NOPTS_VALUE)
+	{
+	  begin_skip = v; 
+	  mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_EdloutStartSkip);
+	}else{
+	  if(begin_skip > v)
+	  {
+	    mp_msg(MSGT_CPLAYER, MSGL_WARN, MSGTR_EdloutBadStop);
+	  }else{
+	    fprintf(edl_fd, "%f %f %d\n", begin_skip, v, 0);
+	    mp_msg(MSGT_CPLAYER, MSGL_INFO, MSGTR_EdloutEndSkip);
+	  }
+	  begin_skip = MP_NOPTS_VALUE;
+	}
       }
       break;
     case MP_CMD_SWITCH_RATIO : {