summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2023-08-02 02:01:04 -0500
committerzachir <zachir@librem.one>2023-08-02 02:01:04 -0500
commit89d678ae0efc6a02196a6bbfc283f918a5fa1ba2 (patch)
tree56fd78dc8e2de2ccbcfe932693a7c71af5339af5
parent22b64a95dbfcaee8511d0f32fce2ca819a1a4eeb (diff)
Remove pamixer dep, improve syntax, use case
Signed-off-by: zachir <zachir@librem.one>
-rwxr-xr-xvolsv64
1 files changed, 39 insertions, 25 deletions
diff --git a/volsv b/volsv
index ac9b7a3..5976fcc 100755
--- a/volsv
+++ b/volsv
@@ -3,30 +3,34 @@
#{{{ detect
detect () {
if pgrep -x pulseaudio >/dev/null; then
- PULSE='y' ; unset PIPEWIRE SNDIO ALSA
+ AUDIO_SERVER="PULSE"
elif pgrep -x pipewire >/dev/null; then
- PIPEWIRE='y' ; unset PULSE SNDIO ALSA
+ AUDIO_SERVER="PW"
elif pgrep -x sndiod >/dev/null; then
- SNDIO='y' ; unset PIPEWIRE PULSE ALSA
+ AUDIO_SERVER="SNDIO"
else
- ALSA='y' ; unset PIPEWIRE PULSE SNDIO
+ AUDIO_SERVER="ALSA"
fi
}
#}}}
#{{{ up
up () {
- [ -n "$SNDIO" ] && sndioctl output.level=+"$(printf "%0.02f" "$(( amt * 0.01 ))")"
- [ -n "$PULSE$PIPEWIRE" ] && pactl set-sink-volume $(pactl get-default-sink) "+${amt}%"
- [ -n "$ALSA" ] && amixer sset Master "${amt}%+"
+ case "$AUDIO_SERVER" in
+ SNDIO) sndioctl output.level=+"$(printf "%0.02f" "$(( amt * 0.01 ))")" ;;
+ PULSE|PW) pactl set-sink-volume $(pactl get-default-sink) "+${amt}%" ;;
+ ALSA) amixer sset Master "${amt}%+" ;;
+ esac
}
#}}}
#{{{ down
down () {
- [ -n "$SNDIO" ] && sndioctl output.level=-"$(printf "%0.02f" "$(( amt * 0.01 ))")"
- [ -n "$PULSE$PIPEWIRE" ] && pactl set-sink-volume $(pactl get-default-sink) "-${amt}%"
- [ -n "$ALSA" ] && amixer sset Master "${amt}%-"
+ case "$AUDIO_SERVER" in
+ SNDIO) sndioctl output.level=-"$(printf "%0.02f" "$(( amt * 0.01 ))")" ;;
+ PULSE|PW) pactl set-sink-volume $(pactl get-default-sink) "-${amt}%" ;;
+ ALSA) amixer sset Master "${amt}%-" ;;
+ esac
}
#}}}
@@ -34,14 +38,18 @@ down () {
mute () {
case "$1" in
spr)
- [ -n "$SNDIO" ] && sndioctl output.mute=!
- [ -n "$PULSE$PIPEWIRE" ] && pactl set-sink-mute $(pactl get-default-sink) toggle
- [ -n "$ALSA" ] && amixer sset Master toggle
+ case "$AUDIO_SERVER" in
+ SNDIO) sndioctl output.mute=! ;;
+ PULSE|PW) pactl set-sink-mute $(pactl get-default-sink) toggle ;;
+ ALSA) amixer sset Master toggle ;;
+ esac
;;
mic)
- [ -n "$SNDIO" ] && sndioctl input.mute=!
- [ -n "$PULSE$PIPEWIRE" ] && pactl set-source-mute $(pactl get-default-source) toggle
- [ -n "$PIPEWIRE$ALSA" ] && amixer sset Capture toggle
+ case "$AUDIO_SERVER" in
+ SNDIO) sndioctl input.mute=! ;;
+ PULSE|PW) pactl set-source-mute $(pactl get-default-source) toggle ;;
+ ALSA) amixer sset Capture toggle ;;
+ esac
;;
esac
}
@@ -51,19 +59,25 @@ mute () {
get () {
case "$1" in
volu)
- [ -n "$SNDIO" ] && printf "%s%%" `sndioctl output.level | rev | cut -d'.' -f1 | rev | cut -c 1,2`
- [ -n "$PULSE$PIPEWIRE" ] && printf "%s%%\n" "$(pamixer --get-volume)"
- [ -n "$ALSA" ] && amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g'
+ case "$AUDIO_SERVER" in
+ SNDIO) printf "%s%%" "$(sndioctl output.level | rev | cut -d'.' -f1 | rev | cut -c 1,2)" ;;
+ PULSE|PW) printf "%s\n" "$(pactl get-sink-volume "$(pactl get-default-sink)")" ;;
+ ALSA) amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g' ;;
+ esac
;;
mute)
- [ -n "$SNDIO" ] && sndioctl output.mute | cut -d'=' -f2 | sed 's/1/[off]/;s/0/[on]/'
- [ -n "$PULSE$PIPEWIRE" ] && pamixer --get-mute | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/'
- [ -n "$ALSA" ] && amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1
+ case "$AUDIO_SERVER" in
+ SNDIO) sndioctl output.mute | cut -d'=' -f2 | sed 's/1/[off]/;s/0/[on]/' ;;
+ PULSE|PW) pactl get-sink-mute "$(pactl get-default-sink)" | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/' ;;
+ ALSA) amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1 ;;
+ esac
;;
both)
- [ -n "$SNDIO" ] && printf "%s%s%%" `sndioctl output.mute | cut -d'=' -f2 | sed 's/1/[off]/;s/0/[on]/'` `sndioctl output.level | rev | cut -d'.' -f1 | rev | cut -c 1,2`
- [ -n "$PULSE$PIPEWIRE" ] && printf "%s%s%%\n" `pamixer --get-mute | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/'` "$(pamixer --get-volume)"
- [ -n "$ALSA" ] && printf "%s%s" `amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1` `amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g'`
+ case "$AUDIO_SERVER" in
+ SNDIO) printf "%s%s%%" "$(sndioctl output.mute | cut -d'=' -f2 | sed 's/1/[off]/;s/0/[on]/')" "$(sndioctl output.level | rev | cut -d'.' -f1 | rev | cut -c 1,2)" ;;
+ PULSE|PW) printf "%s%s%%\n" "$(pactl get-sink-mute "$(pactl get-default-sink)" | sed 's/[Ff]alse/\[on\]/;s/[Tt]rue/\[off\]/')" "$(pactl get-sink-volume "$(pactl get-default-sink)")" ;;
+ ALSA) printf "%s%s" "$(amixer sget Master | grep '\[o[fn]' | cut -d' ' -f8 | head -1)" "$(amixer sget Master | grep '\[[0-9]*\%\]' | sed "s/ /\n/g" | grep '%' | sed 's/\[//;s/\]//g')" ;;
+ esac
;;
esac
}