Вернуться   DreamBox Satellite Forum > Обсуждение > Dreambox DM 5xxx/7xxx/8xxx/9xxx > Developer board

Developer board Раздел для разработчиков софта

Ответ
 
Опции темы

RecInfobar плагин для Enigma2
Старый 09.03.2011, 19:21   #1
Специалист
 
Аватар для vlamo
 
vlamo вне форума
Регистрация: 01.11.2007
Сообщений: 2,321
Отправить сообщение для vlamo с помощью ICQ
По умолчанию RecInfobar плагин для Enigma2

Плагин Record Infobar

Плагин Record Infobar - это такое себе приложение к основному инфобару - дополнительный расширяемый выпадающий или всплывающий (как хотите) список производимых текущих записей, который выводится на экран вместе с основным инфобаром.





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


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


Настройка
Menu -> Setup -> System -> Record Infobar

Здесь вы можете:
  • включить/отключить Record Infobar (по умолчанию отключен)
  • настроить позицию Record Infobar на экране по ocи X и Y (по умолчанию X=60,Y=360)
  • настроить направление расширения Record Infobar (по умолчанию вверх)
  • задать постоянное переключение на записываемый сервис (experimental option)
Настройка направления требует дополнительного пояснения. Она нужна для правильной ориентации позиции окна (screen) на экране. Если задано направление:
  • down (вниз), то базовыми координатами окна являются X и Y (position="X,Y")
  • top (вверх), то базовыми координатами окна являются X и Y+ВЫСОТА (position="X,Y" size="ШИРИНА,ВЫСОТА").
(position="X,Y" и size="ШИРИНА,ВЫСОТА" задаются непосредственно в скине в секции описания окна, см.ниже - Дополнительная подгонка под свой скин)

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


Дополнительная подгонка под свой скин
Этот пункт необязательный, но очень важный, т.к. по умолчанию окно Record Infobar'а довольно примитивное, но его можно приукрасить, а также подогнать по размерам и позиции под свой текущий скин. Опишу, как я это сделал у себя...

В своем текущем скине (файл /usr/share/enigma2/МОЙ_СКИН/skin.xml) я добавил новую секцию под именем "RecInfoBar" где-нибудь рядом с секцией основного инфобара "InfoBar":
Код:
    <screen name="RecInfoBar" position="196,380" size="320,35" zPosition="-1" backgroundColor="transparent" flags="wfNoBorder" title="Records Info" >
    </screen>
    <screen name="InfoBar" position="50,415" size="615,145" title="InfoBar" zPosition="0" backgroundColor="transparent" flags="wfNoBorder">
        ....
        ....
        ....
    </screen>
Здесь для лучшего понимания я вкратце пройдусь по некоторым важным атрибутам:
  • position - отвечает за позицию верхнего левого угла окна на экране по оси X и по оси Y (position="X,Y")
  • size - отвечает за размер окна (size="ШИРИНА,ВЫСОТА")
  • zPosition - задает очередность прорисовки окна, чем значение меньше, тем окно раньше прорисовывается на экране. Здесь стоит заметить, если любое другое окно имеет большее значение zPosition и координаты этого окна пересекают координаты вашего окна, то на экране вы свое окно можете не увидеть или увидеть, но лишь частично.
  • backgroundColor - отвечает за цвет фона окна
  • flags - может иметь пока только одно значение wfNoBorder, которое говорит, что окно надо прорисовывать без границ (бордюров) и без заголовка
  • title - название окна, которое выводится в заголовке.
Все эти атрибуты, за исключением двух последних (flags и title), могут применяться не только к окнам (screen), но также и к виджетам (widget).
Хорошо, теперь вернемся к нашему окну...

Обратите свое внимание, что наш скрин (screen) обязательно должен быть без границ окна (flags="wfNoBorder").
Скрин на экране должен выводиться как-бы ниже (из-под) основного инфобара, поэтому zPosition я установил на один меньше (zPosition="-1"), чем zPosition основной инфобара (zPosition="0").
Также я сразу задал скрину прозрачный цвет фона (backgroundColor="transparent").
Позицию и размер скрина сделал на свой вкус, где бы я хотел его видеть на экране, а именно, сразу над основным инфобаром. Для этого я от позиции основного InfoBar (position="50,415") по оси Y, которая равна 415, отнял высоту RecInfoBar (size="320,35"), которая равна 35, и получил 415 - 35 = 380 (position="196,380").

