According to screen driver this device screen is actually 16 bit RGB565 (https://github.com/DrUm78/linux/blob/FunKey_S/drivers/staging/fbtft/fb_st7789v.c#L137).
This also fixes the color banding issues we had before and boomshine doesn't segfault anymore. Also building rockpaint now that's possible.
Change-Id: Icee49c347fbfabc79e0040314ec148cb77ca6325
When a file is deleted from the database, the first character of that entry
is changed to \0. However the entry's length is not updated,
because the entry is still using space in the index.
When checking for deleted files, we were only keying on "length == 0"
instead of also checking to see if the entry itself starts with \0.
Change-Id: Ic00a0b29c3857c597ee5ff6ec01a5f4fd9633447
Although this breaks compatibility with playlist control
file versions 3-5, i.e. control files generated by any RB
build between Jan 29 2023 (commit 25bd3bc) and Oct 26 2024
(commit 7592d2c), compatibility with v2 of the control file
that was in use from 2003 to 2023 is maintained.
Change-Id: I7fd3394e31131bb0563e41d921bcaf940dd999bc
Cleaned up manual changes, and for some reason i forgot to add ACTION_WPS_ABRESET
mappings before so here it is, needed for the manual wps section.
Change-Id: If7ab8b146e84f91bb51a3ed03fb872ef3bab4d1f
A bit of context, this device is a clone of the FunKey-S with a different form factor, hardware is mostly identical, the relevant difference is it has audio out (via usb-c, adapter to 3.5mm is included), this is the reason why the FunKey-SDK is needed for bulding.
This port is based on the old SDL 1.2 code because the device doesn't have SDL2 support. Alongside what was supported in the SDL 1.2 builds this port supports battery level, charging status and backlight control.
Change-Id: I7fcb85be62748644b667c0efebabf59d6e9c5ade
In direct mode, the statically allocated Rockbox LCD framebuffer is used and should never be freed. Otherwise, ROCKBOX_VideoQuit takes care of freeing the dynamically allocated hidden buffer, used for scaling.
This fixed hanging of Rockbox when quitting an SDL app.
Change-Id: Ib9cd8c04cc0d2d6ccedaa582a5a85ef211d0273c
This feature allow easily to start playing all albums from an artist by following the albums tracks orders, just like the Stock OS does on the iPods when you try to listen to all songs from an artist.
It is just a new opportunity, I did not touch the former "All tracks" button which sorts everything by title automatically since it is also very useful (and stock OS don't have this one, and sorting Alphabetically is very useful to listen to all versions of one track from an artist view).
Change-Id: Icf2a29bffe49c4e72f9c81d9727310b84c1150e4
This reverts commit 9d92d161d8.
Reason for revert: going to end up changing this might as well just revert
Change-Id: I914f61a5e79f80ff1bf40c06253c85dba25cc305
if playername.txt is modified its now splashed on device start-up
should be less confusing than having it in the WPS theme I hope..
Change-Id: Ifcec491f75a0c977a98d26292509f4ca62d79dac
Normally we can't browse into a directory that doesn't exist; hwoever
the theme menu lets us directly browse (eg) fonts, themes, etc. If the
target directory is not present (due to a broken installation) we
actually crash!
So, um, check and bail gracefully.
Should fix FS#13636
Change-Id: Idb28c55cf0ce3954114d056725f9992ceaf1db20
Since even Shuffle and Repeat are now immediately applied
from the Quickscreen, I suppose it makes sense to do the
same for the album art setting as the remaining holdout.
Change-Id: Ib1b56c31f28d8197e001901296d9897a23134564
Adjusting certain settings from the Quickscreen causes a
GUI_EVENT_NEED_UI_UPDATE event to be sent. For example:
Changing the Repeat or Shuffle setting while music is playing
or paused (which results in audio being flushed and tracks
being reloaded immediately since commit 1c80f53)
This creates an issue with themes such as Terminal(Two),
FreshOS, or Themify, which appear to have viewports that
overlap with the UI viewport, thereby wiping out the
Quickscreen viewports.
We now redraw the Quickscreen when a full SBS update is
requested, similar to how it is done by lists. You'll still
see the viewport flash in case of misbehaved themes, so,
ideally, these themes would receive an update by their authors,
removing any viewports that overlap the UI viewport.
Change-Id: I7affbb70fc2e72fd6e1418196559204aec125e12
- Default to round border in analog mode
- Default to segmented LCD style in digital and binary mode
- Default to date format most fitting for current language
(instead of D-M-Y)
- Don't forcibly set a light background before menu is
displayed or when quitting
- Update manual
Change-Id: Ifb6a41bb99701ae8f8cbf5fa0db2a3a332085f43
- Use system time format and remove separate setting
- Hide timer until started & eliminate setting for it
- Simplify menu, reorder settings, keep theme enabled
- Make dialog for resetting settings more consistent
with other reset dialogs
Change-Id: I0fd38612b0592cd5a650c8985f377acc70a48eb7
- When loading or saving clock settings,
only show message if an error occurred
- Eliminate error message that was displayed
when clock settings file didn't exist (yet).
Change-Id: I6d9c646d3895dba1f18ef3c2f9e73fa15fbc2c1c
- lap times were not cleared after reset
- fix stuck lap scroll position after reset
- the running counter displayed stuck pixels
depending on the font's character width
Change-Id: I0427bb2257ae8646ae675ae92ae3a5601083c4d1
- Show stats when finished
- Keep stats on screen until Cancel or Menu
button is pressed
- Limiting progress updates to 10fps results
in a big speedup
Change-Id: Iebffaead6e1212306edaa42aad925458d13a5f82
we try to reuse the browse context to return to folders in the plugin browser
but in the browse_folder() case we want to load the root directory
so reset the current browse context and force the browse
to be reloaded
Change-Id: I416ee40411cdce4e404b6119b33d91ff6ba533c8