So, for this week I havenāt added much yet. Iāve been busy with school. I did however change from using xml files to store your library to a json file. This json file plays better with javascript and allows me to edit the data quickly and from within the GUI.
What you will see is that adding game artwork and saving game artwork is now much much quicker. Itās virtually instantaneous, the other method slowed down on older systems and would take up to 2-3 seconds for the changes to take place.
This move to json also gives me the ability to add games to the library from inside of the GUI, without having to call python or c++. This means that there I reverted game importing, back to having only one option to import games, a recursive scanner. This is all that is needed now though, since games that currently exist inside of the library will not be added and no data will be overridden by future scans.
What I plan on doing tomorrow is simplifying the other config files that I use into one file, this will cut down on some load times. I also am changing how the crc scanner and the online artwork scrapper works.
I found that QML doesnāt like resizable images that load web urls. When games in the grid mode would get resized, it would produce a horrible system slowdown, dropping the GUI from 60 fps, to what felt like 20-25; this would affect even high-end systems. This issue does not exist on artwork that is stored locally and so, I highly suggest that you just do that to add artwork. I will still add the ability to get images from the web, however, you may find the experience sub-par.
Also crc scanning will now be a frontend option, and will run in the background. What I did before was I did everything at once. I would calculate the crc file of every file that was supposed to be imported. This worked okay on nes through snes games, however, playstation isos and n64 roms would take longer than expected to produce the crc code. As an example it turned importing 60 games, from 2 seconds, to 15 - 25 seconds, so this feature will now be used if you choose to select it. Iāll also rework it to rename the actual game files, instead of just how they are displayed in the GUI.
Once these things are completed, it will be done.