среда, 25 февраля 2009 г.

Самый тупой баг в кутопии

А точнее - падения плеера. Без комментариев:


--- a/src/applications/mediaplayer/playercontrol.cpp
+++ b/src/applications/mediaplayer/playercontrol.cpp
@@ -109,6 +109,9 @@ void PlayerControl::activate()

void PlayerControl::setMediaContent( QMediaContent* content )
{
+ if (m_control)
+ m_control->stop();
+
delete m_control;
m_control = 0;


Включено в билд 200902252257, отправлено в апстрим.

суббота, 21 февраля 2009 г.

mqutim

mqutim - это (теперь уже) форк проекта qutIM, его целью является создание нативного мульти(двух)протокольного мессенджера для Qtopia 4.3.
  
На данный момент более-менее работает сам mqutim с плагином icq. Над плагином jabber также ведется работа. Необходимо убрать весь излишний для мобильного приложения функционал, избавиться от тормозов и исправить некотороые ошибки.
А вапще в реале мы поломали уже всё что смогли поломать и теперь пилить и пилить, ну и куча глюков думаю будет, особенно учитывая, то что форк у нас от нестабильной разрабатываемой версии. И да - говорят, что всё это жестоко тормозит, так что..

четверг, 19 февраля 2009 г.

Будильник

У будильника есть возможность задать свою мелодию вот так (Settings/Trolltech/RingTones.conf):


[Alarm]
file=/home/muromec/Documents/audio/Higurashi/01 - Main Theme - Hayashi.mp3


Всем кто будет ставить длинные файлы - обновитесь до 200902191641.

среда, 18 февраля 2009 г.

Изменения в автосборках

Теперь выкладываются еще и дельты (xdelta) между текущим и предыдущим файлами. Патч накладывать так: xdelta patch "файл патча" "старый файл" "новый файл". Патчи пожаты bzip2 - перед употреблением распаковать.

Плюс к этому генерируется md5sum для рапакованных и запакованных файлов.

Кому еще чего-то не хватает в автобилдах?

Новости 18.02

Билдхост вернулся и я поправил пару багов со звуком, gsm и питанием.

Звук: низкая громкость микрофона, возможное падение медиасервера из-за неинициализированного указателя (стыд мне).

Gsm: убрал старый хак для отбоя входящего вызова (теперь при отбое не дергается звук), не шлется лишне ATH и игнорируется один из индикаторов входящего вызова (тот в котором нет номера).

APM: при входящем вызове действительно повышается частота процессора до максимальной, то же самое происходит при открытии флипа.

Все эти радости в билде с меткой 200902181532.

понедельник, 16 февраля 2009 г.

Peg-E 1.0.0

[Бек]порт свеженькой игры Peg-E 1.0.0 от Graeme Gott.

Peg-E - это вариант пасьянса Ориентира, в котором Вам нужно перепрыгивать шашки, для того, чтобы убрать их с доски, в конечном счете, стараясь оставить лишь одну. Шашки можно перемещать по вертикали, горизонтали и диагонали. Доски создаются случайным образом, имеется 100 уровней сложности. Игра автоматически сохраняется, также присутствует возможность отмены/повторения ходов.

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

пятница, 13 февраля 2009 г.

Прошивка из linux

Оказывается, старый баг с невозможностью писать дальше 32m флеша починили. Зато осталась такая маленьая прелесть:


/* this is enough for a 16MB flash with 128kB blocks */
#define NUM_FLASH_BLOCKS (128 * 3)


Вполне логично для первого поколения, где было три банки памяти по 16mb. На втором получалась ерунда - шилась только половина второй банки.

четверг, 12 февраля 2009 г.

OpenEmbedded root и прошивка из linux

Совершил еще одно маленькое чудо: OE собирает rootfs (тарбол и jffs2) полностью без моего вмешательства и этот рут можно сразу шить в железку, при чем опять же из линукса (сотни благодарностей проекту openezx).

Лежит там же: http://ezxdev.org/qtopia/autobuild/

Отдельно про прошивку из линукса:

* берем раз: http://people.openezx.org/wyrm/boot_usb, и двас: http://people.openezx.org/wyrm/gen-blob/gen-blob
* берем трис: Angstrom-console-image-glibc-ipk-2009.X-test-20090212-a1200.rootfs.jffs2
* переводим аппарат в красный экран
* пишем заклинание нумер один: boot_usb gen-blob, одновременно совершая магический пасс зажатием клавиши vol+
* пишем заклинание нумер два: boot_usb read 1703936 24248320 root (сохраняем старый рут с оффсета 0x1a0000 в файл root)
* и нумер три: boot_usb flash 1703936 Angstrom-console-image-glibc-ipk-2009.X-test-20090212-a1200.rootfs.jffs2

После чего перезагружаем телефон и ждееем, ждееем, ждееем. Если все хорошо, должен включиться usb0: телефон по старому адресу 192.168.10.6, логин root, пароль пустой.

Смотреть внутри не на что, кроме того, что оно работает, пока его не перезагрузит цепной пес.

вторник, 10 февраля 2009 г.

OpenEmbedded и glibc

Все-таки заставил работать.

Теперь собирается образ, в который можно сразу делать chroot. Glibc та же самая (2.3.2) с теми же самыми патчами (набор из mkezx). Пара пакетов требует ручного вмешательства в процесс сборки и весь процесс далек от завершения, но положительные результаты радуют

http://ezxdev.org/qtopia/autobuild/Angstrom-console-image-glibc-ipk-2009.X-test-20090210-a1200.rootfs.tar

OpenEmbedded

Потихоньку мучаю OE. Задача минимум - собирать образ рутфс и пакеты ipk через bitbake с наименьшим количеством хаков и костылей.
Задача максимум - собираться через bitbake все вплоть до sbf и фида пакетов qpk.

Уже получилось сделать образ, в который можно, добавив libc вручную, чрутнуться и запускать софт из нескольких базовых пакетов.

Пытаться собирать им glibc из сорцов я наверное не буду - тут можно застрять надолго.

Поддержка DjVu

Eyepiece (0.2.0-alpha) обзавелся поддержкой DjVu. Один нюанс - наша кутопия ничего не знает про .djvu .djv файлы, поэтому в добавляем строчку "image/x.djvu djvu djv" в файл /opt/Qtopia/etc/mime.types. Да, нужна еще библиотека libdjvulibre. Вообще, наверно надо бы все эти библиотеки в пакеты .ipk запихать (PS: запихал).
Правда, набыдлокодено у меня там в дежавю... нада будет капитально переработать код... но пользовацо можно...

YWeather

YWether очередная поделка для Qtopia :). Пагоду берет с weather.yahoo.com, траф жмется потребляется гдето в районе 1кб за раз. С yahoo берем код города(или до ближайшего крупного города) для которого её охото знать хотябы примерно. Если код не меняем то наслаждаемся прогнозом погоды для чудеснейшего из городов... Монголии - Улан-Батор :).

