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

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

set max fontsize 30

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