1
0
Fork 0
forked from len0rd/rockbox
Commit graph

17957 commits

Author SHA1 Message Date
Solomon Peachy
adb49159ce winsim: Build fixes for current mingw64 cross compiles
Change-Id: I5d523a4aa0ca9044b8f83ae6aafd4f3705ff96d6
2025-05-25 07:56:05 -04:00
Christian Soffke
667d6c140b plugins: main_menu_config misc addendum 5efb6d7fac
handle USB or shutdown events, exit for ACTION_STD_MENU,
and eliminate unnecessary list redraws

Change-Id: Ieedf75805f3a859d1aeb85ef51253636d8870fb6
2025-05-24 02:57:37 +02:00
Christian Soffke
5efb6d7fac Settings menu: add main menu customization
Lets you launch the main_menu_config plugin
from Settings, so that it remains accessible,
even after all other menu items have been
hidden.

Includes minor changes to the main menu config
plugin, so that it better fits in with the rest
of the settings menus:

* Keep theme enabled
* Autosave
* Add "On" or "Off" suffix to each item, to prevent
  confusion when Icon_Config is blank, as is the case
  with certain iconsets
* Update current selection after swapping items
* Prefix spoken selection with row number for enhanced
  clarity when swapping items
* Change title to LANG_MAIN_MENU
* ACTION_STD_OK to toggle an item's visibility
* ACTION_STD_CONTEXT to access options for reordering
  menu items, or for reverting to the default menu
* Ask for confirmation before reverting

Change-Id: I74240b94243224c76e23ef8f3a0559bd8ba28df0
2025-05-23 14:28:29 -04:00
Vencislav Atanasov
dbeefebcad Change playername.txt default value
Replaces the "Rockbox!" string in playername.txt with the player's model name, in case the file does not exist at boot.

Change-Id: I458b6b89d0d998d8cf889d01122b01cee42b21c5
2025-05-23 11:45:41 -04:00
Christian Soffke
83a8fc4c7e voice: output_dyn_value: fix scale
regression introduced in 15e5237

Change-Id: Ib107be08d2712b9c74e2795180ac8565c146af0b
2025-05-22 19:41:46 -04:00
Solomon Peachy
2bd88936f7 Revert "buffering: remove bufgettail/bufcuttail"
This reverts commit 9e93796407.

Fixes FS#13626, which is caused by non-audio ID3v1/APE tags at
the end of the audio data stream.

Change-Id: Ic69af14a5d1264b7896a54b5f2ad314022dd98ac
2025-05-20 07:51:48 -04:00
Solomon Peachy
3e92a11618 FS#13625: Disabling voice menus didn't entirely silence playing_time plugin
Change-Id: Id8b472fdfc51d837810fb36bce815d4a7b67b712
2025-05-18 16:08:33 -04:00
Solomon Peachy
39f86858c4 voice: Convert a pile of splashf() messages to be voiced
Basically, this just replaces str(STRID) with ID2P(STRID).

The voiced version of these strings cannot not have any format
specifiers (enforced by the language tooling) and are instead more
generic.

As many of these are error conditions, it is doubly important for
them to be voiced in some way.

There are some places in the code that perform their own voicing
for splash messages (eg the shutdown code); those are left alone.

Change-Id: I7d51af351e8fa5c4beee42fbfc02719f1d6591b8
2025-05-17 17:33:46 -04:00
Solomon Peachy
622ff574e7 splash: splashf() should be voiced if given an IDPTR
Most calls to splashf() use str(IDNUM), those can be safely
moved to ID2P(IDNUM) now.  Those will follow.

This change effectively makes splash() a simple wrapper around
splashf() so just make it into a #define instead..

Change-Id: I820e74e34cb4be3f523b25ce3f5dcc341bdba3e4
2025-05-17 16:13:58 -04:00
Solomon Peachy
4ab056ab15 database: Respect global "talk menu" setting in the database tree
Should fix FS#13625

Change-Id: Ibc6210be45941b2074da1e5c11536bcd31b5ac8f
2025-05-17 08:27:33 -04:00
Solomon Peachy
35ca67534c lang: More title case corrections to English
* 'As' -> 'as'
 * 'In' -> 'in'
 * 'On' -> 'on'
 * 'Of' -> 'of'
 * 'And' -> 'and'

Change-Id: Ia5c57463441b183228b4872c658897f3199a76f9
2025-05-08 21:19:41 -04:00
Solomon Peachy
70b6a08be5 lang: Update the documentation in the "master" english.lang
Also improve the documentation in voice-corrections.txt

