Commit graph

598 commits

Author SHA1 Message Date
Leon Styhre e3f67b26c3 Eliminated some unnecessary processing in DateTimeEditComponent if not right aligning. 2021-03-20 11:11:19 +01:00
Leon Styhre 552368d2f6 Left aligned DateTimeEditComponent in the scraper GUI. 2021-03-20 11:08:28 +01:00
Leon Styhre 9d9aaa30d7 Right aligned DateTimeEditComponent and made some minor adjustments in GuiMetaDataEd. 2021-03-20 10:26:18 +01:00
Leon Styhre 320f81ab4f Fixed a texture pop-in problem for some bundled graphic files. 2021-03-16 21:43:14 +01:00
Leon Styhre bd095a719a Fixed two uninitialized variables in GridTileComponent. 2021-03-16 20:53:53 +01:00
Leon Styhre 98395bc81d Slightly decreased the time needed to reach the highest scrolling tier. 2021-03-14 10:04:52 +01:00
Leon Styhre 6e58b5f2fa Fixed an issue in ScrollableContainer where the reset animation played when it shouldn't. 2021-03-14 09:49:26 +01:00
Leon Styhre 5099593d73 The gamelist description text no longer scrolls above the starting position. 2021-03-13 16:52:15 +01:00
Leon Styhre b12a68603d Fixed an issue where SVG rating components would not render immediately. 2021-03-13 11:46:19 +01:00
Leon Styhre 9ca7e58250 Fixed some minor warnings reported by the Clang static analyzer. 2021-03-01 19:40:23 +01:00
Leon Styhre 5bc19fc723 Fixed a Valgrind error in VideoVlcComponent. 2021-03-01 18:52:20 +01:00
Leon Styhre 0a9ae5b8ec Fixed a slight but annoying rendering issue for the menu selector bar. 2021-02-01 21:23:13 +01:00
Leon Styhre ae55eda233 Made the menus slightly wider to accomodate the new standard font. 2021-02-01 00:12:04 +01:00
Leon Styhre 392ca21adb Improved the knob position calculation for SliderComponent. 2021-02-01 00:07:15 +01:00
Leon Styhre 4556a0c71a The video player is now stopped before attempting to remove media files. 2021-01-31 20:51:24 +01:00
Leon Styhre dc3a936595 Yet another attempt to get libVLC to reliably set the audio volume. 2021-01-29 21:46:48 +01:00
Leon Styhre 39e8e33733 Fixed a cosmetic menu scrolling alignment issue. 2021-01-29 17:59:05 +01:00
Leon Styhre 8f32be00b4 Some general code cleanup. 2021-01-25 18:07:11 +01:00
Leon Styhre 632dcbfcd5 Removed log output only needed for testing purposes. 2021-01-23 20:52:25 +01:00
Leon Styhre c16a6d9bc4 Fixed an issue with flickering and potential crashes when starting to play gamelist videos. 2021-01-23 20:26:53 +01:00
Leon Styhre 0b5d9cfc52 Adjusted the time needed to reach the highest scrolling tier. 2021-01-23 16:42:58 +01:00
Leon Styhre 0dfe52586c Fixed an issue with adjusting SliderComponent values using the controller D-pad. 2021-01-23 15:43:48 +01:00
Leon Styhre a68bdcec30 Fixed two MSVC compiler warnings. 2021-01-19 00:26:02 +01:00
Leon Styhre 66e1c4e897 Improved the speed consistency for ScrollableContainer. 2021-01-19 00:11:02 +01:00
Leon Styhre e68c8f1db3 ScrollableContainer now takes the font size into consideration for adjusting the scrolling speed. 2021-01-17 22:02:22 +01:00
Leon Styhre 6e4b26daae Multi-scraper no longer jumps to the main menu after finished scraping. 2021-01-17 12:21:33 +01:00
Leon Styhre 8b18022752 Adjusted the game description text scrolling parameters. 2021-01-17 10:17:41 +01:00
Leon Styhre 632d11e46f Minor code update. 2021-01-16 23:01:13 +01:00
Leon Styhre ef25c675f7 Fixed an issue where separator lines would not get rendered on lower resolutions. 2021-01-16 22:55:38 +01:00
Leon Styhre 9589778107 Fixed an issue where separator lines would not be rendered correctly. 2021-01-16 22:52:10 +01:00
Leon Styhre a3c2f831c8 Clamped the scale factor in NinePatchComponent to avoid artifacts for extreme screen resolutions. 2021-01-16 20:53:09 +01:00
Leon Styhre 3c0f62b1be Fixed a text string abbreviation issue in GuiComplexTextEditPopup. 2021-01-16 19:22:23 +01:00
Leon Styhre 8dc23e2114 Made BusyComponent scale properly on high resolution displays. 2021-01-15 20:27:54 +01:00
Leon Styhre 755df0b10d Removed a deprecated function from NinePatchComponent. 2021-01-15 20:26:33 +01:00
Leon Styhre f212a85b23 Fixed scaling of GridTileComponent on high resolution displays. 2021-01-15 19:25:44 +01:00
Leon Styhre db1a97dd85 Made SliderComponent scale properly on high resolution displays. 2021-01-15 19:06:53 +01:00
Leon Styhre 3abbb3c85c Updated TextEditComponent to scale properly on high resolution diplays.
Also changed to SVG graphic files for the text input box frame in order to look smoother at higher resolutions.
2021-01-15 18:53:38 +01:00
Leon Styhre ee8e0a0c89 Some minor code cleanup. 2021-01-15 18:47:01 +01:00
Leon Styhre a99d32f596 Made some separator lines scale correctly on high resolution displays. 2021-01-15 18:44:54 +01:00
Leon Styhre 574feadc68 Changed from frame.png to frame.svg in most places. 2021-01-14 22:56:49 +01:00
Leon Styhre f71f4704ce Properly fixed NinePatchComponent so it scales with the screen resolution. 2021-01-14 22:55:07 +01:00
Leon Styhre 2995a0c7c5 Removed an invalid video resizing attempt. 2021-01-14 21:56:43 +01:00
Leon Styhre be9eaf6b38 Very minor code cleanup. 2021-01-14 21:54:26 +01:00
Leon Styhre fbb78add20 Fixed a GUI element placement issue on high resolution displays. 2021-01-14 18:24:41 +01:00
Leon Styhre 82896f01fb Fixed an issue with NinePatchComponent scaling on 1920x1200 displays. 2021-01-14 00:09:23 +01:00
Leon Styhre ace0366479 Buttons now look correct on high-resolution displays.
Also removed some unneeded SVG metadata from the bundled graphics files.
2021-01-13 23:46:51 +01:00
Leon Styhre a97b08e87e Eliminated some unnecessary processing in TextComponent. 2021-01-13 19:49:35 +01:00
Leon Styhre 34e10ec319 Minor code cleanup and log output changes. 2021-01-13 19:48:31 +01:00
Leon Styhre ce16c8e3ec Improved GUI consistency when running on high resolution devices. 2021-01-13 19:45:56 +01:00
Leon Styhre f25973f9b9 Tiny code cleanup. 2021-01-12 23:10:39 +01:00
Leon Styhre c5b0042dff Fixed the quick list scroll overlay and made it configurable using a menu option. 2021-01-12 22:41:28 +01:00
Leon Styhre 8ecc50b4ce Added margin support to TextComponent for abbreviated text. 2021-01-05 16:52:39 +01:00
Leon Styhre dc9c49438f Fixed an issue where a missing texture in GridTileComponent generated a lot of log warnings. 2021-01-05 15:57:50 +01:00
Leon Styhre a28f174960 Added a function to set scrolling parameters for ScrollableContainer.
Also tuned the scrolling speed a bit.
2021-01-05 12:52:21 +01:00
Leon Styhre d2d6813a54 Fixed multiple issues with the UI modes. 2021-01-05 10:45:32 +01:00
Leon Styhre 1a746ac98f Fixed an issue where the text scrolling speed would change relative to the screen resolution.
Also added a fade-in animation when the scrolling resets to the start position.
2021-01-02 21:17:23 +01:00
Leon Styhre c95334756d Fixed a lot of MSVC compiler warnings. 2020-12-29 12:54:24 +01:00
Leon Styhre 0365e9c572 Fixed some MSVC compiler warnings. 2020-12-29 11:06:01 +01:00
Leon Styhre 9ec3f19482 (Windows) Added support for the MSVC compiler. 2020-12-28 23:23:01 +01:00
Leon Styhre 963f93e0f8 Replaced the custom math functions with standard C++ functions. 2020-12-28 11:29:32 +01:00
Leon Styhre 51ab69b54c Fixed an issue where some SVG graphics would have their right side cut off slightly. 2020-12-23 20:32:12 +01:00
Leon Styhre bde34ddffd Further modernizations of the audio handling code. 2020-12-22 23:27:23 +01:00
Leon Styhre cfff577549 Implemented a better way to mute videos. 2020-12-20 20:37:31 +01:00
Leon Styhre 46c178af1d Added volume controls for navigation sounds and the video player. 2020-12-20 16:41:58 +01:00
Leon Styhre 0cce86beca Created a common pixel conversion function for both renderers. 2020-12-18 16:49:11 +01:00
Leon Styhre ade0160ffe Made the switches slightly smaller in the metadata editor.
Also made the value 'unknown' be set for some entries when clearing them individually in the metadata editor.
2020-12-17 20:49:20 +01:00
Leon Styhre bddc87bbcc Changed some more code from C to C++ 2020-12-17 20:43:52 +01:00
Leon Styhre debf072a0e Rewrote some code from C to C++ 2020-12-16 23:59:00 +01:00
Leon Styhre 6c62b23da8 Fixed an issue where videos would not pause on screensaver activation. 2020-12-16 18:03:23 +01:00
Leon Styhre 29abe2dc8c Removed the deprecated PowerSaver. 2020-12-16 17:57:10 +01:00
Leon Styhre 0c7e02e6f4 The scraper filter setting is now retained throughout the program session. 2020-12-16 17:35:23 +01:00
Leon Styhre 98d99ef8bb Added support for graying out menu entries via switch callbacks. 2020-12-15 18:49:43 +01:00
Leon Styhre e30e636780 Fixed an issue where game media would not get rendered during gamelist transitions. 2020-11-18 22:26:58 +01:00
Leon Styhre 0b6dce687e Changed to C++ casts throughout the application. 2020-11-17 23:06:54 +01:00
Leon Styhre 623c302174 Cosmetic code cleanup of VideoComponent. 2020-11-17 22:13:33 +01:00
Leon Styhre 635e7d2cdd Added a menu option to enable and disable video pillarboxes.
Also did some general code cleanup of VideoVlcComponent.
2020-11-17 17:20:25 +01:00
Leon Styhre bbb5575334 Added black areas around videos with non-standard aspect ratios. 2020-11-16 23:34:08 +01:00
Leon Styhre 53cacd5eac Renamed VideoPlayerComponent to VideoOmxComponent. 2020-11-12 17:40:06 +01:00
Leon Styhre 00ba2e78ab Improvements to the screensaver and game overlay.
Also added functionality to jump to a game from the screensaver (without launching it).
2020-11-12 17:13:24 +01:00
Leon Styhre 6368ae0cc1 OCD update renaming ScreenSaver to Screensaver. 2020-11-10 22:33:57 +01:00
Leon Styhre bbb2aa5217 Overhaul of the screensaver. 2020-11-10 22:18:20 +01:00
Leon Styhre 2c3b452401 Some cosmetic code cleanup and some small documentation updates. 2020-11-08 22:58:06 +01:00
Leon Styhre 3336f50e04 Added a file that was missing in the last commit. 2020-11-08 13:23:50 +01:00
Leon Styhre bd33d5a3b9 Implemented (somehow) proper inversions for images in menus. 2020-11-08 13:03:45 +01:00
Leon Styhre 1af7e3eda4 Added support for hidden text fields (intended for passwords). 2020-11-07 12:50:30 +01:00
Leon Styhre 8131b81761 Editing now starts by default for the text edit popups. 2020-11-07 12:45:57 +01:00
Leon Styhre 9f747e161d Rewrote collection settings to the new settings logic. 2020-11-06 20:27:41 +01:00
Leon Styhre 1a6bec2e3b Overhaul of settings code. 2020-11-05 18:18:11 +01:00
Leon Styhre 3e8a5391e1 Videos now always start to play immediately if there is no static image. 2020-10-20 21:24:29 +02:00
Leon Styhre 5838481e0d Small adjustments to ScrollableContainer timings. 2020-10-18 11:03:49 +02:00
Leon Styhre 35c7c7ec09 Removed deprecated code for handling video subtitles. 2020-10-17 16:06:48 +02:00
Leon Styhre 930bdce576 Fixed multiple issues reported by the Clang static analyzer. 2020-10-17 14:05:41 +02:00
Leon Styhre 13e0735dda Implemented variable scrolling speed for ScrollableContainer. 2020-10-17 12:16:58 +02:00
Leon Styhre 2768380446 Fixed several errors reported by Valgrind. 2020-10-11 18:57:37 +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 107c747374 Fixed a regression where the graying-out of menu entries didn't work. 2020-09-27 14:41:59 +02:00
Leon Styhre 08a2602fe2 Added function to unpause video. 2020-09-26 22:15:36 +02:00
Leon Styhre 8db04c5fcb Added SPDX license identifiers to all source files. 2020-09-21 19:17:34 +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 afa91aa093 Fixed an issue where long game names would sometimes not scroll. 2020-09-18 18:19:02 +02:00
Leon Styhre f4e24bdd56 Fixed an issue where the cursor would end up outside text fields for long strings. 2020-09-18 18:16:12 +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 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 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 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 66829b4ffa Added multiple animations and effects (mostly using shaders). 2020-09-13 13:21:38 +02:00
Leon Styhre a34bc45e56 Added an opacity shader. 2020-09-12 19:17:26 +02:00
Leon Styhre 79b5bfffef Some minor cosmetic changes. 2020-09-04 19:05:48 +02:00
Leon Styhre 9da16dd00e Some minor cosmetic code changes. 2020-08-30 22:25:38 +02:00
Leon Styhre d512c2b11d Implemented OpenGL GLSL shader support. 2020-08-30 22:19:37 +02:00
Leon Styhre a6c8f8034e Updated the built-in Math::clamp() argument order to behave as the C++17 std::clamp(). 2020-08-30 22:03:11 +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 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 31fae9678a (macOS) Made playing of videos work. 2020-08-23 15:42:10 +02:00
Leon Styhre ad960b28ac Various updates to make the application compile on macOS. 2020-08-17 19:15:05 +02:00
Leon Styhre 5b93c40365 Adjusted the scroll speed and scroll delay for the game descriptions. 2020-08-15 10:15:17 +02:00
Leon Styhre d45e72e10c Fixed incorrect knob position for SliderComponent for non-zero minimum values. 2020-08-08 12:33:55 +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 2a3d78bef2 Text opacity is now lowered for games marked not to be counted, and for hidden games. 2020-08-06 16:48:32 +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 3ae0726d1a Improvements to the date and time handling. 2020-08-02 15:56:32 +02:00
Leon Styhre 3923ad32c6 Fixed an issue where trigger input in menus wasn't handled correctly. 2020-08-02 15:04:43 +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 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 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 a90fb33cc7 (Windows) Fixed an issue where the date was shown as unknown during scraping. 2020-07-20 10:19:15 +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 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 57d6dab2cc Some cosmetic code changes. 2020-07-13 20:58:25 +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 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 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 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 4098c64468 Implemented shoulder- and triggerbutton navigation to TextEditComponent (i.e. text edit quickjumps). 2020-06-13 21:55:58 +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 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 a104b653ae Mapped button Y to backspace in TextEditComponent. 2020-06-06 22:26:35 +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 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 6303aa5664 Updated VLC video playing to use modern asynchronous media parsing 2020-05-15 18:35:30 +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
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 f3de559cc3 Fix rotation for OMX Player 2020-04-08 13:23:41 +01:00
pjft b2e71015a1 Added option to disable video screensaver audio on VLC and OMXPlayer 2020-03-28 21:01:47 +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 d1c24f429e
Merge pull request #621 from cmitu/date-fix
fix 'DateTimeEditComponent' output formatting
2019-12-10 05:31:49 +00:00
Cristi Mitrana c48c2ce56f fix 'DateTimeEditComponent' output formatting.
If the display mode is `DISP_DATE`, ignore the `mTime` field when calculating the output.
This fixes the size calculation of the component.

