Rockbox Ports are now being developed for various digital audio players!
Yeah, I don't know why the tagcache searches for known filenames are so slow.
1. if initiated from filebrowser, set up a tagcache search based on a "containing" clause of the dir name and retrieve the entries, which should be fast since the current database tagtree works this way and it is quite fast.
The main reason that patch is slow is that it makes a search each time an item is to be displayed (and if done on a player with an lcd remote, it would probably be two searches per item). Even if the database can be made faster, I'm not sure it is reasonable to expect it to be fast enough for that...
In the playlist viewer, a single search isn't always enough. You might have to make a separate search for each item...
So you're doing it in playlist_entry_load (or something similar, rather than playlist_callback_name) and it is still very slow? Any idea how long time a single search takes, roughly?
+ if (tcs != NULL)+ {+ entry->has_extm3u = tagcache_find_index(tcs, info.filename);+ DEBUGF("found tc idx: %d\n",tcs->idx_id);+ if (entry->has_extm3u)+ {+ entry->length = tagcache_get_numeric(tcs, tag_length) / 1000;+ entry->has_extm3u = tagcache_retrieve(tcs, tcs->idx_id, tag_title,+ name_buffer, MIN(MAX_PATH*2,remaining_size));+ DEBUGF("track: %s\n",name_buffer);+ len = strlen(name_buffer) + 1;+ }+ }
Page created in 0.064 seconds with 14 queries.