129 lines
2.8 KiB
Bash
Executable File
129 lines
2.8 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
searchplayers() {
|
|
xdotool search --name "mpv" | sed 's|$| mpv|'
|
|
xdotool search --name "vlc" | sed 's|$| vlc|'
|
|
}
|
|
|
|
playerplay() {
|
|
case "$2" in
|
|
"mpv")
|
|
xdotool key --window "$1" space
|
|
;;
|
|
"vlc")
|
|
xdotool key --window "$1" space
|
|
;;
|
|
esac
|
|
}
|
|
|
|
playerstop() {
|
|
case "$2" in
|
|
"mpv")
|
|
xdotool key --window "$1" q
|
|
;;
|
|
"vlc")
|
|
xdotool key --window "$1" s
|
|
;;
|
|
esac
|
|
}
|
|
|
|
playernext() {
|
|
case "$2" in
|
|
"mpv")
|
|
xdotool key --window "$1" greater
|
|
;;
|
|
"vlc")
|
|
xdotool key --window "$1" n
|
|
;;
|
|
esac
|
|
}
|
|
|
|
playerprev() {
|
|
case "$2" in
|
|
"mpv")
|
|
xdotool key --window "$1" less
|
|
;;
|
|
"vlc")
|
|
xdotool key --window "$1" p
|
|
;;
|
|
esac
|
|
}
|
|
|
|
if $MUSICPLAYERSTATUS 2>/dev/null; then
|
|
status=$($MUSICPLAYERSTATUS)
|
|
case "$1" in
|
|
"play")
|
|
case "$MUSICPLAYER" in
|
|
"mocp")
|
|
if [ "$status" = "State: STOP" ]; then
|
|
mocp -p
|
|
else
|
|
mocp -G
|
|
fi
|
|
;;
|
|
"mpc")
|
|
if mpc | grep -q "\[\(playing\|paused\)\]"; then
|
|
mpc toggle
|
|
else
|
|
mpc play
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
"toggle")
|
|
case "$MUSICPLAYER" in
|
|
"mocp")
|
|
mocp -G
|
|
;;
|
|
"mpc")
|
|
mpc toggle
|
|
;;
|
|
esac
|
|
;;
|
|
"stop")
|
|
case "$MUSICPLAYER" in
|
|
"mocp")
|
|
if [ "$status" = "State: STOP" ]; then
|
|
mocp -x
|
|
else
|
|
mocp -s
|
|
fi
|
|
;;
|
|
"mpc")
|
|
if mpc | grep -q "\[\(playing\|paused\)\]"; then
|
|
mpc stop
|
|
else
|
|
mpd --kill
|
|
fi
|
|
;;
|
|
esac
|
|
;;
|
|
"next")
|
|
case "$MUSICPLAYER" in
|
|
"mocp")
|
|
mocp -f
|
|
;;
|
|
"mpc")
|
|
mpc next
|
|
;;
|
|
esac
|
|
;;
|
|
"prev")
|
|
case "$MUSICPLAYER" in
|
|
"mocp")
|
|
mocp -r
|
|
;;
|
|
"mpc")
|
|
mpc prev
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
|
|
else
|
|
searchplayers | while read -r line; do
|
|
echo "$line"
|
|
player$1 $line
|
|
done
|
|
fi
|