Fixes https://github.com/RetroPie/EmulationStation/issues/385.
2019-12-03 15:11:35 +02:00
John Rassa 9dfbaa5566 fix assignment of gridtile theme properties 2019-10-07 22:25:39 -04: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
John Rassa b43f1b43d3 clean up opacity handling for ImageComponent, RatingComponent 2019-09-08 09:24:25 -04:00
Tomas Jakobsson eda3fe9c3b
Merge pull request #599 from jrassa/image-video-component-theme-cleanup
Image video component theme cleanup
2019-09-07 19:28:36 +02: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 3b07bfeb93 cleanup duplicate theme code in Image/Video components 2019-08-31 09:50:57 -04: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
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
John Rassa 8de1fc8860 add 'visible' theme element 2019-07-21 23:13:48 -04: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
Tomas Jakobsson 5cc6bafd7d Silence warnings 2019-03-09 00:23:13 +01:00
Rael Gugelmin Cunha 464b0992ad Work with dpad and analogs 2018-11-15 14:38:20 -02:00
John Rassa a57b0ecfea create new DateTimeComponent 2018-10-15 20:40:45 -07:00
Hanno Zulla c8c26203f1 Replace blank_game bitmap with svg cartridge artwork. 2018-07-25 15:19:41 +02:00
Hanno Zulla 3e27412d65 Replace folder bitmap with svg artwork. 2018-07-25 14:52:13 +02:00
Hanno Zulla d02fab8463 Fix SVG resize issue for option_arrow.svg. 2018-06-12 16:44:25 +02:00
John Rassa 46c274ebe4
Merge pull request #451 from pjft/image-fix-part2
Final Fix for resizing images
2018-06-10 22:05:07 -04:00
pjft 21f21d8268 Final Fix for resizing images 2018-06-09 18:38:18 +01:00
Koerty 3d7d62047b Grid fix freeze with big game collections
This fix the infinite freeze with big game collections by storing the texture path instead of loading texture resource
2018-06-08 11:31:24 +02:00
John Rassa df60750ec9
Merge pull request #440 from Koerty/grid-fix-horizontal-mod
Fix horizontal scrolling grid bugs
2018-06-06 16:06:36 -07:00
Koerty 8763adedb1 Fix grid padding being 2 times smaller than it should be 2018-06-06 23:26:32 +02:00
John Rassa 27670e48d6
Merge pull request #441 from pjft/image-fix
Fix for image resize flicker when using MaxSize
2018-06-04 14:28:17 -07:00
pjft 68dff607c8 Fix for image resize flicker when using MaxSize 2018-06-04 21:25:45 +01:00
Koerty bdc3054423 Fix horizontal scrolling grid bugs
This fix 2 bugs with the horizontal scrolling grid :
- The grid is now positioned correctly (bug introduced by the buffer of the dynamic image loader)
- The right column contain the partial tile in horizontal mod, not the bottom row
2018-06-03 01:03:14 +02:00
Koerty 5913c9465e Add extra buffer rows to the grid to load images ahead 2018-05-21 22:06:00 +02:00
John Rassa 0928498ef2 Fix for Windows build 2018-05-18 19:32:09 -07:00
Koerty 9f10b61dfa Add 3 new theming properties to the grid tile background
Add 3 new theming properties to the grid tile background : - backgroundCornerSize
- backgroundCenterColor
- backgroundEdgeColor
2018-05-18 01:20:58 +02:00
Koerty c080ffb2c3 NinePatch now position correctly when origin is different from 0 0 2018-05-10 23:43:08 +02:00
Koerty 80456f566a Partially display the last row if grid number of row isn't an integer
- Also fix 2 bugs introduced by #428
- Also add log error message if grid dimensions are below 1
2018-05-09 17:29:21 +02:00
Koerty a52a2f5597 Change grid creation flow
- This changes make sure the buildTiles function is called only one time, at the end of the applyTheme function.
- The buildTiles function now call calcGridDimension as both are linked to the same events
2018-05-01 05:19:45 +02:00
Koerty 918ecbe493 Rewrite NinePatchComponent to handle images of all sizes
- Rewrite NinePatchComponent to handle images with a different size than 48x48 px
- It's now possible to change the border sizes using setCornerSize function
2018-04-29 02:06:02 +02:00
John Rassa 4a1e9d5f11
Merge pull request #415 from Koerty/grid-default-image
[GRID 5 & 6] Add grid default image and folder image
2018-04-16 21:30:40 -04:00
Koerty 3100fa3a6d Add grid default image and folder image
Add default game image and folder image to the grid. They can be configured by the theme with the gameImage and folderImage properties of the imagegrid.
2018-04-17 01:37:39 +02:00
John Rassa e3bebc872d
Merge pull request #417 from Koerty/help-prompt-origin
Add "origin" theming element for help prompt
2018-04-16 18:43:52 -04:00
Koerty 1b4a545c90 Add "origin" theming element for help prompt 2018-04-15 21:01:54 +02:00
Koerty 4a587ca347 Fix calcGridDimension being called before mScrollDirection 2018-04-15 15:20:49 +02:00
Koerty deeaf438c7 Clean ImageGridComponent code
- Separated private methods and attributes in 3 groups :
  - images & entries
  - tiles
  - miscellaneous
