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

[Enigma2-GUI-Plugin] Update: 31.01.2018 python-merlin4-covercollection für Plugin-Entwickler

  • Ich hab für Merlin4 drei neue GUI Ansichten geschrieben, welche Plugin-Entwickler aber auch, sofern sie denn wollen, in ihren Plugins einsetzen können.


    Anmerkung:
    Dazu müsst ihr dann mit Euren Plugins einfach das python-merlin4-covercollection mit verteilen. Es ist nicht erlaubt von mir, die Dateien aus dem Paket zu nehmen und in ein anderes Paket zu stecken (beispielsweise direkt in Euer Plugin-Paket). Das ist nicht um Euch zu ärgern, sondern es geht darum, dass es keine Konflikte bei der Installation von Plugins geben soll, oder dass Versionen wild gemixt werden etc. etc.
    Ansonsten könnt ihr die Lib auf einer Dm7080HD einsetzen, wie ihr wollt.



    Was kann diese Lib? Mit der GUI-Lib hat man 3 neue Einsatzmöglichkeiten: Posterwall, Coverflow 2D und dann eine simple Bild-Darstellung, welche beim Bild-Wechseln ein Blending auf das nächste Bild setzt. All das kann im Screen gesetzt werden.


    Die GUI-Klasse CoverCollection benötigt dafür im Python Code 2 Listen, welche ihr mit setList() übergeben könnt:
    1) Eure Datenliste, welche eine Tuple-Liste sein muss
    2) Eure Bilderliste, welche eine ganz normale Liste mit den Bilder-Filenamen enthält. Beides übergebt ihr mit setList() an das GUI-Control.


    Im Skin (oder auch im Code) könnt ihr angeben, was für ein Style ihr anzeigen lassen wollt.
    --> style: 0 --> Posterwall
    --> style: 1 --> Coverflow 2D


    Die restlichen Eigenschaften könnt Ihr Euch in der Datei CoverCollection.py in Components anschauen, bei Fragen einfach Fragen. ;)



    Beispiel für den Einsatz:


    Im Skin:


    Code
    1. <widget name="covercollection" position="0,0" size="1280,480" transparent="1" zPosition="10" backgroundColor="#55000000" coverSize="120,177" selectedCoverScale="1.5" unselectedCoverDimm="0.4" coverBeginPosition="175,155" coverDistance="13,13" style="0" noCoverAvailablePic="/usr/lib/enigma2/python/Plugins/Extensions/VideoDB/icons/no_poster.jpg" />


    Im Python Code:




    Weitere Beispiele gibt es in der Datei MoviesTVShowsScreen.py oder TVDb.py im 7080-Paket der VideoDB.


    Wenn was nicht klar ist einfach hier nachfragen.


    Viel Spass beim Werkeln, wers denn gebrauchen kann.
    Dr. Best



    Update 31.01.18:

    - neu kompiliert für DreamOS 4.3.1r24 und neuer, arm und mipsel Version


    Update 12.02.15:
    -- setmode change on the fly fix (this fixes the bug reported from einfall @ )
    -- some improvements for internal coverlist
    -- nicer picture fading for VideoDBPictureBox
    -- new method: setCoverFilename(index, filename) : for updating a picture in the list (example: self['covercollection'].updateIndexRowData(3,row,"/etc/enigma2/videodb_images/cover_74_5Iv7N1PtHwi1WPb5BuiV3yYRImV.jpg"), you can use this easily with twisted web - picture downloading)

    Update 28.10.14:

    -- clipping fix
    -- do not crash when class is destroyed and ePictureLoad is still running
    -- fix for transparent pictures
    -- new methods: NextPage and PreviousPage

  • so.. ich konnte jetzt schon etwas rumspielen :-)


    unsere icon's im mediaportal sind 150x80 (8 icons in 5 reihen).
    leider werden die icons immer abgeschnitten :-(


    <widget name="covercollection" position="0,210" size="1240,420" transparent="1" zPosition="10" backgroundColor="#55000000" coverSize="150,80" selectedCoverScale="1.3" unselectedCoverDimm="0.8" coverBeginPosition="0,0" coverDistance="5,5" style="0" noCoverAvailablePic="/usr/lib/enigma2/python/Plugins/Extensions/MediaPortal/icons_wall/no_icon.png" />


    8 icon's x 150 (icon breite) = 1200 + (7x5) (coverDistance) = 1240
    5 icon's x 80 (icon höhe) = 400 + (4x5) (coverDistance) = 420


    natürlich habe ich die size="1240,420" auch schon verändert, es werden aber imm die icons abgeschnitten :-(


    wall.jpg

  • Dr.Best
    Noch ein kleines Problemchen gefunden wenn man während des Ladens der Icons das Plugin verlässt dann crashed E2 :-)


    Und das Transparenzproblem was du oben auf dem Screenshot von einfall sehen kannst, die Transparenten Ecken unserer Icons die sind nicht ok. Entweder schaut das TV-Bild durch wie bei dem Screenshot oder wenn der BG nicht durchlässig ist dann bleiben die Ecken als schwarze Ecken stehen.

  • Das mit dem Crashen hab ich auch schon bemerkt, das fixe ich noch.
    Transparente Ecken sind nicht so gut, da ich immer für die Bilder einen Hintergrund male, was sein muss, wenn man die nicht selektierten dimmt.
    Ich kann mal schauen, wie man das schöner machen könnte, dafür solltest Du mir hier mal die Icons, welche ihr verwendet, hochladen (oder mir als email schicken).

  • Update 28.10.14:
    -- clipping fix
    -- do not crash when class is destroyed and ePictureLoad is still running
    -- fix for transparent pictures
    -- new methods: NextPage and PreviousPage


    Paket hab ich im ersten Thread hier ausgetauscht.

  • Hi
    Ich wünsche Dir einen Entspannten Aufenthalt wo auch immer.
    Ich mußte leider Gestern meinen Aufenthalt in New York vor Weihnachten stornieren

    mfg
    mike

    Onkyo AV TX-NR626
    Samsung 65" JS9590 SUHD
    NAS -->QNAP TVS-EC1080 --> 10x Western Digital WD40EFRX 4 TB --> ALLES

  • erst mal Danke für deine Mühe, schaut echt gut aus .


    Frage zum Plugin: wenn ich per thread job mehrere Bilder aus dem Web runterlade (ca.20-100) habe ich die Option:
    1. erst nach dem letzten Bild mit setList alles anzuzeigen
    2. nach bestimmten Anzahl mit setList den Downloadstand zu refreshen


    nun mein Problem
    bei Option1: wenn ein oder mehrer Bilder in den Timeout laufen, dauert die Anzeige ewig..
    bei Option2: bei zu häufigen Refresh flackert der Screen etwas, da ja alles refresh wird


    gibt es eine optimierte refresh option oder auch gleich einen Mode um direkt http Images darzustellen?

  • Hallo Dr Best.


    Ich habe dein covercollection in einen Pictureplayer eingebaut. Funktioniert auch top. Nur bei Bildern im Hochformat skaliert mir die covercollection auf den kompletten Screen. Siehe Screenshots. Ich nutze die Class "VideoDBPictureBox".


    Ich habe schon mit scale='0' oder '1' im Skin getestet, aber das kracht.:kater2:


    Wäre cool wenn du das anpassen kannst oder einen anderen Tip hast damit es funktioniert.


    Frohe Weihnschten...:santa:

  • Das Control ist nicht dafür gedacht, dass der Aspect Ratio des Bildes eingehalten wird :)
    Also ich weiß was du machen willst, aber dafür würde ich doch eher ein extra GUI-Control schreiben...ich überlege mir mal was die Tage.