diff options
author | louis <louis.braun@gmx.de> | 2015-06-20 15:54:53 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-06-20 15:54:53 +0200 |
commit | 50fe393724a265341b1745dd401db9d93f46f354 (patch) | |
tree | 122de23fbe91c298c5df144f4cd41bacb32f92e0 | |
parent | bc075507080607a79c688c5aef4e1c3d895747ac (diff) | |
download | vdr-plugin-skindesigner-50fe393724a265341b1745dd401db9d93f46f354.tar.gz vdr-plugin-skindesigner-50fe393724a265341b1745dd401db9d93f46f354.tar.bz2 |
added banner to displaymenuschedulescurrentview and displaymenureplaycurrentview
-rw-r--r-- | HISTORY | 3 | ||||
-rw-r--r-- | skinskeleton/xmlfiles/displaymenurecordings.xml | 7 | ||||
-rw-r--r-- | skinskeleton/xmlfiles/displaymenuschedules.xml | 4 | ||||
-rw-r--r-- | views/displaymenuitemcurrentview.c | 66 |
4 files changed, 69 insertions, 11 deletions
@@ -376,4 +376,5 @@ Version 0.5.3 - added SVG Template parsing - fixed memory leak when creating fonts - fixed crash using animated images in plugins - +- added banner to displaymenuschedulescurrentview and + displaymenureplaycurrentview diff --git a/skinskeleton/xmlfiles/displaymenurecordings.xml b/skinskeleton/xmlfiles/displaymenurecordings.xml index 15037a9..8d961b6 100644 --- a/skinskeleton/xmlfiles/displaymenurecordings.xml +++ b/skinskeleton/xmlfiles/displaymenurecordings.xml @@ -56,7 +56,8 @@ {durationminutes} real duration, rest of minutes {durationevent} duration of corresponding event in minutes {durationeventhours} event duration, full hours - {durationeventminutes} event duration, rest of minutes {new} true if recording is new + {durationeventminutes} event duration, rest of minutes + {new} true if recording is new {cutted} true if recording is cutted {folder} true if item is a folder {numrecordingsfolder} if item is a folder, number of recordings in this folder @@ -65,6 +66,10 @@ {posterwidth} width of scraped poster {posterheight} height of scraped poster {posterpath} absolute path of scraped poster + {hasbanner} true if a scraped banner is available for this element + {bannerwidth} width of scraped banner + {bannerheight} height of scraped banner + {bannerpath} absolute path of scraped banner --> <currentelement delay="500" fadetime="0"> </currentelement> diff --git a/skinskeleton/xmlfiles/displaymenuschedules.xml b/skinskeleton/xmlfiles/displaymenuschedules.xml index 748cbee..f8a4811 100644 --- a/skinskeleton/xmlfiles/displaymenuschedules.xml +++ b/skinskeleton/xmlfiles/displaymenuschedules.xml @@ -78,6 +78,10 @@ {posterwidth} width of scraped poster {posterheight} height of scraped poster {posterpath} absolute path of scraped poster + {hasbanner} true if a scraped banner is available for this element + {bannerwidth} width of scraped banner + {bannerheight} height of scraped banner + {bannerpath} absolute path of scraped banner {timerpartitial} true if partitial timer is set for the event {timerfull} true if full timer is set for the event {whatson} true if menu "What's on" is displayed diff --git a/views/displaymenuitemcurrentview.c b/views/displaymenuitemcurrentview.c index 6a88067..357543e 100644 --- a/views/displaymenuitemcurrentview.c +++ b/views/displaymenuitemcurrentview.c @@ -32,22 +32,70 @@ void cDisplayMenuItemCurrentView::SetScraperPoster(const cEvent *event, const cR intTokens.insert(pair<string,int>("posterwidth", -1)); intTokens.insert(pair<string,int>("posterheight", -1)); stringTokens.insert(pair<string,string>("posterpath", "")); + intTokens.insert(pair<string,int>("hasbanner", false)); + intTokens.insert(pair<string,int>("bannerwidth", -1)); + intTokens.insert(pair<string,int>("bannerheight", -1)); + stringTokens.insert(pair<string,string>("bannerpath", "")); return; } - ScraperGetPoster call; - call.event = event; - call.recording = recording; - if (pScraper->Service("GetPoster", &call)) { - intTokens.insert(pair<string,int>("hasposter", FileExists(call.poster.path))); - intTokens.insert(pair<string,int>("posterwidth", call.poster.width)); - intTokens.insert(pair<string,int>("posterheight", call.poster.height)); - stringTokens.insert(pair<string,string>("posterpath", call.poster.path)); - } else { + ScraperGetEventType getType; + getType.event = event; + getType.recording = recording; + if (!pScraper->Service("GetEventType", &getType)) { intTokens.insert(pair<string,int>("hasposter", false)); intTokens.insert(pair<string,int>("posterwidth", -1)); intTokens.insert(pair<string,int>("posterheight", -1)); stringTokens.insert(pair<string,string>("posterpath", "")); + intTokens.insert(pair<string,int>("hasbanner", false)); + intTokens.insert(pair<string,int>("bannerwidth", -1)); + intTokens.insert(pair<string,int>("bannerheight", -1)); + stringTokens.insert(pair<string,string>("bannerpath", "")); + return; + } + + if (getType.type == tMovie) { + cMovie movie; + movie.movieId = getType.movieId; + pScraper->Service("GetMovie", &movie); + intTokens.insert(pair<string,int>("hasposter", true)); + stringTokens.insert(pair<string,string>("posterpath", movie.poster.path)); + intTokens.insert(pair<string,int>("posterwidth", movie.poster.width)); + intTokens.insert(pair<string,int>("posterheight", movie.poster.height)); + intTokens.insert(pair<string,int>("hasbanner", false)); + intTokens.insert(pair<string,int>("bannerwidth", -1)); + intTokens.insert(pair<string,int>("bannerheight", -1)); + stringTokens.insert(pair<string,string>("bannerpath", "")); + } else if (getType.type == tSeries) { + cSeries series; + series.seriesId = getType.seriesId; + series.episodeId = getType.episodeId; + pScraper->Service("GetSeries", &series); + //Poster + if (series.posters.size() > 0) { + intTokens.insert(pair<string,int>("hasposter", true)); + intTokens.insert(pair<string,int>("posterwidth", series.posters[0].width)); + intTokens.insert(pair<string,int>("posterheight", series.posters[0].height)); + stringTokens.insert(pair<string,string>("posterpath", series.posters[0].path)); + } else { + intTokens.insert(pair<string,int>("hasposter", false)); + intTokens.insert(pair<string,int>("posterwidth", -1)); + intTokens.insert(pair<string,int>("posterheight", -1)); + stringTokens.insert(pair<string,string>("posterpath", "")); + } + + //Banners + if (series.banners.size() > 0) { + intTokens.insert(pair<string,int>("hasbanner", true)); + intTokens.insert(pair<string,int>("bannerwidth", series.banners[0].width)); + intTokens.insert(pair<string,int>("bannerheight", series.banners[0].height)); + stringTokens.insert(pair<string,string>("bannerpath", series.banners[0].path)); + } else { + intTokens.insert(pair<string,int>("hasbanner", false)); + intTokens.insert(pair<string,int>("bannerwidth", -1)); + intTokens.insert(pair<string,int>("bannerheight", -1)); + stringTokens.insert(pair<string,string>("bannerpath", "")); + } } } |