1
0
Fork 0
forked from len0rd/rockbox
Commit graph

38236 commits

Author SHA1 Message Date
Solomon Peachy
a232b1a98d manual: Correct typo in ipod6g-specific doumentation
Change-Id: I520a95a38dfc902c6694a4e9f3c8a641b675045d
2024-10-22 21:11:08 -04:00
Roman Artiukhin
7912bf3bee Fix prev/next folder action leads to immediate ff/rewind
Removed check that was introduced in 54e6bafa. This check doesn't work in WPS as BUTTON_NONE actions come while you still have button pressed. I believe the proper fix for this is already commited in c354e0bd.

Fixes FS#13370

Change-Id: I86e92c296c0bfa42caaed9cb3540e311630daf9c
2024-10-22 16:28:22 +03:00
Solomon Peachy
eb2d596d72 updatelang: Normalize all strings in our lang files to NFC form.
Now no matter how [de]normalized the input strings are, we will
normalize them to the best of our ability in what we use.

This adds a dependencey for Perl's Unicode::Normalize.

Change-Id: I13e275692ea33a463b19f3a499ea06ce1acbb44a
2024-10-22 07:25:41 -04:00
Roman Artiukhin
c354e0bd1f buttons: Don't set wait_for_release for release action
Fixes ignored button press in yes/no screen.
It depends on keymapping - this issue happens if action before wait_for_release is mapped on release action. Something like:
{ ACTION_STD_OK, BUTTON_SELECT|BUTTON_REL, BUTTON_SELECT }

Change-Id: Idc6a57ef7a7daf75c21c9887e07fbefc814b6ae3
2024-10-22 06:52:28 -04:00
Solomon Peachy
5a3d62dabb Translation updates
- chinese-simp: 王吉
 - deustch:      Wilfried Winkler
 - english-us:   Solomon Peachy
 - korean:       Hoseok Seo
 - polish:       Adam Rak

Change-Id: I116ec67161d59293824aa579eba8a6912c06d45a
2024-10-22 06:48:35 -04:00
Roman Artiukhin
f3d6196016 Codecs: wma: don't fail in case parsing errors in album art
Fixes FS#12576 (album art is not shown but file is now playable)

Change-Id: Idc8e1dcf7b5760b4fd37c43913a534ed4eae512a
2024-10-19 10:41:23 +03:00
Christian Soffke
8c1c8597ac plugins: playing time: OBOE
Change-Id: I1c6b73e06ac615db6e764aa54f042ec4e2dee3a2
2024-10-18 06:55:15 +02:00
Solomon Peachy
ac46684d7f janitorial: Use ATTRIBUTE_PRINTF(X,Y) instead of __attribute__((format(printf,X,Y)))
Change-Id: Ia66e7647bdd9e8e1c28b9d8636cae8db82825841
2024-10-17 21:39:41 -04:00
Hinrik Örn Sigurðsson
5c2de0b89c FS#11361: Add string "Disc" for multidisc albums in WPS (Hinrik Örn Sigurðsson)
Change-Id: I8fb6b107242558aadf0fda32f4ad42b16a893b43
2024-10-17 20:35:49 -04:00
Dana Conrad
aa1a74b2a1 erosqnative: bigger system font
Change-Id: I371bc644db3694404e8013959a7e412e6814f8e7
2024-10-17 20:34:23 -04:00
Solomon Peachy
563da70139 ipod6g: Reworking the bespoke ATA driver
ipod6g was configured with SECTOR_SIZE of 4096, but this ATA driver
unconditionally translated these to 512B operations on the actual
storage device.

Rockbox's storage layer already has robust support for "logical sectors
larger than physical storage sectors" through use of
MAX_LOG_SECTOR_SIZE.  So switch to that mechanism, allowing the ipod6g
ATA driver to be simplified.

If we want to support drives with physical sector sizes > 512B, then
we need to port the MAX_PHYS_SECTOR_SIZE logic from the primary ATA driver.

Additional changes:

 * Simplify MWDMA/UDMA selection logic
 * Report CE-ATA mode in debug menu
 * Use LBA48 commands only if drive is over 128GiB.
 * Drop default sleep/poweroff time from 20s to 7s (matching main ATA driver)

Finally, the bulk of the changes are the first phase of a badly needed
style cleanup that made reading this driver a lot harder than it should
be. I intend to split this into a separate patch.

