1
0
Fork 0
forked from len0rd/rockbox
Commit graph

38236 commits

Author SHA1 Message Date
Christian Soffke
79191bf9bb simulator: Fix Sansa Clip display position
Change-Id: I23be28e6bfa4ead326416d0457ffa11c3bf18a54
2024-12-25 12:23:27 +01:00
William Wilgus
b44f8f3723 [FixYellow] skin_tokens.c add a preprocessor directive that actually works
Change-Id: I4345093be1d953e80f0043f6edd361517f74069b
2024-12-25 01:40:53 -05:00
William Wilgus
4fe6ce91ec skin_tokens.c use static mp3entry if over 2k
Change-Id: I5c1130673d2caf1198aa65c2b84bc7102f768c3d
2024-12-25 01:27:52 -05:00
William Wilgus
6bec4597bf get_mp3entry_from_offset remove static from struct mp3entry
I think with the recent refactoring we should be able to put mp3entry
on the stack

it should be moved up a level anyway

Change-Id: Idd2af598c48545e3dbc774279b5d2b264012805e
2024-12-25 00:56:49 -05:00
William Wilgus
8981311800 skin_tokens.c break quickscreen items out to a function
rather than a function call for each qs item along with the data
for those calls in the switch for get_token_value()

it makes more sense to just have the qs_token function
handle all of the logic

Change-Id: I3b3072496611fc2c536eec33c7cdf9fb2ec67ee0
2024-12-24 12:43:26 -05:00
William Wilgus
25ab00465e metadata.c don't store encoder filename for all the decoders
there are only 4 encoder capable codecs just make it a function
and add a macro to keep it sane

Change-Id: Iac8833226434f8436bc678f3e409f462764d8fdc
2024-12-24 01:47:18 -05:00
William Wilgus
f6b13c0fd0 skin_tokens.c break rtc code and id3 into own functions
clean-up the switch a bit by putting rtc code in its own function

move the id3 tags to the default branch and only read id3
if its actually needed

Change-Id: I0a6fe9aea646defcfdda731c4c963977173c4133
2024-12-23 22:57:52 -05:00
William Wilgus
dfd01709c5 [Bugfix] theme %ss will overflow buffer, update %ft manual entry
%ss did not check for the size of the resulting string before
copying it to the buffer

%ft has a search text mode

Change-Id: I1321681c249251aafe0e39bcc510b9e81f0cd0d3
2024-12-22 23:59:31 -05:00
William Wilgus
50515de940 [Fix Red] Manuals
Change-Id: Ie61e06b77d1e3ee2fcf06503bc6f487df67ebe64
2024-12-22 10:17:21 -05:00
William Wilgus
7d1cdf3ece small cleanup skin_parser parse_album_art parse_image_load
bugfix parse_font_load() allow fonts with . in filename

Change-Id: Idcd201f624699e184e5181a46848c36b7e3fca49
2024-12-22 09:18:22 -05:00
William Wilgus
7c678f5e7a [Feature] %ft file text tags add prefix search
%ft(filename,search_text)
finds a line beginning with search_text strips search_text and returns
the remainder of the line

Change-Id: I06fe029b89aa60e4dbf34c039d180c75213519a4
2024-12-22 01:11:10 -05:00
William Wilgus
632e72273d small cleanup putsxyofs()
store the vp local rather than using current_viewport
use the flags directly rather storing them

Change-Id: I93391acff4745aae3d5d7e695c0eabd6dbeabb11
2024-12-21 19:11:02 -05:00
William Wilgus
8091477f8d Optimize 16 bit lcd_fillrect()
move switch outside loop

adds ~10000 ops/s in test_gfx

Change-Id: I2204d637282aae4bbc0dde31395c6cc0568f3247
2024-12-21 18:19:38 -05:00
William Wilgus
d6e99178aa lcd-16bit-common optimize bitmap_part
in testing this slightly speeds up any of the draw routines using fg or bg
and slightly slows down the ones that don't
being that these are already faster it serves to bring them closer in
ops per second

.. and slightly speeds up the most general case DRMODE_SOLID

Change-Id: I4ea4898354e8bc9dfa7e96f188108ca77ea0aca9
2024-12-21 16:37:35 -05:00
William Wilgus
9c477e84ff [Bugix] %ft has access to the root of the drive using /
path_append treats a path starting with / as absolute
allowing escape by themes

Change-Id: I8e5fb55f01cacd5ec0fc5538d92dfcfbdceb6892
2024-12-20 22:59:03 -05:00
William Wilgus
774357e722 [Bugfix] Volume, track starting and track ending no default timeout
if no params are given these three supply a default
it wasn't being applied since it was guarded by the else{}

