#!/bin/bash

################################################
#   Wird von ini.sh getriggert
#   Script regelt Playout des Mediaplayers
################################################

setx () {
	RES=$( grep XRANDR </home/snowtv/bin/mc.cfg | awk -F= '{ st = index($0,"=");print substr($0,st+1)}' | awk '!($1="")' | tr -d '\r' )
	DISPLAY=:0.0 /usr/bin/xrandr "$RES"
	/home/snowtv/bin/dispon.sh
}


CHROMIUMSTAT=$(pgrep chromium || echo down)			# Prüfen, ob Chromium läuft
AIRTIME="$(/home/snowtv/bin/getairtime.sh)"	# Airtime abfragen

# GDS: timegds.json periodisch aus mc.cfg nachführen (nicht nur bei erkannter
# mc.cfg-Änderung via 200.sh) – routine.py liest nur timegds.json, nie mc.cfg
# direkt, würde eine verpasste 200.sh-Aktualisierung sonst nicht bemerken
if [ -f /home/snowtv/bin/.gds_installed ]; then
	/home/snowtv/bin/gdsairtime.sh
fi

# Wenn Sendezeit ist, dann
if [ "$AIRTIME" == "0" ]; then
	# Wenn Browser nicht läuft, dann soll dieser gestartet werden
	if [ "$CHROMIUMSTAT" == "down" ]; then
		setx
		pkill feh
		/home/snowtv/bin/chrom.sh && \
		echo "$(date)  INFO: airtime, Playout gestartet..." | tee -a /var/log/stv.log
	# Wenn Browser schon läuft, nur Crash-Check
	elif [ "$CHROMIUMSTAT" != "down" ]; then
		/home/snowtv/bin/chromon.sh
	fi

# Wenn keine Sendezeit ist
# dann soll Playout stoppen
# dann Display ausschalten
elif [ "$AIRTIME" == "1" ]; then
	if [ "$CHROMIUMSTAT" == "down" ]; then
		echo "$(date)  INFO: no airtime, Playout ist gestoppt" | tee -a /var/log/stv.log
		/home/snowtv/bin/dispoff.sh
	else
		echo "$(date)  INFO: no airtime, stoppe Playout, schalte Display aus..." | tee -a /var/log/stv.log
		killall chromium
		/home/snowtv/bin/dispoff.sh
	fi
fi

exit 0
