From 10fde4dd0a20114323e8370195ed18483617a235 Mon Sep 17 00:00:00 2001 From: Ogromny Date: Mon, 9 Jan 2023 10:07:41 +0100 Subject: [PATCH 1/3] modules/pipewire: use roundf instead of ceilf for more accuracy --- modules/pipewire.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/pipewire.c b/modules/pipewire.c index 0cc641d..ee8359a 100644 --- a/modules/pipewire.c +++ b/modules/pipewire.c @@ -478,8 +478,8 @@ node_events_param(void *userdata, __attribute__((unused)) int seq, __attribute__ total += values[i]; float base_volume = total / n_values; - output_informations->linear_volume = ceilf(base_volume * 100); - output_informations->cubic_volume = ceilf(cbrtf(base_volume) * 100); + output_informations->linear_volume = roundf(base_volume * 100); + output_informations->cubic_volume = roundf(cbrtf(base_volume) * 100); } } From bdbcc0100ae6515d168bfd27e3de9650d4494451 Mon Sep 17 00:00:00 2001 From: Ogromny Date: Fri, 13 Jan 2023 10:19:54 +0100 Subject: [PATCH 2/3] modules/pipewire: change type of volume from uint8 to uint16 --- modules/pipewire.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/pipewire.c b/modules/pipewire.c index ee8359a..2300e7c 100644 --- a/modules/pipewire.c +++ b/modules/pipewire.c @@ -35,8 +35,8 @@ struct output_informations { /* informations */ bool muted; - uint8_t linear_volume; /* classic volume */ - uint8_t cubic_volume; /* volume a la pulseaudio */ + uint16_t linear_volume; /* classic volume */ + uint16_t cubic_volume; /* volume a la pulseaudio */ char *name; char *description; char *form_factor; /* headset, headphone, speaker, ..., can be null */ From 7773a17d576e525b02932cf66871ca477681ef45 Mon Sep 17 00:00:00 2001 From: Ogromny Date: Fri, 13 Jan 2023 14:40:58 +0100 Subject: [PATCH 3/3] CHANGELOG.md: add issue #262 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14bd53c..bbd5f36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,11 +42,13 @@ * dwl module reporting only the last part of the title ([#251][251]) * i3/sway: regression; persistent workspaces shown twice ([#253][253]). +* pipewire: use roundf instead of ceilf for more accuracy ([#262][262]) [239]: https://codeberg.org/dnkl/yambar/issues/239 [241]: https://codeberg.org/dnkl/yambar/issues/241 [251]: https://codeberg.org/dnkl/yambar/pulls/251 [253]: https://codeberg.org/dnkl/yambar/issues/253 +[262]: https://codeberg.org/dnkl/yambar/issues/262 ### Security