source: titan/titan/skinfunc.h @ 27935

Last change on this file since 27935 was 27935, checked in by obi, 9 years ago

testfix getdate translation

File size: 24.9 KB
Line 
1#ifndef SKINFUNC_H
2#define SKINFUNC_H
3
4char* getplaytext(struct skin* node, char* path)
5{
6        char* tmpstr = NULL;
7
8        if(status.pause > 0 && status.slowspeed == 0)
9                tmpstr = ostrcat("Pause", NULL, 0, 0);
10        else if(status.play > 0)
11                tmpstr = ostrcat("Play", NULL, 0, 0);
12        else if(status.playspeed == 1)
13                tmpstr = ostrcat(">> 2x", NULL, 0, 0);
14        else if(status.playspeed == 2)
15                tmpstr = ostrcat(">> 4x", NULL, 0, 0);
16        else if(status.playspeed == 3)
17                tmpstr = ostrcat(">> 8x", NULL, 0, 0);
18        else if(status.playspeed == 4)
19                tmpstr = ostrcat(">> 16x", NULL, 0, 0);
20        else if(status.playspeed == 5)
21                tmpstr = ostrcat(">> 32x", NULL, 0, 0);
22        else if(status.playspeed == 6)
23                tmpstr = ostrcat(">> 64x", NULL, 0, 0);
24        else if(status.playspeed == 7)
25                tmpstr = ostrcat(">> 128x", NULL, 0, 0);
26        else if(status.playspeed == -1)
27                tmpstr = ostrcat("<< 2x", NULL, 0, 0);
28        else if(status.playspeed == -2)
29                tmpstr = ostrcat("<< 4x", NULL, 0, 0);
30        else if(status.playspeed == -3)
31                tmpstr = ostrcat("<< 8x", NULL, 0, 0);
32        else if(status.playspeed == -4)
33                tmpstr = ostrcat("<< 16x", NULL, 0, 0);
34        else if(status.playspeed == -5)
35                tmpstr = ostrcat("<< 32x", NULL, 0, 0);
36        else if(status.playspeed == -6)
37                tmpstr = ostrcat("<< 64x", NULL, 0, 0);
38        else if(status.playspeed == -7)
39                tmpstr = ostrcat("<< 128x", NULL, 0, 0);
40        else if(status.slowspeed == 1)
41                tmpstr = ostrcat("|| 2x", NULL, 0, 0);
42        else if(status.slowspeed == 2)
43                tmpstr = ostrcat("|| 4x", NULL, 0, 0);
44        else if(status.slowspeed == 3)
45                tmpstr = ostrcat("|| 8x", NULL, 0, 0);
46        else if(status.slowspeed == 4)
47                tmpstr = ostrcat("|| 16x", NULL, 0, 0);
48        else if(status.slowspeed == 5)
49                tmpstr = ostrcat("|| 32x", NULL, 0, 0);
50        else if(status.slowspeed == 6)
51                tmpstr = ostrcat("|| 64x", NULL, 0, 0);
52        else if(status.slowspeed == 7)
53                tmpstr = ostrcat("|| 128x", NULL, 0, 0);
54
55        return tmpstr;
56}
57
58char* getplaypic(struct skin* node, char* path)
59{
60        char* tmpstr = NULL;
61
62        if(status.pause > 0 && status.slowspeed == 0)
63                tmpstr = ostrcat("pause.png", NULL, 0, 0);
64        else if(status.play > 0)
65                tmpstr = ostrcat("play.png", NULL, 0, 0);
66        else if(status.playspeed == 1)
67                tmpstr = ostrcat("forward1.png", NULL, 0, 0);
68        else if(status.playspeed == 2)
69                tmpstr = ostrcat("forward1.png", NULL, 0, 0);
70        else if(status.playspeed == 3)
71                tmpstr = ostrcat("forward1.png", NULL, 0, 0);
72        else if(status.playspeed == 4)
73                tmpstr = ostrcat("forward1.png", NULL, 0, 0);
74        else if(status.playspeed == 5)
75                tmpstr = ostrcat("forward1.png", NULL, 0, 0);
76        else if(status.playspeed == 6)
77                tmpstr = ostrcat("forward1.png", NULL, 0, 0);
78        else if(status.playspeed == 7)
79                tmpstr = ostrcat("forward1.png", NULL, 0, 0);
80        else if(status.playspeed == -1)
81                tmpstr = ostrcat("rewind1.png", NULL, 0, 0);
82        else if(status.playspeed == -2)
83                tmpstr = ostrcat("rewind1.png", NULL, 0, 0);
84        else if(status.playspeed == -3)
85                tmpstr = ostrcat("rewind1.png", NULL, 0, 0);
86        else if(status.playspeed == -4)
87                tmpstr = ostrcat("rewind1.png", NULL, 0, 0);
88        else if(status.playspeed == -5)
89                tmpstr = ostrcat("rewind1.png", NULL, 0, 0);
90        else if(status.playspeed == -6)
91                tmpstr = ostrcat("rewind1.png", NULL, 0, 0);
92        else if(status.playspeed == -7)
93                tmpstr = ostrcat("rewind1.png", NULL, 0, 0);
94        else if(status.slowspeed == 1)
95                tmpstr = ostrcat("slow1.png", NULL, 0, 0);
96        else if(status.slowspeed == 2)
97                tmpstr = ostrcat("slow1.png", NULL, 0, 0);
98        else if(status.slowspeed == 3)
99                tmpstr = ostrcat("slow1.png", NULL, 0, 0);
100        else if(status.slowspeed == 4)
101                tmpstr = ostrcat("slow1.png", NULL, 0, 0);
102        else if(status.slowspeed == 5)
103                tmpstr = ostrcat("slow1.png", NULL, 0, 0);
104        else if(status.slowspeed == 6)
105                tmpstr = ostrcat("slow1.png", NULL, 0, 0);
106        else if(status.slowspeed == 7)
107                tmpstr = ostrcat("slow1.png", NULL, 0, 0);
108
109        if(tmpstr != NULL)
110        {
111                if(path != NULL && tmpstr != NULL)
112                        tmpstr = ostrcat("/", tmpstr, 0, 1);
113                tmpstr = ostrcat(path, tmpstr, 0, 1);
114        }
115       
116        return tmpstr;
117}
118
119char* getreccount(struct skin* node)
120{
121        char* tmpstr = NULL;
122
123        if(status.recording > 0)
124                tmpstr = oitoa(status.recording);
125
126        return tmpstr;
127}
128
129char* getrec(struct skin* node, char* path)
130{
131        char* tmpstr = NULL;
132
133        if(status.recording > 0)
134        {
135                tmpstr = ostrcat("rec.png", NULL, 0, 0);
136
137                if(path != NULL)
138                        tmpstr = ostrcat("/", tmpstr, 0, 1);
139                tmpstr = ostrcat(path, tmpstr, 0, 1);
140        }
141       
142        return tmpstr;
143}
144
145char* getcrypt(struct skin* node, char* path)
146{
147        char* tmpstr = NULL;
148
149        if(status.aktservice->channel != NULL)
150        {
151                if(status.aktservice->channel->crypt > 0)
152                        tmpstr = ostrcat("crypt.png", NULL, 0, 0);
153                else
154                        tmpstr = ostrcat("nocrypt.png", NULL, 0, 0);
155
156                if(path != NULL)
157                        tmpstr = ostrcat("/", tmpstr, 0, 1);
158                tmpstr = ostrcat(path, tmpstr, 0, 1);
159        }
160       
161        return tmpstr;
162}
163
164char* getaspectmode(struct skin* node, char* path)
165{
166        char* tmpstr = NULL;
167
168        tmpstr = getaspect();
169        if(ostrcmp(tmpstr, "4:3") == 0)
170        {
171                free(tmpstr); tmpstr = NULL;
172                tmpstr = ostrcat(tmpstr, "4_3.png", 1, 0);
173        }
174        if(ostrcmp(tmpstr, "16:9") == 0)
175        {
176                free(tmpstr); tmpstr = NULL;
177                tmpstr = ostrcat(tmpstr, "16_9.png", 1, 0);
178        }
179
180        if(path != NULL)
181                tmpstr = ostrcat("/", tmpstr, 0, 1);
182        tmpstr = ostrcat(path, tmpstr, 0, 1);
183
184        return tmpstr;
185}
186
187char* getsdhd(struct skin* node, char* path)
188{
189        char* tmpstr = NULL;
190
191        videoreadqwidth(status.aktservice->videodev);
192
193        if(getaktvideosize() == 0) //videosize is ok
194        {
195                if(status.videosize.w == 720)
196                        tmpstr = ostrcat("sd.png", NULL, 0, 0);
197                else if(status.videosize.w == 1280)
198                        tmpstr = ostrcat("hdready.png", NULL, 0, 0);
199                else if(status.videosize.w == 1920)
200                        tmpstr = ostrcat("hd.png", NULL, 0, 0);
201        }
202       
203        if(tmpstr == NULL) tmpstr = ostrcat("novideo.png", NULL, 0, 0);
204
205        if(path != NULL)
206                tmpstr = ostrcat("/", tmpstr, 0, 1);
207        tmpstr = ostrcat(path, tmpstr, 0, 1);
208
209        return tmpstr;
210}
211       
212char* getresolution(struct skin* node, char* path)
213{
214        char* tmpstr = NULL;
215
216        if(fb->width == 720 && fb->height == 576)
217                tmpstr = ostrcat("576.png", NULL, 0, 0);
218        else if(fb->width == 1280 && fb->height == 720)
219                tmpstr = ostrcat("720.png", NULL, 0, 0);
220        else if(fb->width == 1920 && fb->height == 1080)
221                tmpstr = ostrcat("1080.png", NULL, 0, 0);
222
223        if(path != NULL)
224                tmpstr = ostrcat("/", tmpstr, 0, 1);
225        tmpstr = ostrcat(path, tmpstr, 0, 1);
226       
227        return tmpstr;
228}
229
230char* getteletext(struct skin* node, char* path)
231{
232        char* tmpstr = NULL;
233
234        if(status.aktservice->channel != NULL)
235        {
236                if(status.aktservice->channel->txtpid > 0)
237                        tmpstr = ostrcat("teletext.png", NULL, 0, 0);
238                else
239                        tmpstr = ostrcat("noteletext.png", NULL, 0, 0);
240
241                if(path != NULL)
242                        tmpstr = ostrcat("/", tmpstr, 0, 1);
243                tmpstr = ostrcat(path, tmpstr, 0, 1);
244        }
245       
246        return tmpstr;
247}
248
249char* getsoundtype(struct skin* node, char* path)
250{
251        char* tmpstr = NULL;
252
253        if(status.aktservice->channel != NULL)
254        {
255                switch(status.aktservice->channel->audiocodec)
256                {
257                        case AC3:
258                                tmpstr = ostrcat("ac3.png", NULL, 0, 0);
259                                break;
260                        case MPEGA:
261                                tmpstr = ostrcat("mpega.png", NULL, 0, 0);
262                                break;
263                        case DTS:
264                                tmpstr = ostrcat("dts.png", NULL, 0, 0);
265                                break;
266                        case LPCM:
267                                tmpstr = ostrcat("lpcm.png", NULL, 0, 0);
268                                break;
269                        case AAC:
270                                tmpstr = ostrcat("aac.png", NULL, 0, 0);
271                                break;
272                        case AACHE:
273                                tmpstr = ostrcat("aache.png", NULL, 0, 0);
274                                break;
275                }
276                if(path != NULL)
277                        tmpstr = ostrcat("/", tmpstr, 0, 1);
278                tmpstr = ostrcat(path, tmpstr, 0, 1);
279        }
280       
281        return tmpstr;
282}
283
284char* getprovidername(struct skin* node)
285{
286        char* tmpstr = NULL;
287
288        if(status.aktservice->channel != NULL && status.aktservice->channel->provider != NULL)
289                tmpstr = ostrcat(status.aktservice->channel->provider->name, NULL, 0, 0);
290
291        return tmpstr;
292}
293
294char* getsatname(struct skin* node)
295{
296        struct sat* satnode = NULL;
297        char* tmpstr = NULL;
298
299        if(status.aktservice->channel != NULL && status.aktservice->channel->transponder != NULL)
300        {
301                satnode = getsatbyorbitalpos(status.aktservice->channel->transponder->orbitalpos);
302                if(satnode != NULL)
303                        tmpstr = ostrcat(satnode->name, NULL, 0, 0);
304        }
305
306        return tmpstr;
307}
308
309char* getber(struct skin* node, char* format)
310{
311        uint32_t ber = 0;
312        char* buf = NULL, *buf1 = NULL;
313
314        ber = fereadber(status.aktservice->fedev);
315
316        buf = malloc(MINMALLOC);
317        if(buf == NULL)
318        {
319                err("no mem");
320                return NULL;
321        }
322       
323        snprintf(buf, MINMALLOC, format, ber);
324        buf1 = ostrcat(buf, NULL, 1, 0);
325
326        return buf1;
327}
328
329char* getsignal(struct skin* node, char* format)
330{
331        uint16_t signal = 0;
332        char* buf = NULL, *buf1 = NULL;
333
334        signal = fereadsignalstrength(status.aktservice->fedev);
335        signal = (signal * 100) / 0xffff;
336
337        buf = malloc(MINMALLOC);
338        if(buf == NULL)
339        {
340                err("no mem");
341                return NULL;
342        }
343       
344        snprintf(buf, MINMALLOC, format, signal);
345        buf1 = ostrcat(buf, NULL, 1, 0);
346
347        return buf1;
348}
349
350char* getunc(struct skin* node, char* format)
351{
352        uint32_t unc = 0;
353        char* buf = NULL, *buf1 = NULL;
354
355        unc = fereaduncorrectedblocks(status.aktservice->fedev);
356
357        buf = malloc(MINMALLOC);
358        if(buf == NULL)
359        {
360                err("no mem");
361                return NULL;
362        }
363       
364        snprintf(buf, MINMALLOC, format, unc);
365        buf1 = ostrcat(buf, NULL, 1, 0);
366
367        return buf1;
368}
369
370char* getsnr(struct skin* node, char* format)
371{
372        uint16_t snr = 0;
373        char* buf = NULL, *buf1 = NULL;
374
375       
376        snr = fereadsnr(status.aktservice->fedev);
377        snr = (snr * 100) / 0xffff;
378       
379        buf = malloc(MINMALLOC);
380        if(buf == NULL)
381        {
382                err("no mem");
383                return NULL;
384        }
385       
386        snprintf(buf, MINMALLOC, format, snr);
387        buf1 = ostrcat(buf, NULL, 1, 0);
388
389        return buf1;
390}
391
392char* getepgtimeline(struct skin* node, int akt)
393{       
394        struct epg* epgnode = NULL;
395        struct channel* chnode = NULL;
396        char* tmpstr = NULL, *tmpnr = NULL;
397        int proz = 0;
398
399        if(akt == 0) chnode = status.markedchannel;
400        if(akt == 1) chnode = status.aktservice->channel;
401        if(akt == 2 && node != NULL) chnode = (struct channel*)node->handle;
402
403        if(chnode != NULL)
404        {
405                epgnode = getepgakt(chnode);
406                if(epgnode != NULL)
407                {
408                        proz = (time(NULL) - epgnode->starttime) * 100 / (epgnode->endtime - epgnode->starttime);
409                        tmpnr = oitoa(proz);
410                        tmpstr = ostrcat(tmpstr, tmpnr, 1, 1);
411                        return tmpstr;
412                }
413        }
414        return NULL;
415}
416
417char* getepgmarkedtimeline(struct skin* node)
418{
419        return getepgtimeline(node, 0);
420}
421
422char* getepgakttimeline(struct skin* node)
423{
424        return getepgtimeline(node, 1);
425}
426
427char* getepgchanneltimeline(struct skin* node)
428{
429        return getepgtimeline(node, 2);
430}
431
432char* getaktchannelname(struct skin* node)
433{
434        char* tmpstr = NULL;
435
436        if(status.aktservice->channel != NULL)
437        {
438                tmpstr = ostrcat(tmpstr, status.aktservice->channel->name, 1, 0);
439                return tmpstr;
440        }
441        return NULL;
442}
443
444char* getepgtime(struct skin* node, char* format, int akt, int type)
445{
446        // akt 0 = marked channel
447        // akt 1 = akt channel now
448        // akt 2 = akt channel next
449
450        // type 0 = starttime
451        // type 1 = endtime
452        // type 2 = remainingtime
453
454        struct epg* epgnode = NULL;
455        struct tm *loctime = NULL;
456        struct channel* chnode = NULL;
457        char *buf = NULL, *buf1 = NULL;
458        time_t min = 0;
459       
460        if(format == NULL)
461        {
462                err("NULL detect");
463                return NULL;
464        }
465
466        if(akt == 0) chnode = status.markedchannel;
467        if(akt == 1 || akt == 2) chnode = status.aktservice->channel;
468
469        if(chnode != NULL)
470        {
471                epgnode = getepgakt(chnode);
472
473                if(akt == 2)
474                {
475                        if(epgnode != NULL)
476                                epgnode = epgnode->next;
477                }
478
479                if(epgnode != NULL)
480                {
481                        if(type == 0)
482                                loctime = olocaltime(&epgnode->starttime);
483                        else if(type == 1)
484                                loctime = olocaltime(&epgnode->endtime);
485                        else if(type == 2)
486                        {
487                                if(akt == 1)
488                                        min = ((epgnode->endtime - (epgnode->endtime % 60)) - (time(NULL) - (time(NULL) % 60))) / 60;
489                                else if(akt == 2)
490                                        min = ((epgnode->endtime - (epgnode->endtime % 60)) - (epgnode->starttime - (epgnode->starttime % 60))) / 60;
491                                if(min < 0) min = 0;
492                        }
493
494                        buf = malloc(MINMALLOC);
495                        if(buf == NULL)
496                        {
497                                free(loctime);
498                                err("no memory");
499                                return NULL;
500                        }
501
502                        if(type == 2)
503                                snprintf(buf, MINMALLOC, format, min);
504                        else if(loctime != NULL)
505                                ostrftime(buf, MINMALLOC, format, loctime);
506                        buf1 = ostrcat(buf, NULL, 1, 0);
507
508                        free(loctime); loctime = NULL;
509                        return buf1;
510                }
511        }
512        return NULL;
513}
514
515char* getepgakttimeremaining(struct skin* node, char* format)
516{
517        return getepgtime(node, format, 1, 2);
518}
519
520char* getepgnexttimeremaining(struct skin* node, char* format)
521{
522        return getepgtime(node, format, 2, 2);
523}
524
525char* getepgmarkedstart(struct skin* node, char* format)
526{
527        return getepgtime(node, format, 0, 0);
528}
529
530char* getepgmarkedend(struct skin* node, char* format)
531{
532        return getepgtime(node, format, 0, 1);
533}
534
535char* getepgaktstart(struct skin* node, char* format)
536{
537        return getepgtime(node, format, 1, 0);
538}
539
540char* getepgaktend(struct skin* node, char* format)
541{
542        return getepgtime(node, format, 1, 1);
543}
544
545char* getepgnextstart(struct skin* node, char* format)
546{
547        return getepgtime(node, format, 2, 0);
548}
549
550char* getepgnextend(struct skin* node, char* format)
551{
552        return getepgtime(node, format, 2, 1);
553}
554
555char* getepgaktsubtitle(struct skin* node)
556{
557        struct epg* epgnode = NULL;
558        char* tmpstr = NULL;
559
560        epgnode = getepgakt(status.aktservice->channel);
561        if(epgnode != NULL)
562        {
563                tmpstr = ostrcat(tmpstr, epgnode->subtitle, 1, 0);
564                return tmpstr;
565        }
566
567        return NULL;
568}
569
570char* getepgakttitle(struct skin* node)
571{
572        struct epg* epgnode = NULL;
573        char* tmpstr = NULL;
574
575        epgnode = getepgakt(status.aktservice->channel);
576        if(epgnode != NULL)
577        {
578                tmpstr = ostrcat(tmpstr, epgnode->title, 1, 0);
579                return tmpstr;
580        }
581
582        return NULL;
583}
584
585char* getepgnexttitle(struct skin* node)
586{
587        struct epg* epgnode = NULL;
588        char* tmpstr = NULL;
589
590        epgnode = getepgakt(status.aktservice->channel);
591        if(epgnode != NULL)
592        {
593                epgnode = epgnode->next;
594                if(epgnode != NULL)
595                {
596                        tmpstr = ostrcat(tmpstr, epgnode->title, 1, 0);
597                        return tmpstr;
598                }
599        }
600
601        return NULL;
602}
603
604char* getepgaktdesc(struct skin* node)
605{
606        struct epg* epgnode = NULL;
607
608        if(status.aktservice->channel != NULL)
609        {
610                epgnode = getepgakt(status.aktservice->channel);
611                if(epgnode != NULL)
612                        return epgdescunzip(epgnode);
613        }
614
615        return NULL;
616}
617
618char* getepgmarkeddesc(struct skin* node)
619{
620        struct epg* epgnode = NULL;
621
622        if(status.markedchannel != NULL)
623        {
624                epgnode = getepgakt(status.markedchannel);
625                if(epgnode != NULL)
626                        return epgdescunzip(epgnode);
627        }
628
629        return NULL;
630}
631
632char* getepgmarkedlist(struct skin* node, char* ccount)
633{
634        struct epg* epgnode = NULL;
635        char* tmpstr = NULL, *buf = NULL;
636        int count = atoi(ccount);
637        struct tm* loctime = NULL;
638
639        buf = malloc(MINMALLOC);
640        if(buf == NULL)
641        {
642                err("no memory");
643                return NULL;
644        }
645
646        if(status.markedchannel != NULL)
647        {
648                epgnode = getepgakt(status.markedchannel);
649                while(epgnode != NULL)
650                {
651                        epgnode = epgnode->next;
652                        if(epgnode != NULL)
653                        {
654                                loctime = olocaltime(&epgnode->starttime);
655                                if(loctime != NULL)
656                                        strftime(buf, MINMALLOC, "%H:%M", loctime);
657                                free(loctime); loctime = NULL;
658                                tmpstr = ostrcat(tmpstr, buf, 1, 0);
659                                tmpstr = ostrcat(tmpstr, " ", 1, 0);
660                                tmpstr = ostrcat(tmpstr, epgnode->title, 1, 0);
661                                tmpstr = ostrcat(tmpstr, "\n", 1, 0);
662                                count--;
663                        }
664                        if(count < 1) break;
665                }
666        }
667
668        free(buf);
669        return tmpstr;
670}
671
672char* getepgpicon(struct skin* node)
673{
674        char* tmpstr = NULL;
675       
676        if(status.epgchannel != NULL)
677                tmpstr = createpiconpath(status.epgchannel, 0);
678        return tmpstr;
679}
680
681char* getpicon(struct skin* node)
682{
683        char* tmpstr = NULL;
684        tmpstr = createpiconpath(status.aktservice->channel, 0);
685        return tmpstr;
686}
687
688char* getalternatepicon(struct skin* node)
689{
690        char* tmpstr = NULL;
691        tmpstr = createpiconpath(status.aktservice->channel, 1);
692        return tmpstr;
693}
694
695char* gettime(struct skin* node, char* format)
696{
697        time_t sec;
698        struct tm *loctime = NULL;
699        char *buf = NULL, *buf1 = NULL;
700
701        if(format == NULL)
702        {
703                err("NULL detect");
704                return NULL;
705        }
706
707        buf = malloc(MINMALLOC);
708        if(buf == NULL)
709        {
710                err("no memory");
711                return NULL;
712        }
713
714        sec = time(NULL);
715        loctime = olocaltime(&sec);
716
717        if(loctime != NULL)
718        {
719                ostrftime(buf, MINMALLOC, format, loctime);
720                buf1 = ostrcat(buf, NULL, 1, 0);
721        }
722
723printf("1buf1: %s\n",buf1);
724//buf1 = string_replace("Mon", "Mon", buf1, 1);
725buf1 = string_replace("Tue", "Die", buf1, 1);
726buf1 = string_replace("Wed", "Mit", buf1, 1);
727buf1 = string_replace("Thu", "Don", buf1, 1);
728buf1 = string_replace("Fri", "Fre", buf1, 1);
729buf1 = string_replace("Sat", "Sam", buf1, 1);
730buf1 = string_replace("Sun", "Son", buf1, 1);
731printf("2buf1: %s\n",buf1);
732
733        free(loctime);
734        return buf1;
735}
736
737char* getchannelnr(struct skin* node, struct channel* chnode)
738{
739        char *tmpstr = NULL, *tmpnr = NULL;
740
741        if(chnode == NULL) chnode = status.aktservice->channel;
742
743        if(status.servicetype == 0)
744                tmpstr = getconfig("channellist", NULL);
745        else
746                tmpstr = getconfig("rchannellist", NULL);
747        if(ostrncmp("(BOUQUET)-", tmpstr, 10) == 0 && strlen(tmpstr) > 10)
748        {
749                struct mainbouquet* mainbouquetnode = NULL;
750                int count = 0;
751
752                mainbouquetnode = getmainbouquet(tmpstr + 10);
753                if(mainbouquetnode != NULL && mainbouquetnode->bouquet != NULL)
754                {
755                        struct bouquet* bnode = mainbouquetnode->bouquet;
756
757                        while(bnode != NULL)
758                        {
759                                if(bnode->channel == chnode)
760                                {
761                                        tmpnr = oitoa(mainbouquetnode->bouquet->nr + count);
762                                        return tmpnr;
763                                }
764                                count++;
765                                bnode = bnode->next;
766                        }
767                }
768                return tmpnr;
769        }
770        else
771                return tmpnr;
772}
773
774char* getakttuner(struct skin* node)
775{
776        char* tmpstr = NULL;
777
778        if(status.aktservice->fedev != NULL)
779        {
780                tmpstr = oitoa(status.aktservice->fedev->devnr);
781                return tmpstr;
782        }
783
784        return NULL;
785}
786
787char* getchannellistname(struct skin* node)
788{
789        char* tmpstr = NULL, *tmpstr1 = NULL;
790
791        if(status.servicetype == 0)
792                tmpstr = getconfig("channellist", NULL);
793        else
794                tmpstr = getconfig("rchannellist", NULL);
795
796        if(tmpstr != NULL)
797        {
798                if(ostrncmp("(BOUQUET)-", tmpstr, 10) == 0 && strlen(tmpstr) > 10)
799                        tmpstr1 = ostrcat(tmpstr1, tmpstr + 10, 1, 0);
800
801                else if(ostrncmp("(A-Z)-", tmpstr, 6) == 0 && strlen(tmpstr) > 6)
802                        tmpstr1 = ostrcat(tmpstr1, tmpstr + 6, 1, 0);
803
804                else if(ostrncmp("(SAT)-", tmpstr, 6) == 0 && strlen(tmpstr) > 6)
805                        tmpstr1 = ostrcat(tmpstr1, tmpstr + 6, 1, 0);
806
807                else if(ostrncmp("(PROVIDER)-", tmpstr, 11) == 0 && strlen(tmpstr) > 6)
808                        tmpstr1 = ostrcat(tmpstr1, tmpstr + 11, 1, 0);
809        }
810
811        return tmpstr1;
812}
813
814char* getpowerofftime(struct skin* node, char* format)
815{
816        char* buf = NULL, *buf1 = NULL;
817        int resttime = 0;
818
819        if(format == NULL) return NULL;
820
821        if(status.sd_timer != NULL && status.sd_timer->active)
822        {
823                buf = malloc(MINMALLOC);
824                if(buf == NULL)
825                {
826                        err("no mem");
827                        return NULL;
828                }
829
830                resttime = (status.sd_timer->shutdown_time - time(NULL)) / 60;
831                if(resttime < 0) resttime = 0;
832                snprintf(buf, MINMALLOC, format, resttime);
833                buf1 = ostrcat(buf, NULL, 1, 0);
834        }
835
836        return buf1;
837}
838
839char* gettvpic(struct skin* node, char* pos)
840{
841        struct splitstr* ret = NULL;
842        char* tmpstr = NULL;
843        int count = 0, left = 0, top = 0, width = 0;
844
845        if(pos != NULL)
846        {
847                tmpstr = ostrcat(pos, NULL, 0, 0);
848                ret = strsplit(tmpstr, ":", &count);
849                if(count == 3)
850                {
851                        if((&ret[0])->part != NULL)
852                                left = atoi((&ret[0])->part);
853                        if((&ret[1])->part != NULL)
854                                top = atoi((&ret[1])->part);
855                        if((&ret[2])->part != NULL)
856                                width = atoi((&ret[2])->part);
857                       
858                        setvmpegrect(status.aktservice->videodev, left, top, width, 0);
859                }
860                free(tmpstr); tmpstr = NULL;
861        }
862
863        free(ret); ret = NULL;
864        return NULL;
865}
866
867char* getrecfreesize(struct skin* node)
868{
869        int ret = 0;
870
871        if(status.showrecfreesize > 0)
872        {
873                unsigned long long full = getfullspace(getconfig("rec_path", NULL)) / (1024 * 1024);
874                unsigned long long free = getfreespace(getconfig("rec_path", NULL)) / (1024 * 1024);
875
876                if(full > 0 && full >= free) ret = ((full - free) * 100) / full;
877
878                if(ret < 0) ret = 0;
879                if(ret > 100) ret = 100;
880        }
881
882        return oitoa(ret);
883}
884
885char* getrecfreesizetext(struct skin* node)
886{
887        int ret = 0;
888        char* tmpstr = NULL;
889
890        if(status.showrecfreesize > 0)
891        {
892                unsigned long long full = getfullspace(getconfig("rec_path", NULL)) / (1024 * 1024);
893                unsigned long long free = getfreespace(getconfig("rec_path", NULL)) / (1024 * 1024);
894
895                if(full > 0 && full >= free) ret = ((full - free) * 100) / full;
896
897                if(ret < 0) ret = 0;
898                if(ret > 100) ret = 100;
899               
900                if(status.showrecfreesize == 1)
901                        tmpstr = ostrcat(oitoa(ret), " %", 1, 0);
902                else
903                        tmpstr = ostrcat(ollutoa(free), " MB", 1, 0);
904        }
905
906        return tmpstr;
907}
908
909char* gethbbtv(struct skin* node, char* path)
910{
911        char* tmpstr = NULL;
912
913        if(status.aktservice->channel != NULL)
914        {
915    if(status.aktservice->channel->hbbtvurl != NULL)
916      tmpstr = ostrcat("hbbtv_on.png", "", 0, 0);
917    else
918      tmpstr = ostrcat("hbbtv_off.png", "", 0, 0);
919
920                if(path != NULL)
921                        tmpstr = ostrcat("/", tmpstr, 0, 1);
922                tmpstr = ostrcat(path, tmpstr, 0, 1);
923        }
924       
925        return tmpstr;
926}
927
928char* getimgname(struct skin* node)
929{
930        char* tmpstr = NULL;
931
932        tmpstr = readfiletomem(getconfig("imagenamefile", NULL), 1);
933
934        return tmpstr;
935}
936
937char* getoscamcaid(struct skin* node)
938{
939        char* buf = NULL, *tmpstr = NULL;
940
941        buf = readfiletomem("/tmp/ecm.info", 1);
942        tmpstr = ostrstr(buf, "caid:");
943        if(tmpstr != NULL)
944        {
945                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
946                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
947        }
948        free(buf); buf = NULL;
949
950        return tmpstr;
951}
952
953char* getoscampid(struct skin* node)
954{
955        char* buf = NULL, *tmpstr = NULL;
956
957        buf = readfiletomem("/tmp/ecm.info", 1);
958        tmpstr = ostrstr(buf, "pid:");
959        if(tmpstr != NULL)
960        {
961                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
962                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
963        }
964        free(buf); buf = NULL;
965
966        return tmpstr;
967}
968
969char* getoscamprov(struct skin* node)
970{
971        char* buf = NULL, *tmpstr = NULL;
972
973        buf = readfiletomem("/tmp/ecm.info", 1);
974        tmpstr = ostrstr(buf, "prov:");
975        if(tmpstr != NULL)
976        {
977                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
978                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
979        }
980        free(buf); buf = NULL;
981
982        return tmpstr;
983}
984
985char* getoscamreader(struct skin* node)
986{
987        char* buf = NULL, *tmpstr = NULL;
988
989        buf = readfiletomem("/tmp/ecm.info", 1);
990        tmpstr = ostrstr(buf, "reader:");
991        if(tmpstr != NULL)
992        {
993                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
994                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
995        }
996        free(buf); buf = NULL;
997
998        return tmpstr;
999}
1000
1001char* getoscamfrom(struct skin* node)
1002{
1003        char* buf = NULL, *tmpstr = NULL;
1004
1005        buf = readfiletomem("/tmp/ecm.info", 1);
1006        tmpstr = ostrstr(buf, "from:");
1007        if(tmpstr != NULL)
1008        {
1009                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1010                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1011        }
1012        free(buf); buf = NULL;
1013
1014        return tmpstr;
1015}
1016
1017char* getoscamprotocol(struct skin* node)
1018{
1019        char* buf = NULL, *tmpstr = NULL;
1020
1021        buf = readfiletomem("/tmp/ecm.info", 1);
1022        tmpstr = ostrstr(buf, "protocol:");
1023        if(tmpstr != NULL)
1024        {
1025                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1026                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1027        }
1028        free(buf); buf = NULL;
1029
1030        return tmpstr;
1031}
1032
1033char* getoscamhops(struct skin* node)
1034{
1035        char* buf = NULL, *tmpstr = NULL;
1036
1037        buf = readfiletomem("/tmp/ecm.info", 1);
1038        tmpstr = ostrstr(buf, "hops:");
1039        if(tmpstr != NULL)
1040        {
1041                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1042                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1043        }
1044        free(buf); buf = NULL;
1045
1046        return tmpstr;
1047}
1048
1049char* getoscamecmtime(struct skin* node)
1050{
1051        char* buf = NULL, *tmpstr = NULL;
1052
1053        buf = readfiletomem("/tmp/ecm.info", 1);
1054        tmpstr = ostrstr(buf, "ecm time:");
1055        if(tmpstr != NULL)
1056        {
1057                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1058                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1059        }
1060        free(buf); buf = NULL;
1061
1062        return tmpstr;
1063}
1064
1065char* getoscamcw0(struct skin* node)
1066{
1067        char* buf = NULL, *tmpstr = NULL;
1068
1069        buf = readfiletomem("/tmp/ecm.info", 1);
1070        tmpstr = ostrstr(buf, "cw0:");
1071        if(tmpstr != NULL)
1072        {
1073                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1074                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1075        }
1076        free(buf); buf = NULL;
1077
1078        return tmpstr;
1079}
1080
1081char* getoscamcw1(struct skin* node)
1082{
1083        char* buf = NULL, *tmpstr = NULL;
1084
1085        buf = readfiletomem("/tmp/ecm.info", 1);
1086        tmpstr = ostrstr(buf, "cw1:");
1087        if(tmpstr != NULL)
1088        {
1089                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1090                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1091        }
1092        free(buf); buf = NULL;
1093
1094        return tmpstr;
1095}
1096
1097char* getoscamsystem(struct skin* node)
1098{
1099        char* buf = NULL, *tmpstr = NULL;
1100
1101        buf = readfiletomem("/tmp/ecm.info", 1);
1102        tmpstr = ostrstr(buf, "system:");
1103        if(tmpstr != NULL)
1104        {
1105                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1106                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1107        }
1108        free(buf); buf = NULL;
1109
1110        return tmpstr;
1111}
1112
1113char* getoscamsource(struct skin* node)
1114{
1115        char* buf = NULL, *tmpstr = NULL;
1116
1117        buf = readfiletomem("/tmp/ecm.info", 1);
1118        tmpstr = ostrstr(buf, "source:");
1119        if(tmpstr != NULL)
1120        {
1121                tmpstr = stringreplacecharonce(tmpstr, '\n', '\0');
1122                tmpstr = ostrcat(tmpstr, NULL, 0, 0);
1123        }
1124        free(buf); buf = NULL;
1125
1126        return tmpstr;
1127}
1128
1129char* getemu(struct skin* node)
1130{
1131        char* tmpstr = NULL;
1132        char* tmpstr1 = NULL;
1133        tmpstr = string_newline(command("emu.sh infoname"));
1134
1135        if(ostrstr(tmpstr, "not found") != NULL)
1136        {
1137                free(tmpstr);
1138                tmpstr = NULL;
1139        }
1140        else
1141        {
1142                        tmpstr1 = ostrcat(tmpstr, NULL, 0, 0);
1143                        free(tmpstr),tmpstr = NULL;                     
1144                        tmpstr = ostrcat("emu: ", tmpstr1, 0, 0);                       
1145                        free(tmpstr1),tmpstr1 = NULL;
1146        }
1147        return tmpstr;
1148}
1149
1150char* getbufferstatus(struct skin* node)
1151{
1152        int ret = 0, size = 0, status = 0;
1153       
1154        size = playergetbuffersize();
1155        if(size > 0)
1156                        status = playergetbufferstatus();
1157
1158        if(size > 0 && size >= status) ret = 100 - (((size - status) * 100) / size);
1159
1160        if(ret < 0) ret = 0;
1161        if(ret > 100) ret = 100;
1162
1163        return oitoa(ret);
1164}
1165
1166char* getwlanlinkquality(struct skin* node)
1167{
1168        int quality = 0;
1169
1170        quality = wlanlinkquality();
1171
1172        if(quality < 0) quality = 0;
1173        if(quality > 100) quality = 100;
1174
1175        return oitoa(quality);
1176}
1177
1178char* getwlanlinkqualitytext(struct skin* node)
1179{
1180        int quality = 0;
1181        char* tmpstr = NULL;
1182
1183        quality = wlanlinkquality();
1184
1185        if(quality < 0) quality = 0;
1186        if(quality > 100) quality = 100;
1187
1188        tmpstr = ostrcat(oitoa(quality), " %", 1, 0);
1189
1190        return tmpstr;
1191}
1192
1193#endif
Note: See TracBrowser for help on using the repository browser.