github Arturo254/OpenTune 2.0.12

11 hours ago

OpenTune 2.0.12

Logo de OpenTune
Última Versión Licencia PRs Welcome GitHub Stars GitHub Forks Issues

📌 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_blur para 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.kt refactorizado 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 n en 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_DATA ahora fuerza un reinicio completo de la app.
  • Garantiza consistencia total tras el cambio de identidad.
  • Logging mejorado para detectar fallos.

📦 Dependencies

  • material3 actualizado (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-INF para 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 FileProvider a ${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:

    • downloads
    • external_files
    • cache
    • files
  • 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:

  • 🔄 Lanzada: Fecha de Lanzamiento
  • 📦 Descargas: Descargas
  • 🛠️ Commits: Commits

🤝 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:

  1. Haz un fork del repositorio: Clona el repositorio para trabajar en mejoras.
  2. Envía pull requests: Una vez que hayas realizado tus cambios, envía un pull request para que podamos revisar y fusionar tus contribuciones.
  3. 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


Hecho con amor
OpenTune: Tu música. Tu ritmo. Tu control.

Don't miss a new OpenTune release

NewReleases is sending notifications on new releases.