# Programación Musical (Parrilla)

La **parrilla** define qué música suena en cada bloque horario de cada día de la semana.

## Archivos `.mus`

Ruta: `~/.gradio/data/parrilla/<día>/<hora_inicio>-<hora_fin>.mus`

- **Día**: 1=Lunes, 2=Martes, 3=Miércoles, 4=Jueves, 5=Viernes, 6=Sábado, 7=Domingo
- **Hora**: bloque de una hora (0-1, 1-2, ..., 23-24)
- Ejemplo: `~/.gradio/data/parrilla/1/10-11.mus` = Lunes de 10:00 a 11:00

## Formato de un archivo `.mus`

Cada línea puede ser:

```
/home/usuario/Música/tema_exacto.mp3     ← archivo específico
/home/usuario/Música/Salsa/*             ← archivo ALEATORIO de esa carpeta (comodín *)
Hora                                      ← insertar anuncio de hora del sistema
```

Ejemplo real:
```
/home/grecord/Musica/Inicio/intro.mp3
/home/grecord/Musica/Pop/*
/home/grecord/Musica/Pop/*
Hora
/home/grecord/Musica/Rock/*
/home/grecord/Musica/Baladas/*
```

## Cola activa `playlist4`

`~/.gradio/data/tmp/playlist4` contiene la playlist en ejecución. Formato TAB-separado:

```
/ruta/absoluta/al/archivo.mp3\t00:03:45.000
/ruta/absoluta/al/archivo2.mp3\t00:04:12.000
```

El daemon `playlist-refill` mantiene esta cola con ~14 temas. Cada tema consumido se elimina de la primera línea.

## Cómo ver la programación actual

```bash
# Qué tema está sonando ahora
cat ~/.gradio/data/tmp/estado.json | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['titulo_actual'], '-', d['track_actual'])"

# Cola de música pendiente
cat ~/.gradio/data/tmp/playlist4

# Parrilla del día de hoy (ej. lunes = día 1)
DIA=$(date +%u)   # 1=Lun...7=Dom
HORA=$(date +%-H)
cat ~/.gradio/data/parrilla/$DIA/$HORA-$((HORA+1)).mus
```

## Cómo modificar la programación

```bash
# Agregar un tema al frente de la cola actual (próximo a reproducir)
TEMA="/ruta/al/archivo.mp3"
DUR="00:03:45.000"
(echo -e "$TEMA\t$DUR"; cat ~/.gradio/data/tmp/playlist4) > /tmp/pl_tmp && mv /tmp/pl_tmp ~/.gradio/data/tmp/playlist4

# Agregar un tema al final de la cola
echo -e "/ruta/al/archivo.mp3\t00:04:00.000" >> ~/.gradio/data/tmp/playlist4

# Editar la parrilla de mañana (agregar tema a las 9:00-10:00 del martes)
echo "/ruta/nuevo_tema.mp3" >> ~/.gradio/data/parrilla/2/9-10.mus

# Ver toda la programación de la semana para una hora específica
for dia in 1 2 3 4 5 6 7; do
  echo "=== Día $dia ==="
  cat ~/.gradio/data/parrilla/$dia/10-11.mus 2>/dev/null || echo "(vacío)"
done
```

## Días con nombres

| Número | Día |
|--------|-----|
| 1 | Lunes |
| 2 | Martes |
| 3 | Miércoles |
| 4 | Jueves |
| 5 | Viernes |
| 6 | Sábado |
| 7 | Domingo |
