#!/bin/sh /etc/rc.common
# Copyright (C) 2007-2014 OpenWrt.org

START=93

USE_PROCD=1

PROG=/usr/bin/mpd
CONFIGFILE=/etc/mpd.conf
NICEPRIO=-10

USER="mpd"
GROUP="mpd"

#TODO: Add uci config - nice, config

start_service() {
	local pld lport

	#create mpd directories from config
	pld=$(grep ^playlist_directory "$CONFIGFILE" | cut -d "\"" -f 2 | sed "s/~/\/root/g")
	if [ ! -d "$pld" ]; then
		mkdir -m 0755 -p "$pld"
		chown $USER:$GROUP $pld
	fi

	lport=$(grep ^port "$CONFIGFILE" | cut -d "\"" -f 2)
	[ -z "$lport" ] && lport=6600

	procd_open_instance
	procd_add_mdns "mpd" "tcp" "$lport"
	procd_set_param command "$PROG" --no-daemon "$CONFIGFILE"
	procd_set_param user "$USER"
	procd_set_param group "$GROUP"
	procd_set_param stderr 1
	# Give MPD some real-time priority
	procd_set_param nice "$NICEPRIO"
	procd_close_instance
}

reload_service() {
	procd_send_signal "$PROG"
}
