Skip to content

Releases: proxima812/music.xima

xima.music 1.1.0

Choose a tag to compare

@proxima812 proxima812 released this 16 Aug 22:54

Персональный офлайн-плеер для Android: без аккаунтов, серверов и сетевых запросов.
Музыка берётся из памяти телефона — из общей медиатеки и из выбранных папок.

Установка

Important

Сборка подписана новым ключом. Пароль от прежнего хранилища утерян и
восстановлению не подлежит, поэтому поверх установленной 1.0.1 эта версия не
встанет: Android откажет с INSTALL_FAILED_UPDATE_INCOMPATIBLE. Придётся
удалить приложение и поставить заново — плейлисты, избранное и история при
этом пропадут
, библиотека пересоберётся сканированием. Дальнейшие обновления
будут вставать поверх как обычно.

Скачайте xima.music-1.1.0.apk ниже и откройте на телефоне — Android спросит
разрешение на установку из неизвестного источника. Либо через adb:

adb uninstall com.xima.music     # если стоит 1.0.1
adb install xima.music-1.1.0.apk

Один файл на все архитектуры: arm64-v8a, armeabi-v7a, x86, x86_64.
Нужен Android 8.0 и новее (minSdk 26), собрано под SDK 36.

Проверка файла:

SHA-256  b40eeeb33e4fd39c68d48057d290e36e97942b8909c7364bddbb4300b6a072c9

Подпись самодельная, поэтому обновления встают только поверх сборок с тем же
ключом. Отпечаток сертификата (SHA-256):

16a6913274b950615d04897550cc1ee3109f51ec5133cb0289b9e360afca9e48

Что нового после 1.0.1

  • Главная сортируется по исполнителю. Авторы по алфавиту, внутри автора —
    его треки. Рядом с «Перемешать» появилось меню сортировки: порядок общий с
    вкладкой «Песни», чтобы два списка одной библиотеки не расходились.
  • Очередь идёт по кругу. Доиграл последний трек — пошёл первый. Повтор всей
    очереди стал режимом по умолчанию. Само по себе это не сработало бы:
    сохранённые режимы доезжали до плеера только на пути восстановления прошлой
    очереди — теперь повтор, перемешивание и громкость уходят туда на каждом
    старте.
  • Плавный переход между треками. Хвост трека уводится в тишину, следующий
    из неё поднимается; ручное «дальше» нарастает за 300 мс, чтобы кнопка не
    казалась тормозной. Настройка «Плавный переход» в разделе «Воспроизведение»,
    по умолчанию 2 секунды, ноль выключает. Раньше crossfadeMs лежала в
    настройках, но никуда не отправлялась — плеер о ней не знал.
  • Новая иконка.

Наложения дорожек в переходе нет: у сессии один ExoPlayer, звучит это как
затухание с нарастанием, а не как перекрёстный микс. Настоящий кроссфейд
требует двух плееров за фасадом SimpleBasePlayer — отдельная работа.

Известные проблемы

  • 1.1.0 на устройстве не проверялась. Пройдены гейты: typecheck, сборка,
    233 теста ядра, clippy, компиляция Kotlin с тестами, cargo check под
    aarch64-linux-android. Как плавный переход звучит на живом телефоне — не
    слушали.
  • Редкий нативный краш во время воспроизведения — воспроизвести прицельно пока
    не удалось (BUGS.md, B7).
  • Системная кнопка «назад» при открытом плеере сворачивает приложение, а не
    закрывает плеер (B10).
  • Не проверялись: обход SAF-дерева, повороты экрана, большие библиотеки.
    Честный список — в docs/BUGS.md.

Хотите дополнить

Проект под MIT. Что читать перед первой правкой и какие ловушки есть в
окружении — в разделе «Как помочь» в
README.

xima.music 1.0.1

Choose a tag to compare

@proxima812 proxima812 released this 16 Aug 13:08

Персональный офлайн-плеер для Android: без аккаунтов, серверов и сетевых запросов.
Музыка берётся из памяти телефона — из общей медиатеки и из выбранных папок.

Установка

Скачайте xima.music-1.0.1.apk ниже и откройте на телефоне — Android спросит
разрешение на установку из неизвестного источника. Либо через adb:

adb install xima.music-1.0.1.apk

Один файл на все архитектуры: arm64-v8a, armeabi-v7a, x86, x86_64.
Нужен Android 8.0 и новее (minSdk 26), собрано под SDK 36.

Проверка файла:

SHA-256  596acebb5f8811a0028de4b90ee196ee7ea26b03cf46d5f50205dec321e4a5b2

Подпись самодельная, поэтому обновления встают только поверх сборок с тем же
ключом. Отпечаток сертификата (SHA-256):

274960300cd6383aebfd9b609ef9026860a5f43c322b53be92c63e5b456eadbe

Что нового после 1.0.0

  • Списки листаются пальцем. Обложка в строке резолвилась ресурсом Solid, а
    тот поднимал единственный на всё приложение <Suspense>: прокрутка втягивала
    новую строку, экран выдёргивался из DOM и вставлялся обратно, а позиция
    прокрутки при этом обнулялась. Заодно вычищены ещё шесть мест с той же
    болезнью — меню трека, фон плеера, предпросмотр умного плейлиста и другие.
  • Очередь закрывается при выборе трека и не всплывает поверх плеера при
    следующем запуске.
  • Нижние панели снова размывают контент. Препроцессор CSS схлопывал пару
    свойств и оставлял только -webkit-backdrop-filter, которого Android WebView
    не понимает.
  • Кракозябры в тегах. Названия вроде «Ðовод» читаются как
    «Довод»: у части файлов кадр ID3 объявлен однобайтовой кодировкой, а внутри
    лежит UTF-8. Честная латиница (Göransson, Björk, Motörhead) не
    трогается. Уже собранная библиотека чинится полным пересканированием в
    настройках.
  • Имя под иконкой сведено с интерфейсом: xima.music.

Известные проблемы

  • Редкий нативный краш во время воспроизведения — воспроизвести прицельно пока
    не удалось (BUGS.md, B7).
  • Системная кнопка «назад» при открытом плеере сворачивает приложение, а не
    закрывает плеер (B10).
  • Не проверялись: обход SAF-дерева, повороты экрана, светлая тема, большие
    библиотеки. Честный список — в docs/BUGS.md.

Хотите дополнить

Проект под MIT. Что читать перед первой правкой и какие ловушки есть в
окружении — в разделе «Как помочь» в
README.