#!/usr/bin/env bash
# Wrapper script pour le service audioin de Skull Pi
# Emplacement: /opt/Skull/bin/skull-audioin.sh

set -euo pipefail

# Configuration
SKULL_ROOT="/opt/Skull"
VENV_PATH="${SKULL_ROOT}/venv"
APP_PATH="${SKULL_ROOT}/apps/audioin"
LOG_DIR="${SKULL_ROOT}/logs"

# Vérifications préliminaires
if [[ ! -d "$VENV_PATH" ]]; then
    echo "ERREUR: Environnement virtuel non trouvé: $VENV_PATH" >&2
    exit 1
fi

if [[ ! -d "$APP_PATH" ]]; then
    echo "ERREUR: Application audioin non trouvée: $APP_PATH" >&2
    exit 1
fi

# Création répertoire logs
mkdir -p "$LOG_DIR"

# Activation environnement virtuel
source "${VENV_PATH}/bin/activate"

# Vérification dépendances critiques
python -c "import sounddevice, paho.mqtt.client, numpy" || {
    echo "ERREUR: Dépendances manquantes. Installer avec: pip install -r requirements.txt" >&2
    exit 1
}

# Variables d'environnement
export PYTHONPATH="${SKULL_ROOT}/apps:${PYTHONPATH:-}"
export ALSA_CARD="${ALSA_CARD:-sndrpirpspeaker}"

# Changement répertoire de travail
cd "$APP_PATH"

# Lancement du service
echo "Démarrage service audioin..."
echo "  - ALSA_CARD: $ALSA_CARD"
echo "  - Log dir: $LOG_DIR"
echo "  - Working dir: $(pwd)"

exec python -m audioin.main --log-file "${LOG_DIR}/audioin.log"