Build doom on clipv2 and clip+
[kugel-rb.git] / apps / radio / radio.h
blob01afdc5a25d92d691c32aa7797902e84b1cbce96
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 #ifndef FMRADIO_H
25 #include "fmradio.h"
26 #endif
27 #include "screen_access.h"
28 #include "bmp.h"
30 enum {
31 RADIO_SCAN_MODE = 0,
32 RADIO_PRESET_MODE,
35 #if CONFIG_TUNER
36 void radio_load_presets(char *filename);
37 void radio_init(void) INIT_ATTR;
38 int radio_screen(void);
39 void radio_start(void);
40 void radio_pause(void);
41 void radio_stop(void);
42 bool radio_hardware_present(void);
43 bool in_radio_screen(void);
45 bool radio_scan_mode(void); /* true for scan mode, false for preset mode */
46 bool radio_is_stereo(void);
47 int radio_current_frequency(void);
48 int radio_current_preset(void);
49 int radio_preset_count(void);
50 const struct fmstation *radio_get_preset(int preset);
52 /* skin functions */
53 void fms_data_load(enum screen_type screen, const char *buf, bool isfile);
54 void fms_skin_init(void);
56 /* callbacks for the radio settings */
57 void set_radio_region(int region);
58 void toggle_mono_mode(bool mono);
60 #define MAX_FMPRESET_LEN 27
62 struct fmstation
64 int frequency; /* In Hz */
65 char name[MAX_FMPRESET_LEN+1];
67 const char* radio_get_preset_name(int preset);
68 void presets_draw_markers(struct screen *screen, int x, int y, int w, int h);
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 struct gui_wps *fms_get(enum screen_type screen);
86 void fms_fix_displays(enum fms_exiting toggle_state);
88 #endif /* CONFIG_TUNER */
90 #endif /* RADIO_H */