vdb86/screensaver.digitalclock

Skin Mimic-LR not supported?

Closed this issue · 10 comments

Hi! Thank You for this great screensaver. I have been using it for a long time.

Recently I started using the skin Mimic-LR ( https://forum.kodi.tv/forumdisplay.php?fid=218 ), and on that skin my layout looks like this :

image

On any other skin with the same screensaver settings it looks like this :

image

I have noticed, that in the folder "addons\screensaver.digitalclock\resources\skins\default\720p" there is only "skin.mimic.xml" ... but the skin is called "mimic-lr"
also all the changes I make in the screensaver settings page are saved in "userdata\addon_data\skin.mimic.lr\settings.xml" file ... not in "userdata\addon_data\screensaver.digitalclock\settings.xml"

I have contacted the maintaner of the skin and this is the reply I have got :

//
These are questions that probably should be asked of the screensaver plugin maintainer.

I've installed that screen saver and taken a look. It appears to keep most of its settings under addon_data/screensaver.digitalclock/settings.xml, (which is proper), but appears to be putting color selections in the skin settings. Generally, a plugin putting settings anywhere other than it's own plugins settings is frowned upon. I'm not sure why it's putting the colors in the skin settings. Perhaps there's an expectation that skinners will want to take over those properties and set the settings for the colors as part of the skin settings (example, logic in the settings which sets a "theme" that sets those colors as well as the normal skin ones)

From the look of the resources/defaults diriectory in the addons, I notice 2 things:

  1. It appears to be written with 720p displays in mind, while most skins are now designed for 1080p displays, so I'm not sure if those scale properly or not.
  2. The vast majority of those skin defaults are for old skins (pre Matrix, and pre Leia) but the code falls back to skin.default.xml as the display if it cannot find one matching the skin. Presumably, if you just copy the skin.mimic.xml to skin.mimic.lr.xml, it will then pick that up. (a diff between the mimic one and default.xml only shows the mimic as having a couple font size differences though)

Perhaps there was an expectation that (similar to how a skin can "support" other plugins) that a skin could provide it's own xml for the display, but I do not see anything in the python code that would allow that. it appears to hard-code the plugin path for the xml file.

//

The screensaver looks like this on Windows x86/x64, Libreelec Generic x64, Libreelec RPi3 and XBian RPi3.

Could You please take a look at this problem? Thanx!

vdb86 commented

Hi!
Glad you like it!
Let me explain how things were done and why:

  • First of all I'm not a developer, I learned Python by myself to be able to make this screensaver - in my opinion this was always missing in Kodi, and after talking to several people on the forum I realized no one was going to make it.

  • Each skin needs to have it's own file because screensavers can't define their own fonts.
    So everytime someone asks me to support some new skin I have to create a new file and make sure proper fonts are being used.
    As the forum page says: If the skin is in the official repository it will be supported

  • The screensaver was made with 720p as all skins back then were 720p. Upgrading it to 1080p would be a crazy amount of work (more on this later). Everything scales properly, all images look nice, so there shouldn't be any real difference between using 720p and 1080p.

  • The colors are saved in the skin settings as the screensaver uses color picker, which was made for skins and not for screensavers, I have no control over this.

When I started making this screensaver I had no idea what I was doing, I had to learn Python and read so much Kodi documentation - which was poorly written and on top of that made for skinning, not for screensavers.
Kodi actually doesn't really support screensavers, it just allows them.
A lot of settings are just for skins, so screensaver creators find ways to make some things work.

This screensaver used to have a nice bounce effect, which got broken by Kodi, I've spent months investigating how and why, and trying to fix it, without any success unfortunately.

I'll check out current skins and update the list a bit, we'll see if I'll push an official version to the repo as that's always a headache...

If I haven't answered some of your questions, or if you need more info please let me know.

Thank You for the quick replay ( Hvala na brzom odgovoru ) !

Could You contact the developer ot the skin ( randallspicher ), because this "error" appeared after his most recent skin update.

Keep up the great work!

vdb86 commented

Which error are you referring to?

vdb86 commented

I see what's the problem and I can't fix this.
The file Font.xml in \addons\skin.mimic.lr\1080i is not properly filled out.
It needs to have proper font definitions (which font, what's the name, size etc).
That can be done only by the skin developer.

Take a look at other skins and their Font.xml and you'll see what I'm talking about.

vdb86 commented

The developer removed all those definitions 16 days ago:
randallspicher/skin.mimic.lr@5fc606f

No idea why, but without them my screensaver can't work properly.

I get it ... Thank You for checking it.

By editing the Font.xml, I got back the original look. Thanks!

I added these lines into Font.xml in "addons\skin.mimic.lr\1080i\Font.xml" and it is back to nomal again :

    <font>
        <name>font12</name>
        <filename>weblysleekuil.ttf</filename>
        <size>26</size>
    </font>
    <font>
        <name>WeatherTemp</name>
        <filename>weblysleekuil.ttf</filename>
        <size>120</size>
    </font>
    <font>
        <name>font14</name>
        <filename>Assistant-Light.ttf</filename>
        <size>35</size>
    </font>

Thank You again for Your time and help.

vdb86 commented

Please keep in mind that that file will be overwritten when the skin updates.

Not my first rodeo :) But thanks for the headsup!