1
0
Fork 0
forked from len0rd/rockbox
Commit graph

38236 commits

Author SHA1 Message Date
Solomon Peachy
7e31b73eda Multiple Translation updates
- Korean (Hoseok Seo)
 - Polish (Adam Rak)
 - Simplified Chinese ( 王吉)
 - US English (Solomon Peachy)

Change-Id: Id5fa80d1d6711cdcb93d158ff014552732168e18
2024-09-10 15:35:14 -04:00
Timothée Jaussoin
6b67f0fd3d Complete the french translation for the main menus and settings
Change-Id: I943b610a49a12e7d98d226a64d1284b96ae5e549
2024-09-10 10:08:56 -04:00
William Wilgus
8b754ce591 tagtree add crc check so we can reuse already loaded entries
If you have a lot of tracks loaded in a database view and play a
track it builds a playlist and puts you into the wps

if you stop playback and exit the WPS you are immediately
loading entries that were just loaded

if you return to the database again reload data thats probably
still there

this patch gets a crc of the data and if it matches reuses it in
the tagtree rather than reloading it

Change-Id: Ice3aba7569f19afdd1627ba18c2dc781f98cbf93
2024-09-10 03:49:21 -04:00
Paul Sauro
f7db73097a Playlist viewer: Add new options to allow formatting using tags
Offer new options to show elegantly your entries in any playlist/dynamic playlist viewer. This is especially important if you dual boot an iPod with Stock OS and want to sync with iTunes; with this very popular setup, file names are obfuscated which results in any Rockbox playlist viewer difficult to enjoy, and it was a long standing issue reported by several Rockbox users over the years. The only way to show the title was to open a contextual menu on each song to get infos about the selected song, which is a very long and anti-ergonomic process to understand what is on your current playlist/randomized playlist. The idea of this patch is to provide new alternatives that the user can select. I personally selected the Title & Album view which provides excellent readability.

This patch was built with performance in mind using lazy loading to load one by one the tags then cache a string and use the little cache as much as possible to make scrolling in the same area as smooth as possible. Performance remains very acceptable even on an iPod 4G with its original hard drive. Using a real compact flash with my iPod Mini 2G reduces the latency even more.

Those new options are disabled by default because they impact noticeably the scrolling performance and are less relevant if your files are decently properly named.

Unfortunately, the search feature in a playlist will need to continue to use the raw filename because reading the tags for a whole playlist is a performance disaster. This works decently while viewing just because I made a code that load those one by one as much as possible.

I focused also on testing that the opening of the playlist viewer UI remained fast, and loading one by one with lazy loading allows to get very little overhead in this regard.

Change-Id: I00d9c802e29f8372447813b035bbae207a016467
2024-09-09 18:21:38 -04:00
Dana Conrad
a7cfee640d erosqnative: only check for EROSQN_VER if bootloader build
Change-Id: If1dea2414b5c55d54dfd48aa9b24d29bdd49001a
2024-09-08 17:10:04 -04:00
Solomon Peachy
1f1b3bce86 FS#13480: Updated Russian Translation (Dimitry Prozorov)
Change-Id: I6f35d6b596c580e22346b806b2f8fc987a85d219
2024-09-08 14:31:56 -04:00
Solomon Peachy
868631e7d1 Update US English "translation"
Change-Id: I8c5213fdec3cec418179920c00ab3766d6249fd7
2024-09-08 14:31:56 -04:00
Solomon Peachy
37ca92d276 lua: button_helper needs $(EXTRA_DEFINES) on the host build side
Change-Id: I526f2deec4e4f9b8dbf00015c2c9a76f738a6248
2024-09-08 12:57:22 -04:00
Solomon Peachy
83890c249c FS#13482 - Corrected italian translation (Alessio Lenzi)
Change-Id: Ibd13cdf68aca4d72865e8f75adfcdcc13753eb0d
2024-09-08 12:32:21 -04:00
Solomon Peachy
1aa5d24a25 CREDITS: No nicks/handles, just RealNames.
Change-Id: I71bd9ae0551acf63f88d7fc528fb046a61d9f9a0
2024-09-08 12:31:35 -04:00
Dana Conrad
89fd4d0a51 hibyOS: OF patcher script for Native ports
This is a script to patch a native bootloader
(bootloader.*) into a stock OF firmware image (update.upt).

