source: titan/titan/infobar.h @ 30923

Last change on this file since 30923 was 30923, checked in by obi, 8 years ago

cleanup

File size: 27.8 KB
Line 
1#ifndef INFOBAR_H
2#define INFOBAR_H
3
4void screeninfobar()
5{
6        int rcret = 0, ret = 0, infobartimeout = 0, rcwait = 1000, count = 0, first = 1;
7        struct channel* pipchannel = NULL;
8        struct skin* playinfobarpic = getscreen("playinfobarpic");
9        struct skin* infobar1 = getscreen("infobar");
10        struct skin* infobar2 = getscreen("infobar2");
11        struct skin* infobar = infobar1;
12        struct skin* infobarm = infobar1;
13        struct skin* standbymenu = NULL;
14        char* tmpstr = NULL; char* tmpnr = NULL;
15        struct skin* pluginnode = NULL;
16        void (*startplugin)(void);
17        time_t lasttime = 0;
18        int mark = 0;
19        int playstop = 1;
20
21        status.mute = 0;
22        status.infobar = 2;
23
24        addrc(getrcconfigint("rcvolup", NULL), screenvolumeup, NULL, NULL);
25        addrc(getrcconfigint("rcvoldown", NULL), screenvolumedown, NULL, NULL);
26        addrc(getrcconfigint("rcmute", NULL), screenmute, NULL, NULL);
27
28        status.infobaraktiv = 1;
29        status.mcaktiv = 0;
30       
31        int playinfobarcount = 0, playinfobarstatus = 0;
32       
33        if(checkbox("ATEMIO-NEMESIS") == 1 || checkbox("ATEMIO5200") == 1 || checkbox("ATEMIO6000") == 1 || checkbox("ATEMIO6100") == 1 || checkbox("ATEMIO6200") == 1 || ((checkbox("ATEMIO520") == 1 || checkbox("ATEMIO530") == 1) && ostrcmp(getconfig("remotecontrol", NULL), "1") != 1))
34                playstop = 0;
35        else
36                playstop = 1;
37       
38        while(1)
39        {
40                mark = 0;
41
42                if(status.crosscontrol > 0 && status.play == 0 && status.pause == 0 && rcret == getrcconfigint("rcright", NULL))
43                        writerc(getrcconfigint("rcvolup", NULL));
44                if(status.crosscontrol > 0 && status.play == 0 && status.pause == 0 && rcret == getrcconfigint("rcleft", NULL))
45                        writerc(getrcconfigint("rcvoldown", NULL));
46
47                //check if mediadb can freed
48                if(status.mediadbthread == NULL)
49                {
50                        if(status.writemediadb == 1)
51                                writemediadb(getconfig("mediadbfile", NULL), NULL);
52                        freemediadb(0);
53                }
54                //check if picmem times out and must freed
55                if(time(NULL) > status.picmemtimeout + 60)
56                {
57                        checkpictimeout();
58                        status.picmemtimeout = time(NULL);
59                }
60
61                if(status.standby == 1)
62                        screenstandby();
63                if(status.infobar == 1 )
64                {
65                        rcret = waitrc(infobar, 1000, 0);
66                        infobartimeout++;
67                }
68                else if(status.infobar == 0 && status.timeshift == 1)
69                {
70                        rcret = waitrc(infobar, 1000, 0);
71                        if(rcret == RCTIMEOUT)
72                        {
73                                if(status.playpic == 1)
74                                {
75                                        clearscreen(playinfobarpic);
76                                        drawscreen(playinfobarpic, 0, 0);
77                                }
78                                else
79                                        timeshiftinfobar(&playinfobarstatus, &playinfobarcount);
80                                continue;
81                        }
82                }
83                else if(status.infobar == 2)
84                {
85                        if(getconfigint("infobarsleep", NULL) > 0)
86                                rcret = waitrc(infobar, getconfigint("infobarsleep", NULL) * 1000, 0);
87                        else if(first == 1) //only on first start wait a little for epg
88                        {
89                                first = 0;
90                                rcret = waitrc(infobar, 1000, 0);
91                        }
92                        else
93                                rcret = RCTIMEOUT;
94
95                        if(rcret == RCTIMEOUT)
96                        {
97                                status.infobar = 1;
98                                infobar = infobar1;
99                                drawscreen(infobar, 0, 4);
100                                continue;
101                        }
102                        else
103                                status.infobar = 0;
104                }
105                else
106                {
107                        int screensaver_delay = getconfigint("screensaver_delay", NULL);
108                        rcret = 0; count = 0; rcwait = 1000;
109                        if(status.servicetype == 1 && getconfigint("screensaver", NULL) == 1)
110                        {
111                                initscreensaver();
112                                if(screensaver != NULL) screensaver->flag = 1;
113                        }
114                        if(screensaver == NULL)
115                        {
116                                if(status.infobarprogram == 1) rcwait = 2000;
117                                else rcwait = 0;
118                        }
119                        while(rcret == 0 || rcret == RCTIMEOUT)
120                        {
121                                rcret = waitrc(infobar, rcwait, 0);
122                                count++;
123                                if(screensaver == NULL && status.infobarprogram == 1 && (rcret == 0 || rcret == RCTIMEOUT))
124                                {
125                                        infobartimeout = 99999;
126                                        mark = 1;
127                                        break;
128                                }
129                                if(rcret == RCTIMEOUT && screensaver != NULL && count > screensaver_delay)
130                                {
131                                        if(status.aktservice->channel != NULL)
132                                                screensaver->value = ostrcat(status.aktservice->channel->name, NULL, 0, 0);
133                                        else
134                                                screensaver->value = ostrcat("Radio", NULL, 0, 0);
135                                        showscreensaver();
136                                        free(screensaver->value);
137                                        rcwait = screensaver->speed;
138                                }
139                        }
140                        if(screensaver != NULL) screensaver->flag = 0;
141                        deinitscreensaver();
142                        if(mark == 0)
143                        {
144                                drawscreen(skin, 0, 0);
145                                infobartimeout = 0;
146                        }
147                }
148
149                if(rcret == getrcconfigint("rcpause", NULL) || /*checkbox("ATEMIO-NEMESIS") == 1 || checkbox("ATEMIO5200") == 1 || checkbox("ATEMIO6000") == 1 || checkbox("ATEMIO6100") == 1 || checkbox("ATEMIO6200") == 1 || */((checkbox("ATEMIO520") == 1 || checkbox("ATEMIO530") == 1) && rcret == getrcconfigint("rcplay", NULL) && status.pause == 0 && status.slowspeed == 0 && status.playspeed == 0 && ostrcmp(getconfig("remotecontrol", NULL), "0") == 0))
150                {
151                        //timeshift
152                        if(status.playpic == 1)
153                        {
154                                clearscreen(playinfobarpic);
155                                status.playpic = 0;
156                        }
157                        if(status.timeshift == 1 && (status.playing == 0 || status.slowspeed != 0 || status.playspeed != 0 || status.pause != 0))
158                        {
159                                if(status.timeshifttype == 1 && status.timeshiftpos == 0)
160                                {
161                                        timeshiftpause(0);
162                                        timeshiftinfobar(&playinfobarstatus, &playinfobarcount);
163                                        if(status.playpic == 0)
164                                        {
165                                                drawscreen(playinfobarpic, 0, 0);
166                                                status.playpic = 1;
167                                        }
168                                }
169                                else
170                                        timeshiftplay(&playinfobarstatus, &playinfobarcount);
171                        }
172                        else
173                        {
174                                if(status.timeshift == 1)
175                                        status.playpic = 2;
176                                else
177                                        status.playpic = 0;
178
179                                timeshiftpause(0);
180                                timeshiftinfobar(&playinfobarstatus, &playinfobarcount);
181                                if(status.playpic == 0)
182                                {
183                                        drawscreen(playinfobarpic, 0, 0);
184                                        status.playpic = 1;
185                                }
186                        }
187
188                        continue;
189                }
190                if(status.timeshift == 1)
191                {
192                        if(rcret == getrcconfigint("rcstop", NULL))
193                        {
194                                if(status.playpic == 1)
195                                {
196                                        clearscreen(playinfobarpic);
197                                        status.playpic = 0;
198                                }               
199                                timeshiftstop(0);
200                                continue;
201                        }
202                        if(rcret == getrcconfigint("rcplay", NULL))
203                        {
204                                if(status.playpic == 1)
205                                {
206                                        clearscreen(playinfobarpic);
207                                        status.playpic = 0;
208                                }               
209                                if(playstop == 1 && status.timeshifttype == 1)
210                                {
211                                        if(status.playing == 0 || (status.playspeed == 0 && status.slowspeed == 0 && status.pause == 0))
212                                        {
213                                                subtitlepause(1);
214                                                status.infobar = 0;
215                                                status.infobaraktiv = 0;
216                                                clearscreen(infobar);
217                                                screenplay(NULL, NULL, 1, 0);
218                                                status.infobaraktiv = 1;
219                                                status.updatevfd = START;
220                                                drawscreen(skin, 0, 0);
221                                                subtitlepause(0);
222                                                continue;
223                                        }
224                                }
225                                timeshiftplay(&playinfobarstatus, &playinfobarcount);
226                                continue;
227                        }
228                        if(status.timeshifttype == 1 && status.playing == 0)
229                        {
230                                if(rcret == getrcconfigint("rcff", NULL) || (getconfig("timeshiftnumkeys", NULL) == 0 && (rcret == getrcconfigint("rc3", NULL) || rcret == getrcconfigint("rc6", NULL) || rcret == getrcconfigint("rc9", NULL) || rcret == getrcconfigint("rcright", NULL) || rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rc2", NULL))))
231                                {
232                                        struct service* snode = getservice(RECORDTIMESHIFT, 0);
233                                        if(snode != NULL)
234                                        {
235                                                status.playercan = 0x7FFF;
236                                                playinfobarstatus = 1;
237                                                playinfobarcount = 0;
238                                                screenplayinfobar(snode->recname, NULL, 0, 1, 5);
239                                        }
240                                        continue;
241                                }
242                                if(rcret == getrcconfigint("rcfr", NULL))
243                                {
244                                        timeshiftposplay(&playinfobarstatus, &playinfobarcount);
245                                        if(status.playing == 1)
246                                                playrcfr(status.playfile, NULL, &playinfobarstatus, &playinfobarcount, 1, 4);
247                                        continue;
248                                }
249                                if(getconfig("timeshiftnumkeys", NULL) == 0)
250                                {
251                                        if(rcret == getrcconfigint("rcleft", NULL))
252                                        {
253                                                timeshiftposplay(&playinfobarstatus, &playinfobarcount);
254                                                if(status.playing == 1)
255                                                        playrcjumpr(status.playfile, NULL, 60, &playinfobarstatus, &playinfobarcount, 1, 4);
256                                                continue;
257                                        }
258                                        if(rcret == getrcconfigint("rcdown", NULL))
259                                        {
260                                                timeshiftposplay(&playinfobarstatus, &playinfobarcount);
261                                                if(status.playing == 1)
262                                                        playrcjumpr(status.playfile, NULL, 300, &playinfobarstatus, &playinfobarcount, 1, 4);
263                                                continue;
264                                        }
265                                        if(rcret == getrcconfigint("rc1", NULL))
266                                        {
267                                                timeshiftposplay(&playinfobarstatus, &playinfobarcount);
268                                                if(status.playing == 1)
269                                                        playrcjumpr(status.playfile, NULL, getconfigint("skip13", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
270                                                continue;
271                                        }
272                                        if(rcret == getrcconfigint("rc4", NULL))
273                                        {
274                                                timeshiftposplay(&playinfobarstatus, &playinfobarcount);
275                                                if(status.playing == 1)
276                                                        playrcjumpr(status.playfile, NULL, getconfigint("skip46", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
277                                                continue;
278                                        }
279                                        if(rcret == getrcconfigint("rc7", NULL))
280                                        {
281                                                timeshiftposplay(&playinfobarstatus, &playinfobarcount);
282                                                if(status.playing == 1)
283                                                        playrcjumpr(status.playfile, NULL, getconfigint("skip79", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
284                                                continue;
285                                        }
286                                }
287                        }
288                        if(status.playing == 1)
289                        {
290                                if(rcret == getrcconfigint("rcff", NULL))
291                                {
292                                        playrcff(status.playfile, NULL, &playinfobarstatus, &playinfobarcount, 1, 4);
293                                        continue;
294                                }
295                                if(rcret == getrcconfigint("rcfr", NULL))
296                                {
297                                        playrcfr(status.playfile, NULL, &playinfobarstatus, &playinfobarcount, 1, 4);
298                                        continue;
299                                }
300                                if(rcret == getrcconfigint("rc3", NULL))
301                                {
302                                        playrcjumpf(status.playfile, NULL, getconfigint("skip13", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
303                                        continue;
304                                }
305                                if(rcret == getrcconfigint("rc6", NULL))
306                                {
307                                        playrcjumpf(status.playfile, NULL, getconfigint("skip46", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
308                                        continue;
309                                }
310                                if(rcret == getrcconfigint("rc9", NULL))
311                                {                               
312                                        playrcjumpf(status.playfile, NULL, getconfigint("skip79", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
313                                        continue;
314                                }
315                                if(rcret == getrcconfigint("rcdown", NULL))
316                                {
317                                        playrcjumpr(status.playfile, NULL, 300, &playinfobarstatus, &playinfobarcount, 1, 4);
318                                        continue;
319                                }
320                                if(rcret == getrcconfigint("rcup", NULL))
321                                {
322                                        playrcjumpf(status.playfile, NULL, 300, &playinfobarstatus, &playinfobarcount, 1, 4);
323#ifdef MIPSEL
324// workaround fixes image flicker when jumping over the border also
325                                        playrcjumpr(status.playfile, NULL, 10, &playinfobarstatus, &playinfobarcount, 1, 4);
326#endif
327                                        continue;
328                                }
329                                if(rcret == getrcconfigint("rcleft", NULL))
330                                {
331                                        playrcjumpr(status.playfile, NULL, 60, &playinfobarstatus, &playinfobarcount, 1, 4);
332                                        continue;
333                                }
334                                if(rcret == getrcconfigint("rcright", NULL))
335                                {
336                                        playrcjumpf(status.playfile, NULL, 60, &playinfobarstatus, &playinfobarcount, 1, 4);
337#ifdef MIPSEL
338// workaround fixes image flicker when jumping over the border also
339                                        playrcjumpr(status.playfile, NULL, 10, &playinfobarstatus, &playinfobarcount, 1, 4);
340#endif
341                                        continue;
342                                }
343                                if(rcret == getrcconfigint("rc1", NULL))
344                                {
345                                        playrcjumpr(status.playfile, NULL, getconfigint("skip13", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
346                                        continue;
347                                }
348                                if(rcret == getrcconfigint("rc4", NULL))
349                                {
350                                        playrcjumpr(status.playfile, NULL, getconfigint("skip46", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
351                                        continue;
352                                }
353                                if(rcret == getrcconfigint("rc7", NULL))
354                                {
355                                        playrcjumpr(status.playfile, NULL, getconfigint("skip79", NULL), &playinfobarstatus, &playinfobarcount, 1, 4);
356                                        continue;
357                                }
358                                if(rcret == getrcconfigint("rc2", NULL))
359                                {
360                                        playrcjumpto(status.playfile, NULL, &playinfobarstatus, &playinfobarcount, 1, 4);
361                                        continue;
362                                }
363                                if(rcret == getrcconfigint("rc0", NULL))
364                                {
365                                        setmarker();
366                                        continue;
367                                }
368                                if(rcret == getrcconfigint("rc5", NULL))
369                                {
370                                        screenmarker(status.playfile, NULL, &playinfobarstatus, &playinfobarcount, 1, 4);
371                                        continue;
372                                }       
373                                if(rcret == getrcconfigint("rc8", NULL))
374                                {
375                                        continue;
376                                }
377                                if(status.timeshifttype == 0 && rcret == getrcconfigint("rcinfo", NULL))
378                                {
379                                        playrcinfo(status.playfile, NULL, &playinfobarstatus, &playinfobarcount, 1, 4);
380                                        continue;       
381                                }
382                        }
383                }
384                if(rcret == getrcconfigint("rcstop", NULL) && status.recording > 0)
385                {
386                        subtitlepause(1);
387                        status.infobar = 0;
388                        clearscreen(infobar);
389                        screenrecordstop();
390                        status.updatevfd = START;
391                        drawscreen(skin, 0, 0);
392                        subtitlepause(0);
393                        continue;
394                }
395                if(rcret == getrcconfigint("rcblue", NULL) && getconfig("bluekey", NULL) == NULL)
396                        rcret = getrcconfigint("rctvradio", NULL);
397                if(rcret == getrcconfigint("rcok", NULL) || rcret == getrcconfigint("rctvradio", NULL) || rcret == getrcconfigint("rcfav", NULL) || rcret == getrcconfigint("rctv", NULL) || rcret == getrcconfigint("rcradio", NULL) || (status.crosscontrol == 0 && status.play == 0 && status.pause == 0 && (rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rcdown", NULL) || rcret == getrcconfigint("rcleft", NULL) || rcret == getrcconfigint("rcright", NULL))))
398                {
399                printf("status.servicetype: %d\n",status.servicetype);
400                        int tmpservicetype = status.servicetype;
401                        status.infobaraktiv = 0;
402                        subtitlepause(1);
403                        clearscreen(infobar);
404                        if(rcret == getrcconfigint("rctvradio", NULL))
405                        {
406                                if(status.servicetype == 0)
407                                        status.servicetype = 1;
408                                else
409                                        status.servicetype = 0;
410                        }
411
412                        if(rcret == getrcconfigint("rctv", NULL))
413                                status.servicetype = 0;
414                        if(rcret == getrcconfigint("rcradio", NULL))
415                                status.servicetype = 1;
416
417                        drawscreen(skin, 0, 0);
418                        if(rcret == getrcconfigint("rcfav", NULL))     
419                                ret = screenchannellist(NULL, NULL, 2);
420                        else
421                                ret = screenchannellist(NULL, NULL, 0);
422                        if(ret >= 20 || ret < 0)
423                                status.servicetype = tmpservicetype;
424                        drawscreen(skin, 0, 0);
425                        status.infobaraktiv = 1;
426                        status.infobar = 2;
427                        infobartimeout = 0;
428                        continue;
429                }
430                if(rcret == getrcconfigint("rcexit", NULL))
431                {
432                        if(status.timeshift == 1 && status.playing == 1)
433                                screenplayinfobar(NULL, NULL, 1, 1, 4);
434                        subtitlepause(1);
435                        status.infobar = 0;
436                        clearscreen(infobar);
437                        if(infobarm != infobar) {
438                                infobar = infobarm;
439                                clearscreen(infobar);
440                        }
441                        drawscreen(skin, 0, 0);
442                        subtitlepause(0);
443                        continue;
444                }
445                if(rcret == getrcconfigint("rctext", NULL))
446                {
447                        if(status.aktservice->channel != NULL && status.aktservice->channel->txtpid > 0)
448                        {
449                                subtitlepause(1);
450                                status.infobar = 0;
451                                status.sec = 0;
452                                clearscreen(infobar);
453                                tmpstr = ostrcat(getconfig("tuxtxtfile", NULL), " ", 0, 0);
454                                tmpnr = oitoa(status.aktservice->channel->txtpid);
455                                tmpstr = ostrcat(tmpstr, tmpnr, 1, 1);
456       
457                                if(status.aktservice->fedev != NULL)
458                                {
459                                        tmpnr = oitoa(status.aktservice->fedev->devnr);
460                                        tmpstr = ostrcat(tmpstr, " ", 1, 0);
461                                        tmpstr = ostrcat(tmpstr, tmpnr, 1, 1);
462                                }
463       
464                                drawscreen(skin, 0, 0);
465                                status.tuxtxt = 1;
466#ifdef MIPSEL
467                                disablemanualblit();
468                                int tmprcret = -1;
469                                delrc(getrcconfigint("rcvolup", NULL), NULL, NULL);
470                                delrc(getrcconfigint("rcvoldown", NULL), NULL, NULL);
471
472                                tmpstr = ostrcat(tmpstr, " &", 1, 0);
473                                system(tmpstr);
474
475                                while(1)
476                                {
477                                        rcret = waitrc(infobar, 0, 0);
478                                        if(rcret == getrcconfigint("rc0", NULL)) tmprcret = 0x00;
479                                        else if(rcret == getrcconfigint("rc1", NULL)) tmprcret = 0x01;
480                                        else if(rcret == getrcconfigint("rc2", NULL)) tmprcret = 0x02;
481                                        else if(rcret == getrcconfigint("rc3", NULL)) tmprcret = 0x03;
482                                        else if(rcret == getrcconfigint("rc4", NULL)) tmprcret = 0x04;
483                                        else if(rcret == getrcconfigint("rc5", NULL)) tmprcret = 0x05;
484                                        else if(rcret == getrcconfigint("rc6", NULL)) tmprcret = 0x06;
485                                        else if(rcret == getrcconfigint("rc7", NULL)) tmprcret = 0x07;
486                                        else if(rcret == getrcconfigint("rc8", NULL)) tmprcret = 0x08;
487                                        else if(rcret == getrcconfigint("rc9", NULL)) tmprcret = 0x09; 
488                                        else if(rcret == getrcconfigint("rcright", NULL)) tmprcret = 0x0A;
489                                        else if(rcret == getrcconfigint("rcleft", NULL)) tmprcret = 0x0B;
490                                        else if(rcret == getrcconfigint("rcup", NULL)) tmprcret = 0x0C;
491                                        else if(rcret == getrcconfigint("rcdown", NULL)) tmprcret = 0x0D;
492                                        else if(rcret == getrcconfigint("rcok", NULL)) tmprcret = 0x0E;
493                                        else if(rcret == getrcconfigint("rcmute", NULL)) tmprcret = 0x0F;       
494                                        else if(rcret == getrcconfigint("rcpower", NULL)) tmprcret = 0x10;
495                                        else if(rcret == getrcconfigint("rcgreen", NULL)) tmprcret = 0x11;
496                                        else if(rcret == getrcconfigint("rcyellow", NULL)) tmprcret = 0x12;
497                                        else if(rcret == getrcconfigint("rcred", NULL)) tmprcret = 0x13;               
498                                        else if(rcret == getrcconfigint("rcblue", NULL)) tmprcret = 0x14;
499                                        else if(rcret == getrcconfigint("rcchup", NULL)) tmprcret = 0x15;
500                                        else if(rcret == getrcconfigint("rcchdown", NULL)) tmprcret = 0x16;
501                                        else if(rcret == getrcconfigint("rchelp", NULL)) tmprcret = 0x17;
502                                        //else if(rcret == getrcconfigint("rcdbox", NULL)) tmprcret = 0x18;
503                                        else if(rcret == getrcconfigint("rctext", NULL)) tmprcret = 0x1F;
504                                        else if(rcret == getrcconfigint("rcexit", NULL)) tmprcret = 0x1F;
505                                       
506                                        sendtuxtxt(tmprcret);
507                                       
508                                        if(rcret == getrcconfigint("rcexit", NULL)) break;
509                                        if(rcret == getrcconfigint("rctext", NULL)) break;
510                                }
511                               
512                                addrc(getrcconfigint("rcvolup", NULL), screenvolumeup, NULL, NULL);
513                                addrc(getrcconfigint("rcvoldown", NULL), screenvolumedown, NULL, NULL);
514
515                                if(status.fdrctxt != -1)
516                                {
517                                        close(status.fdrctxt);
518                                        status.fdrctxt = -1;
519                                }
520                                enablemanualblit();
521#else
522                                system(tmpstr);
523#endif                         
524                                status.tuxtxt = 0;
525                                free(tmpstr); tmpstr = NULL; tmpnr = NULL;
526                                drawscreen(skin, 0, 0);
527                                subtitlepause(0);
528                        }
529                        continue;
530                }
531                if(rcret == getrcconfigint("rcrecord", NULL))
532                {
533                        subtitlepause(1);
534                        status.infobar = 0;
535                        clearscreen(infobar);
536                        screenrecorddirect();
537                        status.updatevfd = START;
538                        drawscreen(skin, 0, 0);
539                        subtitlepause(0);
540                        continue;
541                }
542                if((status.timeshift == 0 && rcret == getrcconfigint("rcplay", NULL)) || rcret == getrcconfigint("rcarchive", NULL) || rcret == getrcconfigint("rcwebplay", NULL))
543                {
544                        subtitlepause(1);
545                        status.infobar = 0;
546                        status.infobaraktiv = 0;
547                        clearscreen(infobar);
548                        screenplay(NULL, NULL, 1, 0);
549                        status.infobaraktiv = 1;
550                        status.updatevfd = START;
551                        drawscreen(skin, 0, 0);
552                        subtitlepause(0);
553                        continue;
554                }
555                if(rcret == getrcconfigint("rcshoot", NULL))
556                {
557                        subtitlepause(1);
558                        status.infobar = 0;
559                        status.infobaraktiv = 0;
560                        clearscreen(infobar);
561                        screenshoot(0);
562                        status.infobaraktiv = 1;
563                        status.updatevfd = START;
564                        drawscreen(skin, 0, 0);
565                        subtitlepause(0);
566                        textbox(_("Message"), _("Shooting Background done !\nSave Screenshoot Path: /tmp/screenshot.jpg"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 800, 200, 0, 0);
567                        continue;
568                }
569
570                if(rcret == getrcconfigint("rcplugin", NULL))
571                {
572                        subtitlepause(1);
573                        status.infobar = 0;
574                        clearscreen(infobar);
575                        screenkeyactions(2, 0);
576                        status.updatevfd = START;
577                        drawscreen(skin, 0, 0);
578                        subtitlepause(0);
579                        continue;
580                }
581                if(rcret == getrcconfigint("rcred", NULL))
582                {
583                        subtitlepause(1);
584                        status.infobar = 0;
585                        status.infobaraktiv = 0;
586                        clearscreen(infobar);
587                        screenkeyactions(1, 0);
588                        status.infobaraktiv = 1;
589                        status.updatevfd = START;
590                        drawscreen(skin, 0, 0);
591                        subtitlepause(0);
592                        continue;
593                }
594                if(rcret == getrcconfigint("rcgreen", NULL))
595                {
596                        subtitlepause(1);
597                        status.infobar = 0;
598                        clearscreen(infobar);
599                        screenvideomode(0);
600                        drawscreen(skin, 0, 0);
601                        subtitlepause(0);
602                        continue;
603                }
604                if(rcret == getrcconfigint("rcsubchannel", NULL))
605                {
606                        subtitlepause(1);
607                        status.infobar = 0;
608                        clearscreen(infobar);
609                        screenlinkedchannel();
610                        drawscreen(skin, 0, 0);
611                        subtitlepause(0);
612                        continue;
613                }
614                if(rcret == getrcconfigint("rcsleep", NULL))
615                {
616                        subtitlepause(1);
617                        status.infobar = 0;
618                        clearscreen(infobar);
619                        screenpowerofftimer();
620                        drawscreen(skin, 0, 0);
621                        subtitlepause(0);
622                        continue;
623                }
624                if(rcret == getrcconfigint("rcsubtitel", NULL))
625                {
626                        subtitlepause(1);
627                        status.infobar = 0;
628                        clearscreen(infobar);
629                        screensubtitle();
630                        drawscreen(skin, 0, 0);
631                        subtitlepause(0);
632                        continue;
633                }
634                if(rcret == getrcconfigint("rcyellow", NULL) || rcret == getrcconfigint("rcaudio", NULL))
635                {
636                        subtitlepause(1);
637                        status.infobar = 0;
638                        clearscreen(infobar);
639                        screenaudiotrack();
640                        drawscreen(skin, 0, 0);
641                        subtitlepause(0);
642                        continue;
643                }
644                if(rcret == getrcconfigint("rcblue", NULL))
645                {
646                        subtitlepause(1);
647                        status.infobar = 0;
648                        clearscreen(infobar);
649                        screenkeyactions(0, 0);
650                        status.updatevfd = START;
651                        drawscreen(skin, 0, 0);
652                        subtitlepause(0);
653                        continue;
654                }
655                if(rcret == getrcconfigint("rchbbtv", NULL) && status.aktservice->channel != NULL && status.aktservice->channel->hbbtvurl != NULL)
656                {
657                        subtitlepause(1);
658                        status.infobar = 0;
659                        clearscreen(infobar);
660
661                        pluginnode = getplugin("hbbtv Browser");
662                        if(pluginnode != NULL)
663                        {
664                                startplugin = dlsym(pluginnode->pluginhandle, "starturl");
665                                if(startplugin != NULL)
666                                        startplugin();
667                        }
668
669                        status.updatevfd = START;
670                        drawscreen(skin, 0, 0);
671                        subtitlepause(0);
672                        continue;
673                }
674                if(rcret == getrcconfigint("rcwww", NULL))
675                {
676                        subtitlepause(1);
677                        status.infobar = 0;
678                        clearscreen(infobar);
679                       
680                        pluginnode = getplugin("Internet Browser");
681                        if(pluginnode != NULL)
682                        {
683                                startplugin = dlsym(pluginnode->pluginhandle, "screenbrowser");
684                                if(startplugin != NULL)
685                                        startplugin();
686                        }
687                        else
688                                textbox(_("Message"), _("Internet Browser Plugin not installed !"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 10, 0);
689                }
690                if(rcret == getrcconfigint("rcmedia", NULL))
691                {
692/*
693                        struct skin* pluginnode = getplugin("Media Center");
694                        void (*startplugin)(void);
695                        status.infobaraktiv = 0;
696                        subtitlepause(1);
697                        status.infobar = 0;
698                        clearscreen(infobar);
699                        if(pluginnode != NULL)
700                        {
701                                startplugin = dlsym(pluginnode->pluginhandle, "start");
702                                if(startplugin != NULL)
703                                startplugin();
704                        }
705                        status.infobaraktiv = 1;
706                        drawscreen(skin, 0, 0);
707                        subtitlepause(0);
708                        continue;
709*/
710                        subtitlepause(1);
711                        status.infobar = 0;
712                        clearscreen(infobar);
713                        screenkeyactions(3, 0);
714                        status.updatevfd = START;
715                        drawscreen(skin, 0, 0);
716                        subtitlepause(0);
717                        resettvpic();
718                        continue;
719                }
720                if(rcret == getrcconfigint("rcmenu", NULL))
721                {
722                        subtitlepause(1);
723                        status.infobar = 0;
724                        status.infobaraktiv = 0;
725                        clearscreen(infobar);
726                        menu(getscreen("mainmenu"), 1);
727                        status.menurelease = 0;
728                        status.updatevfd = START;
729                        status.infobaraktiv = 1;
730                        drawscreen(skin, 0, 0);
731                        subtitlepause(0);
732                        continue;
733                }
734                if(rcret == getrcconfigint("rctimer", NULL))
735                {
736                        subtitlepause(1);
737                        status.infobar = 0;
738                        status.infobaraktiv = 0;
739                        clearscreen(infobar);
740                        screenrectimer();
741                        drawscreen(skin, 0, 0);
742                        status.infobaraktiv = 1;
743                        subtitlepause(0);
744                        resettvpic();
745                        continue;
746                }
747                if(rcret == getrcconfigint("rcepg", NULL))
748                {
749                        subtitlepause(1);
750                        status.infobar = 0;
751                        status.infobaraktiv = 0;
752                        clearscreen(infobar);
753                        epgchoice(NULL);
754                        drawscreen(skin, 0, 0);
755                        status.infobaraktiv = 1;
756                        subtitlepause(0);
757                        continue;
758                }
759                if(rcret == getrcconfigint("rcresolution", NULL) || rcret == getrcconfigint("rcresolution1", NULL))
760                {
761                        subtitlepause(1);
762                        status.infobar = 0;
763                        clearscreen(infobar);
764                        switchvideomode();
765                        drawscreen(skin, 0, 0);
766                        subtitlepause(0);
767                        continue;
768                }
769                if(rcret == getrcconfigint("rcinfo", NULL))
770                {
771                        if(status.infobar == 1)
772                        {
773                                if(getconfigint("secondinfobar", NULL) == 2)
774                                {
775                                        clearscreen(infobar);
776                                        epgchoice(NULL);
777                                        status.infobar = 0;
778                                        drawscreen(skin, 0, 0);
779                                        subtitlepause(0);
780                                }
781                                else if(getconfigint("secondinfobar", NULL) == 3)
782                                {
783                                        clearscreen(infobar);
784                                        screenepg(NULL, NULL, 0);
785                                        status.infobar = 0;
786                                        drawscreen(skin, 0, 0);
787                                        subtitlepause(0);
788                                }
789                                else if(getconfigint("secondinfobar", NULL) == 0 || infobar2 == status.skinerr || infobar == infobar2)
790                                {
791                                        if(infobarm != infobar) {
792                                                clearscreen(infobar);
793                                                infobar = infobarm;
794                                        }
795                                        clearscreen(infobar);
796                                        status.infobar = 0;
797                                        drawscreen(skin, 0, 0);
798                                        subtitlepause(0);
799                                }
800                                else
801                                {
802                                        infobar = infobar2;
803                                        drawscreen(infobar, 0, 0);
804                                }
805                        }
806                        else
807                        {
808                                subtitlepause(1);
809                                status.infobar = 1;
810                                infobar = infobar1;
811                                drawscreen(infobar, 0, 4);
812                        }
813                        continue;
814                }
815                if(rcret == getrcconfigint("rcpower", NULL))
816                {
817                        subtitlepause(1);
818                        status.infobar = 0;
819                        status.infobaraktiv = 0;
820                        clearscreen(infobar);
821                        drawscreen(skin, 0, 0);
822                        switch(getconfigint("poweraktion", NULL))
823                        {
824                                case 1: //power off
825                                        oshutdown(1, 1);
826                                        break;
827                                case 2: //standby
828                                        status.standby = 1;
829                                        break;
830                                case 3: //restart
831                                        oshutdown(2, 1);
832                                        break;
833                                case 4: //Gui restart
834                                        oshutdown(3, 1);
835                                        break;
836                                default:
837                                        standbymenu = getscreen("standbymenu");
838                                        menu(standbymenu, 1);
839                                        break;
840                        }
841                        status.updatevfd = START;
842                        drawscreen(skin, 0, 0);
843                        status.infobaraktiv = 1;
844                        subtitlepause(0);
845                        continue;
846                }
847                if(rcret == getrcconfigint("rcrecall", NULL))
848                {
849                        subtitlepause(1);
850                        clearscreen(infobar);
851                        drawscreen(skin, 0, 0);
852                        screenchannelhistory();
853                        infobartimeout = 0;
854                        infobar = infobar1;
855                        if(status.infobar == 0)
856                                drawscreen(infobar, 0, 4);
857                        else
858                                drawscreen(infobar, 0, 0);
859                        status.infobar = 1;
860                        continue;
861                }
862                if(rcret == getrcconfigint("rc0", NULL))
863                {
864                        subtitlepause(1);
865                        clearscreen(infobar);
866                        drawscreen(skin, 0, 0);
867                        if(status.lastservice->channel != NULL)
868                        {
869                                tmpstr = ostrcat(status.lastservice->channellist, NULL, 0, 0);
870                                servicecheckret(servicestart(status.lastservice->channel, tmpstr, NULL, 0), 0);
871                                free(tmpstr); tmpstr = NULL;
872                        }
873                        infobartimeout = 0;
874                        infobar = infobar1;
875                        if(status.infobar == 0)
876                                drawscreen(infobar, 0, 4);
877                        else
878                                drawscreen(infobar, 0, 0);
879                        status.infobar = 1;
880                        continue;
881                }
882                if(rcret == getrcconfigint("rcchup", NULL) || (status.crosscontrol > 0 && status.play == 0 && status.pause == 0 && rcret == getrcconfigint("rcdown", NULL)))
883                {
884                        subtitlepause(1);
885                        if(status.crosscontrol > 1 && status.virtualzap == 0 && rcret == getrcconfigint("rcdown", NULL))
886                        {
887                                status.virtualzap = status.crosscontrol - 1;
888                                zapup();
889                                status.virtualzap = 0;
890                        }
891                        else
892                                zapup();
893                        clearscreen(infobar);
894                        drawscreen(skin, 0, 0);
895                        infobartimeout = 0;
896                        status.infobar = 2;
897                        continue;
898                }
899                if(rcret == getrcconfigint("rcchdown", NULL) || (status.crosscontrol > 0 && status.play == 0 && status.pause == 0 && rcret == getrcconfigint("rcup", NULL)))
900                {
901                        subtitlepause(1);
902                        if(status.crosscontrol > 1 && status.virtualzap == 0 && rcret == getrcconfigint("rcup", NULL))
903                        {
904                                status.virtualzap = status.crosscontrol - 1;
905                                zapdown();
906                                status.virtualzap = 0;
907                        }
908                        else
909                                zapdown();
910                        clearscreen(infobar);
911                        drawscreen(skin, 0, 0);
912                        infobartimeout = 0;
913                        status.infobar = 2;
914                        continue;
915                }
916                if(rcret == rcnumber(rcret))
917                {
918                        subtitlepause(1);
919                        clearscreen(infobar);
920                        screenchannelbynr(rcret);
921                        status.infobar = 2;
922                        continue;
923                }
924                //show infobar on program switch (only tv)
925                if(status.infobarprogram == 1 && status.infobar == 0 && status.servicetype == 0)
926                {
927                        time_t akttime = time(NULL);
928                        //show infobar only all 60 sec
929                        if(lasttime < akttime)
930                        {
931                                struct epg* tmpepg = getepgakt(status.aktservice->channel);
932                                if(tmpepg != NULL && akttime - 1 <= tmpepg->starttime && akttime + 1 >= tmpepg->starttime)
933                                {
934                                        lasttime = akttime + 10;
935                                        infobartimeout = 0;
936                                        subtitlepause(1);
937                                        status.infobar = 1;
938                                        infobar = infobar1;
939                                        drawscreen(infobar, 0, 4);
940                                        continue;
941                                }
942                        }
943                }
944                //if(rcret == getrcconfigint("rcpip", NULL) && checkbox("ATEMIO-NEMESIS") == 1)
945                if(rcret == getrcconfigint("rcpip", NULL) && checkbox("ATEMIO5200") != 1) // ATEMIO6200 ???
946                {
947                        if(status.pipservice->videodev == NULL)
948                        {
949                                pipchannel = status.aktservice->channel;
950                                printf("++++ RC: %i\n",pipstart(pipchannel, NULL, 0));
951                        }
952                        else
953                        {
954                                pipstop(status.pipservice, 0);
955                                pipchannel = NULL;
956                        }
957                }
958       
959                if(rcret == RCTIMEOUT && mark == 0)
960                {
961                        if(getconfigint("infobartimeout", NULL) > infobartimeout)
962                        {
963                                //clearscreen(infobar);
964                                drawscreen(infobar, 0, 0);
965                        }
966                        else
967                        {
968                                clearscreen(infobar);
969                                if(infobarm != infobar) {
970                                        infobar = infobarm;
971                                        clearscreen(infobar);
972                                }
973                                status.infobar = 0;
974                                drawscreen(skin, 0, 0);
975                                subtitlepause(0);
976                        }
977                }
978        }
979}
980
981#endif
Note: See TracBrowser for help on using the repository browser.