У плагина есть четыре основных виджета (widget):
  • chNum - отображает номер записываемого(ых) канала(ов) в букетах
  • chName - отображает название записываемого(ых) канала(ов)
  • chProv - отображает имя провайдера записываемого(ых) канала(ов) (добавлен в 1.0-rc3 версии)
  • chBouq - отображает имя букета записываемого(ых) канала(ов) (добавлен в 1.0-rc4 версии)
  • recName - отображает название записи(ей) (добавлен в 1.0-rc7 версии)
  • chTuner - отображает букву тюнера (A,B,C,etc.) записываемого(ых) канала(ов) (добавлен в 1.0-rc7 версии)
  • timelen - отображает время записи(ей) в формате МИНУТЫ:СЕКУНДЫ
Виджет chName является обязательным, все остальные можно добавлять на свое усмотрение.
Поэтому я далее в скрин добавил только три основных виджета (chProv я не добавлял):
Код:
    <screen name="RecInfoBar" position="196,380" size="320,35" zPosition="-1" backgroundColor="transparent" flags="wfNoBorder" title="Records Info" >
        <widget name="chNum"   position="30,10"  size="40,20"  zPosition="1" font="Regular;18" halign="right" transparent="1" />
        <widget name="chName"  position="80,10"  size="160,20" zPosition="1" font="Regular;18" halign="left"  transparent="1" />
        <widget name="timelen" position="245,10" size="60,20"  zPosition="1" font="Regular;18" halign="right" transparent="1" />
    </screen>
Здесь следует обратить свое внимание, что основные виджеты должны иметь:
  • одинаковый шрифт с одинаковым размером (у меня - font="Regular;18")
  • позиция относительно оси Y должна быть у всех одинакова (у меня - 10)
Все остальные атрибуты виджетов настраиваются опционально на свой вкус.

Далее, добавил фоновую картинку, которую предварительно сделал сам в стиле своего скина:
Код:
<ePixmap pixmap="МОЙ_СКИН/rec_ib-fs8.png" position="0,0" zPosition="-1" size="320,120" />
Поскольку картинка фоновая и должна распологаться под всеми другими компонентами окна, поэтому zPosition я установил в -1 (zPosition="-1"). И обратите внимание на путь к картинке - "МОЙ_СКИН/rec_ib-fs8.png", - это значит, что она у меня лежит в директории моего текущего скина - /usr/share/enigma2/МОЙ_СКИН .
Ещё одно замечание по фоновой картинке: высоту ее расчитывайте так, чтобы ее хватило на максимальное число записей. Например, у меня высота скрина 35 пикселов, а высота картинки - 120 пикселов, чтоб хватило, если будет идти 7-8 записей одновременно (такое бывает вообще?).

Также, для наглядности я добавил в окно стандартную иконку в виде мигающего красного кружка:
Код:
<widget source="session.RecordState" render="Pixmap" pixmap="skin_default/icons/record.png" position="18,13" zPosition="2" size="14,14" alphatest="on" >
    <convert type="ConditionalShowHide">Blink</convert>
</widget>
И вот, что у меня получилось в целом:
Код:
    <screen name="RecInfoBar" position="196,380" size="320,35" zPosition="-1" title="Records Info" backgroundColor="transparent" flags="wfNoBorder" >
        <ePixmap pixmap="Nemesis.Blueline.Single/rec_ib-fs8.png" position="0,0" zPosition="-1" size="320,120" />
        <widget source="session.RecordState" render="Pixmap" pixmap="skin_default/icons/record.png" position="18,13" zPosition="2" size="14,14" alphatest="on" >
            <convert type="ConditionalShowHide">Blink</convert>
        </widget>
        <widget name="chNum"   position="30,10"  size="40,20"  zPosition="1" font="Regular;18" halign="right" transparent="1" />
        <widget name="chName"  position="80,10"  size="160,20" zPosition="1" font="Regular;18" halign="left"  transparent="1" />
        <widget name="timelen" position="245,10" size="60,20"  zPosition="1" font="Regular;18" halign="right" transparent="1" />
    </screen>
