Trying to update skin
#1
I have been using Cirrus Extended for many years now and prefer this skin. Unfortunately It doesn't work beyond kodi 15. I thought I would look into how to update the skin to work on newer versions of Kodi. When I try to use the skin in V18 it says the dependencies are not met. After doing some reading of the skinning manual I tried some changes to the addon.xml file to see if I could get more detail identification of the problem. The full addon.xml code is listed below. What I tried was changing:

Code:
<import addon="xbmc.gui" version="5.10.0" />
to
Code:
<import addon="xbmc.gui" version="5.14.0" />

This allowed the skin to be enabled in V18 and listed the other dependencies as loaded. Then I tried to change to this skin and it fails and reloads confluence. The link to the logs below shows how the skin loads fine in V15 but fails in V18. It looks like to me there is a problem with the textures. In the media folder there are files named Textures.xbt and Stone Silver.xbt. I thought the .xbt format is the correct format. As you can tell I am new at this so any help will be greatly appreciated. 


log V15  log V18
Code:
<?xml version="1.0" encoding="UTF-8"?>
<addon id="skin.cirrus.extended" name="Cirrus Extended" version="3.4.1" provider-name="butchabay,paradix,YoHan">
<requires>
<import addon="xbmc.gui" version="5.10.0" />
<import addon="service.skin.widgets" version="0.0.31" />
<import addon="service.library.data.provider" version="0.1.3" />
<import addon="script.artistslideshow" version="1.8.5" />
<import addon="script.artwork.downloader" version="13.1.0" />
<import addon="script.simpleplaylists" version="1.1.1" />
<import addon="script.favourites" version="6.0.0" />
<import addon="script.image.resource.select" version="0.0.9"/>
</requires>
<extension point="xbmc.gui.skin" defaultresolution="720p" defaultresolutionwide="720p" defaultthemename="textures.xbt" effectslowdown="0.75" debugging="false">
<res width="1280" height="720" aspect="16:9" default="true" folder="720p" />
</extension>
<extension point="xbmc.addon.metadata">
<summary lang="en">skin created by crookas - modded by butchabay, malexx and more.</summary>
<description lang="en">mod based on cirrus</description>
<disclaimer lang="en">use the skin at your own risk :)</disclaimer>
<platform>all</platform>
<license>GNU GENERAL PUBLIC LICENSE. Version 3, June 2007</license>
<source>https://github.com/paradix/skin.cirrus.extended</source>
<forum>http://forum.kodi.tv/showthread.php?tid=153704</forum>
<email>[email protected]</email>
</extension>
</addon>
Reply
#2
You'll need to go through all the skin changes over the last 3 versions -

Changes to the skinning engine for Kodi Jarvis

Changes to the skinning engine for Kodi Krypton

Changes to the skinning engine for Kodi Leia
Reply
#3
I strongly recommend you get a github account and use that to get a handle on what is probably is a significant project.  You can get the current files, including the sources of the xbt compacted skin textures.  Fork this: https://github.com/paradix/skin.cirrus.extended and clone it to your computer.  Create a new branch based on the release/jarvis branch and use that new branch for your updates.

It probably is better to try to get it krypton compatible, then leia in that order rather than try to get there in one jump.  Keep in mind some stuff in krypton are deprecated but still work, but were removed in leia.  So go ahead and update things that are listed as deprecated.

scott s.
.
Reply
#4
Scott, Thanks for that GitHub link. I was wondering what I was going to have to do about any new textures. I am currently working on the Krypton update trying to combine the dialog and settings xml files. I think I have the dialog xml file fixed but now trying to understand all the stepping files that need combining.
Reply
#5
BTW your textures are fine. The reason the skin is failing is because in Krypton DialogConfirm replaced the DialogOk/Progress/YesNo xml files. As a result, you have no confirmation dialog for Kodi to display when switching skins -- i.e. the pop-up that asks if you want to keep the skin doesn't show and subsequently times-out, causing Kodi to revert to previous skin.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
#6
I think I have the DialogConfirm file merged. Now I am working on DialogSettings merger.

Is there a way to test my skin changes before it is totally Krypton compatible? I am working on a Mac with OS 10.14.6.
Reply
#7
have you set up keymap
https://kodi.wiki/view/First_skin_tutorial
https://kodi.wiki/view/Keymap
xml:
<keymap>
   <global>
       <keyboard>
                   <F5>XBMC.ReloadSkin()</F5>
           <F7>Notification(Testing 123,Hello world)</F7>
           <F8>Skin.ToggleDebug()</F8>
       </keyboard>
   </global>
