[SCRIPT] RetroPie Limit Last Played Games
-
@hiulit said in [SCRIPT] RetroPie Limit Last Played Games:
@madhorse whoops, sorry, hehe! You were the one with the issue, actually, and I was replying to @Clyde :P
hehe no problem :)
-
-
-
Here it is!
RetroPie Limit Last Played Games v2.0.0
Read the new docs, as there have been a few changes.
Added
- Option to install/Uninstall the script from EmulationStation's RetroPie menu.
- GUI mode.
- Debug mode - To test the script. No harm will done to the gamelists ;)
- Log files - Found in
/home/pi/Retropie-Limit-Last-Played-Games/logs
).
Fixed
- Uncommented code preventing to actually remove 'last played' games.
- Fixed #1 - Only show systems that have a gamelist.xml.
Changed
- Refactored the code to create backups. Now the folder is called
gamelist-backups
(inside the$SYSTEM_ROMS
folder) and contains all the game lists backups, named[DATE]-gamelist-backup.xml
. - Added more
error/success
output messages. - Better control of what games have to be processed.
Examples
./retropie-limit-last-played-games.sh --nth 25 --systems
This will set the number of 'last played' games to limit at 25 and then it will show a dialog from where it can be selected as many systems as needed.
./retropie-limit-last-played-games.sh --nth 25 --systems --debug
This will set the debug mode on. It's perfect for testing the script before actually 'harming' the gamelists.
./retropie-limit-last-played-games.sh --gui
This will start the GUI. It will ask you to enter a number to limit the number of 'last played' the games shown. Then it will ask you to choose the desired systems to apply that limit.
Options
--help
: Print the help message and exit.--install
: Install the script in EmulationStation's RetroPie menu.--uninstall
: Uninstall the script from EmulationStation's RetroPie menu.--nth
: Set number of 'last played' games to limit per system (10 by default).--systems
: Show dialog to select systems to limit.--gui
: Start the GUI.--debug
: Set debug mode to test the script.--version
: Show script version.
-
@hiulit Great work! (without having tested it)
-
@hiulit, first, thank you so much for your work, your work is really appreciated.
Second, yout script is awesome, it's working perfectly.
Installed the script on the Retropie menu, launched the script, choosed to keep 1 last played game, at the end of the execution you need to restart Emulationstation to see the results.Now my last played list contain only 40 games, one per system :)
Thank you again, you did a great job.
-
@hiulit I don't want to do a PR but you can add these lines to perform a restart. You can write a small yes/no dialog to perform a restart to ES.
# Restart ES! touch /tmp/es-restart chown pi:pi /tmp/es-restart kill $(pidof emulationstation)
Best wishes ;)
-
@madhorse Hey! You're welcome! I'm glad you find it useful :D
And you made a good point about EmulationStation having to be restarted to see the changes. I'll add a message to the script .
-
@cyperghost hey, I was just thinking about adding a message but I like your idea better. Thanks for the code ;)
-
@cyperghost btw, can this code be run under 'sudo'? Because my script has an option be installed in the RetroPie menu and I think the scripts executed from there are run under 'sudo'.
-
@hiulit Yes but then the file has to be chowend to pi:pi
Added to the codebox -
@cyperghost the file being 'tmp/es-restart' or my script?
-
@hiulit The restart file
Because ES entitiy deletes the file on restart and if it was created by root it won't work -
@cyperghost got it. Thanks! I'll try it ;)
-
@hiulit I've found a little "bug", if there are more games that have the exactly same
lastplayed
it will give you this errore:Number of 'last played' games to limit is set to '1'. psx --- 'gamelist.xml' for 'psx' found! > Creating 'gamelist-backups.xml' for 'psx' ... 'gamelist-backups.xml' for 'psx' created successfully! ./retropie-limit-last-played-games.sh: line 124: [[: 0 1: syntax error in expression (error token is "1") ./retropie-limit-last-played-games.sh: line 124: [[: 0 1: syntax error in expression (error token is "1") No 'last played' games to remove. All done!
After i change the time, i just add 1 second, everything is working without a problem.
I think it's almost impossible to have more games with the samelastplayed
date and time unless someone manually edit the file and make some mistakes, so probably is not a big deal. -
@madhorse Hmmm... I'll take a look at it. But what are the odds of having the same date on different
lastplayed
tags? How is it even possible to open 2 different games at the same time? :P hehe! Anyway, I'll look into it. -
@hiulit said in [SCRIPT] RetroPie Limit Last Played Games:
@madhorse Hmmm... I'll take a look at it. But what are the odds of having the same date on different
lastplayed
tags? How is it even possible to open 2 different games at the same time? :P hehe! Anyway, I'll look into it.Exactly, in fact i manually edited the gamelist.xml to add some games because i didn't want to scrape it, copy and paste the
<game>
section and then changed thename
and thepath
, by doing this i also duplicated thelastplayed
date and time.
I just pointed out because if someone needs help for the error./retropie-limit-last-played-games.sh: line 124: [[: 0 1: syntax error in expression (error token is "1")
you know why, but i don't think you need to spend much time over this problem.
-
@madhorse I figured it out. I'll test it a bit and I'll upload a new version. It would be cool if you could help me test once this fix is uploaded. I'll let you know. Thanks!
P.S. This will be on Wednesday. Tomorrow is a holiday for me :P
-
@hiulit No problem mate, I will be happy to test the new version.
Thank you and happy holiday :) -
Version 2.1.0 of RetroPie Limit Last Played Games is here!
Added
- Dialog asking if the user wants to restart EmulationStation when the script is done.
- Output message for the games that will be shown in the 'last played' section.
Fixed
- When there are duplicated <lastplayed> tags in different games the script crashes. Now, if the scripts find duplicates, it looks for the game's name (it should be different).
Thanks to @cyperghost for the restart function and @MadHorse for testing the script.
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.