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

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

[titan] update mediadb stuff

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);           
17                screenmc_videoplayer(NULL);
18                drawscreen(skin, 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);
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);
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);
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);
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);
126        addscreenrc(mc_main, listbox);
127
128        while(1)
129        {
130                status.screencalc = 1;
131                rcret = waitrc(mc_main, 0, 0);
132                status.screencalc = 0;
133
134                if (rcret == getrcconfigint("rcexit", NULL)) break;
135
136// menu is slow if enable
137//              writevfd(listbox->select->text);
138
139                if(rcret == getrcconfigint("rcok", NULL))
140                {
141                        clearscreen(mc_main);
142                        ret = mc_menucall(listbox->select);
143                        if(ret != 0)
144                                textbox(_("Message"), _("Menu not implemented !"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
145
146                        mc_main = getscreen("mc_main_mvi"); 
147
148                        listbox = getscreennode(mc_main, "listbox");
149                        mc_main_selected = getscreennode(mc_main, "mc_main_selected_pic");
150
151                        drawscreen(mc_main, 0);
152                        debug(50, "ret: %d", ret);
153                        addscreenrc(mc_main, listbox);
154
155                }
156                else if(rcret == getrcconfigint("rcgreen", NULL))
157                {
158                        mediadbscan("/media", 0);
159                }       
160                if(listbox->select != NULL && (rcret == getrcconfigint("rcup", NULL) || rcret == getrcconfigint("rcdown", NULL)))
161                {
162                        if(ostrcmp(listbox->select->name, "mc_videoplayer") == 0)
163                        {
164                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
165                        }
166                        else if(ostrcmp(listbox->select->name, "mc_audioplayer") == 0)
167                        {
168                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgMusic.mvi", 0);
169                        }
170                        else if(ostrcmp(listbox->select->name, "mc_pictureplayer") == 0)
171                        {
172                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgPicture.mvi", 0);
173                        }
174                        else if(ostrcmp(listbox->select->name, "mc_appletrailer") == 0)
175                        {
176                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVideo.mvi", 0);
177                        }
178                        else if(ostrcmp(listbox->select->name, "mc_myvideo") == 0)
179                        {
180                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
181                        }
182                        else if(ostrcmp(listbox->select->name, "mc_vlcplayer") == 0)
183                        {
184                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgVLC.mvi", 0);
185                        }
186                        else if(ostrcmp(listbox->select->name, "mc_dateibrowser") == 0)
187                        {
188                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgSettings.mvi", 0);
189                        }
190                        else if(ostrcmp(listbox->select->name, "mc_internetbrowser") == 0)
191                        {
192                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgBrowser.mvi", 0);
193                        }
194                        else if(ostrcmp(listbox->select->name, "mc_radio") == 0)
195                        {
196                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgRadio.mvi", 0);
197                        }
198                        else if(ostrcmp(listbox->select->name, "mc_webradio") == 0)
199                        {
200                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgRadio.mvi", 0);
201                        }
202                        else if(ostrcmp(listbox->select->name, "mc_wetterinfo") == 0)
203                        {
204                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgWeather.mvi", 0);
205                        }
206                        else if(ostrcmp(listbox->select->name, "mc_settings") == 0)
207                        {
208                                singlepicstart("/var/usr/local/share/titan/plugins/mc/skin/bgSettings.mvi", 0);
209                        }
210                        drawscreen(mc_main, 0);
211                }
212        }
213
214
215        delownerrc(mc_main);
216        clearscreen(mc_main);
217        drawscreen(skin, 0);
218
219        debug(50, "drop_caches");
220        writesysint("/proc/sys/vm/drop_caches", 3, 0);
221        debug(1000, "out");
222        debug(50, "startservice: lastservice");
223        tmpstr = ostrcat(status.lastservice->channellist, NULL, 0, 0);
224        servicestart(status.lastservice->channel, tmpstr, NULL, 0);
225        free(tmpstr); tmpstr = NULL;
226        debug(50, "set default osdtransparent");
227        setosdtransparent(getskinconfigint("osdtransparent", NULL));
228        status.hangtime = getconfigint("hangtime", NULL);
229        status.mcaktiv = 0;
230}
231
232#endif
Note: See TracBrowser for help on using the repository browser.