Сохранил все изменения в файле, перезагрузил Энигму2 и на экране во время записи это выглядит так, как вы видите на картинках выше. Мне такой вид пойдет, ну а вы можете это всё сделать на свой вкус и под свой любимый скин. Есть только одна рекомендация: Распологайте все компоненты (виджеты) и задавайте размер окна как-бы только под одну запись, всё остальное сделает плагин.


Отдельное БОЛЬШОЕ человеческое спасибо хочу выразить lagush, человеку-справке, за неоценимую помощь в создании и тестировании плагина! Респект тебе и уважуха, дружище!

Также, благодарности ДМИТРИЙ1973 за исправление багов, добавление языковой поддержки и русской локализации плагина. Снимаю кашкет.


В прицепке, собственно, сам плагин и файл rec_ib-fs8.png:
.
Изображения
Тип файла: png rec_ib-fs8.png (7.7 Кб, 127 просмотров)
Вложения
Тип файла: zip enigma2-plugin-systemplugins-recordinfobar_1.0-rc8_mipsel.ipk.zip (7.7 Кб, 43 просмотров)
Тип файла: txt changelog.txt (2.4 Кб, 18 просмотров)
__________________
  • DM600PVR: Gemini 4.70, mgcamd_1.35/mpcs_16e, HDD 160GB
  • ET9200: Image: OpenPLi 3.0; oscam 1830; HDD 160GB

Последний раз редактировалось vlamo; 24.02.2013 в 00:35.
  Ответить с цитированием

Старый 09.03.2011, 21:37   #2
Эксперт
 
oleg8000 вне форума
Регистрация: 03.03.2008
Адрес: Крым
Сообщений: 297
По умолчанию

Цитата:
Сообщение от vlamo Посмотреть сообщение
Ну вот и дождались... не прошло и полгода...
Я верил! Всё прекрасно работает! Стаил на Gemini-5.1, Dream 8000. Вопрос по усовершенствованию-когда идёт запись, отображается номер канала, его название и время, сколько запись идёт-возможно в эту же строку добавить название провайдера? Заранее спасибо!
  Ответить с цитированием

Старый 10.03.2011, 00:32   #3
Эксперт
 
sp34 вне форума
Регистрация: 28.11.2006
Сообщений: 138
По умолчанию

vlamo - СПАСИБО !!! , что приняли мою просьбу в рождение такого замечательного дополнения к нашим коробочкам мечты , у меня аж муражки по спине от удовольствия и домашние все выражают вам ОГРОМНУЮ БЛАГОДАРНОСТЬ !!! респект вам и уважуха !
Встало все отлично ,технически все работает , занимаюсь косметикой теперь.
  Ответить с цитированием

Старый 10.03.2011, 00:38   #4
Специалист
 
Аватар для vlamo
 
vlamo вне форума
Регистрация: 01.11.2007
Сообщений: 2,321
Отправить сообщение для vlamo с помощью ICQ
По умолчанию

Цитата:
Сообщение от oleg8000
возможно в эту же строку добавить название провайдера?
Да, в принципе, возможно, только особого желания нет "утяжелять" лишней инфой окно.
Мотивируйте, зачем вам это надо? Если сильно надо, то прикручу, конечно.
__________________
  • DM600PVR: Gemini 4.70, mgcamd_1.35/mpcs_16e, HDD 160GB
  • ET9200: Image: OpenPLi 3.0; oscam 1830; HDD 160GB
  Ответить с цитированием

Старый 10.03.2011, 09:32   #5
Эксперт
 
oleg8000 вне форума
Регистрация: 03.03.2008
Адрес: Крым
Сообщений: 297
По умолчанию

Цитата:
Сообщение от vlamo Посмотреть сообщение
Мотивируйте, зачем вам это надо? Если сильно надо, то прикручу, конечно
На Dream 8000 когда пишеш сразу несколько каналов с названием провайдера было бы понятнее и удобнее что и откуда записывается.Ну если возможно, конечно.
  Ответить с цитированием

Старый 10.03.2011, 17:56   #6
Эксперт
 
sp34 вне форума
Регистрация: 28.11.2006
Сообщений: 138
По умолчанию

vlamo - у меня мелкий вопросик : по назначение координат через настройки\система\.... для чего они нужны если мы в скине прописываем позицию ? или это для первого включения или если в скине ничего пока не прописано.
  Ответить с цитированием

Старый 10.03.2011, 19:09   #7
ФАКер
 
Аватар для lagush
 
