51 subscribers
4 photos
10 links
Official channel of ZXTune - crossplatform chiptunes player
Download Telegram
Channel created
Channel photo updated
Channel name was changed to «ZXTune»
Билд 5010:

[+] добавлена поддержка более 150 форматов с помощью библиотеки vgmstream
[+] включена эмуляция плагинов в OpenMPT
[*] различные оптимизации в ядре по ускорению и улучшению использования памяти
[*] zxtune-qt: переход на Qt5
[*] zxtune-android: переработано получение списка локальных хранилищ
[*] zxtune-android: поддержка Android 11
[*] zxtune-android: добавлены уведомления в браузере о возможных проблемах

Пожалуй, один из самых сложных релизов. Долго и упорно велась работа одновременно по нескольким направлениям.
Переход на kotlin в версии для Android. Как и (самое главное) зачем - надеюсь рассказать в отдельной статье.
Переход на Qt5 в десктопных версиях. Часть работы уже была сделана энтузиастом в рамках порта под Haiku OS, основные трудозатраты пришлись на настройку сборки непосредственно библиотеки.
Интеграция библиотеки vgmstream. Для тех кто не знает, эта библиотека предназначена для воспроизведения огромного количества потоковых форматов аудио. В силу разницы в подходах и модели с zxtune, внедрение получилось частичным (не все форматы) и делалось буквально шаг за шагом по одному формату, проверяя работоспособность на больших объемах тестовых данных. Пришлось буквально поселиться в discord чате разработчиков - ребята очень доброжелательные, быстро реагируют на вопросы и делают правки при необходимости.
Поддержка Android 11. В ноябре 2021 в очередной раз поднялись требования GooglePlay на поддержку актуальных версий ОС. А в 11 версии как раз на полную включили анонсированные ранее ограничения касательно доступа к локальным хранилищам устройства (если вкратце - то никуда нельзя без особого на то разрешения). Попытка использовать имеющуюся лазейку в виде разрешения на полный доступ не получила одобрения от модераторов, поэтому еще почти три недели ушли на поддержку новой схемы. Документация там достаточно куцая и даже местами брехливая, поэтому многое делалось на ощупь - просьба сообщать о возможных проблемах.
Бонусом были сделаны всякие мелкие доработки и оптимизации.

Скачать с сайта
1
Билд 5020:

[*] исправлено воспроизведение многотрековых .hes файлов
[*] исправлено воспроизведение некоторых .usf и .vgm файлов
[*] zxtune-qt: асинхронная загрузка треков в плейлисте
[*] zxtune123: исправлена обработка параметров командной строки
[+] zxtune-android: добавлен фильтр для плейлиста
[+] zxtune-android: добавлена поддержка внешних эквалайзеров
[*] zxtune-android: добавлены диалоги подтверждения для некоторых операций с плейлистом
[*] zxtune-android: добавлен показ запроса на выбор папки с данными приложения, если это необходимо при сохранении плейлиста
[*] zxtune-android: исправлено создание рингтонов на современных версиях Android
[*] zxtune-android: улучшена функциональность "Открыть с помощью"

