#!/usr/bin/env bash
set -euo pipefail

# Skull Pi - Audio Input Service Wrapper
# Description: Démarre le service de capture audio
# Author: DevOps Team

PROJECT_DIR="/opt/Skull"
LOG_FILE="${PROJECT_DIR}/logs/audioin.log"

# Activation de l'environnement virtuel
source "${PROJECT_DIR}/venv/bin/activate"

# Chargement des variables d'environnement
if [ -f "${PROJECT_DIR}/config/.env" ]; then
    set -a
    source "${PROJECT_DIR}/config/.env"
    set +a
fi

# Configuration des logs
exec > >(tee -a "${LOG_FILE}")
exec 2>&1

echo "$(date '+%Y-%m-%d %H:%M:%S') - [AUDIOIN] Démarrage du service audioin"

# Vérification du microphone
if command -v arecord >/dev/null 2>&1; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - [AUDIOIN] Système d'enregistrement disponible"
    # Test rapide du microphone
    if timeout 1 arecord -f cd -t raw /dev/null 2>/dev/null; then
        echo "$(date '+%Y-%m-%d %H:%M:%S') - [AUDIOIN] Microphone fonctionnel"
    else
        echo "$(date '+%Y-%m-%d %H:%M:%S') - [AUDIOIN] ATTENTION: Problème microphone détecté"
    fi
else
    echo "$(date '+%Y-%m-%d %H:%M:%S') - [AUDIOIN] ERREUR: arecord non disponible"
fi

# Changement vers le répertoire du projet
cd "${PROJECT_DIR}/apps"

# Lancement du module audioin
exec python -m audioin.main