diff options
Diffstat (limited to 'apps/wps-display.c')
-rw-r--r-- | apps/wps-display.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/apps/wps-display.c b/apps/wps-display.c index 11a2506611..318da5a717 100644 --- a/apps/wps-display.c +++ b/apps/wps-display.c | |||
@@ -43,6 +43,7 @@ | |||
43 | #include "powermgmt.h" | 43 | #include "powermgmt.h" |
44 | #include "sprintf.h" | 44 | #include "sprintf.h" |
45 | #include "backlight.h" | 45 | #include "backlight.h" |
46 | #include "button.h" | ||
46 | 47 | ||
47 | #ifdef HAVE_LCD_BITMAP | 48 | #ifdef HAVE_LCD_BITMAP |
48 | #include "icons.h" | 49 | #include "icons.h" |
@@ -578,6 +579,72 @@ static char* get_tag(struct mp3entry* cid3, | |||
578 | 579 | ||
579 | } | 580 | } |
580 | break; | 581 | break; |
582 | |||
583 | case 'm': /* playback repeat mode */ | ||
584 | switch (tag[1]) | ||
585 | { | ||
586 | case 'f': /* off */ | ||
587 | if (global_settings.repeat_mode == REPEAT_OFF) | ||
588 | return "f"; | ||
589 | else | ||
590 | return NULL; | ||
591 | case 'a': /* all */ | ||
592 | if (global_settings.repeat_mode == REPEAT_ALL) | ||
593 | return "a"; | ||
594 | else | ||
595 | return NULL; | ||
596 | case 'o': /* one */ | ||
597 | if (global_settings.repeat_mode == REPEAT_ONE) | ||
598 | return "o"; | ||
599 | else | ||
600 | return NULL; | ||
601 | case 's': /* shuffle */ | ||
602 | if (global_settings.repeat_mode == REPEAT_SHUFFLE) | ||
603 | return "s"; | ||
604 | else | ||
605 | return NULL; | ||
606 | /* playback status */ | ||
607 | case 'p': /* play */ | ||
608 | *flags |= WPS_REFRESH_DYNAMIC; | ||
609 | int status = audio_status(); | ||
610 | if (status == AUDIO_STATUS_PLAY && \ | ||
611 | !(status & AUDIO_STATUS_PAUSE)) | ||
612 | return "p"; | ||
613 | else | ||
614 | return NULL; | ||
615 | case 'u': /* pause*/ | ||
616 | *flags |= WPS_REFRESH_DYNAMIC; | ||
617 | if (audio_status() & AUDIO_STATUS_PAUSE && \ | ||
618 | (! status_get_ffmode())) | ||
619 | return "u"; | ||
620 | else | ||
621 | return NULL; | ||
622 | case 'w': /* fast forward */ | ||
623 | *flags |= WPS_REFRESH_DYNAMIC; | ||
624 | if (status_get_ffmode() == STATUS_FASTFORWARD) | ||
625 | return "w"; | ||
626 | else | ||
627 | return NULL; | ||
628 | case 'b': /* Fast backwards */ | ||
629 | *flags |= WPS_REFRESH_DYNAMIC; | ||
630 | if (status_get_ffmode() == STATUS_FASTBACKWARD) | ||
631 | return "b"; | ||
632 | else | ||
633 | return NULL; | ||
634 | case 'h': /* hold */ | ||
635 | *flags |= WPS_REFRESH_DYNAMIC; | ||
636 | if (button_hold()) | ||
637 | return "h"; | ||
638 | else | ||
639 | return NULL; | ||
640 | case 'r': /* remote hold */ | ||
641 | *flags |= WPS_REFRESH_DYNAMIC; | ||
642 | if (remote_button_hold()) | ||
643 | return "r"; | ||
644 | else | ||
645 | return NULL; | ||
646 | } | ||
647 | break; | ||
581 | 648 | ||
582 | case 'b': /* battery info */ | 649 | case 'b': /* battery info */ |
583 | *flags |= WPS_REFRESH_DYNAMIC; | 650 | *flags |= WPS_REFRESH_DYNAMIC; |