Commit graph

937 commits

Author SHA1 Message Date
Leon Styhre 82759fb2ce Fixed a race condition for the libcurl cleanup which led to a memory leak. 2020-10-18 11:41:36 +02:00
Leon Styhre 923d1df479 Fixed a libcurl memory leak in the scraper. 2020-10-18 11:01:56 +02:00
Leon Styhre da37e2c11a Implemented proper memory cleanup when deleting FileData objects.
This fixes a memory leak which was most prominent during application shutdown.
2020-10-17 17:35:50 +02:00
Leon Styhre 35c7c7ec09 Removed deprecated code for handling video subtitles. 2020-10-17 16:06:48 +02:00
Leon Styhre 0beb40d9c9 Fixed a tiny memory leak.
Also fixed a Clang static analyzer error for SystemData.
2020-10-17 14:32:08 +02:00
Leon Styhre 930bdce576 Fixed multiple issues reported by the Clang static analyzer. 2020-10-17 14:05:41 +02:00
Leon Styhre b83bacc160 Fixed a small memory leak. 2020-10-11 20:54:37 +02:00
Leon Styhre 2768380446 Fixed several errors reported by Valgrind. 2020-10-11 18:57:37 +02:00
Leon Styhre eb51877aab Fixed an issue where the cached background would sometimes not be updated. 2020-10-11 10:07:38 +02:00
Leon Styhre 70f7382680 Fixed a memory leak for GuiInfoPopup notifications. 2020-10-11 09:59:49 +02:00
Leon Styhre 5cd83899f0 Fixed a regression where the video would not pause when launching a game. 2020-10-10 15:46:01 +02:00
Leon Styhre 109a8a0b14 Fixed an issue where the gamelist view was not updated properly. 2020-10-10 15:26:17 +02:00
Leon Styhre 7832c4fbe0 Fixed an issue where hidden metadata fields would sometimes be shown. 2020-10-10 15:13:47 +02:00
Leon Styhre 2258825a73 Fixed an issue where videos would play during gamelist scrolling. 2020-10-10 14:17:05 +02:00
Leon Styhre 96da134f7d Added option to scrape based on the metadata name. 2020-10-10 13:05:12 +02:00
Leon Styhre 965f96bbc8 Fixed a sorting issue when clearing game metadata.
Also a small documentation update and a file permission change.
2020-09-27 18:37:43 +02:00
Leon Styhre 6e2c8d4f32 Fixed an issue with the quick selector when folders were sorted on top. 2020-09-27 13:39:37 +02:00
Leon Styhre 4e9c1361be Fixed two additional instances where video would start playing when it shouldn't. 2020-09-27 13:14:50 +02:00
Leon Styhre 54ea153d93 Game systems are now sorted by their full names. 2020-09-27 12:49:14 +02:00
Leon Styhre 926d730bd2 Fixed an issue where videos would start playing with the menu open after scraping. 2020-09-27 12:01:43 +02:00
Leon Styhre c00374419b Fixed an issue where the gamelist would sometimes not reload after media files updates. 2020-09-27 11:41:53 +02:00
Leon Styhre 90f5d7fad4 Fixed additional issue with folder updates and gamelist sorting. 2020-09-27 11:19:55 +02:00
Leon Styhre cc6b4eb47d Fixed an issue where the gamelist was not sorted after folder metadata updates. 2020-09-27 10:51:50 +02:00
Leon Styhre 0946988fdb Added a clear button to the metadata editor. 2020-09-27 10:41:00 +02:00
Leon Styhre 304526e4c6 Added filter to scrape folders only. 2020-09-26 14:03:17 +02:00
Leon Styhre 6ec1898e97 Implemented handling of invalid ScreenScraper responses. 2020-09-26 13:07:52 +02:00
Leon Styhre e6b43288a7 Fixed an issue where the gamelists were not sorted after multi-scraping. 2020-09-26 13:05:07 +02:00
Leon Styhre 707850b339 Added a system sorting function to SystemData. 2020-09-26 13:03:14 +02:00
Leon Styhre 8db04c5fcb Added SPDX license identifiers to all source files. 2020-09-21 19:17:34 +02:00
Leon Styhre 1c831249da Moved game counting to the sort function and improved the custom collection handling. 2020-09-21 18:13:27 +02:00
Leon Styhre c5ecfb4e36 Fixed an issue where deleting a game would not refresh the gamelist. 2020-09-20 20:26:02 +02:00
Leon Styhre e56fdf3df6 Improved handling and sorting of folders. 2020-09-20 20:25:32 +02:00
Leon Styhre 2b82770e43 Fixed an issue where the quick selector couldn't find out if a game was a favorite. 2020-09-20 12:36:51 +02:00
Leon Styhre d4e614c0c1 Added jump to folder to the quick selector and improved the folder sorting. 2020-09-20 12:17:38 +02:00
Leon Styhre 83bae1e963 When marking or unmarking a game as favorite, the cursor position is now retained. 2020-09-20 10:05:03 +02:00
Leon Styhre fd92f7f86d Implemented the same opacity animation for the video style as for the detailed style. 2020-09-18 20:43:46 +02:00
Leon Styhre 522fbebee8 Fixed multiple issues and glitches related to the screensaver. 2020-09-18 18:40:22 +02:00
Leon Styhre 14e2ede448 Moved a sorting function to the proper location inside the correct class. 2020-09-17 22:18:13 +02:00
Leon Styhre d4f5b2d20d Text scrolling now stops when launching a game and when the screensaver starts.
Also did some additional code cleanup.
2020-09-17 22:00:07 +02:00
Leon Styhre 254029fed6 Reverted to longer line length license file and added custom macOS version. 2020-09-17 21:49:40 +02:00
Leon Styhre 2a852170a8 (Windows) Fixed some build issues and got the OpenGL shaders to work.
Also some additional code cleanup.
2020-09-16 22:14:35 +02:00
Leon Styhre aa07a1094f Removed deprecated LaunchAnimation.h 2020-09-15 23:06:36 +02:00
Leon Styhre ae7c9dabb8 Decreased CPU usage dramatically and fixed multiple UI navigation glitches.
Also did some code cleanup.
2020-09-15 22:57:54 +02:00
Leon Styhre a6430ff0ff Moved the input debug logging to a more appropriate location.
This also fixes the issue where some input was not being logged correctly.
2020-09-15 21:12:32 +02:00
Leon Styhre 863063ee47 Started to add SPDX license identifiers. 2020-09-13 20:32:22 +02:00
Leon Styhre 87bee7fae9 Added 'Desktop Edition' to the log output version info. 2020-09-13 20:07:02 +02:00
Leon Styhre d787f06c63 The cached gamelist background is now updated when using the metadata editor. 2020-09-13 19:20:30 +02:00
Leon Styhre 98d38b3b46 Eliminated unnecessary processing and rendering in the gamelist view.
Also added a game image fade-in effect to the Detailed view style.
2020-09-13 19:16:40 +02:00
Leon Styhre db0e15f5e8 Fixed an annoying scrolling issue that also affected the application performance. 2020-09-13 19:08:17 +02:00
Leon Styhre 02c9b4fb28 Several small improvements to the video view style.
Also partly rearranged the UI menu.
2020-09-13 14:28:06 +02:00
Leon Styhre 7dea5fb7df Renamed the setting 'Open menu effect' to 'Menu opening effect'. 2020-09-13 13:46:34 +02:00
Leon Styhre 66829b4ffa Added multiple animations and effects (mostly using shaders). 2020-09-13 13:21:38 +02:00
Leon Styhre 55a2305260 (macOS) Improved full screen mode. 2020-09-10 19:09:27 +02:00
Leon Styhre 0c1edae531 Re-enabled the back button for the video screensaver confirmation dialog. 2020-09-04 19:47:35 +02:00
Leon Styhre 9da16dd00e Some minor cosmetic code changes. 2020-08-30 22:25:38 +02:00
Leon Styhre feb6577dbc Changed to full system name sorting for the system view and scraper selector. 2020-08-24 18:51:55 +02:00
Leon Styhre 796d2c9ec8 (macOS) Disabled unusable command line arguments. 2020-08-23 21:53:21 +02:00
Leon Styhre 46ab60ad4e (Windows) Fixed the broken build for this OS.
Also some other minor cosmetic code changes.
2020-08-23 21:27:01 +02:00
Leon Styhre b7678007fa (macOS) Disabled reboot and power off menu entries as these require root privileges. 2020-08-23 19:17:06 +02:00
Leon Styhre 88a5962926 Changed '#ifdef' to '#if defined()' throughout the code. 2020-08-23 17:04:30 +02:00
Leon Styhre af5a48ed10 Removed unnecessary #ifdefs for the SDL2 include files. 2020-08-23 16:15:06 +02:00
Leon Styhre 16425b4c32 (macOS) Updates to CMake scripts and corresponding documentation. 2020-08-23 11:35:02 +02:00
Leon Styhre 6fa4333499 (macOS) Several updates to the .dmg package generator setup. 2020-08-21 21:58:12 +02:00
Leon Styhre c274a90765 Changed the licenses directory name from uppercase to lowercase. 2020-08-19 22:50:45 +02:00
Leon Styhre 7f31c1bbb4 Added .dmg package generator setup for macOS.
Also cleaned up and updated the CMakeLists.txt files and moved the non-source files to a separate assets directory.
2020-08-19 22:30:10 +02:00
Leon Styhre 541f7202d8 Added copying of macOS systems template upon application startup. 2020-08-19 22:17:32 +02:00
Leon Styhre b0624f2bc9 Updates to make the application work correctly (more or less) on macOS. 2020-08-18 17:48:21 +02:00
Leon Styhre 6633ee5028 Merge branch 'master' of https://gitlab.com/leonstyhre/emulationstation-de 2020-08-17 19:16:56 +02:00
Leon Styhre ad960b28ac Various updates to make the application compile on macOS. 2020-08-17 19:15:05 +02:00
Leon Styhre 7383322bac Changed scraper to always display the game name.
Some minor cosmetic changes as well.
2020-08-16 16:53:49 +02:00
Leon Styhre 6dd1078e09 Added temporary game launch notification popup. 2020-08-15 15:41:11 +02:00
Leon Styhre 1d2b9f113b Added the ability to change the ROM directory if no game files were found on startup. 2020-08-15 10:12:19 +02:00
Leon Styhre 885bf61df0 Tweaked the description and setting name for the GPU statistics overlay. 2020-08-15 09:33:08 +02:00
Leon Styhre 7b76aa005f Fixed a large memory leak when reloading the system view. 2020-08-15 09:28:47 +02:00
Leon Styhre d3d57ae69a Fixed the VRAM statistics overlay that was using megabytes instad of mebibytes. 2020-08-08 22:33:27 +02:00
Leon Styhre 295bb0c4c4 Fixed a memory leak where some textures were not deleted during gamelist reloads. 2020-08-08 22:29:32 +02:00
Leon Styhre c9a3dbc82e Several changes related to VRAM usage and GPU statistics. 2020-08-08 15:14:33 +02:00
Leon Styhre bd57d23bce Added metadata setting to hide metadata fields from the gamelist view. 2020-08-08 11:36:43 +02:00
Leon Styhre 3ca9f5478a Fixed an issue where detection of folder-only views was not working. 2020-08-07 23:33:05 +02:00
Leon Styhre 11727a1392 Fixed an issue where the screensaver would start when it shouldn't.
Also changed so that the screensaver is reactivated after scraping only after the user has confirmed the scraping results.
2020-08-07 13:07:36 +02:00
Leon Styhre d2dfbc5919 Fixed two issues with random game selection. 2020-08-06 23:41:44 +02:00
Leon Styhre 3a59c77d3e Games marked not to be counted are now also excluded from the 'Recent' and 'Favorites' collections.
Also fixed a crash when opening the game options menu when a placeholder was selected.
2020-08-06 22:12:19 +02:00
Leon Styhre 22ed97c6d8 Fixed an issue where hiding a folder was not immediately reflected in the gamelist.
Improved the debug logging for hidden games as well and adjusted the hidden text opacity slightly.
2020-08-06 18:16:31 +02:00
Leon Styhre 408be5120c Multi-scraper folder scraping and folder scraper exclusions added.
A quick-skip shortcut was added to the multi-scraper as well and some minor changes were done to the ScreenScraper debug logging.
2020-08-06 15:12:04 +02:00
Leon Styhre 2ee67407d8 Scraper allowance information is now logged as debug info. 2020-08-06 12:52:06 +02:00
Leon Styhre 9f240394ed Added option to exclude files from the multi-scraper.
Two new scraper filters were added as well, 'Favorite games' and 'No game video'.
2020-08-06 11:27:16 +02:00
Leon Styhre c3de18dd96 Added support for scraping videos using ScreenScraper. 2020-08-05 22:38:44 +02:00
Leon Styhre 2c6bc918d6 Scraping options not supported by TheGamesDB are now grayed out in the menu.
This required some general logic to be added to disable GUI components, and this functionality could hopefully be useful elsewhere.
2020-08-05 19:31:59 +02:00
Leon Styhre 2efc5aed93 Added system name in square brackets after game file name in metadata editor. 2020-08-05 15:27:03 +02:00
Leon Styhre 1ba59d98d9 Changed raw game launch command logging from Info to Debug. 2020-08-05 15:07:17 +02:00
Leon Styhre 5283881edf Improved custom script execution for the game-start and game-end events.
Also did some minor cosmetic changes to the script logging.
2020-08-05 14:49:54 +02:00
Leon Styhre 939f3389d5 Improved the ScreenScraper error reporting. 2020-08-05 10:51:02 +02:00
Leon Styhre 996af43299 Added some missing game platforms.
Also updated scrapers with some additional missing systems.
2020-08-05 10:45:27 +02:00
Leon Styhre cc6ef4220e Fixed an issue with sorting favorite folders. 2020-08-04 13:39:24 +02:00
Leon Styhre 52069d2417 Added the possibility to mark folders as favorites.
Also added the options to mark folders as completed and broken/not working.
2020-08-04 13:04:55 +02:00
Leon Styhre 1550c48187 Improved the input configuration logic.
Also added a command line option to force the input configuration even if a es_input.cfg file exists.
2020-08-03 11:39:04 +02:00
Leon Styhre 3ae0726d1a Improvements to the date and time handling. 2020-08-02 15:56:32 +02:00
Leon Styhre dec3a74e16 Fixed ScreenScraper handling of missing game metadata. 2020-08-02 14:19:51 +02:00
Leon Styhre 101bdf4bfc Changed the scraped file display name from upper case to original case. 2020-08-02 12:44:33 +02:00
Leon Styhre 3f8e5a001b Changed the handling of blank game name entries in the metadata editor. 2020-08-02 11:45:59 +02:00
Leon Styhre 9b23741bda Some small cosmetic changes to scraper error messages. 2020-07-31 15:20:55 +02:00
Leon Styhre 3f9c43afb9 Fixed a scraping issue where failed image writing was not handled correctly. 2020-07-31 15:00:07 +02:00
Leon Styhre 317719b678 Fixed an issue with the scraper error dialog. 2020-07-31 14:24:14 +02:00
Leon Styhre af37173a0b Fixed an issue where the scraper wouldn't handle errors correctly. 2020-07-31 14:20:37 +02:00
Leon Styhre 676b076e07 Some changes mostly to get Ports working properly. 2020-07-30 22:19:37 +02:00
Leon Styhre 9b7ad8966e Added some additional error logging for ScreenScraper. 2020-07-30 20:11:45 +02:00
Leon Styhre 8233e2704e Added metadata editor button to delete media files from games and folders. 2020-07-30 20:05:57 +02:00
Leon Styhre bd7e0e5820 Some cosmetic improvements to the scraper. 2020-07-30 16:29:38 +02:00
Leon Styhre 2371ef51bc Fixed a scraper issue where escaped HTML quotation marks were not expanded for the game description. 2020-07-30 14:54:52 +02:00
Leon Styhre 9f04458bbd Launching a game inside a folder now also updates the folder's last played timestamp. 2020-07-30 14:21:20 +02:00
Leon Styhre 0985867d0f Fixed an issue where the quick selector would jump to the wrong folder for folder-only gamelists. 2020-07-30 13:43:04 +02:00
Leon Styhre 5f7ffe98c8 Added metadata flag to mark whether a file should be counted as a game.
This is useful for DOS games for instance, to exclude files such as installers, setup files etc.
2020-07-29 19:01:49 +02:00
Leon Styhre 949365c822 Renamed system 'pc' to 'dos' and adjusted some graphics files. 2020-07-29 11:19:26 +02:00
Leon Styhre 3cea714f9c Updated the ScreenScraper error handling slightly.
Also added the possibility to hide a folder in the same way as a game file.
2020-07-28 23:15:35 +02:00
Leon Styhre 96ea80fbcd Fixed a small issue with missing initialization of some theme label values. 2020-07-28 21:10:58 +02:00
Leon Styhre afe5d98c39 Enabled scraping for folders and changed file info to lowercase. 2020-07-28 21:08:17 +02:00
Leon Styhre b60c86e40f Added option to sort folders on top of the gamelists. 2020-07-28 19:44:17 +02:00
Leon Styhre ea59d9f9c4 Fixed multiple issues with random selection of systems and games. 2020-07-28 15:19:54 +02:00
Leon Styhre ce9d5c2599 Fixed the screensaver random function so it does not show the same game twice in a row.
Also fixed a bug related to audio playing for the video screensaver and changed its name from 'random video' to simply 'video'.
2020-07-28 11:10:14 +02:00
Leon Styhre 1d2901ac33 Disabled broken subtitle overlay for the video screensaver. 2020-07-27 21:41:10 +02:00
Leon Styhre 6090ff3df8 Improved handling of audio settings for video files. 2020-07-27 21:31:02 +02:00
Leon Styhre 9f0e587b1a Harmonized some screensaver options. 2020-07-27 20:38:22 +02:00
Leon Styhre 58ba42ed54 Removed scaling and CaptionsCompatibility option for the video screensaver. 2020-07-27 20:20:58 +02:00
Leon Styhre c906881957 Fixed the screensaver controls.
It's now possible to start a game directly from the slideshow screensaver. Also fixed toggling of the video screensaver which was not working as expected.
2020-07-27 16:53:54 +02:00
Leon Styhre 41c3c66eb7 (Windows) Added support for setting the root of a drive as the home folder.
This is mostly usable for portable installations, for example on a USB memory stick.
2020-07-27 14:23:40 +02:00
Leon Styhre b21dbc4ada (Windows) Improved handling of hidden files and folders. 2020-07-27 13:06:46 +02:00
Leon Styhre bad9e772e9 Changed most setting values to lowercase in es_settings.cfg
Audio devices apparently need to be case sensitive.
2020-07-27 12:11:30 +02:00
Leon Styhre b5485b4ca9 Changed log levels from numbers to text. 2020-07-26 23:30:45 +02:00
Leon Styhre 329a8da441 Properly implemented hiding of games.
Also added a flag to force the Full UI mode from the command line.
2020-07-26 22:19:29 +02:00
Leon Styhre 47523ba627 Fixed an issue where entering a blank game name in the metadata editor would crash the application. 2020-07-26 15:50:40 +02:00
Leon Styhre 496e653ae7 Fixed an issue on Unix where hidden games folders would crash the application. 2020-07-26 15:21:41 +02:00
Leon Styhre e2bd5d05b1 Fixed an issue where hidden files would still show up if they had a gamelist.xml entry. 2020-07-26 13:58:49 +02:00
Leon Styhre 6735dd3d76 Added missing systems to PlatformId.
Also did some other small system name changes.
2020-07-25 16:18:41 +02:00
Leon Styhre c4d634670d Fixed an issue where game media files would get deleted when the recents collection was trimmed. 2020-07-24 22:15:53 +02:00
Leon Styhre a90fb33cc7 (Windows) Fixed an issue where the date was shown as unknown during scraping. 2020-07-20 10:19:15 +02:00
Leon Styhre fb38cf9248 Fixed an issue where the screensaver would start immediately after returning from a game. 2020-07-20 09:54:38 +02:00
Leon Styhre 5e5da8c52f Fixed an issue where attempting to read nonexisting JSON data would crash the application. 2020-07-20 09:25:54 +02:00
Leon Styhre 0a410863cb (Windows) Added a menu option to run ES in the background while a game is launched.
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.
2020-07-19 22:08:14 +02:00
Leon Styhre 34da214a8d Disabled launch animations temporarily as they don't work as expected and a proper fix is planned for later. 2020-07-19 19:53:11 +02:00
Leon Styhre 8b3d2c7ef0 Fixed a bug where SystemView wouldn't properly loop the systems. 2020-07-19 19:50:14 +02:00
Leon Styhre ebc6aabe93 Increased fade speed for the fade transition style. 2020-07-19 12:23:30 +02:00
Leon Styhre 6c79224eea Added proper game launch function for Unix. 2020-07-18 23:07:02 +02:00
Leon Styhre 8fcb56cfb3 Made game launching on Windows much more seamless.
Also added an option to hide the taskbar.
2020-07-18 13:21:44 +02:00
Leon Styhre 6a0682b833 Updated CMakeLists.txt and INSTALL.md to cover bundling of the required libVLC plugins for Windows. 2020-07-16 20:34:02 +02:00
Leon Styhre 4f2e4cbf5f Beta release for version 1.0.0 2020-07-16 15:56:12 +02:00
Leon Styhre ff1f329bd0 Added a Unix man page and a script to generate it.
The --help output text was changed slightly as well.
2020-07-16 14:24:48 +02:00
Leon Styhre 10420eaac2 Removed unnecessary settings file saving when changing the default sort order. 2020-07-16 12:19:11 +02:00
Leon Styhre 2ff3dda5c8 Added configuration menu entries for the game media directory and the default sort order. 2020-07-15 18:02:11 +02:00
Leon Styhre 70d0057295 Both user changes and scraper changes are now color marked in the metadata editor.
User changes are marked with blue and scraper changes with red.
2020-07-15 17:44:27 +02:00
Leon Styhre 1b65eaac2e Improved input device configuration.
Default keyboard mappings are now applied if the user has not configured the keyboard.
2020-07-14 19:16:21 +02:00
Leon Styhre 57d6dab2cc Some cosmetic code changes. 2020-07-13 20:58:25 +02:00
Leon Styhre 40be69cd64 Deletion of a game now removes its media files and its entry in the gamelist.xml file. 2020-07-13 20:13:48 +02:00
Leon Styhre 6199f7371d Made the automatic gamelist view style work with the new media handling logic. 2020-07-13 20:10:09 +02:00
Leon Styhre ed5815a582 Added desktop menu entry and icon for Unix. 2020-07-12 16:23:49 +02:00
Leon Styhre fe0e09ec7b Changed log level for missing or empty game systems from Info to Debug.
Also did some small changes to the OpenGL logging.
2020-07-12 12:09:01 +02:00
Leon Styhre 6028777be4 Added creation of es_settings.cfg on first application startup and improved media directory error handling. 2020-07-11 10:10:07 +02:00
Leon Styhre 29d2ccf201 Added %ESPATH% support to the ROMDirectory setting. 2020-07-10 21:20:52 +02:00
Leon Styhre 472a973f66 Added %ESPATH% variable support and fixed some other minor issues with the launch command. 2020-07-10 20:58:53 +02:00
Leon Styhre 3cad68be13 Added %EMUPATH% logic for Unix. 2020-07-10 19:53:33 +02:00
Leon Styhre 31da561695 Complete UTF-16 (Unicode) support added for Windows.
ROM names with Unicode characters are supported, as well as running ES from a directory that has Unicode characters in its name.
2020-07-10 18:32:23 +02:00
Leon Styhre adb5cb6664 Made the es_systems.cfg template install to the home directory during the first application startup. 2020-07-09 19:26:48 +02:00
Leon Styhre 9ba4f01a29 Deactivated the audio device settings and added a new setting for custom scripts.
Also changed some other setting names.
2020-07-09 19:24:20 +02:00
Leon Styhre d1f8c3e385 Changed 'launch string' to 'launch command' and the setting 'EnableSounds' to 'EnableNavigationSounds'. 2020-07-08 17:06:34 +02:00
Leon Styhre 5a7fb828a6 Added proper error handling for resource files and improved overall logging. 2020-07-08 17:01:47 +02:00
Leon Styhre 04d4658fc9 Updated the CMakeLists.txt files to be able to generate an NSIS installer for Windows.
Also some updates to the documentation and information files.
2020-07-07 21:33:33 +02:00
Leon Styhre 2bea3021c3 Added proper emulator launch function for Windows and added logic for the new %EMUPATH% variable. 2020-07-07 21:27:48 +02:00
Leon Styhre 76aa239855 Initial update to make the application build and run on Windows.
Much more work will be needed to get the Windows port working properly.
2020-07-03 20:23:51 +02:00
Leon Styhre e4fdd1e20d Code cleanup and code documentation update.
As of this commit, the initial code cleanup and code documentation has been completed for the entire application.
2020-06-28 18:39:18 +02:00
Leon Styhre eeae8033bd Use SDL2 include files instead of those for SDL version 1.
This resolves an irritating issue in the code editor where SDL2-specific functions could't be found. Not entirely sure about the SDL include file logic for other operating systems than Linux so the #ifdef directives may need to be updated further at a later date.
2020-06-26 18:03:55 +02:00
Leon Styhre 1f74723533 Another code cleanup and code documentation update. 2020-06-26 17:17:35 +02:00
Leon Styhre ee4a55e9d6 Fixed 'Refine Search' for the TheGamesDB scraper which I apparently broke in the last commit. 2020-06-25 20:37:41 +02:00
Leon Styhre 0387d515fb Update to fully support Clang/LLVM.
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.
2020-06-25 19:52:38 +02:00
Leon Styhre fb4c5708b7 Made pugixml an external dependency and fixed the cmake/cpack installation and package creation.
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.
2020-06-24 17:38:41 +02:00
Leon Styhre 6b62065595 Large code cleanup and code documentation update.
The initial code cleanup of es-app is now complete as of this commit.
2020-06-23 20:07:00 +02:00
Leon Styhre 0a02d710f3 Removed the last remnants of the usage of /etc and updated the documenation accordingly. 2020-06-22 19:46:09 +02:00
Leon Styhre 672026632d Code cleanup and code documentation 2020-06-22 17:27:53 +02:00
Leon Styhre ac91da6995 Removed unnecessary processing steps during startup by skipping systems with no games.
This seems to decrease the (non-optimized) loading time by about 6,5% with a large es_systems.cfg configuration file.
2020-06-21 22:11:29 +02:00
Leon Styhre 8fefc9232c Reorganized all resources to a subdirectory structure and added the CMake install prefix to the resource search path.
CMAKE_INSTALL_PREFIX and CMAKE_INSTALL_DATAROOTDIR are now used to resolve the resource path. As of this commit, there are only two paths where resources are searched, under the user home directory and under this install prefix directory (which defaults to /usr/local/share/emulationstation/resources but can be set to for instance /opt/share/emulationstation/resources using the appropriate CMake flags).
2020-06-21 19:35:43 +02:00
Leon Styhre 67aa6b3dbd Huge code cleanup and code documentation update.
Includes lots of conversions from tabs to spaces. Only cosmetic code changes in this commit.
2020-06-21 14:25:28 +02:00
Leon Styhre 49161df0e6 Renamed platform.cpp/platform.h to Platform.cpp/Platform.h
The naming convention for the rest of the application is to start the file names with a capital letter.
2020-06-21 12:26:21 +02:00
Leon Styhre 5caabcff12 Changed confirmation messages for the GuiMetaDataEd text edit popups. 2020-06-18 19:54:13 +02:00
Leon Styhre f635e5bd2d Improved error handling for missing configuration files and ROMs. 2020-06-18 19:49:47 +02:00
Leon Styhre fb0ab2f06c Added a ROM path variable for use with es_systems.cfg and custom collections.
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.
2020-06-18 17:09:32 +02:00
Leon Styhre 3c7d86a578 Made navigation sounds unload and reload properly on theme changes.
Also improved the navigation sound handling for SystemView.
2020-06-17 22:13:07 +02:00
Leon Styhre 20001d0cca Bugfix: When attempting to mark a directory as favorite game, the favorites navigation sound played. 2020-06-17 18:55:38 +02:00
Leon Styhre 53ef1e5be7 Added navigation sounds to left and right triggers.
Also added left and right trigger navigation to grid view, to jump to the first and last game of the gamelist.
2020-06-15 22:55:47 +02:00
Leon Styhre fd6fc9653b Removed deprecated GuiFastSelect. 2020-06-13 22:26:11 +02:00
Leon Styhre 4098c64468 Implemented shoulder- and triggerbutton navigation to TextEditComponent (i.e. text edit quickjumps). 2020-06-13 21:55:58 +02:00
Leon Styhre 8492160a80 Added semi-automatic scraping mode, fixed some scraping bugs and improved folder metadata editing. 2020-06-13 16:47:12 +02:00
Leon Styhre b01bccc8d6 Added Apply and Cancel buttons to the game options menu. 2020-06-13 10:48:46 +02:00
Leon Styhre f1f82ac29f Added support for jumping to the beginning and end of gamelists and menus using the left and right trigger buttons. Also fixed some navigation bugs. 2020-06-13 10:25:09 +02:00
Leon Styhre 7cefe6a2bd Moved quick selector letter index generation to gamelist sorting loop. This increases (non-optimized) sort time with around 1,5 - 4,5% but the game option GUI opens way faster now due to the caching of the letter index. Also made the quick selector more intuitive. 2020-06-11 21:08:48 +02:00
Leon Styhre 4c67dae788 Added color marking to GuiMetaDataEd for newly scraped data. 2020-06-10 19:54:37 +02:00
Leon Styhre 4a38271f6a Expanded the help system to (hopefully) the whole application, removed the completely broken command line scraper and fixed some bugs related to the game collections. 2020-06-09 20:03:31 +02:00
Leon Styhre c5e70385dd Expanded support for help system theming to entire application, as before it was only partially implemented. 2020-06-07 20:09:02 +02:00
Leon Styhre b7d4274c6e Added save confirmation dialogs to the text edit components, reorganized the scraper menu slightly and fixed a bug when toggling the screensaver. 2020-06-07 10:57:49 +02:00
Leon Styhre f5376defe0 Changed to ISO 8601 date format and tidied up the scraper search screen. 2020-06-06 22:04:05 +02:00
Leon Styhre 709e6b996e Code cleanup and code documentation. Only cosmetic changes in this commit. 2020-06-06 16:48:05 +02:00
Leon Styhre b7feedd287 Moved all components into es-core and renamed ScraperSearchComponent to GuiScraperSearch as it's a GUI and not a component. 2020-06-06 14:14:13 +02:00
Leon Styhre 7f39afe3da Removed deprecated AsyncReqComponent 2020-06-06 13:27:11 +02:00
Leon Styhre 90735d44e3 Major update to scraper including support for new media handling logic, ability to download more media file types (screenshot, cover, marquee, 3D box) and an improved scraper GUI. As well a rewrite of the navigation sound code. 2020-06-06 13:10:33 +02:00
Leon Styhre fd7da08bf9 Large code cleanup and code documentation update, mostly related to the scraper. Only cosmetic changes in this commit. 2020-05-26 18:34:33 +02:00
Leon Styhre da946279de Some code cleanup and code documentation. Improvements to handling of command line arguments. 2020-05-25 21:34:42 +02:00
Leon Styhre 76c8b5f121 Reorganized the main menu. 2020-05-24 20:57:07 +02:00
Leon Styhre e21ddcbe93 Added navigation sounds when entering and exiting folders, in both normal gamelists and bundled collections. 2020-05-24 15:05:02 +02:00
Leon Styhre 810b41bdc9 A few small optimizations, some operations will be way faster now if fewer custom collections are in use. Also some sorting bug fixes and some code cleanup. 2020-05-24 14:26:08 +02:00
Leon Styhre f2f7d34bb6 Monster commit. Rewrote gamelist sorting logic and made per-gamelist sort settings session-permanent. Cleaned up a lot of code and started to reformat for 100 characters line length. 2020-05-24 10:29:29 +02:00
Leon Styhre f806285e06 Added support for per-game launch string override (emulator override), configurable in the game meta data edit screen 2020-05-19 17:53:34 +02:00
Leon Styhre fbec408dfa Rewrote media handling to look for images and videos in a configurable media directory (by matching the ROM names) instead of being configured per game as XML tags 2020-05-18 19:00:43 +02:00
Leon Styhre 7686f87d5d Added proper Unicode star icon when jumping to favorite games using the 'Jump to...' quick selector 2020-05-17 19:30:29 +02:00
Leon Styhre 6028ec8444 Added support for half-star rating increments when editing game metadata. Added rounding up to nearest half-star for all ratings read from the gamelist files. Fixed a small issue with rating symbols not being properly aligned 2020-05-16 20:52:33 +02:00
Leon Styhre 08a152db16 Allow editing of play count metadata, changed to medium font size for editing popups and updated program description 2020-05-16 14:21:36 +02:00
Leon Styhre 4aa30017bf Changed the version format and added proper handling of invalid command line arguments 2020-05-15 18:46:06 +02:00
Leon Styhre 89794a34cf Made some variable names for the navigation sounds more consistent 2020-05-15 18:41:53 +02:00
Leon Styhre eec27c0258 Updated Scraper to not use deprecated pugixml method 2020-05-15 18:39:54 +02:00
Leon Styhre fcfbbd3f2b Updated version info and documentation files 2020-05-15 18:31:59 +02:00
Leon Styhre cd68344dc5 Deactivated broken video playing in Grid view as a temporary fix. This functionality needs to be fully removed or properly implemented at a later date 2020-05-15 18:27:35 +02:00
Leon Styhre bac1eba3f8 Fixed two bugs where the game images were incorrectly scaled in the Video and Grid views. For the Video mode it happened during reload (such as when adding a game as a favorite), and for the Grid view it was always incorrectly scaled 2020-05-15 18:24:14 +02:00
Leon Styhre 3d6adf9ade Implemented a much more elegant handling of navigation sounds 2020-05-15 18:21:24 +02:00
Leon Styhre fc6183d918 Added support for jumping to favorites in the 'Jump to...' quick selector 2020-05-15 18:16:04 +02:00
Leon Styhre c01d1491e6 Fixed rendering of non-transparent rating icons (ported from batocera-emulationstation) 2020-05-15 18:12:16 +02:00
Leon Styhre 0aafc1314a Added navigation sound support (configurable per theme) and implemented proper sound handling at most places in ES 2020-05-15 18:08:26 +02:00
Leon Styhre 5f5d12535d Rewrote parts of the font loading code and bundled the required fonts with ES instead of relying on the OS providing them. This fixes the display of star symbols for favorites in the gamelists 2020-05-15 18:03:42 +02:00
Leon Styhre f5d3c8ac0b Removed code for restarting the application, fixed system reboot and power off (and changed these names), fixed some small cosmetic issues with log file output and main menu 2020-05-15 17:58:25 +02:00
Leon Styhre ffcf52c710 Made game launching more seamless and prevent minimizing of window when switching applications. Also added menu entry to choose between normal fullscreen mode and borderless fullscren mode 2020-05-15 17:51:32 +02:00
Leon Styhre 24d6a70019 Added menu options to disable system restart and system shutdown 2020-05-15 17:46:08 +02:00
Leon Styhre 1007f19bdc Added functionality to show favorites on top of the gamelists (mostly ported from batocera-emulationstation) 2020-05-15 17:42:36 +02:00
pjft 9c46f50497
Merge pull request #645 from pjft/kids-start-menu
Option to show start menu in Kids mode
2020-04-27 10:00:45 +01:00
Jools Wills 3b2227b4d1
Merge pull request #644 from pjft/disable-ss-audio
Added option to disable video screensaver audio on VLC and OMXPlayer
2020-04-11 22:12:08 +01:00
pjft b2e71015a1 Added option to disable video screensaver audio on VLC and OMXPlayer 2020-03-28 21:01:47 +00:00
pjft 258df48481 Option to show start menu in Kids mode 2020-03-28 21:00:25 +00:00
John Rassa 4eafb8771a
Merge pull request #634 from supersquared/master
Add support for md_thumbnail & md_marquee
2020-03-19 20:58:17 -04:00
Supersquared 2ae8f08b55 Add support for md_thumbnail & md_marquee
- Added support for md_thumbnail in VideoGameListView
- Added support for md_thumbnail & md_marquee in DetailedGameListView
2020-03-19 01:59:02 +01:00
John Rassa c114ef05ac Grid View Fixes
Fix for metadata disappearing when selecting system for the first time.
Fix for video not resuming after launching game.
2020-02-28 21:19:52 -05:00
cmitu c2a8617932 input: fix the infinite scrolling with the left shoulder button after #631 2020-02-03 05:53:11 +00:00
Jools Wills b9fddff3a3
Merge pull request #630 from PhilaPhan80/api.thegamesdb.net-add-v1-to-url-path
Update TheGamesDB API URL to include "v1"
2020-02-01 02:34:53 +00:00
Jools Wills 100d01b882
Merge pull request #631 from cmitu/bindings-mod
InputManager: replace pageUp/Down with left/rightShoulder
2020-02-01 02:32:49 +00:00
Carlos Rodríguez 6cd813ae67 feature: Added marquee, image and video to gridView. Ignore .vscode files 2020-01-25 22:17:47 -05:00
PhilaPhan80 85dc2b59a2 Update TheGamesDB API URL to include "v1" within the path per note by Zer0xFF at https://forums.thegamesdb.net/viewtopic.php?f=5&t=1223 2020-01-05 01:52:03 -05:00
Jools Wills 714797e778 bump version to v2.10.0-dev 2019-12-29 21:22:21 +00:00
Cristi Mitrana 3b85735a2d InputManager: replace pageUp/Down with left/rightShoulder and create an alias (via isMappedLike) to accomodate existing configs that use the PageUp/Down buttons. 2019-12-23 16:12:35 +02:00
Jools Wills 46047894f3
Merge pull request #578 from verybadsoldier/feature/save_metadata_on_change
Added an option to save meta data instantly when changed.
2019-12-18 04:06:23 +00:00
verybadsoldier a136179fc9 save also metadata that have default values. they might not had default values on start so they have to be saved 2019-12-13 21:38:01 +01:00
Jools Wills 5156baa5a4
Merge pull request #620 from cmitu/master
scraper: add support for ChannelF, OpenBOR, Solarus and ZX81 Sinclair
2019-12-10 05:32:35 +00:00
Cristi Mitrana b46c082821 Add scraping support for ChannelF, OpenBOR, Solarus and ZX81 Sinclair 2019-11-27 09:52:35 +02:00
John Rassa 94b2821eb7 repopulate list after applying theme to ensure image source is updated 2019-11-06 20:22:30 -05:00
John Rassa 961571655b Grid updates. Animate scrolling option, autoLayout option, center selection option, scroll loop option, image source option 2019-09-21 19:38:57 -04:00
Jools Wills cb0db38f54
Merge pull request #605 from jrassa/file-data-reset-changed-flag
ensure change flag cleared for new FileData
2019-09-10 00:22:08 +01:00
John Rassa b43f1b43d3 clean up opacity handling for ImageComponent, RatingComponent 2019-09-08 09:24:25 -04:00
John Rassa 28ed6ed04e ensure change flag cleared for new FileData 2019-09-03 22:39:19 -04:00
Tomas Jakobsson 71ac016c3d Make sure all vertices are properly rounded 2019-08-31 18:19:43 +02:00
Tomas Jakobsson 489d7de096 Eliminate drawRect that takes int's and make sure everything uses the float version properly, this way everything is rounded the same way
Only round the transforms when setting them on the GPU, to make sure everything is rounded the same, but only at the final moment
2019-08-31 17:58:36 +02:00
John Rassa fc58af98fd support for color gradients in drawRect and ImageComponent 2019-08-29 19:47:16 -04:00
Tomas Jakobsson 79cc5a7e8b
Merge pull request #575 from jrassa/guicomponent-visible
support 'visible' theme element
2019-08-29 10:25:10 +02:00
John Rassa d62758c7cf
Merge pull request #592 from verybadsoldier/fix/save_default_meta
save also metadata that have default values. they might not had defau…
2019-08-25 20:39:52 -04:00
verybadsoldier ee78a50252 save also metadata that have default values. they might not had default values on start so they have to be saved 2019-08-25 22:01:38 +02:00
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
John Rassa f0c64073db
Merge pull request #584 from tomaz82/cleanup_renderer
Cleanup renderer
2019-08-25 09:54:35 -04:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
Tomas Jakobsson 4b4c207208
Merge pull request #587 from fabricecaruso72/home-enhancements
Add --home command line to set custom home path + make windows version natively portable by detecting if .emulationstation is a subfolder of the exe.
2019-08-23 14:47:14 +02:00
Fabrice CARUSO 95de3aae7f Add --home command line to set custom home path + make windows version natively portable by detecting if .emulationstation is a subfolder of the exe. 2019-08-23 14:18:13 +02:00
Fabrice CARUSO f47fb048d5 Fix shutdown on Windows + process shutdown commands after main loop 2019-08-20 19:26:32 +02:00
Cristi Mitrana 023e9d8916 Eliminate duplicate requests when multiple platforms are present for a system 2019-07-31 18:50:49 +03:00
John Rassa 8de1fc8860 add 'visible' theme element 2019-07-21 23:13:48 -04:00
John Rassa 13819ec0d9
Merge pull request #571 from cmitu/collections-label-for-system-options
Collections: make the display of system's name configurable.
2019-07-13 08:44:12 -04:00
Cristi Mitrana c84290e7fb Makes the display of system's name in Collections configurable.
* 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.
2019-07-12 10:32:01 +03:00
pjft 6defa8ef1c
Merge pull request #569 from danovision/subtitle-font-settings
Add Game Info Font Settings to OMX Player
2019-06-25 17:21:04 +01:00
Dan Leach a2f59ee2fc Add Game Info Font Settings to OMX Player
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" />`
2019-06-19 18:51:32 +01:00
pjft 1b06df1572 Fix Kiosk Favorites not registering
Had been broken a few months back.
2019-06-19 10:04:17 +01:00
Cristi Mitrana 573cd4cdd5 Fix 'Last Played' collection crash. 2019-06-12 13:36:48 +03:00
Cristi Mitrana 6e123ba8c6 scraper: change ScreenScraper API URL 2019-05-02 11:54:55 +03:00
jrassa 72edb792d2 implement scripting support 2019-03-26 20:02:42 -04:00
Tomas Jakobsson 07a9f18ac6 Fix FilesystemUtil::isEquivalent by eliminating it entirely 2019-03-13 21:18:58 +01:00
Jools Wills f9e48897d3
Merge pull request #546 from tomaz82/fullscreen_borderless
Add support for fullscreen borderless window
2019-03-09 00:27:07 +00:00
Tomas Jakobsson 0410864929 Add support for fullscreen borderless window 2019-03-09 00:39:43 +01:00
Tomas Jakobsson 5cc6bafd7d Silence warnings 2019-03-09 00:23:13 +01:00
pjft 108cd714ea Fix jagged font in games list 2019-03-03 19:30:27 +00:00
pjft 55e4c47e4b Change handling of screensaver to FileData only and respect UI Mode 2019-02-26 09:36:36 +00:00
Jools Wills 70da690ca4
Merge pull request #532 from Gemba/master
Fixed rounding.
2019-02-19 09:56:44 +00:00
Marian Flor c1a27d8a8a Fixed rounding. 2019-02-17 21:13:10 +01:00
Spongman 718eae91fb
Update GamesDBJSONScraper.cpp
prevent `IsObject` assertion failure during `HasMember` call.
2019-02-16 18:07:26 -08:00
Cristi Mitrana 70bbcb0b1e Fix getThumbnailPath ignoring the 'image' tag when 'LocalArt' is not set 2019-02-12 09:11:50 +02:00
Cristi Mitrana 1ee09bcca8 Fix ScreenScraper search by filename 2019-02-10 12:47:53 +02:00
Jools Wills 2fb5881fb6 bump version to 2.9.0 (-dev) 2019-02-09 19:48:17 +00:00
Jools Wills 9af271d36f add setting for searching for local game art - defaults to off 2019-02-09 17:27:34 +00:00
Jools Wills 9ae899360c cosmetic - indent 2019-02-08 20:50:23 +00:00
acrummyidea 44395f5f45 Adding new scraper GamesDBJSONScraper. The scraper uses the new GamesDb JSON API.
On the first run it downloads a few resource files needed to intepret the otput of
game search api calls these resources go into ~/.emulatiostation/scrapers
The resource files include the list of developers and the list of publishers.
To update the lists simply delete the files and relaunch emulationstation.
Searching a game by id (GamesDB id) is done as before by manually edit the search
query and query for "id:<gameId>".
2019-02-07 21:08:11 -05:00
Lubosz Sarnecki 87a3205521 Loading screen: Be more verbose about what is happening.
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.
2019-02-04 23:16:47 +01:00
Jools Wills f899920598
Merge pull request #522 from cmitu/fix-uimodes-in
Fix Kiosk mode filters applying also to Kid mode
2019-01-24 22:08:28 +00:00
Cristi Mitrana 253e5716d2 Remove the TGDB scraper from the list of enabled scrapers 2019-01-24 20:05:07 +02:00
Cristi Mitrana ce04f7f297 Add checks for the Scraper, when the settings no longer match the list of available scrapers.
If the Scraper configured in the settings is no longer available, don't crash when running the scraper.
For single game scrapes, we show an error for the user to change the configuration.
For batch scraping, silently choose the 1st scraper available in the list
2019-01-24 20:00:19 +02:00
Cristi Mitrana f8e3ac1340 Fix UI Kiosk mode filters applying also to Kid mode.
This fixes games marked both as hidden and kid not being shown in Kid mode.
2019-01-19 10:11:19 +02:00
Cristi Mitrana cdd43bf7e9 Add ScreenScraper.fr as scraping source 2019-01-19 09:01:35 +02:00
Jools Wills 6ffda17c4e
Merge pull request #495 from raelgc/fix-kids-unattended-mode
Fixing kids/unattended mode
2019-01-08 19:33:41 +00:00
Keith F. Kelly 8c4c024de1 Add support to built-in thegamesdb.net scraper for TurboGrafx CD platform. 2018-11-28 11:09:52 -08:00
Keith F. Kelly a7a22e478d Clarify the DELETE button's warning text. 2018-11-28 10:55:12 -08:00
Jools Wills bf02819125
Merge pull request #432 from raelgc/master
Skip mame bios/devices
2018-11-19 05:36:51 +00:00
Jools Wills 6576dd7ba4
Merge pull request #499 from raelgc/all-directionals
Work with dpad and analogs
2018-11-19 05:35:35 +00:00
Rael Gugelmin Cunha c98a5d6220 Fixing kids/unattended mode 2018-11-15 15:09:08 -02:00
Rael Gugelmin Cunha 464b0992ad Work with dpad and analogs 2018-11-15 14:38:20 -02:00
Rael Gugelmin Cunha 0a62a6db27 Removing no more used mameNameToRealName 2018-11-05 13:46:04 -02:00
Rael Gugelmin Cunha 065fd8edf1 Skip mame bios/devices 2018-11-04 15:26:03 -02:00
John Rassa a57b0ecfea create new DateTimeComponent 2018-10-15 20:40:45 -07:00
Tomas Jakobsson 38c2b9a67b Fix missing / in custom collection path 2018-10-09 13:31:03 +02:00
Tomas Jakobsson 3f9ffaa33d Reset "StartupSystem" to "" if the requested system doesn't exist 2018-09-20 18:49:07 +02:00
John Rassa 811e2cefdc
Merge pull request #460 from tminit/custom-audio-rpi
Enhanced Audio settings
2018-08-29 22:20:49 -04:00
Tomas Jakobsson 747e400593 Allow to show hidden files on Windows
Skip hidden files earlier
2018-08-21 16:54:34 +02:00
tminit e7bc6f7006 Changed Audio settings to be much more flexible
Changed the selectable options for EmulationStation audio mixer
(called AudioDevice in EmulationStation) to be a greater range of
selectable options within Linux and RPi so that it is a lot more
flexible and will work with any aftermarket add-on audio cards and
RPi Audio HATs. Hopefully this gives people the flexibility that
they need in order to avoid the issues people have with unusual RPi
audio setups.