Change-Id: I2966fd7d8daa695d8b214461749c93b3e7883e51
2024-12-20 22:41:07 -05:00
Dana Conrad
48811ed4a8 ErosQ Hosted: Fix maximum volume upon plugging in headphones
Ref. FS#13533

Change-Id: I343df8cd351bb2578dd11894114903eba527f2c7
2024-12-20 12:09:35 -05:00
William Wilgus
660fa3ffdc scroll engine calculate stringsize only when scroll line updated
we calculate the size of the scrolling line every scroll update
the line data doesn't ever change without a call to update
instead calculate the string size when the line is updated
re-use this value while scrolling the line

in theory the current font could change but in practice
I can't find a case when the string size needs to be updated
that the scroll engine isn't already updating the line

if this is later an issue we can recalculate the stringsize each time
the line is finished scrolling which still saves quite a few calculations

Other:
I don't think we have any targets with pixel counts exceeding 65535 pixels
where unsigned short stringsize will be an issue

Change-Id: I83d6374377ed648d9a320d4fd69f9d6a17095b0c
2024-12-20 10:31:46 -05:00
Vencislav Atanasov
f179fc1079 S5L87xx bootloader: Add option for viewing SysCfg in the development bootloader
No changes in regular bootloader binary. Tested the development bootloader on ipod6g.

Change-Id: I7a4127bf315addcc5ee4dd8b17dd6b180eb9af76
2024-12-20 08:00:41 -05:00
Christian Soffke
a032611e3e configure: remove clang warning for darwin host
not a reason to warn (anymore)

Change-Id: Ia4e42ebb03d1aa5e4a22906acb164fb795470773
2024-12-20 10:46:22 +01:00
Christian Soffke
727c800c0d Don't force gcc as host compiler + fix clang warnings
On MacOS, gcc is a symlink for clang.

Patch gets rid of the warnings produced by clang,
when it is set as HOSTCC, and fixes voicetools
compilation on MacOS when calling make voicetools
from the simulator directory.

lua rb_defines_helper:
format specifies type 'int' but the argument has
type 'long'

codecs: opus / speex (LOGF):
format '%ld' expects argument of type 'long int',
but argument 7 has type 'off_t'

gigabeat:
variable 'size' set but not used

rdf2binary:
a function declaration without a prototype is
deprecated in all versions of C

rbspeexdec:
passing 'unsigned char *' to parameter of type
'char *' converts between pointers to integer
types where one is of the unique plain 'char'
type and the other is not

hmac-sha1.c
defining a type within 'offsetof' is a Clang
extension

Change-Id: I90539906698868f9589650585d865aee9f7e8539
2024-12-20 05:29:18 +01:00
Christian Soffke
a86b1999d0 simulator: fix missing Werror option + eliminate lib duplicate
configure:
Ensure Werror option doesn't get lost when simcc resets GCCOPTS

uisimulator.make:
Remove ignored duplicate SIMLIB on Darwin

codecs.make:
Eliminate some redundancy

Change-Id: Ieee6f677fd22666cb58aa6fe53eabdc0b0f8c190
2024-12-19 15:04:46 -05:00
William Wilgus
0bb79dd847 ascodec (sansas) add a 10 minute delay before re-enabling charge
Change-Id: I0b7bc3c92aeefa43f40becb26d7d9344d463775b
2024-12-19 12:11:38 -05:00
William Wilgus
b77c973d1a [Bugfix] line_alternators reset scroll state without new data
this is fallout from allowing a scroll item redisplay timeouts

prior to eb3e5eb  '[Feature] skinengine subline timeout hide line for n seconds'
the behavior could be seen sparingly
after we now have an alternator front and center with the next track scroll

unfortunately this results in strings never scrolling to completion

fix:
if the current line hasn't changed and we are not doing a
full screen refresh, don't invalidate the scroll viewport
(the scroll engine will still handle the user data changing
 if that actually occurred)

Change-Id: I10d4b8a05caa28de617dc6454520ce5426d69532
2024-12-19 11:32:26 -05:00
William Wilgus
12ea82d9e4 Allow scroll_all lists to resume scrolling lines
rather than reset the scrolling lines in list_draw()
when scroll_all = true
allow the scroller to take care of stopping lines
after the offset is known

this pretty much entirely the debug menus

Change-Id: I7069e0634d32b5ad8f92c294c5caf85373a7d480
2024-12-17 23:51:21 -05:00
Vencislav Atanasov
cf4bf5439e S5L8702: Introduce syscfg_read() and use it in the debug menu
This makes it possible to reuse the SysCfg reading logic in other places.

