SHARE
TWEET

Audacious Multitool

emkay443 Aug 9th, 2013 130 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. # Audacious Multi Tool
  3. #
  4. # Can start and control audacious (play/pause, stop, prev, next, volume)
  5. #
  6. # Dependencies: audacious
  7. #
  8. # Author: Michael Koch (Emkay443) (m<DOT>koch<AT>emkay443<DOT>de)
  9. # Version: 2013-08-31
  10. # License: GNU General Public License v3 (http://www.gnu.de/documents/gpl-3.0.en.html)
  11.  
  12. ###################
  13. ## CONFIGURATION ##
  14. ###################
  15.  
  16. # Command line option names
  17. option_playpause="playpause"
  18. option_stop="stop"
  19. option_prev="prev"
  20. option_next="next"
  21. option_volup="volup"
  22. option_voldown="voldown"
  23. option_mute="mute"
  24.  
  25. # Audacious and audtool commands
  26. audacious_cmd="/usr/bin/audacious"
  27. audtool_cmd="/usr/bin/audtool"
  28.  
  29.  
  30. #########################################################################################
  31. # WARNING: You should be careful when changing any code below. Modify at your own risk! #
  32. #########################################################################################
  33.  
  34. ##################
  35. ## MAIN PROGRAM ##
  36. ##################
  37.  
  38. # Start audacious with file if there's one provided (second parameter)
  39. if [ ! -z "$2" ]; then
  40.         audacious -p "$2" &
  41. else
  42.         # If audacious is not running, start it
  43.         if [ ! "$(pidof audacious)" ]; then
  44.                 $audacious_cmd -p &
  45.         else
  46.                 case "$1" in
  47.                         "$option_playpause")
  48.                                 $audtool_cmd --playback-playpause
  49.                                 ;;
  50.                         "$option_stop")
  51.                                 $audtool_cmd --playback-stop
  52.                                 ;;
  53.                         "$option_prev")
  54.                                 $audtool_cmd --playlist-reverse
  55.                                 ;;
  56.                         "$option_next")
  57.                                 $audtool_cmd --playlist-advance
  58.                                 ;;
  59.                         "$option_voldown")
  60.                                 if [ -e "/tmp/audmultitool_lastvol" ]; then
  61.                             $audtool_cmd --set-volume $(cat /tmp/audmultitool_lastvol)
  62.                             rm /tmp/audmultitool_lastvol
  63.                     else
  64.                                         $audtool_cmd --set-volume $(echo $($audtool_cmd --get-volume)-5 | bc)
  65.                                 fi
  66.                                 ;;
  67.                         "$option_volup")
  68.                                 if [ -e "/tmp/audmultitool_lastvol" ]; then
  69.                         $audtool_cmd --set-volume $(cat /tmp/audmultitool_lastvol)
  70.                         rm /tmp/audmultitool_lastvol
  71.                 else
  72.                                         $audtool_cmd --set-volume $(echo $($audtool_cmd --get-volume)+5 | bc)
  73.                                 fi
  74.                                 ;;
  75.                         "$option_mute")
  76.                                 if [ -e "/tmp/audmultitool_lastvol" ]; then
  77.                                         $audtool_cmd --set-volume $(cat /tmp/audmultitool_lastvol)
  78.                                         rm /tmp/audmultitool_lastvol
  79.                                 else
  80.                                         $audtool_cmd --get-volume > /tmp/audmultitool_lastvol
  81.                                         $audtool_cmd --set-volume 0
  82.                                 fi
  83.                                 ;;
  84.                         *)
  85.                                 echo "Available options are:"
  86.                                 echo "$option_playpause, $option_stop, $option_prev, $option_next,"
  87.                                 echo "$option_voldown, $option_volup, $option_mute"
  88.                                 exit 1
  89.                                 ;;
  90.                 esac
  91.         fi
  92. fi
  93. exit 0
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top