Quantcast
Channel: Kodi Community Forum - Skinning
Viewing all 1801 articles
Browse latest View live

[split] RFC: Extended artwork type naming

$
0
0
(2018-05-19, 00:41)Karellen Wrote: @Rantanplan-1

Most skins display the movie set overview- Transparency!, Rapier, Estuary and Estuary Mod to name a few in both v17 and v18. Not all viewtypes display it though, so you will need to scroll through all the different viewtypes until you find one that displays the overview.

Discussion on overview is here, which includes discussion on movieset artwork... https://forum.kodi.tv/showthread.php?tid=325413
 Am i right that "overview" was implementet in v17 Krypton, but is supported and works only in v18?
In the actual kodi wiki (i guess currently only valid for v17) on InfoLabels ListItem commands nothing is documented
https://kodi.wiki/view/InfoLabels
But on this documentation for v18 a command is documented
https://codedocs.xyz/AlwinEsch/kodi/grou...titem.html

I replace some .xml lines with a "ListItem.setoverview" in a kodi v17 skin but nothing happened.

Am I right that "setoverview" is only working for v18?

(Please do not confuse with SkinHelper Commands, with Skinhelper.ListItem.Plot i also will get a set overview with v17 skins, but only with 1) Skinhelper Addon 2) deposited API 3) only when on Internet 4) only the Data on TMDB and not the Data in Local Information .nfo's.)

Do you or another Team-Kodi member know more about that?

InstallAddon command line

$
0
0
l have try something like this line, of course doesn't work.
Is there a way to put specific location for addon and instal the same
Any suggestions or help.