По причине нехватки свободного времени релиз весьма затянулся. В основном содержит фиксы давних или недавно привнесенных проблем.
Из интересного - в десктопной версии наконец-таки добавлена асинхронная загрузка треков из сохраненных плейлистов, т.е. интерфейс должен стать гораздо отзывчивее.
В версии для Android добавлен быстрый поиск по плейлисту с помощью фильтра. Выглядит пока не очень, но переделки интерфейса уже запланированы. Также теперь гораздо лучше поддерживаются внешние эквалайзеры (кто там просил?), например PowerAmp Equalizer. Ну и всякие небольшие фиксы для новых версий Android, которые и сожрали огромное количество времени на исправление:(

P.S. Релиз был готов еще 28 сентября, но затянулся процесс ревью в GooglePlay (дважды, ибо был хотфикс).

Скачать с сайта
👍7🔥1
Билд 5030:

[*] исправлено воспроизведение некоторых ogg файлов
[*] исправлена обработка зацикливаний
[*] zxtune-qt: исправлено местоположение сохраняемых плейлистов
[*] zxtune-qt: исправлено падение при воспроизведении еще не подгруженного модуля
[*] zxtune123: исправлен анализатор
[*] zxtune123: исправлено чтение клавиатуры на linux
[*] zxtune-android: исправлено создание рингтона
[*] zxtune-android: исправлено открытие модулей из других приложений
[*] zxtune-android: исправлена функциональность "Открыть с помощью"
[*] zxtune-android: исправлена обработка аудиофокуса
[*] zxtune-android: уменьшен размер пакета

Релиз с исправлениями накопившихся надоедливых проблем. Времени заниматься проектом было не особо много, поэтому видимых изменений практически нет.

Скачать с сайта
👍31
Билд 5040:

[+] версия для MacOSX M1 arm64 (без нотаризации)
[*] улучшена совместимость версий для linux/raspbian для старых дистрибутивов
[*] переработан анализатор спектра
[*] исправлено падение при работе с поврежденными архивами 7zip
[*] исправлена обработка затухания
[*] исправлено циклическое воспроизведение mp3
[*] исправлено определение длительности цикла vgm
[*] используется значение по умолчанию для дорожек vgm с нулевой длительностью
[*] zxtune-qt: исправлено падение при закрытии приложения
[*] zxtune123: исправлены проблемы с кодировкой на windows
[*] zxtune-android: переработан пользовательский интерфейс
[*] zxtune-android: фильтрация списка воспроизведения выполняется по имени файла, если модуль не имеет названия
[*] zxtune-android: исправлена обработка в режиме перемешивания для текущей очереди воспроизведения

Очень насыщенный релиз получился, даже не понятно с чего начинать рассказ:)
Наконец-таки дошли руки до интерфейса версии для Android. Еще не все из запланированного сделано, что-то может измениться в будущих версиях, но начало положено. Изменений достаточно много, вроде бы ничего из ранее доступного функционала не пропало (кроме зацикленного воспроизведения плейлиста), но появилось немного разных фишек для повышения удобства пользования.
На регулярную основу (надеюсь) вернулись сборки для MacOS. За прошедшее время сильно улучшился инструментарий для кросс-сборок для mac (osxcross), что позволило собирать QT без использования реального мака (да, вся сборка делается в linux контейнерах, если кто не знал, в том числе бинари для windows). Заодно получилось настроить сборку для устройств на базе M1 чипов. К сожалению, пакеты без нотаризации (и врядли она будет), поэтому придется сделать пару широко известных заклинаний чтобы их установить. Жирный плюс в карму за помощь с отладкой улетает пользователю Alf.
Чтоб два раза не вставать, был также улучшений в процессе сборки: статическая линковка libstdc++ для generic linux/raspbian (что должно поправить запуск на старых дистрибутивах) и использование кеша для сборки (раньше был только для android) - это позволило сократить время сборки с 18 минут до 6 при добавленных трех новых конфигурациях (всего сейчас 8, не включая android).
Также была исправлена небольшая кучка найденных и сообщенных проблем и падений.
Скачать с сайта
🔥7
5
Билд 5050:

[+] поддержан формат OPUS включая семплы для модулей
[+] сборки ARM64 для Windows и Linux
[*] исправлена обработка некоторых xSF файлов
[*] исправлена обработка затухания
[*] zxtune-qt: улучшено использование многоядерных процессоров
[*] zxtune-qt: исправлены падения в диалоге конвертирования
[+] zxtune-android: светлая тема
[+] zxtune-android: диагностика проблем с энергопотреблением
[*] zxtune-android: исправлен запрос разрешения на установку рингтона
[*] zxtune-android: исправлены найденные и сообщенные падения
[*] zxtune-android: исправлен неожиданный старт приложения при включении Bluetooth

Получилось перевести сборку windows бинарников на новый компилятор. llvm-mingw из коробки поддерживает разные аппаратные платформы, да еще и бинарники получаются сильно меньше. В архиве доступны сборки для всех платформ, на сайте только x86_64/arm64.
Версия для Android, наконец, обзавелась светлой темой - можно принудительно включить ее в настройках или синхронизировать с системной темой. Виджет тоже немного причесался и стал следовать системной теме (темная/светлая) на новых версиях Android.
Все больше и больше пользователей стали жаловаться на внезапные остановки воспроизведения. Причина известна давно - система в какой-то момент решает активировать режим экономии батареи и завершить все подозрительные (по ее мнению) приложения. Есть даже целый сайт посвященный проблеме - https://dontkillmyapp.com - где можно найти решения для разных вендоров. Для таких случаев добавлена диагностика в виде специального пункта главного меню, с помощью которого можно перейти в настройки и отключить оптимизацию. Судя по другим приложениям, это ни разу не панацея, но уж лучше чем ничего.
Также была исправлена кучка всяких проблем и падений.
Скачать с сайта
👍51
3👍1
Билд 5060:

[*] исправлена обработка затухания при зацикленном воспроизведении
[*] уменьшено использование памяти для распаковки данных
[*] исправлено воспроизведение некоторых GSF треков
[*] исправлено воспроизведение треков с внутренними циклами
[+] zxtune-qt: отображение вшитых обложек во всплывающей подсказке и диалоге свойств трека
[*] zxtune-android: исправлен анализатор спектра
[*] zxtune-android: улучшена поддержка Android 13&14
[+] zxtune-android: поддержка вшитых (mp3/ogg/flac) и внешних (vgmrips/zxtunes/amp/archive) обложек треков
[+] zxtune=android: выключаемая секция с комментариями к треку

Одним из главных нововведений этой версии стала поддержка обложек треков. Для десктопной версии все поскромнее - поддержаны только встроенные в треки картинки (для форматов mp3/ogg/flac), посмотреть можно во всплывающем тултипе или диалоге свойств трека. В Android версии все побогаче - помимо встроенных, также поддержан поиск картинок рядом в той же папке (для локальных хранилищ), выше или ниже по иерархии каталогов (для архивов), картинка из заставки игры (для vgmrips), фотография автора при наличии (amp & zxtunes). Если кто не знал, анализатор спектра можно отключить просто кликнув по нему - так что любоваться картинками ничего не помешает:) Также, при наличии встроенного в трек комментария (или названий семплов в чиптюне), на главной панели рядом с названием трека появляется кнопка, с помощью которой можно посмотреть эти данные без необходимости открывать диалог со с информацией по треку.
Также в релиз попали всякие мелкие и не очень улучшения, включая уже опубликованные правки для hotfix релизов (коих было аж 6!).
Скачать с сайта
🔥2👏1
2
Билд 5070:

[+] Поддержана архитектура Loongson
[*] Исправлена обработка строковых данных модулей для некоторых форматов
[*] Исправлена работа в Windows 7
[*] Уменьшен размер сборок для Debian
[*] Обновлена библиотека libsidplayfp, исправлено воспроизведение некоторых .sid треков
[*] zxtune-qt: исправлено падение при выборе модулей в плейлистах
[*] zxtune-android: улучшена совместимость со старыми версиями Android
[*] zxtune-android: поддержана отправка архивированных/сжатых треков

Релиз - работа над ошибками. Десктопная версия для windows теперь должна работать и в Windows 7. Версия для Android теперь предоставляет свой корневой сертификат для Let's Encrypt для старых (до Android 7 включительно) устройств - это исправляет работу практически всех онлайн-каталогов. Также исправлен показ обложек на экране блокировки для устройств на Android 10 и старше и в принципе показ обложек для каталогов amp/vgmrips. Ну и стало возможным отправлять текущий активный трек в другие приложения, даже если он находится в архиве или сжат.
Некоторые пользователи стали жаловаться на плохое воспроизведение .sid файлов. Исследование выяснило, что проблема была исправлена в свежих версиях используемой библиотеки libsidplayfp - настала пора обновиться. Поскольку при предыдущем (оно же единственное) втягивании библиотеки было потрачено весьма много сил на разного рода оптимизации для работы на процессорах ARM, было принято решение перенести их в апстрим библиотеку дабы нанести добро и причинить пользу всем. Leandro Nini (автор библиотеки) принял все предложенные исправления, что дало до 15% роста производительности на ARM процессорах:)
Также в рамках наведения порядка в сборочных скриптах была добавлена пробная поддержка сборок для китайского процессора Loongson, точнее его 64-битной версии. Железки в наличии нет, но в официальном эмуляторе все работает нормально.
Скачать с сайта
3🔥2
Билд 5080:

[+] поддержано отключение звуковых каналов для некоторых форматов
[+] поддержан чип Mikey для воспроизведения vgm
[+] поддержаны форматы NWA,STER и NXOPUS
[*] исправлено воспроизведение файлов USF
[*] исправлено позиционирование в трекерных модулях
[*] zxtune-android: улучшено время старта и общая производительность интерфейса

Наконец-то дошли руки хоть как-то реализовать давно выпрашиваемое отключение каналов для трекерных и не только модулей. Для поддерживаемых форматов в десктопной версии показывается ряд кнопок в панели настройки звука (где кнопка зацикливания), для Android версии - в меню трека будет доступен пункт "Управление звуком".
Очень много времени ушло на доработки Android версии для перехода на новый асинхронный движок. Код стал проще, а приложение - отзывчивее и быстрее стартовать.
Были обновлены библиотеки lzma, vgmstream, lazyusf2, libvgm - улучшилась поддержка некоторых форматов и добавилось немного новых.

