Commit graph

437 commits

Author SHA1 Message Date
Leon Styhre 817ee4122a Fixed an issue where horizontally scrolling game names would sometimes flicker.
Also cleaned up some code.
2021-06-28 20:45:58 +02:00
Leon Styhre 337f06b428 Added a CMake option to build with or without the VLC video player. 2021-06-23 00:24:15 +02:00
Leon Styhre badcfb0fe9 Fixed a glitch in VideoFFmpegComponent as the video texture was not properly reset. 2021-06-22 18:17:06 +02:00
Leon Styhre d1a30133d1 Fixed an issue where images were only scaled down but never up during cropping. 2021-06-14 19:56:21 +02:00
Leon Styhre dde840c5f8 Added a game launch screen. 2021-06-14 19:15:22 +02:00
Leon Styhre aeb74055d0 Added a function to ImageComponent to crop fully transparent areas around an image. 2021-06-12 21:08:35 +02:00
Leon Styhre 75430f210a Some cosmetic code cleanup. 2021-06-11 17:02:06 +02:00
Leon Styhre 653cf4c46f (Windows) Fixed an MSVC compiler warning. 2021-05-29 11:48:33 +02:00
Leon Styhre 5ee28ed8ec Fixed some compiler errors on Windows caused by an FFmpeg C macro. 2021-05-29 11:27:04 +02:00
Leon Styhre 77bbe0592c Updated VideoFFmpegComponent to use libavfilter for frame processing and conversion. 2021-05-29 10:58:51 +02:00
Leon Styhre 0d8f50f632 Added automatic retries to the scraper for ScreenScraper TLS errors. 2021-05-24 18:51:16 +02:00
Leon Styhre ccb4c19d78 Changed input type 'select' to 'back' to align with the SDL naming conventions. 2021-05-23 20:31:15 +02:00
Leon Styhre 4d4210a419 Added support for selecting between different controller types. 2021-05-23 19:12:31 +02:00
Leon Styhre d6eba6ae24 Adjusted the size and position of the various menus. 2021-05-23 10:40:11 +02:00
Leon Styhre 65e119cff9 The audio stream is now only cleared from a single location in VideoFFmpegComponent.
Also made the video player finish processing if the video is paused.
2021-05-19 19:52:58 +02:00
Leon Styhre 9d8cb889ac Reduced video stuttering in VideoFFmpegComponent.
Also did some other optimizations.
2021-05-19 19:47:40 +02:00
Leon Styhre 3ed17fbea2 Added a fullscreen game media viewer. 2021-05-16 13:12:31 +02:00
Leon Styhre 282d2fa445 Implemented a workaround for a potential crash when scaling frames in VideoFFmpegComponent. 2021-05-15 20:16:48 +02:00
Leon Styhre 4a42f929b3 (Windows) Fixed some MinGW and MSVC compiler errors and warnings for VideoFFmpegComponent. 2021-05-13 11:05:23 +02:00
Leon Styhre 4465342724 Added an audio buffer to VideoFFmpegComponent to avoid underflows and distortion. 2021-05-12 22:55:00 +02:00
Leon Styhre f3f86c6e20 Changed to unique_ptr for the threading in VideoFFmpegComponent and TextureDataManager. 2021-05-12 22:49:24 +02:00
Leon Styhre b1521c4c53 Fixed a stupid iterator issue in VideoFFmpegComponent. 2021-05-11 18:06:30 +02:00
Leon Styhre 84640c0dc5 Added multithreading to VideoFFmpegComponent. 2021-05-11 17:35:55 +02:00
Leon Styhre a1209dfc5d Fixed a video/audio synchronization issue in VideoFFmpegComponent. 2021-05-10 18:54:17 +02:00
Leon Styhre d9eda97ca6 Fixed an issue in VideoFFmpegComponent that could lead to a crash.
Also renamed a function in VideoFFmpegComponent.
2021-05-10 18:08:45 +02:00
Leon Styhre ef8b008d28 Added an experimental FFmpeg video player. 2021-05-09 22:52:26 +02:00
Leon Styhre fbbb6aece1 Improved the audio streaming in AudioManager. 2021-05-09 22:47:46 +02:00
Leon Styhre 837f781e04 Fixed an issue where the static video image would not be displayed after metadata changes. 2021-04-09 22:54:00 +02:00
Leon Styhre 0243b4bcf8 Changed to static loading of the help icons to avoid texture pop-in.
Also cleaned up some error logging for the help icon loading.
2021-04-05 13:26:25 +02:00
Leon Styhre 23903de1cf Minor cosmetic code cleanup. 2021-03-27 10:26:13 +01:00
Leon Styhre 12a7b18d05 Renamed controller input type 'analog' to 'thumbstick'. 2021-03-24 21:20:01 +01:00
Leon Styhre 4ab296d8bb Improved the video player pause function while running in background. 2021-03-24 20:15:17 +01:00
Leon Styhre 1338e4467b Added support for controller analog sticks click. 2021-03-24 19:35:51 +01:00
Leon Styhre cf2b9534e8 Some code cleanup. 2021-03-23 22:01:47 +01:00
Leon Styhre 28c66225c9 Fixed two memory leaks in VideoVlcComponent. 2021-03-22 18:12:25 +01:00
Leon Styhre e96f8b9c0a Added debug overlay support to ButtonComponent, DateTimeEditComponent and TextListComponent. 2021-03-22 18:07:15 +01:00
Leon Styhre acef76d791 Changed some debug overlay colors. 2021-03-22 17:56:38 +01:00
Leon Styhre d90f29b931 Added support to TextComponent to return the horizontal and vertical alignments. 2021-03-21 11:50:13 +01:00
Leon Styhre 3355d6f208 Added support for more imageSource types to the Grid view style. 2021-03-21 11:24:34 +01:00
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