source: titan/titan/avsettings.h @ 30698

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

[mipsel] avsettings hid playerstart/stop ac3 down

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