Files
cescobar 03084e2d5a Commit inicial: G Radio Player
Sistema de automatización de radio en Rust (GTK4 + GStreamer): reproductor
principal con crossfade y ducking, scheduler de comerciales, refill de
playlist, y herramientas auxiliares (pautaje, parrilla, botonera, visor,
buscador, playlist, grabador, reportes). Incluye sistema de skins y modos
de Players (paneles de reproducción configurables).
2026-08-23 00:57:40 -05:00

4.2 KiB

Eventos

Los eventos son acciones programadas que suenan de forma emergente: interrumpen la música brevemente, reproducen el audio, y la música se reanuda. Comparten el mismo formato .com que los comerciales.

Archivos .com de eventos

Ruta: ~/.gradio/data/eventos/<hora>/<minuto>.com

  • Mismo formato que comerciales: /ruta/audio.mp3|máscara_días|fecha_inicio|fecha_fin
  • Ejemplo: ~/.gradio/data/eventos/12/0.com = evento del mediodía

Cola activa eventoslist

~/.gradio/data/tmp/eventoslist — lista de rutas que el player procesará como evento emergente.

El player detecta cuando esta cola tiene contenido y la procesa de inmediato (interrumpe brevemente la música).

Diferencia entre Comerciales, Eventos y Eventos-en-Espera

Aspecto Comerciales Eventos Eventos-en-Espera
Directorio data/comerciales/ data/eventos/ data/eventos-espera/
Cola activa tmp/comercialeslist4 tmp/eventoslist tmp/eventos-esperalist
Típico uso Publicidad programada Cuñas institucionales, separadores Acciones espontáneas del operador
Scheduler comercial-scheduler comercial-scheduler comercial-scheduler

Comandos útiles

# Ver eventos programados para hoy a las 12:00
cat ~/.gradio/data/eventos/12/0.com

# Ver cola activa de eventos
cat ~/.gradio/data/tmp/eventoslist

# Disparar un evento inmediatamente (reproducir ahora)
echo "/ruta/cuña.mp3" > ~/.gradio/data/tmp/eventoslist

# Agregar evento al mediodía todos los días
mkdir -p ~/.gradio/data/eventos/12
echo "/ruta/cuña_mediodia.mp3|1234567|20250101|20261231" >> ~/.gradio/data/eventos/12/0.com

# Vaciar la cola activa de eventos
> ~/.gradio/data/tmp/eventoslist

# Ver estado general del sistema (incluye num_eventos)
cat ~/.gradio/data/tmp/estado.json | python3 -c "import sys,json; d=json.load(sys.stdin); print('Eventos en cola:', d['num_eventos'])"

Estado en estado.json

El campo eventos_activos indica si hay un evento reproduciéndose ahora mismo. num_eventos muestra cuántos hay en cola.

Eventos en Espera

Los eventos en espera son acciones programadas que el operador prepara con antelación para disparar cuando lo decida, o que el scheduler carga automáticamente. Son el equivalente de una "lista de espera" de efectos.

Archivos .com

Ruta: ~/.gradio/data/eventos-espera/<hora>/<minuto>.com

  • Mismo formato que comerciales y eventos: /ruta/audio.mp3|máscara_días|fecha_inicio|fecha_fin
  • Ejemplo: ~/.gradio/data/eventos-espera/9/30.com = evento en espera a las 9:30

Cola activa eventos-esperalist

~/.gradio/data/tmp/eventos-esperalist — lista de rutas pendientes en espera.

El player la monitorea: cuando tiene contenido, lo reproduce en modo emergente (igual que eventoslist).

Uso típico

Los eventos en espera se usan para:

  • Anuncios de noticias que salen al aire cuando el operador decide
  • Efectos especiales cargados con antelación
  • Separadores y cortinas que se reproducen bajo demanda

Comandos útiles

# Ver cola de eventos en espera
cat ~/.gradio/data/tmp/eventos-esperalist

# Poner un audio en la cola de espera (listo para reproducir)
echo "/ruta/noticia_urgente.mp3" > ~/.gradio/data/tmp/eventos-esperalist

# Agregar sin borrar los anteriores
echo "/ruta/efecto.mp3" >> ~/.gradio/data/tmp/eventos-esperalist

# Vaciar la cola de espera
> ~/.gradio/data/tmp/eventos-esperalist

# Programar evento en espera para las 10:30 todos los lunes-viernes
mkdir -p ~/.gradio/data/eventos-espera/10
echo "/ruta/noticia.mp3|12345|20250601|20251231" >> ~/.gradio/data/eventos-espera/10/30.com

# Estado: cuántos hay en la cola de espera
cat ~/.gradio/data/tmp/estado.json | python3 -c "import sys,json; d=json.load(sys.stdin); print('En espera:', d['num_eventos_espera'])"

Resumen de las tres colas

# Ver el estado de todas las colas a la vez
echo "=== MÚSICA (playlist4) ==="
wc -l ~/.gradio/data/tmp/playlist4
echo "=== COMERCIALES activos ==="
cat ~/.gradio/data/tmp/comercialeslist4
echo "=== EVENTOS activos ==="
cat ~/.gradio/data/tmp/eventoslist
echo "=== EVENTOS EN ESPERA ==="
cat ~/.gradio/data/tmp/eventos-esperalist