Video View For All Themes
-
Primarily paging @Nismo and any other theme maintainers.
I've been talking with @Rookervik about the video preview feature that has been recently added to EmulationStation and there are a lot of themes that don't have video mode yet (and really just a lot of themes in general) and I want to make sure that we don't break any older versions of RetroPie by updating the themes to have video view.
Perhaps it would be good to try and enable video view for the themes or at least have Pull Requests ready so that when we release the next image that includes video view things will be up to date? what are your thoughts on this?
-
This sounds like the best idea at the moment.
Right now, if I was to update Pixel with video previews and a user downloaded the theme without updating ES from source, ES would not even load the theme. It would come up white with the default blue text. (Signifying a faulty theme)
-
@herb_fargus I haven't really looked into video previews. It's been requested for MetaPixel, but I had a look at the thread to see what it was about, and it was already up to 200-odd posts, and I just haven't had the time to go through all that. I was a bit naive to think I might get some spare time over xmas, but it didn't happen.
-
@herb_fargus How about keeping the old themes as-is so they continue to work for folks who haven't updated ES, and make duplicate themes with the video preview (Pixel2 or something like that) and just explain that if you want video preview you need to use the newer copy of the theme.
Maybe mine is the obvious idea you are trying to avoid so you don't have to deal with multiple versions.
-
@herb_fargus No problems for me, I can help with that, but I don't know how to use github so can I upload updated themes here and somebody else can do the github update...?
I already have the simple theme updated for video...
@caver01 If you doesn't have videos the new themes will look exactly the same than before... it's not mandatory to have videos. So you doesn't need two versions of the same theme.
-
Is there a really simple block of code that one can just copy and paste into the main theme
.xml? I've been following the Video thread but don't really understand all the various <tags> and technical bits. -
@robertybob It's not so easy, depends on how the theme it's made.
But I still think it's clear enough here: https://retropie.org.uk/forum/topic/5823/looking-for-testers-for-es-video-preview-on-raspberry-pi
And don't forgot that any "extra" images will be on top of video so if you use background extra the background will be on top of video.
-
As a newbie around here, but one who has at least learned to install and modify extras here and there... I certainly like the idea of having either more lightweight and proven themes, versus being able to choose an alternate video-enabled theme(s). I like what I've seen in some of the threads as this feature develops, but wouldn't want to foul up what's working properly, or compromise the next big update.
-
@ohmycommodore The themes will be the same lighweight themes, just because the only difference it's a few lines of code, 6 or 7 lines of code in a theme with hundreds of lines of code. Only a few lines to say emulationstation where to place the video, that's all, what can be maybe 100 bytes or 1kb?
And if I need to delete all "extra" tags like I did in pixel theme with video support, the theme can be smaller than the original one.
Then it's your decision if you want to use videos or not, but the theme still basically the same and will look the same than before if you don't use videos, and the theme doesn't get necessarily bigger size.
-
I think we need to consider two types of backwards compatibility : people who are still using old themes on a newer version of emulationstation , and those who try to use newer themes on an older ES.
From a developer's perspective, I really only care about the first type, and the latter is not so interesting.
For me at least, the hierarchy is clear, ES requires a certain xml-version for theme, and it's up to the user to install it.
This can/should be indicated by the version tag in the xml, which is already checked by ES upon loading (although the feedback to users can be improved).Back to the first type of backwards compatibility, is this currently even an issue? When I load a newer theme, will it break an older ES? It will require all the old tags to be there, but it should ignore all the newer/others.
So, to finally come around to @herb_fargus's question: should we update all existing themes? No, I don't think so, that is up to the original designers to maintain.
At the same time, it would be nice if we could indicate from the install menu if videos (or kid icons, for that matter ;-) ) are supported or not. -
@caver01 there are enough themes as it is and I'd rather not unnecessarily duplicate them if at all possible. If they can have video view and retain backwards compatibility that would be ideal.
@Nismo well no time to learn GitHub like the present ;) would be easier to test that way rather than attempting to sort through logs on the forum to update. You could also host your oldroom theme on a GitHub repo
-
@Zigurana another idea is to cull the theme options to include only those that have some visage of completion and maintenance.
If video view is the new default for emulationstation moving forward I think any themes we provide through the installer should support it.
-
@herb_fargus I can spend some time and update a few themes as well as default "carbon" theme.
But my problem is that I don't know if I'll have time to learn how github works...
I agree with @Zigurana on this:
For me at least, the hierarchy is clear, ES requires a certain xml-version for theme, and it's up to the user to install it.
-
@Nismo this is the pending pull request for video view with carbon:
https://github.com/RetroPie/es-theme-carbon/pull/20
Perhaps if I get time after work I'll test out carbon and simple to see the implications of video view
-
@Zigurana
I think for users still using the old ES, we need 2 different themes repos. The original one that is non-video and a new one that is video only. We can leave the code the same for the old version of ES to point to the current theme's repo but in the new ES Themes install script we can see both theme repos. Now people using the old ES can install any theme they see (which will be non-video themes) and it won't break anything but people using the new ES will see both repos (video and non-video). If needed in the future, we could faze out the old theme repo.This is if my understanding is correct that new themes brake old ES and old themes work in new ES.
I hope this make sense :)
-
@herb_fargus Sorry, but what do you mean?
(My language module is still on xmas break, so I might just be a bit slow.)Are you suggesting getting rid of some of the tags?
-
@herb_fargus i'll take a look at the pull request and comment here, but in first place i don't see marquees in the code so something is wrong...
Edit: i tested it and of course if you have marquees like me, it are displayed on top of gamelist overwriting the first game in the gamelist, system logos are not displayed in video view, video window it's not on the right place...
-
@Nismo I submitted the pull request. I purposely left out the marquees because I didn't want to get into adjusting the layout to make space for them. Since I don't have any, I didn't think about where it would place them for users that do. I will double back to hide them and to fix the missing system logos.
I will have to check on the positioning of the video. I tested it on my rpi, but it is possible I messed something up in copying the change back and forth.
-
@jdrassa too late, here is a working fixed carbon theme.. only takes to me 5 min to get it working:
Carbon theme with video support: http://www.mediafire.com/file/f32kjrkeopykjra/carbon_with_video.zip
You need to select where to place marquees so don't overwrite anything else, just because marquees still displaying if they exist even if you don't include the code.
Also inside theme.xml for each system you need to use this to make the logos work:
<view name="basic, detailed, video">
Also the video window was bigger than should be, this is the correct size and place for video and marquees:
<view name="video"> <video name="md_video"> <pos>0.763 0.400</pos> <origin>0.5 0.5</origin> <size>0.366 0.436</size> <delay>0.2</delay> <default></default> <showSnapshotNoVideo>true</showSnapshotNoVideo> <showSnapshotDelay>false</showSnapshotDelay> </video> <image name="md_marquee"> <pos>0.6 0.035</pos> <origin>0 0</origin> <maxSize>0.2 0.1</maxSize> </image> </view>
Unfortunatley I don't know how to add all these commits to github so please somebody do it for me, thx.
@jdrassa It's a nice try, but I think you need to test things a little bit before submit a pull request...
Enjoy. -
@backstander I think that maintaining separate theme repos for older versions of ES is a maintenance burden that brings us nothing but hassle.
Why would we need to keep supporting old ES users? And more importantly, for how long? If we want to keep the momentum of ES development going, as small as it is, we should look forward, not backwards.
I agree that backwards compatibility is nice to have, but the current state of ES simply does not allow for much development. Future redesigns might change that, ie. make ES theming a bit more forgiving to the presence of certain tags or not, but we'll have to make breaking changes along the way to get there.Let's put it differently, why would someone not want to upgrade their ES? If there are relevant issues, those should be adressed.
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.