Changing / improving OSMC skin

i am very good at tweaking somthing existing, but have no idea how to add new features, editing a single xml file i can do, but there are so many involved, i am unsure as to how.

to pull the code from the other skin and add it to this one…is way over my head!

is this close for the clickable plot?

			<!-- Plot -->
				<control type="button" id="138">
					<width>754</width>
				    <height>418</height>
					<textoffsetx>40</textoffsetx>
					<textoffsety>20</textoffsety>
					<aligny>bottom</aligny>
					<label></label>
					<onclick condition="!String.IsEmpty(ListItem.Plot)">SetProperty(TextViewer_Header,$LOCALIZE[207],home)</onclick>
					<onclick condition="!String.IsEmpty(ListItem.Plot)">SetProperty(TextViewer_Text,$ESCINFO[ListItem.Plot],home)</onclick>
					<onclick condition="!String.IsEmpty(ListItem.Plot)">ActivateWindow(1102)</onclick>
					<onup>50</onup>
					<onleft>4000</onleft>
					<onright>4000</onright>
					<ondown>5000</ondown>
					<texturenofocus border="21">dialogs/dialogbackground.png</texturenofocus>
					<visible>Integer.IsGreater(Container(4000).NumItems,0)</visible>
				</control>
				<control type="image">
					<left>735</left>
					<width>512</width>
					<height>418</height>
					<aligny>bottom</aligny>
					<texture border="21">dialogs/dialogbackground.png</texture>
					<visible>Integer.IsGreater(Container(4000).NumItems,0)</visible>
				</control>
				<control type="group">
					<top>370</top>
					<width>1170</width>
					<height>210</height>
					<control type="textbox">
						<align>left</align>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>[LIGHT]$VAR[Plot][/LIGHT]</label>
						<autoscroll delay="10000" time="2000" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,S light)</visible>
					</control>
					<control type="textbox">
						<align>left</align>
						<font>Font30</font>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>[LIGHT]$VAR[Plot][/LIGHT]</label>
						<autoscroll delay="10000" time="1900" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,M light)</visible>
					</control>
					<control type="textbox">
						<align>left</align>
						<font>Font33</font>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>[LIGHT]$VAR[Plot][/LIGHT]</label>
						<autoscroll delay="10000" time="1800" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,L light)</visible>
					</control>
					<control type="textbox">
						<align>left</align>
						<font>Font36</font>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>[LIGHT]$VAR[Plot][/LIGHT]</label>
						<autoscroll delay="10000" time="1700" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,XL light)</visible>
					</control>
					
					<control type="textbox">
						<align>left</align>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>$VAR[Plot]</label>
						<autoscroll delay="10000" time="2000" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,S)</visible>
					</control>
					<control type="textbox">
						<align>left</align>
						<font>Font30</font>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>$VAR[Plot]</label>
						<autoscroll delay="10000" time="1900" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,M)</visible>
					</control>
					<control type="textbox">
						<align>left</align>
						<font>Font33</font>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>$VAR[Plot]</label>
						<autoscroll delay="10000" time="1800" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,L)</visible>
					</control>
					<control type="textbox">
						<align>left</align>
						<font>Font36</font>
						<textcolor>$VAR[TextColor2]</textcolor>
						<label>$VAR[Plot]</label>
						<autoscroll delay="10000" time="1700" repeat="12000">True</autoscroll>
						<visible>Skin.String(PlotFont,XL)</visible>
					</control>
				</control>
			</control>

i added the ability to show Duration as Hrs and Mins.

		<!-- Audio/Video Duration -->
	<variable name="Duration">
		<value condition="Container.Content(songs)">$INFO[ListItem.Duration,, ]</value>
		<!--Duration in Mins.-->
		<!--value>$INFO[ListItem.Duration(mins),, $LOCALIZE[12391]]</value-->
		<!--Duration in Hrs.Mins..-->
		<value>$INFO[ListItem.Duration(h)]h $INFO[ListItem.Duration(m)]m</value>
	</variable>

i am making progress with the skin:

i have alot of questions though, i would love to collaborate with you @Chillbo

Very interesting :+1:t2: We’re discussing this in the team as well. The plot texts, their readability and the scrolling have been an issue for a long time, but no solution has yet been perfect.

If there’s something presentable, I’ll post it here. I’m also looking at your ideas :slightly_smiling_face:

i would just remove the scrolling all together, and make it clickable, very easy to read!!

i have a ton on questions for you, LOL

That would be a good idea, if… And the if is the issue. Text box controls can’t be abbreviated with “…” which would make clear that there’s more text which is currently hidden. You can only disable scrolling and the text might end in the middle of a sentence without any indicator that there’s more.
So, scrolling makes sense, but it’s not ideal either as you can’t force scrolling text boxes to reset to the beginning when closing a dialog or window. Sometimes you open a dialog or window and the text is already scrolling. Therefore, you have to wait for it to have scrolled to the end before being able to read the beginning of the text.

As you can see: both approaches are not perfect.

i was not aware they can not be abbreviated, can you have scrolling be activated only when the box is hilighted, focused upon i guess is the term?

reading a plot and seeing it ends abruptly is kinda self explanatory.

is there a way to auto focus on it if it requires to be expanded to read more?

Exactly that is not possible. Don’t ask me why. There’ve been discussions about this on the Kodi forum, but this functionality has never found its way into the skinning engine.

Yes, it is. But at the same time it doesn’t really look good. As basically all text in the skin scrolls (aka does something and isn’t simply cut off) as soon as it’s longer than the control’s dimensions.

The problem is that there’s no way of letting other skin elements “know” that there’s more text in a text box than currently visible.

Text boxes are a bit of a pain.

gotcha, i actually went through my collection and found the longest plot, and resized the box to accommodate the text.

shifting the elements around a bit lends to a larger area for the plot, without looking cluttered

But at the same time we have the option to make plot texts (or description texts for addons) bigger all over the skin. Making the control bigger and moving it a bit won’t solve the issue for all font sizes :dizzy_face:

true, my focus has been on viewtype53 (wall)

Well, that view doesn’t have any plot text. Except, if you use the wall - info view. But also the info dialog’s plot text is adjustable in font size.

the DialogVideoInfo i meant…

Here it is adjusted, with font set to M

and here set to L

how do i call the code from the includes file for the metadata i placed at the top to display on the DialogVideoInfo window?

I’m working on a second information page for the info dialog as we speak…

Here’s how it looks at this point - not yet completely done though.

The More… buttons switches to the second page:

Asking me how to call it or am I not getting this question? :thinking:

1 Like

Great idea.

I would like to chime in, and ask for bigger poster option in wall-info view.
Thanks.

The poster on the left? I’ll look into it, but spacing has to be kept in mind. :wink:

Yes, exactly. I would like them to be bigger. I have seen skins with option for posters: big or small.

Oh, sry. I think, I got you wrong about which view it is. Wall info, not list info, right?
Wall info has the text on the left and slightly bigger posters on the right than the small wall view as it’s kind of based on the small wall view. I could look into making it two instead of three rows and thus allowing the posters to be bigger.

I’ll put this on the request list. At this time I’m not working on views, but I’ll look into it :+1:t2:

EDIT: see next post of mine here

1 Like