Change-Id: I2feca9fd319c8d6cfb3c2610208970428d2fa947
2024-10-17 20:30:37 -04:00
neofright
9efed5542e Add reset EQ menu option
Change-Id: Ia555359263a42545abe3f1039d7933204be02f6d
2024-10-16 17:20:27 +01:00
Solomon Peachy
9b1a92fe36 Fix up a pile of bad format strings passed into simplelist_addline()
Change-Id: Ic45ea8633a1752b2e01cba2aace55309bcb7480d
2024-10-15 19:13:17 -04:00
Solomon Peachy
a2efbf0589 list: Flag simplelist_addline() as accepting format specifiers
And fix up all the problems I've found so far.

...This will undoubtedly introduce a pile of new warnings.

Change-Id: I868de507a0e9790f289676c198e2977c26755f22
2024-10-15 18:50:35 -04:00
Solomon Peachy
d3b7eba405 debug: Correct formatting when displaying drive size.
Change-Id: I95e9a257dcad548ec4378d01c0f9b4370ebf5318
2024-10-15 18:25:28 -04:00
Solomon Peachy
8daf1f1bfe ata: SSDs: Only check for _legal_ "rotational rate" values
I'm 98% sure that the "byteswapped" value I saw was due to another bug
(bad PIO timings on ipods leading to data corruption) and none of the
growing pile of identify device data files that I have include the
backwards one.

Change-Id: Iea47b7419b120a3c8a282b2e3a8f65b8965356ce
2024-10-15 17:00:46 -04:00
Solomon Peachy
1ece63d054 debug: Log our logical sector multiplier, if enabled.
Change-Id: I077c0a88d8a51d909ff1df1ca79d95c884ba324a
2024-10-15 11:59:35 -04:00
Roman Artiukhin
37652c5e2b imageviewer: jpeg: Fix grayscsale mode with no dithering show black screen
Change-Id: Ib29e3577c59db8e98db1dd5b8e28874a4fbef20f
2024-10-15 17:46:47 +03:00
Solomon Peachy
2f109a7c2a flac: 7th channel decode buffer may not fit into IRAM.
(Fixes failure to compile on nano2g)

Change-Id: Ibe40a18ee74a3ac3ca2ec9dfac478d1fda5d34ee
2024-10-14 13:43:54 -04:00
Solomon Peachy
29f28ad8e6 flac: Implement proper support for 7 channel FLACs
* Allocate buffer for additional channel
 * Proper downmixing

