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



  • 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?



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



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



  • nvm...



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



  • @fluffypillow What do you have on the cards?



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



  • @fluffypillow sounds awesome! Keep up the great work!



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



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



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



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



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



  • Here's my latest update, slowly but surely:

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



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



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


  • 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?



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



  • 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>
    


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



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.