Suspending ES while launching a game has proven unreliable on Windows, but on some installations it works so it makes sense to let the user select it. It makes for a better and more seamless experience if it works as intended.
Also a general cleanup of CMakeLists.txt and many small code changes to satisfy Clang that complained quite a lot and actually wouldn't compile the binary at all at first.
As pugixml seems to be well supported nowadays and seems to ship with most distributions it's pretty pointless to keep bundling it with EmulationStation.
The variable %ROMPATH% now expands to the ROMDirectory setting in es_settings.cfg which removes the need for absolute ROM paths (although absolute paths are still supported). Custom collections with absolute paths can still be loaded for backward compatibility with old custom collections.
* adds a new configuration option ("CollectionShowSystemInfo" = bool), in the 'Game Collections Settings' GUI. Defaults to previous behavior (true).
* reloads the Collection when the configuration is changed.
Adds the ability for users to change the following features in OMX Player's subtitles (game info for screen saver).
- font size
- font file path
- italic font file path
- subtitle position
These changes can be made in the GUI menus via the Video Screen Saver menu, or directly in the es_settings.cfg file.
Safe OMX Player defaults are hard-coded into the EmulationStation application.
Here's an example of the new keys loaded/saved into in the es_settings.cfg file:
- `<int name="SubtitleSize" value="38" />`
- `<string name="SubtitleFont" value="/usr/local/share/fonts/slkscr.ttf" />`
- `<string name="SubtitleItalicFont" value="/usr/local/share/fonts/slkscrb.ttf" />`
- `<string name="SubtitleAlignment" value="center" />`
Starting up emulationstation takes me about 1 minute over the network
with a large collection of 27 systems with images.
This patch uses the loading screen to tell the user about the status
of the startup, with information how many systems are left for view
initialization.
The most beefy part of the startup process is initializing the views,
and preloading images.
This patch extends the `renderLoadingScreen` function to take a string
and uses it in `ViewController::preload`.
v2: Add SplashScreenProgress option enabled by default.
Replace boost::filesystem::is_directory
with Utils::FileSystem::isDirectory
Replace boost::filesystem::is_regular_file
with Utils::FileSystem::isRegularFile
Replace boost::filesystem::is_symlink
with Utils::FileSystem::isSymlink
Replace boost::filesystem::exists
with Utils::FileSystem::exists
Replace boost::filesystem::create_directory
with Utils::FileSystem::createDirectory
Replace boost::filesystem::remove
with Utils::FileSystem::removeFile
* Split out UIMode controller in separate class (in es-app).
* Fix passphrase input for wX360 controllers by ignoring hat-inputs
* Fix font fallback mechanism on rpi for non ascii characters using new Unicode2Chars() method.
* Fix UIMode not being saved due to popup window.
* Introduce FileData Filtering for Kiosk and Kid Modes to:
1. In Kiosk mode: Hide items with metadata tag `<hidden>true</hidden>`
2. In Kid mode: only show items with metadata tag `<kidgame>true</kidgame>`
* ES will auto-revert UI mode back to Full when there is nothing at all to show.
* Changing the setting hideQuitMenuOnKidUI to true will hide this menu.
* Now that vsync off explicitly sets swap interval, it's clear that
we've been using driver defaults (vsync on) up until now.
* Try to enable normal vsync before late swap tearing. The latter
doesn't constrain framerate and looks basically identical to vsync
off.
This change adds an image slideshow screensaver mode with optional
background audio. The existing menu and video screensaver have been
refactored to include this new mode.
By default, the slideshow screensaver will show images from the
game list, but it can be configured in the menu to use a custom
directory instead.
More often than not users are running into glGetErrors 505 (running out
of video memory) when using heavy themes with the default 100 VRAM
setting.
The advice of setting it to 80 is often the solution.
Until we have a proper/better GPU management solution, this is probably
a better default.
- Video Screensaver to skip fade in/out if Instant
- Video Previews to skip fade in/out if Instant
- Added Pause/Resume methods to PS for better description
- Added basic documentation to PS header file
- Added trailing after waking up from SS
- Added proper timing offsets after PS is triggered
- PS set to Disabled by default
- some whitespace edits
- Change Power Saver (PS) from Other Settings menu
- 4 Modes are available : Disabled, Default [default], Enhanced, Instant
- All modes work well with Screensavers and Video previews.
- PS is disabled while running Videos through VLC.
- PS is disabled while Scrapping
- Game counts are shown immidiately if in Instant Mode
- PS mode defaults if Transitions are changed while in Instant Mode
- Refactoring System Environment data
- Added Virtual System Manager class
- Added "all", "favorites" and "last played" systems
- Added GuiInfoPopup class for notifications
- Added Favorites to metadata, as well as a shortcut to toggle favorites
- Added warning if enabling systems but themes don't support it
- Added "filter by favorites" per system
- Adjusted "Go to Random Game" behavior to account for the fact that we now have an "All Games" system
- Added "sort by system name" for the collections
- Final changes for VLC screensaver support as well
- ALSA de-init/re-init only when needed
- Adding screensaver options menu inside UI settings
- Slightly moved options (Show Frameskip to "Other Settings", sorting within same menu)
- Adding info popups on random video screensaver and OMX + Game Info setting
- Ability to change device used for Volume control (PCM/Speaker/Master) only on Pi.
- Ability to change Audio device used for OMX player (local/hdmi/both/ALSA:HW:0,0/ALSA:HW:1,0)
- Correct handling of zombie processes left in memory
- Add options to mute video
- Fix resizing to work with theme refactorings introduced by jdrassa and zigurana
Currently supports Basic, Detailed, Video, and Automatic types. The Automatic type checks for the availability of first video's, then screenshots, defaulting to Basic view if none are present.