Change-Id: I4190358a93bb328585952affcd42db05b05c19a5
2024-10-14 12:28:07 -04:00
Solomon Peachy
3aef933348 flac: Bump maximum channel count to 7 (FS#13306)
This is actually the root fix for the crash; the fix in
772eff8ca6 didn't restrict it to 2 channels, just sanity
checked the file vs MAX_CHANNELS.

Change-Id: If5a0a9b946a179ad47d6e7955f7c025de3aaaa0e
2024-10-14 11:05:28 -04:00
Christian Soffke
ef19fa4408 plugin load / tagtree retrieval: eliminate storage_disk_is_active check
Since commit e0df995 storage_disk_is_active may be 0
even if there is no disk that needs to be spun up or
device to power on, so it doesn't really make sense
to check for it, anymore, in order to decide whether
to display the loading indicator.

For remaining devices with spinning disks, the noise
or vibration of the disk spinning up may serve as a
sufficient signal when loading a plugin, that the
device isn't frozen. Plus, for the tagtree, search
progress is displayed after 0.5s anyway.

Change-Id: I5791725e2388d7113818a358204968d8a4e6f843
2024-10-14 09:27:26 -04:00
Roman Artiukhin
b8238f7b20 imageviewer: Initial support for JPEG progressive images. Add decoder
Added jpeg decoder jpegp.c using RAINBOW lib. Currently enabled only for pictures not supported by old decoder (as old decoder more optimized for low mem targets)

Someone TODO:
 * Old decoder has optimized downscale logic which new decoder doesn't have (it gives big difference in required memory and time for decoding). This logic should be ported/adapted if possible.

 * Add smooth downscaling.

 * Grayscale support

Change-Id: Ie96bc62848b51cc6a3942f8e069ec6ab02dc1c56
2024-10-14 09:19:34 -04:00
Roman Artiukhin
64ad7354b6 imageviewer: Initial support for JPEG progressive images. Add lib sources
Added unmodified files from RAINBOW library by Attila Tarpai
Full sources:
https://github.com/Halicery/vc_rainbow

Change-Id: I356486b6a332aa3f610ddcae57f8a2044653b051
2024-10-14 09:19:34 -04:00
Solomon Peachy
772eff8ca6 flac: Explicitly reject FLAC files with more than two channels (FS#13306)
It's not clear that we've ever intended to support >2ch files, based on
'#define MAX_CHANNELS 2' and other logic that only seems to care about
mono vs not.

Change-Id: I15e92fb29cceef32e63fc3a821f6e96bbde930b6
2024-10-14 09:00:26 -04:00
Solomon Peachy
542eeae11c configure: Document the '--with-ubsan' argument
Change-Id: Ib159cec30f6396b7bf02463b8833a062a38b8841
2024-10-14 08:56:12 -04:00
Solomon Peachy
cda2f90e10 nano2g: Work around GCC9 warning in the FTL code.
As far as I can tell it's a false positive.

Change-Id: Ib4f993c717d673e53f1ec70b9f4701acc0ca6f27
2024-10-14 08:56:12 -04:00
Solomon Peachy
d96b222a32 Fix previous commit. don't know how it "worked" for my test build.
Change-Id: I2137e3a7036be8378b70cc7462edad33c28b5a39
2024-10-13 19:22:00 -04:00
Solomon Peachy
66ed5232cb erosq: Change default sysfont to 14-Rockfont-Mix
Former default of 08-Rockbont was borderline illegible on the screen.

Change-Id: I200d6f692b145927f0579652f4ed1ce4c6ede118
2024-10-13 18:52:20 -04:00
Solomon Peachy
9420650c87 voice: Normalize all voiced strings NFC form before passing them to TTS engine
This should be a no-op for .lang files, but it can matter when
generating talk clips, as those are based on the raw filename.

Change-Id: Ia449ae7668818e4bf093347fd0fb15fa5b67fa69
2024-10-13 09:33:39 -04:00
Solomon Peachy
d98cad4301 docs: we use xz, not bz2, for tarballs
Change-Id: I6ba825da18fc7617e5ea051f9d3c0714a0a09a84
2024-10-13 09:33:00 -04:00
Christian Soffke
152ec1946c ipod 4g/color: Fix unresponsive buttons after booting
The iPod 4g and color always ignored the very first
button press after booting, i.e. you needed to either
press another button or scroll for a bit first.

Not sure whether any other PP iPods exhibit the same
behavior, although it is not reproducible on an iPod
video.

This patch basically copies the code from FS#5230
that fixed unresponsive buttons whenever the HOLD
switch was turned off (committed as a5961c944b).

Change-Id: I8d3444094e5d000e0f8e30e39a23f054abeeb0f5
2024-10-13 11:36:33 +02:00
Solomon Peachy
05194ec6eb voice-corrections: Add " no." -> "number " (English)
This is particularly useful for classical music, where track names like
"symphony no.5" are common -- We want to voice this as "symphony number
5" instead.

Change-Id: I3607dfccbafee2174519760b30636e0db0aad819
2024-10-12 16:41:46 -04:00
Solomon Peachy
1694101b23 voice: Also apply voice corrections to talkclips
Change-Id: I8846610933dd286d39f930f004787d9a5345a9ce
2024-10-12 16:41:46 -04:00
Solomon Peachy
38211e627d AS3525: Get rid of duplicate 'const' in a single definition
(Another GCC9-produced warning)

Change-Id: I9fd1ec692faded8afc52d7f3e522bc7198366dc5
2024-10-12 15:09:18 -04:00
Solomon Peachy
6cb0bc3468 coldfire: Silence a warning generated by GCC >= 9
Basically, there are weak aliases for all possible IRQ handlers,
pointing at a NORETURN function. GCC complains that the aliases
don't have the same attribute, but that's actually what we want.

Change-Id: I7f877e00193ed457589c8442db82e93ddea0d60a
2024-10-12 13:54:22 -04:00
Solomon Peachy
62d6c7ecaa pdbox: Silence a spurious warning with GCC9 on hosted ARM
(pdbox seems to trigger a lot of false warnings...)

Change-Id: Ia24aa7ece4d6389dbdb36b30729a9372f872b034
2024-10-12 12:26:22 -04:00
Solomon Peachy
d4d74fda00 codecs: abs() --> llabs() in speex and libgme
We were calling abs() on 64-bit (ie long long) variables.

Change-Id: I8326910a4ce733e9e2251aa5f9047e336c8be6df
2024-10-12 12:01:36 -04:00
Solomon Peachy
8dc42711b4 libc: Correct definition of labs()' and add llabs()
Change-Id: Ie1f4a5660ef17ea3ba383441f257ad7ee02c2061
2024-10-12 12:01:36 -04:00
Solomon Peachy
e1bed147a3 build: Add advanced option to treat all warnings as errors.
Change-Id: I235f93d72bfc33243454edd04e45805b5c795f17
2024-10-12 10:34:45 -04:00
Solomon Peachy
94d6265df0 gcc9: Move structure packing to the struct definition
Silences GCC9 warnings about possible casting misalignments.

Change-Id: I2120638d4d143e9e539b7f240c31653ad55ae4e0
2024-10-12 09:23:37 -04:00
Christian Soffke
8b9ef7cf8d sdl: Remove SDL_RENDERER_ACCELERATED flag
The flag would apparently make hardware accelerated
rendering  mandatory. SDL2 will still attempt to use
hardware acceleration, if the flag is missing.

Change-Id: Icfdcad90591d2a5003a1540f2a669c7e54dcfc3b
2024-10-11 22:57:37 -04:00
Solomon Peachy
7d60b13584 pdf50606: Fix questionable code that GCC9 complains about
Instead of:

  bool &= ~bool;

do this:

  bool &= !bool;

Change-Id: I815f56c98596d6c58390e843a1e3290d3525db72
2024-10-11 22:56:44 -04:00
Solomon Peachy
49b6853c19 rockboxdev.sh: bump required version of GMP and MPFR
GMP 4.3.2 was quite old even at the time of the GCC 4.9.4 release, and
it refuses to compile out of the box on modern toolchains (eg GCC 14)
due to issues in the configure script.  Instead of trying to backport
fixes, just bump it up to 6.1.2, the final release in the 6.1.x series
that was current when GCC 4.9.4 was released.

Meanwhile, with the update to GMP, the also-quite-old MPFR 3.1.0 fails
to compile; instead bump it up to 3.1.6, which is the final release in
the 3.1.x series.

Change-Id: I356c07282b20629c90fb0de1b8be40d2c55bbefc
2024-10-11 13:01:26 -04:00
Solomon Peachy
edbcf0b0f4 erosq: Initial PM support for "hw4" variant
(They renamed the battery from 'battery' to 'axp_battery')

Change-Id: Ic42c31e1d5c01eafc3fe01b144d9f22d88933e04
2024-10-10 10:12:29 -04:00
Solomon Peachy
41abd8e32f sdlapp: Fix build with SDL2
Not sure why this didn't break in my earlier tests.

Change-Id: Idf643c7ace638d928d41606cec1b90762bc4909e
2024-10-07 12:36:44 -04:00
Solomon Peachy
56ec2e2e4a Only increase sigalthreads stack size for simulator or aarch64 builds.
The 12K-per-thread necessary on arm64 linux systems caused an
unnecessary 180K increase in RAM usage on the hibyos hosted ports.  So
back off to the old size unless we know it was needed.

Change-Id: I1e25417433052027ae02a51903b0f5245819db44
2024-10-07 12:15:02 -04:00
Solomon Peachy
0222ed3639 simulator: Fix SDL2 simulator build of touchscreen-based targets
(cowond2, mrobe500, vx747, shanlingq1, zenxfi2)

Change-Id: Iae68fbf80300d0268f3027ca97b06f6c64170a48
2024-10-07 12:05:42 -04:00
Solomon Peachy
7927423e34 SDL: Migrate to SDL2
Incorporates large portions of g#5879 g#5282 g#5285 g#5286 g#5287

Differences from the above patches:

 * Removed all MacOS-specific stuff
 * Removed support for SDL1 entirely
 * Properly implement mousewheel support
 * Bumped up minimum stack size for sigalstack threading
 * Check for overflow before enqueing scrollwheel events

Tested on:

 * sdl application (Linux)
 * Simulator (x86_64, Linux) -- xduoox3/ipod4g/sansafuze
 * Simulator (i686, Windows) -- xduoox3
 * Simulator (arm64, Linux)

Change-Id: Ia3012dd1be123feb2888798a42d5b7cc149f382b
2024-10-06 12:05:53 -04:00
Solomon Peachy
d13029ebdd kernel: Add queue_full() API call
This allows callers to see if it's safe to enqueue something instead
of triggering a panic if the queue turns out to be full.

Change-Id: Idb887e7a47cfbfef998f27d9d85090f3c0ed2230
2024-10-06 11:17:54 -04:00