Commit graph

38560 commits

Author SHA1 Message Date
Solomon Peachy
c336c21b61 Translation updates:
- German (Wilfried Winkler)
 - Polish (Adam Rak)
 - Slovak (Matej Golian)
 - US English (Myself)

Change-Id: I85b094da4632e6b6f7554515d0ba91c5c15217f3
2025-11-17 06:57:24 -05:00
Solomon Peachy
1dc7f6e864 usbaudio: the "usb dac busy" splash should use ID2P() instead of str()
Change-Id: Icfd1a1a5fdf1c858b96eeb30164241c11ca64ec0
2025-11-15 18:24:06 -05:00
Solomon Peachy
1a17f69140 Add a feature flag for the USB DAC mode, and gate LANG_* appropriately
This is also a necessary step for proper inclusion in the manual

Change-Id: I1c30d2399509827ef6f0095485659d42f582cff9
2025-11-15 08:09:52 -05:00
Dana Conrad
a1837d2d80 usbaudio: block playback while usbaudio is active
Needed due to us commandeering the AUDIO DSP "channel" for USBAudio.
If/When we add another DSP channel, this can be reverted.

Works, but still goes to a "blank" WPS screen for a split second before
cancelling out.

Change-Id: I5fb8a1e226b4d3e46c86c59d593d807f49d7a35f
2025-11-15 07:38:46 -05:00
Dana Conrad
c533222851 usbaudio: send through dsp (new)
Does not seem to affect UI usability, but allowable DSP loads will vary
based on device and playback sample rate.

To-Do (someday):
- Add dedicated DSP channel
- How to apply DSP settings to above new channel? (UI)
- How to lock out timestretch from being enabled?

Change-Id: Ia24d1055340354e2c32e6008e7e2b03a8e88867d
2025-11-15 07:38:19 -05:00
Dana Conrad
7c4293af64 usbaudio: convert to asynchronous operation
Add feedback not based on samples used, but on buffers filled - idea
being we can do "PID" (someone who has actually implemented Real PID
could probably rewrite the calculation) based on how many buffers
we have filled versus the ideal buffer filled level (16).

Feedback is based on a historical average of the last two feedback
intervals.

This feedback math is done as fixed-point math to keep floats out of core. Note that a couple division operations needed to be strategically staged to avoid overflow or truncation.

Floats are still used for debug screen printout.

Also fixed a typo in the definition of usb_audio_control_request()

Host:
Linux: works
MacOS: works
Windows: Feedback does not work! It appears that Windows may not
         support asynchronous devices at all. Playback may "work",
         but results will vary as the number of buffers filled will
         drift over time.

Change-Id: I027feb16705e6e46c1144b1d08920b53de42cb26
2025-11-15 07:32:05 -05:00
Dana Conrad
9ce66e088e Add USB Audio 1.0 support
Original commit credit to Amaury Pouly, Moshe Piekarski
Pushed across the finish line by Dana Conrad

To enable, see setting under General Settings --> System --> USB-DAC.
On devices with few endpoints, this may not work while HID and/or
mass storage is enabled.

Adds new dedicated mixer channel.

setting usb-dac can have values:
- never (0)
- always (1)
- while_charge_only (2)
- while_mass_storage (3)

Relevant devices are DWC2 and ARC usb controller devices. That being:
x1000 Native targets (m3k, erosqnative, q1, others...?),
sansac200, creativezenxfi2, vibe500, ipodmini2g,
ipod4g, creativezenxfi, creativezenxfi3, sansaview, ipodcolor,
creativezenxfistyle, samsungypz5, sansafuzeplus, iriverh10_5gb,
tatungtpj1022, gigabeats, faketarget, samsungyh820, gogearhdd1630, samsungyh925, ipodmini1g, ipodvideo, creativezenmozaic, sonynwze370, creativezen, gogearsa9200, gogearhdd6330, sonynwze360, sansae200, mrobe100, iriverh10, creativezenv, ipodnano1g, samsungyh920

USB Driver-wise, it should be noted that this patch requires some
slight changes:
- proper blocking on control OUT transfers, to make sure the data is
  received *before* using it, the usb_core should probably use that too
- drivers can now support interface alternate settings
- drivers can be notified of completion by a new fast handler, which
  is called directly from the driver; this is is necessary for
  isochronous transfers because going through the usb queue is way too
  slow

Designware changes:

- enable for USBOTG_DESIGNWARE
- set maxpacketsize to 1023 for ISO endpoints

Change-Id: I570871884a4e4820b4312b203b07701f06ecacc6
2025-11-15 07:30:15 -05:00
Sebastian Leonhardt
af42428037 manual nitpicking: add linebreaks in tables and fix cut off text
Cut off only happens in pdf output (fixed column width), not html.

Add \tabnlindent in favor of spaces in some places for consistent
display of multi-line-tag-parameters.

Change-Id: Ie2d4196da9fcd02af5e3ff72dcc9a97ae2d25303
2025-11-14 11:54:06 -05:00
Sebastian Leonhardt
aeaef9e4e9 manual nitpicking: minus sign
for negative numbers, use math mode instead of hyphen
(e.g $-1$ instead of -1)

Change-Id: Idb5733ce5c4984bfbe12b01e0b54109fe0e3bff6
2025-11-14 11:53:58 -05:00
Sebastian Leonhardt
16d959d368 manual nitpicking: use dash (instead of hyphen) for range of numbers
Change-Id: Ic9ae785b78dd4f5596c14c1656eba459b855b638
2025-11-14 17:33:04 +01:00
Sebastian Leonhardt
9aafbf9ca9 STMP37xx/iMX233: reduce popping noise on power on/off (Version 1)
Version 1: this patch prolongs startup time by 2 seconds, because the
sleep happens early before other threads have started.

The patch is tested on CreativeZEN and Fuze+.

The datasheet was not very helpfull, so some experimentation was needed.
I came to the following conclusions:
* setting HP to ground:
  to prevent popping noises, the headphone output can be set to ground.
  This however must be done before any part of the audioout module is
  powered up (setting HP to ground itself will lead to a pop otherwise).
  This consequently means that HP must NOT be set to ground for powerdown
  sequence!
  Further study showed that setting HP out to ground has no audible benefit,
  controversly not setting/resetting allows for noiseless RoLo-ing.
* headphone amp class A/AB mode:
  initially the HP amp is in class A mode, and should be set to
  class AB before playing audio, as the datasheet mentions.
  If the HP output is set to ground, it must be released BEFORE
  setting class AB! Releasing from ground while in AB mode leads
  to a very loud pop!
* release HP from ground:
  as said before: never release the HP from ground if the HP amp is
  set to class AB mode. Therefore the correct order is to power up the
  headphone amp, wait some time, release HP from ground, and then
  set the amp to class AB mode.
  To prevent pop, some time is needed before releasing the HP from gnd.
  On CreativeZEN 2 sec seems to be ideal; 1 sec have no audible effect,
  1.5 sec softenes the pop to some degree.
* shutting player off
  The popping noise when shutting off is much quieter that on power up,
  so depopping measures are not absolutely necessary.
  However the power off pop can be silenced by inserting a wait time
  after the audioout block is closed and before the rest of the chip
  is powered down. The longer the better, a time of 5 sec practically
  eliminates the pop.

Note that RoLo-ing can still produce noise, because the audio device
is not properly shut down.

Change-Id: Ib20e1d613b346433d2a711c442e303ededc26e78
2025-11-12 16:07:23 -05:00
Solomon Peachy
945ce06094 FS#13685: Updated Dutch Translation (Marc Aarts)
Change-Id: Ic3f39f62efe05e218d7a1878812ce3ad995de3e5
2025-11-09 08:22:42 -05:00
Solomon Peachy
619ed7eef0 docs: update MAINTAINERS
Mostly adding myself in several new places where I've done meaningful
recent work.

Change-Id: I86b071b0fafef163ba4c45bbee032d8ead0dccfc
2025-11-08 08:28:45 -05:00
Solomon Peachy
ff4cb33b09 FS#13684: Updated Dutch Translation (Marc Aarts)
Change-Id: Iea82055ce081f03a345f778de87d71d3fc36a13d
2025-11-08 07:44:48 -05:00
Vencislav Atanasov
58175fba5d Update Bulgarian translation to 100%
Change-Id: Id80cd5f02cbd948bc890fb939f5265bffbec4344
2025-11-07 23:33:10 +02:00
Solomon Peachy
5f2d45e36c FS#13683: Last bits of the Hungarian Translation (Gyúróczki Norbert)
Change-Id: I9d199d33cc0a6a0451057783a194a4f3370c504f
2025-11-07 15:04:07 -05:00
Solomon Peachy
1089a9fa88 FS#13682: Completed Hungarian Translation (Gyúróczki Norbert)
Change-Id: I26d92e1b9bf14d2e011bb67c56ac98c78877c61a
2025-11-06 20:59:16 -05:00
Solomon Peachy
0c98c2a9d3 FS#13681: Further updates for Hungarian Translation (Gyúróczki Norbert)
Change-Id: I481785c41b3f8cc219e8a5c75da6aeec434c96e7
2025-11-05 06:34:37 -05:00
Solomon Peachy
47c7f2cb56 FS#13680: Updates for Hungarian Translation (Gyúróczki Norbert)
Change-Id: I8ba4c53c194c367027d53646999436047821ab1a
2025-11-04 20:54:06 -05:00
Solomon Peachy
fdf5065d2f FS#13679: Updates for Hungarian Translation (Gyúróczki Norbert)
Change-Id: I5c14fd72651a98665ceddbcba74bfc82278187d5
2025-11-04 16:57:09 -05:00
Solomon Peachy
a66d870de0 voice: switch Greek Piper voice to a higher-quality model
Change-Id: I61c04ba6a6b6040c7681786f9b405b645fe4fabe
2025-11-02 00:09:57 -04:00
Solomon Peachy
b9475d79a3 voice: switch Bulgarian voice from espeak to Piper
...Should be much nicer.

