1 // FLTK callback functions for butt
2 //
3 // Copyright 2007-2018 by Daniel Noethen.
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2, or (at your option)
8 // any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 
16 #ifndef FL_CALLBACKS_H
17 #define FL_CALLBACKS_H
18 
19 enum { STREAM_TIME = 0, REC_TIME, SENT_DATA, REC_DATA };
20 enum { STREAM = 0, RECORD };
21 
22 class flgui;
23 
24 extern int display_info;
25 extern flgui *fl_g;
26 
27 void button_cfg_cb(void);
28 void button_info_cb(void);
29 void button_record_cb(void);
30 void button_connect_cb(void);
31 void choice_cfg_dev_cb(void);
32 void button_disconnect_cb(void);
33 void button_add_icy_add_cb(void);
34 void button_cfg_del_srv_cb(void);
35 void button_cfg_del_icy_cb(void);
36 void choice_cfg_act_srv_cb(void);
37 void choice_cfg_act_icy_cb(void);
38 void button_cfg_add_srv_cb(void);
39 void button_cfg_add_icy_cb(void);
40 void choice_cfg_bitrate_cb(void);
41 void choice_cfg_samplerate_cb(void);
42 void button_cfg_song_go_cb(void);
43 void choice_cfg_codec_mp3_cb(void);
44 void choice_cfg_codec_ogg_cb(void);
45 void choice_cfg_codec_opus_cb(void);
46 void choice_cfg_codec_aac_cb(void);
47 void choice_cfg_codec_flac_cb(void);
48 void button_cfg_export_cb(void);
49 void button_cfg_import_cb(void);
50 void check_cfg_mono_to_stereo_cb(void);
51 void button_add_icy_save_cb(void);
52 void button_add_srv_cancel_cb(void);
53 void button_add_icy_cancel_cb(void);
54 void choice_cfg_channel_stereo_cb(void);
55 void choice_cfg_channel_mono_cb(void);
56 void button_cfg_browse_songfile_cb(void);
57 void input_cfg_song_file_cb(void);
58 void input_cfg_song_cb(void);
59 void input_cfg_song_prefix_cb(void);
60 void input_cfg_song_suffix_cb(void);
61 void input_cfg_buffer_cb(bool print_message);
62 void input_cfg_signal_cb(void);
63 void input_cfg_silence_cb(void);
64 void input_cfg_(void);
65 void input_cfg_present_level_cb(void);
66 void input_cfg_absent_level_cb(void);
67 void choice_cfg_resample_mode_cb(void);
68 void button_cfg_check_for_updates_cb(void);
69 void choice_cfg_right_channel_cb(void);
70 void choice_cfg_left_channel_cb(void);
71 
72 void button_add_srv_add_cb(void);
73 void button_add_srv_save_cb(void);
74 void button_add_srv_show_pwd_cb(void);
75 void radio_add_srv_shoutcast_cb(void);
76 void radio_add_srv_icecast_cb(void);
77 void button_add_srv_revoke_cert_cb(void);
78 void check_update_at_startup_cb(void);
79 
80 void button_rec_browse_cb(void);
81 void button_rec_split_now_cb(void);
82 void choice_rec_bitrate_cb(void);
83 void choice_rec_samplerate_cb(void);
84 void choice_rec_channel_stereo_cb(void);
85 void choice_rec_channel_mono_cb(void);
86 void choice_rec_codec_mp3_cb(void);
87 void choice_rec_codec_ogg_cb(void);
88 void choice_rec_codec_wav_cb(void);
89 void choice_rec_codec_opus_cb(void);
90 void choice_rec_codec_aac_cb(void);
91 void choice_rec_codec_flac_cb(void);
92 void input_rec_signal_cb(void);
93 void input_rec_silence_cb(void);
94 
95 void input_tls_cert_file_cb(void);
96 void input_tls_cert_dir_cb(void);
97 void button_tls_browse_file_cb(void);
98 void button_tls_browse_dir_cb(void);
99 
100 void button_cfg_edit_srv_cb(void);
101 void button_cfg_edit_icy_cb(void);
102 void check_song_update_active_cb(void);
103 void check_read_last_line_cb(void);
104 void check_sync_to_full_hour_cb(void);
105 
106 void input_rec_filename_cb(void);
107 void input_rec_folder_cb(void);
108 void input_rec_split_time_cb(void);
109 void input_log_filename_cb(void);
110 void button_cfg_log_browse_cb(void);
111 
112 void check_gui_attach_cb(void);
113 void check_gui_ontop_cb(void);
114 void check_gui_hide_log_window_cb(void);
115 void check_gui_remember_pos_cb(void);
116 void check_gui_lcd_auto_cb(void);
117 void button_gui_bg_color_cb(void);
118 void button_gui_text_color_cb(void);
119 void choice_gui_language_cb(void);
120 
121 void slider_gain_cb(void);
122 
123 void check_activate_eq_cb(void);
124 void slider_equalizer1_cb(double);
125 void slider_equalizer2_cb(double);
126 void slider_equalizer3_cb(double);
127 void slider_equalizer4_cb(double);
128 void slider_equalizer5_cb(double);
129 
130 void check_activate_drc_cb(void);
131 void slider_threshold_cb(double);
132 void slider_ratio_cb(double);
133 void slider_attack_cb(double);
134 void slider_release_cb(double);
135 void slider_makeup_cb(double);
136 
137 void check_cfg_auto_start_rec_cb(void);
138 void check_cfg_auto_stop_rec_cb(void);
139 void check_cfg_rec_after_launch_cb(void);
140 
141 void check_cfg_rec_hourly_cb(void);
142 void check_cfg_connect_cb(void);
143 void check_cfg_force_reconnecting_cb(void);
144 
145 
146 void lcd_rotate(void*);
147 void ILM216_cb(void);
148 void window_main_close_cb(void);
149 
150 void check_cfg_use_app_cb(void);
151 void choice_cfg_app_cb(void);
152 
153 void update_song(int called_from_connect_cb);
154 bool stop_recording(bool ask);
155 
156 
157 
158 
159 #endif
160 
161