Commit graph

18076 commits

Author SHA1 Message Date
Solomon Peachy
83edee4224 FS#13579: Brazilian Portuguese translation update (Luyara Muniz)
Change-Id: I03401efac719dbcef27abf32593bc30e1b2fe15f
2025-03-23 21:12:35 -04:00
Christian Soffke
b5d2c1eb51 Set as Backdrop: Show preview, asking for confirmation
A new backdrop can make menus hard to read
or navigate, so give user a chance to
immediately cancel the backdrop adjustment.

Change-Id: Ib2d1ad3888afeca18677a1bbdd2c3b404ed13463
2025-03-23 22:21:03 +01:00
Christian Soffke
095729eb7d Revert "Eliminate SBS update on WPS exit"
This reverts commit 18c8e554fd.

Unfortunately, this approach doesn't play super-well
with *all* themes, specifically in cases where the user-
set background color, used for drawing on the backdrop,
doesn't really blend in with the skin's actual background
color. Plus, it may leave some patches of color behind,
if a theme author didn't take care to cover all parts of
the screen with foreground viewports.

Change-Id: I0159b2e5de6c0753dea54bc6bafe5bc6268a0c6a
2025-03-23 05:15:44 +01:00
Solomon Peachy
f9bdf33a41 FS#13578: Slovak translation: More consistency updates (Matej Golian)
Change-Id: I1fde0479e0218ff51418a431233cd37d6753aa17
2025-03-22 22:53:08 -04:00
Solomon Peachy
19bb4a06ee FS#13577: Latvian language fixes (Renalds Belaks)
Hopefully the first step in getting this translation current

Change-Id: I3c1f70fc6324bd47c179c742be42b73ccc658034
2025-03-22 22:12:02 -04:00
Christian Soffke
8ecff409da Set As Backdrop: Ensure whole skin is updated
Only parts of the skin were updated
after selecting a new backdrop

Change-Id: Ib2f2146636907e5bf228e7e5ed9c7f650e56fa47
2025-03-22 22:30:16 +01:00
Christian Soffke
bc035803ba WPS/FMS: Request SBS update after softlock
Elements from the SBS would disappear after
softlock, for a WPS that displayed an SBS,
if lock notifications were enabled.

If SBS isn't used, the request doesn't
result in any immediate action.

Change-Id: I7f5e8874f4eade6f504b6b3748c9644529587bb2
2025-03-22 21:46:27 +01:00
Christian Soffke
18c8e554fd Eliminate SBS update on WPS exit
Prevents flashing an outdated backdrop when moving
from WPS to SBS, if both were using the extra
frame buffer (i.e. both used background viewports),
without having to update the SBS first. I think,
this is actually what we want, rather than commit
c1222d65e2, which attempted the same thing.

Change-Id: Iffc7fe2d351ebdf21a4e7629aba93641c0d30b50
2025-03-22 17:23:08 +01:00
Solomon Peachy
ab9aaba117 FS#13576: Revised Slovak Translation (Matej Golian)
Primarily spelling and consistency fixes

Change-Id: I61e1b619888e547721dbeeaeb5b7cb20577f5fac
2025-03-21 09:30:21 -04:00
Christian Soffke
3b105b8c33 Playlist Viewer Track Info: Fix: custom list items don't stop scrolling
test case: https://themes.rockbox.org/index.php?themeid=3625

Change-Id: Ia3c5cb4ee37c111ba4a84dc5d63695801fe0300d
2025-03-20 20:43:27 -04:00
Christian Soffke
c1222d65e2 Update SBS on WPS exit only when both use extra framebuffer
Change-Id: I853add515231f319cc76f16f322ceb23bc920d72
2025-03-20 18:10:50 -04:00
William Wilgus
856da7f366 Debug - OS stacks - show current stack usage too
Change-Id: I41f895786e409c3f4ea500f99eb74cbd6cdbe5b6
2025-03-20 16:50:08 -04:00
Solomon Peachy
c5d3468be6 FS#13575: Updated Slovak translation (Matej Golian)
Change-Id: Ia9cfb2a03efdda6cdc7d2107fdc77a820364452b
2025-03-20 14:43:14 -04:00
Solomon Peachy
97c61df094 FS#13575: Updated Slovak translation (Matej Golian)
Change-Id: I10415b35285305f9ca3e2e21ca3231954e6c4ec9
2025-03-20 07:56:06 -04:00
Christian Soffke
86beaab964 wps: update SBS before leaving WPS
The backdrop layer for the WPS was redrawn
before returning to the SBS, resulting in
unsightly visual effects such as album art
(drawn on the backdrop) losing a frame that
was drawn in the foreground.

