diff options
-rw-r--r-- | apps/recorder/radio.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/apps/recorder/radio.c b/apps/recorder/radio.c index 8dc14f2493..5b8f3d5b07 100644 --- a/apps/recorder/radio.c +++ b/apps/recorder/radio.c | |||
@@ -79,13 +79,10 @@ void fm_set_frequency(int freq) | |||
79 | static int find_preset(int freq) | 79 | static int find_preset(int freq) |
80 | { | 80 | { |
81 | int i; | 81 | int i; |
82 | if(presets_loaded) | 82 | for(i = 0;i < MAX_PRESETS;i++) |
83 | { | 83 | { |
84 | for(i = 0;i < MAX_PRESETS;i++) | 84 | if(freq == presets[i].frequency) |
85 | { | 85 | return i; |
86 | if(freq == presets[i].frequency) | ||
87 | return i; | ||
88 | } | ||
89 | } | 86 | } |
90 | 87 | ||
91 | return -1; | 88 | return -1; |
@@ -102,11 +99,13 @@ bool radio_screen(void) | |||
102 | bool lock; | 99 | bool lock; |
103 | bool stereo; | 100 | bool stereo; |
104 | int search_dir = 0; | 101 | int search_dir = 0; |
102 | int fw, fh; | ||
105 | 103 | ||
106 | lcd_clear_display(); | 104 | lcd_clear_display(); |
107 | lcd_setmargins(0, 8); | 105 | lcd_setmargins(0, 8); |
108 | status_draw(false); | 106 | status_draw(false); |
109 | fmradio_set_status(FMRADIO_PLAYING); | 107 | fmradio_set_status(FMRADIO_PLAYING); |
108 | lcd_getstringsize("A", &fw, &fh); | ||
110 | 109 | ||
111 | fm_load_presets(); | 110 | fm_load_presets(); |
112 | 111 | ||
@@ -167,6 +166,10 @@ bool radio_screen(void) | |||
167 | { | 166 | { |
168 | lcd_puts_scroll(0, 1, presets[curr_preset].name); | 167 | lcd_puts_scroll(0, 1, presets[curr_preset].name); |
169 | } | 168 | } |
169 | else | ||
170 | { | ||
171 | lcd_clearrect(0, 8+fh*1, LCD_WIDTH, fh); | ||
172 | } | ||
170 | 173 | ||
171 | lcd_update(); | 174 | lcd_update(); |
172 | 175 | ||
@@ -287,7 +290,7 @@ void fm_save_presets(void) | |||
287 | int fd; | 290 | int fd; |
288 | int i; | 291 | int i; |
289 | 292 | ||
290 | fd = open("/.rockbox/fm_presets.txt", O_WRONLY); | 293 | fd = creat("/.rockbox/fm_presets.txt", O_WRONLY); |
291 | if(fd >= 0) | 294 | if(fd >= 0) |
292 | { | 295 | { |
293 | for(i = 0;i < MAX_PRESETS;i++) | 296 | for(i = 0;i < MAX_PRESETS;i++) |
@@ -332,7 +335,6 @@ void fm_load_presets(void) | |||
332 | strncpy(presets[i].name, name, 27); | 335 | strncpy(presets[i].name, name, 27); |
333 | presets[i].name[27] = 0; | 336 | presets[i].name[27] = 0; |
334 | i++; | 337 | i++; |
335 | presets_loaded = true; | ||
336 | if(num_presets == MAX_PRESETS) | 338 | if(num_presets == MAX_PRESETS) |
337 | done = true; | 339 | done = true; |
338 | } | 340 | } |
@@ -343,6 +345,7 @@ void fm_load_presets(void) | |||
343 | close(fd); | 345 | close(fd); |
344 | } | 346 | } |
345 | } | 347 | } |
348 | presets_loaded = true; | ||
346 | } | 349 | } |
347 | 350 | ||
348 | bool fm_preset_select(void) | 351 | bool fm_preset_select(void) |