Please test: Random Game selection/launch via Video Screensaver
-
@pjft Thanks man, but it was your idea, so own it!
The star in front of the name seems like an easy enough 'feature', and at least it is independent of theme-support to implement.
I wonder how it affects the sort functionality though? -
@Zigurana I'm pretty sure it moves all favorites to the top of the list.
If we don't want that, we can either add it to the end of the name, or not at it at all :) it was just a thought someone had mentioned - I think even in this thread! - so wanted to run it by you.
Edit: Though one can wonder: would moving the favorites to the top even be a simpler/nicer default solution to filtering?
-
You guys don't stop! :) If you need any testing let me know, @pjft is there likely to be any way to include some way to change screensaver font/ back ground in future versions
-
@__Scannigan__ ah, right, you did mention that!
Hmm. Let me think about that. I don't think there's a nice way to make it user friendly enough for a user menu inside ES, at least not the font selection, but I'll try to come up with something when I have a few moments.
...Hmm.
OK, I think I may have a way to do it nicely. Let me think more about it.
-
@pjft just so know I've had the screensaver running for hours with no hiccups, stellar work dude
-
@__Scannigan__ that's all that matters, that others find that it improves the experience and enjoy it! Thank you :)
Are you on the latest build, the latest one I shared, or still the old one?
Best.
-
@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.
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.