Новый билд ZXTune

Vitamin обновил свой мультиплатформенный плеер чиптюнов до билда за номером 3170.

Скачать с официального сайта.


+ zxtune-android: начальная испанская локализация
+ zxtune-android: добавлена возможность поставить трек на звонок
* zxtune-android: можно изменять размер виджета для главного экрана
* zxtune-android: исправлена обработка повторных нажатий кнопок на гарнитуре
* обновлена библиотека libsidplayfp до версии 1.6.2
* исправлено воспроизведение PT3 с семплами по умолчанию
* незначимые биты регистров AY сбрасываются при конверсии в форматы дампа

Добавлена давно запрашиваемая возможность установить трек в качестве звука входящего звонка. Ценой этому стало добавление еще одного разрешения на изменение системных настроек.
Для виджета главного экрана добавлена возможность изменять размер.
Также добавлен перевод программы на испанский и исправлены некоторые найденные и сообщенные проблемы.

66 комментариев

avatar
Круто.

Мне еще понравилась вот эта новость:
Благодаря титаническим усилиям Juergen Wothke по адаптации кода ZXTune и его конверсии в JavaScript, появилась бета-версия web-плеера SpectreZX. Еще есть множество проблем с воспроизведением, но… Это круто!
Управление плейлистом и дополнительная информация скрывается под кнопкой 'What's this?' Свои треки можно слушать, перетаскивая на изображение zx-spectrum.

www.wothke.ch/spectreZX/

Пока в широком плане неюзабельно, но, надеюсь, через пару лет заменит MP3/OGG на zxart.ee
avatar
Беда в том, что витамин уп(е/о)ртый и ни в какую не хочет осилить форматы с CPC.
avatar
а они нужны?
avatar
иногда нужны, да
avatar
имхо, виталий сделает. но попозже.
avatar
Не знаю, похоже он просто уперся.
avatar
Ну раз пошла такая пьянка, то жду от тебя список форматов для этого самого CPC с указанием для каждого формата:
1) его распространенности (т.е. сколько треков в природе существует)
2) ссылки на спецификацию (т.е. описание внутренней структуры формата).

После этого и поговорим.
avatar
Позволь, я тебе напомню разговоры с denpopov на гф(естественно это не я), форматы были запрошены:
MYM, AYC, Sound Trakker, Arkos Tracker
ссылок приведено уже достаточно, и если я не ошибаюсь, ты отмахнулся.
насколько мне известно, MYM воспроизводят на Oric.
AYC можно посчитать на www.cpc-power.com/index.php?page=database
avatar
Позволяю. А я, позволь, напомню тебе следующие вещи:
1) MYM- это не формат, а херня без опознавательных признаков. В топку.
2) AYC- неизвестна распространенность. В частности, сколько есть именно в этом формате и ни в каком другом. Конвертировать YM в него с целью увеличения популяции не стоит.
3) Файлов от Arkos Tracker (он же Starkos Tracker, если я ничего не путаю) всего 45 штук. Описания формата (как сказал denpopov) нет.
4) Если это не нужно тебе (раз ты не можешь не то что провести какую-то предварительную работу, а тупо понять что тебе говорят), то мне и подавно.
avatar
о да, я найду тьму способов применения. у меня валяется куча .MYM, но сначала нужно конвертнуть в .PSG чтобы послушать музыку. Или ассемблировать на ужясме, чтобы послушать.
AYC можно наделать самому с помощью пакера.
и еще непонятно «Если это не нужно тебе» — ЭТО что мне не нужно?
avatar
Ну раз ты мне предлагаешь считать треки на херпойми каком сайте, который я вижу впервые в жизни, вместо того чтобы сделать это самостоятельно, то да- значит тебе это не нужно (то, что это не особо нужно мне я сказал сразу).
А то, что ты не можешь выполнить простейшее задание из двух пунктов и сделать всем хорошо, тоже какбэ намекае.
avatar
я не предлагаю, я прошу. От простой просьбы слепить простую дллку ты отмахнулся, что можно найти тьму какбэ намеков. но тут HYPE с блюстителями, поэтому разговор закрыт.
avatar
Ну я же не предлагаю тебе самостоятельно добавлять поддержку формата в ZXTune (это моя работа). А всего лишь прошу тебя помочь как разбирающегося в CPC (для меня это темный лес). Неужели собрать простейшую статистику и найти хоть какую-то документацию- это дикий rocket science?

