RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Gamelist Addon - an assist tool to manually add new game entries

    Scheduled Pinned Locked Moved Projects and Themes
    gamelistgamelist.xmllinuxtool
    19 Posts 4 Posters 2.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • thelostsoulT
      thelostsoul
      last edited by

      Its up again. I restructured and restarted the project, with a version numbering 0.1 (previously it was 1.0). Only the documentation and organization of the files are changed, the application still does the same.

      📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

      1 Reply Last reply Reply Quote 1
      • thelostsoulT
        thelostsoul
        last edited by

        I have some questions.

        1. I am almost finished with a merge option to ignore, replace or update entries. But I am not sure if such an update feature is useful at all.
        2. Can I assume the "path" of a game is an unique id that can be found only once in a gamelist? Because that principle is the backbone of this application.

        📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

        mituM ClydeC 2 Replies Last reply Reply Quote 0
        • mituM
          mitu Global Moderator @thelostsoul
          last edited by

          @thelostsoul said in Gamelist Addon - an assist tool to manually add new game entries:

          Can I assume the "path" of a game is an unique id that can be found only once in a gamelist? Because that principle is the backbone of this application.

          Generally, yes - that would be a correct assumption. Does your program check the file-path, to see if it exists ?

          thelostsoulT 1 Reply Last reply Reply Quote 0
          • thelostsoulT
            thelostsoul @mitu
            last edited by

            @mitu No. Checking if files exist is not the job of the program. It is only for adding new game entries to an xml file and the comparison is made to make sure the game with same filename does not exist in it already (or when merging xml files). The user have to make sure to copy (or delete) all connected files. It is not meant to be a full rom manager.

            📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

            1 Reply Last reply Reply Quote 0
            • ClydeC
              Clyde @thelostsoul
              last edited by

              @thelostsoul said in Gamelist Addon - an assist tool to manually add new game entries:

              1. I am almost finished with a merge option to ignore, replace or update entries. But I am not sure if such an update feature is useful at all.

              I see at least one practical application: I tend to use Simple Arcade Multifilter to sort the roms into genre subdirectories to see which games belong to a certain genre – and which may be tagged with the wrong genre in the dat file. After I've sifted through the games, your tool may be useful to merge the several gameslist files into one.

              Okay, that may be also possible with a simple for f in */; do cat "${f}gamelist.xml" >> gamelist.xml; done which does append every subdir's gamelist file to a new one in the current directory, but that wouldn't exclude doubles.

              thelostsoulT 1 Reply Last reply Reply Quote 0
              • thelostsoulT
                thelostsoul @Clyde
                last edited by

                @Clyde Your use case is exactly what I do, just combining both (or multiple) xml files into one. The default behavior is to lookout for "doubles", so it does not add the same entry again. This is what the merge functionality is designed for. I call this "ignore", just adding new unknown games.

                My above question is leaning towards "update" functionalities, where individual tags like lastplayed or image would be updated individually. Because I do not see any benefit from such update functionality in a real world scenario. I probably give up on this (also can't make it work right).

                📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                1 Reply Last reply Reply Quote 0
                • ClydeC
                  Clyde
                  last edited by

                  Given that I understand you correctly, I'm actually looking for a tool that could merge tags like lastplayed from an old gamelist to a newly scraped one, since I often rebuild the gamelist via Skyscraper, losing every change that Emulation Station made to the old gamelist.

                  Trying to write a bash script that does this is on my much too long to-do list for Retropie. 😉

                  1 Reply Last reply Reply Quote 0
                  • thelostsoulT
                    thelostsoul
                    last edited by

                    Version 0.2 is released. I hope the Update function works as you expect it would.

                    Update mode
                    Overall my attention mostly goes to the new update feature in the merge mode. When switched to the update mode via radio button, then in the following merge operation every single tag from both files are compared. The one from add content is then used, if its available. Otherwise it defaults to base content.

                    I catched a lot of bugs, but won't recommend it to use on production yet.

                    📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                    1 Reply Last reply Reply Quote 1
                    • thelostsoulT
                      thelostsoul
                      last edited by

                      Version 0.3 is released.

                      • new dedicated settings for Merge Update mode, limit updates to selected Tags only
                      • few missing Tags support added, previously they were ignored, namely sortname, thumbnail, favorite, hidden and kidgame
                      • layout of main Add Game view redesigned, to reflect the new additions

                      The GUI does not look as simple and clean as before, but the changes was necessary. There was a few Tags missing, which are now supported. A new page for limiting the updates on individual Tags when using the Update Mode in Merge Gamelists is added. One use case scenario for this feature could be in example to transfer the lastplayed and playcount from one file to another. This could be needed when the main gamelist was rescaped for example.

                      gamelistaddon-tags-settings.png

                      📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                      ClydeC 1 Reply Last reply Reply Quote 1
                      • ClydeC
                        Clyde @thelostsoul
                        last edited by

                        @thelostsoul That's exactly what I need, thank you so much! 😃

                        That said, a command line mode would be even better to automate things, like transferring lastplayed etc. after each new scraping. But that's a purely luxury wish, resp. a feature request for future times when you may get bored. 😉

                        The tool is already awesome as it is now.

                        thelostsoulT 1 Reply Last reply Reply Quote 0
                        • thelostsoulT
                          thelostsoul @Clyde
                          last edited by

                          @Clyde I know what you mean, because it's exactly what I need too. :D

                          About the automation, yes I want that implemented in the main app too someday. Just in case you did miss it, there is a quick and dirty commandline version of merge functionality since the beginning: merge .py. Its located in the same folder as the main app (off course not included in the compiled version).

                          This is exactly for the case of automation, try ./merge.py --help. Using it without an output file will not modify anything. It uses the same backend for merging as the main app (modular design 🤗), but the custom tags functionality is not implemented yet, sorry bout that. And its error handling is poor too. When an error happens, it stops working and writes ERROR to terminal. That's all.

                          I also want to make the whole program better testable, but that requires a bit of internal reworking. I need testing more, although it seems to be solid right now. So before making more tests, I don't recommend using it in productive environment.

                          📜 RE/SET: 100 SNES Games for your RetroPie, 🎁 Share your hidden gems and insider tips

                          ClydeC 1 Reply Last reply Reply Quote 1
                          • ClydeC
                            Clyde @thelostsoul
                            last edited by

                            @thelostsoul said in Gamelist Addon - an assist tool to manually add new game entries:

                            About the automation, yes I want that implemented in the main app too someday. Just in case you did miss it,

                            I actually did miss it. Thanks for the directions.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            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.