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

Last change on this file since 16512 was 16512, checked in by nit, 12 years ago

[titan] update all plugins

File size: 7.6 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
9        if(menuentry == NULL){
10                debug(1000, "out -> NULL detect");
11                return 1;
12        }
13
14        if(ostrcmp("mc_videoplayer", menuentry->name) == 0)
15        {
16                drawscreen(skin, 0, 0);
17                screenmc_videoplayer(NULL);
18                drawscreen(skin, 0, 0);
19                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
20        }
21        else if(ostrcmp("mc_audioplayer", menuentry->name) == 0)
22        {
23                drawscreen(skin, 0, 0);
24                servicestop(status.aktservice, 1, 1);   
25                screenmc_audioplayer(NULL);
26                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
27        }
28        else if(ostrcmp("mc_pictureplayer", menuentry->name) == 0)
29        {
30                drawscreen(skin, 0, 0);
31                servicestop(status.aktservice, 1, 1);   
32                screenmc_pictureplayer(NULL);
33                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
34        }
35        else if(ostrcmp("mc_appletrailer", menuentry->name) == 0)
36        {
37                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
38                screenmc_appletrailer();
39        }
40        else if(ostrcmp("mc_myvideo", menuentry->name) == 0)
41        {
42                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
43                screenmc_myvideo();
44        }
45        else if(ostrcmp("mc_vlcplayer", 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_vlcplayer();
49        }
50        else if(ostrcmp("mc_dateibrowser", 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_dateibrowser();
54        }
55        else if(ostrcmp("mc_internetbrowser", menuentry->name) == 0)
56        {
57                drawscreen(skin, 0, 0);
58                servicestop(status.aktservice, 1, 1);   
59                screenmc_internetbrowser(NULL);
60                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
61        }
62        else if(ostrcmp("mc_radio", menuentry->name) == 0)
63        {
64                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);   
65                screenmc_radio();
66        }
67        else if(ostrcmp("mc_webradio", menuentry->name) == 0)
68        {
69                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);   
70                screenmc_webradio();
71        }
72        else if(ostrcmp("mc_wetterinfo", menuentry->name) == 0)
73        {
74                textbox(_("Message"), _("comming soon"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
75                screenmc_wetterinfo();
76        }
77        else if(ostrcmp("mc_settings", menuentry->name) == 0)
78        {
79                drawscreen(skin, 0, 0);
80                servicestop(status.aktservice, 1, 1);   
81                screenmc_settings(NULL);
82                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
83        }
84        else
85                ret = 1;
86
87        debug(1000, "out");
88        return ret;
89}
90
91void mc_main()
92{
93        status.mcaktiv = 1;
94        status.hangtime = 99999;
95        int rcret = 0, ret = 0;
96        writevfd("Mediacenter");
97
98        debug(50, "setfbtransparent 255");
99        setfbtransparent(255);
100        debug(50, "servicestop: lastservice");
101        ret = servicestop(status.aktservice, 1, 1);
102        if(ret == 1) return;
103        ret = 0;
104
105        debug(50, "drop_caches");
106        writesysint("/proc/sys/vm/drop_caches", 3, 0);
107       
108        debug(50, "[mc_main] umounting: fuse, (rarfs,isofs,imgfs)");
109        system("/bin/umount -fl `mount | grep fuse | grep rarfs | grep -v '/dev/' | cut -d ' ' -f3`; killall -9 rarfs");
110        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");
111
112        char* tmpstr = NULL;
113        tmpstr = ostrcat(getconfig("pluginpath", NULL), "/mc/skin.xml", 0, 0);
114        readscreen(tmpstr, 101, 1);
115        free(tmpstr); tmpstr = NULL;
116       
117        struct skin* mc_main = NULL;
118        mc_main = getscreen("mc_main_mvi");
119               
120        struct skin* listbox = getscreennode(mc_main, "listbox");
121        struct skin* mc_main_selected = getscreennode(mc_main, "mc_main_selected_pic");
122
123        singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
124
125        drawscreen(mc_main, 0, 0);
126        addscreenrc(mc_main, listbox);
127
128        while(1)
129        {
130                rcret = waitrc(mc_main, 0, 1);
131
132                if (rcret == getrcconfigint("rcexit", NULL)) break;
133
134// menu is slow if enable
135//              writevfd(listbox->select->text);
136
137                if(rcret == getrcconfigint("rcok", NULL))
138                {
139                        clearscreen(mc_main);
140                        ret = mc_menucall(listbox->select);
141                        if(ret != 0)
142                                textbox(_("Message"), _("Menu not implemented !"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
143
144                        mc_main = getscreen("mc_main_mvi");
145
146                        listbox = getscreennode(mc_main, "listbox");
147                        mc_main_selected = getscreennode(mc_main, "mc_main_selected_pic");
148
149                        drawscreen(mc_main, 0, 0);
150                        debug(50, "ret: %d", ret);
151                        addscreenrc(mc_main, listbox);
152
153                }
154                else if(rcret == getrcconfigint("rcgreen", NULL))
155                {
156                        mediadbscan("/media", 0);
157                }       
158                if(listbox->select != NULL && (rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rcdown", NULL)))
159                {
160                        if(ostrcmp(listbox->select->name, "mc_videoplayer") == 0)
161                        {
162                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
163                        }
164                        else if(ostrcmp(listbox->select->name, "mc_audioplayer") == 0)
165                        {
166                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
167                        }
168                        else if(ostrcmp(listbox->select->name, "mc_pictureplayer") == 0)
169                        {
170                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgPicture.mvi", 0);
171                        }
172                        else if(ostrcmp(listbox->select->name, "mc_appletrailer") == 0)
173                        {
174                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
175                        }
176                        else if(ostrcmp(listbox->select->name, "mc_myvideo") == 0)
177                        {
178                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
179                        }
180                        else if(ostrcmp(listbox->select->name, "mc_vlcplayer") == 0)
181                        {
182                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVLC.mvi", 0);
183                        }
184                        else if(ostrcmp(listbox->select->name, "mc_dateibrowser") == 0)
185                        {
186                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgSettings.mvi", 0);
187                        }
188                        else if(ostrcmp(listbox->select->name, "mc_internetbrowser") == 0)
189                        {
190                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
191                        }
192                        else if(ostrcmp(listbox->select->name, "mc_radio") == 0)
193                        {
194                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgRadio.mvi", 0);
195                        }
196                        else if(ostrcmp(listbox->select->name, "mc_webradio") == 0)
197                        {
198                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgRadio.mvi", 0);
199                        }
200                        else if(ostrcmp(listbox->select->name, "mc_wetterinfo") == 0)
201                        {
202                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgWeather.mvi", 0);
203                        }
204                        else if(ostrcmp(listbox->select->name, "mc_settings") == 0)
205                        {
206                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgSettings.mvi", 0);
207                        }
208                        drawscreen(mc_main, 0, 0);
209                }
210        }
211
212
213        delownerrc(mc_main);
214        clearscreen(mc_main);
215        drawscreen(skin, 0, 0);
216
217        debug(50, "drop_caches");
218        writesysint("/proc/sys/vm/drop_caches", 3, 0);
219        debug(1000, "out");
220        debug(50, "startservice: lastservice");
221        tmpstr = ostrcat(status.lastservice->channellist, NULL, 0, 0);
222        servicestart(status.lastservice->channel, tmpstr, NULL, 0);
223        free(tmpstr); tmpstr = NULL;
224        debug(50, "set default osdtransparent");
225        setosdtransparent(getskinconfigint("osdtransparent", NULL));
226        status.hangtime = getconfigint("hangtime", NULL);
227        status.mcaktiv = 0;
228}
229
230#endif
Note: See TracBrowser for help on using the repository browser.