Please test: Random Game selection/launch via Video Screensaver
-
@Zigurana a suggestion, thinking about it: It could be good to decouple the random game "selection" within the library, from the action of selecting it in the list.
Edit: that way I could use exactly the same logic to render a random screensaver video, for instance, or if someone wants to launch a random game or something. It just makes it more modular.
Added a comment on GitHub, I think, but seems to be pending.
This is what I said:
I was thinking about this. It could be better to decoupled the "getting" a random game from the subsequent action. Meaning, this function should probably call a "get random game" method, that should perhaps reside in SystemData, if that has access to the systems vector, and then in this case select it. On my phone, sorry if it isn't clear.
-
@jdrassa good catch. I thought it would be a standard UTF character representing a star, but haven't confirmed. May be worth checking.
-
@pjft Got it! no need to change it at all in my opinion, It works wonderfully and the standard text does not bother me at all.
adding different screensaver video options seems to be to much work for something that already works wonderfully, and just like in my theme building, i try to think about the end user doing as little as possible to make it work. How many users will really get into the .emulationstation folder to modify it? Of course our community of peers on the forum, but in general not a very big percentage of users will learn how to modify their gamelists and change files in .emulationstation, they want it to work "out of the box".
I think you have a wonderful build set up already, text options would be a plus, but no need for custom videos. Thanks!
-
@Zigurana Hi!
Tested it on the Pi. It's crashing at the moment - integer overflow - but removing the "+1" after RAND_MAX fixes it. I suppose that constant is OS dependent :)
No performance concerns - added comments on GitHub.
A question: is it deliberate not to allow one to use the "A" shortcut to select a random game in the System View?
Have a great weekend!
-- Actually, after you fix it, let me know, as I'm happy to cherry pick the commit to my OMX merged build :)
-
@pjft said in Please test: Random Game selection/launch via Video Screensaver:
@Zigurana Hi!
Tested it on the Pi. It's crashing at the moment - integer overflow - but removing the "+1" after RAND_MAX fixes it. I suppose that constant is OS dependent :)
Aargh!
I encountered this before, and fell into the same trap twice! Sometimes i feel like I have an old 1st gen RPi instead of a brain, always low on memory... At least its easy to fix.No performance concerns - added comments on GitHub.
Good!
A question: is it deliberate not to allow one to use the "A" shortcut to select a random game in the System View?
What do you mean? Would pressing 'A' not just enter the selected system?
Do you mean to press 'X' while in the Systemview?
I could add that, if there is a demand.-- Actually, after you fix it, let me know, as I'm happy to cherry pick the commit to my OMX merged build :)
Sure thing, I will probably get to this tonight.
Thanks a lot for testing this out!w
-
@Zigurana No problem, thanks! I added the same comments on GitHub - do you receive them? Do you get any notifications? Just so I know how to do it in the future.
I also added a comment on refactoring/splitting the random game "picking" from the random game "visual selection", if it makes sense. That's probably more relevant - and shouldn't be too big a deal, hopefully.
Also, let me make the comments on the button clear, as I'm not sure they were that clear :) Also, I'm using a PSX controller, so the buttons are different, bear with me :)
For the sake of simplicity, let's call the button for random game selection "triangle". This button works as intended when you are already inside a gamelist for a specific system.
What I mean to ask is if it's deliberate for it not to work when you are in the system selection screen - it doesn't seem to do anything there, though I expected it to work exactly the same (i.e. select a random game).
Sorry if that wasn't clear. And if it wasn't part of the design, that's fine sure - one can just enter a gamelist before using it, though since you will likely end up going to a different system anyway with some probability, it could easily be a system-wide shortcut, rather than just in the gamelist. It should be just adding it to the SystemView.cpp input handler, if you feel it'd make sense.
If not, it's also fine. :)
Thanks! Happy to test it out in the end as well.
-
@pjft :
While i somewhat remember your remarks on splitting the selection and jumping to aspects, I can't find the comments on the PR anymore, where did you post them? In any case, can you explain what you are trying to achieve there?Re: adding the button functionality to the system selection screen (SystemView): that can be done, no problem.
-
@pjft said in Please test: Random Game selection/launch via Video Screensaver:
@Zigurana a suggestion, thinking about it: It could be good to decouple the random game "selection" within the library, from the action of selecting it in the list.
Edit: that way I could use exactly the same logic to render a random screensaver video, for instance, or if someone wants to launch a random game or something. It just makes it more modular.
Added a comment on GitHub, I think, but seems to be pending.
This is what I said:
I was thinking about this. It could be better to decoupled the "getting" a random game from the subsequent action. Meaning, this function should probably call a "get random game" method, that should perhaps reside in SystemData, if that has access to the systems vector, and then in this case select it. On my phone, sorry if it isn't clear.
Heh, found it :-p.
So, yeah your comments never arrived.Not sure if decoupling the getting-a-random-number from go-to-game part is going to bring much re-usability to the table. In the case of selecting a random video as a screensaver, you will need to select from the list of available videos (not games) anyway.
In any case, I am more partial to using a go-to-random-game as a screensaver functionality, if the view shows a videosnap, fine, but not everyone has videos installed. This would act more as an attract-mode (ie. showcasing what the system can do).
-
-
@Zigurana Thanks!
I'm so sorry for the delay in getting back to you - hectic days at work recently.
I'll check the PR later.
I had added the comments in the PR, here:
https://github.com/RetroPie/EmulationStation/pull/118#issuecomment-297463486
If you expand the file in "Show Outdated" you'll see all my remaining comments as well, can you see them there? Let me know if not - it shows as "pending" to me so I'm unsure they're public (and I don't know how to get them out of the "Pending" state) :S Or do I need to "Submit a Review" for the feedback to go through? Maybe that's it? EDIT: I think that was it. I just deleted the review, nevermind. Glad we spoke here!
Anyway, yes, I'm not a stickler for decoupling it. I still think it makes more sense architecturally, though your point is valid on the video thing. It was just a thought, in the hope of re-using the code (or part of it) rather than having duplicate attempts and randomizing a selection.
That being said, if one would want to do it later, then let's have one decouple it (likely me, haha) :)
Oh, but for instance, for implementing a go-to-random-game as a screensaver functionality, you would be able to use exactly the same code as here - though you probably wouldn't want to select it in the view. It's not a big issue anyway :)
I'll compile it and test it in the coming days, hopefully. Then I still need some time to close off my own PR for filtering (sigh).
Out of curiosity (no pressure, really), is implementing the favorites tag in the metadata on your roadmap, so I can also time my filter PR accordingly so it doesn't delay you?
Thanks!
-
@pjft said in Please test: Random Game selection/launch via Video Screensaver:
@Zigurana Thanks!
I'm so sorry for the delay in getting back to you - hectic days at work recently.
I'll check the PR later.
I had added the comments in the PR, here:
https://github.com/RetroPie/EmulationStation/pull/118#issuecomment-297463486
If you expand the file in "Show Outdated" you'll see all my remaining comments as well, can you see them there? Let me know if not - it shows as "pending" to me so I'm unsure they're public (and I don't know how to get them out of the "Pending" state) :S Or do I need to "Submit a Review" for the feedback to go through? Maybe that's it? EDIT: I think that was it. I just deleted the review, nevermind. Glad we spoke here!
Nope still can't see those comments. Maybe you need to validate your email or something?
Anyway, yes, I'm not a stickler for decoupling it. I still think it makes more sense architecturally, though your point is valid on the video thing. It was just a thought, in the hope of re-using the code (or part of it) rather than having duplicate attempts and randomizing a selection.
That being said, if one would want to do it later, then let's have one decouple it (likely me, haha) :)
Yeah, let's cross that bridge when we get there.
Oh, but for instance, for implementing a go-to-random-game as a screensaver functionality, you would be able to use exactly the same code as here - though you probably wouldn't want to select it in the view. It's not a big issue anyway :)
Selection in this context just means: move the cursor to that location. For a screensaver avant-la-lettre, that might be unwanted as it breaks continuity, but for a machine begging you to come and play, it kind of makes sense. Anyways, there are ways to get back to the origin, when implementing a screensaver (/makes mental note).
I'll compile it and test it in the coming days, hopefully. Then I still need some time to close off my own PR for filtering (sigh).
Out of curiosity (no pressure, really), is implementing the favorites tag in the metadata on your roadmap, so I can also time my filter PR accordingly so it doesn't delay you?
As long as your PR #115 is still pending, I will not touch the favorites/kidmode stuff, as much will depend on how that will turn out.
So I would say, do your thing and maybe append it to #115?
Thanks! -
-
@Zigurana Updated the PR. Would love yours and @jdrassa 's thoughts, so that hopefully we can close that. I'm happy to squash it to a single commit, but want the review first so I can ensure code consistency across the OMX build as well.
As for the favorites/kidsmode stuff, what do you mean by appending? Would you want me to add the metadata on my PR?
I'm happy to submit a second PR with adding just those two types of metadata, as well as filters for those (and yes, happy to have them be stored as an option). That being said, I don't have any intention in re-inventing the wheel you have so well invented so far, with the kiosk modes, the changes to the themes, etc, so just let me know if that single piece would help and I'm happy to take that on, using the exact same metadata types as you have in the past - but since you already have it done, I don't want to in any way duplicate work or take credit away from you.
Only if it helps.
Thanks!
-
@pjft Will you be updating your ES to the latest version anytime soon? I just updated mine and I am loving some of the new features, so I'd hate to lose those.
-
@Dominus sure. Anything in particular you're looking for that's not yet in the build?
I might share a script to add to your RetroPie Setup so you can pretty much always install the latest version I have merged. I suspect I might not have provided a binary for the latest one.
Edit: here are the instructions:
https://retropie.org.uk/forum/post/75541
You will want to quit emulationstation when you update it from source, as it may run out of memory otherwise. The latest code there should be 1 week old, hopefully nothing significant came up the last week that you're looking forward to?
Thanks.
The next steps here are actually to try and get this merged into the main ES, so expect that to be my main focus for this work in the coming months.
-
@Dominus said in Please test: Random Game selection/launch via Video Screensaver:
version anytime soon? I just updated mine and I am loving some of
I haven't checked your current version, but I noticed that there was an option for "Surprise Me!" game selection, Filtering the roms by Genre, Players, Played etc..., also the system icons seem a bit different from the last time I updated as well. They are closer together and don't expand larger too much anymore when highlighted.
-
@Dominus most if not all of those should be there. Definitely filtering, as that was something I put together, and the Surprise Me one from @Zigurana made it to the build.
Unsure about what you're referring to in regards to the icons, but as I said the code there should be up to date with ES from a week or so ago. Just follow the instructions here in this post:
-
@pjft After running the script do I still do this:
chmod +x emulationstation
sudo cp emulationstation /opt/retropie/supplementary/emulationstation/
EDIT:
Never mind I see no other work is needed! Thanks!
-
@pjft i believe that @Dominus is refering to the system logos and other art in the theme. I believe others have noticed this as well and I think it has to do with the new carousel updates. I don't understand all the ins and outs because I am so focused on my custom theme, but I believe with the new changes that allow for themers to change their size and number of logos may have slighlty modifies how some themes display their logos. I think I am talking in circles. Your build acts appropriately with the updates and matches the main build.
@Dominus you just update using the menu and it installs for you, no need to follow the old method.
-
@pjft This is awesome! Thanks! I am wondering about the text in your video, that displays the game name. Mine doesn't show that, and obviously it could have been taken out after the fact. But is there a way to turn that on, or has it been disabled now?
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.