Commit graph

37344 commits

Author SHA1 Message Date
Solomon Peachy
ad0c131918 sim: stub out volume_partition() for sim targets
Not sure why this doesn't blow up in more places, but eh..

Change-Id: I45214243c0d03a2156dca8f727caadde5f34c23f
2024-08-12 16:10:12 -04:00
Solomon Peachy
8c25fcfbf0 ...fix more red from 15e52374
Change-Id: Ibbfb89b2c40c0ac8b5a514f130d7b672afb866fa
2024-08-12 15:38:11 -04:00
Solomon Peachy
05354e1bef Hopefully fix the remaining red from 15e52374
(imx233, ipodnano2g, !multidrive hosted/sims)

Change-Id: I9c89887078f9f50d3aac73f468ac323699e1fd1f
2024-08-12 15:20:13 -04:00
Solomon Peachy
6e69241279 Fix some of the red in 15e52374
Change-Id: I712102ec09d6058567768b86430bc3120a179a40
2024-08-12 15:03:56 -04:00
Solomon Peachy
15e5237469 storage: 64-bit sector offsets
* Create new 'sector_t' type alias:
    * uint64_t for all targets with HAVE_LBA48 or HAVE_SDUC
    * unsigned long for the everything else
 * Alter all storage APIs to use sector_t instead of 'unsigned long'
 * Alter Volume/Partition/storage info structures to use sector_t
 * Disk cache converted to sector_t
 * ATA Core:
    * convert to using sector_t for sector addresses and drive sizes
    * Always fill out upper 16 bits of LBA48 addresses
    * IDENTIFY INFO is fixed at 512 bytes, not SECTOR_SIZE
 * USB mass storage:
    * convert to using sector_t for sector addesses and drive sizes
    * Implement READ_16/WRITE_16 for LBA48 addresses
 * Convert FAT code to use sector_t for all sector references
 * output_dyn_value() now accepts int64_t instead of 'int'
 * Corrected "rockbox info" to work for (MULTIVOLUME & !MULTIDRIVE)
 * Better reporting of disk and (logical+physical) sector sizes in debug info
 * Detect SDUC cards and report on storage debug_info screen

To-do: SDUC

 * Refactor SD core to remove duplicate code in every driver
   * Card probe and init state machine
 * Implement core SDUC support
   * SD2.0 needs to be 2.0+ (fixed for jz47xx and x1000)
   * Host and Card ID (ACMD41)
   * 32-bit addressing for all read/write/erase operations (CMD22)
 * ADD SDUC to target device drivers, defining HAVE_SDUC as appropriate

Change-Id: Ib0138781a0081664d11511037685503df1b93608
2024-08-12 14:23:44 -04:00
Solomon Peachy
9ff308a589 Update multiple translations:
- English-US (Solomon Peachy)
 - Italian (Alessio Lenzi)
 - Chinese-Simplified (	王吉)
 - Korean (Hoseok Seo)

Change-Id: I0b8afc23f3d91bb374d05cc63a7b7e27bbccffbb
2024-08-12 14:23:44 -04:00
William Wilgus
a0f66dea9c update MAINTAINERS
Change-Id: I1ece943b3aeeab929c025ca412ab90e3c1f9e346
2024-08-11 17:00:55 -04:00
Christian Soffke
512f5561ba fileop: Prevent poweroff during move
When overwriting an existing directory, the idle
power off timer may fire during the mass-renaming
of individual files.

Change-Id: Iedbc882c2470c32129a162d31dab8e5031a929b9
2024-08-11 19:33:05 +02:00
Christian Soffke
ce417b3e1b fileop: check dst path length during pre-scan
Use the known difference in path length between src
and dst in order to detect an insufficient
buffer size not just for the source, but also for
the destination path during the pre-scan already.

Change-Id: I9e4caeb9b9d2cb1e9577f418f2b777ab17718acf
2024-08-11 19:32:55 +02:00
Christian Soffke
48400b6ec1 fileop: fix slow pre-scan & flashing progress bar
Scanning files before a delete or copy operation was
slowed down by splashf() being called too frequently.

- Delay and update splashf every 0.5s (the scan will
  often be finished in a split second)
- Only clear screen buffer before scan info is redrawn
- Display name of *top* level item only, to prevent bar
  from jumping around due to the string length changing
