[Feature Request] Add support for merging playlist entries of the same game but different languages.
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
Description
Currently, if you have two roms of the same game that have different languages, two playlist entries appear for each of them.
Expected behavior
Those two playlist entries should be merged into one, and an option should be added in the playlist entry sub-menu to select the language to be launched.
Actual behavior
The entries are not merged and it makes the playlist look messy.
Steps to reproduce the bug
- Have two roms of the same game with different languages
- Scan them
So, this is what I propose. This shouldn't be hard to do, my idea is to use .m3u files for this, the same way we use them to merge multidisc games into one. This is how it goes:
Add an option to the playlist entry sub-menu to change the current disc index to launch, and the game language. Example:
PlayStation (Playlist)
....|-Final Fantasy VII
........|-Run
........| Rename
........| Remove
........| Disc Index: 2 (NEW!)
........| Language: EN (NEW!)
........| Set Core Association
........| Reset Core Association
........| Information
........| Download Thumbnails
So this is how it should work, RetroArch currently supports .m3u files (as in, you can add them to it via the Desktop Menu and it will detect the ammount of discs a game has and change between them accordingly when setting a new index), so, adding a Disc Index option before you run the game to let you directly run that disc without having to open the game first and change it later should not be a big deal. But how can we make RA detect a game language? Simple, we will use a bit of custom formatting for .m3u files.
Currently, .m3u files are formatted like this:
Final Fantasy VII (Disc 1).cue
Final Fantasy VII (Disc 2).cue
Final Fantasy VII (Disc 3).cue
RetroArch detects three entries, so it knows there's three discs, and the line number (I pressume) lets it know the index of each one. If we want to make RA detect the language, we could format .m3u like this:
EN
Final Fantasy VII (EN) (Disc 1).cue
Final Fantasy VII (EN) (Disc 2).cue
Final Fantasy VII (EN) (Disc 3).cue
JP
Final Fantasy VII (JP) (Disc 1).cue
Final Fantasy VII (JP) (Disc 2).cue
Final Fantasy VII (JP) (Disc 3).cue
That's my idea at least, we could put some special character to let RA know which is a language tag and which is a .cue entry but this alone should work (with the necessary modifications of course). RA should ignore any entry in the .m3u file that is not directly below the language tag that it's set to. Coupled with this we could also make RA detect .m3u files directly instead of having to add them manually? What do you guys think?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review RetroArch's playlist scanning, .m3u handling, and the playlist entry sub-menu described in the issue. First confirm whether the proposed language-grouped .m3u format is compatible with current playlist behavior. Done means same-game entries with different languages appear as one entry and the sub-menu can select the language to launch.
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
- Mostly clear
- Newbie friendliness
- 25/100