LINUX.ORG.RU

ZXTune b3410

 , , , ,


1

2

Вышла новая версия кроссплатформенного плеера и риппера чиптюн-музыки ZXTune b3410.

Основными достоинствами проекта является его кроссплатформенность, быстрый и глубокий поиск музыкальных модулей в больших объемах данных. Также плеер имеет множество функций, облегчающих работу с большими коллекциями треков: поиск и удаление дубликатов, множество плейлистов, асинхронное выполнение операций, экспорт, конверсия в популярные форматы и многое другое.

Плеер представлен в виде GUI-приложения на базе Qt (zxtune-qt) и в виде консольной программы (zxtune123). Также существует версия для ОС Android.

Список основных изменений относительно версии b2850:

  • Добавлено:
    • поддержка музыкальных форматов SID, несжатых YM, ET1, AYC, SPC, MTC, NSF, NSFe, GBS, SAP, HES, VGM
    • поддержка контейнеров PCD6.1i, DSK, UMX, GZip, 7zip
    • поддержка реального AY чипа через библиотеку dlportio
    • zxtune-android: поддержка онлайн-каталогов ModLand, HVSC, ZXArt, Josh W
    • zxtune-android: локализация для немецкого и испанского языков
    • zxtune-android: навигация по трекам из области уведомлений
    • zxtune-android: отображение прогресса загрузки директорий в браузере
    • zxtune-android: отображение операций ввода-вывода в заголовке окна
    • zxtune-android: последовательное воспроизведение треков из браузера
    • zxtune-android: возможность передать файл трека в другие приложения
    • zxtune-android: возможность делиться ссылками на треки из каталогов zxart.ee и zxtunes.com
    • zxtune-android: интеграция с системой на открытие некоторых поддерживаемых типов файлов
    • zxtune-android: отображение дополнительной информации на виджете экрана блокировки
    • zxtune-android: возможность перемещать приложение на карту памяти
    • zxtune-android: статистика по всему плейлисту или выбранным трекам
    • zxtune-android: сохранение и восстановление последнего проигрываемого трека
    • zxtune-android: поиск файлов в браузере
    • zxtune-android: использование внешней памяти для кеша
    • zxtune-android: виджет приложения на домашнем экране
    • zxtune-android: установка фрагмента трека в качестве мелодии звонка
    • zxtune-android: сортировка плейлиста
    • zxtune-android: работа с архивами как с папками
    • zxtune-qt: автоматический выбор на воспроизведение первого добавленного в плейлист трека
    • zxtune-qt: перемешивание плейлиста
    • zxtune-qt: горячие клавиши управления воспроизведением
    • zxtune-qt: быстрая навигация по списку буквенными клавишами
    • zxtune-qt: сохранение и восстановление последнего проигрываемого трека
    • zxtune-qt: колонка с комментариями треков в плейлисте
    • zxtune-qt: пункт «Сохранить как» для отдельных треков
    • zxtune-qt: режим единственного экземпляра приложения
  • Исправлено:
    • найденные ошибки воспроизведения форматов AS0, ASC, SAA, YM, AY, SQD, PT3, STP, PT2, TFM
    • обработка PCD, CC3, TurboLZ
    • эмуляция beeper-треков
    • обработка не-ASCII символов в данных треков
    • zxtune-android: диагностика ошибок
    • zxtune-android: кеш каталога zxtunes.com
    • zxtune-android: поддержка мультимедиа кнопок
    • zxtune-android: поиск карт памяти на современных устройствах
    • zxtune-qt: избыточное обновление плейлиста при сканировании
    • zxtune-qt: падение при добавлении пустой папки

Доступны сборки для Windows и различных дистрибутивов GNU/Linux (RedHat, Ubuntu, Arch Linux etc). Поддерживаются аппаратные платформы x86, x86_64, armhf (RaspberryPi). Во всех пакетах Qt/boost слинкованы статически, поэтому дополнительных зависимостей не требуется.

ZXTune для Android поддерживает устройства с минимальной версией 2.3.3 (api v10) и аппаратными платформами arm, arm-v7a и x86.

>>> Официальный сайт

Почему у такого проекта нет лицензии, хоть и открыты исходники?

Klymedy ★★★★★ ()
Ответ на: комментарий от splinter

Не силен я в этих вещах, посему предполагаю GPLv3. Там вроде бы были какие-то связи с лицензиями используемых библиотек. В моем случае это:

  • GameMusicEmu - GPLv2.1
  • Lhasa - ISC (simplified MIT/X11)
  • LZMA - public domain (GPL/LGPL/etc)
  • libsidplayfp - GPLv2 and later
  • snesspc - GPLv2.1
  • unrar - freeware
  • xmp - LGPL/GPLv2.1 and later
  • z80ex - GPLv2
  • zlib - zlib license
Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

GPLv2.1

Такой не бывает.

unrar

сильно портит всю картину. Его нельзя выкинуть?

Klymedy ★★★★★ ()
Ответ на: комментарий от Klymedy

Такой не бывает.

Да ну?

GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999

<blablabla>

[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]

сильно портит всю картину. Его нельзя выкинуть?

И чем портит? Насчет выкинуть- предлагаю спросить у юзеров- согласны ли они лишиться части функционала непонятно из-за чего (лицензия unrar соблюдается, если что).

Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

GNU LESSER GENERAL PUBLIC LICENSE

LESSER

Это LGPL, а не GPL. GPLv2.1 нету.

Klymedy ★★★★★ ()
Ответ на: комментарий от Klymedy

Это LGPL, а не GPL. GPLv2.1 нету.

Пусть будет так. В моем случае разницы особой нет.

Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

Я не помню лицензию unrar, но если используются библиотеки под GPLv2, программа должна быть под GPLv2. А зависимость от проприетарщины — это очень плохо, unrar надо как минимум сделать опциональной зависимостью.

Klymedy ★★★★★ ()
Ответ на: комментарий от Vitamin_CAIG

И как мне следует понимать «GPLv2.1» в списке? Как «LGPLv2.1»?

Klymedy ★★★★★ ()
Ответ на: комментарий от Klymedy

Я не помню лицензию unrar

https://bitbucket.org/zxtune/zxtune/raw/46c333358a692734bce0f990a639c55e37282...

если используются библиотеки под GPLv2, программа должна быть под GPLv2

А GPLv3?

unrar надо как минимум сделать опциональной зависимостью.

Абсолютно не хочется усложнять код поддержкой этих всяких опциональных зависимостей без веских причин (а их в данном случае нет).

Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

А GPLv3?

Если хоть одна библиотека под GPLv2 (не GPLv2 или более поздней версии), то надо делать под GPLv2. Можно попробовать написать разработчикам библиотек, чтобы они перелицензировали их под GPLv2+ или GPLv3.

Klymedy ★★★★★ ()
Ответ на: комментарий от Klymedy

Если хоть одна библиотека под GPLv2 (не GPLv2 или более поздней версии), то надо делать под GPLv2. Можно попробовать написать разработчикам библиотек, чтобы они перелицензировали их под GPLv2+ или GPLv3.

Список библиотек с лицензиями написан выше (а сами библиотеки можно найти тут https://bitbucket.org/zxtune/zxtune/src/46c333358a692734bce0f990a639c55e37282...). И, честно говоря, я не понимаю смысл этого обсуждения здесь...

Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

Не заморачивайся, конечным пользователям все равно плевать, а всем не угодишь. То лицензия соблюдается, но версия не та, то версия те, но она не строгая. Париться из-за этой лабуды вообще не стоит.

t500s ★★ ()
Ответ на: комментарий от t500s

Счас еще понабегут (не)любители Qt и (не)поклонники статической линковки

WindowsXP ★★ ()
Ответ на: комментарий от WindowsXP

Счас еще понабегут (не)любители Qt и (не)поклонники статической линковки

А еще нелюбители С++ и Java. Причем предложение использовать консольную версию или самим написать гуй на кошерном тулките, похоже, вызывает резкий приступ внутреннего вакуума. Ибо язык поциента немедленно засасывает ему в задницу:)

Vitamin_CAIG ()

Зачем

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

Зачем в ископаемом ZX софте постоянно искать эти треки? Почему бы не выгрести всё один раз и не выложить пак на торрентах?

Logopeft ()
Ответ на: Зачем от Logopeft

Зачем в ископаемом ZX софте постоянно искать эти треки? Почему бы не выгрести всё один раз и не выложить пак на торрентах?

Повтор вопроса от 7.10.2013 Телезрителю предлагается тщательно подумать. Или заняться вопросом изготовления пака для получения ответа, если не получится подумать.

Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

Очевидно, я джва года ждал, чтобы повторить этот вопрос.

Кто знает, вдруг получу ответ.

Logopeft ()
Ответ на: комментарий от Vitamin_CAIG

И, честно говоря, я не понимаю смысл этого обсуждения здесь...

Смысл очень простой - лицензия на продукт даёт пользователям понять, что с ним можно сделать, а что нет. Вдруг ты патчи запретишь накладывать (похожая история была с Monkey's Audio Codec), или ещё что.

Тут уже была драма с файловым менеджером, автор которого опубликовал исходники без лицензии, ничего толком не пояснив. Другой человек сделал форк, и тут внезапно выяснилось, что автор на форки добро не давал. В результате скандал и два продукта с непонятным статусом. Ни туда, ни сюда.

hobbit ★★★★★ ()
Ответ на: Зачем от Logopeft

Зачем в ископаемом ZX софте постоянно искать эти треки? Почему бы не выгрести всё один раз и не выложить пак на торрентах?

Ну, например, затем, что только на главном фанатском сайте этого самого «ископаемого» ZX-софта больше 30 тысяч наименований. Это не считая того, что программы на ZX-спектрум пишут до сих пор. Ты уже готов взяться за распаковку и каталогизацию музона? Уже мечтаешь выложить его на торрент? Сколько тебе понадобится времени для распаковки музыкальных треков из этих программ? Не пригодится ли тебе для этого ZX-Tune?

Или, может, ну его, эту распаковку и каталогизацию? Может, лучше позволить людям самостоятельно выбрать интересующую их мелодию и распаковать при помощи ZX-Tune? Ведь мы же здесь все за свободу? Так давайте дадим людям свободу выбора необходимой им музыки.

Или у тебя она вот такая свобода - запретить всё, что не является линуксом?

MOP3E ()

Плеер представлен в виде GUI-приложения на базе Qt

А версия с GUI на Vitamin C есть? (:

EXL ★★★★ ()

риппера чиптюн-музыки

Автор, ты главного нам не сообщил. А чиптюн-то у тебя сколько см?

DELIRIUM ★★★★★ ()

Ребята, а где эту музыку брать?

sid350 ★★★★★ ()
Ответ на: комментарий от Klymedy

Тебя Столлман покусал? Тем людям, которым данное ПО нужно, функционал обычно важнее какой-то мнимой несвободы из-за ьодного «неверного Аллаху» компонента.

cherry-pick ()
Ответ на: комментарий от Logopeft

Очевидно, я джва года ждал, чтобы повторить этот вопрос. Кто знает, вдруг получу ответ.

Ответ был дан, но вот соображалки его понять (или хотя бы прочитать), похоже, не хватило...

Vitamin_CAIG ()
Ответ на: комментарий от hobbit

Смысл очень простой - лицензия на продукт даёт пользователям понять, что с ним можно сделать, а что нет. Вдруг ты патчи запретишь накладывать (похожая история была с Monkey's Audio Codec), или ещё что.
Тут уже была драма с файловым менеджером, автор которого опубликовал исходники без лицензии, ничего толком не пояснив. Другой человек сделал форк, и тут внезапно выяснилось, что автор на форки добро не давал. В результате скандал и два продукта с непонятным статусом. Ни туда, ни сюда.

Если посмотреть репозитории проекта, а также немного поискать в интернетах, то будет ясно, что уже давно есть производные продукты на базе исходного кода (плагины для foobar/bass.dll/xmpplayer/aimp). По поводу патчей вопрос чуть более сложный - изменения я вношу сам (по мотивам присланных патчей или после описания проблемы) ибо мне не хочется постоянно спотыкаться о чужеродные фрагменты кода. По поводу форков именно основных приложений (zxtune123/zxtune-qt/zxtune for android), то прецедентов пока не было. А если будут, у меня лишь два требования к ним- новое название (без отсылок к zxtune) и открытые исходники.

Vitamin_CAIG ()
Ответ на: комментарий от sid350

Ребята, а где эту музыку брать?

В android-версии есть встроенная поддержка нескольких каталогов музыки. Собственно, оттуда же можно скачать файлы для пользования в десктопной версии.

Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

А если будут, у меня лишь два требования к ним- новое название (без отсылок к zxtune) и открытые исходники.

Ну вот подобные вопросы лицензия и оговаривает... И лучше это сделать заранее, а не когда кто-то споткнётся.

Кстати, чем плохи отсылки к названию, если они не вводят в заблуждение, конечно? ЕМНИП, автор VirtualDub к автору VirtualDubMod претензий не предъявлял.

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Ну вот подобные вопросы лицензия и оговаривает... И лучше это сделать заранее, а не когда кто-то споткнётся.

Какая-нибудь готовая лицензия под эти условия есть? А то не хочется велосипедить.

Кстати, чем плохи отсылки к названию, если они не вводят в заблуждение, конечно? ЕМНИП, автор VirtualDub к автору VirtualDubMod претензий не предъявлял.

Сами по себе отсылки проблем не несут (и имеются в вышеупомянутых производных проектах). Я больше говорил о end-user приложениях (zxtune123/zxtune-qt/zxtune for android). Они являются своего рода визитной карточкой проекта, поэтому я не могу позволить использовать этот «бренд», в который вложены годы труда.

Vitamin_CAIG ()

Годная утилита. Спасибо, что продолжаете разработку.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Годная утилита. Спасибо, что продолжаете разработку.

Пожалуйста:)

Vitamin_CAIG ()
Ответ на: комментарий от sid350

Ребята, а где эту музыку брать?

Насколько я понял из описания, эта программа воспроизводит музыку, закодированную в виде программ для микросхем-синтезаторов. И ещё ищет эти программы, например, в играх для старых компьютеров. Соответственно, берёшь образ игрушки для ZX-спектрума, натравливаешь на него ZXTune и получаешь на выходе звуки и музыку из игры.

MOP3E ()
Ответ на: комментарий от MOP3E

берёшь образ игрушки для ZX-спектрума, натравливаешь на него ZXTune и получаешь на выходе звуки и музыку из игры.

Дабы избавить от ненужных иллюзий, замечу: со старыми игрушками (подозреваю, именно они остались в памяти местных олдфагов) такое не сработает. По причине самописности и нестандартности звуковых движков. А вот с современными играми, демами и журналами, использующими более современные инструменты для создания музыки - вполне.

Vitamin_CAIG ()

Ух, здоровский проект. Скачаю, потестим.

warl0ck ★★ ()
Ответ на: комментарий от Vitamin_CAIG

Какая-нибудь готовая лицензия под эти условия есть?

Под второе - куча. Под первое... ЕМНИП, это делается не лицензией, а регистрацией торговой марки и наложением ограничений на её использование. Например, именно по такой схеме форк Firefox от дебиана пришлось переименовать в Iceweasel, хотя лицензия у исходников Firefox вполне себе свободная и даже тройная (MPL/GPL/LGPL).

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от Vitamin_CAIG

unrar надо как минимум сделать опциональной зависимостью.

Абсолютно не хочется усложнять код поддержкой этих всяких опциональных зависимостей без веских причин (а их в данном случае нет).

Веской причиной может стать, например, включение продукта в репозиторий того или иного дистрибутива. И судя по обширному списку функций программы вынесение кода, работающего в unrar, в отдельный .so - не бог весть какое усложение, причём для пользователя это будет совершенно незаметно.

С другой стороны, если продвигать продукт в репозитарии каких-либо дистрибутивов не планируется, и он так и останется вещью в себе, которую качают с сайта автора - возможно, это действительно неважно.

Проект, судя по всему нишевой, для группы ценителей, ибо:

со старыми игрушками (подозреваю, именно они остались в памяти местных олдфагов) такое не сработает. По причине самописности и нестандартности звуковых движков. А вот с современными играми, демами и журналами, использующими более современные инструменты для создания музыки - вполне.

Эээ... А где лежит граница между «старыми» и «современными» играми, по каким годам, примерно? Я предполагаю, что для большинства людей, заставших игры для ZX, они кончились где-то в середине 90-х, а то и раньше. Дальше народ большей частью уже пересел на PC, отдельные гурманы - на консоли.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от hobbit

вынесение кода, работающего в unrar, в отдельный .so - не бог весть какое усложение, причём для пользователя это будет совершенно незаметно.

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

Эээ... А где лежит граница между «старыми» и «современными» играми, по каким годам, примерно? Я предполагаю, что для большинства людей, заставших игры для ZX, они кончились где-то в середине 90-х, а то и раньше. Дальше народ большей частью уже пересел на PC, отдельные гурманы - на консоли.

Конец 90х - начало 2000х

Vitamin_CAIG ()
Ответ на: комментарий от Vitamin_CAIG

Понятно, значит это действительно для очень редких ценителей.

Рад за вас. Хотя я лично не знаю ни одного человека, который к концу 90-х ещё играл на спектрумах. В начале 90-х - да, многие мои однокурсники их сами паяли и играли. Но интернет даёт возможность создать крепкое сообщество даже по очень экзотическим интересам...

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Рад за вас. Хотя я лично не знаю ни одного человека, который к концу 90-х ещё играл на спектрумах. В начале 90-х - да, многие мои однокурсники их сами паяли и играли. Но интернет даёт возможность создать крепкое сообщество даже по очень экзотическим интересам...

Совершенно верно. Лично для меня, правда, интересы сместились с «сделать что-то новое» на «раскопать и сохранить старое». Поэтому и потратил столько сил на встроенный риппер для выдирания музыки. Нашелся доселе неизвестный упаковщик данных - добавил его поддержку в программу - нашел новой музыки (это к вопросу некоторых недалеких «зачем постоянно искать музыку»).

Vitamin_CAIG ()
Ответ на: комментарий от hobbit

Рад за вас. Хотя я лично не знаю ни одного человека, который к концу 90-х ещё играл на спектрумах

Есть такое слово - «ретро». И оно модное. На спектрумах как хардваре - да, играет очень немного народу, хотя бы т.к. кошерный ZX Spectrum редок и два года назад стоил в ebay-нЯх от $200+ без всяких примочек типа адаптеров флэшек и есс-но без всяких гарантий. А вот спектрум как платформа в эмуляции - значительно больше народу пользует. И на правоверных 'никсах (и любимых народом мобильных яблокодроидах и РасПИшках) - эмули стоят у многих людей кто миникомпьютеры «вживую» и не видел. Да и в связи с организованностью через инет и с пошедшей модой на ретро8битность игроделие под ZX вообще-то конкретно сейчас как бы не в самом лучшем состоянии считая с эпохи отечественных спектрумистов, тулкиты типа Чуреры и Нирваны/Байфроста - на голову лучше основной части софта из золотого века, вплоть до того что с последними можно и не понять что это Спектрум, только что ретро. И это только собственно ZX Spectrum. А ZXTune еяпп им уже не ограничивается,тем более что в мире за пределами xUSSR Cпектрум - не самая известна, авторитетная или лучшая из чиптюновых/модульных ретроплатформ, не С64 c его SID и не Амига (оба как я вижу в списке поддерживаемых сабжем).

chyron ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.