Change-Id: Ie9afe5ace8a5fae4fa4e52f813be2e57626395ee
2025-11-02 00:06:43 -04:00
Solomon Peachy
a3934f50fe builds.pm: Enable nightly voice generation for Hungrarian (Piper TTS)
Change-Id: I6df4cba92af00f2fbda3e051d6b74b28c4e91b58
2025-11-01 07:57:26 -04:00
Solomon Peachy
22f9db3fc8 FS#13678: Hungarian translation update (Matyas Kadlicsko)
Change-Id: I9dc5764abd1bb3dd49afac9771d4a28aefa51f35
2025-11-01 06:44:38 -04:00
Solomon Peachy
3f43fe3cd8 checkwps: Validate all fonts in themes
Makes sure any fonts specified are either:

 * Present in the theme itself
 * One of the fonts in the Rockbox bundle

Change-Id: I215132835e2ae7faa06662637bc867df9c5dba92
2025-10-27 09:52:16 -04:00
Mauricio Garrido
b47d0ef3cf 3ds: Restored default cflags to devkitarm compiler
This commit fixes a "Data Abort" segfault when loading a codec.

Change-Id: I7b0b8f37b588504edec4a029fdd69f0875f664f5
2025-10-26 20:09:54 -06:00
Christian Soffke
71d2016f4d shortcuts: Power off while charging if supported
Change-Id: I33b9d643053f746d24240ba59a34a1f9c7644f3e
2025-10-26 09:25:09 -04:00
Johannes Roos
994acefa23 FS#13350: PictureFlow: Fix too few albums displayed for first artist
Using pf_idx.album_untagged_idx initialized as to -1 instead of 0,
we can get rid of buggy duplicate untagged albums while keeping "usable"
untagged albums and properly displaying all albums for the first artist
when there are no untagged ablums at all.

Change-Id: I067ce0bba4ece5e2d9466ffd075af8bf653633b4
2025-10-26 09:21:54 -04:00
Solomon Peachy
b4a276e19e FS#13676: Fix sample rate options not being voiced correctly.
Regression introduced in 79b64a3fc7, 2023-09-01

Change-Id: I07a8529042e0ae3b563f04a4ffe211c23b830281
2025-10-24 09:54:57 -04:00
Mauricio Garrido
3b7dafb117 3ds: 3ds port sources. Second set of two.
This commit adds new files written exclusively for the 3ds port.

Additional comments:

1. Plugins works, but will be enabled in future commits.
2. The port has only been tested on the New 3DS.
3. Not all features of rockbox have been tested so there may be bugs or non-functional features.
4. There is a known issue where a random crash can occur when exiting the app.

Change-Id: I122d0bea9aa604e04fca45ba8287cf79e6110769
2025-10-23 20:09:12 -04:00
Mauricio Garrido
a4de1195cd 3ds: 3ds port sources. First set of two
This commit adds changes to the original rockbox sources.

Note: the port files, functions, folders, etc., will be referred
to as 'ctru' to avoid using the Nintendo name elsewhere.

Change-Id: I0e2d3d4d2a75bd45ea67dc3452eb8d5487cf1f5a
2025-10-23 20:09:09 -04:00
Solomon Peachy
511a38763b FS#13675: More corrections for Slovak translation (Matej Golian)
This time, it's "technical terms" that were formerly same as English

Change-Id: If88c3bd4f4d69805c79d351a86bf132a5cde50ce
2025-10-22 20:31:15 -04:00
Solomon Peachy
9585b339d3 FS#13675: More corrections for Slovak translation (Matej Golian)
Primarily capitalization corrections.

Change-Id: I8a19f3ba961efb128e9766898bcb792445ac0f93
2025-10-22 14:38:01 -04:00
Solomon Peachy
af7f45bac0 Revert "genlang: Explicitly decompose all display strings"
This reverts commit 4bc336b8be.

Reason for revert:  Font coverage for decomposed diacritics is actually *worse* than using fully composed characters.

Change-Id: Ide37dadd5e9883c1c764ffa35f7e64a7ba91d705
2025-10-22 09:28:35 -04:00
Solomon Peachy
4bc336b8be genlang: Explicitly decompose all display strings
We already have pretty solid support for glyph combining, so this will
allow us to utilize that to fill in gaps of our font coverage.  This is
most notable for Vietnamese, Turkish, and numerous other latin-based
writing systems that have unique glyphs that are essentially just a
"standard" ascii letter plus a diacritic mark.