Added the ability to select the audio card as well, by surfacing
the audio card under the Audio Card setting. It was previously forced
to 'default' for all linux users, which was too restrictive in some
instances. This change now adds flexbility to support additional
Linux and RPi Audio Cards.

This option will only be available on Linux (and therefore RPi) as
Windows uses a different audio subsystem.

CHOOSING AUDIO ON LINUX AND RPi
You now select which ALSA Audio Card you want EmulationStation to use
by choosing the relevant AUDIO CARD option. If your one is not listed
then you can add a custom one in the es_settings.cfg file (see below).

You then select which ALSA Audio Mixer Control from that Audio Card
that you want EmulationStation to use, by choosing the relevant
AUDIO DEVICE option. (I kept the name AUDIO DEVICE as that what
EmulationStation previously used to describe an Audio Mixer.)
If your mixer name is not listed then you can add a custom one in
the es_settings.cfg file (see below).

ADDING A CUSTOM AUDIO CARD OR AUDIO DEVICE
In addition I added the ability to manually change the setting in
es_settings.cfg to add anything custom that you want. This will give
advanced users enough extra power that should avoid even the most
strange setups.

Step 1:

To add a custom Audio Card, edit the "AudioCard" setting and replace
the value with the name of your Audio Card. You can find this out by
opening a terminal window and running 'aplay -L'. This will generate a
list of Audio Cards similar to the one below:

