[ANNOUNCE] GraphTFT 0.0.10

  • Hi,


    da ich das dieses Plugin gern einsetze jedoch die Entwicklung in der letzen Zeit etwas stagniert ist habe ich es mir am WE einmal näher angesehen und dabei auch etwas eweitert.
    Vorab, ich möchte hier niemand die Arbeit wegnehmen ;) und habe die Änderungen vorrangig für den eigenen Gebrauch gemacht. Von Kenny hat man einige Zeit nichts gehört, ich hoffe es geht ihm gut!?
    Als Basis habe ich GraphTFT 0.0.9r2 von hier [ANNOUNCE] GraphTFT 0.0.9r2 ImageCover Skalieren verwendet.


    Folgendes ist hinzugekommen bzw. hat sich geändert:

    Mit diesen Änderungen lässt sich das Theme nun so einstellen, dass u.a. die Anzeige auf dem TFT auch mit dem epgsearch Plugin 'gut' aussieht.


    unter www.jwendel.de/vdr sind folgende Dateien zu finden:
    vdr-graphtft-0.0.10.tar.bz2
    DeepBlue.tar.bz2 (Beispiel-Theme aufbauend auf DeepBlue)


    Installation:
    eigentlich wie immer, nur das vorher der VDR gepatched werden muß:

    Code
    cd /usr/src/VDR
    cat PLUGINS/src/graphtft/patch/vdr-1.4.3-menu-column.diff | patch
    make clean-plugins
    make clean
    make
    make plugins


    Nun noch den vdr und alle Plugins installieren, ggf. die Beispieltheme im entsprechenden Order ablegen, fertig.
    Wer das epgsearch Plugin verwendet muß vor make plugins auch noch dieses patchen (epgsearch-0.9.18.diff).


    Ein paar Hinweise zu den Erweiterungen welche beim Theme erstellen zur Verfügung stehen habe ich in documents/HOWTO.Themes hinzugefügt.


    Grüße Horchi

  • Nabend,


    also ich finde nicht dass du jemanden die Arbeit klaust sondern sie nur fortführst ist ja alles Opensource :) und ich finds super !



    ich hänge mich morgen mal dran .. z.Z. läuft mehr GraphLCD am PSone TFT ..



    Ich würde es sehr begrüßen wenn das gute graphTFT PlugIn neuenn Glanz !


    wie Einsatz des RadioPlugIns,WeatherNG PlugIn usw. !



    I30R6










    VDR











    Hardware : GA-EP35-DS3L, C2Q Q6700 , 3GB DDR2 , Palit GT240, 250GB System & 500GB Video,
    Mystique-CaBix C2,TT Budget C-1501,Airstar 2, Fernbedienung X10
    Software : gen2vdr, Kernel 3.8.10, vdr 2.0.1
    PlugIns : audiorecorder,femon,admin,yacoto..
    Ausgabe: softhddevice

  • Ich habe da heute auch mal einen Blick reingeworfen, zwar aus anderen Gründen, aber egal. Die begrenzte Flexibilität mit den Sections fiel mir auch auf.


    Könnte man das nicht lösen, in dem man die Sections im Theme einfach als Strings definiert, so dass das Plugin alle Sections einliest die drinstehen und jedes Plugin dann auswählen kann, welches Skin angezeigt werden soll?


    Lars

  • Hi Lars,


    sollte gehen, wenigstens solange es um Spaltenorientierte Menüs geht (von cOsdMenu abgeleitet), bei welchen man die einzelnen Spalten (bislang) mit einem Tabulatorzeichen getrennt sind, das läßt sich weitestgehend ohne Kenntnis des Inhaltes zerlegen und aufbereiten. Für andere Darstellungen ist es vermutlich nicht so generisch möglich.
    Auch müsste man aus diesen Strings intern einen Art hash bilden, da das Plugin doch recht häufig durch die ganzen Theme Items iteriert (dies will ich mir aus Performance Sicht eh noch ansehen).
    Aktuell habe ich die Menüklassen (mit dem Patch) um einen enum und die Methode "virtual eOsdMenuKind MenuKind() { return omUnknown; }" erweitert und erkenne so das jeweilige Menü. Diese könnte natürlich auch einen String bzw. const char* zurückgeben.


    Horchi

  • Hallo horchi,


    erstmal danke für die neue Version des GraphTFT.


    Habs gerade auf meinem System ohne Probleme kompiliert und läuft super mit deinem Skin und mit den ganzen älteren Versionen der Skins/Themes.


    Eine Bitte hätte ich noch, kannst du ganz kurz erklären, wie man einen älteren Skin/Theme an die neue Funktion anpasst.


    Danke schon mal im Voraus


    Wolfgang

  • Hi Wolfgang,


    helfen die Hinweise in documents/HOWTO.Themes und die Beispiele im DeepBlue Theme schon weiter?


    Im Prinzip musst du MenuSelected Einträge gegen mehrere ColumnSelected und Menu gegen mehrere Column ersetzen.


    Beispiel, aus:

    Code
    Item=MenuSelected,stat_pic=1,stat_x=1,stat_y=1,transperents=255,font=Vera,size=22,red=255,blue=255,green=255,path=menu/focus-small.png;
    Item=Menu,x=0,y=80,width=700,height=425,transperents=255,font=Vera,size=22,red=255,green=255,blue=255;


    kann (für MenuSchedule) z.B:


    werden


    Die Spalten werden in der Reihenfolge in welcher sie konfiguriert werden angezeigt, die alte Schrulle, dass der Selected Eintrag immer vor dem nicht selektierten definiert werden muß besteht weiterhin.


    Grüße Horchi

  • Frage an die User und die Skin Autoren, macht es Sinn den Rechtschreibfehler transperents im Skin Parser auszubügeln oder sollte er aus Gründen der Kompatibilität lieber erhalten bleiben (wer will schon alle Skins überarbeiten ;) )? Ich kann es auch so coden, dass beide Schreibweisen unterstützt werden.


    Grüße Horchi

  • Nabend,


    leider klappt das kompilieren des PlugIns nicht :


    Code
    #g++ -O3 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -DHAVE_IMLIB -I../../../include -I../../../../DVB/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I/src -I/ffmpeg -o graphtft.o graphtft.c
    In file included from graphtft.c:15:
    display.h:209: error: `eOsdMenuKind' was not declared in this scope
    display.h:209: error: syntax error before `)' token


    Code
    gcc version 3.3.5 20050117 (prerelease) (SUSE Linux)


    Code
    ffmpeg -v
    FFmpeg version SVN-r6600, Copyright (c) 2000-2006 Fabrice Bellard, et al.
      configuration:  --prefix=/usr/local --enable-mp3lame --enable-shared
      libavutil version: 49.0.1
      libavcodec version: 51.16.0
      libavformat version: 50.5.0
      built on Oct 12 2006 14:05:08, gcc: 3.3.5 20050117 (prerelease) (SUSE Linux)



    I30R6










    VDR











    Hardware : GA-EP35-DS3L, C2Q Q6700 , 3GB DDR2 , Palit GT240, 250GB System & 500GB Video,
    Mystique-CaBix C2,TT Budget C-1501,Airstar 2, Fernbedienung X10
    Software : gen2vdr, Kernel 3.8.10, vdr 2.0.1
    PlugIns : audiorecorder,femon,admin,yacoto..
    Ausgabe: softhddevice

  • Hi,


    [quote]Original von I30R6
    Nabend,


    leider klappt das kompilieren des PlugIns nicht :


    Code
    #g++ -O3 -Wall -Woverloaded-virtual -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"graphtft"' -DHAVE_IMLIB -I../../../include -I../../../../DVB/include -I. -I./imlibrenderer -I./imlibrenderer/fbrenderer -I./imlibrenderer/dvbrenderer -I./dfbrenderer -I/src -I/ffmpeg -o graphtft.o graphtft.c
    In file included from graphtft.c:15:
    display.h:209: error: `eOsdMenuKind' was not declared in this scope
    display.h:209: error: syntax error before `)' token


    hast du an den Patch gedacht ;) ?


    Grüße Horchi

  • hi, ich benutze x-vdr von zulu. da gibts einiges an patches für die 0.0.8


    kann ich die alle weglassen und nur deinen neuen verwenden?


    die patches heissen u.a.:
    display.c.diff
    display.h.diff
    graphtft.c.diff


    sind noch ein paar mehr :schiel

    <font color="#0000ff">Gigabyte P35-DS3, Pentium E2140, GT220, 2 x DVB-C im Thermaltake DH101<br>gen2vdr V3 &amp; yaVDR 0.3.0a <br></font>

  • hi,
    bei mir kompiliert das plugin zwar, aber wenn ich vdr starte bekomme ich folgende Fehlermeldung.
    vdr conf.d # /usr/local/src/VDR/vdr -c /etc/vdr -L /usr/local/src/VDR/PLUGINS/lib -v /video0 -P"graphtft -d vdr/0"
    vdr: graphtft - arg: vdr/0
    vdr: graphtft - themeversion dosen't match
    vdr: graphtft - themeversion dosen't match
    vdr: graphtft - themeversion dosen't match
    [mpeg1video @ 0xb79b42c4]only YUV420 is supported
    Speicherzugriffsfehler


    habe 2 ff karten und habe mein psone an eine der beiden angeschlossen.


    FFmpeg version CVS, Copyright (c) 2000-2004 Fabrice Bellard
    configuration: --prefix=/usr --mandir=/usr/share/man --disable-static --enable-shared --cc=i686-pc-linux-gnu-gcc --disable-mmx --disable-altivec --disable-debug --disable-dv1394 --disable-opts --enable-mp3lame --enable-a52 --enable-pthreads --enable-xvid --enable-libogg --enable-vorbis --enable-theora --enable-dts --enable-faad --enable-faac --enable-gpl --enable-pp --disable-strip
    libavutil version: 49.0.0
    libavcodec version: 51.9.0
    libavformat version: 50.4.0
    built on Oct 18 2006 19:32:20, gcc: 3.4.6 (Gentoo 3.4.6-r2, ssp-3.4.6-1.0, pie-8.7.9)


  • Hi,


    mein Patch ist nicht für das Plugin, sondern für den vdr.
    Das Plugin betreffende Patches habe ich keine verwendet, was in der 0.0.9r2 bereits enthalten war ist nun auch drin.
    Mein Vorschlag wäre, es so zu verwenden wie es ist um festzustellen ob was fehlt oder nicht funktioniert. Dann kann ich das fehlende Patch direkt ins Plugin aufnehmen.


    Horchi

  • Hi mig,


    Zitat

    vdr: graphtft - themeversion dosen't match


    Welche Version steht oben in der Theme Datei, dort sollte 0.1.0 stehen, Beispiel:

    Code
    [Theme]
    Item=Theme,name=DeepBlue,dir=DeepBlue,version=0.1.0,startImage=backgrounds/start.jpg,endImage=backgrounds/end.jpg;


    Zitat

    Speicherzugriffsfehler


    hast du alle Plugins neu übersetzt (make clean-plugins und make plugins) und auch alle Plugins anschließend aus .../VDR/PLUGINS/lib/* in das Installationsverzeichnis kopiert? Auch der neue vdr (.../VDR/vdr) muß in das Installationsverzeichnis kopiert werden!


    Horchi

  • Hi horchi,


    starte vdr nur mit dem graphtft plugin und theme habe ich jetzt nur das DeepBlue von dir genommen, aber gleiche Fehlermeldung.


    /usr/local/src/VDR/vdr -c /etc/vdr -L /usr/local/src/VDR/PLUGINS/lib -v /video0 -P"graphtft -d vdr/0"
    vdr: graphtft - arg: vdr/0
    [mpeg1video @ 0xb7a082c4]only YUV420 is supported
    Speicherzugriffsfehler


    wenn ich als Ausgabegerät den framebuffer nehme, also -d /dev/fb0 funktioniert es auch, nur halt nicht wenn ich die FF Karte nehme.


    Habe das plugin jetzt mit ffmpeg-0.4.8 kompiliert, dann funktioniert als Ausgabe auch die FF Karte.


  • Hi,


    schön, dass es mit mit ffmpeg-0.4.8 läuft, hattest du es früher schon einmal mit der CVS Version am laufen?


    Ich verwende nur fb, daher ist mir das noch nicht aufgefallen, ich habe es nun umkonfiguriert und kann den Fehler hier nachvollziehen. Damit das Plugin mit einer neueren ffmpeg Version als 0.4.8 übersetzt werden kann musste ich ein Patch anwenden, dieses habe ich hier im Forum gefunden. Leider ist mir der Link zu dem Beitrag abhanden gekommen.


    Der Patch ändert nur den Berich mit dem #ifdef im folgenden Code:


    Möglicherweise genügt diese Änderung nicht!? Leider habe ich von den Codecs und der verwendeten Lib keine Ahnung, kann hier jemand weiterhelfen? Wäre schön, wenn man nicht mehr auf die alte ffmpeg Version angewiesen wäre :(


    Er cored beim avcodec_open(...)


    Grüße Horchi

  • Hi mig,


    ich habe noch etwas weiter gestöbert und mir ein paar Beispiele zu ffmpeg angesehen, dabei ist mir aufgefallen, das zum einen meist avcodec_alloc_context() verwendet wird und zum anderen das Pixel Format gesetzt werden muß.
    Daher habe ich die beiden Zeilen eingefügt:


    Code
    codec_context = avcodec_alloc_context();
       codec_context->pix_fmt = PIX_FMT_YUV420P;


    und siehe da, es stürzt nicht mehr ab :]!


    Ob es nun auch eine Ausgabe auf der FF Karte erzeugt kann ich hier leider nicht testen, daher möchte ich dich bitten dies zu übernehmen.
    Die neue Version ist hochgeladen (0.0.10a).


    Danke
    Horchi

Jetzt mitmachen!

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