From: Yoann Peronneau Date: Wed, 10 Dec 2003 17:19:05 +0000 (+0000) Subject: added a hotkey ('t') which displays the position in the media X-Git-Tag: 0.7.0~171 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=d2c70247d8dfb11aa6d1e94db2e39f910383d561;p=vlc added a hotkey ('t') which displays the position in the media --- diff --git a/include/vlc_keys.h b/include/vlc_keys.h index 19f19f1e6b..9dcfe8e4a6 100644 --- a/include/vlc_keys.h +++ b/include/vlc_keys.h @@ -2,7 +2,7 @@ * hotkeys.h: keycode defines ***************************************************************************** * Copyright (C) 2003 VideoLAN - * $Id: vlc_keys.h,v 1.9 2003/11/16 22:10:16 sam Exp $ + * $Id: vlc_keys.h,v 1.10 2003/12/10 17:19:05 yoann Exp $ * * Authors: Sigmund Augdal * @@ -198,3 +198,4 @@ static inline int StringToKey( char *psz_key ) #define ACTIONID_JUMP_FORWARD_1MIN 21 #define ACTIONID_JUMP_BACKWARD_5MIN 22 #define ACTIONID_JUMP_FORWARD_5MIN 23 +#define ACTIONID_POSITION 24 diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c index 33226aefdb..0208a38f68 100755 --- a/modules/control/hotkeys.c +++ b/modules/control/hotkeys.c @@ -2,7 +2,7 @@ * hotkeys.c: Hotkey handling for vlc ***************************************************************************** * Copyright (C) 2003 VideoLAN - * $Id: hotkeys.c,v 1.9 2003/12/08 13:04:58 gbazin Exp $ + * $Id: hotkeys.c,v 1.10 2003/12/10 17:19:05 yoann Exp $ * * Authors: Sigmund Augdal * @@ -351,6 +351,42 @@ static void Run( intf_thread_t *p_intf ) vlc_value_t val; val.b_bool = VLC_TRUE; var_Set( p_input, "rate-slower", val ); } + else if( i_action == ACTIONID_POSITION ) + { + p_playlist = vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, + FIND_ANYWHERE ); + char psz_duration[MSTRTIME_MAX_SIZE]; + char psz_time[MSTRTIME_MAX_SIZE]; + vlc_value_t time; + mtime_t i_seconds; + + var_Get( p_input, "time", &time ); + + if( p_playlist ) + { + mtime_t dur = + p_playlist->pp_items[p_playlist->i_index]->i_duration; + + i_seconds = time.i_time / 1000000; + secstotimestr ( psz_time, i_seconds ); + + if( dur != -1 ) + { + char psz_position[2*MSTRTIME_MAX_SIZE + 3]; + secstotimestr( psz_duration, dur/1000000 ); + strcpy( psz_position, psz_time ); + strcat( psz_position, " / " ); + strcat( psz_position, psz_duration ); + vout_OSDMessage( VLC_OBJECT(p_playlist), psz_position ); + } + else if( i_seconds > 0 ) + { + vout_OSDMessage( VLC_OBJECT(p_playlist), psz_time ); + } + } + + vlc_object_release( p_playlist ); + } } } diff --git a/src/libvlc.h b/src/libvlc.h index 0e95d43ac8..561418e712 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -2,7 +2,7 @@ * libvlc.h: main libvlc header ***************************************************************************** * Copyright (C) 1998-2002 VideoLAN - * $Id: libvlc.h,v 1.115 2003/12/09 00:46:03 yoann Exp $ + * $Id: libvlc.h,v 1.116 2003/12/10 17:19:05 yoann Exp $ * * Authors: Vincent Seguin * Samuel Hocevar @@ -545,6 +545,8 @@ static char *ppsz_language_text[] = #define PREV_KEY_LONGTEXT N_("Select the hotkey to use to skip to the previous item in the playlist") #define STOP_KEY_TEXT N_("Stop") #define STOP_KEY_LONGTEXT N_("Select the hotkey to stop the playback") +#define POSITION_KEY_TEXT N_("Position") +#define POSITION_KEY_LONGTEXT N_("Select the hotkey to display the position") #define JB10SEC_KEY_TEXT N_("Jump backward 10 seconds") #define JB10SEC_KEY_LONGTEXT N_("Select the hotkey to jump backward by 10 seconds") @@ -800,6 +802,7 @@ vlc_module_begin(); add_key( "key-next", KEY_MODIFIER_COMMAND|KEY_RIGHT, NULL, NEXT_KEY_TEXT, NEXT_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-prev", KEY_MODIFIER_COMMAND|KEY_LEFT, NULL, PREV_KEY_TEXT, PREV_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-stop", KEY_MODIFIER_COMMAND|'.', NULL, STOP_KEY_TEXT, STOP_KEY_LONGTEXT, VLC_FALSE ); + add_key( "key-position", KEY_MODIFIER_COMMAND|'t', NULL, POSITION_KEY_TEXT, POSITION_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-jump-10sec", KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB10SEC_KEY_TEXT, JB10SEC_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-jump+10sec", KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF10SEC_KEY_TEXT, JF10SEC_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-jump-1min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_LEFT, NULL, JB1MIN_KEY_TEXT, JB1MIN_KEY_LONGTEXT, VLC_FALSE ); @@ -824,6 +827,7 @@ vlc_module_begin(); add_key( "key-next", 'n', NULL, NEXT_KEY_TEXT, NEXT_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-prev", 'p', NULL, PREV_KEY_TEXT, PREV_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-stop", 's', NULL, STOP_KEY_TEXT, STOP_KEY_LONGTEXT, VLC_FALSE ); + add_key( "key-position", 't', NULL, POSITION_KEY_TEXT, POSITION_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-jump-10sec", KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB10SEC_KEY_TEXT, JB10SEC_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-jump+10sec", KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF10SEC_KEY_TEXT, JF10SEC_KEY_LONGTEXT, VLC_FALSE ); add_key( "key-jump-1min", KEY_MODIFIER_CTRL|KEY_LEFT, NULL, JB1MIN_KEY_TEXT, JB1MIN_KEY_LONGTEXT, VLC_FALSE ); @@ -882,6 +886,7 @@ static struct hotkey p_hotkeys[] = { "key-play", ACTIONID_PLAY, 0 }, { "key-pause", ACTIONID_PAUSE, 0 }, { "key-stop", ACTIONID_STOP, 0 }, + { "key-position", ACTIONID_POSITION, 0 }, { "key-jump-10sec", ACTIONID_JUMP_BACKWARD_10SEC, 0 }, { "key-jump+10sec", ACTIONID_JUMP_FORWARD_10SEC, 0 }, { "key-jump-1min", ACTIONID_JUMP_BACKWARD_1MIN, 0 },