2 lists in one View
#46
Some time ago I made a request, I wanted a list with all the songs for an artist without albums... the answer was this, and it works great!

Code:
<content>musicdb://artists/$INFO[ListItem.DBID]/*</content>


Now I was wondering if there could be a way to get all the movies for a set... I have tried:

Code:
<content>videodb://movies/titles/$INFO[ListItem.Label]/*</content>

...when I'm in a movieset, but it doesn't work...

Thanks!
If I have helped you or increased your knowledge, please click the 'thumbs up' button to give thanks :)
Reply
#47
Yeah clicking trough the Album like an iPod.
Thats a good idea.
I do think with the increasing power of the hardware also Kodi needs to keeps up. More Features in Skinning are a must. Like graphic acceleration for transparent milk like textures. Only my wish.
Reply
#48
So close...change titles in to "sets", and Label in to "DBID"
I use this for custom infodialog sets
https://github.com/Angelinas1/Aeonmq6-Le...o.xml#L646
Code:
videodb://movies/sets/$INFO[ListItem.DBID]/
XBoxMediaCenter (Kodi Matrix ) 19.3 , AndroidBox -Matrix Skin AeonMQ6
Reply
#49
Thank you angelinas!
If I have helped you or increased your knowledge, please click the 'thumbs up' button to give thanks :)
Reply
#50
Is there a skin that uses this already? I am learning to do some custom skinning to suit my needs and I’d like to use multiple lists in moves for things like Oscar winners but read By through walls of code can be confusing if I can’t “play” with it. Just how my brain works.

Also, if anyone has been able to get this to work based off of a directory of playlists that would generate on list and show the returns of each playlist in a second with a third column showing the info for the selected item in the second list.

Hoping I can figure this all out but some help in the right direction would be awesome.
Reply
#51
I’ve been going through the code posted by some great Skinner’s here but having issues figuring out what exactly I’m looking for in order to get my lists working.

I’m trying to do something fairly simple, I think. Have a left list that is visible for files (playlists) and a Center list that shows the results within the focused file of the left list. Then a right panel which shows results (artwork, director, tag info) from the Center list.

I’ve missed a view from the skin I’ve been messing with and I have the right box set up working off the middle which currently is the last result after multiple clicks.

Looking st the posted code I can’t figure out what populated the second list panels from the first. There’s just something I’m not understanding and can’t decode myself. Can anyone offer some help to decypher what I’m not able to on my own? I’m sure once I figure this one part out the rest will just fall into place as the rest of everything I’ve been doing has after the eureka moment.

Thank you.
Reply
#52
Thanks to some very helpful and generous guidance by Angelinas I have my double lists view working though there are still a few kinks to iron out. I'll post his helpful information here for others to use as well.

To pull information from the first list for the second list when the first list is populated with smart playlist files worked perfect.

Code:
<content>$INFO[ListItem.FolderPath]</content>

His info for finding variables from the second list for a variables.xml

Code:
<value condition="Control.HasFocus(XX)">$INFO[Container(XX).ListItem.Art(poster)]</value>

And this also leads to pulling info directly from the main view by using 

Code:
Container(XX).ListItem.

With this info and some more tinkering I have most things working as I'd like. I am now looking at 3 issues I'd like to resolve.

First, I have the following visible from my previous cloned view that provides additional on screen info based on the playlist that was selected in that view. I'd like the same information provided in my new view, pulled from the focused playlist in my first list which shows the results in the second list.