По поводу длл причина проста как валенок: «без внятного ТЗ- результат ХЗ». А тратить свои силы на ХЗ я не хочу.
avatar
насчет СРС инфы не так много, чтобы нарыть, все, что содержит AYC — пример и исходник, осилить его не получилось. дизассемблированный плейер Sound Trakker есть у Mick'a вроде бы.

насчет дллки вроде было четко сказано: нужны функции инициализация, запись данных в регистр, стоп дллки. Примерно так, как в тулзе cli, которую ты сделал.
avatar
Описание формата AYC есть. Раз ты не можешь собрать статистику, собери весь имеющийся CPC хлам, в котором эти модули могут быть и выложи куда-нибудь, я проанализирую.

Вангую постоянные доработки этой дллки по мере прояснения что собственно требовалось. Оно мне надо? Использовать cli из другой программы вполне себе можно.
avatar
по ayc я привел ссылку с чиптюнами, или ты не нашел?
На www.cpc-power.com в строку поиска вводишь ayc и считаешь

насчет cli — пуребейсик версии 5.11 работает с консолями нестабильно. поэтому проще из библиотеки вызвать три описанные функции
start() — как если бы ввел в cli команду start
stop() — аналогично, завершение
writereg(regN, valN) — запись в регистр regN значения valN

насчет установки частоты как в Ay player не уверен, нужно или нет.
avatar
По AYC я уже написал что тебе надо делать или ты опять не понял? На www.cpc-power.com в строку поиска вводишь ayc и считаешь, потом пишешь полученное число сюда. Попутно качаешь файлы, архивируешь, выкладываешь где-нибудь и пишешь сюда ссылку.

И прям таки больше ничего кроме этих трех функций не надо?
avatar
Думаю, что большего не надо. AYC вытащить сразу не просто, постараюсь выложить и посчитать.
avatar
Молодец!

Держи конфетку dl.dropboxusercontent.com/u/2393036/zxtune/aycli/libay.zip

int ay_open();
void ay_close();

int ay_start();
int ay_stop();

int ay_writereg(int reg, int val);

все что не 0 в возвращаемом значении- ошибка. Не хватит msvc*120.dll — можно найти в windows_x86 архиве ZXTune. Доработок никаких не будет.
avatar
спасибо, попробую как получится
Здесь архив AYC вместе с отдельными образпми дисков
rghost.ru/7kTlBLxZ9

если я правильно посчитал около 200 файлов, думаю далеко не все.
avatar
накосячил децл, ту в архиве файлы без amsdos-заголовков
rghost.ru/8BYqz5TFf
avatar
А исходники на чудо-dll? =)
avatar
А нафига вам?:) Исходники cli тулзы таки залиты в качестве теста.
avatar
Ну, я сколько раз ни пробовал разобраться как твоей библиотекой пользоваться — так и не осилил ни разу. Эзотерический cpp и ещё более эзотерически boost этому способствовали =)

А вот наличие такого малого и конкретного примера как исходники подобной .dll — это очень хорошо. Возможно с него будет проще начать.
avatar
Ну будет в этом «малом и конкретном примере» куча вызовов из «эзотерического cpp и еще более эзотерического boost», помноженных на сложность инфраструктуры. Как тебе это поможет?
github.com/vitamin-caig/zxtune/blob/master/src/devices/test/aycli/main.cpp
avatar
Поможет осознанием того что Я ПОПЫТАЛСЯ! =)
avatar
спасибо! =)
avatar
Vitamin , хотел уточнить github.com/vitamin-caig/zxtune — сюда автоматом с bitbucket синхронизируется?
avatar
Да. Коммиты сразу в обе репы делаются.
avatar
Дай плеер AYC для z80. Описание формата на cpcwiki неполное.
avatar
я скидывал архив с .ayc и с .dsk
качай winape
монтируй .dsk в эмулятор, пишешь cat и
run "-dmp03 — это Dual Player, единственный, который играет ayc. Интерфейс в нем простой. Будут сложности — пии в личку, потому что я могу пропустить твои вопросы.
avatar
Круто! Круто! Сижу слушаю, очень не плохо всё играется.

Услышал знакомый трек «Big in Japan», дай думаю гляну кто писал



И тут моя челюсть выпала. Сколько живу, первый раз слышу, что бы DJ.Serg что-то писал в Digital Studio O_O
avatar
это не SERGant
avatar
Хм, ещё какой-то DJ Serg был? o_O
avatar
На разных браузерах с разными глюками играется.