</keymap>
Reply
#8
I still need to add this keymap. My understanding is that this will allow me to quickly reload a functioning skin to see what my changes did. What I am currently working on is updating a skin from Jarvis to Krypton. So once I merge say the appropriate xml files into the DialogConfirm file it will no longer work in Jarvis. But until I make a number of other changes it will also not run in Krypton. I was wondering if there is a way to incrementally view my changes when updating for a version change or if everything has to be completed before I can seem changes?
Reply
#9
I was wondering if there is a way to incrementally view my changes when updating for a version change or if everything has to be completed before I can seem changes?
this may work
take kodi estuary skin

copy hpme.xml
IncludesHomeMainMenu.xml
IncludesHomeMainMenuHorz.xml
IncludesHomeSubmenu.xml
IncludesHomeSubmenuHorz.xml
Includes_Home.xml
Startup.xml
includes.xml
script-skinshortcuts.xml
Variables.xml
SkinSettings.xml
skin.cirrus.extended/media/
Reply
#10
(2020-01-04, 07:22)phillie14586 Wrote: I still need to add this keymap. My understanding is that this will allow me to quickly reload a functioning skin to see what my changes did. What I am currently working on is updating a skin from Jarvis to Krypton. So once I merge say the appropriate xml files into the DialogConfirm file it will no longer work in Jarvis. But until I make a number of other changes it will also not run in Krypton. I was wondering if there is a way to incrementally view my changes when updating for a version change or if everything has to be completed before I can seem changes?

You can still keep the old DialogYesNo DialogOk DialogProgress xml files in there - they just won't be used in Krypton onwards.

Once you have DialogConfirm working, you should be able to get the skin working under Krypton -- there will still be a lot of changes that you need to make, but it should at least open.

The big thing will be going from Krypton to Leia, as a lot of the conditionals that were depreciated in Jarvis/Krypton (e.g. IsEmpty -> String.IsEmpty, StringCompare -> String.Contains) were finally removed and so no longer work in Leia -- whereas both the old and new versions of these conditions will work in Krypton.
Arctic Fuse - Alpha now available. Support me on Ko-fi.
Reply
#11
So I got it to load in Krypton which just shows me how much still needs to be done. At least I am started. I tired making a keymap.xml but it does not seem to work. I have had problems with hidden characters before when cutting and pasting so I typed it in fresh in Xcode. The most response I get from the F keys is when I press F8 a volume indicator slides in and out on the top right of the kodi window. I have tried both K and k in the file name. I have tried this in both Jarvis and Krypton.
Code:
<keymap>
    <global>
        <keyboard>
            <F5>XBMC.ReloadSkin()</F5>
            <F7>Notification(Testing 123, Hello World)</F7>
            <F8>Skin.ToggleDebug()</F8>
        </keyboard>
    </global>
</keymap>
Reply
#12
The keymap.xml file needs to go in the keymaps directory in your userdata directory.  Guessing Xcode means Mac so that should make the userdata location /Users/<your_user_name>/Library/Application Support/Kodi/userdata/.

Also, the keymap that I have is as follows

xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<keymap>
    <global>
        <keyboard>
            <F6>Skin.ToggleSetting(DebugGrid)</F6>
            <F7>Skin.ToggleDebug</F7>
            <F5>ReloadSkin()</F5>
            <zero>Screenshot</zero>
        </keyboard>
    </global>
</keymap>

You should be able to cut/paste that fine.  Works fine with V19 but not completely sure that it'll work with V17.  You might still need XBMC.ReloadSkin() but I haven't checked the builtins for Krypton to see if that has changed or not.
Learning Linux the hard way !!
Reply
#13
Thanks. I had it in the wrong place.
Reply
#14
That's one advantage of Windows, you can have multiple isolated installs of Kodi in portable mode, but I don't think Mac allows that.  You might want to check out sublime text 3 as there is a package avail to help with Kodi skinning, though I haven't used it.

scott s.
.
Reply
#15
(2020-01-04, 22:51)scott967 Wrote: That's one advantage of Windows, you can have multiple isolated installs of Kodi in portable mode, but I don't think Mac allows that.  You might want to check out sublime text 3 as there is a package avail to help with Kodi skinning, though I haven't used it.

scott s.
.
The closest you can get to Portable mode on Mac is to create separate user accounts and use the account switcher to pop between them.  I do that on my Mac development machine so I can test Kodi 19 while still running Kodi 18 on my main user account (to have both binaries I named one of the Kodi 19).
Reply

Logout Mark Read Team Forum Stats Members Help
Trying to update skin0