Change-Id: If5bb1ba83d79d6d1f637e06f9cc5eab3b97d5906
2025-03-19 22:41:50 +01:00
Solomon Peachy
54c5ef60df mikmod: Decouple the info scrolling from volume setting
This way volume setting will always follow UP/DN conventions
but scrolling is reversed as needed.

Change-Id: I3fc72c29d78fab46bdf19947a88c02e039bfad51
2025-03-18 11:02:55 -04:00
Solomon Peachy
1dc8a5a8ce Revert "mikmod: Invert scrolling on everything that's not an ipod"
It fixes scrolling but inverts the volume, which is worse.

This reverts commit 003da4d223.
2025-03-18 10:58:26 -04:00
Christian Soffke
df7d68a6e2 Have "Create Playlist" always create playlist from all tracks
Change-Id: Ic04724139d03417f7cac55f3cfa5aed5610c9747
2025-03-13 19:28:04 +01:00
Christian Soffke
a77cb9dc77 playlist save: ensure required file exists, proper filename used
Trying to save a current playlist associated with a
file that doesn't exist anymore, is likely to result
in a panic.

+return to keyboard picker after
complaining about missing dir.

Change-Id: I00ea0b08521d4a4503243d636af01252119939bc
2025-03-13 19:27:57 +01:00
William Wilgus
dccda8c76f [Bugfix] FS#12436 cache mode strings prior to font disable
by checking string len we can cache the USB hid mode strings

I guess if the user doesn't have enough glyphs they might still
might not get the whole thing but this appears to work with
50 glyphs and the referenced russian language selected

remove call to  GUI_EVENT_ACTIONUPDATE it is now counterproductive

Change-Id: Ica96ed39c7d002fde2d1888e78d2ea18e7c1d61a
2025-03-11 11:41:17 -04:00
Christian Soffke
8d50ac7773 PictureFlow: Offer to update cache if tracks not retrievable
Present user with a prompt, so that they don't
have to manually execute "Update cache" from
the settings menu after a database update

