diff options
author | William Wilgus <me.theuser@yahoo.com> | 2018-12-17 22:27:55 -0600 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2018-12-22 12:27:21 -0600 |
commit | a06d9c85f7475d650cc451fb0f537623c0206f5a (patch) | |
tree | 952a0e7265e836328873a5e2f6eb0ca8ec3cc06a /firmware | |
parent | b3356e3aff34a4ab94778e7f6a8db43f9135296c (diff) | |
download | rockbox-a06d9c85f7475d650cc451fb0f537623c0206f5a.tar.gz rockbox-a06d9c85f7475d650cc451fb0f537623c0206f5a.zip |
Auto-Ranging Time Formatting For Menus (hh:mm:ss:mss)
Unifies time formatting in settings_list.c allows time format to
display as HH:MM:SS.MSS or any consecutive combination thereof
(hh:mm:ss, mm:ss, mm:ss.mss, ss.mss, hh, mm, ss ,mss)
works in INT and TABLE settings with the addition of flag 'F_TIME_SETTING'
Time is auto-ranged dependent on value
Adds talk_time_intervals to allow time values to be spoken similar to
display format: x Hours, x Minutes, x Seconds, x Milliseconds
Table lookups merged or removed from recording, clip meter and lcd timeout
-String_Choice replaced with TABLE_SETTING or INT_SETTING for these
functions as well, cleaned-up cfg_vals that get saved to cfgfile
RTL Languages ARE supported
Negative values ARE supported
Backlight on/off are now Always and Never to share formatter with LCD
Timeout
Added flag to allow ranged units to be locked to a minimum index
Added flag to allow leading zero to be supressed from the largest unit
merged talk_time_unit() and talk_time_intervals()
optimized time_split()
optimized format_time_auto()
Backlight time-out list same as original
Change-Id: I59027c62d3f2956bd16fdcc1a48b2ac32c084abd
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/backlight.c | 18 | ||||
-rw-r--r-- | firmware/export/audio.h | 2 | ||||
-rw-r--r-- | firmware/export/backlight.h | 2 |
3 files changed, 8 insertions, 14 deletions
diff --git a/firmware/backlight.c b/firmware/backlight.c index 25c295197f..3acc89c27c 100644 --- a/firmware/backlight.c +++ b/firmware/backlight.c | |||
@@ -191,10 +191,6 @@ static int remote_backlight_on_button_hold = 0; | |||
191 | 191 | ||
192 | #ifdef HAVE_LCD_SLEEP | 192 | #ifdef HAVE_LCD_SLEEP |
193 | #ifdef HAVE_LCD_SLEEP_SETTING | 193 | #ifdef HAVE_LCD_SLEEP_SETTING |
194 | const signed char lcd_sleep_timeout_value[10] = | ||
195 | { | ||
196 | -1, 0, 5, 10, 15, 20, 30, 45, 60, 90 | ||
197 | }; | ||
198 | static int lcd_sleep_timeout = 10*HZ; | 194 | static int lcd_sleep_timeout = 10*HZ; |
199 | #else | 195 | #else |
200 | /* Target defines needed value */ | 196 | /* Target defines needed value */ |
@@ -885,23 +881,21 @@ void backlight_set_on_button_hold(int index) | |||
885 | #endif /* HAS_BUTTON_HOLD */ | 881 | #endif /* HAS_BUTTON_HOLD */ |
886 | 882 | ||
887 | #ifdef HAVE_LCD_SLEEP_SETTING | 883 | #ifdef HAVE_LCD_SLEEP_SETTING |
888 | void lcd_set_sleep_after_backlight_off(int index) | 884 | void lcd_set_sleep_after_backlight_off(int timeout_seconds) |
889 | { | 885 | { |
890 | if ((unsigned)index >= sizeof(lcd_sleep_timeout_value)) | 886 | lcd_sleep_timeout = HZ * timeout_seconds; |
891 | /* if given a weird value, use default */ | ||
892 | index = 3; | ||
893 | |||
894 | lcd_sleep_timeout = HZ * lcd_sleep_timeout_value[index]; | ||
895 | 887 | ||
896 | if (is_backlight_on(true)) | 888 | if (is_backlight_on(true)) |
897 | /* Timer will be set when bl turns off or bl set to on. */ | 889 | /* Timer will be set when bl turns off or bl set to on. */ |
898 | return; | 890 | return; |
899 | 891 | ||
900 | /* Backlight is Off */ | 892 | /* Backlight is Off */ |
901 | if (lcd_sleep_timeout < 0) | 893 | if (lcd_sleep_timeout < 0) |
894 | lcd_sleep_timer = 0; /* Never */ | ||
895 | else if (lcd_sleep_timeout == 0) | ||
902 | lcd_sleep_timer = 1; /* Always - sleep next tick */ | 896 | lcd_sleep_timer = 1; /* Always - sleep next tick */ |
903 | else | 897 | else |
904 | lcd_sleep_timer = lcd_sleep_timeout; /* Never, other */ | 898 | lcd_sleep_timer = lcd_sleep_timeout; /* other */ |
905 | } | 899 | } |
906 | #endif /* HAVE_LCD_SLEEP_SETTING */ | 900 | #endif /* HAVE_LCD_SLEEP_SETTING */ |
907 | 901 | ||
diff --git a/firmware/export/audio.h b/firmware/export/audio.h index 5710f9f653..5ed9c706a4 100644 --- a/firmware/export/audio.h +++ b/firmware/export/audio.h | |||
@@ -69,7 +69,7 @@ struct mp3entry* audio_current_track(void); | |||
69 | struct mp3entry* audio_next_track(void); | 69 | struct mp3entry* audio_next_track(void); |
70 | bool audio_peek_track(struct mp3entry* id3, int offset); | 70 | bool audio_peek_track(struct mp3entry* id3, int offset); |
71 | #ifdef HAVE_DISK_STORAGE | 71 | #ifdef HAVE_DISK_STORAGE |
72 | void audio_set_buffer_margin(int setting); | 72 | void audio_set_buffer_margin(int seconds); |
73 | #endif | 73 | #endif |
74 | void audio_error_clear(void); | 74 | void audio_error_clear(void); |
75 | int audio_get_file_pos(void); | 75 | int audio_get_file_pos(void); |
diff --git a/firmware/export/backlight.h b/firmware/export/backlight.h index 19e5f9b91b..a1c65a3b4e 100644 --- a/firmware/export/backlight.h +++ b/firmware/export/backlight.h | |||
@@ -57,7 +57,7 @@ void backlight_set_on_button_hold(int index); | |||
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | #if defined(HAVE_LCD_SLEEP) && defined(HAVE_LCD_SLEEP_SETTING) | 59 | #if defined(HAVE_LCD_SLEEP) && defined(HAVE_LCD_SLEEP_SETTING) |
60 | void lcd_set_sleep_after_backlight_off(int index); | 60 | void lcd_set_sleep_after_backlight_off(int timeout_seconds); |
61 | #endif | 61 | #endif |
62 | 62 | ||
63 | #else /* !HAVE_BACKLIGHT */ | 63 | #else /* !HAVE_BACKLIGHT */ |