github Arturo254/OpenTune 3.0.4

10 hours ago

🚀 Release 3.0.4

Versión centrada en Canvas dinámico multi-proveedor, nuevo diseño del reproductor estilo Apple Music, widgets de pantalla de inicio y mejoras visuales inmersivas.


✨ Nuevas Funciones

🎨 Sistema Canvas Multi-Proveedor

Se reemplaza el antiguo sistema de Canvas por una arquitectura modular capaz de obtener fondos animados desde múltiples proveedores.

Nuevos proveedores soportados:

Proveedor Tecnología Descripción
Apple Music HLS Extracción de vídeos animados mediante streams HLS
Tidal MP4 Obtención de vídeos mediante API pública
API interna Fallback Compatibilidad con fuentes existentes

🖼️ Nueva arquitectura Canvas

El sistema Canvas ahora utiliza un modelo unificado y un resolvedor inteligente.

Archivos nuevos:

  • CanvasArtwork.kt

    • Nuevo modelo estándar para artwork animado horizontal/vertical.
  • CanvasArtworkResolver.kt

    • Sistema encargado de seleccionar automáticamente la mejor fuente.
  • AppleMusicCanvasProvider.kt

    • Extracción de Canvas desde Apple Music.
  • AppleMusicArtistBackgroundProvider.kt

    • Obtención de fondos animados para artistas.
  • TidalCanvasProvider.kt

    • Integración con vídeos MP4 de Tidal.

⚙️ Características del nuevo sistema Canvas

Característica Detalle
Multi-provider Selección automática entre Apple Music, API y Tidal
Prioridad configurable Orden inteligente de búsqueda
Validación avanzada Comprueba artista, álbum y título antes de aceptar resultados
Normalización metadata Limpieza de feat., "Official Video" y caracteres innecesarios
Cache LRU Reduce consultas repetidas mediante memoria y disco
Soporte horizontal/vertical Adaptación para distintos formatos de vídeo

🎬 Fondos dinámicos para artistas

ArtistScreen ahora puede mostrar vídeos personalizados relacionados con el artista.

Características:

  • Fondos animados detrás del contenido.
  • Reproducción mediante CanvasArtworkPlayer.
  • Zoom dinámico.
  • Overlay translúcido para mantener legibilidad.
  • Obtención automática basada en nombre del artista.

🎵 Nuevo diseño del reproductor V8 (Apple Music Style)

Se introduce una nueva variante del reproductor inspirada en Apple Music con diseño glassmorphism.


🌈 Player Design Style V8

Nuevo estilo disponible dentro de las preferencias de apariencia.

Características:

Elemento Descripción
Glass UI Componentes translúcidos con blur y bordes
Backdrop dinámico Fondo personalizado con degradados
Progress Track Barra de progreso estilo vidrio
Volume Slider Control integrado dentro del diseño
Next Up Preview Vista previa de siguiente canción
Footer Apple Music Style Controles inferiores renovados

🆕 Nuevos componentes del reproductor

Archivos añadidos:

  • AppleDeviceSelector.kt

    • Selector de dispositivos de audio.
  • V8PlayerBackdrop

    • Fondo dinámico con blur y gradientes.
  • V8PlayerControlsContent

    • Controles principales del reproductor.
  • QueueCollapsedContentV8

    • Controles inferiores cuando la cola está colapsada.
  • GlassTrack

    • Componente reutilizable para barras con efecto vidrio.

🔊 Selector de dispositivos de audio

Nuevo selector para cambiar rápidamente la salida de audio.

Compatible con:

  • Bluetooth.
  • Altavoces internos.
  • Dispositivos cableados.

Incluye:

  • BottomSheet personalizado.
  • Lista dinámica de dispositivos.
  • Integración con AudioManager.

🏠 Widget de pantalla de inicio

Se añade un nuevo widget de reproducción usando Jetpack Glance.


📱 OpenTune Player Widget

Nuevo widget interactivo para controlar la reproducción directamente desde el launcher.

Funciones:

  • Play/Pause.
  • Siguiente canción.
  • Canción anterior.
  • Información del tema actual.
  • Barra de progreso.
  • Artwork dinámico.

🎨 Personalización del Widget

Nueva pantalla de configuración con vista previa en tiempo real.

Opciones disponibles:

Opción Descripción
Modo Blur Fondo desenfocado usando RenderEffect (Android 12+)
Color dominante Extrae color desde artwork usando Palette API
Color sólido Fondo personalizado simple
Scrim Ajuste de opacidad del overlay
Corner Radius Personalización de esquinas
Progress Bar Mostrar u ocultar progreso

⚙️ Arquitectura del Widget

Nuevos archivos:

  • OpenTunePlayerWidget.kt

    • Implementación del widget Jetpack Glance.
  • OpenTunePlayerWidgetReceiver.kt

    • Receiver del widget.
  • PlayerWidgetUpdater.kt

    • Sincronización con reproducción.
  • PlayerWidgetState.kt

    • Estado y procesamiento de metadata.
  • WidgetSettings.kt

    • Configuración visual.
  • WidgetPreferences.kt

    • DataStore independiente del widget.

🔄 Integración con MusicService

El servicio de música ahora actualiza automáticamente el widget.

Actualizaciones al cambiar:

  • Canción.
  • Estado Play/Pause.
  • Artwork.
  • Progreso.

✨ Mejoras de Animaciones

Se agregan animaciones más naturales en controles del reproductor.

Mejoras:

  • Spring animations.
  • Escalado al interactuar.
  • Mejor feedback táctil.
  • Seguimiento mediante interactionSource.

Aplicado a estilos existentes:

  • V1
  • V2
  • V3
  • V4
  • V5
  • V6
  • V8

🎨 Recursos y Assets

Nuevos iconos y mejoras visuales:

Añadidos:

  • airplay.xml
  • speaker.xml
  • favorite_filled.xml
  • favorite_outline.xml

Actualizados:

  • queue_music.xml
  • lyrics.xml

🔧 Correcciones y Mantenimiento

Área Mejora
Canvas Sustitución del sistema antiguo por arquitectura modular
Player Mejor manejo de fondos animados
Metadata Normalización mejorada para búsquedas
Cache Reducción de llamadas repetidas mediante LRU
UI Limpieza de imports y comentarios redundantes
Apple Music Provider Tokens actualizados para mantener compatibilidad

📦 Dependencias

Dependencia Uso
androidx.glance:glance-appwidget Widgets de pantalla de inicio
androidx.glance:glance-material3 Componentes Material 3 para widgets

🌍 Localización

Nuevos textos añadidos:

  • Configuración del widget.
  • Modos de fondo.
  • Opciones visuales.
  • Selector de dispositivos.
  • Apple Music style.

Idiomas afectados:

  • Inglés.
  • Español.

🧠 Refactor Interno

Canvas

Migración de:


OpenTuneCanvas

a:


CanvasArtwork
|
├── AppleMusicCanvasProvider
├── TidalCanvasProvider
└── API Provider


Estado del reproductor

Nuevo flujo:


MusicService
↓
PlayerWidgetUpdater
↓
PlayerWidgetState
↓
Jetpack Glance Widget


🔢 Versión

  • versionCode: 131
  • versionName: 3.0.4

💡 Una release enfocada en convertir OpenTune en una experiencia más cercana a un reproductor premium moderno: Canvas animado desde múltiples servicios, reproductor estilo Apple Music, widgets personalizados y una interfaz más inmersiva.


🔗 Full Changelog:
3.0.3...3.0.4

Don't miss a new OpenTune release

NewReleases is sending notifications on new releases.