Video Preview in EmulationStation
-
Here's a quick and nasty video of this version of ES in action with @Nismo 's theme:
This video is taken from a Raspbery Pi 3 running on a small 800x600 monitor running a custom version of EmulationStation that provides video preview of games as well as a video screensaver.
The video shows the boot process followed by system selection then the Mame gamelist. The gamelist shows video preview of each game or a 'static' screen for games without videos. After the banner the system fades to the screensaver which swaps to a random video every 30s.
Sorry for the poor quality and stock music - I don't have speakers hooked up to my RPi.
-
@fieldofcows Very nice, but I think is better without the emulationstation splash... more cool.
Also I see scanlines transparency it's working.
Last played and rating it's not good there, but it's ok on mine... why???
-
@Nismo Scanline transparency is working but there is aliasing due to the low resolution screen so it looks a bit uneven.
I'm not sure where the rating has gone - maybe it is because of the low resolution again.
I haven't really started configuring my pi yet. I just wanted to demonstrate that the theme and videos work without problems.
-
@fieldofcows Rating it's because low resolution.
Here is a quick fix for you (only for 800x600 screen): http://www.mediafire.com/file/6oql4q6mqjku1o3/simple.xml
Overwrite simple.xml inside oldroom theme folder with this new one. Tested at 800x600.
Enjoy!
Edit: I'm thinking in doing a 4:3 version of the theme when this one is finished, it whould take time to adjust all images a bit.
-
@fieldofcows I have a problem with the theme. I'll try to explain as better I can.
I have this:
<image name="md_image"> <origin>0 0</origin> <pos>0.544 0.475</pos> <size>0.115 0.375</size> </image>
But I need to use maxsize, like this:
<image name="md_image"> <origin>0 0</origin> <pos>0.544 0.475</pos> <maxsize>0.115 0.375</maxsize> </image>
But it breaks the theme if I use it.
This value is correct like specified here: https://github.com/retropie/retropie-setup/wiki/Creating-Your-Own-EmulationStation-Theme
*There are 7 Properties accepted by the Image Element. They are: - <pos> The position of the image within the screen. - <size> The absolute size of the image. Does not maintain aspect ratio. Use either this or <maxSize>, not both. - <maxSize> The maximum size to stretch an image. Maintains aspect ratio. Use either this or <size>, not both.*
If I use it on "md_marquee" also breaks the theme.
So I don't know what's happening here....I need this working for the theme.
-
@fieldofcows Sorry mate, it's my fault, I forgot the caps on the S, it's maxSize and I was typing maxsize.
It's working, sorry for annoying you.
-
@Nismo Haha! I hadn't started looking at it yet :D
-
Hi @fieldofcows, I have an annoying problem with emulationstation, and maybe you can fix it.
To launch some emulators I use a batch file, one example of es_systems.cfg:
<command>%HOME%\.emulationstation\systems\fusion\fusion.bat "%ROM_RAW%"</command>
My batch file it's working pretty good but "%ROM_RAW%" returns this:
P:\.emulationstation\systems\fusion\Fusion.exe "P:\\.emulationstation\roms\Sega32x\Virtua Racing.zip"
Keep an eye on double back slash:
"P:\\.emulationstation...
While this works with fusion, other emulators fail to load because the double back slash.
For example, if I launch a game in ZX spin emulator through command line this way:
P:\.emulationstation\systems\zxspin\zxspinexe "P:\\.emulationstation\roms\zxspectrum\Ghouls 'n' Ghosts (Europe).zip"
ZX spin emulator fails to load because the double back slash thing but if I send the same through commandline without double backslash it works:
P:\.emulationstation\systems\zxspin\zxspinexe "P:\.emulationstation\roms\zxspectrum\Ghouls 'n' Ghosts (Europe).zip"
No matter if I use "%ROM_RAW%" or "%ROM%" or %ROM%, this commands always returns double back slash.
This is the batch file:
start /MIN %~dp0AllInOneFYC.exe AllInOneFYC.ini %~dp0Fusion.exe %1 taskkill /f /im AllInOneFYC.exe
Please can you fix it for better compatibility with more emulators?
Thanks.
Edit: I only use the batch file to see the cmd window, I convert the bash file to exe file and that way I hide cmd window, I do the same to launch ES portable mode hiding cmd window.
-
@Nismo I'm not getting the same problem with my configuration. I only get single backslashes.
Can you post your es_systems.cfg and a the gamelist entry for Virtual Racing to see if I can spot any difference? -
@fieldofcows Here you have:
es_system.cfg:
<system> <name>sega32x</name> <fullname>Sega 32X</fullname> <path>~\.emulationstation\roms\Sega32x</path> <extension>.32x .zip</extension> <command>%HOME%\.emulationstation\systems\fusion\fusion.bat "%ROM_RAW%" -fullscreen</command> <platform>sega32x</platform> <theme>sega32x</theme> </system>
gamelist:
<game> <path>./Virtua Racing.zip</path> <name>Virtua Racing Deluxe</name> <desc>Virtua Racing Deluxe is an enhanced arcade-to-console conversion of Sega's 3D racing game. This game is primarily an arcade-style affair; Players compete in a 5 lap race with timed checkpoints. It's also possible to play with 2 players in a split-screen mode.The 32X version of Virtua Racing adds a couple of new features. There are now 3 different types of cars to drive, including a stock car and a prototype racer. Furthermore, there are two all-new tracks.</desc> <image>~/.emulationstation/downloaded_images/Sega32x/Virtua Racing-image.png</image> <video>./Videos/Virtua Racing.mp4</video> <marquee>./Marquees/Virtua Racing.png</marquee> <rating>0.75</rating> <releasedate>19941121T000000</releasedate> <developer>Sega</developer> <publisher>Sega</publisher> <genre>Race, Driving</genre> <players>1-2</players> </game>
And his is the batch file:
start /MIN %~dp0AllInOneFYC.exe AllInOneFYC.ini %~dp0Fusion.exe %1 taskkill /f /im AllInOneFYC.exe
But like a told you, it's not only that game, it's for all games and emulators. Maybe it's a windows issue? you tested on windows? Fusion emulator works, but ZX spin refuses to load files because the double back slash, (and for sure more emulators have problems with that).
Thanks for the help.
-
Hi @fieldofcows ,
I've made a launcher for ES, and I made your version portable with all plugins and dll files inside the exe itself. Do you give me permission to post my launcher with your windows build on Ideas and Development section?
This is the readme file and what launcher does:
EMULATIONSTATION WITH VIDEO SUPPORT BETA 6 BY FIELDOCOWS - PORTABLE + LAUCHER MOD BY NISMO
A portable version of Emulationstation with video support by fieldofcows, all credits to him.
- Based on Fieldofcows Windows binary Beta 6.
INFO
I was trying to do the EmulationStation experience on windows a little bit better,
was annoying to see the desktop and opened windows everytime you load a game,
also the pop up cmd windows break the experience a lot.i like EmulationStation so much, it's fast and smooth, so I spent a lot of time
trying to fix the things a bit, or almost make it a bit better, and this is the result.DETAILS
-
You can use the launcher for any windows build of EmulationStation.
-
Launch ES in portable mode without the annoying CMD window.
-
Launcher will hide desktop before launch EmulationStation for better experience and feeling.
-
It doesn't kill explorer.exe, so if you are copying/moving files when launch ES, you are safe.
-
Launcher will try to hide almost all annoying CMD windows when launch a game
(you still can see the cmd windows, but only on launch game and only for a few miliseconds). -
No CMD windows when exit games.
-
Only Emulationstation.exe and Launch portable.exe, all dll files and plugin folder are inside the EXE itself.
-
If you doesn't use the launcher you still can use ES in non portable mode.
REQUIREMENTS
-
Only for windows.
-
You need to use a compatible theme (Oldroom WIP theme port by me it's included).
-
You almost need to have the videos in your video folders for each system, and the right paths in your gamelist.xml.
If not, the theme will not use the video view, and detailed view it's not finished at the moment. -
Marquees folder not required but recommended.
Example paths in gamelist.xml for videos and marquees:
<game> <path>./Deadly Moves.zip</path> <name>Deadly Moves</name> <desc>You are Joe, a young American who has been secretly training to become a powerful fighter.</desc> <image>~/.emulationstation/downloaded_images/megadrive/Deadly Moves-image.png</image> <video>~/.emulationstation/roms/megadrive/Videos/Deadly Moves.mp4</video> <marquee>~/.emulationstation/roms/megadrive/Marquees/Deadly Moves.png</marquee> <rating>0.6</rating> <releasedate>19920814T000000</releasedate> <developer>System Vision</developer> <publisher>Kaneko</publisher> <genre>Fighting</genre> </game>
What do you say?
-
@fieldofcows Please, can you make EmulationStation don't touch videos and marquees paths on gamelist please? I'm still having problems with relative paths.
I didn't see before, but if you play a game, a lot of paths are changed inside the gamelist, and with the annoying double back slash:
<video>Z:/EMU//.emulationstation/roms/mastersystem/Videos/Action Fighter (USA, Europe) (Rev 2).mp4</video>
Please make it don't write videos & marquees tags.
Regards.
P.D: A new update of the theme is coming...
-
@Nismo Ah, so that's where the double-slash comes from - the metadata saving.
I had a look at this and ES reads the paths from gamelist.xml then converts them into full paths in order to load the files. When you come to save the metadata it doesn't use the original relative paths but instead recalculates them from the full path and a base directory, hence the paths can sometimes change.
In order to fix this there are a couple of options:
- Always store the path as it was read in gamelist.xml, converting it to a full path locally before reading the file (so the metadata in memory always matches the gamelist.xml)
- Extend the metadata code to store both the 'as read' and full paths
I'll take a look to see which approach is best and how much work it will be. In the meantime I'll see if there is a quick fix for the double slash problem.
Edit: I just noticed that the example you posted above shows the metadata write left a full path in the the gamelist.xml. I don't know what happened there. I'll investigate.
-
@Nismo Unfortunately it's not as easy as just making ES not save <video> and <marquee> although there may be a way around this.
But, in the meantime I think I may be able to solve your problems. As far as I can see it there are two issues:
- Double slashes
- Saved image and marquee paths are not relative
I think the double slashes are caused by your home path. Looking at your es-systems.cfg you are using a variable named %HOME%. I'm guessing you've set this to "P:". Instead, leave the trailing backslash off and I think it will solve that problem.
Secondly, you can work around the relative path issue by using the ~ character to make it relative to the home directory. So instead of "./Videos/..." set the path to "~/.emulationstation/roms/Sega32x/Videos/.."
-
@Nismo said in Video Preview in EmulationStation:
Hi @fieldofcows ,
I've made a launcher for ES, and I made your version portable with all plugins and dll files inside the exe itself. Do you give me permission to post my launcher with your windows build on Ideas and Development section?
[snip]
What do you say?
I would be really happy to see as many people as possible benefiting from our changes so yes you have my blessing - although you don't really need to ask my permission.
I do wonder if this forum is the correct place for it though seeing as it is a Windows build and this is the retropie forum :) That reminds me - I've got to pull my finger out and work out how to let retropie people get a build of this version of ES up and running.
-
@fieldofcows Would it be a huge undertaking to get it Pi-compatible?
-
@fieldofcows thanks for all. I'll try to answer all your questions.
First of all, yes i think is not the best forum to post the launcher for windows version, but already a lot of themers use that version for testing their themes so... don't know what to do. Unfortunately official forums are totally break because thousand post of spam. Thank you for your permission.
Ok let's go, you said:
2. Saved image and marquee paths are not relative
You are wrong, problem is with video and marquee.- you are using a variable named %HOME%. I'm guessing you've set this to "P:". Instead, leave the trailing backslash off and I think it will solve that problem.
If i change %HOME% to "P:" then it's not portable, in other computer doesn't load videos and marquees, but images working.
- you can work around the relative path issue by using the ~ character to make it relative to the home directory. So instead of "./Videos/..." set the path to "~/.emulationstation/roms/Sega32x/Videos/.."
I always use the ~ character in all the paths (see code above, my script does it automatically), sometimes emulationstation stores the path ./Videos/ and sometimes full path, i need to reproduce this but don't know how.
The most interesting thing is that <image> path is never touched by ES, so I wonder why it writes video and marquees. The <image> tag it's working perfect.
Whould be nice if you can take a look at image tag code, and try to make video and marquees tag code uses the same behaviour than already written image tag code. (Don't know if it's possible).
Thanks for your help, i did a lot of working in the theme, i will upload the new theme tomorrow.
Regards.
-
@robertybob said in Video Preview in EmulationStation:
@fieldofcows Would it be a huge undertaking to get it Pi-compatible?
Hi. No, I developed this for the Pi from the beginning, always making sure it worked well on that platform. The reason it has been Windows-centric over the last few weeks is because @Nismo has been kind enough to work in parallel on excellent theme using video (something I couldn't possibly do - I have no artistic talent!) and @Nismo uses Windows.
I posted a video above of it working on the Pi and just need to either post a binary or instructions on how to install it.
-
@Nismo said in Video Preview in EmulationStation:
@fieldofcows thanks for all. I'll try to answer all your questions.
2. Saved image and marquee paths are not relative
You are wrong, problem is with video and marquee.Yes, sorry. I meant video and marquee.
- you are using a variable named %HOME%. I'm guessing you've set this to "P:". Instead, leave the trailing backslash off and I think it will solve that problem.
If i change %HOME% to "P:" then it's not portable, in other computer doesn't load videos and marquees, but images working.
Ok, so looking through the code I cannot see where image is behaving differently to video and marquee. This is only true as of beta 6. Before that marquees and paths would have been changed on metadata save.
I've tried reproducing this but on my system the paths consistently work without problem. I haven't tried setting up so the .emulationstation directory is the root of a volume though (like on p: in your case). I'll try that out and if it causes the problem then I'll fix.
One thing I did notice is that I am treating videos and marquees as separate metadata "types". Although consistent with the image metadata type there is no reason why they shouldn't all share the same type which would mean they are guaranteed to be handled consistently.
I seem to remember a problem I had with VLC and paths where the default path handling in ES didn't work with VLC. Maybe there is an issue around there somewhere...
Oh, I wish I had more time for this!
-
@fieldofcows Thank you very much for your support, I know you have a test version installed on windows, try like me, a gamelist with a few games and write path like me:
~/.emulationstation/videos/
~/.emulationstation/marquees/Then start ES in portable mode and play one or two games in the gamelist.
Close ES and take a look at gamelist, maybe the games you played didn't change but the other games yes.
Thanks for your patience.
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.