diff --git a/DOCS/man/de/mplayer.1 b/DOCS/man/de/mplayer.1 index 2c96710e63..4cc18bb960 100644 --- a/DOCS/man/de/mplayer.1 +++ b/DOCS/man/de/mplayer.1 @@ -297,6 +297,8 @@ Mache einen Schnappschuss. Beginne/beende die Aufnahme von Schnappschüssen. .IPs "I\ \ \ \ " Zeige den Dateinamen im OSD. +.IPs "P\ \ \ \ " +Zeige den Fortschrittsbalken, die abgelaufene Zeit und die Gesamtzeit im OSD. .IPs "! und @" Spult zum Anfang des vorigen/nächsten Kapitels. .IPs "D (nur bei \-vo xvmc, \-vf yadif, \-vf kerndeint)" diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 703b065ffe..1e8ce00c42 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -286,6 +286,8 @@ Take a screenshot. Start/stop taking screenshots. .IPs "I\ \ \ \ " Show filename on the OSD. +.IPs "P\ \ \ \ " +Show progression bar, elapsed time and total duration on the OSD. .IPs "! and @" Seek to the beginning of the previous/next chapter. .IPs "D (\-vo xvmc, \-vo vdpau, \-vf yadif, \-vf kerndeint only)" diff --git a/DOCS/man/fr/mplayer.1 b/DOCS/man/fr/mplayer.1 index 1e96215b26..2988123d0c 100644 --- a/DOCS/man/fr/mplayer.1 +++ b/DOCS/man/fr/mplayer.1 @@ -303,6 +303,8 @@ R Amorce/arrête la capture d'écran. .IPs "I\ \ \ \ " Affiche le nom de fichier dans l'OSD. +.IPs "P\ \ \ \ " +Affiche la barre d'avancement, le temps écoulé et la durée totale sur l'OSD. .IPs "! and @" Saute au début du chapitre précédent/suivant. .IPs "D (\-vo xvmc, \-vo vdpau, \-vf yadif et \-vf kerndeint uniquement)" diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt index 5dac1f0368..e33165e178 100644 --- a/DOCS/tech/slave.txt +++ b/DOCS/tech/slave.txt @@ -201,6 +201,10 @@ mute [value] osd [level] Toggle OSD mode or set it to [level] when [level] >= 0. +osd_show_progression + Show the progression bar, the elapsed time and the total duration of the + movie on the OSD. + osd_show_property_text [duration] [level] Show an expanded property string on the OSD, see -playing-msg for a description of the available expansions. If [duration] is >= 0 the text diff --git a/command.c b/command.c index a62e0bb77f..76c2e7a767 100644 --- a/command.c +++ b/command.c @@ -2763,6 +2763,17 @@ int run_command(MPContext * mpctx, mp_cmd_t * cmd) brk_cmd = 1; break; + case MP_CMD_OSD_SHOW_PROGRESSION:{ + int len = demuxer_get_time_length(mpctx->demuxer); + int pts = demuxer_get_current_time(mpctx->demuxer); + set_osd_bar(0, "Position", 0, 100, demuxer_get_percent_pos(mpctx->demuxer)); + set_osd_msg(OSD_MSG_TEXT, 1, osd_duration, + "%c %02d:%02d:%02d / %02d:%02d:%02d", + mpctx->osd_function, pts/3600, (pts/60)%60, pts%60, + len/3600, (len/60)%60, len%60); + } + break; + #ifdef CONFIG_RADIO case MP_CMD_RADIO_STEP_CHANNEL: if (mpctx->demuxer->stream->type == STREAMTYPE_RADIO) { diff --git a/etc/input.conf b/etc/input.conf index 8efa099002..c7540886da 100644 --- a/etc/input.conf +++ b/etc/input.conf @@ -41,6 +41,7 @@ INS alt_src_step 1 DEL alt_src_step -1 o osd I osd_show_property_text "${filename}" # display filename in osd +P osd_show_progression z sub_delay -0.1 # subtract 100 ms delay from subs x sub_delay +0.1 # add 9 volume -1 diff --git a/input/input.c b/input/input.c index d9706804b7..7e679119ea 100644 --- a/input/input.c +++ b/input/input.c @@ -94,6 +94,7 @@ static const mp_cmd_t mp_cmds[] = { { MP_CMD_OSD, "osd",0, { {MP_CMD_ARG_INT,{-1}}, {-1,{0}} } }, { MP_CMD_OSD_SHOW_TEXT, "osd_show_text", 1, { {MP_CMD_ARG_STRING, {0}}, {MP_CMD_ARG_INT,{-1}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, { MP_CMD_OSD_SHOW_PROPERTY_TEXT, "osd_show_property_text",1, { {MP_CMD_ARG_STRING, {0}}, {MP_CMD_ARG_INT,{-1}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, + { MP_CMD_OSD_SHOW_PROGRESSION, "osd_show_progression", 0, { {-1,{0}} } }, { MP_CMD_VOLUME, "volume", 1, { { MP_CMD_ARG_FLOAT,{0} }, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, { MP_CMD_BALANCE, "balance", 1, { { MP_CMD_ARG_FLOAT,{0} }, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, { MP_CMD_MIXER_USEMASTER, "use_master", 0, { {-1,{0}} } }, @@ -400,6 +401,7 @@ static const mp_cmd_bind_t def_cmd_binds[] = { { { KEY_DEL, 0 }, "alt_src_step -1" }, { { 'o', 0 }, "osd" }, { { 'I', 0 }, "osd_show_property_text \"${filename}\"" }, + { { 'P', 0 }, "osd_show_progression" }, { { 'z', 0 }, "sub_delay -0.1" }, { { 'x', 0 }, "sub_delay +0.1" }, { { 'g', 0 }, "sub_step -1" }, diff --git a/input/input.h b/input/input.h index 29e801d374..2df3f03932 100644 --- a/input/input.h +++ b/input/input.h @@ -94,6 +94,7 @@ typedef enum { MP_CMD_SET_PROPERTY, MP_CMD_GET_PROPERTY, MP_CMD_OSD_SHOW_PROPERTY_TEXT, + MP_CMD_OSD_SHOW_PROGRESSION, MP_CMD_SEEK_CHAPTER, MP_CMD_FILE_FILTER, MP_CMD_GET_FILENAME,