OpenTune 2.0.7
📌 Notas de la Versión 2.0.7
📌 Cambios Principales
🔹 Refactor: Reemplazo de SelectionSongsMenu
con diseño en cuadrícula
Este cambio rediseña por completo el menú de selección múltiple de canciones usando una cuadrícula más compacta y organizada.
-
Se reemplaza el
LazyColumn
por el nuevo composableGridMenu
, que muestra las acciones del menú en formato de cuadrícula. -
Cada acción (Reproducir, Aleatorio, Añadir a cola, etc.) ahora se renderiza como
GridMenuItem
. -
Se introduce
DownloadGridMenu
, que gestiona el progreso y estado de las descargas dentro de la cuadrícula. -
La acción “Añadir a playlist” ahora llama correctamente a
YouTube.addToPlaylist
para cada canción seleccionada. -
Se simplifica la lógica de “Me gusta / No me gusta todo” y “Añadir / Quitar de la biblioteca”.
-
Limpieza menor en:
SyncUtils.kt PlaylistMenu.kt LibraryPlaylistsScreen.kt
🎨 feat: Personalización avanzada para compartir letras como imagen (Beta)
Esta mejora introduce opciones avanzadas para crear imágenes de letras totalmente personalizadas.
-
Nueva clase
ImageCustomization
que gestiona estilos de fondo (SOLID
,GRADIENT
,PATTERN
), tipo de fuente, visibilidad y posición del logo, opacidad y radio de bordes. -
En
ShareLyricsDialog.kt
, se añade una sección expandible “Configuración avanzada” con controlesFilterChip
,Switch
ySlider
. -
Los presets ahora usan el nuevo modelo de personalización; se agregan temas como Spotify Style, Sunset y Púrpura Profundo.
-
LyricsImageGenerator.kt
fue reescrito para generar imágenes 1080x1080 de alta calidad con todas las nuevas opciones visuales. -
Refactor de composables en:
ShareLyrics.kt ShareLyricsDialog.kt
El preview ahora se llama
LyricsImageCardPreview
y el código es más modular y limpio.
🧩 Refactor: Rediseño del sistema “Compartir letras” con Bottom Sheets
La función de compartir letras fue rediseñada con ModalBottomSheet
, mejorando usabilidad y apariencia.
-
El diálogo principal ahora presenta las opciones “Compartir como texto” e “Imagen” en una hoja inferior moderna.
-
Se introduce
ShareLyricsImageCustomizationSheet
con selector de temas, vista previa en vivo y mejor extracción de color del cover. -
Se incrementa la resolución del arte (512 px) y se mejora el recorte y los bordes de la portada.
-
Correcciones visuales menores en:
Lyrics.kt ShareLyrics.kt
y nuevos textos para la interfaz actualizada.
🖼️ feat: Introducción del diálogo para compartir letras como imagen
Nueva función que permite generar y compartir imágenes personalizadas de letras.
- Nuevo composable
ShareLyricsDialog.kt
con vista previa en tiempo real y sugerencias de colores basadas en la portada. - Permite elegir colores de fondo, texto principal y secundario, además de tonos blancos, negros o de marca.
- Reemplaza el antiguo
ColorPickerDialog
, simplificandoLyrics.kt
. - Limpieza y eliminación del archivo obsoleto
LyricsImageGenerator.kt
.
🎵 feat: Mejoras en la UI y manejo de estado de las letras
Optimiza el rendimiento y las animaciones de las letras, asegurando sincronización precisa y actualizaciones inmediatas.
-
El estado de las letras ahora se obtiene directamente de
playerConnection.currentLyrics
, manteniéndolo siempre actualizado. -
Se añade un
LaunchedEffect(lines)
para reiniciar selección, scroll y estado al cambiar la canción. -
Animación de línea actual más fluida, con efectos de
alpha
yscale
. -
Claves de
LazyColumn
simplificadas para evitar recomposiciones innecesarias. -
Nuevo callback
onLyricsUpdated
enLyricsMenu.kt
, que actualiza la UI al modificar, volver a buscar o limpiar letras. -
Archivos modificados:
Lyrics.kt LyricsMenu.kt
📊 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.6...2.0.7