Files
pluriwave/CHANGELOG.md
Kira (Agent) c6dad82e8c
Some checks failed
Flutter CI/CD — PluriWave / Test + Build (pull_request) Has been cancelled
feat(v0.5.0): visualizador de audio animado
- VisualizadorAudio: 24 barras verticales con movimiento orgánico
  (senos compuestos con fases aleatorias). Activo=animación fluida,
  parado=decaimiento suave. Sin FFT/micrófono. Integrado en
  PantallaReproductor entre info emisora y controles.
- IndicadorReproduccion: 3 barras compactas para MiniReproductor.
  Reemplaza el icono estático, pulsa mientras hay audio activo.
2026-04-04 20:11:13 +02:00

4.8 KiB

Changelog — PluriWave

[0.5.0] — 2026-04-04

Añadido

  • VisualizadorAudio — visualizador de barras animadas en PantallaReproductor. 24 barras verticales con movimiento orgánico pseudo-aleatorio (combinación de ondas seno con fases distintas). Se activa al reproducir y decae suavemente al parar. Sin FFT real ni permisos de micrófono — animación simulada visualmente equivalente a las apps de streaming.
  • IndicadorReproduccion — versión compacta de 3 barras para el MiniReproductor. Reemplaza el icono estático de radio y pulsa mientras hay audio activo.

[0.4.0] — 2026-04-04

Añadido

  • PantallaReproductor — pantalla completa del reproductor. Accesible tocando MiniReproductor o cualquier emisora. Incluye: artwork/logo grande con sombra animada al reproducir, nombre + chips info (país, idioma), codec/bitrate, controles play/pause/stop con indicador "en vivo", botón favorito (toggle), widget de timer (iniciar/cancelar desde la pantalla), animación de entrada slide-up. Transición pageRoute desde cualquier pantalla.
  • PantallaAjustes — pantalla de ajustes básica (tab nuevo en NavigationBar). Muestra estado del sistema (filtro emisoras, audio background), conteo de favoritos, preview de features próximas (Export/Import, radio personalizada, ecualizador).
  • MiniReproductor — ahora es tappable: toca la barra para abrir PantallaReproductor.
  • NavigationBar — añadido tab "Ajustes" (4 destinos: Inicio/Buscar/Favoritos/Ajustes).

[0.3.0] — 2026-04-04

Fixes (prioridad alta — petición WhikY)

  • Audio en backgroundServicioAudio refactorizado para delegar toda la reproducción a PluriWaveAudioHandler (audio_service). La notificación foreground de Android mantiene el audio vivo al apagar pantalla. Handler inicializado en main.dart con AudioService.init() y registrado globalmente. onTaskRemoved libera recursos al cerrar la app. mediaItem propagado con nombre, artista y artwork de la emisora.
  • Filtrar emisoras rotasServicioRadio añade lastcheckok=1 en todas las peticiones a la API. Solo se devuelven emisoras verificadas como funcionales por Radio Browser.
  • Errores como SnackBarEstadoRadio emite errores de reproducción y búsqueda por errorStream (StreamController broadcast). _PaginaPrincipalState.didChangeDependencies suscribe al stream y muestra SnackBar flotante de 3 segundos. Los errores de carga de lista siguen como banner inline (no bloquean la UI).
  • Icono de app — Generado con Stable Diffusion XL: diseño morado, ondas de radio blancas, estilo Material You. Todos los tamaños Android generados (mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi, 48-192px). ic_launcher_round añadido. android:roundIcon en AndroidManifest.

Ficheros modificados

Fichero Cambio
lib/main.dart AudioService.init() + registrarHandler()
lib/servicios/servicio_audio.dart Arquitectura background completa
lib/servicios/servicio_radio.dart lastcheckok=1 en todas las peticiones
lib/estado/estado_radio.dart errorStream en lugar de campo _error
lib/app.dart Listener errorStream → SnackBar + theme SnackBar
android/app/src/main/AndroidManifest.xml roundIcon
android/app/src/main/res/mipmap-*/ Iconos generados (5 densidades)

[0.2.0] — 2026-04-04

Añadido

  • CI/CD Gitea Actions — workflow .gitea/workflows/ci.yml para el runner macmini-flutter. Jobs en secuencia: flutter pub getflutter testflutter build apk --releaseflutter build appbundle --release. APK y AAB subidos como artifacts con el SHA del commit en el nombre (pluriwave-apk-<sha>, pluriwave-aab-<sha>). Notificación Telegram al finalizar: éxito con commit y rama, fallo con enlace al log. Activado en push a main y PRs contra main.
  • ARQ-REVISION-F1.md — revisión de arquitectura del stack Flutter. Veredicto: aprobado. Sin conflictos de dependencias (audio_session compartido entre just_audio y audio_service sin colisión; rxdart sin conflicto). Todas las licencias OSI-approved (MIT, Apache-2.0, BSD). Ajustes pendientes: actualizar just_audio a ^0.10.0 con Flutter ≥3.27.0, signing real para Play Store, google_mobile_ads comentado hasta tener Ad Unit IDs.

Notas técnicas

  • Signing: build.gradle.kts usa clave debug para release (TODO preexistente). Válido para CI interno y testing. Play Store requiere keystore como secret en Gitea.
  • Secrets necesarios: TELEGRAM_BOT_TOKEN y TELEGRAM_CHAT_ID (Settings → Secrets del repo en Gitea).

Ficheros añadidos

Fichero Descripción
.gitea/workflows/ci.yml Workflow CI/CD Flutter completo (+66 líneas)
ARQ-REVISION-F1.md Revisión arquitectura F1 — stack, licencias, ajustes (+143 líneas)