Usage: hibyos_nativepatcher.sh <path/to/update.upt>
<path/to/bootloder.*>

Resulting file will be placed next to the original update, and will
be named [$orig_name]_patched_[$rbver].upt

Now with some rudimentary error checking at key points!

Works on macos.
Works on linux, at least debian in docker. Linux
usage requires 7z and genisoimage.

Change-Id: I2878e7ab4652b73f44c6f1efd54047953f636c86
2024-09-08 12:29:23 -04:00
Dana Conrad
a5462d6192 erosqnative: Give erosqnative_v3 its own target ID and modelname
This is needed so "make clean; make reconf" will work correctly.

Change-Id: Ife13e59ac6054f04f7095aa2263ec64595eeb3a2
2024-09-08 12:29:03 -04:00
William Wilgus
a86e2b5c6e Tagtree selective random playlist -- rewrite
this is a bit cleaner without so much ram (or code) used

Credit to goes to Paul Sauro (OlsroFR) as this was his idea

if available space exists in the pluginbuf it uses fisher yates
shuffle to get good probability
and falls back to random permutation if not

Change-Id: I413078a48314ce4c6f3722c78e0858a407b7b46e
2024-09-08 12:09:04 -04:00
Wolfram Sang
22b05c97a3 codec: cRSID: check whole load address
Due to a typo, only the high byte of the embedded load address was
checked to be empty. For a full check, high and low byte must be
evaluated, of course. Also, fixed in cRSID 1.3.

Change-Id: Ib0b701622b006ab4bb1791f07bf17b3b06a70719
2024-09-05 16:16:18 +02:00
William Wilgus
55e1a78cf8 Reworks to the shuffle system
spread remaining songs amongst segments
bit of code clean-up

Change-Id: I198b54978eb9d111e060bb9aca3d71c348cad7c9
2024-09-04 10:58:24 -04:00
William Wilgus
34e54b33f7 codestyle changes on g5911
Change-Id: I8e3b172686fe78d52a8b407193479d3af36ee536
2024-09-04 10:58:24 -04:00
Solomon Peachy
87e9ca2d3a FS#13481: Updated Simplified Chinese translation (王吉)
Change-Id: I3e6022be2f89e85424a9ead3a3159d7043dc0fcc
2024-09-04 08:50:15 -04:00
Solomon Peachy
142003328d Translation updates:
* English-US (Solomon Peachy)
     * Italian (Alessio Lenzi)
     * Korean (Hoseok Seo)
     * Polish (Adam Rak)

Change-Id: I9c936468e1b96cb8496274076b542f1625d6ae21
2024-09-03 11:21:30 -04:00
Dana Conrad
878e29396c ErosQNative: Add v3 LCD support, conditional on bootloader
bootloader passes the player version to rockbox for LCD init changes

Credit ZappBranigan2972 on forums for original changes
Credit Bilgus for devicedata additions

Change-Id: Ia2ca493edef49b7457e84dc19b05397dc915fa5a
2024-09-02 13:29:43 -04:00
William Wilgus
a2cc7546d8 Add DeviceData to bootloaders
same vein as bootdata but for devices that need to pass info back to a
running firmware

Change-Id: I0cdcdc0475804dfbbee415ab487104ae8fc8ac69
2024-09-02 13:29:43 -04:00
Paul Sauro
c16dbbfd1f Reworks to the shuffle system to improve performance and allow fast shuffling from a big library (but this work for all database views)
This improvement brings a huge performance improvement to start a random mix of your library. Previously, the only way to do this was to increase the size of a playlist with absurd sizes number. Now it will respect the limitation but will insert random songs from the current view.

Database: Add true random songs in playlist if it is gonna exceed its maximum capacity

More context is available here : https://www.reddit.com/r/rockbox/comments/1ez0mq4/i_developped_true_full_library_shuffle_for/

