Extending a skin through a service addon
#1
Hi All,
I am writing a service addon that displays dynamic information when video is played. I am achieving this by modifying the VideoFullscreen.xml file with additional controls. I am wondering if this could be achieved from the addon itself; therefore the controls will be added to any user selected skin. Is there any way to extend VideoFullscreen.xml of the skin being used with additional controls from the service addon.
Thanks.
Reply
#2
i'm not sure if that's possible.

you could use the Window class to add controls to existing windows,
but iirc all controls in VideoFullscreen.xml need to have an id="1".
as far as i can tell from our python docs it's not possible to assign an id.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#3
Thanks for the pointer. I don't think there is any such restriction on the control as I am able to pass IDs like of any integer in the xml file.

When we create image control there is a restriction that the image file be packed in the special file inside media folder. Do you know if such restrictions are there when image control is created using Python from adding? I would really appreciate any pointer to an existing addon that may do this.
Reply
#4
yeah, but i think you can't pass any id from python at all.
as a result the controls won't show up in the fullscreen video window.
but go ahead, it wouldn't hurt to try if you can get it to work.

you can just provide the images you need with your addon, that should not be a problem at all.

i have no idea which addons are using the Window class to add control to an existing window.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply
#5
Ok thanks. I will update you how it goes.
Reply
#6
I also found some clues here: http://forum.kodi.tv/showthread.php?tid=212811
xbmcgui.Window(id) returns the existing window with given id; This object can be used to add controls.
In my case, I just had to:
win = xbmcgui.Window(12005)
win.addControl(Control)

This works fine. But the added control will disappear if skin is changed. But will appear again the next time the device is restarted. This is not a problem in my use case.

I notice that the python API only exposes only a subset of features available in XML file. Or am I missing something. For exampe, fadetime in imagecontrol and shadowcolor in labelcontrol.
Reply
#7
yup the Window class only provides a subset of what is normally available to skins.
Do not PM or e-mail Team-Kodi members directly asking for support.
Always read the Forum rules, Kodi online-manual, FAQ, Help and Search the forum before posting.
Reply

Logout Mark Read Team Forum Stats Members Help
Extending a skin through a service addon0