а под UIQ-3 когда появится ?
а под UIQ-3 когда появится ?
Ещё ошибка нашлась.
1. включаем музыку
2. уменьшаем громкость на минимум
3. жмём стоп
4. снова включаем
5. ползунок громкости стоит на минимуме но музон орёт по максимуму
пля.. обещал обещал, так и не выложил кое-кто плейер сам.. нехорошо.. (
Хмм. Как это не выложил? А здесь не смотрел: http://code.google.com/p/ayfly/downloads/list ?
Добавлено через 3 минуты
Я сегодня собрал версию для UIQ3, но протестить не смог, т.к. не обладаю соответствующим девайсом. По той же причине пока не выкладывал ее на хостинг. Если есть желающие протестировать сборку - пишите в аську :v2_rolley. Также есть сборка для S60 2nd, т.е. для Nokia Symbian 8. Все то же самое что и со сборкой для UIQ3 - если есть желающие протестировать - стучите!
Ещё один косячок - если играла музыка и в этот момент поступил входящий звонок, то после окончания звонка не продолжается воспроизведение музыки - надо вручную включать. 0.0.16_Test_4 для Symbian 9
ander, наткнулся среди исходников ayfly на свой libz80ex с выкинутым дизасмом, файлы которого переименованы зачем-то в *.cpp.
IMHO вариант неоптимальный, предлагаю или юзать внешний libz80ex, или, если это неудобно, держать в дереве исходников ayfly копию официальной версии (лучше то и другое с возможностью выбора при сборке). как минимум, тогда тебе не будет проблем с обновлением (та версия что сейчас лежит в ayfly устарела, а так просто на последнюю версию с сайта не заменишь), а мне -- с багрепортами (что толку от багрепортов с фз какой дремучей версии) :)
еще предложение по либе -- то, что либа завязана на конкретные звуковые драйвера (потомки AbstractAudio), несколько ограничивает ее применение. к примеру, неудобно писать плагин для имеющегося плеера (нынче они все юзают собственную звуковую подсистему). IMHO если либа будет не отдавать сэмплы драйверу, а скажем, callback-ом передавать их юзеру, будет и юзать приятней, и зависимость либы от железа уменьшится.
А это уже есть. Функция ay_rendersongbuffer как раз заполняет пользовательский буфер. Осталось только сделать возможность инициализации без встроенных плееров, чтобы не было избыточности. Ну и в этом случае достаточно сделать сборку без встроенных плееров. Со временем так и сделаю, т.к. самому эта идея больше нравится, чем драйверы внутри библиотеки, которые фиг его знает как будут работать с конкретной программой.
Сначала напишу, зачем я все перевел в cpp - я все делаю в линуксе, и отладку в том числе, поэтому перед вызовом ./configure устанавливаю переменную окружения CXXFLAGS в "-O0 -g3". А чтобы и *.c файлы собирались с этими же флагами, нужно еще установить и CFLAGS, а я это всегда забываю :).
Насчет копии - сначала я сделал линковку со внешней либой по тем же соображениям простоты обновлений и баг-репортов, пока дело не коснулось symbian-версии.. под симбу z80ex просто не собралась, т.к. в заголовочных файлах не были определены базовые типы для этой платформы. Поэтому пришлось изменить чуть-чуть исходники (файл z80ex_common.h) и включить код библиотеки в проект. Я как раз на этом этапе подумал написать тебе об этом, т.к. изменять пришлось совсем немного. Но.. Когда я начал собирать программу под платформу Symbian 8, начался полный бедлам. Как оказалось, процессоры arm < 9 серии (вроде как), не поддерживают изменяемые глобальные переменные (сначала поругался линковщик, а потом нашлось поджтвержнение этому на сайте компании ARM). В z80ex этих переменных и структур оказалось достаточно много, поэтому пришлось переписать некоторые участки библиотеки, загнав все глобальные таблицы в структуру _z80_cpu_context, а от глобальных переменных, которые были объявлены без const просто избавиться, благо такая переменная была всего одна (вроде как). Поэтому теперь будет достаточно проблематично сделать все правильно, если только boo_boo что-нибудь не придумает :). В принципе, та реализация, что находится сейчас в ayfly имеет право на жизнь, но об этом лучше судить автору ;). Да, кстати, я еще модифицировал все макросы таймингов, типа T_WAITUNTIL таким образом, чтобы они не выполняли никаких действий и не загружали процессор, и после этого плеер стал работать чуть быстрее :). Если бы все эти изменения (ну, допустим, кроме последнего) были бы сделаны в официальной версии, я бы отказался от локальной копии и сделал бы ссылку на хранилище z80ex с помощью svn extern, тогда при обновлении в кодах была бы самая последняя версия :)
то бишь, на глобальном уровне только константы могут быть? во шиза.. дай плз ссылку на инфу на сайте, почитаю.. а то в нагугленных статьях на тему портирования сишного кода на АРМ чето не видать ничего такого :v2_conf2:
чем компилишь, кстати?
Что ж, вроде как дело полезное, если никак иначе (другая версия компилятора, опции компилятора, тд) это не разрулить, займусь :)