#! /bin/bash
#
# vdr start-stop script
#

test -x /usr/sbin/runvdr || exit 0

. /usr/lib/vdr/config-loader.sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=vdr
DESC="Linux Video Disk Recorder"

test "$ENABLE_SHUTDOWN" = "1" && VDRSHUTDOWN="/usr/lib/vdr/vdr-shutdown.wrapper" \
	|| VDRSHUTDOWN="/usr/lib/vdr/vdr-shutdown-message"

test "$ENABLED" != "0" || exit 0

startvdr() 
{
    # only start vdr if there is no other instance running
    # (Appears as vdr-kbd in the official debian-packages
    # and just as vdr in the c't-vdr packages)
    if ! ps ax | grep "/usr/bin/\(vdr\|vdr-kbd\) " | grep -qv grep
    then
	. /usr/lib/vdr/plugin-loader.sh
	. /usr/lib/vdr/commands-loader.sh
    	getplugins
    	mergecommands "commands"
    	mergecommands "reccmds"
    	start-stop-daemon --start --quiet \
	 	--exec /usr/sbin/runvdr -- -v $VIDEO_DIR -c $CFG_DIR -r $REC_CMD \
	 	-s $VDRSHUTDOWN -E $EPG_FILE -u $USER -g $GROUP --port $SVDRP_PORT \
		$OPTIONS $PLUGINS &
    else
	   echo -n " - seems to be running already"
    fi
} 

stopvdr()
{
    killall -q -TERM runvdr

    # check if the running process is /usr/bin/vdr or /usr/bin/vdr-kbd
    if ps ax | grep "/usr/bin/vdr " | grep -qv grep
    then
       killall -q -TERM /usr/bin/vdr > /dev/null 2>&1
    else
       # (assume that vdr-kbd is running)
       killall -q -TERM /usr/bin/vdr-kbd > /dev/null 2>&1
    fi
}

case "$1" in
  start)
	 echo -n "Starting $DESC: $NAME"
	 startvdr
	 echo "."
	 ;;
  stop)
	 echo -n "Stopping $DESC: $NAME"
	 stopvdr
	 echo "."
	 ;;
  restart|force-reload)
	 echo -n "Restarting $DESC: $NAME"
	 stopvdr
	 sleep 4
	 startvdr
	 echo "."
	 ;;
  *)
	 N=/etc/init.d/$NAME
	 echo "Use: $N {start|stop|restart|force-reload}" >&2
	 exit 1
	;;
esac

exit 0

