Commit graph

39415 commits

Author SHA1 Message Date
Vencislav Atanasov
db1ca7c5c1 rbutilqt: Remove Utils::filesystemSize()
Implement the available/total functions using QStorageInfo. Unfortunately, QStorageInfo does not provide cluster size, so there's still some platform-specific code left extracted to Utils::filesystemClusterSize().

Co-authored-by: Qwen3.7-Plus
Change-Id: Iacec829b7d12afb65a966fe15e319d305c7384fd
2026-07-08 03:16:28 +03:00
Vencislav Atanasov
d06fa10485 rbutilqt: Simplify Utils::filesystemType() using QStorageInfo
Co-authored-by: Qwen3.7-Plus
Change-Id: Ia3b51be02d6848199ab573399f566eed7a2df085
2026-07-07 23:38:00 +03:00
Vencislav Atanasov
f62e29f311 rbutilqt: Simplify Utils::findExecutable() using QStandardPaths
Co-authored-by: Qwen3.7-Plus
Change-Id: I8f6f4003ebc7b9a4a8139f5dd4dfca3ae6cff273
2026-07-07 23:35:43 +03:00
Vencislav Atanasov
f9504df7bd rbutilqt: Simplify Utils::recursiveFolderSize() using QDirIterator
Co-authored-by: Qwen3.7-Plus
Change-Id: I73ee0f25c0b06d120364e245f8adf66e9fa09bbf
2026-07-07 23:33:30 +03:00
William Wilgus
40b9d09022 [bugfix] lua ipod mini gen 2 can't quit scripts while under load
I rewrote some of the problematic scripts to use an event loop which
fixed most of the issues but it turns out the underlying issue is
that when the device is under load the timeout that detects a repeat press
makes the key a repeat press and we miss the initial press completely
due to being under load and under the gun

Adds entries for PLA_EXIT and PLA_CANCEL with a Repeat press

Change-Id: I8247b0ebd37fc58608f6be126c49e56f8375e9cf
2026-07-05 22:19:14 -04:00
Solomon Peachy
ebf42dae68 skin_parser: Fix regression in 0d5afa6d
Typo in the #ifdef, accidently didn't get committed.

Change-Id: If74de478ed8f236b78e16cd3cb3957ecde3339b3
2026-07-05 19:12:25 -04:00
mojyack
40c2200152 usb: iap: format
Change-Id: I7ce4a484c8e8f412abc418f1ca9ff1cd14551708
2026-07-05 17:42:06 -04:00
Solomon Peachy
0d5afa6d66 skin_parser: Fix build warnings when included in the theme editor
skin_buffer_to_offset() call can never return a "negative" pointer
(since it just returns the pointer as-is) so don't bother to check.

Change-Id: Id86d53abd7ab1fb071ca54421ebe3b5ff2981c02
2026-07-05 13:57:10 -04:00
Solomon Peachy
8e89f8a5d6 voicefont: Detect when the encoded filename overflows the buffer
...And handle it gracefully.

This shuts up 2 of the 3 remaining rbutil build warnings.

Change-Id: I03b057e566ba663a72cbae159e78070b9934fa0d
2026-07-05 10:07:36 -04:00
Solomon Peachy
7437f7b214 rbutil: Fix up the last of the windows-specific compile warnings.
The remaining ones apply to all targets

Change-Id: Iadb33dfe12349c6fd8329dbba68e762e7bc2095b
2026-07-05 09:59:48 -04:00
Solomon Peachy
04a7a60f8b lubucl: Update from upstream v1.01 to v1.03
Should hopefully address the small pile of windows build warnings

Change-Id: I0bc493ce5c76591eb2e663894702d003933fe14b
2026-07-05 08:06:53 -04:00
Solomon Peachy
f69d40564d rbutil: Add file missing from mspack update
Change-Id: Ie764ed422c328da10e0a6c4144bf3abd30b98d68
2026-07-05 07:59:42 -04:00
Christian Soffke
78ec149555 allow softlock in additional screens
not sure if there's a reason these weren't included
in g#3229

- simple lists
- playlist viewer
- browse_id3
- option select

