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.4m 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 @herb_fargus
      last edited by

      @herb_fargus Right, and in this case that's what collections do.

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

        @PlayingKarrde I agree the workflow being less than optimal at the moment. However, the reason I prioritize format updates is exactly because it'd be more difficult to add changes after people start making tools, videos or guides that would depend on some stability. I can also start making, say, a metadata editor program more easily when the planned changes don't loom over my head.

        As for what Skraper does and supports, that's not something I can control. When I run on just ~600 NES games and said over 5 hours left, you bet that really made me want to write a scraper too. That said, support for its assets can be added, and will likely come this week. Also looks like it can export metadata in a frontend-independent way too, which might be usable. But if a use case requires you to convert between different file formats of incompatible programs, you'll always need some manual interaction.

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

          @fluffypillow Yep, totally understand. I think maybe my comment came off a bit more confrontational than I intended. I think I'm just trying to explain the potential I see but the main thing still holding it back. Long term if it was as easy to use as, say Plex, it could potentially be the most popular launcher out there.

          But it sounds like you are thinking long term so I'm on board with the changes you mentioned. I agree with everything else you say.

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

            @PlayingKarrde No worries, I do appreciate your concerns about the future of Pegasus. Hope I can show its full potential eventually!


            On another topic, for yesterday's theme Api changes, forgot to mention that the key handling will change too, after I finally implement the key modifier (Ctrl, Shift, etc.) support. When checking keys, instead of passing the key code (eg. api.keys.isAccept(event.key)) you'd pass the whole event as parameter. The returned array types of keys.accept()and co. will also change.

            Other than themes, because the modifiers modify regular keys, setting Ctrl and such "alone" will no longer work. The change will also require a one-time reset of the key settings, due to changes in the way keys are stored in the settings file. This update will come in one of the weekly releases (maybe the next one?) so don't worry about randomly loosing settings.

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

              @fluffypillow said in Announcing Pegasus Frontend:

              after I finally implement the key modifier (Ctrl, Shift, etc.)

              Just out of curiosity, what do you see the modifiers being used for? I'm assuming this was discussed/requested above but I didn't see it.

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

                @PlayingKarrde It was initially requested as a workaround for C64 keyboard issues, around here. Other than that, it'd also allow setting possibly more intuitive bindings, like Ctrl+F for searching or Ctrl+Left/Right to change collections.

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

                  @fluffypillow Ah I see. So it's just for bindings then? (ie not giving new functions through modifiers).

                  I have a quick question that I can't seem to find the answer for: do you know of any way to properly format text from the metadata? I'm noticing that double line breaks (or paragraphs) aren't being accounted for at all.

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

                    @PlayingKarrde yup, just for bindings.

                    As for text, it's not well documented yet, but you may use \nor <br> for manual line breaks (but don't mix the two).

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

                      @fluffypillow hmm but that would require me to hand edit the metadata which isn't something im likely to do for 1000 games.

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

                        Just released v0.2 of gameOS

                        alt text

                        alt text

                        alt text

                        Lots of polish and cleanup as well as added the details page into the flow. Switching between favourites and all will be the next big feature with search rounding it out after that. By that time I expect the new changes to Pegasus will be out so I will then spend the time updating it for that and probably move it into beta status.

                        I'll post a video as I think it looks better in motion, but as always it can be downloaded here:

                        https://github.com/PlayingKarrde/gameOS

                        hooperreH S fluffypillowF 3 Replies Last reply Reply Quote 6
                        • hooperreH
                          hooperre @PlayingKarrde
                          last edited by

                          @PlayingKarrde Great stuff.

                          4B ~ RPi PSU 5.1V / 3.0A ~ 32GB SanDisk microSD ~ 128GB USB

                          1 Reply Last reply Reply Quote 0
                          • S
                            Seya16 @PlayingKarrde
                            last edited by

                            @PlayingKarrde looks top notch, can't wait to see how it will be on it's final state.

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

                              @PlayingKarrde Nice! Will definitely try it out.

                              hmm but that would require me to hand edit the metadata

                              Ah so it'd be for a lots of games -- I should make the converter a bit smarter then (eventually). Though if I remember correctly, I did add support for empty lines when converting from ES files, but I'll review that part.

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

                                Here's the video of the update:

                                -edit-
                                Just made some new additions (adding, favorites filter, video preview in details, some other things) so going to call this v0.3. Will probably hold off from any major new features now until the Pegasus changes come in.

                                alt text

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

                                  nvm

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

                                    Weekly update! So as mentioned previously, in the next weeks there will be several updates with breaking changes, and here's the first one:

                                    • Added key modifier (Ctrl, Alt, Shift) support. You can now register key combinations with them.
                                      • Note: Due to these changes the currently set key bindings will reset after the update. If you see issues like incorrect keys, you can also reset them manually.
                                    • Added Skraper asset support. In the directories set in the Settings menu, Pegasus will look for Skraper-style asset layouts in [gamedir]/media and [gamedir]/skraper (in case you don't want to mix it with Pegasus-style assets).
                                    • Updated all related documentation

                                    Breaking Theme API changes:

                                    • Changed the parameter of api.keys.is<Keytype>() calls from a single key to a QML KeyEvent. For example, instead of api.keys.isAccept(event.key) you'd write api.keys.isAccept(event).
                                    • Changed the returned type of api.keys.<Keytype>() calls. Previously they returned a list of single keys, now they return a list of objects, each having a key and a modifiers field, similarly to the QML KeyEvent.
                                    PlayingKarrdeP 1 Reply Last reply Reply Quote 3
                                    • PlayingKarrdeP
                                      PlayingKarrde @fluffypillow
                                      last edited by PlayingKarrde

                                      @fluffypillow said in Announcing Pegasus Frontend:

                                      Added Skraper asset support.

                                      So happy this is here! However, I just tried it out and it doesn't appear to be working. The media is organized into /media/box2dfront/<gamename>.png etc fwiw.

                                      Have updated the theme with the new input changes.

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

                                        I've been thinking a bit about how to manage adding roms a little easier for people and while this may not be the most elegant solution, if you were to write a Launchbox parser to go along with the single collection and metadata file, that would basically cover you for any future games you add. The process for adding roms would then be to just add the rom and scrape it with skraper. No extra steps necessary as far as I can tell. If you don't know, Launchbox has the entire database downloaded as an XML file locally and it's updated periodically.

                                        I know you have Launchbox support on your list so I'm really just thinking out loud here. It would inevitably throw up thousands of errors when you launch the app though since it would look for a ton of games that aren't there so I'm curious how much of a performance/boot up time hit this would have. If it takes as long to load as Launchbox currently does it probably wouldn't be the best solution.

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

                                          @PlayingKarrde

                                          However, I just tried it out and it doesn't appear to be working.

                                          Hm that's interesting, it certainly works for me with that layout, even tested subfolder support too. Do you see anything in the log? It should at least print the number of assets found (which in this case probably 0).

                                          if you were to write a Launchbox parser to go along with the single collection and metadata file, that would basically cover you for any future games you add

                                          With LaunchBox being Windows-only, that doesn't particularly make scraping easier for me :) Or you mean generate metadata files based on LaunchBox's data? That is certainly possible and not too difficult, would be a good feature in a metadata editor.

                                          As for the technical side, after installing LaunchBox the only issue I see at the moment is that the metadata files have a slightly larger size, searching in ~200 MB of data might take some seconds. Shouldn't be slower than LaunchBox though.

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

                                            Yep I get

                                            2018-11-19T10:03:00 [i] Skraper: Looking for assets...
                                            2018-11-19T10:03:00 [i] Skraper: 0 assets found
                                            

                                            Or you mean generate metadata files based on LaunchBox's data?

                                            Yeah I just mean to generate a metadata file based on their database xml that is local anyway. In terms of startup, mine already takes over 4000ms but I think the reason why it doesn't feel so bad is that you have a loading bar whereas Launchbox just doesn't do anything for this time so you're not even sure if it's been launched. Would be curious to see at least.

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