source: titan/titan/avsettings.h @ 41783

Last change on this file since 41783 was 41783, checked in by obi, 5 years ago

add dm920 / wetek step 2

File size: 16.0 KB
Line 
1#ifndef AVSETTINGS_H
2#define AVSETTINGS_H
3
4//flag 0: without vfd output
5//flag 1: with 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* ac3plusmode = getscreennode(avsettings, "ac3plusmode");
27        struct skin* dtshdmode = getscreennode(avsettings, "dtshdmode");
28        struct skin* wmapromode = getscreennode(avsettings, "wmapromode");
29        struct skin* wssmode = getscreennode(avsettings, "wssmode");
30        struct skin* volautochangevalue = getscreennode(avsettings, "volautochangevalue");
31        struct skin* mode3d = getscreennode(avsettings, "mode3d");
32        struct skin* autosubtitle = getscreennode(avsettings, "autosubtitle");
33        struct skin* audiodelaybitstream = getscreennode(avsettings, "audiodelaybitstream");
34        struct skin* audiodelaypcm = getscreennode(avsettings, "audiodelaypcm");
35        struct skin* playerstart = getscreennode(avsettings, "playerstart");
36        struct skin* playerstop = getscreennode(avsettings, "playerstop");
37
38        struct skin* tmp = NULL;
39
40        ret = getvideomodechoices();
41        changeinput(resolution, ret);
42        free(ret); ret = NULL;
43
44        ret = getconfig("av_videomode", NULL);
45        if(ret == NULL)
46        {
47                ret = getvideomode();
48                setchoiceboxselection(resolution, ret);
49                free(ret); ret = NULL;
50        }
51        else
52                setchoiceboxselection(resolution, ret);
53               
54        ret = getvideomode();
55        changeinput(aktresolution, ret);
56        free(ret); ret = NULL;
57       
58        autoressd->hidden=YES;
59        autorests->hidden=YES;
60        if(getconfig("av_videomode_autores", NULL) != NULL)
61        {
62                if(ostrcmp(getconfig("av_videomode_autores", NULL), "off") != 0)
63                {
64                        if(ostrcmp(getconfig("av_videomode_autores", NULL), "auto") != 0)
65                                autoressd->hidden=NO;
66                        else {
67                                autoressd->hidden=NO;
68                                autorests->hidden=NO;
69                        }
70                }
71        }
72        int setlr=0;
73        addchoicebox(autoresolution, "off", _("off"));
74        addchoicebox(autoresolution, "auto", _("auto"));
75        addchoicebox(autoresolution, "key", _("redKey"));
76        setchoiceboxselection(autoresolution, getconfig("av_videomode_autores", NULL));
77
78        ret = getvideomodechoices();
79        changeinput(autoressd, ret);
80        free(ret); ret = NULL;
81        setchoiceboxselection(autoressd, getconfig("av_videomode_autores_sd", NULL));
82
83        addchoicebox(autorests, "2", _("2 sec"));
84        addchoicebox(autorests, "4", _("4 sec"));
85        addchoicebox(autorests, "6", _("6 sec"));
86        addchoicebox(autorests, "8", _("8 sec"));
87        addchoicebox(autorests, "10", _("10 sec"));
88        setchoiceboxselection(autorests, getconfig("av_videomode_autores_ts", NULL));
89        addchoicebox(stepmute, "0", _("off"));
90        addchoicebox(stepmute, "1", _("on"));
91        setchoiceboxselection(stepmute, getconfig("stepmute", NULL));
92
93        changeinput(playerstart, "30\n40\n50\n60\n70\n80\n90\n100\n10\n20");
94        setchoiceboxselection(playerstart, getconfig("vol_playerstart", NULL));
95#ifdef MIPSEL
96                playerstart->hidden = YES;
97#endif
98        changeinput(playerstop, "70\n80\n90\n100\n10\n20\n30\n40\n50\n60");
99        setchoiceboxselection(playerstop, getconfig("vol_playerstop", NULL));
100#ifdef MIPSEL
101                playerstop->hidden = YES;
102#endif
103        ret = getpolicychoices();
104        changeinput(policy, ret);
105        free(ret); ret = NULL;
106        ret = getpolicy();
107        setchoiceboxselection(policy, ret);
108        free(ret); ret = NULL;
109        if(checkrealbox("HD51") == 0)
110        {
111                ret = getaspectchoices();
112                changeinput(aspect, ret);
113                free(ret); ret = NULL;
114                ret = getaspect();
115                setchoiceboxselection(aspect, ret);
116                free(ret); ret = NULL;
117        }
118        else
119                aspect->hidden = YES;
120
121#ifdef MIPSEL
122        aspect->hidden = YES;
123#endif
124
125        if(checkrealbox("HD51") == 0)
126        {
127                ret = getcolorformat(2);
128                if(ret == NULL || strlen(ret) == 0)
129                {
130                        free(ret); ret = NULL;
131                        colformatscart->hidden = YES;
132               
133                        ret = getcolorformatchoices(0);
134                        changeinput(colformat, ret);
135                        free(ret); ret = NULL;
136                        ret = getcolorformat(1);
137                        setchoiceboxselection(colformat, ret);
138                        free(ret); ret = NULL;
139                }
140                else
141                {
142                        free(ret); ret = NULL;
143                        colformatscart->hidden = NO;
144               
145                        ret = getcolorformatchoices(1);
146                        changeinput(colformat, ret);
147                        free(ret); ret = NULL;
148                        ret = getcolorformat(1);
149                        setchoiceboxselection(colformat, ret);
150                        free(ret); ret = NULL;
151               
152                        ret = getcolorformatchoices(2);
153                        changeinput(colformatscart, ret);
154                        free(ret); ret = NULL;
155                        ret = getcolorformat(2);
156                        setchoiceboxselection(colformatscart, ret);
157                        free(ret); ret = NULL;
158                }
159        }
160        else
161        {
162                colformatscart->hidden = YES;
163                colformat->hidden = YES;
164        }
165               
166
167        ret = getaudiosourcechoices();
168        changeinput(audiosource, ret);
169        free(ret); ret = NULL;
170        ret = getaudiosource();
171        setchoiceboxselection(audiosource, ret);
172        free(ret); ret = NULL;
173
174#ifdef MIPSEL
175        audiosource->hidden = YES;
176#endif
177
178        addchoicebox(ac3default, "0", _("no"));
179        addchoicebox(ac3default, "1", _("yes"));
180        setchoiceboxselection(ac3default, getconfig("av_ac3default", NULL));
181
182        ret = getac3choices();
183        changeinput(ac3mode, ret);
184        free(ret); ret = NULL;
185        ret = getac3();
186        setchoiceboxselection(ac3mode, ret);
187        free(ret); ret = NULL;
188
189        if(checkrealbox("HD51") == 0)
190        {
191                ret = getaacchoices();
192                changeinput(aacmode, ret);
193                free(ret); ret = NULL;
194                ret = getaac();
195                setchoiceboxselection(aacmode, ret);
196                free(ret); ret = NULL;
197        }
198        else
199                aacmode->hidden = YES;
200       
201        if((checkbox("DM900") == 1 || checkbox("DM920") == 1 || checkbox("DM520") == 1 || checkbox("DM525") == 1) && ac3plusmode != NULL)
202        {
203                ac3plusmode->hidden = NO;
204                dtshdmode->hidden = NO;
205                wmapromode->hidden = NO;
206               
207                ret = getac3pluschoices();
208                changeinput(ac3plusmode, ret);
209                free(ret); ret = NULL;
210                ret = getac3plus();
211                setchoiceboxselection(ac3plusmode, ret);
212                free(ret); ret = NULL;
213               
214                ret = getdtshdchoices();
215                changeinput(dtshdmode, ret);
216                free(ret); ret = NULL;
217                ret = getdtshd();
218                setchoiceboxselection(dtshdmode, ret);
219                free(ret); ret = NULL;
220               
221                ret = getwmaprochoices();
222                changeinput(wmapromode, ret);
223                free(ret); ret = NULL;
224                ret = getwmapro();
225                setchoiceboxselection(wmapromode, ret);
226                free(ret); ret = NULL;
227        }
228        else
229        {
230                ac3plusmode->hidden = YES;
231                dtshdmode->hidden = YES;
232                wmapromode->hidden = YES;
233        }
234#ifdef SH4
235                aacmode->hidden = YES;
236#endif
237
238        if(checkrealbox("HD51") == 0)
239        {       
240                ret = getwsschoices();
241                changeinput(wssmode, ret);
242                free(ret); ret = NULL;
243                ret = getwss();
244                setchoiceboxselection(wssmode, ret);
245                free(ret); ret = NULL;
246        }
247        else
248                wssmode->hidden = YES;
249               
250#ifdef SH4
251                wssmode->hidden = YES;
252#endif
253       
254        changeinput(volautochangevalue, "0\n5\n10\n15\n20\n25\n30\n35\n40\n45\n50\n55\n60\n65\n70\n75");
255        setchoiceboxselection(volautochangevalue, getconfig("volautochangevalue", NULL));
256
257#ifdef MIPSEL
258                volautochangevalue->hidden = YES;
259#endif
260
261        ret = getmode3dchoices();
262        changeinput(mode3d, ret);
263        free(ret); ret = NULL;
264        ret = getmode3d();
265// does not work
266        /*addchoicebox(mode3d, "off", _("Off"));
267        addchoicebox(mode3d, "sbs", _("SideBySide"));
268        addchoicebox(mode3d, "tab", _("TopAndBottom"));*/       
269        setchoiceboxselection(mode3d, ret);
270        free(ret); ret = NULL;
271
272        addchoicebox(autosubtitle, "0", _("no"));
273        addchoicebox(autosubtitle, "1", _("yes"));
274        setchoiceboxselection(autosubtitle, getconfig("autosubtitle", NULL));
275
276#ifdef MIPSEL
277        addchoicebox(audiodelaybitstream, "0", _("no"));
278        addchoicebox(audiodelaybitstream, "08CA", "25ms");
279        addchoicebox(audiodelaybitstream, "1194", "50ms");
280        addchoicebox(audiodelaybitstream, "1A5E", "75ms");
281        addchoicebox(audiodelaybitstream, "2328", "100ms");
282        addchoicebox(audiodelaybitstream, "34BC", "150ms");
283        addchoicebox(audiodelaybitstream, "4650", "200ms");
284        addchoicebox(audiodelaybitstream, "6978", "300ms");
285        addchoicebox(audiodelaybitstream, "8CA0", "400ms");
286        addchoicebox(audiodelaybitstream, "AFC8", "500ms");
287        setchoiceboxselection(audiodelaybitstream, getconfig("audiodelaybitstream", NULL));
288       
289        addchoicebox(audiodelaypcm, "0", _("no"));
290        addchoicebox(audiodelaypcm, "08CA", "25ms");
291        addchoicebox(audiodelaypcm, "1194", "50ms");
292        addchoicebox(audiodelaypcm, "1A5E", "75ms");
293        addchoicebox(audiodelaypcm, "2328", "100ms");
294        addchoicebox(audiodelaypcm, "34BC", "150ms");
295        addchoicebox(audiodelaypcm, "4650", "200ms");
296        addchoicebox(audiodelaypcm, "6978", "300ms");
297        addchoicebox(audiodelaypcm, "8CA0", "400ms");
298        addchoicebox(audiodelaypcm, "AFC8", "500ms");
299        setchoiceboxselection(audiodelaypcm, getconfig("audiodelaypcm", NULL));
300#else   
301        addchoicebox(audiodelaybitstream, "0", _("no"));
302        addchoicebox(audiodelaybitstream, "350", "10ms");
303        addchoicebox(audiodelaybitstream, "700", "20ms");
304        addchoicebox(audiodelaybitstream, "1050", "30ms");
305        addchoicebox(audiodelaybitstream, "1400", "40ms");
306        addchoicebox(audiodelaybitstream, "1750", "50ms");
307        addchoicebox(audiodelaybitstream, "2100", "60ms");
308        addchoicebox(audiodelaybitstream, "2450", "70ms");
309        addchoicebox(audiodelaybitstream, "2800", "80ms");
310        addchoicebox(audiodelaybitstream, "3150", "90ms");
311        addchoicebox(audiodelaybitstream, "3500", "100ms");
312        setchoiceboxselection(audiodelaybitstream, getconfig("audiodelaybitstream", NULL));
313
314        addchoicebox(audiodelaypcm, "0", _("no"));
315        addchoicebox(audiodelaypcm, "350", "10ms");
316        addchoicebox(audiodelaypcm, "700", "20ms");
317        addchoicebox(audiodelaypcm, "1050", "30ms");
318        addchoicebox(audiodelaypcm, "1400", "40ms");
319        addchoicebox(audiodelaypcm, "1750", "50ms");
320        addchoicebox(audiodelaypcm, "2100", "60ms");
321        addchoicebox(audiodelaypcm, "2450", "70ms");
322        addchoicebox(audiodelaypcm, "2800", "80ms");
323        addchoicebox(audiodelaypcm, "3150", "90ms");
324        addchoicebox(audiodelaypcm, "3500", "100ms");
325        setchoiceboxselection(audiodelaypcm, getconfig("audiodelaypcm", NULL));
326#endif
327       
328        drawscreen(avsettings, 0, 0);
329        addscreenrc(avsettings, listbox);
330
331//      if(flag == 1 && listbox->select != NULL)
332        if(listbox->select != NULL)
333                writevfdmenu(listbox->select->text);
334
335        tmp = listbox->select;
336        while(1)
337        {
338                addscreenrc(avsettings, tmp);
339                rcret = waitrc(avsettings, 0, 0);
340                tmp = listbox->select;
341
342//              if(flag == 1 && listbox->select != NULL)
343//              {
344                        if(rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rcdown", NULL))
345                                writevfdmenu(listbox->select->text);
346                        if(rcret == getrcconfigint("rcleft", NULL) || rcret == getrcconfigint("rcright", NULL))
347                        {
348                                setlr = 1;
349                                writevfdmenu(listbox->select->ret);
350                        }       
351//              }
352//          else
353//          {
354//                      if(listbox->select != NULL)
355//                      {       
356//                              if(rcret == getrcconfigint("rcleft", NULL) || rcret == getrcconfigint("rcright", NULL))
357//                                      setlr = 1;
358//                      }
359//              }
360                if(setlr == 1 && ostrcmp(listbox->select->name, "autoresolution") == 0)
361                {       
362                        autoressd->hidden=YES;
363                        autorests->hidden=YES;
364                        if(ostrcmp(autoresolution->ret, "off") != 0)
365                        {
366                                if(ostrcmp(autoresolution->ret, "key") == 0)
367                                        autoressd->hidden=NO;
368                                else if(ostrcmp(autoresolution->ret, "auto") == 0)
369                                {       
370                                        autoressd->hidden=NO;
371                                        autorests->hidden=NO;
372                                }
373                        }
374                        drawscreen(avsettings, 0, 0);
375                }
376                setlr = 0;
377       
378                if(rcret == getrcconfigint("rcexit", NULL)) break;
379                if(flag == 1 || rcret == getrcconfigint("rcok", NULL))
380                {
381                        if(resolution->ret != NULL)
382                        {
383                                ret = getvideomode();
384                                if(ostrcmp(ret, resolution->ret) != 0)
385                                {
386                                        setvideomode(resolution->ret, 1);
387                                        changefbresolution(resolution->ret, 0);
388                                        if(flag == 0)
389                                        {
390                                                int tret = textbox(_("Message"), _("Is this Videomode ok ?"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 10, 0);
391                                                if(tret == 0 || tret == 2)
392                                                {
393                                                        //setvideomode(ret, 0);
394                                                        setvideomode(getconfig("av_videomode", NULL), 1);
395                                                        changefbresolution(ret, 0);
396                                                }
397                                                else
398                                                {
399                                                        addconfig("av_videomode", resolution->ret);
400                                                        writeallconfig(1);
401                                                        debug(10, "resolution->ret: %s", resolution->ret);
402                                                        if(ostrncmp("576", resolution->ret, 3) == 0 || ostrncmp("pal", resolution->ret, 3) == 0)
403                                                        {
404                                                                debug(10, "create /var/etc/.scart");
405                                                                writesys("/var/etc/.scart", "0", 0);
406                                                        }
407                                                        else
408                                                        {
409                                                                debug(10, "unlink /var/etc/.scart");
410                                                                unlink("/var/etc/.scart");
411                                                        }
412                                                }
413                                        }
414                                        if(flag == 1) drawscreen(avsettings, 0, 0);
415                                }
416                                free(ret); ret = NULL;
417                        }
418                        if(autoresolution->ret != NULL)
419                        {
420                                addconfig("av_videomode_autores", autoresolution->ret);
421                                addconfig("av_videomode_autores_sd", autoressd->ret);
422                                addconfig("av_videomode_autores_ts", autorests->ret);
423                        }
424                       
425                        if(stepmute->ret != NULL)
426                                addconfig("stepmute", stepmute->ret);
427                               
428                        if(policy->ret != NULL)
429                        {
430                                ret = getpolicy();
431                                if(ostrcmp(ret, policy->ret) != 0)
432                                        setpolicy(policy->ret);
433                                free(ret); ret = NULL;
434                        }
435#ifndef MIPSEL
436                        if(aspect->ret != NULL)
437                        {
438                                ret = getaspect();
439                                if(ostrcmp(ret, aspect->ret) != 0)
440                                        setaspect(aspect->ret);
441                                free(ret); ret = NULL;
442                        }
443#endif
444                        if(colformat->ret != NULL)
445                        {
446                                setcolorformat(colformat->ret, 0);
447                                ret = getcolorformat(1);
448                                changeinput(colformat, ret);
449                                free(ret); ret = NULL;
450                                drawscreen(avsettings, 0, 0);
451                        }
452                        if(colformatscart->ret != NULL)
453                        {
454                                setcolorformat(colformatscart->ret, 1);
455                                ret = getcolorformat(2);
456                                changeinput(colformatscart, ret);
457                                free(ret); ret = NULL;
458                                drawscreen(avsettings, 0, 0);
459                        }
460                        if(audiosource->ret != NULL)
461                        {
462                                ret = getaudiosource();
463                                if(ostrcmp(ret, audiosource->ret) != 0)
464                                        setaudiosource(audiosource->ret);
465                                free(ret); ret = NULL;
466                        }
467                        if(ac3mode->ret != NULL)
468                        {
469                                ret = getac3();
470                                if(ostrcmp(ret, ac3mode->ret) != 0)
471                                        setac3(ac3mode->ret);
472                                free(ret); ret = NULL;
473                        }
474                        if(aacmode->ret != NULL)
475                        {
476                                ret = getaac();
477                                if(ostrcmp(ret, aacmode->ret) != 0)
478                                        setaac(aacmode->ret);
479                                free(ret); ret = NULL;
480                        }
481                        if(ac3plusmode->ret != NULL)
482                        {
483                                ret = getac3plus();
484                                if(ostrcmp(ret, ac3plusmode->ret) != 0)
485                                        setac3plus(ac3plusmode->ret);
486                                free(ret); ret = NULL;
487                        }
488                        if(dtshdmode->ret != NULL)
489                        {
490                                ret = getdtshd();
491                                if(ostrcmp(ret, dtshdmode->ret) != 0)
492                                        setdtshd(dtshdmode->ret);
493                                free(ret); ret = NULL;
494                        }
495                        if(wmapromode->ret != NULL)
496                        {
497                                ret = getwmapro();
498                                if(ostrcmp(ret, wmapromode->ret) != 0)
499                                        setwmapro(wmapromode->ret);
500                                free(ret); ret = NULL;
501                        }
502                        if(wssmode->ret != NULL)
503                        {
504                                ret = getwss();
505                                if(ostrcmp(ret, wssmode->ret) != 0)
506                                        setwss(wssmode->ret);
507                                free(ret); ret = NULL;
508                                drawscreen(avsettings, 0, 0);
509                        }
510                        if(mode3d->ret != NULL)
511                        {
512                                ret = getmode3d();
513                                if(ostrcmp(ret, mode3d->ret) != 0)
514                                {
515                                        clearscreen(avsettings);
516                                        blitfb(0);
517                                        setmode3d(mode3d->ret);
518                                        drawscreen(avsettings, 0, 0);
519                                }
520                                free(ret); ret = NULL;
521                        }
522                        if(audiodelaybitstream->ret != NULL)
523                        {
524                                ret = getaudiodelaybitstream();
525                                if(ostrcmp(ret, audiodelaybitstream->ret) != 0)
526                                        setaudiodelaybitstream(audiodelaybitstream->ret);
527                                free(ret); ret = NULL;
528                        }
529
530                        if(audiodelaypcm->ret != NULL)
531                        {
532                                ret = getaudiodelaypcm();
533                                if(ostrcmp(ret, audiodelaypcm->ret) != 0)
534                                        setaudiodelaypcm(audiodelaypcm->ret);
535                                free(ret); ret = NULL;
536                        }
537
538                        addconfigscreencheck("volautochangevalue", volautochangevalue, 0);
539                        status.volautochangevalue = getconfigint("volautochangevalue", NULL);
540                        addconfigscreencheck("av_ac3default", ac3default, 0);
541                        addconfigscreencheck("autosubtitle", autosubtitle, 0);
542                        status.autosubtitle = getconfigint("autosubtitle", NULL);
543                        addconfigscreen("vol_playerstart", playerstart);
544                        addconfigscreen("vol_playerstop", playerstop);
545
546                        if(rcret == getrcconfigint("rcok", NULL)) break;
547                }
548        }
549
550        delownerrc(avsettings);
551        clearscreen(avsettings);
552}
553
554#endif
Note: See TracBrowser for help on using the repository browser.