source: titan/plugins/mc/mc_main.h @ 27463

Last change on this file since 27463 was 27463, checked in by obi, 6 years ago

tithek / mc update

File size: 13.0 KB
Line 
1#ifndef MC_MAIN_H
2#define MC_MAIN_H
3
4int mc_menucall(struct skin* menuentry)
5{
6        debug(1000, "in");
7        int ret = 0;
8        char* tmpstr = NULL;
9
10        if(menuentry == NULL){
11                debug(1000, "out -> NULL detect");
12                return 1;
13        }
14
15        if(ostrcmp("mc_videoplayer", menuentry->name) == 0)
16        {
17                drawscreen(skin, 0, 0);
18                screenmc_videoplayer(NULL);
19                drawscreen(skin, 0, 0);
20//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
21                tmpstr = createpluginpath("/mc/skin/bgVideo.mvi", 0);
22                singlepicstart(tmpstr, 0);
23                free(tmpstr); tmpstr = NULL;
24        } 
25        else if(ostrcmp("mc_audioplayer", menuentry->name) == 0)
26        {
27                drawscreen(skin, 0, 0);
28                servicestop(status.aktservice, 1, 1);   
29                screenmc_audioplayer(NULL);
30//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
31                tmpstr = createpluginpath("/mc/skin/bgMusic.mvi", 0);
32                singlepicstart(tmpstr, 0);
33                free(tmpstr); tmpstr = NULL;
34        } 
35        else if(ostrcmp("mc_pictureplayer", menuentry->name) == 0)
36        {
37                drawscreen(skin, 0, 0);
38                servicestop(status.aktservice, 1, 1);   
39                screenmc_pictureplayer(NULL);
40//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgPicture.mvi", 0);
41                tmpstr = createpluginpath("/mc/skin/bgPicture.mvi", 0);
42                singlepicstart(tmpstr, 0);
43                free(tmpstr); tmpstr = NULL;
44        } 
45        else if(ostrcmp("mc_appletrailer", menuentry->name) == 0)
46        {
47                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
48                screenmc_appletrailer();
49        } 
50        else if(ostrcmp("mc_myvideo", menuentry->name) == 0)
51        {
52                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
53                screenmc_myvideo();
54        }
55        else if(ostrcmp("mc_vlcplayer", menuentry->name) == 0)
56        {
57                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
58                screenmc_vlcplayer();
59        }
60        else if(ostrcmp("mc_dateibrowser", menuentry->name) == 0)
61        {
62                drawscreen(skin, 0, 0);
63                servicestop(status.aktservice, 1, 1);   
64                screenmc_dateibrowser(NULL);
65//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgSettings.mvi", 0);
66                tmpstr = createpluginpath("/mc/skin/bgSettings.mvi", 0);
67                singlepicstart(tmpstr, 0);
68                free(tmpstr); tmpstr = NULL;
69        }
70        else if(ostrcmp("mc_internetbrowser", menuentry->name) == 0)
71        {
72                drawscreen(skin, 0, 0);
73                servicestop(status.aktservice, 1, 1);   
74                screenmc_internetbrowser(NULL);
75//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
76                tmpstr = createpluginpath("/mc/skin/bgBrowser.mvi", 0);
77                singlepicstart(tmpstr, 0);
78                free(tmpstr); tmpstr = NULL;
79        }
80        else if(ostrcmp("mc_mediathek", menuentry->name) == 0)
81        {
82                drawscreen(skin, 0, 0);
83                servicestop(status.aktservice, 1, 1);   
84                screenmc_mediathek(NULL);
85//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
86                tmpstr = createpluginpath("/mc/skin/bgVideo.mvi", 0);
87                singlepicstart(tmpstr, 0);
88                free(tmpstr); tmpstr = NULL;
89        }
90        else if(ostrcmp("mc_radio", menuentry->name) == 0)
91        {
92                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);   
93                screenmc_radio();
94        }
95        else if(ostrcmp("mc_webradio", menuentry->name) == 0)
96        {
97                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);   
98                screenmc_webradio();
99        }
100        else if(ostrcmp("mc_wetterinfo", menuentry->name) == 0)
101        {
102                drawscreen(skin, 0, 0);
103                servicestop(status.aktservice, 1, 1);   
104                screenmc_wetterinfo(NULL);
105//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
106                tmpstr = createpluginpath("/mc/skin/bgBrowser.mvi", 0);
107                singlepicstart(tmpstr, 0);
108                free(tmpstr); tmpstr = NULL;
109        }
110        else if(ostrcmp("mc_settings", menuentry->name) == 0)
111        {
112                drawscreen(skin, 0, 0);
113                servicestop(status.aktservice, 1, 1);   
114                screenmc_settings(NULL);
115//              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
116                tmpstr = createpluginpath("/mc/skin/bgMusic.mvi", 0);
117                singlepicstart(tmpstr, 0);
118                free(tmpstr); tmpstr = NULL;
119        }
120        else
121                ret = 1;
122
123        debug(1000, "out");
124        return ret;
125}
126
127void mc_main()
128{
129        status.mcaktiv = 1;
130        status.hangtime = 99999;
131        int rcret = 0, ret = 0;
132        char* videomode = NULL, *currvideomode = NULL;
133
134        writevfdmenu("Mediacenter");
135        resettvpic();
136        videomode = getvideomode();
137        debug(50, "save videomode: %s", videomode);
138
139        debug(50, "setfbtransparent 255");
140        setfbtransparent(255);
141        debug(50, "servicestop: lastservice");
142        ret = servicestop(status.aktservice, 1, 1);
143        if(ret == 1) return;
144        ret = 0;
145
146        if(getconfigint("emucontrol", NULL) == 1)
147                system("emu.sh halt");
148       
149        if(!file_exist(getconfig("mediadbpath", NULL)))
150                mkdir(getconfig("mediadbpath", NULL), 0777);
151               
152        debug(50, "drop_caches");
153        writesysint("/proc/sys/vm/drop_caches", 3, 0);
154       
155        debug(50, "[mc_main] umounting: fuse, (rarfs,isofs,imgfs)");
156        system("/bin/umount -fl `mount | grep fuse | grep rarfs | grep -v '/dev/' | cut -d ' ' -f3`; killall -9 rarfs");
157        system("/bin/umount -fl `mount | grep fuse | grep -v '/dev/' | cut -d ' ' -f3`; /bin/umount -fl `mount | grep iso9660 | cut -d ' ' -f3`; killall -9 rarfs fusesmb curlftpfs");
158        system("umount -a -f -t fuse.rarfs,iso9660,fuse.djmount,fuse.fusesmb,fuse.curlftpfs");
159
160        char* tmpstr = NULL;
161        tmpstr = createpluginpath("/mc/skin.xml", 0);
162        readscreen(tmpstr, 101, 1);
163        free(tmpstr); tmpstr = NULL;
164       
165        struct skin* mc_main = NULL;
166        mc_main = getscreen("mc_main_mvi"); 
167               
168        struct skin* listbox = getscreennode(mc_main, "listbox");
169        struct skin* mc_main_selected = getscreennode(mc_main, "mc_main_selected_pic");
170
171//      singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
172        tmpstr = createpluginpath("/mc/skin/bgMusic.mvi", 0);
173        singlepicstart(tmpstr, 0);
174        free(tmpstr); tmpstr = NULL;
175               
176        drawscreen(mc_main, 0, 0);
177        addscreenrc(mc_main, listbox);
178        int first = 1;
179
180        while(1)
181        {
182                if(first == 1 && listbox->select != NULL)
183                {
184        // menu is slow if enable
185                        writevfdmenu(listbox->select->text);
186               
187                        if(ostrcmp(listbox->select->name, "mc_videoplayer") == 0)
188                        {
189//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
190                                tmpstr = createpluginpath("/mc/skin/bgVideo.mvi", 0);
191                                singlepicstart(tmpstr, 0);
192                                free(tmpstr); tmpstr = NULL;
193                        }
194                        else if(ostrcmp(listbox->select->name, "mc_audioplayer") == 0)
195                        {
196//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
197                                tmpstr = createpluginpath("/mc/skin/bgMusic.mvi", 0);
198                                singlepicstart(tmpstr, 0);
199                                free(tmpstr); tmpstr = NULL;
200                        }
201                        else if(ostrcmp(listbox->select->name, "mc_pictureplayer") == 0)
202                        {
203//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgPicture.mvi", 0);
204                                tmpstr = createpluginpath("/mc/skin/bgPicture.mvi", 0);
205                                singlepicstart(tmpstr, 0);
206                                free(tmpstr); tmpstr = NULL;
207                        }
208                        else if(ostrcmp(listbox->select->name, "mc_myvideo") == 0)
209                        {
210//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
211                                tmpstr = createpluginpath("/mc/skin/bgBrowser.mvi", 0);
212                                singlepicstart(tmpstr, 0);
213                                free(tmpstr); tmpstr = NULL;
214                        }
215                        else if(ostrcmp(listbox->select->name, "mc_dateibrowser") == 0)
216                        {
217//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgSettings.mvi", 0);
218                                tmpstr = createpluginpath("/mc/skin/bgSettings.mvi", 0);
219                                singlepicstart(tmpstr, 0);
220                                free(tmpstr); tmpstr = NULL;
221                        }
222                        else if(ostrcmp(listbox->select->name, "mc_internetbrowser") == 0)
223                        {
224//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
225                                tmpstr = createpluginpath("/mc/skin/bgBrowser.mvi", 0);
226                                singlepicstart(tmpstr, 0);
227                                free(tmpstr); tmpstr = NULL;
228                        }
229                        else if(ostrcmp(listbox->select->name, "mc_mediathek") == 0)
230                        {
231//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
232                                tmpstr = createpluginpath("/mc/skin/bgVideo.mvi", 0);
233                                singlepicstart(tmpstr, 0);
234                                free(tmpstr); tmpstr = NULL;
235                        }
236                        else if(ostrcmp(listbox->select->name, "mc_wetterinfo") == 0)
237                        {
238//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
239                                tmpstr = createpluginpath("/mc/skin/bgBrowser.mvi", 0);
240                                singlepicstart(tmpstr, 0);
241                                free(tmpstr); tmpstr = NULL;
242                        }       
243                        first = 0;
244                }
245               
246                rcret = waitrc(mc_main, 0, 1);
247                if (rcret == getrcconfigint("rcexit", NULL)) break;             
248
249                if (rcret == getrcconfigint("rcrecord", NULL))
250                {
251                        system("grab -j 100");
252                        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);
253                        drawscreen(mc_main, 0, 0);
254                }
255
256                if(rcret == getrcconfigint("rcok", NULL))
257                {
258                        clearscreen(mc_main);
259                        ret = mc_menucall(listbox->select);
260                        if(ret != 0)
261                                textbox(_("Message"), _("Menu not implemented !"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
262
263                        mc_main = getscreen("mc_main_mvi"); 
264
265                        listbox = getscreennode(mc_main, "listbox");
266                        mc_main_selected = getscreennode(mc_main, "mc_main_selected_pic");
267
268                        drawscreen(mc_main, 0, 0);
269                        debug(50, "ret: %d", ret);
270                        addscreenrc(mc_main, listbox);
271
272                }
273
274                drawscreen(mc_main, 0, 0);
275// menu is slow if enable
276                writevfdmenu(listbox->select->text);
277               
278                if(listbox->select != NULL && (rcret == getrcconfigint("rcleft", NULL) || rcret == getrcconfigint("rcright", NULL) || rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rcdown", NULL)))
279                {
280                        if(ostrcmp(listbox->select->name, "mc_videoplayer") == 0)
281                        {
282//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
283                                tmpstr = createpluginpath("/mc/skin/bgVideo.mvi", 0);
284                                singlepicstart(tmpstr, 0);
285                                free(tmpstr); tmpstr = NULL;
286                        }
287                        else if(ostrcmp(listbox->select->name, "mc_audioplayer") == 0)
288                        {
289//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
290                                tmpstr = createpluginpath("/mc/skin/bgMusic.mvi", 0);
291                                singlepicstart(tmpstr, 0);
292                                free(tmpstr); tmpstr = NULL;
293                        }
294                        else if(ostrcmp(listbox->select->name, "mc_pictureplayer") == 0)
295                        {
296//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgPicture.mvi", 0);
297                                tmpstr = createpluginpath("/mc/skin/bgPicture.mvi", 0);
298                                singlepicstart(tmpstr, 0);
299                                free(tmpstr); tmpstr = NULL;
300                        }
301                        else if(ostrcmp(listbox->select->name, "mc_myvideo") == 0)
302                        {
303//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
304                                tmpstr = createpluginpath("/mc/skin/bgBrowser.mvi", 0);
305                                singlepicstart(tmpstr, 0);
306                                free(tmpstr); tmpstr = NULL;
307                        }
308                        else if(ostrcmp(listbox->select->name, "mc_dateibrowser") == 0)
309                        {
310//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgSettings.mvi", 0);
311                                tmpstr = createpluginpath("/mc/skin/bgSettings.mvi", 0);
312                                singlepicstart(tmpstr, 0);
313                                free(tmpstr); tmpstr = NULL;
314                        }
315                        else if(ostrcmp(listbox->select->name, "mc_internetbrowser") == 0)
316                        {
317//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
318                                tmpstr = createpluginpath("/mc/skin/bgBrowser.mvi", 0);
319                                singlepicstart(tmpstr, 0);
320                                free(tmpstr); tmpstr = NULL;
321                        }
322                        else if(ostrcmp(listbox->select->name, "mc_mediathek") == 0)
323                        {
324//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
325                                tmpstr = createpluginpath("/mc/skin/bgVideo.mvi", 0);
326                                singlepicstart(tmpstr, 0);
327                                free(tmpstr); tmpstr = NULL;
328                        }
329                        else if(ostrcmp(listbox->select->name, "mc_wetterinfo") == 0)
330                        {
331//                              singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgWeather.mvi", 0);
332                                tmpstr = createpluginpath("/mc/skin/bgWeather.mvi", 0);
333                                singlepicstart(tmpstr, 0);
334                                free(tmpstr); tmpstr = NULL;
335                        }
336                        drawscreen(mc_main, 0, 0);
337                }
338        }
339
340
341        delownerrc(mc_main);
342        clearscreen(mc_main);
343        drawscreen(skin, 0, 0);
344
345        debug(50, "drop_caches");
346        writesysint("/proc/sys/vm/drop_caches", 3, 0);
347        debug(1000, "out");
348        debug(50, "startservice: lastservice");
349        tmpstr = ostrcat(status.lastservice->channellist, NULL, 0, 0);
350        servicestart(status.lastservice->channel, tmpstr, NULL, 0);
351        free(tmpstr); tmpstr = NULL;
352        debug(50, "set default osdtransparent");
353        setosdtransparent(getskinconfigint("osdtransparent", NULL));
354        status.hangtime = getconfigint("hangtime", NULL);
355        status.mcaktiv = 0;
356
357        if(getconfigint("emucontrol", NULL) == 1)
358                system("emu.sh unhalt");
359
360        currvideomode = getvideomode();
361        if(videomode != NULL && currvideomode != NULL && ostrcmp(videomode, currvideomode) != 0)
362        {
363                debug(50, "detected videomode change: %s > %s", videomode, currvideomode);
364                debug(50, "reset videomode: %s", videomode);
365                setvideomode(videomode, 0); 
366                changefbresolution(videomode, 0);
367                writeallconfig(1);
368                if((ostrncmp("576", videomode, 3) == 0) || (ostrncmp("pal", videomode, 3) == 0))
369                        writesys("/var/etc/.scart", "0", 0);
370                else
371                        unlink("/var/etc/.scart");
372        }
373
374        free(videomode),videomode = NULL;
375        free(currvideomode),currvideomode = NULL;
376}
377
378#endif
Note: See TracBrowser for help on using the repository browser.