From ef069cfb5d8d73a615901395dda19d1357afb58d Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 14 Nov 2009 02:47:28 +0100 Subject: [PATCH] status_bar: display elapsed time event when total time is unknown This is useful for streams: how long have we been playing this stream? --- NEWS | 1 + src/status_bar.c | 13 +++++-------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index c48e9df..f5ff892 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,7 @@ ncmpc 0.16 - not yet released * screen_browser: display song duration * screen_queue: move ranges with one single "move" command * status_bar: fix display_remaining_time while seeking +* status_bar: display elapsed time event when total time is unknown ncmpc 0.15 - 2009-09-24 diff --git a/src/status_bar.c b/src/status_bar.c index 2bb3057..8f80fca 100644 --- a/src/status_bar.c +++ b/src/status_bar.c @@ -100,7 +100,6 @@ status_bar_paint(struct status_bar *p, const struct mpd_status *status, { WINDOW *w = p->window.w; enum mpd_state state; - int elapsedTime = 0; const char *str = NULL; int x = 0; char buffer[p->window.cols * 4 + 1]; @@ -139,8 +138,12 @@ status_bar_paint(struct status_bar *p, const struct mpd_status *status, /* create time string */ if (state == MPD_STATE_PLAY || state == MPD_STATE_PAUSE) { + int elapsedTime = seek_id >= 0 && + seek_id == mpd_status_get_song_id(status) + ? (unsigned)seek_target_time + : mpd_status_get_elapsed_time(status); int total_time = mpd_status_get_total_time(status); - if (total_time > 0) { + if (elapsedTime > 0 || total_time > 0) { #ifdef NCMPC_MINI static const char bitrate[1]; #else @@ -149,12 +152,6 @@ status_bar_paint(struct status_bar *p, const struct mpd_status *status, char elapsed_string[32], duration_string[32]; /*checks the conf to see whether to display elapsed or remaining time */ - if (seek_id >= 0 && - seek_id == mpd_status_get_song_id(status)) - elapsedTime = seek_target_time; - else - elapsedTime = mpd_status_get_elapsed_time(status); - if (options.display_remaining_time) elapsedTime = elapsedTime < total_time ? total_time - elapsedTime -- 2.30.2