motofan logo
181 страниц V « < 123 124 125 126 127 > »         
> 

Софт для ZN5 и прочих MotoMAGX: MGX и PEP, Разработка, портирование и обсуждение нативного софта

EXL
сообщение 26.8.2011, 12:34 Закрепленное сообщение!


Rock The Microphone
********

Группа: Администраторы
Сообщений: 2 965
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4609



Мануал: Компиляция приложений для MotoMAGX OS, создание пакетов

Прикрепленное изображение

Для портирования и сборки приложений для нашей платформы в первую очередь нам нужны:

1. Компьютер с Linux OS. Или Windows OS с установленным Virtual BOX/VMware Player, в крайнем случае под виндой можно воспользоваться AndLinux'ом или Cygwin'ом.
2. SDK & Toolchains для MotoMagX + Исходники программ/приложений.
3. Программист/Разработчик или начинающий программист (1 шт.).

Я рассмотрю наиболее приемлемый многим начинающим разработчикам способ, с использованием популярного дистрибутива Ubuntu 11 (Linux OS) в виртуальной машине VMware Player в Windows OS. Те пользователи, у которых стоит Linux OS на компе, могут скачать SDK & Toolchains | Зеркало | Зеркало | Зеркало и сразу перескочить на пункт #4.

Итак, начнём:

1. Загрузка необходимых для разработки инструментов и файлов:

1.1. Скачиваем ISO-образ диска Ubuntu 11. Я качал себе в городской сетке, пошарьтесь в своих тоже, может найдёте. На всякий случай, ссылка: [Download | Скачать] на скачивание с официального сайта: http://www.ubuntu.com Там вы можете выбрать любую конфигурацию под свой компьютер (amd/i386) и т.д.

1.2. Скачиваем VMware Player - Скачать можно с официального сайта: [Download | Скачать] или тут: [Mirror | Зеркало]