- Use item size for progress bar, so that the overall
  progress isn't interrupted by each file's progress
- Display processed & total file sizes (KiB if total
  is < 10MiB, or MiB otherwise)
- Move delete confirmation before scan to provide
  instant UI feedback

Change-Id: I882a8db4161a46aca2d398e371ec4ed018fc8501
2024-08-11 13:18:50 -04:00
Christian Soffke
28badc5703 Fix yellow from commit 52b9656ed6
Change-Id: I449396e4a43a6909738912ae2a6284acdf16352a
2024-08-11 18:49:47 +02:00
Christian Soffke
52b9656ed6 Fix red/yellow from commit 8dcd781291
Change-Id: Ie5761f8f31f1d3648ba67220299cbcba582ed69d
2024-08-11 18:09:50 +02:00
Christian Soffke
8dcd781291 plugins: Playing Time: Add 'Remaining' and 'Single Mode' options
1) Remaining:
Sometimes, you may only be interested in how
much time is left in a playlist, but don't care
about the progress already made.

The new option will disregard already played tracks,
which can be much faster, depending on your position
in the playlist.

2) Single Mode:
When 'Single Mode' is enabled (and set to something
other than 'Track'), you now have the option to see
the time elapsed and remaining specifically for
that section of the playlist (e.g. the playing album).