- Renamed some methods :
  - buildImages -> buildTiles
  - updateImages -> updateTiles
- Moved private methods implementation so they respect the same order as their declaration
- Changed some methods internal variable names and other smalls clean
2018-04-13 15:24:32 +02:00
John Rassa c7c828e47a
Merge pull request #412 from Koerty/crop-image-and-minsize
Add cropping and minSize to ImageComponent
2018-04-12 19:15:13 -07:00
Koerty f946801006 Add scroll direction to the grid
Vertical by default, but can be set to horizontal by the theme
2018-04-13 03:41:50 +02:00
Koerty d23d5dbc59 Add cropping and minSize to ImageComponent
- A call to cropTop(0.2) will crop 20% of the top of the image
- A call to minSIze(0.2, 0.2) will resize the image smallest side to 0.2 without breaking aspect ratio, but crop the extra lenght of the biggest side.
- Call minSize(0.2, 0.2) and then uncrop() to define an image size by its smallest side
2018-04-13 02:57:43 +02: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 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
John Rassa 016956703a
Merge pull request #404 from Koerty/grid-metadata
[GRID 4] Add metadata from the detailed view to the grid view
2018-04-06 19:34:21 -07:00
John Rassa e82895ffca
Merge pull request #403 from Koerty/grid-display-bottom-row
[GRID FIX] Bad tile position when close to the last row and last row is full
2018-04-06 19:18:44 -07: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
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
Koerty c25eaab7fb Fix bad tile position when close to the last row and last row is full 2018-04-04 20:11:47 +02:00
Koerty 87a9c7318a Fix ImageComponent flipY 2018-04-01 17:18:12 +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 41729f8cb8 Rename gridSize to gridDimension in ImageGridComponent.h 2018-03-23 10:25:33 +01:00
Tomas Jakobsson e52e63cf9c Fix mStaticImage to use setResize 2018-02-01 22:14:54 +01: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
jrassa b41118fe92 implement debug rects for images similar to text components 2018-01-22 19:31:18 -05:00
Tomas Jakobsson 4428ddaa6d Fix omxplayer when using --screensize, --screenoffset and --screenrotate 2018-01-19 02:09:49 +01:00
Tomas Jakobsson 5e8d6b7f45 Eliminated the need for boost::xpressive, boost::algorithm and boost::variant 2017-12-27 18:22:26 +01:00
Christopher Martin d1d622bd93 fix audio mute during loop 2017-12-22 14:54:28 -05:00
Tomas Jakobsson 11b8dbfc43 Replaced boost::posix_time with Utils::Time 2017-12-01 18:49:56 +01:00
Tomas Jakobsson bd0c6beed5 Silence warnings 2017-11-18 23:20:09 +01:00
Jools Wills 094c9ccd09
Merge pull request #308 from tomaz82/utils
Add String and FilesSystem utils
2017-11-16 18:38:15 +00:00
Tomas Jakobsson ae5f9a0342 Move StringUtil to utils subfolder
Added utils/FileSystemUtils which will replace some boost::filesystem functions in the future
2017-11-16 19:18:20 +01:00
Tomas Jakobsson 92b73bd847 Cleaning up a lot of math functions 2017-11-14 20:09:20 +01:00
Tomas Jakobsson 9fbe95daa3 iterator -> const_iterator 2017-11-12 00:05:19 +01:00
Tomas Jakobsson 232f36f866 Implement StringUtil which has stolen some functions from Font and added unicode2Chars 2017-11-10 19:54:03 +01:00
Tomas Jakobsson ac01e8fcd4 Removed all boost::assign::list_of 2017-11-03 01:33:08 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Tomas Jakobsson 44e3e39083 Add pragma once and ifndef header guards to all headers 2017-10-31 18:12:50 +01:00
Conn O'Griofa 9a8b9c7413 Implement missed inhouse vector replacements
Needed to fix build on Pi after https://github.com/RetroPie/EmulationStation/pull/263.
2017-10-28 23:44:09 +00:00
Jools Wills e5847c5343
Merge pull request #273 from pjft/OMX-warnings
Video String Formatting Warning Fixes
2017-10-28 22:19:09 +01:00
pjft 1cc6059420 Warning Fixes 2017-10-28 22:16:53 +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
D. Polders fd40e84ba5 Fix build warnings (mostly adding explicit type casting) 2017-10-18 16:22:27 +02:00
Jools Wills 5f7aec71dc Merge pull request #256 from jrassa/default-image
add support for default image path in themes
2017-10-12 03:51:43 +01:00
Jools Wills 80953960ac Merge pull request #255 from pjft/OMX-Volume
Second stab at normalizing volume scale for OMX Player
2017-10-09 14:52:22 +01:00
pjft a5655ed040 Second stab at normalizing volume scale for OMX Player 2017-10-07 08:58:09 +01:00
jrassa 24f1b969bf add support for default image path in themes 2017-10-05 21:34:32 -04:00
Conn O'Griofa c08c24e615 Remove explicit calls to AudioManager::init() and fix deinit() behaviour
Ensure that deinit() removes the current sInstance so that the next call
to AudioManager::getInstance() will re-initialize audio correctly.