Also :
- Improved layout in the DB browser
- New default max playlists capacity is now 2000 on old PortalPlayer targets to give a better user experience and not having to wait dozens of seconds while creating a playlist
- "Show insert shuffled" option is now true by default
- Add a new shortcut to play all songs shuffled in the DB browser
- Now the feature is fully optional and enabled only on targets that have more than 2MB of RAM
- Add entries about this feature in the manual to explain it to the users
Change-Id: I1aebaf7ebcff2bf907080f1861027d530619097c

Change-Id: I3354923b148eeef1975171990e814a1a505d1df0
2024-08-31 10:44:20 -04:00
Solomon Peachy
f6e8c20188 FS#13475: Updated Polish translation (Adam Rak)
Change-Id: I0d06661492c9c174c354974816c115f90d8da92a
2024-08-30 08:33:20 -04:00
Solomon Peachy
8319d43b57 FS#13474: Updated Simplified Chinese translation (王吉)
Change-Id: I2046ddf580f0d6ddb40fd06a685af9fc56db7875
2024-08-30 08:32:07 -04:00
Solomon Peachy
edd607c392 FS#13473: Update Korean translation (Hoseok Seo)
Change-Id: Ie624920ae4e8c88382051f44067ef47a33b4c1a2
2024-08-29 08:07:45 -04:00
Solomon Peachy
976a2a22d5 Update english-us "translation"
Change-Id: I6da931655a9a1e43cef6cac566bee5403a279ea1
2024-08-29 08:06:57 -04:00
William Wilgus
054ba76d81 Morse code cheat sheet, better use [of] pixels available on screen
This improvement allows to show all characters even on a tiny screen
like the screen of the iPod Minis

Change-Id: Ibffd4f562d8bf9b3859528bbea59ca4f9190c4fd
2024-08-29 07:59:04 -04:00
Paul Sauro
14a8f9a863 Integrate the new option to the theme engine and to the manual
Change-Id: I8890723a37f905727d068e484b841e1ddaf8f98c
2024-08-28 21:38:35 -04:00
William Wilgus
49bbfe7505 Fix red fbc8b2156f
lcd_scroll is include in a weird manner and includes need to go in
scroll_engine.c instead and still be blocked from bootloaders

Change-Id: Ic99d123f7d428d511380c7064a9453de56218a17
2024-08-28 21:26:06 -04:00
Paul Sauro
fbc8b2156f Credits: Adding me to the credits of the project
Change-Id: Id80f83e2b8d95c8b4e0881b59395a0a82bff2f62
2024-08-28 20:26:16 -04:00
Paul Sauro
f69d9c8a95 Settings: Add a new option to prevent text scrollings in the home screen
This option is especially useful for theme creators that want to create themes with lockscreens. When text is scrolling, it is breaking the lockscreen so setting this option to true prevent this. Text will continue to scroll normally in all other contexts.

Change-Id: I194f6837217881d50f567a775b81d0b422caf35c
2024-08-28 20:24:44 -04:00
Dana Conrad
f6b9e923dc ErosQNative: Re-enable OF recovery
This is needed to be able to do updates to the OF due to the fact
that the OF reboots when you select "update firmware".

By default, most OF update images do not update the bootloader,
but it is easy to modify them to do so, and they already contain
a uboot.bin binary.

I tested using the Aigo Recovery from our native bootloader and it
sure seems to work fine.

If we patch the OF update images to load our own native bootloader,
this will be doubly necessary for uninstallation.

Change-Id: Id69b0321e293331b3936c3f3e7e012d5f00b479a
2024-08-27 09:23:53 -04:00
Dana Conrad
56dd7ead63 rolo: Write bootdata regardless of whether running from root or redirect
As long as bootdata is valid, write it.

