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



  • @geekob So I was thinking a bit more about this issue...

    The way asset searching implemented currently is to go trough the files in media and decide the asset's type based on the additional suffix, and the game it belongs to based on the hierarchy of the files, which matches the game dir's.

    The way you propose is to have a layer or directories for each asset type under media, decide the assets's type based on which of these "main directories" the file is, and the game based on the hierarchy inside each of these main directories.

    Both ways are fine on their own, with different pros and cons. Mixing them will likely not end up well though, in my opinion, as well as being error prone and way too many corner cases to take care of. So we should choose one then; I think

    • The first one is easier to manage per-game, as all the assets for an game are in the same directory, so you can select/move/edit them together. It is plain simple to use (ie. drop into media and done) and the files usually clearly match exactly one game. On the other hand, the suffixes can be annoying/ugly and not always clearly decideable (eg. things like when a game is called as a suffix). The media dir is also unorganized and can end up with a large amount of files (also taking more time to open).
    • The second one is better organized, with the asset subdirs and the hierarchy in them looking up games is also easy and always clear. The suffixes don't clutter the file names, so loading times could be a tiny amount faster (the suffix guesswork can be removed). On the other hand if I want to modify all files for a game (eg. because I renamed the rom), I have to visit each asset dir one by one. The files also have the same name in the different directories so they can't be just copied directly into a common folder.

    Based on this I'm actually leaning towards option #2 (less code + performance yay!), but I'd be happy to hear the opinion of others.

    Also, just a crazy late night idea, but another option could be to have a directory for each game, which would then contain the different kind of assets. It would provide fast lookup for games, readable file names and easy editing. It'd be totally incompatible with the current scrapers though, but that wouldn't be hard to fix with a script. Well, at least this is just an idea.

    On another topic, the keyboard layout changing might be simpler than I thought, it might come in the next update.

    (sorry for the long post, it's late and I should probably sleep already)



  • @fluffypillow thanks, I wish I could take credit for option #2 but it's the way that Skraper organizes all the media, I "migrated" from the suffix-naming method because I liked the former better.
    Pegasus looks amazing and I can see it can only get better. Once again, thank you for your disposition to receive feedback and the attention to detail.



  • @fluffypillow said in Announcing Pegasus Frontend:

    Also, just a crazy late night idea, but another option could be to have a directory for each game, which would then contain the different kind of assets. It would provide fast lookup for games, readable file names and easy editing. It'd be totally incompatible with the current scrapers though, but that wouldn't be hard to fix with a script. Well, at least this is just an idea.

    I was hoping that ES would adapt that for a while now. It would be the same method that Kodi uses for movies. The folder has the same name as the movie, same name also for the nfo file with all the metadata. The images are named after what they are (poster.jpg, fanart.jpg, thumb.jpg etc.). It would make adding/removing games so much cleaner, but I guess as long as we don't use some sort of internal database, that can be filled with data from several files, it won't happen.

    On another topic, the keyboard layout changing might be simpler than I thought, it might come in the next update.

    Awesome.



  • @fluffypillow Are custom sections themes in the works? I'd just about given up setting up the arcade section with the default "cart" layout. Flyer art makes it difficult to recognize a game and I can't find marquee art for every game. I'd like to have ONLY the arcade section like this:

    alt text



  • @darksavior each theme is standalone, with their own looks, logic and data handling, so they can't be mixed together in a general way. However, it is entirely possible to create a theme that does provide a different style for a particular collection.



  • @fluffypillow In fact, if you are more or less comfortable programming you can do almost anything with QT and Pegasus, damn, I can do only trial&error and can get things done!!!!



  • Hey there @tronkyfran do you have any themes available for Pegasus? I'd love to try it/them out!



  • @geekob Sadly, not yet, I have one "test drive" with an amstrad only theme but its not really ready for release. Im kind of slow making my art and, on top of that, I have to fight with my inability programming, hehe!!





  • The good news: keyboard layout changing is almost done, I'll still need to fix some UI issues and make tests. The keys can also be queried in the themes, so it's no longer necessary to hardcode certain combinations.

    The bad news: it is not possible at the moment to use keys other than the arrows for navigation. They're hardcoded in some lower level code and would require digging deeper to fix that.



  • @fluffypillow
    Changing the keyboard keys was all I've been waiting on to make the switch. Can't wait!



  • @tronkyfran how about a teaser shot of how your upcoming theme will look like? :) Loved your ES theme and I'm still using your art as launch images for every system I use.



  • I didn't even know I needed this in my life. Really like the "Netflix" Style theme from way early on in post.

    0_1537364324022_f5164d21-61b2-4898-856f-63427deca8ee-image.png



  • @andershp there was a preview in the theme thread although maybe @tronkyfran is working on something different.



  • @ectoone Well, Im changing the background(wasnt very good) and remaking some cover art, at the end its a lot of work, but when its finished I suppose the rest of the systems will be easier.



  • All right, the controls configuration is now online!

    • It is now possible to change which keyboard keys do what (see Settings → Controls)
    • Furthermore, it is also possible to change what the gamepad buttons do (ie. you can swap A/B now)
    • The registered keys can now be queried in themes using api.keys (documentation later), so it's no longer necessary to hardcode the defaults
    • As mentioned previously, the default keys for opening the details and filters panel have been changed to I and F (but now they can be changed). Navigation is fixed to the arrow keys/dpad due to technical reasons.
    • The the gamepad layout screen have been moved under Settings. (In turn, the theme selector will likely move out to a full menu in the future.)
    • The settings file have been slightly changed, data source settings will reset (sorry!)
    • Updated the key handling in every part of the code. If something doesn't work as intended, please report!
    • Minor menu improvements, fixes and memory optimizations


  • Keep up the good work. Glad to see the custom key binding options :)



  • Ok, the new theme Api functions are now documented on the reference page.

    As for the next week(s), the plan is to change the asset searching to option #3 as discussed previously (unless there's a strong argument against that) and make some scripts to help with the conversion. Then finally start making themes.



  • @fluffypillow is option #3 the one where all files are stored in separate folders?
    If so, I really like that but is that compatible with EmulationStation? I tried to use this method some time ago but I wasn't able to get it to work properly. The gamelist either showed all the subfolders (which added an extra step to launch a game) or, when set to parse gamelist only, nothing showed up at all.



  • @ectoone Yes, that's the one. The layout would then look something like this:

    - roms/
      - game1.zip
      - game2.zip
      - media/
        - game1/
            - box_front.png
            - screenshot.png
        - game2/
            - box_front.png
            - screenshot.png
    

    So that would be the new media dir based asset searching. As for the ES2 module, the main source of assets is the <image>, etc. tags from the gamelist.xml. In addition, Pegasus also looks for assets with known suffixes under ~/.emulationstation/downloaded_images/, like in the media dir currently. This searching will continue to work... is what I wanted to write, but now that you mention it, as this is something ES itself doesn't even do and the layout is changing on Pegasus' side, I guess this searching could be removed actually? Some people did use this feature though ( @Darksavior ?), perhaps a customizable media-dir-path option could be added to the collections file instead.


 

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.