Change-Id: I81cdd8b3aac71d849e8ce54211ee1fdff1d19f5b
2025-05-08 21:19:34 -04:00
Solomon Peachy
9502d8879e FS#13619: Updated Polish translation (Adam Rak)
Just one minor correction

Change-Id: I1e21a3c312320df59966f8385018b2c44aa705a2
2025-05-07 22:05:17 -04:00
Solomon Peachy
08eb6179a6 lang: Fix incorrect capitalization of some English strings:
* Automatic resume -> Automatic Resume
 * Set Wps Context Plugin -> Set WPS Context Plugin
 * Voice prompt volume -> Voice Prompt/Volume

Additionally, 'Wps' is corrected to 'WPS' in all translations.

Change-Id: I0305c6ab2ef09c11cd2ab26d6fde266c8a9c44a3
2025-05-07 21:53:28 -04:00
Solomon Peachy
cd3207064e lang: Remove all deprecated strings from master language file
Previous fixes to genlang resulted in language files no longer being
backwards compatibile with 4.0 binaries.  So let's take advantage of
this break and get rid of all no-longer-used strings

Change-Id: I6a7a90dd7a20322f59fe0f3b40bc9a55b5954c8d
2025-05-06 13:56:06 -04:00
Solomon Peachy
5d5698a616 genlang: Fix inconsistent rules when enumerating strings
* sort contents of generated apps/lang/english.list
 * Ignore all entries with a source of 'none'
 * Filter out all destination strings not present in master english list
 * Always require '-e' argument

Change-Id: Ic86c0cb6c44139465cba6b6ce840131efe217c4d
2025-05-06 13:53:20 -04:00
Solomon Peachy
0ebfab36ba surfansf28: More fixes:
* Use 16-bit audio output
 * More audio tweaks (mute on startup, working volume control)
 * Treat the rotary input as a scroll wheel (works now)

To-dos:

 * Better global keymap (incorporate touchscreen)
 * Turn on plugins and define the approximately eight bajillion keymaps
 * Still have some audible pops when we turn on, need to figure out why
 * Default Cabbiev2 comes off as rather crappy on this device

...I don't know how much work I will do on this thing, as the limited
number of physical controls (and a lack of a line-out) mean I'd never
want to use this thing myself.

Change-Id: I37229d92766495219ee989d9ae48b5ed79bd45f5
2025-05-06 09:56:03 -04:00
Solomon Peachy
9b39c96ac7 input: Correct screen swapping input remapping with touchscreens
The virtual keypad uses BUTTON_MIDLEFT/MIDRIGHT not LEFT/RIGHT

Change-Id: I5f02c1e5b8c22403d3ff243568e562de834cd0a9
2025-05-06 09:30:51 -04:00
Solomon Peachy
95f970076e surfansf28: Major improvements:
* Add a crude keymap
 * Use native "hardware mute" for audiohw_mute()
 * Properly handle touchscreen inputs
 * Can now play back music, with some warts..

Broken:

 * rotary wheel still doesn't work
 * audio garbled/distorted a bit
 * no volume control

Change-Id: I040217035a7bf3983b0e269fca3408eedd972cd0
2025-05-05 20:38:18 -04:00
Solomon Peachy
18f93ec46a FS#13621: Updated Romanian and Moldavian translations (Mihai Alexandru Vasiliu)
Change-Id: I6ce1f7987818c67e9cb4fd992f60938d295af677
2025-05-05 09:20:51 -04:00
Solomon Peachy
7feae37344 FS#13620: Updated Serbian translation (Ivan Pešić)
Change-Id: I3a68bafaf1edc047681304e30dcc1e8e2796ba9d
2025-05-05 09:19:47 -04:00
Solomon Peachy
51d8d452cb erosq: Don't require a long-press to cancel in time setting context
Change-Id: I108a7d795d03f44907f334fc12d38d11476e4b6f
2025-05-05 09:16:01 -04:00
Solomon Peachy
82f3d0c18f WIP hosted port to the Surfans F28
* Only bootloader builds
 * Plugins disabled
 * No keymaps to anything else
 * No simulator
 * Touchscreen not wired up yet
 * Audio still untested

Bugs:

 * rotary encoder does nothing in bootloader
   (might be bootloader bug, might be something else)

Other stuff pulled in:

 * Unify all of the (identical!) hibyos makefiles
 * Rename the "bootloader" to more generic name

