Input needed: ES theming improvements
-
@jdrassa said in Input needed: ES theming improvements:
but I am hopeful.
So are we :D
Not to mention appreciative!
-
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.
-
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.
-
@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?
-
@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?
-
@Zigurana I guess he means more of a drag n drop theme creator
-
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
endifAnd when I spoke to Aloshi, it was before 2015. He was just starting work on GridView from what I remember.
-
@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.
-
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.
-
@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.
-
@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.
-
@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.
-
Just to Update: The PR for System Carousel theming got accepted!
-
-
@lilbud Ha! That used to be my ringtone! But 15 minutes of it? Damn!
-
-
@Zigurana I'm stealing that idea.
-
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 :(
-
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/
-
@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!
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.