diff --git a/CHANGELOG.md b/CHANGELOG.md index 115c7a9..59add2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,8 @@ (https://codeberg.org/dnkl/yambar/issues/9). * script: new module, adds support for custom user scripts (https://codeberg.org/dnkl/yambar/issues/11). +* mpd: `volume` tag. This is a range tag that represents MPD's current volume + in percentage (0-100) ### Deprecated diff --git a/doc/yambar-modules.5.scd b/doc/yambar-modules.5.scd index 0e02495..652d6b5 100644 --- a/doc/yambar-modules.5.scd +++ b/doc/yambar-modules.5.scd @@ -452,6 +452,9 @@ artist/album/song. | consume : bool : True if the *consume* flag is set +| volume +: range +: Volume of MPD in percentage | album : string : Currently playing album (also valid in *paused* state) diff --git a/modules/mpd.c b/modules/mpd.c index f6ae445..ed80751 100644 --- a/modules/mpd.c +++ b/modules/mpd.c @@ -38,6 +38,7 @@ struct private { bool repeat; bool random; bool consume; + int volume; char *album; char *artist; char *title; @@ -162,6 +163,7 @@ content(struct module *mod) tag_new_bool(mod, "repeat", m->repeat), tag_new_bool(mod, "random", m->random), tag_new_bool(mod, "consume", m->consume), + tag_new_int_range(mod, "volume", m->volume, 0, 100), tag_new_string(mod, "album", m->album), tag_new_string(mod, "artist", m->artist), tag_new_string(mod, "title", m->title), @@ -320,6 +322,7 @@ update_status(struct module *mod) m->repeat = mpd_status_get_repeat(status); m->random = mpd_status_get_random(status); m->consume = mpd_status_get_consume(status); + m->volume = mpd_status_get_volume(status); m->duration = mpd_status_get_total_time(status) * 1000; m->elapsed.value = mpd_status_get_elapsed_ms(status); m->elapsed.when = now;