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.0m 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.
    • PlayingKarrdeP
      PlayingKarrde
      last edited by

      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?

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

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

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

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

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

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

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

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

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

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

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

                  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.

                  herb_fargusH 1 Reply Last reply Reply Quote 1
                  • herb_fargusH
                    herb_fargus administrators @fluffypillow
                    last edited by

                    @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

                    If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                    Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                    1 Reply Last reply Reply Quote 0
                    • PlayingKarrdeP
                      PlayingKarrde @Purg.Derren
                      last edited by PlayingKarrde

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

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

                        Any theme maker wanting ideas, this would be awesome to have in Pegasus. It's the official nes frontend for the Switch:

                        PlayingKarrdeP 1 Reply Last reply Reply Quote 0
                        • PlayingKarrdeP
                          PlayingKarrde @Darksavior
                          last edited by

                          @Darksavior If you're talking about the sidebar that's actually how I plan on implementing my collection menu.

                          1 Reply Last reply Reply Quote 0
                          • S
                            SephirothX2004
                            last edited by

                            Is there a way to display only the android apps you want and also how would i add media for them?

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

                              @SephirothX2004 there's no support for these yet. But might come in the future.

                              1 Reply Last reply Reply Quote 0
                              • PlayingKarrdeP
                                PlayingKarrde
                                last edited by

                                I'm getting a lot of performance issues on my theme when trying to implement video also. I've updated my codecs etc and not getting any playback errors in the log so I'm not sure what the issue is other than it just hitching due to trying to load the video into memory each time. Have you had any luck? Do you get hitching on your machine?

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

                                  @PlayingKarrde yes, I've done some measurements on Windows, and with the default theme, the hitching seems to actually happen on the video unloading, ie. when clearing the Video's playlist. I'll need to do some more testing, but so far that's what I see on this PC. However, increasing the delay before starting the video on game select seems to have fixed the issue (I've increased it to 1.5 seconds for testing but I think a few hundred ms should be more than enough).

                                  PlayingKarrdeP 1 Reply Last reply Reply Quote 0
                                  • PlayingKarrdeP
                                    PlayingKarrde @fluffypillow
                                    last edited by PlayingKarrde

                                    @fluffypillow I'm using 300ms for mine but even 1500 doesn't really change anything. I have a video on each delegate tho and I wonder if this has anything to do with it. When loading collections it is very unresponsive until everything has loaded and also there's a lot more hitching when navigating to new rows. Also, I'm not using playlists so I'm not sure that's what it is (at least in my case).

                                    If you want to see what I mean here's my current WIP theme: https://www.dropbox.com/s/3frz1b7ievfqut6/gameOS.zip?dl=0

                                    Also, unrelated but I'm getting tons of this log spam:

                                    libpng warning: iCCP: known incorrect sRGB profile
                                    

                                    Can't seem to get rid of it. Doesn't affect anything, I just hate log spam haha

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

                                      @PlayingKarrde yes, the delay is caused by the creation of new Video objects for each delegate; creating one takes about 50-85ms, so ~15 of them appearing at once will end up with a visible impact (even without a set source). However, since only one of them will be actually playing content, it's not necessary to create all of them up front, or even create more than one. So as a workaround, you could add a Loader that would load a video player item when the delegate gets selected, and unload its content when deselected, for example.

                                      Also, unrelated but I'm getting tons of this log spam:

                                      Yeah that seem to be frequent among Steam images, but it shouldn't cause actual problems. Blame Valve :)

                                      PlayingKarrdeP 2 Replies Last reply Reply Quote 1
                                      • sunwindS
                                        sunwind
                                        last edited by

                                        I'd like to get into modding retropie and frontends etc myself, there's just so much to choose from, and I can't figure out how to get that frontend manager working on my existing installation, I went to install experimental packages and it's not there, tried yesterday anyway. am I gonna have to wipe my install and start over with pegasus frontend first, then install things on top of it? what's the 'best' install order etc?

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

                                          @fluffypillow said in Announcing Pegasus Frontend:

                                          @PlayingKarrde yes, the delay is caused by the creation of new Video objects for each delegate; creating one takes about 50-85ms, so ~15 of them appearing at once will end up with a visible impact (even without a set source). However, since only one of them will be actually playing content, it's not necessary to create all of them up front, or even create more than one. So as a workaround, you could add a Loader that would load a video player item when the delegate gets selected, and unload its content when deselected, for example.

                                          Yeah I was thinking of something along those lines (and for sure I knew having one mediaplayer per video was a terrible idea haha). I'll look into using a loader as that definitely sounds right. Thanks.

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

                                            @sunwind you can just unzip the release for your system somewhere to the SD card then launch it from the terminal. The frontend chooser is not in the RetroPie menu, only the individual frontends, you can get it here instead. The frontend chooser is simply a graphical tool for installing frontends and setting them to run on boot. They are just like any other program, you can install or remove any of them whenever you want.

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