#! /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"

startvdr() 
{
    if [ "$ENABLED" != "0" ]; then
        # 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 --background \
                        --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
     else
        echo -n " - aborted (to enable the daemon, edit /etc/default/vdr)"
     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