Change-Id: Ie2157f04329e8ffc10afbeb047486fe4b0b70bcf
2025-03-11 08:41:01 -04:00
Solomon Peachy
003da4d223 mikmod: Invert scrolling on everything that's not an ipod
mikmod uses WPS_VOLUP and WPS_VOLDOWN to scroll down and up
respectively, which works for the ipod clickwheel, but results in
inverted scrolling for everyone else.  Correct this for all non-ipods
and correct the manul (which actually didn't report this either)

Change-Id: I5a84512dfbf068ca5c4206f4362185d4d7e5c9fc
2025-03-11 08:38:38 -04:00
William Wilgus
4f3bbeaffc Remove BATTERY_TYPES
Change-Id: I4fa03a10d0032fd6f92722bbe1d4b7eec0b95cb4
2025-03-11 02:26:38 -04:00
Christian Soffke
fb115e5bdb playlist_save: fix dir may not exist
Attempting to save a playlist to a dir that does
not exist would make playlist_save panic.

https://forums.rockbox.org/index.php/topic,55241

Change-Id: Ibf55255949782315e997733b519c590ac53221a2
2025-03-11 01:23:01 -04:00
Christian Soffke
c31234bc32 Fix: Root dir bookmarks displayed for dynamic playlist
When the 'List bookmarks' button or hotkey was
pressed, while a dynamic playlist was playing,
bookmarks from the root dir were displayed, if
any existed.

Change-Id: If104ad4b717fd188174069457deb27d21399b9bb
2025-03-11 00:00:18 -04:00
Christian Soffke
ae3b34734a onplay: Enhance consistency of menu item order
Matches 'Playlists' context menu, by
putting "Save Current Playlist" next
to "View Current Playlist"

Change-Id: Ie1d7a6bf8d5acdb830db44a2c4d3ed2adc17b878
2025-03-10 01:18:40 +01:00
Christian Soffke
2e91a67c3f Deprioritize 'Create Playlist' option
Make "View Current Playlist" option more
accessible by moving it into the spot of
the 'Create Playlist' option, which
currently appears first in the context
menu, and is thus automatically selected

Change-Id: I28de5d7ad5be9bee79578ea7255a96aa72fafd2f
2025-03-09 23:51:14 +01:00
Christian Soffke
fbfdd8bb41 PictureFlow: Rejigger menu options
Put Sort command as first entry into main menu,
and immediately exit menu after sorting has changed,
to allow quicker adjustments than before.

Move commands to update or rebuild the cache from
Settings into main menu for improved discoverability,
and since they aren't really proper settings anyway.

Add 'Display' submenu to Settings which now houses the
following more 'esoteric' options that are likely to
need only infrequent adjustments:

- Backlight
- Display FPS
- Spacing
- Center Margin
- Number of Slides
- Zoom
- Resize Covers

Change-Id: I5bb3ee922cb870f9b6db9bd6ac9480d49f5decf3
2025-03-09 18:29:07 +01:00
Christian Soffke
dff29110c2 PictureFlow: Don't require restart before rebuilding cache
You were asked to restart the plugin, before
PictureFlow would rebuild the cache after
selecting the menu option for it. This patch
eliminates the need for leaving the plugin, and
PictureFlow will rebuild its cache immediately.

Change-Id: I47ec78339fdc91efd42cd7850829256417682eae
2025-03-09 13:27:19 -04:00
Christian Soffke
87344d180b Rename 'Playlist Catalogue' to 'Playlists'
When the Playlist Catalogue first appeared in the main menu
in 2011 (FS#11808), the 'Playlists' menu item was renamed
to 'Playlist Catalogue' which seems more verbose than is
necessary these days.

Since we don't have a 'Playlist Catalogue' menu item in the
onplay menu anymore, either, LANG_CATALOG can be eliminated.

Change-Id: I7f38b0847e9b982506371f4a4b473d1fb2551ad0
2025-03-09 17:46:52 +01:00
Christian Soffke
272ce05396 Fix red 7693ecc
Change-Id: Ief9395eda8c2eb2837706227be75e482842e48ec
2025-03-09 17:37:34 +01:00
Christian Soffke
dec8d4101d PictureFlow: Fix some annoyances
- Skip superfluous "Wait" splash before displaying
  index progress

- Display current step that the progress bar pertains to

- Exiting the "Confirm Quit" screen in order to continue
  indexing was *extremely* fiddly because of picked-up
  button events that would often immediately return you
  to the same screen instead of getting you out of it.
  This should behave more sanely now. Plus, you should
  only see the Quit confirmation screen as a result of
  pressing Menu or Cancel now (instead of touching the
  scroll wheel for example).

- PictureFlow was unresponsive while removing duplicates

- A Cancel action initiated by the user isn't treated
  as an error anymore, nor is a message displayed after
  user has already confirmed their intention to quit.

- The plugin doesn't return errors anymore if the user
  has already been presented with an error message, to
  eliminate redundant splashes, delays, and an unwanted
  return to the main menu

Change-Id: I255b8f760ccb0acdfddcacbc7d8a1b17b063e53e
2025-03-09 09:06:42 -04:00
Christian Soffke
7693ecc2a2 tagtree: Improve suggested playlist filename for "special entries"
Make the suggested playlist filename for special
entries such as "[Random]" or "[All Tracks]" a
bit more descriptive, by mentioning the current
table as well, e.g.:

"The Beatles [All Tracks].m3u8", instead of just
"[All Tracks].m3u8"

Change-Id: I43d9386c06081540cdcae715afc0b0351857633d
2025-03-09 09:05:52 -04:00
William Wilgus
10b4cab793 battery_bench export_battery_tables add warnings
moves shutoff and disk safe to end of file

add warning

comment out shutoff and disksafe level as further protection

Change-Id: I1723b2ae6b2bd7fd359dc7dfcc8f1958d97673fc
2025-03-07 13:14:31 -05:00
Solomon Peachy
8ef4f217d4 checkwps: Warn if using SYSFONT in a viewport
Change-Id: Ief69dd489d08af62ed96624dfe504ab5b9f9e6d9
2025-03-07 09:39:53 -05:00
Solomon Peachy
48b5054a7e more red fixes.
Change-Id: I27f0f4e616585608646b832bef7c4b0cfbd08917
2025-03-06 13:45:11 -05:00
William Wilgus
a1fd56ba8e [FixRed] Bootloaders, devices without size_t defined
Change-Id: I452760478ea7324458a05c7af0a88bcbe92def45
2025-03-06 12:39:37 -05:00
William Wilgus
10f8312db4 FS#13538 export and import battery level tables
when battery_bench is run
exports a file in the rockbox directory called 'battery_levels.default'

if the user wants their own levels they can rename the file battery_levels.cfg
and it will be loaded at boot

some minimal error checking is performed prior to using the values

added manual entry

Change-Id: Ia0126faced0c7229fcf8385a1bcb584b5a9dc378
2025-03-06 11:54:21 -05:00
Solomon Peachy
33a011a6a1 FS#13571: Updated Turkish translation (Mustafa YILDIZ)
Change-Id: Iedb6e65e8daec65f74ab3c47466417760de24a38
2025-03-04 17:20:45 -05:00
Solomon Peachy
f3ce792af8 sysfont: Fix buffering debug screen, cube plugin, and vu_meter plugin
Instead of being hardcoded to expect 8px sysfont, make them scale properly

Change-Id: I02cc6cb53eebbd8241a142964bff305a1c5e535a
2025-03-04 13:40:17 -05:00
William Wilgus
d5db4202ab [Bugfix] tree.c tree_get_file_position() case insensitive search
some targets have case sensitive filesystems

Change-Id: I50744b8226318c3dea3db375e545dbd52998544f
2025-03-03 13:15:34 -05:00
William Wilgus
fb96ae2cc9 tree.c small cleanup no functional changes
Change-Id: Icb165ed94f8e1a165f285c7482c46d6e74846d10
2025-03-03 12:58:09 -05:00
William Wilgus
ef03dde011 skin_parser small clean up add percent_parse_param()
consolidate the logic for PERCENT tags to a single function

is_default() check is redundant in parse_albumart_load()
static bool isdefault(struct skin_tag_parameter *param)
{
    return param->type == DEFAULT;
}

Change-Id: I7391224499624db7a95a2630f96e33827d1e7542
2025-03-03 11:44:26 -05:00
William Wilgus
914fcab06a shortcuts.c don't call settings_apply_skins() unless needed
Add F_NEEDAPPLY if F_THEMESETTING requires a call to settings_apply_skins()

Change-Id: Ied1bf7b2c4fb2e07bf1f54076e647bdc0844037a
2025-03-02 23:50:54 -05:00
William Wilgus
81c65536ec [Bugfix] #FS13567 5+ fonts WPS file causes next theme loaded to fail
Investigating this issue I found that when
SBS and WPS share the same fonts the refcount prevents
the soon to be unused font from unloading
by the time the fnt is unloaded its already too late because the WPS
load failed.

What appears to work is freeing the fonts used by the skin items ahead
of time via skin_reset_buffers() in a separate loop instead of in the
loop used to load the skin files

Change-Id: Ib118163185d48b67b7c96e436bfb6fab8db546a9
2025-03-02 14:41:06 -05:00
William Wilgus
dad8f163c3 lastfm_scrobbler fix formatting, progress messages, export mode
make the plugin context aware to allow user to one
click export from a shortcut, basically it checks if its running in the
file browser if elsewhere does auto export

use a buffer for the fixed portion of the scrobble data

add timed_yield to long running operations
add progress bars and messages as scanning for duplicates takes a while
speed up duplicate scanning 4x

1000 tracks processing took ~2 minutes with duplicate scanning down from ~5

previous patch makes playback logging create a new file after 512k
old files renamed playback_0001.log
make scrobbler able to parse these log files

add ability to skip tracks without metadata and count them

Remove duplicates only for resume or remove all duplicates

allow skipping tracks without metadata or save only filename

update manual

Change-Id: I115bcfd3381f5a978252aac1cdfcc080f0797dda
2025-03-01 19:16:46 -05:00
William Wilgus
731f3fd8be Playback logging add Start time and rename when log size exceeds 512k
renames to playback_nnnn.log

you won't get the message when first enabling logging since it
happens at start-up..

Change-Id: I58ca65a48deff7c5bb1f93c3d86d9ee9e19f3f2e
2025-03-01 19:16:46 -05:00
William Wilgus
cebbbb9ea4 make splash_progress lock to screen width on repeated calls
when calling splash, splash_progress repeatedly text rearranges and
the width changes leaving artifacts on the screen from the previously
displayed prompt

save the max width seen between calls to ensure the splash
prompt is never more narrow.

Height could be stored in a
similar manner but I deemed it unnecessary as typically the
text gets longer and the prompt increases in height
while the reflow causes the prompt to get more narrow.

keep track of the current activity and reset the max_width
when activities change (except bootloader)

Change-Id: I3303bd9135ab1d7bcf28bd5c28d0ab5346bf2697
2025-02-28 12:09:55 -05:00
William Wilgus
10923de8fe [BugFix] OpenPlugins wrong plugin lang id
Failing to use ID2P caused the lang id to be off by VIRT_PTR

Change-Id: Ibbabaae6c1fe130af4053ef3ebe2b1aa69530466
2025-02-25 17:59:52 -05:00
Solomon Peachy
dbebbcfed1 Minor mechanical correction for Italian translation
Change-Id: I4b201345c21505b401b8d71170e200b54f5c6a89
2025-02-24 21:55:30 -05:00