Help - Search - Member List - Calendar
Full Version: Файловый навигатор для Wiz
GBX.ru > Карманные игровые системы > GP2X / GP32 > GP32: Программирование
Pages: 1, 2
EugeneP
Fx File Navigator
Когда я только купил Виз мне жутко не хватало простой программки которая без затей покзывала бы все файлы на всей системе... Я попробовал такую программку написать подручными средствами, т.е. на Фениксе. Тогда экспы не хватило, а сейчас попалась на глаза - дописал за часок.

Возможности:
- Навигация по ФС
- Предпросмотр картинок (менее 500к) с приближением
- Копирование, перемещение и удаление файлов
- Запуск программ (.gpu и .gpe файлов)

[attachmentid=18059]

Управление:
UP/DOWN - пред/след файл в списке
LEFT/RIGHT - +10/-10 файлов в списке
A/B - открыть каталог под курсором, запустить GPE/GPU файл
X - в родительский каталог
Y - приблизить превью
MENU - выход
RSHOULDER - поставить в стек файл под курсором (повторно на том же файле меняет режим copy/move/delete)
LSHOULDER - если в стеке есть файл, то выполнить над ним операцию (выполняет долго, минимум 3сек! это он не завис smile.gif )

Как и обещалось ранее, стабилизированная версия 0.9z с исходниками:
http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,116,249
http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,46,250

Последняя стабильная "сборка" / not so STABLE
[attachmentid=19327]

МАЯ, КАСЯЧНИК, МАЯ ИСПРАВИТСЯ / QUICK FIX EDITION
[attachmentid=19383]
Эта версия исправляет моё недопонимание с фениксовским выделением памяти. Несколько ускорена и не падает.

P.S.
Несмотря на то, что программка написана на Фениксе, автор своей наркоманской придурью сделал возможным запуск только на Визе. tongue.gif
rbm13s
Было бы неплохо добавить функции удаления, копирования и перемещения файлов и папок. Было бы чудно.

P.S. Жаль enexfi под Wiz нету.
EugeneP
QUOTE (rbm13s @ Sunday, 01 November 2009, 22:48)
Было бы неплохо добавить функции удаления, копирования и перемещения файлов и папок. Было бы чудно.

P.S. Жаль enexfi под Wiz нету.
*

А также просмотра/ предпросмотра картинок, видео и музыки (я серьёзно, почти получилось).

Работаем.

smile.gif edit:
[attachmentid=18048]
rbm13s
Для работы приложений, написанных на фениксе надо какие-то дополнительные библиотеки на виз ставить или так работает?
СДК там так же под линь? Хочется самому попробовать. Хотя бы hello world написать =)
EugeneP
Fenix в Визе уже есть, лежит в /mnt/nand/game/runtime (хотя все авторы почему-то прикладывают папочку runtime к своим прогам)

SDK как такового нет т.к. незачем. Есть компилятор fxc и исполнитель fxi под любую платформу, исходники пиши любым редактором. Почти как с Явой smile.gif
Кроме того есть расширеня языка, так называемые Fenix-DLL (net/ttf/image/mpeg) вот их нужно компилять на Си.

Есть ещё Bennu - форк феникса. Там много больше фич, включая 3D, но реализованы они в основном через те же Fenix-DLL.

Скачать Феникс: http://sourceforge.net/projects/fenix/files/
Английская дока: http://fenixdocs.com/index.php/Fenix_Wiki
EugeneP
ЫЫЫ. Начальник Виз отобрал. Сказал писать проект а не хню всякую >__<
Но удаление/копирование я успел сделать tongue.gif
EugeneP
Но релиз неизбежен smile.gif

Выкладываю новую версию и обновляю первое сообщение.

Тестеры и фичереквестеры всё ещё WANTED.
quasist
Хочу супер плавную анимацию элементов управления и задний фон с чарующей фрактальной анимацией smile.gif
И наличие "Защищёного режима", когда доступ предоставляется только к СД карте или УСБ флешкам
EugeneP
QUOTE (quasist @ Tuesday, 03 November 2009, 15:42)
Хочу супер плавную анимацию элементов управления
*

