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.
    • lilbudL
      lilbud
      last edited by

      I've been experimenting with making a nintendo switch theme for Pegasus. Ran into this issue though
      257dc51e-3a95-4c08-8957-f99b3fc28db1-image.png

      I'm using the es2-simple theme as a base

      Is there a way to keep the background image in the same place, but move the icons over? When I try to move the icons over, the background gets all out of wack.

      alt text

      My plan is to move the selected icon up and over and make the carousel act like the switch. A selector moves 1 to the right and the icons move 1 over to the left and disappear. The selector can just keep moving down the line to the end.

      Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

      Backlog: http://backloggery.com/lilbud

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

        @lilbud I'm afraid I'm not familiar with the Switch, but if I understand correctly you'd like the background image to change instantly, without any animations, right? You could then change the delay here to 0 to disable the scrolling effect. If you'd like to use only a single fixed image as background, you could even remove the whole background carousel.

        lilbudL 1 Reply Last reply Reply Quote 0
        • lilbudL
          lilbud @fluffypillow
          last edited by lilbud

          @fluffypillow I don't want the background to move at all. If I try to move the icons, the background moves as well, that's why the image isn't entirely on screen.

          I already set that to 0.

          How would I move the logos closer together?

          And move the carousel position?

          Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

          Backlog: http://backloggery.com/lilbud

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

            @lilbud Then you could also replace the Carousel with a single Image element, then change its source to what you'd like to show -- that'd have no movement animation at all.

            The logo images are set to fit into a wide rectangle, you can reduce their width here to make them closer.

            lilbudL 1 Reply Last reply Reply Quote 0
            • lilbudL
              lilbud @fluffypillow
              last edited by

              @fluffypillow Already changed both of those to vpx(300) which makes the icons square. I am trying to increase the logo spacing (I guess) so the logos stay a certain size but they are closer together.

              Changing this line pathItemCount: Math.ceil(width / itemWidth) + 2 doesn't do anything.

              5252356b-d227-44c8-8b1b-9f7441b1803b-image.png

              I want the background to stay in place and able to be moved independent of the carousel. Because changing any of the settings in the picture above move the carousel and the background or color and draw black underneath.

              cddd7a33-1334-4056-9926-2a4b5c30e651-image.png

              Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

              Backlog: http://backloggery.com/lilbud

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

                @lilbud ah right, the item width is set here actually (and not by the rectangle width). The number of visible items is then calculated automatically based on that.

                lilbudL 1 Reply Last reply Reply Quote 0
                • lilbudL
                  lilbud @fluffypillow
                  last edited by

                  @fluffypillow Ah, now I got it.
                  https://snag.gy/41R3rT.jpg

                  Now for the next part

                  How would I change the x and y coordinates of the carousel over so it matches the background image (once again, thats only there to line the whole carousel up, i'll replace it with a solid color background once I have the carousel just right)

                  And how can I change which icon is the selected one?

                  Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                  Backlog: http://backloggery.com/lilbud

                  fluffypillowF 1 Reply Last reply Reply Quote 0
                  • W
                    wallmachine
                    last edited by wallmachine

                    Just confirming is something like select game directory then it creates the metadata file for you planned? example,

                    In game directory Bubbler (Europe).7z

                    Pegasus does the following in the metadata file:
                    game: Bubbler
                    file: Bubbler (Europe).7z
                    developer:
                    genre:
                    players:
                    summary:
                    description:
                    rating:
                    x-id:
                    x-source:

                    Also what will happen if you import a game that has multiple disc versions how would it display? below is an example.

                    4x4 Off-Road Racing (USA) (Disk 1)
                    4x4 Off-Road Racing (USA) (Disk 2)

                    4 Most Action (Side A) (Europe)
                    4 Most Action (Side B) (Europe)

                    With game naming shouldn't it read the 'game:' title instead of file name?

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

                      @lilbud for the vertical alignment, the carousel is aligned to the center, so perhaps the fastest would be to add a negative anchors.verticalCenterOffset to it to move upwards. To make them match up horizontally, you'll have to change the preferredHighlightBegin/End positions of the Carousel. You'll probably want it to be the center point of Zelda in this case (and maybe the end at Snipperclips?). Depending on how many aspect ratios you'd like to support, you can either just write the number in, or do some calculations based on the window dimensions.

                      @wallmachine Pegasus would be able to create the collection section for you, and perhaps example game blocks. Ideally there would be a graphical tool too to edit these files in the future.

                      Also what will happen if you import a game that has multiple disc versions how would it display?

                      A game can have more than one file entries, and when it's started you can choose in Pegasus which one you want to start. Here's an example.

                      With game naming shouldn't it read the 'game:' title instead of file name?

                      Yes, if the file matches. File paths are relative to the metadata file, perhaps this comment might also solve the issue for you. You can also check the log file for any issues (should be under C:/Users/[username]/AppData/Local/pegasus-frontend/ on Windows).

                      W 1 Reply Last reply Reply Quote 1
                      • W
                        wallmachine @fluffypillow
                        last edited by wallmachine

                        @fluffypillow thanks changing to the following below worked as the metadata file is located D:\Pegasus\metafiles\metadata.txt

                        Just to confirm a metadata file can be created for each system?

                        Also with the 'directory:' I thought that searched for the gamelist but you need both the file: and directory:?

                        collection: Nintendo Entertainment System
                        directory: D:\Pegasus\Systems\Nintendo Entertainment System
                        extension: 7z
                        launch:

                        game: 10-Yard Fight
                        file: D:\Pegasus\Systems\Nintendo Entertainment System\10-Yard Fight (USA, Europe).7z

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

                          @wallmachine yup, you can create as many metadata files as you like. directory entries will make Pegasus also look for rom files in those directories too, however the file paths are always relative to the metadata file (consider cases of multiple directories and games with same filenames).

                          1 Reply Last reply Reply Quote 1
                          • W
                            wallmachine
                            last edited by

                            when selecting a game that has two discs do I need to press a certain key to chose as I don't see it.

                            lastrun.log

                            2019-04-23T19:59:25 [w] qrc:/frontend/dialogs/MultifileSelector.qml:100: TypeError: Cannot read property 'count' of undefined
                            2019-04-23T19:59:25 [w] qrc:/frontend/dialogs/MultifileSelector.qml:110: TypeError: Cannot read property 'files' of undefined
                            

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

                              @wallmachine Looks like a bug! Will check it out the afternoon.

                              M 1 Reply Last reply Reply Quote 1
                              • M
                                Meldrak @fluffypillow
                                last edited by

                                @fluffypillow it's the same issue for me

                                another request, will you add support to other games from uplay and origin? it would be great

                                fluffypillowF 1 Reply Last reply Reply Quote 0
                                • W
                                  wallmachine
                                  last edited by wallmachine

                                  @fluffypillow

                                  With regards to adding native support for LEDBlinky to Pegasus it would require modifications to Pegasus. If you are interested in doing this, the developer (support@LEDBlinky.net) of LEDBlinky is more than willing to work with you on the integration.

                                  Current features missing from LEDBlinky when not integrated with Pegasus are not limited to below.

                                  • Lighting the front-end controls
                                  • Lighting the game controls as you scroll through lists
                                  • Running various animations while the FE is active, etc

                                  Lighting the relevant controls for a non-MAME game requires the FE to pass the ROM/Game name to LEDBlinky. If Pegasus provides a way to run a script file when events occur, then you can run LEDBlinky commands in those scripts. This requires Pegasus to expose one or more events like FE Start, List Select, Game Start, Game Quit, FE Quit, etc.

                                  What do you think?

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    jdrassa @wallmachine
                                    last edited by

                                    @wallmachine Pegaus already supports some of these events.
                                    https://pegasus-frontend.org/docs/user-guide/scripting/

                                    Get latest build of EmulationStation for Windows here

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

                                      @Meldrak > will you add support to other games from uplay and origin? it would be great

                                      Yes adding support for them would be really nice (and also for things like Epic or Battle net), but I think I'll wait with them until we reach the beta version (there are still a bunch of things to work on!).

                                      @wallmachine Yes that sound exactly like something you could customize well with scripting. The only missing thing from your list is probably the on-scroll-change effect, as that depends on the selected theme and not handled by Pegasus internally.

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

                                        Also a weekly update!

                                        • Added gamepad button repeating (ie. you can now hold down the gamepad buttons/axis to scroll through your games)
                                          • (this is for platforms other than Android, as it already worked there)
                                        • Added manual line breaking (\n) support to the metadata format
                                        • Fixed a crash on Raspberry Pi 1 and Zero
                                        • Main theme: Fixed selection pointing to nothing on collection change
                                        • Main theme: Fixed incorrect game info on filter change
                                        • Metadata converter site: Fixed Logiqx manufacturer entries not getting converted
                                        • Updated to Qt 5.12.3 (brings minor optimizations and bugfixes)

                                        Known issues:

                                        • The main theme forgets the last launched game. Will be fixed soon.
                                        DarksaviorD 1 Reply Last reply Reply Quote 0
                                        • W
                                          wallmachine @jdrassa
                                          last edited by wallmachine

                                          @jdrassa said in Announcing Pegasus Frontend:

                                          @wallmachine Pegaus already supports some of these events.
                                          https://pegasus-frontend.org/docs/user-guide/scripting/

                                          @fluffypillow said in Announcing Pegasus Frontend:

                                          @wallmachine Yes that sound exactly like something you could customize well with scripting. The only missing thing from your list is probably the on-scroll-change effect, as that depends on the selected theme and not handled by Pegasus internally.

                                          I'm all ears if someone has already done this because I wouldn't have a clue where to start with the scripting.

                                          Just to confirm something like this won't be implemented?

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

                                            @fluffypillow Maybe make it so it doesn't delete the binary before checking to see if there's a new version. My pi boots to the terminal prompt because it couldn't find pegasus. I'm not a normal user so I replaced the last binary available manually.

                                            Available releases:
                                            https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha11-81-g60dcaef_android.apk
                                            https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha11-81-g60dcaef_win-mingw-static.zip
                                            Package platform: rpi3

                                            Looks like the latest Pegasus release is not yet available for this platform. This happens when the build is so fresh it's being uploaded right now, or when there's a technical problem on the download server. Either way, this is a temporary problem, so please try again in 1-2 minutes. If the problem persists, consider reporting it on the forum!

                                            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.