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

    Io - New Theme

    Scheduled Pinned Locked Moved Projects and Themes
    themeretropie theme
    50 Posts 11 Posters 22.4k 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.
    • cyperghostC
      cyperghost
      last edited by cyperghost

      The right theme for my 4,3" CarPoPiCam
      The low contrast of the CRT Display sux with the standard Carbon theme.
      This is a good choice :)

      1 Reply Last reply Reply Quote 0
      • mattrixkM
        mattrixk @PokeEngineer
        last edited by

        @RetroPieNerd: Cheers mate. That's what I like about this community; we all have different skills and all pitch in where we can.

        @cyperghost: I'm happy it suits your needs. I'm currently working to give the Detailed View a different layout for different size screens. It should be done in the next week or so, depending on my workload.

        My ES themes: MetaPixel | Spare | Io | Indent

        meleuM 1 Reply Last reply Reply Quote 1
        • meleuM
          meleu @mattrixk
          last edited by meleu

          @mattrixk
          I installed IO theme today and when I changed from Carbon to IO the emulationstation crashed. I got the bash prompt but it doesn't accpet any input from the keyboard. I log into the pi via SSH, kill the bash process that is running in tty1 terminal, and then emulationstation starts again with the Carbon theme. I switch to your other themes (metapixel, spare) and everything runs fine. The problem happens only with IO.

          Some info for debugging:

          Pi Model: 2 B
          RetroPie Version Used: 4.0.2
          EmulationStation Version Used: I've just update from binary using RetroPie-Setup
          Built From: Pre made 3.8 SD Image on RetroPie website
          USB Devices connected: wireless keyboard, wifi dongle, bluetooth dongle
          Controller used: 8Bitdo SNES30 joystick
          Error messages received:

          emulationstation: /home/pi/RetroPie-Setup/tmp/build/emulationstation/es-core/src/resources/Font.cpp:198: Font::Font(int, const string&): Assertion `mSize > 0' failed.
          

          How to replicate the problem: install IO theme from RetroPie-Setup and then in emulationstation change to IO theme

          • Useful topics
          • joystick-selection tool
          • rpie-art tool
          • achievements I made
          mattrixkM 1 Reply Last reply Reply Quote 0
          • mattrixkM
            mattrixk @meleu
            last edited by

            Hmm, thanks for the heads up @meleu. I make my themes using a portable windows version of ES, rather than RetroPie on a RPi, so I never got that error. I'll have a look into it. Judging from the error message, it could be that RetroPie doesn't like the google font I've used, but honestly, I don't really know what any of that means. Maybe someone who knows more about RetroPie like @herb_fargus or more about themes in general like @Rookervik would have a better idea.

            I just realised it could be something to do with font sizing. In the Io theme I wanted to hide a couple pieces of metadata, so instead of using <pos>1 1</pos> or something, I used <fontSize>0</fontSize>. It worked fine for me so I didn't think much of it. I didn't do this in Spare or MetaPixel.

            My ES themes: MetaPixel | Spare | Io | Indent

            cyperghostC meleuM 2 Replies Last reply Reply Quote 2
            • cyperghostC
              cyperghost @mattrixk
              last edited by cyperghost

              @mattrixk
              Yes that is it. It works for me on all systems now.

              • Open io.xml and search for <fontSize>0</fontSize>
              • Replace all occurrences with <pos>1 1</pos>

              afair there are 2 matches of the fontsize string. Thank you!

              mattrixkM 1 Reply Last reply Reply Quote 1
              • mattrixkM
                mattrixk @cyperghost
                last edited by mattrixk

                @cyperghost: Great, thanks for testing that out. I'll hopefully get a fix up for that soon.

                That's something I'll need to remember for the future.

                My ES themes: MetaPixel | Spare | Io | Indent

                1 Reply Last reply Reply Quote 0
                • mattrixkM
                  mattrixk
                  last edited by

                  I've made an update to the Io theme.

                  1. I fixed the fontSize bug pointed out by @meleu.
                  2. The theme now has 3 different sizes for different size screens:
                  • Large size for desktops and computer monitors (this is the default view).
                  • Medium size sacrifices most metadata for a larger image.
                  • Small size is for handhelds and shows nothing but the image and gamelist. It also has larger font size for better legibility on a smaller screen.

                  'Io' Theme Detailed View - Medium
                  Io Theme Detailed View

                  'Io' Theme Basic View - Small
                  Io Theme Basic View

                  'Io' Theme Detailed View - Small
                  Io Theme Detailed View

                  I don't have any way to test this on a handheld or 4/3 screen, so if anyone comes across any problems, let me know and I'll see about fixing them.

                  @RetroPieNerd: Do I need to do anything to update this in RetroPie, or does it just pull straight from the GitHub repo, so anyway grabbing it gets the current version?

                  My ES themes: MetaPixel | Spare | Io | Indent

                  PokeEngineerP 2 Replies Last reply Reply Quote 1
                  • B
                    backstander
                    last edited by backstander

                    Great theme @mattrixk !!!

                    mattrixkM 1 Reply Last reply Reply Quote 0
                    • PokeEngineerP
                      PokeEngineer @mattrixk
                      last edited by

                      @mattrixk

                      esthemes.sh pulls straight from the GitHub Repo so all you would have to do is select your theme and press update.

                      Don't sweat it.
                      When in doubt, take a BYTE out of life.

                      😎

                      1 Reply Last reply Reply Quote 0
                      • PokeEngineerP
                        PokeEngineer @mattrixk
                        last edited by

                        @mattrixk

                        So it will download the latest version and overwrite the old in RetroPie.

                        Don't sweat it.
                        When in doubt, take a BYTE out of life.

                        😎

                        1 Reply Last reply Reply Quote 0
                        • mattrixkM
                          mattrixk @backstander
                          last edited by

                          Thanks @backstander :D

                          @RetroPieNerd: Cheers for the info. It's good that I don't really have to do anything on my end except update the theme repo and anyone pulling it gets the most recent version. It could get messy if I had to somehow push it to the RetroPie repo or something. I'm not fully down with GitHub yet.

                          My ES themes: MetaPixel | Spare | Io | Indent

                          1 Reply Last reply Reply Quote 0
                          • mattrixkM
                            mattrixk
                            last edited by

                            The Medium size option of the Io Theme now supports 4:3 resolution.

                            My ES themes: MetaPixel | Spare | Io | Indent

                            1 Reply Last reply Reply Quote 1
                            • meleuM
                              meleu @mattrixk
                              last edited by

                              @mattrixk I forgot to give a feedback. The io theme is now running fine here. Thanks!

                              • Useful topics
                              • joystick-selection tool
                              • rpie-art tool
                              • achievements I made
                              cyperghostC 1 Reply Last reply Reply Quote 0
                              • cyperghostC
                                cyperghost @meleu
                                last edited by

                                @meleu
                                Do you think it could be possible to change large/medium/small size of themes directly via RetroPie? I think about a database that holds data which theme is able to be changed. You select the option, do a restart of ES et voilà c'est bon.

                                mattrixkM 1 Reply Last reply Reply Quote 0
                                • mattrixkM
                                  mattrixk @cyperghost
                                  last edited by

                                  @meleu: Cheers for the testing. I'm working in GridView now.

                                  @cyperghost: I like the idea, but it's way out of my realm of understanding. It's not something that ES themes can do natively.

                                  My ES themes: MetaPixel | Spare | Io | Indent

                                  1 Reply Last reply Reply Quote 1
                                  • meleuM
                                    meleu @mattrixk
                                    last edited by meleu

                                    Hi @mattrixk !

                                    I'm working on a script to automatically generate launching images (discussing about the script on this thread).

                                    I'm not a specialist in emulationstation themes and its XML file structure, but I was able to make my script get the background image from the XML file associated with the theme. More precisely, it gets the <path> field from the system view <image name=background>.

                                    Example from the metapixel theme:

                                    <theme>
                                        ...
                                        <view name="system, basic, detailed">
                                            <image name="background" extra="true">
                                                ...
                                                <path>./art/bg_simple.png</path>
                                    

                                    The script successfully gets the bg_simple.png file from the metapixel.xml.

                                    This approach works fine with every theme I tested my script, except the IO theme. Because it seems that its XML file (large.xml) doesn't follow the <image name=background> standard. I see bg_color, bg_help, bg_logo, bg_gamelist, etc... But no background.

                                    So here's my question: Is there a more accurate way to get background from a ES theme XML file?

                                    • Useful topics
                                    • joystick-selection tool
                                    • rpie-art tool
                                    • achievements I made
                                    meleuM 1 Reply Last reply Reply Quote 1
                                    • meleuM
                                      meleu @meleu
                                      last edited by meleu

                                      @meleu said in Io - New Theme:

                                      So here's my question: Is there a more accurate way to get background from a ES theme XML file?

                                      I think I've found the answer a little hidden in one sentence of the EmulationStation themes documentation:

                                      "Extra" elements will be drawn in the order they are defined (so define backgrounds first!).

                                      Would I be right to say that I can get the system view background from the very first "extra" XML element inside the <view name=system>?

                                      Time to make some tests... :-)

                                      • Useful topics
                                      • joystick-selection tool
                                      • rpie-art tool
                                      • achievements I made
                                      mattrixkM 1 Reply Last reply Reply Quote 0
                                      • mattrixkM
                                        mattrixk @meleu
                                        last edited by

                                        @meleu:

                                        I'm a web developer by trade, so I generally end up having set ways that I label things. In this example, if something is a background, then it's labelled with "bg_". So here, the overall background colour is labelled "bg_color", the background of the Help bar is labelled "bg_help", etc.

                                        The Io theme doesn't really have a background image as such. Each background box is a single element using a 16x16px white PNG, stretched the right size and then has a colour applied to it with the <color> tag. If I labelled "bg_color" as just "background", you would most likely just be pulling in a square white PNG.

                                        Would I be right to say that I can get the system view background from the very first "extra" XML element inside the <view name=system>?

                                        That sounds like it might be the way to go. One question though, does it get just the background path? Sometimes a theme might have a plain white background image/pattern, and then it has the colour applied with the <color> tag (as it is with Io). Would your script grab the colour as well, or just the image?

                                        My ES themes: MetaPixel | Spare | Io | Indent

                                        meleuM 2 Replies Last reply Reply Quote 1
                                        • meleuM
                                          meleu @mattrixk
                                          last edited by

                                          @mattrixk I've made some tests with the first "extra" element inside the system view really seems to be way to go. I'm not on a RetroPie now, but later I'll post some generated images for IO theme here... ;-)

                                          Would your script grab the colour as well, or just the image?

                                          It takes the color too.

                                          Here is an example of a generated image where the script took the color from the megadrive/theme.xml (material theme):
                                          megadrive_material

                                          The script has an option named --solid-bg-color, when this option is not present, the script applies the color on the background in a "semitransparent way" (I don't know how to describe it, oh my poor english... :/ ). If the user use the --solid-bg-color option the script applies a solid color to the background image (if the background has a picture, it will be fully covered by the color, in other words, the picture will can not be seen).

                                          • Useful topics
                                          • joystick-selection tool
                                          • rpie-art tool
                                          • achievements I made
                                          1 Reply Last reply Reply Quote 0
                                          • meleuM
                                            meleu @mattrixk
                                            last edited by meleu

                                            @mattrixk Unfortunately getting the first "extra" element inside the system view isn't that trivial... Well, doing this way worked fine for io theme, but some other themes stopped working. And it's related with where the <include> is placed. The solution I'm thinking is to dump every <include>d file in one big temporary xml file and get the data from this file. Will do it later...

                                            Cheers!

                                            EDIT: as I promised, here are some automatically generated launching images for IO theme.

                                            0_1485899315394_launching.png

                                            0_1485899331274_launching.png

                                            0_1485899349209_launching.png

                                            0_1485899374430_launching.png

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            1 Reply 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.