Prepare new maemo release
[maemo-rb.git] / apps / radio / radio.h
blob8c4b39413753113dd2ef4b31865a036a45663e18
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2003 Linus Nielsen Feltzing
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
21 #ifndef RADIO_H
22 #define RADIO_H
24 #include "config.h"
25 #ifndef FMRADIO_H
26 #include "fmradio.h"
27 #endif
28 #include "screen_access.h"
29 #include "bmp.h"
31 enum {
32 RADIO_SCAN_MODE = 0,
33 RADIO_PRESET_MODE,
36 #if CONFIG_TUNER
37 void radio_load_presets(char *filename);
38 void radio_save_presets(void);
39 void radio_init(void) INIT_ATTR;
40 void radio_screen(void);
41 void radio_start(void);
42 void radio_pause(void);
43 void radio_stop(void);
44 bool radio_hardware_present(void);
45 bool in_radio_screen(void);
47 bool radio_scan_mode(void); /* true for scan mode, false for preset mode */
48 bool radio_is_stereo(void);
49 int radio_current_frequency(void);
50 int radio_current_preset(void);
51 int radio_preset_count(void);
52 const struct fmstation *radio_get_preset(int preset);
54 /* callbacks for the radio settings */
55 void set_radio_region(int region);
56 void toggle_mono_mode(bool mono);
58 #define MAX_FMPRESET_LEN 27
60 struct fmstation
62 int frequency; /* In Hz */
63 char name[MAX_FMPRESET_LEN+1];
65 const char* radio_get_preset_name(int preset);
66 #if 0 /* disabled in draw_progressbar() */
67 void presets_draw_markers(struct screen *screen, int x, int y, int w, int h);
68 #endif
70 #ifdef HAVE_ALBUMART
71 void radioart_init(bool entering_screen);
72 int radio_get_art_hid(struct dim *requested_dim);
73 #endif
75 void next_station(int direction);
78 enum fms_exiting {
79 FMS_EXIT,
80 FMS_ENTER
83 /* only radio.c should be using these! */
84 int fms_do_button_loop(bool update_screen);
85 void fms_fix_displays(enum fms_exiting toggle_state);
87 #endif /* CONFIG_TUNER */
89 #endif /* RADIO_H */