Commit graph

461 commits

Author SHA1 Message Date
Francesco Palazzo
894543cea6 Detecting DS4 and Anbernic P01 analog triggers 2024-12-08 15:16:52 +01:00
opa
a7a9dec637 Add option --monitor N 2024-08-09 23:23:52 +09:00
pjft
0aa10ae9a1 Update VLC Mute logic
This updates it to support mixer passthrough, and accommodate cases where the mute function wasn't supported.
2024-02-26 12:37:51 +00:00
cmitu
d544c73d81 Handle cURL library deprecation for redirect options
Starting with 7.85, `CURLOPT_REDIR_PROTOCOLS` is deprecated [1] and `CURL_REDIR_PROTOCOLS_STR` [2] should be used instead.
The changes modify the option used depending on the (compile time) libcurl version.

[1] https://curl.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS.html
[2] https://curl.se/libcurl/c/CURLOPT_REDIR_PROTOCOLS_STR.html
2024-02-21 04:24:12 +00:00
pjft
a5cc5cea9c
Merge pull request #859 from Gemba/refact_settings_intmap_cpp11
Refactorings to #857 in C++11 standard
2024-02-09 21:07:06 +00:00
Gemba
a4768e7022 Refactorings to RetroPie#857 in C++11 standard and modified es_settings.cfg format for random collections 2024-02-09 21:59:04 +01:00
pjft
aebbf19b3e
Merge pull request #841 from Gemba/fb_gamelist_folder_persistence
Changes to maintain and persist <folder/> information in a gamelist:
2024-02-07 18:00:57 +00:00
Gemba
a113b22ca7 Changes to maintain and persist <folder/> information in a gamelist:
1. folder elements are loaded when present in a gamelist and if they match the filesystem representation
2. missing optional folder elements are rendered empty in theme (and not "unknown")
3. As before non-existing folder elements are generated by ES, with mandatory elements <path/> and <name/>, but with this PR, whenever metadata is edited for this folder object (FileData class) it is persisted
4. Editiing metadata on existing <folder/> gets persisted too
5. UI metadata edit: layout fix that renders entered metadata not centered when returning from editing
6. UI metadata edit: format tooltip for date format in release date field
2024-02-07 17:50:09 +01:00
pjft
4245966a0b Updates to Random Collections
- Updated labels
- Add "Exclusion" collection setting
2024-02-02 13:53:25 +00:00
pjft
c8bcfa4420
Merge pull request #856 from pjft/random-collection
Add support for a Random collection
2024-02-01 11:01:09 +00:00
pjft
97eea573eb Add Support for Random Game Collections 2024-02-01 10:58:40 +00:00
pjft
9b0d64fbac Fix VLC not unmuting itself after initialization 2024-01-28 14:15:45 +00:00
pjft
aa88f6b206 Add option to specify collection to store favorites from screensaver 2024-01-26 20:04:41 +00:00
pjft
5d2221e207 Small fixes and UX tweaks to screensaver changes
Change order of menu
Fix image screensaver game selection
Fix some glitches with subtitles and video gamelist view
2024-01-21 09:55:12 +00:00
pjft
809ffe308e Add Favorites and Previous controls to screensaver 2024-01-13 17:07:33 +00:00
pjft
0905c6dba4 Add option to launch screensaver with games from only the current system
- Add option to launch random video/image screensaver with games from only the current system
- Adjust screensaver controls to allow A to select the current game without launching
2024-01-10 08:12:40 +00:00
sinavir
858bcf4a23 Fix logfile closing 2024-01-06 22:15:26 +01:00
pjft
0702bf4d1b Ignore unmapped windows during screensaver controls
Some controllers send ghost inputs at times (slight analog movements, or others) that would wake up the video screensaver when expecting other controls. This ignores them in that context.
2023-12-16 23:13:43 +00:00
Gemba
5985498cd6 fix 'input in sleep mode starts game' 2023-12-08 21:24:06 +01:00
Gemba
8bad0f0d25 Refactorings, mainly to avoid duplicate code and nested if statements 2023-08-26 22:54:38 +02:00
pjft
928391103b
Merge pull request #821 from tfc/pugixml-portability
Fix pugixml include paths and make submodule optional
2023-08-22 22:23:04 +01:00
Jacek Galowicz
58750da873 Fix include paths of pugixml 2023-08-22 23:21:30 +02:00
Tomas Jakobsson
04829a6c73 Fix VC2017 not having unistd.h 2023-08-18 15:56:02 +02:00
Craig Hackney
f9542838c2 Updates to allow building on Ubuntu-22.04.2 with clang 2023-08-11 08:36:36 +01:00
Bob Wilton
2846859508 Minimal changes required to compile ES for WIN32 2023-08-07 22:21:34 -04:00
Jools Wills
08d74d3345
Merge pull request #797 from cmitu/sdl-vendored-input
input: export additional info for joysticks inputs
2023-04-11 20:15:24 +01:00
Gemba
955fe06086 Squashed commit of the following:
commit 5d07dac51f0ac77cb3771dc2a7c69677b882de00
Author: Gemba <uid0@sdf-eu.org>
Date:   Wed Mar 22 01:04:40 2023 +0100

    re-enable wrapping when fixed >0 y-size value of TextComponent is given