*

Так она как бы есть smile.gif Ради неё и писано.

QUOTE (quasist @ Tuesday, 03 November 2009, 15:42)
и задний фон с чарующей фрактальной анимацией smile.gif
*

Будет, не вопрос.

QUOTE (quasist @ Tuesday, 03 November 2009, 15:42)
И наличие "Защищёного режима", когда доступ предоставляется только к СД карте или УСБ флешкам
*

Это до релиза обязательно.
rbm13s
EugeneP, спасибки. Буду пробовать вечером. Сейчас бьюсь c настойкой хоть какого-нибудь ide под винду для Bennu. FBmX не запускается ни на ХР, ни на Vista, ни на Seven %)

Фичреквест могу сделать запросто - два окна, возможность копирования/перемещения из одного в другое, поддержка тачскрина и всё такое прочее lol.gif

user posted image
EugeneP
У кого Виза под рукой нет - гляньте видео.
http://www.r-o.ru/files/e/test-0000.mpeg (~4M)
EugeneP
QUOTE (rbm13s @ Tuesday, 03 November 2009, 15:58)
EugeneP, спасибки. Буду пробовать вечером. Сейчас бьюсь c настойкой хоть какого-нибудь ide под винду для Bennu. FBmX не запускается ни на ХР, ни на Vista, ни на Seven %)
*


Вот поэтому я выбрал самодостаточный (ну, почти smile.gif) Феникс.

QUOTE (rbm13s @ Tuesday, 03 November 2009, 15:58)
Фичреквест могу сделать запросто - два окна, возможность копирования/перемещения из одного в другое, поддержка тачскрина и всё такое прочее  lol.gif
*


Поддержка тачскрина после 1.0 и чистки кода, Двух панелей не будет - маленький экран, будет развитие стека операций (например выполнение задач копирования "в фоне").
rbm13s
А для превью экран не маленький? На мой взгляд влезет две панели. Конечно если выводить только имя файла и расширение.
EugeneP
QUOTE (rbm13s @ Tuesday, 03 November 2009, 16:43)
А для превью экран не маленький? На мой взгляд влезет две панели. Конечно если выводить только имя файла и расширение.
*

А превью ПОД панелью smile.gif можно сделать слайдер-панель так же, конечно... но не две сразу. Представь две панельки с вот тааким контентом:
...
18 - Omake Message Minawa-chan - Motto Shiritaimono 1.mp3
19 - Omake Message Minawa-chan - Motto Shiritaimono 2.mp3
20 - Omake Message Minawa-chan - Motto Shiritaimono 3.mp3
21 - Omake Message Minawa-chan - Motto Shiritaimono 4.mp3
22 - Omake Message Minawa-chan - Motto Shiritaimono 5.mp3
...
rbm13s
QUOTE (EugeneP @ Tuesday, 03 November 2009, 13:49)
А превью ПОД панелью smile.gif можно сделать слайдер-панель так же, конечно... но не две сразу. Представь две панельки с вот тааким контентом:
...
18 - Omake Message Minawa-chan - Motto Shiritaimono 1.mp3
19 - Omake Message Minawa-chan - Motto Shiritaimono 2.mp3
20 - Omake Message Minawa-chan - Motto Shiritaimono 3.mp3
21 - Omake Message Minawa-chan - Motto Shiritaimono 4.mp3
22 - Omake Message Minawa-chan - Motto Shiritaimono 5.mp3
...
*

18 - O~1.mp3
19 - O~2.mp3
20 - O~3.mp3
21 - O~4.mp3
22 - O~5.mp3

Вот, пожалуйста wink.gif

Вообще правую панель можно сделать настраиваемой. Там либо так же список файлов, либо превью с информацией (тэги для теж же mp3, например), либо инфо о файлах в левой панели (дата, размер и т.п.).
Hahahoj
QUOTE (EugeneP @ Tuesday, 03 November 2009, 10:36)
ЫЫЫ. Начальник Виз отобрал. Сказал писать проект а не хню всякую >__<

