Skip to content

Instantly share code, notes, and snippets.

@neaf
Created April 15, 2009 19:54
Show Gist options
  • Save neaf/95989 to your computer and use it in GitHub Desktop.
Save neaf/95989 to your computer and use it in GitHub Desktop.
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
stat_busy "Starting Music Player Daemon"
# always start in paused state
awk '/^state_file[ \t]+"[^"]+"$/ {
match($0, "\".+\"")
sfile = substr($0, RSTART + 1, RLENGTH - 2)
} /^user[ \t]+"[^"]+"$/ {
match($0, "\".+\"")
user = substr($0, RSTART + 1, RLENGTH - 2)
} END {
if (sfile == "")
exit;
if (user != "")
sub(/^~/, "/home/" user, sfile)
system("sed -i \x27s|^\\(state:[ \\t]\\{1,\\}\\)play$|\\1pause|\x27 \x27" sfile "\x27")
}' /etc/mpd.conf
/usr/bin/mpd /etc/mpd.conf &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon mpd
stat_done
fi
;;
stop)
stat_busy "Stopping Music Player Daemon"
/usr/bin/mpd --kill /etc/mpd.conf &> /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon mpd
stat_done
fi
;;
create-db)
stat_busy "Creating mpd's database ..."
logpath="/var/log/mpd/mpd.db-creation"
/usr/bin/mpd --create-db /etc/mpd.conf > $logpath \
&& stat_busy "Output written to $logpath"
stat_done
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart|create-db}"
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment