• Вышла очередная версия ZXTune

    Билд 3950

    + добавлена поддержка Nintendo DS Sound Format (2SF)
    + добавлена поддержка Startrekker (MOD)
    * ускорен поиск многофайловых треков в архивах
    * исправлено воспроизведение GSF
    * база длительностей SID модулей обновлена до версии 66
    + zxtune-qt: открываемые через командную строку файлы могут добавляться не только в новый, но и в текущий активный или видимый плейлист
    + zxtune-android: добавлен каталог http://2sf.joshw.info
    * zxtune-android: векторные иконки в приложении
    - zxtune-android: минимально поддерживаемая версия Android 4.0.3 (API v14)
    * zxtune-android: исправлены некоторые падения
    Очередная "галочка" в списке поддерживаемых форматов - 2SF. Это очередной представитель семейства xSF форматов, созданный для сохранения музыки с приставки Nintendo DS. Также в версию для Android добавлен доступ к каталогу с такой музыкой.
    Сделан первый шаг в сторону Material Design - переделаны все иконки приложения кроме главной. Для новых версий Android (начиная с 5.0) они будут показываться в наилучшем возможном качестве в связи со своей векторной натурой.
    Также пришлось отказаться от совсем уж старых версий Android (2.3.3 - 3.2) - доля пользователей этих платформ уже практически не видна на радарах, а сложностей с поддержкой имеется достаточно.
    Остальные исправления связаны с найденными и сообщенными проблемами, недобностями и падениями.

    Скачать версию для Android

    Скачать версию для win32
    Скачать версию для win64
    Скачать версию для win32 (MMX/SSE/SSE2)
    Скачать версию для win64 (MMX/SSE/SSE2)
    Эта статья изначально была опубликована в теме форума: ZXTune - ZX Music player автор темы Vitamin Посмотреть оригинальное сообщение

    Комментарии 588 Комментарии
    1. Аватар для voldemar_d
      voldemar_d -
      Добрый день. Хочу спросить автора про одну техническую вещь в реализации движка эмулятора чипа AY.
      Изучаю тему несовпадения фазы между генератором тона и генератором огибающей.
      В Fast Tracker для железного Спектрума научились с этим бороться.
      Например, в этом обсуждении про это говорится.

      Собственно, в чем вопрос: в каких случаях в вашем эмуляторе производится сброс счетчика цикла огибающей?
      В некоторых даташитах про AY пишут:
      "NOTE: When both the Hold bit and the Alternate bit are ones, the envelope counter is reset to its initial count before holding".

      Но есть сведения, что счетчик огибающей сбрасывается при установке в регистр R15 любого значения, а не только с 11 в младших двух битах.
      Или это делается по установке значение делителя огибающей? Как это в ZXTune реализовано?
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от voldemar_d Посмотреть сообщение
      Как это в ZXTune реализовано?
      Сбрасывается при записи любого значения.
    1. Аватар для Grand
      Grand -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Билд 5030 ...
      У меня эта версия на Raspberry Pi 4 не пошла. Откатился к предыдущей версии, которая хорошо работает...
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от Grand Посмотреть сообщение
      У меня эта версия на Raspberry Pi 4 не пошла. Откатился к предыдущей версии, которая хорошо работает...
      Нужен номер этой предыдущей версии и про какое из приложений идет речь. Какая проблема в свежей версии при старте?

      Upd: попробовал на первой малинке. Не работает на buster, надо обновляться на bullseye или вручную притащить свежую libstdc++6 версии не ниже 6.0.28
    1. Аватар для Grand
      Grand -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Какая проблема в свежей версии при старте?
      Она (и оконная, и терминальная) не запускается (ничего не происходит). Остальное еще уточню.
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от Grand Посмотреть сообщение
      Она (и оконная, и терминальная) не запускается (ничего не происходит). Остальное еще уточню.
      Запусти в терминале- там видно будет почему не стартует. Если что, у меня прекрасно работают обе версии на первой малине (если подложить нужную библиотеку - читай обновить систему).
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      С пенка собрал r5000 под win32
      https://github.com/NEO-SPECTRUMAN/ZX...uilds/releases

      ...наверно это последняя версия которую можно собрать с текущим набором либ который витамин выложил тут ранее
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Vitamin, типо багарепорт (хотя утя оно можот и не быть)

      r4960
      r5000
      на vgm зхтюн падает если +$18 Total of all wait values in the file. = 0

      на
      r4760 - ok
      r4831 - ok


      так же зхтюн не находит невалидные vgm-ы
      c пустым +$04 EOF (file length - 4)


      хотя например винамп с vgm input plugin v0.50.1 by Valley Bell 2020
      играет оно молча
      но без бегунка перемотки
    1. Аватар для Grand
      Grand -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Не работает на buster, надо обновляться на bullseye или вручную притащить свежую libstdc++6 версии не ниже 6.0.28
      Наконец-то я меня появилось время разобраться. Вот, что я выяснил.
      У меня сейчас на Raspberry Pi установлена buster от 07.05.21, но после 21-го года несколько раз обновлялась.
      Вот что выводится о libstdc++6:




      Цитата Сообщение от Vitamin Посмотреть сообщение
      Какая проблема в свежей версии при старте?
      Терминальная версия музыку играет, а "графическая" - нет:

    1. Аватар для voldemar_d
      voldemar_d -
      Умеет ли программа в командной строке конвертировать разом много файлов?

      Вот такая попытка выдала мне ошибку:

      zxtune123.exe --convert mode=psg,filename=[Filename].psg *.ay

      Может, как-то по-другому нужно написать?
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от voldemar_d Посмотреть сообщение
      Умеет ли программа в командной строке конвертировать разом много файлов?
      Умеет. Но не умеет работать с масками файлов. Можно запускать из msys/cygwin консоли.

      - - - Добавлено - - -

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      Vitamin, типо багарепорт (хотя утя оно можот и не быть)
      Ничо не понял

      - - - Добавлено - - -

      Цитата Сообщение от Grand Посмотреть сообщение
      Терминальная версия музыку играет, а "графическая" - нет:
      Собственно, та проблема о которой говорил- нужна свежая версия, в которой есть символы нужных версий. У тебя какая-то другая нумерация на скрине.
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Ничо не понял
      при некотором не соответствии стандарту на VGM
      зхтюн или падает или не играет
      хотя другим плеерам на это пофиг
      они играют молча

      и до переезда на какойто там
      универсальный чиптюн плеер
      (на который переехали дето между r4831...r4960)
      оно работало лучше

      но тк это моя гофнoсбoрка под win32 твоего гoфнoсорца
      то может у тебя оно падать и не будет

      так же я указал по какому смещению эти не "критичные" для воспроизведения параметры
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      при некотором не соответствии стандарту на VGM
      зхтюн или падает или не играет
      Прям падает или ошибку выдает?

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      и до переезда на какойто там
      универсальный чиптюн плеер
      (на который переехали дето между r4831...r4960)
      оно работало лучше
      Можно написать авторам libvgm, вдруг поправят.

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      так же я указал по какому смещению эти не "критичные" для воспроизведения параметры
      Лучше сразу файлы с примерами.
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      мдя
      прошло пол года и все оказалось немного не так
      я думал что вообще зхтюн не открывал ни одного файла
      а не октрываемые пришлось еще и поискать

      Цитата Сообщение от Vitamin Посмотреть сообщение
      Можно написать авторам libvgm, вдруг поправят.
      на один из вариантов утя детектилкка
      ненаходит vgm

      на второй
      (при этом оно продолжает играть ))))


      закинул те на гитхаб
      https://github.com/vitamin-caig/zxtune/issues/2218

      - - - Добавлено - - -

      собственно долго думать не надо что это
      0xC0000094: Integer division by zero и почаму

      - - - Добавлено - - -

      чтение заголовка


      само деление на 0 дето дальше


      - - - Добавлено - - -

      это не на твоей стороне?
      GetCurTime
      GetTotalTime
      GetLoopTime
      итд все вызывающие Tick2Second
    1. Аватар для Vitamin
      Vitamin -
      Короче, такие кривые файлы надо игнорировать.
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Короче, такие кривые файлы надо игнорировать.
      но похорошемуу плеер то не должон падать на битых файлах
      тем более на писюках
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      но похорошемуу плеер то не должон падать на битых файлах
      тем более на писюках
      Разумеется. А поскольку нормально воспроизвести такие кривые треки нельзя, надо их просто игнорировать.
    1. Аватар для voldemar_d
      voldemar_d -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Умеет. Но не умеет работать с масками файлов. Можно запускать из msys/cygwin консоли.
      Не очень понял, о чем речь. Нужно самому написать какой-то скрипт, который перебирает все файлы в папке и вызывает ZXTune с каждым из них по очереди?
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Разумеется. А поскольку нормально воспроизвести такие кривые треки нельзя, надо их просто игнорировать.
      если плеер можот воспроизведить бесконечные чиптюны
      то проблемы воспроизведения быть не должно

      по хорошему надо информировать что факл битый и где
      а не молча делоть рожу кирпичом


      кстате не расскажошь какие версии чаго нужны для BuildEnv
      для версий 5000+
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от voldemar_d Посмотреть сообщение
      Нужно самому написать какой-то скрипт, который перебирает все файлы в папке и вызывает ZXTune с каждым из них по очереди?
      Либо вызывает со всеми сразу. Обычно такими вещами (преобразование масок в список файлов) занимается оболочка. Виндовое *****поделие CMD такого не умеет, поэтому я сказал про msys/cygwin терминалы.

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      если плеер можот воспроизведить бесконечные чиптюны
      то проблемы воспроизведения быть не должно
      Не умеет. У каждого трека есть длительность и, опционально, точка зацикливания.

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      по хорошему надо информировать что факл битый и где
      а не молча делоть рожу кирпичом
      По твоему каждый детектор формата должен на каждое несрабатывание окошко показывать с сообщением, "не распарсил"?

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      кстате не расскажошь какие версии чаго нужны для BuildEnv
      для версий 5000+
      На винде разрабатываю с помощью mingw (сейчас с http://winlibs.com), boost/qt выковыриваю из сборочных контейнеров (для qt правда отдельно где-то брал бинари moc/uic/rcc, в контейнерах оно для линукса). Рецепты для контейнеров живут в make/docker/build.
      На линуксе хватает системного компилятора и системных qt/boost.