Важная информация
  • Вышла очередная версия 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 Посмотреть оригинальное сообщение

    Комментарии 396 Комментарии
    1. Аватар для Enigmatic
      Enigmatic -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Выложил исправленную версию.
      Спасибо.Перед этим перезагрузка помогла.
    1. Аватар для dltech
      dltech -
      Не пойму строчки const uint8_t* regs = static_cast<const uint8_t*>(Data->Start()) + state.Frame() * Devices::AYM::Registers::TOTAL;
      Я так понял, что Data касается LPT порта, а не данных, а вот кусок state.Frame() * Devices::AYM::Registers::TOTAL возвращает указатель на конец массива в котором хранятся значения регистров AY по порядку как вот здесь enum Index {TONEA_L, TONEA_H, TONEB_L, TONEB_H, TONEC_L, TONEC_H, TONEN, MIXER, VOLA, VOLB, VOLC, TONEE_L, TONEE_H, ENV, TOTAL};, верно? Непривычно запускать чужой код без текстовых пояснений.
      Фото моей железки
    1. Аватар для Vitamin
      Vitamin -
      Билд 4930:

      [+] zxtune-android: добавлен каталог vgmrips.net
      [+] zxtune-android: добавлен каталог scene.org
      [*] zxtune-android: исправлены обновления плейлиста

      В отряде поддерживаемых онлайн-каталогов пополнение!
      Теперь можно слушать музыку с очень интересного сайта vgmrips.net - около 2300 игр, 37 тыс треков, 2Гб архивов. Надеюсь, в будущем получится прикрутить получение и показ картинок. Кому хочется всего и сразу - можно найти на их форуме практически весь архив треков и хранить его локально.
      Вторым каталогом стала музыкальная секция архива scene.org - 300+Гб архивов (в оригинале было почти 400Гб, пришлось почистить дубликаты). Конечно, там дикая свалка, но вдруг кто-то найдет для себя что-то интересное?
      Также были поправлены всякие найденные и привнесенные баги.

      Скачать версию для Android
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от dltech Посмотреть сообщение
      Не пойму строчки const uint8_t* regs = static_cast<const uint8_t*>(Data->Start()) + state.Frame() * Devices::AYM::Registers::TOTAL;
      Я так понял, что Data касается LPT порта, а не данных
      Откуда такая предпосылка?


      Цитата Сообщение от dltech Посмотреть сообщение
      кусок state.Frame() * Devices::AYM::Registers::TOTAL возвращает указатель на конец массива в котором хранятся значения регистров AY по порядку
      Почему указатель и почему на конец?

      Цитата Сообщение от dltech Посмотреть сообщение
      Непривычно запускать чужой код без текстовых пояснений.
      А какие пояснения требуются? Кусок руководства по языку с описанием арифметики указателей?
    1. Аватар для Bubel
      Bubel -
      Наковырялся в настройках 3х канального микшера, не помню как было по умолчанию
      Файла конфига чтобы сбросить всё не вижу, можно добавить кнопку Default там где нужно для таких как я?
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Цитата Сообщение от Bubel Посмотреть сообщение
      Файла конфига чтобы сбросить всё не вижу, можно добавить кнопку Default там где нужно для таких как я?
      низя
      аффтар молиться на хранение в реестрах и грабли
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от Bubel Посмотреть сообщение
      Наковырялся в настройках 3х канального микшера, не помню как было по умолчанию
      Файла конфига чтобы сбросить всё не вижу, можно добавить кнопку Default там где нужно для таких как я?
      На каждую опцию кнопку делать?

      Удалить ветку HKEY_CURRENT_USER\Software\ZXTune\zxtune\sound\mix er\3

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

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      аффтар молиться на хранение в реестрах и грабли
      Это приказ или кто-то в русский язык не умеет?
    1. Аватар для Bubel
      Bubel -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      На каждую опцию кнопку делать?
      Вроде в каких то програмах в закладке общих настроек можно найти сброс, навсякий. Может кто-то еще наковыряется в сложных настройках типа частот.
      Я по ламерски сужу, регистр, конечно почищу, спасибо!
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от Bubel Посмотреть сообщение
      Вроде в каких то програмах в закладке общих настроек можно найти сброс, навсякий
      Ну бывает такое. Но вот лично я, как пользователь, чего-то очкую жать на такие кнопки обычно - хрен знает что оно там с трудом настроенное снесет.
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Ну бывает такое. Но вот лично я, как пользователь, чего-то очкую жать на такие кнопки обычно - хрен знает что оно там с трудом настроенное снесет.
      ну это как раз для общих\всех настроек

      обычно как бы подразумевает установку дефолтных настроек для всего



      а бывает часто и такой сброс




      и никто не кричит "что под каждый параметр сброс делать?"

      а если не делают сброс под каждый параметр

      делают сброс настроек на конкретной странице





      если конфигурация через редактирование ручками .ini
      там пишут какой параметр по дефолту в коменте с боку

      но тебе же нужно все запихнуть в реестр
      пушо так сказало делать ZOG и М$
      а здравый смысл
      да кого он волнует...


      особенно сосет твой реестр
      когда нужно несколько одинаковых программ с разными настройками
      при том запущенных одновременно...


      в скриншотах выше
      видно переключаемые профили (на самом верху слева)
      но профили лежащие в реестре это не файл конфига в папке с программой...
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      но тебе же нужно все запихнуть в реестр
      пушо так сказало делать ZOG и М$
      а здравый смысл
      да кого он волнует...
      Ну возьми и сделай, чего растрынделся-то?
    1. Аватар для Vitamin
      Vitamin -
      Билд 4950:

      [+] поддержка всех версий и чипов формата VGM
      [+] zxtune-android: добавлен поток случайных треков из каталога VGMRips

      Как одна маленькая проблема привела к большому разбирательству.
      Изначально для воспроизведения формата VGM (и еще 7 других форматов) использовалась библиотека GME (Game Music Emu). Особых иллюзий по поводу ее качества не было, как особо не было и альтернатив - эталонная библиотка (и проигрыватель) под названием vgmplay представляет собой *****код^W концентрированную боль и страдания в плане интеграции в другие проекты и сопровождения.
      После недавнего добавления каталога VGMRips с широчайшим ассортиментом версий и чипов выяснилось (после пользовательской жалобы), что довольно существенная часть треков просто не воспроизводится. Пришлось нырнуть с головой в vgmplay на предмет допилить ее до приемлимого уровня. К счастью, это занятие быстро надоело и пришла идея посмотреть что получилось у других страдателей. Находились репозитории с доработанными версиями кода, но уже довольно сильно отстающие от первоисточника. Грусть-печаль-тоска...
      К счастью, Valley Bell (текущий разработчик vgmplay) тоже упоролся поддерживать этого какодемона, поэтому взял и переписал К новой библиотеке под названием libvgm тоже есть некоторые вопросы, но все же это прямо небо и земля относительно того что было. Пробная интеграция - и треки зазвучали
      Потом был достаточно долгий период тестирования на всех имеющихся треках - таки нашлось несколько падений и зависаний (автор уже уведомлен, но фикса пока нет). Ну и выяснилось, что для корректного воспроизведения треков для YMF278B необходимо таскать с собой 2Мб файл с дампом ПЗУ - было принято решение забить на это (всего 11 игр из более 2200).
      Также в честь такого события было добавлено "радио" с сайта vgmrips.net - играются случайные треки из случайных игр.

      https://play.google.com/store/apps/d...?id=app.zxtune

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

      Скачать версию для Mac OS X 64-bit
      Скачать версию для win64 (MMX/SSE/SSE2)
      Скачать версию для linux x86_64
      Скачать версию для Ubuntu/Debian x86_64
      Скачать версию для Redhat/Suse/Centos/Fedora x86_64
      Скачать версию для Raspberry Pi
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      таскать с собой 2Мб файл с дампом ПЗУ
      а оно не ужимается до приемлемых размеров?
      чтобы таскать оно с собой

      а так на фоне других свистоперделок (современных софтварей)
      +-2МБ это...
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      а оно не ужимается до приемлемых размеров?
      чтобы таскать оно с собой
      Неа. До 1.8Мб максимум

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      а так на фоне других свистоперделок (современных софтварей)
      +-2МБ это...
      Нативный код андроид приложения весит от 6 до 9Мб (пакет в среднем 4.3Мб, на устройстве в среднем 22.2Мб). Меньше сотни треков - недостаточно веская причина для утяжеления пакета на половину, а занимаемого места - на 10%).
    1. Аватар для tae1980
      tae1980 -
      На вин7 32 бит последняя рабочая версия zxtune_r4440_windows_x86?
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от tae1980 Посмотреть сообщение
      На вин7 32 бит последняя рабочая версия zxtune_r4440_windows_x86?
      Да
    1. Аватар для NEO SPECTRUMAN
      NEO SPECTRUMAN -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      Да
      кстате витамин
      у тя там же есть скоростной тест

      мне вот интересно
      а какое преимущество у 64 битной версии на 64 битной машине
      перед 32 битной версией на 64 битной машине
      чисто в цифрах

      а то смотрю ретроплатформщики со своими эмуляторами мк60
      дружно начали фапать на 64 бита онли

      какой смысл? (ну кроме того случае когда заюзанные сторонние библиотеки только 64 бит)
      32 битное уже не идет на 64 битном?

      каждому эмулятору мк60 нужно грузить в память 2 гига мусора?
    1. Аватар для Gutten
      Gutten -
      Win-версия при попытке обновления показывает:

      Код:
      Ошибка открытия сетевого ресурса 'https://zxtune.bitbucket.io/downloads.xml'.
      @18f465fd
      --------
      Сетевая ошибка: SSL connect error
      @18f4652a
      --------
      Что можно сделать?
    1. Аватар для Vitamin
      Vitamin -
      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      а какое преимущество у 64 битной версии на 64 битной машине
      перед 32 битной версией на 64 битной машине
      Зависит от. Например, эмулятор N64 на 32 битах явно будет работать медленнее, чем на 64.

      Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
      32 битное уже не идет на 64 битном?
      На линуксе, например, нужно ставить 32-битный рантайм. Это несложно, но если можно избежать, то лучше не ставить.

      Тесты можешь сам прогнать (чтоб честно было):
      Код:
      zxtune123 --benchmark N <files>
      где N - число прогонов (лучше 5-10) для точности учета

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

      Цитата Сообщение от Gutten Посмотреть сообщение
      Что можно сделать?
      В браузере этот файл открывается нормально?
    1. Аватар для Gutten
      Gutten -
      Цитата Сообщение от Vitamin Посмотреть сообщение
      В браузере этот файл открывается нормально?
      Да, открывается и в IE, и в Я.Браузере. Хотя открывается по разному, но ошибки нет.