blob: ccc99d07a5e753616d5a081b622c728b3e199e3d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#!/bin/sh
# pianobarctl
# This script uses a specified named pipe (FIFO) to control pianobar.
# Written by Phillip Warner
VERSION=0.1
# 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"
LOVE="+"
BAN="-"
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 Play / Pause"
echo " -x, --play Play / Pause"
echo " -l, --love Love Song"
echo " -b, --ban Ban Song"
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 $PLAYPAUSE > $PIANOBARCTL
;;
-l|--love ) echo -n $LOVE > $PIANOBARCTL
;;
-b|--ban ) echo -n $BAN > $PIANOBARCTL
;;
* ) usage
;;
esac
else
usage
fi
exit
|