Recent reports of specific configurations or versions changing some of the event handling order, resulting in the screensaver video/audio not stopping when a game is launched from it.
Can't replicate on my end, but these changes should be harmless for the current setup, and should help with that scenario. To be fair, it should have been there from the get go - it's just pure luck that things worked until now, as the screensaver was being halted before this code would run.
commit 895e176c513ca1556c60c5c29c85bd43da3675e0
Author: Gemba <uid0@sdf-eu.org>
Date: Fri Aug 5 13:37:44 2022 +0200
Changes to allow rollover at gamelist edges instead of rolling back in 'slide' mode.
Needs 'Transition Style' set to 'slide'.
Needs 'Quick Navigation' in Gamelist view enabled.
Added an extra parameter for the `remove` call, hinting that a refresh of the View is not desired.
This skips any `onFileChanged` event called at the end of `remove`, leaving it to the caller to explicitely call the `onFileChanged` method. The skip decreases the time spent in `remove`.
The sole usage - right now - is during the initial built-in collections creation, when the `recent` collection trimming can take a long time when it has >>50 entries.
Remove thumbnail, video, image and marquee files for a game when the game file is removed. Check for shared assets when deleting the resources, just in case the scraped files are used in another gamelist, for another game.
Modified the build options and source files to enable `omxplayer` for video previews only when the `OMX` option is used.
Updated the build instructions on RPI accordingly and added some notes about the deprecation of the BRCM GPU drivers in RasPI OS 'Bullseye'.
Previously, the `RPI` build option would be used to add both RPI specific audio settings/VRAM limits AND add `omxplayer` support. However, `omxplayer` does not work with the RPI KMS video driver (`vc4-kms-v3d`) or with a 64bit RPI system, due to the lack of OpenMAX (OMX) API support.
The new RasPi OS ('bullseye') has made the KMS driver the default [1] and doesn't offer `omxplayer` anymore (considered deprecated [2]).
Splitting the OMX support from the RPI option allows to set some default values for RPI systems without automatically adding the `omxplayer` bits.
[1] https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/
[2] https://github.com/popcornmix/omxplayer/commit/1f1d0ccd65
When no Game system is visible, choosing a random system in the carousel will lead to a crash.
Added an extra check before the random shuffle is performed.
* renamed image to media and added setting rename function
* replaced references to 'image' with 'media' and removed hardcoded video extensions
* fixed a bug when checking a null path
- Use C++11 built-in ranlux48 and random_device for seeding
- Shuffles systems (aso.) like a card deck and picks top system until empty, then shuffles again
- Fixes the flaws of the current random implementation: Real 1/N chance for an element in a set of N
- Minor refactorings
Use a different approach for discarding any queued input events during startup.
We want to make sure that when the UI is shown, there are no pending events that could
start a game/open the menu/switch system/etc.
The new code allows also to:
* ignore input events during splashscreen
* handle the case when a keyboard/keyboard type controller is used
* allow the handling of SDL_JOYDEVICEADDED events (which were discarded with `SDL_JoystickEventState(SDL_DISABLE)