Change-Id: I63114b835d43c800217d2b688f9f7e2c2fb34c15
2024-08-27 07:43:25 -04:00
Aidan MacDonald
ec8fb871f0 rockboxdev: fix glib compile error on hosts with Python 3.12 (FS#13471)
On hosts running Python 3.12, building the hosted MIPS toolchain fails
on glib with the error

    Traceback (most recent call last):
      File "<string>", line 2, in <module>
    ModuleNotFoundError: No module named 'imp'
    gmake[6]: *** [Makefile:982: install-codegenPYTHON] Error 1
    gmake[6]: Leaving directory '/tmp/rbdev-build/build-glib-2.46.2/gio/gdbus-2.0/codegen'

due to 'imp' being removed from Python 3.12 after a long deprecation
period. The module is imported by automake's py-compile script, but
in newer versions of automake this has been updated to use 'importlib'
instead, so running autoreconf fixes this.

We need to patch m4macros/glib-gettext.m4 to avoid an error running
autoreconf (see: https://gitlab.gnome.org/GNOME/glib/-/issues/1159):

    ac-wrapper: autoreconf: warning: auto-detected versions not found ( 2.69 2.69); falling back to latest available
    autoreconf-2.71: export WARNINGS=
    autoreconf-2.71: Entering directory '.'
    autoreconf-2.71: configure.ac: not using Gettext
    autoreconf-2.71: running: aclocal --force -I m4macros ${ACLOCAL_FLAGS}
    am-wrapper: aclocal: warning: auto-detected versions not found (1.15); falling back to latest available
    m4macros/glib-gettext.m4:39: error: m4_copy: won't overwrite defined macro: glib_DEFUN
    m4macros/glib-gettext.m4:39: the top level
    autom4te-2.71: error: /usr/bin/m4 failed with exit status: 1
    aclocal-1.16: error: /usr/bin/autom4te-2.71 failed with exit status: 1
    autoreconf-2.71: error: aclocal failed with exit status: 1

This problem goes away in glib 2.47.5 when they switched to using
upstream gettext.

Change-Id: I878a9d7086d17c6de43470b6e5f14917f0ae1bb9
2024-08-26 16:44:42 +01:00
Franklin Wei
eca00638ae puzzles: add Slide and Sokoban.
This enables two of the "unfinished" puzzles. Slide requires a new "sticky
mouse mode" to enable dragging. The help system is disabled for these
puzzles, since they lack manual chapters.

Group is currently unplayable due to lack of request_keys() support, which
will need to be added upstream. Separate fails to draw anything.

Change-Id: I7bcff3679ac5b10b0f39c5eaa19a36b4b1fe8d53
2024-08-25 19:30:01 -04:00
Solomon Peachy
3dd69ce23e FS#13469: Updatd Simplified Chinese translation (王吉)
Change-Id: I2fb3f602c3c54b7c8313228306c1bdf3777cfad6
2024-08-23 19:02:15 -04:00
Dana Conrad
cd91c238de Bootloaders: Include HAVE_MULTIVOLUME if BOOT_REDIR also present
We need HAVE_MULTIVOLUME in bootloaders for redirect
functionality to work.

Change-Id: I50dbbb179bd012696e592ca843809fcc5fb78994
2024-08-21 18:31:28 -04:00
Dana Conrad
5ddfdf6e2f ErosQNative: Set extra ES9018K2M options
Set number of FSR edges required for DPLL/ASRC lock
Set DPLL bandwidth larger

Both should help prevent dropouts, especially with
sample rates >=96khz

Credit to ZappBranigan2972 on the forums

Change-Id: I55a90d44ac7fcec5894377e32cdadad66bb05610
2024-08-21 08:57:50 -04:00
William Wilgus
3b040673cc Add verification to multiboot redirect
check that a firmware file exists before we redirect
to an invalid directory

Change-Id: Id496fde3508158bc80f90dfb18a31ebae7229787
2024-08-20 00:34:03 -04:00
Franklin Wei
ea0e3704a8 puzzles: resync with upstream 262f709.
This is the first resync with a fully unmodified upstream repo. This
includes a new scanline polygon renderer in the upstream puzzles
distribution. This allows us to get rid of the monstrosity of a
polygon renderer we had been shipping in rockbox.c.

Change-Id: I23628c74bb5ff7a9e7932bf16d68a1c867c49969
2024-08-16 16:31:28 -04:00
Franklin Wei
903e8c5b32 puzzles: remove unnecessary files from the src/ directory.
This updates the resync.sh script to be more intelligent about which files
it copies from the upstream tree. It now attempts some rudimentary parsing
of the puzzles CMakeLists.txt file to figure out which files are actually
necessary, and copies only those.

This adds a new SOURCES.rockbox source file list for the Rockbox-specific
parts of the port.

Change-Id: I461f87ac712e3b2982dcbb0be9d70d278384a4e7
2024-08-16 16:31:28 -04:00
Solomon Peachy
ceea52ce0f FS#13468: Updated Simplified Chinese translation for rbutil (王吉)
Had to make a minor edit to correct a syntax typo.

Change-Id: I5e4a3079c82ff72bd02ee368c4de0ba86f06dfeb
2024-08-14 11:03:14 -04:00
Solomon Peachy
19043660ac FS#13467: Updated Polish translation (Adam Rak)
Change-Id: Ie5b2b62dfb70de7faef781299a8762faa6c4f58c
2024-08-13 10:14:51 -04:00
Solomon Peachy
ad0c131918 sim: stub out volume_partition() for sim targets
Not sure why this doesn't blow up in more places, but eh..

Change-Id: I45214243c0d03a2156dca8f727caadde5f34c23f
2024-08-12 16:10:12 -04:00
Solomon Peachy
8c25fcfbf0 ...fix more red from 15e52374
Change-Id: Ibbfb89b2c40c0ac8b5a514f130d7b672afb866fa
2024-08-12 15:38:11 -04:00
Solomon Peachy
05354e1bef Hopefully fix the remaining red from 15e52374
(imx233, ipodnano2g, !multidrive hosted/sims)

Change-Id: I9c89887078f9f50d3aac73f468ac323699e1fd1f
2024-08-12 15:20:13 -04:00
Solomon Peachy
6e69241279 Fix some of the red in 15e52374
Change-Id: I712102ec09d6058567768b86430bc3120a179a40
2024-08-12 15:03:56 -04:00
Solomon Peachy
15e5237469 storage: 64-bit sector offsets
* Create new 'sector_t' type alias:
    * uint64_t for all targets with HAVE_LBA48 or HAVE_SDUC
    * unsigned long for the everything else
 * Alter all storage APIs to use sector_t instead of 'unsigned long'
 * Alter Volume/Partition/storage info structures to use sector_t
 * Disk cache converted to sector_t
 * ATA Core:
    * convert to using sector_t for sector addresses and drive sizes
    * Always fill out upper 16 bits of LBA48 addresses
    * IDENTIFY INFO is fixed at 512 bytes, not SECTOR_SIZE
 * USB mass storage:
    * convert to using sector_t for sector addesses and drive sizes
    * Implement READ_16/WRITE_16 for LBA48 addresses
 * Convert FAT code to use sector_t for all sector references
 * output_dyn_value() now accepts int64_t instead of 'int'
 * Corrected "rockbox info" to work for (MULTIVOLUME & !MULTIDRIVE)
 * Better reporting of disk and (logical+physical) sector sizes in debug info
 * Detect SDUC cards and report on storage debug_info screen

To-do: SDUC

 * Refactor SD core to remove duplicate code in every driver
   * Card probe and init state machine
 * Implement core SDUC support
   * SD2.0 needs to be 2.0+ (fixed for jz47xx and x1000)
   * Host and Card ID (ACMD41)
   * 32-bit addressing for all read/write/erase operations (CMD22)
 * ADD SDUC to target device drivers, defining HAVE_SDUC as appropriate

Change-Id: Ib0138781a0081664d11511037685503df1b93608
2024-08-12 14:23:44 -04:00
Solomon Peachy
9ff308a589 Update multiple translations:
- English-US (Solomon Peachy)
 - Italian (Alessio Lenzi)
 - Chinese-Simplified (	王吉)
 - Korean (Hoseok Seo)

Change-Id: I0b8afc23f3d91bb374d05cc63a7b7e27bbccffbb
2024-08-12 14:23:44 -04:00
William Wilgus
a0f66dea9c update MAINTAINERS
Change-Id: I1ece943b3aeeab929c025ca412ab90e3c1f9e346
2024-08-11 17:00:55 -04:00
Christian Soffke
512f5561ba fileop: Prevent poweroff during move
When overwriting an existing directory, the idle
power off timer may fire during the mass-renaming
of individual files.

Change-Id: Iedbc882c2470c32129a162d31dab8e5031a929b9
2024-08-11 19:33:05 +02:00