aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJ. Alexander Treuman <jat@spatialrift.net>2008-09-21 19:37:43 +0200
committerMax Kellermann <max@duempel.org>2008-09-21 21:51:00 +0200
commit61053ab09a52c4a0ca36ed4e7eb01cc8a26463d9 (patch)
tree6737e887d505d640b880cea1a2cb8078512d013b /src
parentad98c332ac7551dbf1f99b2c7f5ae60e1009787f (diff)
downloadmpd-61053ab09a52c4a0ca36ed4e7eb01cc8a26463d9.tar.gz
mpd-61053ab09a52c4a0ca36ed4e7eb01cc8a26463d9.tar.xz
mpd-61053ab09a52c4a0ca36ed4e7eb01cc8a26463d9.zip
added optional bitrate display to status bar
If visible-bitrate is enabled, then the current bitrate will be drawn next to the song time in the status bar. By default it will not be displayed.
Diffstat (limited to 'src')
-rw-r--r--src/conf.c5
-rw-r--r--src/options.h1
-rw-r--r--src/screen.c18
3 files changed, 20 insertions, 4 deletions
diff --git a/src/conf.c b/src/conf.c
index 970bc0889..ac48e9cdb 100644
--- a/src/conf.c
+++ b/src/conf.c
@@ -70,6 +70,7 @@
#define CONF_SHOW_SPLASH "show-splash"
#define CONF_SCROLL "scroll"
#define CONF_SCROLL_SEP "scroll-sep"
+#define CONF_VISIBLE_BITRATE "visible-bitrate"
typedef enum {
KEY_PARSER_UNKNOWN,
@@ -462,6 +463,10 @@ read_rc_file(char *filename, options_t *options)
{
options->wide_cursor = str2bool(value);
}
+ /* visible bitrate */
+ else if (!strcasecmp(CONF_VISIBLE_BITRATE, name)) {
+ options->visible_bitrate = str2bool(value);
+ }
/* timer display type */
else if( !strcasecmp(CONF_TIMEDISPLAY_TYPE, name) )
{
diff --git a/src/options.h b/src/options.h
index d0a068f84..58eaff130 100644
--- a/src/options.h
+++ b/src/options.h
@@ -37,6 +37,7 @@ typedef struct {
gboolean enable_xterm_title;
gboolean enable_mouse;
gboolean scroll;
+ gboolean visible_bitrate;
} options_t;
#ifndef NO_GLOBAL_OPTIONS
diff --git a/src/screen.c b/src/screen.c
index 2a5d6416f..c526e66cc 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -317,6 +317,7 @@ paint_status_window(mpdclient_t *c)
mpd_Status *status = c->status;
mpd_Song *song = c->song;
int elapsedTime = 0;
+ char bitrate[16];
const char *str = NULL;
int x = 0;
@@ -357,16 +358,25 @@ paint_status_window(mpdclient_t *c)
if( c->song && seek_id == c->song->id )
elapsedTime = seek_target_time;
+
+ /* display bitrate if visible-bitrate is true */
+ if (options.visible_bitrate) {
+ g_snprintf(bitrate, 16,
+ " [%d kbps]", status->bitRate);
+ } else {
+ bitrate[0] = '\0';
+ }
+
/*write out the time, using hours if time over 60 minutes*/
if (c->status->totalTime > 3600) {
g_snprintf(screen.buf, screen.buf_size,
- " [%i:%02i:%02i/%i:%02i:%02i]",
- elapsedTime/3600, (elapsedTime%3600)/60, elapsedTime%60,
+ "%s [%i:%02i:%02i/%i:%02i:%02i]",
+ bitrate, elapsedTime/3600, (elapsedTime%3600)/60, elapsedTime%60,
status->totalTime/3600, (status->totalTime%3600)/60, status->totalTime%60);
} else {
g_snprintf(screen.buf, screen.buf_size,
- " [%i:%02i/%i:%02i]",
- elapsedTime/60, elapsedTime%60,
+ "%s [%i:%02i/%i:%02i]",
+ bitrate, elapsedTime/60, elapsedTime%60,
status->totalTime/60, status->totalTime%60 );
}
} else {