З.Ы.: Настройки:

1) код города идем на Yahoo. Заходим в раздел Weather ищем свой город  (например http://weather.yahoo.com/Ivanovo-Russia/RSXX1366/forecast.html соответственно код RSXX1366)

2)выбрать температурную шкалу Цельсия/Фаренгейт. 

3) т.к. кривизну рук компенсирую переодическими правками,... свежий пакет обычно есть 

воскресенье, 8 февраля 2009 г.

github

Сорцы теперь живут на github и разбиты на три части (добавится еще):

qtopia-ezx - основное дерево
qtopia-ezx-device - профиль устройства
gqsync - синхронизатор

Чтобы получить полное дерево, нужно дать такие команды:


git clone git://github.com/muromec/qtopia-ezx.git
cd qtopia-ezx
git submodule init
git submodule update

Сорцы перезжают на github

Потихоньку переползаю с сорцами на github.

Профиль устройства и gqsync уже там:


git://github.com/muromec/gqsync.git
git://github.com/muromec/qtopia-ezx-device.git


Сама кутопия весит больше 100 метров - послал письмо в саппорт, чтобы увеличили квоту.

Почему именно github? Потому что на ezxdev.org политика партии против использования git, да и не особо хочется настраивать свою инфраструктуру, когда уже есть готовая.

Вопрос о том, оставлять ли синхронизацию с svn пока открыт.

суббота, 7 февраля 2009 г.

Eyepiece

Поделие с горем пополам умеет отображать PDF, хотя и здорово тормозит на сложных документах и при большом увеличении. Недавно вынес часть, ответственную за рендеринг PDF в отдельный плагин. Есть мыслишки прикрутить плагины для отображения DjVu, txt, fb2, возможно чего-нибудь еще.



Мысля прикрутить к этому поделию кривых ручонкав плагин для отображения DjVu похоже начинает осуществляться.

