source: titan/titan/avsettings.h @ 30206

Last change on this file since 30206 was 30206, checked in by obi, 10 years ago

atemio6000 atemio6100 update titan stuff

File size: 11.2 KB
Line 
1#ifndef AVSETTINGS_H
2#define AVSETTINGS_H
3
4//flag 0: whithout vfd output
5//flag 1: whith vfd output
6void screenavsettings(int flag)
7{
8        int rcret = 0;
9        char* ret = NULL;
10        struct skin* avsettings = getscreen("avsettings");
11        struct skin* listbox = getscreennode(avsettings, "listbox");
12        struct skin* resolution = getscreennode(avsettings, "resolution");
13        struct skin* aktresolution = getscreennode(avsettings, "aktresolution");
14        struct skin* autoresolution = getscreennode(avsettings, "autoresolution");
15        struct skin* autoressd = getscreennode(avsettings, "autoressd");
16        struct skin* autorests = getscreennode(avsettings, "autorests");
17        struct skin* stepmute = getscreennode(avsettings, "stepmute");
18        struct skin* policy = getscreennode(avsettings, "policy");
19        struct skin* aspect = getscreennode(avsettings, "aspect");
20        struct skin* colformat = getscreennode(avsettings, "colformat");
21        struct skin* colformatscart = getscreennode(avsettings, "colformatscart");
22        struct skin* audiosource = getscreennode(avsettings, "audiosource");
23        struct skin* ac3default = getscreennode(avsettings, "ac3default");
24        struct skin* ac3mode = getscreennode(avsettings, "ac3mode");
25        struct skin* aacmode = getscreennode(avsettings, "aacmode");
26        struct skin* volautochangevalue = getscreennode(avsettings, "volautochangevalue");
27        struct skin* mode3d = getscreennode(avsettings, "mode3d");
28        struct skin* autosubtitle = getscreennode(avsettings, "autosubtitle");
29        struct skin* audiodelaybitstream = getscreennode(avsettings, "audiodelaybitstream");
30        struct skin* playerstart = getscreennode(avsettings, "playerstart");
31        struct skin* playerstop = getscreennode(avsettings, "playerstop");
32
33        struct skin* tmp = NULL;
34
35        ret = getvideomodechoices();
36        changeinput(resolution, ret);
37        free(ret); ret = NULL;
38
39        ret = getconfig("av_videomode", NULL);
40        if(ret == NULL)
41        {
42                ret = getvideomode();
43                setchoiceboxselection(resolution, ret);
44                free(ret); ret = NULL;
45        }
46        else
47                setchoiceboxselection(resolution, ret);
48               
49        ret = getvideomode();
50        changeinput(aktresolution, ret);
51        free(ret); ret = NULL;
52       
53        autoressd->hidden=YES;
54        autorests->hidden=YES;
55        if(getconfig("av_videomode_autores", NULL) != NULL)
56        {
57                if(ostrcmp(getconfig("av_videomode_autores", NULL), "off") != 0)
58                {
59                        if(ostrcmp(getconfig("av_videomode_autores", NULL), "auto") != 0)
60                                autoressd->hidden=NO;
61                        else {
62                                autoressd->hidden=NO;
63                                autorests->hidden=NO;
64                        }
65                }
66        }
67        int setlr=0;
68        addchoicebox(autoresolution, "off", _("off"));
69        addchoicebox(autoresolution, "auto", _("auto"));
70        addchoicebox(autoresolution, "key", _("redKey"));
71        setchoiceboxselection(autoresolution, getconfig("av_videomode_autores", NULL));
72
73        ret = getvideomodechoices();
74        changeinput(autoressd, ret);
75        free(ret); ret = NULL;
76        setchoiceboxselection(autoressd, getconfig("av_videomode_autores_sd", NULL));
77
78        addchoicebox(autorests, "2", _("2 sec"));
79        addchoicebox(autorests, "4", _("4 sec"));
80        addchoicebox(autorests, "6", _("6 sec"));
81        addchoicebox(autorests, "8", _("8 sec"));
82        addchoicebox(autorests, "10", _("10 sec"));
83        setchoiceboxselection(autorests, getconfig("av_videomode_autores_ts", NULL));
84        addchoicebox(stepmute, "0", _("off"));
85        addchoicebox(stepmute, "1", _("on"));
86        setchoiceboxselection(stepmute, getconfig("stepmute", NULL));
87
88        changeinput(playerstart, "30\n40\n50\n60\n70\n80\n90\n100\n10\n20");
89        setchoiceboxselection(playerstart, getconfig("vol_playerstart", NULL));
90
91        changeinput(playerstop, "70\n80\n90\n100\n10\n20\n30\n40\n50\n60");
92        setchoiceboxselection(playerstop, getconfig("vol_playerstop", NULL));
93
94        ret = getpolicychoices();
95        changeinput(policy, ret);
96        free(ret); ret = NULL;
97        ret = getpolicy();
98        setchoiceboxselection(policy, ret);
99        free(ret); ret = NULL;
100
101        ret = getaspectchoices();
102        changeinput(aspect, ret);
103        free(ret); ret = NULL;
104        ret = getaspect();
105        setchoiceboxselection(aspect, ret);
106        free(ret); ret = NULL;
107
108        ret = getcolorformat(2);
109        if(ret == NULL || strlen(ret) == 0)
110        {
111                free(ret); ret = NULL;
112                colformatscart->hidden = YES;
113               
114                ret = getcolorformatchoices(0);
115                changeinput(colformat, ret);
116                free(ret); ret = NULL;
117                ret = getcolorformat(1);
118                setchoiceboxselection(colformat, ret);
119                free(ret); ret = NULL;
120        }
121        else
122        {
123                free(ret); ret = NULL;
124                colformatscart->hidden = NO;
125               
126                ret = getcolorformatchoices(1);
127                changeinput(colformat, ret);
128                free(ret); ret = NULL;
129                ret = getcolorformat(1);
130                setchoiceboxselection(colformat, ret);
131                free(ret); ret = NULL;
132               
133                ret = getcolorformatchoices(2);
134                changeinput(colformatscart, ret);
135                free(ret); ret = NULL;
136                ret = getcolorformat(2);
137                setchoiceboxselection(colformatscart, ret);
138                free(ret); ret = NULL;
139        }
140
141        ret = getaudiosourcechoices();
142        changeinput(audiosource, ret);
143        free(ret); ret = NULL;
144        ret = getaudiosource();
145        setchoiceboxselection(audiosource, ret);
146        free(ret); ret = NULL;
147
148#ifdef MIPSEL
149        audiosource->hidden = YES;
150#endif
151
152        addchoicebox(ac3default, "0", _("no"));
153        addchoicebox(ac3default, "1", _("yes"));
154        setchoiceboxselection(ac3default, getconfig("av_ac3default", NULL));
155
156        ret = getac3choices();
157        changeinput(ac3mode, ret);
158        free(ret); ret = NULL;
159        ret = getac3();
160        setchoiceboxselection(ac3mode, ret);
161        free(ret); ret = NULL;
162
163        ret = getaacchoices();
164        changeinput(aacmode, ret);
165        free(ret); ret = NULL;
166        ret = getaac();
167        setchoiceboxselection(aacmode, ret);
168        free(ret); ret = NULL;
169
170#ifdef SH4
171                aacmode->hidden = YES;
172#endif
173       
174        changeinput(volautochangevalue, "0\n5\n10\n15\n20\n25\n30\n35\n40\n45\n50\n55\n60\n65\n70\n75");
175        setchoiceboxselection(volautochangevalue, getconfig("volautochangevalue", NULL));
176
177        ret = getmode3dchoices();
178        changeinput(mode3d, ret);
179        free(ret); ret = NULL;
180        ret = getmode3d();
181        setchoiceboxselection(mode3d, ret);
182        free(ret); ret = NULL;
183
184        addchoicebox(autosubtitle, "0", _("no"));
185        addchoicebox(autosubtitle, "1", _("yes"));
186        setchoiceboxselection(autosubtitle, getconfig("autosubtitle", NULL));
187
188        addchoicebox(audiodelaybitstream, "0", _("no"));
189        addchoicebox(audiodelaybitstream, "350", "10ms");
190        addchoicebox(audiodelaybitstream, "700", "20ms");
191        addchoicebox(audiodelaybitstream, "1050", "30ms");
192        addchoicebox(audiodelaybitstream, "1400", "40ms");
193        addchoicebox(audiodelaybitstream, "1750", "50ms");
194        addchoicebox(audiodelaybitstream, "2100", "60ms");
195        addchoicebox(audiodelaybitstream, "2450", "70ms");
196        addchoicebox(audiodelaybitstream, "2800", "80ms");
197        addchoicebox(audiodelaybitstream, "3150", "90ms");
198        addchoicebox(audiodelaybitstream, "3500", "100ms");
199        setchoiceboxselection(audiodelaybitstream, getconfig("audiodelaybitstream", NULL));
200
201        drawscreen(avsettings, 0, 0);
202        addscreenrc(avsettings, listbox);
203
204//      if(flag == 1 && listbox->select != NULL)
205        if(listbox->select != NULL)
206                writevfdmenu(listbox->select->text);
207
208        tmp = listbox->select;
209        while(1)
210        {
211                addscreenrc(avsettings, tmp);
212                rcret = waitrc(avsettings, 0, 0);
213                tmp = listbox->select;
214
215//              if(flag == 1 && listbox->select != NULL)
216//              {
217                        if(rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rcdown", NULL))
218                                writevfdmenu(listbox->select->text);
219                        if(rcret == getrcconfigint("rcleft", NULL) || rcret == getrcconfigint("rcright", NULL))
220                        {
221                                setlr = 1;
222                                writevfdmenu(listbox->select->ret);
223                        }       
224//              }
225//          else
226//          {
227//                      if(listbox->select != NULL)
228//                      {       
229//                              if(rcret == getrcconfigint("rcleft", NULL) || rcret == getrcconfigint("rcright", NULL))
230//                                      setlr = 1;
231//                      }
232//              }
233                if(setlr == 1 && ostrcmp(listbox->select->name, "autoresolution") == 0)
234                {       
235                        autoressd->hidden=YES;
236                        autorests->hidden=YES;
237                        if(ostrcmp(autoresolution->ret, "off") != 0)
238                        {
239                                if(ostrcmp(autoresolution->ret, "key") == 0)
240                                        autoressd->hidden=NO;
241                                else if(ostrcmp(autoresolution->ret, "auto") == 0)
242                                {       
243                                        autoressd->hidden=NO;
244                                        autorests->hidden=NO;
245                                }
246                        }
247                        drawscreen(avsettings, 0, 0);
248                }
249                setlr = 0;
250       
251                if(rcret == getrcconfigint("rcexit", NULL)) break;
252                if(flag == 1 || rcret == getrcconfigint("rcok", NULL))
253                {
254                        if(resolution->ret != NULL)
255                        {
256                                ret = getvideomode();
257                                if(ostrcmp(ret, resolution->ret) != 0)
258                                {
259                                        setvideomode(resolution->ret, 0);
260                                        changefbresolution(resolution->ret, 0);
261                                        if(flag == 0)
262                                        {
263                                                int tret = textbox(_("Message"), _("Is this Videomode ok ?"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 10, 0);
264                                                if(tret == 0 || tret == 2)
265                                                {
266                                                        setvideomode(ret, 0);
267                                                        changefbresolution(ret, 0);
268                                                }
269                                                else
270                                                {
271                                                        writeallconfig(1);
272                                                        debug(10, "resolution->ret: %s", resolution->ret);
273                                                        if(ostrncmp("576", resolution->ret, 3) == 0 || ostrncmp("pal", resolution->ret, 3) == 0)
274                                                        {
275                                                                debug(10, "create /var/etc/.scart");
276                                                                writesys("/var/etc/.scart", "0", 0);
277                                                        }
278                                                        else
279                                                        {
280                                                                debug(10, "unlink /var/etc/.scart");
281                                                                unlink("/var/etc/.scart");
282                                                        }
283                                                }
284                                        }
285                                        if(flag == 1) drawscreen(avsettings, 0, 0);
286                                }
287                                free(ret); ret = NULL;
288                        }
289                        if(autoresolution->ret != NULL)
290                        {
291                                addconfig("av_videomode_autores", autoresolution->ret);
292                                addconfig("av_videomode_autores_sd", autoressd->ret);
293                                addconfig("av_videomode_autores_ts", autorests->ret);
294                        }
295                       
296                        if(stepmute->ret != NULL)
297                                addconfig("stepmute", stepmute->ret);
298                               
299                        if(policy->ret != NULL)
300                        {
301                                ret = getpolicy();
302                                if(ostrcmp(ret, policy->ret) != 0)
303                                        setpolicy(policy->ret);
304                                free(ret); ret = NULL;
305                        }
306                        if(aspect->ret != NULL)
307                        {
308                                ret = getaspect();
309                                if(ostrcmp(ret, aspect->ret) != 0)
310                                        setaspect(aspect->ret);
311                                free(ret); ret = NULL;
312                        }
313                        if(colformat->ret != NULL)
314                        {
315                                setcolorformat(colformat->ret, 0);
316                                ret = getcolorformat(1);
317                                changeinput(colformat, ret);
318                                free(ret); ret = NULL;
319                                drawscreen(avsettings, 0, 0);
320                        }
321                        if(colformatscart->ret != NULL)
322                        {
323                                setcolorformat(colformatscart->ret, 1);
324                                ret = getcolorformat(2);
325                                changeinput(colformatscart, ret);
326                                free(ret); ret = NULL;
327                                drawscreen(avsettings, 0, 0);
328                        }
329                        if(audiosource->ret != NULL)
330                        {
331                                ret = getaudiosource();
332                                if(ostrcmp(ret, audiosource->ret) != 0)
333                                        setaudiosource(audiosource->ret);
334                                free(ret); ret = NULL;
335                        }
336                        if(ac3mode->ret != NULL)
337                        {
338                                ret = getac3();
339                                if(ostrcmp(ret, ac3mode->ret) != 0)
340                                        setac3(ac3mode->ret);
341                                free(ret); ret = NULL;
342                        }
343                        if(aacmode->ret != NULL)
344                        {
345                                ret = getaac();
346                                if(ostrcmp(ret, aacmode->ret) != 0)
347                                        setaac(aacmode->ret);
348                                free(ret); ret = NULL;
349                        }
350                        if(mode3d->ret != NULL)
351                        {
352                                ret = getmode3d();
353                                if(ostrcmp(ret, mode3d->ret) != 0)
354                                {
355                                        clearscreen(avsettings);
356                                        blitfb(0);
357                                        setmode3d(mode3d->ret);
358                                        drawscreen(avsettings, 0, 0);
359                                }
360                                free(ret); ret = NULL;
361                        }
362                        if(audiodelaybitstream->ret != NULL)
363                        {
364                                ret = getaudiodelaybitstream();
365                                if(ostrcmp(ret, audiodelaybitstream->ret) != 0)
366                                        setaudiodelaybitstream(audiodelaybitstream->ret);
367                                free(ret); ret = NULL;
368                        }
369
370                        addconfigscreencheck("volautochangevalue", volautochangevalue, 0);
371                        status.volautochangevalue = getconfigint("volautochangevalue", NULL);
372                        addconfigscreencheck("av_ac3default", ac3default, 0);
373                        addconfigscreencheck("autosubtitle", autosubtitle, 0);
374                        status.autosubtitle = getconfigint("autosubtitle", NULL);
375                        addconfigscreen("vol_playerstart", playerstart);
376                        addconfigscreen("vol_playerstop", playerstop);
377
378                        if(rcret == getrcconfigint("rcok", NULL)) break;
379                }
380        }
381
382        delownerrc(avsettings);
383        clearscreen(avsettings);
384}
385
386#endif
Note: See TracBrowser for help on using the repository browser.