#!/bin/bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
CMD=$1
. ../etc/webcam.conf

case $CMD in
  start)
    ./mjpgStart $2 $3
	;;
  all)
	./startAllCams
	;;
  stop)
    killall -9 -w mjpg_streamer
    ;;
  info)
    if [ "$IS_PI" == "yes" ]; then
      PICAM=$(/usr/bin/vcgencmd get_camera | /bin/grep detected=1)
      if [ "$PICAM" != "" ]; then
          echo "9000:pi:Pi Camera"
      fi
    fi
    CAMLIST="${DIR}/../etc/webcam_ports/*"
    for filename in $CAMLIST; do
      PORT=$(cat "$filename")
      BNAME=$(basename "$filename")
      if [ "$BNAME" != "last_port" ]; then
        echo "${PORT}:${BNAME}:${BNAME}"
      fi
    done
    ;;
  install)
    chmod a+rx installWebcam2 mjpgStart startAllCams
    cp ../templates/11-mjpg_streamer.rules /etc/udev/rules.d/
    cp ../templates/mjpg_streamer.service /lib/systemd/system
    cp ../templates/repetierserver-perms /etc/sudoers.d
    systemctl --system daemon-reload
    systemctl enable mjpg_streamer
    service mjpg_streamer start
    ;;
  setResolution)
    if [[ "$4" != "" ]]; then
      OLDCONF=$(cat ../etc/webcam.conf)
      killall -9 -w mjpg_streamer
      echo "$OLDCONF" | sed 's/.*WEBCAM_WIDTH.*/WEBCAM_WIDTH='"$2"'/' | sed 's/.*WEBCAM_HEIGHT.*/WEBCAM_HEIGHT='"$3"'/' | sed 's/.*WEBCAM_FRAMERATE.*/WEBCAM_FRAMERATE='"$4"'/' > ../etc/webcam.conf
      ./startAllCams
    else
      echo "error: Missing parameter!"
      echo "syntax: installWebcam2 setResolution width height framerate"
    fi
    ;;
  version)
    # Version must be first line!
    echo "version:2"
    echo "framerate:${WEBCAM_FRAMERATE}"
    echo "width:${WEBCAM_WIDTH}"
    echo "height:${WEBCAM_HEIGHT}"
    echo "quality:${WEBCAM_QUALITY}"
    echo "piParams:${WEBCAM_PICAM_PARAMS}"
    echo "usbParams:${WEBCAM_USB_PARAMS}"
    ;;
  *)
	echo "SYNTAX: sudo installWebcam [cmd]"
	echo "with cmd"
	echo "start 0 - Start specified webcam"
	echo "all     - Start all connected webcams"
	echo "stop    - Stop all webcams"
	echo "info    - List connected webcams"
	echo "version - Get version and settings"
	echo "setResolution width height framerate - change size and framerate"
	echo "install - install all scripts in proper place"
	;;
esac

