1 // generated by Fast Light User Interface Designer (fluid) version 1.0305
2
3 #include "../../gettext.h"
4 #include "flgui.h"
5
cb_window_main_i(Fl_My_Double_Window *,void *)6 void flgui::cb_window_main_i(Fl_My_Double_Window*, void*) {
7 window_main_close_cb();
8 }
cb_window_main(Fl_My_Double_Window * o,void * v)9 void flgui::cb_window_main(Fl_My_Double_Window* o, void* v) {
10 ((flgui*)(o->user_data()))->cb_window_main_i(o,v);
11 }
12
cb_lcd_i(Fl_ILM216 *,void *)13 void flgui::cb_lcd_i(Fl_ILM216*, void*) {
14 ILM216_cb();
15 }
cb_lcd(Fl_ILM216 * o,void * v)16 void flgui::cb_lcd(Fl_ILM216* o, void* v) {
17 ((flgui*)(o->parent()->parent()->user_data()))->cb_lcd_i(o,v);
18 }
19
cb_button_connect_i(Fl_Button *,void *)20 void flgui::cb_button_connect_i(Fl_Button*, void*) {
21 button_connect_cb();
22 }
cb_button_connect(Fl_Button * o,void * v)23 void flgui::cb_button_connect(Fl_Button* o, void* v) {
24 ((flgui*)(o->parent()->parent()->user_data()))->cb_button_connect_i(o,v);
25 }
26
cb_button_disconnect_i(Fl_Button *,void *)27 void flgui::cb_button_disconnect_i(Fl_Button*, void*) {
28 button_disconnect_cb();
29 }
cb_button_disconnect(Fl_Button * o,void * v)30 void flgui::cb_button_disconnect(Fl_Button* o, void* v) {
31 ((flgui*)(o->parent()->parent()->user_data()))->cb_button_disconnect_i(o,v);
32 }
33
cb_button_record_i(Fl_Button *,void *)34 void flgui::cb_button_record_i(Fl_Button*, void*) {
35 button_record_cb();
36 }
cb_button_record(Fl_Button * o,void * v)37 void flgui::cb_button_record(Fl_Button* o, void* v) {
38 ((flgui*)(o->parent()->parent()->user_data()))->cb_button_record_i(o,v);
39 }
40
cb_button_info_i(Fl_Button *,void *)41 void flgui::cb_button_info_i(Fl_Button*, void*) {
42 button_info_cb();
43 }
cb_button_info(Fl_Button * o,void * v)44 void flgui::cb_button_info(Fl_Button* o, void* v) {
45 ((flgui*)(o->parent()->parent()->user_data()))->cb_button_info_i(o,v);
46 }
47
cb_button_cfg_i(Fl_Button *,void *)48 void flgui::cb_button_cfg_i(Fl_Button*, void*) {
49 button_cfg_cb();
50 }
cb_button_cfg(Fl_Button * o,void * v)51 void flgui::cb_button_cfg(Fl_Button* o, void* v) {
52 ((flgui*)(o->parent()->user_data()))->cb_button_cfg_i(o,v);
53 }
54
cb_slider_gain_i(Fl_My_Value_Slider *,void *)55 void flgui::cb_slider_gain_i(Fl_My_Value_Slider*, void*) {
56 slider_gain_cb();
57 }
cb_slider_gain(Fl_My_Value_Slider * o,void * v)58 void flgui::cb_slider_gain(Fl_My_Value_Slider* o, void* v) {
59 ((flgui*)(o->parent()->user_data()))->cb_slider_gain_i(o,v);
60 }
61
cb_window_cfg_i(Fl_My_Double_Window *,void *)62 void flgui::cb_window_cfg_i(Fl_My_Double_Window*, void*) {
63 window_cfg->hide();
64 button_cfg->label("Settings@>");
65 }
cb_window_cfg(Fl_My_Double_Window * o,void * v)66 void flgui::cb_window_cfg(Fl_My_Double_Window* o, void* v) {
67 ((flgui*)(o->user_data()))->cb_window_cfg_i(o,v);
68 }
69
cb_choice_cfg_act_srv_i(Fl_Choice *,void *)70 void flgui::cb_choice_cfg_act_srv_i(Fl_Choice*, void*) {
71 choice_cfg_act_srv_cb();
72 }
cb_choice_cfg_act_srv(Fl_Choice * o,void * v)73 void flgui::cb_choice_cfg_act_srv(Fl_Choice* o, void* v) {
74 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_act_srv_i(o,v);
75 }
76
cb_ADD_i(Fl_Button *,void *)77 void flgui::cb_ADD_i(Fl_Button*, void*) {
78 button_cfg_add_srv_cb();
79 }
cb_ADD(Fl_Button * o,void * v)80 void flgui::cb_ADD(Fl_Button* o, void* v) {
81 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_ADD_i(o,v);
82 }
83
cb_button_cfg_edit_srv_i(Fl_Button *,void *)84 void flgui::cb_button_cfg_edit_srv_i(Fl_Button*, void*) {
85 button_cfg_edit_srv_cb();
86 }
cb_button_cfg_edit_srv(Fl_Button * o,void * v)87 void flgui::cb_button_cfg_edit_srv(Fl_Button* o, void* v) {
88 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_cfg_edit_srv_i(o,v);
89 }
90
cb_button_cfg_del_srv_i(Fl_Button *,void *)91 void flgui::cb_button_cfg_del_srv_i(Fl_Button*, void*) {
92 button_cfg_del_srv_cb();
93 }
cb_button_cfg_del_srv(Fl_Button * o,void * v)94 void flgui::cb_button_cfg_del_srv(Fl_Button* o, void* v) {
95 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_cfg_del_srv_i(o,v);
96 }
97
cb_choice_cfg_act_icy_i(Fl_Choice *,void *)98 void flgui::cb_choice_cfg_act_icy_i(Fl_Choice*, void*) {
99 choice_cfg_act_icy_cb();
100 }
cb_choice_cfg_act_icy(Fl_Choice * o,void * v)101 void flgui::cb_choice_cfg_act_icy(Fl_Choice* o, void* v) {
102 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_act_icy_i(o,v);
103 }
104
cb_ADD1_i(Fl_Button *,void *)105 void flgui::cb_ADD1_i(Fl_Button*, void*) {
106 button_cfg_add_icy_cb();
107 }
cb_ADD1(Fl_Button * o,void * v)108 void flgui::cb_ADD1(Fl_Button* o, void* v) {
109 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_ADD1_i(o,v);
110 }
111
cb_button_cfg_edit_icy_i(Fl_Button *,void *)112 void flgui::cb_button_cfg_edit_icy_i(Fl_Button*, void*) {
113 button_cfg_edit_icy_cb();
114 }
cb_button_cfg_edit_icy(Fl_Button * o,void * v)115 void flgui::cb_button_cfg_edit_icy(Fl_Button* o, void* v) {
116 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_cfg_edit_icy_i(o,v);
117 }
118
cb_button_cfg_del_icy_i(Fl_Button *,void *)119 void flgui::cb_button_cfg_del_icy_i(Fl_Button*, void*) {
120 button_cfg_del_icy_cb();
121 }
cb_button_cfg_del_icy(Fl_Button * o,void * v)122 void flgui::cb_button_cfg_del_icy(Fl_Button* o, void* v) {
123 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_cfg_del_icy_i(o,v);
124 }
125
cb_input_log_filename_i(Fl_Input *,void *)126 void flgui::cb_input_log_filename_i(Fl_Input*, void*) {
127 input_log_filename_cb();
128 }
cb_input_log_filename(Fl_Input * o,void * v)129 void flgui::cb_input_log_filename(Fl_Input* o, void* v) {
130 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_log_filename_i(o,v);
131 }
132
cb__i(Fl_Button *,void *)133 void flgui::cb__i(Fl_Button*, void*) {
134 button_cfg_log_browse_cb();
135 }
cb_(Fl_Button * o,void * v)136 void flgui::cb_(Fl_Button* o, void* v) {
137 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb__i(o,v);
138 }
139
140 #include <FL/Fl_Image.H>
141 static const unsigned char idata_folder[] =
142 {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
143 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
144 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
145 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
146 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
147 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
148 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
149 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,19,19,0,
150 4,4,4,0,2,2,2,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
151 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
152 0,0,0,0,0,0,0,0,0,0,9,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
153 0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
154 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,36,36,
155 36,12,4,4,4,58,3,3,3,62,1,1,1,62,0,0,0,61,0,0,0,14,0,0,0,0,0,0,0,1,1,1,1,1,1,1,
156 1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
157 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,14,2,2,2,156,1,1,1,105,0,0,0,95,0,0,0,95,
158 0,0,0,89,0,0,0,180,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
159 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,5,5,5,
160 98,5,5,5,123,0,0,0,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,154,0,0,0,
161 111,0,0,0,113,0,0,0,113,0,0,0,113,0,0,0,113,0,0,0,118,0,0,0,81,0,0,0,0,0,0,0,5,
162 0,0,0,3,5,5,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,2,2,2,72,2,2,2,25,0,0,0,2,7,
163 7,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,15,0,0,0,15,0,0,0,15,0,0,
164 0,15,0,0,0,15,0,0,0,1,0,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
165 0,0,0,0,0,0,0,0,95,0,0,0,48,2,2,2,5,4,4,4,3,0,0,0,0,7,7,7,94,3,3,3,140,0,0,0,
166 140,0,0,0,141,0,0,0,144,0,0,0,144,0,0,0,144,0,0,0,144,0,0,0,144,0,0,0,144,3,3,3,
167 139,6,6,6,196,0,0,0,141,0,0,0,141,0,0,0,138,4,4,4,136,0,0,0,16,0,0,0,0,0,0,0,0,
168 0,0,0,96,0,0,0,46,0,0,0,2,0,0,0,0,0,0,0,78,0,0,0,110,0,0,0,0,1,1,1,7,0,0,0,7,
169 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,1,1,1,7,0,0,0,7,0,0,0,1,2,2,2,7,0,0,0,
170 11,0,0,0,0,0,0,0,177,1,1,1,15,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,45,0,0,0,1,0,0,0,
171 0,0,0,0,157,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
172 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,105,0,0,0,0,0,0,
173 0,0,0,0,0,0,0,0,0,96,0,0,0,46,0,0,0,0,0,0,0,100,0,0,0,57,0,0,0,1,0,0,0,1,0,0,
174 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
175 0,0,0,0,0,0,0,0,0,0,167,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,48,0,0,
176 0,14,0,0,0,125,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
177 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,0,0,0,79,0,0,0,0,0,
178 0,0,1,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,46,0,0,0,68,0,0,0,95,0,0,0,0,0,0,0,0,0,0,
179 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
180 0,0,2,0,0,0,11,0,0,0,127,0,0,0,18,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,
181 0,0,36,0,0,0,166,0,0,0,0,0,0,0,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,
182 2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,1,1,1,1,1,1,1,2,0,0,0,50,0,0,0,111,0,0,0,
183 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,10,10,10,152,0,0,0,71,0,0,0,0,0,0,
184 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
185 0,0,0,0,0,0,3,0,0,0,0,0,0,0,160,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
186 0,0,6,6,6,91,4,4,4,196,0,0,0,13,4,4,4,23,3,3,3,20,4,4,4,20,4,4,4,20,4,4,4,20,
187 4,4,4,20,4,4,4,20,4,4,4,20,4,4,4,20,4,4,4,20,4,4,4,20,3,3,3,20,16,16,16,11,5,
188 5,5,95,0,0,0,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,
189 0,118,0,0,0,133,0,0,0,133,0,0,0,133,0,0,0,133,0,0,0,133,0,0,0,133,0,0,0,133,0,
190 0,0,133,0,0,0,133,0,0,0,133,0,0,0,133,0,0,0,133,0,0,0,133,0,0,0,135,0,0,0,113,
191 4,4,4,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
192 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
193 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
194 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
195 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,
196 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
197 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
198 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
199 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
200 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
201 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
202 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
203 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
image_folder()204 static Fl_Image *image_folder() {
205 static Fl_Image *image = new Fl_RGB_Image(idata_folder, 24, 24, 4, 0);
206 return image;
207 }
208
cb_Import_i(Fl_Button *,void *)209 void flgui::cb_Import_i(Fl_Button*, void*) {
210 button_cfg_import_cb();
211 }
cb_Import(Fl_Button * o,void * v)212 void flgui::cb_Import(Fl_Button* o, void* v) {
213 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Import_i(o,v);
214 }
215
cb_Save_i(Fl_Button *,void *)216 void flgui::cb_Save_i(Fl_Button*, void*) {
217 cfg_write_file(NULL);
218 }
cb_Save(Fl_Button * o,void * v)219 void flgui::cb_Save(Fl_Button* o, void* v) {
220 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Save_i(o,v);
221 }
222
cb_Export_i(Fl_Button *,void *)223 void flgui::cb_Export_i(Fl_Button*, void*) {
224 button_cfg_export_cb();
225 }
cb_Export(Fl_Button * o,void * v)226 void flgui::cb_Export(Fl_Button* o, void* v) {
227 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Export_i(o,v);
228 }
229
cb_Check_i(Fl_Button *,void *)230 void flgui::cb_Check_i(Fl_Button*, void*) {
231 button_cfg_check_for_updates_cb();
232 }
cb_Check(Fl_Button * o,void * v)233 void flgui::cb_Check(Fl_Button* o, void* v) {
234 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Check_i(o,v);
235 }
236
cb_check_update_at_startup_i(Fl_Check_Button *,void *)237 void flgui::cb_check_update_at_startup_i(Fl_Check_Button*, void*) {
238 check_update_at_startup_cb();
239 }
cb_check_update_at_startup(Fl_Check_Button * o,void * v)240 void flgui::cb_check_update_at_startup(Fl_Check_Button* o, void* v) {
241 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_update_at_startup_i(o,v);
242 }
243
cb_choice_cfg_dev_i(Fl_Choice *,void *)244 void flgui::cb_choice_cfg_dev_i(Fl_Choice*, void*) {
245 choice_cfg_dev_cb();
246 }
cb_choice_cfg_dev(Fl_Choice * o,void * v)247 void flgui::cb_choice_cfg_dev(Fl_Choice* o, void* v) {
248 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_dev_i(o,v);
249 }
250
cb_Stereo_i(Fl_Menu_ *,void *)251 void flgui::cb_Stereo_i(Fl_Menu_*, void*) {
252 choice_cfg_channel_stereo_cb();
253 }
cb_Stereo(Fl_Menu_ * o,void * v)254 void flgui::cb_Stereo(Fl_Menu_* o, void* v) {
255 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Stereo_i(o,v);
256 }
257
cb_Mono_i(Fl_Menu_ *,void *)258 void flgui::cb_Mono_i(Fl_Menu_*, void*) {
259 choice_cfg_channel_mono_cb();
260 }
cb_Mono(Fl_Menu_ * o,void * v)261 void flgui::cb_Mono(Fl_Menu_* o, void* v) {
262 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Mono_i(o,v);
263 }
264
265 unsigned char flgui::menu_choice_cfg_channel_i18n_done = 0;
266 Fl_Menu_Item flgui::menu_choice_cfg_channel[] = {
267 {"Stereo", 0, (Fl_Callback*)flgui::cb_Stereo, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
268 {"Mono", 0, (Fl_Callback*)flgui::cb_Mono, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
269 {0,0,0,0,0,0,0,0,0}
270 };
271
cb_choice_cfg_samplerate_i(Fl_Choice *,void *)272 void flgui::cb_choice_cfg_samplerate_i(Fl_Choice*, void*) {
273 choice_cfg_samplerate_cb();
274 }
cb_choice_cfg_samplerate(Fl_Choice * o,void * v)275 void flgui::cb_choice_cfg_samplerate(Fl_Choice* o, void* v) {
276 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_samplerate_i(o,v);
277 }
278
cb_choice_cfg_left_channel_i(Fl_Choice *,void *)279 void flgui::cb_choice_cfg_left_channel_i(Fl_Choice*, void*) {
280 choice_cfg_left_channel_cb();
281 }
cb_choice_cfg_left_channel(Fl_Choice * o,void * v)282 void flgui::cb_choice_cfg_left_channel(Fl_Choice* o, void* v) {
283 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_left_channel_i(o,v);
284 }
285
cb_choice_cfg_right_channel_i(Fl_Choice *,void *)286 void flgui::cb_choice_cfg_right_channel_i(Fl_Choice*, void*) {
287 choice_cfg_right_channel_cb();
288 }
cb_choice_cfg_right_channel(Fl_Choice * o,void * v)289 void flgui::cb_choice_cfg_right_channel(Fl_Choice* o, void* v) {
290 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_right_channel_i(o,v);
291 }
292
cb_MP3_i(Fl_Menu_ *,void *)293 void flgui::cb_MP3_i(Fl_Menu_*, void*) {
294 choice_cfg_codec_mp3_cb();
295 }
cb_MP3(Fl_Menu_ * o,void * v)296 void flgui::cb_MP3(Fl_Menu_* o, void* v) {
297 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_MP3_i(o,v);
298 }
299
cb_OGG_i(Fl_Menu_ *,void *)300 void flgui::cb_OGG_i(Fl_Menu_*, void*) {
301 choice_cfg_codec_ogg_cb();
302 }
cb_OGG(Fl_Menu_ * o,void * v)303 void flgui::cb_OGG(Fl_Menu_* o, void* v) {
304 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_OGG_i(o,v);
305 }
306
cb_OPUS_i(Fl_Menu_ *,void *)307 void flgui::cb_OPUS_i(Fl_Menu_*, void*) {
308 choice_cfg_codec_opus_cb();
309 }
cb_OPUS(Fl_Menu_ * o,void * v)310 void flgui::cb_OPUS(Fl_Menu_* o, void* v) {
311 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_OPUS_i(o,v);
312 }
313
cb_menu_item_cfg_aac_i(Fl_Menu_ *,void *)314 void flgui::cb_menu_item_cfg_aac_i(Fl_Menu_*, void*) {
315 choice_cfg_codec_aac_cb();
316 }
cb_menu_item_cfg_aac(Fl_Menu_ * o,void * v)317 void flgui::cb_menu_item_cfg_aac(Fl_Menu_* o, void* v) {
318 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_menu_item_cfg_aac_i(o,v);
319 }
320
cb_FLAC_i(Fl_Menu_ *,void *)321 void flgui::cb_FLAC_i(Fl_Menu_*, void*) {
322 choice_cfg_codec_flac_cb();
323 }
cb_FLAC(Fl_Menu_ * o,void * v)324 void flgui::cb_FLAC(Fl_Menu_* o, void* v) {
325 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_FLAC_i(o,v);
326 }
327
328 unsigned char flgui::menu_choice_cfg_codec_i18n_done = 0;
329 Fl_Menu_Item flgui::menu_choice_cfg_codec[] = {
330 {"MP3", 0, (Fl_Callback*)flgui::cb_MP3, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
331 {"OGG/VORBIS", 0, (Fl_Callback*)flgui::cb_OGG, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
332 {"OPUS", 0, (Fl_Callback*)flgui::cb_OPUS, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
333 {"AAC+", 0, (Fl_Callback*)flgui::cb_menu_item_cfg_aac, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
334 {"FLAC", 0, (Fl_Callback*)flgui::cb_FLAC, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
335 {0,0,0,0,0,0,0,0,0}
336 };
337 Fl_Menu_Item* flgui::menu_item_cfg_aac = flgui::menu_choice_cfg_codec + 3;
338
cb_choice_cfg_bitrate_i(Fl_Choice *,void *)339 void flgui::cb_choice_cfg_bitrate_i(Fl_Choice*, void*) {
340 choice_cfg_bitrate_cb();
341 }
cb_choice_cfg_bitrate(Fl_Choice * o,void * v)342 void flgui::cb_choice_cfg_bitrate(Fl_Choice* o, void* v) {
343 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_bitrate_i(o,v);
344 }
345
346 unsigned char flgui::menu_choice_cfg_bitrate_i18n_done = 0;
347 Fl_Menu_Item flgui::menu_choice_cfg_bitrate[] = {
348 {"8k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
349 {"16k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
350 {"24k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
351 {"32k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
352 {"40k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
353 {"48k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
354 {"56k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
355 {"64k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
356 {"80k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
357 {"96k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
358 {"112k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
359 {"128k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
360 {"160k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
361 {"192k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
362 {"224k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
363 {"256k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
364 {"320k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
365 {0,0,0,0,0,0,0,0,0}
366 };
367
cb_check_cfg_mono_to_stereo_i(Fl_Check_Button *,void *)368 void flgui::cb_check_cfg_mono_to_stereo_i(Fl_Check_Button*, void*) {
369 check_cfg_mono_to_stereo_cb();
370 }
cb_check_cfg_mono_to_stereo(Fl_Check_Button * o,void * v)371 void flgui::cb_check_cfg_mono_to_stereo(Fl_Check_Button* o, void* v) {
372 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_cfg_mono_to_stereo_i(o,v);
373 }
374
cb_MP31_i(Fl_Menu_ *,void *)375 void flgui::cb_MP31_i(Fl_Menu_*, void*) {
376 choice_rec_codec_mp3_cb();
377 }
cb_MP31(Fl_Menu_ * o,void * v)378 void flgui::cb_MP31(Fl_Menu_* o, void* v) {
379 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_MP31_i(o,v);
380 }
381
cb_OGG1_i(Fl_Menu_ *,void *)382 void flgui::cb_OGG1_i(Fl_Menu_*, void*) {
383 choice_rec_codec_ogg_cb();
384 }
cb_OGG1(Fl_Menu_ * o,void * v)385 void flgui::cb_OGG1(Fl_Menu_* o, void* v) {
386 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_OGG1_i(o,v);
387 }
388
cb_OPUS1_i(Fl_Menu_ *,void *)389 void flgui::cb_OPUS1_i(Fl_Menu_*, void*) {
390 choice_rec_codec_opus_cb();
391 }
cb_OPUS1(Fl_Menu_ * o,void * v)392 void flgui::cb_OPUS1(Fl_Menu_* o, void* v) {
393 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_OPUS1_i(o,v);
394 }
395
cb_menu_item_rec_aac_i(Fl_Menu_ *,void *)396 void flgui::cb_menu_item_rec_aac_i(Fl_Menu_*, void*) {
397 choice_rec_codec_aac_cb();
398 }
cb_menu_item_rec_aac(Fl_Menu_ * o,void * v)399 void flgui::cb_menu_item_rec_aac(Fl_Menu_* o, void* v) {
400 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_menu_item_rec_aac_i(o,v);
401 }
402
cb_FLAC1_i(Fl_Menu_ *,void *)403 void flgui::cb_FLAC1_i(Fl_Menu_*, void*) {
404 choice_rec_codec_flac_cb();
405 }
cb_FLAC1(Fl_Menu_ * o,void * v)406 void flgui::cb_FLAC1(Fl_Menu_* o, void* v) {
407 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_FLAC1_i(o,v);
408 }
409
cb_WAV_i(Fl_Menu_ *,void *)410 void flgui::cb_WAV_i(Fl_Menu_*, void*) {
411 choice_rec_codec_wav_cb();
412 }
cb_WAV(Fl_Menu_ * o,void * v)413 void flgui::cb_WAV(Fl_Menu_* o, void* v) {
414 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_WAV_i(o,v);
415 }
416
417 unsigned char flgui::menu_choice_rec_codec_i18n_done = 0;
418 Fl_Menu_Item flgui::menu_choice_rec_codec[] = {
419 {"MP3", 0, (Fl_Callback*)flgui::cb_MP31, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
420 {"OGG/VORBIS", 0, (Fl_Callback*)flgui::cb_OGG1, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
421 {"OPUS", 0, (Fl_Callback*)flgui::cb_OPUS1, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
422 {"AAC+", 0, (Fl_Callback*)flgui::cb_menu_item_rec_aac, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
423 {"FLAC", 0, (Fl_Callback*)flgui::cb_FLAC1, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
424 {"WAV", 0, (Fl_Callback*)flgui::cb_WAV, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
425 {0,0,0,0,0,0,0,0,0}
426 };
427 Fl_Menu_Item* flgui::menu_item_rec_aac = flgui::menu_choice_rec_codec + 3;
428
cb_choice_rec_bitrate_i(Fl_Choice *,void *)429 void flgui::cb_choice_rec_bitrate_i(Fl_Choice*, void*) {
430 choice_rec_bitrate_cb();
431 }
cb_choice_rec_bitrate(Fl_Choice * o,void * v)432 void flgui::cb_choice_rec_bitrate(Fl_Choice* o, void* v) {
433 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_rec_bitrate_i(o,v);
434 }
435
436 unsigned char flgui::menu_choice_rec_bitrate_i18n_done = 0;
437 Fl_Menu_Item flgui::menu_choice_rec_bitrate[] = {
438 {"8k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
439 {"16k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
440 {"24k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
441 {"32k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
442 {"40k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
443 {"48k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
444 {"56k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
445 {"64k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
446 {"80k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
447 {"96k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
448 {"112k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
449 {"128k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
450 {"160k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
451 {"192k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
452 {"224k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
453 {"256k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
454 {"320k", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
455 {0,0,0,0,0,0,0,0,0}
456 };
457
cb_button_advanced_i(Fl_Button *,void *)458 void flgui::cb_button_advanced_i(Fl_Button*, void*) {
459 static int show_advanced = 0;
460 if (!show_advanced)
461 {
462 window_cfg->size(window_cfg->w(), 450);
463 show_advanced = 1;
464 fl_g->button_advanced->label("Standard...");
465 }
466 else
467 {
468 window_cfg->size(window_cfg->w(), 380);
469 show_advanced = 0;
470 fl_g->button_advanced->label("Advanced...");
471
472 };
473 }
cb_button_advanced(Fl_Button * o,void * v)474 void flgui::cb_button_advanced(Fl_Button* o, void* v) {
475 ((flgui*)(o->parent()->parent()->parent()->user_data()))->cb_button_advanced_i(o,v);
476 }
477
cb_input_cfg_buffer_i(Fl_Value_Input *,void *)478 void flgui::cb_input_cfg_buffer_i(Fl_Value_Input*, void*) {
479 input_cfg_buffer_cb(1);
480 }
cb_input_cfg_buffer(Fl_Value_Input * o,void * v)481 void flgui::cb_input_cfg_buffer(Fl_Value_Input* o, void* v) {
482 ((flgui*)(o->parent()->parent()->parent()->user_data()))->cb_input_cfg_buffer_i(o,v);
483 }
484
cb_choice_cfg_resample_mode_i(Fl_Choice *,void *)485 void flgui::cb_choice_cfg_resample_mode_i(Fl_Choice*, void*) {
486 choice_cfg_resample_mode_cb();
487 }
cb_choice_cfg_resample_mode(Fl_Choice * o,void * v)488 void flgui::cb_choice_cfg_resample_mode(Fl_Choice* o, void* v) {
489 ((flgui*)(o->parent()->parent()->parent()->user_data()))->cb_choice_cfg_resample_mode_i(o,v);
490 }
491
492 unsigned char flgui::menu_choice_cfg_resample_mode_i18n_done = 0;
493 Fl_Menu_Item flgui::menu_choice_cfg_resample_mode[] = {
494 {"SINC_BEST", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
495 {"SINC_MEDIUM", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
496 {"SINC_FASTEST", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
497 {"ZERO_ORDER_HOLD", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
498 {"LINEAR", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
499 {0,0,0,0,0,0,0,0,0}
500 };
501
cb_input_cfg_present_level_i(Fl_Value_Input *,void *)502 void flgui::cb_input_cfg_present_level_i(Fl_Value_Input*, void*) {
503 input_cfg_present_level_cb();
504 }
cb_input_cfg_present_level(Fl_Value_Input * o,void * v)505 void flgui::cb_input_cfg_present_level(Fl_Value_Input* o, void* v) {
506 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_present_level_i(o,v);
507 }
508
cb_input_cfg_absent_level_i(Fl_Value_Input *,void *)509 void flgui::cb_input_cfg_absent_level_i(Fl_Value_Input*, void*) {
510 input_cfg_absent_level_cb();
511 }
cb_input_cfg_absent_level(Fl_Value_Input * o,void * v)512 void flgui::cb_input_cfg_absent_level(Fl_Value_Input* o, void* v) {
513 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_absent_level_i(o,v);
514 }
515
cb_input_cfg_song_file_i(Fl_Input *,void *)516 void flgui::cb_input_cfg_song_file_i(Fl_Input*, void*) {
517 input_cfg_song_file_cb();
518 }
cb_input_cfg_song_file(Fl_Input * o,void * v)519 void flgui::cb_input_cfg_song_file(Fl_Input* o, void* v) {
520 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_song_file_i(o,v);
521 }
522
cb_button_songfile_browse_i(Fl_Button *,void *)523 void flgui::cb_button_songfile_browse_i(Fl_Button*, void*) {
524 button_cfg_browse_songfile_cb();
525 }
cb_button_songfile_browse(Fl_Button * o,void * v)526 void flgui::cb_button_songfile_browse(Fl_Button* o, void* v) {
527 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_songfile_browse_i(o,v);
528 }
529
cb_check_song_update_active_i(Fl_Check_Button *,void *)530 void flgui::cb_check_song_update_active_i(Fl_Check_Button*, void*) {
531 check_song_update_active_cb();
532 }
cb_check_song_update_active(Fl_Check_Button * o,void * v)533 void flgui::cb_check_song_update_active(Fl_Check_Button* o, void* v) {
534 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_song_update_active_i(o,v);
535 }
536
cb_check_read_last_line_i(Fl_Check_Button *,void *)537 void flgui::cb_check_read_last_line_i(Fl_Check_Button*, void*) {
538 check_read_last_line_cb();
539 }
cb_check_read_last_line(Fl_Check_Button * o,void * v)540 void flgui::cb_check_read_last_line(Fl_Check_Button* o, void* v) {
541 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_read_last_line_i(o,v);
542 }
543
cb_input_cfg_song_i(Fl_Input *,void *)544 void flgui::cb_input_cfg_song_i(Fl_Input*, void*) {
545 input_cfg_song_cb();
546 }
cb_input_cfg_song(Fl_Input * o,void * v)547 void flgui::cb_input_cfg_song(Fl_Input* o, void* v) {
548 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_song_i(o,v);
549 }
550
cb_OK_i(Fl_Button *,void *)551 void flgui::cb_OK_i(Fl_Button*, void*) {
552 button_cfg_song_go_cb();
553 }
cb_OK(Fl_Button * o,void * v)554 void flgui::cb_OK(Fl_Button* o, void* v) {
555 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_OK_i(o,v);
556 }
557
cb_check_cfg_use_app_i(Fl_Check_Button *,void *)558 void flgui::cb_check_cfg_use_app_i(Fl_Check_Button*, void*) {
559 check_cfg_use_app_cb();
560 }
cb_check_cfg_use_app(Fl_Check_Button * o,void * v)561 void flgui::cb_check_cfg_use_app(Fl_Check_Button* o, void* v) {
562 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_cfg_use_app_i(o,v);
563 }
564
cb_choice_cfg_app_i(Fl_Choice *,void *)565 void flgui::cb_choice_cfg_app_i(Fl_Choice*, void*) {
566 choice_cfg_app_cb();
567 }
cb_choice_cfg_app(Fl_Choice * o,void * v)568 void flgui::cb_choice_cfg_app(Fl_Choice* o, void* v) {
569 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_cfg_app_i(o,v);
570 }
571
cb_check_cfg_connect_i(Fl_Check_Button *,void *)572 void flgui::cb_check_cfg_connect_i(Fl_Check_Button*, void*) {
573 check_cfg_connect_cb();
574 }
cb_check_cfg_connect(Fl_Check_Button * o,void * v)575 void flgui::cb_check_cfg_connect(Fl_Check_Button* o, void* v) {
576 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_cfg_connect_i(o,v);
577 }
578
cb_input_cfg_silence_i(Fl_Value_Input *,void *)579 void flgui::cb_input_cfg_silence_i(Fl_Value_Input*, void*) {
580 input_cfg_silence_cb();
581 }
cb_input_cfg_silence(Fl_Value_Input * o,void * v)582 void flgui::cb_input_cfg_silence(Fl_Value_Input* o, void* v) {
583 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_silence_i(o,v);
584 }
585
cb_input_cfg_signal_i(Fl_Value_Input *,void *)586 void flgui::cb_input_cfg_signal_i(Fl_Value_Input*, void*) {
587 input_cfg_signal_cb();
588 }
cb_input_cfg_signal(Fl_Value_Input * o,void * v)589 void flgui::cb_input_cfg_signal(Fl_Value_Input* o, void* v) {
590 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_signal_i(o,v);
591 }
592
cb_check_cfg_force_reconnecting_i(Fl_Check_Button *,void *)593 void flgui::cb_check_cfg_force_reconnecting_i(Fl_Check_Button*, void*) {
594 check_cfg_force_reconnecting_cb();
595 }
cb_check_cfg_force_reconnecting(Fl_Check_Button * o,void * v)596 void flgui::cb_check_cfg_force_reconnecting(Fl_Check_Button* o, void* v) {
597 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_cfg_force_reconnecting_i(o,v);
598 }
599
cb_input_cfg_song_prefix_i(Fl_Input *,void *)600 void flgui::cb_input_cfg_song_prefix_i(Fl_Input*, void*) {
601 input_cfg_song_prefix_cb();
602 }
cb_input_cfg_song_prefix(Fl_Input * o,void * v)603 void flgui::cb_input_cfg_song_prefix(Fl_Input* o, void* v) {
604 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_song_prefix_i(o,v);
605 }
606
cb_input_cfg_song_suffix_i(Fl_Input *,void *)607 void flgui::cb_input_cfg_song_suffix_i(Fl_Input*, void*) {
608 input_cfg_song_suffix_cb();
609 }
cb_input_cfg_song_suffix(Fl_Input * o,void * v)610 void flgui::cb_input_cfg_song_suffix(Fl_Input* o, void* v) {
611 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_cfg_song_suffix_i(o,v);
612 }
613
cb_input_rec_filename_i(Fl_Input *,void *)614 void flgui::cb_input_rec_filename_i(Fl_Input*, void*) {
615 input_rec_filename_cb();
616 }
cb_input_rec_filename(Fl_Input * o,void * v)617 void flgui::cb_input_rec_filename(Fl_Input* o, void* v) {
618 ((flgui*)(o->parent()->parent()->parent()->user_data()))->cb_input_rec_filename_i(o,v);
619 }
620
cb_input_rec_folder_i(Fl_Input *,void *)621 void flgui::cb_input_rec_folder_i(Fl_Input*, void*) {
622 input_rec_folder_cb();
623 }
cb_input_rec_folder(Fl_Input * o,void * v)624 void flgui::cb_input_rec_folder(Fl_Input* o, void* v) {
625 ((flgui*)(o->parent()->parent()->parent()->user_data()))->cb_input_rec_folder_i(o,v);
626 }
627
cb_button_rec_browse_i(Fl_Button *,void *)628 void flgui::cb_button_rec_browse_i(Fl_Button*, void*) {
629 button_rec_browse_cb();
630 }
cb_button_rec_browse(Fl_Button * o,void * v)631 void flgui::cb_button_rec_browse(Fl_Button* o, void* v) {
632 ((flgui*)(o->parent()->parent()->parent()->user_data()))->cb_button_rec_browse_i(o,v);
633 }
634
cb_input_rec_split_time_i(Fl_Value_Input *,void *)635 void flgui::cb_input_rec_split_time_i(Fl_Value_Input*, void*) {
636 input_rec_split_time_cb();
637 }
cb_input_rec_split_time(Fl_Value_Input * o,void * v)638 void flgui::cb_input_rec_split_time(Fl_Value_Input* o, void* v) {
639 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_rec_split_time_i(o,v);
640 }
641
cb_check_sync_to_full_hour_i(Fl_Check_Button *,void *)642 void flgui::cb_check_sync_to_full_hour_i(Fl_Check_Button*, void*) {
643 check_sync_to_full_hour_cb();
644 }
cb_check_sync_to_full_hour(Fl_Check_Button * o,void * v)645 void flgui::cb_check_sync_to_full_hour(Fl_Check_Button* o, void* v) {
646 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_sync_to_full_hour_i(o,v);
647 }
648
cb_Split_i(Fl_Button *,void *)649 void flgui::cb_Split_i(Fl_Button*, void*) {
650 button_rec_split_now_cb();
651 }
cb_Split(Fl_Button * o,void * v)652 void flgui::cb_Split(Fl_Button* o, void* v) {
653 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Split_i(o,v);
654 }
655
cb_check_cfg_auto_start_rec_i(Fl_Check_Button *,void *)656 void flgui::cb_check_cfg_auto_start_rec_i(Fl_Check_Button*, void*) {
657 check_cfg_auto_start_rec_cb();
658 }
cb_check_cfg_auto_start_rec(Fl_Check_Button * o,void * v)659 void flgui::cb_check_cfg_auto_start_rec(Fl_Check_Button* o, void* v) {
660 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_cfg_auto_start_rec_i(o,v);
661 }
662
cb_check_cfg_rec_after_launch_i(Fl_Check_Button *,void *)663 void flgui::cb_check_cfg_rec_after_launch_i(Fl_Check_Button*, void*) {
664 check_cfg_rec_after_launch_cb();
665 }
cb_check_cfg_rec_after_launch(Fl_Check_Button * o,void * v)666 void flgui::cb_check_cfg_rec_after_launch(Fl_Check_Button* o, void* v) {
667 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_cfg_rec_after_launch_i(o,v);
668 }
669
cb_input_rec_signal_i(Fl_Value_Input *,void *)670 void flgui::cb_input_rec_signal_i(Fl_Value_Input*, void*) {
671 input_rec_signal_cb();
672 }
cb_input_rec_signal(Fl_Value_Input * o,void * v)673 void flgui::cb_input_rec_signal(Fl_Value_Input* o, void* v) {
674 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_rec_signal_i(o,v);
675 }
676
cb_check_cfg_auto_stop_rec_i(Fl_Check_Button *,void *)677 void flgui::cb_check_cfg_auto_stop_rec_i(Fl_Check_Button*, void*) {
678 check_cfg_auto_stop_rec_cb();
679 }
cb_check_cfg_auto_stop_rec(Fl_Check_Button * o,void * v)680 void flgui::cb_check_cfg_auto_stop_rec(Fl_Check_Button* o, void* v) {
681 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_cfg_auto_stop_rec_i(o,v);
682 }
683
cb_input_rec_silence_i(Fl_Value_Input *,void *)684 void flgui::cb_input_rec_silence_i(Fl_Value_Input*, void*) {
685 input_rec_silence_cb();
686 }
cb_input_rec_silence(Fl_Value_Input * o,void * v)687 void flgui::cb_input_rec_silence(Fl_Value_Input* o, void* v) {
688 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_rec_silence_i(o,v);
689 }
690
cb_input_tls_cert_file_i(Fl_Input *,void *)691 void flgui::cb_input_tls_cert_file_i(Fl_Input*, void*) {
692 input_tls_cert_file_cb();
693 }
cb_input_tls_cert_file(Fl_Input * o,void * v)694 void flgui::cb_input_tls_cert_file(Fl_Input* o, void* v) {
695 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_tls_cert_file_i(o,v);
696 }
697
cb_input_tls_cert_dir_i(Fl_Input *,void *)698 void flgui::cb_input_tls_cert_dir_i(Fl_Input*, void*) {
699 input_tls_cert_dir_cb();
700 }
cb_input_tls_cert_dir(Fl_Input * o,void * v)701 void flgui::cb_input_tls_cert_dir(Fl_Input* o, void* v) {
702 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_input_tls_cert_dir_i(o,v);
703 }
704
cb_button_tls_browse_dir_i(Fl_Button *,void *)705 void flgui::cb_button_tls_browse_dir_i(Fl_Button*, void*) {
706 button_tls_browse_dir_cb();
707 }
cb_button_tls_browse_dir(Fl_Button * o,void * v)708 void flgui::cb_button_tls_browse_dir(Fl_Button* o, void* v) {
709 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_tls_browse_dir_i(o,v);
710 }
711
cb_button_tls_browse_file_i(Fl_Button *,void *)712 void flgui::cb_button_tls_browse_file_i(Fl_Button*, void*) {
713 button_tls_browse_file_cb();
714 }
cb_button_tls_browse_file(Fl_Button * o,void * v)715 void flgui::cb_button_tls_browse_file(Fl_Button* o, void* v) {
716 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_tls_browse_file_i(o,v);
717 }
718
cb_check_activate_eq_i(Fl_Check_Button *,void *)719 void flgui::cb_check_activate_eq_i(Fl_Check_Button*, void*) {
720 check_activate_eq_cb();
721 }
cb_check_activate_eq(Fl_Check_Button * o,void * v)722 void flgui::cb_check_activate_eq(Fl_Check_Button* o, void* v) {
723 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_activate_eq_i(o,v);
724 }
725
cb_equalizerSlider1_i(Fl_My_Value_Slider * o,void *)726 void flgui::cb_equalizerSlider1_i(Fl_My_Value_Slider* o, void*) {
727 slider_equalizer1_cb(o->value());
728 }
cb_equalizerSlider1(Fl_My_Value_Slider * o,void * v)729 void flgui::cb_equalizerSlider1(Fl_My_Value_Slider* o, void* v) {
730 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_equalizerSlider1_i(o,v);
731 }
732
cb_equalizerSlider2_i(Fl_My_Value_Slider * o,void *)733 void flgui::cb_equalizerSlider2_i(Fl_My_Value_Slider* o, void*) {
734 slider_equalizer2_cb(o->value());
735 }
cb_equalizerSlider2(Fl_My_Value_Slider * o,void * v)736 void flgui::cb_equalizerSlider2(Fl_My_Value_Slider* o, void* v) {
737 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_equalizerSlider2_i(o,v);
738 }
739
cb_equalizerSlider3_i(Fl_My_Value_Slider * o,void *)740 void flgui::cb_equalizerSlider3_i(Fl_My_Value_Slider* o, void*) {
741 slider_equalizer3_cb(o->value());
742 }
cb_equalizerSlider3(Fl_My_Value_Slider * o,void * v)743 void flgui::cb_equalizerSlider3(Fl_My_Value_Slider* o, void* v) {
744 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_equalizerSlider3_i(o,v);
745 }
746
cb_equalizerSlider4_i(Fl_My_Value_Slider * o,void *)747 void flgui::cb_equalizerSlider4_i(Fl_My_Value_Slider* o, void*) {
748 slider_equalizer4_cb(o->value());
749 }
cb_equalizerSlider4(Fl_My_Value_Slider * o,void * v)750 void flgui::cb_equalizerSlider4(Fl_My_Value_Slider* o, void* v) {
751 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_equalizerSlider4_i(o,v);
752 }
753
cb_equalizerSlider5_i(Fl_My_Value_Slider * o,void *)754 void flgui::cb_equalizerSlider5_i(Fl_My_Value_Slider* o, void*) {
755 slider_equalizer5_cb(o->value());
756 }
cb_equalizerSlider5(Fl_My_Value_Slider * o,void * v)757 void flgui::cb_equalizerSlider5(Fl_My_Value_Slider* o, void* v) {
758 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_equalizerSlider5_i(o,v);
759 }
760
cb_Reset_i(Fl_Button *,void *)761 void flgui::cb_Reset_i(Fl_Button*, void*) {
762 fl_g->equalizerSlider1->value(0);
763 fl_g->equalizerSlider2->value(0);
764 fl_g->equalizerSlider3->value(0);
765 fl_g->equalizerSlider4->value(0);
766 fl_g->equalizerSlider5->value(0);
767 slider_equalizer1_cb(0);
768 slider_equalizer2_cb(0);
769 slider_equalizer3_cb(0);
770 slider_equalizer4_cb(0);
771 slider_equalizer5_cb(0);
772 }
cb_Reset(Fl_Button * o,void * v)773 void flgui::cb_Reset(Fl_Button* o, void* v) {
774 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Reset_i(o,v);
775 }
776
cb_check_activate_drc_i(Fl_Check_Button *,void *)777 void flgui::cb_check_activate_drc_i(Fl_Check_Button*, void*) {
778 check_activate_drc_cb();
779 }
cb_check_activate_drc(Fl_Check_Button * o,void * v)780 void flgui::cb_check_activate_drc(Fl_Check_Button* o, void* v) {
781 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_activate_drc_i(o,v);
782 }
783
cb_thresholdSlider_i(Fl_My_Value_Slider * o,void *)784 void flgui::cb_thresholdSlider_i(Fl_My_Value_Slider* o, void*) {
785 slider_threshold_cb(o->value());
786 }
cb_thresholdSlider(Fl_My_Value_Slider * o,void * v)787 void flgui::cb_thresholdSlider(Fl_My_Value_Slider* o, void* v) {
788 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_thresholdSlider_i(o,v);
789 }
790
cb_ratioSlider_i(Fl_My_Value_Slider * o,void *)791 void flgui::cb_ratioSlider_i(Fl_My_Value_Slider* o, void*) {
792 slider_ratio_cb(o->value());
793 }
cb_ratioSlider(Fl_My_Value_Slider * o,void * v)794 void flgui::cb_ratioSlider(Fl_My_Value_Slider* o, void* v) {
795 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_ratioSlider_i(o,v);
796 }
797
cb_attackSlider_i(Fl_My_Value_Slider * o,void *)798 void flgui::cb_attackSlider_i(Fl_My_Value_Slider* o, void*) {
799 slider_attack_cb(o->value());
800 }
cb_attackSlider(Fl_My_Value_Slider * o,void * v)801 void flgui::cb_attackSlider(Fl_My_Value_Slider* o, void* v) {
802 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_attackSlider_i(o,v);
803 }
804
cb_releaseSlider_i(Fl_My_Value_Slider * o,void *)805 void flgui::cb_releaseSlider_i(Fl_My_Value_Slider* o, void*) {
806 slider_release_cb(o->value());
807 }
cb_releaseSlider(Fl_My_Value_Slider * o,void * v)808 void flgui::cb_releaseSlider(Fl_My_Value_Slider* o, void* v) {
809 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_releaseSlider_i(o,v);
810 }
811
cb_Reset1_i(Fl_Button *,void *)812 void flgui::cb_Reset1_i(Fl_Button*, void*) {
813 fl_g->thresholdSlider->value(-20);
814 fl_g->ratioSlider->value(5);
815 fl_g->attackSlider->value(0.01);
816 fl_g->releaseSlider->value(1);
817 fl_g->makeupSlider->value(0);
818 slider_threshold_cb(-20);
819 slider_ratio_cb(5);
820 slider_attack_cb(0.01);
821 slider_release_cb(1);
822 slider_makeup_cb(0);
823 }
cb_Reset1(Fl_Button * o,void * v)824 void flgui::cb_Reset1(Fl_Button* o, void* v) {
825 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Reset1_i(o,v);
826 }
827
cb_makeupSlider_i(Fl_My_Value_Slider * o,void *)828 void flgui::cb_makeupSlider_i(Fl_My_Value_Slider* o, void*) {
829 slider_makeup_cb(o->value());
830 }
cb_makeupSlider(Fl_My_Value_Slider * o,void * v)831 void flgui::cb_makeupSlider(Fl_My_Value_Slider* o, void* v) {
832 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_makeupSlider_i(o,v);
833 }
834
cb_button_gui_text_color_i(Fl_Button *,void *)835 void flgui::cb_button_gui_text_color_i(Fl_Button*, void*) {
836 button_gui_text_color_cb();
837 }
cb_button_gui_text_color(Fl_Button * o,void * v)838 void flgui::cb_button_gui_text_color(Fl_Button* o, void* v) {
839 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_gui_text_color_i(o,v);
840 }
841
cb_button_gui_bg_color_i(Fl_Button *,void *)842 void flgui::cb_button_gui_bg_color_i(Fl_Button*, void*) {
843 button_gui_bg_color_cb();
844 }
cb_button_gui_bg_color(Fl_Button * o,void * v)845 void flgui::cb_button_gui_bg_color(Fl_Button* o, void* v) {
846 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_button_gui_bg_color_i(o,v);
847 }
848
cb_check_gui_attach_i(Fl_Check_Button *,void *)849 void flgui::cb_check_gui_attach_i(Fl_Check_Button*, void*) {
850 check_gui_attach_cb();
851 }
cb_check_gui_attach(Fl_Check_Button * o,void * v)852 void flgui::cb_check_gui_attach(Fl_Check_Button* o, void* v) {
853 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_gui_attach_i(o,v);
854 }
855
cb_check_gui_ontop_i(Fl_Check_Button *,void *)856 void flgui::cb_check_gui_ontop_i(Fl_Check_Button*, void*) {
857 check_gui_ontop_cb();
858 }
cb_check_gui_ontop(Fl_Check_Button * o,void * v)859 void flgui::cb_check_gui_ontop(Fl_Check_Button* o, void* v) {
860 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_gui_ontop_i(o,v);
861 }
862
cb_check_gui_lcd_auto_i(Fl_Check_Button *,void *)863 void flgui::cb_check_gui_lcd_auto_i(Fl_Check_Button*, void*) {
864 check_gui_lcd_auto_cb();
865 }
cb_check_gui_lcd_auto(Fl_Check_Button * o,void * v)866 void flgui::cb_check_gui_lcd_auto(Fl_Check_Button* o, void* v) {
867 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_gui_lcd_auto_i(o,v);
868 }
869
cb_check_gui_hide_log_window_i(Fl_Check_Button *,void *)870 void flgui::cb_check_gui_hide_log_window_i(Fl_Check_Button*, void*) {
871 check_gui_hide_log_window_cb();
872 }
cb_check_gui_hide_log_window(Fl_Check_Button * o,void * v)873 void flgui::cb_check_gui_hide_log_window(Fl_Check_Button* o, void* v) {
874 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_gui_hide_log_window_i(o,v);
875 }
876
cb_check_gui_remember_pos_i(Fl_Check_Button *,void *)877 void flgui::cb_check_gui_remember_pos_i(Fl_Check_Button*, void*) {
878 check_gui_remember_pos_cb();
879 }
cb_check_gui_remember_pos(Fl_Check_Button * o,void * v)880 void flgui::cb_check_gui_remember_pos(Fl_Check_Button* o, void* v) {
881 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_check_gui_remember_pos_i(o,v);
882 }
883
cb_choice_gui_language_i(Fl_Choice *,void *)884 void flgui::cb_choice_gui_language_i(Fl_Choice*, void*) {
885 choice_gui_language_cb();
886 }
cb_choice_gui_language(Fl_Choice * o,void * v)887 void flgui::cb_choice_gui_language(Fl_Choice* o, void* v) {
888 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_choice_gui_language_i(o,v);
889 }
890
891 unsigned char flgui::menu_choice_gui_language_i18n_done = 0;
892 Fl_Menu_Item flgui::menu_choice_gui_language[] = {
893 {"System", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
894 {"Deutsch", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
895 {"English", 0, 0, 0, 0, (uchar)FL_NORMAL_LABEL, 0, 14, 0},
896 {0,0,0,0,0,0,0,0,0}
897 };
898
cb_Donate_i(Fl_Button *,void *)899 void flgui::cb_Donate_i(Fl_Button*, void*) {
900 fl_open_uri("https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LTRSQNTWN4L6L&source=url");
901 }
cb_Donate(Fl_Button * o,void * v)902 void flgui::cb_Donate(Fl_Button* o, void* v) {
903 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Donate_i(o,v);
904 }
905
cb_Become_i(Fl_Button *,void *)906 void flgui::cb_Become_i(Fl_Button*, void*) {
907 fl_open_uri("https://www.patreon.com/butt_broadcast");
908 }
cb_Become(Fl_Button * o,void * v)909 void flgui::cb_Become(Fl_Button* o, void* v) {
910 ((flgui*)(o->parent()->parent()->parent()->parent()->user_data()))->cb_Become_i(o,v);
911 }
912
cb_radio_add_srv_shoutcast_i(Fl_Round_Button *,void *)913 void flgui::cb_radio_add_srv_shoutcast_i(Fl_Round_Button*, void*) {
914 radio_add_srv_shoutcast_cb();
915 }
cb_radio_add_srv_shoutcast(Fl_Round_Button * o,void * v)916 void flgui::cb_radio_add_srv_shoutcast(Fl_Round_Button* o, void* v) {
917 ((flgui*)(o->parent()->parent()->user_data()))->cb_radio_add_srv_shoutcast_i(o,v);
918 }
919
cb_radio_add_srv_icecast_i(Fl_Round_Button *,void *)920 void flgui::cb_radio_add_srv_icecast_i(Fl_Round_Button*, void*) {
921 radio_add_srv_icecast_cb();
922 }
cb_radio_add_srv_icecast(Fl_Round_Button * o,void * v)923 void flgui::cb_radio_add_srv_icecast(Fl_Round_Button* o, void* v) {
924 ((flgui*)(o->parent()->parent()->user_data()))->cb_radio_add_srv_icecast_i(o,v);
925 }
926
cb_Cancel_i(Fl_Button *,void *)927 void flgui::cb_Cancel_i(Fl_Button*, void*) {
928 button_add_srv_cancel_cb();
929 }
cb_Cancel(Fl_Button * o,void * v)930 void flgui::cb_Cancel(Fl_Button* o, void* v) {
931 ((flgui*)(o->parent()->user_data()))->cb_Cancel_i(o,v);
932 }
933
cb_button_add_srv_add_i(Fl_Button *,void *)934 void flgui::cb_button_add_srv_add_i(Fl_Button*, void*) {
935 button_add_srv_add_cb();
936 }
cb_button_add_srv_add(Fl_Button * o,void * v)937 void flgui::cb_button_add_srv_add(Fl_Button* o, void* v) {
938 ((flgui*)(o->parent()->user_data()))->cb_button_add_srv_add_i(o,v);
939 }
940
cb_button_add_srv_save_i(Fl_Button *,void *)941 void flgui::cb_button_add_srv_save_i(Fl_Button*, void*) {
942 button_add_srv_save_cb();
943 }
cb_button_add_srv_save(Fl_Button * o,void * v)944 void flgui::cb_button_add_srv_save(Fl_Button* o, void* v) {
945 ((flgui*)(o->parent()->user_data()))->cb_button_add_srv_save_i(o,v);
946 }
947
cb_button_cfg_show_pw_i(Fl_Button *,void *)948 void flgui::cb_button_cfg_show_pw_i(Fl_Button*, void*) {
949 button_add_srv_show_pwd_cb();
950 }
cb_button_cfg_show_pw(Fl_Button * o,void * v)951 void flgui::cb_button_cfg_show_pw(Fl_Button* o, void* v) {
952 ((flgui*)(o->parent()->user_data()))->cb_button_cfg_show_pw_i(o,v);
953 }
954
cb_button_add_srv_revoke_cert_i(Fl_Button *,void *)955 void flgui::cb_button_add_srv_revoke_cert_i(Fl_Button*, void*) {
956 button_add_srv_revoke_cert_cb();
957 }
cb_button_add_srv_revoke_cert(Fl_Button * o,void * v)958 void flgui::cb_button_add_srv_revoke_cert(Fl_Button* o, void* v) {
959 ((flgui*)(o->parent()->parent()->user_data()))->cb_button_add_srv_revoke_cert_i(o,v);
960 }
961
cb_Cancel1_i(Fl_Button *,void *)962 void flgui::cb_Cancel1_i(Fl_Button*, void*) {
963 button_add_icy_cancel_cb();
964 }
cb_Cancel1(Fl_Button * o,void * v)965 void flgui::cb_Cancel1(Fl_Button* o, void* v) {
966 ((flgui*)(o->parent()->user_data()))->cb_Cancel1_i(o,v);
967 }
968
cb_button_add_icy_add_i(Fl_Button *,void *)969 void flgui::cb_button_add_icy_add_i(Fl_Button*, void*) {
970 button_add_icy_add_cb();
971 }
cb_button_add_icy_add(Fl_Button * o,void * v)972 void flgui::cb_button_add_icy_add(Fl_Button* o, void* v) {
973 ((flgui*)(o->parent()->user_data()))->cb_button_add_icy_add_i(o,v);
974 }
975
cb_button_add_icy_save_i(Fl_Button *,void *)976 void flgui::cb_button_add_icy_save_i(Fl_Button*, void*) {
977 button_add_icy_save_cb();
978 }
cb_button_add_icy_save(Fl_Button * o,void * v)979 void flgui::cb_button_add_icy_save(Fl_Button* o, void* v) {
980 ((flgui*)(o->parent()->user_data()))->cb_button_add_icy_save_i(o,v);
981 }
982
flgui()983 flgui::flgui() {
984 { window_main = new Fl_My_Double_Window(430, 380);
985 window_main->box(FL_FLAT_BOX);
986 window_main->color(FL_BACKGROUND_COLOR);
987 window_main->selection_color(FL_BACKGROUND_COLOR);
988 window_main->labeltype(FL_NO_LABEL);
989 window_main->labelfont(0);
990 window_main->labelsize(14);
991 window_main->labelcolor(FL_FOREGROUND_COLOR);
992 window_main->callback((Fl_Callback*)cb_window_main, (void*)(this));
993 window_main->align(Fl_Align(FL_ALIGN_TOP));
994 window_main->when(FL_WHEN_RELEASE);
995 { Fl_Group* o = new Fl_Group(0, -1, 430, 426);
996 { lcd = new Fl_ILM216(10, 9, 410, 95);
997 lcd->tooltip(gettext("press left mouse to toggle lcd info"));
998 lcd->box(FL_ENGRAVED_BOX);
999 lcd->color(FL_SELECTION_COLOR);
1000 lcd->selection_color((Fl_Color)41);
1001 lcd->labeltype(FL_NORMAL_LABEL);
1002 lcd->labelfont(0);
1003 lcd->labelsize(14);
1004 lcd->labelcolor(FL_FOREGROUND_COLOR);
1005 lcd->callback((Fl_Callback*)cb_lcd);
1006 lcd->align(Fl_Align(FL_ALIGN_CENTER));
1007 lcd->when(FL_WHEN_RELEASE);
1008 } // Fl_ILM216* lcd
1009 { button_connect = new Fl_Button(102, 121, 30, 30, gettext("@> "));
1010 button_connect->tooltip(gettext("connect to server"));
1011 button_connect->box(FL_ENGRAVED_BOX);
1012 button_connect->shortcut(0x40063);
1013 button_connect->down_box(FL_ENGRAVED_BOX);
1014 button_connect->color((Fl_Color)48);
1015 button_connect->selection_color((Fl_Color)40);
1016 button_connect->labelfont(1);
1017 button_connect->labelcolor(FL_BACKGROUND2_COLOR);
1018 button_connect->callback((Fl_Callback*)cb_button_connect);
1019 } // Fl_Button* button_connect
1020 { button_disconnect = new Fl_Button(62, 121, 30, 30, gettext("@-3square"));
1021 button_disconnect->tooltip(gettext("disconnect from server"));
1022 button_disconnect->box(FL_ENGRAVED_BOX);
1023 button_disconnect->shortcut(0x40064);
1024 button_disconnect->down_box(FL_ENGRAVED_BOX);
1025 button_disconnect->color((Fl_Color)48);
1026 button_disconnect->selection_color((Fl_Color)40);
1027 button_disconnect->labelfont(1);
1028 button_disconnect->labelcolor(FL_BACKGROUND2_COLOR);
1029 button_disconnect->callback((Fl_Callback*)cb_button_disconnect);
1030 } // Fl_Button* button_disconnect
1031 { button_record = new Fl_Button(10, 121, 30, 30, gettext("@-3circle"));
1032 button_record->tooltip(gettext("start/stop recording"));
1033 button_record->box(FL_ENGRAVED_BOX);
1034 button_record->shortcut(0x40072);
1035 button_record->down_box(FL_ENGRAVED_BOX);
1036 button_record->color((Fl_Color)48);
1037 button_record->selection_color((Fl_Color)40);
1038 button_record->labelfont(1);
1039 button_record->labelcolor((Fl_Color)1);
1040 button_record->callback((Fl_Callback*)cb_button_record);
1041 } // Fl_Button* button_record
1042 { button_info = new Fl_Button(340, 143, 80, 15, gettext("Show log"));
1043 button_info->tooltip(gettext("show/hide info window"));
1044 button_info->box(FL_ENGRAVED_BOX);
1045 button_info->shortcut(0x40076);
1046 button_info->color((Fl_Color)48);
1047 button_info->labelsize(10);
1048 button_info->callback((Fl_Callback*)cb_button_info);
1049 } // Fl_Button* button_info
1050 { vumeter = new VUMeter(156, 115, 174, 43);
1051 vumeter->box(FL_BORDER_BOX);
1052 vumeter->color(FL_BACKGROUND_COLOR);
1053 vumeter->selection_color(FL_BACKGROUND_COLOR);
1054 vumeter->labeltype(FL_NORMAL_LABEL);
1055 vumeter->labelfont(0);
1056 vumeter->labelsize(14);
1057 vumeter->labelcolor(FL_FOREGROUND_COLOR);
1058 vumeter->align(Fl_Align(FL_ALIGN_TOP));
1059 vumeter->when(FL_WHEN_RELEASE);
1060 vumeter->end();
1061 } // VUMeter* vumeter
1062 o->end();
1063 } // Fl_Group* o
1064 { info_output = new Fl_Text_Display(0, 195, 430, 184);
1065 info_output->box(FL_EMBOSSED_BOX);
1066 info_output->textfont(4);
1067 info_output->textsize(15);
1068 } // Fl_Text_Display* info_output
1069 { button_cfg = new Fl_Button(340, 114, 80, 22, gettext("Settings"));
1070 button_cfg->tooltip(gettext("show/hide config window"));
1071 button_cfg->box(FL_ENGRAVED_BOX);
1072 button_cfg->shortcut(0x40066);
1073 button_cfg->color((Fl_Color)48);
1074 button_cfg->labelsize(11);
1075 button_cfg->callback((Fl_Callback*)cb_button_cfg);
1076 } // Fl_Button* button_cfg
1077 { Fl_Box* o = new Fl_Box(10, 167, 30, 16, gettext("-24 dB"));
1078 o->labelsize(10);
1079 } // Fl_Box* o
1080 { slider_gain = new Fl_My_Value_Slider(50, 168, 335, 15);
1081 slider_gain->tooltip(gettext("Gain"));
1082 slider_gain->type(5);
1083 slider_gain->box(FL_NO_BOX);
1084 slider_gain->color(FL_BACKGROUND_COLOR);
1085 slider_gain->selection_color(FL_BACKGROUND_COLOR);
1086 slider_gain->labeltype(FL_NORMAL_LABEL);
1087 slider_gain->labelfont(0);
1088 slider_gain->labelsize(14);
1089 slider_gain->labelcolor(FL_FOREGROUND_COLOR);
1090 slider_gain->minimum(-24);
1091 slider_gain->maximum(24);
1092 slider_gain->step(0.1);
1093 slider_gain->callback((Fl_Callback*)cb_slider_gain);
1094 slider_gain->align(Fl_Align(FL_ALIGN_BOTTOM));
1095 slider_gain->when(FL_WHEN_CHANGED);
1096 } // Fl_My_Value_Slider* slider_gain
1097 { Fl_Box* o = new Fl_Box(390, 167, 30, 16, gettext("+24 dB"));
1098 o->labelsize(10);
1099 } // Fl_Box* o
1100 window_main->size_range(430, 155, 430);
1101 window_main->end();
1102 } // Fl_My_Double_Window* window_main
1103 { window_cfg = new Fl_My_Double_Window(400, 550, gettext("butt settings"));
1104 window_cfg->box(FL_FLAT_BOX);
1105 window_cfg->color(FL_BACKGROUND_COLOR);
1106 window_cfg->selection_color(FL_BACKGROUND_COLOR);
1107 window_cfg->labeltype(FL_NO_LABEL);
1108 window_cfg->labelfont(0);
1109 window_cfg->labelsize(14);
1110 window_cfg->labelcolor(FL_FOREGROUND_COLOR);
1111 window_cfg->callback((Fl_Callback*)cb_window_cfg, (void*)(this));
1112 window_cfg->align(Fl_Align(FL_ALIGN_TOP));
1113 window_cfg->when(FL_WHEN_RELEASE);
1114 { Settings = new Fl_Tabs(0, 0, 406, 560);
1115 Settings->selection_color((Fl_Color)41);
1116 { Fl_Group* o = new Fl_Group(0, 20, 400, 530, gettext("Main"));
1117 o->when(FL_WHEN_RELEASE_ALWAYS);
1118 { Fl_Group* o = new Fl_Group(37, 55, 326, 155, gettext("Server Settings"));
1119 o->box(FL_ENGRAVED_FRAME);
1120 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1121 { choice_cfg_act_srv = new Fl_Choice(45, 75, 310, 20, gettext("Server"));
1122 choice_cfg_act_srv->tooltip(gettext("Server to connect to"));
1123 choice_cfg_act_srv->down_box(FL_BORDER_BOX);
1124 choice_cfg_act_srv->callback((Fl_Callback*)cb_choice_cfg_act_srv);
1125 choice_cfg_act_srv->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1126 } // Fl_Choice* choice_cfg_act_srv
1127 { Fl_Button* o = new Fl_Button(45, 100, 43, 20, gettext("ADD"));
1128 o->tooltip(gettext("Add server"));
1129 o->box(FL_ENGRAVED_BOX);
1130 o->callback((Fl_Callback*)cb_ADD);
1131 } // Fl_Button* o
1132 { button_cfg_edit_srv = new Fl_Button(178, 100, 43, 20, gettext("EDIT"));
1133 button_cfg_edit_srv->tooltip(gettext("Edit selected server"));
1134 button_cfg_edit_srv->box(FL_ENGRAVED_BOX);
1135 button_cfg_edit_srv->callback((Fl_Callback*)cb_button_cfg_edit_srv);
1136 } // Fl_Button* button_cfg_edit_srv
1137 { button_cfg_del_srv = new Fl_Button(312, 100, 43, 20, gettext("DEL"));
1138 button_cfg_del_srv->tooltip(gettext("Delete selected server"));
1139 button_cfg_del_srv->box(FL_ENGRAVED_BOX);
1140 button_cfg_del_srv->callback((Fl_Callback*)cb_button_cfg_del_srv);
1141 } // Fl_Button* button_cfg_del_srv
1142 { choice_cfg_act_icy = new Fl_Choice(45, 155, 310, 20, gettext("Stream Infos"));
1143 choice_cfg_act_icy->tooltip(gettext("Stream info that shall be used"));
1144 choice_cfg_act_icy->down_box(FL_BORDER_BOX);
1145 choice_cfg_act_icy->callback((Fl_Callback*)cb_choice_cfg_act_icy);
1146 choice_cfg_act_icy->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1147 } // Fl_Choice* choice_cfg_act_icy
1148 { Fl_Button* o = new Fl_Button(45, 180, 43, 20, gettext("ADD"));
1149 o->tooltip(gettext("Add stream info"));
1150 o->box(FL_ENGRAVED_BOX);
1151 o->callback((Fl_Callback*)cb_ADD1);
1152 } // Fl_Button* o
1153 { button_cfg_edit_icy = new Fl_Button(178, 180, 43, 20, gettext("EDIT"));
1154 button_cfg_edit_icy->tooltip(gettext("Edit stream info"));
1155 button_cfg_edit_icy->box(FL_ENGRAVED_BOX);
1156 button_cfg_edit_icy->callback((Fl_Callback*)cb_button_cfg_edit_icy);
1157 } // Fl_Button* button_cfg_edit_icy
1158 { button_cfg_del_icy = new Fl_Button(312, 180, 43, 20, gettext("DEL"));
1159 button_cfg_del_icy->tooltip(gettext("Delete stream info"));
1160 button_cfg_del_icy->box(FL_ENGRAVED_BOX);
1161 button_cfg_del_icy->callback((Fl_Callback*)cb_button_cfg_del_icy);
1162 } // Fl_Button* button_cfg_del_icy
1163 o->end();
1164 } // Fl_Group* o
1165 { Fl_Group* o = new Fl_Group(37, 237, 326, 40, gettext("Log File"));
1166 o->box(FL_ENGRAVED_FRAME);
1167 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1168 { input_log_filename = new Fl_Input(45, 245, 280, 25);
1169 input_log_filename->tooltip(gettext("Log file path"));
1170 input_log_filename->callback((Fl_Callback*)cb_input_log_filename);
1171 input_log_filename->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1172 } // Fl_Input* input_log_filename
1173 { Fl_Button* o = new Fl_Button(331, 245, 25, 25);
1174 o->tooltip(gettext("Select log file"));
1175 o->box(FL_ENGRAVED_BOX);
1176 o->image( image_folder() );
1177 o->callback((Fl_Callback*)cb_);
1178 } // Fl_Button* o
1179 o->end();
1180 } // Fl_Group* o
1181 { Fl_Group* o = new Fl_Group(37, 304, 326, 50, gettext("Configuration"));
1182 o->box(FL_ENGRAVED_FRAME);
1183 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1184 { Fl_Button* o = new Fl_Button(45, 315, 70, 28, gettext("Import..."));
1185 o->tooltip(gettext("Import settings from config file"));
1186 o->box(FL_ENGRAVED_BOX);
1187 o->callback((Fl_Callback*)cb_Import);
1188 } // Fl_Button* o
1189 { Fl_Button* o = new Fl_Button(153, 315, 95, 28, gettext("&Save"));
1190 o->tooltip(gettext("Save settings"));
1191 o->box(FL_ENGRAVED_BOX);
1192 o->callback((Fl_Callback*)cb_Save);
1193 } // Fl_Button* o
1194 { Fl_Button* o = new Fl_Button(285, 315, 70, 28, gettext("Export..."));
1195 o->tooltip(gettext("export settings"));
1196 o->box(FL_ENGRAVED_BOX);
1197 o->callback((Fl_Callback*)cb_Export);
1198 } // Fl_Button* o
1199 o->end();
1200 } // Fl_Group* o
1201 { Fl_Group* o = new Fl_Group(37, 383, 326, 50, gettext("Updates"));
1202 o->box(FL_ENGRAVED_FRAME);
1203 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1204 { Fl_Button* o = new Fl_Button(250, 395, 105, 28, gettext("Check now"));
1205 o->tooltip(gettext("Check if a new version is available"));
1206 o->box(FL_ENGRAVED_BOX);
1207 o->callback((Fl_Callback*)cb_Check);
1208 } // Fl_Button* o
1209 { check_update_at_startup = new Fl_Check_Button(45, 402, 145, 15, gettext("Check at startup"));
1210 check_update_at_startup->tooltip(gettext("Check for updates at start"));
1211 check_update_at_startup->down_box(FL_DOWN_BOX);
1212 check_update_at_startup->callback((Fl_Callback*)cb_check_update_at_startup);
1213 } // Fl_Check_Button* check_update_at_startup
1214 o->end();
1215 } // Fl_Group* o
1216 o->end();
1217 } // Fl_Group* o
1218 { Fl_Group* o = new Fl_Group(0, 20, 400, 530, gettext("Audio"));
1219 o->hide();
1220 { Fl_Group* o = new Fl_Group(37, 55, 326, 165, gettext("Main Audio Settings"));
1221 o->box(FL_ENGRAVED_FRAME);
1222 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1223 { choice_cfg_dev = new Fl_Choice(45, 84, 310, 20, gettext("Audio Device"));
1224 choice_cfg_dev->tooltip(gettext("select your sound card device"));
1225 choice_cfg_dev->down_box(FL_FLAT_BOX);
1226 choice_cfg_dev->callback((Fl_Callback*)cb_choice_cfg_dev);
1227 choice_cfg_dev->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1228 } // Fl_Choice* choice_cfg_dev
1229 { choice_cfg_channel = new Fl_Choice(45, 124, 160, 21, gettext("Channel mode"));
1230 choice_cfg_channel->tooltip(gettext("Select input channel"));
1231 choice_cfg_channel->box(FL_ENGRAVED_BOX);
1232 choice_cfg_channel->down_box(FL_BORDER_BOX);
1233 choice_cfg_channel->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1234 if (!menu_choice_cfg_channel_i18n_done) {
1235 int i=0;
1236 for ( ; i<2; i++)
1237 if (menu_choice_cfg_channel[i].label())
1238 menu_choice_cfg_channel[i].label(gettext(menu_choice_cfg_channel[i].label()));
1239 menu_choice_cfg_channel_i18n_done = 1;
1240 }
1241 choice_cfg_channel->menu(menu_choice_cfg_channel);
1242 } // Fl_Choice* choice_cfg_channel
1243 { choice_cfg_samplerate = new Fl_Choice(240, 124, 115, 20, gettext("Samplerate"));
1244 choice_cfg_samplerate->tooltip(gettext("Select input sample rate"));
1245 choice_cfg_samplerate->down_box(FL_BORDER_BOX);
1246 choice_cfg_samplerate->callback((Fl_Callback*)cb_choice_cfg_samplerate);
1247 choice_cfg_samplerate->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1248 } // Fl_Choice* choice_cfg_samplerate
1249 { choice_cfg_left_channel = new Fl_Choice(45, 175, 70, 20, gettext("Left"));
1250 choice_cfg_left_channel->down_box(FL_BORDER_BOX);
1251 choice_cfg_left_channel->callback((Fl_Callback*)cb_choice_cfg_left_channel);
1252 choice_cfg_left_channel->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1253 } // Fl_Choice* choice_cfg_left_channel
1254 { choice_cfg_right_channel = new Fl_Choice(135, 175, 70, 20, gettext("Right"));
1255 choice_cfg_right_channel->down_box(FL_BORDER_BOX);
1256 choice_cfg_right_channel->callback((Fl_Callback*)cb_choice_cfg_right_channel);
1257 choice_cfg_right_channel->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1258 } // Fl_Choice* choice_cfg_right_channel
1259 o->end();
1260 } // Fl_Group* o
1261 { Fl_Group* o = new Fl_Group(37, 247, 326, 60, gettext("Streaming"));
1262 o->box(FL_ENGRAVED_FRAME);
1263 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1264 { choice_cfg_codec = new Fl_Choice(45, 274, 125, 20, gettext("Codec"));
1265 choice_cfg_codec->tooltip(gettext("Select streaming codec"));
1266 choice_cfg_codec->box(FL_ENGRAVED_BOX);
1267 choice_cfg_codec->down_box(FL_BORDER_BOX);
1268 choice_cfg_codec->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1269 if (!menu_choice_cfg_codec_i18n_done) {
1270 int i=0;
1271 for ( ; i<5; i++)
1272 if (menu_choice_cfg_codec[i].label())
1273 menu_choice_cfg_codec[i].label(gettext(menu_choice_cfg_codec[i].label()));
1274 menu_choice_cfg_codec_i18n_done = 1;
1275 }
1276 choice_cfg_codec->menu(menu_choice_cfg_codec);
1277 } // Fl_Choice* choice_cfg_codec
1278 { choice_cfg_bitrate = new Fl_Choice(240, 274, 115, 20, gettext("Bitrate"));
1279 choice_cfg_bitrate->tooltip(gettext("Select streaming bitrate"));
1280 choice_cfg_bitrate->box(FL_ENGRAVED_BOX);
1281 choice_cfg_bitrate->down_box(FL_BORDER_BOX);
1282 choice_cfg_bitrate->callback((Fl_Callback*)cb_choice_cfg_bitrate);
1283 choice_cfg_bitrate->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1284 if (!menu_choice_cfg_bitrate_i18n_done) {
1285 int i=0;
1286 for ( ; i<17; i++)
1287 if (menu_choice_cfg_bitrate[i].label())
1288 menu_choice_cfg_bitrate[i].label(gettext(menu_choice_cfg_bitrate[i].label()));
1289 menu_choice_cfg_bitrate_i18n_done = 1;
1290 }
1291 choice_cfg_bitrate->menu(menu_choice_cfg_bitrate);
1292 } // Fl_Choice* choice_cfg_bitrate
1293 { check_cfg_mono_to_stereo = new Fl_Check_Button(40, 291, 170, 15, gettext("Convert Mono to Stereo"));
1294 check_cfg_mono_to_stereo->tooltip(gettext("Copies a mono channel to both stereo channels"));
1295 check_cfg_mono_to_stereo->down_box(FL_DOWN_BOX);
1296 check_cfg_mono_to_stereo->callback((Fl_Callback*)cb_check_cfg_mono_to_stereo);
1297 check_cfg_mono_to_stereo->hide();
1298 } // Fl_Check_Button* check_cfg_mono_to_stereo
1299 o->end();
1300 } // Fl_Group* o
1301 { Fl_Group* o = new Fl_Group(37, 339, 326, 60, gettext("Recording"));
1302 o->box(FL_ENGRAVED_FRAME);
1303 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1304 { choice_rec_codec = new Fl_Choice(45, 366, 125, 20, gettext("Codec"));
1305 choice_rec_codec->tooltip(gettext("Select recording codec"));
1306 choice_rec_codec->box(FL_ENGRAVED_BOX);
1307 choice_rec_codec->down_box(FL_BORDER_BOX);
1308 choice_rec_codec->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1309 if (!menu_choice_rec_codec_i18n_done) {
1310 int i=0;
1311 for ( ; i<6; i++)
1312 if (menu_choice_rec_codec[i].label())
1313 menu_choice_rec_codec[i].label(gettext(menu_choice_rec_codec[i].label()));
1314 menu_choice_rec_codec_i18n_done = 1;
1315 }
1316 choice_rec_codec->menu(menu_choice_rec_codec);
1317 } // Fl_Choice* choice_rec_codec
1318 { choice_rec_bitrate = new Fl_Choice(240, 366, 115, 20, gettext("Bitrate"));
1319 choice_rec_bitrate->tooltip(gettext("Select recording bitrate"));
1320 choice_rec_bitrate->down_box(FL_BORDER_BOX);
1321 choice_rec_bitrate->callback((Fl_Callback*)cb_choice_rec_bitrate);
1322 choice_rec_bitrate->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1323 if (!menu_choice_rec_bitrate_i18n_done) {
1324 int i=0;
1325 for ( ; i<17; i++)
1326 if (menu_choice_rec_bitrate[i].label())
1327 menu_choice_rec_bitrate[i].label(gettext(menu_choice_rec_bitrate[i].label()));
1328 menu_choice_rec_bitrate_i18n_done = 1;
1329 }
1330 choice_rec_bitrate->menu(menu_choice_rec_bitrate);
1331 } // Fl_Choice* choice_rec_bitrate
1332 o->end();
1333 } // Fl_Group* o
1334 { button_advanced = new Fl_Button(37, 345, 89, 25, gettext("Advanced..."));
1335 button_advanced->box(FL_ENGRAVED_BOX);
1336 button_advanced->callback((Fl_Callback*)cb_button_advanced);
1337 button_advanced->hide();
1338 button_advanced->deactivate();
1339 } // Fl_Button* button_advanced
1340 { input_cfg_buffer = new Fl_Value_Input(37, 405, 75, 20, gettext("Buffer (ms)"));
1341 input_cfg_buffer->maximum(0);
1342 input_cfg_buffer->value(50);
1343 input_cfg_buffer->callback((Fl_Callback*)cb_input_cfg_buffer);
1344 input_cfg_buffer->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1345 input_cfg_buffer->when(FL_WHEN_ENTER_KEY);
1346 input_cfg_buffer->hide();
1347 input_cfg_buffer->deactivate();
1348 } // Fl_Value_Input* input_cfg_buffer
1349 { choice_cfg_resample_mode = new Fl_Choice(177, 405, 125, 20, gettext("Resample Quality"));
1350 choice_cfg_resample_mode->down_box(FL_BORDER_BOX);
1351 choice_cfg_resample_mode->callback((Fl_Callback*)cb_choice_cfg_resample_mode);
1352 choice_cfg_resample_mode->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1353 choice_cfg_resample_mode->hide();
1354 choice_cfg_resample_mode->deactivate();
1355 if (!menu_choice_cfg_resample_mode_i18n_done) {
1356 int i=0;
1357 for ( ; i<5; i++)
1358 if (menu_choice_cfg_resample_mode[i].label())
1359 menu_choice_cfg_resample_mode[i].label(gettext(menu_choice_cfg_resample_mode[i].label()));
1360 menu_choice_cfg_resample_mode_i18n_done = 1;
1361 }
1362 choice_cfg_resample_mode->menu(menu_choice_cfg_resample_mode);
1363 } // Fl_Choice* choice_cfg_resample_mode
1364 { Fl_Group* o = new Fl_Group(37, 430, 326, 50, gettext("Signal detection levels"));
1365 o->box(FL_ENGRAVED_FRAME);
1366 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1367 { input_cfg_present_level = new Fl_Value_Input(45, 454, 70, 19, gettext("Signal present"));
1368 input_cfg_present_level->minimum(-90);
1369 input_cfg_present_level->maximum(0);
1370 input_cfg_present_level->value(-50);
1371 input_cfg_present_level->callback((Fl_Callback*)cb_input_cfg_present_level);
1372 input_cfg_present_level->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1373 } // Fl_Value_Input* input_cfg_present_level
1374 { input_cfg_absent_level = new Fl_Value_Input(240, 454, 65, 19, gettext("Signal absent"));
1375 input_cfg_absent_level->minimum(-90);
1376 input_cfg_absent_level->maximum(0);
1377 input_cfg_absent_level->value(-50);
1378 input_cfg_absent_level->callback((Fl_Callback*)cb_input_cfg_absent_level);
1379 input_cfg_absent_level->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1380 } // Fl_Value_Input* input_cfg_absent_level
1381 { Fl_Box* o = new Fl_Box(115, 456, 25, 17, gettext("dB"));
1382 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1383 } // Fl_Box* o
1384 { Fl_Box* o = new Fl_Box(305, 455, 25, 17, gettext("dB"));
1385 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1386 } // Fl_Box* o
1387 o->end();
1388 } // Fl_Group* o
1389 o->end();
1390 } // Fl_Group* o
1391 { Fl_Group* o = new Fl_Group(0, 20, 406, 530, gettext("Stream"));
1392 o->hide();
1393 { Fl_Group* o = new Fl_Group(37, 55, 326, 65, gettext("Update song name from file"));
1394 o->box(FL_ENGRAVED_FRAME);
1395 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1396 { input_cfg_song_file = new Fl_Input(42, 64, 283, 26);
1397 input_cfg_song_file->tooltip(gettext("Filename that holds the current song name"));
1398 input_cfg_song_file->callback((Fl_Callback*)cb_input_cfg_song_file);
1399 input_cfg_song_file->align(Fl_Align(FL_ALIGN_TOP_RIGHT));
1400 this->input_cfg_song_file->maximum_size(500);
1401 } // Fl_Input* input_cfg_song_file
1402 { button_songfile_browse = new Fl_Button(330, 65, 25, 25);
1403 button_songfile_browse->tooltip(gettext("Select file that holds the current song name"));
1404 button_songfile_browse->box(FL_ENGRAVED_FRAME);
1405 button_songfile_browse->image( image_folder() );
1406 button_songfile_browse->callback((Fl_Callback*)cb_button_songfile_browse);
1407 } // Fl_Button* button_songfile_browse
1408 { check_song_update_active = new Fl_Check_Button(40, 91, 77, 25, gettext("Activate"));
1409 check_song_update_active->tooltip(gettext("Activate auto update song name from file"));
1410 check_song_update_active->down_box(FL_DOWN_BOX);
1411 check_song_update_active->callback((Fl_Callback*)cb_check_song_update_active);
1412 } // Fl_Check_Button* check_song_update_active
1413 { check_read_last_line = new Fl_Check_Button(120, 91, 215, 25, gettext("Read last line instead of first"));
1414 check_read_last_line->tooltip(gettext("Activate auto update song name from file"));
1415 check_read_last_line->down_box(FL_DOWN_BOX);
1416 check_read_last_line->callback((Fl_Callback*)cb_check_read_last_line);
1417 } // Fl_Check_Button* check_read_last_line
1418 o->end();
1419 } // Fl_Group* o
1420 { Fl_Group* o = new Fl_Group(37, 236, 326, 40, gettext("Update song name manually"));
1421 o->box(FL_ENGRAVED_FRAME);
1422 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1423 { input_cfg_song = new Fl_Input(42, 244, 283, 25);
1424 input_cfg_song->tooltip(gettext("Current song name"));
1425 input_cfg_song->callback((Fl_Callback*)cb_input_cfg_song);
1426 input_cfg_song->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1427 input_cfg_song->when(FL_WHEN_CHANGED);
1428 this->input_cfg_song->maximum_size(500);
1429 } // Fl_Input* input_cfg_song
1430 { Fl_Button* o = new Fl_Button(330, 244, 25, 25, gettext("OK"));
1431 o->tooltip(gettext("Send current song name to the server"));
1432 o->box(FL_ENGRAVED_BOX);
1433 o->shortcut(0xff0d);
1434 o->labelsize(12);
1435 o->callback((Fl_Callback*)cb_OK);
1436 } // Fl_Button* o
1437 o->end();
1438 } // Fl_Group* o
1439 { Fl_Group* o = new Fl_Group(37, 144, 326, 65, gettext("Update song name from application"));
1440 o->box(FL_ENGRAVED_BOX);
1441 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1442 { check_cfg_use_app = new Fl_Check_Button(40, 174, 85, 33, gettext("Activate"));
1443 check_cfg_use_app->down_box(FL_DOWN_BOX);
1444 check_cfg_use_app->callback((Fl_Callback*)cb_check_cfg_use_app);
1445 } // Fl_Check_Button* check_cfg_use_app
1446 { choice_cfg_app = new Fl_Choice(42, 155, 203, 20);
1447 choice_cfg_app->tooltip(gettext("Changes the song through an running application"));
1448 choice_cfg_app->down_box(FL_BORDER_BOX);
1449 choice_cfg_app->callback((Fl_Callback*)cb_choice_cfg_app);
1450 } // Fl_Choice* choice_cfg_app
1451 o->end();
1452 } // Fl_Group* o
1453 { Fl_Group* o = new Fl_Group(37, 418, 328, 112, gettext("Streaming"));
1454 o->box(FL_ENGRAVED_FRAME);
1455 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1456 { check_cfg_connect = new Fl_Check_Button(42, 483, 205, 18, gettext("Start streaming after launch"));
1457 check_cfg_connect->tooltip(gettext("Connect automatically to a server after launch"));
1458 check_cfg_connect->down_box(FL_DOWN_BOX);
1459 check_cfg_connect->callback((Fl_Callback*)cb_check_cfg_connect);
1460 } // Fl_Check_Button* check_cfg_connect
1461 { input_cfg_silence = new Fl_Value_Input(238, 453, 42, 19);
1462 input_cfg_silence->callback((Fl_Callback*)cb_input_cfg_silence);
1463 } // Fl_Value_Input* input_cfg_silence
1464 { input_cfg_signal = new Fl_Value_Input(238, 429, 42, 19);
1465 input_cfg_signal->callback((Fl_Callback*)cb_input_cfg_signal);
1466 } // Fl_Value_Input* input_cfg_signal
1467 { Fl_Box* o = new Fl_Box(280, 429, 62, 16, gettext("seconds"));
1468 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1469 } // Fl_Box* o
1470 { Fl_Box* o = new Fl_Box(280, 453, 62, 16, gettext("seconds"));
1471 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1472 } // Fl_Box* o
1473 { Fl_Box* o = new Fl_Box(42, 429, 175, 16, gettext("Start if signal is present for"));
1474 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1475 } // Fl_Box* o
1476 { Fl_Box* o = new Fl_Box(42, 453, 175, 16, gettext("Stop if signal is absent for"));
1477 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1478 } // Fl_Box* o
1479 { check_cfg_force_reconnecting = new Fl_Check_Button(42, 505, 205, 18, gettext("Force reconnecting"));
1480 check_cfg_force_reconnecting->tooltip(gettext("If enabled butt keeps reconnecting regardless of the error message"));
1481 check_cfg_force_reconnecting->down_box(FL_DOWN_BOX);
1482 check_cfg_force_reconnecting->callback((Fl_Callback*)cb_check_cfg_force_reconnecting);
1483 } // Fl_Check_Button* check_cfg_force_reconnecting
1484 o->end();
1485 } // Fl_Group* o
1486 { Fl_Group* o = new Fl_Group(35, 302, 330, 90, gettext("Extend song name"));
1487 o->box(FL_ENGRAVED_FRAME);
1488 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1489 { input_cfg_song_prefix = new Fl_Input(88, 318, 255, 24, gettext("Prefix:"));
1490 input_cfg_song_prefix->callback((Fl_Callback*)cb_input_cfg_song_prefix);
1491 input_cfg_song_prefix->when(FL_WHEN_CHANGED);
1492 this->input_cfg_song_prefix->maximum_size(500);
1493 } // Fl_Input* input_cfg_song_prefix
1494 { input_cfg_song_suffix = new Fl_Input(88, 353, 255, 24, gettext("Suffix:"));
1495 input_cfg_song_suffix->callback((Fl_Callback*)cb_input_cfg_song_suffix);
1496 input_cfg_song_suffix->when(FL_WHEN_CHANGED);
1497 this->input_cfg_song_suffix->maximum_size(500);
1498 } // Fl_Input* input_cfg_song_suffix
1499 o->end();
1500 } // Fl_Group* o
1501 o->end();
1502 } // Fl_Group* o
1503 { Fl_Group* o = new Fl_Group(0, 20, 400, 530, gettext("Record"));
1504 o->hide();
1505 { input_rec_filename = new Fl_Input(37, 55, 326, 25, gettext("Record File Name:"));
1506 input_rec_filename->tooltip(gettext("Record file name"));
1507 input_rec_filename->callback((Fl_Callback*)cb_input_rec_filename);
1508 input_rec_filename->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1509 this->input_rec_filename->maximum_size(500);
1510 } // Fl_Input* input_rec_filename
1511 { input_rec_folder = new Fl_Input(37, 106, 298, 25, gettext("Record Directory:"));
1512 input_rec_folder->tooltip(gettext("Directory of recordings"));
1513 input_rec_folder->callback((Fl_Callback*)cb_input_rec_folder);
1514 input_rec_folder->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1515 this->input_rec_folder->maximum_size(500);
1516 } // Fl_Input* input_rec_folder
1517 { button_rec_browse = new Fl_Button(338, 106, 25, 25);
1518 button_rec_browse->tooltip(gettext("Select recording directory"));
1519 button_rec_browse->box(FL_ENGRAVED_BOX);
1520 button_rec_browse->image( image_folder() );
1521 button_rec_browse->callback((Fl_Callback*)cb_button_rec_browse);
1522 } // Fl_Button* button_rec_browse
1523 { Fl_Group* o = new Fl_Group(37, 164, 326, 57, gettext("Split file"));
1524 o->box(FL_ENGRAVED_FRAME);
1525 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1526 { input_rec_split_time = new Fl_Value_Input(84, 171, 40, 19, gettext("every"));
1527 input_rec_split_time->callback((Fl_Callback*)cb_input_rec_split_time);
1528 } // Fl_Value_Input* input_rec_split_time
1529 { text_rec_split_time = new Fl_Box(130, 171, 50, 16, gettext("minutes"));
1530 } // Fl_Box* text_rec_split_time
1531 { check_sync_to_full_hour = new Fl_Check_Button(42, 196, 124, 15, gettext("Sync to full hour"));
1532 check_sync_to_full_hour->tooltip(gettext("Sync to full hour"));
1533 check_sync_to_full_hour->down_box(FL_DOWN_BOX);
1534 check_sync_to_full_hour->callback((Fl_Callback*)cb_check_sync_to_full_hour);
1535 } // Fl_Check_Button* check_sync_to_full_hour
1536 { Fl_Button* o = new Fl_Button(275, 179, 80, 28, gettext("Split now"));
1537 o->box(FL_ENGRAVED_BOX);
1538 o->callback((Fl_Callback*)cb_Split);
1539 } // Fl_Button* o
1540 o->end();
1541 } // Fl_Group* o
1542 { Fl_Group* o = new Fl_Group(37, 250, 326, 138, gettext("Recording"));
1543 o->box(FL_ENGRAVED_FRAME);
1544 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1545 { check_cfg_auto_start_rec = new Fl_Check_Button(42, 260, 265, 20, gettext("Start recording when connected"));
1546 check_cfg_auto_start_rec->tooltip(gettext("Start recording when connected"));
1547 check_cfg_auto_start_rec->down_box(FL_DOWN_BOX);
1548 check_cfg_auto_start_rec->callback((Fl_Callback*)cb_check_cfg_auto_start_rec);
1549 } // Fl_Check_Button* check_cfg_auto_start_rec
1550 { check_cfg_rec_after_launch = new Fl_Check_Button(42, 309, 265, 20, gettext("Start recording after launch"));
1551 check_cfg_rec_after_launch->tooltip(gettext("Start recording after launch"));
1552 check_cfg_rec_after_launch->down_box(FL_DOWN_BOX);
1553 check_cfg_rec_after_launch->callback((Fl_Callback*)cb_check_cfg_rec_after_launch);
1554 } // Fl_Check_Button* check_cfg_rec_after_launch
1555 { input_rec_signal = new Fl_Value_Input(253, 332, 42, 19);
1556 input_rec_signal->callback((Fl_Callback*)cb_input_rec_signal);
1557 } // Fl_Value_Input* input_rec_signal
1558 { Fl_Box* o = new Fl_Box(295, 333, 64, 16, gettext("seconds"));
1559 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1560 } // Fl_Box* o
1561 { check_cfg_auto_stop_rec = new Fl_Check_Button(42, 284, 265, 20, gettext("Stop recording when disconnected"));
1562 check_cfg_auto_stop_rec->tooltip(gettext("Start recording when disconnected"));
1563 check_cfg_auto_stop_rec->down_box(FL_DOWN_BOX);
1564 check_cfg_auto_stop_rec->callback((Fl_Callback*)cb_check_cfg_auto_stop_rec);
1565 } // Fl_Check_Button* check_cfg_auto_stop_rec
1566 { input_rec_silence = new Fl_Value_Input(253, 356, 42, 19);
1567 input_rec_silence->callback((Fl_Callback*)cb_input_rec_silence);
1568 } // Fl_Value_Input* input_rec_silence
1569 { Fl_Box* o = new Fl_Box(295, 356, 62, 16, gettext("seconds"));
1570 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1571 } // Fl_Box* o
1572 { Fl_Box* o = new Fl_Box(57, 334, 175, 16, gettext("Start if signal is present for"));
1573 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1574 } // Fl_Box* o
1575 { Fl_Box* o = new Fl_Box(57, 357, 175, 16, gettext("Stop if signal is absent for"));
1576 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1577 } // Fl_Box* o
1578 o->end();
1579 } // Fl_Group* o
1580 o->end();
1581 } // Fl_Group* o
1582 { Fl_Group* o = new Fl_Group(0, 20, 400, 530, gettext("TLS"));
1583 o->hide();
1584 { Fl_Group* o = new Fl_Group(37, 55, 326, 184, gettext("SSL/TLS"));
1585 o->box(FL_ENGRAVED_FRAME);
1586 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1587 { input_tls_cert_file = new Fl_Input(45, 149, 275, 25, gettext("CA Certificate File:"));
1588 input_tls_cert_file->tooltip(gettext("Certificate file"));
1589 input_tls_cert_file->callback((Fl_Callback*)cb_input_tls_cert_file);
1590 input_tls_cert_file->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1591 this->input_tls_cert_file->maximum_size(500);
1592 } // Fl_Input* input_tls_cert_file
1593 { input_tls_cert_dir = new Fl_Input(45, 200, 275, 25, gettext("CA Certificate Directory:"));
1594 input_tls_cert_dir->tooltip(gettext("Certificate directory"));
1595 input_tls_cert_dir->callback((Fl_Callback*)cb_input_tls_cert_dir);
1596 input_tls_cert_dir->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1597 this->input_tls_cert_dir->maximum_size(500);
1598 } // Fl_Input* input_tls_cert_dir
1599 { button_tls_browse_dir = new Fl_Button(325, 200, 25, 25);
1600 button_tls_browse_dir->tooltip(gettext("Select certificate directory"));
1601 button_tls_browse_dir->box(FL_ENGRAVED_BOX);
1602 button_tls_browse_dir->image( image_folder() );
1603 button_tls_browse_dir->callback((Fl_Callback*)cb_button_tls_browse_dir);
1604 } // Fl_Button* button_tls_browse_dir
1605 { button_tls_browse_file = new Fl_Button(325, 149, 25, 25);
1606 button_tls_browse_file->tooltip(gettext("Select certificate file"));
1607 button_tls_browse_file->box(FL_ENGRAVED_BOX);
1608 button_tls_browse_file->image( image_folder() );
1609 button_tls_browse_file->callback((Fl_Callback*)cb_button_tls_browse_file);
1610 } // Fl_Button* button_tls_browse_file
1611 { Fl_Box* o = new Fl_Box(43, 67, 272, 60, gettext("If your server uses a certificate from\nLet\'s Encrypt or another well known\
1612 \nCA, you can leave these fields blank."));
1613 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1614 } // Fl_Box* o
1615 o->end();
1616 } // Fl_Group* o
1617 o->end();
1618 } // Fl_Group* o
1619 { Fl_Group* o = new Fl_Group(0, 20, 400, 530, gettext("DSP"));
1620 o->hide();
1621 { Fl_Group* o = new Fl_Group(36, 55, 327, 175, gettext("Equalizer"));
1622 o->box(FL_ENGRAVED_FRAME);
1623 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1624 { check_activate_eq = new Fl_Check_Button(40, 57, 79, 25, gettext("Activate"));
1625 check_activate_eq->down_box(FL_DOWN_BOX);
1626 check_activate_eq->callback((Fl_Callback*)cb_check_activate_eq);
1627 } // Fl_Check_Button* check_activate_eq
1628 { equalizerSlider1 = new Fl_My_Value_Slider(86, 97, 15, 115, gettext("100Hz"));
1629 equalizerSlider1->type(4);
1630 equalizerSlider1->box(FL_NO_BOX);
1631 equalizerSlider1->color(FL_BACKGROUND_COLOR);
1632 equalizerSlider1->selection_color(FL_BACKGROUND_COLOR);
1633 equalizerSlider1->labeltype(FL_NORMAL_LABEL);
1634 equalizerSlider1->labelfont(0);
1635 equalizerSlider1->labelsize(11);
1636 equalizerSlider1->labelcolor(FL_FOREGROUND_COLOR);
1637 equalizerSlider1->minimum(15);
1638 equalizerSlider1->maximum(-15);
1639 equalizerSlider1->step(0.1);
1640 equalizerSlider1->callback((Fl_Callback*)cb_equalizerSlider1);
1641 equalizerSlider1->align(Fl_Align(FL_ALIGN_BOTTOM));
1642 equalizerSlider1->when(FL_WHEN_CHANGED);
1643 } // Fl_My_Value_Slider* equalizerSlider1
1644 { equalizerSlider2 = new Fl_My_Value_Slider(136, 97, 15, 115, gettext("350Hz"));
1645 equalizerSlider2->type(4);
1646 equalizerSlider2->box(FL_NO_BOX);
1647 equalizerSlider2->color(FL_BACKGROUND_COLOR);
1648 equalizerSlider2->selection_color(FL_BACKGROUND_COLOR);
1649 equalizerSlider2->labeltype(FL_NORMAL_LABEL);
1650 equalizerSlider2->labelfont(0);
1651 equalizerSlider2->labelsize(11);
1652 equalizerSlider2->labelcolor(FL_FOREGROUND_COLOR);
1653 equalizerSlider2->minimum(15);
1654 equalizerSlider2->maximum(-15);
1655 equalizerSlider2->step(0.1);
1656 equalizerSlider2->callback((Fl_Callback*)cb_equalizerSlider2);
1657 equalizerSlider2->align(Fl_Align(FL_ALIGN_BOTTOM));
1658 equalizerSlider2->when(FL_WHEN_CHANGED);
1659 } // Fl_My_Value_Slider* equalizerSlider2
1660 { equalizerSlider3 = new Fl_My_Value_Slider(186, 97, 15, 115, gettext("1kHz"));
1661 equalizerSlider3->type(4);
1662 equalizerSlider3->box(FL_NO_BOX);
1663 equalizerSlider3->color(FL_BACKGROUND_COLOR);
1664 equalizerSlider3->selection_color(FL_BACKGROUND_COLOR);
1665 equalizerSlider3->labeltype(FL_NORMAL_LABEL);
1666 equalizerSlider3->labelfont(0);
1667 equalizerSlider3->labelsize(11);
1668 equalizerSlider3->labelcolor(FL_FOREGROUND_COLOR);
1669 equalizerSlider3->minimum(15);
1670 equalizerSlider3->maximum(-15);
1671 equalizerSlider3->step(0.1);
1672 equalizerSlider3->callback((Fl_Callback*)cb_equalizerSlider3);
1673 equalizerSlider3->align(Fl_Align(FL_ALIGN_BOTTOM));
1674 equalizerSlider3->when(FL_WHEN_CHANGED);
1675 } // Fl_My_Value_Slider* equalizerSlider3
1676 { equalizerSlider4 = new Fl_My_Value_Slider(236, 97, 15, 115, gettext("3.5kHz"));
1677 equalizerSlider4->type(4);
1678 equalizerSlider4->box(FL_NO_BOX);
1679 equalizerSlider4->color(FL_BACKGROUND_COLOR);
1680 equalizerSlider4->selection_color(FL_BACKGROUND_COLOR);
1681 equalizerSlider4->labeltype(FL_NORMAL_LABEL);
1682 equalizerSlider4->labelfont(0);
1683 equalizerSlider4->labelsize(11);
1684 equalizerSlider4->labelcolor(FL_FOREGROUND_COLOR);
1685 equalizerSlider4->minimum(15);
1686 equalizerSlider4->maximum(-15);
1687 equalizerSlider4->step(0.1);
1688 equalizerSlider4->callback((Fl_Callback*)cb_equalizerSlider4);
1689 equalizerSlider4->align(Fl_Align(FL_ALIGN_BOTTOM));
1690 equalizerSlider4->when(FL_WHEN_CHANGED);
1691 } // Fl_My_Value_Slider* equalizerSlider4
1692 { equalizerSlider5 = new Fl_My_Value_Slider(286, 97, 15, 115, gettext("10kHz"));
1693 equalizerSlider5->type(4);
1694 equalizerSlider5->box(FL_NO_BOX);
1695 equalizerSlider5->color(FL_BACKGROUND_COLOR);
1696 equalizerSlider5->selection_color(FL_BACKGROUND_COLOR);
1697 equalizerSlider5->labeltype(FL_NORMAL_LABEL);
1698 equalizerSlider5->labelfont(0);
1699 equalizerSlider5->labelsize(11);
1700 equalizerSlider5->labelcolor(FL_FOREGROUND_COLOR);
1701 equalizerSlider5->minimum(15);
1702 equalizerSlider5->maximum(-15);
1703 equalizerSlider5->step(0.1);
1704 equalizerSlider5->callback((Fl_Callback*)cb_equalizerSlider5);
1705 equalizerSlider5->align(Fl_Align(FL_ALIGN_BOTTOM));
1706 equalizerSlider5->when(FL_WHEN_CHANGED);
1707 } // Fl_My_Value_Slider* equalizerSlider5
1708 { equalizerGain1 = new Fl_Text_Display(72, 97, 35, 10, gettext("+0.0"));
1709 equalizerGain1->box(FL_NO_BOX);
1710 equalizerGain1->labelsize(11);
1711 } // Fl_Text_Display* equalizerGain1
1712 { equalizerGain2 = new Fl_Text_Display(122, 97, 35, 10, gettext("+0.0"));
1713 equalizerGain2->box(FL_NO_BOX);
1714 equalizerGain2->labelsize(11);
1715 } // Fl_Text_Display* equalizerGain2
1716 { equalizerGain3 = new Fl_Text_Display(172, 97, 35, 10, gettext("+0.0"));
1717 equalizerGain3->box(FL_NO_BOX);
1718 equalizerGain3->labelsize(11);
1719 } // Fl_Text_Display* equalizerGain3
1720 { equalizerGain4 = new Fl_Text_Display(222, 97, 35, 10, gettext("+0.0"));
1721 equalizerGain4->box(FL_NO_BOX);
1722 equalizerGain4->labelsize(11);
1723 } // Fl_Text_Display* equalizerGain4
1724 { equalizerGain5 = new Fl_Text_Display(272, 97, 35, 10, gettext("+0.0"));
1725 equalizerGain5->box(FL_NO_BOX);
1726 equalizerGain5->labelsize(11);
1727 } // Fl_Text_Display* equalizerGain5
1728 { Fl_Button* o = new Fl_Button(310, 61, 45, 19, gettext("Reset"));
1729 o->labelsize(12);
1730 o->callback((Fl_Callback*)cb_Reset);
1731 } // Fl_Button* o
1732 o->end();
1733 } // Fl_Group* o
1734 { Fl_Group* o = new Fl_Group(36, 255, 327, 175, gettext("Dynamic Range Compressor"));
1735 o->box(FL_ENGRAVED_FRAME);
1736 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1737 { check_activate_drc = new Fl_Check_Button(40, 257, 79, 25, gettext("Activate"));
1738 check_activate_drc->down_box(FL_DOWN_BOX);
1739 check_activate_drc->callback((Fl_Callback*)cb_check_activate_drc);
1740 } // Fl_Check_Button* check_activate_drc
1741 { thresholdSlider = new Fl_My_Value_Slider(86, 297, 15, 115, gettext("Threshold"));
1742 thresholdSlider->type(4);
1743 thresholdSlider->box(FL_NO_BOX);
1744 thresholdSlider->color(FL_BACKGROUND_COLOR);
1745 thresholdSlider->selection_color(FL_BACKGROUND_COLOR);
1746 thresholdSlider->labeltype(FL_NORMAL_LABEL);
1747 thresholdSlider->labelfont(0);
1748 thresholdSlider->labelsize(11);
1749 thresholdSlider->labelcolor(FL_FOREGROUND_COLOR);
1750 thresholdSlider->maximum(-60);
1751 thresholdSlider->step(0.1);
1752 thresholdSlider->callback((Fl_Callback*)cb_thresholdSlider);
1753 thresholdSlider->align(Fl_Align(FL_ALIGN_BOTTOM));
1754 thresholdSlider->when(FL_WHEN_CHANGED);
1755 } // Fl_My_Value_Slider* thresholdSlider
1756 { ratioSlider = new Fl_My_Value_Slider(136, 297, 15, 115, gettext("Ratio"));
1757 ratioSlider->type(4);
1758 ratioSlider->box(FL_NO_BOX);
1759 ratioSlider->color(FL_BACKGROUND_COLOR);
1760 ratioSlider->selection_color(FL_BACKGROUND_COLOR);
1761 ratioSlider->labeltype(FL_NORMAL_LABEL);
1762 ratioSlider->labelfont(0);
1763 ratioSlider->labelsize(11);
1764 ratioSlider->labelcolor(FL_FOREGROUND_COLOR);
1765 ratioSlider->minimum(10);
1766 ratioSlider->step(0.1);
1767 ratioSlider->value(5);
1768 ratioSlider->callback((Fl_Callback*)cb_ratioSlider);
1769 ratioSlider->align(Fl_Align(FL_ALIGN_BOTTOM));
1770 ratioSlider->when(FL_WHEN_CHANGED);
1771 } // Fl_My_Value_Slider* ratioSlider
1772 { attackSlider = new Fl_My_Value_Slider(186, 297, 15, 115, gettext("Attack"));
1773 attackSlider->type(4);
1774 attackSlider->box(FL_NO_BOX);
1775 attackSlider->color(FL_BACKGROUND_COLOR);
1776 attackSlider->selection_color(FL_BACKGROUND_COLOR);
1777 attackSlider->labeltype(FL_NORMAL_LABEL);
1778 attackSlider->labelfont(0);
1779 attackSlider->labelsize(11);
1780 attackSlider->labelcolor(FL_FOREGROUND_COLOR);
1781 attackSlider->minimum(1);
1782 attackSlider->maximum(0);
1783 attackSlider->step(0.001);
1784 attackSlider->value(0.01);
1785 attackSlider->callback((Fl_Callback*)cb_attackSlider);
1786 attackSlider->align(Fl_Align(FL_ALIGN_BOTTOM));
1787 attackSlider->when(FL_WHEN_CHANGED);
1788 } // Fl_My_Value_Slider* attackSlider
1789 { releaseSlider = new Fl_My_Value_Slider(236, 297, 15, 115, gettext("Release"));
1790 releaseSlider->type(4);
1791 releaseSlider->box(FL_NO_BOX);
1792 releaseSlider->color(FL_BACKGROUND_COLOR);
1793 releaseSlider->selection_color(FL_BACKGROUND_COLOR);
1794 releaseSlider->labeltype(FL_NORMAL_LABEL);
1795 releaseSlider->labelfont(0);
1796 releaseSlider->labelsize(11);
1797 releaseSlider->labelcolor(FL_FOREGROUND_COLOR);
1798 releaseSlider->minimum(10);
1799 releaseSlider->maximum(0);
1800 releaseSlider->step(0.01);
1801 releaseSlider->value(1);
1802 releaseSlider->callback((Fl_Callback*)cb_releaseSlider);
1803 releaseSlider->align(Fl_Align(FL_ALIGN_BOTTOM));
1804 releaseSlider->when(FL_WHEN_CHANGED);
1805 } // Fl_My_Value_Slider* releaseSlider
1806 { threshold = new Fl_Text_Display(72, 297, 35, 10, gettext("+0.0"));
1807 threshold->box(FL_NO_BOX);
1808 threshold->labelsize(11);
1809 } // Fl_Text_Display* threshold
1810 { ratio = new Fl_Text_Display(122, 297, 35, 10, gettext("+0.0"));
1811 ratio->box(FL_NO_BOX);
1812 ratio->labelsize(11);
1813 } // Fl_Text_Display* ratio
1814 { attack = new Fl_Text_Display(172, 297, 35, 10, gettext("+0.0"));
1815 attack->box(FL_NO_BOX);
1816 attack->labelsize(11);
1817 } // Fl_Text_Display* attack
1818 { release = new Fl_Text_Display(222, 297, 35, 10, gettext("+0.0"));
1819 release->box(FL_NO_BOX);
1820 release->labelsize(11);
1821 } // Fl_Text_Display* release
1822 { Fl_Button* o = new Fl_Button(310, 261, 45, 19, gettext("Reset"));
1823 o->labelsize(12);
1824 o->callback((Fl_Callback*)cb_Reset1);
1825 } // Fl_Button* o
1826 { makeupSlider = new Fl_My_Value_Slider(286, 297, 15, 104, gettext("Makeup\nGain"));
1827 makeupSlider->type(4);
1828 makeupSlider->box(FL_NO_BOX);
1829 makeupSlider->color(FL_BACKGROUND_COLOR);
1830 makeupSlider->selection_color(FL_BACKGROUND_COLOR);
1831 makeupSlider->labeltype(FL_NORMAL_LABEL);
1832 makeupSlider->labelfont(0);
1833 makeupSlider->labelsize(11);
1834 makeupSlider->labelcolor(FL_FOREGROUND_COLOR);
1835 makeupSlider->minimum(30);
1836 makeupSlider->maximum(0);
1837 makeupSlider->step(0.01);
1838 makeupSlider->value(1);
1839 makeupSlider->callback((Fl_Callback*)cb_makeupSlider);
1840 makeupSlider->align(Fl_Align(FL_ALIGN_BOTTOM));
1841 makeupSlider->when(FL_WHEN_CHANGED);
1842 } // Fl_My_Value_Slider* makeupSlider
1843 { makeup = new Fl_Text_Display(272, 297, 35, 10, gettext("+0.0"));
1844 makeup->box(FL_NO_BOX);
1845 makeup->labelsize(11);
1846 } // Fl_Text_Display* makeup
1847 o->end();
1848 } // Fl_Group* o
1849 o->end();
1850 } // Fl_Group* o
1851 { Fl_Group* o = new Fl_Group(0, 20, 400, 530, gettext("GUI"));
1852 o->hide();
1853 { Fl_Group* o = new Fl_Group(37, 133, 326, 80, gettext("Display Color"));
1854 o->box(FL_ENGRAVED_FRAME);
1855 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1856 { button_gui_text_color = new Fl_Button(50, 143, 25, 25, gettext("Select text color"));
1857 button_gui_text_color->tooltip(gettext("Select text color"));
1858 button_gui_text_color->box(FL_SHADOW_BOX);
1859 button_gui_text_color->color(FL_BACKGROUND2_COLOR);
1860 button_gui_text_color->callback((Fl_Callback*)cb_button_gui_text_color);
1861 button_gui_text_color->align(Fl_Align(FL_ALIGN_RIGHT));
1862 } // Fl_Button* button_gui_text_color
1863 { button_gui_bg_color = new Fl_Button(50, 178, 25, 25, gettext("Select background color"));
1864 button_gui_bg_color->tooltip(gettext("Select background color"));
1865 button_gui_bg_color->box(FL_SHADOW_BOX);
1866 button_gui_bg_color->color(FL_SELECTION_COLOR);
1867 button_gui_bg_color->callback((Fl_Callback*)cb_button_gui_bg_color);
1868 button_gui_bg_color->align(Fl_Align(FL_ALIGN_RIGHT));
1869 } // Fl_Button* button_gui_bg_color
1870 o->end();
1871 } // Fl_Group* o
1872 { Fl_Group* o = new Fl_Group(37, 240, 326, 140, gettext("Misc"));
1873 o->box(FL_ENGRAVED_FRAME);
1874 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1875 { check_gui_attach = new Fl_Check_Button(48, 250, 300, 20, gettext("Attach settings window to main window"));
1876 check_gui_attach->tooltip(gettext("Attach this window to the butt window"));
1877 check_gui_attach->down_box(FL_DOWN_BOX);
1878 check_gui_attach->callback((Fl_Callback*)cb_check_gui_attach);
1879 } // Fl_Check_Button* check_gui_attach
1880 { check_gui_ontop = new Fl_Check_Button(48, 275, 175, 20, gettext("Stay always on top"));
1881 check_gui_ontop->tooltip(gettext("Stay always on top"));
1882 check_gui_ontop->down_box(FL_DOWN_BOX);
1883 check_gui_ontop->callback((Fl_Callback*)cb_check_gui_ontop);
1884 } // Fl_Check_Button* check_gui_ontop
1885 { check_gui_lcd_auto = new Fl_Check_Button(48, 350, 295, 20, gettext("Change display mode every 5 seconds"));
1886 check_gui_lcd_auto->tooltip(gettext("Change display mode every 5 seconds"));
1887 check_gui_lcd_auto->down_box(FL_DOWN_BOX);
1888 check_gui_lcd_auto->callback((Fl_Callback*)cb_check_gui_lcd_auto);
1889 } // Fl_Check_Button* check_gui_lcd_auto
1890 { check_gui_hide_log_window = new Fl_Check_Button(48, 325, 220, 20, gettext("Hide log window after start up"));
1891 check_gui_hide_log_window->tooltip(gettext("Stay always on top"));
1892 check_gui_hide_log_window->down_box(FL_DOWN_BOX);
1893 check_gui_hide_log_window->callback((Fl_Callback*)cb_check_gui_hide_log_window);
1894 } // Fl_Check_Button* check_gui_hide_log_window
1895 { check_gui_remember_pos = new Fl_Check_Button(48, 300, 260, 20, gettext("Remember main window position"));
1896 check_gui_remember_pos->tooltip(gettext("Stay always on top"));
1897 check_gui_remember_pos->down_box(FL_DOWN_BOX);
1898 check_gui_remember_pos->callback((Fl_Callback*)cb_check_gui_remember_pos);
1899 } // Fl_Check_Button* check_gui_remember_pos
1900 o->end();
1901 } // Fl_Group* o
1902 { Fl_Group* o = new Fl_Group(37, 50, 326, 60, gettext("Language"));
1903 o->box(FL_ENGRAVED_FRAME);
1904 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1905 { choice_gui_language = new Fl_Choice(50, 70, 300, 20);
1906 choice_gui_language->down_box(FL_BORDER_BOX);
1907 choice_gui_language->callback((Fl_Callback*)cb_choice_gui_language);
1908 if (!menu_choice_gui_language_i18n_done) {
1909 int i=0;
1910 for ( ; i<3; i++)
1911 if (menu_choice_gui_language[i].label())
1912 menu_choice_gui_language[i].label(gettext(menu_choice_gui_language[i].label()));
1913 menu_choice_gui_language_i18n_done = 1;
1914 }
1915 choice_gui_language->menu(menu_choice_gui_language);
1916 } // Fl_Choice* choice_gui_language
1917 o->end();
1918 } // Fl_Group* o
1919 o->end();
1920 } // Fl_Group* o
1921 { Fl_Group* o = new Fl_Group(0, 20, 400, 530, gettext("Donate"));
1922 o->hide();
1923 { Fl_Group* o = new Fl_Group(37, 70, 326, 280, gettext("Donation"));
1924 o->box(FL_ENGRAVED_FRAME);
1925 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1926 { Fl_Box* o = new Fl_Box(47, 75, 308, 150, gettext("Keeping this software up to date, adding\nnew features and answering support \
1927 mails\ntakes a lot of time and effort. If you can\nafford it, please consider \
1928 supporting this\nproject.\n\nThank you!"));
1929 o->align(Fl_Align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE));
1930 } // Fl_Box* o
1931 { Fl_Button* o = new Fl_Button(130, 240, 140, 28, gettext("&Donate via PayPal"));
1932 o->box(FL_ENGRAVED_BOX);
1933 o->callback((Fl_Callback*)cb_Donate);
1934 } // Fl_Button* o
1935 { Fl_Button* o = new Fl_Button(130, 287, 140, 28, gettext("Become a &patron"));
1936 o->box(FL_ENGRAVED_BOX);
1937 o->callback((Fl_Callback*)cb_Become);
1938 } // Fl_Button* o
1939 o->end();
1940 } // Fl_Group* o
1941 o->end();
1942 } // Fl_Group* o
1943 Settings->end();
1944 } // Fl_Tabs* Settings
1945 window_cfg->size_range(400, 550, 400, 550);
1946 window_cfg->end();
1947 } // Fl_My_Double_Window* window_cfg
1948 { window_add_srv = new Fl_Double_Window(330, 380, gettext("Add server"));
1949 window_add_srv->user_data((void*)(this));
1950 { input_add_srv_name = new Fl_Input(80, 30, 170, 25, gettext("Name:"));
1951 input_add_srv_name->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1952 this->input_add_srv_name->maximum_size(100);
1953 } // Fl_Input* input_add_srv_name
1954 { input_add_srv_addr = new Fl_Input(10, 206, 235, 25, gettext("Address:"));
1955 input_add_srv_addr->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1956 this->input_add_srv_addr->maximum_size(100);
1957 } // Fl_Input* input_add_srv_addr
1958 { input_add_srv_port = new Fl_Int_Input(250, 206, 70, 25, gettext("Port:"));
1959 input_add_srv_port->type(2);
1960 input_add_srv_port->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1961 } // Fl_Int_Input* input_add_srv_port
1962 { input_add_srv_pwd = new Fl_Input(10, 251, 235, 25, gettext("Password:"));
1963 input_add_srv_pwd->type(5);
1964 input_add_srv_pwd->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1965 this->input_add_srv_pwd->maximum_size(100);
1966 } // Fl_Input* input_add_srv_pwd
1967 { input_add_srv_mount = new Fl_Input(10, 301, 165, 25, gettext("IceCast mountpoint:"));
1968 input_add_srv_mount->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1969 this->input_add_srv_mount->maximum_size(100);
1970 } // Fl_Input* input_add_srv_mount
1971 { input_add_srv_usr = new Fl_Input(180, 301, 140, 25, gettext("IceCast user:"));
1972 input_add_srv_usr->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1973 this->input_add_srv_usr->maximum_size(100);
1974 } // Fl_Input* input_add_srv_usr
1975 { Fl_Group* o = new Fl_Group(10, 120, 105, 62, gettext("Type"));
1976 o->box(FL_ENGRAVED_BOX);
1977 o->align(Fl_Align(FL_ALIGN_TOP_LEFT));
1978 { radio_add_srv_shoutcast = new Fl_Round_Button(15, 130, 88, 15, gettext("ShoutCast"));
1979 radio_add_srv_shoutcast->type(102);
1980 radio_add_srv_shoutcast->down_box(FL_ROUND_DOWN_BOX);
1981 radio_add_srv_shoutcast->callback((Fl_Callback*)cb_radio_add_srv_shoutcast);
1982 } // Fl_Round_Button* radio_add_srv_shoutcast
1983 { radio_add_srv_icecast = new Fl_Round_Button(15, 159, 80, 12, gettext("IceCast"));
1984 radio_add_srv_icecast->type(102);
1985 radio_add_srv_icecast->down_box(FL_ROUND_DOWN_BOX);
1986 radio_add_srv_icecast->callback((Fl_Callback*)cb_radio_add_srv_icecast);
1987 } // Fl_Round_Button* radio_add_srv_icecast
1988 o->end();
1989 } // Fl_Group* o
1990 { Fl_Button* o = new Fl_Button(10, 340, 74, 25, gettext("&Cancel"));
1991 o->box(FL_ENGRAVED_BOX);
1992 o->callback((Fl_Callback*)cb_Cancel);
1993 } // Fl_Button* o
1994 { button_add_srv_add = new Fl_Button(224, 340, 74, 25, gettext("&ADD"));
1995 button_add_srv_add->box(FL_ENGRAVED_BOX);
1996 button_add_srv_add->callback((Fl_Callback*)cb_button_add_srv_add);
1997 } // Fl_Button* button_add_srv_add
1998 { button_add_srv_save = new Fl_Button(224, 340, 74, 25, gettext("&Save"));
1999 button_add_srv_save->box(FL_ENGRAVED_BOX);
2000 button_add_srv_save->callback((Fl_Callback*)cb_button_add_srv_save);
2001 } // Fl_Button* button_add_srv_save
2002 { button_cfg_show_pw = new Fl_Button(250, 251, 70, 25, gettext("Show"));
2003 button_cfg_show_pw->tooltip(gettext("show/hide password"));
2004 button_cfg_show_pw->box(FL_ENGRAVED_BOX);
2005 button_cfg_show_pw->callback((Fl_Callback*)cb_button_cfg_show_pw);
2006 } // Fl_Button* button_cfg_show_pw
2007 { frame_add_srv_tls = new Fl_Group(125, 120, 195, 62, gettext("SSL/TLS"));
2008 frame_add_srv_tls->box(FL_ENGRAVED_BOX);
2009 frame_add_srv_tls->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2010 { check_add_srv_tls = new Fl_Check_Button(129, 130, 115, 15, gettext("Use SSL/TLS"));
2011 check_add_srv_tls->down_box(FL_DOWN_BOX);
2012 } // Fl_Check_Button* check_add_srv_tls
2013 { button_add_srv_revoke_cert = new Fl_Button(130, 149, 185, 25, gettext("Revoke certificate trust"));
2014 button_add_srv_revoke_cert->box(FL_ENGRAVED_BOX);
2015 button_add_srv_revoke_cert->callback((Fl_Callback*)cb_button_add_srv_revoke_cert);
2016 } // Fl_Button* button_add_srv_revoke_cert
2017 frame_add_srv_tls->end();
2018 } // Fl_Group* frame_add_srv_tls
2019 window_add_srv->set_modal();
2020 window_add_srv->end();
2021 } // Fl_Double_Window* window_add_srv
2022 { window_add_icy = new Fl_Double_Window(305, 380, gettext("Add stream info"));
2023 window_add_icy->user_data((void*)(this));
2024 { input_add_icy_name = new Fl_Input(65, 35, 170, 25, gettext("Name:"));
2025 input_add_icy_name->tooltip(gettext("The name of your new ICY-entrie"));
2026 input_add_icy_name->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2027 this->input_add_icy_name->maximum_size(100);
2028 } // Fl_Input* input_add_icy_name
2029 { input_add_icy_desc = new Fl_Input(10, 145, 170, 25, gettext("Description:"));
2030 input_add_icy_desc->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2031 this->input_add_icy_desc->maximum_size(100);
2032 } // Fl_Input* input_add_icy_desc
2033 { input_add_icy_genre = new Fl_Input(185, 145, 110, 25, gettext("Genre:"));
2034 input_add_icy_genre->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2035 this->input_add_icy_genre->maximum_size(100);
2036 } // Fl_Input* input_add_icy_genre
2037 { input_add_icy_url = new Fl_Input(10, 190, 170, 25, gettext("URL:"));
2038 input_add_icy_url->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2039 this->input_add_icy_url->maximum_size(100);
2040 } // Fl_Input* input_add_icy_url
2041 { input_add_icy_icq = new Fl_Input(185, 190, 110, 25, gettext("ICQ:"));
2042 input_add_icy_icq->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2043 this->input_add_icy_icq->maximum_size(100);
2044 } // Fl_Input* input_add_icy_icq
2045 { input_add_icy_irc = new Fl_Input(10, 235, 170, 25, gettext("IRC:"));
2046 input_add_icy_irc->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2047 this->input_add_icy_irc->maximum_size(100);
2048 } // Fl_Input* input_add_icy_irc
2049 { input_add_icy_aim = new Fl_Input(185, 235, 110, 25, gettext("AIM:"));
2050 input_add_icy_aim->align(Fl_Align(FL_ALIGN_TOP_LEFT));
2051 this->input_add_icy_aim->maximum_size(100);
2052 } // Fl_Input* input_add_icy_aim
2053 { check_add_icy_pub = new Fl_Check_Button(10, 270, 166, 20, gettext("Make server public"));
2054 check_add_icy_pub->down_box(FL_DOWN_BOX);
2055 } // Fl_Check_Button* check_add_icy_pub
2056 { Fl_Button* o = new Fl_Button(10, 340, 74, 25, gettext("&Cancel"));
2057 o->box(FL_ENGRAVED_BOX);
2058 o->callback((Fl_Callback*)cb_Cancel1);
2059 } // Fl_Button* o
2060 { button_add_icy_add = new Fl_Button(224, 340, 74, 25, gettext("&ADD"));
2061 button_add_icy_add->box(FL_ENGRAVED_BOX);
2062 button_add_icy_add->callback((Fl_Callback*)cb_button_add_icy_add);
2063 } // Fl_Button* button_add_icy_add
2064 { button_add_icy_save = new Fl_Button(224, 340, 74, 25, gettext("&Save"));
2065 button_add_icy_save->box(FL_ENGRAVED_BOX);
2066 button_add_icy_save->callback((Fl_Callback*)cb_button_add_icy_save);
2067 } // Fl_Button* button_add_icy_save
2068 window_add_icy->set_modal();
2069 window_add_icy->end();
2070 } // Fl_Double_Window* window_add_icy
2071 Fl::scheme("standard");
2072 window_main->label(PACKAGE_STRING);
2073
2074 info_buffer = new Fl_Text_Buffer();
2075 info_output->buffer(info_buffer);
2076
2077 //window_cfg->size(window_cfg->w(), 380);
2078
2079 // show info output...
2080 info_visible = 1;
2081
2082 info_output->show();
2083 }
2084
~flgui()2085 flgui::~flgui() {
2086 return;
2087 }
2088