Skin engine enhancements (themes, guide colors, skin functions, weather settings...) (1 Viewer)

elliottmc

Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    Hi Mark,

    I think that error message is actually coming from the Avalon plugin. I've seen it too and they have a skin upgrade/download feature. I'll double check though.

    It is strange that I only see this message when I have that particular string in the EPG colour list, and then it over-writes the string from MediaPortal.xml.bak. I have verified this behaviour a couple of times, so I am pretty confident that it is related (or maybe the message has nothing to do with the string but it still breaks EPG colouring.

    Try this.

    1. Fill your MediaPortal.xml with EPG colouring entries that don't correspond to any real categories, so that you don't have any EPG colouring. Run MP so that MediaPortal.xml.bak

    2. Edit MediaPortal.xml to use correct categories, but use the string I quoted above in one of them. Now run MP.

    You would expect to see colours for most of the categories, but not the one for the string I quoted.

    In fact, you won't (or I don't) see any colouring in the EPG, because just having that problem string in there means that the entire section is copied back from MediaPortal.xml (or the file itself is restored - I didn't check anything else).

    Mark
     

    larsbln

    MP Donator
  • Premium Supporter
  • June 12, 2010
    337
    62
    Germany
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    since I can't test two builds I could find out how many different genres there are in German tv. Does that help?
     

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    since I can't test two builds I could find out how many different genres there are in German tv. Does that help?

    Well, I don't think it would hurt to have a list of keywords. We really need Andy to comment.

    Mark
     

    ajp8164

    Portal Pro
    January 9, 2008
    575
    1,166
    Atlanta, GA
    Home Country
    United States of America United States of America
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    since I can't test two builds I could find out how many different genres there are in German tv. Does that help?

    Well, I don't think it would hurt to have a list of keywords. We really need Andy to comment.

    Mark

    When I put together something in the MP config utility I'll be querying your tv database. It won't matter much whats in there but it would be up to the end user to define their own mapping to a set of MP genres (genres with color assignments). The tool may be able to do some guessing for initial setup ("like" pattern matching. What I will define is some out of the box MP genres. The ones I have in the current implementation are taken directly from MS media center. They are:

    • Documentary
    • Kids
    • Movie
    • Music
    • News
    • Special
    • Sports

    Of course these strings will need to be localized. Hopefully I'll be able to put together the config tool this week..
     

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    Hi Andy,

    Have you tested with

    <entry name="Kids">childrens's youth program (general)</entry>

    in MediaPortal.xml ?

    As I reported, if this is in there, my MediaPortal.xml is over-written with data (or the complete file) from MediaPortal.xml.bak

    I know that the log entry I highlighted may not be relevant. If you can't reproduce the problem, I will do more digging in my logs.

    Mark
     

    ajp8164

    Portal Pro
    January 9, 2008
    575
    1,166
    Atlanta, GA
    Home Country
    United States of America United States of America
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    Hi Andy,

    Have you tested with

    <entry name="Kids">childrens's youth program (general)</entry>

    in MediaPortal.xml ?

    As I reported, if this is in there, my MediaPortal.xml is over-written with data (or the complete file) from MediaPortal.xml.bak

    I know that the log entry I highlighted may not be relevant. If you can't reproduce the problem, I will do more digging in my logs.

    Mark

    Hi Mark,

    Just went through several rounds of very specific testing and I cannot reproduce MP picking up MediaPortal.xml.bak. This is what I do know though:

    • The error message "Exception while attempting to read upgrade xml file Input string was not in a correct format." definitely comes from the Avalon plugin. When I loaded Avalon first (used the Config tool to set the skin) I got the error. When I switched to DefaultWide (again using the Config tool) and start MP I did not get the error message. I search the entire MP code base for this error string; not there. Google'd the string (maybe it was coming from a 3p library), no hit's aside from MP forums. All MP forum hits had to do with skin plugins (similar to Avalon, though not Avalon - must have shared source code at some point). Thought about it for a few minutes and decided to change the label in avalon.version.xml from "Avalon v1.0.0.0 FEAT-3779" back to "Avalon v1.0.0.0"... this single change made the error message go away. During all of these tests I had the genre string you provided in MediaPortal.xml.
    • Parsing a MediaPortal.xml string with an apostrophe in it is not a problem. MP uses the standard, out of the box xml parse library supplied in the sdk and there is nothing in the string handling that would cause MP to revert to using the bak file.
    • I never observed MP selecting the bak file.
    • I am running an updated build (I'll post immediately following this post).

    Perhaps there is some other syntax problem in your MediaPortal.xml file that is preventing MP from being able to create the internal representation of the xml document. The only reason MP will try to read the bak file (and subsequently delete the initial xml file) is if it is syntactically incorrect. Make sure you have full closure on all your tags and pay attention to "/" in the closing tags (I know you know this already ;-)
     

    larsbln

    MP Donator
  • Premium Supporter
  • June 12, 2010
    337
    62
    Germany
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    Okay I went throught the german DVB-C EIT data and there are just 9 genre's and I think the same as you allready have.

    -Education
    -Kids
    -News
    -Movies
    -Current affairs
    -Arts
    -Entertainment
    -Lifestyle
    -Sport

    But when it comes to the data of clickfinder( which is part of the tvserver and a native plugin) there are alot more genre's.
    At this point I'm talking about xml2tv data so I#ve extracted whats inside the <category> tags.

    We definetly need a wordlist for that. I'm gathering data of all channels in clickfinder and try to find a way to assign most of them to the categorys above.

    Okay after analysis of 80.000 entries there are more words for genres but not as much as I thought.


    -Education: Bildung, Forschung, Geschichte, Natur, Tiere
    -News: Nachrichten, Politik
    -Movies: Fernsehfilm, Spielfilm, Zeichentrick, Kurzfilm, Kurz-Trickfilm
    -Current affairs: Dokumentarfilm, Esskultur, Lotterie, Soziales, Talkshow, Verkehr
    -Arts: ernstes Theater, Kunst, Literatur
    -Entertainment: Abenteuerserie, Actionserie, Arzt-Hospital, Comedy, Familienserie, Jugendserie, Krimiserie, Science-fiction, Unterhaltendes
    -Lifestyle: große Abendshow, Mode, Musik, Quiz, Recht, Reisen, Religion, Technik, Wirtschaft
    -Sport: Sport

    So the category words (like News, Movies etc.) don't appear in the clickfinder data but the subwords that I tried to assign to the categorys based on the EIT data.
    I#m sure there are more since clickfinder uses descriptive words as a genre and no fixed genres.
     

    Attachments

    • epg_xml.rar
      6.3 MB

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    Quick dump from the TsWriter

    Code:
    case 0x0100: strcpy(genreText,"movie/drama (general)" );break;
    case 0x0101: strcpy(genreText,"detective/thriller" );break;
    case 0x0102: strcpy(genreText,"adventure/western/war" );break;
    case 0x0103: strcpy(genreText,"science fiction/fantasy/horror" );break;
    case 0x0104: strcpy(genreText,"comedy" );break;
    case 0x0105: strcpy(genreText,"soap/melodram/folkloric" );break;
    case 0x0106: strcpy(genreText,"romance" );break;
    case 0x0107: strcpy(genreText,"serious/classical/religious/historical movie/drama" );break;
    case 0x0108: strcpy(genreText,"adult movie/drama" );break;
    
    case 0x010E: strcpy(genreText,"reserved" );break;
    case 0x010F: strcpy(genreText,"user defined" );break;
    
    // News Current Affairs
    case 0x0200: strcpy(genreText,"news/current affairs (general)" );break;
    case 0x0201: strcpy(genreText,"news/weather report" );break;
    case 0x0202: strcpy(genreText,"news magazine" );break;
    case 0x0203: strcpy(genreText,"documentary" );break;
    case 0x0204: strcpy(genreText,"discussion/interview/debate" );break;
    case 0x020E: strcpy(genreText,"reserved" );break;
    case 0x020F: strcpy(genreText,"user defined" );break;
    
    // Show Games show
    case 0x0300: strcpy(genreText,"show/game show (general)" );break;
    case 0x0301: strcpy(genreText,"game show/quiz/contest" );break;
    case 0x0302: strcpy(genreText,"variety show" );break;
    case 0x0303: strcpy(genreText,"talk show" );break;
    case 0x030E: strcpy(genreText,"reserved" );break;
    case 0x030F: strcpy(genreText,"user defined" );break;
    
    // Sports
    case 0x0400: strcpy(genreText,"sports (general)" );break;
    case 0x0401: strcpy(genreText,"special events" );break;
    case 0x0402: strcpy(genreText,"sports magazine" );break;
    case 0x0403: strcpy(genreText,"football/soccer" );break;
    case 0x0404: strcpy(genreText,"tennis/squash" );break;
    case 0x0405: strcpy(genreText,"team sports" );break;
    case 0x0406: strcpy(genreText,"athletics" );break;
    case 0x0407: strcpy(genreText,"motor sport" );break;
    case 0x0408: strcpy(genreText,"water sport" );break;
    case 0x0409: strcpy(genreText,"winter sport" );break;
    case 0x040A: strcpy(genreText,"equestrian" );break;
    case 0x040B: strcpy(genreText,"martial sports" );break;
    case 0x040E: strcpy(genreText,"reserved" );break;
    case 0x040F: strcpy(genreText,"user defined" );break;
    
    // Children/Youth
    case 0x0500: strcpy(genreText,"childrens's/youth program (general)" );break;
    case 0x0501: strcpy(genreText,"pre-school children's program" );break;
    case 0x0502: strcpy(genreText,"entertainment (6-14 year old)" );break;
    case 0x0503: strcpy(genreText,"entertainment (10-16 year old)" );break;
    case 0x0504: strcpy(genreText,"information/education/school program" );break;
    case 0x0505: strcpy(genreText,"cartoon/puppets" );break;
    case 0x050E: strcpy(genreText,"reserved" );break;
    case 0x050F: strcpy(genreText,"user defined" );break;
    
    case 0x0600: strcpy(genreText,"music/ballet/dance (general)" );break;
    case 0x0601: strcpy(genreText,"rock/pop" );break;
    case 0x0602: strcpy(genreText,"serious music/classic music" );break;
    case 0x0603: strcpy(genreText,"folk/traditional music" );break;
    case 0x0604: strcpy(genreText,"jazz" );break;
    case 0x0605: strcpy(genreText,"musical/opera" );break;
    case 0x0606: strcpy(genreText,"ballet" );break;
    case 0x060E: strcpy(genreText,"reserved" );break;
    case 0x060F: strcpy(genreText,"user defined" );break;
    
    case 0x0700: strcpy(genreText,"arts/culture (without music, general)" );break;
    case 0x0701: strcpy(genreText,"performing arts" );break;
    case 0x0702: strcpy(genreText,"fine arts" );break;
    case 0x0703: strcpy(genreText,"religion" );break;
    case 0x0704: strcpy(genreText,"popular culture/traditional arts" );break;
    case 0x0705: strcpy(genreText,"literature" );break;
    case 0x0706: strcpy(genreText,"film/cinema" );break;
    case 0x0707: strcpy(genreText,"experimental film/video" );break;
    case 0x0708: strcpy(genreText,"broadcasting/press" );break;
    case 0x0709: strcpy(genreText,"new media" );break;
    case 0x070A: strcpy(genreText,"arts/culture magazine" );break;
    case 0x070B: strcpy(genreText,"fashion" );break;
    case 0x070E: strcpy(genreText,"reserved" );break;
    case 0x070F: strcpy(genreText,"user defined" );break;
    
    case 0x0800: strcpy(genreText,"social/political issues/economics (general)" );break;
    case 0x0801: strcpy(genreText,"magazines/reports/documentary" );break;
    case 0x0802: strcpy(genreText,"economics/social advisory" );break;
    case 0x0803: strcpy(genreText,"remarkable people" );break;
    case 0x080E: strcpy(genreText,"reserved" );break;
    case 0x080F: strcpy(genreText,"user defined" );break;
    
    case 0x0900: strcpy(genreText,"education/science/factual topics (general)" );break;
    case 0x0901: strcpy(genreText,"nature/animals/environment" );break;
    case 0x0902: strcpy(genreText,"technology/natural science" );break;
    case 0x0903: strcpy(genreText,"medicine/physiology/psychology" );break;
    case 0x0904: strcpy(genreText,"foreign countries/expeditions" );break;
    case 0x0905: strcpy(genreText,"social/spiritual science" );break;
    case 0x0906: strcpy(genreText,"further education" );break;
    case 0x0907: strcpy(genreText,"languages" );break;
    case 0x090E: strcpy(genreText,"reserved" );break;
    case 0x090F: strcpy(genreText,"user defined" );break;
    case 0x0A00: strcpy(genreText,"leisure hobbies (general)" );break;
    case 0x0A01: strcpy(genreText,"tourism/travel" );break;
    case 0x0A02: strcpy(genreText,"handicraft" );break;
    case 0x0A03: strcpy(genreText,"motoring" );break;
    case 0x0A04: strcpy(genreText,"fitness & health" );break;
    case 0x0A05: strcpy(genreText,"cooking" );break;
    case 0x0A06: strcpy(genreText,"advertisement/shopping" );break;
    case 0x0A07: strcpy(genreText,"gardening" );break;
    case 0x0A0E: strcpy(genreText,"reserved" );break;
    case 0x0A0F: strcpy(genreText,"user defined" );break;
    
    case 0x0B00: strcpy(genreText,"original language" );break;
    case 0x0B01: strcpy(genreText,"black & white" );break;
    case 0x0B02: strcpy(genreText,"unpublished" );break;
    case 0x0B03: strcpy(genreText,"live broadcast" );break;
    case 0x0B0E: strcpy(genreText,"reserved" );break;
    case 0x0B0F: strcpy(genreText,"user defined" );break;
    
    case 0x0E0F: strcpy(genreText,"reserved" );break;
    case 0x0F0F: strcpy(genreText,"user defined" );break;
     

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    Hi,

    Ah, so these are coming from TsWriter DVB-EPG data, so we have a clear limit on the data from this source. Thanks!

    Now I can see that the genre that is causing me a problem

    Code:
    case 0x0500: strcpy(genreText,"childrens's/youth program (general)" );break;

    has a bit of a typo.

    It really should be

    Code:
    case 0x0500: strcpy(genreText,"children's/youth program (general)" );break;

    Is fixing this going to cause problems? I appreciate that the genre is stored in the xml file for recordings, so correcting it in TsWriter won't change it for programs that are already recorded.

    Of course other EPG sources will give different genres.

    What happens if you use EPG grabbing from the DVB-T stream in Germany (for example)? Do you still get genres in English, or is there localisation? Edit: I found the code, and it is all hard-coded in English.

    Mark
     

    larsbln

    MP Donator
  • Premium Supporter
  • June 12, 2010
    337
    62
    Germany
    Re: Skin engine enhancements (themes, guide colors, skin functions, weather settings.

    I'm sorry but I dont have a DVB T card yet. :) I can take a look into
    data from epggrabbers like tvinfo.de or tvtoday.de but does that help?
    MP doesnt offer all possible tv logos for every channel so I think the configuration should
    be up to the community. Someone (maybe me) will create and maintain a working set for a epg source.

    I finished analysis of tvinfo.de and tvtoday.de grabber data and turns out that tvinfo.de xml file does not contain any genre information.
    That means no category tag at all .. tvtoday uses a wide variation of categorys like clickfinder so there should be a wordlist for that.
    I managed to find out that tvinfo has genre information on their site as a div class pGenre. Maybe the grabber needs to be updated for that.
    If thats the case tvinfo.de has also a wide but different wording for genres as clickfinder or tvtoday. Would be hard to put them all toghether.

    EDIT:
    BTW, the HD icon is part of your mod if avalon isn't it? Would it be possible to also add a dolby icon? Do I need a modified MP installation or is this possible with regular 1.2.2 version?
     

    Attachments

    • dolby.png
      dolby.png
      6.9 KB

    Users who are viewing this thread

    Top Bottom