source: titan/plugins/lcdsamsung/lcdsamsung.c @ 41572

Last change on this file since 41572 was 41572, checked in by gost, 3 years ago

[plugins] lcdsamsung fix progressbar

  • Property svn:executable set to *
File size: 36.1 KB
Line 
1#include "../../titan/struct.h"
2#include "../../titan/debug.h"
3#include "../../titan/header.h"
4
5#include "lcd_weather.h"
6
7char pluginname[] = "LCD Samsung SPF..";
8char plugindesc[] = "Extensions";
9char pluginpic[] = "%pluginpath%/lcdsamsung/lcdsamsung.png";
10
11int pluginaktiv = 0;
12//int pluginversion = PLUGINVERSION;
13int pluginversion = 999999;
14
15struct stimerthread* LCD_Samsung1thread = NULL;
16
17int firststart = 0;
18
19void weather_getline(FILE* fd, char* fileline)
20{
21        fgets(fileline, 256, fd);
22        if(fileline[0] == '#' || fileline[0] == '\n')
23                return;
24        if(fileline[strlen(fileline) - 1] == '\n')
25                fileline[strlen(fileline) - 1] = '\0';
26        if(fileline[strlen(fileline) - 1] == '\r')
27                fileline[strlen(fileline) - 1] = '\0';
28}
29
30void LCD_start_lcd4linux()
31{
32        int count = 0;
33        char* startlcd = NULL;
34       
35        if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf75h") == 0)
36        {
37                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
38                startlcd = ostrcat(startlcd, " 1", 1, 0);
39        }
40        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf83h") == 0)
41        {
42                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
43                startlcd = ostrcat(startlcd, " 6", 1, 0);
44        }
45        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87hold") == 0)
46        {
47                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
48                startlcd = ostrcat(startlcd, " 3", 1, 0);
49        }
50        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87h") == 0)
51        {
52                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
53                startlcd = ostrcat(startlcd, " 2", 1, 0);
54        }
55        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf105p") == 0)
56        {
57                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
58                startlcd = ostrcat(startlcd, " 5", 1, 0);
59        }
60        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf107h") == 0)
61        {
62                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
63                startlcd = ostrcat(startlcd, " 4", 1, 0);
64        }
65        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf72h") == 0)
66        {
67                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
68                startlcd = ostrcat(startlcd, " 7", 1, 0);
69        }
70        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85h") == 0)
71        {
72                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
73                startlcd = ostrcat(startlcd, " 8", 1, 0);
74        }
75        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85p") == 0)
76        {
77                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
78                startlcd = ostrcat(startlcd, " 9", 1, 0);
79        }
80        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "none") == 0)
81        {
82                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
83                startlcd = ostrcat(startlcd, " 99", 1, 0);
84        }
85        else
86        {
87                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
88                startlcd = ostrcat(startlcd, " 2", 1, 0);
89        }
90       
91       
92        if(LCD_Samsung1thread == NULL)
93                return;
94        while (LCD_Samsung1thread->aktion != STOP && system("ps | grep -v grep | grep fbread") != 0) {
95                system(startlcd);
96                sleep(6);
97                count ++;
98                if(LCD_Samsung1thread == NULL)
99                        break;
100                if(count == 101) {
101                        textbox(_("Message"), _("ERROR cant start LCD driver"), _("OK"), getrcconfigint("rcok", NULL), NULL, 0, NULL, 0, NULL, 0, 600, 200, 5, 0);
102                        LCD_Samsung1thread->aktion = STOP;
103                }
104        }
105        free(startlcd);startlcd=NULL;   
106}
107
108void LCD_Samsung1_thread()
109{
110       
111        struct skin* LCD_Samsung1 = NULL;
112        struct skin* LCD_Standby = NULL;
113        struct skin* LCD_Play = NULL;
114       
115        struct skin* day0_t = NULL;
116        struct skin* day0_i = NULL;
117        struct skin* day0_d = NULL;
118        struct skin* day1_t = NULL;
119        struct skin* day1_i = NULL;
120        struct skin* day1_d = NULL;
121        struct skin* day2_t = NULL;
122        struct skin* day2_i = NULL;
123        struct skin* day2_d = NULL;
124        struct skin* day3_t = NULL;
125        struct skin* day3_i = NULL;
126        struct skin* day3_d = NULL;
127        struct skin* akttime = NULL;
128        struct skin* akttime_Standby = NULL;
129       
130        struct skin* n_stunde = NULL;
131        struct skin* n_minute = NULL;
132        struct skin* n_stunde_standby = NULL;
133        struct skin* n_minute_standby = NULL;
134       
135        struct skin* n_stunde2 = NULL;
136        struct skin* n_minute2 = NULL;
137        struct skin* n_stunde2_standby = NULL;
138        struct skin* n_minute2_standby = NULL;
139       
140        struct skin* sday0_t = NULL;
141        struct skin* sday0_i = NULL;
142        struct skin* sday0_d = NULL;
143        struct skin* sday1_t = NULL;
144        struct skin* sday1_i = NULL;
145        struct skin* sday1_d = NULL;
146        struct skin* sday2_t = NULL;
147        struct skin* sday2_i = NULL;
148        struct skin* sday2_d = NULL;
149        struct skin* sday3_t = NULL;
150        struct skin* sday3_i = NULL;
151        struct skin* sday3_d = NULL;
152       
153       
154        char* tmpstr = NULL, *tmpstr2 = NULL, *tmpstr3 = NULL, *timemerk = NULL, *sendermerk = NULL, *recmerk = NULL;
155        char* pichr = NULL, *picmin = NULL, *pichr_standby = NULL, *picmin_standby = NULL;
156        char* pichr2 = NULL, *picmin2 = NULL, *pichr2_standby = NULL, *picmin2_standby = NULL;
157        int digitaluhr = 0, digitaluhr_standby = 0;
158        FILE *fd = NULL;
159        char *fileline = NULL;
160        int weatherwrite = 999;
161        int weatherref = 0;
162        char* startlcd = NULL;
163       
164        printf("lcd_samsung thread started\n");
165       
166        if(ostrcmp(getconfig("lcd_samsung_plugin_wetter", NULL), "yes") == 0)
167        {
168                if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf75h") == 0)
169                        LCD_Samsung1 = getscreen("LCD_spf75_Wetter");
170                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87h") == 0)
171                        LCD_Samsung1 = getscreen("LCD_spf87_Wetter");
172                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf83h") == 0)
173                        LCD_Samsung1 = getscreen("LCD_spf83_Wetter");
174                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87hold") == 0)
175                        LCD_Samsung1 = getscreen("LCD_spf87_Wetter");
176                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf105p") == 0)
177                        LCD_Samsung1 = getscreen("LCD_spf105_Wetter");
178                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf107h") == 0)
179                        LCD_Samsung1 = getscreen("LCD_spf107_Wetter");
180                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf72h") == 0)
181                        LCD_Samsung1 = getscreen("LCD_spf72_Wetter");
182                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85h") == 0)
183                        LCD_Samsung1 = getscreen("LCD_spf85_Wetter");
184                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85p") == 0)
185                        LCD_Samsung1 = getscreen("LCD_spf85_Wetter");
186                else
187                        LCD_Samsung1 = getscreen("LCD_spf87_Wetter");
188                day0_t = getscreennode(LCD_Samsung1, "day0_t");
189                day0_i = getscreennode(LCD_Samsung1, "day0_i");
190                day0_d = getscreennode(LCD_Samsung1, "day0_d");
191                day1_t = getscreennode(LCD_Samsung1, "day1_t");
192                day1_i = getscreennode(LCD_Samsung1, "day1_i");
193                day1_d = getscreennode(LCD_Samsung1, "day1_d");
194                day2_t = getscreennode(LCD_Samsung1, "day2_t");
195                day2_i = getscreennode(LCD_Samsung1, "day2_i");
196                day2_d = getscreennode(LCD_Samsung1, "day2_d");
197                day3_t = getscreennode(LCD_Samsung1, "day3_t");
198                day3_i = getscreennode(LCD_Samsung1, "day3_i");
199                day3_d = getscreennode(LCD_Samsung1, "day3_d");
200                akttime = getscreennode(LCD_Samsung1, "akttime");
201                akttime = getscreennode(LCD_Samsung1, "akttime");
202                n_stunde =  getscreennode(LCD_Samsung1, "stunde");
203                if(n_stunde != NULL)
204                {
205                        pichr = ostrcat(n_stunde->pic, "", 0, 0);
206                        if(ostrstr(pichr, "Digital") != NULL)
207                                digitaluhr = 1;
208                }
209                n_minute =  getscreennode(LCD_Samsung1, "minute");
210                if(n_minute != NULL)
211                        picmin = ostrcat(n_minute->pic, "", 0, 0);
212                if(digitaluhr == 1)
213                {
214                        n_stunde2 =  getscreennode(LCD_Samsung1, "stunde2");
215                        n_minute2 =  getscreennode(LCD_Samsung1, "minute2");
216                        picmin2 = ostrcat(n_minute2->pic, "", 0, 0);
217                        pichr2 = ostrcat(n_stunde2->pic, "", 0, 0);
218                }
219                if(file_exist("/tmp/lcdweather"))
220                        system("rm /tmp/lcdweather");
221                weatherwrite = 0;
222        }
223        else {
224                if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf75h") == 0)
225                        LCD_Samsung1 = getscreen("LCD_spf75");
226                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf83h") == 0)
227                        LCD_Samsung1 = getscreen("LCD_spf83");
228                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87h") == 0)
229                        LCD_Samsung1 = getscreen("LCD_spf87");
230                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87hold") == 0)
231                        LCD_Samsung1 = getscreen("LCD_spf87");
232                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf105p") == 0)
233                        LCD_Samsung1 = getscreen("LCD_spf105");
234                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf107h") == 0)
235                        LCD_Samsung1 = getscreen("LCD_spf107");
236                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf72h") == 0)
237                        LCD_Samsung1 = getscreen("LCD_spf72");
238                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85h") == 0)
239                        LCD_Samsung1 = getscreen("LCD_spf85");
240                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85p") == 0)
241                        LCD_Samsung1 = getscreen("LCD_spf85");
242                else
243                        LCD_Samsung1 = getscreen("LCD_spf87"); 
244                akttime = getscreennode(LCD_Samsung1, "akttime");
245                n_stunde =  getscreennode(LCD_Samsung1, "stunde");
246                if(n_stunde != NULL)
247                {
248                        pichr = ostrcat(n_stunde->pic, "", 0, 0);
249                        if(ostrstr(pichr, "Digital") != NULL)
250                                digitaluhr = 1;
251                }
252                n_minute =  getscreennode(LCD_Samsung1, "minute");
253                if(n_minute != NULL)
254                        picmin = ostrcat(n_minute->pic, "", 0, 0);
255                if(digitaluhr == 1)
256                {
257                        n_stunde2 =  getscreennode(LCD_Samsung1, "stunde2");
258                        n_minute2 =  getscreennode(LCD_Samsung1, "minute2");
259                        picmin2 = ostrcat(n_minute2->pic, "", 0, 0);
260                        pichr2 = ostrcat(n_stunde2->pic, "", 0, 0);
261                }
262        }
263       
264        if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf75h") == 0)
265                LCD_Play = getscreen("LCD_spf75_Play");
266        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf83h") == 0)
267                LCD_Play = getscreen("LCD_spf83_Play");
268        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87h") == 0)
269                LCD_Play = getscreen("LCD_spf87_Play");
270        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87hold") == 0)
271                LCD_Play = getscreen("LCD_spf87_Play");
272        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf105p") == 0)
273                LCD_Play = getscreen("LCD_spf105_Play");
274        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf107h") == 0)
275                LCD_Play = getscreen("LCD_spf107_Play");
276        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf72h") == 0)
277                LCD_Play = getscreen("LCD_spf72_Play");
278        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85h") == 0)
279                LCD_Play = getscreen("LCD_spf85_Play");
280        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85p") == 0)
281                LCD_Play = getscreen("LCD_spf85_Play");
282        else
283                LCD_Play = getscreen("LCD_spf87_Play");
284        struct skin* akttimeplay = getscreennode(LCD_Play, "akttime");
285        struct skin* sprogress = getscreennode(LCD_Play, "progress");
286        struct skin* stitle = getscreennode(LCD_Play, "title1");
287        struct skin* spos = getscreennode(LCD_Play, "pos");
288        struct skin* slen = getscreennode(LCD_Play, "len");
289        struct skin* sreverse = getscreennode(LCD_Play, "reverse");
290               
291        if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf75h") == 0)
292        {
293                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
294                startlcd = ostrcat(startlcd, " 1", 1, 0);
295        }
296        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf83h") == 0)
297        {
298                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
299                startlcd = ostrcat(startlcd, " 6", 1, 0);
300        }
301        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87hold") == 0)
302        {
303                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
304                startlcd = ostrcat(startlcd, " 3", 1, 0);
305        }
306        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87h") == 0)
307        {
308                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
309                startlcd = ostrcat(startlcd, " 2", 1, 0);
310        }
311        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf105p") == 0)
312        {
313                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
314                startlcd = ostrcat(startlcd, " 5", 1, 0);
315        }
316        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf107h") == 0)
317        {
318                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
319                startlcd = ostrcat(startlcd, " 4", 1, 0);
320        }
321        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf72h") == 0)
322        {
323                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
324                startlcd = ostrcat(startlcd, " 7", 1, 0);
325        }
326        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85h") == 0)
327        {
328                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
329                startlcd = ostrcat(startlcd, " 8", 1, 0);
330        }
331        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85p") == 0)
332        {
333                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
334                startlcd = ostrcat(startlcd, " 9", 1, 0);
335        }
336        else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "none") == 0)
337        {
338                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
339                startlcd = ostrcat(startlcd, " 99", 1, 0);
340        }
341        else
342        {
343                startlcd = createpluginpath("/lcdsamsung/start.sh", 0);
344                startlcd = ostrcat(startlcd, " 2", 1, 0);
345        }
346       
347       
348        if(ostrcmp(getconfig("lcd_samsung_plugin_standby", NULL), "yes") == 0) 
349        {
350                if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf75h") == 0)
351                        LCD_Standby = getscreen("LCD_spf75_Standby");
352                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf83h") == 0)
353                        LCD_Standby = getscreen("LCD_spf83_Standby");
354                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87h") == 0)
355                        LCD_Standby = getscreen("LCD_spf87_Standby");
356                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf87hold") == 0)
357                        LCD_Standby = getscreen("LCD_spf87_Standby");
358                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf105p") == 0)
359                        LCD_Standby = getscreen("LCD_spf105_Standby");
360                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf107h") == 0)
361                        LCD_Standby = getscreen("LCD_spf107_Standby");
362                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf72h") == 0)
363                        LCD_Standby = getscreen("LCD_spf72_Standby");
364                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85h") == 0)
365                        LCD_Standby = getscreen("LCD_spf85_Standby");
366                else if(ostrcmp(getconfig("lcd_samsung_plugin_type", NULL), "spf85p") == 0)
367                        LCD_Standby = getscreen("LCD_spf85_Standby");
368                else
369                        LCD_Standby = getscreen("LCD_spf87_Standby");
370                akttime_Standby = getscreennode(LCD_Standby, "akttime"); 
371                sday0_t = getscreennode(LCD_Standby, "day0_t");
372                sday0_i = getscreennode(LCD_Standby, "day0_i");
373                sday0_d = getscreennode(LCD_Standby, "day0_d");
374                sday1_t = getscreennode(LCD_Standby, "day1_t");
375                sday1_i = getscreennode(LCD_Standby, "day1_i");
376                sday1_d = getscreennode(LCD_Standby, "day1_d");
377                sday2_t = getscreennode(LCD_Standby, "day2_t");
378                sday2_i = getscreennode(LCD_Standby, "day2_i");
379                sday2_d = getscreennode(LCD_Standby, "day2_d");
380                sday3_t = getscreennode(LCD_Standby, "day3_t");
381                sday3_i = getscreennode(LCD_Standby, "day3_i");
382                sday3_d = getscreennode(LCD_Standby, "day3_d");
383               
384                n_stunde_standby =  getscreennode(LCD_Standby, "stunde");
385                if(n_stunde_standby != NULL)
386                {
387                        pichr_standby = ostrcat(n_stunde_standby->pic, "", 0, 0);
388                        if(ostrstr(pichr_standby, "Digital") != NULL)
389                                digitaluhr_standby = 1;
390                }
391                n_minute_standby =  getscreennode(LCD_Standby, "minute");
392                if(n_minute_standby != NULL)
393                        picmin_standby = ostrcat(n_minute_standby->pic, "", 0, 0);
394                if(digitaluhr_standby == 1)
395                {
396                        n_stunde2_standby =  getscreennode(LCD_Standby, "stunde2");
397                        n_minute2_standby =  getscreennode(LCD_Standby, "minute2");
398                        picmin2_standby = ostrcat(n_minute2_standby->pic, "", 0, 0);
399                        pichr2_standby = ostrcat(n_stunde2_standby->pic, "", 0, 0);
400                }
401        } 
402       
403       
404        int put = 0, typemerk = 0, type = 0;
405        int standby = 0;
406       
407        unsigned long long int pos = 0, len = 0, reverse = 0;
408        int playertype = 0;
409        int loopcount = 0;
410       
411        int hr = 0, min = 0;
412       
413        if(firststart == 1)
414                sleep(8);
415        firststart = 0;
416        status.write_png = 0;
417        //if(ostrcmp(getconfig("write_fb_to_jpg", NULL), "yes") == 0)
418        //      status.write_png = 1;
419       
420        while (LCD_Samsung1thread->aktion != STOP) {
421
422                tmpstr = gettime(NULL, "%H:%M");
423                hr = atoi(gettime(NULL, "%H"));
424                min = atoi(gettime(NULL, "%M"));
425               
426                // TV Programm läuft
427                if(status.infobaraktiv == 1)
428                {
429                        if(ostrcmp(getconfig("write_fb_to_jpg", NULL), "yes") == 0) {
430                                //status.write_png = 1;
431                                if(type == 999)
432                                        system("killall -3 fbread");
433                        }
434                        tmpstr2 = getaktchannelname(NULL);
435                        tmpstr3 = getrec(NULL, NULL);
436                        type = 1;
437                }
438                // Aufzeichnung wird abgespielt
439                else if(status.playspeed != 0 || status.play != 0 || status.pause != 0)
440                {
441                        if(type == 999)
442                                system("killall -3 fbread");
443                        //status.write_png = 0;
444                        loopcount++ ;
445                        type = 2;
446                }
447                // Sonstige Anzeigen
448                else if(type != 999)
449                {
450                        if(ostrcmp(getconfig("write_fb_to_jpg", NULL), "yes") == 0) {
451                                //status.write_png = 1;
452                                system("killall -1 fbread");
453                        }
454                        type = 999;
455                }
456                else
457                        type = 999;
458               
459                if(typemerk != type)
460                {
461                        put = 1;
462                        typemerk = type;
463                        free(sendermerk);sendermerk=NULL;
464                        free(recmerk);recmerk=NULL;
465                        loopcount = 0;
466                }
467                else
468                        put = 0;
469
470                if(status.standby > 0 && standby == 0)
471                {
472                        if(ostrcmp(getconfig("lcd_samsung_plugin_standby", NULL), "yes") == 0)
473                                standby = 2;
474                        else
475                        {
476                                tmpstr = createpluginpath("/lcdsamsung/standby.jpg", 0);
477                                tmpstr = ostrcat("cp ", tmpstr, 0, 1);
478                                tmpstr = ostrcat(tmpstr, " /tmp/titanlcd.png", 1, 0);
479                                system(tmpstr);
480                                free(tmpstr); tmpstr=NULL;
481                                sleep(3);
482                               
483                                tmpstr = createpluginpath("/lcdsamsung/black.jpg", 0);
484                                tmpstr = ostrcat("cp ", tmpstr, 0, 1);
485                                tmpstr = ostrcat(tmpstr, " /tmp/titanlcd.png", 1, 0);
486                                system(tmpstr);
487                                sleep(2);
488                                system("killall fbread");
489                                standby = 1;
490                        }
491                }
492                if(status.standby == 0 && standby > 0)
493                {
494                        if(standby == 1)
495                                system(startlcd);
496                        standby = 0;
497                        put = 1;
498                }
499       
500                if(weatherthread == NULL && weatherwrite == 0) 
501                { 
502                        if(file_exist("/tmp/lcdweather")) 
503                                put = 1; 
504                }                       
505                if(ostrcmp(tmpstr, timemerk) != 0)
506                {
507                        free(timemerk);timemerk=NULL;
508                        timemerk = ostrcat(tmpstr, "", 0, 0);
509                        put = 1;
510                } 
511
512                if(standby == 0 || standby == 2 )
513                {
514                        if(type == 1 && standby == 0)
515                        {
516                                if(ostrcmp(tmpstr2, sendermerk) != 0)
517                                {
518                                        free(sendermerk);sendermerk=NULL;
519                                        sendermerk = ostrcat(tmpstr2, "", 0, 0);
520                                        put = 1;
521                                } 
522                                if(tmpstr3 == NULL && recmerk != NULL)
523                                {
524                                        put = 1;
525                                        free(recmerk);recmerk=NULL;
526                                }
527                                else if(tmpstr3 != NULL && recmerk == NULL)
528                                {
529                                        free(recmerk);recmerk=NULL;
530                                        recmerk = ostrcat(tmpstr3, "", 0, 0);
531                                        put = 1;
532                                }
533                        }
534                        else if(type == 2)
535                        {
536                                if(loopcount >= 15)
537                                {
538                                        put = 1;
539                                        loopcount = 0;
540                                }
541                        }       
542                       
543                        if(put == 1)
544                        {
545                                if(type == 1)
546                                {
547                                        // Wettervorhersage
548                                        printf("lcd_samsung wetter = %s\n", getconfig("lcd_samsung_plugin_wetter", NULL));
549                                        if(ostrcmp(getconfig("lcd_samsung_plugin_wetter", NULL), "yes") == 0)
550                                        {
551                                                if(weatherwrite == 0)
552                                                {
553                                                        printf("lcd_samsung weatherwrite=0\n");
554                                                        if(weatherthread == NULL)
555                                                        {
556                                                                printf("lcd_samsung weatherthread=NULL\n");
557                                                                if(!file_exist("/tmp/lcdweather"))
558                                                                        weatherthread = addtimer(&lcd_writeweather, START, 10000, 1, NULL, NULL, NULL);
559                                                                else
560                                                                {
561                                                                        fileline = malloc(256);
562                                                                        if(fileline != NULL)
563                                                                        {
564                                                                                fd = fopen("/tmp/lcdweather", "r");
565                                                                                if(fd != NULL)
566                                                                                {
567                                                                                        if(ostrcmp(getconfig("lcd_samsung_plugin_standby", NULL), "yes") == 0) 
568                                                                                        {
569                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
570                                                                                                changetext(day0_d, fileline);
571                                                                                                changetext(sday0_d, fileline);
572                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
573                                                                                                changetext(day0_t, fileline);
574                                                                                                changetext(sday0_t, fileline);
575                                                                                                weather_getline(fd, fileline);
576                                                                                                weather_getline(fd, fileline);
577                                                                                                changepic(day0_i, fileline);
578                                                                                                changepic(sday0_i, fileline);
579                                                                                       
580                                                                                                weather_getline(fd, fileline);
581                                                                                                changetext(day1_d, fileline);
582                                                                                                changetext(sday1_d, fileline);
583                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
584                                                                                                changetext(day1_t, fileline);
585                                                                                                changetext(sday1_t, fileline);
586                                                                                                weather_getline(fd, fileline);
587                                                                                                weather_getline(fd, fileline);
588                                                                                                changepic(day1_i, fileline);
589                                                                                                changepic(sday1_i, fileline);
590                                                                                       
591                                                                                                weather_getline(fd, fileline);
592                                                                                                changetext(day2_d, fileline);
593                                                                                                changetext(sday2_d, fileline);
594                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
595                                                                                                changetext(day2_t, fileline);
596                                                                                                changetext(sday2_t, fileline);
597                                                                                                weather_getline(fd, fileline);
598                                                                                                weather_getline(fd, fileline);
599                                                                                                changepic(day2_i, fileline);
600                                                                                                changepic(sday2_i, fileline);
601                                                                                       
602                                                                                                weather_getline(fd, fileline);
603                                                                                                changetext(day3_d, fileline);
604                                                                                                changetext(sday3_d, fileline);
605                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
606                                                                                                changetext(day3_t, fileline);
607                                                                                                changetext(sday3_t, fileline);
608                                                                                                weather_getline(fd, fileline);
609                                                                                                weather_getline(fd, fileline);
610                                                                                                changepic(day3_i, fileline);
611                                                                                                changepic(sday3_i, fileline);
612                                                                                        }
613                                                                                        else
614                                                                                        {
615                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
616                                                                                                changetext(day0_d, fileline);
617                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
618                                                                                                changetext(day0_t, fileline);
619                                                                                                weather_getline(fd, fileline);
620                                                                                                weather_getline(fd, fileline);
621                                                                                                changepic(day0_i, fileline);
622                                                                                       
623                                                                                                weather_getline(fd, fileline);
624                                                                                                changetext(day1_d, fileline);
625                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
626                                                                                                changetext(day1_t, fileline);
627                                                                                                weather_getline(fd, fileline);
628                                                                                                weather_getline(fd, fileline);
629                                                                                                changepic(day1_i, fileline);
630                                                                                       
631                                                                                                weather_getline(fd, fileline);
632                                                                                                changetext(day2_d, fileline);
633                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
634                                                                                                changetext(day2_t, fileline);
635                                                                                                weather_getline(fd, fileline);
636                                                                                                weather_getline(fd, fileline);
637                                                                                                changepic(day2_i, fileline);
638                                                                                       
639                                                                                                weather_getline(fd, fileline);
640                                                                                                changetext(day3_d, fileline);
641                                                                                                weather_getline(fd, fileline);weather_getline(fd, fileline);
642                                                                                                changetext(day3_t, fileline);
643                                                                                                weather_getline(fd, fileline);
644                                                                                                weather_getline(fd, fileline);
645                                                                                                changepic(day3_i, fileline);
646                                                                                        }
647                                                                                        fclose(fd);
648                                                                                }
649                                                                                free(fileline); fileline=NULL;
650                                                                        }
651                                                                        weatherwrite = 1;
652                                                                }                                                               
653                                                        }
654                                                }               
655                                        }
656                                        if(standby == 0)
657                                        {
658                                                if(akttime != NULL)
659                                                        changetext(akttime, tmpstr);
660                                                if(n_minute != NULL && digitaluhr == 0)
661                                                {
662                                                        free(tmpstr);tmpstr=NULL;
663                                                        tmpstr = ostrcat("min_",gettime(NULL, "%M"), 0, 0);
664                                                        free(n_minute->pic);
665                                                        n_minute->pic = string_replace("min_mm", tmpstr, picmin, 0);
666                                                        free(tmpstr);tmpstr=NULL;
667                                                }
668                                                if(n_stunde != NULL && digitaluhr == 0)
669                                                {
670                                                        free(tmpstr);tmpstr=NULL;
671                                                        if(hr >= 12)
672                                                                hr = hr - 12;
673                                                        if(hr < 10)
674                                                                tmpstr = ostrcat("hr_0",oitoa(hr), 0, 1);
675                                                        else
676                                                                tmpstr = ostrcat("hr_",oitoa(hr), 0, 1);
677                                                        if(min < 12)
678                                                                tmpstr = ostrcat(tmpstr,"00", 0, 0);
679                                                        else if(min < 24)
680                                                                tmpstr = ostrcat(tmpstr,"12", 0, 0);
681                                                        else if(min < 36)
682                                                                tmpstr = ostrcat(tmpstr,"24", 0, 0);
683                                                        else if(min < 48)
684                                                         tmpstr = ostrcat(tmpstr,"36", 0, 0);
685                                                        else if(min < 60)
686                                                         tmpstr = ostrcat(tmpstr,"48", 0, 0);                                                           
687                                                        free(n_stunde->pic);
688                                                        n_stunde->pic = string_replace("hr_hhmm", tmpstr, pichr, 0);
689                                                        free(tmpstr);tmpstr=NULL;
690                                                }
691                                                if(digitaluhr == 1)
692                                                {
693                                                        free(tmpstr);tmpstr=NULL;
694                                                        tmpstr = ostrcat("wert_",oitoa(hr/10), 0, 1);
695                                                        n_stunde->pic = string_replace("wert_w", tmpstr, pichr, 0);     
696                                                        free(tmpstr);tmpstr=NULL;
697                                                        tmpstr = ostrcat("wert_",oitoa(hr%10), 0, 1);
698                                                        n_stunde2->pic = string_replace("wert_w", tmpstr, pichr2, 0);   
699                                                        free(tmpstr);tmpstr=NULL;
700                                                        tmpstr = ostrcat("wert_",oitoa(min/10), 0, 1);
701                                                        n_minute->pic = string_replace("wert_w", tmpstr, picmin, 0);   
702                                                        free(tmpstr);tmpstr=NULL;
703                                                        tmpstr = ostrcat("wert_",oitoa(min%10), 0, 1);
704                                                        n_minute2->pic = string_replace("wert_w", tmpstr, picmin2, 0);
705                                                        free(tmpstr);tmpstr=NULL;
706                                                }       
707                                                       
708                                                m_lock(&status.drawingmutex, 0);               
709                                                if(drawscreen(LCD_Samsung1, 0, 2) == -2)
710                                                        printf("nicht genug Speicher fuer drawscreen\n");
711                                                m_unlock(&status.drawingmutex, 0);
712                                        }
713                                        else if(standby == 2)
714                                        {
715                                                if(akttime_Standby != NULL)
716                                                        changetext(akttime_Standby, tmpstr); 
717                                                if(n_minute_standby != NULL && digitaluhr_standby == 0)
718                                                {
719                                                        free(tmpstr);tmpstr=NULL;
720                                                        tmpstr = ostrcat("min_",gettime(NULL, "%M"), 0, 0);
721                                                        free(n_minute_standby->pic);
722                                                        n_minute_standby->pic = string_replace("min_mm", tmpstr, picmin_standby, 0);
723                                                        free(tmpstr);tmpstr=NULL;
724                                                }
725                                                if(n_stunde_standby != NULL && digitaluhr_standby == 0)
726                                                {
727                                                        free(tmpstr);tmpstr=NULL;
728                                                        if(hr >= 12)
729                                                                hr = hr - 12;
730                                                        if(hr < 10)
731                                                                tmpstr = ostrcat("hr_0",oitoa(hr), 0, 1);
732                                                        else
733                                                                tmpstr = ostrcat("hr_",oitoa(hr), 0, 1);
734                                                        if(min < 12)
735                                                                tmpstr = ostrcat(tmpstr,"00", 0, 0);
736                                                        else if(min < 24)
737                                                                tmpstr = ostrcat(tmpstr,"12", 0, 0);
738                                                        else if(min < 36)
739                                                                tmpstr = ostrcat(tmpstr,"24", 0, 0);
740                                                        else if(min < 48)
741                                                         tmpstr = ostrcat(tmpstr,"36", 0, 0);
742                                                        else if(min < 60)
743                                                         tmpstr = ostrcat(tmpstr,"48", 0, 0);                                                           
744                                                        free(n_stunde_standby->pic);
745                                                        n_stunde_standby->pic = string_replace("hr_hhmm", tmpstr, pichr_standby, 0);
746                                                        free(tmpstr);tmpstr=NULL;
747                                                }       
748                                                if(digitaluhr_standby == 1)
749                                                {
750                                                        free(tmpstr);tmpstr=NULL;
751                                                        tmpstr = ostrcat("wert_",oitoa(hr/10), 0, 1);
752                                                        n_stunde_standby->pic = string_replace("wert_w", tmpstr, pichr_standby, 0);     
753                                                        free(tmpstr);tmpstr=NULL;
754                                                        tmpstr = ostrcat("wert_",oitoa(hr%10), 0, 1);
755                                                        n_stunde2_standby->pic = string_replace("wert_w", tmpstr, pichr2_standby, 0);   
756                                                        free(tmpstr);tmpstr=NULL;
757                                                        tmpstr = ostrcat("wert_",oitoa(min/10), 0, 1);
758                                                        n_minute_standby->pic = string_replace("wert_w", tmpstr, picmin_standby, 0);   
759                                                        free(tmpstr);tmpstr=NULL;
760                                                        tmpstr = ostrcat("wert_",oitoa(min%10), 0, 1);
761                                                        n_minute2_standby->pic = string_replace("wert_w", tmpstr, picmin2_standby, 0);
762                                                        free(tmpstr);tmpstr=NULL;
763                                                }       
764                                                m_lock(&status.drawingmutex, 0);
765                                                drawscreen(LCD_Standby, 0, 2); 
766                                                m_unlock(&status.drawingmutex, 0);
767                                                put = 0;
768                                        } 
769                                }
770                                else if(type == 2)
771                                {
772                                        if(status.mcaktiv == 1)
773                                                playertype = 0;
774                                        else   
775                                                //playertype = getconfigint("playertype", NULL);^
776                                                playertype = 1;
777               
778                                        if(playertype == 1)
779                                        {
780                                                unsigned long long int startpos = 0;
781                                                playergetinfots(&len, &startpos, NULL, &pos, NULL, 0);
782                                                len = len / 90000;
783                                                pos = (pos - startpos) / 90000;
784                                        }
785                                        else
786                                        {
787                                                pos = playergetpts() / 90000;
788                                                len = playergetlength();
789                                        }
790                                        if(pos < 0) pos = 0;
791                                        reverse = len - pos;
792                                        if(len == 0)
793                                                sprogress->progresssize = 0;
794                                        else
795                                                sprogress->progresssize = pos * 100 / len;
796                                       
797                                        tmpstr2 = convert_timesec(pos);
798                                        changetext(spos, tmpstr2);
799                                        free(tmpstr2); tmpstr2 = NULL;
800
801                                        tmpstr2 = convert_timesec(len);
802                                        changetext(slen, tmpstr2);
803                                        free(tmpstr2); tmpstr2 = NULL;
804
805                                        tmpstr2 = convert_timesec(reverse);
806                                        changetext(sreverse, tmpstr2);
807                                        free(tmpstr2); tmpstr2 = NULL;
808                                       
809                                        changetext(akttimeplay, tmpstr);
810                                        changetext(stitle, basename(status.playfile));
811                                        m_lock(&status.drawingmutex, 0);
812                                        if(drawscreen(LCD_Play, 0, 2) == -2)
813                                                printf("nicht genug Speicher fuer drawscreen\n");
814                                        m_unlock(&status.drawingmutex, 0);
815                                }
816                        }
817                }
818                else
819                {
820                        if(standby == 2) 
821                        {       
822                                if(put == 1) 
823                                {       
824                                        changetext(akttime_Standby, tmpstr);
825                                        m_lock(&status.drawingmutex, 0);
826                                        drawscreen(LCD_Standby, 0, 2); 
827                                        m_unlock(&status.drawingmutex, 0);
828                                        put = 0; 
829                                } 
830                        } 
831                }
832
833                free(tmpstr); tmpstr = NULL;
834                free(tmpstr2); tmpstr2 = NULL;
835                free(tmpstr3); tmpstr3 = NULL;
836                //sleep(1);
837                usleep(500000);
838               
839                if(ostrcmp(getconfig("lcd_samsung_plugin_wetter", NULL), "yes") == 0)
840                {
841                        weatherref = weatherref + 1;
842                        if(weatherref == 7200)
843                        {
844                                weatherwrite = 0;
845                                system("rm /tmp/lcdweather");
846                                weatherref = 0;
847                        }
848                }
849        }
850        free(timemerk);timemerk=NULL;
851        free(sendermerk);sendermerk=NULL;
852        free(recmerk);recmerk=NULL;
853        free(startlcd);startlcd=NULL;
854        free(pichr);pichr=NULL;
855        free(picmin);picmin=NULL;
856        free(pichr_standby);pichr=NULL;
857        free(picmin_standby);picmin=NULL;
858        free(pichr2);pichr2=NULL;
859        free(picmin2);picmin2=NULL;
860        free(pichr2_standby);pichr2_standby=NULL;
861        free(picmin2_standby);picmin2_standby=NULL;
862        addconfig("lcd_samsung_plugin_running", "no");
863        LCD_Samsung1thread = NULL;
864        m_lock(&status.drawingmutex, 0);
865        if(drawscreen(LCD_Samsung1, 0, 2) == -2)
866                printf("nicht genug Speicher fuer drawscreen\n");
867        m_unlock(&status.drawingmutex, 0);
868        //status.write_png = 0;
869        return;
870}
871
872void LCD_Samsung1_main()
873{
874        if(LCD_Samsung1thread == NULL)
875        {
876                char* tmpstr = NULL;
877               
878                tmpstr = createpluginpath("/lcdsamsung/start.png", 0);
879                tmpstr = ostrcat("cp ", tmpstr, 0, 1);
880                tmpstr = ostrcat(tmpstr, " /tmp/titanlcd.png", 1, 0);
881                system(tmpstr);
882                free(tmpstr); tmpstr=NULL;
883                addconfig("lcd_samsung_plugin_running", "yes");
884                LCD_Samsung1thread = addtimer(&LCD_Samsung1_thread, START, 10000, 1, NULL, NULL, NULL);
885                addtimer(&LCD_start_lcd4linux, START, 10000, 1, NULL, NULL, NULL);
886                sleep(1);
887        }
888        else
889        {
890                        LCD_Samsung1thread->aktion = STOP;
891                        system("echo ende > /tmp/titanlcd.jpg");
892                        sleep(1);
893                        system("killall fbread");
894        }
895}       
896                       
897//wird beim laden ausgefuehrt
898void init(void)
899{
900        char* tmpstr = NULL;
901        pluginaktiv = 1;
902        firststart = 1;
903
904        tmpstr = ostrcat("/var/usr/local/share/titan/plugins/lcdsamsung/skin2.xml", NULL, 0, 0);
905        if(!file_exist(tmpstr))
906        {
907                free(tmpstr); tmpstr = NULL;
908                tmpstr = ostrcat("/var/swap/usr/local/share/titan/plugins/lcdsamsung/skin2.xml", NULL, 0, 0);
909        }
910        if(!file_exist(tmpstr))
911        {
912                free(tmpstr); tmpstr = NULL;
913                tmpstr = ostrcat("/mnt/swapextensions/usr/local/share/titan/plugins/lcdsamsung/skin2.xml", NULL, 0, 0);
914        }
915        if(!file_exist(tmpstr))
916        {
917                free(tmpstr); tmpstr = NULL;
918                tmpstr = createpluginpath("/lcdsamsung/skin.xml", 0);
919        }
920
921        printf("use skin: %s\n", tmpstr);
922
923        readscreen(tmpstr, 119, 1);
924        free(tmpstr); tmpstr = NULL;
925       
926        tmpstr = createpluginpath("/lcdsamsung/black.jpg", 0);
927        tmpstr = ostrcat("cp ", tmpstr, 0, 1);
928        tmpstr = ostrcat(tmpstr, " /tmp/fbreadstop.jpg", 1, 0);
929               
930        system(tmpstr);
931        free(tmpstr); tmpstr = NULL;
932        system("killall fbread");
933        debug(10, "LCD Samsung SPF.. loadet !!!");
934        tmpstr = getconfig("lcd_samsung_plugin_running", NULL);
935        if(ostrcmp(tmpstr, "yes") == 0)
936                LCD_Samsung1_main();
937        tmpstr = NULL;
938}
939
940//wird beim entladen ausgefuehrt
941void deinit(void)
942{
943        delmarkedscreen(119);
944        pluginaktiv = 0;
945        system("echo ende > /tmp/titanlcd.png");
946        sleep(1);
947        system("killall fbread");
948        debug(10, "LCD Samsung unloadet !!!");
949}
950
951
952//wird in der Pluginverwaltung bzw Menue ausfeguehrt
953void start(void)
954{
955        struct skin* samsung1_main = getscreen("samsung1_main");
956        struct skin* listbox = getscreennode(samsung1_main, "listbox");
957        struct skin* lcdtype = getscreennode(samsung1_main, "lcdtype");
958        struct skin* allmenu = getscreennode(samsung1_main, "allmenu");
959        struct skin* aktstandby = getscreennode(samsung1_main, "aktstandby");
960        struct skin* wettervor = getscreennode(samsung1_main, "wettervor");
961        struct skin* wettervorort = getscreennode(samsung1_main, "wettervorort"); 
962        //struct skin* wettervorplz = getscreennode(samsung1_main, "wettervorplz");
963        //struct skin* wettervorland = getscreennode(samsung1_main, "wettervorland");
964        struct skin* b3 = getscreennode(samsung1_main, "b3");
965        struct skin* tmp = NULL;
966       
967        int rcret = 0;
968        int startstop = 0;
969        int restart = 0;
970       
971  if(getconfig("lcd_samsung_plugin_wetter", NULL) == NULL || ostrcmp(getconfig("lcd_samsung_plugin_wetter", NULL), "no")  == 0)
972  {
973        //wettervorplz->hidden = YES;
974        //wettervorland->hidden = YES;
975        wettervorort->hidden = YES;
976  }
977   
978  addchoicebox(lcdtype, "spf72h", _("SPF-72H"));
979  addchoicebox(lcdtype, "spf75h", _("SPF-75H"));
980  addchoicebox(lcdtype, "spf83h", _("SPF-83H"));
981  addchoicebox(lcdtype, "spf85h", _("SPF-85H"));
982  addchoicebox(lcdtype, "spf85p", _("SPF-85P"));
983  addchoicebox(lcdtype, "spf87h", _("SPF-87H"));
984  addchoicebox(lcdtype, "spf87hold", _("SPF-87H-old"));
985  addchoicebox(lcdtype, "spf105p", _("SPF-105P"));
986  addchoicebox(lcdtype, "spf107h", _("SPF-107H"));
987  addchoicebox(lcdtype, "none", _("tiMote"));
988        setchoiceboxselection(lcdtype, getconfig("lcd_samsung_plugin_type", NULL));
989       
990        addchoicebox(allmenu, "no", _("nein"));
991        addchoicebox(allmenu, "yes", _("ja"));
992        setchoiceboxselection(allmenu, getconfig("write_fb_to_jpg", NULL));
993       
994        addchoicebox(aktstandby, "no", _("nein")); 
995        addchoicebox(aktstandby, "yes", _("ja")); 
996        setchoiceboxselection(aktstandby, getconfig("lcd_samsung_plugin_standby", NULL)); 
997       
998        addchoicebox(wettervor, "no", _("nein"));
999  addchoicebox(wettervor, "yes", _("ja"));
1000        setchoiceboxselection(wettervor, getconfig("lcd_samsung_plugin_wetter", NULL));
1001       
1002        //changemask(wettervorplz, "0000");
1003        //if(getconfig("lcd_samsung_plugin_wetterplz", NULL) == NULL)
1004        //      changeinput(wettervorplz, "10407");
1005        //else
1006        //      changeinput(wettervorplz, getconfig("lcd_samsung_plugin_wetterplz", NULL));
1007               
1008        //changemask(wettervorland, "abcdefghijklmnopqrstuvwxyz");
1009        //if(getconfig("lcd_samsung_plugin_wetterland", NULL) == NULL)
1010        //      changeinput(wettervorland, "Germany");
1011        //else
1012        //      changeinput(wettervorland, getconfig("lcd_samsung_plugin_wetterland", NULL));
1013       
1014        changemask(wettervorort, "abcdefghijklmnopqrstuvwxyz"); 
1015        if(getconfig("lcd_samsung_plugin_wetterort", NULL) == NULL) 
1016                changeinput(wettervorort, "Berlin        "); 
1017        else
1018                changeinput(wettervorort, getconfig("lcd_samsung_plugin_wetterort", NULL));     
1019       
1020        if(LCD_Samsung1thread != NULL)
1021                changetext(b3, "STOP");
1022        else
1023                changetext(b3, "START");
1024               
1025        drawscreen(samsung1_main, 0, 0);
1026        addscreenrc(samsung1_main, listbox);
1027        tmp = listbox->select;
1028       
1029        while(1)
1030        {
1031                addscreenrc(samsung1_main, tmp);
1032                rcret = waitrc(samsung1_main, 0, 0);
1033                tmp = listbox->select;
1034               
1035                if((rcret == getrcconfigint("rcleft", NULL) || rcret == getrcconfigint("rcright", NULL)) && listbox->select != NULL && ostrcmp(listbox->select->name, "wettervor") == 0)
1036                {
1037                        if(ostrcmp(wettervor->ret, "yes") == 0)
1038                        {
1039                                //wettervorplz->hidden = NO;
1040                        //wettervorland->hidden = NO;
1041                        wettervorort->hidden = NO;
1042                        } else {
1043                                //wettervorplz->hidden = YES;
1044                        //wettervorland->hidden = YES;
1045                        wettervorort->hidden = YES;
1046                }
1047                       
1048                        drawscreen(samsung1_main, 0, 0);
1049                }
1050                                       
1051                if(rcret == getrcconfigint("rcexit", NULL))
1052                        break;
1053                if(rcret == getrcconfigint("rcgreen", NULL))
1054                {
1055                        addconfig("lcd_samsung_plugin_type", lcdtype->ret);
1056                        addconfig("write_fb_to_jpg", allmenu->ret);
1057                        addconfig("lcd_samsung_plugin_standby", aktstandby->ret);
1058                        addconfig("lcd_samsung_plugin_wetter", wettervor->ret);
1059                        addconfig("lcd_samsung_plugin_wetterort", wettervorort->ret); 
1060                        //addconfig("lcd_samsung_plugin_wetterplz", wettervorplz->ret);
1061                        //addconfig("lcd_samsung_plugin_wetterland", wettervorland->ret);
1062                        restart = 1;
1063                        break;
1064                }
1065                       
1066                if(rcret == getrcconfigint("rcblue", NULL))
1067                {
1068                        addconfig("lcd_samsung_plugin_type", lcdtype->ret);
1069                        addconfig("write_fb_to_jpg", allmenu->ret);
1070                        addconfig("lcd_samsung_plugin_standby", aktstandby->ret);
1071                        addconfig("lcd_samsung_plugin_wetter", wettervor->ret);
1072                        addconfig("lcd_samsung_plugin_wetterort", wettervorort->ret); 
1073                        //addconfig("lcd_samsung_plugin_wetterplz", wettervorplz->ret);
1074                        //addconfig("lcd_samsung_plugin_wetterland", wettervorland->ret);
1075                        startstop = 1;
1076                        break;
1077                }
1078        }
1079        delownerrc(samsung1_main);
1080        clearscreen(samsung1_main);
1081       
1082        if(LCD_Samsung1thread != NULL && restart == 1)
1083        {
1084                LCD_Samsung1thread->aktion = STOP;
1085                system("killall fbread");       
1086                sleep(2);
1087                addtimer(&LCD_start_lcd4linux, START, 10000, 1, NULL, NULL, NULL);
1088                LCD_Samsung1thread = addtimer(&LCD_Samsung1_thread, START, 10000, 1, NULL, NULL, NULL);
1089                sleep(1);
1090                return;
1091        }
1092        if(startstop == 1)
1093        {
1094                if(LCD_Samsung1thread != NULL)
1095                {
1096                        addconfig("lcd_samsung_plugin_running", "no");
1097                        LCD_Samsung1thread->aktion = STOP;
1098                        sleep(1);
1099                        system("killall fbread");
1100                        debug(10, "LCD Samsung unloadet !!!"); 
1101                        sleep(1);
1102                }
1103                else {
1104                        addconfig("lcd_samsung_plugin_running", "yes");
1105                        firststart = 1;
1106                        LCD_Samsung1_main();
1107                }
1108        }
1109}
Note: See TracBrowser for help on using the repository browser.