Commit graph

17296 commits

Author SHA1 Message Date
Solomon Peachy
0909c4fe3a FS#13413: Updated Polish translation (Adam Rak)
Change-Id: I64e55c5fff9cf253a0ed1a1c1b8e0934f3f14187
2024-04-23 12:22:21 -04:00
Igor B. Poretsky
a5d75a5743 Russian translations update
Change-Id: I97e92d38f391270f79380a3ec23e3232e91b1ffe
2024-04-23 11:10:57 -04:00
Christian Soffke
446496c221 Have Repeat Shuffle turn on Shuffle
When "Repeat Shuffle" is enabled, it may make sense
to visibly turn on the Shuffle setting once a playlist
ends and starts from the beginning again.

This seems to fix a few issues:

- After (an unmodified) playlist has been shuffled,
bookmarks now behave correctly in terms of restoring
the playlist's shuffled state and using the correct resume
index. This wasn't the case before. The alternative may be
to set the playlist as modified once it is shuffled, to
prevent creation of bookmarks from that point on.

- Lets you return to the un-shuffled state of the playlist at
any point

- Icon makes it easy to tell if the "unmodified" playlist has
been shuffled already, or not, which wasn't obvious before.

Change-Id: I41af04b041fdc7774c9d9267aaf983ec9d402e13
2024-04-23 05:24:48 +02:00
Solomon Peachy
886060475e ata: Heavily rework sleep and poweroff logic
* Use of ata_disk_can_poweroff() was inverted, resulting in SATA SSDs
   getting powered off but leaving _everything_ else on, including spinning
   rust!
 * Replace the can_poweroff() heuristic with a test for the mandatory
   ATA power mgmt feature flag. Notably, the CF->SD adapters don't claim
   to support this!
 * Eliminate duplicated tests in sleep code
 * Wrap all poweroff-related code with HAVE_ATA_POWER_OFF
 * Don't ever use SLEEP command, only STANDBY_IMMEDIATE
 * Gate call to STANDBY_IMMEDIATE behind a can_poweroff() test
 * Prefer FLUSH_CACHE_EXT to FLUSH_CACHE where available.
 * Improve SSD detection heuristics to any of these:
   * Explicltly identifies as SSD (covers newer CF and SATA)
   * TRIM support
   * CFA compliant AND (CF level 0 OR high speed support)
 * Report SSD detection in debug menu

Change-Id: I7fcb83b6d6eabddc11c64326a573b08ab85412b5
2024-04-22 15:46:30 -04:00
Aidan MacDonald
6cbcde13b9 skin engine: Fix bug with touch region labeling
Auto-created regions associated with a progress bar did not have
a label which could result in an out of bounds read when looking
up touch regions by label. Fix by initializing the label to NULL.

Change-Id: Ic12d697a6a5a45dad977f307471b91db9e607bd5
2024-04-21 20:38:25 -04:00
Aidan MacDonald
591a83a089 plugins: multiboot_select: Support touchscreen pointing mode
The plugin is menu based, so it should respect the global setting.

Change-Id: Ibfca63c919baa508d1253328c49c6b18f9e815f6
2024-04-21 20:38:11 -04:00
Aidan MacDonald
306caa2754 touchscreen: Fix menu callbacks in touchscreen pointing mode
Touchscreen events get translated into standard actions only after
the call to gui_synclist_do_button(). The menu callback doesn't get
a chance to see the real action if it is called before do_button.

Moving the do_button call up could potentially break callbacks that
want to intercept actions before they hit the list code. Therefore
we need to manually handle touch events first, and pass the action
to do_button afterward.

Fixes a bug where exiting a plugin in touchscreen point mode always
goes to the games list because the callback wasn't invoked properly.

Change-Id: I3b74a16d68a111935fba2157c15fa188f15446e9
2024-04-21 20:37:47 -04:00
Aidan MacDonald
fd4a10719d apps: Move action_cur_t and action_last_t to action.c
These types are not needed outside action.c.

Change-Id: I71d25edf30811022fba32a548906755cf46cd694
2024-04-21 20:37:26 -04:00
Solomon Peachy
7b1dd6b60a RFC: Extend skin engine to handle EQ settings
EQ settings are actually an array of 3 ints.  I added a skin parameter
token that allows specifying which array element to use.

So instead of this now-incorrect syntax:

   %St(0,0,-,-,image,eqbar.bmp,vertical,setting,eq band 1 gain)

You would use:

   %St(0,0,-,-,image,eqbar.bmp,vertical,soffset,2,setting,eq peak filter 1)

(the 'gain' is the third element in the eq setting array, thus soffset 2)