Code:
<visible>stringcompare(Container.folderpath,special://skin/playlists/video/XXXX.xsp)</visible>

I have tried <visible>stringcompare(Container(XX).folderpath,special://skin/playlists/video/XXXX.xsp)</visible> but to no avail. I'm a bit stuck here. Once I figure this visible out a ton of things fall into line, much like when I figured out my first variable above.

Second has to do with how information in the second list is sorted. Many playlists are simple, I'd like them sorted by year in descending order. Others would not work well with that specific ordering. Each smart playlist has rules for order with the direction noted but that information doesn't appear to be pulled properly. order by sorttitle and top250 works but order by year does not. This could be the wrong place to ask about smart playlists but hoping someone has some advice in this area.

**Figured this part out. Just needed to add the onright controls for the other categories.** I'm also having trouble with built in categorizes like Director and Genre. These double lists populate but I am only able to control the left list and can't move over to the right list to scroll through the results of each category. I'm sure this is something silly I've missed.

Last item is the left list, specifically when it's made up of playlists, is still clickable. Angelinas offered a suggestion to deactivate the onclick on the left list (only) but it didn't take. It's not the end of the world but would be great to fix as well.
Reply
#53
Quote:Last item is the left list, specifically when it's made up of playlists, is still clickable. Angelinas offered a suggestion to deactivate the onclick on the left list (only) but it didn't take. It's not the end of the world but would be great to fix as well.

What did you try for the onclick? If you used <onclick></onclick> maybe try a noop between the two tags. If that does not work, you might be out of luck on this one. While quite often you can override certain gui element behaviour with skin code, sometimes Internal Kodi code will hardcode a particular gui elements behaviour. And thus will ignore anything that you might code for a code block. It can be a PITA if it stops you from doing something you want, but I can also understand why the devs might think this is a bad idea in some cases. This tends to be the case for tags with pre=assigned id numbers and the usual trick we use is to use a duplicate of the code block with a non assigned id number and hide the orginal code block with a visible tag. Then you pull labels or the state of the button from the original and assign the same to your duplicate. Doing this for a list is a lot more involved than using the trick with a button for example.

Wyrm
Reply
#54
It was suggested 
Code:
<onclick condition="Container.Content(movies)">Setfocus(XXX)</onclick>
but that didn't work.

I tried your suggestion as well but still nope. It's not a huge deal because it just opens the second list in a new screen and that's basically what I had before I tried to combine everything to a single screen so it's not like the view gets all messed up or anything and you can easily escape back out.

What I'd really like to figure out is how to get the middle lists to follow the sorting described in the focused playlists, specifically for year because top250 and sorttitle already work. And to get my substring based on focused playlist to work for my visible. Those 2 things about all I can think of to make this view complete!
Reply
#55
(2018-06-24, 15:44)K0D1User1138 Wrote: What I'd really like to figure out is how to get the middle lists to follow the sorting described in the focused playlists, specifically for year because top250 and sorttitle already work. And to get my substring based on focused playlist to work for my visible. Those 2 things about all I can think of to make this view complete!
Now have no idea if this will work, but you could try assigning $INFO[Container.SortMethod] to a skin string and then in your content tag for the middle list, use the skin string as a parameter for the content tags sort order. This is getting into ‘deep magic’ territory and the ‘DEVS’ tm, may not be pleased. I think I will stand back a bit and watch for the lightning strike.

All fun aside, here is a small hint that might help in your endeavours. Try to see what Kodi is assigning to $INFO’s. Previously I just used label commands displyed somewhere on screen to see the state of an $INFO I was interested in, but there is addon available that you can use to show this information in a web browser which is damned handy. Will see if I can’t find a link to it here in the forum when I get to my main system instead of this silly iPad I’m on at the moment.

Wyrm
Reply
#56
I'm not sure I follow what you mean by "skin string".

What's perplexing to me is that the middle list WILL sort by the playlist described sort method for some things, but NOT for year. Why does sorttitle and top250 work but not year? It actually makes the order completely random when using year but I can see the IMDB Top 250 listed from 1 to 250. Just odd behavior. 

So far I've tested and have working sorttitle, top250, genre and studio

Year, director and country just give a seemingly random order.

Most others default to alphabetical order.

I should further add that these sorting rules do all work in a less complicated view. So there's some disconnect between the year order and being the second list. Might this have something to do with the right slide-out panel that only controls the order of the first list?

Further thought. Is it possible to use the content string to specify individual playlists? Like having multiple visibles? Then the content sort order can be used without overriding every other playlist.

The more I think about it the more I'm betting it has to do with the right slide-out panel sort options. In this view I only have 4 in that panel, Name, Size, Date and File. I'm not sure how to edit those options to try and remove Date and see if that fixes my second list sorting issues.


With skinning, like many other things, sometimes it's easy to fully understand how parts work but sometimes you simply know that "this" works and how making a minor modification can change the results. Getting my visible to work is the second example. I don't know who it worked before just that it did and what I could change to affect what I needed. So adapting it to the new way I need it to work I just don't understand yet.
Reply
#57
@K0D1User1138 ,

You can only get so far with "change it and see what happens" before you start running into major roadblocks.  I would bookmark this section of the Wiki.  In particular the Kodi skinning manual provides a wealth of information regarding programming the skin engine.

Probably the first point to look at in the skin manual is section 7 which will go some way to explain what you need to setup your second list.  There is a lot of information in the wiki, although you might have to dig to find things that are relevant to your problem at hand. I do remember having seen a section on sort methods in there somewhere, just can't find it at the moment.

Just warning you, as far as sorting is concerned there are only certain sort modes supported in certain sections.  If the sort mode you are trying to use is not supported, your results will probably be a bit random (ie, anything could and does happen).  The supported sort modes can also vary depending on which version of Kodi you are running.  Newer version of Kodi tend to support more sort modes and it is all dependant on if one of the devs a/ knows the particular section of code responsible and b/ has an interest to make the required change. As with all open source projects, limited people to work on the project and those people have limited time to dedicate to the project, so they work on what they are interested in.

Best of luck,
Wyrm
Reply
#58
I refer to the wiki quite often. Unfortunately without a stronger HTML background there are some things that just compute from reading the wiki or aren't immediately obvious. Plus I don't learn at my best by simply reading text books. So I ask and I tinker and I ask some more. Believe me, I've done a lot of modding to the skin I started with and learning how things work.

I still have a suspicion that the year sort method not working in the second list is due to the date sort method in the slide-out control panel that controls the overall "main" view controls. That would explain why certain other sort methods in the playlists works. If I can figure out how to edit/change those left-list controls then I'd be able to confirm my suspicion but I'm a but lots in the woods looking for those controls.

And my visible control just doesn't make sense yo me. I'm having a tricky time learning more about stringcompare. ** Just read something about StringCompare going away with Kodi18? If so, now I'm a bit more lost.

As always the advice and help is greatly appreciated. That's how we all get to learn!
Reply
#59
Nice that my idea spreads around. Are there some Codes out to share?
Reply
#60
(2018-06-25, 09:40)K0D1User1138 Wrote: And my visible control just doesn't make sense yo me. I'm having a tricky time learning more about stringcompare. ** Just read something about StringCompare going away with Kodi18? If so, now I'm a bit more lost.
 https://forum.kodi.tv/showthread.php?tid...pid2477324
Reply

Logout Mark Read Team Forum Stats Members Help
2 lists in one View1