summaryrefslogtreecommitdiff
path: root/apps/radio/presets.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/radio/presets.c')
-rw-r--r--apps/radio/presets.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/apps/radio/presets.c b/apps/radio/presets.c
index ea1d4022da..aa265bcc74 100644
--- a/apps/radio/presets.c
+++ b/apps/radio/presets.c
@@ -40,6 +40,7 @@
40#include "talk.h" 40#include "talk.h"
41#include "filetree.h" 41#include "filetree.h"
42#include "dir.h" 42#include "dir.h"
43#include "presets.h"
43 44
44static int curr_preset = -1; 45static int curr_preset = -1;
45 46
@@ -50,7 +51,8 @@ void remember_frequency(void);
50void talk_freq(int freq, bool enqueue); 51void talk_freq(int freq, bool enqueue);
51 52
52#define MAX_PRESETS 64 53#define MAX_PRESETS 64
53static bool presets_loaded = false, presets_changed = false; 54static bool presets_loaded = false;
55static bool presets_changed = false;
54static struct fmstation presets[MAX_PRESETS]; 56static struct fmstation presets[MAX_PRESETS];
55 57
56static char filepreset[MAX_PATH]; /* preset filename variable */ 58static char filepreset[MAX_PATH]; /* preset filename variable */
@@ -72,14 +74,14 @@ const struct fmstation *radio_get_preset(int preset)
72 return &presets[preset]; 74 return &presets[preset];
73} 75}
74 76
75bool has_presets_changed(void) 77bool presets_have_changed(void)
76{ 78{
77 return presets_changed; 79 return presets_changed;
78} 80}
79 81
80 82
81/* Find a matching preset to freq */ 83/* Find a matching preset to freq */
82int find_preset(int freq) 84int preset_find(int freq)
83{ 85{
84 int i; 86 int i;
85 if(num_presets < 1) 87 if(num_presets < 1)
@@ -95,7 +97,7 @@ int find_preset(int freq)
95 97
96/* Return the closest preset encountered in the search direction with 98/* Return the closest preset encountered in the search direction with
97 wraparound. */ 99 wraparound. */
98int find_closest_preset(int freq, int direction) 100static int find_closest_preset(int freq, int direction)
99{ 101{
100 int i; 102 int i;
101 int lowpreset = 0; 103 int lowpreset = 0;
@@ -143,7 +145,7 @@ int find_closest_preset(int freq, int direction)
143 return closest; 145 return closest;
144} 146}
145 147
146void next_preset(int direction) 148void preset_next(int direction)
147{ 149{
148 if (num_presets < 1) 150 if (num_presets < 1)
149 return; 151 return;
@@ -160,13 +162,13 @@ void next_preset(int direction)
160 remember_frequency(); 162 remember_frequency();
161} 163}
162 164
163void set_current_preset(int preset) 165void preset_set_current(int preset)
164{ 166{
165 curr_preset = preset; 167 curr_preset = preset;
166} 168}
167 169
168/* Speak a preset by number or by spelling its name, depending on settings. */ 170/* Speak a preset by number or by spelling its name, depending on settings. */
169void talk_preset(int preset, bool fallback, bool enqueue) 171void preset_talk(int preset, bool fallback, bool enqueue)
170{ 172{
171 if (global_settings.talk_file == 1) /* number */ 173 if (global_settings.talk_file == 1) /* number */
172 talk_number(preset + 1, enqueue); 174 talk_number(preset + 1, enqueue);
@@ -270,7 +272,7 @@ const char* radio_get_preset_name(int preset)
270 return NULL; 272 return NULL;
271} 273}
272 274
273int radio_add_preset(void) 275int handle_radio_add_preset(void)
274{ 276{
275 char buf[MAX_FMPRESET_LEN + 1]; 277 char buf[MAX_FMPRESET_LEN + 1];
276 278
@@ -348,12 +350,12 @@ static int radio_delete_preset(void)
348 return 1; 350 return 1;
349} 351}
350 352
351int load_preset_list(void) 353int preset_list_load(void)
352{ 354{
353 return !rockbox_browse(FMPRESET_PATH, SHOW_FMR); 355 return !rockbox_browse(FMPRESET_PATH, SHOW_FMR);
354} 356}
355 357
356int save_preset_list(void) 358int preset_list_save(void)
357{ 359{
358 if(num_presets > 0) 360 if(num_presets > 0)
359 { 361 {
@@ -406,7 +408,7 @@ int save_preset_list(void)
406 return true; 408 return true;
407} 409}
408 410
409int clear_preset_list(void) 411int preset_list_clear(void)
410{ 412{
411 /* Clear all the preset entries */ 413 /* Clear all the preset entries */
412 memset(presets, 0, sizeof (presets)); 414 memset(presets, 0, sizeof (presets));
@@ -457,7 +459,7 @@ static const char* presets_get_name(int selected_item, void *data,
457static int presets_speak_name(int selected_item, void * data) 459static int presets_speak_name(int selected_item, void * data)
458{ 460{
459 (void)data; 461 (void)data;
460 talk_preset(selected_item, true, false); 462 preset_talk(selected_item, true, false);
461 return 0; 463 return 0;
462} 464}
463 465
@@ -498,7 +500,7 @@ int handle_radio_presets(void)
498 switch (action) 500 switch (action)
499 { 501 {
500 case ACTION_STD_MENU: 502 case ACTION_STD_MENU:
501 if (radio_add_preset()) 503 if (handle_radio_add_preset())
502 { 504 {
503 gui_synclist_set_nb_items(&lists, num_presets); 505 gui_synclist_set_nb_items(&lists, num_presets);
504 gui_synclist_select_item(&lists, num_presets - 1); 506 gui_synclist_select_item(&lists, num_presets - 1);
@@ -531,7 +533,7 @@ int handle_radio_presets(void)
531} 533}
532 534
533 535
534int scan_presets(void *viewports) 536int presets_scan(void *viewports)
535{ 537{
536 bool do_scan = true; 538 bool do_scan = true;
537 int i; 539 int i;
@@ -608,13 +610,13 @@ int scan_presets(void *viewports)
608void presets_save(void) 610void presets_save(void)
609{ 611{
610 if(filepreset[0] == '\0') 612 if(filepreset[0] == '\0')
611 save_preset_list(); 613 preset_list_save();
612 else 614 else
613 radio_save_presets(); 615 radio_save_presets();
614} 616}
615 617
616#ifdef HAVE_LCD_BITMAP 618#ifdef HAVE_LCD_BITMAP
617static inline void draw_veritcal_line_mark(struct screen * screen, 619static inline void draw_vertical_line_mark(struct screen * screen,
618 int x, int y, int h) 620 int x, int y, int h)
619{ 621{
620 screen->set_drawmode(DRMODE_COMPLEMENT); 622 screen->set_drawmode(DRMODE_COMPLEMENT);
@@ -635,7 +637,7 @@ void presets_draw_markers(struct screen *screen,
635 int freq = radio_get_preset(i)->frequency; 637 int freq = radio_get_preset(i)->frequency;
636 int diff = freq - region_data->freq_min; 638 int diff = freq - region_data->freq_min;
637 xi = x + (w * diff)/len; 639 xi = x + (w * diff)/len;
638 draw_veritcal_line_mark(screen, xi, y, h); 640 draw_vertical_line_mark(screen, xi, y, h);
639 } 641 }
640} 642}
641#endif 643#endif