<onclick>InstallAddon(addonbrowser,addons://install/special://skin/system/Install/,return)</onclick>


Thank in advance

Set Property by "Alarm" - and- (Control.GetLabel() / Attempt to highlight the selelec

$
0
0
Hello

Goal is to find a Hack to highlight the Active (/selected) Channel Group in "DialogPVRGroupManager.xml" in List id="13"

the Main Problem is that i cant (String-)Compare to a "Control.GetLabel(22)" in a List, therefore i try to finde a workaround. (Skin.String seems also not to work inside a List.)

so what i try was this:

    <onload>AlarmClock(SetSelectedChannelGroupName,SetProperty(SelectedChannelGroup,$INFO[Control.GetLabel(22)],home),00:01,silent,loop)</onload>
    <onunload>XBMC.CancelAlarm(SetSelectedChannelGroupName,true)</onunload>
    <onunload>Skin.Reset(SelectedChannelGroup)</onunload>

and inside the List to highlight the Item of the "Active" Channelgroup this:

    <control type="label">
        <width>500</width>
        <textcolor>SelectedColor</textcolor>
        <label>$INFO[ListItem.Label]</label>
       <visible>String.Contains(Window(home).Property(SelectedChannelGroup)),ListItem.Label)</visible>
   </control>

which didnt work.

Doesnt this work beacause i try to set the property outside of the contro-ltags via "Control.GetLabel()?

Is there may another solution to achive what im after (simply show the "selected color" for the selected "ChannelGroup" Item.)?

Regards.


-----------------
EDIT:
Did now also try to overlay the list id=13" with a grouplist filled with labels

no idea why the <visible> doesnt work here, from my understanding it shuld:

<control type="grouplist">
                <left>foo</left>
                <top>foo</top>
                <width>foo</width>
                <height>foo</height>
                <itemgap>0</itemgap>
                <orientation>vertical</orientation>
                
                <control type="label">
                    <width>226</width>
                    <height>66</height>
                    <label>$INFO[Container(13).ListItemAbsolute(0).Label]</label>
                    <textcolor>NoTextColor</textcolor>
                    <visible>!String.Contains(Control.GetLabel(22),Container(13).ListItem.Label)</visible>
                </control>
                <control type="label">
                    <width>226</width>
                    <height>66</height>
                    <label>$INFO[Container(13).ListItemAbsolute(0).Label]</label>
                    <textcolor>SelectedColor</textcolor>
                    <visible>String.Contains(Control.GetLabel(22),Container(13).ListItem.Label)</visible>
                </control>

                ...

i can easely show "Control.GetLabel(22)" and "Container(13).ListItem.Label" as a label in this grouplist, so why doesnt the <visible> work? (its always true. Oo )

set user rating, add to custom playlist & custom navigation

$
0
0
Hi all.

Searched & searched in wiki, forum and kodi's source and couldn't find anything helpful, so maybe someone here got any ideas or tell me if it's just impossible atm.
Solution could be through addon/skin, but i just need a direction here...

1. Like/Dislike button
I want to have a clickable that sets a ''like''/''dislike'' property for media items (specifically tvshows/episodes & movies).
I had 3 ideas for that but none that i currenty know enoguh to implement.
(a) using kodi's native SET MY RATING. eg, like=#defaultnumer(8), dislike=#defaultnumber(3).
Problem is that I could not decipher how to set specific rating value on click. Not through skin nor through script.
Advantage for this method is that i can then filter playlists using that method.
(b) Setting a custom listitem property. Like skinhelper.Like that returns true/false, or something along these lines...
It is my understanding that this external listitem properties are calculated online, meaning, that it is not stored in a db and so not functional for this.
© Setting a "like" tag. this could also be used for playlist which is great, but I couldn't figure out how to set a tag in the first place and then how would i read it in the skin (contains?),
 also wiki says that tags cannot be changed which is not that great for this.

2. Add to list
I basically want to add a video item to mixed media playlist ON CLICK. this should be pretty straight forward. again, didn't find info on how to implement if even possible, maybe through super favourites? The main issue is that i want a button to add to playlist auto with no dialog, this would be a custom playlist that the skin maintains...

3. Custom navigation
(a) Entering dialog info onclick - yeah i know this can be set up by kodi settings. but i noticed in embuary that it does exactly this regardless.
It would be great if i could determine when to enter dialog onclick and when not to...
(b) Return from EPISODE/SEASON LEVEL to dialog info.
So I currently able to get to the season/episode level of tvshows from dialog (with play button), question is, can i get back to dialog with ONBACK?
Maybe through custom window/dialog?

Thanks.

Close window on empty list container

$
0
0
The context is playlists. I restrict access to myplaylist.xml if no items are queued and boot the user if the list is cleared via the built-in function but this leaves individual deletions unaccounted for. Is it possible to somehow close/replace a window when numitems goes to zero?

I suspect not but no harm in asking.

Skin Repo

$
0
0
Hello, I do not know where to write this in. That's why I'm doing this here. I've created a repo with skins for Kodi 17 and 18 in it. But now I liked that only the skins for Kodi 17 or only for 18 are displayed on the Kodi versions. Unfortunately, all skins are displayed to me. Is there a solution?

Overall background color/image

$
0
0
Pretty basic question, but I can't figure it out. Basically what happens is that in the transition from the main menu to the movie/series list, I get a 1-second-long white background. It's really annoying because the background I use is a dark image.

                 <control type="multiimage">
                    <fadetime>0</fadetime>
                    <imagepath>general/background.png</imagepath>
                    <aspectratio>stretch</aspectratio>
                </control>

Obviously the problem here is that Kodi's current default background is just white (probably because it's undefined on any .xml file), so how do I change the default background image or color Kodi uses?

v18 - Integer.IsEqual or Integer.IsLess and ListItem.Duration does not work for me

$
0
0
This line in a variable does not work for me:
<value condition="Integer.IsLess(ListItem.Duration(mins)),60">$INFO[ListItem.Duration(mm),,m]</value>

The condition is not true, even if $INFO[ListItem.Duration(mins)] returns values under 60, e.g. 45 or 55
If movielength < 60 then show length in minutes

