mirror of
https://github.com/Ponce/slackbuilds
synced 2024-12-01 01:00:03 +01:00
3cc0b48896
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
83 lines
1.9 KiB
Bash
83 lines
1.9 KiB
Bash
#!/bin/sh
|
|
|
|
# pianobarctl
|
|
# This script uses a specified named pipe (FIFO) to control pianobar.
|
|
# Written by Phillip Warner
|
|
|
|
VERSION=0.2
|
|
# - Updated for new play and "stop" (pause only) controls
|
|
# added to pianobar starting at version 2013.05.19
|
|
# - Added quit option
|
|
|
|
# This is the FIFO that is used to control pianobar
|
|
# It must exist before running pianobar in order for remote control to work
|
|
PIANOBARCTL=~/.config/pianobar/ctl
|
|
|
|
# Control Functions
|
|
NEXT="n"
|
|
PLAYPAUSE="p"
|
|
PLAY="P"
|
|
PAUSE="S"
|
|
LOVE="+"
|
|
BAN="-"
|
|
QUIT="q"
|
|
|
|
set -e
|
|
|
|
usage() {
|
|
echo "$(basename $0) $VERSION - by Phillip Warner"
|
|
echo "Usage:"
|
|
echo " $0 [OPTION]"
|
|
echo "Only one parameter can be used at a time."
|
|
echo "The script's parameters are:"
|
|
echo " -h, --help Help"
|
|
echo " -n, --next Play Next"
|
|
echo " -p, --pause Toggle Play / Pause"
|
|
echo " -x, --play Play"
|
|
echo " -v, --stop Pause"
|
|
echo " -l, --love Love Song"
|
|
echo " -b, --ban Ban Song"
|
|
echo " -q, --quit Quit Program"
|
|
echo
|
|
echo "Current pianobar PIDs (euid=$(id -u)):"
|
|
pgrep -u $(id -u) pianobar$
|
|
}
|
|
|
|
# Make sure the FIFO exists
|
|
if ! [ -p $PIANOBARCTL ]
|
|
then
|
|
echo "ERROR. FIFO $PIANOBARCTL does not exist. Try running mkfifo $PIANOBARCTL and then restarting pianobar first. Aborting..."
|
|
exit 1
|
|
fi
|
|
|
|
# Make sure pianobar is running and that there is no more than one arg
|
|
if ! (pgrep -u $(id -u) pianobar$ &> /dev/null) || [ $2 ]
|
|
then
|
|
usage
|
|
elif [ $1 ]
|
|
then
|
|
case $1 in
|
|
-h|--help ) usage
|
|
;;
|
|
-n|--next ) echo -n $NEXT > $PIANOBARCTL
|
|
;;
|
|
-p|--pause ) echo -n $PLAYPAUSE > $PIANOBARCTL
|
|
;;
|
|
-x|--play ) echo -n $PLAY > $PIANOBARCTL
|
|
;;
|
|
-v|--stop ) echo -n $PAUSE > $PIANOBARCTL
|
|
;;
|
|
-l|--love ) echo -n $LOVE > $PIANOBARCTL
|
|
;;
|
|
-b|--ban ) echo -n $BAN > $PIANOBARCTL
|
|
;;
|
|
-q|--quit ) echo -n $QUIT > $PIANOBARCTL
|
|
;;
|
|
* ) usage
|
|
;;
|
|
esac
|
|
else
|
|
usage
|
|
fi
|
|
|
|
exit
|