summaryrefslogtreecommitdiff
path: root/apps/tagtree.h
diff options
context:
space:
mode:
authorPaul Sauro <olsroparadise@proton.me>2024-08-28 22:55:52 +0200
committerWilliam Wilgus <me.theuser@yahoo.com>2024-08-31 10:44:20 -0400
commitc16dbbfd1fb7bf4bc268a4693bbed21497456b30 (patch)
tree3faea1f6d294f5835f72075b9a27e996525aef0a /apps/tagtree.h
parentf6e8c20188276251d8b3ec512be81f2460ce39e7 (diff)
downloadrockbox-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.h1
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);
45int tagtree_get_attr(struct tree_context* c); 45int tagtree_get_attr(struct tree_context* c);
46int tagtree_get_icon(struct tree_context* c); 46int tagtree_get_icon(struct tree_context* c);
47int tagtree_get_filename(struct tree_context* c, char *buf, int buflen); 47int tagtree_get_filename(struct tree_context* c, char *buf, int buflen);
48int tagtree_get_custom_action(struct tree_context* c);
48bool tagtree_get_subentry_filename(char *buf, size_t bufsize); 49bool tagtree_get_subentry_filename(char *buf, size_t bufsize);
49bool tagtree_subentries_do_action(bool (*action_cb)(const char *file_name)); 50bool tagtree_subentries_do_action(bool (*action_cb)(const char *file_name));
50 51