diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/pictureflow/pictureflow.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c index 9592ac5266..35afdaf7e4 100644 --- a/apps/plugins/pictureflow/pictureflow.c +++ b/apps/plugins/pictureflow/pictureflow.c | |||
@@ -3467,30 +3467,32 @@ static inline void draw_gradient(int y, int h) | |||
3467 | 3467 | ||
3468 | static void track_list_yh(int char_height) | 3468 | static void track_list_yh(int char_height) |
3469 | { | 3469 | { |
3470 | bool needs_space = pf_cfg.show_fps || aa_cache.inspected < pf_idx.album_ct; | ||
3471 | |||
3470 | switch (pf_cfg.show_album_name) | 3472 | switch (pf_cfg.show_album_name) |
3471 | { | 3473 | { |
3472 | case ALBUM_NAME_HIDE: | 3474 | case ALBUM_NAME_HIDE: |
3473 | pf_tracks.list_y = (pf_cfg.show_fps ? char_height : 0); | 3475 | pf_tracks.list_y = (needs_space ? char_height : 0); |
3474 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y; | 3476 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y; |
3475 | break; | 3477 | break; |
3476 | case ALBUM_NAME_BOTTOM: | 3478 | case ALBUM_NAME_BOTTOM: |
3477 | pf_tracks.list_y = (pf_cfg.show_fps ? char_height : 0); | 3479 | pf_tracks.list_y = (needs_space ? char_height : 0); |
3478 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - (char_height * 3); | 3480 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - (char_height * 3); |
3479 | break; | 3481 | break; |
3480 | case ALBUM_AND_ARTIST_TOP: | 3482 | case ALBUM_AND_ARTIST_TOP: |
3481 | pf_tracks.list_y = char_height * 3; | 3483 | pf_tracks.list_y = char_height * 3; |
3482 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - | 3484 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - |
3483 | (pf_cfg.show_fps ? char_height : 0); | 3485 | (needs_space ? char_height : 0); |
3484 | break; | 3486 | break; |
3485 | case ALBUM_AND_ARTIST_BOTTOM: | 3487 | case ALBUM_AND_ARTIST_BOTTOM: |
3486 | pf_tracks.list_y = (pf_cfg.show_fps ? char_height : 0); | 3488 | pf_tracks.list_y = (needs_space ? char_height : 0); |
3487 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - (char_height * 3); | 3489 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - (char_height * 3); |
3488 | break; | 3490 | break; |
3489 | case ALBUM_NAME_TOP: | 3491 | case ALBUM_NAME_TOP: |
3490 | default: | 3492 | default: |
3491 | pf_tracks.list_y = char_height * 3; | 3493 | pf_tracks.list_y = char_height * 3; |
3492 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - | 3494 | pf_tracks.list_h = LCD_HEIGHT - pf_tracks.list_y - |
3493 | (pf_cfg.show_fps ? char_height : 0); | 3495 | (needs_space ? char_height : 0); |
3494 | break; | 3496 | break; |
3495 | } | 3497 | } |
3496 | } | 3498 | } |
@@ -3945,15 +3947,22 @@ static int pictureflow_main(void) | |||
3945 | last_update = current_update; | 3947 | last_update = current_update; |
3946 | frames = 0; | 3948 | frames = 0; |
3947 | } | 3949 | } |
3948 | /* Draw FPS */ | 3950 | /* Draw FPS or draw percentage of already built album cache */ |
3949 | if (pf_cfg.show_fps) | 3951 | if (pf_cfg.show_fps || aa_cache.inspected < pf_idx.album_ct) |
3950 | { | 3952 | { |
3951 | #ifdef USEGSLIB | 3953 | #ifdef USEGSLIB |
3952 | mylcd_set_foreground(G_BRIGHT(255)); | 3954 | mylcd_set_foreground(G_BRIGHT(255)); |
3953 | #else | 3955 | #else |
3954 | mylcd_set_foreground(G_PIX(255,0,0)); | 3956 | mylcd_set_foreground(G_PIX(255,0,0)); |
3955 | #endif | 3957 | #endif |
3956 | rb->snprintf(fpstxt, sizeof(fpstxt), "FPS: %d", fps); | 3958 | if(aa_cache.inspected >= pf_idx.album_ct) |
3959 | rb->snprintf(fpstxt, sizeof(fpstxt), "FPS: %d", fps); | ||
3960 | else | ||
3961 | { | ||
3962 | int progress_pct = 100 * aa_cache.inspected / pf_idx.album_ct; | ||
3963 | rb->snprintf(fpstxt, sizeof(fpstxt), "%d %%", progress_pct); | ||
3964 | } | ||
3965 | |||
3957 | if (pf_cfg.show_album_name == ALBUM_NAME_TOP) | 3966 | if (pf_cfg.show_album_name == ALBUM_NAME_TOP) |
3958 | fpstxt_y = LCD_HEIGHT - | 3967 | fpstxt_y = LCD_HEIGHT - |
3959 | rb->screens[SCREEN_MAIN]->getcharheight(); | 3968 | rb->screens[SCREEN_MAIN]->getcharheight(); |