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
    I have posted a new build, 4/30. Please see change log in post 2.

    I re-wrote the wiki topic and organized it into two sections; end-user section, and a skinner oriented section. Perhaps these should be two separate pages?

    Mark - "genrenames" is no longer needed in the "genremap" section.

    I am still not sure about how to handle skin specific colors. The ideas generated here are worth studying/considering. What ever path we take needs to be able to scale generically for other similar situations. When I first started looking into this in the first design I considered that the user is selecting a skin on the GUI page of the Configuration tool. I was hoping to be able to take advantage of that and set colors accordingly but I ran into a number of technical issues to do with refreshing the UI when the skin is changed. There is no messaging system in the Configuration tool and all of the settings are cached; the only way I could see to make things work was to reload the entire Configuration tool each time the user changes the selected skin = an ugly kludge.

    Well, if you have an 'import' button that presents a file dialog that only allows you to select 'MediaPortal.xml' and 'skinsettings.xml' then it doesn't matter which skin the user chooses the file from.

    Thanks for the new changes. Ultimately, getting colours from a skin file would be nice to have but not essential. However, genre mapping importing settings I think is a must have!
     

    Lbr_Lion

    Extension Designer
    July 19, 2008
    243
    372
    Home Country
    Netherlands Netherlands
    Hi ajp8164,

    I started to test the new skin functions, but I have an issue to get the skin.setstring function to work:

    I try to write a string to the skin.settings file on a button click (<onclick>) but nothing seems to happen (no error and also nothing is written to the file). Also it is not possible to get the keyboard:

    <control>
    <description>TVGuide rows</description>
    <type>button</type>
    <id>100</id>
    <label>Amount of TVGuide rows</label>
    <onclick>#(skin.setstring(#skin.tvguide.rows))</onclick>
    </control>

    Maybe I missed something, but the skin.togglesetting works fine.

    Thanks,
     

    ajp8164

    Portal Pro
    January 9, 2008
    575
    1,166
    Atlanta, GA
    Home Country
    United States of America United States of America
    Hi ajp8164,

    I started to test the new skin functions, but I have an issue to get the skin.setstring function to work:

    I try to write a string to the skin.settings file on a button click (<onclick>) but nothing seems to happen (no error and also nothing is written to the file). Also it is not possible to get the keyboard:

    <control>
    <description>TVGuide rows</description>
    <type>button</type>
    <id>100</id>
    <label>Amount of TVGuide rows</label>
    <onclick>#(skin.setstring(#skin.tvguide.rows))</onclick>
    </control>

    Maybe I missed something, but the skin.togglesetting works fine.

    Thanks,

    Try this instead:

    <onclick>#(skin.setstring('#skin.tvguide.rows'))</onclick>

    Note the single-quote marks on the setstring() argument. I think the wiki may be incorrect.. Also, I should address the lack of debug output.

    However, I'm not sure this control will do anything for you. Typically you would use something like the following on a checkbutton control to manage a boolean setting.

    <selected>#(skin.hassetting('#skin.tvguide.showgenrekey'))</selected>
    <onclick>#(skin.togglesetting('#skin.tvguide.showgenrekey'))</onclick>

    What are you trying to accomplish? If you're trying to get the keyboard up to set a value then you have to use a skin #define as the argument to setstring() - I think the #define must have been previously declared at the top of the skin file (e.g., <define>#my_var:</define> which will create a define with value equal to empty string). I'm not sure you can pass a #define to setstring() as the value (2nd) parameter to get it saved to the skin settings file. I'd have to look over the implementation (or try it ;-)

    Thanks for testing!
     
    Last edited:

    azzuro

    Test Group
  • Team MediaPortal
  • May 10, 2007
    9,955
    5,628
    France - IDF
    Home Country
    France France
    hi ajp8164 !
    in Mp 1.1 missing controllist exist for adapt logo to skin , this enhancement are already added in Mp 1.3 ?
    Post 1 : Improvement forum
    Post 2 : Topic forum

    Also, it is here, to request a change:
    the PLAY function is identical at MYMUSIC. play all file inside the folder selected in my video. with the button play ( of remote).
    he actually is considered as ENTER on folder
     
    Last edited:

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Hi,

    One possible issue I need to look into. Last night after reinstalling Windows and this version of MP, I tried to enter the radio EPG and there was nothing there. The channel groups were fine, but where the EPG data should be was empty.

    Has the EPG colouring broken radio EPG? I will confirm and provide logs, but would be good if anyone else can check and we know whether it is working for anyone.

    I will check on my server when I get home.

    Mark
     

    Lbr_Lion

    Extension Designer
    July 19, 2008
    243
    372
    Home Country
    Netherlands Netherlands
    Has the EPG colouring broken radio EPG? I will confirm and provide logs, but would be good if anyone else can check and we know whether it is working for anyone.

    It's not working (exactly as you described it) here either .. I'll upload some logs later this evening.

    I checked this also and EPG is broken due to that the Group button is not yet changed into a button3part control in myradioguide.xml.

    When you replace the Group button part with a copy of the TV-Guide Group button (Id 100) out of mytvguide.xml, EPG is works again.
     

    elliottmc

    Retired Team Member
  • Premium Supporter
  • August 7, 2005
    14,927
    6,061
    Cardiff, UK
    Home Country
    United Kingdom United Kingdom
    Has the EPG colouring broken radio EPG? I will confirm and provide logs, but would be good if anyone else can check and we know whether it is working for anyone.

    It's not working (exactly as you described it) here either .. I'll upload some logs later this evening.

    I checked this also and EPG is broken due to that the Group button is not yet changed into a button3part control in myradioguide.xml.

    When you replace the Group button part with a copy of the TV-Guide Group button (Id 100) out of mytvguide.xml, EPG is works again.

    With this change (attached) the EPG is working again, but I can't use the remote to move left to the 'groups' button, and the button does not show the name of the current group. I guess more changes are needed, but nice to know that this is a skin issue, not a code issue.
     

    Lbr_Lion

    Extension Designer
    July 19, 2008
    243
    372
    Home Country
    Netherlands Netherlands
    Hi ajp8164,

    I started to test the new skin functions, but I have an issue to get the skin.setstring function to work:

    I try to write a string to the skin.settings file on a button click (<onclick>) but nothing seems to happen (no error and also nothing is written to the file). Also it is not possible to get the keyboard:

    <control>
    <description>TVGuide rows</description>
    <type>button</type>
    <id>100</id>
    <label>Amount of TVGuide rows</label>
    <onclick>#(skin.setstring(#skin.tvguide.rows))</onclick>
    </control>

    Maybe I missed something, but the skin.togglesetting works fine.

    Thanks,

    Try this instead:

    <onclick>#(skin.setstring('#skin.tvguide.rows'))</onclick>

    Note the single-quote marks on the setstring() argument. I think the wiki may be incorrect.. Also, I should address the lack of debug output.

    However, I'm not sure this control will do anything for you. Typically you would use something like the following on a checkbutton control to manage a boolean setting.

    <selected>#(skin.hassetting('#skin.tvguide.showgenrekey'))</selected>
    <onclick>#(skin.togglesetting('#skin.tvguide.showgenrekey'))</onclick>

    What are you trying to accomplish? If you're trying to get the keyboard up to set a value then you have to use a skin #define as the argument to setstring() - I think the #define must have been previously declared at the top of the skin file (e.g., <define>#my_var:</define> which will create a define with value equal to empty string). I'm not sure you can pass a #define to setstring() as the value (2nd) parameter to get it saved to the skin settings file. I'd have to look over the implementation (or try it ;-)

    Thanks for testing!

    Thanks! The missing single-quotes did the trick and it works now as expected. (I thought I tried it already because I use it also for the togglesetting, but apparently not :confused:)

    My idea is to use this to import a 8 rows or 10 rows tvguide skin file into mytvguide.xml with use of the setstring value (Fixed string linked to a button without keyboard input), but it looks like that the <import> tag can not make use of strings like <import>#skin.guide.rows</import>

    Will this idea be possible?

    Cheers,
     

    Users who are viewing this thread

    Top Bottom