lagush вне форума
Регистрация: 24.05.2006
Сообщений: 6,765
Отправить сообщение для lagush с помощью ICQ
По умолчанию

У меня предвартельно получился такой минималистический вариант для моего скина. Можно окно еще вправо сдвинуть.



Только не смог сделать прозрачность у фона.
__________________
DM7020HD (2xDVB-S2), Merlin3+GP3 (OE1.6), HDD 2.5" 320 GB HM320JI, Wi-Fi
DM500S, Gemini 4.7, mgcamd 1.31
90cm(19E-13E-Twin9E-5E-4W)+80cm(Twin 36Е)+65cm(36E)
  Ответить с цитированием

Старый 10.03.2011, 19:53   #8
Эксперт
 
sp34 вне форума
Регистрация: 28.11.2006
Сообщений: 138
По умолчанию

А ВОТ МОЕ ТВОРЕНИЕ.
Изображения
Тип файла: jpg rec_xxx.jpg (40.3 Кб, 112 просмотров)
  Ответить с цитированием

Старый 10.03.2011, 19:57   #9
Заблокирован
 
mpetr вне форума
Регистрация: 11.02.2009
Адрес: г. Обнинск
Сообщений: 504
По умолчанию

Цитата:
Сообщение от vlamo Посмотреть сообщение
в результате родился плагин RecInfobar
Спасибо!!!
  Ответить с цитированием

Старый 10.03.2011, 20:08   #10
Эксперт
 
Аватар для orlov
 
orlov вне форума
Регистрация: 16.05.2009
Адрес: г.Ростов на Дону
Сообщений: 1,506
Отправить сообщение для orlov с помощью ICQ Отправить сообщение для orlov с помощью Skype™
По умолчанию

Цитата:
Сообщение от vlamo Посмотреть сообщение
Ну вот и дождались... не прошло и полгода...
Долго экспериментировал, как бы это лучше и попроще преподать, в результате родился плагин RecInfobar, который, собственно, и предлагаю вашему вниманию.
Подробности, как всегда, в теме Тюнинг Enigma2.

Отдельное БОЛЬШОЕ человеческое спасибо хочу выразить lagush, человеку-справке, за неоценимую помощь в создании и тестировании плагина! Респект тебе и уважуха, дружище!
Слов нет!!!!
Т_А_Л_А_Н_Т_И_Щ_Е !!!!!!!!
СПАСИБО !!!!!
  Ответить с цитированием

Старый 10.03.2011, 20:23   #11
Дримовод
 
shalex вне форума
Регистрация: 05.04.2007
Адрес: XMAO
Сообщений: 56
По умолчанию

Спасибо Vlamo, и всем кто помогал, за плагин. Подправил под свой скин, получилось прилично.
__________________
DM 7025+ HDD CF 13E Multiboot: VU+Duo SI9895 VTI Samsung UE40D7000
  Ответить с цитированием

Старый 10.03.2011, 22:01   #12
Специалист
 
Аватар для vlamo
 
vlamo вне форума
Регистрация: 01.11.2007
Сообщений: 2,321
Отправить сообщение для vlamo с помощью ICQ
По умолчанию

Спасибо, друзья, за теплые слова, я думаю они в равной мере относятся не только мне, но и к sp34, как автору идеи, который и сподвиг на написание этого плагина, а также и lagush, человеку - генератору идей, который не дает мне скучать и всегда принимает самое активное участие в разработке и тестировании. Всем спасибо!


Цитата:
Сообщение от oleg8000 Посмотреть сообщение
На Dream 8000 когда пишеш сразу несколько каналов с названием провайдера было бы понятнее и удобнее что и откуда записывается.Ну если возможно, конечно.
ОК, уже почти добавил имя провайдера отдельным виджетом, скорей всего завтра уже выложу новую версию плага.


Цитата:
Сообщение от sp34 Посмотреть сообщение
vlamo - у меня мелкий вопросик : по назначение координат через настройки\система\.... для чего они нужны если мы в скине прописываем позицию ? или это для первого включения или если в скине ничего пока не прописано.
Да, именно для первого включения, а также для тех, кто по безразлично каким причинам не в зуб ногой не разбираются (или не хотят разбираться) в скинах. Люди же разные бывают.
Ну, а так, если вы добавили описание окна в текущий скин, то эти настройки позиции окна не играют ни какой роли.
__________________
  • DM600PVR: Gemini 4.70, mgcamd_1.35/mpcs_16e, HDD 160GB
  • ET9200: Image: OpenPLi 3.0; oscam 1830; HDD 160GB