1.3. Скачиваем SDK & Toolchains для MotoMagX. [Download | Скачать] - полная версия, включающая в себя 2 тулчейна SDL (От испанцев) + QT (От Ant-On'a) а также python, bennugd, boost и множество различных библиотек. Инструкция по установке есть внутри или ниже можно прочитать подробно.
Тем, кто хочет разрабатывать приложения на SDL, можно скачать небольшой тулчейн для сборки приложений: [Download | Скачать] [Mirror | Зеркало]

2. Мануалы по установке VMware, Ubuntu и SDK & Toolchains в картинках:*
* - картинки открывать лучше всего в новом окне, нажав колёсико мышки. После открытия воспользуйтесь масштабированием, например, в стандартном просмоторщике картинок.

2.1. Установка программы VMware для самых маленьких.
2.2. Установка Linux OS в программу VMware, на примере Ubuntu 11.
2.3. Установка дополнительных инструментов (VMware-tools) в Ubuntu 11. Необходимо для перемещения файлов между Ubuntu в виртуальной машине и виндой.

2.1.:    2.2.:    2.3.:

Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение

3. Мануалы по установке, текстом.

3.1. Установка VMware-tools для Ubuntu 11.
3.1.1. Стартуем Ubuntu 11, вверху нажимаем "Virtual Machine", затем "Install VMware Tools...
3.1.2. Ждём загрузки инструментов (нужно подключение к интернету!), затем снова вверху нажимаем "Virtual Machine" -> "Install VMware Tools...
3.1.3. С открывшегося диска копируем архив в формате *.tar.gz например в /home/user (user - ваше имя при установке Ubuntu), распаковываем его.
3.1.4. Запускаем терминал и выполняем в нём следующее:
Код

cd /home/user/vmware-tools-distrib
sudo ./vmware-install.pl

После команды sudo надо ввести пароль, который мы указывали при установке Ubuntu.
3.1.5. Умный скрипт сам предложит вам вводить нужные значения (в квадратных скобках), вводите их.
3.1.6. После успешной установки инструментов, перезагрузите компьютер.
3.1.7. Данные инструменты помогут с лёгкостью переносить файлы из Windows в Linux Ubuntu, просто копируя их или перенося из окна в окно, как вы это делали в Windows. Кроме того, появится множество разрешений для экрана системы.

3.2. Общие папки между системами для обмена файлами.
3.2.1. Стартуем Ubuntu 11, вверху нажимаем "Virtual Machine", затем "Virtual Machine Settings"
3.2.2. Переходим на вкладку "Options", выбираем "Shared Folders"
3.2.3. Переключатель "Folder sharing" ставим в положение "Always enabled", нажимаем кнопку "Add".
3.2.4. На компьютере выбираем любую папку, добавляем её, жмём ОК.
3.2.5. Теперь в Ubunte, в папке /mnt/hgfs видим добавленную нами папку из Windows.

4. Установка SDK & Toolchains.

4.1. Скачиваем архив тулчейна (*.tar.gz), перемещаем его в папку /home/user (user - ник при установке Ubuntu).
4.2. Выполняем команды, новая строка - Enter, вместо user естественно пишем своё имя, после команды sudo потребуется ввести пароль, который мы указывали при установке Ubuntu.
Код

sudo mkdir /mmc
sudo chown user -R /opt
sudo chown user -R /home
sudo chown user -R /mmc
sudo ln -s -d /opt/toolchains/motomagx/arm-eabi -t /
mkdir /opt/toolchains
mkdir /home/z6
mkdir /mmc/mmca1
tar -C /opt/toolchains -xzvf /home/user/motomagx-toolchains_12_08_2011.tar.gz
cp /opt/toolchains/motomagx/setenv-z6.sh /home/z6
cp /opt/toolchains/motomagx/setenv-z6-2.sh /home/z6

4.3. Обратите внимание на имя скаченного вами архива с тулчейном! Именно его нужно вводить в восьмой строке кода, приведённого выше!
4.4. Установленный тулчейн:
Прикрепленное изображение

5. Запуск окружения, компиляция программ и helloworld'a.

5.1. Чтобы запустить окружение для компиляции под MotoMagx, достаточно выполнить в терминале следующее:
Код

cd /home/z6
. setenv-z6.sh

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

5.2. HelloWorld.
5.2.1. Создаём пустой файл с именем hello.c в папке /home/z6 (Правой клавишей по пустому месту, "Create Document" -> "Empty File")
5.2.2. Редактируем его содержимое следующим образом, сохраняем:
Код

// Hello World for Motorola Magx!

#include <stdio.h>

int main(void)
{
    printf ("Hello Moto!!!\n");
    return 0;
}

5.2.3. Компилируем:
Код

cd /home/z6
arm-linux-gnueabi-gcc hello.c -o hello

5.2.4. Полученный исполнительный файл "hello" кидаем на телефон и запускаем через телнет!
Код

Mobilinux(TM) 4.1
Welcome 2 Motorola ZN5!
[root@Symbiosis ~]
#> /mmc/mmca1/hello
Hello Moto!!!


5.3. Работа с утилитой Make* и SDL библиотекой.
* - Утилита Make позволяет компилировать достаточно сложные проекты. Подробнее тут: http://ru.wikipedia.org/wiki/Make
5.3.1. Скачиваем следующие исходники, распаковываем в папку /home/z6:
Прикрепленный файл ballgame_src.tar.gz   ( 34 килобайт ) Кол-во скачиваний: 21047

5.3.2. Запускаем терминал и окружение для компиляции, переходим в папку с проектом, выполняем команду make:
Код

cd /home/z6/ballgame_src
make

После выполнения команды будет выполнена компиляция проекта и создан mgx пакет. Для очистки проекта от объектного кода и бинарников, следует выполнить make clean. Для создание mgx пакета - команду make mgx.
5.3.3. Теперь можно кинуть пакет на карту памяти и попробовать запустить. (Для SDL приложений вам потребуется установленные SDL-библиотеки!)
5.3.4. Структура простейшего Makefile для компиляции HelloWorld'a:
Код

# MakeFile for HelloWorld
# Motorola MotoMAGX

CC = arm-linux-gnueabi-gcc  
STRIP = arm-linux-gnueabi-strip
  
CFLAGS = # Необходимые флаги
LDFLAGS = # Необходимые флаги
OPTIMIZATION = -march=armv6j -mtune=arm1136jf-s -mfpu=vfp -O2 # Оптимизация под процессор

INCLUDE = $(CFLAGS) $(OPTIMIZATION) -I/dir # Путь к нужным хэдэрам.
LIBS = $(LDFLAGS) -L/dir # Путь к нужным либам

BIN = hello # Бинарник

all:
    $(CC) -c hello.c -o hello.o $(INCLUDE)
    $(CC) -o $(BIN) hello.o $(LIBS)
    $(STRIP) $(BIN)
clean:
    rm -f ./*.o $(BIN)

Если положить данный Makefile рядом с hello.c, и выполнить make, получим исполнительный файл.
5.3.5. Замена строк, для портирования SDL проектов:
Код

CC:=gcc ---> CC:=arm-linux-gnueabi-gcc
cc=gcc ---> CC=arm-linux-gnueabi-gcc
cxx=g++ ---> CXX=arm-linux-gnueabi-g++
ld=ld ---> LD=arm-linux-gnueabi-ld
ar=ar ---> AR=arm-linux-gnueabi-ar
as=as---> AS=arm-linux-gnueabi-as
oc=oc ---> OC=arm-linux-gnueabi-objcopy
ranlib=ranlib ---> RANLIB=arm-linux-gnueabi-ranlib
strip=strip ---> STRIP=arm-linux-gnueabi-strip
В INCLUDE или CFLAGS добавляем `sdl-config --cflags`
В LIBS или LDFLAGS добавляем `sdl-config --libs` -lнеобходимая_библиотека


5.4. Работа с утилитой configure* и SDL библиотекой.
* - Скрипт configure создаёт Makefile и позволяет компилировать сложные проекты, состоящие из множества файлов. Подробнее тут: http://en.wikipedia.org/wiki/Configure_script
5.4.1. Пример работы. Скачиваем исходники, распаковываем в папку /home/z6:
Прикрепленный файл PTC-demos.tar.gz   ( 33.29 килобайт ) Кол-во скачиваний: 21108

5.4.2. Выполняем следующее:
Код

cd /home/z6/PTC-demos
./configure --host=arm-linux-gnueabi
make

После этих команд у нас появятся исполнительные файлы Fire и Tunnel. Копируем их в корень карточки телефона.
5.4.3. Запускаем через телнет следующим образом:
Код

export LD_LIBRARY_PATH=/mmc/mmca1/games/lib:$LD_LIBRARY_PATH
chmod +x /mmc/mmca1/Fire
/mmc/mmca1/Fire

5.4.4. Для установки файлов в нужную директорию используется prefix и команда make install:
Код

mkdir /home/z6/test
cd /home/z6/PTC-demos
./configure --host=arm-linux-gnueabi --prefix=/home/z6/test
make
make install

После этого нужные нам файлы будут в папке /home/z6/test.
5.4.5. Для чистки объектного кода и бинарников используется команда make clean, для удаления сконфигурированных Makefile'ов используется команда make distclean (полная очистка).

5.5. Деббагер "Segmentation fault"
5.5.1. Качаем gdb и распаковываем архив на карту памяти, в папку /mmc/mmca1/games
Исполнительные файлы должны быть собраны с префиксом '-g' и не должны быть пострипаные
5.5.2. Выполняем (gdb):
Код

ulimit -c unlimited
./<bin_app>
Segmentation fault (core dumped)
файл <core> будет создан
../bin/gdb ./<bin_app> <core>

5.5.3 Выполняем (strace):
Код

../bin/strace ./<bin_app>


5.6. Скрипт запуска для SDL приложений:
Код

#!/bin/sh
mypath=${0%/*}
LIBDIR1=/ezxlocal/download/mystuff/games/lib
LIBDIR2=/mmc/mmca1/games/lib
LIBDIR3=$mypath/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBDIR1:$LIBDIR2:$LIBDIR3
export HOME=$mypath
export SDL_QT_INVERT_ROTATION=1
cd $mypath
sleep 1

exec $mypath/<bin_app>

5.6.1. Если нужен вывод лога в файл, заменяем последнюю строку в скрипте на
Код
exec $mypath/bin_app >$mypath/stdout.txt 2>$mypath/stderr.txt


5.7. HelloWorld с использованием GUI и функций телефона.
5.7.1. Скачиваем архив, распаковываем в /home/z6:
Прикрепленный файл Helloworld_GUI.tar.gz   ( 80.01 килобайт ) Кол-во скачиваний: 21328

5.7.2. Выполняем:
Код

cd /home/z6/папка с нужным проектом
make PLATFORM=EZX-ZN5

или просто make
5.7.3. Кидаем исполнительные файлы на телефон и пробуем запустить, должно получиться что-то типа этого:
Прикрепленное изображение

5.8. Собираем MgxBox.
5.8.1. Скачиваем архив, распаковываем в /home/z6:
Прикрепленный файл MgxBox.tar.gz   ( 5.23 мегабайт ) Кол-во скачиваний: 22595

5.8.2. Выполняем:
Код

cd /home/z6/MgxBox/MgxBox_GUI_ru
make PLATFORM=EZX-ZN5
cd /home/z6/MgxBox/p7zip_9.20.1
make all2
make install
cp -r /mmc/mmca1/p7zip/lib/p7zip /home/z6/MgxBox/Release/app/p7zip

5.8.3. Кидаем папку /home/z6/MgxBox/Release на телефон и пробуем запустить бинарник в папке Release/app, если всё нормально, должно получиться что-то типа этого:
Прикрепленное изображение

6. Создание пакетов вручную.

6.1. Создание MGX пакета:
6.1.1. Создаём папку, помещаем в нее необходимые файлы (дата файлы приложения, исполнительные файлы, скрипт запуска, иконку).
6.1.2. Создаём в папке файл "Имя папки".cfg, редактируем его содержимое следующим образом:
Код

Name = Test
Exec = run.sh
Icon = icon.png
Author = Ant-ON
Version = 1.0
Comment = Port for ZN5 by EXL

Где, Name - имя программы, Exec - запускаемый файл, Icon - иконка, Author - Автор программы, Version - Версия программы, Comment - Комментарий.
6.1.3. Запаковываем папку в любой удобный вам архив (RAR, TAR, GZ, 7Z, ZIP), и переименовываем в "имя программы".mgx

6.2. Создание PEP пакета:
6.2.1. Создаём папку с именем "app", помещаем в нее необходимые файлы (дата файлы приложения, исполнительные файлы, скрипт запуска).
6.2.2. Создаём рядом с папкой файл "description.ini", редактируем его содержимое следующим образом:
Код

[Actions]
Silent=0
InstallApp = 1  
AddAppToMenu = 1

[InstallApp]
Name = Jump n Blob
Exec = run.sh
InstallPath = ../../mmc/mmca1/.Programs/jump_n_blob/
AppLockable = 1
Author = http://www.2d-retroperspectives.org | Philipp. Port by -=Strelok=-, EXL (c) MotoFan.Ru 08.01.2010
Version = 0.1
Daemon = 1
BigIcon= icon.png
AniIcon= icon.png
Icon= icon.png

[AddAppToMenu]
ParentFolder= root

Где, Name - имя программы, Exec - запускаемый файл, Icon | AniIcon | BigIcon - иконка, Author - Автор программы, Version - Версия программы, InstallPath - Путь установки.
6.2.3. Создаём иконку, рядом с папкой "app" и "description.ini".
6.2.4. Запаковываем иконку, папку "app" и "description.ini" в архив формата TAR, затем сжимаем его в GZ переименовываем в "имя программы".pep

7. Полезные ссылки, документация, наши проекты.

7.1. Исходники, сайты с исходниками. Множество интересных проектов есть на code.google.com и sf.net
7.1.1. Исходники проектов, базирующихся на SDL:
libsdl.org/games
libsdl.org/demos
http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,46
http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,46
7.1.2. Исходники проектов, базирующихся на QT:
http://www.elsix.org/index.php?w=browse - В основном там под Sharp Zaurus, но идеи создания приложений и сорцы найти можно.

7.2. Документация, темы для прочтения:
Пробуем портировать игры и проги сами
Разработка софта под MOTOMAGX, начну небольшой HOWTO
Компиляция нативных приложений под E6/A1200, Создание окружения для компиляции
SDL библиотека
http://plg.lrn.ru/wiki/Заглавная_Страница
http://plg.lrn.ru/doc/sdl/index.html
http://doc.qt.nokia.com

7.3. Проекты:
http://code.google.com/p/open-mgx/ - исходники программ от Ant-On'a
http://code.google.com/p/sdl-magx/ - библиотека SDL HW для MotoMAgx от Ant-On'a
http://code.google.com/p/zmessanger/ - нативная аська, автор Ant-On
http://sourceforge.net/projects/qte2console/ - qte2console от DoomChisel
http://code.google.com/p/motocakerteam/ - исходники программ от испанцев MotoCakerTeam
http://code.google.com/p/zsoft/

8. Мануалы данной темы:

Если кто не может запустить ZN5Encoder в Magic box - пост #290
Нативные заставки на основе портированных мной и Neomoto демок! - пост #291
Мануал по установке Tmake в тулчейн, и правки созданного им MakeFile - пост #484
Изучение разделяемых библиотек (so) - пост #1440
Эмуляция нажатия клавиш на Motorola ZN5 - пост #1684


© EXL for MotoFan.Ru 27.08.2011
Прикрепленный файл ballgame_src.tar.gz   ( 34 килобайт ) Кол-во скачиваний: 21047
Прикрепленный файл PTC-demos.tar.gz   ( 33.29 килобайт ) Кол-во скачиваний: 21108
Прикрепленный файл Helloworld_GUI.tar.gz   ( 80.01 килобайт ) Кол-во скачиваний: 21328
Прикрепленный файл MgxBox.tar.gz   ( 5.23 мегабайт ) Кол-во скачиваний: 22595
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 17.5.2017, 6:05


Гуру
******

Группа: Разработчики
Сообщений: 1 226
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ Вчера, 21:24)
* Приехали.

название
Цитата(fill.sa @ Вчера, 21:14)
* Вообщем пока работаю над установкой, гуишка подождемт.
[close]

Цитата(VINRARUS @ Вчера, 21:24)
* Оно на зине не актуально, так как на ней темы в mgs пакетах.

ну коли у пакетов есть такая фича, нужно будет сделать, тем более что прогу потом можно портануть на другие магиксы .


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



Добавлено позже (17.5.2017, 7:11):
Нужно еще поизучать структуру пакета, незнаю для чего Silent=0
А также какие есть еще пункты, про авторун и добавку расширения знаю

Сообщение отредактировал fill.sa - 17.5.2017, 10:28
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 17.5.2017, 9:45


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211





Цитата(fill.sa @ Сегодня, 8:05)
* Нужно еще поизучать структуру пакета, незнаю для чего Silent=0

Чо все всегда недооценивают z6? У него же фанарик!
Из темы z6
Файл разбит на несколько секций. Первой читается Actions, содержащая необходимые действия. Например, если в этой секции есть InstallApp и оно равно 1, то выполняется установка приложения. Описание каждого действия содержится в соответсвующей секции.

Код

[Actions]
Silent=1 (1 - установка без вывода диалогов, 0 - с выводом)
InstallApp = 1 (указание на то, что устанавливается приложение)
AddAppToMenu = 1 (указание на добавление приложения в меню)
PreInstall = 1 (выполнение какого-либо скрипта до установки)
PostInstall = 1 (выполнение скрипты после установки)
InstallSkin= 1 (указание на то, что устанавливается скин)
AddToAutorun= 1 (указание, что необходимо добавить скрипт автозапуска в папку autorun)
AssignExt=1 (указание на использование секции [AssignExt] для привязки файловых ассоциаций к устанавливаемой программе)

[InstallApp]
Name = MyApp (имя приложения)
Exec = myapp (файл из папки app для выполнения)
InstallPath = ../../mmc/mmca1/.Programs/myapp/ (путь для установки приложения)
AppLockable = 1 (возможность блокировки приложения)
Author = Me (автор программы)
Version=1.0 (версия программы)
BigIcon= (большая иконка для меню)
AniIcon= (анимированная иконка)
Icon= (маленькая иконка 19*19 для отображения в списках и в PEManager-e
Args= (аргументы для запуска программы)

[AddAppToMenu]
ParentFolder= (имя папки, куда добавлять приложение - если в главное меню, то root, иначе название папки из SysRegistry, например, multimedia)

[PreInstall]
Name = <script_name> (имя скрипта для выполнения перед установкой - скрипт должен лежать в папке scripts)

[PostInstall]
Name = <script_name> (имя скрипта для выполнения после установки - скрипт должен лежать в папке scripts)

[AddToAutorun]
Name = <script_name> (имя скрипта для добавления в автозапуск - скрипт должен лежать в папке scripts)

[InstallSkin]
Destination= (выбор хранилища для установки скинов: "mnt" - /mnt/msc_int0/skins/ или "mmc" - /mmc/mmca1/.skins/
Name = <skin_folder_name> (имя папки скина, внутри папки содержимое скина без папок, данная папка должна лежать в папке skins, папка skins в корне пакета)

[AssignExt]
Ext=txt;cfg;ini; указываются расширения через ";"

В скриптах PreInstall? и PostInstall? возможно использовать переменные окружения:
PACK_PATH - путь к пакету
TMP_PATH - путь ко временной папке, куда распаковывается архив
APP_NAME - имя приложения
APP_EXEC - выполняемый файл приложения
APP_ARGS - аргументы выполняемого файла
APP_ID -
APP_DIR - папка, куда будет установлено приложение
APP_VERSION - версия приложения
APP_UUID
APP_IMEI - IMEI вашего телефона
APP_MENUID - id пункта меню
APP_PATH -

Если что-то непонятно - примеры description.ini можно посмотреть, разобрав любой из пакетов.
[close]
[close]
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Unreal_man
сообщение 18.5.2017, 5:44


Гуру
******

Группа: Разработчики
Сообщений: 727
Регистрация: 16.12.2009
Из: Другого Края Земли
Пользователь №: 211 211
Модель телефона: Motorola Moto Z Play


Настроение:
:-I



Рейтинг: 557



Цитата(Programmer-tm(Мотофан.) @ 10.5.2017, 14:33)
* Итаг... собрал альфу... iRadio...

Можно тестить...

Потестил.
1)Play or/and Record. Запускает воспроизведение и запись последней запущенной станции. Один раз случилось так, что запустилась только запись.
Stop Play/Record. Работает исправно.
2)Select Radio Station. Наше радио, Своё радио и все Зайцевы работают исправно(тестил по 30мин+ каждую станцию). Стартует даже при прослушивании радиостанции. Radio_Record(6шт.) - при выборе пишет, что не найден поддерживаемый поток и предлагает открыть родной плеер, где и воспроизводит. В плеере пишет сколько Мб загружено и судя по скорости это 1Мб/мин(чуть больше 128кбит/с). При воспроизведении все Radio_Record периодически квакают.
3)Select Records. Выдаёт список записей из папки Records. Запускает в родном плеере. Насколько большой список может открыть я не тестировал. Записей 7-8 показывал без проблем.
4)Settings apps.
-Volume. На выбор только Manual.
-AutoSave. При включённой опции каждый раз при запуске станции ведёт новую запись в Records(Radio_Record's не записывает).
При отключённой опции удаляет из Records последнюю запись и пишет новую.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Programmer-tm(Мотофан.)
сообщение 18.5.2017, 6:48


Мотофан
*******

Группа: Пользователи
Сообщений: 1 681
Регистрация: 21.3.2010
Из: Из мира сего
Пользователь №: 215 291
Модель телефона: Moto X Play
Прошивка: Модифицированная...


Настроение:
Делать невозможное возможным...



Рейтинг: 620



Цитата(Unreal_man @ Сегодня, 8:44)
* 1)Play or/and Record. Запускает воспроизведение и запись последней запущенной станции. Один раз случилось так, что запустилась только запись.

Это бывает... Не всегда, но борюсь с таким его поведением...
Цитата(Unreal_man @ Сегодня, 8:44)
* 2)Select Radio Station. Наше радио, Своё радио и все Зайцевы работают исправно(тестил по 30мин+ каждую станцию). Стартует даже при прослушивании радиостанции. Radio_Record(6шт.) - при выборе пишет, что не найден поддерживаемый поток и предлагает

Тут есть нюанс... Можно тыкнуть отмену на рекордах при выборе плеера и он будет предлагать варианты потоков... Выбрать mp3 и оно запоет... И будет писать.
Цитата(Unreal_man @ Сегодня, 8:44)
* 3)Select Records. Выдаёт список записей из папки Records. Запускает в родном плеере. Насколько большой список может открыть я не тестировал. Записей 7-8 показывал без проблем.

Играет как родном плеере, так и в фоне при жмаканьи отмены... Тут все пока без подменюшечно...
Цитата(Unreal_man @ Сегодня, 8:44)
* 4)Settings apps.
-Volume. На выбор только Manual.
-AutoSave. При включённой опции каждый раз при запуске станции ведёт новую запись в Records(Radio_Record's не записывает).
При отключённой опции удаляет из Records последнюю запись и пишет новую.

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

Нашел баги по громкости и немного перепилил работу выбора потока... Еще перепилю выбор плееров... перепилено...
Среди прочих хотелок: Восстановление работы радио после сбоя...

Сообщение отредактировал Programmer-tm(Мотофан.) - 18.5.2017, 7:43
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Unreal_man
сообщение 18.5.2017, 8:53


Гуру
******

Группа: Разработчики
Сообщений: 727
Регистрация: 16.12.2009
Из: Другого Края Земли
Пользователь №: 211 211
Модель телефона: Motorola Moto Z Play


Настроение:
:-I



Рейтинг: 557



Programmer-tm(Мотофан.),хотелка - работа от ежа. А там битрейтов пониже не было? А то записи по 256кбит/с, если что наш ёж такого не вывезет. И планируется ли какая нибудь реализация добавления своих станций? Украинских или буржуйских например.

Сообщение отредактировал Unreal_man - 18.5.2017, 8:54
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Programmer-tm(Мотофан.)
сообщение 18.5.2017, 9:10


Мотофан
*******

Группа: Пользователи
Сообщений: 1 681
Регистрация: 21.3.2010
Из: Из мира сего
Пользователь №: 215 291
Модель телефона: Moto X Play
Прошивка: Модифицированная...


Настроение:
Делать невозможное возможным...



Рейтинг: 620



Unreal_man,
Тут все встроено... Если надо что-то свое - берем ссыль - копируем в текстовый файлик, обзываем ***.m3u и кидаем в папку playlists. В результате чего оно волшебным образом появится в списке плейлистов в программе smile.gif
Еж - пережиток прошлого, но и его можно привернуть будет... (Благо iNative в него умеет)

Сообщение отредактировал Programmer-tm(Мотофан.) - 18.5.2017, 11:08
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 19.5.2017, 0:42


Гуру
******

Группа: Разработчики
Сообщений: 1 226
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Даа, тестеров негусто.

Вообщем, вот новый файлик.
-Поправил добавление прог в меню, вроди пашет, правдо покачто все идет в одну папку "игры и приложения". В пепе соостветственно работает пункт добавлять или нет
-Поправил добавление иконок из пепа которые вне папки app. Правда по итогу копируется просто все что вне папки, даже если не иконка. Все потому что пеп ну жутко отстойный формат, и как сделать чтобы только иконки копировались я незнаю(они то наверняка не только в *.png могу быть). Толи дело mpkg, простой и удобынй, можно легко новый функций накидать.
-Добавил по пеп поддержку запуска команд до и после установки. Т.к. mpkg очень универсальный и удобный формат, туда также добавил такую поддержку.

-После установки приложения в конце делается проверка что приложение прописало в базу. Делал это т.к. столнулся с моментом, что не хватало места на карте и прогу устанавливалась, а вот в базу уже немогла прописаться. Ну может еще в каких случаях поможет проверка.
-В конце при успешной установке предлагает запустить для тем, менеджер тем, а для прог гуишку PackMan(пока понятное дело она еще не сделана)


Немного набросал код по установке скинов из пеп и мпкг, по пепу вроди пашет, по мпкг ненашел скинов для проверки ))


Есть желающие все потестить?

Сообщение отредактировал fill.sa - 20.5.2017, 8:46
Прикрепленный файл PackMan.zip   ( 28.61 килобайт ) Кол-во скачиваний: 48
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Unreal_man
сообщение 19.5.2017, 3:22


Гуру
******

Группа: Разработчики
Сообщений: 727
Регистрация: 16.12.2009
Из: Другого Края Земли
Пользователь №: 211 211
Модель телефона: Motorola Moto Z Play


Настроение:
:-I



Рейтинг: 557



fill.sa, если объяснишь чем этот установщик лучше чем тот который стоит у меня, то можно и потестить.

Добавлено позже (19.5.2017, 6:30):
Я правда не в теме особенностей установщиков(даже своего), но догадываюсь, что вот это вот:
-Добавил по пеп поддержку
запуска команд до и после
установки. Т.к. mpkg очень
универсальный и удобный
формат, туда также добавил
такую поддержку.
-После установки приложения
в конце делается проверка что
приложение прописало в базу.
Делал это т.к. столнулся с
моментом, что не хватало
места на карте и прогу
устанавливалась, а вот в базу
уже немогла прописаться. Ну
может еще в каких случаях
поможет проверка.

некое новшество. Так то у меня устанавливает проги и мне хватает. Но как и в каких случаях команды до или после установки могут пригодиться, я не соображу. Это наверное для тех кто побашковитее. Растолкуй пожалуйста.

Сообщение отредактировал Unreal_man - 19.5.2017, 3:39
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 19.5.2017, 7:27


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(Unreal_man @ Сегодня, 5:22)
* в каких случаях команды до или после установки могут пригодиться, я не соображу.

PEP пакет намного больше чем просто архив з прогой. Он может например патчи ставить для модов, а может работать как портабле-софт без установки.
Если обычный пакет ставит прогу в 1 место, то РЕР при установке может сразу в нескольких местах выполнить действия.

Пример.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 19.5.2017, 14:25


Гуру
******

Группа: Разработчики
Сообщений: 1 226
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(Unreal_man @ Сегодня, 4:22)
* fill.sa, если объяснишь чем этот установщик лучше чем тот который стоит у меня, то можно и потестить.

Да я уже в первом сообщение это написал. Как минимум стоит начать с того что пока еще нету одного единого установщика для всех видом пакетов(pep mpkg mgx), для каждого пакета своя прога, а некоторый функционал вообще через костыли, скрипты и прочую ерунду приходится выолнять - что не есть хорошо.
К томуже как только закончу с базовым функционалом, можно расширить функциионал разными хотелками, чего нельзя сделат с теперешней прогой. К примеру я точно буду делать механизм установки плагинов для стола. Таже проверка проверка в конце полезная штука, опять таки мой пример с нехваткой места да и много чего может быть.

Как-то так в кратце если.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Софт для ZN5 и прочих MotoMAGX: MGX и PEP, Разработка, портирование и обсуждение нативного софта · Motorola ZINE ZN5, ZN5 T-Mobile · Forum
 

181 страниц V « < 123 124 125 126 127 > » 
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 18.4.2024, 15:58

Форум живёт: