Du meinst sicher im Raster.
Ja genau, die Darstellung im Raster.
Danke für den Hinweis, dass eine Anpassung direkt in den XML-Dateien erfolgen muss.
Werde mal etwas mit den Werten experimentieren.
Gruß
Bernhard
Du meinst sicher im Raster.
Ja genau, die Darstellung im Raster.
Danke für den Hinweis, dass eine Anpassung direkt in den XML-Dateien erfolgen muss.
Werde mal etwas mit den Werten experimentieren.
Gruß
Bernhard
Hallo,
es gibt ein neues Bugfix-Release 1.2.21.
- [pbiering] Fix off-by-one strcpy buffer overflow
- Don't show emty actor pictures in detailview
Grüße
kamel5
Super!
Könntest Du noch eine Performance-Optimierung machen? Zur Zeit wird "GetMovie" bei der Navigation zum Detailbild 2 mal aufgerufen. Könntest Du das ändern, so dass "GetMovie" nur noch 1 mal gerufen wird?
~Markus
Ich kann mir das gerne mal ansehen. Da ich aber erst einmal sehen muss, wie da die Zusammenhänge sind, schaffe ich das jetzt vor meinem Urlaub nicht mehr. Erst danach, ab Oktober, habe ich wieder mehr Zeit.
Grüße
kamel5
Dann wünsche ich Dir einen schönen Urlaub!
Könntest Du noch eine Performance-Optimierung machen?
Ich habe mir das jetzt mal angesehen. Durch den Programmablauf ist es hier nicht möglich, die beiden Aufrufe von "GetMovie" ohne größere Umbauten zusammenzufassen.
Allerdings ist es so, das der zweite Aufruf nur für die Bilder in der Kopfzeile der Detailansicht benötigt wird. Mit ein wenig Umbau konnte ich das über den Service "GetPosterBannerV2" abbilden, so das dadurch schon deutlich weniger Datenmenge anfallen dürfte.
Dabei habe ich allerdings festgestellt, das hier die beiden Service "GetSeries" und "GetPosterBannerV2" unterschiedliche Ergebnisse liefern können. Dazu gibt es ein reproduzierbares Beispiel, mehr habe ich bei meinen Tests erst einmal nicht feststellen können, das bedeutet aber nicht, das es sie nicht gibt.
Beispiel ARD - Brisant:
- wird als Serie erkannt
- bei "GetSeries" wird ein Bild als Banner zurückgegeben (fanart_0.jpg)
- bei "GetPosterBannerV2" wird das gleiche Bild als Poster zurückgegeben (fanart_0.jpg)
- bei "GetPosterBannerV2" gibt es kein Banner
Das bedeutet, das sich mit Nutzung von "GetPosterBannerV2" möglicherweise andere Darstellungen ergeben.
Beim Skin "metrixhd" und auch anderen kann man das feststellen.
Den Skin "metrixhd" habe ich in einem zweiten commit angepasst. Die anderen betroffenen Skins kann ich leider nicht ändern.
Schön wäre es natürlich, wenn beide Services gleiche Ergebnisse liefern würden.
MarkusE, kannst Du Dir das nochmal ansehen.
Um abwärts kompatibel zu bleiben, müsste "GetPosterBannerV2" in so einem Falle, solche Poster auch als Banner zurückgeben???
Commits sind im Branch develop.
Bitte diese Änderung ausführlich testen, Bugs sind nicht ausgeschlossen.
Grüße
kamel5
Hi,
"GetSeries" hat verschiedene Felder für die verschiedenen Bilder.
"GetPosterBannerV2" versucht immer ein Bild zurückzugeben, notfalls im falschen Format (besser als gar kein Bild):
"ScraperGetPosterBannerV2.poster":
Bild im "portrait" Format, falls verfügbar. Falls nicht verfügbar: Bild im "landscape" Format (das ist dann fanart).
"ScraperGetPosterBannerV2.banner":
Bild im "banner" Format. Falls das verfügbar ist, wird type = tSeries; zurückgegeben. Falls das nicht verfügbar ist, wird type = tMovie; zurückgegeben.
Damit habe ich mit den Skins, die ich getestet habe, die besten Ergebnisse erzielt. Ich kann das aber auch ändern.
~ Markus
Display More"GetSeries" hat verschiedene Felder für die verschiedenen Bilder.
"GetPosterBannerV2" versucht immer ein Bild zurückzugeben, notfalls im falschen Format (besser als gar kein Bild):
"ScraperGetPosterBannerV2.poster":Bild im "portrait" Format, falls verfügbar. Falls nicht verfügbar: Bild im "landscape" Format (das ist dann fanart).
"ScraperGetPosterBannerV2.banner":Bild im "banner" Format. Falls das verfügbar ist, wird type = tSeries; zurückgegeben. Falls das nicht verfügbar ist, wird type = tMovie; zurückgegeben.
OK, irgendwie muss man ja was wählen.
Die Frage ist halt, ob beide Anfragen zu einer Sendung den gleichen type zurückgeben sollten.
Bei ARD-Brisant ist es z.B. so, das bei Nutzung vom Service "GetEventType" der type tSeries, und bei Nutzung vom Service"ScraperGetPosterBannerV2" der type tMovie zurückgegen wird.
Das hat bei der Umstellung zur Verwirrung geführt.
Grüße
kamel5
Ich weiß, das ist unsauber. Grund für den Rückgabewert ist nOpacity:
nOpacity zeigt beim Drücken von OK links oben ein Bild.
Wenn ich type = tSeries zurückgebe, wird "ScraperGetPosterBannerV2.banner" angezeigt. Das muss aber ein Banner sein, sonst sieht es grauselig aus.
Wenn ich kein Banner habe, aber trotzdem ein Bild anzeigen will, gebe ich type = tMovie zurück, und das Bild in "ScraperGetPosterBannerV2.poster". Führt zu einer vernünftigen Anzeige.
Du könntest natürlich nOpacity so ändern, dass type ignoriert wird. Wenn in "ScraperGetPosterBannerV2.banner" was drin ist, wird ein Banner angezeigt. Falls nicht, wird "ScraperGetPosterBannerV2.poster" angezeigt.
Dann könnte ich auch bei "GetPosterBannerV2" type korrekt zurückgeben ...
~ Markus
Ich weiß, das ist unsauber. Grund für den Rückgabewert ist nOpacity:
nOpacity zeigt beim Drücken von OK links oben ein Bild.
OK, verstehe.
Da muss ich mir das Handling da wohl mal ansehen.
Grüße
kamel5
Hi,
Im tvscraper git ist ein Update. Damit gibt "GetPosterBannerV2" nun den korrekten type zurück.
~ Markus
Damit gibt "GetPosterBannerV2" nun den korrekten type zurück.
Das funktioniert soweit.
Allerdings gibt es trotzdem noch Unterschiede:
Beides mit tvscraper letzter Stand.
Wenn ich mir mit Branch master Debug-Ausgaben anzeigen lasse, bekomme ich bei ARD Brisant, da gibt es keinen richtigen Banner, trotzdem fanart_0.jpg als Banner zurück. Hier werden SetHeaderScrapInfo() und SetSeries() von GetSeries befüllt.
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 91 isSerie
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 108 Banner=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 325 Banner=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 336 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 336 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_1.jpg
Wenn ich das mit Branch develop mache, also mit dem geänderten SetHeaderScrapInfo, dann bekomme ich fanart_0.jpg als Poster zurück. Hier wird SetSeries() von GetSeries und SetHeaderScrapInfo() von GetPosterBannerV2 befüllt.
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 103 isSerie
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 119 Poster=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 337 Poster=/etc/vdr/plugins/tvscraper/series/3604skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_1.jpg
Schon seltsam, da ich an der Funktion SetSeries() nichts geändert habe. Ich hätte jetzt erwartet, das zumindest in SetSeries() beide Male das gleiche Ergebnis erzeugt wird.
Aus Sicht vom skindesigner wäre es wünschenswert, wenn zumindest im Falle von GetPosterBannerV2 Banner befüllt wird, dann könnte man die skins so lassen, und müsste keine Änderungen machen.
Vielleicht hasst Du da noch eine Idee.
PS: Ich habe den Branch develop noch mal upgedatet.
Grüße
kamel5
Hi,
> Ich hätte jetzt erwartet, das zumindest in SetSeries() beide Male das gleiche Ergebnis erzeugt wird.
Also, wenn Du 2 mal hintereinander "GetSeries" aufrufst, bekommst Du beide Male das gleiche zurück.
Quote
Also, die derzeitige Spezifikation von "GetPosterBannerV2":
Quote"ScraperGetPosterBannerV2.poster": Bild im "portrait" Format, falls verfügbar. Falls nicht verfügbar: Bild im "landscape" Format (das ist dann fanart). Falls das auch nicht verfügbar ist: Nichts (Leerstring)
"ScraperGetPosterBannerV2.banner": Bild im "banner" Format, falls verfügbar. Sonst: Nichts (Leerstring)
Ich kann das gerne ändern. Welches Verhalten hättest Du denn gerne?
QuoteWie sollte es sein?
"ScraperGetPosterBannerV2.banner": Bild im "banner" Format, falls verfügbar. Sonst: Bild im "landscape" Format (das ist dann fanart). Falls das auch nicht verfügbar ist: Bild im "portrait" Format. Sonst: nichts (Leerstring)
Kann ich gerne machen. Die Skins müssten das dann halt "vernünftig" darstellen.
Oder hast Du einen besseren Vorschlag für das Verhalten?
~ Markus
Also, wenn Du 2 mal hintereinander "GetSeries" aufrufst, bekommst Du beide Male das gleiche zurück.
Nein, vielleicht habe ich das wenig deutlich dargestellt.
Einmal bekomme ich das: mit branch master wird Banner befüllt
skindesigner: extensions/scrapmanager.c SetSeries 325 Banner=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 336 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 336 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_1.jpg
das andere mal bekomme ich das: mit branch develop wird Poster befüllt
skindesigner: extensions/scrapmanager.c SetSeries 337 Poster=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_1.jpg
Es hat sich aber an SetSeries() zwischen den beiden Branches nichts geändert und beides wird vom Service "GetSeries" abgeleitet. Und die Frage ist, warum da unterschiedliche Befüllungen entstehen können.
Grüße
kamel5
OK, irgendwie ist der Wurm drin.
Jetzt ging es auf einmal wieder beim Service "SetSeries", naja.
Log:
Okt 10 18:41:06 vdr[708368]: [708368] skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 101 0
Okt 10 18:41:06 vdr[708368]: [708368] skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 103 isSerie
Okt 10 18:41:06 vdr[708368]: [708368] skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 119 Poster=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
Okt 10 18:41:06 vdr[708368]: [708368] skindesigner: extensions/scrapmanager.c SetFullScrapInfo 54 isSerie
Okt 10 18:41:06 vdr[708368]: [708368] skindesigner: extensions/scrapmanager.c SetSeries 337 Banner=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
Okt 10 18:41:06 vdr[708368]: [708368] skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
Okt 10 18:41:06 vdr[708368]: [708368] skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_1.jpg
Kann ich gerne machen. Die Skins müssten das dann halt "vernünftig" darstellen.
Oder hast Du einen besseren Vorschlag für das Verhalten?
Was hätte ich gerne?
Wie man in dem Log sieht, wird "fanart_0.jpg" bei GetSeries als Banner zurückgeliefert, bei ScraperGetPosterBannerV2 aber als Poster.
Ich habe leider nur das eine Beispiel "Brisant" und weiß auch nicht, ob es noch andere gibt.
Wünschenswert wäre wahrscheinlich, das, wenn es kein richtiges Banner gibt, dann fanart_0.jpg auch als Banner zurückgegeben wird, so wie es bei GetSeries auch gemacht wird.
Also, im Endeffekt sollte GetSeries und ScraperGetPosterBannerV2 zum gleichen Ergebnis führen.
Grüße
kamel5
tvscraper Verhalten zur Zeit (es gibt nur den master Branch ...):
cSeries:
std::vector<cTvMedia> posters; -> alle Bilder im "portrait" Format (leer, falls es keine gibt)
std::vector<cTvMedia> banners; -> Bild im banner Format. Falls es kein Bild im banner Format gibt: Bild im landscape Format. Falls es das auch nicht gibt: Leer
std::vector<cTvMedia> fanarts; -> alle Bilder im "landscape" Format (leer, falls es keine gibt)
ScraperGetPosterBannerV2:
cTvMedia poster -> Bild im "portrait" Format, falls verfügbar. Falls nicht verfügbar: Bild im "landscape" Format (das ist dann fanart). Falls das auch nicht verfügbar ist: Nichts (Leerstring)
cTvMedia banner -> Bild im banner Format. Falls es das nicht gibt: Leer
Also, 100% identisch kann ich das nicht machen, weil die Datenfelder unterschiedlich sind. Ich kann aber die Rückgabe von
identisch machen:
cSeries->banners ist zwar ein vector, es wird aber maximal ein Bild zurückgegeben. Ich habe also ScraperGetPosterBannerV2->banner im git geändert: es wird jetzt ein Bild im "landscape" Format zurückgegeben, falls es kein Banner gibt. Analog zu cSeries.
~ Markus
ScraperGetPosterBannerV2->banner im git geändert: es wird jetzt ein Bild im "landscape" Format zurückgegeben, falls es kein Banner gibt. Analog zu cSeries.
Das passt schon mal beim Anzeigen ganz gut. Allerdings wird jetzt fanart_0.jpg als Banner und Poster zürückgegeben:
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 101 0
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 103 isSerie
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 119 Poster=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetHeaderScrapInfo 128 Banner=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetFullScrapInfo 54 isSerie
skindesigner: extensions/scrapmanager.c SetSeries 337 Banner=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_0.jpg
skindesigner: extensions/scrapmanager.c SetSeries 348 Fanart=/etc/vdr/plugins/tvscraper/series/360443/fanart_1.jpg
Um die Kompatibilität zu GetSeries noch weiter zu erhöhen, dürfte ein Bild im Landscapeformat nur als Banner zurückgegeben werden, und nicht als Poster. Also dann so:
ScraperGetPosterBannerV2:
cTvMedia poster -> Bild im "portrait" Format, falls verfügbar. Falls nicht verfügbar: Nichts (Leerstring)
cTvMedia banner -> Bild im banner Format. Falls es das nicht gibt: Bild im "landscape" Format (das ist dann fanart). Falls das auch nicht verfügbar ist: Nichts (Leerstring)
Ich glaube, das wäre dann momentan auch mein letzter Änderungswunsch.
Grüße
kamel5
Update ist im tvscraper git
Update ist im tvscraper git
Danke, das passt jetzt soweit und es sollte in der Darstellung kein Unterschied zu vorher sichtbar sein.
Grüße
kamel5
Hallo,
es gibt eine neue Version 1.2.22.
- Performance optimization in the detail view
- Update skin metrixhd
- If no true color OSD is availiable the BackupSkin is activated
- Fix segfault in cViewDetailAdvancedPlugin::SetTokenContainer()
Grüße
kamel5
Don’t have an account yet? Register yourself now and be a part of our community!