Change-Id: I0e15aaeb563e68ea21bf5df667ce134d01a95195
2026-07-05 12:59:27 +02:00
Christian Soffke
85adf518ac shortcuts: go to WPS for ACTION_TREE_WPS
Change-Id: Ieab19f90d9cf13b19ce7fe108f3ecb734af1fde0
2026-07-05 06:58:44 -04:00
Christian Soffke
e6b4ec81ff simplelist: support ACTION_TREE_WPS
Also enables support for left/right scrolling

Change-Id: Ic5888b1f17cca429febdab031e158db88a632a4e
2026-07-05 06:58:21 -04:00
Solomon Peachy
a82396b0be rbutil: Update embedded 'mspack' library from 0.10.1alpha to 0.11alpha
Change-Id: I37210d1dc2c5cecdf8256f9e0294dcbd8516e8c8
2026-07-04 21:42:33 -04:00
Michael McAllister
adbb185f7b hibyr1: fix USB gadget UDC unbind (empty write is a no-op)
usb_enable(false) wrote "" to the gadget UDC attribute to unbind it, but
sysfs_set_string("") doesn't do a write syscall.

This meant that live USB-mode switches did nothing and required a reboot to take effect.


Change-Id: I0fc9f54fdb2f529bfe24d5c1ed472c873401080e
2026-07-04 13:50:01 -04:00
Solomon Peachy
b54b10dc6d sansapatcher: Correct use of FormatMessageA() for windows builds
Change-Id: I3e026400fa0440221b4fd6d8c96f515737e36433
2026-07-04 13:04:05 -04:00
Solomon Peachy
aa4ea8e279 ipodpatcher: Correct use of FormatMessageA() for windows builds
When called with FORMAT_MESSAGE_ALLOCATE_BUFFER you need to pass in
a pointer to an LPSTR, not the LPSTR itself.

Change-Id: Iecc6d79edceb2142d61034d61364262126957b46
2026-07-04 12:36:38 -04:00
Solomon Peachy
96f1b19149 rbutil: define USE_LIBUSBAPI for Linux builds
Resolves "DFU not working at all" under rbutil on Linux

And fix some related warnings

Change-Id: Ie44ebc960cfc0c5d0121e8ceb24576ed427746a8
2026-07-04 11:51:49 -04:00
Solomon Peachy
9e6135ecd2 rbutil: Update version in the '.desktop' file
Change-Id: Ifa4a852f8bbc01e9662fae9e5b9ee2140a54116c
2026-07-04 11:13:56 -04:00
Solomon Peachy
9a31255ff8 rbutil: Fix some compile warnings under Windows
Change-Id: I8abfbd61066c17297962de1432144692604cf245
2026-07-04 11:13:56 -04:00
Solomon Peachy
a3be8d1a12 rbutil: Documentation updates
Change-Id: I4782c034593e011d51ec213af1db3a82e6f832f3
2026-07-04 09:39:09 -04:00
Solomon Peachy
55d15b17b7 rbutil: Use 'English' as the default voice in the selection box
Instead of the first one on the (alphabetically sorted) list, currently
Bulgarian.

Ideally we'd try to discern this from the current system/UI language

Change-Id: I82a14716afb484fbaea22f78fe4dd7f00c24252e
2026-07-04 09:35:46 -04:00
Solomon Peachy
6351b64fff rbutil: Change phrasing of message when system quazip is not found
It's not a fatal error (as we build in-tree instead) but the
builder infrastruture was treating it as one.

Change-Id: I7c0d00e36184f8d15642bce4a3bbbd5542943ed6
2026-07-03 16:01:33 -04:00
Solomon Peachy
a097c23db2 usb: Fix warning introduced in f11c89aae2
'usb_power_only' only should exist for USB_FULL_INIT

Change-Id: I23d14477ba55e81048ab29dada8d7d2ee44532b0
2026-07-03 14:45:21 -04:00
Solomon Peachy
f11c89aae2 usb: Fix usb mode not initialized/restored on the DX50/DX90
* Devices with ADB now have HAVE_USB_ADB
 * DX50/DX90 no longer set USB_NONE
   * stub out necessary functions
 * usb_set_mode() and global_settings.usb_mode are now:
   * called for all devices with (HAVE_USB_ADB | HAVE_USB_POWER)
   * wrapped with consistent #ifdefs

