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).
This commit is contained in:
2026-08-23 00:57:40 -05:00
commit 03084e2d5a
231 changed files with 31055 additions and 0 deletions
Executable
+79
View File
@@ -0,0 +1,79 @@
#!/bin/bash
# build.sh - Compila e instala el Radio Player
# Ejecutar en el sistema destino (Linux con GTK4 y GStreamer)
set -e
echo "========================================"
echo " G Radio Player - Script de compilación"
echo "========================================"
# ── Verificar Rust ──
if ! command -v cargo &>/dev/null; then
echo "[!] Rust no encontrado. Instalando via rustup..."
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
fi
echo "[✓] Rust: $(rustc --version)"
# ── Dependencias del sistema (Ubuntu/Debian) ──
echo ""
echo "[*] Instalando dependencias del sistema..."
sudo apt-get update -q
sudo apt-get install -y \
pkg-config \
libgtk-4-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
gstreamer1.0-alsa \
gstreamer1.0-pulseaudio \
libssl-dev \
build-essential
echo "[✓] Dependencias instaladas"
# ── Crear directorios de datos si no existen ──
echo ""
echo "[*] Creando estructura de directorios..."
mkdir -p "$HOME/.gradio/data/tmp"
mkdir -p "$HOME/G Radio/inicio-espacio-pub"
mkdir -p "$HOME/G Radio/fin-espacio-pub"
mkdir -p "$HOME/G Radio/comerciales"
# Crear archivos de configuración por defecto si no existen
[ -f "$HOME/.gradio/data/tmp/upvol" ] || echo "80" > "$HOME/.gradio/data/tmp/upvol"
[ -f "$HOME/.gradio/data/tmp/downvol" ] || echo "20" > "$HOME/.gradio/data/tmp/downvol"
[ -f "$HOME/.gradio/data/mix" ] || echo "3" > "$HOME/.gradio/data/mix"
[ -f "$HOME/.gradio/data/tmp/playlist4" ] || touch "$HOME/.gradio/data/tmp/playlist4"
[ -f "$HOME/.gradio/data/tmp/comercialeslist4" ] || touch "$HOME/.gradio/data/tmp/comercialeslist4"
echo "[✓] Directorios y archivos de configuración listos"
# ── Compilar ──
echo ""
echo "[*] Compilando en modo release..."
cd "$(dirname "$0")"
cargo build --release 2>&1
echo ""
echo "[✓] Compilación exitosa: target/release/radio-player"
# ── Instalar (opcional) ──
read -p "[?] ¿Instalar en /usr/local/bin/radio-player? [s/N] " resp
if [[ "$resp" =~ ^[sS]$ ]]; then
sudo cp target/release/radio-player /usr/local/bin/radio-player
sudo chmod +x /usr/local/bin/radio-player
echo "[✓] Instalado en /usr/local/bin/radio-player"
fi
echo ""
echo "========================================"
echo " Para ejecutar: ./target/release/radio-player"
echo " O si instalaste: radio-player"
echo "========================================"