По поводу сабжевого трека, если не ошибаюсь, N.NAZAROV — автор SoundTracker версии, а D.J.SERG — замиксовал туда еще семплы из HalfLife:)
А возможно они и вместе лабали- есть несколько треков авторства N.NAZAROV, представляющих конверсии из ST треков (есть конвертер, сам таким баловался).
avatar
Не, тут больше вопрос, какой именно Serg?
avatar
или что-то не понимаю, или одно из двух:


функции теперь так объявлены?
avatar
Обновил.
avatar
и еще пардон за глупый вопрос — гле можно скочять готовое бесплатно и без СМС?
avatar
По той же ссылке что и раньше.
avatar
Сишники реквкст! нужен пример вызова для огибающей. Что-то у мну не вызывается, но похоже, что функции работают.

 LD            HL ,LA6F5
 LD            E ,$0B
LA688 LD            BC ,$FFFD
 DEC           E
 ;LD            A ,E
 OUT           (C) , E;A
 LD            B ,$BF
 LD            A ,(HL)
 OUT           (C) , A
 INC           HL
 JR            NZ ,LA688

 jr $
LA6F5 db 0fh,0fh,0fh,0f8h,0,0Ah,0Ch,0Ah,5,0Ah,0,0
avatar
Ну ты какбэ вообще огибающую никак не затрагиваешь.
avatar
скопипастил кусок из ужясма, похоже, что огибающая
avatar
Нет, это чистый тон (точнее три тона).
avatar
но все же хотелось убедиться, что вызов .dll из Си работает с примером.
avatar
так проверь на спеке, убедись
avatar
Вова, ты упрт штле? я длл вызываю не под зх, я привел рабочий пример для аука, но с длл я получаю тишину, просто хотелд убедиться.
avatar
А чо ты тогда пример приводишь на асме если тестируешь длл? Упрлс?
avatar
смысл теста вот в чем — я пытаюсь запустить длл и записать в регистра АУка указанные данные(как в примере асм).
Естественно, я ничо не слышу, или я делаю неправильно, вот и прошу Сишников протестировать подобное.

думаю, что в aycli запись в порты конкретных номеров и значений прокатит.

похоже, что ты не только импорты для либы, но и трэды осилишь на ходу…
avatar
Я проверил твои данные с помощью aycli — как и говорил, звучит три достаточно низкочастотных тона. Также есть некие отзвуки из-за интерференций, похожие на огибающую.
Пишешь файлик test.lst со следующим содержимым:

start
w 10 15
w 9 15
w 8 15
w 7 248
w 6 0
w 5 10
w 4 12
w 3 10
w 2 5
w 1 10
w 0 0

и потом скармливаешь:

aycli.exe <test.lst

Будет слышен результат (консоль после этого беситься начнет, но это фигня). Выход по Ctrl+C.

Что за треды?
avatar
Ну вот я все-таки спросил — можно ли на Ц запустить длл с указанными параметрами Регистр-Значение?
avatar
Ну если включить мозг, то можно. Без этого увы, никак.
avatar
ну продемонстрируй тогда с помошью мозга, лучше с рабочим exe+dll.
Хочется убедиться насчет «увы, никак» или запросить помощь зала других сишников.
avatar
Ты же на пуребасике собирался эту дллку юзать.
avatar
да, собрался со возможными фичами пуревасика, поэтому нет смысла тебя запрягать в поиск «где потенциальная ошибка?». я и спросил помощь Сишнегов.
avatar
Все прекрасно работает.

extern int ay_open();
extern void ay_close();
extern int ay_start();
extern int ay_stop();
extern int ay_writereg(int idx, int val);

int main(int argc, char** argv)
{
  int data[11] = {0, 10, 5, 10, 12, 10, 0, 248, 15, 15, 15};
  ay_open();
  ay_start();
  for (int i = 0; i < 11; ++i) ay_writereg(i, data[i]);
  int i;
  scanf("%i", &i);
  ay_stop();
  ay_close();
}
avatar
а можно готовое exe+dll? у мня Си не справляются(
avatar
Экзешник экспортирует нужные функции- можно его юзать как исполняемый файл и как длл.
dl.dropboxusercontent.com/u/2393036/zxtune/aycli/libay.zip
avatar
бинарники под все платформы есть? =)
avatar
уже тоже пока еще нет
avatar
бинарники под все платформы нет=)
avatar

я хочу впасть в отчаяние…
avatar
avatar
Не пашет, пробовал уже. попробую другой вариант.
avatar
Бинарник собран под 32-битную винду, есичо.
avatar
либо мои ручки кривые, либо еще что.
прога валится на ay_start()

или я упустил дллки рантайма
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.