This leaves *voice* strings fully composed/normalized.

It also has no effect on user-supplied strings (eg filenames or file
metadata)

When we eventually utf8proc merged, this can be removed in favor
of always doing the [de]composition in-system.  We will also need
to revisit our diacritic tables to ensure there's nothing missing.

Change-Id: I7012d27010bb33fb0b565ac7dfd57a16bdcad34f
2025-10-22 08:00:18 -04:00
nift4
cd54b4e046 Disabled hotkey for Sony NWZ-E370/E380 targets since actually it is not in use
Patch by Igor B. Poretsky <poretsky@mlbox.ru>

Change-Id: I464948c9fb074910c0296579c650d0297a4a412b
2025-10-21 17:49:59 -04:00
nift4
df3712e708 nwze370: fix bootloader regression I caused
Change-Id: Ia14a9f46b4a6cc393043f59b586457e982472dc0
2025-10-21 23:33:36 +02:00
nift4
b1511738f7 nwze370: improve lcd & backlight
Added lcd inversion
Fix issue where backlight would turn on before first frame rendered
Fix issue where backlight would shortly appear at 100% before PWM is
ready during fade in
Turn off backlight before booting/RoLo/shutdown to avoid it being
enabled on next boot
Fix issue where fade in isn't smooth because brightness levels below 13 were
basically equalivent to off, by removing these brightness levels

Change-Id: I868eae2cbeea52c6af7d09c886958ff46167fe26
2025-10-21 16:54:57 -04:00
Solomon Peachy
9722cad478 FS#13674: Final corrections for Slovak translation (Matej Golian)
Change-Id: Ifd67417717e887381655d5702295e2ffef166e4b
2025-10-21 15:30:37 -04:00
Solomon Peachy
4736de39b6 FS#13672: Major update to Slovak translation (Matej Golian)
* Consistent capitilzation
 * Corrected spelling and other errors

Change-Id: Idf10cf5c689f2fdc8607609ca61a98080a18d758
2025-10-21 13:56:25 -04:00
Solomon Peachy
10dbdd6b22 FS#13670: Vietnamese translation corrections (Chu Khánh Hạnh)
Change-Id: I74e25b4b103d1d8bce4990e070461c4c52dded83
2025-10-20 22:35:44 -04:00
Solomon Peachy
3fdc731137 rbutil: Add Vietnamese to the list of languages
Change-Id: I46d74c7dce657d58268103433c6245f0fbb157a7
2025-10-20 16:51:46 -04:00
Solomon Peachy
e09747fe2b builds: Enable Vietnamese voices on nightly runs
Change-Id: I0f2c33d2d95695829be672aa2e6fe5b8e683d63a
2025-10-20 16:51:46 -04:00
Solomon Peachy
ef0d75d1e4 FS#13672 Correction in voicing time in the Slovak translation (Matej Golian)
Change-Id: I6ab8b96962cfcbd90e3e635c1c864e306b1861f7
2025-10-20 16:43:31 -04:00
Solomon Peachy
ebe611ddd4 credits: Work around the failures when building the manual.
U+1EA1 (ạ) in Vietnamese text

Change-Id: Ibefa4e93d33778f70e8ccc273af0a07e6cef6059
2025-10-20 16:40:46 -04:00
Solomon Peachy
900b362f4c Minor mechanical corrections to Vietnamese translation
Change-Id: Id60524eef3f3bb89ca1bee4df76aa260987d513a
2025-10-20 09:13:35 -04:00
Solomon Peachy
09406bed8e FS#13670: Initial Vietnamese translation (Chu Khanh Hanh)
Change-Id: I42c34a52813b2470342f6feb61efab07155b8295
2025-10-20 09:01:05 -04:00
Solomon Peachy
60ddb02573 winsim: Fix filesystem access
Corrects a regression introduced in

    a2c10f6189

Change-Id: I9a27a6192ff6a9d1be7829d23d23dbf98b84feae
2025-10-16 18:00:32 -04:00
Cameron Peck
bfcd8270c9 Add arcsin, arccos and arctan to calculator
Change-Id: I9aaded58718ae410239678abe6cf6196286bc7f8
2025-10-14 17:05:14 +01:00
Solomon Peachy
9aa6a35b3f Fix warnings introduced in prior commit
* #define CONFIG_RTC APPLICATION  (in sim builds)
 * #define CONFIG_STORAGE 0        (in PCTOOL builds)

Change-Id: Iabb77bd0a29ca06a13d1075f1e8cedb00f785c64
2025-10-12 17:20:20 -04:00