Willkommen! Melden Sie sich an oder registrieren Sie sich.

Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.

Anmelden - oder - Benutzerkonto erstellen

Erweiterung Running Text render

  • so Dr. Best hier mal der Thread damit wir hier weiter schreiben können.


    also zur Erleuterung ,der Running text render kann running und SWIMMING
    - running bewegt das gesamte widget in jede richtung die man angibt in einer schleife
    - SWIMMING bewegt den text in alle richtungen aber hin und rückwärts wieder zurück
    es ist jetzt so das man bei dem render kein transparent="1" einsetzen kann um somit das hintergrundbild zu haben und der scrolltext darauf transparent läuft ,das teil ist auf rgb aufgebaut und kann irgendwie das transparent="1" nicht.
    entweder ist der transparent (komplett bis zu tv bild ) oder man setzt farben als backgroundColor ein.
    wenn man jetzt aber eine png als hintergrund hat wird die im bereich des renders komplett durchsichtig oder farblich und das kann man nur mit alphatest beheben und das bremst den render und frisst performance.


    das 2. ist man konnte mit dem selben render im OE1.6 bei running oder SWIMMING das gesamte widget in einer zeile laufen lassen und seit OE2.0 geht das nicht mehr ,hab genau den selben render und den selben eintrag im skin getestet nix im OE1.6 bewegt sich das gesamte widget und im OE2.0 nix . keine ahnung was sich da im OE2.0 verändert hat das dies nicht mehr geht


    das 3. ist man kann in im lcd/oled nicht einsetzen (zumindest bei den s/w oleds wie bei der 8000 oder der 7020hd was auch schade ist weil so könnte man einen roller für alles nutzen.
    ich nutze runnig text schon seit fast 2 Jahren und so schön wie der skinbar ist so hat er auch seine macken .


    hier mal der render in der v1.5 die seit über einem Jah die aktuelle version ist eventuell kannst du da ja was machen


    EDIT. original render hab ich hier rausgenommen ,auf Seite 4 > Link < gibt es die verbesserte und umgearbeitete Version von Dr. Best.


    Danke Dir @Dr. Best

  • hier mal auf russisch das vom ersteller


    Рендер RunningText


    Рендер предназначен для прокрутки текста.
    Основные возможности:


    имеется два основных типа движения текста: бегущая строка и плавающая строка
    текст может двигаться в таких основных направлениях: влево, вправо, вверх, вниз
    поддерживается как одно- так и многострочный текст
    все настройки движения можно задавать на свой вкус через атрибут виджета "options" в скине:
    скорость движения текста
    задержка до начала движения текста
    паузы между циклами движения текста
    количество циклов движения текста



    Основные используемые атрибуты:


    position - позиция виджета по X и Y осям, обязательный.
    size - размер виджета - ШИРИНА и ВЫСОТА, обязательный.
    zPosition- порядок прорисовки виджета на экране.
    font - шрифт и его размер. По умолчанию - "Regular;14"
    foregroundColor - цвет текста. По умолчанию белый - "#ffffff"
    backgroundColor - цвет фона. По умолчанию черный - "#000000"
    shadowColor - цвет тени, отбрасываемой от текста. По умолчанию - не задан
    shadowOffset - размер тени, отбрасываемой от текста. По умолчанию - "0,0" (т.е. тени нет)
    valign - вертикальная привязка текста. Возможны варианты:
    top - сверху
    center - по средине
    bottom - снизу
    halign - горизонтальная привязка текста. Возможны варианты:
    left - слева
    center - по средине
    right - справа
    block - блоком по средине
    noWrap - одно- или многострочный текст для перемещения.
    transparent - пока не поддерживается, на как это можно обойти смотрите здесь.
    options - специальный атрибут для рендера, который может содержать такие доступные опции:
    movetype - тип движения текста. Возможны варианты:
    none - нет
    running - бегущая строка
    swimming - плавающая строка
    direction - направление движения текста. Возможны варианты:
    left - движение текста справа налево
    right - движение текста слева направо
    top - движение текста снизу вверх
    bottom - движение текста сверху вниз
    step - шаг движения текста. Точнее количество пикселов на один шаг движения.
    Значение должно быть больше нуля, например: step=1
    steptime - время на один шаг в миллисекундах. В паре со step составляет скорость общего движения текста. Например, если step=1 и steptime=50, то скорость общего движения будет равна 20 пикселов за секудну.
    Минимальное значение 25 миллисекунд, например: steptime=25
    startdelay - задержка до начала движения текста. По умолчанию - startdelay=0
    pause - пауза в миллисекундах между циклами движения текста. По умолчанию нет паузы - pause=0
    oneshot - время в миллисекундах приостанова движения текста в нулевой точке. По умолчанию - oneshot=0
    repeat - количество повторов циклов движения текста. По умолчанию - repeat=0 (т.е. бесконечно)
    always - всегда ли двигать текст, если он полностью помещается в размеры виджета. По умолчанию - always=0 (т.е. не двигать)
    startpoint - стартовая позиция вывода текста в пикселах, которая должна вписываться в координаты размера виджета. Она же является нулевой точкой при oneshot атрибуте. По умолчанию - не задана и зависит от direction атрибута.
    [no]wrap - одно- или многострочный текст для перемещения.
    pagedelay - пауза в миллисекундах для "постраничной" прокрутки текста при вертикальном свиминге (movetype=swimming). По умолчанию - не задана . Добавлен начиная с версии 1.5.
    pagelength - длина (высота) текста в пикселах, через промежутки которой текст будет приостанавливаться на заданное число миллисекунд через опцию pagedelay. Используется при вертикальном свиминге текста и совместно с опцией pagedelay. По умолчанию - не задана . Добавлен начиная с версии 1.5.

  • nein das ist sie nicht ,du hattest dazu die alte 1.4 genutzt.
    und danke fürs anschauen ,weil soviel programmierer gibt es leider nicht die sich mit sowas beschäftigen bzw. beschäftigen wollen ,was echt schade ist ,weil so ein skinbarer roller ist ne echt klasse sache ,er müsste halt noch an einigen stellen umgebaut oder verbessert werden damit er noch vielseitiger und besser einsetzbar wäre bzw. nicht so an der performance kratzt

  • wenn man das transparent="1" einsetzen kann und damit das shadowColor und alphatest="on" weglassen kann gewinnt man so einiges an Performance ,also wenn das gehen würde dan hättest da auch an der Performance was gemacht

  • hier mal die cpu wenn der render läuft mit dem ganzen (bild 1)
    und das bild 2 zeigt dir das ganze mal ohne die shadowColor und alphatest="on" geschichte (ist dann aber wie gesagt nicht anständig skinbar)

  • <widget source="ServiceEvent" render="ZombiHD1R3RunningText" position="840,362" size="400,267" font="Regular;19" halign="center" options="movetype=running,startpoint=0,direction=top,steptime=90,repeat=2,startdelay=16000,wrap" backgroundColor="transparent" shadowColor="back" alphatest="on">
    <convert type="ZombiHD1R3EventName">ExtendedDescription</convert>
    </widget>

  • Das werd ich so hinbekommen denke ich...
    also ich lege jetzt ein bild hinter den scroller und schaue mir das alles mal an... :)


    Transparenz funktionabel, und ich bin auch glücklich :) In meinem Skin () basieren die Screens auf einer Hintergrundpixmap von 1280x720, auf der dann der Scroller im Idealfall transparent plaziert wird. Derzeit behelfe ich mir mit statt mit transparent=1 mit alphatest=on, die Performance ist entsprechend schlecht.


    In der aktuellen Version von Blue-Glass.HDBlack.ME.mod ist zum Testen bereits Deine gefixte Version 1.4 in der ChannelSelection, EPGSelection und MovieSelection jeweils zur Anzeige der Events eingebaut.


    Der Scroller ist für mich schon sinnvoll. Nicht unbedingt für EyeCandy wie hin- und herwandernde Texte in den Infobars, sondern bspw. für Widgets die keine Scrollbar haben, um dort längere Texte vollständig anzeigen zu können.


    Zumindest hast Du bisher schon mit einem Handstreich dafür gesorgt, das ein gutzes Dutzend Skins in the wild nicht mehr Performancebremsen sind :)

  • Das werd ich so hinbekommen denke ich...
    also ich lege jetzt ein bild hinter den scroller und schaue mir das alles mal an... :)


    Für dan Fall das du es hinbekommst ..


    Beim render="EventListDisplay" hat ... transparent="1" ... auch keine Wirkung.


    Da muß man sich dann auch mit ... backgroundColor="transparent" alphatest="blend" behelfen

  • Cool wäre es, wenn man den irgendwie für das Merlin EPG Center benützen könnte. Habe bis jetzt die 1.4 im Einsatz. Wielviel CPU der derzeit in der Kanalliste, Einzel- MultiEPG, Movielist frißt weiß ich nicht, weil ich nicht weiß wie man das Messen über Telnet auslöst.

  • Getestet habe ich, ja, und die CPU wird in der Tat sehr sehr belastet mit alphatest...
    Ich hab gestern noch was angefangen umzuschreiben, da kann ich eventuell später dir mal was zum testen geben, aber massiv an cpu kann ich nicht einsparen, deine Annahme, "transparent=1 und alles wird gut" geht ja nicht, da dann intern ja natürlich alles auf alphatest geschalten ist...
    Allerdings komme ich heute erst spät heim, ich denke das wird frühestens morgen was für dich, falls ich später noch dazu komme und Lust habe, weiter zu machen :)

  • ok danke ,erstmal für deine Antwort und arbeit an dem teil ,ich habe jetzt fast 2 Jahre mit dem teil so gelebt im skin da kommt es auf einen oder mehr tage auch nicht an:) ,ich richte mich da voll nach dir ,wenn du lust hast ,ich schau hier im Board immer vorbei und teste dann auch gern.


    was mich interesiert und du sicherlich im code siehst ,kann man das teil irgendwie dazu bringen auch im s/w oled der 8000 ,800 und 7020hd nutzen zu können. da könnte ich auf einen streich meine 3 lcd extra roller aus dem skin raushauen.
    und das das gesamte widget auch wieder in einer zeile seitlich laufen könnte

  • :think: Wie kann man ein skin bzw. RunninText.py einrichten so das der text nur dann scrollt wenn die text-menge grösser als das fenster ist ?

    Duo2 /4xS2 /SSD160 /Flash: OpenPLi /MeoBoot-Images: VTi, PLi4, ViX, ATV...
    dm7080ssss /BA on SD/USB
    NAS: Qnap221 SSD1TB

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von pasurimi ()

  • geht mit dem render im OE1.6 vertikal und horizontal ,im OE2.0 leider nur richtig vertikal :(
    der eintrag für vertikal ist zb so : (da gibt es aber noch mehrere)

    Code
    1. options="movetype=running,startpoint=0,direction=top,steptime=90,repeat=2,startdelay=16000,wrap"


    horizontal beispiel für OE1.6 in einer zeile ,einmal nach links und dann wieder zurück


    Code
    1. options="movetype=swimming,direction=left,step=1,steptime=10,startdelay=300,noWrap"


    im render haste sehr viele möglichkeiten verbaut und es ist alles skinbar ,geschwindigkeit ,pause ,von wo nach wo, wo es anfangen soll zu scrollen und und ...
    was alles im skin einsetzbar ist siehst im render