[FINALE TESTPHASE] Text2Skin 1.0-rc1

  • Hi!


    Ok, "ReplaySmall" funktioniert. Jetzt weiß ich endlich wozu der VDR-Menüeintrag "Wiedergabestatus anzeigen" gut ist. ;D


    Frage: Kann ich so eine Wurst irgendwie umbrechen, dass es akzeptiert wird?

    Code
    condition="not(or(equal({MenuCurrent:clean},trans('Recordings')),equal({MenuCurrent:clean},trans('Schedule'))))"


    Da es leider keine conditin "else" gibt wird das relativ lang und unübersichtlich wenn es in einer Zeile stehen muss.


    EDIT: Man kann ja die Dauer der laufenden Sendung sowie die verstrichene Zeit bzw. verbleibende Zeit derselben ausgeben. Gibt es auch ein Format das das ganze in Minuten ausgibt (also 90' anstelle von 1:30)? Habe irgendwie kein Format dafür gefunden.


    Gruß,
    Brougs78


    P.S.: Bin übrigens auf CVS umgestiegen und "marquee" gefällt mir sehr gut. Ginge das ev. auch, dass das im Menü (im "list"-Objekt) funktioniert?


    EDIT 2: Kann es sein dass "marquee" nur links-aligned funktioniert?

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

    3 Mal editiert, zuletzt von Brougs78 ()

  • Zitat

    Original von Brougs78
    Frage: Kann ich so eine Wurst irgendwie umbrechen, dass es akzeptiert wird?

    Code
    condition="not(or(equal({MenuCurrent:clean},trans('Recordings')),equal({MenuCurrent:clean},trans('Schedule'))))"


    Da es leider keine conditin "else" gibt wird das relativ lang und unübersichtlich wenn es in einer Zeile stehen muss.


    Nicht wirklich, obwohl ich garnicht weiss wie er auf Zeilenumbrüche innerhalb eines Attributs reagiert. Was meinst Du denn mit "else"-Condition das hab ich nicht so ganz verstanden.


    Zitat


    EDIT: Man kann ja die Dauer der laufenden Sendung sowie die verstrichene Zeit bzw. verbleibende Zeit derselben ausgeben. Gibt es auch ein Format das das ganze in Minuten ausgibt (also 90' anstelle von 1:30)? Habe irgendwie kein Format dafür gefunden.


    Also für PresentProgress, -Duration und -Remaining gibt es wie auch für ReplayPositionIndex, -DurationIndex und -Remaining (ohne "Index") folgende Formatierungs-Buchstaben (das ist nicht strftime), Du suchst denke ich %m:

    • %H - Stunden zweistellig (glaube kaum dass eine Aufnahme oder Sendung länger als 99 Stunden läuft)
    • %k - Stunden ein- oder zweistellig (Einstellige mit Blank davor)
    • %M - Minuten zweistellig
    • %m - Minuten gesamt, beliebig viele Stellen
    • %S - Sekunden zweistellig
    • %f - Frames, ein- oder zweistellig


    Zitat


    P.S.: Bin übrigens auf CVS umgestiegen und "marquee" gefällt mir sehr gut. Ginge das ev. auch, dass das im Menü (im "list"-Objekt) funktioniert?


    Hmpf... Ja mach ich noch :)

  • Hi!


    Zitat

    Original von LordJaxom
    Nicht wirklich, obwohl ich garnicht weiss wie er auf Zeilenumbrüche innerhalb eines Attributs reagiert. Was meinst Du denn mit "else"-Condition das hab ich nicht so ganz verstanden.


    Also einfach einen Zeilenumbruch machen scheint nicht zu funkionieren.
    Das mit "else" meine ich so: Wenn ich die Menüitems vergleiche um ein ensprechendes Logo zu laden dann sieht das ja z.B. so aus:

    Code
    <image condition="equal({MenuCurrent:clean},trans('Schedule'))" x="-85" y="5" bgColor="LogoBG" path="symbols/epg.png"/>


    Das ganze kann man dann ja für beliebig viele Elemente machen um ein "schönes" Menü zu bauen. Wenn ich jetzt aber ein Logo einbauen will, wenn das alles nicht zutrifft, dann muss ich im Prinzip nochmal alles abfragen als "not(or(...., ...., ....))" und da wären dann die Zeilenumbrüche praktisch gewesen. Ein else oder elseif wäre da natürlich immer praktisch, aber das lässt sich so glaube ich nicht vernünftig einbauen. Ist aber kein Beinbruch ... muss ich eben ne lange Wurst zusammenkopieren. ;D


    Zitat

    Original von LordJaxom
    Also für PresentProgress, -Duration und -Remaining gibt es wie auch für ReplayPositionIndex, -DurationIndex und -Remaining (ohne "Index") folgende Formatierungs-Buchstaben (das ist nicht strftime), Du suchst denke ich %m:

    • %H - Stunden zweistellig (glaube kaum dass eine Aufnahme oder Sendung länger als 99 Stunden läuft)
    • %k - Stunden ein- oder zweistellig (Einstellige mit Blank davor)
    • %M - Minuten zweistellig
    • %m - Minuten gesamt, beliebig viele Stellen
    • %S - Sekunden zweistellig
    • %f - Frames, ein- oder zweistellig


    Wunderbar, das ist genau was ich suche. Danke.


    Zitat

    Original von LordJaxom
    Hmpf... Ja mach ich noch :)


    Also ich muss mich mal an der Stelle für dein Engagement bedanken. Du hast dir ja mit Streamdev und Text2Skin die "wahnsinnigsten" Projekte als Plugin ausgesucht. Hochachtung wie du das hinbekommst. :]
    Damit hast du mich davor bewahrt dass ich so nen nativen Skin gemacht hätte. ;D


    Gruß,
    Brougs78


    P.S.: Jetzt warte ich dann eigentlich nur noch auf die nächste VDR-Version, damit ich den Skin auch verwenden kann. :D

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

    Einmal editiert, zuletzt von Brougs78 ()

  • Zitat

    Original von Brougs78
    Hi!


    Das ganze kann man dann ja für beliebig viele Elemente machen um ein "schönes" Menü zu bauen. Wenn ich jetzt aber ein Logo einbauen will, wenn das alles nicht zutrifft, dann muss ich im Prinzip nochmal alles abfragen als "not(or(...., ...., ....))" und da wären dann die Zeilenumbrüche praktisch gewesen.


    DeMorgan ist Dein Freund.... :D


    not(or(...., ...., .....)) = and(not(....), not(....), not(.....))


    Und dann halt die inneren Bedingungen gleich so invertieren ohne die not() Funktion....dann isses gliech viel übersichtlicher (syntaktisch, semantisch rafft man halt dann gar nix mehr.. ;) :D)

    This is a .44 Magnum, the most powerful handgun in the world. It can take your head clean off. You've got to ask yourself one question, Do I feel lucky?
    easyvdr 0.9a2 - TT-DVB-S2-6400 - ASUS AT3IONT-I deluxe - Atom 330 - 1,5TB WD EADS - Denon 1910 - Toshiba 42X3030D - Harmony 700

  • Hi!


    Danke für die Logik-lesson ;D, aber ich denke das bringt hier nicht so viel. Das ganze sieht grundstätzlich so aus:

    Code
    not(or(equal(Audruck),equal(Ausdruck),...))


    Den Ausdruck kann man auch leider nicht inveretieren, das heißt es wird mit:

    Code
    and(not(equal(Audruck)),not(equal(Ausdruck)),...))


    sogar noch länger.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

    Einmal editiert, zuletzt von Brougs78 ()

  • Hallo Lordjaxom,


    ich hab mir überlegt, wie ich in PresentDescription IsRunning darstellen kann und dabei ist mir augefallen, daß uns noch was fehlt ... :)


    Wie wäre es mit einem <blink></blink> als blinkende alternative zu <text>


    Ich weiß ...das hört sich erstmal schlimm an .... aber dezent eingesetzt kann man damit schon was anfangen.
    Ich will bei IsRunning z.B. einfach die Startzeit blinken lassen ...


    blinken kann ja z.B. auch heißen Farbe wechseln ...oder eben normal blinken ...



    steffx

  • Hi!


    Hätte wieder mal zwei Fragen:


    1.) Wäre es irgendwie möglich dass man die Laufweite einer Schrift beeinflusst? Wäre ganze praktisch, da durch die DVB-Auflösung die Schrift in die Breite gezogen wird.


    2.) Ist die Breite von "Space" von der Schrift vorgegeben? Kommt mir relativ Breit vor bei den TT-Fonts.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von Brougs78
    1.) Wäre es irgendwie möglich dass man die Laufweite einer Schrift beeinflusst? Wäre ganze praktisch, da durch die DVB-Auflösung die Schrift in die Breite gezogen wird.


    2.) Ist die Breite von "Space" von der Schrift vorgegeben? Kommt mir relativ Breit vor bei den TT-Fonts.


    1.) Muss ich mal Kenny anhauen :D der hat das Fonts-Geraffel erschaffen


    2.) ist durch die Breite des Leerzeichen im Font vorgegeben, dürfte sich aber mit 1. lösen lassen, oder?

  • Hi!


    Das mit der Fontbreite wäre schon ganz cool (in der Art 'font="tahoma.ttf:20:90"' für 90% Breite), aber ich denke das Hauptporblem sind doch die Leerzeichen.


    Also ich behaupte mal nicht, dass ich die ganze Routine kapiere, aber anscheinend wird das Leerzeichen nicht aus dem Font ausgelesen, denn in font.c steht:

    Code
    for ( int num_char = 33, num_char_array = 1; num_char < 256; num_char++, num_char_array++ )


    wobei aber "Space" Zeichen 32 ist, also eigentlich das funzen müsste:

    Code
    for ( int num_char = 32, num_char_array = 0; num_char < 256; num_char++, num_char_array++ )


    Allerdings ist dann das Leerzeichen extrem schmal, was auch nicht richtig ist ...


    Kenny! Hilfe! ... :D


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von steffx
    Wie wäre es mit einem <blink></blink> als blinkende alternative zu <text>


    Hab mal sowas eingebaut und eingecheckt. Tag <blink>, Attribute color (normal) und blinkColor (highlight) und delay (Pause zwischen Umschalten). Ansonsten wie <text>. Noch nicht getestet, bitte berichten :)

  • Brougs78
    Hi,


    wenn man die Leerzeichen aus dem Font nimmt, waren mir die immer zu schmal, desshalb habe ich vor der Schleife immer die Breite eines _ genommen, was für mich auch eigentlich immer gut passt.


    Irgendwelche vorschläge wie ihr es haben wollt, vielleicht ein anderes Zeichen anstelle von _ ?


    Was meinst Du mit 90% ? Wovon 90%? Stauchen oder strecken kann man die Fonts doch schon (weiß nicht ob der Lord das mit rein gepackt hat), indem man dann z.b. als Höhe 20 und Breite 10 nimmt, was dann ca. 50% macht.


    Grüße Kenny

    Hardware: Celeron 2,4 GHZ / Asus P4PE / 2xFujitsu-Siemens DVB-C / 1xHauppauge PVR 350 / Sony 5'' LCD
    Software: Vdr-1.3.19 / Debian Sarge mit 2.6.10pre3 love/ Plugins: analogtv-0.9.37, dvd-0.3.6_b02, epgsearch-0.0.7, femon-0.8.0, graphtft-0.1.0-pre1, joystick-0.0.3, osdpip-0.0.7.1, vcd-0.0.7, prefermenu-0.6.4, sysinfo-0.0.3, test2skin-cvs(31.01.05), vcd-0.7, yaepg-0.0.2

  • Hi Kenny!


    Weißt du woran das liegen könnte, dass das Leerzeichen so schmal ist? Verwenden auch andere Anwendungen (X11 usw.) ein anderes Zeichen für Space oder ist das ein Bug in ft2?


    Also ich werde mal testen, was für ein Zeichen in etwa passen könnte (zumindest für mich) und kann ja mal berichten. Ich denke "-" könnte ganz gut sein, da es in der Regel schmaler als "_" ist.


    Ja ich meinte die Schrift stauchen und zwar in der Breite. Also dass die Schrifthöhe wie angegeben verwendet wird, allerdings die Breite auf x Prozent (z.B. eben 90%) gestaucht (oder auch gestreckt) wird.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Hi!


    Wegen "-" anstelle von " ": Das gefällt mir eigentlich recht gut ... zumindest bei der Schrift (Tahoma) die ich ausprobiert habe.


    Wegen "marquee" im Menü: Also folgendes funzt bei mir leider nicht ... d.h. es bewegt sich nichts (getestet im Aufnahmemenü):

    Code
    <list x1="0" x2="-100" y1="38" y2="-65">
    	<item height="26"/>
    	<text x1="10" x2="-106" y1="0" y2="26" color="MenuTxtGrpFG" font="tahomabd.ttf:22">{MenuGroup}</text>
    	<text x1="10" x2="-106" y1="0" y2="26" color="MenuTxtFG" font="tahoma.ttf:22">{MenuItem}</text>
    	<rectangle condition="{MenuCurrent}" x1="5" x2="-100" y1="0" y2="26" color="MenuHighlight"/>
    	<marquee x1="10" x2="-106" y1="0" y2="26" color="MenuTxtCurFG" font="tahoma.ttf:22">{MenuCurrent}</marquee>
    	<marquee x1="11" x2="-105" y1="0" y2="26" color="MenuTxtCurFG" font="tahoma.ttf:22">{MenuCurrent}</marquee>
    </list>


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Brougs78:


    Gut, das mit MenuCurrent schaue ich mir nochmal an. Hab gerade eben den Blinker korrigiert und den Fontwunsch eingebaut:


    font="name.ttf:größe,breite" (geht auch ohne ",breite" weiterhin). Leider ist die Breite keine Laufweite in Prozent (ich vermute Höchstbreite in Pixeln), bitte probiere mal rum was damit passiert.


    Kenny:


    Wie genau beeinflusst die Breite die Fontgröße? Kann man das irgendwie in % der Standardbreite umrechnen? Also z.B. "name.ttf:20,100" identisch zu "name.ttf:20"..

  • Hi Lord!


    Also ich hab mir jetzt nicht angeschaut, was du geändert hast, aber falls du jetzt "nur" die Breite an die Routine von Kenny mitübergibst, dann denke ich nicht dass es funzt ... ein Test mit aktuellem text2skin hat auch nichts geändert (zumindest bei mir).


    Wenn ich die Doku zu ft2 richtig lese, dann gibt hierbei die Breite "nur" die Breite des "Kästchens" an, in die der Font gerendert wird ... sollte also das Verhältnis Schrifthöhe zu -breite nicht beeinflussen. Hatte nämlich auch schon testweise in die Routine von Kenny einfach als erstes ein "Width /= 3;" eingefügt, damit die Breite einfach mal auf ein Drittel reduziert wird ... hat aber nichts geändert.


    Kann allerdings alles Blödsinn sein was ich schreibe ;D .... hab nur kurz herumprobiert.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Brougs78:


    Ja, sorry, das war wirklich etwas blödsinnig :D (nicht übel nehmen bitte 8))
    Ohne Breitenangabe ist Width==0 (default) und damit Width/3 immernoch ==0 :]


    Ich probier derzeit selbst aber mal n bissl rum.


    EDIT: Habs jetzt mal probiert, "helmetr.ttf:20" sieht "normal" aus... Derselbe Text mit "helmetr.ttf:20,10" ist definitiv schmaler, aber genauso hoch. Sieht bei dem Font allerdings etwas "komisch" aus... Ich hoffe für Dein Font findest Du optimale Werte :)

  • Hallo alle miteinander,


    ich teste schon seit ein paar Tagen die aktuelle CVS-Version, leider bekomme ich sie nicht zum laufen. Wenn ich des EgalSimple Skin auswähle, kommt auch das neue Menü aber sobald ich die ChannelInfo anzeigen lasse stürzt der VDR ab, mit einem glibc error.


    Ich benutzt Gentoo im AMD64 Modus und vdr-1.3.17, der gcc ist Version 3.4 und glibc ist 2.3.4.20041102.


    Ich hoffe jemand kann mir helfen.


    ALT255

  • Hi!


    Warum sollte ich dir was übel nehmen :rolleyes:


    Zitat

    Original von LordJaxom
    EDIT: Habs jetzt mal probiert, "helmetr.ttf:20" sieht "normal" aus... Derselbe Text mit "helmetr.ttf:20,10" ist definitiv schmaler, aber genauso hoch. Sieht bei dem Font allerdings etwas "komisch" aus... Ich hoffe für Dein Font findest Du optimale Werte :)


    Hmmm, mach ich was falsch oder sind die Änderungen noch nicht im CVS?


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!