Последний раз редактировалось vlamo; 10.03.2011 в 22:04.
  Ответить с цитированием

Старый 11.03.2011, 13:30   #13
Специалист
 
Аватар для vlamo
 
vlamo вне форума
Регистрация: 01.11.2007
Сообщений: 2,321
Отправить сообщение для vlamo с помощью ICQ
По умолчанию

Обновил версию плагина RecInfobar.
Из нового - добавил виджет "сhProv", который отображает имя провайдера записываемого канала.
Виджет можно добавлять (а можно и не добавлять) в скрин на свое усмотрение, что-то типа такого:
Код:
	<screen name="RecInfoBar" position="196,380" size="320,35" zPosition="-1" title="Records Info" backgroundColor="transparent" flags="wfNoBorder" >
		<widget name="chNum"   position="30,10"  size="40,20"  zPosition="1" font="Regular;18" halign="right" transparent="1" noWrap="1" foregroundColor="white" backgroundColor="#444856" shadowColor="black" shadowOffset="-1,-1" />
		<widget name="chProv"  position="80,10"  size="65,20" zPosition="1" font="Regular;18" halign="left"  transparent="1" noWrap="1" foregroundColor="white" backgroundColor="#444856" shadowColor="black" shadowOffset="-1,-1" />
		<widget name="chName"  position="150,10"  size="90,20" zPosition="1" font="Regular;18" halign="left"  transparent="1" noWrap="1" foregroundColor="white" backgroundColor="#444856" shadowColor="black" shadowOffset="-1,-1" />
		<widget name="timelen" position="245,10" size="60,20"  zPosition="1" font="Regular;18" halign="right" transparent="1" noWrap="1" foregroundColor="white" backgroundColor="#444856" shadowColor="black" shadowOffset="-1,-1" />
	</screen>
__________________
  • DM600PVR: Gemini 4.70, mgcamd_1.35/mpcs_16e, HDD 160GB
  • ET9200: Image: OpenPLi 3.0; oscam 1830; HDD 160GB
  Ответить с цитированием

Старый 11.03.2011, 18:15   #14
Эксперт
 
sp34 вне форума
Регистрация: 28.11.2006
Сообщений: 138
По умолчанию

vlamo - Спасибо !!! и чтобы не засыпать вас вопросами ,что и зачем в строках прописано , подскажите , где почитать про всевозможные функции и обращения типа shadowColor,shadowOffset,noWrap ну и т д - очень люблю заниматься своим рессом.
  Ответить с цитированием

Старый 11.03.2011, 18:35   #15
ФАКер
 
Аватар для lagush
 
lagush вне форума
Регистрация: 24.05.2006
Сообщений: 6,765
Отправить сообщение для lagush с помощью ICQ
По умолчанию

Цитата:
Сообщение от sp34 Посмотреть сообщение
vlamo - Спасибо !!! и чтобы не засыпать вас вопросами ,что и зачем в строках прописано , подскажите , где почитать про всевозможные функции и обращения типа shadowColor,shadowOffset,noWrap ну и т д - очень люблю заниматься своим рессом.
Это скорее вопрос к скинописанию. Хотя формально по теме подходит. Я когда-то порывался написать миниФАК по этому вопросу, но опыта у меня мало, да и интереса особого не было. Видел на ИХАДе - там есть много материала.
Сам бы с удовольствием почитал систематизированный материал по скинам, с примерами и скриншотами.
Так же хорошо бы иметь описания различных конвертеров...
__________________
DM7020HD (2xDVB-S2), Merlin3+GP3 (OE1.6), HDD 2.5" 320 GB HM320JI, Wi-Fi
DM500S, Gemini 4.7, mgcamd 1.31
90cm(19E-13E-Twin9E-5E-4W)+80cm(Twin 36Е)+65cm(36E)
  Ответить с цитированием
Ответ

Закладки


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход




Часовой пояс GMT +3, время: 13:14.


vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot


Спутниковое телевидение, оборудование для прима. Ресиверы Dreanbox Multimedia.
Самые актуальные обзоры новейших спутниковых ресиверов.