Can someone help me out or is this a Kodi18 bug?
Thx

v18 - strings.po issues

$
0
0
Running into some weirdness converting from the old .xml format. A number of my labels are not displaying and it seems every one that is broken is specifically avoided by Confluence with a comment to that effect (e.g., #empty string with id 31094). Interestingly, Estuary makes no such exceptions but I haven't checked to see if those IDs are used or working.

Is the entire range - 31000 thru 31999 - not available to skinners and, if not, do we know why not?

The other issue is no matter which English I choose in settings... the values are pulled from en_gb. Same behavior with Estuary and Confluence. Bug or am I missing something?

Show info of focused item first (instead of entering right away)

$
0
0
I am aware that there is a built-in option for this, but it applies to all videos, and the skin I'm working on only considers this for movies. So I want Enter to open a TV episode right away, but for Enter to show info on movies. From this thread, I disabled the option to show info and then added this to the movie view:

                <control type="grouplist">
                    <control type="button" id="9999">
                    <onclick>Action(info)</onclick>
                    </control>
                </control>

It doesn't work though. I'm not sure where to place it, nor understand the id="" stuff so it might be that. What I do know is that my DialogVideoInfo.xml has a hidden button that opens the movie with:

                <control type="grouplist">
                    <control type="button" id="97">
                        <onclick>SendClick(8)</onclick>
                        <onup>Back</onup>
                        <ondown>Back</ondown>
                        <onleft>Back</onleft>
                        <onright>Back</onright>
                    </control>
                </control>

This is the entire view:

<?xml version="1.0" encoding="UTF-8"?>
<includes>
    <include name="Viewtype_50_List">
        <control type="group">
            <visible>Control.IsVisible(50)</visible>
                <control type="multiimage">
                    <fadetime>320</fadetime>
                    <imagepath>general/background.png</imagepath>
                    <aspectratio>stretch</aspectratio>
                </control>
                <control type="grouplist">
                    <control type="button" id="99">
                    <onclick>Action(info)</onclick>
                    </control>
                </control>
                <control type="fixedlist" id="50">
                    <width>1920</width>
                    <height>1080</height>
                    <onup>50</onup>
                    <ondown>50</ondown>
                    <focusposition>3</focusposition>
                    <orientation>vertical</orientation>
                    <itemlayout height="160" width="1920">
                        <control type="image">
                            <aligny>center</aligny>
                            <left>100</left>
                            <width>80</width>
                            <aspectratio>keep</aspectratio>
                            <texture background="true">$INFO[ListItem.Icon]</texture>
                            <colordiffuse>80EEEEEE</colordiffuse>
                        </control>
                        <control type="label">
                            <aligny>center</aligny>
                            <left>225</left>
                            <width>600</width>
                            <height>150</height>
                            <font>Reg30</font>
                            <textcolor>80CFCFCF</textcolor>
                            <label>$INFO[ListItem.OriginalTitle]</label>
                        </control>
                        <control type="image">
                            <top>75</top>
                            <align>center</align>
                            <height>25</height>
                            <aspectratio>keep</aspectratio>
                            <texture background="true">rating/none.png</texture>
                        </control>
                        <control type="image">
                            <top>75</top>
                            <align>center</align>
                            <height>25</height>
                            <aspectratio>keep</aspectratio>
                            <texture background="true">$INFO[ListItem.UserRating,rating/,.png]</texture>
                            <colordiffuse>80EEEEEE</colordiffuse>
                        </control>
                        <control type="label">
                            <aligny>center</aligny>
                            <left>1100</left>
                            <width>600</width>
                            <height>150</height>
                            <font>Light30</font>
                            <textcolor>80CFCFCF</textcolor>
                            <label>$INFO[ListItem.Director]</label>
                        </control>
                        <control type="label">
                            <top>60</top>
                            <left>1650</left>
                            <width>250</width>
                            <height>150</height>
                            <font>Light30</font>
                            <textcolor>80CFCFCF</textcolor>
                            <label>$INFO[ListItem.Year]</label>
                        </control>
                        <control type="image">
                            <bottom>0</bottom>
                            <left>100</left>
                            <width>88%</width>
                            <height>2</height>
                            <aspectratio>stretch</aspectratio>
                            <texture background="true">general/separator.png</texture>
                        </control>
                    </itemlayout>

                    <focusedlayout height="180" width="1920">
                        <control type="group">
                            <animation effect="zoom" time="120" start="100" end="105" center="auto" tween="Back" easing="Out">Focus</animation>
                            <control type="image">
                                <top>-100</top>
                                <width>1950</width>
                                <height>380</height>
                                <aspectratio>scale</aspectratio>
                                <texture background="true">general/focus_item.png</texture>
                            </control>
                            <control type="image">
                                <aligny>center</aligny>
                                <left>100</left>
                                <width>100</width>
                                <aspectratio>keep</aspectratio>
                                <texture background="true">$INFO[ListItem.Icon]</texture>
                            </control>
                            <control type="fadelabel">
                                <aligny>center</aligny>
                                <left>250</left>
                                <width>580</width>
                                <font>Bold42</font>
                                <textcolor>FFFFFFFF</textcolor>
                                <label>$INFO[ListItem.OriginalTitle]</label>
                                <textwidth>580</textwidth>
                                <scroll>false</scroll>
                            </control>
                            <control type="image">
                                <top>75</top>
                                <align>center</align>
                                <height>30</height>
                                <aspectratio>keep</aspectratio>
                                <texture background="true">rating/none.png</texture>
                            </control>
                            <control type="image">
                                <top>75</top>
                                <align>center</align>
                                <height>30</height>
                                <aspectratio>keep</aspectratio>
                                <texture background="true">$INFO[ListItem.UserRating,rating/,.png]</texture>
                            </control>
                            <control type="label">
                                <aligny>center</aligny>
                                <left>1100</left>
                                <width>600</width>
                                <font>Light42</font>
                                <textcolor>FFFFFFFF</textcolor>
                                <label>$INFO[ListItem.Director]</label>
                                <textwidth>480</textwidth>
                            </control>
                            <control type="label">
                                <aligny>center</aligny>
                                <left>1600</left>
                                <font>Light42</font>
                                <textcolor>FFFFFFFF</textcolor>
                                <label>$INFO[ListItem.Year]</label>
                            </control>
                        </control>
                    </focusedlayout>
                </control>
        </control>
    </include>
</includes>

Dissappearing label when opening video

$
0
0
All my labels look like this:

                            <control type="label">
                                <aligny>center</aligny>
                                <left>250</left>
                                <width>580</width>
                                <font>Bold42</font>
                                <textcolor>FFFFFFFF</textcolor>
                                <label>$INFO[ListItem.OriginalTitle]</label>
                                <textwidth>580</textwidth>
                                <scroll>false</scroll>
                            </control>

Very simple. Now, when I open the movie, right before it loads, I can see this and all other labels for the focused item, disappear - and then come back when I close the movie. A solution I found was changing "label" to "fadelabel". The problem is that if I do that, they then disappear when I bring up the dialogue of another window.

I'd ask in the thread of the script, but since I don't think they should disappear with just "label", I'm wondering what's going on.

condition to wait for a panel container has loaded

$
0
0
Hi, 

i have modified a skin to add panel container at home screen. but if i click on a button before the panel has fully loaded kodi hangs. So i want to try and delay buttons container from viewing until the panel container is fully loaded. 

visibility and enable tags are what i tried to work with, but for hours with wiki look up, without a solution Sad I am not an expert in this field, so would be great if someone could help on this.

into video

$
0
0
hi all,
i added to my startup.xml file the following line in order to play a video from that path when Kodi starts but from some reason it only works on Windows platform and not Android or Linux.
What do i need to added for it to work?
    <onload condition="Skin.HasSetting(Enable.StartupIntro)">PlayMedia(special://skin/extras/intro.mp4)</onload>
    <onload condition="!System.HasAddon(script.skin.helper.service)">ReplaceWindow($INFO[System.StartupWindow])</onload>

Thanks

Skin Help for Using Fonts for Use By My Skin

$
0
0
Newbie learning to create skins ... Ive been looking for days and cannot figure this one out.  Any information you can provide would be greatly appreciated.  I am creating my own skin, I want to add my own font names and fonts to be used by my skin... regardless of what the Kodi Skin has defined.  Basically, I want to define my fonts only in my skin overriding the Kodi skin.  i understand that I will need to add a Font.xml file as well as define the fonts... somewhere... do I need a Fonts Folder? can someone help me determine where the fonts folder as well as the font.xml needs to be placed in order for my skin to use these at run-time ?

how to make Side Panel appear on top of the rest of controls on screen

$
0
0
I am creating a GUI using a python addon. One part of GUI is a Panel that Slides in and out from the Left hand side (just like Confluence - MyVideoNav.XML).

If you look closely at the MyVideoNav.xml, there is a shadow/border that makes the Side bar appear on top of the rest of the controls. How do I add that effect to my Panel ?

My side panel comprises of an dark background image that is 720 x 150 pixels, the Panel List item labels are white and when focused they are Yellow. The main screen area has a lighter background.

I have tried using <shadowcolor></shadowcolor>,  <bordertexture></bordertexture> and <zorder>1</zorder> but didn't get an effect any closer to how it looked in confluence.

Is there an inbuilt texture that I should be using for shadows ?

Thanks,

Does the sequence of control tags make any difference to skin speed? (i.e. )

$
0
0
A simple and possibly silly question.

As the title says. Will placing <visible> for the first line of the control speed up the skin. (i am trying to understand how kodi parses the skin xml's)

wraplist control animation - condition to check if moving forward or backwards

$
0
0
I'm trying out some animation in a WrapList control and in this I have <itemlayout> smaller than <focusedlayout>. My focused item stays in center in this and is zoomed in. I've setup delay, start, end position for the animation and it all looks good and smooth ONLY if I am going forward.

The problem is when I'm going backwards - then the animation start and end make the animation jarring (jerky/jumpy). I think if I can add a condition to the animation so that I can choose different start and end position when going forward vs when going backwards then I can achieve smooth motion in both direction.

Can someone please advice on how to check if I am going forward or backwards in a wraplist.

Here is my code:

          <control type="wraplist" id="120"> <!-- Icon and Title -->
                    <viewtype label="3D list">list</viewtype>
                    <orientation>horizontal</orientation>
                    <pagecontrol>25</pagecontrol>
                    <focusposition>3</focusposition>
                    <autoscroll>false</autoscroll>
               <left>60</left>
               <top>290</top>
               <width>1210</width>
               <height>420</height>
               <onleft>2051</onleft>
               <onright>60</onright>
               <onup>52</onup>
               <ondown>52</ondown>
               <scrolltime tween="Quadratic" easing="in">250</scrolltime>
               <preloaditems>10</preloaditems>
               <pagecontrol>60</pagecontrol>
               <itemlayout height="340" width="164">
                    <control type="image"> <!-- thumbnail -->
                         <left>8</left>
                         <top>140</top>
                         <width>150</width>
                         <height>200</height>
                         <info>ListItem.Icon</info>
                    </control>
               </itemlayout>
               <focusedlayout height="340" width="260">
                    <control type="image">
                         <left>1</left>
                         <top>0</top>
                         <width>258</width>
                         <height>340</height>
                         <info>ListItem.Icon</info>
                         <animation effect="zoom" delay="250" start="102,140,150,200" time="200">focus</animation>
                         <animation effect="zoom" delay="250" end="8,140,150,200" time="200">unfocus</animation>
                    </control>
               </focusedlayout>
          </control>

Sortletter-jump-list without SkinHelper (?)

$
0
0
Hello everyone

I try to do a Sortletter jump list without the need of Skinhelper. (not shure if Possible)

I tdid try to use a static list with "oncklick" Action(shift,A). shouldnt this Action work?


 <item>
       <label>A</label>
       <onclick>Action(shift,A)</onclick>
       <visible></visible>
 </item>
Quote:Note that SHIFT-B on the keyboard will take you to the B's.

the whole include fore testing prupose looks like this:

<include name="SortletterJumpList">
    
        <control type="list" id="1020">
            <right>30</right>
            <top>25</top>
            <width>50</width>
            <height>1030</height>
            <onup>1020</onup>
            <ondown>1020</ondown>
            <onright>60</onright>
            <onleft condition="!Skin.HasSetting(KioskMode)">3001</onleft>
            <orientation>vertical</orientation>
            <viewtype label="$LOCALIZE[535]">list</viewtype>
            <scrolltime tween="sine" easing="out">240</scrolltime>
            <visible></visible>

            <itemlayout height="50" width="50">
                    
                <control type="label">
                    <left>0</left>
                    <width>50</width>
                    <height>50</height>
                    <font>Font33</font>
                    <label>$INFO[ListItem.Label]</label>
                    <textcolor>TextColor2</textcolor>
                </control>
                    
            </itemlayout>

            <focusedlayout height="50" width="50">
                    
                <control type="label">
                    <left>0</left>
                    <width>50</width>
                    <height>50</height>
                    <font>Font33</font>
                    <label>$INFO[ListItem.Label]</label>
                    <textcolor>TextColor1</textcolor>
                    <shadowcolor>ShadowColor</shadowcolor>
                    <animation effect="fade" start="100" end="50" time="200" tween="cubic" easing="out" reversible="true" condition="!Control.HasFocus(1020)">Conditional</animation>
                </control>
    
            </focusedlayout>
            
            <content>
            
                <item>
                    <label>A</label>
                    <onclick>Action(shift,A)</onclick>
                    <visible></visible>
                </item>
                <item>
                    <label>B</label>
                    <onclick>Action(shift,B)</onclick>
                    <visible></visible>
                </item>
                <item>
                    <label>C</label>
                    <onclick>Action(shift,C)</onclick>
                    <visible></visible>
                </item>
                <item>
                    <label>D</label>
                    <onclick>Action(shift,D)</onclick>
                    <visible></visible>
                </item>
                <item>
                    <label>E</label>
                    <onclick>Action(shift,E)</onclick>
                    <visible></visible>
                </item>
                <item>
                    <label>F</label>
                    <onclick>Action(shift,F)</onclick>
                    <visible></visible>
                </item>
                <item>
                    <label>G</label>
                    <onclick>Action(shift,G)</onclick>
                    <visible></visible>
                </item>
                
            
            </content>

        </control>
    </include>

EDIT:
The Reason why i try to do it without Skinhelper is, that i try to avoid to much script stuff in the Skin. + theres a hope it could be faster that way.

Basic conditional for TV Shows

$
0
0
I'm wondering what's the standard way for having a DialogVideoInfo that adjusts to whether the container is a Movie or a TV Show. I'm thinking it'd be something along the lines of having two major groups within the file, one with a <visible></visible> that appears if it's a movie, and one that appears if it's a TV episode. I don't know how to refer to that though.

I'm also interested on a conditional that appears only if the container doesn't have a plot.

v16 - Creating A Skin In Visual Studio?

$
0
0
Can I make a new kodi skin using Visual Studio? More or less like Launchbox Bigbox theme customization

If yes can someone please just give me a headstart (Just where to find the files and so on) it's going to be easier as I use visual studio regularly..

Thank you.
Nasr A.

P.S: I meant skin in the title (Obviously)...
Viewing all 1801 articles
Browse latest View live