Change-Id: I786eaababc537f565ab3fa4de1c46b7d5f3d1101
2024-08-11 17:30:19 +02:00
Franklin Wei
1f7ea715db puzzles: resync to ee5e327 (Simon's 1c1899e) and update documentation.
Updates URLs of relevant upstream repos to longer-lived Github URLs instead
of my personal site.

Change-Id: I08bba5c12193c999f252b4ea70ae40c9d1a3552d
2024-08-08 23:49:33 -04:00
Franklin Wei
ab3982247d puzzles: remove timestamp from genhelp.sh output.
This will reduce noise in the Rockbox commit history.

Change-Id: I2d6d02cd3ae7e742b30ecd9db9335fb386c33f3a
2024-08-08 23:47:48 -04:00
Solomon Peachy
66fa10f1ba FS#13463: Updated Italian translation (Alessio Lenzi)
Change-Id: I22d97140773292402301b1a9642a6852976f05da
2024-08-04 14:48:22 -04:00
Christian Soffke
a7f9557c9c list: Fix interrupted playback when scrolling l/r
Change-Id: I2d054a8cec4e680d5ff5ce62e7ea94c00b13ebf1
2024-08-01 16:53:57 +02:00
Solomon Peachy
d471cd1e7b FS#13462: Update Chinese translation (王吉)
Change-Id: I19b040eb34343efef26dbbb86e252046119879a8
2024-07-31 08:56:09 -04:00
Solomon Peachy
82a3b21b96 Update multiple translations
- english-us (myself)
 - polski (Adam Rak)
 - korean (Hoseok Seo)

Change-Id: I2d307062a148532493ff93af44a2fd9eff9026d5
2024-07-30 18:23:24 -04:00
Christian Soffke
2f8cab9190 plugins: properties: keep theme enabled
Launching a themed plugin can cause the screen to
flash due to the theme being disabled, before it
is re-enabled right away. For the Properties plugin
in particular, this seems a bit annoying and
unnecessary.

Change-Id: Ifa0275b453369051cc63a3c626551f54120fdb41
2024-07-30 22:08:18 +02:00
Christian Soffke
cb7ae38fcd plugins: properties: fix and refactor
- prevent buffer overflow that could theoretically
  happen if an input file's dirname were larger
  than sizeof(str_dirname)
- remove has_pl_extension, use existing filetype_get_attr
- move determination of props type to single function, and
  eliminate need for redundantly reading the container dir
  for a file

Change-Id: Ice7cfcb9d891d22a8eb549439569dda126435bc2
2024-07-30 16:07:40 -04:00
Christian Soffke
a430120b3f plugins: properties: delay UI viewport update
Looks a little nicer whenever loading takes
less than 0.5s

Change-Id: Ied6c03fa8b06009f442d8c51aeaa49ad09b89db1
2024-07-30 16:05:29 -04:00
William Wilgus
e3097bf92c [Feature] File Picker Plugin
allows viewers to pop a file browser to let the user pick a relevant file
which then gets run by the viewer

(only lua so far)

Change-Id: I7e6b4c2827fab5e9f596d336f546100636c4b871
2024-07-30 14:55:07 -04:00
Dana Conrad
ef9490f683 ErosQNative: Debounce jack detection and make Line-Out default
Making line-out default output should allow detection to work
correctly. Headphone detection should work whether or not
headphone is currently the active output due to the
low impedance (relatively) of the headphones. Line-Out sinks
will likely be high impedance, so we need the output
as a pull-down for detection.

Debounce detection to prevent false triggers due to voltage swings
during playback.

Change-Id: If5e497d900330f64d0f49a135e953ee6b0499668
2024-07-30 11:39:47 -04:00
Solomon Peachy
4d26f559ee fonts: Rename COPYING to COPYING-fonts.txt in the fonts zip
Change-Id: I45c4a768de5a3c9b57e632bf796f08246a035cc3
2024-07-30 10:18:18 -04:00
Solomon Peachy
ea1ad28cfc fonts: Include fonts/COPYING license text in fonts zip packages
Change-Id: I9352bdfac0012c3bf97e6a4cac20aad64604d774
2024-07-30 10:10:11 -04:00
Solomon Peachy
1a54398a33 fonts: Forgot to add the additonal Terminus sizes to the config
Change-Id: Ifffbc1252213c7cdef8c926cd5a2ed7c7bde0fa9
2024-07-30 08:15:24 -04:00
Solomon Peachy
ea5e494ae9 fonts: Update to v4.49.1 of the Terminus font family
Doubles the number of glyphs (691->1356) and adds 18 and 22px sizes

Change-Id: I722399c124e3a8c29d9a738bf48f72731db49994
2024-07-29 22:18:31 -04:00
Solomon Peachy
ddb3cc2b7d Fonts: Update README
Mainly to eliminate the now-16-year-old mapping from old to new names

Change-Id: I0d576c453b16ff88425f1461267c62c628761ae6
2024-07-29 22:18:31 -04:00
Roman Artiukhin
b918ec531b QuickScreen: stop for first/last entry on repeated actions
Stops on first/last setting value when you switch quick setting using long button press. Useful for long settings list (like Skip Length).

Change-Id: Id7ddae4f70554e7f523661e5f0e09f5e4d5d32fd
2024-07-29 18:20:39 +03:00
Solomon Peachy
cff56c8e8c builds: Temporarily switch nightly Bulgarian voice back to 'espeak'
Turns out the 'gtts' tool on the buildserver is too old to support
Bulgarian.  Once this is dealt with, go ahead and switch back.

Change-Id: I507b3b736a722569a2050a2e1f61ed4dce210a44
2024-07-29 07:25:26 -04:00
Solomon Peachy
e722334ab1 init_volume_names() has to be called AFTER storage_init()
...So just move that call into storage_init and be done with it!

Hopefully this doesn't cause any functional regressions.

Change-Id: I08700fbd1613638606a23ee3a0c2149123c2c24a
2024-07-28 21:15:41 -04:00
Solomon Peachy
2363c7b095 genlang: Remove ability to output a sorted lang file.
This is handled by updatelang (if desired) and helps simplify genlang

Change-Id: I69b02c831fcfe5d06086c4f33472c890c7092fac
2024-07-28 20:45:37 -04:00
Solomon Peachy
3c2a110728 updatelang: Add the ability to sort output file in the English file's order
Change-Id: Ia115549b96365cbee6f1f96c5b0351dcec538955
2024-07-28 20:45:34 -04:00
Solomon Peachy
d5a4230901 talk: Make talk_fullpath() do the right thing when voicing a directory
The component after the final '/' can be a directory, so don't
unconditionally treat it as a file.

Also check to make sure there is something after the final '/' otherwise
we end up voicing it as '//'

Change-Id: I56d69ea3f299e524df29c328ec9eeb3cfc22ff42
2024-07-28 17:02:43 -04:00
Solomon Peachy
c5e1539c74 talk: When mangling paths, use PATH_SEPCH/SEPSTR
Strictly speaking all of our paths need to work this way..

Change-Id: Id30d26cccdb80eceb7daf9ad04dfd53591b1921f
2024-07-28 17:02:28 -04:00
Solomon Peachy
86bff6214d properties: Use talk_fullpath() for voicing directory names
Change-Id: Ib40c881e7b3053e7e4ef5c5adbe5c3bfec27efed
2024-07-28 17:01:53 -04:00
Solomon Peachy
78283bda64 talk: Voice the volume name when browsing and when voicing full paths
Change-Id: I56660e168edd135a09cd5c021504a58ec9d40093
2024-07-28 16:54:33 -04:00
Christian Soffke
70b96193e7 plugins: properties: use UI viewport for displaying progress
Prevent switching to a fullscreen view when scanning
a directory, which could be a bit jarring, depending
on your theme of choice.

Also pop context menu activity immediately, without
refreshing, so it isn't redrawn when returning from
plugin.

Change-Id: I021e5880505e7f121163851ae732eb47509cc5d8
2024-07-28 20:18:43 +02:00
Christian Soffke
545271c4de plugins: extract redundant functionality from stats/properties
Also:

- Enables cpu boosting for Stats
(*much* faster on some players)

- Displays file size in Stats

Change-Id: I888ba054e1f8c2985fbf8dca36e11e6ef130e7ca
2024-07-28 20:18:41 +02:00
Christian Soffke
6d19214eeb list: remove redundant setting of icon callback to NULL
gui_synclist_init already does this for us

Change-Id: I1288d389c6191416cbc3da37a333b1cad84ee779
2024-07-28 15:33:11 +02:00
Christian Soffke
68fc5b4a7a plugins: playing time: fix missing voice
appears to be a regression from 5d39d987c0

Change-Id: I7b6907338aa647ba3253d56c304a143ab75d7aa0
2024-07-27 19:45:56 +02:00
Solomon Peachy
adbb005fd2 builds: Switch default Bulgarian voice to 'gtts'
I don't like hitting an external service but the voice pool makes
this largely a one-off.

Change-Id: Icbf7951800ef4cdf863f1e7eef7c490f2329f504
2024-07-27 08:31:31 -04:00
Solomon Peachy
566d99aced voice: Switch default English Piper voice to 'en_GB-semaine-medium'
The former one ('cori') had some very pathological corner cases
especiallly when voicing single letters. This one is just
better all around.

Change-Id: I275256a637cf70ba196aafdecc24038bfe841955
2024-07-27 07:47:12 -04:00
Solomon Peachy
2dddf16e2c voice: Shorten silence threshold to 250ms (from 500ms)
Change-Id: I32ef8691f9e0adad1af4fce3c167cfcd950ca120
2024-07-26 21:03:29 -04:00
Solomon Peachy
f95427c081 FS#13457: Korean translation for the Rockbox Utility (Hoseok Seo)
Change-Id: I0a3ed46279a4606d6f6428131aadb4e6381ced7d
2024-07-26 20:51:27 -04:00
Christian Soffke
a64faae09e plugins: properties: optimize slightly
- We only have to update stats->dirname when entering
a new directory, or when id3cb needs to be called
- Reduce frequency for calling get_action and LCD update
- Replace dir_stats->len and hardcoded MAX_PATH with
sizeof
- Don't show paths in Properties during scanning
- Don't show error when user cancels

Change-Id: I4afbeba561e69188e8039fa8d91eb1e91318bdab
2024-07-26 21:16:13 +02:00
Christian Soffke
b52e72db36 plugins: playing time: improve precision
Add up length and size of tracks in ms & Bytes,
then only convert units to s & KiB at the end.
Otherwise, the result can be noticeably off when
dealing with a large enough number of tracks.

Change-Id: I2a3e502508089830f63b24c3bbdbb0ab8f57cabe
2024-07-26 21:16:13 +02:00
Christian Soffke
23e5f77ab0 Remove mp3info function & remove list_do_action from plugin_api
Change-Id: Ia9a2d6889679832f23b19a989927277ba886cba4
2024-07-26 15:15:06 -04:00
Solomon Peachy
13830439fa Fix multidrive/multivolume hosted builds.
Generalize the fix in 2348779ae6 to apply to hosted as well as simulator
builds.  Original regression introduced in c0ac043c6d

Change-Id: Ia786533cc318555e3bb842eb21a73a1f76888379
2024-07-26 10:54:07 -04:00