Bei Oe2.2 hab ich ihn zumindest nicht mehr gesehen (Unabhängig von EMC)
Enhanced Movie Center (EMC)
Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
-
-
Im EMC passiert es aber immer noch und zwar genau da wo man neue Verzeichnisse einliest und das passiert genau seitdem da daTa deVil irgendwelchen Voodoo mit dem Threading eingebaut hat. Und nach Aussage von DMM dürfte man das was er da tut gar nicht tun weshalb es auch eben crashed.
Es müsste halt mal jemand fixen und zwar richtig, so dass es überall funktioniert.
daTa deVil möchte nämlich eigentlich kein eigenes GIT sondern in deines committen. -
müsste entweder die stelle-->https://github.com/oe-alliance…r/src/MovieCenter.py#L500
oder stück tiefer der rest ab zeile 538 sein.
Ist aber von meiner seite her in wirklichkeit nur raten, da das problem hier nicht nachstellbar ist.
Den ersteren braucht man nicht wirklich. Ist eigentlich bloss für sehr sehr schwache boxen gedacht.
Müsste man wenn doch benötigt, anders wieder herstellen.Beim zweiten(zwecks refresh der werte in der liste), gebe es auch noch möglichkeiten das ganz anders zu gestalten.
Das muss man dann aber übergreifend(zum cache z.b.) umgestalten.
Aber wie gesagt, gebe mehrere möglichkeiten.Wenn dann muss man aber testen, obs wirklich "nur" an einem von beiden, oder beiden liegt.
Mit addNotifier z.b. für den threadWorker gibts nen richtig schlechten ausstieg aus emc hier. Da hab ich auch schon ein, zwei möglichkeiten getestet.
Das selbe mit anderen vorgegebenen wegen fürs threading. Gibt einige unschöne Meldungen in den logs dann, bis halt zum crash dann.
-
Unabhängig von Dir hab ich mir die Zeile 502 angeschaut.
Wird Start nur von einem E2 Thread aufgerufen?
Ansonsten, wird DelayedFunction Probleme machen. -
der erste ab da-->https://github.com/oe-alliance…/src/MovieCenter.py#L2266
anderes problem(erst durch aktivierung im setup), betrifft die picons bei euch:
ihr habt andere werte zum rangehen da in eurer enigma.py in der eListboxPythonMultiContent ab zeile 2503 dann.
Ich hab für vti eine globale eingebaut, da die einen anderen scale aufruf verwenden.
-->https://github.com/oe-alliance…nhancedMovieCenter.py#L59
Ich kann eures auch prüfen lassen, zwecks importe und dann an der stelle beim Liste bauen mit picons, dann mit einbauen. So das ihr einen anderen weg(ähnlich dem vti) dann geht, auch wegen picon finden(ist das selbe dann wie beim vti). Denn euer Picon-Renderer ist ebenfalls normal "gestrickt".
Aber schaff ich frühestens bis morgen abend nach der arbeit.
So wie ich das gesehen hab ist das bei euch dann "SCALE_ASPECT" anstatt z.b. "BT_KEEP_ASPECT_RATIO" für das scaling von png's?(sicherheitshalber mal nachfragen ;))
-
zwecks picons in der movielist:
im Anhang hab ich die "EnhancedMovieCenter.py", die beim starten "prüft" ob es sich um ein "imgDream" handelt. Per importversuch von SCALE_ASPECT.
Und die MovieCenter.py die beim liste bauen dann den weg wie beim vti nimmt.
Dafür müsst ihr im Emc-setup noch den picon-pfad angeben(default=/usr/share/enigma2/picon).Wenn das bei euch richtig scaled, dann mach ich nen request direkt dafür.
-
Ich bekomme mit deinem Fix immernoch Exceptions beim Aufruf von EMC, hier ist der Log dazu:
Pythoncannot import name BT_SCALE Unexpected error: <type 'exceptions.ImportError'> Traceback (most recent call last): File "/usr/lib/enigma2/python/Plugins/Extensions/EnhancedMovieCenter/plugin.py", line 461, in showMoviesNew from MovieSelection import EMCSelection File "/usr/lib/enigma2/python/Plugins/Extensions/EnhancedMovieCenter/MovieSelection.py", line 60, in <module> from MovieCenter import MovieCenter, getPlayerService, getProgress, detectBLUStructure, detectBLUISO File "/usr/lib/enigma2/python/Plugins/Extensions/EnhancedMovieCenter/MovieCenter.py", line 37, in <module> from enigma import eListboxPythonMultiContent, eListbox, gFont, RT_HALIGN_LEFT, RT_HALIGN_RIGHT, RT_HALIGN_CENTER, eServiceReference, eServiceCenter, ePythonMessagePump, loadPNG, BT_SCALE ImportError: cannot import name BT_SCALE
Wie es aussieht wird in MovieCenter.py immernoch BT_SCALE importiert, was zu dem Fehler führt.
mfgJojo
-
Hat auch keiner behauptet dass es schon wieder läuft. Ich muss noch einen weiteren Fix in das GIT ziehen. Kann ich aber erst später testen. Kannst es ja mal ausprobieren ich hab den Fix mal gemerged.
-
daTa deVil
So jetzt läuft es zwar wieder ABER eben immer noch mit dem bekannten Problem.Code
Alles anzeigenApr 21 16:46:36 dm7080 enigma2[4360]: FATAL!: addTimer must be called from thread 4360 but is called from thread 4433 Apr 21 16:46:36 dm7080 enigma2[4360]: Python stack trace: Apr 21 16:46:36 dm7080 enigma2[4360]: /usr/lib/enigma2/python/Plugins/Extensions/EnhancedMovieCenter/MovieCenter.py(2474): refreshList Apr 21 16:46:36 dm7080 enigma2[4360]: /usr/lib/enigma2/python/Plugins/Extensions/EnhancedMovieCenter/MovieCenter.py(451): refresh Apr 21 16:46:36 dm7080 enigma2[4360]: /usr/lib/enigma2/python/Plugins/Extensions/EnhancedMovieCenter/MovieCenter.py(509): run Apr 21 16:46:36 dm7080 enigma2[4360]: /usr/lib/python2.7/threading.py(533): __bootstrap_inner Apr 21 16:46:36 dm7080 enigma2[4360]: /usr/lib/python2.7/threading.py(510): __bootstrap Apr 21 16:46:36 dm7080 enigma2[4360]: PC: 74657218 Apr 21 16:46:36 dm7080 enigma2[4360]: 00000000 00000001 00000000 7fff0000 Apr 21 16:46:36 dm7080 enigma2[4360]: 00001108 00001151 00000006 00000000 Apr 21 16:46:36 dm7080 enigma2[4360]: 00000000 00000000 00000000 00000000 Apr 21 16:46:36 dm7080 enigma2[4360]: 00000074 00000002 0049f45c 578fe2e8 Apr 21 16:46:36 dm7080 enigma2[4360]: 579068d0 747ac654 747b2000 578fe3f8 Apr 21 16:46:36 dm7080 enigma2[4360]: 03cbd3b0 0393d0f8 00eb4150 00000001 Apr 21 16:46:36 dm7080 enigma2[4360]: 00000000 746571d0 00000000 00000000 Apr 21 16:46:36 dm7080 enigma2[4360]: 747b2e20 578fe348 03c01a39 7465c300 Apr 21 16:46:36 dm7080 enigma2[4360]: As a final action, i will try to dump a bit of code. Apr 21 16:46:36 dm7080 enigma2[4360]: I just hope that this won't crash. Apr 21 16:46:36 dm7080 enigma2[4360]: 74657218: 0c 00 e0 14 00 00 00 00 04 00 b0 8f 08 00 e0 03 08 00 bd 27 f8 ff 80 1c ff 7f 03 3c ff ff 63 34 (end) Apr 21 16:46:36 dm7080 enigma2[4360]: ------- Apr 21 16:46:36 dm7080 enigma2[4360]: thread joined 0
-
Ich schau mal gleich ;).
Ist das refreshList dahinter.
Muss mal was aus probieren zwecks dem.
-
@ dhwz and ? :
Ich hab mal im anhang ein paar geänderte dateien zwecks dem CountSize per Thread holen in der Liste.
Wär nicht schlecht, wenn das mal einer gegentesten könnte in dream-images.
!!! Sichert vorher Eure originalen dateien in /usr/.../EnhancedMovieCenter, oder benennt sie um !!!
Gruss
-
daTa deVil
Bisher kein Crash mehr, mit dem Stand den wir ins GIT gemerged haben. -
Bei mir stürzt der Start von EMC immer ab, da "loadPNG" nicht importiert werden konnte (MovieCenter.py Zeile 37).
Benötige ich dafür ein spezielles Paket? -
Hm das aber seltsam was für ein Image verwendest du? loadPNG sollte eigentlich überall gehen.
-
OE 2.0 Newnigma. Vor 2 Tagen noch upgedatet.
-
Hm sehr eigenartig.
-
Zitat
Bisher kein Crash mehr, mit dem Stand den wir ins GIT gemerged haben. Augenzwinkern
Jepp.
Aber der ist jetzt mit aktiviertem Count/Size in der Liste wieder ein bisschen Schneckenmässig unterwegs.
Hab ja jetzt nochmal was geändert in den geposteten Testdateien dazu.
Im worker wird jedenfalls nichts mehr aufgerufen.Die Frage ist nur, läuft das auch bei euch? Denn genau weiss ich nicht was die systeme hier "safe" macht dagegen.
Vermutungen hab ich schon, bin dem aber noch nie nachgegangen, um zu sehen ob ich auf dem holzweg bin ;). -
Sorry kann ich nicht testen du hast nicht beachtet dass die neuen Boxen andere API haben.
"/usr/lib/enigma2/python/Plugins/Extensions/EnhancedMovieCenter/MovieSelection.py", line 535, in __init__
countsizeworker.MessagePump.recv_msg.get().append(self.gotThreadMsg)
AttributeError: 'eSignal1I' object has no attribute 'get' -
Ohh, ich seh gerade ich hab mich vertan. Der Import von "getPiconName" in Zeile 64 verhindert den Start.
-
Öhm ja den Bug hat dann auch daTa deVil eingebaut.
from enigma import SCALE_ASPECT
imgDream = TrueSCALE_ASPECT gibts IMHO unter OE2.0 gar nicht, der Code sollte wieder so geändert werden dass der Defaultcode für die Dream gilt und alles andere separat erkannt werden.