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

    New Idea/Help Needed - es_systems.cfg Selector

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstaionsystem listessystems.cfg
    51 Posts 7 Posters 13.9k 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.
    • S
      Syhles
      last edited by

      @TMNTturtlguy
      This seems like a cool idea that I'd love to see built into ES.

      Some minor suggestions you currently have a folder for

      All
      Consoles
      Customs
      Favorites

      It would be nice to see this expanded ever so slightly with

      Handhelds
      Computers
      Arcades (Maybe)

      This is just my opinion.

      TMNTturtlguyT 1 Reply Last reply Reply Quote 1
      • TMNTturtlguyT
        TMNTturtlguy @Syhles
        last edited by

        @Syhles Thanks for your thoughts. I am away from my pi until Sunday and the script is a work in progress. @BuZz @cyperghost @meleu worked on this a better part of the day today. We got a good script running for restarting ES, but I am having issues with it combined into my script. @meleu has a new solution for us to try, however I am unable to do so at the moment. Also during our process @BuZz updated the retropie setup and in doing this I need to change permissions on the current script. Long story short, the script I have posted works well, until you update retropie startup. The restart ES command is also not ideal. Hopefully Sunday evening I can incorporate @meleu commands and get the script working as intended. Once that is completed we can start talking about what to include in the menu options. The key issue is that this will require each user to create their own es_systems.cfg files for each option in the menu. If you leave one folder empty, the script will run the remove command and won't complete the copy command, ES will default to the es_systems.cfg file located in /etc/ this will then break the script.

        Sorry for the long explanation. I think this is a great tool for the right users. When I build my themes i have a master es_systems.cfg with all systems included, however the systems are linked to psp because i only have 8 roms. this allows me to test 40, 60. 80 systems at one time to make sure they look correct before I issue. Being able to run this script to switch from my "ALL" to "Favorites" is a huge time saver, i can change on the fly to test my settings. This will also be great for users that want to use @meleu linking script and create custom systems. Now you can create an infinite amount of systems without adding roms or taking up space on your usb/sd card. This script can allow you to organize them and not show all your systems. Now for the downside - as described above, how do we make this script work for everyone? I am thinking about writing directions on how to modify the script. It is fairly easy, then you could have the script menu contain as many files as you want. Issue here, just one more thing that the user will need to modify. This is a pretty simple tool/script, but a very advanced thought process and understanding of how es_systems and scripts work.

        Once this is complete I will be more than happy to create a custom script to send to you with the options you would like!

        1 Reply Last reply Reply Quote 1
        • TMNTturtlguyT
          TMNTturtlguy
          last edited by

          I have updated the ES System Selector script. After several more hours of playing with the auto restart functions and starting a completely fresh retropie build to make sure that it wasn't something wrong with my build, i am still not able to get the auto restart of ES to run without some sort of undesired effect. I have removed the auto restart feature from the script. You can now run the script from the retro pie menu. You must then exit the menu and manually restart ES by pressing start and going to quite and restart ES. The script works perfectly fine now, just need to manually restart.

          @Syhles if you are still interested in a custom script let me know and i can make one for you based on your desired es_systems.cfg setups.

          Link to post regarding how to download and install: link to post 16

          FlyingTomahawkF 1 Reply Last reply Reply Quote 1
          • FlyingTomahawkF
            FlyingTomahawk @TMNTturtlguy
            last edited by FlyingTomahawk

            @TMNTturtlguy

            I haven't tested your script yet, will do as soon I get home. Is there a way to load a system file when changing themes?

            TMNTturtlguyT 1 Reply Last reply Reply Quote 0
            • TMNTturtlguyT
              TMNTturtlguy @FlyingTomahawk
              last edited by

              @FlyingTomahawk There might be, but i think it would have to be coded into ES as you would need to tell the command that switches theme to also switch the config file. That is way over my head! This tool just makes it quick and easy to change what systems you are showing on your setup without having to go into command line or have a computer and ftp to do it.

              1 Reply Last reply Reply Quote 1
              • meleuM
                meleu @TMNTturtlguy
                last edited by meleu

                @TMNTturtlguy EUREKA!

                I've found what was causing the problem in the script and submitted a PR: https://github.com/TMNTturtleguy/change_es_systems/pull/2

                When I found the bug I had one of those how-could-I-didn't-notice-that moments... :-)

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                cyperghostC 2 Replies Last reply Reply Quote 2
                • cyperghostC
                  cyperghost @meleu
                  last edited by cyperghost

                  @meleu Well and I thought how can meleu do that! An endless loop without break parameter
                  Like duck and cover
                  Well done brother :D
                  I already made a pull request with breaks loop with argument
                  https://github.com/crcerror/change_es_systems/blob/crcerror-patch-1/change_es_systems.sh

                  EUREKA

                  1 Reply Last reply Reply Quote 1
                  • cyperghostC
                    cyperghost @meleu
                    last edited by cyperghost

                    @meleu Can you cleanup code a bit more please?

                    • Remove unneeded sudo on cp/rm >> done @meleu nice catch
                    • Instead of copy and delete I would use mv command only >> sorry early in the morning I ment symbolic linking
                    • No need to work in subfolders
                    • Add path to point to es_systems.cfg path and then ln -s path$&"\es_syststems_hacked" path$&"\es_systems.cfg"

                    This will also help if someone loads this script and the systems are not installed then nothing happens and ES will not break because v1 up to v4 delete config file first - Can be problematic imho!

                    Then we push it together to v5 and the code is much cleaner and easier to maintain

                    I commented your push Done

                    meleuM 1 Reply Last reply Reply Quote 1
                    • meleuM
                      meleu @cyperghost
                      last edited by

                      @cyperghost said in New Idea/Help Needed - es_systems.cfg Selector:

                      I commented your push

                      and I replied there. :)

                      • Useful topics
                      • joystick-selection tool
                      • rpie-art tool
                      • achievements I made
                      1 Reply Last reply Reply Quote 1
                      • cyperghostC
                        cyperghost
                        last edited by

                        @meleu
                        I commented my post above. Got a hard week with some nightshifts.
                        You're right in moving system files ... therefore I still do not recommend not to copy/delete those files I would rather link those.

                        The original es_systems.cfg should be kept as es_systems.bak.
                        I also think that this file will be automatically be copied if es_systems.cfg gets lost. So it's alwyas fail safe!

                        I think it's just the right moment to thank you for investigate even small bash sniplets. I never used bash and I always learn lots from you and I appreciate the help from you (and lots of others users here!)

                        Öhmm... a downvote? I think you are using your mobile phone :D right?

                        meleuM 1 Reply Last reply Reply Quote 1
                        • meleuM
                          meleu @cyperghost
                          last edited by

                          @cyperghost said in New Idea/Help Needed - es_systems.cfg Selector:

                          a downvote? I think you are using your mobile phone :D right?

                          Damn! Sorry, it was an accident (again)! 😌

                          • Useful topics
                          • joystick-selection tool
                          • rpie-art tool
                          • achievements I made
                          cyperghostC 1 Reply Last reply Reply Quote 1
                          • cyperghostC
                            cyperghost @meleu
                            last edited by cyperghost

                            @meleu

                            Damn! Sorry, it was an accident (again)! 😌

                            De nada

                            Isn't the right thread here... How are your achivements in Terranigma?

                            1 Reply Last reply Reply Quote 2
                            • FlyingTomahawkF
                              FlyingTomahawk
                              last edited by

                              Great that you guys got all figured out.
                              So what and where can I download this? I mean the fixed version.

                              cyperghostC 1 Reply Last reply Reply Quote 0
                              • cyperghostC
                                cyperghost @FlyingTomahawk
                                last edited by

                                @FlyingTomahawk
                                That's @meleu tidy version.
                                https://github.com/meleu/change_es_systems/tree/patch-1

                                FlyingTomahawkF 1 Reply Last reply Reply Quote 1
                                • FlyingTomahawkF
                                  FlyingTomahawk @cyperghost
                                  last edited by

                                  @cyperghost

                                  Thank you.

                                  TMNTturtlguyT 1 Reply Last reply Reply Quote 0
                                  • TMNTturtlguyT
                                    TMNTturtlguy @FlyingTomahawk
                                    last edited by

                                    @cyperghost @meleu thank you both for your help. Unfortunately my schedule remains very busy with little time to actually sit and work on my pi. I will take a look at all of this, but it looks awesome!

                                    @cyperghost i will look at you other methods, but I am not sure why you feel my method is "dangerous" as this works with Es_systems.cfg that are copied and moved to a new location. If they get deleted by accident, the main unedited es_systems.cfg should always remain in its original location and be used by default if the .cfg file does not exist in the alternate location.

                                    cyperghostC 1 Reply Last reply Reply Quote 0
                                    • cyperghostC
                                      cyperghost @TMNTturtlguy
                                      last edited by cyperghost

                                      @TMNTturtlguy It is dangerous. Think about someone loads your script from your repro and starts it but it is not configurated manually. Then he looses his es_systems.cfgbecause all funktions codes do rm /opt/retropie/configs/all/emulationstation/es_systems.cfg first and then copy the changed files (if it exists) :)

                                      So it may be better to get all config files in one folder and just symlink them. Is there no destination file present then symlinking does not work. That should minimize the risk in breaking something. The risk now is at all minimum.... if you know what to do :)

                                      @cyperghost @meleu thank you both for your help. Unfortunately my schedule remains very busy with little time to actually sit and work on my pi. I will take a look at all of this, but it looks awesome!

                                      Thank you in your effords for the nice theme.
                                      I still learn how to get familiar with bash.

                                      TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                                      • TMNTturtlguyT
                                        TMNTturtlguy @cyperghost
                                        last edited by

                                        @cyperghost

                                        Thank you in your effords for the nice theme.
                                        I still learn how to get familiar with bash.

                                        This is why the community is so great, we all have so much we can offer and so many different skills, we can't do it all, but with a little help we can all create some really cool stuff!

                                        @TMNTturtlguy It is dangerous. Think about someone loads your script from your repro and starts it but it is not configurated manually. Then he looses his es_systems.cfgbecause all funktions codes do rm /opt/retropie/configs/all/emulationstation/es_systems.cfg first and then copy the changed files (if it exists) :)

                                        This should not be dangerous at all. Again, i haven't looked at your symlink solution, but my solution is not dangerous because if users do not follow the directions and try to run the script, the script will simply do nothing. The default and main es_systems.cfg file is located here: /etc/emulationstation/es_systems.cfg My script only runs in /opt/retropie/configs/all/emulationstation/es_systems.cfg which is the same as ~/.emulationstaiton/ just written out as the full path. As long as the user never deletes the main es_systems.cfg in the /etc/ folder, there is not risk or danger at all. Here is some more information on this from the wiki: Emulationstation Wiki

                                        1 Reply Last reply Reply Quote 1
                                        • TMNTturtlguyT
                                          TMNTturtlguy
                                          last edited by TMNTturtlguy

                                          @meleu I just tried your script and it does not execute without the sudo commands. BuZz had updated the retropie startup script a few weeks back and he was the one who instructed that I add the sudo command as he changed user permissions when executing scripts from the retropie menu. Have you tried this script on your build? When did you last update retropie script? Thanks

                                          Edit: adding the sudo command back in to both the copy and remove seems to have worked. With my brief testing it appears that the script works well and all other restart functions work properly. I have to take my girls out for a while so i will test more extensively later.

                                          meleuM 1 Reply Last reply Reply Quote 1
                                          • meleuM
                                            meleu @TMNTturtlguy
                                            last edited by

                                            @TMNTturtlguy maybe you changed the ownership of those files with your previous script. If they're owned by user pi there's no need for sudo.

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            1 Reply Last reply Reply Quote 1
                                            • 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.