libretro / libretro/RetroArch

Playlist system overhaul

Open
#12,744 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

database: explore databases playlists
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

I know it's a huge thing to ask, but I wanted to get it out here for now and hear opinions, and hopefully get a bounty going!
Currently, the playlist system has some shortcomings. It only works comfortably if you use only 2 or 3 playlists. But when used to its true potential, a few problems arise.

Currently, you can have 100 or more playlists, but having so many can make it difficult to find games as you'd have to scroll through every list, and also go from the game to something like settings to make adjustments, because you have to go through too many playlists in the process, and then back to whatever list you want to load the next game from.

Playlists with tons of games could slow it down too if you have to scroll through them, so we have to lay it out in a way that avoids having to load large playlists while navigating.

Not only that, but if you were to use a custom wallpaper for each (which is one of my favorite features) then you'd have to see the menu load every wallpaper on every list you scroll through just on your way back to settings. I think the Ozone menu lets you press B to go back to the settings from anywhere in the playlists, but that still doesn't give you an easy way to go back to the game list you were on... So I propose the following:

  1. Instead of all playlists just being next to each other, there should be a menu called Games (or Content?) and then all playlists to be laid out as a drop-down menu, like how Settings is a drop-down menu containing Audio, Video, etc.

  2. Be able to stack. Kind of like how going into Settings / Video can still have other sub menus inside like Scaling and Synchronization, I'd like to be able to do that with playlists, in a way like this: Games / Console name / Country / List of games to load + art on the sides.
    It would be up to the user to define how their "playlist tree" is laid out and what each entry is called.

  3. With wallpapers, maybe each sub-menu could have its own, but I'm hoping to apply it only once you select one of the sub menus so that the system doesn't have to load wallpapers until you're inside looking at the actual game list.

(I understand there's a similar issue at #11770, but that one also focuses on other things besides playlist layout which is already big. This overhaul could serve as a start.)

(It could also address this one since stacking would be doable: #11505)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by tracing playlist navigation and menu layout, then review related issues #11770 and #11505. Done would require a defined, implemented playlist hierarchy with efficient navigation and deferred wallpaper loading, but the scope and acceptance criteria need design decisions first.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.