I'm trying to modify the playlist viewer to show information about each song instead of the file name (quite important for an iPod that's also used with iTunes, since all the filenames are things like ER4M.mp3).
I addded the following code to format_name in playlist_viewer.c (to start, I just put it under the case 1 (full path) for testing purposes):
struct mp3entry temp_id3;
if (tagcache_fill_tags(&temp_id3, src)) {
strcpy(dest,temp_id3.title);
}
(yes, it's wrapped in the proper ifdefs in the original, but I'm trying to avoid an extra long post here)
While it does work, it seems to take an extraordinary long time to show a playlist, almost as though it's hitting each file on disk. If I'm reading the tagcache.c file correctly, however, this shouldn't be happening. Tagcache should check for it in RAM, and then be reading from there.
Scrolling is also much slower (about a second or so between songs on a 4g).
Is this a reasonable way to do what I want? Is there another way to get id3 information given a filename?