Ему просто самому поиграться захотелось. 8)
Бенну пока сырой очень даже на уровне исходников. Не всё скомпиленное и идущее для компа так же беспроблемно идет на гп2х, хоть оно и скомпилилось 8(
Да и у самого Феникса такое временами встречается. 8(
А защиту на дурака всё-таки надо, хотя бы запрос в стиле: ты уверен - да/нет, особенно учитывая неточность стилуса и шаловливость пальцев в моменты переключения мозга на задачи удаленные от Виза.
EugeneP
ага, но полезной информации с таким представление нуль.
кроче, исходники выложу - перепилишь как хочешь smile.gif
rbm13s
Hahahoj, я купился на хорошо документированную вики и компилятор под вин.

EugeneP, мне б для начала хеллоу ворлд скомпилировать...
Hahahoj
А покупаться и не надо. И Бейсики и Феникс на гп2х очень мощные. Сишка еще мощнее, но там море ньюансов в которые надо вникать и подходит она только для ресурсожрущих проектов. А для оболочки или чего-нибудь простенького / примитивненького / нежрущего - Феникс самое то.
EugeneP
QUOTE (rbm13s @ Tuesday, 03 November 2009, 17:02)
EugeneP, мне б для начала хеллоу ворлд скомпилировать...
*


Топик отдельный сделай, я домой приду - распишу подрбно.
EugeneP
Как и обещалось ранее, стабилизированная версия 0.9z с исходниками:
http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,116,249
http://dl.openhandhelds.org/cgi-bin/wiz.cgi?0,0,0,0,46,250

Рабрты по фичереквестрам начну со следующей недели. Ибо.

Соответственно обновлён головной пост.
trc001
Хотелось бы в первую очередь,изменить навигацию.В данный момент при удерживании кнопки крестовины вверх\вниз пролистываеться один пункт меню,было бы неплохо,если бы при удерживании кнопки было пролистывание пунктов до тех пор,пока не будет отпущена кнопка,при большом количестве файлов это наиболее актуально.

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

Менеджер очень медленно открывает папки с большим количеством файлов[в моем случае более 800],и нередко зависает,приходиться перезагружать аппарат.
quasist
Извиняюсь, что лезу со советами в не свой проект smile.gif

QUOTE (trc001 @ Wednesday, 04 November 2009, 22:29)
Хотелось бы в первую очередь,изменить навигацию.В данный момент при удерживании кнопки крестовины вверх\вниз пролистываеться один пункт меню,было бы неплохо,если бы при удерживании кнопки было пролистывание пунктов до тех пор,пока не будет отпущена кнопка,при большом количестве файлов это наиболее актуально.

Проше всего реализовать заведя для каждой клавиши (направления дипада) счётчкик кадров, сколько эта клавиша была нажата (счётчик обнуляется если отжать клавишу, при только что нажатой - 1)
Если видим еденицу - клавиша была только что нажата (первое событие)
Затем через N-е количество кадров начинаем через каждые K кадров ((i-N) %K==0) снова обрабатывать событие

QUOTE (trc001 @ Wednesday, 04 November 2009, 22:29)
Справа внизу,где указан объем папки или файла,сделать при наведении на папку показ количества файлов в ней.

Если файловая система не хранит эти данные, то предстоит третий абзац...
Недаром даже Total Commander кеширует дерево фаилов при надобности.

QUOTE (trc001 @ Wednesday, 04 November 2009, 22:29)
Менеджер очень медленно открывает папки с большим количеством файлов[в моем случае более 800],и нередко зависает,приходиться перезагружать аппарат.
*

Будем надеится, что не Fenix с палками идёт за колёсами.


П.С. Быстрее бы ко мне доставился мой виз :-/
EugeneP
QUOTE (quasist @ Thursday, 05 November 2009, 06:46)
Извиняюсь, что лезу со советами в не свой проект smile.gif
*

Ничё-ничё, главно чтоб по делу smile.gif

trc001 Это не баги это фичи smile.gif Все фиксятся на раз-два, но пока нет времени.

All Суть тормозов тормозов в том, что при вычитывании списка отрисовываются пункты меню. Т.е. если в каталоге 500 файлов, то перед появлением меню будет отрисовано 500x2 битмэпов. Сделаю асинхронную отрисовку и "тормоза" пройдут. "Дрожание" кнопок - две строчки в folder.inc.prg. Построение превьюшки (там где размер каталога) отдельная песня, но тож вполне решаемо.
Намного веселее будет делеть запуск программ и последующий перехват exec ./gp2xmenu <- вот где советы-то потребуются smile.gif
quasist
QUOTE (EugeneP @ Thursday, 05 November 2009, 07:29)
Намного веселее будет делеть запуск программ и последующий перехват exec ./gp2xmenu <- вот где советы-то потребуются smile.gif
*

покопайся в исходниках Gmenu - там вроде такая фича есть в опциях (у меня правда почему то не работала на гп2х)
Hahahoj
QUOTE (EugeneP @ Thursday, 05 November 2009, 06:29)
Намного веселее будет делеть запуск программ и последующий перехват exec ./gp2xmenu <- вот где советы-то потребуются smile.gif
*

Чего там советить? Подменяй её на свой обработчик, который будет выбирать что запускать gp2xmenu_old или твой шелл. Только анализируй кнопочки этим селектором и при зажатии к примеру обоих шифтов на загрузке всегда грузи системный.
EugeneP
QUOTE (Hahahoj @ Thursday, 05 November 2009, 09:56)
Чего там советить? Подменяй её на свой обработчик, который будет выбирать что запускать gp2xmenu_old или твой шелл. Только анализируй кнопочки этим селектором и при зажатии к примеру обоих шифтов на загрузке всегда грузи системный.
*


Замена файла - крайний случай. Не хотелось бы мучать системные файлы пока есть альтернативные варианты.

А в других менеджерах оно как делается?
Hahahoj
Замена файла - самый безпроблемный случай, поскольку годен для всех версий и для любого экзешника. И максимум что тебе грозит при обновлении - перезапись стандартного шела поверх твоего загрузчика, и это не вызовет брика. Все остальные перехваты, имхо, от лукавого.
Плюс всегда есть возможность откатится, если встроить анализатор в загрузчик либо просто ручками в том числе и через терминалку.
quasist
На испанском портале в новостях мелькнула новость о релизе...

классная вертикальная строка!
EugeneP
QUOTE (quasist @ Saturday, 07 November 2009, 02:16)
На испанском портале в новостях мелькнула новость о релизе...
*


ага. и пара багрепортов пришлаю правда по наездам никто не переплюнул trc001 smile.gif

QUOTE (quasist @ Saturday, 07 November 2009, 02:16)
классная вертикальная строка!
*

ты его чтоли запустил? на чём?
quasist
QUOTE (EugeneP @ Saturday, 07 November 2009, 08:13)
ты его чтоли запустил? на чём?
*

Я посмотрел чужой скриншот. Мой виз ко мне ещё не доехал...
EugeneP
Смастерил запуск программ с возвратом в навигатор. Пока через подмену файлов.
Сделал "testing edition" для желающих. Баги там есть, гарантирую cool.gif Средства изготовления багрепортов прилагаются там же. К выходным дополирую код и выложу.

PS
как всегда смотри головное сообщение
trc001
При открытии эмулятора GbSP выкидывает назад в главное меню.При перезапуске симптом исчезает.Тоже самое относиться к Eduke32.

Навигация понравилась,как я и писал про листание списка,так и есть в текущей версии.

Nuclear
Не хочет у меня runtime в папке games находить. Пришлось копировать в папку навигатора. Что я делаю не так?

До удаления рантайма, всё нормально работало, сейчас восстановил, но не работает.
EugeneP
QUOTE (Nuclear @ Wednesday, 03 March 2010, 22:31)
Не хочет у меня runtime в папке games находить. Пришлось копировать в папку навигатора. Что я делаю не так?

До удаления рантайма, всё нормально работало, сейчас восстановил, но не работает.
*


вообще, он ожидает найти рантайм в /mnt/nand/games/runtime. там его используют "встроенные" игры.

1) пользуй fxfnav_0.96_testing, там исправлена пара багов
2) для 0.96_testing runtime можно закопировать прям в папку программы
3) запусти findproblem.gpe через launcher, потом глянь в логи.
4) новая, оптимизированная версия с плюшками близится.
Nuclear
Я его до этого удалял, Сейчас вытянул из игры стандартной и поставил, но его не находит.

