#!/bin/bash
# ─────────────────────────────────────────────────────────────────────────────
# setup_audio_www_data.sh
# Gibt www-data Zugriff auf das Audio-Gerät des Raspberry Pi.
#
# Notwendig damit alarm_player.php Audio abspielen kann.
#
# Aufruf: sudo bash setup_audio_www_data.sh
# ─────────────────────────────────────────────────────────────────────────────

# Root-Check
if [ "$(id -u)" -ne 0 ]; then
    echo "Starte mit Root-Rechten..."
    exec sudo "$0" "$@"
fi

echo "=== Audio-Zugriff für www-data einrichten ==="
echo ""

# 1) www-data zur audio-Gruppe hinzufügen
if groups www-data 2>/dev/null | grep -q '\baudio\b'; then
    echo "[OK] www-data ist bereits in der audio-Gruppe."
else
    usermod -a -G audio www-data
    echo "[OK] www-data zur audio-Gruppe hinzugefügt."
fi

# 2) Prüfen ob benötigte Audio-Tools installiert sind
echo ""
echo "--- Verfügbare Audio-Player ---"
for tool in aplay mpg123 cvlc play; do
    if command -v "$tool" &>/dev/null; then
        echo "  [OK] $tool: $(command -v "$tool")"
    else
        echo "  [--] $tool: nicht installiert"
    fi
done

echo ""
echo "--- Empfehlung ---"
if ! command -v aplay &>/dev/null && ! command -v mpg123 &>/dev/null && ! command -v cvlc &>/dev/null; then
    echo "  Kein Audio-Player gefunden. Installation:"
    echo "  sudo apt install -y alsa-utils mpg123"
else
    if ! command -v aplay &>/dev/null; then
        echo "  aplay fehlt:  sudo apt install -y alsa-utils"
    fi
    if ! command -v mpg123 &>/dev/null; then
        echo "  mpg123 fehlt: sudo apt install -y mpg123"
    fi
fi

# 3) ALSA-Standard-Ausgabegerät prüfen
echo ""
echo "--- ALSA Audio-Gerät ---"
if command -v aplay &>/dev/null; then
    echo "Verfügbare Ausgabegeräte:"
    aplay -l 2>/dev/null | grep -E "^card" || echo "  (keine ALSA-Geräte gefunden)"
fi

# 4) Optional: Lautstärke auf 100% setzen
if command -v amixer &>/dev/null; then
    echo ""
    echo "--- Lautstärke setzen ---"
    amixer -q set Master 100% unmute 2>/dev/null && echo "[OK] Lautstärke auf 100% gesetzt." || true
    amixer -q set PCM 100% unmute 2>/dev/null || true
fi

echo ""
echo "=== Fertig ==="
echo ""
echo "WICHTIG: Apache/PHP-FPM neu starten damit die Gruppenänderung wirkt:"
echo "  sudo systemctl restart apache2"
echo "  (oder: sudo systemctl restart php8.2-fpm)"
echo ""
echo "Danach Wecker-Cronjob neu starten:"
echo "  sudo systemctl restart wecker-cron  (falls systemd)"
echo "  (oder: sudo reboot)"