2023-03-22 01:14:58 +01:00
Gemba
e44e0b7c3d reduce callcount to TextComponent.onTextChanged() 2023-03-03 20:39:24 +01:00
pjft
4389185cfb
Merge pull request #811 from Gemba/fix_misplaced_cursor_on_lb_lr_paging
Fix misplaced cursor on LB/LR paging on specific conditions
2023-03-02 22:07:26 +00:00
Gemba
1c80f0ca5a Squashed commit of the following:
commit 47fc0c9edb95b08fccde01fd1778e3789f6e617a
Merge: 7f3bc53 5a3b907
Author: Gemba <uid0@sdf-eu.org>
Date:   Wed Mar 1 07:36:05 2023 +0100

    Merge branch 'master' of https://github.com/Gemba/EmulationStation into fix_short_desc_wordwrap

commit 5a3b9074e1
Merge: 34b2545 0057745
Author: pjft <pjft@users.noreply.github.com>
Date:   Mon Feb 27 20:01:05 2023 +0000

    Merge pull request #801 from Gemba/fix_ui_transition_style_slide_gamelistview_rollover

    UI Slide Mode: Changes to allow rollover left/right at gamelist-view edges

commit 00577453d2
Author: Gemba <uid0@sdf-eu.org>
Date:   Mon Feb 27 20:46:58 2023 +0100

    Squashed commit of the following:

    commit 895e176c513ca1556c60c5c29c85bd43da3675e0
    Author: Gemba <uid0@sdf-eu.org>
    Date:   Fri Aug 5 13:37:44 2022 +0200

        Changes to allow rollover at gamelist edges instead of rolling back in 'slide' mode.

        Needs 'Transition Style' set to 'slide'.
        Needs 'Quick Navigation' in Gamelist view enabled.

commit 7f3bc5345577f6d0d6625bec6a40fa2468e0395d
Merge: be99449 b88f5ac
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Feb 18 16:11:23 2023 +0100

    Merge branch 'fix_short_desc_wordwrap' of https://github.com/Gemba/EmulationStation into fix_short_desc_wordwrap

commit b88f5acbc03955aa251cb87445bce1437a4abf06
Merge: 1eb0147 34b2545
Author: Gemba <Gemba@users.noreply.github.com>
Date:   Sat Feb 18 12:58:46 2023 +0100

    Merge branch 'RetroPie:master' into fix_short_desc_wordwrap

commit 1eb0147e24573e761f5a65ce7f46e2b055cb124c
Merge: 07002d6 0c4b42d
Author: Gemba <Gemba@users.noreply.github.com>
Date:   Sun Sep 25 14:31:36 2022 +0200

    Merge branch 'RetroPie:master' into fix_short_desc_wordwrap

commit 07002d61d5a1722588c2b34bee6783c01a7a9c18
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Aug 13 18:37:11 2022 +0200

    Make short descriptions wrap to next line instead of adding ellipsis.

    The ellipsis effect instead of wrapping to a new line had two causes:
    1. A short description ends slightly after the x-bounding value of the textcomponent (can happen in any theme).
    2. Themes with a linespacing with less than 1.2 (120% of highest character) get a wrong flag set for detecting if it is a multi line text. Carbon uses 1.5 linespacing by default thus this case never to carbon.

    Fixes:
    1. An additional clause in Font.cpp::wrapText() was added to fix this effect and to force wrapping instead of adding ellipsis.
    2. The evaluation of the variable isMultiline in TextComponent::onTextChanged() takes the actual linespacing for calculation instead of the "magic float" of 1.2.

    cf. https://retropie.org.uk/forum/topic/32893/very-short-descriptions-don-t-wrap

commit be9944921e47ebfa57acae8200d495f356774c2b
Author: Gemba <uid0@sdf-eu.org>
Date:   Sat Aug 13 18:37:11 2022 +0200

    Make short descriptions wrap to next line instead of adding ellipsis.

    This effect was agnostic to the theme in use. The ellipsis effect was most prevalent on short descriptions, but may also occour whenever the last line of a description shortly ends after the maximum width of the bounding box, overrunning the bounding box by upto two non whitespace characters.

    An additional clause in Font.cpp::wrapText() was added to fix this effect and to force wrapping instead of adding ellipsis.

    cf. https://retropie.org.uk/forum/topic/32893/very-short-descriptions-don-t-wrap
2023-03-01 07:46:02 +01:00
Gemba
33fdbb2326 Fixes several cursor misplacements when full page scroll with LB/LR on.
Including fix for cursor highlighting in visible list area when game is launched from screensaver.