Tested on ipod6g (normal + bootloader).

Change-Id: Iae6de2ee671bce4edb0153d26c57579ad47d0335
2024-12-17 23:08:10 -05:00
Vencislav Atanasov
e27f778fb6 S5L87xx bootloader: Change ATA/HDD references to Storage
Tested on ipod6g. No changes besides a text string.

This is a part of the large iPod Nano 3G and iPod Nano 4G support patch.

Change-Id: I3e527f3e36ab12682a54fc34c40d1ae0c2a7c797
2024-12-17 21:19:15 -05:00
Vencislav Atanasov
296247612d S5L87xx bootloader: Add development menu (disabled by default)
A new flag S5L87XX_DEVELOPMENT_BOOTLOADER is introduced, to replace some of the bootloader functionality with debug/development menu. Not intended for end users, so it's not enabled unless explicitly specified when building

No changes to the binary if the new flag is not enabled.

Bootloader with the flag enabled boots on ipod6g.

This is a part of the large iPod Nano 3G and iPod Nano 4G support patch.

Change-Id: I3f28c94b4c1e29f3635285c7f0fd24a622a80c54
2024-12-17 21:19:15 -05:00
Dana Conrad
7d3cc24dec FS#13519: multivolume: Ensure absolute paths get drive designation
Change-Id: I8419af670ca101b11bba29d9fd577f21fa22fd42
2024-12-17 21:18:06 -05:00
Christian Soffke
aeb4b6c34a mkboot500: fix compilation on MacOS
code changes limited to L-31-37,
rest is trailing whitespace cleanup

Change-Id: Iaec8f1daec5112715085f1a59b0347044fcbbc09
2024-12-17 13:33:35 +01:00
Christian Soffke
cede12f197 simulator: fix missing background bmp on MacOS
Change-Id: I6ad8b78519764dad53d8353d14432f791a7a85a5
2024-12-17 12:03:33 +01:00
William Wilgus
33c0c9efae [Bugfix] Simulator doesn't scroll lists in plugins
unless lcd_update() is called the sim doesn't update scrolling
you CANNOT call it from the scroll thread its simply ignored

I suspect this has something to do with where the call to render
originates as thi is the only thing I can think of besides
a call to disable the render

see demos/rb_info > paths -- observe the lack of scrolling
see any menu in a plugin that exceeds screen width

Change-Id: Ic14dee4a34de29479d739e6a280d6cf1cc283719
2024-12-16 11:37:56 -05:00
Christian Soffke
15b18e478c plugins: properties: make file info displayable in fullscreen
Extend functionality for displaying info in fullscreen
to folders or files that aren't audio tracks (e.g., to
display the full length of a file name)

Change-Id: I73617e2fd7c291a3c49ddd1b108e418cf069d179
2024-12-16 01:44:53 -05:00
Vencislav Atanasov
1468649258 Convert non-ASCII characters to UTF-8 or C-string literals
Comments are converted to UTF-8.

Strings which are part of executable code are converted using C-string hex literals. A comment with the intended UTF-8 character is appended to such lines.

The "c"-looking character in mpa.c was actually a small cyrillic "s" (i.e. "с").

Change-Id: If3a889080ef60b8bf756ad9ada38baede93ce35b
2024-12-15 21:16:12 -05:00
Vencislav Atanasov
5d7c8a0df1 Convert non-ASCII characters to UTF-8
Comments and notes are converted to UTF-8. Already broken multibyte characters are fixed using common sense.

This patch contains no code changes.

Change-Id: Ia511ab84936cb2495ac17309493a9b98727a7902
2024-12-15 21:16:12 -05:00
Christian Soffke
8f5128da16 Show Track Info: Support fs tags in Playlist Viewer, Properties, and PictureFlow
Playlist Viewer falls back to splashf if there is not
enough plugin buffer space left for running the
view_text plugin .

Change-Id: I418731018b03f396270b68e5e2d2e69635df1af0
2024-12-16 00:20:10 +01:00
Roman Artiukhin
4062a6aefc WIP Show Track Info: Select on tag opens it in full screen
Mostly useful for reading comments

WIP as it currently works only from WPS. Doesn't work from file browser(see https://gerrit.rockbox.org/r/c/rockbox/+/5999). Also breaks playlist viewer if called from there. Not sure how to handle it properly in all cases and not currently planning to work on it