Remove explicit calls to AudioManager::init() and instead rely on
Sound::play() to initialize audio when needed.
2017-09-28 20:32:37 +01:00
hex007 8d4a69cacf Handle longclick in PS:Instant mode 2017-09-21 10:44:00 -07:00
Jools Wills ffec737d95 Merge pull request #226 from mooware/utf8-assert-fix
fix delete-after-use issue with temporary string
2017-08-30 18:20:27 +01:00
Markus Pointner 96d7ac003d fix delete-after-use issue with temporary string 2017-08-30 12:51:48 +02:00
hex007 597128b4ee Better handle Menu width 2017-08-29 17:47:04 -07:00
pjft 7caf70a5e5 Adding slider to control screensaver swap time 2017-08-23 09:21:31 +01:00
Jools Wills 6d95146df6 Merge pull request #220 from pjft/OMX-Volume-Control
Making OMXPlayer respect sound settings
2017-08-23 02:38:33 +01:00
pjft cf3b641c3c Making OMXPlayer respect sound settings 2017-08-22 20:34:59 +01:00
jrassa c7b3db244e carousel enhancements 2017-08-18 22:03:40 -04:00
John Rassa 96fbc1c277 Merge pull request #195 from jrassa/gui-component-enhancements
added origin and rotation support to guicomponent, exposed as theme o…
2017-08-11 21:35:10 -04:00
hex007 90cd10b421 PowerSaver updates:
- 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
2017-08-11 10:03:12 -07:00
jrassa 2377175a19 added origin and rotation support to guicomponent, exposed as theme options for several components 2017-08-09 22:15:57 -04:00
Jools Wills 37b89fe57e Merge pull request #172 from hex007/feature-powersaver
Implement Power Savings feature
2017-07-28 17:05:25 +01:00
Jools Wills af62231926 Merge pull request #167 from nschloe/coverity-retropie
various code fixes
2017-07-28 13:48:03 +01:00
Nico Schlömer 419e6c43e0 various code fixes
From <https://scan.coverity.com/projects/emulationstation?tab=overview>.
2017-07-28 09:57:37 +02:00
hex007 45694cf1a4 Power Saver Feature
- 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
2017-07-25 12:07:35 -07:00
pjft d0cdbf2159 Adding support for Virtual Systems
- 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
2017-07-07 20:16:21 +01:00
jrassa 2c217ec4c1 fix show snapshot on video delay 2017-06-13 22:19:43 -04:00
pjft 59d7516a16 Random Game Screensaver, Game Name and Controls
- 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
2017-06-11 19:56:05 +01:00
fieldofcows 0d04633954 Changes from fieldofcows to separate screensaver into separate module, squashed by pjft. 2017-06-05 20:02:09 +01:00
hex007 2d38605a08 Fixes for USB sound cards
- 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)
2017-06-02 08:58:44 -07:00
hex007 c32dee41ca Bug fixes :
- Incorrect strech in VideoComponent
- Reboved blank params in VideoVlcComponent
2017-05-30 09:12:57 -07:00
pjft 029e8bd040 Fixes and tweaks to OMXPlayer work, by pjft
- 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
2017-05-28 21:33:05 +01:00
fieldofcows 34ea9caa89 Adding experimental OMX video player component. Squashed from fieldofcows' work (by pjft). 2017-05-28 21:26:23 +01:00
jrassa 354d3b9dec implement z-index support for themeing system view and gamelist views 2017-05-18 19:22:55 -04:00
pjft 80526c777e Fixing whitespaces and indentation (tabs) 2017-05-18 12:51:45 +01:00
pjft 4e5c1ce49e Changes to mitigate white flashes ES navigation
- Set default GL clear color to black, rather than white
- Revert changes to ImageComponent intialization that cause white flashes
- Increased ALSA buffer to prevent buffer underruns which stall CPU momentarily
- Improved carousel texture buffering based on navigation direction and speed
2017-05-17 20:53:30 +01:00
Jools Wills a909f10b2d Merge pull request #115 from pjft/RetroPie-master-filter-rebase
Adding generic gamelist filter funcionality for ES
2017-05-04 16:25:57 +01:00
jrassa 474891f4a3 fix black boxes appearing on gamelist after scrolling 2017-04-30 22:54:27 -04:00
pjft 7f84eeea94 Adding generic gamelist filter funcionality for ES, specifically genre, players, ratings and publisher/developer 2017-04-28 12:05:20 +01:00
Jools Wills 0a7605cae1 we map to pageup/pagedown not leftbottom/rightbottom - fixes page up / down buttons in date input etc 2017-04-04 03:06:07 +01:00
Jools Wills 61a493c38a fix warning 2017-04-03 19:41:21 +01:00
D. Polders ac5e3ad95f System Carousel feature, now with only a single commit! 2017-03-25 21:09:12 +01:00
Jools Wills f84fcfa62b Merge pull request #93 from dirk-de-bugger/TextEditComponent
Improved TextEditComponent
2017-03-13 17:57:35 +00:00
jrassa 44f886c961 implement maxSize for videos
implement maxSize for videos
2017-02-23 20:43:37 -05:00
dirk-de-bugger b851f91bd3 Fix initial text positioning and improve keyboard handling in TextEditComponent 2017-02-20 21:24:52 +01:00
fieldofcows 6872f47277 Fix WSOD by loading textures on demand in a separate thread when a user configurable texture memory threshold is reached 2017-01-29 22:46:22 +00:00
fieldofcows 25e1067794 Add video view that is based on detail view but allows themes to include a video preview of the selected game along with a marquee image 2016-12-12 09:34:01 +00:00
Jools Wills 4d27443f33 emulationstation - add additional scroll speed tier, and slow down fastest speed 2016-11-30 18:15:13 +00:00
Florian 65f2409d91 CHG: Additional input types, user-defined input config scripts 2015-06-01 20:47:42 +02:00
Aloshi da86b618c4 Quick fix for the stack overflow with DateTimeComponents in a ComponentGrid. 2015-03-06 09:25:42 -06:00
Aloshi d2b0fec88b Catch pageup/pagedown in DateTimeComponent edit mode. 2015-03-05 17:49:26 -06:00
Aloshi 2b3080f90b Make DateTimeComponent honor theme size values again. 2015-03-05 17:43:38 -06:00
Aloshi 5d0fc6a1b7 Fixed DateTimeComponent being cut off when a date is manually entered (from "unknown" -> "01/01/1990"). 2015-03-05 17:21:52 -06:00
Jesper Ek 1e320b7718 Fixes two memory leaks, which caused the scraper to crash after a while. I believe this fixes #180.
Fixes #352 (duplicate).
Fixes #362 (duplicate).

The destructor for AsyncHandle needs to be virtual as its subclasses are
allocated dynamically. I believe this caused the ImageDownloadHandle and its
related resources (such as the HttpReq and its contents) not to be freed
correctly.
2015-02-09 23:23:36 +01:00
Aloshi cefe9b6287 Merge branch 'utf8' into unstable 2014-11-23 09:55:57 -06:00
Alec Lofquist c870caee03 Fix newlines messing up cursor offset.
Fix an uninitialized value in TextEditComponent.
2014-10-18 15:46:14 -05:00
Aloshi 531fb50e01 Fixed text editing for multi-byte characters. 2014-08-30 15:37:51 -05:00
Aloshi ded816905d Fixed a typo in MenuComponent that accidentally used a constant as a
boolean value (technically still worked)
2014-07-27 17:49:12 -05:00
Aloshi 2b22e1fe0b Rewrote font code to use multiple textures.
Will corrupt after playing a game.
2014-07-27 16:44:02 -05:00
Aloshi dbdbcde6cd Renamed folders to match their projects properly. 2014-06-20 20:03:05 -05:00