Версия для Android теперь доступна в RuStore, а в GooglePlay дополнительно выкладыватся оптимизированная версия для устройств на базе Android 9 и новее - по функционалу она абсолютно такая же, но отсутствует поддержка более старых устройств, что благотворно сказывается на размере пакета и исользуемого дискового пространства.
Скачать с сайта
👏4🥴1
Билд 5090:

[*] исправлено затухание звука для VGM
[+] zxtune-android: добавлен каталог ocremix.org
[*] zxtune-android: улучшен перевод на немецкий язык
[*] zxtune-android: улучшена скорость загрузки некоторых онлайн-каталогов
[*] zxtune-android: файлы с цифровыми фото не используются как обложки треков
[*] zxtune-android: упрощена структура отображения упакованных файлов в браузере
[*] zxtune-android: показ комментариев в панели с краткой информацией
[*] zxtune-android: исправлены найденные и сообщенные падения

Очередной релиз с пачкой улучшений и доработок версии для Android.
Самое главное нововведение - добавление очередного онлайн-каталога, живущего по адресу https://ocremix.org. Времени на это ушло достаточно много из-за достаточно сложной структуры и кучи разных тонкостей. Например, есть три вида музыки: треки в нативном формате (т.е. чиптюны), ремиксы (обычные mp3 файлы) и альбомы (тематические сборники). Вот с последними возникли основные сложности. Если файлы остальных типов музыки лежат в открытом доступе и были спокойно скачаны (600Мб чиптюнов и 27Гб ремиксов), то альбомы, в основном, представлены виджетами на SoundCloud и отдельными подсайтами. В итоге пришлось научить приложение скачивать со страницы .torrent файл с альбомом (если он есть) и из него извлекать список .mp3 треков, а уж их хостить у себя (16Гб mp3 файлов, 88Гб всего контента альбомов). Ну и своя копия обложек альбомов и игр (380Мб). Итого зеркало каталога тянет примерно на 115Гб. Пользуйтесь на здоровье:)
Также куча всяких мелких исправлений, довольно значимая часть которых состоялась благодаря Valley Bell - автору libvgm, используемой в проекте. Он немного улучшил перевод на немецкий язык, сделал ряд доработок для лучшей поддержки воспроизведения формата vgm и спровоцировал на несколько других улучшений и исправлений.
🔥73❤‍🔥1
Билд 5100:

[*] исправлена обработка тегов ID3
[*] исправлена обработка RAR с именами файлов в юникоде
[+] zxtune-android: добавлен каталог downloads.khinsider.com
[+] zxtune-android: поддержаны иконки в браузере (обложки треков и графика для некоторых объектов онлайн-каталогов)
[*] zxtune-android: исправлен каталог aminet
[*] zxtune-android: исправлен каталог ocremix для старых устройств Android

Девиз релиза - "красота и восторг!" :)
Давно уже чесались руки сделать отображение миниатюр обложек в браузере, прошлогодние релизы с внедрением нового асинхронного движка, а также поддержка обложек как таковых были первыми шагами в этом направлении. На данный момент поддержано отображение вшитых обложек для всех проиндексированных (т.е. воспроизведенных и/или добавленных в плейлист) треков, а также картинки, предоставляемые некоторыми (zxtunes, vgmrips, ocremix, khinsider) онлайн-каталогами.
К слову о последнем. Почти 5 лет назад я писал авторам с предложением об интеграции. Они посоветовали этого не делать ввиду атак копирастов на сайт и все что с ним связано. Но все же решил рискнуть, будучи готовым вырезать поддержку каталога для релизов на GooglePlay (оставив для остальных само собой). Два месяца подготовки зеркала сайта (качалось понемногу, ребята просят не наглеть дабы не перегружать сервера, их дневной трафик и так более 8 Тб в день) и две недели на написание кода по вечерам. Итого: почти 88 тысяч альбомов, 2.5 млн треков объемом 8.8 Тб и 175 тысяч картинок на 25 Гб. Слушайте и не говорите, что не слышали:)
Также были исправлены разные мелкие и не очень ошибки.

GooglePlay | RuStore | Сайт
8👏2👍1
8
Please open Telegram to view this post
VIEW IN TELEGRAM
4🙏1