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.1m 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 @fluffypillow
      last edited by

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

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

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

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

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

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

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

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

              @fluffypillow Audio doesn't really help and actually won't play if it's currently playing meaning you'll often won't get the audio if you are cycling quickly.

              It's very strange that I'm having these performance issues because I'm running a pretty powerful PC (i7 5870k, 32gb DDR4 ram, 980 ti).

              -edit- OK maybe it was nothing. I restarted my pc and SoundEffect doesn't cause a problem anymore. The only hitch I see now is when a video unloads.

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

                Here's my latest update, slowly but surely:

                Still a lot to do but I'm happy with the progress.

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

                  @PlayingKarrde nice, can't wait to see it finished :)

                  Meanwhile I've just finished building an experimental Windows version that uses a different multimedia "engine", but in turn runs on Win10 only. Could you test how this affects the performance issues (or whether it even works correctly)? It's here, if you get DLL errors, you might need to install this too.

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

                    @fluffypillow said in Announcing Pegasus Frontend:

                    @PlayingKarrde nice, can't wait to see it finished :)

                    Meanwhile I've just finished building an experimental Windows version that uses a different multimedia "engine", but in turn runs on Win10 only. Could you test how this affects the performance issues (or whether it even works correctly)? It's here, if you get DLL errors, you might need to install this too.

                    Exciting! However I tried it out and performance actually seems a bit worse? I wasn't able to test with my theme as it throws up an error

                    TypeError: Cannot call method 'isDetails' of undefined
                    
                    fluffypillowF 1 Reply Last reply Reply Quote 0
                    • PlayingKarrdeP
                      PlayingKarrde
                      last edited by

                      If I wanted to make a theme settings page (ie change grid style, turn off videos etc) is there anyway I can save those settings?

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

                        @PlayingKarrde

                        performance actually seems a bit worse?

                        That is certainly possible :)

                        it throws up an error

                        That is weird though, as it's not media related at all.

                        is there anyway I can save those settings?

                        Not yet, unfortunately, that's still a major missing thing. The plan is to add a way to define theme-specific settings in eg. the theme config file, then they would appear in the main menu in a common place, eg. Theme Settings. I don't want to require theme makers to reimplement a full settings menu every time.

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

                          I think there might be an issue with the date conversion in your tool. It doesn't seem to be translating it over. For example:

                          <gameList>
                            <game id="12741" source="ScreenScraper.fr">
                              <path>./Lunar - The Silver Star (Sega CD) (U).bin</path>
                              <name>Lunar: The Silver Star</name>
                              <desc>Welcome to the world of Lunar, where dragons yet live and magic is valued above all else. Join Alex, the young adventurer as he begins a quest with his friends to save their land from the crushing advances of the Magic Emperor. Explore dungeons, fight terrifying monsters, and gather information from the locals as you advance toward the explosive confrontation with the Magic Emperor himself! Exciting, menu-driven combat will keep you challenged until the last. And thanks to the storage power of the CD, Lunar contains awesome animation sequences that'll get you involved in the story -- fast! Get ready for the ride of your life...</desc>
                              <rating>0.75</rating>
                              <releasedate>19931201T000000</releasedate>
                              <developer>Working Designs</developer>
                              <publisher>Game Arts</publisher>
                              <genre>Role playing games</genre>
                              <players>1</players>
                              <hash>A0ADE691</hash>
                              <image>./media/screenshot/Lunar - The Silver Star (Sega CD) (U).png</image>
                              <thumbnail>./media/wheel/Lunar - The Silver Star (Sega CD) (U).png</thumbnail>
                              <video>./media/videos/Lunar - The Silver Star (Sega CD) (U).mp4</video>
                            </game>
                          </gameList>
                          
                          fluffypillowF 1 Reply Last reply Reply Quote 0
                          • fluffypillowF
                            fluffypillow @PlayingKarrde
                            last edited by

                            @PlayingKarrde there was a typo in the code, but it's fixed now. Thanks!

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

                              @fluffypillow cool thanks!

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

                                Is there a way to specify a relative directory for collections commands rather than absolute? I'm trying to make my build as portable as possible so having

                                command: G:\Dropbox\Emulation\PegasusLauncher\systems\redream\redream.exe "{file.path}"
                                

                                Is definitely less desirable than

                                command: systems\redream\redream.exe "{file.path}"
                                
                                fluffypillowF 1 Reply Last reply Reply Quote 0
                                • fluffypillowF
                                  fluffypillow @PlayingKarrde
                                  last edited by

                                  @PlayingKarrde I'm surprised I haven't added support for that yet, will be fixed. If it's urgent (and don't mind writing scripts), you can also add the directories of the Exes to the PATH env var, and then Pegasus should find the programs (eg. you can use command: redream "{file.path}").

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

                                    @fluffypillow said in Announcing Pegasus Frontend:

                                    @PlayingKarrde I'm surprised I haven't added support for that yet, will be fixed. If it's urgent (and don't mind writing scripts), you can also add the directories of the Exes to the PATH env var, and then Pegasus should find the programs (eg. you can use command: redream "{file.path}").

                                    Ah yeah. It's ok, it's not super urgent right now.

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

                                      BTW should the frontend be using as much GPU resources as it appears to? It seems to use between 90 to 100% usage right now.

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

                                        @PlayingKarrde it shouldn't, in theory (it can run on Raspberries or phones after all)., though it is possible that there may be platform-specific issues. For me on Linux + Intel GPU the default theme takes around 15-22% load (depending on video playback). The number of active graphical elements of a theme greatly affects the GPU load, though your theme from last time didn't cause a huge load for me either.

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

                                          Weekly update!

                                          • Android updates
                                            • App icons are now loaded properly
                                            • Added metadata support: descriptions, screenshots, etc. will be downloaded for apps available on Google Play
                                            • Fixed Android support not appearing in the data source settings menu
                                            • Fixed missing Android logo in the main theme
                                          • Language updates
                                            • Updated all translations to work with the current version
                                            • Updated Hungarian translation
                                            • Added German and Russian translations (by Purq, thanks!)

                                          I've also marked this release as Alpha 10. With that done, the main task planned for the next weeks is to make some breaking changes to the metadata formats and the theme interface, and trying to get through all those old bugs, like the main theme scaling problems.

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

                                            Just coming back to the performance thing again, I just managed to test my theme (and obviously your default one) and both run smooth as silk on MacOS. It's most definitely a windows issue (I will test on Windows 7 shortly and on a Shield later tonight). Judging by your comment on the usage on a Pi being only about 20% I'd assume it works fine there too though.

                                            Also, definitely only video related as themes with no video (or disabling video in my own) allows it to run at full speed. Having now seen it running at a smooth speed it makes the Windows version even harder to use now haha.

                                            I'm almost ready to release my first version of the theme. I wouldn't consider it finished. I still need to do a proper details view as well as implement search and filters but since I see you are making some changes to filters - which sound really exciting - I'm going to hold off on that until I can implement those features. I'll add it to GitHub probably tomorrow or later today depending how busy I get.

                                            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.