1) уже пользую
2) так и сделал
3) там как я понял всё норм - везде пишет ок
4) ждём, надеемся
EugeneP
Выкладываю новую переработанную и дополненую. Скачать по ссылке в головном посте. (Не с архива! отсюда! на архиве обновлю попозже)

Изменения:
- Пофиксен "баг имени trc001" теперь тормозим только на 10К+ файлов.
- Можно приближать превьюшки (клац Y)
- Поправлено много багов (в основном утечки памяти).
- С рекурсивным копированием большого числа файлов есть траблы. (навигатор упадёт, файлы не докопируются)

Основное время ушло на войны с фениксом (будь он!) и рефакинг кода.надеюсь следующий релиз будет быстрее и фичастее.
Nuclear
Во время использования уже вылетел 2 раза. Один из раз при попытке открытия папки игры WizSticks/media/level. Другой раз не запомнил.

Вылетает просто иногда, когда просматриваешь папки.
EugeneP
QUOTE (Nuclear @ Monday, 08 March 2010, 02:52)
Во время использования уже вылетел 2 раза. Один из раз при попытке открытия папки игры WizSticks/media/level. Другой раз не запомнил.
*

Всегда вылетает в этом месте или случайно?
Nuclear
QUOTE (EugeneP @ Sunday, 07 March 2010, 23:59)
Всегда вылетает в этом месте или случайно?
*