Change-Id: I441eb9c6b3fe50f58436111d83bc98a25841d656
2024-12-16 00:13:19 +01:00
Christian Soffke
5e66f0e762 plugins: Remove id3 lib
only remaining user is PictureFlow, and
function is arguably not lib-worthy at
this point

Change-Id: If5cff56fc4aed7c8029782a7087ba4cfef3ec4ea
2024-12-15 23:50:24 +01:00
Roman Artiukhin
de8d1437dc metadata: asf: Use system utf16decode conversion
Change-Id: I606bf5365c84cbee4badd1ac1cbaace1207834f4
2024-12-15 15:44:57 -05:00
Roman Artiukhin
1f548f74e6 unicode: add utf16decode with utf8 buffer size check
Make use of it in id3tags and cuesheet

Change-Id: I153c23f1f7312e9d5e1de9f03725f2d2ab0abc93
2024-12-15 15:44:57 -05:00
Dana Conrad
e334a1f95e Settings: Make Default Codepage default to UTF-8
Associated with FS#13534

Change-Id: I41f64ff59b32aac90158cf72bc535e7fc6949b3b
2024-12-15 15:44:15 -05:00
Solomon Peachy
10b8448511 Don't use CHECK_VOL(x) as a loop conditional
...On non-multidrive targets it will always evaluate to true because
it effectively ignores the argument passed in.

Instead use 'x < NUM_VOLUMES'

Fixes regression introduced with a41a001258 on non-multivolume devices

Change-Id: I1a620af113c87cf3227ef8b40d0b51b2600cd816
2024-12-15 15:34:18 -05:00
Vencislav Atanasov
843157e227 S5L8702: Abstract LCD driver
This driver decouples the LCD interface from the target-specific LCD parameters. It makes it possible to reuse most of the ipod6g driver code on ipodnano3g and ipodnano4g.

No difference in the produced binaries for ipodnano2g (normal and bootloader).

Tested on ipod6g (normal and bootloader).

This is a part of the large iPod Nano 3G and iPod Nano 4G support patch.

Change-Id: I7ce198ed3d5a8b58759951e2d67788cbf9781dc8
2024-12-15 14:52:36 -05:00
Christian Soffke
63d8aa0077 metadata: mp3: update out-of-date comments
(L1033 + L1170)

As of commit f3e5ced, tags will be parsed
unconditionally, regardless of whether
they've been filled already.

Change-Id: I7edd4b7131b33dba34f06ebe829ebdc00a138525
2024-12-15 09:27:06 -05:00
Roman Artiukhin
004304dc65 unicode: add iso_decode_ex with utf8 buffer size check
Make use of it in id3tags, playlist and cuesheet

Change-Id: Ibc8abc0faf16688bc9b826b7a712d1dfe9bf75b2
2024-12-15 09:26:26 -05:00
Vencislav Atanasov
f8fa1e7d5a S5L8702: Move I/O addresses and bit masks from clocking driver to SoC definitions, reuse existing definitions
No difference in the produced binaries for ipod6g (normal and bootloader)

This is a part of the large iPod Nano 3G and iPod Nano 4G support patch.

Change-Id: Ib79c5539a317aae350d661ab23c181471ee38abb
2024-12-15 01:06:09 +02:00
Vencislav Atanasov
afeefcbec1 S5L8702: Move I/O addresses from DMA driver to SoC definitions, reuse existing definitions
No difference in the produced binaries for ipod6g (normal and bootloader)

This is a part of the large iPod Nano 3G and iPod Nano 4G support patch.

Change-Id: I82943e91ba7e6764428f853f84799f0d54b700a6
2024-12-14 18:23:48 +02:00
Vencislav Atanasov
037172d5c2 S5L8702: Read WDT_BASE from SoC definitions
Tested on ipod6g (normal + bootloader).

No functional change, no binary size change, the only difference is using r3 instead of r1 for the WDT_BASE address value.

Change-Id: I2ce2b7d987671cb4fcbbcdde574437b21a534da0
2024-12-14 07:57:53 -05:00
Vencislav Atanasov
eb57d42879 S5L8702: Move I/O addresses from drivers to SoC definitions
No changes to ipod6g binaries (normal + bootloader).

Change-Id: Iaad0d0de16176ff94b1f67aa3fdb7c6cc063b27e
2024-12-14 07:57:53 -05:00
William Wilgus
f233b6e2f2 'libmad remove warnings
calculating inside a function makes it work
adding FORCE_INLINE makes warning reappear
anything else in bounds of the array asounds ok but has digital
distortion so pretty confident the code is right

Change-Id: Ibb2babe20b1d8a980f3e3fd19b4cddaaff9213a6
2024-12-14 01:21:56 -05:00