summaryrefslogtreecommitdiff
path: root/apps/iap/iap-core.c
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2024-07-05 17:13:10 -0400
committerWilliam Wilgus <me.theuser@yahoo.com>2024-07-09 01:40:02 -0400
commitfdbaf7df597b404be04cecbdc83dbc0551a5b996 (patch)
treef4254d2ed63ce1174d9710a315678aeaf921399b /apps/iap/iap-core.c
parent07cf87419189f8730eff53bb74669856a42a2016 (diff)
downloadrockbox-fdbaf7df597b404be04cecbdc83dbc0551a5b996.tar.gz
rockbox-fdbaf7df597b404be04cecbdc83dbc0551a5b996.zip
[Feature] playlist_viewer id3 title display
Not sure this is a great idea from disk and battery standpoint but there is no reason you can't.. using the name buffer to fill title data prevent hitting the disk for each screen scroll add get_metadata_ex to allow flags METADATA_EXCLUDE_ID3_PATH prevent copying the filename to the ID3 struct METADATA_CLOSE_FD_ON_EXIT instead of seeking to the beginning the file is closed before get_metadata returns add logic to allow a invalid fd to signal that get_metadata should open and close the file within its call bugfix per Chris_s don't use the tagcache for the trackinfo Change-Id: Ic7a595b39a8d7a57f975312bc9c8bb4111f22a88
Diffstat (limited to 'apps/iap/iap-core.c')
-rw-r--r--apps/iap/iap-core.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/apps/iap/iap-core.c b/apps/iap/iap-core.c
index da04a67311..3faf8237bf 100644
--- a/apps/iap/iap-core.c
+++ b/apps/iap/iap-core.c
@@ -685,7 +685,6 @@ bool iap_getc(const unsigned char x)
685void iap_get_trackinfo(const unsigned int track, struct mp3entry* id3) 685void iap_get_trackinfo(const unsigned int track, struct mp3entry* id3)
686{ 686{
687 int tracknum; 687 int tracknum;
688 int fd;
689 struct playlist_track_info info; 688 struct playlist_track_info info;
690 689
691 tracknum = track; 690 tracknum = track;
@@ -699,10 +698,8 @@ void iap_get_trackinfo(const unsigned int track, struct mp3entry* id3)
699 if(playlist_next(0) != tracknum) 698 if(playlist_next(0) != tracknum)
700 { 699 {
701 playlist_get_track_info(NULL, tracknum, &info); 700 playlist_get_track_info(NULL, tracknum, &info);
702 fd = open(info.filename, O_RDONLY); 701 /* memset(id3, 0, sizeof(*id3)) --get_metadata does this for us */
703 memset(id3, 0, sizeof(*id3)); 702 get_metadata(id3, -1, info.filename);
704 get_metadata(id3, fd, info.filename);
705 close(fd);
706 } else { 703 } else {
707 memcpy(id3, audio_current_track(), sizeof(*id3)); 704 memcpy(id3, audio_current_track(), sizeof(*id3));
708 } 705 }