Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- # A script to fade ALSA volume when pausing or start playing music
- # in music player that support MPRIS.
- # Using playerctl and amixer.
- # Get ALSA volume value and calculate step
- export VOLUMEALSA=$(amixer get Master | grep % | awk '{ print $3 }')
- export VOLUMESTEP=$(expr $VOLUMEALSA / 10)
- # Commands
- export VOLUMEZERO="amixer set Master 0"
- export VOLUMERESET="amixer set Master $VOLUMEALSA"
- export MPRISSTATUS="$(playerctl status)"
- if [ $MPRISSTATUS = "Playing" ]; then
- # Fading down and pausing.
- $VOLUMERESET &&
- for a in 1 2 3 4 5 6 7 8 9 10;
- do amixer set Master $VOLUMESTEP- && sleep 0.1; done &&
- $VOLUMEZERO && playerctl pause && sleep 0.5 && $VOLUMERESET
- else
- # Playing and fading up.
- if [ $MPRISSTATUS = "Paused" ]; then
- $VOLUMEZERO && playerctl play &&
- for a in 1 2 3 4 5 6 7 8 9 10;
- do amixer set Master $VOLUMESTEP+ && sleep 0.1; done &&
- $VOLUMERESET
- else
- echo "MPRIS server or your music player is not running."
- fi
- fi
- echo $MPRISSTATUS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement