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

    Announcing Pegasus Frontend

    Scheduled Pinned Locked Moved Ideas and Development
    frontendpegasusc++developmentqml
    1.7k Posts 145 Posters 5.2m 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.
    • N
      nemo93
      last edited by nemo93

      1. to be honest I start wondering where I did hear about such tag... Anyhow I'm keen to understand a bit better your config format. I'm not sure how to proceed though. Thanks to your excellent ES2 <> Pegasus converter I can create metadata config files. Should I create one config file per system eg. nes.metadata.txt, snes.metadata.txt, megadrive.metadata.txt and so on? And then another files nes.collections.txt, snes.collections.txt etc?
        Let's assume Neo Geo for the sake of simplicity. I'd like to "hide" the bios name entry from the games list (the famous neogeo.zip). How should I proceed please? From your doc I'm not sure how both "collections" and "metadata" articulate with each other. Sounds like "collections.txt" is similar to es_systems.cfg but not 100% sure. Any example appreciated.

      I understand you might be on some well-deserved holidays. If so please no rush! Everything is running absolutely smooth already :)

      Thank you

      1 Reply Last reply Reply Quote 0
      • fluffypillowF
        fluffypillow
        last edited by

        @nemo93 A collections file is kind of like es_systems except it's local to its directory, ie. it will only search in the directory it's placed in (and also the subdirectories). It's task is to decide which files (in the directory) belong to which collection(s). The metadata file is pretty much like a gamelist.xml: it just adds information to the already found games, but doesn't add new games.

        A per-system file in each directory might be better, unless each system use different extensions. The file names are always just collections.txt and metadata.txt, eg. /home/pi/RetroPie/roms/neogeo/collections.txt. Then you'd add /home/pi/RetroPie/roms/neogeo to the game_dirs.txt.

        Now to actually ignore a file, you'd just use ignore-file; your collections file would look something like this:

        collection: Neo Geo
        shortname: neogeo
        extensions: zip
        ignore-file: neogeo.zip
        launch: /something/myemulator "{file.path}"
        
        1 Reply Last reply Reply Quote 0
        • fluffypillowF
          fluffypillow
          last edited by

          I've just fixed the title sorting and the Y button, and also reworded/slightly extended the collection format document.

          1 Reply Last reply Reply Quote 0
          • E
            EctoOne @fluffypillow
            last edited by

            @fluffypillow said in Announcing Pegasus Frontend:

            1. I'm not sure how official this hidden tag is, it doesn't seem to be documented. Looks like this property is a metadata, so I should keep the games in memory, but make them invisible? That sounds like a waste... (Ignoring files is also possible using Pegasus' own config format, if you're willing to use it)

            It is part of the Kids Mode as far as I know. https://github.com/retropie/retropie-setup/wiki/Child-friendly-EmulationStation

            fluffypillowF 1 Reply Last reply Reply Quote 1
            • fluffypillowF
              fluffypillow @EctoOne
              last edited by

              @ectoone Ah, that makes sense, thanks.

              1 Reply Last reply Reply Quote 0
              • N
                nemo93
                last edited by nemo93

                Thank you again @fluffypillow, really awesome. And fast as well :) I'll continue posting my feedback.

                Thank you again, this is really impressive and great frontend.

                fluffypillowF 1 Reply Last reply Reply Quote 0
                • fluffypillowF
                  fluffypillow @nemo93
                  last edited by fluffypillow

                  @nemo93

                  1. That's a really interesting topic actually, from science perspective. Programs tend to sort simply based on the letters, so to make it human-like, they'd need some actual understanding (like II is 2, for example). I wonder if there's a good algorithm for that, looking around on game listing sites or in other project, I haven't found a case where all your examples would work fine.
                  2. That's on my todo list, for quite some time now :) Shouldn't be hard to add, just haven't had the time yet.
                  3. Fixed, will be online in an hour. Holding down the button also works with keyboards, but gamepads seem to be buggy at the moment.
                  4. If you mean the runcommand screen, then yeah, that's a bug, for some reason console UIs doesn't seem to work well. Hopefully I can fix it.

                  Also the thread just hit the 100K views, yay :)

                  1 Reply Last reply Reply Quote 0
                  • N
                    nemo93
                    last edited by nemo93

                    I've made a slight attempt in reorganizing a bit the thread with my many questions/comments.

                    1. Logos. In addition to the 2 missing logos mentioned above I realized that both "Megadrive" as well as "Master System" are sorted after NES and PC Engine right before Super NES. I guess this is because they're considered as "SEGA Megadrive" and "SEGA Master System". Any chance to have them sorted without this SEGA in front? So that they appear in the top-menu systems right Mame and before NES?

                    2. Games order. Indeed :) To me the only way to do that is by following the order provided in the gamelist/metadata file. Or at least to give users a choice to either sort by filename or to sort using the exact order from the metadata file.

                    And that would be all for me. I stop posting comments for now as the frontend is working great already! Thank you again.

                    fluffypillowF 2 Replies Last reply Reply Quote 0
                    • fluffypillowF
                      fluffypillow @nemo93
                      last edited by

                      @nemo93

                      1. Systems are sorted by their full names; the abbreviated form (shortname/ES2 <name>) is optional in Pegasus, but if it exists, it will be used for finding the logo image and shown on the bar, instead of the full name. There's no custom collection logo support yet, so as a workaround you can only change the full name for now :/

                      2. Sorting support will be added in the future™, though actual usage of it will depend on the theme.

                      1 Reply Last reply Reply Quote 0
                      • fluffypillowF
                        fluffypillow @nemo93
                        last edited by

                        @nemo93 Unfortunately I had to revert the game list wrapping: due to a bug in one of the dependencies, this makes other keys (especially Esc) unresponsive. I've reported the issue to the developers, will re-add the wrapping as soon as it's fixed.

                        1 Reply Last reply Reply Quote 0
                        • fluffypillowF
                          fluffypillow
                          last edited by

                          I'm a bit occupied with other projects at the moment, there might be no updates this week either :/

                          1 Reply Last reply Reply Quote 0
                          • shaolinbastardS
                            shaolinbastard
                            last edited by

                            I’m probably missing something really obvious, but how do you make a game pad player one? Currently, I’m using a USB wireless keyboard to type the command that launches Pegasus, so the keyboard defaults to first player, meaning I can’t use my Bluetooth game pad to start a game once it’s selected. Only player one, the keyboard, can control anything in game. I can, however, use the game pad outside of the game.

                            DarksaviorD 1 Reply Last reply Reply Quote 0
                            • DarksaviorD
                              Darksavior @shaolinbastard
                              last edited by Darksavior

                              @shaolinbastard Pegasus has nothing to do with a pad/kb being player 1. Install joystick-selection to assign your pad as player 1 or disconnect the keyboard. I don't remember which section of retropie-setup that's in.

                              shaolinbastardS 1 Reply Last reply Reply Quote 0
                              • fluffypillowF
                                fluffypillow
                                last edited by

                                Yes, Pegasus itself works from both keyboard and gamepad; what an emulator/game considers P1 then depends on that particular program.

                                1 Reply Last reply Reply Quote 0
                                • shaolinbastardS
                                  shaolinbastard @Darksavior
                                  last edited by

                                  @darksavior Thanks! I'll poke around with it more this weekend. I love how much this frontend is progressing and think the UI far surpasses any theme I've tried for ES.

                                  1 Reply Last reply Reply Quote 0
                                  • fluffypillowF
                                    fluffypillow
                                    last edited by

                                    And I back with a weekly changelog! Since the last video, I was asked for some more tutorial material, so for now the updates will likely be a bit more focused on the usability aspect. Here's what changed this week:

                                    • Game directories can now be changed directly from Pegasus, no need to edit game_dirs.txt manually
                                      • It's not well tested yet on all platforms though, so feel free to report issues
                                      • Known bug: on Windows, file selection may work correctly at the moment, due to the file system handling differences. Will be fixed.
                                    • Added a very basic help/about screen to the main menu
                                      • Will likely have more content in the future, but at least the documentation site can be reached
                                      • Known bug: clicking on the button may not open the site in the browser. Will fix it.
                                    • Fixed a very rare case where the loading screen might not disappear
                                    • Fixed the main menu going crazy when the program's window is resized
                                    • Mouse- and finger navigation improvements
                                    1 Reply Last reply Reply Quote 1
                                    • fluffypillowF
                                      fluffypillow
                                      last edited by

                                      Update: the path issues on Windows and Android should be fixed now.

                                      1 Reply Last reply Reply Quote 1
                                      • Purg.DerrenP
                                        Purg.Derren
                                        last edited by

                                        Hi,
                                        First of all, i want to say BIG THANKS to your effort! I'm looking for a loooong time for a way to use my rom collection in a "comfortable" way, but since years - it was always just a half solution.

                                        Retroarch was / is a nice one, with nice cores, but i not really like the "optics" (even they made the xmb, a ps3 like theme or the new one... i dont like it that way). Then i was looking for front-ends like EmulationStation or "solutions" like Hyperspin, or even a paid front-end by a spanish guy ... but i was always disappointed - it was too much or too less...
                                        then, some days ago, i found pegasus-frontend - and when i found out, it started already over a year ago, i was shocked, that i couldn't find it ealrier! (why it's so hard to find your project? we should change it!)

                                        I hope prey, that you wont stop the work on it, coz it's amazing! Its with theme support, it multi-plattform, it's VERY EASY to use and open for - everything - to use with!

                                        Secondly - a little wis-list and some questions :P

                                        1. It would be cool to have an options in future to change the color or completely deactivate the "seleced-cover-background" (the blue, android'ish background).

                                        2. It there a way to prevent pegasus from using the "es_systems.cfg"
                                          [ the gamelist.xml work's fine, but when i don't rename the es_systems.cfg, the covers of the nintendo entertainment system not showing up!? - all other systemss cover work, but the NES ones not - even i always copied the nes "node" and edited for all other systems ...]

                                        3. What i have to do, to add covers / banners for the steam games? do i have to make a gamelist.xml, like for other systems for steam or is there any other way?

                                        4. When i start a rom/game, pegasus closes and some seconds later, retroarch or a game launches. Is there a way to make it more "seamless" (it's still much better then on the emulationstation, but maybe i made smth wrong - coz i've read somewhere, that on pegasus it's already "seamless")

                                        fluffypillowF 1 Reply Last reply Reply Quote 0
                                        • fluffypillowF
                                          fluffypillow @Purg.Derren
                                          last edited by

                                          @purg-derren Thanks, glad you like it :)

                                          1. It would be cool to have an options in future to change the color or completely deactivate the "seleced-cover-background" (the blue, android'ish background).

                                          I haven't got around to it yet, but theme specific options is a planned feature, so yup, it will be added eventually.

                                          1. It there a way to prevent pegasus from using the "es_systems.cfg" ... the covers of the nintendo entertainment system not showing up

                                          Hm that's interesting, could you upload the es_systems.cfg somewhere (eg. pastebin or in a new issue)?

                                          1. What i have to do, to add covers / banners for the steam games? do i have to make a gamelist.xml, like for other systems for steam or is there any other way?

                                          There's no built-in way for that at the moment, so for now creating collection/metadata files and placing the assets there would be necessary. I should improve this in the future.

                                          1. Is there a way to make it more "seamless"

                                          Well I'm not sure it can be improved further than that. Pegasus closes when the launched program reports that it has started -- if after that it still takes seconds for the program to show something on the screen, that's not a thing I can control. As a workaround, you could do tricks like setting up a full screen black background, or running Pegasus in silent mode (if you're on a Pi or using a terminal).

                                          why it's so hard to find your project?

                                          I guess marketing isn't my strong suit, I'm a bit relying on word-of-mouth :)

                                          1 Reply Last reply Reply Quote 1
                                          • fluffypillowF
                                            fluffypillow
                                            last edited by

                                            And another weekly changelog!

                                            • Third-party data sources (EmulationStation and Steam) can now be enabled/disabled in the Settings menu
                                            • Most settings are now stored in <config-dir>/settings.txt (instead of pegasus-frontend.ini, which is somewhat more troublesome to handle internally)
                                              • This will also cause your current settings (fullscreen, locale and theme) to be reset -- sorry about that!
                                            • Made pegasus-frontend.org mobile friendly
                                            • Added a "Getting started" guide to the documentation
                                            • Fixed some outdated information and typos in the documentation
                                            • Fixed the documentation link in the Help menu not reacting to mouse clicks
                                            • Fixed window focusing issues with the locale and theme selector panels in the Settings menu
                                            • Fixed the game directory selector issues on Windows and Android

                                            Also in case anyone's interested, I've launched an experimental Patreon page. Don't worry, whether it's successful or not, Pegasus will still continue to be free and open source.

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