Index: apps/plugins/pictureflow.c =================================================================== --- apps/plugins/pictureflow.c (Revision 19406) +++ apps/plugins/pictureflow.c (Arbeitskopie) @@ -506,12 +499,13 @@ if ( rb->tagcache_get_next(&tcs) ) { struct mp3entry id3; char size[9]; + int fd; rb->snprintf(size, sizeof(size), ".%dx%d", PREFERRED_IMG_WIDTH, PREFERRED_IMG_HEIGHT); - rb->strncpy( (char*)&id3.path, tcs.result, MAX_PATH ); - id3.album = get_album_name(slide_index); - /* xxx: Should set id3.artist / id3.albumartist to their real values */ - id3.artist = id3.albumartist = NULL; + + fd = rb->open(tcs.result, O_RDONLY); + rb->get_metadata(&id3, fd, tcs.result); + rb->close(fd); if ( rb->search_albumart_files(&id3, size, buf, buflen) ) result = true; else if ( rb->search_albumart_files(&id3, "", buf, buflen) ) @@ -646,6 +640,9 @@ rb->snprintf(tmp_path_name, sizeof(tmp_path_name), CACHE_PREFIX "/%d.pfraw", i); + /* delete existing cache, so it's a true rebuild */ + if(rb->file_exists(tmp_path_name)) + rb->remove(tmp_path_name); if (!create_bmp(&input_bmp, tmp_path_name, false)) { rb->splash(HZ, "Could not write bmp"); } @@ -1719,7 +1716,6 @@ } else { cover_animation_keyframe = 0; - selected_track = 0; pf_state = pf_show_tracks; } } @@ -2109,7 +2105,6 @@ case PICTUREFLOW_SELECT_ALBUM: if ( pf_state == pf_idle ) { - reset_track_list(); pf_state = pf_cover_in; } if ( pf_state == pf_show_tracks )