OpenTune 2.0.12
📌 Notas de la Versión 2.0.12
🆕 New
🎶 Apple Music–style lyrics blur
-
Nuevo efecto de desenfoque dinámico para letras sincronizadas, inspirado en Apple Music.
-
Preferencia dedicada
apple_music_lyrics_blurpara activar/desactivar el efecto. -
El blur se aplica solo a líneas no activas, manteniendo el foco visual en la línea actual.
-
El efecto se desactiva automáticamente durante:
- Modo selección de letras.
- Auto-scroll deshabilitado.
-
Transiciones suaves de blur, alpha y escala mediante animaciones reactivas.
🎨 Nuevo estilo de fondo Apple Music para el reproductor
- Fondo dinámico con thumbnail difuminado y máscara de gradiente vertical.
- Mejora la legibilidad del contenido sin depender de blobs de color.
- Integración completa con el sistema de estilos del reproductor.
⏱️ Sleep Timer integrado directamente en el reproductor
-
El temporizador de apagado ahora forma parte del menú del reproductor.
-
Nuevo diálogo de configuración:
- Duraciones predefinidas.
- Opción Final de la canción.
-
Estado activo visible en el menú con:
- Cuenta regresiva en tiempo real.
- Indicador End of song cuando aplica.
✨ Improved
📝 Refactor completo del renderizado de letras
-
Extracción de la lógica de cada línea a un nuevo componente
LyricsLine. -
Código más limpio, reutilizable y fácil de mantener.
-
Animaciones de línea activa refinadas:
- Glow más eficiente.
- Pulso más estable y menos costoso.
-
Espaciado, alineación y jerarquía visual estandarizados.
⏳ Mejor feedback visual del Sleep Timer
-
Indicador circular de progreso alrededor del icono cuando está activo.
-
Animaciones suaves de:
- Progreso.
- Color.
- Pulso al acercarse al final.
-
Cambio dinámico de color según el tiempo restante:
- Primary → Secondary → Tertiary → Error.
-
Texto porcentual y etiqueta “¡Pronto!” en estados críticos.
-
Al tocar el icono con el temporizador activo, ahora se cancela directamente.
🖼️ Manejo optimizado de thumbnails
-
Thumbnail.ktrefactorizado para:- Mejor rendimiento.
- Consistencia entre estilos de fondo.
-
El radio de esquina ahora se obtiene desde preferencias del usuario.
-
Carga reactiva del valor guardado al inicializar el componente.
🔄 Changed
🧩 Simplificación del diseño del reproductor
- Eliminada la lógica del Extra Button configurable.
- El temporizador sustituye completamente este comportamiento.
- Layout de botones secundarios reorganizado para mejor centrado y claridad visual.
🌐 Actualización y mejora de traducciones
-
Nuevas y refinadas cadenas en múltiples idiomas:
- Francés, Turco, Árabe, Chino, Checo, Español y Portugués.
-
Soporte textual para:
- Sleep Timer avanzado.
- Advertencias de compatibilidad con streams en vivo.
- Herramientas de diagnóstico (reset de VISITOR_DATA).
-
Ajustes contextuales en francés:
- “Humeur” → “Ambiance”
- “Aimés” → “Favoris”
🖌️ Modernización de selectores visuales
-
El selector de radio de esquina del thumbnail ahora usa ModalBottomSheet.
-
Diseño Material 3 Expressive:
- Drag handle.
- Jerarquía tipográfica mejorada.
- Fondo
surfaceContainerLow.
-
Vista previa dinámica con el artwork actual.
🛠️ Technical
🔐 Refactor profundo de la desencriptación de streams
-
Migración completa a MetroExtractor.
-
Lógica más robusta para:
signatureCipher- Parámetro
nen URLs.
-
Soporte para desencriptación por lotes.
-
Caché thread-safe de información del reproductor.
-
Mejor tracking de reproducción y compatibilidad con historial de YouTube.
-
Reordenamiento de clientes fallback para mayor estabilidad.
🔄 Reset de Visitor Data más seguro
- El reset de
VISITOR_DATAahora fuerza un reinicio completo de la app. - Garantiza consistencia total tras el cambio de identidad.
- Logging mejorado para detectar fallos.
📦 Dependencies
material3actualizado (alpha12 → alpha13 según commit).- Migración completa del extractor a MetroExtractor.
- Nuevas reglas Proguard para Netty, Reactor, Wire y dependencias relacionadas.
- Exclusiones de recursos
META-INFpara evitar conflictos de build.
🧹 Removed
❌ Limpieza de código y preferencias
-
Eliminadas claves de preferencias no usadas:
- Extra buttons.
- URLs de foto de cuenta.
-
Corrección de escapes incorrectos en strings (
\').
🔄 Changed
📂 Actualización del FileProvider
- Se cambió la autoridad del
FileProvidera${applicationId}.fileprovider, alineándose con la convención estándar de Android. - Evita inconsistencias al construir URIs y posibles errores al compartir archivos.
- Cualquier referencia previa a la autoridad antigua fue ajustada para mantener compatibilidad.
Archivos afectados:
AndroidManifest.xml
🧹 Improved
🧾 Limpieza de file_paths.xml
-
Eliminados comentarios y líneas en blanco innecesarias.
-
Se mantiene intacta la configuración funcional de rutas:
downloadsexternal_filescachefiles
-
El archivo queda más claro y fácil de mantener sin cambios de comportamiento.
Archivo afectado:
app/src/main/res/xml/file_paths.xml
📊 Estadísticas de la Versión:
🤝 Colaboración de Código Abierto
OpenTune es un proyecto de código abierto y siempre estamos buscando colaboradores para mejorar el proyecto. ¡Tu contribución es bienvenida!
🛠️ Cómo Contribuir:
- Haz un fork del repositorio: Clona el repositorio para trabajar en mejoras.
- Envía pull requests: Una vez que hayas realizado tus cambios, envía un pull request para que podamos revisar y fusionar tus contribuciones.
- Explora y mejora el código fuente: Si encuentras algún error o tienes una idea para mejorar el proyecto, ¡no dudes en compartirla!
📄 Licencia
Este proyecto está bajo la licencia MIT y GPL 3
📝 Registro de Cambios
Full Changelog: 2.0.11...2.0.12
