Skin FlatPlus

  • Da die Wetter API von forecast.io zum Jahresende (2021) eingestellt wird und aktuell auch keine neuen Accounts gemacht werden können, habe ich versucht das ganze mit OpenWeatherMap zu realisieren.


    Ich habe ein Fork vom Skin erstellt: https://github.com/MegaV0lt/vdr-plugin-skinflatplus

    Neu sind unter anderem:

    • Anzeige von freiem/belegten Platz in TB ab 999 GB
    • Chartsymbole (Platte) mit Warn-Symbol
    • update_weather.sh Skript zum holen und aufbereiten der Wetterdaten von openweathermap.org
      Einstellungen (API-Key usw.) werden in der update_weather.conf gemacht.
    • Alle PNG.Dateien mit optipng behandelt
    • Neues Thema 'Teal'
    • Erstellung mit GraphicsMagick. Wahlweise mit ImageMagick 6


    Plugin hat gebaut und läuft so weit (siehe Anhang)

    bei den Meldungen beim Bauen blick ich nicht durch. Ich hoffe das macht keine Probleme:

  • Hi, danke.

    Eine Frage: läßt sich das auch für Skindesigner adaptieren?

  • Das sollte funktionieren. Das Skript lädt eine *.json-Datei, die alle Werte enthält und liest die benötigten Daten mit jq aus und schreibt sei auf Platte (/tmp). Das Skin liest die Daten von dort dann einfach ein...


    Wie das bei SkinDesigner realisiert ist weiß ich nicht

  • Hi,

    ich versuche gerade skinflatplus mit ImageMagick7 zu bauen. Scheint, als hätte sich die API geändert und skinflatplus das (noch) nicht kann.

    Gibt es bereits einen Patch dafür oder muss ich mich selbst daran versuchen?


    Gruß

    Andreas

  • Nein. Das Skinflatplus läuft nur ImageMagick 6. Man kann aber auf Graphicsmagick umstellen. Im make.plgcfg / Makefile kann man das einstellen:

    Code
    # External image lib to use: imagemagick, graphicsmagick
    #IMAGELIB = imagemagick
    IMAGELIB = graphicsmagick
  • Mag ich nicht machen. Ich habs jetzt für V7 gepatcht. Kompiliert und läuft, allerdings werden die Images noch nicht richtig angezeigt.

  • Wenn alles klappt, wäre es schön. wenn Du mir den Patch zukommen lassen könntest. Dann baue ich den gerne ein. Ich bekomme so was leider nicht hin

  • https://pastebin.com/raw/kKFHaspn


    Funktioniert hier mit ImageMagick >= 7

    Allerdings gehören noch ein paar #ifdef hinein, da der Code mit <7 nicht mehr bauen wird. Vielleicht mach ich das noch, skinelchihd macht das ähnlich.


    Gruß

    Andreas

  • Super. Das mit den ifndef's wäre noch schön.

    Geht denn das Plugin auch noch mit GraphicsMagick?

  • Das einfachste wäre, den neuen Code per ifdef einzubinden und entsprechend abzufragen, was Sache ist.

    Sowas hat skinelchihd:

    Code
    #ifndef GRAPHICSMAGICK
    #if MagickLibVersion < 0x700
    #error ImageMagick Version 7.0 or higher is required
    #endif
    #endif

    Ich kann das später noch hinzufügen, aber leider nicht testen :p

  • Ich schau mal, ob ich das hin bekomme ;)

  • Hier mal der Patch. Mit GraphicsMagick im Make.plgcfg baut es bei mir. ImageMagick habe ich aber nur Version 6 und kann das nicht testen


    https://www.dropbox.com/s/sm8f…atplus_imagick7.diff?dl=0

  • Ich würde die ImageMagick Versionen unter 7 nicht ausschließen, die gehen doch mit dem alten Code, oder?

  • Stimmt. Muss eigentlich nut das Define oder die ifdef angepasst werden.

    Weiß nur nicht wie das am besten geht... Wenn IM6 dann das Define Graphicsmafgick nehem...

  • Wenn es möglich ist, bitte noch ImageMagick 6 abdecken weil die 7er Version noch nicht in LTS Ubuntu 20.04 Focal angekommen ist :( Ich hab hier zwar ImageMagick 7 am laufen aber alle anderen die das nicht selbst kompilieren werden dann ausgeschlossen ;)


    Viele Grüße

  • Was man hier eindrucksvoll sieht ist, warum man ImageMagick möglichst nicht als Library nutzen sollte. Die Konsolen-Tools sind ganz OK aber es ist schon nervig das die es nicht hinbekommen eine stabile API zu halten. Genau dafür wurde dann letztlich GraphicsMagick geschaffen. Wenn ich ein Programm entwickeln würde das eine der Grafik-Libraries nutzt, dann würde ich GraphicsMagick forcieren. Das Ding ist klein und man kann den Nutzern durchaus zumuten die kleine Abhängigkeit zu installieren.


    MegaV0lt letztlich musst du den Block, mit dem du jetzt alles kleiner ImageMagick 7 ausschließt, in leicht angepasster Form um die neuen Code-Bestandteile packen um diese für ImageMagick 6 eben nicht wirken zu lassen.


    Mach mal aus allen


    #ifndef GRAPHICSMAGICK


    in deinem Patch ein


    #if !defined(GRAPHICSMAGICK) && MagickLibVersion >= 0x700 



    Und haue dann den Block mit dem #error ganz raus.

  • Vielen Dank. Ich schau mir das morgen früh mal an...


    Wenn alles klappt geht das Plugin dann mit IM6, IM7, und GraphicsMagick

  • Ich habe das jetzt so gelöst:

    Code
    #ifdef IMAGEMAGICK
    #if MagickLibVersion >= 0x700
    #define IMAGEMAGICK7
    #info ImageMagick Version 7.0 + is used
    #endif
    #endif

    Im GIT habe ich jetzt auch gleich eine neue Version draus gemacht. Diese unterstützt nun Graphicmagick (default) und Imagemagick 6 und 7

    https://github.com/MegaV0lt/vd…atplus/releases/tag/0.6.1

Jetzt mitmachen!

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