Fixes regression in ce88de54b8

Change-Id: Ib0c16082fe237e8159cd42847355186ea5c74589
2026-07-03 12:26:34 -04:00
Solomon Peachy
412a78dd5f mks5lboot/rbutil: When building for Windows, link with 'setupapi'
Change-Id: I92b1be12f7512eb58c3136349cb1f21b552a6477
2026-07-02 17:22:21 -04:00
Roman Artiukhin
ce88de54b8 hosted: Fix USB mode not properly initialized for some targets
All required code is already present in the left usb_set_mode call.
Affects iBasso DX50, iBasso DX90, HiBy R1 and HiBy R3 PRO II.

Fixes FS#13890

Change-Id: Ib554ca98a36ceeaa48c0aa699c3671a40d4fee47
2026-07-02 16:09:10 +03:00
William Wilgus
8a1a3d745d [Bugfix] FS#13947 - Sansa Clip+: High FM background noise when unboosted
Boost the CVDD1 voltage a bit to get rid of static when FM is playing

Change-Id: Id059882ffb5f10bb104b848ee0b646e36fdbe274
2026-07-02 02:57:22 -04:00
William Wilgus
ddc31e8ddc Revert "[Bugfix] FS#13943 - Single mode tracks shorter than one second do not play"
This reverts commit f4e9ba7f17.

Reason for revert: Wasn't the issue??

Change-Id: Ib25ec4b7f90d2ddb0b8a414e18469a9bf5c88140
2026-07-02 01:56:46 -04:00
Vencislav Atanasov
1ded71b751 mks5lboot: Mark uint8_t[] struct members that are initialized from a character array as not containing a null terminator
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I77c3d4b907b175447fef522378d6e61d65f4d2cf
2026-07-01 21:03:49 -04:00
elishay
5c02cf3b3c bidi: do not pass non-ASCII codepoints to ispunct()
bidi_l2v() classified each character with ispunct((int)c), but c is
a decoded Unicode codepoint. ispunct() is only defined for values
that fit in an unsigned char (or EOF); a larger value is undefined
behaviour, and glibc then reads past the ctype table and reports
some codepoints as punctuation.

Hebrew final kaf (U+05DA) and gimel (U+05D2) land on such entries,
so a string ending in one had that letter trimmed off its RTL block
as if it were trailing punctuation and moved to the wrong end of
the line. Limit the punctuation test to ASCII so the result is
well-defined.

Change-Id: Ie6c3d8413f35ec3652e9228e3d5af05ef5bb811a
2026-07-01 21:03:38 -04:00
Vencislav Atanasov
c7d5603c63 mkimxboot: Fix potentially unaligned pointer access of a packed structure
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I437ae173a8f1304a33082e62b86110c9bc4488ba
2026-07-01 17:27:49 +03:00
William Wilgus
f4e9ba7f17 [Bugfix] FS#13943 - Single mode tracks shorter than one second do not play
Change-Id: I8eceb8179231fc7d4c6b8d9c08844a67240c926f
2026-06-30 14:20:01 -04:00
William Wilgus
acff6143c4 FS#13938 - Line disappears after %Vf tag and %Vb tag
As far as I can tell this was indtroduced during this commit
32ff4e93bd
basically they added a NOBREAK flag
to all the commands that had '\n'
where as
    { SKIN_TOKEN_VIEWPORT_FGCOLOUR,       "Vf" , "S"},
    { SKIN_TOKEN_VIEWPORT_BGCOLOUR,       "Vb" , "S"},
do not have \n yet they were changed to have the NOBREAK flag applied
    { SKIN_TOKEN_VIEWPORT_FGCOLOUR,       "Vf" , "S", NOBREAK },
    { SKIN_TOKEN_VIEWPORT_BGCOLOUR,       "Vb" , "S", NOBREAK },
this causes anything after the command to be ignored

-- Note added to manual this will be a won't fix
due to the possibility of breaking existing themes

Change-Id: I0135f04c344bf817c104f951a657e2690f2d36bb
2026-06-30 13:55:03 -04:00
William Wilgus
d87755c535 FS#13944 - FONT_UI loads the last loaded font not global_status.font_id
FONT_UI scans from MAXFONTS-1 to 0 to maximize the chances of getting a loaded
font but this may result in global_status.font_id being ignored even
if set through setuifont

