diff options
author | Paul Sauro <olsroparadise@proton.me> | 2024-08-28 22:55:52 +0200 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2024-08-31 10:44:20 -0400 |
commit | c16dbbfd1fb7bf4bc268a4693bbed21497456b30 (patch) | |
tree | 3faea1f6d294f5835f72075b9a27e996525aef0a /apps/tagtree.h | |
parent | f6e8c20188276251d8b3ec512be81f2460ce39e7 (diff) | |
download | rockbox-c16dbbfd1fb7bf4bc268a4693bbed21497456b30.tar.gz rockbox-c16dbbfd1fb7bf4bc268a4693bbed21497456b30.zip |
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
Diffstat (limited to 'apps/tagtree.h')
-rw-r--r-- | apps/tagtree.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/apps/tagtree.h b/apps/tagtree.h index 39ab545bd0..a57a5c2f80 100644 --- a/apps/tagtree.h +++ b/apps/tagtree.h | |||
@@ -45,6 +45,7 @@ char *tagtree_get_title(struct tree_context* c); | |||
45 | int tagtree_get_attr(struct tree_context* c); | 45 | int tagtree_get_attr(struct tree_context* c); |
46 | int tagtree_get_icon(struct tree_context* c); | 46 | int tagtree_get_icon(struct tree_context* c); |
47 | int tagtree_get_filename(struct tree_context* c, char *buf, int buflen); | 47 | int tagtree_get_filename(struct tree_context* c, char *buf, int buflen); |
48 | int tagtree_get_custom_action(struct tree_context* c); | ||
48 | bool tagtree_get_subentry_filename(char *buf, size_t bufsize); | 49 | bool tagtree_get_subentry_filename(char *buf, size_t bufsize); |
49 | bool tagtree_subentries_do_action(bool (*action_cb)(const char *file_name)); | 50 | bool tagtree_subentries_do_action(bool (*action_cb)(const char *file_name)); |
50 | 51 | ||