К сожалению, документация на djvulibre в том виде, в каком она имеется на poppler-qt4, отсутствует (имеется кой-какая Doxygen'овская). Собственно, можно было бы использовать код из http://vaagmaer.com/djview/, тем более что однажды я портировал сие для ezx, однако автор имхо там перемудрил. Хотя может возьму оттуда чего-нибудь. Просмотр кода Djview4 ни к чему не привел - тупо ниасилил (ручки-то корявые). Вобщем, великий и ужасный гугл привел сюда - http://code.autistici.org/trac/fim/browser/trunk, откуда и была почерпнута кой-какая информация. Ну и конечно комментарии в ddjvuapi.h также помогают.

Очеловечивание ввода

Давно хотелось добавить словари для русского ввода, но никак не доходили руки. И вот дошли. Были взяты исходники русского словаря для ispell, раздуты при помощи словоформ утилитами от myspell (unmunch) и скомпилированы qdawggen. Ни рукописный ввод, ни PredictiveKeyboard не предлагали вариантов по словарю.

Итак, гвоздь программы: PredictiveKeyboard. Для поиска вариантов символы переводились в latin-1 кодировку. Дальше, думаю, можно не рассказывать... Но я не остановился на этом, также до ума был доведен интерфейс: теперь шрифты подгоняются под размер виджета, а всплывающее круглое окошко поддерживает увеличение.

Вот как оно в итоге выглядит:



Для интересующихся привожу свой конфиг:
[Settings]
KeyMargin = 10
MaxGuesses = 15
SelectCircleDiameter = 80
SelectCircleOffset = -50
PopupScaleFactor = 1.7
OptionsWindowHeight = 32

git

Начинаю разбираться, как этим надо нормально пользоваться. Прочитал про структуру репозитария - приятно удивило.

Пока что выгрузил все двести метров на ezxdev - сорцы можно получить командой
git clone http://ezxdev.org/qtopia/git qtopia.

Теперь надо прикручивать git-svn (для профиля устройства, языков и gqsync), пинать хоббита, чтобы поднял гитосервер или дал ssh на ezxdev и так далее.

пятница, 6 февраля 2009 г.

Сжатие в gqsync, обновление скриптов

Добавил сжатие трафика в синхронизатор адресной книги - теперь мы кушаем на 90% меньше трафика. Новая версия залита в фид и включена в послдний автобилд.

Еще я добавил в автобилды скин "qtblack" и пропатчил скин qtopia для виджета закрытого флипа.

среда, 4 февраля 2009 г.

Новости

Что нового:

Обновил тулчейн: http://ezxdev.org/qtopia/experimental/sdk/

Немного поправил скрипт сборки. Теперь packagemanager пересобирается без оптимизации - обходим багу компилятора, из-за которой установщик софта не видел пакеты в фиде.

А еще я добавил в gqsync новый параметр: "Пропускать контакты без номеров". Если его установить, то синхронизатор проигнорирует все контакты, у которых нет телефонов, а есть, например, только e-mail. Обновленный gqsync уже залил в фид и обновил на билдхосте (в автобилдах он встроен в прошивку).

Автоматически собираемые тарболы

Выкладываются скриптом сюда: http://ezxdev.org/qtopia/autobuild/. Там же лежит скрипт, логи сборки (configure, make, image) и ченжлоги основного дерева и специфицных для ezx функций

Оформление блога

Что-то шаблоны - один хуже другого. Художники-верстатели и прочие творческие люди, ау!

вторник, 3 февраля 2009 г.

билдхост и make -j 5

Билдхост прекрасен. Полная сборка кутопии вместе с заливкой на ezxdev:




configure 234,90s user 16,32s system 95% cpu 4:22,92 total
(; make -j 5 &> log; ) 2981,18s user 206,49s system 390% cpu 13:36,54 total
(; make install &> install.log; ) 217,07s user 10,66s system 98% cpu 3:51,60 total
cp image.tar.bz2 /media/ezxdev/autobuild/image.tar.bz2 0,00s user 0,02s system 0% cpu 4:59,84 total


Параметры системы:




muromec@qte-build /var/build % grep name /proc/cpuinfo
model name : Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
model name : Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
model name : Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
model name : Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
muromec@qte-build /var/build % free -m
total used free shared buffers cached
Mem: 4016 1860 2156 0 97 1537
-/+ buffers/cache: 224 3792
Swap: 2591 0 2591
muromec@qte-build /var/build % cat /etc/debian_version
5.0
muromec@qte-build /var/build %


Абрамке очередная порция благодарностей