69 lines
1.0 KiB
Bash
Executable File
69 lines
1.0 KiB
Bash
Executable File
#! /bin/bash
|
|
set -u
|
|
set -e
|
|
|
|
function main() {
|
|
start_mpd
|
|
init_mpd
|
|
|
|
start_ympd
|
|
|
|
start_goprox
|
|
|
|
init_cron
|
|
|
|
exec /opt/pause
|
|
}
|
|
|
|
function start_mpd() {
|
|
mpd --stdout --no-daemon &
|
|
disown %1
|
|
sleep 1
|
|
until curl localhost:6600 2> /dev/null; do
|
|
echo waiting for mpd...
|
|
sleep 1
|
|
done
|
|
}
|
|
|
|
function start_ympd() {
|
|
ympd -h localhost -p 6600 -w 4041 &
|
|
disown %1
|
|
}
|
|
|
|
function start_goprox() {
|
|
./goprox -port 7000 -httpd 8000 -mpd 6600 &
|
|
disown %1
|
|
}
|
|
|
|
function init_mpd() {
|
|
mpc update
|
|
mpc consume 0
|
|
mpc repeat 1
|
|
mpc random 1
|
|
mpc clear
|
|
if [ -n "$(mpc lsplaylists | grep RESTORE)" ]; then
|
|
mpc load RESTORE
|
|
fi
|
|
mpc play
|
|
mpc pause
|
|
}
|
|
|
|
function init_cron() {
|
|
echo '
|
|
#! /bin/sh
|
|
set -e
|
|
set -u
|
|
mpc rm RESTORE || true
|
|
mpc save RESTORE
|
|
echo "Done: $(date)" >> /opt/mpd.save.log
|
|
' > /opt/mpd.save.sh
|
|
chmod +x /opt/mpd.save.sh
|
|
|
|
echo '*/15 * * * * sh /opt/mpd.save.sh' > /opt/cron
|
|
crontab /opt/cron
|
|
}
|
|
|
|
if [ "$0" == "${BASH_SOURCE[0]}" ]; then
|
|
main "${@:-}"
|
|
fi
|