Change-Id: Ibda712ab87759efb45420566c967742bcefb513b
2024-04-21 18:27:11 -04:00
Solomon Peachy
418a5acea0 translations: Fix some broken strings in the Turkish translation
They had trailing tabs which broke the piper TTS engine

Change-Id: Ic579f41915e9d1dcd9daa124559c6cc213847151
2024-04-21 18:07:50 -04:00
Christian Soffke
ea5ce8034b Replace "Reload After Saving" with option to remove queued tracks
The "Reload After Saving" setting was added in
g3347 (4f83e66) to solve FS#13287, by allowing
you to bookmark a modified playlist after saving,
without having to manually reload it first.

Since the rewrite of playlist_save in g5192
(90e3571), a modified playlist doesn't have to be
reloaded anymore in order to be bookmarked after
it's been saved, unless it contains queued tracks.

To cover the remaining use cases of the previously
available option, Rockbox will now offer to remove
any queued tracks from a playlist when saving it.

Change-Id: I2d6f12bcce14d8ff41a4d921ce84d628774103ac
2024-04-21 18:28:16 +02:00
Christian Soffke
e5c65a0039 ft_assemble_path: fix prematurely cut-off path
bug report at https://forums.rockbox.org/index.php/topic,54842.msg

Change-Id: I423c28e277084502b7aaff7c3a8e3b6ba37f54e8
2024-04-20 15:41:21 +02:00
William Wilgus
123858287b fix red rli_img
devices > 16 bit depth use a struct of values for the pixels
this needs converted to use by functions expecting a single integer as
a pixel value

Change-Id: I540d667239bc581e1d31dfe1e07c51ba10803ddf
2024-04-18 13:40:01 -04:00
William Wilgus
a6570b7d37 lua use lcd_drawline to draw lines inside rliimages
rewrite draw_text to use new viewport buffer

set_viewport now accepts rliimage to allowe interfacing with rb. functions