Change-Id: I6d8a3b58de726db8e89cf193c90960a070a575c2
2025-05-04 18:34:22 -04:00
Solomon Peachy
f38109f8ed lang: Better handle duplicate translation target matches
For example, LANG_TIME_SET_BUTTON has these:

    *: none
    aigoerosq,erosqnative,gogearsa9200,samsungyh*: "PLAY = Set"
    gigabeat*,iaudiom5,iaudiox5,ipod*,iriverh10,iriverh10_5gb,mrobe100,sansac200*,sansaclip*,sansaconnect,sansae200*,sansafuze*: "SELECT = Set"
    iriverh100,iriverh120,iriverh300: "NAVI = Set"
    mpiohd300: "ENTER = Set"
    mrobe500: "HEART = Set"
    rtc: "ON = Set"
    vibe500: "OK = Set"

But all of these players will match their name _and_ the generic 'rtc'
feature that enables use of this phrase.  The language tooling
always used the final match in the list, so this resulted in
most devices showing the generic (and incorrect) 'ON = Set" instead
of the device-specific strings.

This patch changes the behavior so that only a match with the device
model itself can override the previously used string.

Change-Id: I93ee11b1e4925c39edaecdcbc13ccc51ed176a45
2025-05-04 18:34:22 -04:00
Solomon Peachy
c08bbaac49 Revert "lang: Complain if there are multiple target matches for a given string"
This reverts commit a88ef80560.
2025-05-04 09:21:18 -04:00
Solomon Peachy
a88ef80560 lang: Complain if there are multiple target matches for a given string
The tooling will always use the *final* match, which may or may not be
what is desired.  Treat this as a bug, and complain appropriately.

However, there is a special case.  The RTC set screen uses strings that
include the device button names. There should be an entry for the
specific device, but if not, we wanted to fall back to the string
specified by the 'rtc' feature flag as opposed to falling back to the
default, empty string.

To still support this, add a special "FALLBACK" value; If we end up
using this for a device, the tooling will treat this as a bug, and
complain accordingly.

This should fix FS#13615 and FS13616, and may introduce build failures
on targets that are missing appropriate entries.  We'll see.

Change-Id: Ie78bb247f968e19d450a0fbf6e1177b6d01126a1
2025-05-04 08:53:22 -04:00
Solomon Peachy
336d42c72b FS#13618: Updated German translation (Yannic Schmidt)
Change-Id: Ic3585574ebfd4a5757c326da174ca6376d8b0e30
2025-05-04 07:14:05 -04:00
Solomon Peachy
82f602ae1d FS#13617: Updated German translation (Yannic Schmidt)
Change-Id: I64af8075cddc15df05cf8ee794467b71fec25ef3
2025-05-03 23:03:49 -04:00
Solomon Peachy
3ac252b840 FS#13614: Add Moldavian (ro_MD) language (Mihai Alexandru Vasiliu)
TTS is set up to use ro_RO, but is not enabled yet.

Change-Id: Id71e1453e58b03e0a4205f459de87a79ff11a10e
2025-05-02 16:51:23 -04:00
Solomon Peachy
5f48d44acf FS#13613: Updated Romanian translation (Mihai Alexandru Vasiliu)
Should bring us to 100% coverage!

Change-Id: I5e74d59112e47e48da29e37f9a80ca471d2cd6be
2025-05-02 09:02:37 -04:00
Solomon Peachy
69c0c3f207 languages: Correct Latvian time reporting
12b9419006 stripped out leading/trailing whitespace, but the Latvian
translation used a blank string for VOICE_OH which got wiped out.

This string is only used when voicing the time, eg: 12:05 is spoken in
English as "twelve oh five".  Doing a little digging into Latvian, it
seems that for 24 hour clocks it would be voiced as "<twelve> nulle <five>"
instead, so I changed VOICE_OH to that.

Now for 12-hour clocks, it seems Latvian would voice "12:05" as "<five
past twelve>" but we don't currently have the ability to voice things
in this manner.  Will be addressed in a future patch.

Change-Id: I2c1bcd2e9caff508de3199da29c2e994e9d00c3c
2025-04-29 21:42:54 -04:00
Solomon Peachy
12b9419006 Some fixes for language and voice scripts:
Languages:
  * Get rid of leading space on LANG_ID3_VBR [ " (VBR)" ]
  * Fix up sole user to insert the space programmically
 updatelang:
  * strip leading and trailing spaces on all phrases except VOICE_PAUSE
 voice.pl
  * Debug logging with UTF-8 output
  * Explicitly delete tab character from voiced strings

Change-Id: Ie466793479ce15ce7a9553770583a070530e7afd
2025-04-29 20:03:11 -04:00
Solomon Peachy
0ea02f0268 translations: Delete trailing spaces and tabs in Ukranian translation
Change-Id: If9a7ed7e002cef9012d5849e1ea972d5939e2040
2025-04-29 20:03:10 -04:00
Solomon Peachy
bbca8e3bd9 Another Ukrainian translation update (Pavlo Rudy)
This should bring coverage to a full 100%

