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.
    • cyperghostC
      cyperghost
      last edited by cyperghost

      Then take the solution from meleu or me.
      If you find a smooth trick to restart ES please let me know.

      Maybe renaming files would be better than just copying but be aware you access from user Pi to Owner root. So you may use sudo


      I am wrong user and owner is Pi

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

        @cyperghost completely off-topic, sorry, but are you cyperghost at github?

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

          No ... I never released software via git :)
          Makes things complicated :)

          1 Reply Last reply Reply Quote 0
          • mattrixkM
            mattrixk
            last edited by

            I just want to jump in with a question: There are some new builds floating about that let you filter by Genre, or number of players, etc...

            Would it be possible to have a menu option that just lets you turn any System on or off? Basically, all Systems are shown, then you go "start" -> "Visible Systems" and turn off the ones you don't want to see. All the Systems would still be there and active, but they'd just be hidden from the Carousel (and skipped over when cycling left or right in Basic/Detailed/Video View). I don't know if it's viable, but it seems like a simple way to clean up a large System list.

            My ES themes: MetaPixel | Spare | Io | Indent

            S 1 Reply Last reply Reply Quote 2
            • S
              Syhles @mattrixk
              last edited by

              @mattrixk
              Let's say we did what @TMNTturtlguy did and added extra "systems" to the main .cfg wouldn't anytime we did an update to EmulationStation this be overridden?

              I really like your idea though being able to "filter" out systems would be pretty awesome for people who have rom collections over multiple systems.

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

                @Syhles If you save a copy of your es_systems.cfg file to /home/pi/.emulationstation the it will not be overwritten after updates. This also is a safety factor, if you screw up the .cfg file in this location, you can delete it and ES will default back to the main es_systems.cfg in the /ect/ location.

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

                  Updated 2017-06-29

                  Here it is! For anyone interested i have created a script that will do exactly what I was asking about above. Get the script here: github - change_es_systems

                  download the script and place it in /home/pi/RetroPie/retropiemenu/

                  In order to run the script you must create the following folders:
                  /opt/retropie/configs/all/emulationstation/es_systems

                  Then within that folder create these 5 folders:
                  All
                  Consoles
                  Customs
                  Favorites
                  Hacks

                  Example of the full path: /opt/retropie/configs/all/emulationstation/es_systems/Favorites

                  Within each folder you have created place a es_systems.cfg file. The file needs to be named the same in each folder, but the systems can be different.

                  That is it! Restart emulationstation. Go into Retropie and select Change_ES_Systems from the menu. Select which es_systems.cfg you want to run. It will take a few seconds and your screen will flash. Choose exit. Now you have to restart ES again. Once ES restarts the new systems will be there!

                  I have tried several methods of restarting ES from the script. I have successfully done it 2 ways, but then i get different errors. Most of the errors are freezing when trying to run the script a second time. I will continue to work on this.

                  cyperghostC meleuM 2 Replies Last reply Reply Quote 4
                  • cyperghostC
                    cyperghost @TMNTturtlguy
                    last edited by

                    @TMNTturtlguy That's a working solution.
                    Can you please also descripe in your branch what to do with the script.

                    Where to locate, what it does and so on.
                    Or simple write a readme.mdand reference to this thread here.
                    In a few month you've forgotten what you exactly did.

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

                      @cyperghost I have updated the readme and updated the script!

                      Thanks to @cyperghost we now have a method to restart ES. This is probably not the final code we will use, but it works for now. If you would like to test, use the link in the post above.

                      1 Reply Last reply Reply Quote 2
                      • pjftP
                        pjft
                        last edited by

                        Oh wow, only now am I catching up with this thread.

                        Hm. Seems like the RetroPie menu script might be the way to go, especially if we're planning on storing pre-set es_systems.cfg .

                        That being said, it still requires some manual work to set up those same es_systems.cfg so it still requires some sort of advanced set of skills to pull off - but thanks to the solution, now, it's no longer hard to operate after the initial setup.

                        I have nothing to add here at the moment. Well done on iterating on this quickly @TMNTturtlguy @cyperghost @meleu .

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

                          @pjft Well there annother thread about restarting ES via bash files :)

                          1 Reply Last reply Reply Quote 1
                          • 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
                                            • 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.