• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.
  • D
    Darksavior
    last edited by Darksavior 25 Oct 2018, 01:58

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

    P 1 Reply Last reply 25 Oct 2018, 06:53 Reply Quote 0
    • P
      PlayingKarrde @Darksavior
      last edited by 25 Oct 2018, 06:53

      @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 25 Oct 2018, 14:34

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

        F 1 Reply Last reply 25 Oct 2018, 16:48 Reply Quote 0
        • F
          fluffypillow @SephirothX2004
          last edited by 25 Oct 2018, 16:48

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

          1 Reply Last reply Reply Quote 0
          • P
            PlayingKarrde
            last edited by 26 Oct 2018, 16:43

            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?

            F 1 Reply Last reply 26 Oct 2018, 18:25 Reply Quote 0
            • F
              fluffypillow @PlayingKarrde
              last edited by 26 Oct 2018, 18:25

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

              P 1 Reply Last reply 26 Oct 2018, 18:36 Reply Quote 0
              • P
                PlayingKarrde @fluffypillow
                last edited by PlayingKarrde 26 Oct 2018, 18:36

                @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

                F 1 Reply Last reply 26 Oct 2018, 22:23 Reply Quote 0
                • F
                  fluffypillow @PlayingKarrde
                  last edited by 26 Oct 2018, 22:23

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

                  P 2 Replies Last reply 27 Oct 2018, 00:40 Reply Quote 1
                  • S
                    sunwind
                    last edited by 26 Oct 2018, 22:50

                    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?

                    F 1 Reply Last reply 27 Oct 2018, 20:19 Reply Quote 0
                    • P
                      PlayingKarrde @fluffypillow
                      last edited by 27 Oct 2018, 00:40

                      @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
                      • F
                        fluffypillow @sunwind
                        last edited by fluffypillow 27 Oct 2018, 20:19

                        @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
                        • P
                          Purg.Derren
                          last edited by Purg.Derren 28 Oct 2018, 15:26

                          nvm...

                          1 Reply Last reply Reply Quote 0
                          • F
                            fluffypillow
                            last edited by 28 Oct 2018, 18:40

                            No particularly interesting changes this week, due to local holidays. I do have a long list of pending tasks for the next weeks though, don't worry.

                            P 1 Reply Last reply 28 Oct 2018, 20:38 Reply Quote 0
                            • P
                              PlayingKarrde @fluffypillow
                              last edited by 28 Oct 2018, 20:38

                              @fluffypillow What do you have on the cards?

                              F 1 Reply Last reply 28 Oct 2018, 21:46 Reply Quote 0
                              • F
                                fluffypillow @PlayingKarrde
                                last edited by 28 Oct 2018, 21:46

                                @PlayingKarrde there are a bunch of short term things like fixing the Steam slowness with the default theme, updating the Flixnet one or supporting Ctrl and co. for key bindings. After that, I'm planning to make some important changes in both the theme Api and the metadata text file format.

                                For themes, I'd like to change the way sorting and filtering works, and allow the data to appear multiple times with possibly different sorting/filters. In pactice, this means the ability to make a "recently played" list.

                                For the metadata files, I'd like to unify the format of the collections.txt and metadata.txt, so you wouldn't need to have 2 separate files. There are still some open questions like how to deal with multifile games and game launching in that case. Since it's a visible file format update, I'm trying to be careful about the changes, so there'll certainly be a discussion before it goes live.

                                P 1 Reply Last reply 28 Oct 2018, 22:52 Reply Quote 1
                                • P
                                  PlayingKarrde @fluffypillow
                                  last edited by 28 Oct 2018, 22:52

                                  @fluffypillow sounds awesome! Keep up the great work!

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    PlayingKarrde @fluffypillow
                                    last edited by 28 Oct 2018, 23:35

                                    @fluffypillow said in Announcing Pegasus Frontend:

                                    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.

                                    I'm still trying to figure this out. Are you suggesting that I create a Component with a video player at the GridView level then have the loader within the delegate that loads that component? I guess I'm still struggling with where to put the video player so it only gets loaded once.

                                    F 1 Reply Last reply 29 Oct 2018, 08:49 Reply Quote 0
                                    • F
                                      fluffypillow @PlayingKarrde
                                      last edited by fluffypillow 29 Oct 2018, 08:49

                                      @PlayingKarrde something like that, yes. This code for example works for me in your grid item code: https://pastebin.com/fQadMCku (not sure how fast it is on Windows though).

                                      P 1 Reply Last reply 29 Oct 2018, 17:48 Reply Quote 1
                                      • P
                                        PlayingKarrde @fluffypillow
                                        last edited by 29 Oct 2018, 17:48

                                        @fluffypillow said in Announcing Pegasus Frontend:

                                        @PlayingKarrde something like that, yes. This code for example works for me in your grid item code: https://pastebin.com/fQadMCku (not sure how fast it is on Windows though).

                                        Awesome thanks a ton for that. I'd gotten close to this but this is definitely better performance wise. I'm still getting some hitches here and there at times but it's a lot better than before and I think I can live with it for now. I'm getting the occasional

                                        DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80004005 ()
                                        

                                        but that's probably easily solvable. Might be the reason for the hitches too (or it might be due to the unloading to the video similar to what you experienced with playlists).

                                        I've also noticed that playing a sound decreases performance (for navigation sounds). I'm not sure why though. All I'm doing is:

                                        SoundEffect {
                                        id: navSound
                                        source: "../assets/audio/nav2.wav"
                                        volume: 0.5
                                        }
                                        ...
                                        navSound.play()

                                        It's pretty frustrating since audio adds so much but I can't accept that performance hit so will have to do without for now.

                                        Thanks again for the help.

                                        F 1 Reply Last reply 29 Oct 2018, 18:41 Reply Quote 0
                                        • F
                                          fluffypillow @PlayingKarrde
                                          last edited by 29 Oct 2018, 18:41

                                          @PlayingKarrde well according to Microsoft 0x80004005 means "error"... um, yeah. I suppose it failed to load the video on the first try.

                                          I've also noticed that playing a sound decreases performance

                                          Hm does this happen if you use Audio instead? According to the docs "SoundEffect uses slightly more resources to archive lower latencies", though I'd be surprised to see such a small difference causing performance hit like this on a modern desktop PC.

                                          P 1 Reply Last reply 29 Oct 2018, 20:06 Reply Quote 0
                                          907 out of 1711
                                          • First post
                                            907/1711
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received