Commit graph

39447 commits

Author SHA1 Message Date
Skye
f463f4a17a audiohw: remove unused BALANCE_CAP and CLIPPING_CAP
Change-Id: I8905e9a656fcba20c8adeb840d148bcd97511665
2026-07-20 12:47:12 -04:00
Aidan MacDonald
0ca801dffa themeeditor: only add -Wsfinae-incomplete if compiler supports it
This flag was added in GCC 16; older versions of GCC don't
accept it and don't produce the warning, so they don't need
any special handling.

Change-Id: I13fcba07cafe0b4133de8b03ede681d2454249e4
2026-07-19 11:17:05 +01:00
Aidan MacDonald
943b73851e playback: prevent crossfade of new track after pause (FS#13958)
Wipe the PCM buffer when starting playback from a paused state.
This prevents unwanted crossfade when manually pausing and then
selecting a new track.

Change-Id: I55e21004c12a2cd67417b627d471e3da115b7077
2026-07-18 14:08:27 -04:00
William Wilgus
f58038b687 luadir small cleanuo
luadir stores if a file was closed, we can get this by checking for a NULL
file handle instead

Change-Id: I95b8cc84afcdfc8515af8012afb1df64d0987fc4
2026-07-17 10:54:38 -04:00
William Wilgus
3ad3fba68e filebrowse.lua don't display parent path for files
when browsing the filename gets cut off due to the
length of the parent path

Instead strip the parent from the beginning for files

Change-Id: Ib9dadffabced89b5895420cb696227ca8cc444a2
2026-07-17 10:54:38 -04:00
William Wilgus
b481c4536e FS#13954 - Extra semicolon in file paths in get_files module
date and size still have them to separate the filename from attribs

Change-Id: I3fcaa7061d14493dab178d68398bea25f8ca67d6
2026-07-17 10:54:38 -04:00
Roman Artiukhin
8923f479d0 hiby: r3proii: fix crash on playback when no headphones are detected
0 is an invalid value to set on Hiby as "Output Port Switch". For devices with multiple outputs, we need to ensure it is set to a valid port.

Change-Id: I16ea2e620fae3034dccf3267d316924d8e2c0a95
2026-07-17 10:07:29 -04:00
Solomon Peachy
c35271a3f0 themeeditor: Silence a build warning
The warning comes from code generated by QT's MOC, so there isn't
anything to be done until QT addresses this properly.

Change-Id: Ia88ac9af91acbab783b683a6f0b4f4a304aa9e4d
2026-07-16 08:30:26 -04:00
Solomon Peachy
91d49adce2 rbutil: Silence the final build warnings when building with Clang
Change-Id: I65bb37993ef0ef6a0f373711ea16a417d0839cc5
2026-07-15 23:04:26 -04:00
Aidan MacDonald
f20086c91a asm: ARMv7-M: replace unity-gain write_samples() asm with memcpy
Change-Id: I164894d944136474b1b6ba1ce106f163a5db9642
2026-07-15 22:56:05 -04:00
Solomon Peachy
b4a0dc7274 rbutil: Ignore the deprecated warnings for macos builds
A replacement is in progress, so let's ignore those warnings in the mean time

Change-Id: Ic3123d2b37a21c6c0570619c387de0f1141c70f1
2026-07-15 21:16:56 -04:00
Solomon Peachy
6c4107d1ad libspeex: Silence a spurious warning under Clang
Change-Id: I9790e92dd9120afff83114925b8e6eb482d6e7df
2026-07-15 16:22:18 -04:00
Roman Artiukhin
0c29c97f1a hiby: r1: fix headphone detection
Change-Id: I4fdf47fb3585754428f6be804e65993e965c3914
2026-07-15 15:54:57 +03:00
Michael McAllister
078a506dfd hibyr1: route ADB through the usb-mode setting
hibyr1 defines HAVE_USB_ADB so the USB mode setting offers an ADB
entry, but hiby_set_usb_mode() never handled USB_MODE_ADB (it fell
through to default), so selecting ADB did nothing.

Wire USB_MODE_ADB up to enable_adb(). It builds the adb function on
the gadget and hands the functionfs mount and adbd to the vendor
respawner /sbin/adbserver.sh, rather than mounting functionfs inline
(which the original code flagged as flaky); adbd binds the UDC itself,
so usb_enable() leaves the UDC alone in ADB mode. disable_adb() unlinks
the adb function and unmounts its functionfs but leaves the function in
place to be reused, matching how adbserver.sh cycles it, so re-enabling
adb never re-creates it.

The mass-storage LUN is removable, so the host clears its backing file
when it ejects the volume (Linux does this on unmount). Re-arm the LUN
in usb_enable() on each connect, so the disk is exported on every
insert and not only the first.

Assisted-by: Claude Opus 4.8

Change-Id: Ia8f119a1a599e6dd3c1219cb4e193c753725a06a
2026-07-12 11:19:40 -04:00
mojyack
37943178f0 usb: Directly reference the "driver" in the endpoint data structure
Results in cleaner code versus effectively cut-n-pasting the driver's
completion callbacks into the endpoint structure.

Change-Id: I043c46c91796f787dec098a7db043481834950a0
2026-07-12 09:02:29 -04:00
Aidan MacDonald
7e6ae1e0d8 echoplayer: enable plugins
First pass at enabling plugins and setting up keymaps.

Change-Id: I3140160bcc3044850416904840b35065f86ac32d
2026-07-12 08:56:44 -04:00
Aidan MacDonald
862370982c stm32h743: implement timer API
Change-Id: Idcac3ab528e154097fb76fcfda78540ef02494df
2026-07-11 17:23:36 -04:00
Aidan MacDonald
c187b4c674 echoplayer: fix missing const qualifier on stm32 clocks
Change-Id: I295013b5af0e2aad77b5e284b351aaefde42df7c
2026-07-11 17:23:36 -04:00
Solomon Peachy
b9c7b0e910 fix: new yellow
for #pragma GCC diagnostic, GCC must be capitalized.

Change-Id: I1d760dd83b4dc29590454f4f4e09c5dface2c48f
2026-07-11 08:52:12 -04:00
Solomon Peachy
9ebe34d570 speex: Silence spurious build warning when building under rbutil
Change-Id: Ida23a960c54de1a46d0787795efb7b28b6427939
2026-07-11 08:04:10 -04:00
Solomon Peachy
4e770b4b87 rbutil: Add missing SAPI5 LANGID for Moldavian (ro_MD)
Change-Id: Ica67356d9bf71784543e17ea98abc8a8716d6fba
2026-07-10 22:12:11 -04:00
Solomon Peachy
2b6a8ffba2 rbutil: Get rid of all remnants of SAPI4 TTS support
Change-Id: I89cc53e2ebea273752c119e8c63f7eb36b1f22e0
2026-07-10 22:12:11 -04:00
Solomon Peachy
931fbb6734 rbutilqt: QtTTS: Pick a sane TTS engine/backend by default
* Ignore 'mock' tts engine
 * Must support synthesizing to a file (ie not just "speaking")
 * Don't claim 'speak' capabilities if the chosen engine does not

Change-Id: Id5fd224466ed62df5af837256fa66a340672d167
2026-07-10 08:08:39 -04:00
Solomon Peachy
8157759b7e rbutil: Rephrase optional component "not found" messages
Prevents builder from falsely failing builds and their builders.

Change-Id: I44df41416ef41401248132114ee586abde05d93e
2026-07-09 22:40:44 -04:00
Solomon Peachy
814979d49b rbutil: Enforce requirement of QT 6.6 or newer
Change-Id: I96064633c00ca2e13cfd9308a7f5d71cba7933cb
2026-07-09 20:32:34 -04:00
Solomon Peachy
d33d2f0840 rbutil: ttsqt: Bail if TTS engine doesn't support saving to file
Change-Id: Iaac0f77836727e5d8853d32a0b47c5d8d62b3365
2026-07-09 20:32:19 -04:00
Vencislav Atanasov
acba3fcb07 rbutilqt: Add the Qt TextToSpeech module as a new optional TTS engine
Co-authored-by: Qwen3.7-Plus
Change-Id: Ib6ddce52eee30139952e6597504ab96517dc15bd
2026-07-09 15:56:49 -04:00
Solomon Peachy
390d17893f rbutil: Rework TTS classes to use a stringlist for arguments
Instead of passing the entire cmdline as a single string that was
treated as the exectuable name on some platforms

Change-Id: Ic4f043a3a48e1b1bfab82bbfa8983c2d224606ec
2026-07-09 15:00:20 -04:00
Solomon Peachy
a9a4b3316f rbutil: Delete the long-disabled and very obsolete SAPI4 TTS code
Change-Id: I24f69cbe646d5c5ddb488a8a1912d028ec017acf
2026-07-09 14:58:37 -04:00
William Wilgus
ca7399821f FS#13953 - lua add get_files() to its own module
get_files(path, recurse, finddir, findfile, sort_by, cancel_fn, f_t, d_t)

get_files returns a sorted tables of directories and (another) of files

path is the starting path; recurse == false.. only that path will be searched

findfile & finddir are definable search functions
 if not defined all files/dirs are returned if false is passed.. none
  or you can provide your own function

sort_by can be by "name" "size" "date" or "none" to perform no sorting
 note: for "size" and "date" you may need to strip the attribute data to use
 the returned filename

cancel_fn if not defined or not a function no user cancel otherwise supply
    your own cancel function which returns true to cancel searching for files

f_t and d_t allow you to pass your own tables for re-use but isn't necessary

Change-Id: Ic4c2ad9c9b5abeeeeaf572880edbc8873d52066b
2026-07-09 12:45:05 -04:00
Solomon Peachy
097403e1a2 Update the RealName and AI sections in docs/CONTRIBUTING
Change-Id: I8cb7b3b8847b8cc9934cc8c055b8ce6a7d0a0add
2026-07-08 10:44:14 -04:00
Vencislav Atanasov
3967180c62 rbutilqt: Simplify Utils::mountpoints() using QStorageInfo
Co-authored-by: Qwen3.7-Plus
Change-Id: I5832963d1a176754315dc28ffab75fa0a06f0334
2026-07-08 03:16:28 +03:00
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