1 | #ifndef SERVICEINFO_H |
---|
2 | #define SERVICEINFO_H |
---|
3 | |
---|
4 | void clearserviceinfo(struct skin* l1, struct skin* l2, struct skin* l3, struct skin* l4, struct skin* l5, struct skin* l6, struct skin* l7, struct skin* l8, struct skin* l9, struct skin* l10, struct skin* l11, struct skin* l12, struct skin* l13, struct skin* l14, struct skin* l15, struct skin* l16, struct skin* l17, struct skin* l18) |
---|
5 | { |
---|
6 | changetext(l1, NULL); |
---|
7 | changetext(l2, NULL); |
---|
8 | changetext(l3, NULL); |
---|
9 | changetext(l4, NULL); |
---|
10 | changetext(l5, NULL); |
---|
11 | changetext(l6, NULL); |
---|
12 | changetext(l7, NULL); |
---|
13 | changetext(l8, NULL); |
---|
14 | changetext(l9, NULL); |
---|
15 | changetext(l10, NULL); |
---|
16 | changetext(l11, NULL); |
---|
17 | changetext(l12, NULL); |
---|
18 | changetext(l13, NULL); |
---|
19 | changetext(l14, NULL); |
---|
20 | changetext(l15, NULL); |
---|
21 | changetext(l16, NULL); |
---|
22 | changetext(l17, NULL); |
---|
23 | changetext(l18, NULL); |
---|
24 | } |
---|
25 | |
---|
26 | void fillservice(struct skin* l1, struct skin* l2, struct skin* l3, struct skin* l4, struct skin* l5, struct skin* l6) |
---|
27 | { |
---|
28 | char* tmpstr = NULL; |
---|
29 | unsigned long tmpnr = 0; |
---|
30 | |
---|
31 | if(status.aktservice != NULL) |
---|
32 | { |
---|
33 | if(status.aktservice->channel != NULL) |
---|
34 | { |
---|
35 | changetext(l1, status.aktservice->channel->name); |
---|
36 | if(status.aktservice->channel->provider != NULL) |
---|
37 | changetext(l2, status.aktservice->channel->provider->name); |
---|
38 | } |
---|
39 | } |
---|
40 | tmpstr = getaspect(); |
---|
41 | changetext(l3, _(tmpstr)); |
---|
42 | free(tmpstr); tmpstr = NULL; |
---|
43 | tmpstr = getvideomode(); |
---|
44 | changetext(l4, _(tmpstr)); |
---|
45 | free(tmpstr); tmpstr = NULL; |
---|
46 | |
---|
47 | tmpstr = getdevcontent("vmpegxresdev"); |
---|
48 | if(tmpstr != NULL) |
---|
49 | { |
---|
50 | tmpnr = strtol(tmpstr, 0, 16); |
---|
51 | free(tmpstr); tmpstr = NULL; |
---|
52 | tmpstr = olutoa(tmpnr); |
---|
53 | changetext(l5, tmpstr); |
---|
54 | } |
---|
55 | free(tmpstr); tmpstr = NULL; |
---|
56 | |
---|
57 | tmpstr = getdevcontent("vmpegyresdev"); |
---|
58 | if(tmpstr != NULL) |
---|
59 | { |
---|
60 | tmpnr = strtol(tmpstr, 0, 16); |
---|
61 | free(tmpstr); tmpstr = NULL; |
---|
62 | tmpstr = olutoa(tmpnr); |
---|
63 | changetext(l6, tmpstr); |
---|
64 | } |
---|
65 | free(tmpstr); tmpstr = NULL; |
---|
66 | } |
---|
67 | |
---|
68 | void hiddeservice(struct skin* name, struct skin* provider, struct skin* aspectratio, struct skin* resolution, struct skin* xres, struct skin* yres, int hidden) |
---|
69 | { |
---|
70 | name->hidden = hidden; |
---|
71 | provider->hidden = hidden; |
---|
72 | aspectratio->hidden = hidden; |
---|
73 | resolution->hidden = hidden; |
---|
74 | xres->hidden = hidden; |
---|
75 | yres->hidden = hidden; |
---|
76 | } |
---|
77 | |
---|
78 | void fillpids(struct skin* l1, struct skin* l2, struct skin* l3, struct skin* l4, struct skin* l5, struct skin* l6, struct skin* l7, struct skin* l8, struct skin* l9) |
---|
79 | { |
---|
80 | char* tmpnr = NULL; |
---|
81 | |
---|
82 | if(status.aktservice != NULL) |
---|
83 | { |
---|
84 | if(status.aktservice->channel != NULL) |
---|
85 | { |
---|
86 | tmpnr = oitoa(status.aktservice->channel->videopid); |
---|
87 | changetext(l1, tmpnr); |
---|
88 | free(tmpnr); tmpnr = NULL; |
---|
89 | tmpnr = oitoa(status.aktservice->channel->audiopid); |
---|
90 | changetext(l2, tmpnr); |
---|
91 | free(tmpnr); tmpnr = NULL; |
---|
92 | tmpnr = oitoa(status.aktservice->channel->pcrpid); |
---|
93 | changetext(l3, tmpnr); |
---|
94 | free(tmpnr); tmpnr = NULL; |
---|
95 | tmpnr = oitoa(status.aktservice->channel->pmtpid); |
---|
96 | changetext(l4, tmpnr); |
---|
97 | free(tmpnr); tmpnr = NULL; |
---|
98 | tmpnr = oitoa(status.aktservice->channel->txtpid); |
---|
99 | changetext(l5, tmpnr); |
---|
100 | free(tmpnr); tmpnr = NULL; |
---|
101 | |
---|
102 | tmpnr = oitoa(status.aktservice->channel->transponderid & 0xffff); |
---|
103 | changetext(l6, tmpnr); |
---|
104 | free(tmpnr); tmpnr = NULL; |
---|
105 | tmpnr = oitoa((status.aktservice->channel->transponderid >> 16) & 0xffff); |
---|
106 | changetext(l7, tmpnr); |
---|
107 | free(tmpnr); tmpnr = NULL; |
---|
108 | tmpnr = oitoa(status.aktservice->channel->serviceid); |
---|
109 | changetext(l8, tmpnr); |
---|
110 | free(tmpnr); tmpnr = NULL; |
---|
111 | tmpnr = ollutoa(status.aktservice->channel->transponderid); |
---|
112 | changetext(l9, tmpnr); |
---|
113 | free(tmpnr); tmpnr = NULL; |
---|
114 | } |
---|
115 | } |
---|
116 | } |
---|
117 | |
---|
118 | |
---|
119 | void hiddepids(struct skin* videopid, struct skin* audiopid, struct skin* pcrpid, struct skin* pmtpid, struct skin* txtpid, struct skin* tsid, struct skin* onid, struct skin* sid, struct skin* id, int hidden) |
---|
120 | { |
---|
121 | videopid->hidden = hidden; |
---|
122 | audiopid->hidden = hidden; |
---|
123 | pcrpid->hidden = hidden; |
---|
124 | pmtpid->hidden = hidden; |
---|
125 | txtpid->hidden = hidden; |
---|
126 | tsid->hidden = hidden; |
---|
127 | onid->hidden = hidden; |
---|
128 | sid->hidden = hidden; |
---|
129 | id->hidden = hidden; |
---|
130 | } |
---|
131 | |
---|
132 | int filltuner(struct skin* l1, struct skin* l2, struct skin* l3, struct skin* l4, struct skin* l5, struct skin* l6, struct skin* l7, struct skin* l8, struct skin* l9, struct skin* l10, struct skin* l11, struct skin* l12, struct skin* l13, struct skin* l14, struct skin* l15, struct skin* l16, struct skin* l17, struct skin* l18) |
---|
133 | { |
---|
134 | char* tmpnr = NULL; |
---|
135 | char* tmpstr = NULL; |
---|
136 | |
---|
137 | if(status.aktservice != NULL) |
---|
138 | { |
---|
139 | if(status.aktservice->fedev != NULL && status.aktservice->transponder != NULL) |
---|
140 | { |
---|
141 | tmpnr = oitoa(status.aktservice->fedev->adapter); |
---|
142 | tmpstr = ostrcat(tmpnr, "/", 1, 0); |
---|
143 | tmpnr = oitoa(status.aktservice->fedev->devnr); |
---|
144 | tmpstr = ostrcat(tmpstr, tmpnr, 1, 1); |
---|
145 | changetext(l1, tmpstr); |
---|
146 | free(tmpstr); tmpstr = NULL; |
---|
147 | |
---|
148 | tmpstr = fegettypestr(status.aktservice->fedev); |
---|
149 | changetext(l2, tmpstr); |
---|
150 | free(tmpstr); tmpstr = NULL; |
---|
151 | |
---|
152 | if(status.aktservice->transponder->fetype == FE_QPSK) |
---|
153 | { |
---|
154 | tmpstr = transpondergetsystemstr(status.aktservice->transponder, 0); |
---|
155 | changetext(l3, tmpstr); |
---|
156 | free(tmpstr); tmpstr = NULL; |
---|
157 | } |
---|
158 | |
---|
159 | tmpstr = transpondergetmodulationstr(status.aktservice->transponder, -1, 0); |
---|
160 | changetext(l4, tmpstr); |
---|
161 | free(tmpstr); tmpstr = NULL; |
---|
162 | |
---|
163 | tmpnr = oitoa(status.aktservice->transponder->orbitalpos); |
---|
164 | changetext(l5, tmpnr); |
---|
165 | free(tmpnr); tmpnr = NULL; |
---|
166 | |
---|
167 | tmpnr = oitoa(status.aktservice->transponder->frequency); |
---|
168 | changetext(l6, tmpnr); |
---|
169 | free(tmpnr); tmpnr = NULL; |
---|
170 | |
---|
171 | if(status.aktservice->transponder->fetype == FE_QPSK || status.aktservice->transponder->fetype == FE_QAM) |
---|
172 | { |
---|
173 | tmpnr = oitoa(status.aktservice->transponder->symbolrate); |
---|
174 | changetext(l7, tmpnr); |
---|
175 | free(tmpnr); tmpnr = NULL; |
---|
176 | } |
---|
177 | |
---|
178 | if(status.aktservice->transponder->fetype == FE_QPSK) |
---|
179 | { |
---|
180 | tmpstr = transpondergetpolarizationstr(status.aktservice->transponder, 0); |
---|
181 | changetext(l8, tmpstr); |
---|
182 | free(tmpstr); tmpstr = NULL; |
---|
183 | } |
---|
184 | |
---|
185 | if(status.aktservice->transponder->fetype == FE_QPSK || status.aktservice->transponder->fetype == FE_QAM) |
---|
186 | { |
---|
187 | tmpstr = transpondergetfecstr(status.aktservice->transponder, -1, 0); |
---|
188 | changetext(l9, tmpstr); |
---|
189 | free(tmpstr); tmpstr = NULL; |
---|
190 | } |
---|
191 | |
---|
192 | if(status.aktservice->transponder->fetype == FE_QPSK && status.aktservice->transponder->system == 1) |
---|
193 | { |
---|
194 | tmpstr = transpondergetinversionstr(status.aktservice->transponder, 0); |
---|
195 | changetext(l10, tmpstr); |
---|
196 | free(tmpstr); tmpstr = NULL; |
---|
197 | |
---|
198 | tmpstr = transpondergetrolloffstr(status.aktservice->transponder, 0); |
---|
199 | changetext(l11, tmpstr); |
---|
200 | free(tmpstr); tmpstr = NULL; |
---|
201 | |
---|
202 | tmpstr = transpondergetpilotstr(status.aktservice->transponder, 0); |
---|
203 | changetext(l12, tmpstr); |
---|
204 | free(tmpstr); tmpstr = NULL; |
---|
205 | } |
---|
206 | |
---|
207 | if(status.aktservice->transponder->fetype == FE_OFDM) |
---|
208 | { |
---|
209 | tmpstr = transpondergetfecstr(status.aktservice->transponder, -1, 0); |
---|
210 | changetext(l13, tmpstr); |
---|
211 | free(tmpstr); tmpstr = NULL; |
---|
212 | |
---|
213 | tmpstr = transpondergetfecstr(status.aktservice->transponder, -1, 3); |
---|
214 | changetext(l14, tmpstr); |
---|
215 | free(tmpstr); tmpstr = NULL; |
---|
216 | |
---|
217 | tmpstr = transpondergetbandwidthstr(status.aktservice->transponder, 0); |
---|
218 | changetext(l15, tmpstr); |
---|
219 | free(tmpstr); tmpstr = NULL; |
---|
220 | |
---|
221 | tmpstr = transpondergettransmissionstr(status.aktservice->transponder, 0); |
---|
222 | changetext(l16, tmpstr); |
---|
223 | free(tmpstr); tmpstr = NULL; |
---|
224 | |
---|
225 | tmpstr = transpondergetguardintervalstr(status.aktservice->transponder, 0); |
---|
226 | changetext(l17, tmpstr); |
---|
227 | free(tmpstr); tmpstr = NULL; |
---|
228 | |
---|
229 | tmpstr = transpondergethierarchystr(status.aktservice->transponder, 0); |
---|
230 | changetext(l18, tmpstr); |
---|
231 | free(tmpstr); tmpstr = NULL; |
---|
232 | } |
---|
233 | } |
---|
234 | } |
---|
235 | |
---|
236 | return 0; |
---|
237 | } |
---|
238 | |
---|
239 | void hiddetuner(struct skin* tuner, struct skin* type, struct skin* system, struct skin* modulation, struct skin* orbitalpos, struct skin* frequency, struct skin* symbolrate, struct skin* polarization, struct skin* inversion, struct skin* fec, struct skin* rolloff, struct skin* pilot, struct skin* hp, struct skin* lp, struct skin* bandwidth, struct skin* transmission, struct skin* guardinterval, struct skin* hierarchy, int hidden) |
---|
240 | { |
---|
241 | tuner->hidden = hidden; |
---|
242 | type->hidden = hidden; |
---|
243 | system->hidden = hidden; |
---|
244 | modulation->hidden = hidden; |
---|
245 | orbitalpos->hidden = hidden; |
---|
246 | frequency->hidden = hidden; |
---|
247 | symbolrate->hidden = hidden; |
---|
248 | polarization->hidden = hidden; |
---|
249 | fec->hidden = hidden; |
---|
250 | inversion->hidden = hidden; |
---|
251 | rolloff->hidden = hidden; |
---|
252 | pilot->hidden = hidden; |
---|
253 | hp->hidden = hidden; |
---|
254 | lp->hidden = hidden; |
---|
255 | bandwidth->hidden = hidden; |
---|
256 | transmission->hidden = hidden; |
---|
257 | guardinterval->hidden = hidden; |
---|
258 | hierarchy->hidden = hidden; |
---|
259 | |
---|
260 | if(status.aktservice != NULL && status.aktservice->transponder != NULL) |
---|
261 | { |
---|
262 | if(status.aktservice->transponder->fetype != FE_QPSK) system->hidden = YES; |
---|
263 | if(status.aktservice->transponder->fetype != FE_QPSK && status.aktservice->transponder->fetype != FE_QAM) symbolrate->hidden = YES; |
---|
264 | if(status.aktservice->transponder->fetype != FE_QPSK) polarization->hidden = YES; |
---|
265 | if(status.aktservice->transponder->fetype != FE_QPSK && status.aktservice->transponder->fetype != FE_QAM) fec->hidden = YES; |
---|
266 | if(status.aktservice->transponder->fetype != FE_QPSK || (status.aktservice->transponder->fetype == FE_QPSK && status.aktservice->transponder->system == 0)) |
---|
267 | { |
---|
268 | inversion->hidden = YES; |
---|
269 | rolloff->hidden = YES; |
---|
270 | pilot->hidden = YES; |
---|
271 | } |
---|
272 | if(status.aktservice->transponder->fetype != FE_OFDM) |
---|
273 | { |
---|
274 | hp->hidden = YES; |
---|
275 | lp->hidden = YES; |
---|
276 | bandwidth->hidden = YES; |
---|
277 | transmission->hidden = YES; |
---|
278 | guardinterval->hidden = YES; |
---|
279 | hierarchy->hidden = YES; |
---|
280 | } |
---|
281 | } |
---|
282 | } |
---|
283 | |
---|
284 | int screenserviceinfo(void) |
---|
285 | { |
---|
286 | int rcret = 0; |
---|
287 | struct skin* serviceinfo = getscreen("serviceinfo"); |
---|
288 | struct skin* name = getscreennode(serviceinfo, "name"); |
---|
289 | struct skin* provider = getscreennode(serviceinfo, "provider"); |
---|
290 | struct skin* aspectratio = getscreennode(serviceinfo, "aspectratio"); |
---|
291 | struct skin* resolution = getscreennode(serviceinfo, "resolution"); |
---|
292 | struct skin* xres = getscreennode(serviceinfo, "xres"); |
---|
293 | struct skin* yres = getscreennode(serviceinfo, "yres"); |
---|
294 | |
---|
295 | struct skin* videopid = getscreennode(serviceinfo, "videopid"); |
---|
296 | struct skin* audiopid = getscreennode(serviceinfo, "audiopid"); |
---|
297 | struct skin* pcrpid = getscreennode(serviceinfo, "pcrpid"); |
---|
298 | struct skin* pmtpid = getscreennode(serviceinfo, "pmtpid"); |
---|
299 | struct skin* txtpid = getscreennode(serviceinfo, "txtpid"); |
---|
300 | struct skin* tsid = getscreennode(serviceinfo, "tsid"); |
---|
301 | struct skin* onid = getscreennode(serviceinfo, "onid"); |
---|
302 | struct skin* sid = getscreennode(serviceinfo, "sid"); |
---|
303 | struct skin* id = getscreennode(serviceinfo, "id"); |
---|
304 | |
---|
305 | struct skin* tuner = getscreennode(serviceinfo, "tuner"); |
---|
306 | struct skin* type = getscreennode(serviceinfo, "type"); |
---|
307 | struct skin* system = getscreennode(serviceinfo, "system"); |
---|
308 | struct skin* modulation = getscreennode(serviceinfo, "modulation"); |
---|
309 | struct skin* orbitalpos = getscreennode(serviceinfo, "orbitalpos"); |
---|
310 | struct skin* frequency = getscreennode(serviceinfo, "frequency"); |
---|
311 | struct skin* symbolrate = getscreennode(serviceinfo, "symbolrate"); |
---|
312 | struct skin* polarization = getscreennode(serviceinfo, "polarization"); |
---|
313 | struct skin* inversion = getscreennode(serviceinfo, "inversion"); |
---|
314 | struct skin* fec = getscreennode(serviceinfo, "fec"); |
---|
315 | struct skin* rolloff = getscreennode(serviceinfo, "rolloff"); |
---|
316 | struct skin* pilot = getscreennode(serviceinfo, "pilot"); |
---|
317 | struct skin* hp = getscreennode(serviceinfo, "hp"); |
---|
318 | struct skin* lp = getscreennode(serviceinfo, "lp"); |
---|
319 | struct skin* bandwidth = getscreennode(serviceinfo, "bandwidth"); |
---|
320 | struct skin* transmission = getscreennode(serviceinfo, "transmission"); |
---|
321 | struct skin* guardinterval = getscreennode(serviceinfo, "guardinterval"); |
---|
322 | struct skin* hierarchy = getscreennode(serviceinfo, "hierarchy"); |
---|
323 | |
---|
324 | struct skin* l1 = getscreennode(serviceinfo, "l1"); |
---|
325 | struct skin* l2 = getscreennode(serviceinfo, "l2"); |
---|
326 | struct skin* l3 = getscreennode(serviceinfo, "l3"); |
---|
327 | struct skin* l4 = getscreennode(serviceinfo, "l4"); |
---|
328 | struct skin* l5 = getscreennode(serviceinfo, "l5"); |
---|
329 | struct skin* l6 = getscreennode(serviceinfo, "l6"); |
---|
330 | struct skin* l7 = getscreennode(serviceinfo, "l7"); |
---|
331 | struct skin* l8 = getscreennode(serviceinfo, "l8"); |
---|
332 | struct skin* l9 = getscreennode(serviceinfo, "l9"); |
---|
333 | struct skin* l10 = getscreennode(serviceinfo, "l10"); |
---|
334 | struct skin* l11 = getscreennode(serviceinfo, "l11"); |
---|
335 | struct skin* l12 = getscreennode(serviceinfo, "l12"); |
---|
336 | struct skin* l13 = getscreennode(serviceinfo, "l13"); |
---|
337 | struct skin* l14 = getscreennode(serviceinfo, "l14"); |
---|
338 | struct skin* l15 = getscreennode(serviceinfo, "l15"); |
---|
339 | struct skin* l16 = getscreennode(serviceinfo, "l16"); |
---|
340 | struct skin* l17 = getscreennode(serviceinfo, "l17"); |
---|
341 | struct skin* l18 = getscreennode(serviceinfo, "l18"); |
---|
342 | |
---|
343 | clearserviceinfo(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18); |
---|
344 | fillservice(l1, l2, l3, l4, l5, l6); |
---|
345 | hiddeservice(name, provider, aspectratio, resolution, xres, yres, NO); |
---|
346 | hiddepids(videopid, audiopid, pcrpid, pmtpid, txtpid, tsid, onid, sid, id, YES); |
---|
347 | hiddetuner(tuner, type, system, modulation, orbitalpos, frequency, symbolrate, polarization, inversion, fec, rolloff, pilot, hp, lp, bandwidth, transmission, guardinterval, hierarchy, YES); |
---|
348 | |
---|
349 | drawscreen(serviceinfo, 0, 0); |
---|
350 | |
---|
351 | while(1) |
---|
352 | { |
---|
353 | rcret = waitrc(serviceinfo, 0, 0); |
---|
354 | |
---|
355 | if(rcret == getrcconfigint("rcexit", NULL)) break; |
---|
356 | if(rcret == getrcconfigint("rcred", NULL)) |
---|
357 | { |
---|
358 | clearserviceinfo(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18); |
---|
359 | fillservice(l1, l2, l3, l4, l5, l6); |
---|
360 | hiddeservice(name, provider, aspectratio, resolution, xres, yres, NO); |
---|
361 | hiddepids(videopid, audiopid, pcrpid, pmtpid, txtpid, tsid, onid, sid, id, YES); |
---|
362 | hiddetuner(tuner, type, system, modulation, orbitalpos, frequency, symbolrate, polarization, inversion, fec, rolloff, pilot, hp, lp, bandwidth, transmission, guardinterval, hierarchy, YES); |
---|
363 | drawscreen(serviceinfo, 0, 0); |
---|
364 | } |
---|
365 | if(rcret == getrcconfigint("rcgreen", NULL)) |
---|
366 | { |
---|
367 | clearserviceinfo(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18); |
---|
368 | fillpids(l1, l2, l3, l4, l5, l6, l7, l8, l9); |
---|
369 | hiddeservice(name, provider, aspectratio, resolution, xres, yres, YES); |
---|
370 | hiddepids(videopid, audiopid, pcrpid, pmtpid, txtpid, tsid, onid, sid, id, NO); |
---|
371 | hiddetuner(tuner, type, system, modulation, orbitalpos, frequency, symbolrate, polarization, inversion, fec, rolloff, pilot, hp, lp, bandwidth, transmission, guardinterval, hierarchy, YES); |
---|
372 | drawscreen(serviceinfo, 0, 0); |
---|
373 | } |
---|
374 | if(rcret == getrcconfigint("rcyellow", NULL)) |
---|
375 | { |
---|
376 | clearserviceinfo(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18); |
---|
377 | filltuner(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l17, l18); |
---|
378 | hiddeservice(name, provider, aspectratio, resolution, xres, yres, YES); |
---|
379 | hiddepids(videopid, audiopid, pcrpid, pmtpid, txtpid, tsid, onid, sid, id, YES); |
---|
380 | hiddetuner(tuner, type, system, modulation, orbitalpos, frequency, symbolrate, polarization, inversion, fec, rolloff, pilot, hp, lp, bandwidth, transmission, guardinterval, hierarchy, NO); |
---|
381 | drawscreen(serviceinfo, 0, 0); |
---|
382 | } |
---|
383 | } |
---|
384 | |
---|
385 | delownerrc(serviceinfo); |
---|
386 | clearscreen(serviceinfo); |
---|
387 | return 0; |
---|
388 | } |
---|
389 | |
---|
390 | #endif |
---|