fix long standing 2-bit bug with text drawing in lua
fix 2-bit img
saving bug (i'm guessing just a one off, just enabled clipping)

fix font_getstringsize bug

fix shape of numbers draw_num.lua also add auto centering

add page scrolling to printtable

add a new demo script 'stars'

Change-Id: I866905cee82ee89ebc0eb020a56a7ecdb101bf5e
2024-04-18 13:11:51 -04:00
Solomon Peachy
7f1b49693c translations: Update US English "translation"
Change-Id: I1d91ebac7f878b68759afd408b8a90cf353cf782
2024-04-18 12:25:50 -04:00
Christian Soffke
9af812c320 playlist viewer: fix track info for first track of a stopped current playlist
A playlist that hasn't finished and is resumed without starting
playback has its index set to 0 by empty_playlist_unlocked.
So ignore the index for stopped playlists.

Change-Id: I575ceacbcd2369eaa3ae4e47de7b2f7e999248f5
2024-04-16 22:56:43 +02:00
Christian Soffke
b06073f771 buffering: ensure sufficient buffer size loading bitmaps
Commits 5aa0fc3 and 32f1418 (g#4451, g#4452) changed the
amount of space that was allocated for loading bitmaps
used to display album art.

Testing revealed that the size of the JPEG decode buffer
can reach up to (38 * 1024)B in some cases.

When the limit is reached, additional space is required
by the resize_on_load function.

Change-Id: If93b45754a4f5948b6160f659182e4618e01912e
2024-04-13 16:19:48 +02:00
Christian Soffke
05b070b0b8 playlist viewer: get Info for playing track from RAM
No need to hit the disk to retrieve
metadata for the currently playing track

Change-Id: I944910adfb750d3f8fb52b8c057e98d58700cf17
2024-04-11 14:01:27 +02:00
William Wilgus
76a9a524c0 skin_tokens.c get_dir() improve path detection
get_dir grabs a component of a path
it now handles
multiple slashes, no leading slashes

Change-Id: I6c4a377796652808a02b44f6da0a63b201dd8f46
2024-04-04 14:40:17 -05:00
William Wilgus
3714288f7a add bootpath to bootdata debug menu
show the full path to the currently booted firmware

Change-Id: I9c0b4335ef410a0a5132f1097a29368306497206
2024-04-03 15:57:06 -04:00
William Wilgus
8c994db247 multiboot_select plugin check volume root for valid firmware -- Try 2
I'm not sure why but on my fuze v2 I don't get the '.' nd '..'
directories back from readdir

that make removing '.' to find /.rockbox inconsistent

Instead filter out files and strcmp the incoming dirs
to BOOTDIR (.rockbox) and clear it when they match

Change-Id: Id8f3312cb3ae624dff1be21f745034c08c4ae1a7
2024-04-02 21:04:44 -04:00
William Wilgus
4a91d37613 multiboot_select plugin check volume root for valid firmware
Change-Id: I5feb4b00ae385ff8967de27682d4e4a528dc2ae5
2024-04-02 19:58:12 -04:00
Aidan MacDonald
5641e8140a tagcache: Rename find_tag() -> tc_find_tag()
The overly-generic name "find_tag()" is part of the skin parser
library and this can cause problems depending on what's included
from headers. Unfortunately.

Change-Id: I0cb02b1203daa6ff36595ed6c6f40b5b56bd3e58
2024-04-01 18:21:37 +01:00
Aidan MacDonald
9d585cbc05 Fix red in f026cc4e17
Change-Id: I9ea1e18a8658a51bf0c917bec372f7509569ede2
2024-04-01 18:21:37 +01:00
Aidan MacDonald
f026cc4e17 tagcache: Add menu entry for customizing the DB path
Allow the database path to be set from the file browser's
"Set As" context menu, so it can be changed without editing
the .cfg file by hand.

Change-Id: Ie1a84bcb2084ee3b1a0a18cc51f564238515f164
2024-04-01 17:23:06 +01:00
Aidan MacDonald
ac1f92d9e8 tagcache: Fix missing void in tagcache_rebuild() definition
Change-Id: I04629547979a71f61693d87abb298b7c1d5efce4
2024-04-01 17:06:29 +01:00
William Wilgus
2570909e52 [Feature] Add root_realpath to Rockbox Info
Change-Id: I5a6bb78495a00960d0aa0f1a3fad227e4b8e17f3
2024-04-01 08:39:55 -05:00
William Wilgus
8e9a840d1d [Fix Yellow] 1dc22c7241 use path_append for setting directories is several settings
Change-Id: I30ee97f7f47d52c178de05bcabb62b65fcd9d784
2024-04-01 08:11:05 -04:00
William Wilgus
1dc22c7241 use path_append for setting directories is several settings
sprintf, strcpy, memccpy can all just go thru path_append
with the added benefit of some path sanitizing too

Change-Id: I33510b56a364b8b3a0b06f2ff14b76491f6e3870
2024-04-01 07:35:53 -04:00
Aidan MacDonald
e631fc4723 tree: handle trailing slashes in currdir when navigating up
Make ft_exit() ignore trailing slashes. Previously if these
ended up in "currdir" then pressing the back button would just
leave you in the same directory.

Change-Id: Ic539e02a9860fa13ca3235beaf99bb474c66e151
2024-03-31 18:45:40 +01:00
Aidan MacDonald
dc9d354ed2 multiboot: Add v1 boot protocol
v1 passes the drive and partition number of the boot volume
instead of using the volume number. The volume number isn't
reliable because the same filesystem might get a different
volume number once the firmware is loaded, which will cause
the firmware to use the wrong root volume and fail to locate
the correct .rockbox directory.

Using drive and partition numbers avoids this issue because
drive numbering is fixed and determined by the target.

Change-Id: I7e68b892d9424a1f686197a6122e139b438e5f7e
2024-03-31 16:57:19 +01:00
Aidan MacDonald
6ffd42548b multiboot: Refactor boot data validation, add version numbers
Instead of verifying the CRC before every access of the boot data,
verify the CRC once at startup and set a flag to indicate the boot
data is valid.

Also add a framework to support multiple boot protocol versions.
Firmware declares the maximum supported protocol version using a
version byte in the boot data header. The bootloader chooses the
highest version supported by it and the firmware when deciding
what boot protocol to use.

Change-Id: I810194625dc0833f026d2a23b8d64ed467fa6aca
2024-03-31 16:57:19 +01:00
William Wilgus
fe00906abb pathfuncs.c add path_strip_leading_separators()
added to path_append as well

Change-Id: Ieb6ec4f4c475ca5e60c8246c7f044bcc7651f6bf
2024-03-30 11:01:53 -04:00
William Wilgus
52e22b253d [Bugfix] ft_assemble_path extra slashes, Volume unmound double free
Change-Id: Ie2e7702d8e252ce29af0b9dbd2e8d9e892b9ca18
2024-03-29 10:27:03 -04:00
William Wilgus
34361c82f1 [BugFix] Database Track>Filename returned Directory Attribute
Navigating to track listing by Filename in the database
passed the whole directory to the playlist and track info plugin
insead of the track filename

this was due to 'tag_virt_basename' not being recognized as a valid
audio file

Change-Id: I3d1cd0b6998a2e55d4f7d70711af9ced46cf2c44
2024-03-24 11:19:41 -04:00
Solomon Peachy
57f76784c5 Fix build for hosted targets.
Basically the namespace code _never_ actually linked properly on hosted
targets, but nobody noticed as there were no users, causing the symbols
to be dropped with no fuss.

The tagcache namespace awareness stuff pulled in the namespace code,
which made things go kaboom due to it relying on native FAT parsing
code.

Change-Id: Idef5f44b026c875022436809ca1f5015eece714a
2024-03-23 19:59:31 -04:00
William Wilgus
fdc3668a6a [BugFix] Multiboot Database duplicate files
When the sd card is mounted into the root namespace the database
picks up files through both paths

previously we hid the mounted drive but this causes issues with users
databases when the drive letter changes

Adds a way to keep track of volumes mounted in the root namespace

Hides the enumerated volume in root

Database:
we can just parse the root directory ('/') and get to any mounted
volume but we can also enumerate a volume in the root directory
when this occurs it leads to multiple entries since the files can
be reached through multiple paths ex, /Foo could also be /SD1/Foo
Instead we will attempt to rewrite the root with any non-hidden volumes
failing that just leave the paths alone

Change-Id: I7bdba8cfaf63902d2a3852d28484bcf8ca317ebd
2024-03-23 01:03:33 -04:00
Solomon Peachy
ae01ea7fd9 FS#13404: Updated Polish translation (Adam Rak)
Change-Id: If23726baf2dd9549f89df5344f44ff29d55d8b5b
2024-02-23 16:05:34 -05:00
Roman Artiukhin
e122243bb0 plugins: playing time: fix possible crash on sys event
Change-Id: I7b3580c56e2b285f56b9e2195fbf3c14b6cd96e5
2024-02-03 16:01:22 +02:00
JJ Style
49910eca4b Implement dart scorer plugin application.
Edit:
    - Add name to credits
    - Add entry in manual

Change-Id: I0e0b062e001ae9134db3ee6e4fba21e93ddd04ee
2024-01-23 22:32:22 -05:00
Christian Soffke
fd12225861 plugins: alarmclock: fix input lag
Change-Id: I6e2e9723aea511eef32116c92105822cc8a16271
2024-01-12 13:15:49 -05:00
Christian Soffke
de16065265 plugins: disktidy: fix loading of filetypes to clean
regression introduced in 1648441

Change-Id: I7e7c07128bf47ca862b4d45b362e7723846163a7
2024-01-07 07:01:13 +01:00
Dana Conrad
8cc7476735 ErosQ Native ES9018K2M: Add digital filters capability
Setting not yet hidden for older hardware revision.

Change-Id: Iaaa5727e63c38de578a6bbc73498ae1073180e65
2024-01-02 08:19:23 -05:00
roman.artiukhin
4cd65b9d97 Codecs: mp4: Disable SBR decoding for PP5002 - PP5022 platforms
Includes ipod video (5G) and earlier models, sansa c200 and others players not capable to decode AAC-HE.

Allows to play backward compatible files as AAC-LC.

Change-Id: Ic9f5c0f255d9a4308c3414d402f8f27f4328ca94
2023-12-31 20:44:15 -05:00
Solomon Peachy
5cf8248442 plugins: Associate markdown (*.md) files with the text viewer/editor
Change-Id: Iac48469e6e9b30574ac8a3f73f21e5f195d44d22
2023-12-22 14:36:29 -05:00
William Wilgus
9e802be969 [BugFix] run filebrowser automatically for out of tree shortcuts
missed a case for out of tree shortcuts coming from the quickscreen in the main menu

Change-Id: I25714f9deaba5f0c88e50de03ead747733b7f568
2023-12-03 20:22:56 -05:00
William Wilgus
83566008a0 [Feature] run filebrowser automatically for out of tree shortcuts
supersedes g#5499 run .link shortcuts within menu shortcuts
and just extends it to the whole plugin stack which makes
sense as long as it doesn't cause any new bugs ;)

Change-Id: If152f53cf6894430c1173a2af1410e7d0857825e
2023-12-03 15:20:19 -05:00
William Wilgus
1e3e9c68c8 [FixRed] Touchscreens in the YesNO dialog
Change-Id: I69cb03d8ffe4a8ecc06517c9a455c3b38327c6be
2023-12-03 10:31:44 -05:00
William Wilgus
9dd1b0f46d [BugFix] YesNo screen scrolling
clearing the viewport stops the scroller
so instead clear the viewport ourselves
[this might cause some glitching but should be acceptable]
in testing this causes no discernible ill effect -- time will tell..

Change-Id: Ia73a459205e37c8aebdf1cd82cd742df3d803af8
2023-12-03 10:13:19 -05:00
William Wilgus
4e53ec80b5 [Fix Yellow] root_menu.c
Change-Id: Ib13b54e3d7818746edfd0d13c37328bd90d23b22
2023-11-25 03:21:09 -05:00