Change-Id: Ief051d6e774e94b3dde5b07203a18e7a5ae97b21
2025-04-29 15:08:32 -04:00
Solomon Peachy
232e5b4daf FS#13611: Major update to Ukranian translation (Pavlo Rudy)
Change-Id: I8aca68a151451f710a0069d8a5e1325a21ce901d
2025-04-29 14:26:34 -04:00
Solomon Peachy
20512b03a9 FS#13610: Updated Romanian translation (Mihai Alexandru Vasiliu)
Change-Id: Ib39f0a7ad8a8790e1a93563a087df0e58fa4afdc
2025-04-28 10:27:09 -04:00
Solomon Peachy
2d820bfc7d lang: Correct clock set/revert text for erosq.
All translations with at least 80% coverage are upated.

Most of these also got a few mechanical corrections as well.

Change-Id: Id4cf5e6c066cb7cd0a73bcd5ad68135c9aeb3294
2025-04-24 22:01:49 -04:00
Solomon Peachy
2dd422ffcf FS#13609: Updated Swedish Translation (Wilton Millfjord)
Change-Id: If7df3c6c57ee09e80ac74bcf79081e38494acd3d
2025-04-24 16:19:19 -04:00
Solomon Peachy
8f41516e96 lang: Fix a typo in the Swedish translation
Change-Id: I3bba6ef52a35d9cd9fda8fe94e437b5e691627e0
2025-04-24 16:16:49 -04:00
Solomon Peachy
dd53e99870 FS#13608: Updated Swedish Translation (Wilton Millfjord)
Change-Id: I73e4692375166c55c5171de491895bb3fd8bc3e9
2025-04-24 14:52:43 -04:00
Solomon Peachy
299d255743 FS#13607: Updated Swedish Translation (Wilton Millfjord)
Change-Id: Id780d45ec2057d46f53278be4a4f6460746b411c
2025-04-24 11:23:51 -04:00
Solomon Peachy
1eb06ea0d2 FS#13606: Updated Swedish Translation (Wilton Millfjord)
Change-Id: I96e143d935330a44335b98c5d0c0aeeeb7719169
2025-04-24 11:03:52 -04:00
Solomon Peachy
0771d38c1e FS#13605: Updated Romanian translation (Mihai Alexandru Vasiliu)
Change-Id: I0af77ebe5aaff50961ad14cfc4d5ce70209e07a3
2025-04-24 11:02:19 -04:00
Solomon Peachy
27ad208024 FS#13604: Updated Swedish Translation (wilton millfjord)
Change-Id: I9a5e5b83501b25488033b6edaf31e7c4254e4692
2025-04-23 15:02:31 -04:00
Solomon Peachy
28a3ac6b30 FS#13603: Updated Spanish Translation (Guillermo Garcia Rojas)
Change-Id: I06539c94e216da3bf5bf79248c07dace2dce2791
2025-04-23 13:50:48 -04:00
Solomon Peachy
5b1158e64a misc: Properly annotate some intentional case fallthroughs
Change-Id: Ie758f17fefac72aca1aa28a8ba1126b9334fe134
2025-04-22 20:54:37 -04:00
Aidan MacDonald
83950bf233 New WIP port: Echo R1
The Echo R1 is a new open-hardware music player design, based
on the STM32H743 microcontroller. Schematics and hardware
documentation for it can be found here:

- https://github.com/amachronic/echoplayer

This is an incomplete port. The bootloader can be loaded using
OpenOCD and it can draw to the LCD using SPI. SDRAM is working
but hasn't been extensively tested.

Change-Id: Ifd2bee15c49868fbc989683d3ca14dce48bf3e18
2025-04-22 20:08:08 -04:00
Paul Sauro
abae4660e2 fr translation: 100% coverage
Change-Id: I7b45562f98257139b8c611ed42b52de664bd22f8
2025-04-22 13:10:53 -04:00
Solomon Peachy
6f5760b41a jpeg: Silence -Wshift-negative-value warnings
These are all from upstream code, so just force-ignore the warnings

Change-Id: I9936e1cb79636b0bfee5dd4db0c98a06792d2f69
2025-04-22 09:43:40 -04:00
Solomon Peachy
9e52dcc7e7 iriverify: Fix a build warning
Change-Id: I12a50a8e71c50c232dad89342f59f5afe8d0aace
2025-04-22 09:34:30 -04:00