Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #! /bin/bash
  2.  
  3. # A script to fade ALSA volume when pausing or start playing music
  4. # in music player that support MPRIS.
  5. # Using playerctl and amixer.
  6.  
  7. # Get ALSA volume value and calculate step
  8. export VOLUMEALSA=$(amixer get Master | grep % | awk '{ print $3 }')
  9. export VOLUMESTEP=$(expr $VOLUMEALSA / 10)
  10.  
  11. # Commands
  12. export VOLUMEZERO="amixer set Master 0"
  13. export VOLUMERESET="amixer set Master $VOLUMEALSA"
  14. export MPRISSTATUS="$(playerctl status)"
  15.  
  16. if [ $MPRISSTATUS = "Playing" ]; then
  17. # Fading down and pausing.
  18. $VOLUMERESET &&
  19. for a in 1 2 3 4 5 6 7 8 9 10;
  20. do amixer set Master $VOLUMESTEP- && sleep 0.1; done &&
  21. $VOLUMEZERO && playerctl pause && sleep 0.5 && $VOLUMERESET
  22. else
  23. # Playing and fading up.
  24. if [ $MPRISSTATUS = "Paused" ]; then
  25. $VOLUMEZERO && playerctl play &&
  26. for a in 1 2 3 4 5 6 7 8 9 10;
  27. do amixer set Master $VOLUMESTEP+ && sleep 0.1; done &&
  28. $VOLUMERESET
  29. else
  30. echo "MPRIS server or your music player is not running."
  31. fi
  32. fi
  33.  
  34. echo $MPRISSTATUS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement