Yet Another ROM manager...
-
I'm starting to code a desktop application to Scrap/Manage/Organize large ROM's collections. It’s in a very early stage with lots of bugs, typos and overall finishing almost in everywhere.
My porpoise is to make a tool based in offline capacity, easiness of use and speed… As a bonus, I wish avoid the online scrapper load/down times.
I love TheGameDB site, their API they are the best. But sometimes it’s way too slow for collections with 1000s of ROMS or, even for smaller sets sometimes the site is just down or overloaded and we just can’t blame a free site for their lack of resources. Besides that, some people have a really bad internet connection or no connection at all to rely on an online platform.My idea is:
Get the essential (text) data from ThegameDB in a local file (a 50MB DataBase can hold it) so the program could use any CPU-expensive logic to get the best possible matches and work with the data offline.
The user will just need to point his ROM folder for a given platform\system and some info like extensions to scan.
Once the romlist finished the scan, what would it take seconds or, at worst some minutes, we’ll have a list of files and theirs respective TheGameDB IDs
After run this search in the romlist, the program could point out missing or duplicated games so we could rename, delete or do anything to fix.
Also, with this information the program could check miss/have ROMs against TheGamesDB game lists and give some visual feedback. The user could choose to download per-game images, every owned game images or the entire GamesDB game list. (maybe we could also have a torrent file with all images and\or a per-platform Zip file uploaded to MEGA ? ? ? )
As we have TheGameDB text data locally saved, everything would be read-to-use on a FrontEnd or exported to a emulationstation XML gamelist (with the ROM folder and downloaded image).
(I am not a English speaker so, I apologize for my bad English)
What I have done so far:
The gameDB pre-load window:
The System configuration and scan logic:
Once scanned, the files will be tagged/linked with the GameDB ID
Back in the GameDB window, we can check the have/Missing Games and their data
Finally we can use the data to display game info on a frontend (or export to emulationstation)
If someone like it, I have plans to release the program and the source when I got the minimal functionalities working.
I would like to hear some ideas/sugestions if there’s any…If you read it all,
Thanks for your time and patience. -
Holy ... i was waiting for something like that. Every other rom manager gets me always confused because they are so overloaded. From the beginning on i was looking for something similar to tinyMediaManager but for roms and here it is, well almost :)
Question, does it only use the data from the database or are we able to edit the local database on our own? Like adding text/images, changing tags. Like we have now with the Retropie Metatag Editor.
-
You can edit the data as you wish.
I just want to add any way to send data back to The GamesDB but, of ourse, it will be optional. -
@JoeRamone i love what i see and would love to participate
where can i download this ?
-
please include the following things in your app
-ability to export either romlist or gamelist to unify emulationstation and attract mode
-auto search by name (to gamedb or any other source) or manually input and edit metadata
-game art and video snap fetching from proper source
-include all metadata including genre , game description and number of players (most important for me :) )thank you in advance
-
Thanks for your suggestions, Dukafleed.
I’m working on the export feature right now.
The Idea is to use my tool to organize, check, find duplicated roms and games that are missing from ThegameDB. Once the collection is Ok, you will be able to export that system to a gamelist.xml, downloaded_image and roms folder ready to use in emulationstation.I will Add the # of players to the main screen.
The next step will be the “edit main database” to allow add new games, edit the info for the existing ones and other operations.About the download link, there’s unfinished functions that I want to have properly working in a week or two… And there's a catch. For now, the program use a MS SQL server 2016 local database… You will need to install the express edition or the localDB. I Have plans to convert it to SQLite but some problems and performance issues had send the conversion to the end of the to-do list.
-
@JoeRamone thank you for the quick response, just few comments
"you will be able to export that system to a gamelist.xml, downloaded_image and roms folder ready to use in emulationstation."
please include that the same data base can be exported to romlist (i would recomend a converter for both from one to another as some might want to change from one front end to another."I will Add the # of players to the main screen." just make sure this get exported to the gamelist or romlist as this info can help sorting 4 game players and so on in attract mode
another point is that your app should be able to read the roms from directory and then match the meta from gamelist or romlist.. meaning if you want to add a new rom, just copy it to the working folder..
im sure your app will be the default scraper/organizer in time..
-
Sounds great. Love to see the finished product :)
-
Looks good! Keep up the good work.
-
any update on this?
-
"another point is that your app should be able to read the roms from directory and then match the meta from gamelist or romlist.. meaning if you want to add a new rom, just copy it to the working folder"
Sure. You can simply copy new roms into the folder and press the button to scan the files.
That will be Ok if you add a couple of new roms.
But if you have a folder with 578 Roms already scrapped... Then you got a torrent with 1000 files... Copy and paste all together may not be wise coz you will end with tons of duplicated files.
The "Import" feature will load the new folder, ignore the roms that you already have in the base folder, scrap the rest and copy only the ones that you was missing.
any update on this?
Yes, still working on it.
I think I may have a pre-alpha POC version to share this weekend or the next.
-
Can't wait to try it out,
-
OOPS! Sorry I made a tool similar. Difference is that its not a manager its a USB utility that stream-lines the game (ROM) import process for novice users. I'm including the link below so you can check it out for yourself. If you have any question please inquire with me. Also I can send you the source for it if need be, just inquire at my email.
Sorry if I'm treading too close to your territory.
Also if chance, I could integrate this into yours if you want. -
@zettea Why not just use git to manage the source on github - would seem more sensible that just sticking a binary there, and saying the source is available on request.
It would also allow people to know what they are running, rather than some unknown executable.
-
@BuZz I am planning that it is open access under request due to some explaining needed with it, because i have zero commenting assistance built into the file, and I also use a lot of my own "lingo" throughout the document that is hard to under stand that i will need to build a legend for. (i.e. Variable memory names as in GameSystemSelectionBoxOut > gSbo, element name textboxRomEntry > tbRE, memory carries tempVar>t1).
Also i do want this to be open source, but i do not want it to be copied and remade and resold right away. I know the license says my purpose but I feel like it will be abused immediately.
Also I would like to note that @JoeRamone I am sorry for posting on your thread I have realized that these tools are not related, I just skimmed through the information on your program and figured they were similar tools. Mine is a ROM Migration utility while yours is a ROM Management Utility. Now I "see" your's doesn't include migration [as far as I can see]. My Apologies.
-
@zettea said in Yet Another ROM manager...:
Also i do want this to be open source, but i do not want it to be copied and remade and resold right away. I know the license says my purpose but I feel like it will be abused immediately.
Welcome to our lives. If the source is open and your code is any good people will steal it. People are greedy. Anyways there are a ton of ROM helpers out there so I don't know if I'd worry too much about it, people are too busy ripping us off first
-
@herb_fargus @BuZz I have added the source to the GIT, but the source is protected with a password, so those still incline can inquire of usage. Also if you want to check for malicious content, you can again just inquire about the access to the document.
-
Hi There...
@zettea said in Yet Another ROM manager...:
Also I would like to note that @JoeRamone I am sorry for posting on your thread I have realized that these tools are not related, I just skimmed through the information on your program and figured they were similar tools. Mine is a ROM Migration utility while yours is a ROM Management Utility. Now I "see" your's doesn't include migration [as far as I can see]. My Apologies.
No Problem!
My program is intended to be an All-in-One solution. Now this is just a draft, but the plans include:
A updatable database with an offline mirror of TheGameDB where you can browse all games, check the ones you have or miss. Cover art and screenshots included.
A ROM manager able to link DB info to ROMS easily, Import new roms, identify duplicated games, browse owned games by any criteria…
A migration tool able to export your collection to other devices, the first one will be Retropi, of course. (I am working in this part right now, just a few more days to test!) -
System configuration, where you can set up systems you have, point the folder and emulator to run your ROMS.
-
![Export]( image url)
In this Windows, you can expor your collection to a retropi
The program will export:
\roms\nes\ Folder with all ROMS
\configs\all\emulationstation\downloaded_images\nes folder with cover art
\configs\all\emulationstation\gamelists\nes\gamelist.xml
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.