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

    Input needed: ES theming improvements

    Scheduled Pinned Locked Moved Projects and Themes
    themethemingemustationimprovementsbrainstorm
    255 Posts 32 Posters 164.6k 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.
    • mattrixkM
      mattrixk @jdrassa
      last edited by

      @jdrassa said in Input needed: ES theming improvements:

      but I am hopeful.

      So are we :D

      Not to mention appreciative!

      My ES themes: MetaPixel | Spare | Io | Indent

      1 Reply Last reply Reply Quote 0
      • E
        EctoOne
        last edited by EctoOne

        Um, have there been any major changes been made? I had to rebuild it from source today and it doesn't work anymore on my Pi.

        Edit: Nvm, build it again, rebooted and it works again.

        1 Reply Last reply Reply Quote 0
        • M
          masteryoer
          last edited by

          Perhaps the most useful feature would be an actual templating engine. For example, like twig or blade. One where each window, dialogue box, system can be themed completely independent of each other.

          I emailed the original es author and asked about working with him on it, but didn't really get a positive response.

          Would be nice to set up individual templates that are easily created or modified (for example an HTML file), with placeholders for all of the data you want to place %gamesList% for example. Then you could position the elements anywhere on the screen, any way you wanted to, and would provide a vast increase in possibilities for theming.

          mattrixkM Z 2 Replies Last reply Reply Quote 0
          • mattrixkM
            mattrixk @masteryoer
            last edited by

            @masteryoer Sorry mate, but I'm having trouble seeing how what you've suggested is really any different from how theme making is currently done.

            Also, what are twig and blade?

            My ES themes: MetaPixel | Spare | Io | Indent

            M 1 Reply Last reply Reply Quote 0
            • Z
              Zigurana @masteryoer
              last edited by

              @masteryoer said in Input needed: ES theming improvements:

              Perhaps the most useful feature would be an actual templating engine. For example, like twig or blade. One where each window, dialogue box, system can be themed completely independent of each other.

              I emailed the original es author and asked about working with him on it, but didn't really get a positive response.

              That is not surprising, as Aloshi has not contributed to ES since March 2015.

              Would be nice to set up individual templates that are easily created or modified (for example an HTML file), with placeholders for all of the data you want to place %gamesList% for example. Then you could position the elements anywhere on the screen, any way you wanted to, and would provide a vast increase in possibilities for theming.

              Can you be more specific as to the elements you would want to be able to place/position/theme, but are unable to now?

              If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

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

                @Zigurana I guess he means more of a drag n drop theme creator

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

                Backlog: http://backloggery.com/lilbud

                1 Reply Last reply Reply Quote 0
                • M
                  masteryoer
                  last edited by

                  No, not even a drag and drop theme creator, just a more robust template engine. Right now, you basically just have to select the elements that you want to display and where, with no way to customize them.

                  What would be nice, is, say for example, you wanted to be able to style the game list in each menu separately, all the way down to the game title level. For example, instead of just saying this menu is a 'fan', 'carousel', 'coverflow', etc, you have the ability to, using loops or whatever, cycle through each game in the list, or each menu as a whole separately, and style it however you want, using whatever animations you want.

                  Something like this for example in a template file:

                  if (%gameList)
                  // style for entire game menu
                  for (%gameList as %game)
                  // Individual style for each game in the game list
                  endfor
                  endif

                  And when I spoke to Aloshi, it was before 2015. He was just starting work on GridView from what I remember.

                  1 Reply Last reply Reply Quote 0
                  • M
                    masteryoer @mattrixk
                    last edited by

                    @mattrixk
                    Twig and Blade are Very powerful HTML templating engines. I understand that EmulationStation isn't HTML, but the concepts are still very similar, and it doesn't even need to be as powerful, just more powerful. I may be be wrong now as it's been over a year since I've looked at the themeing for ES, but last time I looked at it, it was very limited what you could do, and it basically meant that all themes looked the same layout wise, they just had different colors and backgrounds. To me, that's a skin not a template, as a template allows you to completely customize the look and feel.

                    For example, the game list in the systems view. It was very generic, and could only look one way, with only the background and text color allowed to be changed. In a templating engine, you'd be allowed to change the font, color, overlay, even animations etc of each individual game in the list, not just the entire list as a whole, as well as potentially position each game in the list in a different position. It would allow for extreme flexibility in each template or system view.

                    With an engine, you wouldn't have to worry about a developer making a custom 'view' like the grid view, for example, as the theme designer/developer would be styling how it looks, and how it's presented on the screen. The software developer would just need to provide the tools to interpret what the designer used.

                    1 Reply Last reply Reply Quote 0
                    • CapemanC
                      Capeman
                      last edited by

                      It sounds like you want EmulationStation to be more like AttractMode. But given that AM also can run on retropie (in the experiemental packages if I'm not mistaken) then there isnt much of a reason to over complicate ES. Best to keep it elegant and simple IMO.

                      Vector Artist, Designer and Maker of Stuff: Laser Cut Atari / Pixel Theme Bartop

                      HurricaneFanH M 2 Replies Last reply Reply Quote 0
                      • HurricaneFanH
                        HurricaneFan @Capeman
                        last edited by

                        @Capeman I wish AttractMode had its own controller setup option. So once you built it, you didn't have to start EmulationStation first to setup your controller before switching to AttractMode.

                        1 Reply Last reply Reply Quote 0
                        • M
                          masteryoer @Capeman
                          last edited by

                          @Capeman From what I have read, AttractMode is reliant on ES, or has some requirements for it that you setup in ES and use in AttractMode, so no, that doesn't really help. It would be nice for the more advanced system to have the more advanced features.

                          herb_fargusH 1 Reply Last reply Reply Quote 0
                          • herb_fargusH
                            herb_fargus administrators @masteryoer
                            last edited by herb_fargus

                            @masteryoer the way it is integrated yes it assumes a basic config from ES I think- feel free to correct me if im wrong. but if you are just running attract mode standalone ES is not a requirement (would you really expect people on PC to download ES just to run attract mode?)

                            Anyway the automatic integration with retropie through the experimental menu is still preliminary/experimental, and I don't know if controller hooks are implemented for generating RetroArch configs, that may still need to be done manually But you shouldn't HAVE to use ES to use your controller, as I'm sure attract mode has a function for it somehow.

                            If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                            Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                            1 Reply Last reply Reply Quote 0
                            • Z
                              Zigurana
                              last edited by

                              Just to Update: The PR for System Carousel theming got accepted!

                              If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                              lilbudL N 2 Replies Last reply Reply Quote 4
                              • lilbudL
                                lilbud @Zigurana
                                last edited by

                                @Zigurana

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

                                Backlog: http://backloggery.com/lilbud

                                Z 1 Reply Last reply Reply Quote 1
                                • Z
                                  Zigurana @lilbud
                                  last edited by

                                  @lilbud Ha! That used to be my ringtone! But 15 minutes of it? Damn!

                                  If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                                  lilbudL 1 Reply Last reply Reply Quote 0
                                  • N
                                    Nismo @Zigurana
                                    last edited by

                                    @Zigurana lol... XD.

                                    Congratulations for you PR @Zigurana , lot of hard work behind that PR.

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

                                      @Zigurana I'm stealing that idea.

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

                                      Backlog: http://backloggery.com/lilbud

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        robertybob
                                        last edited by

                                        Could someone give me a working example of the code? There's quite a few different examples in this thread and I haven't gotten one to work yet :(

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

                                          @robertybob

                                          The theme documentation on github has been updated with the details.

                                          https://github.com/jrassa/EmulationStation/blob/master/THEMES.md#carousel

                                          Here is working example:

                                          <feature supported="carousel">
                                            
                                            <view name="system">
                                          
                                              <carousel name="systemcarousel">
                                                <type>horizontal</type>
                                                <pos>0 0.42</pos>
                                                <size>1 0.2325</size>
                                                <color>ffffff</color>
                                                <logoScale>1.5</logoScale>
                                                <logoSize>0.125 0.155</logoSize>
                                                <maxLogoCount>5</maxLogoCount>
                                              </carousel>
                                          
                                              <text name="systemInfo">
                                                <backgroundColor>dddddd00</backgroundColor>
                                                <color>000000ff</color>
                                                <fontPath></fontPath>
                                                <fontSize>0.035</fontSize>
                                              </text>
                                          
                                            </view>
                                          
                                            </feature>
                                          

                                          I also just released an updated build for windows to GitHub.

                                          https://retropie.org.uk/forum/topic/9094/updated-emulationstation-for-windows/

                                          Get latest build of EmulationStation for Windows here

                                          TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                                          • Z
                                            Zigurana @robertybob
                                            last edited by

                                            @robertybob This file i've been using in a theme called dev. This was basically pixel, but with all references to pixel.xml changed into dev.xml. (You could also rename this one file into pixel.xml).

                                            Inside you'll find two variations (one commented out) of the horizontal and vertical carousel respectively.

                                            Let me know how you fare!

                                            If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                                            dankcushionsD edmaul69E 2 Replies Last reply Reply Quote 1
                                            • 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.