В том месте всегда.
EugeneP
Будем пилить.
Если получится пришли в ПМ логи с терминала.
Nuclear
Если объясните как это сделать, то пришлю, а так я ничего не знаю.

Почему с первой версии у всех папок размер 32768 байт? Отдельные файлы показывает нормально.
EugeneP
QUOTE (Nuclear @ Monday, 08 March 2010, 03:18)
Если объясните как это сделать, то пришлю, а так я ничего не знаю.

Почему с первой версии у всех папок размер 32768 байт? Отдельные файлы показывает нормально.
*


1) Баг воспроизводится, можно не парится. Спасибо за быстрый отчет.
2) Так и должно быть. Это размар записи каталога на дискеа не суммарный размер файлов.

На архиве ввели модерацию, по ходу... есть надежда, что поправлю баг до одобрения апдейта
EugeneP
Заявляю официально о своей тупости. Первый набор фиксов выложен в головном посте.
Посыпаю голову пеплом. >_____<
Nuclear
Уже лучше, не вылетает.
Не знаю, можно ли это глюком считать, но у меня в папке applications лежат 6 приложений. Захожу там в папку wizwrite, выхожу из неё, wizwrite находится вверху экрана, нажимаю влево, у меня переходит вверх папки, но при этом все остальные файлы и папки не отображаются, при прокрутке по ним, появляются.

А нет, Такой глюк во всех папках, файлы которого умещаются на один экран, и при этом не могут все отображаться при выходе из папки.
EugeneP
Выкладываю fix2. Основныая падучесть подправлена. "Баг имени trc001" возвращён на место до следующего релиза, ибо требует полной переделки аритектуры.

PS1
Открыт очередной круг приёма пожеланий и предложений.

PS2
Феникс - кака. sad.gif По ходу надо переписывать под бену
Nuclear
изменений не заметил
EugeneP
QUOTE (Nuclear @ Friday, 12 March 2010, 20:12)
изменений не заметил
*

Это хорошо smile.gif Изменеия там внутрях. Больше не подтекает.
Nuclear
Долго не пользовался и вот заметил, что вылетает при попытке выделить файл для копирования (всмысле при нажатии R)
trc001
О,апдейт,надо бы перекачать.


QUOTE
"Баг имени trc001" возвращён на место до следующего релиза, ибо требует полной переделки аритектуры


Настолько сложно?Я просто не разбираюсь в этом.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.