pi@raspberrypi:~ $ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=sndrpijustboomd
    snd_rpi_justboom_dac,
    Default Audio Device
sysdefault:CARD=sndrpijustboomd
    snd_rpi_justboom_dac,
    Default Audio Device
dmix:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Direct sample mixing device
dsnoop:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Direct sample snooping device
hw:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Direct hardware device without any conversions
plughw:CARD=sndrpijustboomd,DEV=0
    snd_rpi_justboom_dac,
    Hardware device with all software conversions

Select any one of the Audio Cards listed by using the first word on
the line in your AudioCard settings in the es_settings.cfg, e.g.

<string name="AudioCard" value="default" />

NOTE: If the AudioCard value is not listed, please either close and
reopen EmulationStation (the settings is created upon close if it
doesn't exist), or add it manually to the es_settings.cfg file.

Step 2:

To add a custom Audio Device (mixer), edit the "AudioDevice" setting
and replace the value with the name of your Audio Device. You can get
a list off avilable Audio Devices on the Audio Card by opening a
terminal window and running 'amixer scontrols -D <AudioCard>', where
<AudioCard> is replaced with the name of your Audio Card that you
found in Step 1.  This command will generate a list of Audio Devices
(mixers) that you can use in the AudioDevice setting in the
es_settings.cfg file, e.g.

pi@raspberrypi:~ $ amixer scontrols -D default
Simple mixer control 'DSP Program',0
Simple mixer control 'Analogue',0
Simple mixer control 'Analogue Playback Boost',0
Simple mixer control 'Auto Mute',0
Simple mixer control 'Auto Mute Mono',0
Simple mixer control 'Auto Mute Time Left',0
Simple mixer control 'Auto Mute Time Right',0
Simple mixer control 'Clock Missing Period',0
Simple mixer control 'Deemphasis',0
Simple mixer control 'Digital',0
Simple mixer control 'Max Overclock DAC',0
Simple mixer control 'Max Overclock DSP',0
Simple mixer control 'Max Overclock PLL',0
Simple mixer control 'Volume Ramp Down Emergency Rate',0
Simple mixer control 'Volume Ramp Down Emergency Step',0
Simple mixer control 'Volume Ramp Down Rate',0
Simple mixer control 'Volume Ramp Down Step',0
Simple mixer control 'Volume Ramp Up Rate',0
Simple mixer control 'Volume Ramp Up Step',0

Select any one of the Simple mixer controls listed by using the
name within the quotes within the AudioDevice setting in your
es_settings.cfg file, e.g.

<string name="AudioDevice" value="Digital" />

Using the example above, the following two settings within the
es_settings.cfg file will use the 'default' Audio Card to play
sounds, and will use the 'Digital' mixer (Audio Device) to
control the volume.

<string name="AudioCard" value="default" />
<string name="AudioDevice" value="Digital" />

NOTE: Any custom manually used settings will be overwritten if you
select any of the other options in the GUI and exit the Sound
Settings window, as the Sound Settings GUI window overwrites the
es_settings.cfg options when you exit the window.

Fix latest package renames

fonts-droid is now fonts-droid-fallback
vlc-nox is now vlc-bin

Fixed up whitespacing to project tab standard

Had not paid enough attention and had accidentally provided
whitespacing in spaces rather than the project standard of
tabs. This change fixes some additional use of spaces to
ensure all the code in the two files now uses tabs.

Vero4k autodetection and volume mixer fix
2018-08-19 21:40:49 +00:00
hissingshark 2adce66ac4 Vero4k autodetection and volume mixer fix 2018-07-26 20:14:11 +01:00
John Rassa 5465752d11
Merge pull request #443 from jrassa/carousel-logo-text-improvements
add theme support for text and line spacing for logo text in system c…
2018-06-06 14:53:35 -07:00
John Rassa c6a8a4b20c
Merge pull request #436 from RetroPie/scraper-fix
set curl to follow redirects to fix scraper error
2018-06-06 14:47:41 -07:00
John Rassa 1fe57de7f6 add theme support for text and line spacing for logo text in system carousel 2018-06-06 14:44:54 -07:00
John Rassa 86a2cb7840 set curl to follow redirects to fix scraper error
update to use legacy thegamesdb url
2018-06-05 19:00:42 -07:00
John Rassa 401b184615
Merge pull request #435 from raelgc/431-improve-kids-mode
Improving kids mode
2018-06-04 14:17:25 -07:00
Rael Gugelmin Cunha cbc1d02b1b More restriction on kids mode (#431) 2018-05-30 22:38:19 -03:00
Koerty fef505639f Enable the grid view for everyone 2018-05-06 19:27:14 +02:00
joemommasfat ed2511e215 add sortname to gamelist.xml to sort by a different name 2018-04-24 23:07:25 -06:00
Koerty 96b0b85208 Fix md_name not fading out 2018-04-21 23:57:57 +02:00
Koerty e575f7708e Add the new metadata field md_title to grid, video and detailed views
Unlike the others, it is by default positioned offscreen
2018-04-16 19:42:41 +02:00
John Rassa 99f7330475 fix for several small issues in Windows build 2018-04-13 16:53:39 -07:00
Jools Wills 757dd43dd8
Merge pull request #325 from pjft/favorites-syntax
Fix empty collections not showing in carousel in Full Mode.
2018-04-12 15:29:29 +01:00
John Rassa 9adb0d0c51
Merge pull request #407 from Koerty/grid-tile-background
Add GridTileComponent and base theming syntax
2018-04-11 21:00:00 -07:00
Koerty 3993ace607 Add GridTileComponent and base theming syntax
- Add the GridTileComponent which hold the image and its background
- Add base theming syntax for the ImageGrid and GridTIle
- Numerous refactoring/cleaning in ImageGridComponent
2018-04-11 14:20:59 +02:00
Koerty 24c8a910e2 Disable random game selection in retropie settings menu 2018-04-07 14:43:23 +02:00
Koerty 82e5c21da6 Add base theming syntax for the grid
- The themes can now configure following elements : pos, size
- Change some default values for them
2018-04-07 10:37:09 +02:00
Benjamin D a006650c1c Add metadata from the detailed view to the grid view
- Add the metadata from the detailed view to the grid view (minus the image, as it doesn't make sens in the grid view)
- Add a callback to the ImageGridComponent to update the metadata info panel when cursor changed
2018-04-06 15:54:34 +02:00
Jools Wills 2ff3252b21
Merge pull request #400 from Koerty/grid-fix-populateList
[GRID FIX] Update the populateList function of the GridGameListView
2018-04-05 14:42:19 +01:00
Koerty 37a16fe3ed Update the grid's help prompt
- Add a left+right shoulder button icon
- Update the outdated help prompt to match the one from the Basic view
2018-04-05 15:37:35 +02:00
Jools Wills 75844f4568
Merge pull request #390 from Koerty/grid-swap-left-right-shoulder
[GRID 1] Allow quick system swap using left/right shoulder
2018-04-05 14:28:37 +01:00
Jools Wills 4e6dcde5a5
Merge pull request #398 from pjft/fix-theme-collection-crash
Fix crash when changing theme
2018-04-01 16:46:22 +01:00
Koerty 96b1f4b514 Small fix to the populateList function of the GridGameListView
- Call the addPlaceholder function if grid is empty
- Set the header text
2018-03-31 16:01:18 +02:00
Koerty 8d9c4a20ec Rewrite the grid display code
- Grid tile number of columns and rows is now controlled by the grid size, mMargin and mTileMaxSize
- Add a variable mSelectedTileMaxSize to control the size of the selected tile
- Update the render function to display the selected tile on top of the other
2018-03-30 18:15:54 +02:00
Koerty a7c0d92766 Use shoulder buttons for quick system swap in the grid view
- Allow quick system swap using left/right shoulder in the grid view
- Update the help prompt of the grid view accordingly
2018-03-29 09:50:57 +02:00
Mátyás Mustoha 63f4806ac5 Remove leftover debug code 2018-03-28 09:31:10 +02:00
Koerty b4feb69980 Enable the grid view for developers
- Add the remove function to GridGameListView
- Enable the grid view in ViewController
- The grid view will not be available in the menu yet, but can be enable by tweaking es_settings.cfg
2018-03-27 16:11:50 +02:00
pjft a585c00744 Fix crash when changing theme from within a collection that'll no longer be present at the carousel level 2018-03-15 20:46:09 +00:00
pjft 25f31d154c Fix crash when scraping folders 2018-03-09 16:41:55 +00:00
pjft c80d30493b Fix empty collections not showing up in Carousel for Full mode
Also fixed empty favorites collection in Kiosk mode not initializing as intended after adding the first game, if empty at start.
2018-03-02 11:56:14 +00:00
pjft d3cc0a77ef Limiting last played count to 50 2018-02-27 23:04:14 +00:00
Jools Wills 32258e1f00 bump version to 2.8.0 and add -dev suffix to string 2018-02-27 17:22:08 +00:00
Tomas Jakobsson 3f3e1ceb16 Move MameNameMap out of the source and into mamenames.xml 2018-02-09 18:32:05 +01:00
Tomas Jakobsson 9a535d4441 Show build date and time when starting ES with --debug 2018-02-08 20:45:06 +01:00
Tomas Jakobsson 1a4d13b6b3 Remove builtin resources 2018-02-08 19:27:44 +01:00
Jools Wills bb678eecd1
Merge pull request #363 from jrassa/g-w-scraper-fix
fix platform name for game and watch
2018-02-01 03:50:48 +00:00
John Rassa 55e578e18c
Merge pull request #362 from tomaz82/image_fix
Fix thumbnail and image to be separated
2018-01-31 22:38:58 -05:00
Tomas Jakobsson 1228e0c7bf Fix thumbnail and image to be separated as I think it was originally meant to be. 2018-01-31 21:34:55 +01:00
John Rassa d223831d53 fix platform name for game and watch 2018-01-30 20:16:30 -08:00
Tomas Jakobsson 421e4a23df The final traces of boost has been eliminated 2018-01-30 19:21:09 +01:00
Tomas Jakobsson 403b798572 Remove the last traces of boost::filesystem::operational, this is PR 4 of 5 in the boost::filesystem removal quest 2018-01-27 22:52:14 +01:00
Tomas Jakobsson 3d3fb2c277 Switched over the last functions in Utils.cpp to Utils::String, step 3 of 5 in the quest to remove boost::filesystem 2018-01-27 18:04:28 +01:00
Tomas Jakobsson ed2eb3d4d0 Move more functionality from Util.cpp to utils/StringUtil.cpp in the quest too remove the need for boost 2018-01-27 02:12:16 +01:00
John Rassa 0686b4690a
Merge pull request #352 from tomaz82/boost_filesystem
boost::filesystem replacement, step 1
2018-01-25 19:38:32 -05:00
Tomas Jakobsson c1f8e7294c Update and rename some Utils::FileSystem functions
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
2018-01-23 12:07:20 +01:00
jrassa e9403b6b00 implement horizontal wheel for system carousel. fix image rotation bug in carousel 2018-01-22 19:34:30 -05:00
pjft ae1e9e31c7 Fixing first favorites not updating index 2018-01-21 10:58:07 +00:00
Tomas Jakobsson e2fc3b325c Add support for --screenrotate 2018-01-18 18:30:00 +01:00
Tomas Jakobsson 7d7ebd5124 Minor misc fixes and warning silencers 2018-01-11 18:12:23 +01:00
Jools Wills db72b21500
Merge pull request #337 from error454/perf
Majorly improved performance when fetching Mame names.
2018-01-09 12:32:26 +00:00
Zachary Burke 7d50301b46 Majorly improved performance when fetching Mame names.
After profiling UI filtering and startup I determined that
getCleanMameName was responsible for the incredibly long load times when
loading/filtering Mame ROMS. This function was using a linear search
over a pre-sorted array to find a corresponding Mame ROM Name from the
ROM name. It now uses a binary search which improves UI load/filter
responsiveness by a couple orders of magnitude.

Single core performance on my i7 for 10,000 iterations was 2.01 secs vs
7.77e-4 secs
2018-01-03 13:47:39 -08:00
Tomas Jakobsson 05caef2f28 Remove all namespace fs = boost::filesystem; 2017-12-28 15:03:11 +01:00
Tomas Jakobsson 5e8d6b7f45 Eliminated the need for boost::xpressive, boost::algorithm and boost::variant 2017-12-27 18:22:26 +01:00
John Rassa 5e9c296fe9
Merge pull request #324 from tomaz82/custom_viewport
Implement --screensize and --screenoffset
2017-12-05 08:17:09 -05:00
John Rassa 4a70796814
Merge pull request #320 from tomaz82/date_time
Replaced boost::posix_time with Utils::Time
2017-12-05 08:16:26 -05:00
Jools Wills 96ac974ecb bump version to v2.7.4 2017-12-04 19:36:16 +00:00
Tomas Jakobsson 4425ea0165 Implement --screensize and --screenoffset 2017-12-02 19:16:08 +01:00
Tomas Jakobsson 11b8dbfc43 Replaced boost::posix_time with Utils::Time 2017-12-01 18:49:56 +01:00
pjft f29452e533 Fixes favorites crashing when removing last entry
Regression somewhere down the line.
2017-12-01 17:23:28 +00:00
D. Polders 1ed075a5e4 * Add ConfirmationPopUp when switching UIMode.
* 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.
2017-11-19 00:28:36 +01:00
Tomas Jakobsson bd0c6beed5 Silence warnings 2017-11-18 23:20:09 +01:00
Jools Wills f35769de6b bump version to v2.7.3 2017-11-18 17:45:18 +00:00
Tomas Jakobsson 160ef73eee Fix NES and SNES scraper that broke during boost cleanup 2017-11-18 18:11:58 +01:00
Tomas Jakobsson 92b73bd847 Cleaning up a lot of math functions 2017-11-14 20:09:20 +01:00
Jools Wills e0585cf501 bump version to v2.7.2 2017-11-13 00:21:20 +00:00
Tomas Jakobsson 9fbe95daa3 iterator -> const_iterator 2017-11-12 00:05:19 +01:00
Tomas Jakobsson 7719bff8ae Clean up pugixml.hpp includes 2017-11-10 20:16:42 +01:00
Jools Wills 8da400aa84
Merge pull request #292 from tomaz82/cec
CEC Support
2017-11-10 03:48:45 +00:00
Jools Wills a6d826a1e9
Merge pull request #293 from zigurana/UIModeConfirmationPopUp
Add confirmation popup when changing to UI mode Kid or Kiosk.
2017-11-10 03:48:24 +00:00
Tomas Jakobsson c66194e9c6 Trying to fix japanese text 2017-11-09 23:08:51 +01:00
D. Polders df7ef94462 Add confirmation popup when changing to UI mode Kid or Kiosk. 2017-11-09 21:51:46 +01:00
Tomas Jakobsson 074e22ee37 CEC Support 2017-11-08 23:22:15 +01:00
Jools Wills b833b45832 bump version to v2.7.1 2017-11-08 17:52:49 +00:00
pjft 4d237cea5e Fixing file deletion when present in "My Collections" bundle 2017-11-07 23:24:51 +00:00
Jools Wills ef8157a896
Merge pull request #283 from tomaz82/romname_bounce
Make long romnames bounce back and forth
2017-11-07 13:22:09 +00:00
Jools Wills 72ce8485c2
Merge pull request #287 from pjft/black-screensaver-fix
Fix for Video Screensaver not showing if menu is open
2017-11-07 13:21:42 +00:00
Tomas Jakobsson bc80308eff Improved long romname text scrolling 2017-11-06 18:34:47 +01:00
Jools Wills e37db2c2e0 bump version to 2.7.0 2017-11-05 10:26:48 +00:00
pjft d25e3b41ea Fix for Video Screensaver not showing if menu is open 2017-11-05 09:37:41 +00:00
Jools Wills d53fdd3420
Merge pull request #282 from zigurana/JumpToLetterWhenFiltered
Allow JUMP TO...  in case of filtered lists
2017-11-05 08:30:30 +00:00
Tomas Jakobsson 92a3286fc8 Add SystemData::indexAllGameFilters that loops through all added games and add's their tags to the filter indexes
This fixes the hidden filtering in Kiosk mode when not using gamelist.xml
2017-11-04 17:32:22 +01:00
D. Polders 5693e4a20c Allow JUMP TO... in case of filtered lists (such as when UIMODE != FULL).
Also add support for numbers and some symbols.
2017-11-03 12:11:11 +01:00
Tomas Jakobsson ac01e8fcd4 Removed all boost::assign::list_of 2017-11-03 01:33:08 +01:00
D. Polders 189eb05fee * Introduce KidMode: Prevent collection editing
* 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.
2017-11-02 21:22:41 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Tomas Jakobsson 8f5fbb0b26 Got rid of Matrix3x3f, Matrix4x4f, Rotation3x3f and Scale3x3f
Everything is now handled by Transform4x4f which now does it way more optimized than previous version
2017-11-01 15:02:48 +01:00
Tomas Jakobsson 44e3e39083 Add pragma once and ifndef header guards to all headers 2017-10-31 18:12:50 +01:00
Tomas Jakobsson d3966da2b7 Replace boost::locale with std::locale 2017-10-30 10:35:58 +01:00
Tomas Jakobsson 73a2f6b716 Replace Eigen with "inhouse" vector and matrix math 2017-10-28 22:25:01 +02:00
Jools Wills 997ee7b940
Merge pull request #271 from tomaz82/fixWarnings
Fix warnings
2017-10-28 21:10:15 +01:00
Tomas Jakobsson d3e87739e3 fix warnings 2017-10-28 22:07:31 +02:00
Jools Wills d57dee245c
Merge pull request #242 from psyke83/PSFixes
Power Saving enhancements
2017-10-28 20:18:38 +01:00