vlc | branch: master | Rafaël Carré <[email protected]> | Tue Oct 26 15:46:53 2010 +0200| [849824afed632185d58c90774305c9e2ce3de536] | committer: Rafaël Carré
ncurses: remove f_slider* from intf context ManageSlider() -> ChangePosition(), now takes the position increment as (signed) argument Don't show percentage of media in Position (elapsed/total already show this information) > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=849824afed632185d58c90774305c9e2ce3de536 --- modules/gui/ncurses.c | 55 +++++++++++++++++------------------------------- 1 files changed, 20 insertions(+), 35 deletions(-) diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c index 2bd344d..727bfd3 100644 --- a/modules/gui/ncurses.c +++ b/modules/gui/ncurses.c @@ -176,9 +176,6 @@ struct intf_sys_t bool b_color; bool b_color_started; - float f_slider; - float f_slider_old; - WINDOW *w; int i_box_type; @@ -781,7 +778,7 @@ static void Redraw(intf_thread_t *p_intf, time_t *t_last_refresh) var_Get(p_input, "length", &val); secstotimestr(buf2, val.i_time / CLOCK_FREQ); - mvnprintw(y++, 0, COLS, _(" Position : %s/%s (%.2f%%)"), buf1, buf2, p_sys->f_slider); + mvnprintw(y++, 0, COLS, _(" Position : %s/%s"), buf1, buf2); /* Volume */ aout_VolumeGet(p_playlist, &i_volume); @@ -819,7 +816,13 @@ static void Redraw(intf_thread_t *p_intf, time_t *t_last_refresh) DrawBox(p_sys->w, y, 0, 3, COLS, "", p_sys->b_color); DrawEmptyLine(p_sys->w, y+1, 1, COLS-2); - DrawLine(p_sys->w, y+1, 1, (int)(p_intf->p_sys->f_slider/100.0 * (COLS -2))); + + if (p_input && var_GetInteger(p_input, "state") == PLAYING_S) + { + float pos = var_GetFloat(p_input, "position"); + DrawLine(p_sys->w, y+1, 1, (int)(pos * (COLS-2))); + } + y += 3; p_sys->i_box_y = y + 1; @@ -1339,7 +1342,7 @@ static void Redraw(intf_thread_t *p_intf, time_t *t_last_refresh) *t_last_refresh = time(0); } -static void ManageSlider(intf_thread_t *p_intf) +static void ChangePosition(intf_thread_t *p_intf, float increment) { intf_sys_t *p_sys = p_intf->p_sys; input_thread_t *p_input = p_sys->p_input; @@ -1348,16 +1351,12 @@ static void ManageSlider(intf_thread_t *p_intf) if (!p_input || var_GetInteger(p_input, "state") != PLAYING_S) return; - pos = var_GetFloat(p_input, "position"); - if (p_sys->f_slider == p_sys->f_slider_old) - p_sys->f_slider = p_sys->f_slider_old = 100. * pos; - else - { - p_sys->f_slider_old = p_sys->f_slider; + pos = var_GetFloat(p_input, "position") + increment; - pos = p_sys->f_slider / 100.; - var_SetFloat(p_input, "position", pos); - } + if (pos > 0.99) pos = 0.99; + if (pos < 0.0) pos = 0.0; + + var_SetFloat(p_input, "position", pos); } static inline int RemoveLastUTF8Entity(char *psz, int len) @@ -1726,25 +1725,19 @@ static int HandleKey(intf_thread_t *p_intf) switch(i_key) { case KEY_HOME: - p_sys->f_slider = 0; - ManageSlider(p_intf); + ChangePosition(p_intf, -1.0); return 1; #ifdef __FreeBSD__ case KEY_SELECT: #endif case KEY_END: - p_sys->f_slider = 99.9; - ManageSlider(p_intf); + ChangePosition(p_intf, .99); return 1; case KEY_UP: - p_sys->f_slider += 5.0; - if (p_sys->f_slider >= 99.0) p_sys->f_slider = 99.0; - ManageSlider(p_intf); + ChangePosition(p_intf, 0.05); return 1; case KEY_DOWN: - p_sys->f_slider -= 5.0; - if (p_sys->f_slider < 0.0) p_sys->f_slider = 0.0; - ManageSlider(p_intf); + ChangePosition(p_intf, -0.05); return 1; default: @@ -1929,15 +1922,11 @@ static int HandleKey(intf_thread_t *p_intf) /* Navigation */ case KEY_RIGHT: - p_sys->f_slider += 1.0; - if (p_sys->f_slider > 99.9) p_sys->f_slider = 99.9; - ManageSlider(p_intf); + ChangePosition(p_intf, 0.01); break; case KEY_LEFT: - p_sys->f_slider -= 1.0; - if (p_sys->f_slider < 0.0) p_sys->f_slider = 0.0; - ManageSlider(p_intf); + ChangePosition(p_intf, -0.01); break; /* Common control */ @@ -2053,7 +2042,6 @@ static void Run(intf_thread_t *p_intf) { vlc_object_release(p_sys->p_input); p_sys->p_input = NULL; - p_sys->f_slider = p_sys->f_slider_old = 0.0; } PL_LOCK; @@ -2073,10 +2061,7 @@ static void Run(intf_thread_t *p_intf) } if ((time(0) - t_last_refresh) >= 1) - { - ManageSlider(p_intf); Redraw(p_intf, &t_last_refresh); - } } var_DelCallback(p_playlist, "intf-change", PlaylistChanged, p_intf); var_DelCallback(p_playlist, "playlist-item-append", PlaylistChanged, p_intf); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
