Please test: Random Game selection/launch via Video Screensaver
-
@pjft the most recent merged one
-
@__Scannigan__ would it be a questionable decision if I expected the font to be in the current theme's folder, rather than the ES folder? @TMNTturtlguy Any thoughts on this? A comic font for the screensaver?
Not committing to any direction at this stage but just considering options, and then ease of implementation. Would love to hear your thoughts, as well as others.
I could easily see the screensaver be "themable" to some extent, but then again I don't even know if this will be the right implementation in the future so don't want to over engineer a solution that'll be deprecated in the short-ish term. And in that sense, just a plain font file copied to the ES folder would do the trick.
Please chime in.
-
@pjft if it could be linked to the current theme it would make sense to me to be in the theme folder, but then again the screen saver is independent to the theme of that makes sense
-
@__Scannigan__ I was just thinking that your original request for changing the font was because you had a font that matched your current theme.
So yes, the idea would be that different themes could have different fonts, even though nobody is really providing that in their themes right now. And, one way or the other, it's easy to change in the future.
-
@pjft i think that makes sense, a consistent font or even a similar style of font throughout the theme, one that could be identified as the screensaver font
-
@pjft Just shooting from the hip here, as have no clue how this works, but based of the fact that themes and gamelists and alternate es_system files can be placed here, is it possible that we create a new folder in home/.emulationstation/? Maybe like home/.emulationstation/screensaver
In this new folder we could place a text folder and maybe a video folder. This would be an alternate location that ES would look to for information for the screensaver, much like themes and the es_systems file. Any font types placed in the folder would simply over rule the default, so if i wanted shokapow to match my theme, i just drop that font file in the folder and it is used. Same idea on videos. I love the random video, but if i want to compile my own single video, or only have a select number of videos play, i simply add 1 or 100 videos to that folder, and those are played. If those folders are empty, then ES reverts back to the standard location for files.
Probably types simpler than it is programmed, I am just pondering the possibilities since ES works this way with other customization options.
-
@TMNTturtlguy I was thinking in that direction for the font.
Adding a custom set of videos, though, would be different. I'd imagine that as a different screensaver type, as the current one is a random game video, it's tied to your existing games in the library.
It is an idea for sure, but one I don't think I'd be picking up in the near future as it requires a bit more work, apologies :)
If I develop new screensaver types, the random game image that has been requested earlier in the thread by a few people is probably the one I'd look into, as it reuses the current architecture and could benefit those who don't yet have videos in their collections.
But even that has been put on the back burner for lack of time for larger endeavors recently.
-
@pjft said in Please test: Random Game selection/launch via Video Screensaver:
This is how they add a star in front of their favorite games in the game list. I saw someone mentioning it here in the forums, thought I'd mention in case it's something that you'd find interesting as well. :)
I think the problem with this approach is that it is dependent on the font being used. If a theme changes the font, there is no guarantee that the character will be a star.
I have been thinking about an ability to do something along these lines that would involve changing the TextListComponent to support modifier images. I started thinking about it after I saw @ruckage modified the font he is using in his nes-mini theme to make a specific character be a folder icon. I haven't fully worked out how it would work, it's just an idea on my long todo list.
-
@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! -
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.