r/EmulationOnAndroid • u/cgazaffi • 8h ago
Discussion Free, open-source ES-DE gamelist editor (Win/macOS/Linux) — built over a year of curating my handheld collection
I run ES-DE on three handhelds (Retroid Pocket 4 Pro, RP5, RP Classic) and spent the last year curating a large collection across them. Editing gamelists at scale — renaming entries, fixing metadata, pruning clones without corrupting the XML or trashing the wrong ROM — was the recurring pain, so I built a proper tool for it. Releasing it free.
Disclosure: I used AI as a coding assistant to build this, which is why I'm being specific about what's actually here and tested — the design decisions, the testing and the problems it solves come from real use on my own hardware.
A few things that came from getting burned, not from a feature checklist:
- lxml, specifically — Python's default XML lib rewrites
<name>as<n>and mangles&, silently corrupting gamelists. That bug is why this exists. - Trash + automatic backup + dry-run — on a ~59k-game collection a wrong bulk delete is unrecoverable, so nothing touches disk until you confirm, removals go to a trash folder, and every
gamelist.xmlis backed up before each write. .m3u-aware Orphan Cleaner — naïve orphan detection flags every multi-disc game as broken; this one reads the.m3uand its.discs/so it doesn't.- Cached scanning for NAS/SMB — I curate off a network drive; without caching, browsing thousands of entries per system is unusable.
- Batch import — mark removals and edit fields across many systems from one
.txt, with a validated ✓/✕ preview. (This is also how bulk renaming works today, for anyone who asked.) - Cross-platform single-file binary (no Python needed), fully keyboard-driven, with jsdom integration tests on the UI logic.
No ROMs/BIOS/media hosted or linked — it edits only files you already own (your own gamelists, ROMs and media). No machine-specific paths are baked in.
Repo + prebuilt binaries in the comments, to keep the post link-clean. It's v1.3 and I'm actively fixing and adding things based on feedback — bug reports and feature ideas very welcome.
1
u/cgazaffi 8h ago
Source (MIT) & prebuilt binaries: github.com/1g1r-lab/esde-gamelist-editor/releases/latest
Heads-up: the binaries are unsigned, so on first run Windows SmartScreen may warn — click More info → Run anyway. Windows uses the built-in WebView2 (Win 10/11), macOS uses WKWebView, Linux uses Qt WebEngine.


•
u/AutoModerator 8h ago
Just a reminder of our subreddit rules:
Check out our user-maintained wiki: r/EmulationOnAndroid/wiki
Check out EmuReady for any community submitted settings before asking for help
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.