Input needed: ES theming improvements
-
@Zigurana I'll give the windows build a try on my lunch break (about 3 hours). I like that you can set the width for the infobar. Am I correct in assuming the carousel is still only 100% width, so you can only set its height and ypos?
-
@Zigurana Did some small testing on the Windows version and so far it works. At least the carousel part. One thing i noticed is that on some systems i get a different background color behind the description field even though i've nothing set there. On the most systems it is normal so it might be a windows thing.
Just did another test with the Carbon theme and there are weird boxes all over in system view. But it's already 3a.m here and I'm getting tired. Will test more later.
-
@Zigurana It's looking good. I used:
<carousel name="systemcarousel"> <pos>0 0.677</pos> <size>1 0.260</size> <color>FFFFFF00</color> <logoScale>1</logoScale> <logoSize>0.200 0.100</logoSize> <maxLogoCount>5</maxLogoCount> </carousel> <text name="systemInfo"> <pos>0.010 0.930</pos> <size>0.980 0.050</size> <backgroundColor>FFFFFF00</backgroundColor> <color>AAAAAA</color> <fontPath>./_inc/font/Roboto-Light.ttf</fontPath> <fontSize>0.025</fontSize> </text>
To get:
I have the logos set to width 20% each, with no logoScale. The NES logo looks smaller because it is taller than the other logos and not as long, so it's hit the height limit before hitting the width limit.
You might be able to see the overlap of the logos on the left and right of the image. This is where being able to set x-width would be awesome, but I can get around it by setting the width of the individual logos to something smaller.
Also it still has the pop-in of the right most logo when you cycle left.
I did notice some weirdness in the menus though:
green menu heading
brown background behind menu item
green menu heading | red behind menu items
Strange colours showing up in the headers and over some of the items. It only seemed to happen on the items that you can choose left or right, not the on/off items. They also seem to change width as you press left/right.
It came and went. Sometimes none were coloured, other times 2 or 3 were coloured. I only noticed the coloured items in the UI Settings menu, but the Main Menu title was always that dull green colour.
-
@mattrixk, you are more or less correct. You can set the width to less than 100% but the logo's will likely still slide beyond it. Do you think its usefull to have a carousel that takes up less than a full screen width/height?
-
@mattrixk hmm, that means that my mechanism for checking if the bgcolor has been set is bugging out. I will have another look tonight.
-
@Zigurana said in Input needed: ES theming improvements:
Do you think its usefull to have a carousel that takes up less than a full screen width/height?
I think it would be a really good thing to have if it's not too hard to implement, and could open up a lot of new ideas for the design of the System View. You could set it to take up only half the screen and leave the rest for other things (system info, images, etc).
I think it would also be useful for when someone gets Vertical Carousel working, we could have a strip down one side that's only 10-20% wide, but 80-100% high.
-
Any chance that the <color> tag is for the actual system image (similar to how <image name="logo"> works) and <backgroundColor> for the carousel is added?
-
I'm kinda with @EctoOne on this one. I was trying to colour the system logo (all logos are one colour, and then use <color> to change their colour and opacity. It didn't work and I was sad :(
-
-
@Zigurana Just a question: Will emulationstation-kids ever be added to the offical build of ES?
-
Ok, I've tried not to make you unsad, so you can apply colors to the logo now as well (this is part of the system\logo which is of type image):
<view name="system"> <image name="logo"> <path>./logo.png</path> <color>FF00FF80</color> </image> </view>
And I've fixed the weird colors behind other textcomponents thing that was going on.
I've also implemented the fix for the late popping in of the right-most logo, thanks @jdrassa for the insight!BUT I am not sure if I can make partial carousels happen at this point.
To allow a carousel to cover only part of the width of the screen, you need to have- some kind of mechanism to crop / remove a logo once it scrolls outside the determined size (rather than just moving it offscreen)
AND/OR - some mechanism to pop logo into the carousel once you start scrolling, otherwise we get the popping thing all over again.
#Further updates#
I made a start with further restructuring of the code (moving the carousel to a separate component (for ease of re-use) but decided to stash all that for now, as it is quite a job, and with no clear application in sight yet.#Concluding#
So I pushed the changes to https://github.com/zigurana/EmulationStation/tree/SystemCaroussel, and you can download the new windows build HERE. - some kind of mechanism to crop / remove a logo once it scrolls outside the determined size (rather than just moving it offscreen)
-
@lilbud
Hey man! That particular project is on hold for now, at least until we decide what to do with the metadata improvements. For a while it seemed that there was a really good momentum building up, and I did not want to spend a lot of time debugging and redesigning something that will have to be revisited when we go to a database approach anyway.In its current state, it is still one or two big bugs away from stability, and certainly not ready for prime-time!
-
@Zigurana Awesome! I'll check it out on my lunch break.
-
@Zigurana: Solid build mate (I'm using the windows build. It's not really practical to set up a Pi on my desk here at work).
I understand about the problems of making the carousel not 100% width. I didn't know it worked that way, but now that I do, I see how that would be a mongrel to get around.
Notes:
- The weird menu colours are indeed gone.
- I'm still getting the pop-in of the right-side carousel icon.
- You used to be able to add <color> to the logo only in Basic and Detailed Views, so it's great that you can now add <color> to the logo in the carousel too. Unfortunately it only applies the colour to the active logo. Say you have Gameboy, NES and SNES, and you've given them green, red and purple respectively. If your carousel is on Gameboy, the Gameboy logo will be green, but the NES and SNES logos will be their default colour. When you cycle to NES, the NES logo will be red, but Gameboy and SNES will be their default colour.
- Thinking into it, it's probably going to be too much work to do what I was envisioning. If I want the logos to be different colours I can just use photoshop (it just means users will be stuck with those colours I choose).
- I noticed that you have integrated Video Previews into this build. I'm stoked about this because it means I can do all my theme dev work in this one build, instead of moving back and forth between this and the Video Preview build. Yay!
-
@mattrixk hmm, having only the active system colored would work for me, since I'm only displaying 1 system on my theme. So at least I don't have the extra work to recolor every system, that's why I asked for that feature because I'm lazy. I hope it is possible to get it fixed for you.
Also that's why I asked what features are in this build. It was a little confusing having 3 builds with different features. Now I'm only using this one. Guess this weekend I have to spend some more time on the Pi, want to see if I can set up UAE4arm anyways.
-
@Zigurana I agree that it is a good idea to hold off on refactoring the carousel into its own component. No reason to hold up this great new feature.
I have an idea about how to implement partial width for the carousel. If you look at the ScrollableContainer class, you will that it is calling
Renderer::pushClipRec
andRenderer::popClipRec
. I believe that this may be the key. I am hoping to find some time this coming weekend to try it out, but thought I would leave the idea for you in case you beat me to it.@mattrixk I believe that @Zigurana should be able to apply the same color fix to the non-active logos. Looks like it was probably just an oversight.
-
@mattrixk , @jdrassa : You got me, i missed the first applyTheme for normal (non-selected) logos!
But now I think about it some more, if you want to color each logo, irrespective of selection status or not, why not just use different logo's?
I was imagining this as a highlighting method, to further indicate the selected logo. Is this not how you would use it?Because I now use the existing implementation for ImageComponents to set the color, its not really possible to discriminate between selected and normal logos this way.
I think that having multiple theme colors wrapped into a single theme is interesting, but an outside use-case, but I might be mistaken.
So while it's a 30 sec job to implement for all logos I think this is more usefull actually. I like to be challenged on this though!Re. popClipRec's: This is something I know very little about (glRendering and all that), so @jdrassa I'll leave you to it! let me know if you make progress!
My next stop: Vertical carousels!
-
@EctoOne said in Input needed: ES theming improvements:
Also that's why I asked what features are in this build. It was a little confusing having 3 builds with different features. Now I'm only using this one. Guess this weekend I have to spend some more time on the Pi, want to see if I can set up UAE4arm anyways.
Hi Ecto, I think you should keep in mind what this is, and experimental branch, still in development stage. If you cannot figure out what is, or is not present in terms functionalities, look at it from like this: Is the other functionality I am looking for already part of the main build? Has the dev branch been rebased recently? If the answer to any of these two questions is no, it will not be in there (yet). In general, its a dumb idea to combine development of several non-related features in one go, as bugs in the one will hold the other back.
So I tend to take in only the changes that are accepted into RetroPie/Master only (not that that is a guaranteed clean situation, but lets not go there).
To recap, this branch has most everything the RetroPie/master branch has, plus the themable carousel.
You might want to consider sticking to the master branch, if you care about stability. -
@Zigurana said in Input needed: ES theming improvements:
I was imagining this as a highlighting method, to further indicate the selected logo. Is this not how you would use it?
Huh, I didn't even consider this. My idea was each System would have it's own colour for backgrounds, highlights etc (similar to Pixel and MetaPixel). I'm also creating new Logo artwork, but they are all mostly transparent so the background colour/pattern can show through. The downside of this is that the System View can look a little plain because everything is the same colour. I was hoping to display the System colours through the Logos on the carousel.
Eg, using my GB (green), NES (red), SNES (purple) example above: If the carousel has Gameboy active, it will have a green background, green logo and green console image. I was hoping to show a red NES logo and a purple SNES logo in the carousel, just to give it all some colour.
if you want to color each logo, irrespective of selection status or not, why not just use different logo's?
A few reasons:
- Lots of photoshop work on a theme that I've already been working on for months.
- If I use specific colours for each logo, it's going to be a lot of work to make sure they match the System colours (just comparing the hex code doesn't really work).
- Also, with set colour in the logo, a user can't go in and change the System colours if they want to.
I don't want any of this to sound like I'm whinging or ungrateful. I love your work. I still use the Child-Friendly mod on my set-up at home, and can't see myself changing any time soon.
-
@Zigurana It's like I said before. I know that there are experimental builds and that's great and all. All I'm trying to say is that it is hard to keep track of which build supports what. For example, the carousel mod was the first build that got me into themes, then I wanted to try to work on getting video support In the theme and it really confused me for a while that my theme was broken because the video build was missing support for carousel changes. Finding the error by reading through multiple (sometimes very long) threads was tedious.
Again, I deeply appreciate all the work everyone here does to make this better. But I wish it was more organized. Sometimes the solution is found under help, sometimes it's somewhere else.
When I have a problem with something related to Kodi, it's easier to find a solution because of the way the Kodi forum is structured. Almost everything has its own group in a specific sub category.
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.