Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thanks for this very useful tool! #18

Open
porg opened this issue Feb 7, 2022 · 10 comments
Open

Thanks for this very useful tool! #18

porg opened this issue Feb 7, 2022 · 10 comments

Comments

@porg
Copy link

porg commented Feb 7, 2022

I thought I will do my playlist editing in a spreadsheet app and already searched for json2csv and csv2json tools.

So nice to get a readymade solution!

Great that you can very easily merge content of files just by dropping them consecutively.

Thanks! I will check the RetroArch docs/wiki and see whether it mentions your tool.

If not there I will try to add it there as a recommended helper tool.

@porg
Copy link
Author

porg commented Feb 7, 2022

Contributed to the user docs with a mention of your great tool.
Pull request awaiting: libretro/docs#697

@porg
Copy link
Author

porg commented Feb 13, 2022

Note: After more intensive experiences with it:

  • As of 02/2022 it is a bit outdated (creates playlists in v1.0 format, meanwhile playlists use v1.5)
  • Surely better to use it and some RegEx-postprocessing of the JSON files that this tool creates than starting from scratch entirely.
  • But others reading that: It is not a zero effort scenario, you will have to apply some manual fixing, as it is now.

@marcrobledo
Copy link
Owner

Thank you for your interest ^_^

I had started working on a big update for this like a year ago with >v1.0 support and other new features and QoL, but it didn't progress further :-(

I'll try to resume it as soon as possible!

@marcrobledo
Copy link
Owner

By the way... is there any information on playlists formats history changes?

@porg
Copy link
Author

porg commented Feb 14, 2022

Hi @marcrobledo ,

great to get feedback from you and that you plan an update! 🙂

This motivates me to submit everything I noticed into small issues. Will file them now. After that we can talk about the big picture here in this issue, which of those you may tackle realistically and which not.

Btw, the GitHub team hesitated to accept my pull-request on the respective user docs because they are careful with 3rd party tool recommendations.

But now that there's a sign of life from you with an explicit statement of planning to further develop this your great tool, I guess it's rather easy to then recommend/promote it. And this may give your tool further exposure, and make it more popular. Possible even more motivating for you then 🙂

@porg
Copy link
Author

porg commented Feb 14, 2022

Ok, here are the issues I filed.

User experience improvements

Minor parsing issue

Critical issues - All these result in exports being partially or fully broken

Workaround until these bugs are fixed

Quite some manual postprocessing of the LPL files was necessary.

  • Should someone need this, I share my work efforts here.
  • But please note that other than sharing this here, no support will be given.
  • If you are an advanced user, you will know how to do it.
  1. First find/replace outdated core_name instances
  • This is certainly necessary for step 2 to work (as it's assumption is based on normalized core_names) and maybe also necessary to launch the correct core. Maybe the correct core_path alone is enough, maybe not. I did not test it, as I fixed it beforehand anyways.
Show all Find/Replace couples
"core_name": "MAME"
"core_name": "Arcade (MAME - Current)"

"core_name": "Gambatte"
"core_name": "Nintendo - Game Boy / Color (Gambatte)"

"core_name": "mupen64plus_next"
"core_name": "mupen64plus_next_gles3"
"core_name": "Nintendo - Nintendo 64 (Mupen64Plus-Next)"

"core_name": "Nintendo - Nintendo 64 (Mupen64Plus-Next)"
"core_name": "Nintendo - DS (DeSmuME)"

"core_name": "Nestopia UE"
"core_name": "Nintendo - NES / Famicom (Nestopia UE)"

"core_name": "bsnes"
"core_name": "Nintendo - SNES / SFC (bsnes)"

"core_name": "duckstation"
"core_name": "Sony - PlayStation (DuckStation)"

"core_name": "Picodrive"
"core_name": "Sega - GG/MS/MD/CD/32X (PicoDrive)"
  1. Multi Line RegEx which works on the assumption that a certain core_name is for a certain system and replaces the db_name to the correct needed system name, in orders for thumbnails to work. This is the fix for:
    Export options db_name must be left as-is so that thumbnails are shown for mixed system playlist (cross-platform or cross-folder ROMs) #21
Show all RegEx Find/Replace couples
("core_name": "Arcade \(MAME - Current\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":) .+\.lpl"
$1 "MAME.lpl"

("core_name": "Nintendo - Game Boy / Color \(Gambatte\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":).+\.lpl"
$1 "Nintendo - Game Boy.lpl"

("core_name": "Nintendo - Nintendo 64 \(Mupen64Plus-Next\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":).+\.lpl"
$1 "Nintendo - Nintendo 64.lpl"

("core_name": "Nintendo - DS \(DeSmuME\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":).+\.lpl"
$1 "Nintendo - Nintendo DS.lpl"

("core_name": "Nintendo - NES / Famicom \(Nestopia UE\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":).+\.lpl"
$1 "Nintendo - Nintendo Entertainment System.lpl"

("core_name": "Nintendo - SNES / SFC \(bsnes\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":).+\.lpl"
$1 "Nintendo - Super Nintendo Entertainment System.lpl"

("core_name": "Sega - GG/MS/MD/CD/32X \(PicoDrive\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":).+\.lpl"
$1 "Sega - Mega Drive - Genesis.lpl"

("core_name": "Sony - PlayStation \(DuckStation\)",[\s\n]+"crc32": "[^"]+",[\s\n]+"db_name":).+\.lpl"
$1 "Sony - PlayStation.lpl"


@porg
Copy link
Author

porg commented Feb 14, 2022

By the way... is there any information on playlists formats history changes?

I personally do not know where this is documented.
In the related issue #19 that I filed you can see some settings.
My proposal how to handle them is also there.

@stefangabos
Copy link

@porg , i totally salute your involvement and i am very glad to see that @marcrobledo is still around!

@marcrobledo
Copy link
Owner

I have not forgotten about this. Still working on rewritting the entire table user UI from scratch!

@marcrobledo
Copy link
Owner

The first 2.0 beta has been deployed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants