meine vor einiger zeit ein posting gelesen zu haben, in dem beschrieben wurde, wie man in einem plugin ein anderes skin layout laden kann, ohne e2 rebooten und das plugin neu starten zu muessen.
leider finde ich das posting nicht mehr.
sinngemaess hiess es, man muesse das module innerhalb des plugins, das das skin xml file laedt mit bla.reload() neu laden.
kann das jemand bestaetigen?
laden eines anderen skin xmls in einem plugin ohne neustart von e2
-
-
Du kannst Skin doch jederzeit ändern solange du es nicht direkt im Python Source liegen hast sondern in .xml, das Plugin musst aber schon neu aufrufen bzw. den Screen neu öffnen.
-
du meinst, es wuerde reichen, wenn ich mit self.close() die session verlasse und mit self.session.open() neu aufrufe? (skin liegt in einer xml file)
-
Ja sicher, das MediaPortal oder EMC machen das doch auch nicht anders. Die Skins werden bei jedem Aufruf eines Screens neu eingelesen.
-
ok, dann ist es einfacher als ich dachte...
-
Ich hatte in einem anderen Board mal in einem Wunschplugin-Thread gefragt, ob jemand so nett wäre, ein Plugin zu schreiben das genau dies tut.
Obwohl die DM9X0 Boxen ja sehr schnell enigma neu starten, finde ich es toll wenn ich an einem MP-Screen in meinem Skin bastele und Änderungen überprüfen kann, indem ich MP einfach nur neu aufrufe.
Das Plugin bräuchte bei Aufruf einfach nur einen Screen aus einer Datei (die man konfigurieren könnte oder auch einfach nur fest Test.xml in /tmp besipielweise) anzeigen.
Leider wurde mir gesagt, das wäre eine dumme Idee denn nach einer Weile würde die Box wegen Speichermangels crashen (dann würde die Box eben neustarten, aber die dutzende Neustarts die davor nicht nötig waren scheinen nicht zu zählen ).
-
das ist imho nicht das gleiche.
zu einer screen definition in xml brauchst du auch python code, der fuer jeden screen anders sein kann und in den meisten faellen auch ist.
von daher laesst sich eine spezifische xml file nicht mit einem universalplugin testen.
in meinem fall ist der python code auf alle xmls, die ich dynamisch laden will, vorbereitet. -
Mir würde schon genügen, wenn alle Widgets entsprechend ihrer Grösse und Position innerhalb des Screens einfach als Rechteck angezeigt würden.
Wäre dies möglich?
-
das ist sicher moeglich und eine reine fleissaufgabe
kann man vielleicht besser auf dem pc machen und wuerde sich dann skin-editor nennen. gibts sowas nicht schon? -
Gab's mal, aber da es, soweit ich informiert bin, seit Jahren keine Updates mehr gibt sind diese nicht mehr kompatibel.
-
ok, dann ist es einfacher als ich dachte...
also das funktioniert prima. ich habe den layoutwechsel auf eine taste gelegt und kann nun layout mit/ohne mini-tv, cover, etc. mit einem knopfdruck wechseln. man koennte sich sogar vorstellen, dass man den wechsel vollkommen dynamisch fuer jeden film macht, abhaengig z.b. ob ein cover vorhanden ist oder nicht.
was mich auch ueberrascht hat ist, dass man von dem kompletten neu laden der movieliste im hintergrund nichts merkt.
denke, das ginge auch mit dem templated skin gedoens, aber das verstehe ich (noch) nicht.