Request: Add an Instant Transition [SOLVED]
-
@TMNTturtlguy power savings is suspended if Game lists have video. I also want to see what jdrassa meant that all views are cached.
-
@Hex I just reinstalled your ES build and did not notice much a change in the video. It may play for about a second longer than it did before, but it still stalls out after 2-3 seconds. Thanks
-
@TMNTturtlguy Can you send me the video preview files/gamelists and a small how to so i can get video preview set up and testing
-
@Hex I can't send you any files, but I can tell you how to set it up.
-
create a gamelist for a rom you have that looks like this. You can just copy this and use it in your current game list for whatever system you have. Replace "romnamehere" with the exact name of the rom you have, also make sure the extension matches, like .zip or .nes. Make sure the vidoe .mp4 name matches exactly with the name in the gamelist. Place your video in a folder named "downloaded_images"
<game id="" source=""> <path>./romnamehere.zip</path> <name>romnamehere</name> <desc /> <image>./downloaded_images/name.png</image> <marquee>./downloaded_images/name.png</marquee> <video>./downloaded_images/name.mp4</video> <releasedate /> <developer /> <publisher /> <genre /> </game>
-
place the gamelist.xml in your rom folder for that system.
-
create a folder named "downloaded_images" in your rom folder for that system and place the .mp4 video file in that folder.
Use a theme with video preview. Carbon is a light weight theme that has video enabled. You can update it from the retropie menu just to be sure you have the most recent copy.
Restart ES and now when you go to the system with the rom and gamelist, the view will automatically open to video view. You should see the .mp4 playing when the game is highlighted. Please note you will want to have a video that is fairly small a resolution of 320x240 at 30fps is probably max size.
Hope this helps
-
-
@TMNTturtlguy You running ES on Pi 0,1,2,3 ?
I installed latest from binary (official) and the video stops after 2 secs on Pi 0 and 1. I tried the same on 3 and it runs nicely. I am currently compling it on 3. If it works then it is a playback performance issue.
-
@Hex I am on a pi 3
-
@TMNTturtlguy I tested it on Rpi 3 now and it is working. I had some git troubles and that might be the issue. Can you
git pull
andmake
again and let me know. -
@jdrassa said in Request: Add an Instant Transition:
@Hex I haven't tested it yet, but I don't think the power saver flag is going to work properly. On startup,
getGameListView
is called for each system and the view is cached. As implemented, I believe the power saver flag will be set based on the last view created vs. the current view. Instead of setting and returning a boolean, you could test the name ofmCurrentView
to see if it isvideo
.Now I understand what you mean. Currently my setup is such that if you have even a single video then the power saver is not implemented. I am not going to mess with video back-end as they are implementing OMX player support.
I am trying to figure out where power saver needs to be disable for proper functionality.
-
@Hex I would try to enable it here:
https://github.com/hex007/EmulationStation/blob/master/es-app/src/views/ViewController.cpp#L118That is where the current view is set. The tricker part if figuring out if mCurrentView is a video view. You should be able to check using
getName
, but you will need to cast it first.You will also want to set mPowerSaver to false here, since SystemView does not have video.
https://github.com/hex007/EmulationStation/blob/master/es-app/src/views/ViewController.cpp#L75 -
@jdrassa This was really helpful. I have implemented the changes here.
https://github.com/hex007/EmulationStation/commit/fd613418a04630c64a0e3e58170202f7dafcef9c
mCurrentView
is instance ofGuiComponent
which doesnt havegetName()
getGameListView(system)
returnsIGameListView
(Child ofGuiComponent
) which does.@TMNTturtlguy Thanks for all the help, now you can test what mode it is on in Menu where it shows ES version
-
@Capeman I apologise for hijacking your thread like this.
I have finished incorporating what you wanted. Looks like this
-
@Hex love it!
-
@hex - nice work! The video is now playing perfectly. The Instant and None transitions are realy cool and they both work so well. I am excited to try to build a new theme based on this.
You may want to look into the screensaver on your build. They are not currently working.
Thanks so much for coming up with the new transitions. I now this takes a lot of time. Again, if you have the time and desire, it would be really cool if you submitted a PR to the man branch to incorporate the "instant" and "none" transitions. I know they would be really well recieved by the community.
Great work and have a good weekend. Keep me posted on if you every need any help testing your builds, i have you in my es-tests script, so it is easy for me to do.
-
@TMNTturtlguy @Hex I agree, as well as the remaining changes as compiler, command line or menu options.
It's always great to have more talented developers around, and if you're keen on optimizing emulationstation, there's quite a few people here who are looking into similar problems so the more the merrier!
Also, for the Pi 0 and 1, we'll hopefully have OMX player as an option for videos on the main branch, so that should interest you!
-
@TMNTturtlguy @pjft The only thing stopping me from submitting a PR is not knowing how to. My branch is several commits ahead. I have minimal exp with git.
Also do you know of any OMX build. I would like to incorporate that over the weekend.
-
@Hex I do. You can cherry pick my 2 last commits from my RetroPie OMX player branch (something like that).
Sure, happy to help with that. I don't have a lot of experience with git either, but I'm happy to help you with a scrappy-and-completely-unofficial-and-hacky guide to making things happen in git.
Maybe I'll write a small post here in the forums with what I've learned so far, hoping it helps. I hope it won't come across as preachy or make people think I know best or more than others, as that's both false and I'm far from an authority in anything!
That being said, if it'd help (and if it won't damage people from hearing things done by someone who doesn't know much about git) I'll try to do it in the coming days.
EDIT:
And, by cherry pick, I literally mean you should checkout my repository and try that.
Or alternatively you can fork it, and then submit a PR from it to your own repository?
Keeping the original commits is nice for authorship and tracking changes. In this case, the bulk of the work was done by @fieldofcows - I just worked on top of it to fix a few things and then worked further on the video screensaver front (which is not yet available, but should be soon).
That being said, my strong recommendation is to try to push things to the main repository, where they make sense.
-
@TMNTturtlguy said in Request: Add an Instant Transition:
@hex - nice work! The video is now playing perfectly. The Instant and None transitions are realy cool and they both work so well. I am excited to try to build a new theme based on this.
You may want to look into the screensaver on your build. They are not currently working.
I am looking into screersaver support.
-
Due to popular demand I have sent a Pull Request for Instant and None transitions. Its all upto @BuZz now.
-
@Hex said in Request: Add an Instant Transition:
@Capeman I apologise for hijacking your thread like this.
I have finished incorporating what you wanted. Looks like this
That is EXACTLY what i was looking for! WOW that's great! Thanks for working on that!!
-
@Capeman Let me know if you have any more ideas
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.