forked from external/yambar
module/alsa: use channel’s dB range instead of raw volume, if available
For channels that have a defined dB range, use that instead of the raw volume range when calculating the volume percent. Also use the same logic as alsamixer when calculating the percent from the dB values: assume a linear scale if the dB range is “small enough”, and otherwise normalize it against a logarithmic scale. With this, yambar’s “percent” value matches alsamixer’s exactly. The ‘volume’ tag remains unchanged - it always reflects the raw volume values. Instead, we add a new tag ‘dB’, that reflects the dB values. Closes #202
This commit is contained in:
parent
a0c07d7836
commit
6c10eb2153
4 changed files with 141 additions and 20 deletions
|
@ -11,12 +11,17 @@ alsa - Monitors an alsa soundcard for volume and mute/unmute changes
|
|||
| online
|
||||
: bool
|
||||
: True when the ALSA device has successfully been opened
|
||||
| dB
|
||||
: range
|
||||
: Volume level (in dB), with min and max as start and end range
|
||||
values.
|
||||
| volume
|
||||
: range
|
||||
: Volume level, with min and max as start and end range values
|
||||
: Volume level (raw), with min and max as start and end range values
|
||||
| percent
|
||||
: range
|
||||
: Volume level, as a percentage
|
||||
: Volume level, as a percentage. This value is based on the *dB* tag
|
||||
if available, otherwise the *volume* tag.
|
||||
| muted
|
||||
: bool
|
||||
: True if muted, otherwise false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue