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.
Added a script to generate the MAME related resources (devices/bioses/names) from a series of DAT files.
`mameres.py` ingests several XML based DAT files and produces the 3 MAME resource files. The operation merges the info from all given files.
For `mamenames.xml`, the `realname` precendence is based on the 1st occurence of the romset in the DAT files, so the order of the files is important.
The resources added in this commit are based on (in this order):
* MAME 240 (Jan-2022) (games, bioses and devices)
* FinalBurn Neo (11 Feb 2022) (games and bioses)
* Mame2003 Libretro (11 Feb 2022) (games and bioses)
Note: the devices file was generated from the 'MAME 0.240.dat' file, since it contains both MESS and Arcade systems.