Squashed into one commit.
2023-02-18 14:00:48 +01:00
cmitu
9473f19c70 input: export additional info for joysticks inputs
Added some extra info to help RetroPie's auto-configuration scripts by exporting the joystick Vendor and Product IDs, which should help with RetroArch's joypad profile generation.

 Since 2.0.14, SDL's joystick name (`SDL_CreateJoystickName`) is a normalized version of the name reported by the OS (culled consecutive spaces, trimming trailing spaces, renaming known joystick names like Xbox/PS). This breaks the input auto-configuration scripts in RetroPie, which generate a config with new name, while the emulators/ports expect to find the OS reported name (e.g. RetroArch - see #3398 [1] for an example).

 This issue is affecting especially PC users, which are not using RetroPie's (old) SDL version and who's RetroArch configuration is incomplete.
Using the Vendor/Product ID would help these situations and support the new SDL versions when added to RetroPie.

[1] https://github.com/RetroPie/RetroPie-Setup/issues/3398
2022-12-22 05:04:03 +00:00
pjft
34b2545b0d
Merge pull request #815 from cmitu/input-vestige
input: remove useless XML node in the temporary output
2022-12-15 07:58:03 +00:00
cmitu
5bc3fba063 input: remove useless XML node in the temporary output
The `<inputAction>` node is useless for the temporary input configuration, so remove it.

Normally, because of the previous `reset` call of the parent document, it would be empty, but I've encountered situations when the memory is not cleared and there's (random binary) garbage added to the temporary configuration file. This results in a broken XML file and the auto-configuration scripts in RetroPie will all fail.
2022-12-15 06:32:57 +00:00
Richard Eklycke
5a6ff039c7 TextureData: Fix memory leak of svgImage 2022-12-04 23:29:44 +01:00
pjft
48b2db560a
Merge pull request #809 from Gemba/fix_num_joystick_assertion
Fixes ES crash after boot on stale SDL joy add/remove events.
2022-08-23 17:13:22 +01:00
pjft
2600ba9bf0
Merge pull request #807 from cmitu/get-the-time
timeutil: fix building with recent `gcc` versions.
2022-08-22 22:00:15 +01:00
Gemba
4ba672b7cd Fixes ES crash after boot on stale SDL joy add/remove events.
This happens whenever a joystick is remved during ES splashscreen. Putting the PR here after initial discussion in forum:

https://retropie.org.uk/forum/topic/33014/failed-assertion-on-connected-joysticks-terminates-emulationstation-on-specific-conditions
2022-08-22 19:11:53 +02:00
cmitu
5ba5498a62 timeutil: fix building with recent gcc versions.
Included `time.h` to get the declarations of `time_t` and `struct tm`.
Should fix building with `gcc` 12.x.
2022-08-20 17:04:51 +01:00
Richard Eklycke
3feff1c4dd FileSystemUtil: Update path cache when creating new directory
With this fix in place, emulationstation will start up correctly
when there is no ~/.emulationstation directory present.
2022-08-20 15:47:48 +02:00
Jools Wills
6451038d2b
Merge pull request #792 from cmitu/audio-changes
RPI support: split omxplayer build option
2022-05-22 20:40:01 +01:00
Aaron Pfeifer
0d9cbb6e16 Fix VideoPlayerComponent not handling multiple child processes needed to be reaped when Scripting events are being fired 2022-05-12 21:00:11 -04:00
cmitu
b99e8c21ba RPI support: add a separate omxplayer build option
Modified the build options and source files to enable `omxplayer` for video previews only when the `OMX` option is used.
Updated the build instructions on RPI accordingly and added some notes about the deprecation of the BRCM GPU drivers in RasPI OS 'Bullseye'.

Previously, the `RPI` build option would be used to add both RPI specific audio settings/VRAM limits AND add `omxplayer` support. However, `omxplayer` does not work with the RPI KMS video driver (`vc4-kms-v3d`) or with a 64bit RPI system, due to the lack of OpenMAX (OMX) API support.
The new RasPi OS ('bullseye') has made the KMS driver the default [1] and doesn't offer `omxplayer` anymore (considered deprecated [2]).

Splitting the OMX support from the RPI option allows to set some default values for RPI systems without automatically adding the `omxplayer` bits.

[1] https://www.raspberrypi.com/news/raspberry-pi-os-debian-bullseye/
[2] https://github.com/popcornmix/omxplayer/commit/1f1d0ccd65
2022-05-07 17:54:05 +01:00
pjft
e26fa8d48b
Merge pull request #784 from Gemba/fb_enhance_cli_help
Brooming of --help output
2022-04-24 22:07:37 +01:00
Gemba
feaf44afac restructured --help output, removed legacy --help output from README.md and
removed surplus SplashScreenProgress switch (always true).
2022-03-20 22:12:13 +01:00
Gemba
69ee73c764 fixes continued scrolling on system leave and reenter navigation 2022-03-01 08:45:17 +01:00
Tomas Jakobsson
c7b3b42efc Skip isDirectory check on known directory paths 2022-02-08 10:19:00 +01:00
Tomas Jakobsson
1e23dc54f2 Merge branch 'master' into game-system-select-events 2022-02-01 16:50:38 +01:00
Tomas Jakobsson
f4cae18e32 Don't wrap if maxWidth is 0 or negative 2022-01-30 20:21:17 +01:00
Jools Wills
3eb9f65872 cosmetic - convert CRLF file to LF 2022-01-30 19:02:49 +00:00