RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Pegasus theme development general

    Scheduled Pinned Locked Moved Ideas and Development
    pegasusqmltheme makingtheme help
    156 Posts 16 Posters 50.7k 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.
    • W
      wallmachine
      last edited by

      @fluffypillow a while back you mentioned that you were going to update theme documentation because of some overhaul did the documentation ever get updated?

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

        @wallmachine not yet, but I do have some plans and outlines for their contents. The current ones ended up a bit massive, so this time I'll likely split things into smaller chapters, which should come sooner (well, once I actually start writing the guide) and easier to follow. I also plan to some add QML tutorials too.

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

          2019-04-23T13:38:09 [i] Theme set to 'Simple theme' (`D:/Pegasus/themes/tutorial-simple/`)
          2019-04-23T13:38:09 [i] Program settings saved
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:29: TypeError: Cannot read property 'shortname' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:44: TypeError: Cannot read property 'index' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:42: TypeError: Cannot read property 'model' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:40: TypeError: Cannot read property 'gameList' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:102: TypeError: Cannot read property 'assets' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:110: TypeError: Cannot read property 'title' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:134: TypeError: Cannot read property 'developer' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:145: TypeError: Cannot read property 'year' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:141: TypeError: Cannot read property 'year' of undefined
          2019-04-23T13:38:09 [w] file:///D:/Pegasus/themes/tutorial-simple/theme.qml:152: TypeError: Cannot read property 'summary' of undefined
          
          fluffypillowF 1 Reply Last reply Reply Quote 0
          • fluffypillowF
            fluffypillow @wallmachine
            last edited by

            @wallmachine I assume that's from here right? Yes, the code in that article was not yet updated. Until then, you could take a look in the sources of these two themes, along with the reference.

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

              @fluffypillow I'll see what I can work out thanks.

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

                does pegasus have an A-Z search?

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

                  @wallmachine Pegasus provides only the data, any kind of sorting and filtering then can be done in themes.

                  1 Reply Last reply Reply Quote 1
                  • lilbudL
                    lilbud
                    last edited by

                    @fluffypillow Got the carousel to line up
                    alt text

                    Now for the movement

                    On the switch itself. The carousel starts on the first item on the left, the selector then moves to the left while moving the carousel to the right (I'm uploading a video I took to better explain this) So when the frontend loads, the carousel is selecting the first item rather than the center item.

                    Video to better explain the movement: https://photos.app.goo.gl/SofY6eK7N64c12uT9

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

                    Backlog: http://backloggery.com/lilbud

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

                      @lilbud I see, I see, so you'd like to create a layout like this and keep the selection in the middle area: https://snag.gy/CGAw4Q.jpg

                      Looking at the video though, it seems the Switch UI is not actually a carousel. See there are two kinds of this linear layout in Pegasus:

                      • ListView is easier to use but doesn't loop like a carousel (ie. you jump to the beginning/end on the last/first element). This is what the Switch UI uses in the video.
                      • PathView is somewhat more complex but loops like the ES systems view. That's what the Carousel object in the theme uses under the hood.

                      So in case you'd like to make it exactly like the Switch you could take a look on ListViews too.

                      For both of them, you can use preferredHighlightBegin and -End to set the range where you want to keep the selection. The actual value depends on the type of the layout:

                      • For ListView, they are in pixels, and mean the left and right edge of the area (like on the image above)
                      • For PathViews, they are in percentage of the whole path, and mean the center point of the leftmost and rightmost item (maybe this animation helps)
                      1 Reply Last reply Reply Quote 0
                      • S
                        SinisterSpatula
                        last edited by

                        Just starting to look into this front end and I have to say it's very very nice. I'm currently looking at getting it working on pi zero and small screen 320x240 Retroflag GPi. I'm just doing small edits to the Game OS theme to try and get it to display on such a tiny screen, and I'm sure I'll run into a lot of small issues because this wasn't the design case for either the front end or the theme. (I love both!). Already I have it looking good and running good, but wondered about the video playing code, it looks like it might be using software video decoding, as I see the pi zero hits 100% cpu whenever video is playing. Is there any way currently to take advantage of hardware video acceleration for playing videos, in a similar way that OMXplayer does?

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

                          @SinisterSpatula installing gstreamer1.0-omx should enable the hardware acceleration, but if I remember correctly it also increased the temperature of the Pi and didn't work well for certain video formats. Support might have got better since then though.

                          Also if you have some photos or videos, I'd be happy to see Pegasus running on the Retroflag :)

                          S 1 Reply Last reply Reply Quote 1
                          • S
                            SinisterSpatula @fluffypillow
                            last edited by SinisterSpatula

                            @fluffypillow Awesome, I'll look into that. Does it just start using it automatically, or do I need to change the video playing code to use it somehow? I'm still very much a newbie and learning. I have yet to change the game detail/preview screen but plan to. So far, I think this is looking and running great, and I have much more work to do on it. Here's a video of where I'm at with it currently:

                            AndersHPA 1 Reply Last reply Reply Quote 3
                            • S
                              SinisterSpatula
                              last edited by

                              The fork I'm making edit's to (nothing special just commenting stuff out, and changing numbers, etc) is here: https://github.com/SinisterSpatula/gameOS/

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

                                I was planning on making a 240p version since I run it on my arcade machine (a new astro city) but never got around to it. Great to see your progress!

                                I've made some changes locally that I haven't posted yet that I think might interest you when I get around to it since I've done away with the top description section (like you are doing). It's much cleaner but not quite ready to post as I want people to have the option to switch between them. Adding the settings screen is holding me up and I've just been so busy to head into that chunk of work unfortunately.

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

                                  @SinisterSpatula Nice! Yes, it should work instantly, if you export GST_DEBUG=omx:4, it should also print some debugging information to the terminal if it's in use.

                                  @PlayingKarrde now that the gamepad support is in a better shape, theme settings support should also come eventually :)

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    SinisterSpatula
                                    last edited by

                                    @fluffypillow said in Pegasus theme development general:

                                    gstreamer1.0-omx

                                    I was afraid of this, and it's veering off topic to talk about it, but, on pi Zero, there's an issue when using OMX player where it get's very slow, and it has to do with the audio settings. It appears that the same bug also affects gstreamer1.0-omx. I did some searching about gstreamer but was unable to find any info about changing the audio output device, or how to look at what it is set to. I think the problem is when it sends audio to both analog and HDMI, for some reason it slows it to a crawl. When using the omx-player executable having -o both causes the issue. But I'm stuck as far as how to check for this on gstreamer.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      SinisterSpatula
                                      last edited by SinisterSpatula

                                      edit: maybe I should be using a scraper that supports pegasus instead, just found: https://retropie.org.uk/forum/topic/11826/versatile-c-game-scraper-skyscraper/1236

                                      @fluffypillow is the metadata conversion tool at https://pegasus-frontend.org/tools/convert/ available in source-code form by chance? There's some issue's that I want to try my hand at fixing, and send back my changes to you. It's currently ignoring some image's and doing some things it shouldn't. (making screenshot's into box2dfront, ignoring wheel image, etc. -- maybe this is only issue for scraper.net format files, not sure).

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

                                        @SinisterSpatula I'm afraid I'm not that familiar with the inner working of gstreamer, I'm merely an user of it through the video playback engine. Perhaps we could ask the developers what could be the problem?

                                        I'm not yet pleased with the converter site's code enough to publish it, I'd like clean things up and improve testability before that. If you have examples however, or a list of problems I can reproduce, I'd be happy to test them.

                                        1 Reply Last reply Reply Quote 1
                                        • S
                                          SinisterSpatula
                                          last edited by SinisterSpatula

                                          I think the skraper.net and conversion tool issues were my fault, disregard :) I went with some defaults that I think are actually wrong and that's what the issue was. I'm going to start using skyscraper anyway as it's much more detailed in the way it handles things, and I'll just go straight to pure pegasus metadata files as I think that's going to give me the best results. For the hardware acceleration for videos, I'm not really sure it's an issue for gstreamer dev's; seems like more of an issue for raspbian linux devs perhaps, since the issue affected both omx-player and gstreamer and we've just been having to workaround it by messing with audio output settings where possible (in ES and in omx-player command lines), and it probably will be found and fixed in a future OS update I'm guessing. Here's a recent pic of the game detail screen, looking quite good. One thing I'm wondering if it's already on your radar: for Game Title text, it would be great to see a dynamic text size (make the text smaller instead of ending with ...) edit: oh! I see, I can do toString().length or similar and set a vpx(value) based on that. :)

                                          Here is a pastebin of my gamelist.xml that skraper.net for windows generated with default settings, if you want to compare it on the conversion tool and see how it's handling it (Image tag is screenshot and not boxfront, thumbnail is wheel image and not currently picked up by the conversion tool, and for some reason skraper.net didn't put any entry for fan art even though it was scraped) https://pastebin.com/MFeMaETb

                                          alt text

                                          alt text

                                          fluffypillowF 1 Reply Last reply Reply Quote 0
                                          • X
                                            xFJSx
                                            last edited by

                                            Hi, i love this project and already to changed a bit stuff in the pegasus grid theme (volume & video playcount).
                                            But I could not figure how I can change the order of the systems. I already tried by converting my customized es_systems.cfg to a metadata.txt but this didn't do the trick.
                                            Is there a way to change the order?
                                            Thanks in advance.

                                            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.