A couple questions about playlist

Hi everybody.

I have a complete MAME 2016 set of roms with snap and title PNGs. As you can imagine they are not easily manageable by any frontend without some categorization.

I wrote myself some scripts to create playlist for roms based on catver.ini categories, and they work fine. Retroarch reads the file I created, shows one playlist for each file with all games inside and also matches the thumbnails. All fine and dandy, but still there are some issues to solve.

I have for example some playlists that are very long. I could separate them in several playlists, but then the number of the playlists, which is quite long already, would become uncomfortable to navigate in the XMB menu.

So, I have some questions

  1. can playlist be nested? Can I put a sub-playlist under a playlist so to get a navigable menu like those of the config menu, for example?

  2. Can every playlist entry have it’s own icon instead of the generic -content icon?

  3. Can some other info be added on the frontend other that the left and right thumbnail? I’d like to add a third picture or maybe some other info from files, like year or manufactuer of the game. I’m skilled in programming and html so if to achieve this there’s some coding to do it does not worry me…

  1. no
  2. not currently, no
  3. The menu code is in C and is pretty difficult to work with. However, the new Qt UI should be a lot easier to work with, if you’d like to add your desired functionality to it.

Thanks for answering.

Actually, my gaming platform would be a NVidia Shield, to the regular XMB interface would be best suited for it.

As I said I’m a programmer, so I could give a look into the code. Not worried about having my hands dirty.

I’d need a couple of hints to begin looking into the right places instead of having to read all the code. That I’d appreciate! :D:D

I think the general solution for this is to create 6-8 category based playlists – as you’ve said this can still get cluttered but that is the best we have right now.

It sounds like you are already experienced with the MAME DAT format and catver.ini already, but in case it’s useful I have shared a pair of GUI tools to help sort MAME romsets into category-based folders and then generate playlists for them:

Most of the action happens in menu/drivers/xmb.c. You can see where @Tatsuya79 did some work with the thumbnails in this commit:

Thank you. I know - and appreciate - your tools. Actually I looked at them as examples.

Being a programmer, I had more fun writing my own scripts in order to exactly achieve what I want.

6-8 playlists are really too few to cover all the hundreds of MAME games. Even with scripts discarding non-games, clones, mechanical games, casino and gambling games, I end with more than 100 playlists.

And some, like “Flying Vertical shooters” has more than 200 games in it, which means it should even be split again!!

Thanks. I’ll give a look!

@Tarrasque in my experience RetroArch is very friendly to new contributions. If you speak the C language and have some ideas about the menu driver, don’t keep them to yourself. :grinning:

Absolutely I won’t!!!

To be honest, I’m quite rusty with C/C++. I’m much more versed with web development (that’s why I hoped the “skin” of the XMB GUI was html based).

Still I’ll try to peek and play with the code.

Of course, once I’m satisfied with my scripts for playlist and thumbnail handling and they’ll be useable by someone other than me, I’ll share them too!

lol :grinning:

Can I inquire what language your scripts are in? I often lament that I wrote my tools in AutoHotKey but it’s been hard for me to get interested in starting over in a more appropriate language.

Sure you can!

I am coding the scripts in Python.

I’m just a beginner in that, my area of expertise is Java/.NET, but I wanted to learn Python and having a real life project that would be useful to me to focus on was a good incentive to study the language instead of doing the same hello world tutorials you find in every book.

That’s why I’m not ready t share the scripts yet. They are really too crude and not ready for prime time. :wink:

That makes all kinds of sense. I asked just in case I provide you any other useful resources to speed you on your project. Good luck!

You may have seen these two python based playlist scripts, but in case not:

The scripts are beginning to come nice. I can create playlist exactly with the content I want (still haven’t begun looking at Retroarch source code for the other matters).

After copying them to my share, I see them from my NVIDIA Shield TV and I’m able to load and play games from them. I have even been able to load and show playlist icons and thumbnails for the games.

There are, though, a couple of things that I haven’t been able to fix

According to the documentation I have generated the playlist files with names equal to the playlist except for some characters substituted with “_”

For example, this is a snippet of file Arcade_ Fighter _ 2.5D.lpl

/storage/NAS/Emulation/Roms/MAME/ddragon.zip
Double Dragon (Japan)
DETECT
Arcade (MAME 2016)
DETECT
Arcade: Fighter / 2.5D

  1. The name of the playlist shown in the GUI is “Arcade_ Fighter _ 2.5D”, not “Arcade: Fighter / 2.5D” as I expected.

  2. when trying to run every game for the first time Retroarch fails to load the core. If I reset the core assignation for the game, then when trying to run it asks me to select the core, and works from then on.

I also tried to look at Configuration -> Playlists menu. I can see all the playlists I generated assignad to core “N/A”. The strange thing here is that sometimes I’m able to browse the assigned core by using L/R, but the system does not seem to store the change. Sometimes pressing L/R doesn’t even do anything at all.

Just responding to one item that I know something about:

I don’t think any coders have thought about intentionally having “forbidden” characters in a playlist name like “Arcade: Fighter / 2.5D”. and therefore I don’t think that this can work at all right now. I worked on some of the code that converts those characters to underscores a while back and I don’t remember it being set up to work the way you are asking.

It seems like a sensible thing to expect to work however. I would suggest filing a github issue in the RetroArch repository to ask that playlist names be allowed to display the full character set in the same way that the game titles can with the current code.

I was wondering only because the 6th line in the 6-line playlist block for every game is dedicated to playlist name.

So I expected the display name to be retrieved from there.

Might I ask what’s the use of that line, then?

I’m not sure that the sixth line has a function now, but using it as the “Display Name” for the playlist makes sense to me. Maybe someone meant to do it one day.