Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Announcing Pegasus Frontend



  • @nemo93 thanks for the feedback! Let's see...

    1. All videos are played on the system's volume level by default. While it'd be certainly possible to write an audio normalizer, unfortunately I'm not an expert in this topic to implement such a feature. I think FFMPEG or similar video editing tools could help with this, however.

    3-4-5-6. These properties are detected from the ES files, but currently aren't used in the default theme. They might be in future!

    1. Perhaps clicking on them could pause/start the video? (if you have a mouse/touchscreen, of course)
    2. Yeah that bar might be a bit too slim (especially on small screens), I'll see if making it bigger would look better. As for the fullscreen, if you see the whole logo for the system, then it's OK, Pegasus itself shouldn't crop the screen.
    3. Yes, the main theme only has image for mame. I'm not familiar with MAME, does this libretro version have a separate logo in RetroPie/ES? As for PC Engine, there's a logo for pcengine, would that be good or the CD version has a different logo? You can find the currently recognized names here, if you have some nice vector images, I can add them.
    4. Yes, they are stored in favorites.txt, and you can use the filter panel (Shift/PS-Triangle/Xbox-Y) to show only your favorites -- except opening this panel apparently broken using the gamepad, and I forgot to fix it. Other than that, the separate collection approach could also be done, it's just not implemented yet.
    5. Yeah I really want to add some kind of first start setup/tutorial screen, and also a help screen in the menu. I think the main theme would be a bit cramped with yet another bar, but other themes are free to show the controls.
    6. The button's broken using gamepads, will fix it :)
    7. RetroPie always downloads the latest release, as soon as it's available. There might be a separate stable/latest option eventually, but I still want to improve Pegasus a bit before that. I also plan to add an update checker eventually.
    8. 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)
    9. Yes, they're sorted by file name, but they indeed should be by title. Will fix it in a minute.


  • I've added #14 and #15 :) Thank you for the responses. It's clear for me now.

    1. Sounds good. Actually if you can find a way to pause/start video for people with only controller (like me!) that would be great. Perhaps a controller button can be assigned or you can hover the video and click on it with "A"/select button.
    2. It should be the same mame logo. It's called mame-libretro to make difference with the various versions included in Retropie (eg. mame-mame4all, mame-advmame, etc). All these should be assigned the mame logo. For PCE CD it does have a different logo. You can get one here or here.

    Thank you!



  • @nemo93 also added #14 and #15 :) Thanks for the repo link, will check it out.



    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



  • @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}"
    


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



  • @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



  • @ectoone Ah, that makes sense, thanks.



  • 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.



  • @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 :)



  • 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.



  • @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.



  • @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.



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



  • 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.



  • @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.



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



  • @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.



  • 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


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



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.