summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schirrmacher <vdr.skinflatplus@schirrmacher.eu>2014-10-24 20:29:46 +0200
committerMartin Schirrmacher <vdr.skinflatplus@schirrmacher.eu>2014-10-24 20:29:46 +0200
commit2e241f83443a9bfdc6a3245b1a7c8e38675297ab (patch)
tree446d345dbe53f2fc74c1c963d867d905a6baf99a
parent82bdc527f8b2e52d35c4ea6f6fad86c0b3e7a2bf (diff)
downloadskin-flatplus-2e241f83443a9bfdc6a3245b1a7c8e38675297ab.tar.gz
skin-flatplus-2e241f83443a9bfdc6a3245b1a7c8e38675297ab.tar.bz2
new genre icon handling
-rw-r--r--displaymenu.c184
-rw-r--r--icons/default/EPGInfo/FSK/unknown.pngbin0 -> 8328 bytes
-rw-r--r--icons/default/EPGInfo/FSK/unknown2.pngbin0 -> 7892 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Abenteuer.png (renamed from icons/default/EPGInfo/Genre/adventures.png)bin3702 -> 3702 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Action.png (renamed from icons/default/EPGInfo/Genre/action.png)bin3065 -> 3065 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Action2.png (renamed from icons/default/EPGInfo/Genre/actions2.png)bin2609 -> 2609 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Adult Movie_Drama.pngbin0 -> 3485 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Adventure_Western_War.pngbin0 -> 5343 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Athletics.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Ballet.pngbin0 -> 2014 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Comedy.pngbin0 -> 4083 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Detective_Thriller.pngbin0 -> 4839 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Documentary.pngbin0 -> 2881 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Dokumentation.png (renamed from icons/default/EPGInfo/Genre/documentary.png)bin1996 -> 1996 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Equestrian.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Erotik.pngbin0 -> 2556 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Erotik2.pngbin0 -> 2542 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Fantasie.pngbin0 -> 2364 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Folk_Tradional Music.pngbin0 -> 2014 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Football_Soccer.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Game Show_Quiz_Contest.pngbin0 -> 3195 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Historisch.pngbin0 -> 2269 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Horror.pngbin0 -> 2226 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Jazz.pngbin0 -> 2014 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Komödie.png (renamed from icons/default/EPGInfo/Genre/comedy.png)bin2415 -> 2415 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Komödie2.png (renamed from icons/default/EPGInfo/Genre/comedy2.png)bin2629 -> 2629 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Krimi.png (renamed from icons/default/EPGInfo/Genre/crime.png)bin1513 -> 1513 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Martial Sports.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Motor Sport.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Movie_Drama.pngbin0 -> 3575 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Music_Ballet_Dance.pngbin0 -> 2014 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Musical_Opera.pngbin0 -> 2014 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Musik.pngbin0 -> 1265 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Märchen.pngbin0 -> 1783 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Rock_Pop.pngbin0 -> 2014 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Roman.pngbin0 -> 2330 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Romance.pngbin0 -> 3252 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Science Fiction_Fantasy_Horror.pngbin0 -> 3784 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Science-Fiction.pngbin0 -> 2416 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Serious_Classical Music.pngbin0 -> 2014 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Serious_Classical_Religious_Historical Movie_Drama.pngbin0 -> 3740 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Show_Game Show.pngbin0 -> 3195 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Soap_Melodrama_Folkloric.pngbin0 -> 3252 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Spiel.pngbin0 -> 2590 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Sport Magazine.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Sport.pngbin0 -> 3128 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Sports.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Team Sports.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Tennis_Squash.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Thriller.pngbin0 -> 3121 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Water Sport.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Western.pngbin0 -> 1618 bytes
-rw-r--r--icons/default/EPGInfo/Genre/Winter Sports.pngbin0 -> 4158 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Action.pngbin0 -> 4955 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Action2.pngbin0 -> 4184 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Erotik.pngbin0 -> 3460 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Fantasie.pngbin0 -> 3482 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Horror.pngbin0 -> 3119 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Komödie.pngbin0 -> 3335 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Krimi.pngbin0 -> 2254 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Märchen.pngbin0 -> 3150 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Thriller.pngbin0 -> 4766 bytes
-rw-r--r--icons/default/EPGInfo/Genre/g_Western.pngbin0 -> 2434 bytes
-rw-r--r--icons/default/EPGInfo/Genre/unknown.pngbin0 -> 2824 bytes
64 files changed, 157 insertions, 27 deletions
diff --git a/displaymenu.c b/displaymenu.c
index 3fb2d6cc..187857ff 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -2137,8 +2137,9 @@ void cFlatDisplayMenu::SetEvent(const cEvent *Event) {
Config.decorBorderMenuContentHeadFg, Config.decorBorderMenuContentHeadBg);
// Description
- ostringstream text, textAdditional, ossGenres;
- std::string Genres, Fsk;
+ ostringstream text, textAdditional;
+ std::string Fsk;
+ std::list<std::string> GenreIcons;
if( !isempty(Event->Description()) ) {
text << Event->Description();
@@ -2152,16 +2153,150 @@ void cFlatDisplayMenu::SetEvent(const cEvent *Event) {
if (!isempty(Event->ContentToString(Event->Contents(i)))) { // skip empty (user defined) content
if (!firstContent) {
text << ", ";
- ossGenres << ",";
} else {
text << endl << tr("Genre") << ": ";
}
text << Event->ContentToString(Event->Contents(i));
- ossGenres << Event->ContentToString(Event->Contents(i)) << ",";
firstContent = false;
+ switch (Event->Contents(i) & 0xF0) {
+ case ecgMovieDrama:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Movie_Drama"); break;
+ case 0x01: GenreIcons.push_back("Detective_Thriller"); break;
+ case 0x02: GenreIcons.push_back("Adventure_Western_War"); break;
+ case 0x03: GenreIcons.push_back("Science Fiction_Fantasy_Horror"); break;
+ case 0x04: GenreIcons.push_back("Comedy"); break;
+ case 0x05: GenreIcons.push_back("Soap_Melodrama_Folkloric"); break;
+ case 0x06: GenreIcons.push_back("Romance"); break;
+ case 0x07: GenreIcons.push_back("Serious_Classical_Religious_Historical Movie_Drama"); break;
+ case 0x08: GenreIcons.push_back("Adult Movie_Drama"); break;
+ }
+ break;
+ case ecgNewsCurrentAffairs:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("News_Current Affairs"); break;
+ case 0x01: GenreIcons.push_back("News_Weather Report"); break;
+ case 0x02: GenreIcons.push_back("News Magazine"); break;
+ case 0x03: GenreIcons.push_back("Documentary"); break;
+ case 0x04: GenreIcons.push_back("Discussion_Inverview_Debate"); break;
+ }
+ break;
+ case ecgShow:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Show_Game Show"); break;
+ case 0x01: GenreIcons.push_back("Game Show_Quiz_Contest"); break;
+ case 0x02: GenreIcons.push_back("Variety Show"); break;
+ case 0x03: GenreIcons.push_back("Talk Show"); break;
+ }
+ break;
+ case ecgSports:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Sports"); break;
+ case 0x01: GenreIcons.push_back("Special Event"); break;
+ case 0x02: GenreIcons.push_back("Sport Magazine"); break;
+ case 0x03: GenreIcons.push_back("Football_Soccer"); break;
+ case 0x04: GenreIcons.push_back("Tennis_Squash"); break;
+ case 0x05: GenreIcons.push_back("Team Sports"); break;
+ case 0x06: GenreIcons.push_back("Athletics"); break;
+ case 0x07: GenreIcons.push_back("Motor Sport"); break;
+ case 0x08: GenreIcons.push_back("Water Sport"); break;
+ case 0x09: GenreIcons.push_back("Winter Sports"); break;
+ case 0x0A: GenreIcons.push_back("Equestrian"); break;
+ case 0x0B: GenreIcons.push_back("Martial Sports"); break;
+ }
+ break;
+ case ecgChildrenYouth:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Childrens_Youth Programme"); break;
+ case 0x01: GenreIcons.push_back("Pre-school Childrens Programme"); break;
+ case 0x02: GenreIcons.push_back("Entertainment Programme for 6 to 14"); break;
+ case 0x03: GenreIcons.push_back("Entertainment Programme for 10 to 16"); break;
+ case 0x04: GenreIcons.push_back("Informational_Educational_School Programme"); break;
+ case 0x05: GenreIcons.push_back("Cartoons_Puppets"); break;
+ }
+ break;
+ case ecgMusicBalletDance:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Music_Ballet_Dance"); break;
+ case 0x01: GenreIcons.push_back("Rock_Pop"); break;
+ case 0x02: GenreIcons.push_back("Serious_Classical Music"); break;
+ case 0x03: GenreIcons.push_back("Folk_Tradional Music"); break;
+ case 0x04: GenreIcons.push_back("Jazz"); break;
+ case 0x05: GenreIcons.push_back("Musical_Opera"); break;
+ case 0x06: GenreIcons.push_back("Ballet"); break;
+ }
+ break;
+ case ecgArtsCulture:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Arts_Culture"); break;
+ case 0x01: GenreIcons.push_back("Performing Arts"); break;
+ case 0x02: GenreIcons.push_back("Fine Arts"); break;
+ case 0x03: GenreIcons.push_back("Religion"); break;
+ case 0x04: GenreIcons.push_back("Popular Culture_Traditional Arts"); break;
+ case 0x05: GenreIcons.push_back("Literature"); break;
+ case 0x06: GenreIcons.push_back("Film_Cinema"); break;
+ case 0x07: GenreIcons.push_back("Experimental Film_Video"); break;
+ case 0x08: GenreIcons.push_back("Broadcasting_Press"); break;
+ case 0x09: GenreIcons.push_back("New Media"); break;
+ case 0x0A: GenreIcons.push_back("Arts_Culture Magazine"); break;
+ case 0x0B: GenreIcons.push_back("Fashion"); break;
+ }
+ break;
+ case ecgSocialPoliticalEconomics:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Social_Political_Economics"); break;
+ case 0x01: GenreIcons.push_back("Magazine_Report_Documentary"); break;
+ case 0x02: GenreIcons.push_back("Economics_Social Advisory"); break;
+ case 0x03: GenreIcons.push_back("Remarkable People"); break;
+ }
+ break;
+ case ecgEducationalScience:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Education_Science_Factual"); break;
+ case 0x01: GenreIcons.push_back("Nature_Animals_Environment"); break;
+ case 0x02: GenreIcons.push_back("Technology_Natural Sciences"); break;
+ case 0x03: GenreIcons.push_back("Medicine_Physiology_Psychology"); break;
+ case 0x04: GenreIcons.push_back("Foreign Countries_Expeditions"); break;
+ case 0x05: GenreIcons.push_back("Social_Spiritual Sciences"); break;
+ case 0x06: GenreIcons.push_back("Further Education"); break;
+ case 0x07: GenreIcons.push_back("Languages"); break;
+ }
+ break;
+ case ecgLeisureHobbies:
+ switch (Event->Contents(i) & 0x0F) {
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ case 0x00: GenreIcons.push_back("Leisure/Hobbies"); break;
+ case 0x01: GenreIcons.push_back("Tourism/Travel"); break;
+ case 0x02: GenreIcons.push_back("Handicraft"); break;
+ case 0x03: GenreIcons.push_back("Motoring"); break;
+ case 0x04: GenreIcons.push_back("Fitness & Health"); break;
+ case 0x05: GenreIcons.push_back("Cooking"); break;
+ case 0x06: GenreIcons.push_back("Advertisement/Shopping"); break;
+ case 0x07: GenreIcons.push_back("Gardening"); break;
+ }
+ break;
+ case ecgSpecial:
+ switch (Event->Contents(i) & 0x0F) {
+ case 0x00: GenreIcons.push_back("Original Language"); break;
+ case 0x01: GenreIcons.push_back("Black & White"); break;
+ case 0x02: GenreIcons.push_back("Unpublished"); break;
+ case 0x03: GenreIcons.push_back("Live Broadcast"); break;
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ }
+ break;
+ default: isyslog("skinflatplus: Genre not found: %x", Event->Contents(i));
+ }
}
}
- Genres = ossGenres.str();
// FSK
if( Event->ParentalRating() ) {
text << endl << tr("FSK") << ": ";
@@ -2249,35 +2384,30 @@ void cFlatDisplayMenu::SetEvent(const cEvent *Event) {
if( img ) {
contentHeadIconsPixmap->DrawImage(cPoint(headIconLeft, headIconTop), *img);
headIconLeft -= fontHeight + marginItem;
+ } else {
+ isyslog("skinflatplus: FSK icon not found: %s", *iconName);
+ img = imgLoader.LoadIcon("EPGInfo/FSK/unknown", fontHeight, fontHeight);
+ if( img ) {
+ contentHeadIconsPixmap->DrawImage(cPoint(headIconLeft, headIconTop), *img);
+ headIconLeft -= fontHeight + marginItem;
+ }
}
}
- if( Genres.length() > 0 ) {
- dsyslog("Genre: %s", Genres.c_str());
- std::replace(Genres.begin(), Genres.end(), '/', ',');
- dsyslog("Genre: %s", Genres.c_str());
- size_t pos = 0;
- std::string token;
- std::string delimiter = ",";
- std::list<std::string> listGenre;
- while( (pos = Genres.find(delimiter)) != std::string::npos) {
- token = Genres.substr(0, pos);
- Genres.erase(0, pos + delimiter.length());
- dsyslog("token: %s Genre: %s", token.c_str(), Genres.c_str());
- if( token.length() == 0 )
- continue;
- listGenre.push_back(token);
- }
- listGenre.sort();
- listGenre.unique();
- while( !listGenre.empty() ) {
- cString iconName = cString::sprintf("EPGInfo/Genre/%s", listGenre.back().c_str());
- cImage *img = imgLoader.LoadIcon(*iconName, fontHeight, fontHeight);
+ while( !GenreIcons.empty() ) {
+ cString iconName = cString::sprintf("EPGInfo/Genre/%s", GenreIcons.back().c_str());
+ cImage *img = imgLoader.LoadIcon(*iconName, fontHeight, fontHeight);
+ if( img ) {
+ contentHeadIconsPixmap->DrawImage(cPoint(headIconLeft, headIconTop), *img);
+ headIconLeft -= fontHeight + marginItem;
+ } else {
+ isyslog("skinflatplus: Genre icon not found: %s", *iconName);
+ img = imgLoader.LoadIcon("EPGInfo/Genre/unknown", fontHeight, fontHeight);
if( img ) {
contentHeadIconsPixmap->DrawImage(cPoint(headIconLeft, headIconTop), *img);
headIconLeft -= fontHeight + marginItem;
}
- listGenre.pop_back();
}
+ GenreIcons.pop_back();
}
#ifdef DEBUGEPGTIME
diff --git a/icons/default/EPGInfo/FSK/unknown.png b/icons/default/EPGInfo/FSK/unknown.png
new file mode 100644
index 00000000..645b77cc
--- /dev/null
+++ b/icons/default/EPGInfo/FSK/unknown.png
Binary files differ
diff --git a/icons/default/EPGInfo/FSK/unknown2.png b/icons/default/EPGInfo/FSK/unknown2.png
new file mode 100644
index 00000000..5a0706e7
--- /dev/null
+++ b/icons/default/EPGInfo/FSK/unknown2.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/adventures.png b/icons/default/EPGInfo/Genre/Abenteuer.png
index 005ff7de..005ff7de 100644
--- a/icons/default/EPGInfo/Genre/adventures.png
+++ b/icons/default/EPGInfo/Genre/Abenteuer.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/action.png b/icons/default/EPGInfo/Genre/Action.png
index ebd8a3ea..ebd8a3ea 100644
--- a/icons/default/EPGInfo/Genre/action.png
+++ b/icons/default/EPGInfo/Genre/Action.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/actions2.png b/icons/default/EPGInfo/Genre/Action2.png
index 0f8cd3df..0f8cd3df 100644
--- a/icons/default/EPGInfo/Genre/actions2.png
+++ b/icons/default/EPGInfo/Genre/Action2.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Adult Movie_Drama.png b/icons/default/EPGInfo/Genre/Adult Movie_Drama.png
new file mode 100644
index 00000000..d71b1a9e
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Adult Movie_Drama.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Adventure_Western_War.png b/icons/default/EPGInfo/Genre/Adventure_Western_War.png
new file mode 100644
index 00000000..c348372c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Adventure_Western_War.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Athletics.png b/icons/default/EPGInfo/Genre/Athletics.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Athletics.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Ballet.png b/icons/default/EPGInfo/Genre/Ballet.png
new file mode 100644
index 00000000..c421d37c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Ballet.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Comedy.png b/icons/default/EPGInfo/Genre/Comedy.png
new file mode 100644
index 00000000..ba51a814
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Comedy.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Detective_Thriller.png b/icons/default/EPGInfo/Genre/Detective_Thriller.png
new file mode 100644
index 00000000..1047aae2
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Detective_Thriller.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Documentary.png b/icons/default/EPGInfo/Genre/Documentary.png
new file mode 100644
index 00000000..aa879fad
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Documentary.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/documentary.png b/icons/default/EPGInfo/Genre/Dokumentation.png
index f08ea46f..f08ea46f 100644
--- a/icons/default/EPGInfo/Genre/documentary.png
+++ b/icons/default/EPGInfo/Genre/Dokumentation.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Equestrian.png b/icons/default/EPGInfo/Genre/Equestrian.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Equestrian.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Erotik.png b/icons/default/EPGInfo/Genre/Erotik.png
new file mode 100644
index 00000000..a0cba9cd
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Erotik.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Erotik2.png b/icons/default/EPGInfo/Genre/Erotik2.png
new file mode 100644
index 00000000..5bf69502
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Erotik2.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Fantasie.png b/icons/default/EPGInfo/Genre/Fantasie.png
new file mode 100644
index 00000000..b00225ac
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Fantasie.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Folk_Tradional Music.png b/icons/default/EPGInfo/Genre/Folk_Tradional Music.png
new file mode 100644
index 00000000..c421d37c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Folk_Tradional Music.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Football_Soccer.png b/icons/default/EPGInfo/Genre/Football_Soccer.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Football_Soccer.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Game Show_Quiz_Contest.png b/icons/default/EPGInfo/Genre/Game Show_Quiz_Contest.png
new file mode 100644
index 00000000..150150c2
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Game Show_Quiz_Contest.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Historisch.png b/icons/default/EPGInfo/Genre/Historisch.png
new file mode 100644
index 00000000..75988f8a
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Historisch.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Horror.png b/icons/default/EPGInfo/Genre/Horror.png
new file mode 100644
index 00000000..d601f031
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Horror.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Jazz.png b/icons/default/EPGInfo/Genre/Jazz.png
new file mode 100644
index 00000000..c421d37c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Jazz.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/comedy.png b/icons/default/EPGInfo/Genre/Komödie.png
index 193020ed..193020ed 100644
--- a/icons/default/EPGInfo/Genre/comedy.png
+++ b/icons/default/EPGInfo/Genre/Komödie.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/comedy2.png b/icons/default/EPGInfo/Genre/Komödie2.png
index 66008085..66008085 100644
--- a/icons/default/EPGInfo/Genre/comedy2.png
+++ b/icons/default/EPGInfo/Genre/Komödie2.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/crime.png b/icons/default/EPGInfo/Genre/Krimi.png
index e436e107..e436e107 100644
--- a/icons/default/EPGInfo/Genre/crime.png
+++ b/icons/default/EPGInfo/Genre/Krimi.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Martial Sports.png b/icons/default/EPGInfo/Genre/Martial Sports.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Martial Sports.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Motor Sport.png b/icons/default/EPGInfo/Genre/Motor Sport.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Motor Sport.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Movie_Drama.png b/icons/default/EPGInfo/Genre/Movie_Drama.png
new file mode 100644
index 00000000..cd58061a
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Movie_Drama.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Music_Ballet_Dance.png b/icons/default/EPGInfo/Genre/Music_Ballet_Dance.png
new file mode 100644
index 00000000..c421d37c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Music_Ballet_Dance.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Musical_Opera.png b/icons/default/EPGInfo/Genre/Musical_Opera.png
new file mode 100644
index 00000000..c421d37c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Musical_Opera.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Musik.png b/icons/default/EPGInfo/Genre/Musik.png
new file mode 100644
index 00000000..24c4f9a8
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Musik.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Märchen.png b/icons/default/EPGInfo/Genre/Märchen.png
new file mode 100644
index 00000000..f72344e0
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Märchen.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Rock_Pop.png b/icons/default/EPGInfo/Genre/Rock_Pop.png
new file mode 100644
index 00000000..c421d37c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Rock_Pop.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Roman.png b/icons/default/EPGInfo/Genre/Roman.png
new file mode 100644
index 00000000..6358e8c0
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Roman.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Romance.png b/icons/default/EPGInfo/Genre/Romance.png
new file mode 100644
index 00000000..c98a274c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Romance.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Science Fiction_Fantasy_Horror.png b/icons/default/EPGInfo/Genre/Science Fiction_Fantasy_Horror.png
new file mode 100644
index 00000000..adc539ba
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Science Fiction_Fantasy_Horror.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Science-Fiction.png b/icons/default/EPGInfo/Genre/Science-Fiction.png
new file mode 100644
index 00000000..1cacb15d
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Science-Fiction.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Serious_Classical Music.png b/icons/default/EPGInfo/Genre/Serious_Classical Music.png
new file mode 100644
index 00000000..c421d37c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Serious_Classical Music.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Serious_Classical_Religious_Historical Movie_Drama.png b/icons/default/EPGInfo/Genre/Serious_Classical_Religious_Historical Movie_Drama.png
new file mode 100644
index 00000000..f415befa
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Serious_Classical_Religious_Historical Movie_Drama.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Show_Game Show.png b/icons/default/EPGInfo/Genre/Show_Game Show.png
new file mode 100644
index 00000000..150150c2
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Show_Game Show.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Soap_Melodrama_Folkloric.png b/icons/default/EPGInfo/Genre/Soap_Melodrama_Folkloric.png
new file mode 100644
index 00000000..c98a274c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Soap_Melodrama_Folkloric.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Spiel.png b/icons/default/EPGInfo/Genre/Spiel.png
new file mode 100644
index 00000000..e0699f92
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Spiel.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Sport Magazine.png b/icons/default/EPGInfo/Genre/Sport Magazine.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Sport Magazine.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Sport.png b/icons/default/EPGInfo/Genre/Sport.png
new file mode 100644
index 00000000..37f34c28
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Sport.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Sports.png b/icons/default/EPGInfo/Genre/Sports.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Sports.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Team Sports.png b/icons/default/EPGInfo/Genre/Team Sports.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Team Sports.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Tennis_Squash.png b/icons/default/EPGInfo/Genre/Tennis_Squash.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Tennis_Squash.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Thriller.png b/icons/default/EPGInfo/Genre/Thriller.png
new file mode 100644
index 00000000..91db7292
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Thriller.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Water Sport.png b/icons/default/EPGInfo/Genre/Water Sport.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Water Sport.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Western.png b/icons/default/EPGInfo/Genre/Western.png
new file mode 100644
index 00000000..948b8ddd
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Western.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/Winter Sports.png b/icons/default/EPGInfo/Genre/Winter Sports.png
new file mode 100644
index 00000000..7ea16e45
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/Winter Sports.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Action.png b/icons/default/EPGInfo/Genre/g_Action.png
new file mode 100644
index 00000000..3d29e730
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Action.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Action2.png b/icons/default/EPGInfo/Genre/g_Action2.png
new file mode 100644
index 00000000..9a79c298
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Action2.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Erotik.png b/icons/default/EPGInfo/Genre/g_Erotik.png
new file mode 100644
index 00000000..90b2755c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Erotik.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Fantasie.png b/icons/default/EPGInfo/Genre/g_Fantasie.png
new file mode 100644
index 00000000..9cca154c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Fantasie.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Horror.png b/icons/default/EPGInfo/Genre/g_Horror.png
new file mode 100644
index 00000000..38f197e0
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Horror.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Komödie.png b/icons/default/EPGInfo/Genre/g_Komödie.png
new file mode 100644
index 00000000..7b313678
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Komödie.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Krimi.png b/icons/default/EPGInfo/Genre/g_Krimi.png
new file mode 100644
index 00000000..9b67ed6f
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Krimi.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Märchen.png b/icons/default/EPGInfo/Genre/g_Märchen.png
new file mode 100644
index 00000000..c15a722c
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Märchen.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Thriller.png b/icons/default/EPGInfo/Genre/g_Thriller.png
new file mode 100644
index 00000000..7cca988d
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Thriller.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/g_Western.png b/icons/default/EPGInfo/Genre/g_Western.png
new file mode 100644
index 00000000..c9ab13d9
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/g_Western.png
Binary files differ
diff --git a/icons/default/EPGInfo/Genre/unknown.png b/icons/default/EPGInfo/Genre/unknown.png
new file mode 100644
index 00000000..6c712c72
--- /dev/null
+++ b/icons/default/EPGInfo/Genre/unknown.png
Binary files differ