Commit graph

496 commits

Author SHA1 Message Date
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
Fabrice CARUSO f47fb048d5 Fix shutdown on Windows + process shutdown commands after main loop 2019-08-20 19:26:32 +02: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
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
jrassa 72edb792d2 implement scripting support 2019-03-26 20:02:42 -04:00
Jools Wills 9af271d36f add setting for searching for local game art - defaults to off 2019-02-09 17:27:34 +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
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
Keith F. Kelly a7a22e478d Clarify the DELETE button's warning text. 2018-11-28 10:55:12 -08: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
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
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
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 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
Tomas Jakobsson 9a535d4441 Show build date and time when starting ES with --debug 2018-02-08 20:45:06 +01:00
Tomas Jakobsson 421e4a23df The final traces of boost has been eliminated 2018-01-30 19:21:09 +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
Tomas Jakobsson 7d7ebd5124 Minor misc fixes and warning silencers 2018-01-11 18:12:23 +01: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
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
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
D. Polders df7ef94462 Add confirmation popup when changing to UI mode Kid or Kiosk. 2017-11-09 21:51:46 +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
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 44e3e39083 Add pragma once and ifndef header guards to all headers 2017-10-31 18:12:50 +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
Jools Wills de42e1c2bd Merge pull request #257 from raelgc/master
Alow to select a system to go directly to the game list (Fixes #253)
2017-10-26 15:27:08 +01:00
Rael Gugelmin Cunha c1f836c713 Add an UI option to automatically load a system gamelist (Fixes #253) 2017-10-25 10:29:39 -02:00
D. Polders fd40e84ba5 Fix build warnings (mostly adding explicit type casting) 2017-10-18 16:22:27 +02:00
Conn O'Griofa 35abc91d30 PowerSaver: force-disable sounds for INSTANT profile 2017-09-28 20:37:02 +01:00
D. Polders 7a7550cde9 Introducing Kiosk UI mode, allowing users to hide menu items that might change system configuration settings. 2017-09-12 21:07:18 +02:00
sal ddf94786f4 Add image slideshow screensaver mode
This change adds an image slideshow screensaver mode with optional
background audio.  The existing menu and video screensaver have been
refactored to include this new mode.

By default, the slideshow screensaver will show images from the
game list, but it can be configured in the menu to use a custom
directory instead.
2017-09-08 21:45:50 -06: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
John Rassa 230c6e4a97 Merge pull request #212 from jrassa/carousel-enhancements
carousel enhancements
2017-08-19 09:25:52 -04:00
jrassa c7b3db244e carousel enhancements 2017-08-18 22:03:40 -04:00
pjft 01a55ba6a2 Added support for custom Game Collection creation
- Create from a theme folder
- Create by specifying a name
- Refactored collection creation to be on-demand rather than on startup
2017-08-17 16:09:37 +01: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
hex007 e924b5d14c PowerSaver Updates
- Removed warning while enabling Instant mode
- Fixes Instant mode setting not being saved
- Added methods to support changing screensaver videos after timeout
while using OMX.
- Added methods to support changing Screensaver play next video timeout
- Handled fast animations when Screen saver was disabled by setting
timeout to 0
- Minor fixes
2017-08-03 14:33:01 -07:00
Jools Wills fc24dbe0c0 Merge pull request #183 from dankcushions/hidden_files
Skip hidden *nix files when populating gamelists.
2017-07-31 18:44:40 +01:00
dankcushions 5d41e3ad30 Skip hidden *nix files when populating gamelists. 2017-07-31 10:48:46 +01: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 a035433d1d Fixing random game selection, and aligning menus
- Fixing off-by-one error
- Update menu alignment
2017-07-11 16:13:22 +01:00
Jools Wills 7ad62df4df Merge pull request #168 from pjft/RetroPie-Virtual-Systems-PR
Adding support for "All", "Favorites" and "Last Played" systems
2017-07-08 07:31:39 +01:00
pjft 535a665fa6 Moving slider entries in the menus back to the top
As some controllers have trouble navigating the menus when sliders are
not on top.
The component hasn’t been changed since Aloshi’s time, so this probably
has been around since ever.
Alas, I cannot reproduce it with my controller, so this is the best I
can do for the time being.
2017-07-07 20:42:30 +01: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
Jools Wills acf4223f96 Merge pull request #170 from hex007/separate-carousel-transition
Move Carousel transition to separate switch
2017-07-07 19:36:04 +01:00
Chris Bransden 040ee4f521 Returned 'JUMP TO LETTER' option back to top of menu, as it is the most
used/useful feature.
2017-07-05 11:50:01 +01:00
hex007 64effcc69c Move Carousel transition to separate switch
- Removed Simple Slide
- Added Switch to control Carousel transition
2017-06-28 09:50:37 -07: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
Jools Wills b078bdddd7 Merge pull request #149 from hex007/additional-transitions
Additional transitions
2017-05-31 17:56:05 +01:00
hex007 1da0c780b2 Renamed additional transitions
- instant -> simple slide
- none    -> instant
2017-05-31 09:54:11 -07:00
Jools Wills 44632dcaa1 Merge pull request #146 from hex007/consistent-helpstyle
Consistent helpstyle
2017-05-31 17:17:22 +01:00
hex007 2ec037de2f Added Instant Transition 2017-05-30 19:23:07 -07:00
hex007 fb93a4d2b6 Added None Transition 2017-05-30 19:19:41 -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
hex007 070ce4c21f Consistent Help Style 2017-05-28 11:13:00 -07:00
pjft 80526c777e Fixing whitespaces and indentation (tabs) 2017-05-18 12:51:45 +01:00
Jools Wills 006e716e64 Merge pull request #108 from zigurana/SelectGamelistViewType
Add Explicit Gamelist Type selection to GUI menu.
2017-05-04 16:30:23 +01: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 3e15aef1fc Merge pull request #118 from zigurana/RandomGame
Go-to Random Game feature
2017-04-26 23:25:02 +01:00
D. Polders 3c76a4b5a7 Go-to Random Game feature 2017-04-26 18:08:54 +02:00
pjft ebab4844be Hiding "Delete" button for folders 2017-04-04 09:20:50 +01:00
D. Polders 003d9edbf9 Add Explicit Gamelist Type selection to GUI menu.
Currently supports Basic, Detailed, Video, and Automatic types. The Automatic type checks for the availability of first video's, then screenshots, defaulting to Basic view if none are present.
2017-03-29 21:20:12 +02:00
Jools Wills baa4e2590d make jump to letter move to first occurrence of the letter 2017-03-13 18:16:57 +00: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
Steven Selph df9f5b8c3f Remove TheArchive scraper 2017-01-18 21:43:50 -05:00
Jools Wills 3ccc380c2b added confirmation to "CONFIGURE INPUT". fixes #75 2016-12-03 02:22:59 +00:00
vbs b1daeafe24 Added flag for GUI components to indicate activate background processing.
ES won't enter sleep mode if any component has the processing flag set.
(In sleep mode no more calls to update() on any components are invoked)
2016-09-17 10:34:02 +02:00
Jools Wills 267b43fa05 move ParseGamelistOnly option to the gui so people can easily enable it for faster startup 2016-03-26 03:31:13 +00:00
Jools Wills 26f4850eaf add configuration menu "other settings" and add "save metadata on exit" option, which users can use to speed up exit - fixes #35 2016-03-26 01:59:36 +00:00
Jools Wills e7cba01be1 Merge pull request #28 from joolswills/fix-halt-on-delete
Moved rom deletion to gamelist, fixed halt on removal.
2016-01-31 19:10:18 +00:00
Jools Wills fe86459f99 don't call shutdown from ES directly - which causes it to not save the gameslists on exit. Instead create files
/tmp/es-restart /tmp/es-sysrestart /tmp/es-shutdown to decide what we want to do. there is an emulationstation.sh launch
script to handle this
2016-01-17 18:33:59 +00:00
Aloshi a6a9fff50f Fixed non-ASCII characters never setting an initial selected value for "jump to letter." 2015-03-05 17:33:19 -06:00
Brent Atkinson 196449e5c3 Moved rom deletion to gamelist, fixed halt on removal. 2015-01-12 15:06:11 -05:00
Aloshi fb16dd8a91 Fix shutdown/restart commands on Windows. 2014-08-02 14:19:57 -05:00
Aloshi 4d4d4bc108 Re-added the "jump to letter" functionality. 2014-07-27 17:58:23 -05:00
Aloshi 23d8856773 Fixed VolumeControl::getVolume() rounding bug on Windows. 2014-07-09 16:17:59 -05:00
Aloshi bc72990f39 Changed 'emulationstation' folder to 'es-app' because I forgot executables don't have extensions on Linux
Half of the ES code has been missing for 5 days because I am incompetent
2014-06-25 12:02:36 -05:00