this should take care of all the plugin woes dues to this
by setting the lcd font to the ui font before loading the plugin
and also making FONT_UI map to this font when font_get(FONT_UI) is called
if the desired font is not loaded then fallback to the previous behavior

Change-Id: I101d6f91910c17b08fca2b988a0a99c9e6899bee
2026-06-30 13:29:23 -04:00
Vencislav Atanasov
3ba63d667e libspeex: Fix compile warnings on Apple Clang 21
- unused function parameters
- signed/unsigned comparisons
- unused local variable

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I64e9e2573174377465b10e5912d10ca2a22da0e1
2026-06-30 10:28:55 -04:00
Vencislav Atanasov
3d3df07c45 bspatch: Fix compile warnings on Apple Clang 21
- signed/unsigned comparisons
- unambiguous fclose() result code handling

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I6c4184ddef39281610de01b5c6ab402450d9a3ec
2026-06-29 23:11:33 -04:00
Vencislav Atanasov
9e3b38c863 rbutilqt: Remove unused macOS includes from utils
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I603e327acbad48bb1dd2ff8be8a2953c7155f5b9
2026-06-29 21:18:23 -04:00
Vencislav Atanasov
379c056299 rbutilqt: Replace Utils::ejectDevice() on macOS with a diskutil process invocation
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Icedf758af6f1f0843c58e7ea5bb3efb2e7177b4a
2026-06-29 21:16:30 -04:00
Vencislav Atanasov
1039eb305a rbutilqt: Add error handling to TTSCarbon::generateSettings()
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Iad04028853e930b508e72c2c9c3e9ebd9504d4bb
2026-06-29 21:16:19 -04:00
Vencislav Atanasov
92d62cf6ac cmake: Make sure pip is upgraded before using it to install dmgbuild
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I4221aab7dd031bd79548a94b30ce5978d81e282b
2026-06-29 20:13:50 -04:00
Vencislav Atanasov
174a2330e9 rbutilqt/themeeditor: Fix compiler warnings
- match sign in integer comparison
- remove unused RBViewport member

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I9a59d701593a4290523bf4b837ab0794bea2ebaa
2026-06-29 20:13:29 -04:00
Vencislav Atanasov
6aa8d80ba2 rbutilqt: Replace Utils::findRunningProcess() on macOS with a libproc implementation
GetNextProcess, GetProcessPID and GetProcessInformation are replaced by proc_listallpids() and proc_pidpath()

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Ic4fe13c405e11b658b1a9540e49741d4e69069f3
2026-06-29 20:13:09 -04:00
Vencislav Atanasov
45bd7c4400 rbutilqt: Simplify Utils::filesystemName()
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Ib8851f27c473afa0d656ea3885e4d65342d10ab5
2026-06-29 20:12:48 -04:00
Vencislav Atanasov
204684f3e2 themeeditor: Fix class member initialization by calling the getter
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: I5137c7c5094200809f79880bc425b0f31fee02cc
2026-06-29 20:12:32 -04:00
Vencislav Atanasov
05de3651d2 rbutilqt: Simplify conversion from UTF-16 string to QString for proxy host
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Idf3437f66c6ac95d38cad997143b995b2fe9a5f2
2026-06-29 17:41:25 -04:00
Vencislav Atanasov
cf2872af11 rbutilqt: Replace insecure sprintf() with snprintf()
Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Ic2abe417f17a6f104cc4523b155ca6fdb5965bb1
2026-06-29 17:41:06 -04:00
Vencislav Atanasov
e3e416c51b rbutilqt/themeeditor: Fix Qt6 deprecations
- insertMulti() -> insert()
- QString::fromUtf16() with a parameter type other than char16_t*
- enterEvent() parameter type changed from QEvent to QEnterEvent
- QVariant -> QMetaType

Co-authored-by: ChatGPT (GPT-5.3 Mini) <chatgpt@openai.com>
Change-Id: Ia9c6c93e281475856e8355a8aa0e64c474eed80c
2026-06-29 17:28:53 -04:00