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


  • Global Moderator

    @sunwind said in Announcing Pegasus Frontend:

    what's this frontend chooser?

    It's a game library and launcher, similar to Emulationstation - please read the 1st post and visit the homepage - http://pegasus-frontend.org.

    is it possible to add this onto an existing retropie installation?

    Yes. There is package you can install from the experimental section.



  • @sunwind The Frontend chooser is a graphical utility that lets you install the available frontends for RetroPie and select the one you would like as default. It's a neat way of testing the frontends on your system before you commit.

    You can install it by following the instructions at the foot of this page: https://github.com/mmatyas/retropie-frontendchooser.



  • @Purg-Derren someone has also just reported this issue a few days ago; does it used to work in older releases?



  • Hey, how can I run as portable on the mac?



  • @PlayingKarrde I think that should be open -a /path/to/Pegasus.app --args --portable



  • @fluffypillow not sure, first version i tried on android was alpha 9-59 i think (had already the problem) ..not sure about pre alpha 9

    Also, the strange "super-zoom" effect is still there (all platfroms).
    If there are only 3 or less (i beliefe it's max 3 items) games in a collection and you switch ONE collecttion for- or backward and then back again, the entries are "super-sized" - so they partially overlap.
    If you go two or more steps for- and then back, then there is no such effect.



  • @Purg-Derren

    Also, the strange "super-zoom" effect is still there (all platfroms).

    Yeah, that's an old bug in the default theme, the entry sizing logic is not 100% correct at the moment, but will get fixed eventually :)



  • @fluffypillow

    open -a /path/to/Pegasus.app --args --portable

    Hmm. It's does open the app but it doesn't create the necessary directories, nor does it read from the folders within the same dir as the app. Although maybe I'm just assuming it should work the same as windows when in reality most things do not haha. I'm basically just trying to make theme development work cross platform but can't seem to get it going on the mac version. If you think it's not quite ready yet I can just stick to the PC one for now.



  • @PlayingKarrde yeah Mac apps are quite different from the rest of the releases :) As for portable mode, I've found that apparently local directories don't work for files with the "quarantine" property, which is default for downloaded apps it seems. You should be able to fix that with xattr -dr com.apple.quarantine Pegasus.app.



  • Weekly update!

    • macOS releases are now available
      • See here for now, will update the main page too in the next days
      • Note that support is still experimental due to lack of actual hardware. Bug reports are welcome!
    • Android: Pegasus can now list and launch other installed apps
      • However, no metadata or assets are available yet; this will be improved in the future
      • This feature can be turned on/off under Data sources in the Settings menu
      • I've also experimented with allowing Pegasus to be set as the main launcher, but personally I've found it a bit too easy to set that accidentally, so I've stick to being a regular app for now
    • Logging improvements
      • Colored output on terminals
      • Timestamps in the log file
      • General format improvements and fixes
    • Fixed portable mode
    • Fixed some Steam URLs not using HTTPS
    • Fixed some XML reading bugs in the ES2 converter tool
    • Developers: Moved the default theme to a separate repository


  • @mitu Thank you



  • So I'm trying to get my collections going and I'm using a third party scraper since I don't want to install emulationstation without portable mode (having to organise my roms where ES2 wants me to is never going to happen) but either the scraper I'm using is adding media to an unusual folder structure or Pegasus is using a strange format. I'm using Skraper.net since it seems the best for people not necessarily using RetroPie (which in this instance I'm not).

    Your suggested structure is:

    NES/
    ├─ collections.txt
    ├─ metadata.txt
    ├─ Contra (U).zip
    └─ media/
       └─ Contra (U)/
          ├─ boxFront.jpg
          ├─ logo.jpg
          └─ video.mp4
    

    But Skraper is doing this:

    NES/
    ├─ collections.txt
    ├─ metadata.txt
    ├─Contra (U).zip
    └─ media/
       └─ box2front/
            └─ Contra (U).png
    

    Since the scraper doesn't add the links to metadata.txt file this isn't really a solution. I've searched through Skraper to see if I can rearrange things but I can't see to be able to make a configuration similar to the one you are suggesting.

    Do you perhaps have a different scraper that you suggest that does indeed scrape media in file structure that Pegasus is looking for?



  • @PlayingKarrde unfortunately I'm not aware of any scraper that supports Pegasus out of the box. Hopefully this will change in the future. For now, the files have to be arranged manually (or with some scripting).



  • @fluffypillow said in Announcing Pegasus Frontend:

    Weekly update!

    • I've also experimented with allowing Pegasus to be set as the main launcher, but personally I've found it a bit too easy to set that accidentally, so I've stick to being a regular app for now

    but, but - that would be GREAT!
    Maybe you could offer two versions, regular and a "launcher"-version so people can decide wich to use - for me, if i ever finish my rom-collection - the launcher thing would be the optimal result!

    An other question: the "basic-theme" in the theme tutorial thread... is there a way to use this one w/o to compile or smth? i tried to simple copy the whole sourcecode and make a "theme.qml" and put it (in a subfolder) to the other themes, but it is not recognized by pegasus..



  • @fluffypillow

    @PlayingKarrde unfortunately I'm not aware of any scraper that supports Pegasus out of the box. Hopefully this will change in the future. For now, the files have to be arranged manually (or with some scripting).

    Ah ok. I think what I might do then is just write an autohotkey script to convert the format I posted to Pegasus format then. Shouldn't be too hard. I'll post it here when it's done.

    -edit- actually I'm just curious why you chose to organise your files this way? If scrapers are scraping them a certain way would it not make more sense to conform to these standards than have scrapers add your launcher to their system? Just my 2c.



  • @PlayingKarrde yes, some automation would be nice i think.
    i also use the Skraper, and for now i generate three folders "videos", "wheel" and "box3d" ... and after that i create the new directories and move/rename the files with command promt (windows)

    for %i in (.png) do (md "%~ni" && move "%i" "%~ni")
    for /r %i in (
    .png) do ren "%i" boxFront.png (and/or logo.png)

    and same for the videos

    for %i in (.mp4) do (md "%~ni" && move "%i" "%~ni")
    for /r %i in (
    .mp4) do ren "%i" video.mp4

    then i cut/paste (and merge that way) all the directories into the "media" folder.



  • @Purg-Derren oh well, if it's such a requested feature, might as well re-add it :) I'll just make sure there's some documentation about how to undo it in case of accidents.

    @PlayingKarrde the current organization was actually introduced only a few weeks ago (see the discussion starting here). The main points for the decision were the performance (raw speed) of deciding which game does an asset file belong to, avoiding corner cases in asset file naming and easiness of moving all assets of a game together.

    As for the current scrapers, they all seem to have their own arrangement and generate ES2 files, which are actually supported. On the long term though, I'd prefer not being limited by the currently available tools of a different frontend, so I don't mind breaking the convention now and then.



  • In other news, Patreon deleted my whole account because apparently I look suspicious (do I?). While I'm resolving the issue, the regular donation link is still available, in case someone is itching to buy me a coffee.


  • administrators

    @fluffypillow said in Announcing Pegasus Frontend:

    In other news, Patreon deleted my whole account because apparently I look suspicious (do I?)

    It's that Hungarian IP address. All those European hackers... Or ol ninty sawr their IP in a screenshot



  • @Purg-Derren Ah cool thanks for that. Unfortunately I saw it after finishing my AHK script haha... oh well.

    In any case, if anyone wants to use my script instead, just run your skraper on your roms, then place this in each folder containing your roms and run it:

    https://www.dropbox.com/s/k4ztd1ewi0x07iu/OrganizeSkraperFiles_PLACE_IN_SAME_FOLDER_AS_ROM_FILES.exe?dl=0

    Ideally it would just recursively read each platform folder but I don't really want to spend more time on it right now. Here's the script if anyone else wants to modify it/clean it up:

    #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn  ; Enable warnings to assist with detecting common errors.
    SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
    
    ;FileSelectFolder, WhichFolder 
    Loop, Files, %A_ScriptDir%\media\*, R
    {
    	MediaFileNameArr := StrSplit(A_LoopFileName, "."A_LoopFileExt)
    	MediaName := MediaFileNameArr[1]
    
    	PathArr := StrSplit(A_LoopFileDir, "media\")
    	Path := PathArr[2]
    
    	if (Path == "fanart")
    	{
    		renameTo := "background"
    	} 
    	else if  (Path == "screenshot")
    	{
    		renameTo := "screenshot"
    	} 
    	else if  (Path == "box2dfront")
    	{
    		renameTo := "boxFront"
    	} 
    	else if  (Path == "wheel")
    	{
    		renameTo := "logo"
    	} 
    	else if  (Path == "steamgrid")
    	{
    		renameTo := "steamgrid"
    	}
    	else if  (Path == "videos")
    	{
    		renameTo := "video"
    	}
    	else
    	{
    		renameTo := "skip"
    	}
    
    	if (renameTo != "skip")
    	{
    		FileCreateDir, %A_ScriptDir%\media\%MediaName%
    		FileMove, %A_LoopFileLongPath%, %A_ScriptDir%\media\%MediaName%\%renameTo%.%A_LoopFileExt%, 0
    	}
    }
    
    MsgBox, 0, Complete
    

    I'd recommend making a backup of your folder just in case. Run at your own risk haha (it works fine for me...)



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.