Video Preview in EmulationStation
-
@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.
-
@fieldofcows Ok here we go with a new update. I did a lot of fixes and improvements, so i don't remember all.
Oldroom 1.5:
-
Fixed neo geo tv borders not in their place.
-
Fixed scanlines displaying on top of tv borders.
-
Rearrange files and paths to reduce theme size and more organized.
-
Tweaked scanlines.
-
Now you can select a few scanlines intensity, go to oldroom/art/ and rename scanlines you want to use to "scanlines.png". Rename to "noscanlines.png" if you don't like scanlines.
-
Now all video options are in main file oldroom.xml inside oldroom folder, you can tweak it there for all systems.
-
I did modifications in all themes backgrounds and added some reflections missing.
-
All images optimized.
-
Now the theme has more systems and half size (from 18mb to 5.92mb 720p version, 8.64mb 1080p version).
-
Added zxspectrum, sega mastersystem, sony PSX, Nintendo 64.
-
Added snes almost finished (i only need to do the emty 3d box here).
-
Added Sega CD system wip (this theme need some work).
-
Now oldroom theme come in two sizes, 1080p and 720p - Rpi optimized.
-
I don't remember XD.
WARNING:
Now this theme has more than 10 system so it can cause white screen of death, i can't test because i don't have Rpi so be careful.
@fieldofcows maybe you can test this because you are the only one at this moment that has a Rpi build of beta 6.
White screen of death info here: https://github.com/retropie/retropie-setup/wiki/themes#white-screen-of-death
If you have a white screen you solve by doing some of these:
- Switch your theme to any Carbon, Pixel, Eudora, Turtle-Pi, or Canela variant.
- Remove some systems.
- Increase your GPU/CPU split
Download
oldroom theme 1080p: http://www.mediafire.com/file/0d73b4ae5t9kbg3/Oldroom+1.5+-+1080p.zip
oldroom theme 720p (Recommended for Rpi): http://www.mediafire.com/file/bz4g76bj4axds36/Oldroom_1.5_-_720p.zip
Both of them includes fix for 800x600.
Video preview:
Enjoy!!.
-
-
@Nismo That looks absolutely fantastic! I'll try it on the Pi shortly.
I've spent a while trying to reproduce your metadata problem and it doesn't matter what I do I cannot make it save absolute paths. It works correctly every time. Are you definitely using the latest version? I'm not quite sure what to do about this if I cannot reproduce it. :(
By mapping my P: drive to the root folder of ES I can get the double backslash when launching games though. That should be easy to fix.
-
@fieldofcows I'll try to do some test to reproduce the problem but i'm a very bit busy with the theme.
If you fix the double backslash whould be very good for me because I can use other emulators.
One little request: set default sound when switching between systems.
There's some way that i can send to you private messages? I want to send you some files for testing.
Edit: I'll download beta 6 again, maybe i'm confused and using and old version, i was changing versions while testing bugs.
-
@Nismo My email is roy.hopkins@ then my retropie user name dot com.
-
@fieldofcows Thanks. I redownload beta 6 for testing, and seems relative paths working good now, maybe i was confused and using beta 5, sorry so much i'm so clueless.
I'm really sorry.
-
@Nismo No worries. I've just made a change to the metadata handling to store the original path from the gamelist file along with the resolved path in order to be able to write it back out without modification. I'll keep it on standby for the time being and if you encounter any more problems with paths I can test it then commit it. It will use a bit more memory to store the extra paths but I doubt that's a problem.
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.