From 05f347131fb660b5714b4313966b5bcb593c20f7 Mon Sep 17 00:00:00 2001 From: "M. Voerman" <rekordc@gmail.com> Date: Thu, 13 Nov 2014 23:42:10 +0100 Subject: Some file structure changes --- blue.css | 384 ---- channels.js | 3619 --------------------------------- images/background.png | Bin 0 -> 33702 bytes images/mute.png | Bin 0 -> 9001 bytes images/osd-bg.png | Bin 0 -> 993 bytes images/unmute.png | Bin 0 -> 7472 bytes index.html | 12 +- javascript/channels.js | 3619 +++++++++++++++++++++++++++++++++ javascript/main.js | 5048 +++++++++++++++++++++++++++++++++++++++++++++++ javascript/settings.js | 371 ++++ javascript/settings2.js | 115 ++ lang_dut.js | 120 -- lang_eng.js | 120 -- lang_ger.js | 119 -- languages/lang_dut.js | 120 ++ languages/lang_eng.js | 120 ++ languages/lang_ger.js | 119 ++ main.js | 5048 ----------------------------------------------- mute.png | Bin 9001 -> 0 bytes settings.js | 371 ---- settings2.js | 113 -- skins/black.css | 420 ++++ skins/blue.css | 384 ++++ style_1.css | 104 - unmute.png | Bin 7472 -> 0 bytes 25 files changed, 10322 insertions(+), 10004 deletions(-) delete mode 100644 blue.css delete mode 100644 channels.js create mode 100644 images/background.png create mode 100644 images/mute.png create mode 100644 images/osd-bg.png create mode 100644 images/unmute.png create mode 100644 javascript/channels.js create mode 100644 javascript/main.js create mode 100644 javascript/settings.js create mode 100644 javascript/settings2.js delete mode 100755 lang_dut.js delete mode 100755 lang_eng.js delete mode 100644 lang_ger.js create mode 100644 languages/lang_dut.js create mode 100644 languages/lang_eng.js create mode 100644 languages/lang_ger.js delete mode 100644 main.js delete mode 100644 mute.png delete mode 100644 settings.js delete mode 100644 settings2.js create mode 100644 skins/black.css create mode 100644 skins/blue.css delete mode 100644 style_1.css delete mode 100644 unmute.png diff --git a/blue.css b/blue.css deleted file mode 100644 index b810e92..0000000 --- a/blue.css +++ /dev/null @@ -1,384 +0,0 @@ - body{ - backgroundColor : #ccc; - } - - .bluekey { - color : blue; - } - .redkey { - color : red; - } - .yellowkey { - color :yellow; - } - .greenkey { - color :green; - } - .mainfont { - font-size:49px; - color:black; - } - - .notset { - color :grey; - } - - .select { - background :#fc5; - -webkit-border-radius:25px; - color:black; - font-size:49px; - } - - .mediaselect { - background :#fc5; - -webkit-border-radius:25px; - color:black; - font-size:38px; - } - - pre.mediamenu { - font-size:38px; - color:black; - } - - pre.deletefile { - text-align : center; - color :white; - font-size :36px; - background :red; - } - - pre.nonfree { - text-align : center; - color :white; - font-size :36px; - background :red; - } - - - p.epg_head { - color:white; - text-align: center; - } - - p.epg_avinfo { - color:black; - text-align: center; - } - - p.epg_title { - color:white; - text-align: center; - } - - p.epg_info { - color:yellow; - text-align: center; - } - - pre.color_switchtimer { - background : #660066; - } - - pre.color_default { - background : green; - } - - pre.color_error { - background : red; - } - - - - videoplane#videoplane { - position:absolute; - left:0px; - top:0px; - height:100%; - width:100%; - z-index:500; - } - - h1.mainmenu { - font-size:66px; - color:white; - text-align: center; - } - - pre.mainmenu { - font-size:49px; - color:black; - } - pre.mainhead { - font-size:66px; - color:white; - text-align: center; - } - - pre.media { - color:white; - font-size:49px; - } - - pre.epgtimerinfo { - color:white; - text-align: center; - } - - p.epgtimerinfo { - text-align: center; - } - - - p.epg { - font-size:36px; - color:black; - text-align: center; - } - - p.list { - font-size:34px; - color:black; - text-align: center; - } - - p.osdtimer { - font-size:34px; - color:black; - } - - - div#osdmain { - position : absolute; - z-index : 505; - width : 80%; - top : 60%; - bottom : 9%; - left : 10%; - -webkit-border-radius : 50px; - background : #3366ff; - } - - div#osdnr { - position : absolute; - z-index : 505; - width : 13%; - height : 30%; - left : 3%; - top : -15%; - -webkit-border-radius : 25px; - background : red; - color : black; - font-size:81px; - text-align: center; - } - - div#osdname { - z-index : 505; - position : absolute; - width : 69%; - height : 4%; - left : 3%; - top : 20%; - color : black; - font-size:51px; - } - - - div#osdtimer { - z-index : 505; - position : absolute; - width : 7%; - left : 5%; - top : 30%; - } - - div#osdtime { - z-index : 505; - position : absolute; - width : 42%; - right : 5%; - top : 7%; - color : white; - font-size:35px; - text-align: right; - } - - - div#osdepg { - z-index : 505; - position : absolute; - width : 63%; - left : 17%; - top : 30%; - color : white; - font-size:36px; - } - - div#osdca { - z-index : 505; - position : absolute; - width : 5%; - left : 75%; - top : 20%; - color : black; - font-size:60px; - } - - - div#channellist { - z-index : 400; - position : absolute; - width : 100%; - height : 48%; - left : 7%; - top : 4%; - background : #bbb; - } - - div#colorkeys { - z-index : 401; - position : absolute; - width : 100%; - left : 10%; - top : 84%; - font-size:36px; - } - - div#chanlistepg { - z-index : 402; - position : absolute; - width : 42%; - left : 7%; - top : 50%; - } - - div#osdvolume { - z-index : 501; - position : absolute; - width : 63%; - left : 10%; - top : 80%; - opacity : 0; - color : green; - font-size:66px; - } - - div#osdmedia { - width :80%; - position :absolute; - left :10%; - top :60%; - z-index :506; - opacity :0; - -webkit-border-radius:50px; - background : #3366ff; - } - - div#osdmediatime { - z-index : 506; - position : absolute; - width : 42%; - right : 15%; - top : 63%; - color : white; - font-size:35px; - text-align: right; - } - - - - div#schedule { - width :50%; - height :75%; - position :absolute; - left :25%; - top :10%; - opacity :0; - z-index :510; - -webkit-border-radius:50px; - background : #3366ff; - } - - div#osdmute { - width :7%; - position :absolute; - left :76%; - top :9%; - z-index :515; - opacity :0; - } - - div#osdlang { - width :7%; - position :absolute; - left :76%; - top :9%; - z-index :515; - opacity :0; - color :white; - font-size:30px; - } - - div#mainmenu { - width :80%; - position :absolute; - left :10%; - top :10%; - bottom :10%; - z-index :520; - opacity :0; - -webkit-border-radius:50px; - background : #3366ff; - } - - div#medialist { - width :80%; - position :absolute; - left :10%; - top :10%; - bottom :10%; - z-index :520; - opacity :0; - -webkit-border-radius:50px; - background : #3366ff; - } - - div#switchtimer { - width :45%; - position :absolute; - left :21%; - top :26%; - z-index :530; - opacity :0; - -webkit-border-radius:25px; - color :white; - font-size:36px; - background :green; - } - - div#osdepginfo { - width :80%; - position :absolute; - left :10%; - top :10%; - z-index :525; - opacity :0; - -webkit-border-radius:50px; - background : #3366ff; - font-size:39px; - } - - div#osdepginfonext { - width :80%; - position :absolute; - left :10%; - top :10%; - z-index :525; - opacity :0; - -webkit-border-radius:50px; - background : #3366ff; - font-size:39px; - } - diff --git a/channels.js b/channels.js deleted file mode 100644 index 38a3800..0000000 --- a/channels.js +++ /dev/null @@ -1,3619 +0,0 @@ -channelsnames[1]="NPO1 HD"; -channels[1]="S23.5E-3-3225-21029"; -channelsnames[2]="NPO2 HD"; -channels[2]="S23.5E-3-3202-6080"; -channelsnames[3]="NPO3 HD"; -channels[3]="S23.5E-3-3225-21040"; -channelsnames[4]="RTL4 HD"; -channels[4]="S23.5E-3-3208-7020"; -channelsnames[5]="RTL5 HD"; -channels[5]="S23.5E-3-3208-7023"; -channelsnames[6]="SBS6 HD"; -channels[6]="S23.5E-3-3202-6090"; -channelsnames[7]="RTL7 HD"; -channels[7]="S23.5E-3-3208-7027"; -channelsnames[8]="Veronica/DisneyXD HD"; -channels[8]="S23.5E-3-3225-21035"; -channelsnames[9]="NET5 HD"; -channels[9]="S23.5E-3-3225-21020"; -channelsnames[10]="BVN TV"; -channels[10]="S19.2E-1-1048-4320"; -channelsnames[11]="RTL8 HD"; -channels[11]="S23.5E-3-3208-7036"; -channelsnames[12]="Nickelodeon Nederland"; -channels[12]="S19.2E-1-1078-28679"; -channelsnames[13]="ComedyCentral"; -channels[13]="S23.5E-3-3211-20826"; -channelsnames[14]="NPO Politiek/NPO Best"; -channels[14]="S23.5E-3-3202-6010"; -channelsnames[15]="NPO Doc"; -channels[15]="S23.5E-3-3202-6015"; -channelsnames[16]="NPO Zapp Xtra/NPO Humor TV"; -channels[16]="S23.5E-3-3202-6025"; -channelsnames[17]="NostalgieNet"; -channels[17]="S23.5E-3-3222-20956"; -channelsnames[18]="Discovery HD"; -channels[18]="S23.5E-3-3208-7010"; -channelsnames[19]="History HD DUT"; -channels[19]="S23.5E-3-3205-5151"; -channelsnames[20]="Travel Channel HD WE"; -channels[20]="S23.5E-3-3221-5056"; -channelsnames[21]="NGC HD"; -channels[21]="S23.5E-3-3222-20965"; -channelsnames[22]="Viasat HD"; -channels[22]="S23.5E-3-3208-7040"; -channelsnames[23]="Animal Planet"; -channels[23]="S23.5E-3-3202-6040"; -channelsnames[24]="Planet"; -channels[24]="S19.2E-53-1097-2044"; -channelsnames[25]="Investigation Discovery"; -channels[25]="S23.5E-3-3202-6045"; -channelsnames[26]="Crime Invest."; -channels[26]="S23.5E-3-3208-7052"; -channelsnames[27]="Crime and Invest. CZ"; -channels[27]="S23.5E-3-3208-7053"; -channelsnames[28]="Discovery CZ"; -channels[28]="S23.5E-3-3211-20855"; -channelsnames[29]="Discovery HD CZ"; -channels[29]="S23.5E-3-3208-7011"; -channelsnames[30]="MOTORS TV"; -channels[30]="S19.2E-1-1110-9509"; -channelsnames[31]="Discovery Channel"; -channels[31]="S23.5E-3-3211-20833"; -channelsnames[32]="Nat Geo Wild HD DUT"; -channels[32]="S23.5E-3-3226-709"; -channelsnames[50]="DMAX"; -channels[50]="S19.2E-133-33-63"; -channelsnames[51]="Discovery"; -channels[51]="S28.2E-2-2009-6201"; -channelsnames[52]="Discovery"; -channels[52]="S28.2E-2-2009-6210"; -channelsnames[53]="Discovery+1"; -channels[53]="S28.2E-2-2009-6204"; -channelsnames[54]="Disc.History"; -channels[54]="S28.2E-2-2009-6207"; -channelsnames[55]="Disc.History+1"; -channels[55]="S28.2E-2-2315-52435"; -channelsnames[56]="TLC"; -channels[56]="S28.2E-2-2009-6233"; -channelsnames[57]="TLC+1"; -channels[57]="S28.2E-2-2315-52446"; -channelsnames[58]="Disc.Science"; -channels[58]="S28.2E-2-2009-6206"; -channelsnames[59]="Disc.Sci+1"; -channels[59]="S28.2E-2-2315-52410"; -channelsnames[60]="Disc.Turbo"; -channels[60]="S28.2E-2-2009-6209"; -channelsnames[61]="Discovery Shed"; -channels[61]="S28.2E-2-2315-52440"; -channelsnames[62]="Home & Health"; -channels[62]="S28.2E-2-2009-6208"; -channelsnames[63]="Home&Health+"; -channels[63]="S28.2E-2-2315-52450"; -channelsnames[64]="ID"; -channels[64]="S28.2E-2-2315-52400"; -channelsnames[65]="ID+1"; -channels[65]="S28.2E-2-2315-52426"; -channelsnames[66]="DMAX"; -channels[66]="S28.2E-2-2315-52415"; -channelsnames[67]="DMAX+1"; -channels[67]="S28.2E-2-2315-52420"; -channelsnames[68]="QUEST"; -channels[68]="S28.2E-2-2009-6211"; -channelsnames[69]="QUEST+1"; -channels[69]="S28.2E-2-2315-52430"; -channelsnames[70]="Animal Planet"; -channels[70]="S28.2E-2-2009-6202"; -channelsnames[71]="Animal Plnt+1"; -channels[71]="S28.2E-2-2315-52405"; -channelsnames[72]="Eden"; -channels[72]="S28.2E-2-2006-6502"; -channelsnames[73]="Eden+1"; -channels[73]="S28.2E-2-2015-7610"; -channelsnames[74]="YESTERDAY"; -channels[74]="S28.2E-2-2006-6505"; -channelsnames[75]="YESTERDAY+1"; -channels[75]="S28.2E-2-2015-7650"; -channelsnames[76]="Drama"; -channels[76]="S28.2E-2-2006-6522"; -channelsnames[77]="CI"; -channels[77]="S28.2E-2-2025-4802"; -channelsnames[78]="CI +1"; -channels[78]="S28.2E-2-2301-52169"; -channelsnames[79]="History"; -channels[79]="S28.2E-2-2025-4653"; -channelsnames[80]="History +1 hour"; -channels[80]="S28.2E-2-2025-5003"; -channelsnames[81]="H2"; -channels[81]="S28.2E-2-2304-55205"; -channelsnames[82]="Nat Geo"; -channels[82]="S28.2E-2-2025-4805"; -channelsnames[83]="Nat Geo+1hr"; -channels[83]="S28.2E-2-2025-4806"; -channelsnames[84]="Nat Geo Wild"; -channels[84]="S28.2E-2-2025-4807"; -channelsnames[85]="Real Time"; -channels[85]="S13.0E-64511-5700-4324"; -channelsnames[86]="Real Time +1"; -channels[86]="S13.0E-64511-800-1469"; -channelsnames[100]="Sky Premiere"; -channels[100]="S28.2E-2-2007-4404"; -channelsnames[101]="Sky Prem+1"; -channels[101]="S28.2E-2-2007-4405"; -channelsnames[102]="Sky Showcase"; -channels[102]="S28.2E-2-2030-4602"; -channelsnames[103]="Sky Comedy"; -channels[103]="S28.2E-2-2007-4303"; -channelsnames[104]="Sky Action"; -channels[104]="S28.2E-2-2007-4302"; -channelsnames[105]="Sky Family"; -channels[105]="S28.2E-2-2007-4403"; -channelsnames[106]="Sky Thriller"; -channels[106]="S28.2E-2-2007-4406"; -channelsnames[107]="Sky DramaRom"; -channels[107]="S28.2E-2-2007-5502"; -channelsnames[108]="Sky ScFi/Horror"; -channels[108]="S28.2E-2-2007-4304"; -channelsnames[109]="Sky Superhero"; -channels[109]="S28.2E-2-2007-5650"; -channelsnames[110]="Sky Select"; -channels[110]="S28.2E-2-2007-4306"; -channelsnames[111]="Sky Disney"; -channels[111]="S28.2E-2-2007-4308"; -channelsnames[112]="TCM"; -channels[112]="S28.2E-2-2055-6038"; -channelsnames[113]="TCM+1"; -channels[113]="S28.2E-2-2301-52175"; -channelsnames[114]="Movies 24"; -channels[114]="S28.2E-2-2303-52265"; -channelsnames[115]="Movies 24+"; -channels[115]="S28.2E-2-2303-52270"; -channelsnames[116]="HBO"; -channels[116]="S23.5E-3-3209-13104"; -channelsnames[117]="HBO 2"; -channels[117]="S23.5E-3-3209-13109"; -channelsnames[118]="Cinemax"; -channels[118]="S23.5E-3-3209-13113"; -channelsnames[119]="Filmbox"; -channels[119]="S23.5E-3-3210-5071"; -channelsnames[120]="iFILM English"; -channels[120]="S13.0E-318-9000-9007"; -channelsnames[130]="Film1 Premiere HD"; -channels[130]="S23.5E-3-3222-20955"; -channelsnames[131]="Film1 Comedy & Kids"; -channels[131]="S23.5E-3-3222-20910"; -channelsnames[132]="Film1 Sundance"; -channels[132]="S23.5E-3-3222-20915"; -channelsnames[133]="Film1 Action"; -channels[133]="S23.5E-3-3222-20920"; -channelsnames[134]="HBO HD"; -channels[134]="S23.5E-3-3225-21050"; -channelsnames[135]="HBO 2"; -channels[135]="S23.5E-3-3202-6067"; -channelsnames[136]="HBO 3"; -channels[136]="S23.5E-3-3202-6068"; -channelsnames[137]="Film+ CZ"; -channels[137]="S23.5E-3-3211-20863"; -channelsnames[138]="MGM"; -channels[138]="S23.5E-3-3210-5072"; -channelsnames[150]="RTL Crime"; -channels[150]="S19.2E-133-1-27"; -channelsnames[151]="RTLNITRO"; -channels[151]="S19.2E-1-1089-12061"; -channelsnames[152]="Universal"; -channels[152]="S28.2E-2-2303-52255"; -channelsnames[153]="Universal+1"; -channels[153]="S28.2E-2-2303-52220"; -channelsnames[154]="ComedyCentral"; -channels[154]="S28.2E-2-2079-51084"; -channelsnames[155]="ComedyCent+1"; -channels[155]="S28.2E-2-2079-51085"; -channelsnames[156]="ComedyXtra"; -channels[156]="S28.2E-2-2079-51086"; -channelsnames[157]="ComedyXtra+1"; -channels[157]="S28.2E-2-2079-51087"; -channelsnames[158]="GOLD"; -channels[158]="S28.2E-2-2006-6504"; -channelsnames[159]="GOLD +1"; -channels[159]="S28.2E-2-2015-7605"; -channelsnames[160]="Dave"; -channels[160]="S28.2E-2-2006-6506"; -channelsnames[161]="Dave ja vu"; -channels[161]="S28.2E-2-2015-7624"; -channelsnames[162]="Syfy"; -channels[162]="S28.2E-2-2303-52250"; -channelsnames[163]="Syfy +1"; -channels[163]="S28.2E-2-2303-52280"; -channelsnames[164]="alibi"; -channels[164]="S28.2E-2-2006-6521"; -channelsnames[165]="alibi +1"; -channels[165]="S28.2E-2-2015-7630"; -channelsnames[166]="FOX"; -channels[166]="S28.2E-2-2021-5515"; -channelsnames[167]="FOX+"; -channels[167]="S28.2E-2-2023-5402"; -channelsnames[168]="Watch"; -channels[168]="S28.2E-2-2006-6520"; -channelsnames[169]="Watch +1"; -channels[169]="S28.2E-2-2015-7615"; -channelsnames[180]="RTL lounge"; -channels[180]="S23.5E-3-3208-7042"; -channelsnames[181]="TLC"; -channels[181]="S23.5E-3-3222-20949"; -channelsnames[182]="13th Street"; -channels[182]="S23.5E-3-3222-20966"; -channelsnames[183]="SyFy"; -channels[183]="S23.5E-3-3208-7054"; -channelsnames[190]="FOX Channel"; -channels[190]="S23.5E-3-3202-6030"; -channelsnames[191]="FOXlife"; -channels[191]="S23.5E-3-3225-21055"; -channelsnames[201]="BBC One Lon"; -channels[201]="S28.2E-2-2045-6301"; -channelsnames[202]="BBC Two Eng"; -channels[202]="S28.2E-2-2045-6302"; -channelsnames[203]="BBC Three"; -channels[203]="S28.2E-2-2048-10351"; -channelsnames[204]="BBC Four"; -channels[204]="S28.2E-2-2045-6316"; -channelsnames[205]="BBC NEWS"; -channels[205]="S28.2E-2-2048-10358"; -channelsnames[206]="BBC Parliament"; -channels[206]="S28.2E-2-2046-10307"; -channelsnames[211]="ITV"; -channels[211]="S28.2E-2-2044-10060"; -channelsnames[212]="ITV +1"; -channels[212]="S28.2E-2-2054-10255"; -channelsnames[213]="ITV2"; -channels[213]="S28.2E-2-2044-10070"; -channelsnames[214]="ITV2+1"; -channels[214]="S28.2E-2-2053-10165"; -channelsnames[215]="ITV3"; -channels[215]="S28.2E-2-2054-10260"; -channelsnames[216]="ITV3+1"; -channels[216]="S28.2E-2-2054-10261"; -channelsnames[217]="ITV4"; -channels[217]="S28.2E-2-2044-10072"; -channelsnames[218]="ITV4+1"; -channels[218]="S28.2E-2-2049-10015"; -channelsnames[220]="Channel 4"; -channels[220]="S28.2E-2-2041-9211"; -channelsnames[221]="Channel 4 +1"; -channels[221]="S28.2E-2-2042-8311"; -channelsnames[222]="E4"; -channels[222]="S28.2E-2-2042-8305"; -channelsnames[223]="E4+1"; -channels[223]="S28.2E-2-2042-8300"; -channelsnames[224]="More4"; -channels[224]="S28.2E-2-2042-8340"; -channelsnames[225]="More4 +1"; -channels[225]="S28.2E-2-2041-9230"; -channelsnames[226]="4seven"; -channels[226]="S28.2E-2-2068-21250"; -channelsnames[227]="4Music"; -channels[227]="S28.2E-2-2040-12000"; -channelsnames[228]="Film4"; -channels[228]="S28.2E-2-2041-9220"; -channelsnames[229]="Film4 +1"; -channels[229]="S28.2E-2-2041-9225"; -channelsnames[230]="Channel 5"; -channels[230]="S28.2E-2-2057-7700"; -channelsnames[231]="Channel 5+1"; -channels[231]="S28.2E-2-2057-7720"; -channelsnames[232]="5 USA"; -channels[232]="S28.2E-2-2057-7710"; -channelsnames[233]="5 USA +1"; -channels[233]="S28.2E-2-2057-7711"; -channelsnames[234]="5*"; -channels[234]="S28.2E-2-2057-7715"; -channelsnames[235]="Channel 5+24"; -channels[235]="S28.2E-2-2057-7716"; -channelsnames[240]="CBS Action"; -channels[240]="S28.2E-2-2311-52007"; -channelsnames[241]="CBS Drama"; -channels[241]="S28.2E-2-2304-50903"; -channelsnames[242]="CBS Reality"; -channels[242]="S28.2E-2-2313-53275"; -channelsnames[243]="CBS Reality+1"; -channels[243]="S28.2E-2-2301-52102"; -channelsnames[244]="horror channel"; -channels[244]="S28.2E-2-2301-52105"; -channelsnames[245]="horror ch+1"; -channels[245]="S28.2E-2-2311-52002"; -channelsnames[246]="more>movies"; -channels[246]="S28.2E-2-2076-54110"; -channelsnames[247]="m>movies+1"; -channels[247]="S28.2E-2-2081-51120"; -channelsnames[248]="movies4men"; -channels[248]="S28.2E-2-2081-51116"; -channelsnames[249]="mov4men+1"; -channels[249]="S28.2E-2-2081-51118"; -channelsnames[250]="True Drama"; -channels[250]="S28.2E-2-2314-53380"; -channelsnames[251]="True Ent"; -channels[251]="S28.2E-2-2314-53375"; -channelsnames[252]="True Christmas"; -channels[252]="S28.2E-2-2314-53320"; -channelsnames[253]="True Movies 2"; -channels[253]="S28.2E-2-2314-53325"; -channelsnames[254]="RTE One"; -channels[254]="S28.2E-2-2043-9601"; -channelsnames[255]="RTE2"; -channels[255]="S28.2E-2-2043-9602"; -channelsnames[256]="Setanta Ireland"; -channels[256]="S28.2E-2-2081-51111"; -channelsnames[257]="Setanta Sports1"; -channels[257]="S28.2E-2-2081-51112"; -channelsnames[260]="Sky Arts 1"; -channels[260]="S28.2E-2-2030-4604"; -channelsnames[261]="Sky Arts 2"; -channels[261]="S28.2E-2-2023-4900"; -channelsnames[262]="Sky1"; -channels[262]="S28.2E-2-2030-4703"; -channelsnames[263]="Sky2"; -channels[263]="S28.2E-2-2026-4752"; -channelsnames[264]="Sky Atlantic"; -channels[264]="S28.2E-2-2030-4712"; -channelsnames[265]="Sky Living"; -channels[265]="S28.2E-2-2030-6028"; -channelsnames[266]="Sky Living+1"; -channels[266]="S28.2E-2-2030-6035"; -channelsnames[267]="Sky Livingit"; -channels[267]="S28.2E-2-2025-6030"; -channelsnames[268]="Sky Livingit+1"; -channels[268]="S28.2E-2-2031-6025"; -channelsnames[269]="Sony TV"; -channels[269]="S28.2E-2-2311-52005"; -channelsnames[270]="Sony TV +1"; -channels[270]="S28.2E-2-2604-54325"; -channelsnames[271]="Sony Movies"; -channels[271]="S28.2E-2-2081-51117"; -channelsnames[272]="Sony Movies+1"; -channels[272]="S28.2E-2-2081-51119"; -channelsnames[273]="E!"; -channels[273]="S28.2E-0-0-53200"; -channelsnames[274]="E!"; -channels[274]="S28.2E-2-2313-53200"; -channelsnames[275]="Home"; -channels[275]="S28.2E-2-2006-6501"; -channelsnames[276]="Home+1"; -channels[276]="S28.2E-2-2015-7600"; -channelsnames[277]="Good Food"; -channels[277]="S28.2E-2-2006-6508"; -channelsnames[278]="Good Food +1"; -channels[278]="S28.2E-2-2015-7626"; -channelsnames[279]="Food Network"; -channels[279]="S28.2E-2-2313-53260"; -channelsnames[280]="Food Netwrk+1"; -channels[280]="S28.2E-2-2313-53270"; -channelsnames[281]="wedding tv"; -channels[281]="S28.2E-2-2402-55510"; -channelsnames[282]="The Active Ch"; -channels[282]="S28.2E-2-2614-55330"; -channelsnames[283]="Fitness TV"; -channels[283]="S28.2E-2-2602-54165"; -channelsnames[284]="BET|BlackEntTv"; -channels[284]="S28.2E-2-2079-51081"; -channelsnames[285]="BET +1"; -channels[285]="S28.2E-2-2079-51082"; -channelsnames[286]="Information TV"; -channels[286]="S28.2E-2-2313-53230"; -channelsnames[287]="Showcase"; -channels[287]="S28.2E-2-2313-53280"; -channelsnames[288]="Showcase 2"; -channels[288]="S28.2E-2-2601-54051"; -channelsnames[289]="Horse & Country"; -channels[289]="S28.2E-2-2076-54140"; -channelsnames[300]="CBBC"; -channels[300]="S28.2E-2-2048-10352"; -channelsnames[301]="CBeebies"; -channels[301]="S28.2E-2-2045-6318"; -channelsnames[302]="CITV"; -channels[302]="S28.2E-2-2044-10071"; -channelsnames[303]="KiKA"; -channels[303]="S19.2E-1-1079-28008"; -channelsnames[304]="RiC"; -channels[304]="S19.2E-1-1117-13019"; -channelsnames[305]="Nickelodeon"; -channels[305]="S19.2E-1-1078-28680"; -channelsnames[306]="Tiny Pop"; -channels[306]="S28.2E-2-2314-53330"; -channelsnames[307]="Tiny Pop +1"; -channels[307]="S28.2E-2-2314-53345"; -channelsnames[308]="POP"; -channels[308]="S28.2E-2-2314-53340"; -channelsnames[309]="Kix"; -channels[309]="S28.2E-2-2314-53350"; -channelsnames[310]="PopGirl"; -channels[310]="S28.2E-2-2314-53360"; -channelsnames[311]="POP+1"; -channels[311]="S28.2E-2-2314-53370"; -channelsnames[312]="NICKELODEON AT"; -channels[312]="S19.2E-133-7-61"; -channelsnames[313]="Baby TV"; -channels[313]="S13.0E-318-11500-17309"; -channelsnames[314]="duck tv DUT"; -channels[314]="S23.5E-3-3210-5141"; -channelsnames[315]="Minimax"; -channels[315]="S23.5E-3-3219-13132"; -channelsnames[316]="Boomerang"; -channels[316]="S19.2E-1-1068-28527"; -channelsnames[317]="Nick Jr."; -channels[317]="S28.2E-2-2029-5563"; -channelsnames[318]="Nick Jr+1"; -channels[318]="S28.2E-2-2079-51090"; -channelsnames[319]="Nick Jr Peppa"; -channels[319]="S28.2E-2-2079-51089"; -channelsnames[320]="Nick Jr France"; -channels[320]="S19.2E-1-1078-28677"; -channelsnames[321]="Nick Jr."; -channels[321]="S13.0E-318-1400-30"; -channelsnames[322]="Nick Jr"; -channels[322]="S13.0E-64511-800-1424"; -channelsnames[323]="Nickelodeon"; -channels[323]="S28.2E-2-2029-5560"; -channelsnames[324]="Nickelodeon+1"; -channels[324]="S28.2E-2-2029-5561"; -channelsnames[325]="DISNEY JR"; -channels[325]="S30.0W-49-4-71"; -channelsnames[326]="Disney Junior"; -channels[326]="S28.2E-2-2011-9103"; -channelsnames[327]="Disney Junior+"; -channels[327]="S28.2E-2-2011-9106"; -channelsnames[328]="BabyTV"; -channels[328]="S28.2E-2-2029-5564"; -channelsnames[329]="Boomerang"; -channels[329]="S28.2E-2-2074-50205"; -channelsnames[330]="Boomerang +1"; -channels[330]="S28.2E-2-2074-50210"; -channelsnames[331]="Cartoon Netwrk"; -channels[331]="S28.2E-2-2074-50200"; -channelsnames[332]="Cartoonito"; -channels[332]="S28.2E-2-2021-5521"; -channelsnames[333]="CN+1"; -channels[333]="S28.2E-2-2074-50215"; -channelsnames[334]="Disney Chnl"; -channels[334]="S28.2E-2-2011-9102"; -channelsnames[335]="Disney Chnl+1"; -channels[335]="S28.2E-2-2011-9105"; -channelsnames[336]="Disney XD"; -channels[336]="S28.2E-2-2011-9101"; -channelsnames[337]="Disney XD+1"; -channels[337]="S28.2E-2-2011-9104"; -channelsnames[338]="Nicktoons"; -channels[338]="S28.2E-2-2029-5562"; -channelsnames[339]="NICK JR"; -channels[339]="S30.0W-49-7-75"; -channelsnames[340]="Boomerang"; -channels[340]="S23.5E-3-3202-6035"; -channelsnames[341]="Disney Channel"; -channels[341]="S23.5E-3-3202-6065"; -channelsnames[342]="Cartoon"; -channels[342]="S23.5E-3-3222-20940"; -channelsnames[343]="JimJam"; -channels[343]="S23.5E-3-3202-6003"; -channelsnames[344]="JimJam CZ"; -channels[344]="S23.5E-3-3202-6053"; -channelsnames[345]="Disney CZ"; -channels[345]="S23.5E-3-3211-20857"; -channelsnames[346]="KetOp12"; -channels[346]="S23.5E-3-3222-21112"; -channelsnames[347]="VTMKazoom/Kanaal Z"; -channels[347]="S23.5E-3-3222-21116"; -channelsnames[401]="Das Erste"; -channels[401]="S19.2E-1-1101-28106"; -channelsnames[402]="ZDF"; -channels[402]="S19.2E-1-1079-28006"; -channelsnames[403]="3sat"; -channels[403]="S19.2E-1-1079-28007"; -channelsnames[404]="WDR Düsseldorf"; -channels[404]="S19.2E-1-1201-28308"; -channelsnames[405]="NDR FS HH"; -channels[405]="S19.2E-1-1073-28225"; -channelsnames[406]="MDR Thüringen"; -channels[406]="S19.2E-1-1073-28230"; -channelsnames[407]="Bayerisches FS Nord"; -channels[407]="S19.2E-1-1101-28110"; -channelsnames[408]="SWR Fernsehen BW"; -channels[408]="S19.2E-1-1101-28113"; -channelsnames[409]="ARD-alpha"; -channels[409]="S19.2E-1-1093-28487"; -channelsnames[410]="hr-fernsehen"; -channels[410]="S19.2E-1-1101-28108"; -channelsnames[411]="Radio Bremen TV"; -channels[411]="S19.2E-1-1201-28385"; -channelsnames[412]="tagesschau24"; -channels[412]="S19.2E-1-1051-28721"; -channelsnames[413]="Einsfestival"; -channels[413]="S19.2E-1-1051-28722"; -channelsnames[414]="EinsPlus"; -channels[414]="S19.2E-1-1051-28723"; -channelsnames[415]="ZDFinfo"; -channels[415]="S19.2E-1-1079-28011"; -channelsnames[416]="zdf.kultur"; -channels[416]="S19.2E-1-1079-28016"; -channelsnames[417]="zdf_neo"; -channels[417]="S19.2E-1-1079-28014"; -channelsnames[418]="arte"; -channels[418]="S19.2E-1-1051-28724"; -channelsnames[419]="PHOENIX"; -channels[419]="S19.2E-1-1051-28725"; -channelsnames[420]="SAT.1 Gold"; -channels[420]="S19.2E-1-1107-17504"; -channelsnames[421]="kabel eins"; -channels[421]="S19.2E-1-1107-17502"; -channelsnames[422]="n-tv"; -channels[422]="S19.2E-1-1089-12090"; -channelsnames[423]="N24"; -channels[423]="S19.2E-1-1107-17503"; -channelsnames[424]="ProSieben"; -channels[424]="S19.2E-1-1107-17501"; -channelsnames[425]="RTL Television,RTL"; -channels[425]="S19.2E-1-1089-12003"; -channelsnames[426]="RTL2"; -channels[426]="S19.2E-1-1089-12020"; -channelsnames[427]="SUPER RTL"; -channels[427]="S19.2E-1-1089-12040"; -channelsnames[428]="SAT.1"; -channels[428]="S19.2E-1-1107-17500"; -channelsnames[429]="SIXX"; -channels[429]="S19.2E-133-5-776"; -channelsnames[430]="VOX"; -channels[430]="S19.2E-1-1089-12060"; -channelsnames[431]="kabel eins classics"; -channels[431]="S19.2E-1-1107-17506"; -channelsnames[432]="RTL Living"; -channels[432]="S19.2E-1-1089-12030"; -channelsnames[433]="ProSieben MAXX"; -channels[433]="S19.2E-1-1107-17505"; -channelsnames[434]="Disney Channel"; -channels[434]="S19.2E-133-5-1793"; -channelsnames[450]="13th Street,13Street"; -channels[450]="S19.2E-133-1-42"; -channelsnames[451]="AXN Action. OBSOLETE,AXN."; -channels[451]="S19.2E-133-9-62"; -channelsnames[452]="Biography Channel. OBSOLETE,Bio."; -channels[452]="S19.2E-133-9-67"; -channelsnames[453]="Boomerang. OBSOLETE"; -channels[453]="S19.2E-133-9-66"; -channelsnames[454]="Cartoon Network (S). OBSOLETE"; -channels[454]="S19.2E-133-9-64"; -channelsnames[455]="Classica"; -channels[455]="S19.2E-133-17-24"; -channelsnames[456]="Discovery Channel,Discovery"; -channels[456]="S19.2E-133-4-14"; -channelsnames[457]="Sky Atlantic,Atlantic"; -channels[457]="S19.2E-133-17-34"; -channelsnames[458]="Disney Cinemagic,DisneyCin"; -channels[458]="S19.2E-133-3-25"; -channelsnames[459]="Disney XD,DisneyXD"; -channels[459]="S19.2E-133-17-28"; -channelsnames[460]="Eurosport 2 Deutschland. OBSOLETE"; -channels[460]="S19.2E-133-9-65"; -channelsnames[461]="Fox Serie,Fox"; -channels[461]="S19.2E-133-1-16"; -channelsnames[462]="Goldstar TV,Goldstar"; -channels[462]="S19.2E-133-17-518"; -channelsnames[463]="Heimatkanal,Heimat"; -channels[463]="S19.2E-133-17-22"; -channelsnames[464]="History. OBSOLETE"; -channels[464]="S19.2E-133-9-68"; -channelsnames[465]="Junior"; -channels[465]="S19.2E-133-17-19"; -channelsnames[466]="Kinowelt TV. OBSOLETE,Kinowelt."; -channels[466]="S19.2E-133-9-60"; -channelsnames[467]="MGM"; -channels[467]="S19.2E-133-3-515"; -channelsnames[468]="Motorvision TV,Motorvis"; -channels[468]="S19.2E-133-1-168"; -channelsnames[469]="NatGeo Wild,NG Wild"; -channels[469]="S19.2E-133-4-12"; -channelsnames[470]="National Geographic,NatGeo"; -channels[470]="S19.2E-133-4-13"; -channelsnames[471]="Disney Junior,DisneyJr"; -channels[471]="S19.2E-133-17-26"; -channelsnames[472]="Romance TV. OBSOLETE,Romance."; -channels[472]="S19.2E-133-9-63"; -channelsnames[473]="RTL Passion,Passion"; -channels[473]="S19.2E-133-1-29"; -channelsnames[474]="Sky Action,Action"; -channels[474]="S19.2E-133-2-9"; -channelsnames[475]="Sky Bundesliga 1,Sky Buli 1"; -channels[475]="S19.2E-133-4-223"; -channelsnames[476]="Sky Cinema+1,SkyCine1"; -channels[476]="S19.2E-133-2-11"; -channelsnames[477]="Sky Cinema+24,SkyCine24"; -channels[477]="S19.2E-133-2-43"; -channelsnames[478]="Sky Hits,SkyHits"; -channels[478]="S19.2E-133-3-41"; -channelsnames[479]="Sky Cinema,Cinema"; -channels[479]="S19.2E-133-2-10"; -channelsnames[480]="Sky Comedy,Comedy"; -channels[480]="S19.2E-133-2-8"; -channelsnames[481]="Sky Emotion,Emotion"; -channels[481]="S19.2E-133-2-20"; -channelsnames[482]="Sky Krimi,SkyKrimi"; -channels[482]="S19.2E-133-1-23"; -channelsnames[483]="Sky Nostalgie,Nostalgie"; -channels[483]="S19.2E-133-3-516"; -channelsnames[484]="Sky Sport 1,Sport1"; -channels[484]="S19.2E-133-4-221"; -channelsnames[485]="MAG - LEV"; -channels[485]="S19.2E-133-4-222"; -channelsnames[486]="N24 Austria"; -channels[486]="S19.2E-133-7-53"; -channelsnames[487]="Spiegel Geschichte,SpiegelG"; -channels[487]="S19.2E-133-4-52"; -channelsnames[488]="sportdigital. OBSOLETE"; -channels[488]="S19.2E-133-9-69"; -channelsnames[489]="Syfy"; -channels[489]="S19.2E-133-17-36"; -channelsnames[490]="TNT Film (TCM). OBSOLETE,TNT Film."; -channels[490]="S19.2E-133-9-61"; -channelsnames[491]="TNT Serie,TNTSerie"; -channels[491]="S19.2E-133-1-50"; -channelsnames[501]="ORF1"; -channels[501]="S19.2E-1-1117-13001"; -channelsnames[502]="ORF2"; -channels[502]="S19.2E-1-1117-13002"; -channelsnames[503]="ORF III"; -channels[503]="S19.2E-1-1115-13101"; -channelsnames[504]="ATV"; -channels[504]="S19.2E-1-1117-13012"; -channelsnames[505]="sixx Austria"; -channels[505]="S19.2E-1-1115-13106"; -channelsnames[506]="ATV2"; -channels[506]="S19.2E-1-1003-13223"; -channelsnames[507]="ATV HD"; -channels[507]="S19.2E-1-1003-13228"; -channelsnames[508]="MELODIE TV"; -channels[508]="S19.2E-1-1003-13229"; -channelsnames[509]="Starparadies AT"; -channels[509]="S19.2E-1-1003-13226"; -channelsnames[510]="Schau TV"; -channels[510]="S19.2E-1-1003-13225"; -channelsnames[511]="Volksmusik"; -channels[511]="S19.2E-1-1003-13222"; -channelsnames[512]="ServusTV Deutschland"; -channels[512]="S19.2E-1-1115-13110"; -channelsnames[513]="ServusTV Oesterreich"; -channels[513]="S19.2E-1-1115-13111"; -channelsnames[520]="SRF info"; -channels[520]="S13.0E-318-8500-911"; -channelsnames[521]="SRF 1"; -channels[521]="S13.0E-318-8500-901"; -channelsnames[522]="SRF zwei"; -channels[522]="S13.0E-318-8500-907"; -channelsnames[523]="RSI LA 1"; -channels[523]="S13.0E-318-1700-14003"; -channelsnames[524]="RSI LA 2"; -channels[524]="S13.0E-318-1700-14009"; -channelsnames[525]="RTS Un"; -channels[525]="S13.0E-318-1700-14002"; -channelsnames[526]="RTS Deux"; -channels[526]="S13.0E-318-1700-14008"; -channelsnames[531]="Rai 1"; -channels[531]="S13.0E-318-12400-8511"; -channelsnames[532]="Rai 2"; -channels[532]="S13.0E-318-12400-8512"; -channelsnames[533]="Rai 3"; -channels[533]="S13.0E-318-12400-8513"; -channelsnames[534]="Rai 4"; -channels[534]="S13.0E-318-12400-8514"; -channelsnames[535]="Rai Movie"; -channels[535]="S13.0E-318-12400-8502"; -channelsnames[550]="Dubai Sports 3"; -channels[550]="S13.0E-318-5103-9502"; -channelsnames[551]="Rai Sport 1"; -channels[551]="S13.0E-318-5400-3305"; -channelsnames[552]="Rai Sport 2"; -channels[552]="S13.0E-318-5400-3301"; -channelsnames[553]="Saudi Arabian TV2"; -channels[553]="S13.0E-318-7700-112"; -channelsnames[554]="JSC Sports Global"; -channels[554]="S13.0E-318-7700-126"; -channelsnames[555]="Eurosport Deutschland"; -channels[555]="S19.2E-1-1091-31200"; -channelsnames[556]="e8 television,e8 tv"; -channels[556]="S19.2E-133-33-897"; -channelsnames[557]="SPORT1"; -channels[557]="S19.2E-133-33-900"; -channelsnames[558]="Eurosport"; -channels[558]="S28.2E-2-2030-6039"; -channelsnames[559]="Eurosport 2"; -channels[559]="S28.2E-2-2023-5009"; -channelsnames[560]="Extreme Sports"; -channels[560]="S28.2E-2-2311-52080"; -channelsnames[561]="Premier Sports"; -channels[561]="S28.2E-2-2081-51113"; -channelsnames[562]="Sky Sports 1"; -channels[562]="S28.2E-2-2021-4214"; -channelsnames[563]="Sky Sports 2"; -channels[563]="S28.2E-2-2021-4208"; -channelsnames[564]="Sky Sports 3"; -channels[564]="S28.2E-2-2021-4219"; -channelsnames[565]="Sky Ryder Cup"; -channels[565]="S28.2E-2-2023-5401"; -channelsnames[566]="Sky Sp NewsHQ"; -channels[566]="S28.2E-2-2023-4907"; -channelsnames[567]="CANAL+ SPORT"; -channels[567]="S19.2E-1-1072-8224"; -channelsnames[568]="ESP Int'l"; -channels[568]="S13.0E-318-200-13831"; -channelsnames[569]="ESP Dutch"; -channels[569]="S13.0E-318-200-13833"; -channelsnames[570]="ESP2 Int'l"; -channels[570]="S13.0E-318-200-13801"; -channelsnames[571]="Sky Sport News,SportNews"; -channels[571]="S19.2E-133-3-17"; -channelsnames[572]="EUROSPORT"; -channels[572]="S19.2E-53-1097-2025"; -channelsnames[573]="Eurosport DUT"; -channels[573]="S23.5E-3-3209-13106"; -channelsnames[574]="FOX Sports EDL 1 HD"; -channels[574]="S23.5E-3-3202-6092"; -channelsnames[575]="FOX Sports 2 HD int"; -channels[575]="S23.5E-3-3225-21045"; -channelsnames[576]="FOX Sports EDL 3"; -channels[576]="S23.5E-3-3222-20935"; -channelsnames[577]="Sport1 Select HD"; -channels[577]="S23.5E-3-3222-20960"; -channelsnames[578]="Sport1 Voetbal"; -channels[578]="S23.5E-3-3222-20925"; -channelsnames[579]="Sport1 Golf"; -channels[579]="S23.5E-3-3222-20930"; -channelsnames[580]="HBO HD"; -channels[580]="S23.5E-3-3205-5033"; -channelsnames[581]="Eurosport"; -channels[581]="S23.5E-3-3211-20809"; -channelsnames[582]="Eurosport CZ"; -channels[582]="S23.5E-3-3211-20859"; -channelsnames[600]="DELUXE MUSIC,DELUXE"; -channels[600]="S19.2E-133-7-65"; -channelsnames[601]="Vintage TV"; -channels[601]="S28.2E-2-2301-52180"; -channelsnames[602]="Xite"; -channels[602]="T-8720-2244-43"; -channelsnames[603]="MTV"; -channels[603]="T-8720-2212-24"; -channelsnames[604]="Scuzz"; -channels[604]="S28.2E-2-2314-53310"; -channelsnames[605]="Rock TV"; -channels[605]="S13.0E-64511-100-15333"; -channelsnames[606]="JIM"; -channels[606]="S23.5E-3-3222-21110"; -channelsnames[607]="MTV NL"; -channels[607]="S23.5E-3-3222-20947"; -channelsnames[608]="TV Oranje"; -channels[608]="S23.5E-3-3222-20948"; -channelsnames[609]="iConcerts"; -channels[609]="S23.5E-3-3226-730"; -channelsnames[610]="iConcerts CZ"; -channels[610]="S23.5E-3-3226-733"; -channelsnames[611]="brava hd"; -channels[611]="S23.5E-3-3226-732"; -channelsnames[612]="MTV ROCKS"; -channels[612]="S19.2E-1-1066-28659"; -channelsnames[613]="MTV Hits"; -channels[613]="S19.2E-1-1066-28654"; -channelsnames[614]="MTV Dance"; -channels[614]="S19.2E-1-1066-28655"; -channelsnames[615]="VH1 Classic"; -channels[615]="S19.2E-1-1066-28657"; -channelsnames[616]="VH1"; -channels[616]="S19.2E-1-1066-28656"; -channelsnames[617]="MTV Music 24"; -channels[617]="S19.2E-1-1078-28671"; -channelsnames[618]="NOW Music"; -channels[618]="S28.2E-2-2311-52010"; -channelsnames[619]="Bliss"; -channels[619]="S28.2E-2-2314-53305"; -channelsnames[620]="Flava"; -channels[620]="S28.2E-2-2314-53300"; -channelsnames[621]="The Vault"; -channels[621]="S28.2E-2-2314-53355"; -channelsnames[622]="Chart Show TV"; -channels[622]="S28.2E-2-2314-53365"; -channelsnames[623]="Planet Pop"; -channels[623]="S28.2E-2-2612-55114"; -channelsnames[624]="Chartshw Dnce"; -channels[624]="S28.2E-2-2314-53315"; -channelsnames[625]="Clubland TV"; -channels[625]="S28.2E-2-2612-55113"; -channelsnames[626]="Zing"; -channels[626]="S28.2E-2-2405-50470"; -channelsnames[627]="Brit Asia TV"; -channels[627]="S28.2E-2-2612-55108"; -channelsnames[628]="Kerrang!"; -channels[628]="S28.2E-2-2040-12015"; -channelsnames[629]="VH1."; -channels[629]="S19.2E-1-1066-28666"; -channelsnames[630]="VH1 Classic."; -channels[630]="S19.2E-1-1066-28667"; -channelsnames[631]="MTV ROCKS."; -channels[631]="S19.2E-1-1066-28669"; -channelsnames[632]="MTV FRANCE"; -channels[632]="S19.2E-1-1066-28652"; -channelsnames[633]="Test Channel 3 (Ex MTV IDOL)"; -channels[633]="S19.2E-1-1078-28675"; -channelsnames[634]="Test Channel 2 (ex MTV Pulse)"; -channels[634]="S19.2E-1-1078-28674"; -channelsnames[635]="Test Channel 1 (ex MTV Germany)"; -channels[635]="S19.2E-1-1078-28673"; -channelsnames[636]="Comedy Central/VIVA"; -channels[636]="S19.2E-1-1078-28676"; -channelsnames[637]="Test Channel 1 (Ex MTV BASE FRANCE)"; -channels[637]="S19.2E-1-1066-28661"; -channelsnames[638]="MTV Hits."; -channels[638]="S19.2E-1-1066-28664"; -channelsnames[639]="MTV"; -channels[639]="S28.2E-2-2010-7001"; -channelsnames[640]="MTV"; -channels[640]="S28.2E-2-2010-7010"; -channelsnames[641]="MTV BASE"; -channels[641]="S28.2E-2-2010-7007"; -channelsnames[642]="MTV CLASSIC"; -channels[642]="S28.2E-2-2010-7008"; -channelsnames[643]="MTV DANCE"; -channels[643]="S28.2E-2-2010-7014"; -channelsnames[644]="MTV HITS"; -channels[644]="S28.2E-2-2010-7006"; -channelsnames[645]="MTV MUSIC"; -channels[645]="S28.2E-2-2010-7012"; -channelsnames[646]="MTV ROCKS"; -channels[646]="S28.2E-2-2010-7003"; -channelsnames[647]="MTV Trax OBSOLETE"; -channels[647]="S28.2E-2-2010-7021"; -channelsnames[648]="MTV+1"; -channels[648]="S28.2E-2-2010-7005"; -channelsnames[649]="VH1"; -channels[649]="S28.2E-2-2010-7002"; -channelsnames[650]="VIVA"; -channels[650]="S28.2E-2-2010-7009"; -channelsnames[651]="VH1"; -channels[651]="S30.0W-54-37-2003"; -channelsnames[652]="VH1 Classic"; -channels[652]="S30.0W-54-41-612"; -channelsnames[653]="MTV Music"; -channels[653]="S30.0W-54-40-782"; -channelsnames[654]="RTP Memória"; -channels[654]="S30.0W-54-40-783"; -channelsnames[655]="MCM TOP"; -channels[655]="S30.0W-54-40-504"; -channelsnames[656]="TVE Internacional"; -channels[656]="S30.0W-54-37-967"; -channelsnames[657]="MTV ROCKS"; -channels[657]="S30.0W-54-37-2004"; -channelsnames[658]="Comedy Central / VIVA AT"; -channels[658]="S19.2E-133-7-60"; -channelsnames[659]="MTV Live"; -channels[659]="S28.2E-2-2409-50885"; -channelsnames[660]="Nicktoons (S)"; -channels[660]="S19.2E-1-1078-28682"; -channelsnames[661]="MTV Classic"; -channels[661]="S13.0E-64511-800-1427"; -channelsnames[662]="MTV Music"; -channels[662]="S13.0E-64511-800-1428"; -channelsnames[663]="MTV Dance"; -channels[663]="S13.0E-64511-800-1429"; -channelsnames[664]="SLIDE TSCS2"; -channels[664]="S30.0W-54-37-785"; -channelsnames[665]="MEZZO"; -channels[665]="S13.0E-318-15600-10725"; -channelsnames[700]="NHK World"; -channels[700]="S13.0E-318-13100-7327"; -channelsnames[701]="VTV4"; -channels[701]="S13.0E-318-11500-17321"; -channelsnames[702]="Thai Global Network"; -channels[702]="S13.0E-318-11500-17320"; -channelsnames[703]="CNC-001"; -channels[703]="S13.0E-318-7200-7257"; -channelsnames[704]="CCTV-News"; -channels[704]="S13.0E-318-12600-1706"; -channelsnames[705]="CCTV4"; -channels[705]="S13.0E-318-7200-7224"; -channelsnames[706]="Arirang World"; -channels[706]="S13.0E-318-15600-10715"; -channelsnames[707]="NHK World TV"; -channels[707]="S19.2E-1-1020-7014"; -channelsnames[708]="CCTV9 Documentary"; -channels[708]="S19.2E-1-1022-6912"; -channelsnames[709]="CCTV NEWS"; -channels[709]="S19.2E-1-1022-6914"; -channelsnames[710]="CCTV F"; -channels[710]="S19.2E-1-1022-6913"; -channelsnames[711]="Arirang TV"; -channels[711]="S19.2E-1-1020-7011"; -channelsnames[712]="CNC World"; -channels[712]="S28.2E-2-2306-52580"; -channelsnames[713]="PCNE Chinese"; -channels[713]="S28.2E-2-2302-52118"; -channelsnames[714]="Arte Oggi TV"; -channels[714]="S13.0E-318-15600-10709"; -channelsnames[715]="JSTV 1"; -channels[715]="S13.0E-318-9400-8213"; -channelsnames[716]="JSTV 2"; -channels[716]="S13.0E-318-9400-8214"; -channelsnames[730]="B4U Music"; -channels[730]="S28.2E-2-2302-52135"; -channelsnames[731]="Music India"; -channels[731]="S28.2E-2-2611-55019"; -channelsnames[732]="Rishtey"; -channels[732]="S28.2E-2-2304-55209"; -channelsnames[733]="ARY World"; -channels[733]="S28.2E-2-2404-50310"; -channelsnames[734]="Aastha"; -channels[734]="S28.2E-2-2402-55500"; -channelsnames[735]="Sangat"; -channels[735]="S28.2E-2-2612-9536"; -channelsnames[736]="MATV National"; -channels[736]="S28.2E-2-2604-54300"; -channelsnames[737]="BON TV"; -channels[737]="S28.2E-2-2313-53290"; -channelsnames[738]="ARY QTV"; -channels[738]="S28.2E-2-2306-52535"; -channelsnames[739]="Channel i"; -channels[739]="S28.2E-2-2601-54062"; -channelsnames[740]="SONY SAB"; -channels[740]="S28.2E-2-2602-54107"; -channelsnames[741]="ATN Bangla UK"; -channels[741]="S28.2E-2-2601-54053"; -channelsnames[742]="Venus TV"; -channels[742]="S28.2E-2-2409-50884"; -channelsnames[743]="SMNI"; -channels[743]="S13.0E-318-9400-8206"; -channelsnames[744]="Ganj e Hozour TV"; -channels[744]="S13.0E-0-0-17017"; -channelsnames[745]="Bangla TV"; -channels[745]="S28.2E-2-2602-54115"; -channelsnames[746]="Madani Chnl"; -channels[746]="S28.2E-2-2601-54068"; -channelsnames[747]="B4U Movies"; -channels[747]="S28.2E-2-2302-52134"; -channelsnames[748]="SONY TV Asia"; -channels[748]="S28.2E-2-2014-7420"; -channelsnames[749]="COLORS"; -channels[749]="S28.2E-2-2306-52520"; -channelsnames[750]="Star GOLD"; -channels[750]="S28.2E-2-2301-52113"; -channelsnames[751]="Studio 66 TV 3"; -channels[751]="S28.2E-2-2604-54320"; -channelsnames[752]="Star Life OK"; -channels[752]="S28.2E-2-2304-55210"; -channelsnames[753]="Star Plus"; -channels[753]="S28.2E-2-2301-52108"; -channelsnames[754]="Zee TV"; -channels[754]="S28.2E-2-2405-50460"; -channelsnames[755]="Lamhe"; -channels[755]="S28.2E-2-2405-50480"; -channelsnames[756]="Zee Cinema"; -channels[756]="S28.2E-2-2405-50465"; -channelsnames[757]="Zee Punjabi"; -channels[757]="S28.2E-2-2405-50475"; -channelsnames[758]="Face 1"; -channels[758]="S13.0E-318-15700-10605"; -channelsnames[759]="GEO TEZ"; -channels[759]="S28.2E-2-2306-52505"; -channelsnames[760]="ARY Ent"; -channels[760]="S28.2E-2-2405-50415"; -channelsnames[761]="GEO News"; -channels[761]="S28.2E-2-2405-50405"; -channelsnames[762]="GEO UK"; -channels[762]="S28.2E-2-2306-52500"; -channelsnames[800]="Music Box Russia"; -channels[800]="S13.0E-318-11500-17316"; -channelsnames[801]="RUTV"; -channels[801]="S13.0E-318-600-17680"; -channelsnames[802]="1TVRUS Europe"; -channels[802]="S13.0E-318-9400-8208"; -channelsnames[803]="RTR"; -channels[803]="S13.0E-318-12600-1708"; -channelsnames[804]="THT COMEDY"; -channels[804]="S13.0E-318-12600-1703"; -channelsnames[805]="Rossiya 24"; -channels[805]="S13.0E-318-12600-1710"; -channelsnames[806]="Arise TV"; -channels[806]="S13.0E-318-15400-13527"; -channelsnames[807]="Soyuz TV"; -channels[807]="S13.0E-318-11500-17313"; -channelsnames[808]="RBC-TV"; -channels[808]="S13.0E-318-9000-8342"; -channelsnames[809]="RT DOC"; -channels[809]="S13.0E-318-6500-487"; -channelsnames[810]="R1"; -channels[810]="S13.0E-318-13000-14607"; -channelsnames[811]="TVRUS"; -channels[811]="S13.0E-318-15500-637"; -channelsnames[812]="Shanson TV"; -channels[812]="S13.0E-318-12600-1704"; -channelsnames[813]="ChildRussia"; -channels[813]="S13.0E-318-15300-813"; -channelsnames[814]="TBN Russia"; -channels[814]="S13.0E-318-15300-807"; -channelsnames[815]="CNL"; -channels[815]="S13.0E-318-11500-17312"; -channelsnames[816]="Euronews"; -channels[816]="S13.0E-318-9400-8211"; -channelsnames[817]="Russia Today"; -channels[817]="S13.0E-318-600-17629"; -channelsnames[818]="Newroz"; -channels[818]="S13.0E-318-15700-10608"; -channelsnames[819]="RTVi Europe"; -channels[819]="S13.0E-318-8100-14802"; -channelsnames[820]="inteRTV Nashe Kino"; -channels[820]="S13.0E-318-8100-14804"; -channelsnames[821]="inteRTV Detskii Mir - TeleClub"; -channels[821]="S13.0E-318-8100-14803"; -channelsnames[822]="ESP2 Rus"; -channels[822]="S13.0E-318-200-13813"; -channelsnames[823]="ESP Russian"; -channels[823]="S13.0E-318-200-13835"; -channelsnames[824]="ESP2 NE Russian"; -channels[824]="S13.0E-318-200-13883"; -channelsnames[825]="Khabar TV"; -channels[825]="S13.0E-318-7200-7220"; -channelsnames[826]="inteRTV Mir Seriala"; -channels[826]="S13.0E-318-8100-14807"; -channelsnames[827]="ARM_1"; -channels[827]="S13.0E-318-9400-8202"; -channelsnames[828]="TV9"; -channels[828]="S13.0E-318-15400-13505"; -channelsnames[840]="TVP1"; -channels[840]="S19.2E-1-1059-7100"; -channelsnames[841]="TVP2"; -channels[841]="S19.2E-1-1059-7101"; -channelsnames[842]="TVP Sport"; -channels[842]="S19.2E-1-1059-7103"; -channelsnames[850]="TV5MONDE EUROPE"; -channels[850]="S19.2E-1-1022-6915"; -channelsnames[851]="M6"; -channels[851]="S19.2E-1-1100-8706"; -channelsnames[852]="M6 HD"; -channels[852]="S19.2E-1-1088-9310"; -channelsnames[900]="EuroNews"; -channels[900]="S19.2E-1-1091-31220"; -channelsnames[901]="CNN Int."; -channels[901]="S19.2E-1-1068-28522"; -channelsnames[902]="CNBC Europe"; -channels[902]="S19.2E-1-1026-10030"; -channelsnames[903]="BBC World"; -channels[903]="S19.2E-1-1026-10050"; -channelsnames[904]="Sky News Intl"; -channels[904]="S19.2E-1-1111-7290"; -channelsnames[905]="France 24 (in English)"; -channels[905]="S19.2E-1-1022-6906"; -channelsnames[906]="Al Jazeera English"; -channels[906]="S19.2E-1-1020-7012"; -channelsnames[907]="Al Jazeera Channel"; -channels[907]="S19.2E-1-1020-7009"; -channelsnames[908]="joiz"; -channels[908]="S19.2E-133-5-74"; -channelsnames[909]="Bloomberg Europe TV"; -channels[909]="S19.2E-1-1026-10067"; -channelsnames[910]="BBC World News"; -channels[910]="S13.0E-318-9400-8204"; -channelsnames[911]="CNBC PE Hot"; -channels[911]="S13.0E-318-13000-14610"; -channelsnames[912]="Bloomberg European TV"; -channels[912]="S13.0E-318-13100-7302"; -channelsnames[913]="Al Jazeera Intl"; -channels[913]="S13.0E-318-12600-1714"; -channelsnames[914]="PRESS TV"; -channels[914]="S13.0E-318-8700-7944"; -channelsnames[915]="DW Europe"; -channels[915]="S13.0E-318-15500-607"; -channelsnames[916]="Rai News 24"; -channels[916]="S13.0E-318-12400-8516"; -channelsnames[917]="France 24 (in English)"; -channels[917]="S13.0E-318-200-13850"; -channelsnames[918]="France 24 (en Francais)"; -channels[918]="S13.0E-318-200-13849"; -channelsnames[919]="Canal 24 Horas"; -channels[919]="S13.0E-318-5000-13712"; -channelsnames[920]="Chamber TV"; -channels[920]="S23.5E-3-3224-5220"; -channelsnames[921]="Sky News"; -channels[921]="S28.2E-2-2026-4704"; -channelsnames[922]="Bloomberg"; -channels[922]="S28.2E-2-2306-52550"; -channelsnames[923]="ABN TV"; -channels[923]="S28.2E-2-2301-52111"; -channelsnames[924]="CNN"; -channels[924]="S28.2E-2-2074-50220"; -channelsnames[925]="RT"; -channels[925]="S28.2E-2-2409-50847"; -channelsnames[926]="Al Jazeera Eng"; -channels[926]="S28.2E-2-2081-51107"; -channelsnames[927]="Russia Today"; -channels[927]="S19.2E-1-1022-6904"; -channelsnames[928]="RT Esp"; -channels[928]="S19.2E-1-1020-7013"; -channelsnames[950]="Travel Channel"; -channels[950]="S28.2E-2-2602-54102"; -channelsnames[951]="Travel Ch +1"; -channels[951]="S28.2E-2-2301-52100"; -channelsnames[952]="Travel"; -channels[952]="S5.0E-1-1-287"; -channelsnames[953]="Discovery Travel"; -channels[953]="S13.0E-64511-800-1465"; -channelsnames[954]="TV GLOBO"; -channels[954]="S13.0E-318-15400-13526"; -channelsnames[1001]="NPO1"; -channels[1001]="S19.2E-53-1105-4011"; -channelsnames[1002]="NPO2"; -channels[1002]="S19.2E-53-1105-4012"; -channelsnames[1003]="NPO3"; -channels[1003]="S19.2E-53-1105-4013"; -channelsnames[1004]="RTL4"; -channels[1004]="S19.2E-53-1105-4044"; -channelsnames[1005]="RTL5"; -channels[1005]="S19.2E-53-1105-4045"; -channelsnames[1006]="SBS6"; -channels[1006]="S19.2E-53-1105-4002"; -channelsnames[1007]="RTL7"; -channels[1007]="S19.2E-53-1105-4047"; -channelsnames[1009]="NET5"; -channels[1009]="S19.2E-53-1105-4003"; -channelsnames[1012]="Omrop Fryslan Televisie"; -channels[1012]="S23.5E-3-3211-20808"; -channelsnames[1013]="TV Noord"; -channels[1013]="S23.5E-3-3211-20810"; -channelsnames[1014]="TV Oost"; -channels[1014]="S23.5E-3-3211-20814"; -channelsnames[1015]="TV Gelderland"; -channels[1015]="S23.5E-3-3211-20816"; -channelsnames[1016]="Omroep Zeeland Televisie"; -channels[1016]="S23.5E-3-3211-20818"; -channelsnames[1017]="TV Drenthe"; -channels[1017]="S23.5E-3-3211-20812"; -channelsnames[1018]="TV West"; -channels[1018]="S23.5E-3-3211-20804"; -channelsnames[1019]="Omroep Brabant Televisie"; -channels[1019]="S23.5E-3-3211-20820"; -channelsnames[1020]="Regio BE"; -channels[1020]="S23.5E-3-3202-6055"; -channelsnames[1021]="AT5"; -channels[1021]="S23.5E-3-3225-21012"; -channelsnames[1022]="L1MBURG"; -channels[1022]="S23.5E-3-3208-7050"; -channelsnames[1040]="een"; -channels[1040]="S19.2E-53-1119-12801"; -channelsnames[1041]="Canvas"; -channels[1041]="S19.2E-53-1119-12802"; -channelsnames[1042]="VTM"; -channels[1042]="S19.2E-53-1119-12810"; -channelsnames[1043]="een HD"; -channels[1043]="S23.5E-3-3225-21025"; -channelsnames[1044]="Canvas HD"; -channels[1044]="S23.5E-3-3225-21030"; -channelsnames[1045]="VTM HD"; -channels[1045]="S23.5E-3-3208-7030"; -channelsnames[1046]="VIER"; -channels[1046]="S19.2E-53-1119-12814"; -channelsnames[1047]="2BE"; -channels[1047]="S19.2E-53-1119-12812"; -channelsnames[1048]="VIJF"; -channels[1048]="S19.2E-53-1119-12820"; -channelsnames[1049]="Vitaya"; -channels[1049]="S23.5E-3-3222-21120"; -channelsnames[1050]="Acht"; -channels[1050]="S23.5E-3-3222-21122"; -channelsnames[1100]="SkyPremiereHD"; -channels[1100]="S28.2E-2-2016-3821"; -channelsnames[1102]="Sky ShowcseHD"; -channels[1102]="S28.2E-2-2039-3911"; -channelsnames[1103]="Sky Comedy HD"; -channels[1103]="S28.2E-2-2024-3819"; -channelsnames[1104]="Sky Action HD"; -channels[1104]="S28.2E-2-2028-3814"; -channelsnames[1105]="Sky Family HD"; -channels[1105]="S28.2E-2-2016-3818"; -channelsnames[1106]="Sky Thriller HD"; -channels[1106]="S28.2E-2-2016-3862"; -channelsnames[1107]="Sky DraRomHD"; -channels[1107]="S28.2E-2-2024-3816"; -channelsnames[1108]="Sky ScFi/HorHD"; -channels[1108]="S28.2E-2-2024-3817"; -channelsnames[1109]="Sky Greats HD"; -channels[1109]="S28.2E-2-2024-3815"; -channelsnames[1110]="Sky Select HD"; -channels[1110]="S28.2E-2-2016-3901"; -channelsnames[1111]="Sky Disney HD"; -channels[1111]="S28.2E-2-2024-3900"; -channelsnames[1112]="TCM HD"; -channels[1112]="S28.2E-2-2027-3906"; -channelsnames[1150]="Syfy HD"; -channels[1150]="S28.2E-2-2032-3874"; -channelsnames[1151]="Universal HD"; -channels[1151]="S28.2E-2-2035-3880"; -channelsnames[1152]="Comedy Cen HD"; -channels[1152]="S28.2E-2-2020-3856"; -channelsnames[1153]="FOX HD"; -channels[1153]="S28.2E-2-2008-3823"; -channelsnames[1201]="BBC One HD"; -channels[1201]="S28.2E-2-2050-6941"; -channelsnames[1202]="BBC Two HD"; -channels[1202]="S28.2E-2-2050-6940"; -channelsnames[1203]="BBC Three HD"; -channels[1203]="S28.2E-2-2050-6951"; -channelsnames[1204]="BBC Four HD"; -channels[1204]="S28.2E-2-2061-8931"; -channelsnames[1211]="ITV HD"; -channels[1211]="S28.2E-2-2066-21000"; -channelsnames[1212]="ITV2 HD"; -channels[1212]="S28.2E-2-2003-3932"; -channelsnames[1213]="ITV3 HD"; -channels[1213]="S28.2E-2-2003-3933"; -channelsnames[1214]="ITV4 HD"; -channels[1214]="S28.2E-2-2003-3934"; -channelsnames[1220]="Channel 4 HD"; -channels[1220]="S28.2E-2-2068-21200"; -channelsnames[1221]="E4 HD"; -channels[1221]="S28.2E-2-2008-3876"; -channelsnames[1230]="Channel 5 HD"; -channels[1230]="S28.2E-2-2005-3945"; -channelsnames[1260]="Sky Arts 1 HD"; -channels[1260]="S28.2E-2-2039-3863"; -channelsnames[1261]="Sky Arts 2 HD"; -channels[1261]="S28.2E-2-2034-3914"; -channelsnames[1262]="Sky1 HD"; -channels[1262]="S28.2E-2-2033-3861"; -channelsnames[1263]="Sky Atlantic HD"; -channels[1263]="S28.2E-2-2033-3853"; -channelsnames[1264]="Eden HD"; -channels[1264]="S28.2E-2-2020-3868"; -channelsnames[1265]="Good Food HD"; -channels[1265]="S28.2E-2-2027-3867"; -channelsnames[1266]="Sky Insider HD"; -channels[1266]="S28.2E-2-2035-3101"; -channelsnames[1267]="Sky Living HD"; -channels[1267]="S28.2E-2-2005-3866"; -channelsnames[1300]="CBBC HD"; -channels[1300]="S28.2E-2-2050-6952"; -channelsnames[1301]="CBeebies HD"; -channels[1301]="S28.2E-2-2061-8932"; -channelsnames[1302]="Disney XD HD"; -channels[1302]="S28.2E-2-2003-3870"; -channelsnames[1303]="NickelodeonHD"; -channels[1303]="S28.2E-2-2020-3869"; -channelsnames[1304]="Disney Cinemagic HD,DisneyCinHD"; -channels[1304]="S19.2E-133-13-111"; -channelsnames[1305]="Sky Action HD,Action HD"; -channels[1305]="S19.2E-133-11-116"; -channelsnames[1350]="CI HD"; -channels[1350]="S28.2E-2-2028-3888"; -channelsnames[1351]="Discovery HD"; -channels[1351]="S28.2E-2-2034-3916"; -channelsnames[1352]="History HD"; -channels[1352]="S28.2E-2-2028-3886"; -channelsnames[1353]="Nat Geo HD"; -channels[1353]="S28.2E-2-2020-3832"; -channelsnames[1354]="NatGeoWild HD"; -channels[1354]="S28.2E-2-2028-3885"; -channelsnames[1355]="Nat Geo Wild HD"; -channels[1355]="S23.5E-3-3226-761"; -channelsnames[1356]="Nat Geo HD"; -channels[1356]="S23.5E-3-3226-701"; -channelsnames[1401]="Das Erste HD"; -channels[1401]="S19.2E-1-1019-10301"; -channelsnames[1402]="ZDF HD"; -channels[1402]="S19.2E-1-1011-11110"; -channelsnames[1403]="WDR HD Düsseldorf"; -channels[1403]="S19.2E-1-1201-28328"; -channelsnames[1404]="Einsfestival HD"; -channels[1404]="S19.2E-1-1039-10376"; -channelsnames[1405]="EinsPlus HD"; -channels[1405]="S19.2E-1-1039-10377"; -channelsnames[1406]="tagesschau24 HD"; -channels[1406]="S19.2E-1-1039-10375"; -channelsnames[1407]="ANIXE HD"; -channels[1407]="S19.2E-1-1053-21100"; -channelsnames[1408]="ServusTV HD Deutschland"; -channels[1408]="S19.2E-1-1007-4914"; -channelsnames[1409]="arte HD"; -channels[1409]="S19.2E-1-1019-10302"; -channelsnames[1410]="Arte HD"; -channels[1410]="S13.0E-319-15900-307"; -channelsnames[1411]="sonnenklar.TV HD"; -channels[1411]="S19.2E-1-1109-5400"; -channelsnames[1412]="zdf_neo HD"; -channels[1412]="S19.2E-1-1011-11130"; -channelsnames[1413]="zdf.kultur HD"; -channels[1413]="S19.2E-1-1011-11140"; -channelsnames[1420]="NICK/CC HD"; -channels[1420]="S19.2E-1-1053-21107"; -channelsnames[1421]="N24 HD"; -channels[1421]="S19.2E-1-1053-21108"; -channelsnames[1422]="RTL HD"; -channels[1422]="S19.2E-1-1057-61200"; -channelsnames[1423]="VOX HD"; -channels[1423]="S19.2E-1-1057-61201"; -channelsnames[1424]="n-tv HD"; -channels[1424]="S19.2E-1-1057-61204"; -channelsnames[1425]="RTLII HD"; -channels[1425]="S19.2E-1-1057-61205"; -channelsnames[1426]="SAT.1 HD"; -channels[1426]="S19.2E-1-1017-61300"; -channelsnames[1427]="ProSieben HD"; -channels[1427]="S19.2E-1-1017-61301"; -channelsnames[1428]="kabel eins HD"; -channels[1428]="S19.2E-1-1017-61302"; -channelsnames[1429]="SIXX HD"; -channels[1429]="S19.2E-1-1017-61303"; -channelsnames[1430]="TELE 5 HD"; -channels[1430]="S19.2E-1-1109-5401"; -channelsnames[1450]="Fox HD OBSOLETE"; -channels[1450]="S19.2E-133-14-124"; -channelsnames[1451]="Discovery HD,DiscHD"; -channels[1451]="S19.2E-133-6-130"; -channelsnames[1452]="Sky Cinema HD,SkyCineHD"; -channels[1452]="S19.2E-133-6-131"; -channelsnames[1453]="NatGeo HD,NatGeoHD"; -channels[1453]="S19.2E-133-13-112"; -channelsnames[1454]="History HD OBSOLETE,HistHD"; -channels[1454]="S19.2E-133-13-113"; -channelsnames[1455]="Sky Hits HD,SkyHitsHD"; -channels[1455]="S19.2E-133-12-107"; -channelsnames[1456]="Sky Action HD OBSOLETE,Action HD"; -channels[1456]="S19.2E-133-12-106"; -channelsnames[1457]="Nat Geo Wild HD OBSOLETE,NGWildHD"; -channels[1457]="S19.2E-133-11-118"; -channelsnames[1501]="ORF1 HD"; -channels[1501]="S19.2E-1-1007-4911"; -channelsnames[1502]="ORF2 HD"; -channels[1502]="S19.2E-1-1007-4912"; -channelsnames[1503]="ServusTV HD Oesterreich"; -channels[1503]="S19.2E-1-1007-4913"; -channelsnames[1521]="SRF 1 HD"; -channels[1521]="S13.0E-318-12300-17201"; -channelsnames[1522]="SRF zwei HD"; -channels[1522]="S13.0E-318-12300-17202"; -channelsnames[1523]="RTS Un HD"; -channels[1523]="S13.0E-318-12300-17203"; -channelsnames[1524]="RTS Deux HD"; -channels[1524]="S13.0E-318-12300-17204"; -channelsnames[1525]="RSI LA 1 HD"; -channels[1525]="S13.0E-318-1700-14051"; -channelsnames[1526]="RSI LA 2 HD"; -channels[1526]="S13.0E-318-8500-951"; -channelsnames[1550]="Sky Sport News HD,SportNewsHD"; -channels[1550]="S19.2E-133-12-108"; -channelsnames[1551]="Sky Sport HD 1,SportHD 1"; -channels[1551]="S19.2E-133-6-129"; -channelsnames[1552]="Sky Sport HD 2,SportHD 2"; -channels[1552]="S19.2E-133-13-114"; -channelsnames[1553]="Sky Bundesliga HD 1,Sky BuliHD 1"; -channels[1553]="S19.2E-133-12-105"; -channelsnames[1554]="Eurosport HD"; -channels[1554]="S28.2E-2-2008-3804"; -channelsnames[1555]="Sky Sports 1 HD"; -channels[1555]="S28.2E-2-2005-3802"; -channelsnames[1556]="Sky Sports 1 HD"; -channels[1556]="S28.2E-2-2005-3877"; -channelsnames[1557]="Sky Sports 3 HD"; -channels[1557]="S28.2E-2-2034-3822"; -channelsnames[1558]="Sky Sports 3 HD"; -channels[1558]="S28.2E-2-2034-3824"; -channelsnames[1559]="SkyRyderCupHD"; -channels[1559]="S28.2E-2-2033-3826"; -channelsnames[1560]="SkyRyderCupHD"; -channels[1560]="S28.2E-2-2033-3827"; -channelsnames[1561]="AutoMotorSport HD"; -channels[1561]="S23.5E-3-3217-6103"; -channelsnames[1600]="MTV Live HD"; -channels[1600]="S28.2E-2-2001-3806"; -channelsnames[1601]="Planeta HD"; -channels[1601]="S23.5E-3-3206-5410"; -channelsnames[1602]="."; -channels[1602]="S23.5E-3-3217-6100"; -channelsnames[1603]="UNITEL CLASSICA HD"; -channels[1603]="S23.5E-3-3217-6101"; -channelsnames[1700]="NHK World HD"; -channels[1700]="S28.2E-2-2312-53147"; -channelsnames[1701]="RT HD"; -channels[1701]="S28.2E-2-2312-53148"; -channelsnames[1800]="HBO Comedy"; -channels[1800]="S23.5E-3-3205-5035"; -channelsnames[1801]="Filmbox HD"; -channels[1801]="S23.5E-3-3205-5034"; -channelsnames[1802]="Prima HD"; -channels[1802]="S23.5E-3-3205-5032"; -channelsnames[1803]="Nova Sport HD"; -channels[1803]="S23.5E-3-3205-5031"; -channelsnames[1804]="Nova HD"; -channels[1804]="S23.5E-3-3205-5030"; -channelsnames[1805]="Eurosport 2 HD"; -channels[1805]="S23.5E-3-3221-5041"; -channelsnames[1806]="Slovak Sport"; -channels[1806]="S23.5E-3-3221-5042"; -channelsnames[1807]="History HD"; -channels[1807]="S23.5E-3-3221-5043"; -channelsnames[1808]="Markiza HD"; -channels[1808]="S23.5E-3-3221-5044"; -channelsnames[1809]="Spektrum HD"; -channels[1809]="S23.5E-3-3221-5045"; -channelsnames[1810]="Eurosport HD"; -channels[1810]="S23.5E-3-3221-5047"; -channelsnames[1811]="Travel Channel HD CE"; -channels[1811]="S23.5E-3-3221-5048"; -channelsnames[1812]="EUROSPORT HD"; -channels[1812]="S23.5E-0-0-5041"; -channelsnames[1813]="HISTORY HD"; -channels[1813]="S23.5E-0-0-5042"; -channelsnames[1814]="FILMBOX HD"; -channels[1814]="S23.5E-0-0-5043"; -channelsnames[1815]="Nova HD"; -channels[1815]="S23.5E-0-0-5044"; -channelsnames[1816]="Nova Sport HD"; -channels[1816]="S23.5E-0-0-5045"; -channelsnames[1817]="HBO HD"; -channels[1817]="S23.5E-0-0-5047"; -channelsnames[1818]="Travel Channel HD"; -channels[1818]="S23.5E-0-0-5048"; -channelsnames[1900]="Sky News HD"; -channels[1900]="S28.2E-2-2039-3850"; -channelsnames[1960]="MTV Live HD"; -channels[1960]="S13.0E-318-12800-1"; -channelsnames[1961]="TVN Style HD"; -channels[1961]="S13.0E-318-1600-15822"; -channelsnames[1962]="Rai 1 HD"; -channels[1962]="S13.0E-318-5200-3401"; -channelsnames[1963]="PARIS PREMIERE HD"; -channels[1963]="S19.2E-1-1084-9401"; -channelsnames[1964]="W9 HD"; -channels[1964]="S19.2E-1-1084-9402"; -channelsnames[1965]="MA CHAINE SPORT HD"; -channels[1965]="S19.2E-1-1084-9403"; -channelsnames[1966]="UTV HD"; -channels[1966]="S28.2E-2-2063-20780"; -channelsnames[1967]="1"; -channels[1967]="S28.2E-2-2403-1"; -channelsnames[2000]="SOLIDARIA"; -channels[2000]="S30.0W-1-1-1"; -channelsnames[2001]="Parlamento"; -channels[2001]="S30.0W-2-15-2"; -channelsnames[2002]="Telesur"; -channels[2002]="S30.0W-2-15-3"; -channelsnames[2003]="TV5 MONDE EUROPE"; -channels[2003]="S30.0W-40-13-98"; -channelsnames[2004]="TBN Enlace"; -channels[2004]="S30.0W-40-13-490"; -channelsnames[2005]="CUBAVISION"; -channels[2005]="S30.0W-40-13-491"; -channelsnames[2006]="Russia Today English"; -channels[2006]="S30.0W-40-13-5001"; -channelsnames[2007]="RT esp"; -channels[2007]="S30.0W-40-13-5002"; -channelsnames[2008]="AL JAZZERA INTL"; -channels[2008]="S30.0W-40-13-6001"; -channelsnames[2009]="+TVI"; -channels[2009]="S30.0W-54-40-500"; -channelsnames[2010]="Motors TV"; -channels[2010]="S30.0W-54-40-779"; -channelsnames[2011]="Discovery Channel"; -channels[2011]="S30.0W-54-41-603"; -channelsnames[2012]="Slide TSCS 5"; -channels[2012]="S30.0W-54-40-968"; -channelsnames[2013]="PFC"; -channels[2013]="S30.0W-54-40-508"; -channelsnames[2014]="Nautical Channel"; -channels[2014]="S30.0W-54-41-600"; -channelsnames[2015]="Canal de História"; -channels[2015]="S30.0W-54-41-601"; -channelsnames[2016]="FOX Movies"; -channels[2016]="S30.0W-54-41-608"; -channelsnames[2017]="Cartoon / TCM"; -channels[2017]="S30.0W-54-41-614"; -channelsnames[2018]="FOX"; -channels[2018]="S30.0W-54-41-972"; -channelsnames[2019]="FOX Crime"; -channels[2019]="S30.0W-54-41-974"; -channelsnames[2020]="FX"; -channels[2020]="S30.0W-54-41-975"; -channelsnames[2021]="FOX Crime"; -channels[2021]="S30.0W-54-42-710"; -channelsnames[2022]="FOX Life"; -channels[2022]="S30.0W-54-42-705"; -channelsnames[2023]="The Biography Channel"; -channels[2023]="S30.0W-54-42-890"; -channelsnames[2024]="MCM TOP"; -channels[2024]="S30.0W-54-42-894"; -channelsnames[2025]="BBC Entertainment"; -channels[2025]="S30.0W-54-42-895"; -channelsnames[2026]="Odisseia"; -channels[2026]="S30.0W-54-42-973"; -channelsnames[2050]="CANAL+1 HD"; -channels[2050]="S30.0W-49-3-150"; -channelsnames[2051]="ANDALUCÍA TV"; -channels[2051]="S30.0W-49-3-300"; -channelsnames[2052]="TAQUILLA HD"; -channels[2052]="S30.0W-49-3-1119"; -channelsnames[2053]="CANAL+ 3D"; -channels[2053]="S30.0W-49-3-1123"; -channelsnames[2054]="MEZZO LIVEHD"; -channels[2054]="S30.0W-49-3-1221"; -channelsnames[2055]="C+ DEP 2 HD"; -channels[2055]="S30.0W-49-3-1224"; -channelsnames[2056]="C+ CABLE"; -channels[2056]="S30.0W-49-3-1801"; -channelsnames[2057]="ANTENA 3"; -channels[2057]="S30.0W-49-7-13"; -channelsnames[2058]="RMTV"; -channels[2058]="S30.0W-49-7-62"; -channelsnames[2059]="C+ infoDEPORTE"; -channels[2059]="S30.0W-49-7-69"; -channelsnames[2060]="NEOX"; -channels[2060]="S30.0W-49-7-96"; -channelsnames[2061]="C+ TAQUILLA"; -channels[2061]="S30.0W-49-7-120"; -channelsnames[2062]="CANAL+ 2"; -channels[2062]="S30.0W-49-2-2"; -channelsnames[2063]="COMEDY CENTRAL"; -channels[2063]="S30.0W-49-2-23"; -channelsnames[2064]="VIAJAR"; -channels[2064]="S30.0W-49-2-34"; -channelsnames[2065]="CANAL COCINA"; -channels[2065]="S30.0W-49-2-37"; -channelsnames[2066]="TCM"; -channels[2066]="S30.0W-49-2-45"; -channelsnames[2067]="DISNEY CH."; -channels[2067]="S30.0W-49-2-70"; -channelsnames[2068]="R. Informativas"; -channels[2068]="S30.0W-49-2-363"; -channelsnames[2069]="R. Musicales"; -channels[2069]="S30.0W-49-2-364"; -channelsnames[2070]="RADIO MARIA"; -channels[2070]="S30.0W-40-13-8"; -channelsnames[2071]="Cadena 100"; -channels[2071]="S30.0W-40-13-10"; -channelsnames[2072]="HIT FM"; -channels[2072]="S30.0W-40-13-26"; -channelsnames[2073]="Radio MARCA"; -channels[2073]="S30.0W-40-13-29"; -channelsnames[2074]="COPE"; -channels[2074]="S30.0W-40-13-37"; -channelsnames[2075]="INTERECONOMIA"; -channels[2075]="S30.0W-40-13-38"; -channelsnames[2076]="MegaStar"; -channels[2076]="S30.0W-40-13-39"; -channelsnames[2077]="ROCK FM"; -channels[2077]="S30.0W-40-13-52"; -channelsnames[2078]="EMA RADIO"; -channels[2078]="S30.0W-40-13-54"; -channelsnames[2079]="TSF ON M"; -channels[2079]="S30.0W-40-13-55"; -channelsnames[2080]="RADIO HIT"; -channels[2080]="S30.0W-40-13-58"; -channelsnames[2081]="Disney Channel"; -channels[2081]="S30.0W-40-13-900"; -channelsnames[2082]="24 HORAS"; -channels[2082]="S30.0W-49-9-70"; -channelsnames[2083]="SIC"; -channels[2083]="S30.0W-54-36-813"; -channelsnames[2084]="Slide TSCS 2"; -channels[2084]="S30.0W-54-37-712"; -channelsnames[2085]="BBC World News"; -channels[2085]="S30.0W-54-37-717"; -channelsnames[2086]="Sport TV 1"; -channels[2086]="S30.0W-54-38-870"; -channelsnames[2087]="AR TV"; -channels[2087]="S30.0W-54-40-501"; -channelsnames[2088]="Toros TV"; -channels[2088]="S30.0W-54-41-602"; -channelsnames[2089]="CANAL+ LIGA"; -channels[2089]="S30.0W-49-3-1800"; -channelsnames[2090]="Canal Extremadura SAT"; -channels[2090]="S30.0W-2-15-4"; -channelsnames[2091]="Feeds 2 TSA"; -channels[2091]="S30.0W-2-15-5"; -channelsnames[2092]="Feeds 3 TSA"; -channels[2092]="S30.0W-2-15-6"; -channelsnames[2093]="HIGH TV 3D"; -channels[2093]="S30.0W-2-15-11"; -channelsnames[2094]="CANAL+ 1"; -channels[2094]="S30.0W-49-2-1"; -channelsnames[2095]="C+ DCINE"; -channels[2095]="S30.0W-49-4-43"; -channelsnames[2096]="CANAL+1 ...30"; -channels[2096]="S30.0W-49-4-3"; -channelsnames[2097]="FOX"; -channels[2097]="S30.0W-49-4-21"; -channelsnames[2098]="AXN"; -channels[2098]="S30.0W-49-4-22"; -channelsnames[2099]="FOX CRIME"; -channels[2099]="S30.0W-49-4-27"; -channelsnames[2100]="AXN WHITE"; -channels[2100]="S30.0W-49-4-28"; -channelsnames[2101]="C+ ACCIÓN"; -channels[2101]="S30.0W-49-4-41"; -channelsnames[2102]="C+ COMEDIA"; -channels[2102]="S30.0W-49-4-42"; -channelsnames[2103]="EL GARAGE TV"; -channels[2103]="S30.0W-49-4-64"; -channelsnames[2104]="NOVA"; -channels[2104]="S30.0W-49-4-95"; -channelsnames[2105]="Paquetes"; -channels[2105]="S30.0W-49-4-1001"; -channelsnames[2106]="C+LIGA MULTI"; -channels[2106]="S30.0W-49-6-52"; -channelsnames[2107]="C+ TOROS"; -channels[2107]="S30.0W-49-6-67"; -channelsnames[2108]="TAQUILLA 5"; -channels[2108]="S30.0W-49-6-125"; -channelsnames[2109]="TAQUILLA 6"; -channels[2109]="S30.0W-49-6-126"; -channelsnames[2110]="TAQUILLA 7"; -channels[2110]="S30.0W-49-6-127"; -channelsnames[2111]="TAQUILLA 8"; -channels[2111]="S30.0W-49-6-128"; -channelsnames[2112]="TAQUILLAX"; -channels[2112]="S30.0W-49-6-131"; -channelsnames[2113]="TAQUILLAXX"; -channels[2113]="S30.0W-49-6-132"; -channelsnames[2114]="TAQ XXHARD"; -channels[2114]="S30.0W-49-6-133"; -channelsnames[2115]="MULTI-X (1)"; -channels[2115]="S30.0W-49-6-136"; -channelsnames[2116]="MULTI-X (2)"; -channels[2116]="S30.0W-49-6-137"; -channelsnames[2117]="C+LCampeones"; -channels[2117]="S30.0W-49-6-141"; -channelsnames[2118]="C+LCampeon2"; -channels[2118]="S30.0W-49-6-142"; -channelsnames[2119]="C+LCampeon3"; -channels[2119]="S30.0W-49-6-143"; -channelsnames[2120]="MULTIDEP.6"; -channels[2120]="S30.0W-49-6-195"; -channelsnames[2121]="MULTIDEP.7"; -channels[2121]="S30.0W-49-6-196"; -channelsnames[2122]="PUBLIACTIVA"; -channels[2122]="S30.0W-49-6-347"; -channelsnames[2123]="TVCine 2"; -channels[2123]="S30.0W-54-42-700"; -channelsnames[2124]="Nickelodeon"; -channels[2124]="S30.0W-54-42-701"; -channelsnames[2125]="TVCine 3"; -channels[2125]="S30.0W-54-42-706"; -channelsnames[2126]="TVCine 1"; -channels[2126]="S30.0W-54-42-707"; -channelsnames[2127]="TVCine 4"; -channels[2127]="S30.0W-54-42-709"; -channelsnames[2128]="MOV"; -channels[2128]="S30.0W-54-42-711"; -channelsnames[2129]="TVE Internacional"; -channels[2129]="S30.0W-54-42-713"; -channelsnames[2130]="National Geographic"; -channels[2130]="S30.0W-54-42-714"; -channelsnames[2131]="TV Globo Portugal"; -channels[2131]="S30.0W-54-42-904"; -channelsnames[2132]="RTP Madeira"; -channels[2132]="S30.0W-54-42-935"; -channelsnames[2133]="Canal de Teste"; -channels[2133]="S30.0W-54-36-1"; -channelsnames[2134]="RTP Informação"; -channels[2134]="S30.0W-54-36-101"; -channelsnames[2135]="Panda Biggs"; -channels[2135]="S30.0W-54-36-102"; -channelsnames[2136]="Canal de Teste"; -channels[2136]="S30.0W-54-36-111"; -channelsnames[2137]="Canal Panda"; -channels[2137]="S30.0W-54-36-708"; -channelsnames[2138]="SIC Notícias"; -channels[2138]="S30.0W-54-36-801"; -channelsnames[2139]="RTP 1"; -channels[2139]="S30.0W-54-36-811"; -channelsnames[2140]="RTP 2"; -channels[2140]="S30.0W-54-36-812"; -channelsnames[2141]="TVI"; -channels[2141]="S30.0W-54-36-814"; -channelsnames[2142]="Sport TV Golfe"; -channels[2142]="S30.0W-54-37-219"; -channelsnames[2143]="Eurosport News"; -channels[2143]="S30.0W-54-37-227"; -channelsnames[2144]="TVE 24h"; -channels[2144]="S30.0W-54-37-228"; -channelsnames[2145]="EuroNews"; -channels[2145]="S30.0W-54-37-702"; -channelsnames[2146]="SIC Mulher"; -channels[2146]="S30.0W-54-37-703"; -channelsnames[2147]="TLC"; -channels[2147]="S30.0W-54-37-704"; -channelsnames[2148]="France 24"; -channels[2148]="S30.0W-54-37-720"; -channelsnames[2149]="Hot"; -channels[2149]="S30.0W-54-37-831"; -channelsnames[2150]="SLIDE TSCS2"; -channels[2150]="S30.0W-54-37-961"; -channelsnames[2151]="CNN"; -channels[2151]="S30.0W-54-37-962"; -channelsnames[2152]="Mezzo"; -channels[2152]="S30.0W-54-37-965"; -channelsnames[2153]="SKY News"; -channels[2153]="S30.0W-54-37-966"; -channelsnames[2154]="MEZZO"; -channels[2154]="S30.0W-54-37-2000"; -channelsnames[2155]="BBC WORLD"; -channels[2155]="S30.0W-54-37-2001"; -channelsnames[2156]="CNN INT"; -channels[2156]="S30.0W-54-37-2002"; -channelsnames[2157]="CNBC"; -channels[2157]="S30.0W-54-37-2005"; -channelsnames[2158]="EURONEWS"; -channels[2158]="S30.0W-54-37-2006"; -channelsnames[2159]="FRANCE 24 ENG"; -channels[2159]="S30.0W-54-37-2007"; -channelsnames[2160]="NG_DVR_5.4"; -channels[2160]="S30.0W-54-38-19"; -channelsnames[2161]="NG_Zapper_3.8"; -channels[2161]="S30.0W-54-38-20"; -channelsnames[2162]="NG_DVR_3.8"; -channels[2162]="S30.0W-54-38-21"; -channelsnames[2163]="NG_ZAPPER_5.8"; -channels[2163]="S30.0W-54-38-22"; -channelsnames[2164]="NG_DVR_5.8"; -channels[2164]="S30.0W-54-38-23"; -channelsnames[2165]="Playboy TV"; -channels[2165]="S30.0W-54-38-169"; -channelsnames[2166]="Sport TV 2"; -channels[2166]="S30.0W-54-38-301"; -channelsnames[2167]="Canal de teste"; -channels[2167]="S30.0W-54-38-302"; -channelsnames[2168]="AR TV"; -channels[2168]="S30.0W-54-38-303"; -channelsnames[2169]="Globo"; -channels[2169]="S30.0W-54-38-304"; -channelsnames[2170]="TVI 24"; -channels[2170]="S30.0W-54-38-305"; -channelsnames[2171]="Sport TV 3"; -channels[2171]="S30.0W-54-38-306"; -channelsnames[2172]="TV Record"; -channels[2172]="S30.0W-54-38-308"; -channelsnames[2173]="Sport TV Live"; -channels[2173]="S30.0W-54-38-309"; -channelsnames[2174]="RTP Memória"; -channels[2174]="S30.0W-54-38-310"; -channelsnames[2175]="Eurosport"; -channels[2175]="S30.0W-54-38-312"; -channelsnames[2176]="Hollywood"; -channels[2176]="S30.0W-54-38-313"; -channelsnames[2177]="MOV"; -channels[2177]="S30.0W-54-38-314"; -channelsnames[2178]="Canal de Teste"; -channels[2178]="S30.0W-54-38-701"; -channelsnames[2179]="SIC Radical"; -channels[2179]="S30.0W-54-40-502"; -channelsnames[2180]="Panda Biggs"; -channels[2180]="S30.0W-54-40-503"; -channelsnames[2181]="BBC Entertainment"; -channels[2181]="S30.0W-54-40-506"; -channelsnames[2182]="E! Entertainment"; -channels[2182]="S30.0W-54-40-507"; -channelsnames[2183]="Baby First"; -channels[2183]="S30.0W-54-40-509"; -channelsnames[2184]="Caça e Pesca"; -channels[2184]="S30.0W-54-40-933"; -channelsnames[2185]="Disney Junior"; -channels[2185]="S30.0W-54-40-939"; -channelsnames[2186]="CBS Reality"; -channels[2186]="S30.0W-54-41-604"; -channelsnames[2187]="RTP Açores"; -channels[2187]="S30.0W-54-41-605"; -channelsnames[2188]="NBA TV"; -channels[2188]="S30.0W-54-41-609"; -channelsnames[2189]="Canção Nova"; -channels[2189]="S30.0W-54-41-610"; -channelsnames[2190]="Novo SD TSCS6- 01"; -channels[2190]="S30.0W-54-41-611"; -channelsnames[2191]="Cartoon / TCM"; -channels[2191]="S30.0W-54-41-613"; -channelsnames[2192]="Canal Q"; -channels[2192]="S30.0W-54-41-959"; -channelsnames[2193]="C+ YOMVI"; -channels[2193]="S30.0W-49-9-7"; -channelsnames[2194]="COSMOPOLITAN"; -channels[2194]="S30.0W-49-9-26"; -channelsnames[2195]="HISTORIA"; -channels[2195]="S30.0W-49-9-35"; -channelsnames[2196]="BIO"; -channels[2196]="S30.0W-49-9-36"; -channelsnames[2197]="CINEMAGIC"; -channels[2197]="S30.0W-49-9-44"; -channelsnames[2198]="DCINEESPAÑOL"; -channels[2198]="S30.0W-49-9-48"; -channelsnames[2199]="EUROSPORT"; -channels[2199]="S30.0W-49-9-60"; -channelsnames[2200]="CAZA Y PESCA"; -channels[2200]="S30.0W-49-9-66"; -channelsnames[2201]="DISNEY XD"; -channels[2201]="S30.0W-49-9-72"; -channelsnames[2202]="CINEMAGIC"; -channels[2202]="S30.0W-49-9-73"; -channelsnames[2203]="24 HORAS"; -channels[2203]="S30.0W-49-9-100"; -channelsnames[2204]="BLOOMBERG"; -channels[2204]="S30.0W-49-9-102"; -channelsnames[2205]="Eventos"; -channels[2205]="S30.0W-49-9-500"; -channelsnames[2206]="Caça e Pesca"; -channels[2206]="S30.0W-49-9-3000"; -channelsnames[2207]="Eurosport"; -channels[2207]="S30.0W-49-9-3002"; -channelsnames[2208]="Canal de História"; -channels[2208]="S30.0W-49-9-3003"; -channelsnames[2209]="Bloomberg"; -channels[2209]="S30.0W-49-9-3004"; -channelsnames[2210]="TVE 24h"; -channels[2210]="S30.0W-49-9-3006"; -channelsnames[2211]="MTV ESPAÑA"; -channels[2211]="S30.0W-49-5-29"; -channelsnames[2212]="LTC"; -channels[2212]="S30.0W-49-5-39"; -channelsnames[2213]="BARÇA TV"; -channels[2213]="S30.0W-49-5-63"; -channelsnames[2214]="MOTORS TV"; -channels[2214]="S30.0W-49-5-65"; -channelsnames[2215]="DIVINITY"; -channels[2215]="S30.0W-49-5-90"; -channelsnames[2216]="ENERGY"; -channels[2216]="S30.0W-49-5-91"; -channelsnames[2217]="FOX NEWS"; -channels[2217]="S30.0W-49-5-105"; -channelsnames[2218]="C.ESTRELLAS"; -channels[2218]="S30.0W-49-5-117"; -channelsnames[2219]="C+ MultiCINE"; -channels[2219]="S30.0W-49-8-6"; -channelsnames[2220]="C+ MultiCINE"; -channels[2220]="S30.0W-49-8-40"; -channelsnames[2221]="C+ MultiDEP"; -channels[2221]="S30.0W-49-8-50"; -channelsnames[2222]="NICKELODEON"; -channels[2222]="S30.0W-49-8-74"; -channelsnames[2223]="TAQUILLA 1"; -channels[2223]="S30.0W-49-8-121"; -channelsnames[2224]="TAQUILLA 2"; -channels[2224]="S30.0W-49-8-122"; -channelsnames[2225]="TAQUILLA 3"; -channels[2225]="S30.0W-49-8-123"; -channelsnames[2226]="TAQUILLA 4"; -channels[2226]="S30.0W-49-8-124"; -channelsnames[2227]="TAQUILLA X"; -channels[2227]="S30.0W-49-8-139"; -channelsnames[2228]="MULTIDEP.4"; -channels[2228]="S30.0W-49-8-193"; -channelsnames[3000]="TV3 Lithuania"; -channels[3000]="S5.0E-85-14-6340"; -channelsnames[3001]="TV6 Lithuania"; -channels[3001]="S5.0E-85-14-6350"; -channelsnames[3002]="TV8 Lithuania"; -channels[3002]="S5.0E-85-18-6890"; -channelsnames[3003]="LNK"; -channels[3003]="S5.0E-85-52-2910"; -channelsnames[3004]="LTV1"; -channels[3004]="S5.0E-85-14-6390"; -channelsnames[3005]="LTV World"; -channels[3005]="S5.0E-85-2-240"; -channelsnames[3006]="LTV7"; -channels[3006]="S5.0E-85-13-6295"; -channelsnames[3007]="Kidzone"; -channels[3007]="S5.0E-85-14-6370"; -channelsnames[3008]="TV1 Lithuania"; -channels[3008]="S5.0E-85-52-2900"; -channelsnames[3009]="Lietuvos Rytas TV"; -channels[3009]="S5.0E-85-52-2920"; -channelsnames[3010]="BTV"; -channels[3010]="S5.0E-85-52-2930"; -channelsnames[3011]="RTR Planeta"; -channels[3011]="S5.0E-86-24-4420"; -channelsnames[3012]="NTV Mir Lithuania"; -channels[3012]="S5.0E-85-13-6270"; -channelsnames[3013]="REN-TV LIETUVA"; -channels[3013]="S5.0E-85-13-6240"; -channelsnames[3014]="CTC Baltic"; -channels[3014]="S5.0E-85-18-6850"; -channelsnames[3015]="1st Baltic Ch. Lithuania"; -channels[3015]="S5.0E-85-13-6220"; -channelsnames[3016]="ENGLISH CLUB TV"; -channels[3016]="S5.0E-85-15-6575"; -channelsnames[3017]="ATR"; -channels[3017]="S5.0E-85-17-6950"; -channelsnames[3018]="GLAS"; -channels[3018]="S5.0E-85-12-6130"; -channelsnames[3019]="TV SALE UKR"; -channels[3019]="S5.0E-85-12-6160"; -channelsnames[3020]="Viasat Explore"; -channels[3020]="S5.0E-86-9-7050"; -channelsnames[3021]="Viasat History"; -channels[3021]="S5.0E-86-8-6050"; -channelsnames[3022]="Viasat Nature East"; -channels[3022]="S5.0E-86-8-6030"; -channelsnames[3023]="Ohota Rybalka"; -channels[3023]="S5.0E-86-22-3630"; -channelsnames[3024]="National Geographic (S)"; -channels[3024]="S5.0E-86-22-3690"; -channelsnames[3025]="History Channel"; -channels[3025]="S5.0E-86-22-3620"; -channelsnames[3026]="Nick No/VH1 Classic"; -channels[3026]="S5.0E-86-24-4460"; -channelsnames[3027]="TV6 (N)"; -channels[3027]="S5.0E-86-4-2170"; -channelsnames[3028]="TV1000 Action East"; -channels[3028]="S5.0E-86-21-3410"; -channelsnames[3029]="TV1000 Ru Kino"; -channels[3029]="S5.0E-86-9-7080"; -channelsnames[3030]="Cartoon Network EE"; -channels[3030]="S5.0E-86-22-3610"; -channelsnames[3031]="Viasat Sport Baltic"; -channels[3031]="S5.0E-86-8-6060"; -channelsnames[3032]="Viasat Golf"; -channels[3032]="S5.0E-86-30-1860"; -channelsnames[3033]="Disney Channel"; -channels[3033]="S5.0E-86-5-3180"; -channelsnames[3034]="Disney XD"; -channels[3034]="S5.0E-86-5-3190"; -channelsnames[3035]="Disney Junior"; -channels[3035]="S5.0E-86-3-1130"; -channelsnames[3036]="Nickelodeon (S)"; -channels[3036]="S5.0E-86-5-3160"; -channelsnames[3037]="Nick JR / VH1"; -channels[3037]="S5.0E-85-18-6880"; -channelsnames[3038]="MTV SE"; -channels[3038]="S5.0E-86-4-2150"; -channelsnames[3039]="E!"; -channels[3039]="S5.0E-86-5-3100"; -channelsnames[3040]="1st Baltic Music channel"; -channels[3040]="S5.0E-85-13-6230"; -channelsnames[3041]="BBC World"; -channels[3041]="S5.0E-86-4-2120"; -channelsnames[3042]="CNN"; -channels[3042]="S5.0E-86-9-7040"; -channelsnames[3043]="Russia Today"; -channels[3043]="S5.0E-86-6-4080"; -channelsnames[3044]="CNBC"; -channels[3044]="S5.0E-86-6-4180"; -channelsnames[3045]="Viasat Xtra 1"; -channels[3045]="S5.0E-86-10-8000"; -channelsnames[3046]="Viasat Xtra 2"; -channels[3046]="S5.0E-86-10-8010"; -channelsnames[3047]="Viasat Xtra 3"; -channels[3047]="S5.0E-86-10-8020"; -channelsnames[3048]="Viasat Xtra 4"; -channels[3048]="S5.0E-86-10-8030"; -channelsnames[3049]="Viasat Xtra 5"; -channels[3049]="S5.0E-86-10-8040"; -channelsnames[3050]="Viasat Xtra 6"; -channels[3050]="S5.0E-86-10-8080"; -channelsnames[3051]="Viasat Xtra 7"; -channels[3051]="S5.0E-86-10-8050"; -channelsnames[3052]="Viasat Xtra PL1"; -channels[3052]="S5.0E-86-10-7900"; -channelsnames[3053]="Viasat Xtra PL2"; -channels[3053]="S5.0E-86-10-7910"; -channelsnames[3054]="Viasat Xtra PL3"; -channels[3054]="S5.0E-86-10-7920"; -channelsnames[3055]="Viasat Xtra PL4"; -channels[3055]="S5.0E-86-10-7930"; -channelsnames[3056]="Viasat Xtra PL5"; -channels[3056]="S5.0E-86-10-7940"; -channelsnames[3057]="Viasat Xtra PL6"; -channels[3057]="S5.0E-86-10-7950"; -channelsnames[3058]="Viasat Xtra PL7"; -channels[3058]="S5.0E-86-10-7960"; -channelsnames[3059]="Viasat Xtra NHL1"; -channels[3059]="S5.0E-86-10-7970"; -channelsnames[3060]="Viasat Xtra NHL2"; -channels[3060]="S5.0E-86-10-7980"; -channelsnames[3061]="Viasat Xtra NHL3"; -channels[3061]="S5.0E-86-10-7990"; -channelsnames[3062]="Viasat Xtra NHL4"; -channels[3062]="S5.0E-86-10-8150"; -channelsnames[3063]="Viasat Xtra NHL5"; -channels[3063]="S5.0E-86-10-8160"; -channelsnames[3064]="Viasat Xtra NHL6"; -channels[3064]="S5.0E-86-10-8170"; -channelsnames[3065]="Viasat Xtra NHL7"; -channels[3065]="S5.0E-86-10-8180"; -channelsnames[3066]="Nature/Crime/Playboy"; -channels[3066]="S5.0E-86-4-2110"; -channelsnames[3100]="Romantica 2"; -channels[3100]="S5.0E-0-0-8"; -channelsnames[3101]="Absolute Radio"; -channels[3101]="S5.0E-1-1-6"; -channelsnames[3200]="NRK1"; -channels[3200]="S5.0E-86-28-1501"; -channelsnames[3201]="NRK2"; -channels[3201]="S5.0E-86-28-1502"; -channelsnames[3202]="NRK Super / NRK3"; -channels[3202]="S5.0E-86-28-3510"; -channelsnames[3203]="DR Ultra"; -channels[3203]="S5.0E-86-30-1800"; -channelsnames[3204]="TV2 Zulu"; -channels[3204]="S5.0E-86-30-1810"; -channelsnames[3205]="TV2 Charlie"; -channels[3205]="S5.0E-86-30-1820"; -channelsnames[3206]="TV3 SPORT 1"; -channels[3206]="S5.0E-86-30-1830"; -channelsnames[3207]="TV 2 Sportkanalen"; -channels[3207]="S5.0E-86-30-1840"; -channelsnames[3208]="TV2 Fri"; -channels[3208]="S5.0E-86-30-1850"; -channelsnames[3209]="TV2 NEWS"; -channels[3209]="S5.0E-86-30-1870"; -channelsnames[3210]="DR Ramasjang"; -channels[3210]="S5.0E-86-30-1880"; -channelsnames[3211]="DR K"; -channels[3211]="S5.0E-86-30-1890"; -channelsnames[3212]="TV3 Latvia"; -channels[3212]="S5.0E-85-14-6300"; -channelsnames[3213]="3+"; -channels[3213]="S5.0E-85-14-6310"; -channelsnames[3214]="Kanals 2"; -channels[3214]="S5.0E-85-14-6320"; -channelsnames[3215]="TV3 Estonia"; -channels[3215]="S5.0E-85-14-6330"; -channelsnames[3216]="TV6 Latvia"; -channels[3216]="S5.0E-85-14-6335"; -channelsnames[3217]="Star FM LV"; -channels[3217]="S5.0E-85-14-6345"; -channelsnames[3218]="TV6 Estonia"; -channels[3218]="S5.0E-85-14-6355"; -channelsnames[3219]="LNT Latvia"; -channels[3219]="S5.0E-85-14-6360"; -channelsnames[3220]="ETV"; -channels[3220]="S5.0E-85-14-6380"; -channelsnames[3221]="UR1"; -channels[3221]="S5.0E-85-12-6100"; -channelsnames[3222]="UR2"; -channels[3222]="S5.0E-85-12-6102"; -channelsnames[3223]="UR3"; -channels[3223]="S5.0E-85-12-6104"; -channelsnames[3224]="RUI"; -channels[3224]="S5.0E-85-12-6106"; -channelsnames[3225]="TET"; -channels[3225]="S5.0E-85-12-6110"; -channelsnames[3226]="2+2"; -channels[3226]="S5.0E-85-12-6120"; -channelsnames[3227]="1+1 International"; -channels[3227]="S5.0E-85-12-6125"; -channelsnames[3228]="JN1 - Jewish news one"; -channels[3228]="S5.0E-85-12-6140"; -channelsnames[3229]="MALYATKO TV"; -channels[3229]="S5.0E-85-12-6150"; -channelsnames[3230]="RADA"; -channels[3230]="S5.0E-85-12-6170"; -channelsnames[3231]="NTA"; -channels[3231]="S5.0E-85-12-6180"; -channelsnames[3232]="RADIO ERA"; -channels[3232]="S5.0E-85-12-6186"; -channelsnames[3233]="Channel 5 (Ukraine)"; -channels[3233]="S5.0E-85-12-6190"; -channelsnames[3234]="Love Radio"; -channels[3234]="S5.0E-85-12-6196"; -channelsnames[3235]="NTV"; -channels[3235]="S5.0E-85-2-10"; -channelsnames[3236]="Belsat TV"; -channels[3236]="S5.0E-85-2-200"; -channelsnames[3237]="ATG EU BSS"; -channels[3237]="S5.0E-85-2-210"; -channelsnames[3238]="TVCI new"; -channels[3238]="S5.0E-85-2-220"; -channelsnames[3239]="European Radio for Belarus"; -channels[3239]="S5.0E-85-2-230"; -channelsnames[3240]="K75 International"; -channels[3240]="S5.0E-85-2-260"; -channelsnames[3241]="Dozhd TV"; -channels[3241]="S5.0E-85-2-270"; -channelsnames[3242]="Espreso TV"; -channels[3242]="S5.0E-85-2-280"; -channelsnames[3243]="Viasat Sport Sverige"; -channels[3243]="S5.0E-86-4-2100"; -channelsnames[3244]="TV3+"; -channels[3244]="S5.0E-86-4-2130"; -channelsnames[3245]="Viasat Hockey"; -channels[3245]="S5.0E-86-4-2140"; -channelsnames[3246]="Viasat 4"; -channels[3246]="S5.0E-86-4-2160"; -channelsnames[3247]="TV4 Fakta"; -channels[3247]="S5.0E-86-4-2180"; -channelsnames[3248]="TV3 Sverige"; -channels[3248]="S5.0E-86-3-1100"; -channelsnames[3249]="TV3 Norge"; -channels[3249]="S5.0E-86-3-1110"; -channelsnames[3250]="TV3 Denmark"; -channels[3250]="S5.0E-86-3-1120"; -channelsnames[3251]="Viasat Film"; -channels[3251]="S5.0E-86-3-1140"; -channelsnames[3252]="VFilm Action"; -channels[3252]="S5.0E-86-3-1150"; -channelsnames[3253]="TV6"; -channels[3253]="S5.0E-86-3-1160"; -channelsnames[3254]="Cartoon Network"; -channels[3254]="S5.0E-86-3-1170"; -channelsnames[3255]="VFilm Drama"; -channels[3255]="S5.0E-86-3-1195"; -channelsnames[3256]="1st Baltic Ch. Estonia"; -channels[3256]="S5.0E-85-13-6200"; -channelsnames[3257]="1st Baltic Ch. Latvia"; -channels[3257]="S5.0E-85-13-6210"; -channelsnames[3258]="Mir Baltic"; -channels[3258]="S5.0E-85-13-6260"; -channelsnames[3259]="Radio 101"; -channels[3259]="S5.0E-85-13-6275"; -channelsnames[3260]="VFilm Family"; -channels[3260]="S5.0E-86-5-3110"; -channelsnames[3261]="VFilm Comedy"; -channels[3261]="S5.0E-86-5-3120"; -channelsnames[3262]="VFilm Classic"; -channels[3262]="S5.0E-86-5-3130"; -channelsnames[3263]="Euronews"; -channels[3263]="S5.0E-86-7-5000"; -channelsnames[3264]="NHK World TV"; -channels[3264]="S5.0E-86-7-5010"; -channelsnames[3265]="Kunskapskanalen"; -channels[3265]="S5.0E-86-7-5020"; -channelsnames[3266]="SVTB/SVT24"; -channels[3266]="S5.0E-86-7-5030"; -channelsnames[3267]="Nat Geo Wild"; -channels[3267]="S5.0E-86-7-5080"; -channelsnames[3268]="TV 2 Bliss"; -channels[3268]="S5.0E-86-7-5050"; -channelsnames[3269]="TVNorge"; -channels[3269]="S5.0E-86-7-5040"; -channelsnames[3270]="TV4 Guld"; -channels[3270]="S5.0E-86-7-5060"; -channelsnames[3271]="NRK1 HD"; -channels[3271]="S5.0E-86-28-3515"; -channelsnames[3272]="NRK Tegnspråk"; -channels[3272]="S5.0E-86-28-1516"; -channelsnames[3273]="NRK1 Nordnytt"; -channels[3273]="S5.0E-86-28-1521"; -channelsnames[3274]="NRK1 Nordland"; -channels[3274]="S5.0E-86-28-3502"; -channelsnames[3275]="NRK1 Midtnytt"; -channels[3275]="S5.0E-86-28-3503"; -channelsnames[3276]="NRK1 Møre & Romsdal"; -channels[3276]="S5.0E-86-28-3504"; -channelsnames[3277]="NRK1 Vestlandsrevyen"; -channels[3277]="S5.0E-86-28-3505"; -channelsnames[3278]="NRK1 Rogaland"; -channels[3278]="S5.0E-86-28-3506"; -channelsnames[3279]="NRK1 Sørlandet"; -channels[3279]="S5.0E-86-28-3507"; -channelsnames[3280]="NRK1 Østafjells"; -channels[3280]="S5.0E-86-28-1520"; -channelsnames[3281]="NRK1 Østnytt"; -channels[3281]="S5.0E-86-28-3508"; -channelsnames[3282]="NRK1 Østfold"; -channels[3282]="S5.0E-86-28-3509"; -channelsnames[3283]="NRK P1"; -channels[3283]="S5.0E-86-28-1503"; -channelsnames[3284]="NRK P2"; -channels[3284]="S5.0E-86-28-1504"; -channelsnames[3285]="NRK P3"; -channels[3285]="S5.0E-86-28-1505"; -channelsnames[3286]="NRK Klassisk"; -channels[3286]="S5.0E-86-28-1507"; -channelsnames[3287]="NRK Sami Radio"; -channels[3287]="S5.0E-86-28-1510"; -channelsnames[3288]="NRK mP3"; -channels[3288]="S5.0E-86-28-1515"; -channelsnames[3289]="NRK Alltid Nyheter"; -channels[3289]="S5.0E-86-28-511"; -channelsnames[3290]="NRK P13"; -channels[3290]="S5.0E-86-28-3501"; -channelsnames[3291]="NRK Været til sjøs"; -channels[3291]="S5.0E-86-28-3511"; -channelsnames[3292]="NRK Super"; -channels[3292]="S5.0E-86-28-3513"; -channelsnames[3293]="NRK P1+"; -channels[3293]="S5.0E-86-28-3514"; -channelsnames[3294]="NRK Jazz"; -channels[3294]="S5.0E-86-28-3516"; -channelsnames[3295]="TV 2/Bornholm"; -channels[3295]="S5.0E-86-26-4670"; -channelsnames[3296]="TV 2/Fyn"; -channels[3296]="S5.0E-86-26-4640"; -channelsnames[3297]="TV 2/Lorry"; -channels[3297]="S5.0E-86-26-4660"; -channelsnames[3298]="TV 2/Midt-Vest"; -channels[3298]="S5.0E-86-26-4610"; -channelsnames[3299]="TV 2/Nord"; -channels[3299]="S5.0E-86-26-4600"; -channelsnames[3300]="TV 2/Syd"; -channels[3300]="S5.0E-86-26-4630"; -channelsnames[3301]="TV 2/Øst"; -channels[3301]="S5.0E-86-26-4650"; -channelsnames[3302]="TV 2/Østjylland"; -channels[3302]="S5.0E-86-26-4620"; -channelsnames[3303]="Bandit"; -channels[3303]="S5.0E-86-26-4690"; -channelsnames[3304]="Rix FM"; -channels[3304]="S5.0E-86-26-4692"; -channelsnames[3305]="P4 Lyden av Norge"; -channels[3305]="S5.0E-86-26-4694"; -channelsnames[3306]="Lugna Favoriter"; -channels[3306]="S5.0E-86-26-4696"; -channelsnames[3307]="Kanal 2"; -channels[3307]="S5.0E-85-52-2950"; -channelsnames[3308]="Kanal 11"; -channels[3308]="S5.0E-85-52-2960"; -channelsnames[3309]="ETV2"; -channels[3309]="S5.0E-85-52-2970"; -channelsnames[3310]="Golden Oldies"; -channels[3310]="S5.0E-86-22-3716"; -channelsnames[3311]="Jazz"; -channels[3311]="S5.0E-86-22-3718"; -channelsnames[3312]="Classic"; -channels[3312]="S5.0E-86-22-3722"; -channelsnames[3313]="Disco"; -channels[3313]="S5.0E-86-22-3724"; -channelsnames[3314]="Soul R&b"; -channels[3314]="S5.0E-86-22-3728"; -channelsnames[3315]="Super 80's"; -channels[3315]="S5.0E-86-22-3732"; -channelsnames[3316]="TV4"; -channels[3316]="S5.0E-86-22-3670"; -channelsnames[3317]="Comedy Central"; -channels[3317]="S5.0E-86-22-3660"; -channelsnames[3318]="Kanal 5"; -channels[3318]="S5.0E-86-22-3650"; -channelsnames[3319]="National Geographic (N)"; -channels[3319]="S5.0E-86-22-3640"; -channelsnames[3320]="TV10"; -channels[3320]="S5.0E-86-23-3800"; -channelsnames[3321]="Viasat Fotball"; -channels[3321]="S5.0E-86-23-3830"; -channelsnames[3322]="Boomerang"; -channels[3322]="S5.0E-86-23-3850"; -channelsnames[3323]="TV2 Zebra"; -channels[3323]="S5.0E-86-23-3820"; -channelsnames[3324]="TV4 Komedi"; -channels[3324]="S5.0E-86-23-3890"; -channelsnames[3325]="TV12"; -channels[3325]="S5.0E-86-23-3840"; -channelsnames[3326]="Kanal 5"; -channels[3326]="S5.0E-86-23-3880"; -channelsnames[3327]="TV4 Fakta XL"; -channels[3327]="S5.0E-86-23-3860"; -channelsnames[3328]="TV 2 Norge"; -channels[3328]="S5.0E-86-23-3810"; -channelsnames[3329]="TV1000 Premium"; -channels[3329]="S5.0E-85-18-6800"; -channelsnames[3330]="Lithuanian TV1"; -channels[3330]="S5.0E-85-18-6810"; -channelsnames[3331]="CANAL8 Sport"; -channels[3331]="S5.0E-86-24-4410"; -channelsnames[3332]="TV 2 Nyhetskanalen"; -channels[3332]="S5.0E-86-24-4450"; -channelsnames[3333]="dk4"; -channels[3333]="S5.0E-86-24-4470"; -channelsnames[3334]="TVN Chile Nordic"; -channels[3334]="S5.0E-86-6-4000"; -channelsnames[3335]="Visjon Norge"; -channels[3335]="S5.0E-86-6-4010"; -channelsnames[3336]="Kanal 10"; -channels[3336]="S5.0E-86-6-4050"; -channelsnames[3337]="GOD Channel"; -channels[3337]="S5.0E-86-6-4060"; -channelsnames[3338]="Viasat Xtra 8"; -channels[3338]="S5.0E-86-10-8110"; -channelsnames[3339]="Viasat Xtra 9"; -channels[3339]="S5.0E-86-10-8130"; -channelsnames[3340]="Viasat Xtra NHL8"; -channels[3340]="S5.0E-86-10-8140"; -channelsnames[3341]="TV11"; -channels[3341]="S5.0E-86-8-6000"; -channelsnames[3342]="TV 2 Filmkanalen"; -channels[3342]="S5.0E-86-8-6010"; -channelsnames[3343]="Ticket"; -channels[3343]="S5.0E-86-8-6020"; -channelsnames[3344]="MTV NO"; -channels[3344]="S5.0E-86-8-6040"; -channelsnames[3345]="Sjuan"; -channels[3345]="S5.0E-86-8-6080"; -channelsnames[3346]="TV4 Film"; -channels[3346]="S5.0E-86-8-6090"; -channelsnames[3347]="FEM"; -channels[3347]="S5.0E-86-21-3400"; -channelsnames[3348]="Viasat Fotboll"; -channels[3348]="S5.0E-86-21-3420"; -channelsnames[3349]="Nickelodeon DK / MTV Hits"; -channels[3349]="S5.0E-86-21-3450"; -channelsnames[3350]="Viasat Motor"; -channels[3350]="S5.0E-86-21-3430"; -channelsnames[3351]="Viasat Sport Norge"; -channels[3351]="S5.0E-86-21-3440"; -channelsnames[3352]="DR1"; -channels[3352]="S5.0E-86-9-7010"; -channelsnames[3353]="DR2"; -channels[3353]="S5.0E-86-9-7020"; -channelsnames[3354]="TV8"; -channels[3354]="S5.0E-86-9-7030"; -channelsnames[3355]="TV3 Puls"; -channels[3355]="S5.0E-86-9-7060"; -channelsnames[3356]="MTV DK"; -channels[3356]="S5.0E-86-9-7070"; -channelsnames[3357]="DR P1"; -channels[3357]="S5.0E-86-9-7210"; -channelsnames[3358]="DR P3"; -channels[3358]="S5.0E-86-9-7212"; -channelsnames[3359]="DR Klassisk"; -channels[3359]="S5.0E-86-9-7214"; -channelsnames[3360]="Emmanuel"; -channels[3360]="S5.0E-85-15-6500"; -channelsnames[3361]="NEWS ONE"; -channels[3361]="S5.0E-85-15-6510"; -channelsnames[3362]="1 Auto"; -channels[3362]="S5.0E-85-15-6520"; -channelsnames[3363]="RU MUSIC"; -channels[3363]="S5.0E-85-15-6530"; -channelsnames[3364]="Ukrainian Fashion"; -channels[3364]="S5.0E-85-15-6540"; -channelsnames[3365]="A-One UA"; -channels[3365]="S5.0E-85-15-6545"; -channelsnames[3366]="Dobro TV"; -channels[3366]="S5.0E-85-15-6555"; -channelsnames[3367]="Star TV UKR"; -channels[3367]="S5.0E-85-15-6560"; -channelsnames[3368]="PogodaTV"; -channels[3368]="S5.0E-85-15-6565"; -channelsnames[3369]="Business"; -channels[3369]="S5.0E-85-15-6580"; -channelsnames[3370]="YHT"; -channels[3370]="S5.0E-85-15-6585"; -channelsnames[3371]="SHOPping TV"; -channels[3371]="S5.0E-85-15-6590"; -channelsnames[3372]="SVT1 Nord"; -channels[3372]="S5.0E-86-11-2450"; -channelsnames[3373]="SVT1 Västerbotten"; -channels[3373]="S5.0E-86-11-2460"; -channelsnames[3374]="SVT1 Mitt"; -channels[3374]="S5.0E-86-11-2470"; -channelsnames[3375]="SVT1 Gävledala"; -channels[3375]="S5.0E-86-11-2480"; -channelsnames[3376]="SVT1 Värmland"; -channels[3376]="S5.0E-86-11-2490"; -channelsnames[3377]="SVT1 Tvärs"; -channels[3377]="S5.0E-86-11-2500"; -channelsnames[3378]="SVT1"; -channels[3378]="S5.0E-86-11-2510"; -channelsnames[3379]="SVT1 Öst"; -channels[3379]="S5.0E-86-11-2520"; -channelsnames[3380]="SVT1 Väst"; -channels[3380]="S5.0E-86-11-2530"; -channelsnames[3381]="SVT1 Småland"; -channels[3381]="S5.0E-86-11-2540"; -channelsnames[3382]="SVT1 Syd"; -channels[3382]="S5.0E-86-11-2550"; -channelsnames[3383]="SVT2 Nord"; -channels[3383]="S5.0E-86-11-2300"; -channelsnames[3384]="SVT2 Västerbotten"; -channels[3384]="S5.0E-86-11-2310"; -channelsnames[3385]="SVT2 Mitt"; -channels[3385]="S5.0E-86-11-2320"; -channelsnames[3386]="SVT2 Gävledala"; -channels[3386]="S5.0E-86-11-2330"; -channelsnames[3387]="SVT2 Värmland"; -channels[3387]="S5.0E-86-11-2340"; -channelsnames[3388]="SVT2 Tvärs"; -channels[3388]="S5.0E-86-11-2350"; -channelsnames[3389]="SVT2"; -channels[3389]="S5.0E-86-11-2360"; -channelsnames[3390]="SVT2 Öst"; -channels[3390]="S5.0E-86-11-2370"; -channelsnames[3391]="SVT2 Väst"; -channels[3391]="S5.0E-86-11-2380"; -channelsnames[3392]="SVT2 Småland"; -channels[3392]="S5.0E-86-11-2390"; -channelsnames[3393]="SVT2 Syd"; -channels[3393]="S5.0E-86-11-2400"; -channelsnames[3394]="Pro BCE"; -channels[3394]="S5.0E-85-17-6960"; -channelsnames[3395]="LALE"; -channels[3395]="S5.0E-85-17-6970"; -channelsnames[3500]="DISCOVERY CHANNEL"; -channels[3500]="S42.0E-42-55000-3601"; -channelsnames[3501]="TV2"; -channels[3501]="S42.0E-66-3-1303"; -channelsnames[3502]="TRT BELGESEL"; -channels[3502]="S42.0E-1-1-18"; -channelsnames[3503]="KIDZ/ANIMEZ"; -channels[3503]="S42.0E-42-55-100"; -channelsnames[3504]="SPORTS TV"; -channels[3504]="S42.0E-42-502-14"; -channelsnames[3505]="DUBLE TV"; -channels[3505]="S42.0E-42-55-2800"; -channelsnames[3506]="WORLD TRAVEL CHANNEL"; -channels[3506]="S42.0E-1070-41901-50702"; -channelsnames[3507]="CNN TÜRK OBSOLETE"; -channels[3507]="S42.0E-66-3-1"; -channelsnames[3508]="EURO D OBSOLETE"; -channels[3508]="S42.0E-66-3-3"; -channelsnames[3509]="ONE SUPER TV OBSOLETE"; -channels[3509]="S42.0E-66-3-4"; -channelsnames[3510]="BULUT TV OBSOLETE"; -channels[3510]="S42.0E-66-3-5"; -channelsnames[3511]="SUPERPOP TV OBSOLETE"; -channels[3511]="S42.0E-66-3-6"; -channelsnames[3512]="KARIŞIK TV OBSOLETE"; -channels[3512]="S42.0E-66-3-7"; -channelsnames[3513]="PİKSEL TV OBSOLETE"; -channels[3513]="S42.0E-66-3-8"; -channelsnames[3514]="ONE BAL TV OBSOLETE"; -channels[3514]="S42.0E-66-3-10"; -channelsnames[3515]="CNN TÜRK RADYO OBSOLETE"; -channels[3515]="S42.0E-66-3-11"; -channelsnames[3516]="RADYO D OBSOLETE"; -channels[3516]="S42.0E-66-3-12"; -channelsnames[3517]="MCJ MEDIASA"; -channels[3517]="S42.0E-42-1089-2"; -channelsnames[3518]="SLOW TÜRK OBSOLETE"; -channels[3518]="S42.0E-66-3-13"; -channelsnames[3519]="BEST FM OBSOLETE"; -channels[3519]="S42.0E-66-3-14"; -channelsnames[3520]="PMC TV OBSOLETE"; -channels[3520]="S42.0E-66-3-32"; -channelsnames[3521]="MÜZİK TÜRK OBSOLETE"; -channels[3521]="S42.0E-66-3-33"; -channelsnames[3522]="HAZAN TV OBSOLETE"; -channels[3522]="S42.0E-66-3-37"; -channelsnames[3523]="DHA FEED OBSOLETE"; -channels[3523]="S42.0E-66-3-41"; -channelsnames[3524]="PLANET ÇOCUK OBSOLETE"; -channels[3524]="S42.0E-66-3-43"; -channelsnames[3525]="PLANET PEMBE OBSOLETE"; -channels[3525]="S42.0E-66-3-44"; -channelsnames[3526]="PLANET MUTFAK OBSOLETE"; -channels[3526]="S42.0E-66-3-45"; -channelsnames[3527]="PLANET TÜRK OBSOLETE"; -channels[3527]="S42.0E-66-3-46"; -channelsnames[3528]="NİSA TV OBSOLETE"; -channels[3528]="S42.0E-66-3-47"; -channelsnames[3529]="MEDYA TV OBSOLETE"; -channels[3529]="S42.0E-66-3-48"; -channelsnames[3530]="DOGU TV OBSOLETE"; -channels[3530]="S42.0E-66-3-49"; -channelsnames[3531]="SERVICE 1 OBSOLETE"; -channels[3531]="S42.0E-66-3-81"; -channelsnames[3532]="SERVICE 2 OBSOLETE"; -channels[3532]="S42.0E-66-3-82"; -channelsnames[3533]="SERVICE 3 OBSOLETE"; -channels[3533]="S42.0E-66-3-83"; -channelsnames[3534]="SERVICE 4 OBSOLETE"; -channels[3534]="S42.0E-66-3-84"; -channelsnames[3535]="TRT 1"; -channels[3535]="S42.0E-1-1-1"; -channelsnames[3536]="RADYO 1"; -channels[3536]="S42.0E-1-1-2"; -channelsnames[3537]="RADYO 3"; -channels[3537]="S42.0E-1-1-3"; -channelsnames[3538]="RADYO GAP"; -channels[3538]="S42.0E-1-1-4"; -channelsnames[3539]="TRT HABER"; -channels[3539]="S42.0E-1-1-5"; -channelsnames[3540]="TRT FM"; -channels[3540]="S42.0E-1-1-6"; -channelsnames[3541]="RADYO 4"; -channels[3541]="S42.0E-1-1-7"; -channelsnames[3542]="RADYO 6"; -channels[3542]="S42.0E-1-1-8"; -channelsnames[3543]="TRT TURK"; -channels[3543]="S42.0E-1-1-9"; -channelsnames[3544]="VOT WORLD"; -channels[3544]="S42.0E-1-1-10"; -channelsnames[3545]="TSR TURKCE"; -channels[3545]="S42.0E-1-1-11"; -channelsnames[3546]="TRT 3-SPOR"; -channels[3546]="S42.0E-1-1-12"; -channelsnames[3547]="Meteorolojinin Sesi"; -channels[3547]="S42.0E-1-1-13"; -channelsnames[3548]="VOT WEST"; -channels[3548]="S42.0E-1-1-14"; -channelsnames[3549]="TRT RADYO HABER"; -channels[3549]="S42.0E-1-1-15"; -channelsnames[3550]="TRT COCUK"; -channels[3550]="S42.0E-1-1-16"; -channelsnames[3551]="TRT NAGME"; -channels[3551]="S42.0E-1-1-17"; -channelsnames[3552]="TRT AVRUPA FM"; -channels[3552]="S42.0E-1-1-19"; -channelsnames[3553]="TRT TURKU"; -channels[3553]="S42.0E-1-1-20"; -channelsnames[3554]="INTERCOM"; -channels[3554]="S42.0E-1-1-21"; -channelsnames[3555]="TRT OKUL"; -channels[3555]="S42.0E-1-1-22"; -channelsnames[3556]="TRT MUZIK"; -channels[3556]="S42.0E-1-1-23"; -channelsnames[3557]="ALTIN ORDU"; -channels[3557]="S42.0E-42-55-300"; -channelsnames[3558]="SINEMA TV"; -channels[3558]="S42.0E-42-55-400"; -channelsnames[3559]="SINEMA TV2"; -channels[3559]="S42.0E-42-55-500"; -channelsnames[3560]="SINEMA TV AILE"; -channels[3560]="S42.0E-42-55-600"; -channelsnames[3561]="SINEMA TV HD"; -channels[3561]="S42.0E-42-55-700"; -channelsnames[3562]="SINEMATV HD2"; -channels[3562]="S42.0E-42-55-800"; -channelsnames[3563]="SINEMA TV 1001"; -channels[3563]="S42.0E-42-55-1000"; -channelsnames[3564]="BBC HD"; -channels[3564]="S42.0E-42-55-1300"; -channelsnames[3565]="SINEMA TV 1001 HD"; -channels[3565]="S42.0E-42-55-1400"; -channelsnames[3566]="SINEMA TV AILE HD"; -channels[3566]="S42.0E-42-55-1500"; -channelsnames[3567]="YEDIRENK"; -channels[3567]="S42.0E-42-55-2000"; -channelsnames[3568]="BAHAR TV"; -channels[3568]="S42.0E-42-55-2100"; -channelsnames[3569]="ARABESK TV"; -channels[3569]="S42.0E-42-55-2500"; -channelsnames[3570]="DEPOMEPO TV"; -channels[3570]="S42.0E-42-55-2600"; -channelsnames[3571]="LAGUN TV"; -channels[3571]="S42.0E-42-55-2700"; -channelsnames[3572]="KON TV"; -channels[3572]="S42.0E-42-3-1"; -channelsnames[3573]="HALK TV"; -channels[3573]="S42.0E-42-3-2"; -channelsnames[3574]="KACKAR TV"; -channels[3574]="S42.0E-42-3-3"; -channelsnames[3575]="SMARTSHOPPING TV"; -channels[3575]="S42.0E-42-3-4"; -channelsnames[3576]="BEREKET TV"; -channels[3576]="S42.0E-42-3-5"; -channelsnames[3577]="SHOPPING TV"; -channels[3577]="S42.0E-42-3-6"; -channelsnames[3578]="67 TV"; -channels[3578]="S42.0E-42-3-7"; -channelsnames[3579]="SAMSUN AKS TV"; -channels[3579]="S42.0E-42-3-8"; -channelsnames[3580]="VIZYONTURK"; -channels[3580]="S42.0E-42-3-10"; -channelsnames[3581]="ULUSAL KANAL"; -channels[3581]="S42.0E-42-3-11"; -channelsnames[3582]="AKDENIZ TV"; -channels[3582]="S42.0E-42-3-12"; -channelsnames[3583]="TATLISES TV"; -channels[3583]="S42.0E-42-3-13"; -channelsnames[3584]="REHBER TV"; -channels[3584]="S42.0E-42-3-14"; -channelsnames[3585]="YON RADYO"; -channels[3585]="S42.0E-42-3-18"; -channelsnames[3586]="RIBAT FM"; -channels[3586]="S42.0E-42-3-19"; -channelsnames[3587]="RADYO SILA"; -channels[3587]="S42.0E-42-3-21"; -channelsnames[3588]="KONYA FM"; -channels[3588]="S42.0E-42-3-26"; -channelsnames[3589]="VIZYON TURK"; -channels[3589]="S42.0E-42-3-27"; -channelsnames[3590]="CAGRI FM"; -channels[3590]="S42.0E-42-3-29"; -channelsnames[3591]="T KACKAR"; -channels[3591]="S42.0E-42-3-30"; -channelsnames[3592]="ANC RADYO"; -channels[3592]="S42.0E-42-3-31"; -channelsnames[3593]="EM TV"; -channels[3593]="S42.0E-42-502-1"; -channelsnames[3594]="UZAY TV"; -channels[3594]="S42.0E-42-502-2"; -channelsnames[3595]="ALTAS TV"; -channels[3595]="S42.0E-42-502-3"; -channelsnames[3596]="FB TV"; -channels[3596]="S42.0E-42-502-4"; -channelsnames[3597]="BURSA AS TV"; -channels[3597]="S42.0E-42-502-5"; -channelsnames[3598]="KONYA TV"; -channels[3598]="S42.0E-42-502-6"; -channelsnames[3599]="MAXI TV"; -channels[3599]="S42.0E-42-502-7"; -channelsnames[3600]="GALA TV"; -channels[3600]="S42.0E-42-502-8"; -channelsnames[3601]="ON4 TV"; -channels[3601]="S42.0E-42-502-9"; -channelsnames[3602]="YILDIZ TV"; -channels[3602]="S42.0E-42-502-10"; -channelsnames[3603]="TURKIYEM TV"; -channels[3603]="S42.0E-42-502-11"; -channelsnames[3604]="DOLUNAY FM"; -channels[3604]="S42.0E-42-502-13"; -channelsnames[3605]="BAYRAM FM"; -channels[3605]="S42.0E-42-502-15"; -channelsnames[3606]="SUN TV"; -channels[3606]="S42.0E-42-502-16"; -channelsnames[3607]="silafm"; -channels[3607]="S42.0E-42-502-17"; -channelsnames[4001]="TVN HD"; -channels[4001]="S13.0E-318-1600-15821"; -channelsnames[4002]="TVN Siedem"; -channels[4002]="S13.0E-318-1000-4313"; -channelsnames[4003]="TVN STYLE HD"; -channels[4003]="S13.0E-318-1600-15823"; -channelsnames[4004]="TVN Turbo HD"; -channels[4004]="S13.0E-318-1600-15824"; -channelsnames[4005]="TTV"; -channels[4005]="S13.0E-318-1000-4317"; -channelsnames[4006]="TVN 24 HD"; -channels[4006]="S13.0E-318-1600-15826"; -channelsnames[4007]="Polsat HD"; -channels[4007]="S13.0E-113-7800-3107"; -channelsnames[4008]="TV4"; -channels[4008]="S13.0E-113-13200-13103"; -channelsnames[4009]="Kuchnia+ HD"; -channels[4009]="S13.0E-318-1100-14237"; -channelsnames[4010]="Polsat2"; -channels[4010]="S13.0E-113-13200-13110"; -channelsnames[4011]="TVP 1 HD"; -channels[4011]="S13.0E-318-1300-15037"; -channelsnames[4012]="TVP 2 HD"; -channels[4012]="S13.0E-113-7800-3106"; -channelsnames[4013]="TVP HD"; -channels[4013]="S13.0E-318-300-15202"; -channelsnames[4014]="TVP SERIALE"; -channels[4014]="S13.0E-318-11400-15708"; -channelsnames[4015]="TVP INFO"; -channels[4015]="S13.0E-318-1500-5110"; -channelsnames[4016]="TVP Kultura"; -channels[4016]="S13.0E-318-1500-5113"; -channelsnames[4017]="TV POLONIA"; -channels[4017]="S13.0E-318-1500-5101"; -channelsnames[4018]="TVP Historia"; -channels[4018]="S13.0E-318-11600-3524"; -channelsnames[4019]="TVP Rozrywka"; -channels[4019]="S13.0E-318-11200-17032"; -channelsnames[4020]="TV PULS"; -channels[4020]="S13.0E-318-1500-5112"; -channelsnames[4021]="Superstacja"; -channels[4021]="S13.0E-113-7900-10521"; -channelsnames[4022]="TVN 24 Biznes i Swiat"; -channels[4022]="S13.0E-318-1000-4322"; -channelsnames[4023]="TVN Meteo"; -channels[4023]="S13.0E-318-1000-4318"; -channelsnames[4024]="TV6"; -channels[4024]="S13.0E-113-7900-10510"; -channelsnames[4025]="Polsat News 2"; -channels[4025]="S13.0E-113-13200-13107"; -channelsnames[4026]="Polsat News"; -channels[4026]="S13.0E-113-13200-13129"; -channelsnames[4027]="BBC HD"; -channels[4027]="S13.0E-318-11600-3590"; -channelsnames[4028]="BBC Entertainment Poland"; -channels[4028]="S13.0E-318-13000-14602"; -channelsnames[4029]="TVN 24"; -channels[4029]="S13.0E-318-1000-4312"; -channelsnames[4030]="CANAL+ HD"; -channels[4030]="S13.0E-318-400-13020"; -channelsnames[4031]="CANAL+ FILM HD"; -channels[4031]="S13.0E-318-1100-14201"; -channelsnames[4032]="CANAL+ FILM2 HD"; -channels[4032]="S13.0E-318-1100-14210"; -channelsnames[4033]="CANAL+ FAMILY HD"; -channels[4033]="S13.0E-318-1100-14203"; -channelsnames[4034]="CANAL+ FAMILY2 HD"; -channels[4034]="S13.0E-318-1100-14202"; -channelsnames[4035]="CANAL+ SPORT HD"; -channels[4035]="S13.0E-318-400-13022"; -channelsnames[4048]="Cinemax HD"; -channels[4048]="S13.0E-318-300-15207"; -channelsnames[4049]="Cinemax 2 HD"; -channels[4049]="S13.0E-113-7800-3110"; -channelsnames[4050]="HBO HD"; -channels[4050]="S13.0E-113-7800-3105"; -channelsnames[4051]="HBO2 HD"; -channels[4051]="S13.0E-318-11600-3593"; -channelsnames[4052]="HBO COMEDY HD"; -channels[4052]="S13.0E-318-11600-3594"; -channelsnames[4053]="Ale kino+ HD"; -channels[4053]="S13.0E-318-1100-14239"; -channelsnames[4054]="FOX HD"; -channels[4054]="S13.0E-113-7800-3111"; -channelsnames[4055]="FoxLife HD"; -channels[4055]="S13.0E-113-7800-3103"; -channelsnames[4056]="AXN HD"; -channels[4056]="S13.0E-113-7800-3109"; -channelsnames[4057]="AXN Spin HD"; -channels[4057]="S13.0E-318-12000-15908"; -channelsnames[4058]="MGM HD"; -channels[4058]="S13.0E-318-1300-15031"; -channelsnames[4059]="Romance TV"; -channels[4059]="S13.0E-318-1300-15038"; -channelsnames[4060]="Sundance HD"; -channels[4060]="S13.0E-318-12000-15901"; -channelsnames[4145]="4fun.TV"; -channels[4145]="S13.0E-318-11000-4404"; -channelsnames[4165]="FILMBOX HD"; -channels[4165]="S13.0E-318-400-13025"; -channelsnames[4166]="Filmbox Extra"; -channels[4166]="S13.0E-318-11400-15712"; -channelsnames[4167]="Filmbox Family"; -channels[4167]="S13.0E-318-11400-15714"; -channelsnames[4168]="Filmbox Action"; -channels[4168]="S13.0E-318-11400-15717"; -channelsnames[4169]="Filmbox"; -channels[4169]="S13.0E-318-11400-15713"; -channelsnames[4210]="TVN"; -channels[4210]="S13.0E-318-1000-4311"; -channelsnames[4211]="TVP 1"; -channels[4211]="S13.0E-318-11900-4807"; -channelsnames[4212]="TVP 2"; -channels[4212]="S13.0E-318-11900-4808"; -channelsnames[4213]="TV PULS"; -channels[4213]="S13.0E-318-1500-5142"; -channelsnames[4272]="FoxLife"; -channels[4272]="S13.0E-113-7400-7375"; -channelsnames[4500]="CANAL+ FAMILY"; -channels[4500]="S13.0E-318-11000-4414"; -channelsnames[4501]="CANAL+ FAMILY2"; -channels[4501]="S13.0E-318-11000-4413"; -channelsnames[4502]="HBO"; -channels[4502]="S13.0E-318-11000-4429"; -channelsnames[4503]="HBO2"; -channels[4503]="S13.0E-318-11000-4431"; -channelsnames[4504]="HBO COMEDY"; -channels[4504]="S13.0E-318-11000-4432"; -channelsnames[4505]="Universal Channel Poland"; -channels[4505]="S13.0E-318-700-1"; -channelsnames[4506]="Sci Fi Poland"; -channels[4506]="S13.0E-318-700-2"; -channelsnames[4507]="13 Ulica (Street) Poland"; -channels[4507]="S13.0E-318-700-3"; -channelsnames[4600]="teleTOON+ HD"; -channels[4600]="S13.0E-318-1100-14205"; -channelsnames[4601]="Planete+ HD"; -channels[4601]="S13.0E-318-1100-14206"; -channelsnames[4602]="Kuchnia+ HD"; -channels[4602]="S13.0E-318-1100-14207"; -channelsnames[4603]="Domo+ HD"; -channels[4603]="S13.0E-318-1100-14208"; -channelsnames[4604]="Ale kino+ HD"; -channels[4604]="S13.0E-318-1100-14209"; -channelsnames[4605]="teleTOON+ HD"; -channels[4605]="S13.0E-318-1100-14235"; -channelsnames[4606]="Planete+ HD"; -channels[4606]="S13.0E-318-1100-14236"; -channelsnames[4607]="Domo+ HD"; -channels[4607]="S13.0E-318-1100-14238"; -channelsnames[4608]="Polsat"; -channels[4608]="S13.0E-113-13200-13101"; -channelsnames[4609]="Polsat Play"; -channels[4609]="S13.0E-113-13200-13102"; -channelsnames[4610]="Polsat Sport"; -channels[4610]="S13.0E-113-13200-13104"; -channelsnames[4611]="Polsat Sport Extra"; -channels[4611]="S13.0E-113-13200-13105"; -channelsnames[4612]="Polsat Cafe"; -channels[4612]="S13.0E-113-13200-13106"; -channelsnames[4613]="Polsat Film"; -channels[4613]="S13.0E-113-13200-13108"; -channelsnames[4614]="Polsat News"; -channels[4614]="S13.0E-113-13200-13109"; -channelsnames[4615]="Polsat Play"; -channels[4615]="S13.0E-113-13200-13122"; -channelsnames[4616]="Polsat Cafe"; -channels[4616]="S13.0E-113-13200-13126"; -channelsnames[4617]="Polsat News"; -channels[4617]="S13.0E-113-13200-13139"; -channelsnames[4618]="CANAL+"; -channels[4618]="S13.0E-318-11900-4801"; -channelsnames[4619]="CANAL+ FILM"; -channels[4619]="S13.0E-318-11900-4802"; -channelsnames[4620]="CANAL+ FILM2"; -channels[4620]="S13.0E-318-11900-4803"; -channelsnames[4621]="Kuchnia+"; -channels[4621]="S13.0E-318-11900-4804"; -channelsnames[4622]="Ale kino+"; -channels[4622]="S13.0E-318-11900-4805"; -channelsnames[4623]="teleTOON+"; -channels[4623]="S13.0E-318-11900-4806"; -channelsnames[4624]="CANAL+ SPORT"; -channels[4624]="S13.0E-318-11900-4809"; -channelsnames[4625]="Domo+"; -channels[4625]="S13.0E-318-11900-4811"; -channelsnames[4626]="4823"; -channels[4626]="S13.0E-318-11900-4823"; -channelsnames[4627]="H test 1"; -channels[4627]="S13.0E-318-11900-4830"; -channelsnames[4628]="H test 2"; -channels[4628]="S13.0E-318-11900-4831"; -channelsnames[4629]="H test 3"; -channels[4629]="S13.0E-318-11900-4832"; -channelsnames[4630]="CANAL+ FILM"; -channels[4630]="S13.0E-318-11900-4833"; -channelsnames[4631]="CANAL+ FILM2"; -channels[4631]="S13.0E-318-11900-4834"; -channelsnames[4632]="CANAL+"; -channels[4632]="S13.0E-318-11900-4835"; -channelsnames[4633]="CANAL+ FILM"; -channels[4633]="S13.0E-318-11900-4836"; -channelsnames[4634]="CANAL+ SPORT"; -channels[4634]="S13.0E-318-11900-4837"; -channelsnames[4635]="CYFRA+ RADIO"; -channels[4635]="S13.0E-318-11900-4840"; -channelsnames[4636]="CYFRA+ RMF"; -channels[4636]="S13.0E-318-11900-4842"; -channelsnames[4637]="CYFRA+ PR"; -channels[4637]="S13.0E-318-11900-4844"; -channelsnames[4638]="JASNA GORA"; -channels[4638]="S13.0E-318-11900-4845"; -channelsnames[4639]="CANAL+"; -channels[4639]="S13.0E-318-11900-4851"; -channelsnames[4640]="CANAL+ SPORT"; -channels[4640]="S13.0E-318-11900-4853"; -channelsnames[4641]="Kuchnia+"; -channels[4641]="S13.0E-318-11900-4854"; -channelsnames[4642]="Ale kino+"; -channels[4642]="S13.0E-318-11900-4855"; -channelsnames[4643]="teleTOON+"; -channels[4643]="S13.0E-318-11900-4856"; -channelsnames[4644]="Domo+"; -channels[4644]="S13.0E-318-11900-4857"; -channelsnames[4645]="TOK FM"; -channels[4645]="S13.0E-318-11900-4862"; -channelsnames[4646]="tech 2"; -channels[4646]="S13.0E-318-11900-4863"; -channelsnames[4647]="Kuchnia+"; -channels[4647]="S13.0E-318-11900-4864"; -channelsnames[4648]="DTV CABLE KU"; -channels[4648]="S13.0E-318-11900-4874"; -channelsnames[4649]="DTV CABLE AL"; -channels[4649]="S13.0E-318-11900-4875"; -channelsnames[4650]="DTV CABLE TT"; -channels[4650]="S13.0E-318-11900-4876"; -channelsnames[4651]="PR1"; -channels[4651]="S13.0E-318-11900-4881"; -channelsnames[4652]="PR2"; -channels[4652]="S13.0E-318-11900-4882"; -channelsnames[4653]="PR3"; -channels[4653]="S13.0E-318-11900-4883"; -channelsnames[4654]="Planete+"; -channels[4654]="S13.0E-318-11000-4406"; -channelsnames[4655]="MiniMini+"; -channels[4655]="S13.0E-318-11000-4407"; -channelsnames[4656]="nSport+"; -channels[4656]="S13.0E-318-11000-4408"; -channelsnames[4657]="HISTORY"; -channels[4657]="S13.0E-318-11000-4409"; -channelsnames[4658]="CANAL+ FAMILY2"; -channels[4658]="S13.0E-318-11000-4423"; -channelsnames[4659]="ESP"; -channels[4659]="S13.0E-318-11000-4435"; -channelsnames[4660]="Planete+"; -channels[4660]="S13.0E-318-11000-4451"; -channelsnames[4661]="MiniMini+"; -channels[4661]="S13.0E-318-11000-4452"; -channelsnames[4662]="nSport+"; -channels[4662]="S13.0E-318-11000-4458"; -channelsnames[4663]="DTV CABLE PL"; -channels[4663]="S13.0E-318-11000-4476"; -channelsnames[4664]="DTV CABLE MI"; -channels[4664]="S13.0E-318-11000-4477"; -channelsnames[4665]="STREFA ABONENTA nc+"; -channels[4665]="S13.0E-318-11000-4481"; -channelsnames[4666]="Test-R"; -channels[4666]="S19.2E-1-1051-28726"; -channelsnames[4667]="TVS"; -channels[4667]="S13.0E-318-1500-5102"; -channelsnames[4668]="KINO POLSKA"; -channels[4668]="S13.0E-318-1500-5104"; -channelsnames[4669]="TRACE TV"; -channels[4669]="S13.0E-318-1500-5105"; -channelsnames[4670]="5108"; -channels[4670]="S13.0E-318-1500-5108"; -channelsnames[4671]="TVP Regionalna"; -channels[4671]="S13.0E-318-1500-5115"; -channelsnames[4672]="ANIMAL PLANET"; -channels[4672]="S13.0E-318-1500-5122"; -channelsnames[4673]="CBS Drama"; -channels[4673]="S13.0E-318-1500-5126"; -channelsnames[4674]="CBS Reality"; -channels[4674]="S13.0E-318-1500-5127"; -channelsnames[4675]="TVP Kultura"; -channels[4675]="S13.0E-318-1500-5143"; -channelsnames[4676]="CINEMAX"; -channels[4676]="S13.0E-318-1500-5146"; -channelsnames[4677]="Boomerang CZ"; -channels[4677]="S23.5E-3-3202-6036"; -channelsnames[4678]="Animal Planet CZ"; -channels[4678]="S23.5E-3-3202-6041"; -channelsnames[4679]="EDGE"; -channels[4679]="S23.5E-3-3202-6111"; -channelsnames[4680]="EDGE CZ"; -channels[4680]="S23.5E-3-3202-6151"; -channelsnames[4681]="Polsat Romans"; -channels[4681]="S13.0E-113-7400-7301"; -channelsnames[4682]="AXN White"; -channels[4682]="S13.0E-113-7400-7302"; -channelsnames[4683]="AXN Black"; -channels[4683]="S13.0E-113-7400-7303"; -channelsnames[4684]="Fightbox"; -channels[4684]="S13.0E-113-7400-7304"; -channelsnames[4685]="Extreme Sports"; -channels[4685]="S13.0E-113-7400-7305"; -channelsnames[4686]="Eurosport"; -channels[4686]="S13.0E-113-7400-7306"; -channelsnames[4687]="Nat Geo Wild"; -channels[4687]="S13.0E-113-7400-7307"; -channelsnames[4688]="Disco Polo Music"; -channels[4688]="S13.0E-113-7400-7308"; -channelsnames[4689]="Disco Polo Music"; -channels[4689]="S13.0E-113-7400-7310"; -channelsnames[4690]="Discovery"; -channels[4690]="S13.0E-113-7400-7315"; -channelsnames[4691]="AXN"; -channels[4691]="S13.0E-113-7400-7318"; -channelsnames[4692]="Disney XD"; -channels[4692]="S13.0E-113-7400-7349"; -channelsnames[4693]="Polsat Viasat Explore"; -channels[4693]="S13.0E-113-7400-7371"; -channelsnames[4694]="Polsat Viasat History"; -channels[4694]="S13.0E-113-7400-7372"; -channelsnames[4695]="Polsat Viasat Nature"; -channels[4695]="S13.0E-113-7400-7373"; -channelsnames[4696]="D. SCIENCE"; -channels[4696]="S13.0E-318-11400-15701"; -channelsnames[4697]="Discovery Turbo Xtra"; -channels[4697]="S13.0E-318-11400-15703"; -channelsnames[4698]="TVP SPORT"; -channels[4698]="S13.0E-318-11400-15704"; -channelsnames[4699]="TELE5"; -channels[4699]="S13.0E-318-11400-15705"; -channelsnames[4700]="POLONIA1"; -channels[4700]="S13.0E-318-11400-15706"; -channelsnames[4701]="CINEMAX 2"; -channels[4701]="S13.0E-318-11400-15707"; -channelsnames[4702]="NATIONAL GEO"; -channels[4702]="S13.0E-318-11400-15710"; -channelsnames[4703]="Orange Sport"; -channels[4703]="S13.0E-318-11400-15711"; -channelsnames[4704]="POLSAT VOLLEYBALL 4"; -channels[4704]="S13.0E-318-11400-15716"; -channelsnames[4705]="TVP Seriale"; -channels[4705]="S13.0E-318-11400-15728"; -channelsnames[4706]="MTV Polska"; -channels[4706]="S13.0E-318-12800-2"; -channelsnames[4707]="CC Family"; -channels[4707]="S13.0E-318-12800-4"; -channelsnames[4708]="VIVA Polska"; -channels[4708]="S13.0E-318-12800-5"; -channelsnames[4709]="Viacom Blink!"; -channels[4709]="S13.0E-318-12800-6"; -channelsnames[4710]="VH1"; -channels[4710]="S13.0E-318-12800-7"; -channelsnames[4711]="Comedy Central Polska"; -channels[4711]="S13.0E-318-12800-10"; -channelsnames[4712]="Nickelodeon"; -channels[4712]="S13.0E-318-12800-11"; -channelsnames[4713]="MTV Live HD"; -channels[4713]="S13.0E-318-12800-21"; -channelsnames[4714]="MTV Polska."; -channels[4714]="S13.0E-318-12800-22"; -channelsnames[4715]="CC Family."; -channels[4715]="S13.0E-318-12800-24"; -channelsnames[4716]="VIVA Polska."; -channels[4716]="S13.0E-318-12800-25"; -channelsnames[4717]="Comedy Central Polska."; -channels[4717]="S13.0E-318-12800-30"; -channelsnames[4718]="VIVA Polska.."; -channels[4718]="S13.0E-318-12800-45"; -channelsnames[4719]="Starz TV"; -channels[4719]="S28.2E-2-2314-53335"; -channelsnames[4720]="?TV"; -channels[4720]="S28.2E-2-2314-53361"; -channelsnames[4721]="True Ent+1"; -channels[4721]="S28.2E-2-2314-53371"; -channelsnames[4722]="BBC Knowledge Poland"; -channels[4722]="S13.0E-318-13000-14603"; -channelsnames[4723]="BBC Lifestyle Poland"; -channels[4723]="S13.0E-318-13000-14604"; -channelsnames[4724]="BBC CBeebies Poland"; -channels[4724]="S13.0E-318-13000-14605"; -channelsnames[4725]="Discovery ID Poland"; -channels[4725]="S13.0E-318-13000-14612"; -channelsnames[4726]="TLC Poland"; -channels[4726]="S13.0E-318-13000-14613"; -channelsnames[4727]="Loveworld"; -channels[4727]="S13.0E-318-13000-14606"; -channelsnames[4728]="BBC Arabic TV"; -channels[4728]="S13.0E-318-13000-14616"; -channelsnames[4729]="BBC Arabic Radio"; -channels[4729]="S13.0E-318-13000-14617"; -channelsnames[4730]="BBC English (Europe)"; -channels[4730]="S13.0E-318-13000-14618"; -channelsnames[4731]="BBC English Mid-East"; -channels[4731]="S13.0E-318-13000-14619"; -channelsnames[4732]="TEST 1"; -channels[4732]="S13.0E-113-7900-10500"; -channelsnames[4733]="Polsat Food"; -channels[4733]="S13.0E-113-7900-10501"; -channelsnames[4734]="Boomerang"; -channels[4734]="S13.0E-113-7900-10502"; -channelsnames[4735]="Radio ZET Gold"; -channels[4735]="S13.0E-113-7900-10503"; -channelsnames[4736]="Radio ZET Gold"; -channels[4736]="S13.0E-113-7900-10504"; -channelsnames[4737]="MTV Rocks"; -channels[4737]="S13.0E-113-7900-10505"; -channelsnames[4738]="CBS Europa"; -channels[4738]="S13.0E-113-7900-10507"; -channelsnames[4739]="Polsat Jim Jam"; -channels[4739]="S13.0E-113-7900-10508"; -channelsnames[4740]="ATM Rozrywka TV"; -channels[4740]="S13.0E-113-7900-10511"; -channelsnames[4741]="Polsat Sport News"; -channels[4741]="S13.0E-113-7900-10514"; -channelsnames[4742]="Blue Hustler"; -channels[4742]="S13.0E-113-7900-10516"; -channelsnames[4743]="Zlote Przeboje"; -channels[4743]="S13.0E-113-7900-10519"; -channelsnames[4744]="Travel"; -channels[4744]="S13.0E-113-7900-10520"; -channelsnames[4745]="RMF FM"; -channels[4745]="S13.0E-113-7900-10523"; -channelsnames[4746]="Zlote Przeboje"; -channels[4746]="S13.0E-113-7900-10524"; -channelsnames[4747]="RMF Classic"; -channels[4747]="S13.0E-113-7900-10526"; -channelsnames[4748]="Radio PIN 102FM"; -channels[4748]="S13.0E-113-7900-10527"; -channelsnames[4749]="Jedynka - PR"; -channels[4749]="S13.0E-113-7900-10528"; -channelsnames[4750]="Trójka - PR"; -channels[4750]="S13.0E-113-7900-10529"; -channelsnames[4751]="Radio ZET"; -channels[4751]="S13.0E-113-7900-10530"; -channelsnames[4752]="Radio ZET"; -channels[4752]="S13.0E-113-7900-10531"; -channelsnames[4753]="RMF Classic"; -channels[4753]="S13.0E-113-7900-10532"; -channelsnames[4754]="Trójka - PR"; -channels[4754]="S13.0E-113-7900-10535"; -channelsnames[4755]="Radio PIN 102FM"; -channels[4755]="S13.0E-113-7900-10536"; -channelsnames[4756]="Jedynka - PR"; -channels[4756]="S13.0E-113-7900-10537"; -channelsnames[4757]="RMF FM"; -channels[4757]="S13.0E-113-7900-10538"; -channelsnames[4758]="RMF MAXXX"; -channels[4758]="S13.0E-113-7900-10543"; -channelsnames[4759]="RMF MAXXX"; -channels[4759]="S13.0E-113-7900-10549"; -channelsnames[4760]="Disney Junior"; -channels[4760]="S13.0E-113-7900-10552"; -channelsnames[4761]="Dla Abonentow"; -channels[4761]="S13.0E-113-7900-10556"; -channelsnames[4762]="CN/TCM"; -channels[4762]="S13.0E-318-12200-7457"; -channelsnames[4763]="Noursat"; -channels[4763]="S13.0E-318-12200-7402"; -channelsnames[4764]="Al Hiwar"; -channels[4764]="S13.0E-318-12200-7456"; -channelsnames[4765]="DMC"; -channels[4765]="S13.0E-318-12200-7459"; -channelsnames[4766]="Miracle TV"; -channels[4766]="S13.0E-318-12200-7460"; -channelsnames[4767]="Al Forat"; -channels[4767]="S13.0E-318-12200-7463"; -channelsnames[4768]="Al Fady"; -channels[4768]="S13.0E-318-12200-7464"; -channelsnames[4769]="Disney Channel"; -channels[4769]="S13.0E-318-12200-7466"; -channelsnames[4770]="Cartoon Network"; -channels[4770]="S13.0E-318-12200-7467"; -channelsnames[4771]="Turner Classic Movies"; -channels[4771]="S13.0E-318-12200-7468"; -channelsnames[4772]="RFI Persian"; -channels[4772]="S13.0E-318-12200-7469"; -channelsnames[4773]="Sat 7 Pars"; -channels[4773]="S13.0E-318-12200-7470"; -channelsnames[4774]="Velayat TV"; -channels[4774]="S13.0E-318-12200-7471"; -channelsnames[4775]="Karbala Satellite Channel"; -channels[4775]="S13.0E-318-12200-7472"; -channelsnames[4776]="iTV"; -channels[4776]="S13.0E-318-12200-7473"; -channelsnames[4777]="Al Maaref"; -channels[4777]="S13.0E-318-12200-7474"; -channelsnames[4778]="STS International"; -channels[4778]="S13.0E-318-12200-7475"; -channelsnames[4779]="Ahl E Bait"; -channels[4779]="S13.0E-318-12200-7476"; -channelsnames[4780]="Cancao Nova"; -channels[4780]="S13.0E-318-200-4922"; -channelsnames[4781]="ESP2 Dutch"; -channels[4781]="S13.0E-318-200-13802"; -channelsnames[4782]="ESP2 Test"; -channels[4782]="S13.0E-318-200-13804"; -channelsnames[4783]="ESP2 Greek"; -channels[4783]="S13.0E-318-200-13805"; -channelsnames[4784]="ESP2 Portuguese"; -channels[4784]="S13.0E-318-200-13821"; -channelsnames[4785]="ESP2 Italy"; -channels[4785]="S13.0E-318-200-13822"; -channelsnames[4786]="ESP2 Biava"; -channels[4786]="S13.0E-318-200-13823"; -channelsnames[4787]="ESP Spain"; -channels[4787]="S13.0E-318-200-13829"; -channelsnames[4788]="ESP Italy"; -channels[4788]="S13.0E-318-200-13830"; -channelsnames[4789]="ESP Polish"; -channels[4789]="S13.0E-318-200-13834"; -channelsnames[4790]="ESP Portuguese"; -channels[4790]="S13.0E-318-200-13836"; -channelsnames[4791]="ESP Hungarian"; -channels[4791]="S13.0E-318-200-13837"; -channelsnames[4792]="ESP Czech"; -channels[4792]="S13.0E-318-200-13839"; -channelsnames[4793]="ESP Greek"; -channels[4793]="S13.0E-318-200-13840"; -channelsnames[4794]="ESP Cyprus"; -channels[4794]="S13.0E-318-200-13841"; -channelsnames[4795]="ESP Bulgarian"; -channels[4795]="S13.0E-318-200-13842"; -channelsnames[4796]="ESP2 Turk"; -channels[4796]="S13.0E-318-200-13843"; -channelsnames[4797]="ESP Serbia"; -channels[4797]="S13.0E-318-200-13844"; -channelsnames[4798]="ESP Turk"; -channels[4798]="S13.0E-318-200-13845"; -channelsnames[4799]="ESP2 German"; -channels[4799]="S13.0E-318-200-13846"; -channelsnames[4800]="ESP2 Serbia"; -channels[4800]="S13.0E-318-200-13847"; -channelsnames[4801]="ESP Biava"; -channels[4801]="S13.0E-318-200-13848"; -channelsnames[4802]="EUROSPORT2 PL"; -channels[4802]="S13.0E-318-200-13864"; -channelsnames[4803]="EUROSPORT PL"; -channels[4803]="S13.0E-318-200-13865"; -channelsnames[4804]="ESP2 NE Intl"; -channels[4804]="S13.0E-318-200-13877"; -channelsnames[4805]="ESP2 NE Polish"; -channels[4805]="S13.0E-318-200-13878"; -channelsnames[4806]="ESP2 NE Bulgarian"; -channels[4806]="S13.0E-318-200-13879"; -channelsnames[4807]="ESP2 NE Serbian"; -channels[4807]="S13.0E-318-200-13880"; -channelsnames[4808]="ESP2 NE Czech"; -channels[4808]="S13.0E-318-200-13881"; -channelsnames[4809]="ESP2 NE Danish"; -channels[4809]="S13.0E-318-200-13882"; -channelsnames[4810]="ESP2 NE Swedish"; -channels[4810]="S13.0E-318-200-13884"; -channelsnames[4811]="ESP ECH"; -channels[4811]="S13.0E-318-200-13885"; -channelsnames[4812]="ESP2 NE UPC"; -channels[4812]="S13.0E-318-200-13886"; -channelsnames[4813]="ESP2 NE Hungary"; -channels[4813]="S13.0E-318-200-13887"; -channelsnames[4814]="ESP2 NE Romania"; -channels[4814]="S13.0E-318-200-13888"; -channelsnames[4815]="ESP UPC"; -channels[4815]="S13.0E-318-200-13889"; -channelsnames[4816]="ESP2 NE Norwegian"; -channels[4816]="S13.0E-318-200-13890"; -channelsnames[4817]="ESP2 NE Dutch"; -channels[4817]="S13.0E-318-200-13891"; -channelsnames[4818]="ESP Romanian"; -channels[4818]="S13.0E-318-200-13892"; -channelsnames[4819]="A3"; -channels[4819]="S13.0E-318-200-13940"; -channelsnames[4820]="Canal Algerie"; -channels[4820]="S13.0E-318-200-13950"; -channelsnames[4821]="TV5MONDE FBS"; -channels[4821]="S13.0E-318-13100-7321"; -channelsnames[4822]="TV5MONDE EUROPE"; -channels[4822]="S13.0E-318-13100-7322"; -channelsnames[4823]="Crime and Investigation nc+"; -channels[4823]="S13.0E-318-13100-7324"; -channelsnames[4824]="Crime + Investigation"; -channels[4824]="S13.0E-318-13100-7325"; -channelsnames[4825]="GEM TV"; -channels[4825]="S13.0E-318-13100-7333"; -channelsnames[4826]="AB Channel"; -channels[4826]="S13.0E-318-13100-7334"; -channelsnames[4827]="Kurd Channel"; -channels[4827]="S13.0E-318-13100-7335"; -channelsnames[4828]="NUMBER 1"; -channels[4828]="S13.0E-318-13100-7337"; -channelsnames[4829]="Radio Expert"; -channels[4829]="S13.0E-318-13100-7339"; -channelsnames[4830]="Manoto 1"; -channels[4830]="S13.0E-318-13100-7355"; -channelsnames[5000]="BBC Olym 4 HD"; -channels[5000]="S28.2E-0-0-8900"; -channelsnames[5001]="BBC Olym 4 HD"; -channels[5001]="S28.2E-0-0-8900"; -channelsnames[5100]="BBC Olym 4 HD"; -channels[5100]="S28.2E-0-0-8900"; -channelsnames[6001]="Meiden van Holland Hard"; -channels[6001]="T-8720-2213-38"; -channelsnames[6002]="XXL"; -channels[6002]="S19.2E-1-1094-17024"; -channelsnames[6003]="Redlight"; -channels[6003]="S13.0E-318-5000-13760"; -channelsnames[6004]="EXOTICA TV"; -channels[6004]="S13.0E-318-5000-13761"; -channelsnames[6005]="SCT 4"; -channels[6005]="S13.0E-318-5000-13764"; -channelsnames[6006]="SCT 6"; -channels[6006]="S13.0E-318-5000-13766"; -channelsnames[6007]="SCT 7"; -channels[6007]="S13.0E-318-5000-13767"; -channelsnames[6008]="SCT HQ"; -channels[6008]="S13.0E-318-5000-13768"; -channelsnames[6009]="PINK O TV"; -channels[6009]="S13.0E-318-5000-13784"; -channelsnames[6010]="Dorcel TV"; -channels[6010]="S19.2E-53-1119-12882"; -channelsnames[6011]="Hustler TV"; -channels[6011]="S19.2E-53-1119-12883"; -channelsnames[6012]="FRENCH LOVER"; -channels[6012]="S19.2E-1-1018-6407"; -channelsnames[6013]="LIBIDO TV"; -channels[6013]="S19.2E-1-1018-6402"; -channelsnames[6014]="BRAZZERS TV Europe"; -channels[6014]="S13.0E-318-12200-7461"; -channelsnames[6015]="PRIVATE TV"; -channels[6015]="S13.0E-318-13300-4960"; -channelsnames[6016]="FL TV"; -channels[6016]="S13.0E-318-8900-2098"; -channelsnames[6017]="Venus"; -channels[6017]="S30.0W-83-105-502"; -channelsnames[6018]="Leo TV"; -channels[6018]="S23.5E-3-3219-13142"; -channelsnames[6019]="Vivid"; -channels[6019]="S19.2E-53-1105-4064"; -channelsnames[6020]="Vivid CZ"; -channels[6020]="S19.2E-53-1105-4065"; -channelsnames[6021]="Dorcel TV"; -channels[6021]="S19.2E-1-1094-17029"; -channelsnames[6022]="XXL"; -channels[6022]="S19.2E-1-1094-17054"; -channelsnames[6023]="Dorcel TV"; -channels[6023]="S19.2E-1-1094-17059"; -channelsnames[6024]="DORCEL XXX"; -channels[6024]="S19.2E-1-1096-8613"; -channelsnames[6025]="Hustler TV CZ"; -channels[6025]="S19.2E-53-1119-12884"; -channelsnames[6026]="XXL"; -channels[6026]="S13.0E-319-9900-468"; -channelsnames[6027]="SCT HD"; -channels[6027]="S13.0E-318-5000-10"; -channelsnames[6028]="Redlight 3D-HD"; -channels[6028]="S13.0E-318-15800-16932"; -channelsnames[6029]="Penthouse 3D"; -channels[6029]="S23.5E-3-3204-5311"; -channelsnames[6030]="EROXXX"; -channels[6030]="S23.5E-3-3212-14055"; -channelsnames[6031]="Brazzers.tv"; -channels[6031]="S23.5E-3-3202-6072"; -channelsnames[6032]="Hustler HD-3D"; -channels[6032]="S13.0E-318-15800-16933"; -channelsnames[6033]="Beate-Uhse.TV,BeateU"; -channels[6033]="S19.2E-133-17-21"; -channelsnames[6034]="PENTHOUSE HD"; -channels[6034]="S19.2E-1-1086-9907"; -channelsnames[6035]="PLAYBOY TV"; -channels[6035]="S19.2E-1-1060-30603"; -channelsnames[6036]="Brazzers.tv CZ"; -channels[6036]="S23.5E-3-3202-6073"; -channelsnames[6037]="Penthouse"; -channels[6037]="S23.5E-3-3222-20917"; -channelsnames[6038]="Penthouse CZ"; -channels[6038]="S23.5E-3-3222-20957"; -channelsnames[6039]="Hustler HD"; -channels[6039]="S23.5E-3-3211-20830"; -channelsnames[6040]="Hustler HD CZ"; -channels[6040]="S23.5E-3-3211-20831"; -channelsnames[6041]="Redlight 3D-HD!"; -channels[6041]="S13.0E-318-15800-16943"; -channelsnames[6042]="Hustler 3D-HD!"; -channels[6042]="S13.0E-318-15800-16944"; -channelsnames[6043]="XXL PL"; -channels[6043]="S13.0E-319-9900-469"; -channelsnames[6044]="Penthouse HD"; -channels[6044]="S23.5E-3-3236-5711"; -channelsnames[6045]="Penthouse HD1"; -channels[6045]="S23.5E-3-3236-5712"; -channelsnames[6046]="Penthouse HD2"; -channels[6046]="S23.5E-3-3236-5713"; -channelsnames[6047]="Hallo TV German free"; -channels[6047]="S19.2E-1-1117-13015"; -channelsnames[8001]="NPO 1"; -channels[8001]="T-8720-2214-1101"; -channelsnames[8002]="NPO 2"; -channels[8002]="T-8720-2214-1102"; -channelsnames[8003]="NPO 3"; -channels[8003]="T-8720-2214-1103"; -channelsnames[8004]="RTL 4"; -channels[8004]="T-8720-2211-11"; -channelsnames[8005]="RTL 5"; -channels[8005]="T-8720-2211-12"; -channelsnames[8006]="SBS 6"; -channels[8006]="T-8720-2211-14"; -channelsnames[8007]="RTL 7"; -channels[8007]="T-8720-2211-13"; -channelsnames[8008]="Veronica/Disney XD"; -channels[8008]="T-8720-2213-31"; -channelsnames[8009]="NET5"; -channels[8009]="T-8720-2211-15"; -channelsnames[8010]="ID"; -channels[8010]="T-8720-2244-44"; -channelsnames[8011]="RTL 8"; -channels[8011]="T-8720-2213-32"; -channelsnames[8012]="Nickelodeon/TeenNick"; -channels[8012]="T-8720-2244-41"; -channelsnames[8013]="Comedy Central"; -channels[8013]="T-8720-2213-35"; -channelsnames[8014]="Discovery Channel"; -channels[8014]="T-8720-2213-36"; -channelsnames[8015]="TLC"; -channels[8015]="T-8720-2212-25"; -channelsnames[8016]="National Geographic"; -channels[8016]="T-8720-2212-28"; -channelsnames[8017]="Eurosport"; -channels[8017]="T-8720-2213-37"; -channelsnames[8018]="één"; -channels[8018]="T-8720-2213-33"; -channelsnames[8019]="Canvas"; -channels[8019]="T-8720-2213-34"; -channelsnames[8020]="24Kitchen"; -channels[8020]="T-8720-2212-26"; -channelsnames[8021]="FOX"; -channels[8021]="T-8720-2244-42"; -channelsnames[8022]="CNN"; -channels[8022]="T-8720-2244-45"; -channelsnames[8023]="FOX Sports Ere 1"; -channels[8023]="T-8720-2212-21"; -channelsnames[8024]="FOX Sp.3/AT5/Cart.Nw."; -channels[8024]="T-8720-2212-22"; -channelsnames[8025]="BBC One"; -channels[8025]="T-8720-2212-23"; -channelsnames[8026]="BBC Two"; -channels[8026]="T-8720-2212-27"; -channelsnames[8027]="TV Oost"; -channels[8027]="T-8720-2214-1104"; -channelsnames[8028]="TV Gelderland"; -channels[8028]="T-0-0-1104"; -channelsnames[8029]="Radio Gelderland"; -channels[8029]="T-0-0-1111"; -channelsnames[8030]="Radio Oost"; -channels[8030]="T-8720-2214-1111"; -channelsnames[8031]="NPO Radio 1"; -channels[8031]="T-8720-2214-1112"; -channelsnames[8032]="NPO Radio 2"; -channels[8032]="T-8720-2214-1113"; -channelsnames[8033]="NPO 3FM"; -channels[8033]="T-8720-2214-1114"; -channelsnames[8034]="NPO Radio 4"; -channels[8034]="T-8720-2214-1115"; -channelsnames[8035]="NPO Radio 5"; -channels[8035]="T-8720-2214-1116"; -channelsnames[8036]="NPO Radio 6"; -channels[8036]="T-8720-2214-1117"; -channelsnames[8037]="FunX"; -channels[8037]="T-8720-2214-1119"; -channelsnames[8038]="BNR Nieuwsradio"; -channels[8038]="T-8720-2212-217"; -channelsnames[8039]="Arrow Classic Rock"; -channels[8039]="T-8720-2212-218"; -channelsnames[8040]="Radio 538"; -channels[8040]="T-8720-2212-219"; -channelsnames[8041]="BBC Radio 1"; -channels[8041]="T-8720-2244-411"; -channelsnames[8042]="BBC Radio 2"; -channels[8042]="T-8720-2244-412"; -channelsnames[8043]="BBC Radio 3"; -channels[8043]="T-8720-2244-413"; -channelsnames[8044]="BBC Radio 4"; -channels[8044]="T-8720-2244-414"; -channelsnames[8045]="SubLime FM"; -channels[8045]="T-8720-2244-415"; -channelsnames[8046]="SLAM!FM"; -channels[8046]="T-8720-2211-111"; -channelsnames[8047]="Radio 10"; -channels[8047]="T-8720-2211-112"; -channelsnames[8048]="Q-Music"; -channels[8048]="T-8720-2211-113"; -channelsnames[8049]="100%NL"; -channels[8049]="T-8720-2211-114"; -channelsnames[8050]="Classic FM"; -channels[8050]="T-8720-2211-115"; -channelsnames[8051]="SkyRadio 101 FM"; -channels[8051]="T-8720-2211-116"; -channelsnames[8052]="Radio Veronica"; -channels[8052]="T-8720-2211-117"; -channelsnames[8053]="ZDF"; -channels[8053]="T-8468-514-514"; -channelsnames[8054]="3sat"; -channels[8054]="T-8468-514-515"; -channelsnames[8055]="ZDFinfo"; -channels[8055]="T-8468-514-516"; -channelsnames[8056]="neo/KiKA"; -channels[8056]="T-8468-514-517"; -channelsnames[8057]="arte"; -channels[8057]="T-8468-6144-2"; -channelsnames[8058]="arte"; -channels[8058]="T-8468-14849-2"; -channelsnames[8059]="arte OBSOLETE"; -channels[8059]="T-8720-2214-2"; -channelsnames[8060]="PHOENIX"; -channels[8060]="T-8468-6144-3"; -channelsnames[8061]="PHOENIX OBSOLETE"; -channels[8061]="T-8720-2214-3"; -channelsnames[8062]="PHOENIX"; -channels[8062]="T-8468-14849-3"; -channelsnames[8063]="Einsfestival"; -channels[8063]="T-8468-6144-5"; -channelsnames[8064]="Einsfestival OBSOLETE"; -channels[8064]="T-8720-2214-5"; -channelsnames[8065]="Einsfestival"; -channels[8065]="T-8468-14849-5"; -channelsnames[8066]="Das Erste"; -channels[8066]="T-8468-6144-256"; -channelsnames[8067]="Das Erste OBSOLETE"; -channels[8067]="T-8720-2214-256"; -channelsnames[8068]="Das Erste"; -channels[8068]="T-8468-14849-256"; -channelsnames[8069]="hr-fernsehen"; -channels[8069]="T-0-0-65"; -channelsnames[8070]="hr-fernsehen"; -channels[8070]="T-8468-38912-65"; -channelsnames[8071]="MDR FERNSEHEN"; -channels[8071]="T-0-0-100"; -channelsnames[8072]="MDR FERNSEHEN"; -channels[8072]="T-8468-38912-100"; -channelsnames[8073]="NDR FS NDS"; -channels[8073]="T-8468-38912-129"; -channelsnames[8074]="NDR FS NDS"; -channels[8074]="T-0-0-129"; -channelsnames[8075]="NDR FS HH*"; -channels[8075]="T-0-0-130"; -channelsnames[8076]="NDR FS HH*"; -channels[8076]="T-8468-38912-130"; -channelsnames[8077]="NDR FS SH*"; -channels[8077]="T-8468-38912-131"; -channelsnames[8078]="NDR FS SH*"; -channels[8078]="T-0-0-131"; -channelsnames[8079]="NDR FS MVP*"; -channels[8079]="T-0-0-132"; -channelsnames[8080]="NDR FS MVP*"; -channels[8080]="T-8468-38912-132"; -channelsnames[8081]="WDR Köln"; -channels[8081]="T-0-0-262"; -channelsnames[8082]="WDR Köln"; -channels[8082]="T-8468-38912-262"; -channelsnames[9001]="NPO Radio1"; -channels[9001]="S23.5E-3-3211-20860"; -channelsnames[9002]="NPO Radio2"; -channels[9002]="S23.5E-3-3211-20862"; -channelsnames[9003]="NPO 3FM"; -channels[9003]="S23.5E-3-3211-20864"; -channelsnames[9004]="NPO Radio4"; -channels[9004]="S23.5E-3-3211-20866"; -channelsnames[9005]="NPO Radio5"; -channels[9005]="S23.5E-3-3211-20867"; -channelsnames[9006]="NPO Radio6"; -channels[9006]="S23.5E-3-3211-20868"; -channelsnames[9007]="Radio Oost"; -channels[9007]="S23.5E-3-3211-20844"; -channelsnames[9008]="Radio Gelderland"; -channels[9008]="S23.5E-3-3211-20846"; -channelsnames[9009]="Radio Veronica"; -channels[9009]="S23.5E-3-3211-20870"; -channelsnames[9010]="Sky Radio"; -channels[9010]="S23.5E-3-3211-20872"; -channelsnames[9011]="Classic FM"; -channels[9011]="S23.5E-3-3211-20874"; -channelsnames[9012]="Radio 538"; -channels[9012]="S23.5E-3-3211-20876"; -channelsnames[9013]="Radio 10"; -channels[9013]="S23.5E-3-3211-20878"; -channelsnames[9014]="Slam FM"; -channels[9014]="S23.5E-3-3211-20880"; -channelsnames[9015]="BNR Nieuwsradio"; -channels[9015]="S23.5E-3-3211-20882"; -channelsnames[9016]="Funx"; -channels[9016]="S23.5E-3-3211-20896"; -channelsnames[9017]="Radio10Gold"; -channels[9017]="S19.2E-53-1097-2067"; -channelsnames[9018]="Nostalgie"; -channels[9018]="S19.2E-53-1119-12789"; -channelsnames[9019]="100% NL"; -channels[9019]="S23.5E-3-3211-20890"; -channelsnames[9020]="Arrow Jazz"; -channels[9020]="S19.2E-53-1097-2062"; -channelsnames[9021]="Mint"; -channels[9021]="S19.2E-53-1097-2080"; -channelsnames[9022]="Bel RTL"; -channels[9022]="S19.2E-53-1097-2081"; -channelsnames[9023]="Radio Contact"; -channels[9023]="S19.2E-53-1097-2082"; -channelsnames[9024]="Pure FM"; -channels[9024]="S19.2E-53-1097-2085"; -channelsnames[9025]="Classic21"; -channels[9025]="S19.2E-53-1097-2086"; -channelsnames[9026]="VivaCite"; -channels[9026]="S19.2E-53-1097-2087"; -channelsnames[9027]="Musiq 3"; -channels[9027]="S19.2E-53-1097-2088"; -channelsnames[9028]="La Premiere"; -channels[9028]="S19.2E-53-1097-2089"; -channelsnames[9029]="RTL 1440"; -channels[9029]="S19.2E-53-1105-4060"; -channelsnames[9030]="VRT Radio1"; -channels[9030]="S19.2E-53-1119-12778"; -channelsnames[9031]="VRT Radio2"; -channels[9031]="S19.2E-53-1119-12779"; -channelsnames[9032]="COUNTRY RADIO"; -channels[9032]="S23.5E-3-3219-13150"; -channelsnames[9050]="Arrow Classic Rock"; -channels[9050]="S23.5E-3-3211-20892"; -channelsnames[9051]="ROCK ANTENNE,ROCK ANT"; -channels[9051]="S19.2E-133-7-160"; -channelsnames[9052]="Planet Rock"; -channels[9052]="S28.2E-2-2407-9575"; -channelsnames[9053]="Radio Beat"; -channels[9053]="S23.5E-3-3209-13120"; -channelsnames[9054]="1LIVE"; -channels[9054]="S19.2E-1-1093-28475"; -channelsnames[9055]="1LIVE diggi"; -channels[9055]="S19.2E-1-1093-28481"; -channelsnames[9056]="ANTENNE BAYERN,ANTENNE"; -channels[9056]="S19.2E-133-7-170"; -channelsnames[9057]="radio top40"; -channels[9057]="S19.2E-1-1113-12653"; -channelsnames[9058]="Musicam 1"; -channels[9058]="S30.0W-2-15-15"; -channelsnames[9059]="Musicam 2"; -channels[9059]="S30.0W-2-15-16"; -channelsnames[9060]="Musicam 3"; -channels[9060]="S30.0W-2-15-17"; -channelsnames[9061]="Musicam 4"; -channels[9061]="S30.0W-2-15-18"; -channelsnames[9062]="Musicam 5"; -channels[9062]="S30.0W-2-15-19"; -channelsnames[9063]="Musicam 6"; -channels[9063]="S30.0W-2-15-20"; -minChan[0] = 1; -maxChan[0] = 954; -baseChn[0] = 0; -minChan[1] = 1001; -maxChan[1] = 1967; -baseChn[1] = 1000; -minChan[2] = 2000; -maxChan[2] = 2228; -baseChn[2] = 2000; -minChan[3] = 3000; -maxChan[3] = 3607; -baseChn[3] = 3000; -minChan[4] = 4001; -maxChan[4] = 4830; -baseChn[4] = 4000; -minChan[5] = 5000; -maxChan[5] = 5100; -baseChn[5] = 5000; -minChan[6] = 6001; -maxChan[6] = 6047; -baseChn[6] = 6000; -minChan[8] = 8001; -maxChan[8] = 8082; -baseChn[8] = 8000; -minChan[9] = 9001; -maxChan[9] = 9063; -baseChn[9] = 9000; - -defChan[0] = 10 ; protChn[0] = 0; -defChan[1] = 1001; protChn[1] = 0; -defChan[2] = 2000; protChn[2] = 0; -defChan[3] = 3000; protChn[3] = 0; -defChan[4] = 4145; protChn[4] = 0; -defChan[5] = 5000; protChn[5] = 0; -defChan[6] = 6001; protChn[6] = 1; -defChan[7] = 7000; protChn[7] = 0; -defChan[8] = 8001; protChn[8] = 0; -defChan[9] = 9051; protChn[9] = 0; -Chan_Ver = "11/03/14 23:51:46" ; diff --git a/images/background.png b/images/background.png new file mode 100644 index 0000000..8b1d392 Binary files /dev/null and b/images/background.png differ diff --git a/images/mute.png b/images/mute.png new file mode 100644 index 0000000..44e9547 Binary files /dev/null and b/images/mute.png differ diff --git a/images/osd-bg.png b/images/osd-bg.png new file mode 100644 index 0000000..a116650 Binary files /dev/null and b/images/osd-bg.png differ diff --git a/images/unmute.png b/images/unmute.png new file mode 100644 index 0000000..70000a8 Binary files /dev/null and b/images/unmute.png differ diff --git a/index.html b/index.html index 7cf869e..8a7f871 100644 --- a/index.html +++ b/index.html @@ -1,10 +1,10 @@ <html> <head> -<script type="text/javascript" src="settings.js"></script> -<script type="text/javascript" src="settings2.js"></script> -<script type="text/javascript" src="lang_eng.js"></script> -<script type="text/javascript" src="channels.js"></script> -<script type="text/javascript" src="main.js"></script> +<script type="text/javascript" src="javascript/settings.js"></script> +<script type="text/javascript" src="javascript/settings2.js"></script> +<script type="text/javascript" src="javascript/lang_eng.js"></script> +<script type="text/javascript" src="javascript/channels.js"></script> +<script type="text/javascript" src="javascript/main.js"></script> <script type="text/javascript"> /***********************************************************/ @@ -16,7 +16,7 @@ /***********************************************************/ </script> -<link rel="stylesheet" type="text/css" href="blue.css"> +<link rel="stylesheet" type="text/css" href="skins/blue.css"> </head> <body onload="onLoad()" onunload="onUnload()"> diff --git a/javascript/channels.js b/javascript/channels.js new file mode 100644 index 0000000..38a3800 --- /dev/null +++ b/javascript/channels.js @@ -0,0 +1,3619 @@ +channelsnames[1]="NPO1 HD"; +channels[1]="S23.5E-3-3225-21029"; +channelsnames[2]="NPO2 HD"; +channels[2]="S23.5E-3-3202-6080"; +channelsnames[3]="NPO3 HD"; +channels[3]="S23.5E-3-3225-21040"; +channelsnames[4]="RTL4 HD"; +channels[4]="S23.5E-3-3208-7020"; +channelsnames[5]="RTL5 HD"; +channels[5]="S23.5E-3-3208-7023"; +channelsnames[6]="SBS6 HD"; +channels[6]="S23.5E-3-3202-6090"; +channelsnames[7]="RTL7 HD"; +channels[7]="S23.5E-3-3208-7027"; +channelsnames[8]="Veronica/DisneyXD HD"; +channels[8]="S23.5E-3-3225-21035"; +channelsnames[9]="NET5 HD"; +channels[9]="S23.5E-3-3225-21020"; +channelsnames[10]="BVN TV"; +channels[10]="S19.2E-1-1048-4320"; +channelsnames[11]="RTL8 HD"; +channels[11]="S23.5E-3-3208-7036"; +channelsnames[12]="Nickelodeon Nederland"; +channels[12]="S19.2E-1-1078-28679"; +channelsnames[13]="ComedyCentral"; +channels[13]="S23.5E-3-3211-20826"; +channelsnames[14]="NPO Politiek/NPO Best"; +channels[14]="S23.5E-3-3202-6010"; +channelsnames[15]="NPO Doc"; +channels[15]="S23.5E-3-3202-6015"; +channelsnames[16]="NPO Zapp Xtra/NPO Humor TV"; +channels[16]="S23.5E-3-3202-6025"; +channelsnames[17]="NostalgieNet"; +channels[17]="S23.5E-3-3222-20956"; +channelsnames[18]="Discovery HD"; +channels[18]="S23.5E-3-3208-7010"; +channelsnames[19]="History HD DUT"; +channels[19]="S23.5E-3-3205-5151"; +channelsnames[20]="Travel Channel HD WE"; +channels[20]="S23.5E-3-3221-5056"; +channelsnames[21]="NGC HD"; +channels[21]="S23.5E-3-3222-20965"; +channelsnames[22]="Viasat HD"; +channels[22]="S23.5E-3-3208-7040"; +channelsnames[23]="Animal Planet"; +channels[23]="S23.5E-3-3202-6040"; +channelsnames[24]="Planet"; +channels[24]="S19.2E-53-1097-2044"; +channelsnames[25]="Investigation Discovery"; +channels[25]="S23.5E-3-3202-6045"; +channelsnames[26]="Crime Invest."; +channels[26]="S23.5E-3-3208-7052"; +channelsnames[27]="Crime and Invest. CZ"; +channels[27]="S23.5E-3-3208-7053"; +channelsnames[28]="Discovery CZ"; +channels[28]="S23.5E-3-3211-20855"; +channelsnames[29]="Discovery HD CZ"; +channels[29]="S23.5E-3-3208-7011"; +channelsnames[30]="MOTORS TV"; +channels[30]="S19.2E-1-1110-9509"; +channelsnames[31]="Discovery Channel"; +channels[31]="S23.5E-3-3211-20833"; +channelsnames[32]="Nat Geo Wild HD DUT"; +channels[32]="S23.5E-3-3226-709"; +channelsnames[50]="DMAX"; +channels[50]="S19.2E-133-33-63"; +channelsnames[51]="Discovery"; +channels[51]="S28.2E-2-2009-6201"; +channelsnames[52]="Discovery"; +channels[52]="S28.2E-2-2009-6210"; +channelsnames[53]="Discovery+1"; +channels[53]="S28.2E-2-2009-6204"; +channelsnames[54]="Disc.History"; +channels[54]="S28.2E-2-2009-6207"; +channelsnames[55]="Disc.History+1"; +channels[55]="S28.2E-2-2315-52435"; +channelsnames[56]="TLC"; +channels[56]="S28.2E-2-2009-6233"; +channelsnames[57]="TLC+1"; +channels[57]="S28.2E-2-2315-52446"; +channelsnames[58]="Disc.Science"; +channels[58]="S28.2E-2-2009-6206"; +channelsnames[59]="Disc.Sci+1"; +channels[59]="S28.2E-2-2315-52410"; +channelsnames[60]="Disc.Turbo"; +channels[60]="S28.2E-2-2009-6209"; +channelsnames[61]="Discovery Shed"; +channels[61]="S28.2E-2-2315-52440"; +channelsnames[62]="Home & Health"; +channels[62]="S28.2E-2-2009-6208"; +channelsnames[63]="Home&Health+"; +channels[63]="S28.2E-2-2315-52450"; +channelsnames[64]="ID"; +channels[64]="S28.2E-2-2315-52400"; +channelsnames[65]="ID+1"; +channels[65]="S28.2E-2-2315-52426"; +channelsnames[66]="DMAX"; +channels[66]="S28.2E-2-2315-52415"; +channelsnames[67]="DMAX+1"; +channels[67]="S28.2E-2-2315-52420"; +channelsnames[68]="QUEST"; +channels[68]="S28.2E-2-2009-6211"; +channelsnames[69]="QUEST+1"; +channels[69]="S28.2E-2-2315-52430"; +channelsnames[70]="Animal Planet"; +channels[70]="S28.2E-2-2009-6202"; +channelsnames[71]="Animal Plnt+1"; +channels[71]="S28.2E-2-2315-52405"; +channelsnames[72]="Eden"; +channels[72]="S28.2E-2-2006-6502"; +channelsnames[73]="Eden+1"; +channels[73]="S28.2E-2-2015-7610"; +channelsnames[74]="YESTERDAY"; +channels[74]="S28.2E-2-2006-6505"; +channelsnames[75]="YESTERDAY+1"; +channels[75]="S28.2E-2-2015-7650"; +channelsnames[76]="Drama"; +channels[76]="S28.2E-2-2006-6522"; +channelsnames[77]="CI"; +channels[77]="S28.2E-2-2025-4802"; +channelsnames[78]="CI +1"; +channels[78]="S28.2E-2-2301-52169"; +channelsnames[79]="History"; +channels[79]="S28.2E-2-2025-4653"; +channelsnames[80]="History +1 hour"; +channels[80]="S28.2E-2-2025-5003"; +channelsnames[81]="H2"; +channels[81]="S28.2E-2-2304-55205"; +channelsnames[82]="Nat Geo"; +channels[82]="S28.2E-2-2025-4805"; +channelsnames[83]="Nat Geo+1hr"; +channels[83]="S28.2E-2-2025-4806"; +channelsnames[84]="Nat Geo Wild"; +channels[84]="S28.2E-2-2025-4807"; +channelsnames[85]="Real Time"; +channels[85]="S13.0E-64511-5700-4324"; +channelsnames[86]="Real Time +1"; +channels[86]="S13.0E-64511-800-1469"; +channelsnames[100]="Sky Premiere"; +channels[100]="S28.2E-2-2007-4404"; +channelsnames[101]="Sky Prem+1"; +channels[101]="S28.2E-2-2007-4405"; +channelsnames[102]="Sky Showcase"; +channels[102]="S28.2E-2-2030-4602"; +channelsnames[103]="Sky Comedy"; +channels[103]="S28.2E-2-2007-4303"; +channelsnames[104]="Sky Action"; +channels[104]="S28.2E-2-2007-4302"; +channelsnames[105]="Sky Family"; +channels[105]="S28.2E-2-2007-4403"; +channelsnames[106]="Sky Thriller"; +channels[106]="S28.2E-2-2007-4406"; +channelsnames[107]="Sky DramaRom"; +channels[107]="S28.2E-2-2007-5502"; +channelsnames[108]="Sky ScFi/Horror"; +channels[108]="S28.2E-2-2007-4304"; +channelsnames[109]="Sky Superhero"; +channels[109]="S28.2E-2-2007-5650"; +channelsnames[110]="Sky Select"; +channels[110]="S28.2E-2-2007-4306"; +channelsnames[111]="Sky Disney"; +channels[111]="S28.2E-2-2007-4308"; +channelsnames[112]="TCM"; +channels[112]="S28.2E-2-2055-6038"; +channelsnames[113]="TCM+1"; +channels[113]="S28.2E-2-2301-52175"; +channelsnames[114]="Movies 24"; +channels[114]="S28.2E-2-2303-52265"; +channelsnames[115]="Movies 24+"; +channels[115]="S28.2E-2-2303-52270"; +channelsnames[116]="HBO"; +channels[116]="S23.5E-3-3209-13104"; +channelsnames[117]="HBO 2"; +channels[117]="S23.5E-3-3209-13109"; +channelsnames[118]="Cinemax"; +channels[118]="S23.5E-3-3209-13113"; +channelsnames[119]="Filmbox"; +channels[119]="S23.5E-3-3210-5071"; +channelsnames[120]="iFILM English"; +channels[120]="S13.0E-318-9000-9007"; +channelsnames[130]="Film1 Premiere HD"; +channels[130]="S23.5E-3-3222-20955"; +channelsnames[131]="Film1 Comedy & Kids"; +channels[131]="S23.5E-3-3222-20910"; +channelsnames[132]="Film1 Sundance"; +channels[132]="S23.5E-3-3222-20915"; +channelsnames[133]="Film1 Action"; +channels[133]="S23.5E-3-3222-20920"; +channelsnames[134]="HBO HD"; +channels[134]="S23.5E-3-3225-21050"; +channelsnames[135]="HBO 2"; +channels[135]="S23.5E-3-3202-6067"; +channelsnames[136]="HBO 3"; +channels[136]="S23.5E-3-3202-6068"; +channelsnames[137]="Film+ CZ"; +channels[137]="S23.5E-3-3211-20863"; +channelsnames[138]="MGM"; +channels[138]="S23.5E-3-3210-5072"; +channelsnames[150]="RTL Crime"; +channels[150]="S19.2E-133-1-27"; +channelsnames[151]="RTLNITRO"; +channels[151]="S19.2E-1-1089-12061"; +channelsnames[152]="Universal"; +channels[152]="S28.2E-2-2303-52255"; +channelsnames[153]="Universal+1"; +channels[153]="S28.2E-2-2303-52220"; +channelsnames[154]="ComedyCentral"; +channels[154]="S28.2E-2-2079-51084"; +channelsnames[155]="ComedyCent+1"; +channels[155]="S28.2E-2-2079-51085"; +channelsnames[156]="ComedyXtra"; +channels[156]="S28.2E-2-2079-51086"; +channelsnames[157]="ComedyXtra+1"; +channels[157]="S28.2E-2-2079-51087"; +channelsnames[158]="GOLD"; +channels[158]="S28.2E-2-2006-6504"; +channelsnames[159]="GOLD +1"; +channels[159]="S28.2E-2-2015-7605"; +channelsnames[160]="Dave"; +channels[160]="S28.2E-2-2006-6506"; +channelsnames[161]="Dave ja vu"; +channels[161]="S28.2E-2-2015-7624"; +channelsnames[162]="Syfy"; +channels[162]="S28.2E-2-2303-52250"; +channelsnames[163]="Syfy +1"; +channels[163]="S28.2E-2-2303-52280"; +channelsnames[164]="alibi"; +channels[164]="S28.2E-2-2006-6521"; +channelsnames[165]="alibi +1"; +channels[165]="S28.2E-2-2015-7630"; +channelsnames[166]="FOX"; +channels[166]="S28.2E-2-2021-5515"; +channelsnames[167]="FOX+"; +channels[167]="S28.2E-2-2023-5402"; +channelsnames[168]="Watch"; +channels[168]="S28.2E-2-2006-6520"; +channelsnames[169]="Watch +1"; +channels[169]="S28.2E-2-2015-7615"; +channelsnames[180]="RTL lounge"; +channels[180]="S23.5E-3-3208-7042"; +channelsnames[181]="TLC"; +channels[181]="S23.5E-3-3222-20949"; +channelsnames[182]="13th Street"; +channels[182]="S23.5E-3-3222-20966"; +channelsnames[183]="SyFy"; +channels[183]="S23.5E-3-3208-7054"; +channelsnames[190]="FOX Channel"; +channels[190]="S23.5E-3-3202-6030"; +channelsnames[191]="FOXlife"; +channels[191]="S23.5E-3-3225-21055"; +channelsnames[201]="BBC One Lon"; +channels[201]="S28.2E-2-2045-6301"; +channelsnames[202]="BBC Two Eng"; +channels[202]="S28.2E-2-2045-6302"; +channelsnames[203]="BBC Three"; +channels[203]="S28.2E-2-2048-10351"; +channelsnames[204]="BBC Four"; +channels[204]="S28.2E-2-2045-6316"; +channelsnames[205]="BBC NEWS"; +channels[205]="S28.2E-2-2048-10358"; +channelsnames[206]="BBC Parliament"; +channels[206]="S28.2E-2-2046-10307"; +channelsnames[211]="ITV"; +channels[211]="S28.2E-2-2044-10060"; +channelsnames[212]="ITV +1"; +channels[212]="S28.2E-2-2054-10255"; +channelsnames[213]="ITV2"; +channels[213]="S28.2E-2-2044-10070"; +channelsnames[214]="ITV2+1"; +channels[214]="S28.2E-2-2053-10165"; +channelsnames[215]="ITV3"; +channels[215]="S28.2E-2-2054-10260"; +channelsnames[216]="ITV3+1"; +channels[216]="S28.2E-2-2054-10261"; +channelsnames[217]="ITV4"; +channels[217]="S28.2E-2-2044-10072"; +channelsnames[218]="ITV4+1"; +channels[218]="S28.2E-2-2049-10015"; +channelsnames[220]="Channel 4"; +channels[220]="S28.2E-2-2041-9211"; +channelsnames[221]="Channel 4 +1"; +channels[221]="S28.2E-2-2042-8311"; +channelsnames[222]="E4"; +channels[222]="S28.2E-2-2042-8305"; +channelsnames[223]="E4+1"; +channels[223]="S28.2E-2-2042-8300"; +channelsnames[224]="More4"; +channels[224]="S28.2E-2-2042-8340"; +channelsnames[225]="More4 +1"; +channels[225]="S28.2E-2-2041-9230"; +channelsnames[226]="4seven"; +channels[226]="S28.2E-2-2068-21250"; +channelsnames[227]="4Music"; +channels[227]="S28.2E-2-2040-12000"; +channelsnames[228]="Film4"; +channels[228]="S28.2E-2-2041-9220"; +channelsnames[229]="Film4 +1"; +channels[229]="S28.2E-2-2041-9225"; +channelsnames[230]="Channel 5"; +channels[230]="S28.2E-2-2057-7700"; +channelsnames[231]="Channel 5+1"; +channels[231]="S28.2E-2-2057-7720"; +channelsnames[232]="5 USA"; +channels[232]="S28.2E-2-2057-7710"; +channelsnames[233]="5 USA +1"; +channels[233]="S28.2E-2-2057-7711"; +channelsnames[234]="5*"; +channels[234]="S28.2E-2-2057-7715"; +channelsnames[235]="Channel 5+24"; +channels[235]="S28.2E-2-2057-7716"; +channelsnames[240]="CBS Action"; +channels[240]="S28.2E-2-2311-52007"; +channelsnames[241]="CBS Drama"; +channels[241]="S28.2E-2-2304-50903"; +channelsnames[242]="CBS Reality"; +channels[242]="S28.2E-2-2313-53275"; +channelsnames[243]="CBS Reality+1"; +channels[243]="S28.2E-2-2301-52102"; +channelsnames[244]="horror channel"; +channels[244]="S28.2E-2-2301-52105"; +channelsnames[245]="horror ch+1"; +channels[245]="S28.2E-2-2311-52002"; +channelsnames[246]="more>movies"; +channels[246]="S28.2E-2-2076-54110"; +channelsnames[247]="m>movies+1"; +channels[247]="S28.2E-2-2081-51120"; +channelsnames[248]="movies4men"; +channels[248]="S28.2E-2-2081-51116"; +channelsnames[249]="mov4men+1"; +channels[249]="S28.2E-2-2081-51118"; +channelsnames[250]="True Drama"; +channels[250]="S28.2E-2-2314-53380"; +channelsnames[251]="True Ent"; +channels[251]="S28.2E-2-2314-53375"; +channelsnames[252]="True Christmas"; +channels[252]="S28.2E-2-2314-53320"; +channelsnames[253]="True Movies 2"; +channels[253]="S28.2E-2-2314-53325"; +channelsnames[254]="RTE One"; +channels[254]="S28.2E-2-2043-9601"; +channelsnames[255]="RTE2"; +channels[255]="S28.2E-2-2043-9602"; +channelsnames[256]="Setanta Ireland"; +channels[256]="S28.2E-2-2081-51111"; +channelsnames[257]="Setanta Sports1"; +channels[257]="S28.2E-2-2081-51112"; +channelsnames[260]="Sky Arts 1"; +channels[260]="S28.2E-2-2030-4604"; +channelsnames[261]="Sky Arts 2"; +channels[261]="S28.2E-2-2023-4900"; +channelsnames[262]="Sky1"; +channels[262]="S28.2E-2-2030-4703"; +channelsnames[263]="Sky2"; +channels[263]="S28.2E-2-2026-4752"; +channelsnames[264]="Sky Atlantic"; +channels[264]="S28.2E-2-2030-4712"; +channelsnames[265]="Sky Living"; +channels[265]="S28.2E-2-2030-6028"; +channelsnames[266]="Sky Living+1"; +channels[266]="S28.2E-2-2030-6035"; +channelsnames[267]="Sky Livingit"; +channels[267]="S28.2E-2-2025-6030"; +channelsnames[268]="Sky Livingit+1"; +channels[268]="S28.2E-2-2031-6025"; +channelsnames[269]="Sony TV"; +channels[269]="S28.2E-2-2311-52005"; +channelsnames[270]="Sony TV +1"; +channels[270]="S28.2E-2-2604-54325"; +channelsnames[271]="Sony Movies"; +channels[271]="S28.2E-2-2081-51117"; +channelsnames[272]="Sony Movies+1"; +channels[272]="S28.2E-2-2081-51119"; +channelsnames[273]="E!"; +channels[273]="S28.2E-0-0-53200"; +channelsnames[274]="E!"; +channels[274]="S28.2E-2-2313-53200"; +channelsnames[275]="Home"; +channels[275]="S28.2E-2-2006-6501"; +channelsnames[276]="Home+1"; +channels[276]="S28.2E-2-2015-7600"; +channelsnames[277]="Good Food"; +channels[277]="S28.2E-2-2006-6508"; +channelsnames[278]="Good Food +1"; +channels[278]="S28.2E-2-2015-7626"; +channelsnames[279]="Food Network"; +channels[279]="S28.2E-2-2313-53260"; +channelsnames[280]="Food Netwrk+1"; +channels[280]="S28.2E-2-2313-53270"; +channelsnames[281]="wedding tv"; +channels[281]="S28.2E-2-2402-55510"; +channelsnames[282]="The Active Ch"; +channels[282]="S28.2E-2-2614-55330"; +channelsnames[283]="Fitness TV"; +channels[283]="S28.2E-2-2602-54165"; +channelsnames[284]="BET|BlackEntTv"; +channels[284]="S28.2E-2-2079-51081"; +channelsnames[285]="BET +1"; +channels[285]="S28.2E-2-2079-51082"; +channelsnames[286]="Information TV"; +channels[286]="S28.2E-2-2313-53230"; +channelsnames[287]="Showcase"; +channels[287]="S28.2E-2-2313-53280"; +channelsnames[288]="Showcase 2"; +channels[288]="S28.2E-2-2601-54051"; +channelsnames[289]="Horse & Country"; +channels[289]="S28.2E-2-2076-54140"; +channelsnames[300]="CBBC"; +channels[300]="S28.2E-2-2048-10352"; +channelsnames[301]="CBeebies"; +channels[301]="S28.2E-2-2045-6318"; +channelsnames[302]="CITV"; +channels[302]="S28.2E-2-2044-10071"; +channelsnames[303]="KiKA"; +channels[303]="S19.2E-1-1079-28008"; +channelsnames[304]="RiC"; +channels[304]="S19.2E-1-1117-13019"; +channelsnames[305]="Nickelodeon"; +channels[305]="S19.2E-1-1078-28680"; +channelsnames[306]="Tiny Pop"; +channels[306]="S28.2E-2-2314-53330"; +channelsnames[307]="Tiny Pop +1"; +channels[307]="S28.2E-2-2314-53345"; +channelsnames[308]="POP"; +channels[308]="S28.2E-2-2314-53340"; +channelsnames[309]="Kix"; +channels[309]="S28.2E-2-2314-53350"; +channelsnames[310]="PopGirl"; +channels[310]="S28.2E-2-2314-53360"; +channelsnames[311]="POP+1"; +channels[311]="S28.2E-2-2314-53370"; +channelsnames[312]="NICKELODEON AT"; +channels[312]="S19.2E-133-7-61"; +channelsnames[313]="Baby TV"; +channels[313]="S13.0E-318-11500-17309"; +channelsnames[314]="duck tv DUT"; +channels[314]="S23.5E-3-3210-5141"; +channelsnames[315]="Minimax"; +channels[315]="S23.5E-3-3219-13132"; +channelsnames[316]="Boomerang"; +channels[316]="S19.2E-1-1068-28527"; +channelsnames[317]="Nick Jr."; +channels[317]="S28.2E-2-2029-5563"; +channelsnames[318]="Nick Jr+1"; +channels[318]="S28.2E-2-2079-51090"; +channelsnames[319]="Nick Jr Peppa"; +channels[319]="S28.2E-2-2079-51089"; +channelsnames[320]="Nick Jr France"; +channels[320]="S19.2E-1-1078-28677"; +channelsnames[321]="Nick Jr."; +channels[321]="S13.0E-318-1400-30"; +channelsnames[322]="Nick Jr"; +channels[322]="S13.0E-64511-800-1424"; +channelsnames[323]="Nickelodeon"; +channels[323]="S28.2E-2-2029-5560"; +channelsnames[324]="Nickelodeon+1"; +channels[324]="S28.2E-2-2029-5561"; +channelsnames[325]="DISNEY JR"; +channels[325]="S30.0W-49-4-71"; +channelsnames[326]="Disney Junior"; +channels[326]="S28.2E-2-2011-9103"; +channelsnames[327]="Disney Junior+"; +channels[327]="S28.2E-2-2011-9106"; +channelsnames[328]="BabyTV"; +channels[328]="S28.2E-2-2029-5564"; +channelsnames[329]="Boomerang"; +channels[329]="S28.2E-2-2074-50205"; +channelsnames[330]="Boomerang +1"; +channels[330]="S28.2E-2-2074-50210"; +channelsnames[331]="Cartoon Netwrk"; +channels[331]="S28.2E-2-2074-50200"; +channelsnames[332]="Cartoonito"; +channels[332]="S28.2E-2-2021-5521"; +channelsnames[333]="CN+1"; +channels[333]="S28.2E-2-2074-50215"; +channelsnames[334]="Disney Chnl"; +channels[334]="S28.2E-2-2011-9102"; +channelsnames[335]="Disney Chnl+1"; +channels[335]="S28.2E-2-2011-9105"; +channelsnames[336]="Disney XD"; +channels[336]="S28.2E-2-2011-9101"; +channelsnames[337]="Disney XD+1"; +channels[337]="S28.2E-2-2011-9104"; +channelsnames[338]="Nicktoons"; +channels[338]="S28.2E-2-2029-5562"; +channelsnames[339]="NICK JR"; +channels[339]="S30.0W-49-7-75"; +channelsnames[340]="Boomerang"; +channels[340]="S23.5E-3-3202-6035"; +channelsnames[341]="Disney Channel"; +channels[341]="S23.5E-3-3202-6065"; +channelsnames[342]="Cartoon"; +channels[342]="S23.5E-3-3222-20940"; +channelsnames[343]="JimJam"; +channels[343]="S23.5E-3-3202-6003"; +channelsnames[344]="JimJam CZ"; +channels[344]="S23.5E-3-3202-6053"; +channelsnames[345]="Disney CZ"; +channels[345]="S23.5E-3-3211-20857"; +channelsnames[346]="KetOp12"; +channels[346]="S23.5E-3-3222-21112"; +channelsnames[347]="VTMKazoom/Kanaal Z"; +channels[347]="S23.5E-3-3222-21116"; +channelsnames[401]="Das Erste"; +channels[401]="S19.2E-1-1101-28106"; +channelsnames[402]="ZDF"; +channels[402]="S19.2E-1-1079-28006"; +channelsnames[403]="3sat"; +channels[403]="S19.2E-1-1079-28007"; +channelsnames[404]="WDR Düsseldorf"; +channels[404]="S19.2E-1-1201-28308"; +channelsnames[405]="NDR FS HH"; +channels[405]="S19.2E-1-1073-28225"; +channelsnames[406]="MDR Thüringen"; +channels[406]="S19.2E-1-1073-28230"; +channelsnames[407]="Bayerisches FS Nord"; +channels[407]="S19.2E-1-1101-28110"; +channelsnames[408]="SWR Fernsehen BW"; +channels[408]="S19.2E-1-1101-28113"; +channelsnames[409]="ARD-alpha"; +channels[409]="S19.2E-1-1093-28487"; +channelsnames[410]="hr-fernsehen"; +channels[410]="S19.2E-1-1101-28108"; +channelsnames[411]="Radio Bremen TV"; +channels[411]="S19.2E-1-1201-28385"; +channelsnames[412]="tagesschau24"; +channels[412]="S19.2E-1-1051-28721"; +channelsnames[413]="Einsfestival"; +channels[413]="S19.2E-1-1051-28722"; +channelsnames[414]="EinsPlus"; +channels[414]="S19.2E-1-1051-28723"; +channelsnames[415]="ZDFinfo"; +channels[415]="S19.2E-1-1079-28011"; +channelsnames[416]="zdf.kultur"; +channels[416]="S19.2E-1-1079-28016"; +channelsnames[417]="zdf_neo"; +channels[417]="S19.2E-1-1079-28014"; +channelsnames[418]="arte"; +channels[418]="S19.2E-1-1051-28724"; +channelsnames[419]="PHOENIX"; +channels[419]="S19.2E-1-1051-28725"; +channelsnames[420]="SAT.1 Gold"; +channels[420]="S19.2E-1-1107-17504"; +channelsnames[421]="kabel eins"; +channels[421]="S19.2E-1-1107-17502"; +channelsnames[422]="n-tv"; +channels[422]="S19.2E-1-1089-12090"; +channelsnames[423]="N24"; +channels[423]="S19.2E-1-1107-17503"; +channelsnames[424]="ProSieben"; +channels[424]="S19.2E-1-1107-17501"; +channelsnames[425]="RTL Television,RTL"; +channels[425]="S19.2E-1-1089-12003"; +channelsnames[426]="RTL2"; +channels[426]="S19.2E-1-1089-12020"; +channelsnames[427]="SUPER RTL"; +channels[427]="S19.2E-1-1089-12040"; +channelsnames[428]="SAT.1"; +channels[428]="S19.2E-1-1107-17500"; +channelsnames[429]="SIXX"; +channels[429]="S19.2E-133-5-776"; +channelsnames[430]="VOX"; +channels[430]="S19.2E-1-1089-12060"; +channelsnames[431]="kabel eins classics"; +channels[431]="S19.2E-1-1107-17506"; +channelsnames[432]="RTL Living"; +channels[432]="S19.2E-1-1089-12030"; +channelsnames[433]="ProSieben MAXX"; +channels[433]="S19.2E-1-1107-17505"; +channelsnames[434]="Disney Channel"; +channels[434]="S19.2E-133-5-1793"; +channelsnames[450]="13th Street,13Street"; +channels[450]="S19.2E-133-1-42"; +channelsnames[451]="AXN Action. OBSOLETE,AXN."; +channels[451]="S19.2E-133-9-62"; +channelsnames[452]="Biography Channel. OBSOLETE,Bio."; +channels[452]="S19.2E-133-9-67"; +channelsnames[453]="Boomerang. OBSOLETE"; +channels[453]="S19.2E-133-9-66"; +channelsnames[454]="Cartoon Network (S). OBSOLETE"; +channels[454]="S19.2E-133-9-64"; +channelsnames[455]="Classica"; +channels[455]="S19.2E-133-17-24"; +channelsnames[456]="Discovery Channel,Discovery"; +channels[456]="S19.2E-133-4-14"; +channelsnames[457]="Sky Atlantic,Atlantic"; +channels[457]="S19.2E-133-17-34"; +channelsnames[458]="Disney Cinemagic,DisneyCin"; +channels[458]="S19.2E-133-3-25"; +channelsnames[459]="Disney XD,DisneyXD"; +channels[459]="S19.2E-133-17-28"; +channelsnames[460]="Eurosport 2 Deutschland. OBSOLETE"; +channels[460]="S19.2E-133-9-65"; +channelsnames[461]="Fox Serie,Fox"; +channels[461]="S19.2E-133-1-16"; +channelsnames[462]="Goldstar TV,Goldstar"; +channels[462]="S19.2E-133-17-518"; +channelsnames[463]="Heimatkanal,Heimat"; +channels[463]="S19.2E-133-17-22"; +channelsnames[464]="History. OBSOLETE"; +channels[464]="S19.2E-133-9-68"; +channelsnames[465]="Junior"; +channels[465]="S19.2E-133-17-19"; +channelsnames[466]="Kinowelt TV. OBSOLETE,Kinowelt."; +channels[466]="S19.2E-133-9-60"; +channelsnames[467]="MGM"; +channels[467]="S19.2E-133-3-515"; +channelsnames[468]="Motorvision TV,Motorvis"; +channels[468]="S19.2E-133-1-168"; +channelsnames[469]="NatGeo Wild,NG Wild"; +channels[469]="S19.2E-133-4-12"; +channelsnames[470]="National Geographic,NatGeo"; +channels[470]="S19.2E-133-4-13"; +channelsnames[471]="Disney Junior,DisneyJr"; +channels[471]="S19.2E-133-17-26"; +channelsnames[472]="Romance TV. OBSOLETE,Romance."; +channels[472]="S19.2E-133-9-63"; +channelsnames[473]="RTL Passion,Passion"; +channels[473]="S19.2E-133-1-29"; +channelsnames[474]="Sky Action,Action"; +channels[474]="S19.2E-133-2-9"; +channelsnames[475]="Sky Bundesliga 1,Sky Buli 1"; +channels[475]="S19.2E-133-4-223"; +channelsnames[476]="Sky Cinema+1,SkyCine1"; +channels[476]="S19.2E-133-2-11"; +channelsnames[477]="Sky Cinema+24,SkyCine24"; +channels[477]="S19.2E-133-2-43"; +channelsnames[478]="Sky Hits,SkyHits"; +channels[478]="S19.2E-133-3-41"; +channelsnames[479]="Sky Cinema,Cinema"; +channels[479]="S19.2E-133-2-10"; +channelsnames[480]="Sky Comedy,Comedy"; +channels[480]="S19.2E-133-2-8"; +channelsnames[481]="Sky Emotion,Emotion"; +channels[481]="S19.2E-133-2-20"; +channelsnames[482]="Sky Krimi,SkyKrimi"; +channels[482]="S19.2E-133-1-23"; +channelsnames[483]="Sky Nostalgie,Nostalgie"; +channels[483]="S19.2E-133-3-516"; +channelsnames[484]="Sky Sport 1,Sport1"; +channels[484]="S19.2E-133-4-221"; +channelsnames[485]="MAG - LEV"; +channels[485]="S19.2E-133-4-222"; +channelsnames[486]="N24 Austria"; +channels[486]="S19.2E-133-7-53"; +channelsnames[487]="Spiegel Geschichte,SpiegelG"; +channels[487]="S19.2E-133-4-52"; +channelsnames[488]="sportdigital. OBSOLETE"; +channels[488]="S19.2E-133-9-69"; +channelsnames[489]="Syfy"; +channels[489]="S19.2E-133-17-36"; +channelsnames[490]="TNT Film (TCM). OBSOLETE,TNT Film."; +channels[490]="S19.2E-133-9-61"; +channelsnames[491]="TNT Serie,TNTSerie"; +channels[491]="S19.2E-133-1-50"; +channelsnames[501]="ORF1"; +channels[501]="S19.2E-1-1117-13001"; +channelsnames[502]="ORF2"; +channels[502]="S19.2E-1-1117-13002"; +channelsnames[503]="ORF III"; +channels[503]="S19.2E-1-1115-13101"; +channelsnames[504]="ATV"; +channels[504]="S19.2E-1-1117-13012"; +channelsnames[505]="sixx Austria"; +channels[505]="S19.2E-1-1115-13106"; +channelsnames[506]="ATV2"; +channels[506]="S19.2E-1-1003-13223"; +channelsnames[507]="ATV HD"; +channels[507]="S19.2E-1-1003-13228"; +channelsnames[508]="MELODIE TV"; +channels[508]="S19.2E-1-1003-13229"; +channelsnames[509]="Starparadies AT"; +channels[509]="S19.2E-1-1003-13226"; +channelsnames[510]="Schau TV"; +channels[510]="S19.2E-1-1003-13225"; +channelsnames[511]="Volksmusik"; +channels[511]="S19.2E-1-1003-13222"; +channelsnames[512]="ServusTV Deutschland"; +channels[512]="S19.2E-1-1115-13110"; +channelsnames[513]="ServusTV Oesterreich"; +channels[513]="S19.2E-1-1115-13111"; +channelsnames[520]="SRF info"; +channels[520]="S13.0E-318-8500-911"; +channelsnames[521]="SRF 1"; +channels[521]="S13.0E-318-8500-901"; +channelsnames[522]="SRF zwei"; +channels[522]="S13.0E-318-8500-907"; +channelsnames[523]="RSI LA 1"; +channels[523]="S13.0E-318-1700-14003"; +channelsnames[524]="RSI LA 2"; +channels[524]="S13.0E-318-1700-14009"; +channelsnames[525]="RTS Un"; +channels[525]="S13.0E-318-1700-14002"; +channelsnames[526]="RTS Deux"; +channels[526]="S13.0E-318-1700-14008"; +channelsnames[531]="Rai 1"; +channels[531]="S13.0E-318-12400-8511"; +channelsnames[532]="Rai 2"; +channels[532]="S13.0E-318-12400-8512"; +channelsnames[533]="Rai 3"; +channels[533]="S13.0E-318-12400-8513"; +channelsnames[534]="Rai 4"; +channels[534]="S13.0E-318-12400-8514"; +channelsnames[535]="Rai Movie"; +channels[535]="S13.0E-318-12400-8502"; +channelsnames[550]="Dubai Sports 3"; +channels[550]="S13.0E-318-5103-9502"; +channelsnames[551]="Rai Sport 1"; +channels[551]="S13.0E-318-5400-3305"; +channelsnames[552]="Rai Sport 2"; +channels[552]="S13.0E-318-5400-3301"; +channelsnames[553]="Saudi Arabian TV2"; +channels[553]="S13.0E-318-7700-112"; +channelsnames[554]="JSC Sports Global"; +channels[554]="S13.0E-318-7700-126"; +channelsnames[555]="Eurosport Deutschland"; +channels[555]="S19.2E-1-1091-31200"; +channelsnames[556]="e8 television,e8 tv"; +channels[556]="S19.2E-133-33-897"; +channelsnames[557]="SPORT1"; +channels[557]="S19.2E-133-33-900"; +channelsnames[558]="Eurosport"; +channels[558]="S28.2E-2-2030-6039"; +channelsnames[559]="Eurosport 2"; +channels[559]="S28.2E-2-2023-5009"; +channelsnames[560]="Extreme Sports"; +channels[560]="S28.2E-2-2311-52080"; +channelsnames[561]="Premier Sports"; +channels[561]="S28.2E-2-2081-51113"; +channelsnames[562]="Sky Sports 1"; +channels[562]="S28.2E-2-2021-4214"; +channelsnames[563]="Sky Sports 2"; +channels[563]="S28.2E-2-2021-4208"; +channelsnames[564]="Sky Sports 3"; +channels[564]="S28.2E-2-2021-4219"; +channelsnames[565]="Sky Ryder Cup"; +channels[565]="S28.2E-2-2023-5401"; +channelsnames[566]="Sky Sp NewsHQ"; +channels[566]="S28.2E-2-2023-4907"; +channelsnames[567]="CANAL+ SPORT"; +channels[567]="S19.2E-1-1072-8224"; +channelsnames[568]="ESP Int'l"; +channels[568]="S13.0E-318-200-13831"; +channelsnames[569]="ESP Dutch"; +channels[569]="S13.0E-318-200-13833"; +channelsnames[570]="ESP2 Int'l"; +channels[570]="S13.0E-318-200-13801"; +channelsnames[571]="Sky Sport News,SportNews"; +channels[571]="S19.2E-133-3-17"; +channelsnames[572]="EUROSPORT"; +channels[572]="S19.2E-53-1097-2025"; +channelsnames[573]="Eurosport DUT"; +channels[573]="S23.5E-3-3209-13106"; +channelsnames[574]="FOX Sports EDL 1 HD"; +channels[574]="S23.5E-3-3202-6092"; +channelsnames[575]="FOX Sports 2 HD int"; +channels[575]="S23.5E-3-3225-21045"; +channelsnames[576]="FOX Sports EDL 3"; +channels[576]="S23.5E-3-3222-20935"; +channelsnames[577]="Sport1 Select HD"; +channels[577]="S23.5E-3-3222-20960"; +channelsnames[578]="Sport1 Voetbal"; +channels[578]="S23.5E-3-3222-20925"; +channelsnames[579]="Sport1 Golf"; +channels[579]="S23.5E-3-3222-20930"; +channelsnames[580]="HBO HD"; +channels[580]="S23.5E-3-3205-5033"; +channelsnames[581]="Eurosport"; +channels[581]="S23.5E-3-3211-20809"; +channelsnames[582]="Eurosport CZ"; +channels[582]="S23.5E-3-3211-20859"; +channelsnames[600]="DELUXE MUSIC,DELUXE"; +channels[600]="S19.2E-133-7-65"; +channelsnames[601]="Vintage TV"; +channels[601]="S28.2E-2-2301-52180"; +channelsnames[602]="Xite"; +channels[602]="T-8720-2244-43"; +channelsnames[603]="MTV"; +channels[603]="T-8720-2212-24"; +channelsnames[604]="Scuzz"; +channels[604]="S28.2E-2-2314-53310"; +channelsnames[605]="Rock TV"; +channels[605]="S13.0E-64511-100-15333"; +channelsnames[606]="JIM"; +channels[606]="S23.5E-3-3222-21110"; +channelsnames[607]="MTV NL"; +channels[607]="S23.5E-3-3222-20947"; +channelsnames[608]="TV Oranje"; +channels[608]="S23.5E-3-3222-20948"; +channelsnames[609]="iConcerts"; +channels[609]="S23.5E-3-3226-730"; +channelsnames[610]="iConcerts CZ"; +channels[610]="S23.5E-3-3226-733"; +channelsnames[611]="brava hd"; +channels[611]="S23.5E-3-3226-732"; +channelsnames[612]="MTV ROCKS"; +channels[612]="S19.2E-1-1066-28659"; +channelsnames[613]="MTV Hits"; +channels[613]="S19.2E-1-1066-28654"; +channelsnames[614]="MTV Dance"; +channels[614]="S19.2E-1-1066-28655"; +channelsnames[615]="VH1 Classic"; +channels[615]="S19.2E-1-1066-28657"; +channelsnames[616]="VH1"; +channels[616]="S19.2E-1-1066-28656"; +channelsnames[617]="MTV Music 24"; +channels[617]="S19.2E-1-1078-28671"; +channelsnames[618]="NOW Music"; +channels[618]="S28.2E-2-2311-52010"; +channelsnames[619]="Bliss"; +channels[619]="S28.2E-2-2314-53305"; +channelsnames[620]="Flava"; +channels[620]="S28.2E-2-2314-53300"; +channelsnames[621]="The Vault"; +channels[621]="S28.2E-2-2314-53355"; +channelsnames[622]="Chart Show TV"; +channels[622]="S28.2E-2-2314-53365"; +channelsnames[623]="Planet Pop"; +channels[623]="S28.2E-2-2612-55114"; +channelsnames[624]="Chartshw Dnce"; +channels[624]="S28.2E-2-2314-53315"; +channelsnames[625]="Clubland TV"; +channels[625]="S28.2E-2-2612-55113"; +channelsnames[626]="Zing"; +channels[626]="S28.2E-2-2405-50470"; +channelsnames[627]="Brit Asia TV"; +channels[627]="S28.2E-2-2612-55108"; +channelsnames[628]="Kerrang!"; +channels[628]="S28.2E-2-2040-12015"; +channelsnames[629]="VH1."; +channels[629]="S19.2E-1-1066-28666"; +channelsnames[630]="VH1 Classic."; +channels[630]="S19.2E-1-1066-28667"; +channelsnames[631]="MTV ROCKS."; +channels[631]="S19.2E-1-1066-28669"; +channelsnames[632]="MTV FRANCE"; +channels[632]="S19.2E-1-1066-28652"; +channelsnames[633]="Test Channel 3 (Ex MTV IDOL)"; +channels[633]="S19.2E-1-1078-28675"; +channelsnames[634]="Test Channel 2 (ex MTV Pulse)"; +channels[634]="S19.2E-1-1078-28674"; +channelsnames[635]="Test Channel 1 (ex MTV Germany)"; +channels[635]="S19.2E-1-1078-28673"; +channelsnames[636]="Comedy Central/VIVA"; +channels[636]="S19.2E-1-1078-28676"; +channelsnames[637]="Test Channel 1 (Ex MTV BASE FRANCE)"; +channels[637]="S19.2E-1-1066-28661"; +channelsnames[638]="MTV Hits."; +channels[638]="S19.2E-1-1066-28664"; +channelsnames[639]="MTV"; +channels[639]="S28.2E-2-2010-7001"; +channelsnames[640]="MTV"; +channels[640]="S28.2E-2-2010-7010"; +channelsnames[641]="MTV BASE"; +channels[641]="S28.2E-2-2010-7007"; +channelsnames[642]="MTV CLASSIC"; +channels[642]="S28.2E-2-2010-7008"; +channelsnames[643]="MTV DANCE"; +channels[643]="S28.2E-2-2010-7014"; +channelsnames[644]="MTV HITS"; +channels[644]="S28.2E-2-2010-7006"; +channelsnames[645]="MTV MUSIC"; +channels[645]="S28.2E-2-2010-7012"; +channelsnames[646]="MTV ROCKS"; +channels[646]="S28.2E-2-2010-7003"; +channelsnames[647]="MTV Trax OBSOLETE"; +channels[647]="S28.2E-2-2010-7021"; +channelsnames[648]="MTV+1"; +channels[648]="S28.2E-2-2010-7005"; +channelsnames[649]="VH1"; +channels[649]="S28.2E-2-2010-7002"; +channelsnames[650]="VIVA"; +channels[650]="S28.2E-2-2010-7009"; +channelsnames[651]="VH1"; +channels[651]="S30.0W-54-37-2003"; +channelsnames[652]="VH1 Classic"; +channels[652]="S30.0W-54-41-612"; +channelsnames[653]="MTV Music"; +channels[653]="S30.0W-54-40-782"; +channelsnames[654]="RTP Memória"; +channels[654]="S30.0W-54-40-783"; +channelsnames[655]="MCM TOP"; +channels[655]="S30.0W-54-40-504"; +channelsnames[656]="TVE Internacional"; +channels[656]="S30.0W-54-37-967"; +channelsnames[657]="MTV ROCKS"; +channels[657]="S30.0W-54-37-2004"; +channelsnames[658]="Comedy Central / VIVA AT"; +channels[658]="S19.2E-133-7-60"; +channelsnames[659]="MTV Live"; +channels[659]="S28.2E-2-2409-50885"; +channelsnames[660]="Nicktoons (S)"; +channels[660]="S19.2E-1-1078-28682"; +channelsnames[661]="MTV Classic"; +channels[661]="S13.0E-64511-800-1427"; +channelsnames[662]="MTV Music"; +channels[662]="S13.0E-64511-800-1428"; +channelsnames[663]="MTV Dance"; +channels[663]="S13.0E-64511-800-1429"; +channelsnames[664]="SLIDE TSCS2"; +channels[664]="S30.0W-54-37-785"; +channelsnames[665]="MEZZO"; +channels[665]="S13.0E-318-15600-10725"; +channelsnames[700]="NHK World"; +channels[700]="S13.0E-318-13100-7327"; +channelsnames[701]="VTV4"; +channels[701]="S13.0E-318-11500-17321"; +channelsnames[702]="Thai Global Network"; +channels[702]="S13.0E-318-11500-17320"; +channelsnames[703]="CNC-001"; +channels[703]="S13.0E-318-7200-7257"; +channelsnames[704]="CCTV-News"; +channels[704]="S13.0E-318-12600-1706"; +channelsnames[705]="CCTV4"; +channels[705]="S13.0E-318-7200-7224"; +channelsnames[706]="Arirang World"; +channels[706]="S13.0E-318-15600-10715"; +channelsnames[707]="NHK World TV"; +channels[707]="S19.2E-1-1020-7014"; +channelsnames[708]="CCTV9 Documentary"; +channels[708]="S19.2E-1-1022-6912"; +channelsnames[709]="CCTV NEWS"; +channels[709]="S19.2E-1-1022-6914"; +channelsnames[710]="CCTV F"; +channels[710]="S19.2E-1-1022-6913"; +channelsnames[711]="Arirang TV"; +channels[711]="S19.2E-1-1020-7011"; +channelsnames[712]="CNC World"; +channels[712]="S28.2E-2-2306-52580"; +channelsnames[713]="PCNE Chinese"; +channels[713]="S28.2E-2-2302-52118"; +channelsnames[714]="Arte Oggi TV"; +channels[714]="S13.0E-318-15600-10709"; +channelsnames[715]="JSTV 1"; +channels[715]="S13.0E-318-9400-8213"; +channelsnames[716]="JSTV 2"; +channels[716]="S13.0E-318-9400-8214"; +channelsnames[730]="B4U Music"; +channels[730]="S28.2E-2-2302-52135"; +channelsnames[731]="Music India"; +channels[731]="S28.2E-2-2611-55019"; +channelsnames[732]="Rishtey"; +channels[732]="S28.2E-2-2304-55209"; +channelsnames[733]="ARY World"; +channels[733]="S28.2E-2-2404-50310"; +channelsnames[734]="Aastha"; +channels[734]="S28.2E-2-2402-55500"; +channelsnames[735]="Sangat"; +channels[735]="S28.2E-2-2612-9536"; +channelsnames[736]="MATV National"; +channels[736]="S28.2E-2-2604-54300"; +channelsnames[737]="BON TV"; +channels[737]="S28.2E-2-2313-53290"; +channelsnames[738]="ARY QTV"; +channels[738]="S28.2E-2-2306-52535"; +channelsnames[739]="Channel i"; +channels[739]="S28.2E-2-2601-54062"; +channelsnames[740]="SONY SAB"; +channels[740]="S28.2E-2-2602-54107"; +channelsnames[741]="ATN Bangla UK"; +channels[741]="S28.2E-2-2601-54053"; +channelsnames[742]="Venus TV"; +channels[742]="S28.2E-2-2409-50884"; +channelsnames[743]="SMNI"; +channels[743]="S13.0E-318-9400-8206"; +channelsnames[744]="Ganj e Hozour TV"; +channels[744]="S13.0E-0-0-17017"; +channelsnames[745]="Bangla TV"; +channels[745]="S28.2E-2-2602-54115"; +channelsnames[746]="Madani Chnl"; +channels[746]="S28.2E-2-2601-54068"; +channelsnames[747]="B4U Movies"; +channels[747]="S28.2E-2-2302-52134"; +channelsnames[748]="SONY TV Asia"; +channels[748]="S28.2E-2-2014-7420"; +channelsnames[749]="COLORS"; +channels[749]="S28.2E-2-2306-52520"; +channelsnames[750]="Star GOLD"; +channels[750]="S28.2E-2-2301-52113"; +channelsnames[751]="Studio 66 TV 3"; +channels[751]="S28.2E-2-2604-54320"; +channelsnames[752]="Star Life OK"; +channels[752]="S28.2E-2-2304-55210"; +channelsnames[753]="Star Plus"; +channels[753]="S28.2E-2-2301-52108"; +channelsnames[754]="Zee TV"; +channels[754]="S28.2E-2-2405-50460"; +channelsnames[755]="Lamhe"; +channels[755]="S28.2E-2-2405-50480"; +channelsnames[756]="Zee Cinema"; +channels[756]="S28.2E-2-2405-50465"; +channelsnames[757]="Zee Punjabi"; +channels[757]="S28.2E-2-2405-50475"; +channelsnames[758]="Face 1"; +channels[758]="S13.0E-318-15700-10605"; +channelsnames[759]="GEO TEZ"; +channels[759]="S28.2E-2-2306-52505"; +channelsnames[760]="ARY Ent"; +channels[760]="S28.2E-2-2405-50415"; +channelsnames[761]="GEO News"; +channels[761]="S28.2E-2-2405-50405"; +channelsnames[762]="GEO UK"; +channels[762]="S28.2E-2-2306-52500"; +channelsnames[800]="Music Box Russia"; +channels[800]="S13.0E-318-11500-17316"; +channelsnames[801]="RUTV"; +channels[801]="S13.0E-318-600-17680"; +channelsnames[802]="1TVRUS Europe"; +channels[802]="S13.0E-318-9400-8208"; +channelsnames[803]="RTR"; +channels[803]="S13.0E-318-12600-1708"; +channelsnames[804]="THT COMEDY"; +channels[804]="S13.0E-318-12600-1703"; +channelsnames[805]="Rossiya 24"; +channels[805]="S13.0E-318-12600-1710"; +channelsnames[806]="Arise TV"; +channels[806]="S13.0E-318-15400-13527"; +channelsnames[807]="Soyuz TV"; +channels[807]="S13.0E-318-11500-17313"; +channelsnames[808]="RBC-TV"; +channels[808]="S13.0E-318-9000-8342"; +channelsnames[809]="RT DOC"; +channels[809]="S13.0E-318-6500-487"; +channelsnames[810]="R1"; +channels[810]="S13.0E-318-13000-14607"; +channelsnames[811]="TVRUS"; +channels[811]="S13.0E-318-15500-637"; +channelsnames[812]="Shanson TV"; +channels[812]="S13.0E-318-12600-1704"; +channelsnames[813]="ChildRussia"; +channels[813]="S13.0E-318-15300-813"; +channelsnames[814]="TBN Russia"; +channels[814]="S13.0E-318-15300-807"; +channelsnames[815]="CNL"; +channels[815]="S13.0E-318-11500-17312"; +channelsnames[816]="Euronews"; +channels[816]="S13.0E-318-9400-8211"; +channelsnames[817]="Russia Today"; +channels[817]="S13.0E-318-600-17629"; +channelsnames[818]="Newroz"; +channels[818]="S13.0E-318-15700-10608"; +channelsnames[819]="RTVi Europe"; +channels[819]="S13.0E-318-8100-14802"; +channelsnames[820]="inteRTV Nashe Kino"; +channels[820]="S13.0E-318-8100-14804"; +channelsnames[821]="inteRTV Detskii Mir - TeleClub"; +channels[821]="S13.0E-318-8100-14803"; +channelsnames[822]="ESP2 Rus"; +channels[822]="S13.0E-318-200-13813"; +channelsnames[823]="ESP Russian"; +channels[823]="S13.0E-318-200-13835"; +channelsnames[824]="ESP2 NE Russian"; +channels[824]="S13.0E-318-200-13883"; +channelsnames[825]="Khabar TV"; +channels[825]="S13.0E-318-7200-7220"; +channelsnames[826]="inteRTV Mir Seriala"; +channels[826]="S13.0E-318-8100-14807"; +channelsnames[827]="ARM_1"; +channels[827]="S13.0E-318-9400-8202"; +channelsnames[828]="TV9"; +channels[828]="S13.0E-318-15400-13505"; +channelsnames[840]="TVP1"; +channels[840]="S19.2E-1-1059-7100"; +channelsnames[841]="TVP2"; +channels[841]="S19.2E-1-1059-7101"; +channelsnames[842]="TVP Sport"; +channels[842]="S19.2E-1-1059-7103"; +channelsnames[850]="TV5MONDE EUROPE"; +channels[850]="S19.2E-1-1022-6915"; +channelsnames[851]="M6"; +channels[851]="S19.2E-1-1100-8706"; +channelsnames[852]="M6 HD"; +channels[852]="S19.2E-1-1088-9310"; +channelsnames[900]="EuroNews"; +channels[900]="S19.2E-1-1091-31220"; +channelsnames[901]="CNN Int."; +channels[901]="S19.2E-1-1068-28522"; +channelsnames[902]="CNBC Europe"; +channels[902]="S19.2E-1-1026-10030"; +channelsnames[903]="BBC World"; +channels[903]="S19.2E-1-1026-10050"; +channelsnames[904]="Sky News Intl"; +channels[904]="S19.2E-1-1111-7290"; +channelsnames[905]="France 24 (in English)"; +channels[905]="S19.2E-1-1022-6906"; +channelsnames[906]="Al Jazeera English"; +channels[906]="S19.2E-1-1020-7012"; +channelsnames[907]="Al Jazeera Channel"; +channels[907]="S19.2E-1-1020-7009"; +channelsnames[908]="joiz"; +channels[908]="S19.2E-133-5-74"; +channelsnames[909]="Bloomberg Europe TV"; +channels[909]="S19.2E-1-1026-10067"; +channelsnames[910]="BBC World News"; +channels[910]="S13.0E-318-9400-8204"; +channelsnames[911]="CNBC PE Hot"; +channels[911]="S13.0E-318-13000-14610"; +channelsnames[912]="Bloomberg European TV"; +channels[912]="S13.0E-318-13100-7302"; +channelsnames[913]="Al Jazeera Intl"; +channels[913]="S13.0E-318-12600-1714"; +channelsnames[914]="PRESS TV"; +channels[914]="S13.0E-318-8700-7944"; +channelsnames[915]="DW Europe"; +channels[915]="S13.0E-318-15500-607"; +channelsnames[916]="Rai News 24"; +channels[916]="S13.0E-318-12400-8516"; +channelsnames[917]="France 24 (in English)"; +channels[917]="S13.0E-318-200-13850"; +channelsnames[918]="France 24 (en Francais)"; +channels[918]="S13.0E-318-200-13849"; +channelsnames[919]="Canal 24 Horas"; +channels[919]="S13.0E-318-5000-13712"; +channelsnames[920]="Chamber TV"; +channels[920]="S23.5E-3-3224-5220"; +channelsnames[921]="Sky News"; +channels[921]="S28.2E-2-2026-4704"; +channelsnames[922]="Bloomberg"; +channels[922]="S28.2E-2-2306-52550"; +channelsnames[923]="ABN TV"; +channels[923]="S28.2E-2-2301-52111"; +channelsnames[924]="CNN"; +channels[924]="S28.2E-2-2074-50220"; +channelsnames[925]="RT"; +channels[925]="S28.2E-2-2409-50847"; +channelsnames[926]="Al Jazeera Eng"; +channels[926]="S28.2E-2-2081-51107"; +channelsnames[927]="Russia Today"; +channels[927]="S19.2E-1-1022-6904"; +channelsnames[928]="RT Esp"; +channels[928]="S19.2E-1-1020-7013"; +channelsnames[950]="Travel Channel"; +channels[950]="S28.2E-2-2602-54102"; +channelsnames[951]="Travel Ch +1"; +channels[951]="S28.2E-2-2301-52100"; +channelsnames[952]="Travel"; +channels[952]="S5.0E-1-1-287"; +channelsnames[953]="Discovery Travel"; +channels[953]="S13.0E-64511-800-1465"; +channelsnames[954]="TV GLOBO"; +channels[954]="S13.0E-318-15400-13526"; +channelsnames[1001]="NPO1"; +channels[1001]="S19.2E-53-1105-4011"; +channelsnames[1002]="NPO2"; +channels[1002]="S19.2E-53-1105-4012"; +channelsnames[1003]="NPO3"; +channels[1003]="S19.2E-53-1105-4013"; +channelsnames[1004]="RTL4"; +channels[1004]="S19.2E-53-1105-4044"; +channelsnames[1005]="RTL5"; +channels[1005]="S19.2E-53-1105-4045"; +channelsnames[1006]="SBS6"; +channels[1006]="S19.2E-53-1105-4002"; +channelsnames[1007]="RTL7"; +channels[1007]="S19.2E-53-1105-4047"; +channelsnames[1009]="NET5"; +channels[1009]="S19.2E-53-1105-4003"; +channelsnames[1012]="Omrop Fryslan Televisie"; +channels[1012]="S23.5E-3-3211-20808"; +channelsnames[1013]="TV Noord"; +channels[1013]="S23.5E-3-3211-20810"; +channelsnames[1014]="TV Oost"; +channels[1014]="S23.5E-3-3211-20814"; +channelsnames[1015]="TV Gelderland"; +channels[1015]="S23.5E-3-3211-20816"; +channelsnames[1016]="Omroep Zeeland Televisie"; +channels[1016]="S23.5E-3-3211-20818"; +channelsnames[1017]="TV Drenthe"; +channels[1017]="S23.5E-3-3211-20812"; +channelsnames[1018]="TV West"; +channels[1018]="S23.5E-3-3211-20804"; +channelsnames[1019]="Omroep Brabant Televisie"; +channels[1019]="S23.5E-3-3211-20820"; +channelsnames[1020]="Regio BE"; +channels[1020]="S23.5E-3-3202-6055"; +channelsnames[1021]="AT5"; +channels[1021]="S23.5E-3-3225-21012"; +channelsnames[1022]="L1MBURG"; +channels[1022]="S23.5E-3-3208-7050"; +channelsnames[1040]="een"; +channels[1040]="S19.2E-53-1119-12801"; +channelsnames[1041]="Canvas"; +channels[1041]="S19.2E-53-1119-12802"; +channelsnames[1042]="VTM"; +channels[1042]="S19.2E-53-1119-12810"; +channelsnames[1043]="een HD"; +channels[1043]="S23.5E-3-3225-21025"; +channelsnames[1044]="Canvas HD"; +channels[1044]="S23.5E-3-3225-21030"; +channelsnames[1045]="VTM HD"; +channels[1045]="S23.5E-3-3208-7030"; +channelsnames[1046]="VIER"; +channels[1046]="S19.2E-53-1119-12814"; +channelsnames[1047]="2BE"; +channels[1047]="S19.2E-53-1119-12812"; +channelsnames[1048]="VIJF"; +channels[1048]="S19.2E-53-1119-12820"; +channelsnames[1049]="Vitaya"; +channels[1049]="S23.5E-3-3222-21120"; +channelsnames[1050]="Acht"; +channels[1050]="S23.5E-3-3222-21122"; +channelsnames[1100]="SkyPremiereHD"; +channels[1100]="S28.2E-2-2016-3821"; +channelsnames[1102]="Sky ShowcseHD"; +channels[1102]="S28.2E-2-2039-3911"; +channelsnames[1103]="Sky Comedy HD"; +channels[1103]="S28.2E-2-2024-3819"; +channelsnames[1104]="Sky Action HD"; +channels[1104]="S28.2E-2-2028-3814"; +channelsnames[1105]="Sky Family HD"; +channels[1105]="S28.2E-2-2016-3818"; +channelsnames[1106]="Sky Thriller HD"; +channels[1106]="S28.2E-2-2016-3862"; +channelsnames[1107]="Sky DraRomHD"; +channels[1107]="S28.2E-2-2024-3816"; +channelsnames[1108]="Sky ScFi/HorHD"; +channels[1108]="S28.2E-2-2024-3817"; +channelsnames[1109]="Sky Greats HD"; +channels[1109]="S28.2E-2-2024-3815"; +channelsnames[1110]="Sky Select HD"; +channels[1110]="S28.2E-2-2016-3901"; +channelsnames[1111]="Sky Disney HD"; +channels[1111]="S28.2E-2-2024-3900"; +channelsnames[1112]="TCM HD"; +channels[1112]="S28.2E-2-2027-3906"; +channelsnames[1150]="Syfy HD"; +channels[1150]="S28.2E-2-2032-3874"; +channelsnames[1151]="Universal HD"; +channels[1151]="S28.2E-2-2035-3880"; +channelsnames[1152]="Comedy Cen HD"; +channels[1152]="S28.2E-2-2020-3856"; +channelsnames[1153]="FOX HD"; +channels[1153]="S28.2E-2-2008-3823"; +channelsnames[1201]="BBC One HD"; +channels[1201]="S28.2E-2-2050-6941"; +channelsnames[1202]="BBC Two HD"; +channels[1202]="S28.2E-2-2050-6940"; +channelsnames[1203]="BBC Three HD"; +channels[1203]="S28.2E-2-2050-6951"; +channelsnames[1204]="BBC Four HD"; +channels[1204]="S28.2E-2-2061-8931"; +channelsnames[1211]="ITV HD"; +channels[1211]="S28.2E-2-2066-21000"; +channelsnames[1212]="ITV2 HD"; +channels[1212]="S28.2E-2-2003-3932"; +channelsnames[1213]="ITV3 HD"; +channels[1213]="S28.2E-2-2003-3933"; +channelsnames[1214]="ITV4 HD"; +channels[1214]="S28.2E-2-2003-3934"; +channelsnames[1220]="Channel 4 HD"; +channels[1220]="S28.2E-2-2068-21200"; +channelsnames[1221]="E4 HD"; +channels[1221]="S28.2E-2-2008-3876"; +channelsnames[1230]="Channel 5 HD"; +channels[1230]="S28.2E-2-2005-3945"; +channelsnames[1260]="Sky Arts 1 HD"; +channels[1260]="S28.2E-2-2039-3863"; +channelsnames[1261]="Sky Arts 2 HD"; +channels[1261]="S28.2E-2-2034-3914"; +channelsnames[1262]="Sky1 HD"; +channels[1262]="S28.2E-2-2033-3861"; +channelsnames[1263]="Sky Atlantic HD"; +channels[1263]="S28.2E-2-2033-3853"; +channelsnames[1264]="Eden HD"; +channels[1264]="S28.2E-2-2020-3868"; +channelsnames[1265]="Good Food HD"; +channels[1265]="S28.2E-2-2027-3867"; +channelsnames[1266]="Sky Insider HD"; +channels[1266]="S28.2E-2-2035-3101"; +channelsnames[1267]="Sky Living HD"; +channels[1267]="S28.2E-2-2005-3866"; +channelsnames[1300]="CBBC HD"; +channels[1300]="S28.2E-2-2050-6952"; +channelsnames[1301]="CBeebies HD"; +channels[1301]="S28.2E-2-2061-8932"; +channelsnames[1302]="Disney XD HD"; +channels[1302]="S28.2E-2-2003-3870"; +channelsnames[1303]="NickelodeonHD"; +channels[1303]="S28.2E-2-2020-3869"; +channelsnames[1304]="Disney Cinemagic HD,DisneyCinHD"; +channels[1304]="S19.2E-133-13-111"; +channelsnames[1305]="Sky Action HD,Action HD"; +channels[1305]="S19.2E-133-11-116"; +channelsnames[1350]="CI HD"; +channels[1350]="S28.2E-2-2028-3888"; +channelsnames[1351]="Discovery HD"; +channels[1351]="S28.2E-2-2034-3916"; +channelsnames[1352]="History HD"; +channels[1352]="S28.2E-2-2028-3886"; +channelsnames[1353]="Nat Geo HD"; +channels[1353]="S28.2E-2-2020-3832"; +channelsnames[1354]="NatGeoWild HD"; +channels[1354]="S28.2E-2-2028-3885"; +channelsnames[1355]="Nat Geo Wild HD"; +channels[1355]="S23.5E-3-3226-761"; +channelsnames[1356]="Nat Geo HD"; +channels[1356]="S23.5E-3-3226-701"; +channelsnames[1401]="Das Erste HD"; +channels[1401]="S19.2E-1-1019-10301"; +channelsnames[1402]="ZDF HD"; +channels[1402]="S19.2E-1-1011-11110"; +channelsnames[1403]="WDR HD Düsseldorf"; +channels[1403]="S19.2E-1-1201-28328"; +channelsnames[1404]="Einsfestival HD"; +channels[1404]="S19.2E-1-1039-10376"; +channelsnames[1405]="EinsPlus HD"; +channels[1405]="S19.2E-1-1039-10377"; +channelsnames[1406]="tagesschau24 HD"; +channels[1406]="S19.2E-1-1039-10375"; +channelsnames[1407]="ANIXE HD"; +channels[1407]="S19.2E-1-1053-21100"; +channelsnames[1408]="ServusTV HD Deutschland"; +channels[1408]="S19.2E-1-1007-4914"; +channelsnames[1409]="arte HD"; +channels[1409]="S19.2E-1-1019-10302"; +channelsnames[1410]="Arte HD"; +channels[1410]="S13.0E-319-15900-307"; +channelsnames[1411]="sonnenklar.TV HD"; +channels[1411]="S19.2E-1-1109-5400"; +channelsnames[1412]="zdf_neo HD"; +channels[1412]="S19.2E-1-1011-11130"; +channelsnames[1413]="zdf.kultur HD"; +channels[1413]="S19.2E-1-1011-11140"; +channelsnames[1420]="NICK/CC HD"; +channels[1420]="S19.2E-1-1053-21107"; +channelsnames[1421]="N24 HD"; +channels[1421]="S19.2E-1-1053-21108"; +channelsnames[1422]="RTL HD"; +channels[1422]="S19.2E-1-1057-61200"; +channelsnames[1423]="VOX HD"; +channels[1423]="S19.2E-1-1057-61201"; +channelsnames[1424]="n-tv HD"; +channels[1424]="S19.2E-1-1057-61204"; +channelsnames[1425]="RTLII HD"; +channels[1425]="S19.2E-1-1057-61205"; +channelsnames[1426]="SAT.1 HD"; +channels[1426]="S19.2E-1-1017-61300"; +channelsnames[1427]="ProSieben HD"; +channels[1427]="S19.2E-1-1017-61301"; +channelsnames[1428]="kabel eins HD"; +channels[1428]="S19.2E-1-1017-61302"; +channelsnames[1429]="SIXX HD"; +channels[1429]="S19.2E-1-1017-61303"; +channelsnames[1430]="TELE 5 HD"; +channels[1430]="S19.2E-1-1109-5401"; +channelsnames[1450]="Fox HD OBSOLETE"; +channels[1450]="S19.2E-133-14-124"; +channelsnames[1451]="Discovery HD,DiscHD"; +channels[1451]="S19.2E-133-6-130"; +channelsnames[1452]="Sky Cinema HD,SkyCineHD"; +channels[1452]="S19.2E-133-6-131"; +channelsnames[1453]="NatGeo HD,NatGeoHD"; +channels[1453]="S19.2E-133-13-112"; +channelsnames[1454]="History HD OBSOLETE,HistHD"; +channels[1454]="S19.2E-133-13-113"; +channelsnames[1455]="Sky Hits HD,SkyHitsHD"; +channels[1455]="S19.2E-133-12-107"; +channelsnames[1456]="Sky Action HD OBSOLETE,Action HD"; +channels[1456]="S19.2E-133-12-106"; +channelsnames[1457]="Nat Geo Wild HD OBSOLETE,NGWildHD"; +channels[1457]="S19.2E-133-11-118"; +channelsnames[1501]="ORF1 HD"; +channels[1501]="S19.2E-1-1007-4911"; +channelsnames[1502]="ORF2 HD"; +channels[1502]="S19.2E-1-1007-4912"; +channelsnames[1503]="ServusTV HD Oesterreich"; +channels[1503]="S19.2E-1-1007-4913"; +channelsnames[1521]="SRF 1 HD"; +channels[1521]="S13.0E-318-12300-17201"; +channelsnames[1522]="SRF zwei HD"; +channels[1522]="S13.0E-318-12300-17202"; +channelsnames[1523]="RTS Un HD"; +channels[1523]="S13.0E-318-12300-17203"; +channelsnames[1524]="RTS Deux HD"; +channels[1524]="S13.0E-318-12300-17204"; +channelsnames[1525]="RSI LA 1 HD"; +channels[1525]="S13.0E-318-1700-14051"; +channelsnames[1526]="RSI LA 2 HD"; +channels[1526]="S13.0E-318-8500-951"; +channelsnames[1550]="Sky Sport News HD,SportNewsHD"; +channels[1550]="S19.2E-133-12-108"; +channelsnames[1551]="Sky Sport HD 1,SportHD 1"; +channels[1551]="S19.2E-133-6-129"; +channelsnames[1552]="Sky Sport HD 2,SportHD 2"; +channels[1552]="S19.2E-133-13-114"; +channelsnames[1553]="Sky Bundesliga HD 1,Sky BuliHD 1"; +channels[1553]="S19.2E-133-12-105"; +channelsnames[1554]="Eurosport HD"; +channels[1554]="S28.2E-2-2008-3804"; +channelsnames[1555]="Sky Sports 1 HD"; +channels[1555]="S28.2E-2-2005-3802"; +channelsnames[1556]="Sky Sports 1 HD"; +channels[1556]="S28.2E-2-2005-3877"; +channelsnames[1557]="Sky Sports 3 HD"; +channels[1557]="S28.2E-2-2034-3822"; +channelsnames[1558]="Sky Sports 3 HD"; +channels[1558]="S28.2E-2-2034-3824"; +channelsnames[1559]="SkyRyderCupHD"; +channels[1559]="S28.2E-2-2033-3826"; +channelsnames[1560]="SkyRyderCupHD"; +channels[1560]="S28.2E-2-2033-3827"; +channelsnames[1561]="AutoMotorSport HD"; +channels[1561]="S23.5E-3-3217-6103"; +channelsnames[1600]="MTV Live HD"; +channels[1600]="S28.2E-2-2001-3806"; +channelsnames[1601]="Planeta HD"; +channels[1601]="S23.5E-3-3206-5410"; +channelsnames[1602]="."; +channels[1602]="S23.5E-3-3217-6100"; +channelsnames[1603]="UNITEL CLASSICA HD"; +channels[1603]="S23.5E-3-3217-6101"; +channelsnames[1700]="NHK World HD"; +channels[1700]="S28.2E-2-2312-53147"; +channelsnames[1701]="RT HD"; +channels[1701]="S28.2E-2-2312-53148"; +channelsnames[1800]="HBO Comedy"; +channels[1800]="S23.5E-3-3205-5035"; +channelsnames[1801]="Filmbox HD"; +channels[1801]="S23.5E-3-3205-5034"; +channelsnames[1802]="Prima HD"; +channels[1802]="S23.5E-3-3205-5032"; +channelsnames[1803]="Nova Sport HD"; +channels[1803]="S23.5E-3-3205-5031"; +channelsnames[1804]="Nova HD"; +channels[1804]="S23.5E-3-3205-5030"; +channelsnames[1805]="Eurosport 2 HD"; +channels[1805]="S23.5E-3-3221-5041"; +channelsnames[1806]="Slovak Sport"; +channels[1806]="S23.5E-3-3221-5042"; +channelsnames[1807]="History HD"; +channels[1807]="S23.5E-3-3221-5043"; +channelsnames[1808]="Markiza HD"; +channels[1808]="S23.5E-3-3221-5044"; +channelsnames[1809]="Spektrum HD"; +channels[1809]="S23.5E-3-3221-5045"; +channelsnames[1810]="Eurosport HD"; +channels[1810]="S23.5E-3-3221-5047"; +channelsnames[1811]="Travel Channel HD CE"; +channels[1811]="S23.5E-3-3221-5048"; +channelsnames[1812]="EUROSPORT HD"; +channels[1812]="S23.5E-0-0-5041"; +channelsnames[1813]="HISTORY HD"; +channels[1813]="S23.5E-0-0-5042"; +channelsnames[1814]="FILMBOX HD"; +channels[1814]="S23.5E-0-0-5043"; +channelsnames[1815]="Nova HD"; +channels[1815]="S23.5E-0-0-5044"; +channelsnames[1816]="Nova Sport HD"; +channels[1816]="S23.5E-0-0-5045"; +channelsnames[1817]="HBO HD"; +channels[1817]="S23.5E-0-0-5047"; +channelsnames[1818]="Travel Channel HD"; +channels[1818]="S23.5E-0-0-5048"; +channelsnames[1900]="Sky News HD"; +channels[1900]="S28.2E-2-2039-3850"; +channelsnames[1960]="MTV Live HD"; +channels[1960]="S13.0E-318-12800-1"; +channelsnames[1961]="TVN Style HD"; +channels[1961]="S13.0E-318-1600-15822"; +channelsnames[1962]="Rai 1 HD"; +channels[1962]="S13.0E-318-5200-3401"; +channelsnames[1963]="PARIS PREMIERE HD"; +channels[1963]="S19.2E-1-1084-9401"; +channelsnames[1964]="W9 HD"; +channels[1964]="S19.2E-1-1084-9402"; +channelsnames[1965]="MA CHAINE SPORT HD"; +channels[1965]="S19.2E-1-1084-9403"; +channelsnames[1966]="UTV HD"; +channels[1966]="S28.2E-2-2063-20780"; +channelsnames[1967]="1"; +channels[1967]="S28.2E-2-2403-1"; +channelsnames[2000]="SOLIDARIA"; +channels[2000]="S30.0W-1-1-1"; +channelsnames[2001]="Parlamento"; +channels[2001]="S30.0W-2-15-2"; +channelsnames[2002]="Telesur"; +channels[2002]="S30.0W-2-15-3"; +channelsnames[2003]="TV5 MONDE EUROPE"; +channels[2003]="S30.0W-40-13-98"; +channelsnames[2004]="TBN Enlace"; +channels[2004]="S30.0W-40-13-490"; +channelsnames[2005]="CUBAVISION"; +channels[2005]="S30.0W-40-13-491"; +channelsnames[2006]="Russia Today English"; +channels[2006]="S30.0W-40-13-5001"; +channelsnames[2007]="RT esp"; +channels[2007]="S30.0W-40-13-5002"; +channelsnames[2008]="AL JAZZERA INTL"; +channels[2008]="S30.0W-40-13-6001"; +channelsnames[2009]="+TVI"; +channels[2009]="S30.0W-54-40-500"; +channelsnames[2010]="Motors TV"; +channels[2010]="S30.0W-54-40-779"; +channelsnames[2011]="Discovery Channel"; +channels[2011]="S30.0W-54-41-603"; +channelsnames[2012]="Slide TSCS 5"; +channels[2012]="S30.0W-54-40-968"; +channelsnames[2013]="PFC"; +channels[2013]="S30.0W-54-40-508"; +channelsnames[2014]="Nautical Channel"; +channels[2014]="S30.0W-54-41-600"; +channelsnames[2015]="Canal de História"; +channels[2015]="S30.0W-54-41-601"; +channelsnames[2016]="FOX Movies"; +channels[2016]="S30.0W-54-41-608"; +channelsnames[2017]="Cartoon / TCM"; +channels[2017]="S30.0W-54-41-614"; +channelsnames[2018]="FOX"; +channels[2018]="S30.0W-54-41-972"; +channelsnames[2019]="FOX Crime"; +channels[2019]="S30.0W-54-41-974"; +channelsnames[2020]="FX"; +channels[2020]="S30.0W-54-41-975"; +channelsnames[2021]="FOX Crime"; +channels[2021]="S30.0W-54-42-710"; +channelsnames[2022]="FOX Life"; +channels[2022]="S30.0W-54-42-705"; +channelsnames[2023]="The Biography Channel"; +channels[2023]="S30.0W-54-42-890"; +channelsnames[2024]="MCM TOP"; +channels[2024]="S30.0W-54-42-894"; +channelsnames[2025]="BBC Entertainment"; +channels[2025]="S30.0W-54-42-895"; +channelsnames[2026]="Odisseia"; +channels[2026]="S30.0W-54-42-973"; +channelsnames[2050]="CANAL+1 HD"; +channels[2050]="S30.0W-49-3-150"; +channelsnames[2051]="ANDALUCÍA TV"; +channels[2051]="S30.0W-49-3-300"; +channelsnames[2052]="TAQUILLA HD"; +channels[2052]="S30.0W-49-3-1119"; +channelsnames[2053]="CANAL+ 3D"; +channels[2053]="S30.0W-49-3-1123"; +channelsnames[2054]="MEZZO LIVEHD"; +channels[2054]="S30.0W-49-3-1221"; +channelsnames[2055]="C+ DEP 2 HD"; +channels[2055]="S30.0W-49-3-1224"; +channelsnames[2056]="C+ CABLE"; +channels[2056]="S30.0W-49-3-1801"; +channelsnames[2057]="ANTENA 3"; +channels[2057]="S30.0W-49-7-13"; +channelsnames[2058]="RMTV"; +channels[2058]="S30.0W-49-7-62"; +channelsnames[2059]="C+ infoDEPORTE"; +channels[2059]="S30.0W-49-7-69"; +channelsnames[2060]="NEOX"; +channels[2060]="S30.0W-49-7-96"; +channelsnames[2061]="C+ TAQUILLA"; +channels[2061]="S30.0W-49-7-120"; +channelsnames[2062]="CANAL+ 2"; +channels[2062]="S30.0W-49-2-2"; +channelsnames[2063]="COMEDY CENTRAL"; +channels[2063]="S30.0W-49-2-23"; +channelsnames[2064]="VIAJAR"; +channels[2064]="S30.0W-49-2-34"; +channelsnames[2065]="CANAL COCINA"; +channels[2065]="S30.0W-49-2-37"; +channelsnames[2066]="TCM"; +channels[2066]="S30.0W-49-2-45"; +channelsnames[2067]="DISNEY CH."; +channels[2067]="S30.0W-49-2-70"; +channelsnames[2068]="R. Informativas"; +channels[2068]="S30.0W-49-2-363"; +channelsnames[2069]="R. Musicales"; +channels[2069]="S30.0W-49-2-364"; +channelsnames[2070]="RADIO MARIA"; +channels[2070]="S30.0W-40-13-8"; +channelsnames[2071]="Cadena 100"; +channels[2071]="S30.0W-40-13-10"; +channelsnames[2072]="HIT FM"; +channels[2072]="S30.0W-40-13-26"; +channelsnames[2073]="Radio MARCA"; +channels[2073]="S30.0W-40-13-29"; +channelsnames[2074]="COPE"; +channels[2074]="S30.0W-40-13-37"; +channelsnames[2075]="INTERECONOMIA"; +channels[2075]="S30.0W-40-13-38"; +channelsnames[2076]="MegaStar"; +channels[2076]="S30.0W-40-13-39"; +channelsnames[2077]="ROCK FM"; +channels[2077]="S30.0W-40-13-52"; +channelsnames[2078]="EMA RADIO"; +channels[2078]="S30.0W-40-13-54"; +channelsnames[2079]="TSF ON M"; +channels[2079]="S30.0W-40-13-55"; +channelsnames[2080]="RADIO HIT"; +channels[2080]="S30.0W-40-13-58"; +channelsnames[2081]="Disney Channel"; +channels[2081]="S30.0W-40-13-900"; +channelsnames[2082]="24 HORAS"; +channels[2082]="S30.0W-49-9-70"; +channelsnames[2083]="SIC"; +channels[2083]="S30.0W-54-36-813"; +channelsnames[2084]="Slide TSCS 2"; +channels[2084]="S30.0W-54-37-712"; +channelsnames[2085]="BBC World News"; +channels[2085]="S30.0W-54-37-717"; +channelsnames[2086]="Sport TV 1"; +channels[2086]="S30.0W-54-38-870"; +channelsnames[2087]="AR TV"; +channels[2087]="S30.0W-54-40-501"; +channelsnames[2088]="Toros TV"; +channels[2088]="S30.0W-54-41-602"; +channelsnames[2089]="CANAL+ LIGA"; +channels[2089]="S30.0W-49-3-1800"; +channelsnames[2090]="Canal Extremadura SAT"; +channels[2090]="S30.0W-2-15-4"; +channelsnames[2091]="Feeds 2 TSA"; +channels[2091]="S30.0W-2-15-5"; +channelsnames[2092]="Feeds 3 TSA"; +channels[2092]="S30.0W-2-15-6"; +channelsnames[2093]="HIGH TV 3D"; +channels[2093]="S30.0W-2-15-11"; +channelsnames[2094]="CANAL+ 1"; +channels[2094]="S30.0W-49-2-1"; +channelsnames[2095]="C+ DCINE"; +channels[2095]="S30.0W-49-4-43"; +channelsnames[2096]="CANAL+1 ...30"; +channels[2096]="S30.0W-49-4-3"; +channelsnames[2097]="FOX"; +channels[2097]="S30.0W-49-4-21"; +channelsnames[2098]="AXN"; +channels[2098]="S30.0W-49-4-22"; +channelsnames[2099]="FOX CRIME"; +channels[2099]="S30.0W-49-4-27"; +channelsnames[2100]="AXN WHITE"; +channels[2100]="S30.0W-49-4-28"; +channelsnames[2101]="C+ ACCIÓN"; +channels[2101]="S30.0W-49-4-41"; +channelsnames[2102]="C+ COMEDIA"; +channels[2102]="S30.0W-49-4-42"; +channelsnames[2103]="EL GARAGE TV"; +channels[2103]="S30.0W-49-4-64"; +channelsnames[2104]="NOVA"; +channels[2104]="S30.0W-49-4-95"; +channelsnames[2105]="Paquetes"; +channels[2105]="S30.0W-49-4-1001"; +channelsnames[2106]="C+LIGA MULTI"; +channels[2106]="S30.0W-49-6-52"; +channelsnames[2107]="C+ TOROS"; +channels[2107]="S30.0W-49-6-67"; +channelsnames[2108]="TAQUILLA 5"; +channels[2108]="S30.0W-49-6-125"; +channelsnames[2109]="TAQUILLA 6"; +channels[2109]="S30.0W-49-6-126"; +channelsnames[2110]="TAQUILLA 7"; +channels[2110]="S30.0W-49-6-127"; +channelsnames[2111]="TAQUILLA 8"; +channels[2111]="S30.0W-49-6-128"; +channelsnames[2112]="TAQUILLAX"; +channels[2112]="S30.0W-49-6-131"; +channelsnames[2113]="TAQUILLAXX"; +channels[2113]="S30.0W-49-6-132"; +channelsnames[2114]="TAQ XXHARD"; +channels[2114]="S30.0W-49-6-133"; +channelsnames[2115]="MULTI-X (1)"; +channels[2115]="S30.0W-49-6-136"; +channelsnames[2116]="MULTI-X (2)"; +channels[2116]="S30.0W-49-6-137"; +channelsnames[2117]="C+LCampeones"; +channels[2117]="S30.0W-49-6-141"; +channelsnames[2118]="C+LCampeon2"; +channels[2118]="S30.0W-49-6-142"; +channelsnames[2119]="C+LCampeon3"; +channels[2119]="S30.0W-49-6-143"; +channelsnames[2120]="MULTIDEP.6"; +channels[2120]="S30.0W-49-6-195"; +channelsnames[2121]="MULTIDEP.7"; +channels[2121]="S30.0W-49-6-196"; +channelsnames[2122]="PUBLIACTIVA"; +channels[2122]="S30.0W-49-6-347"; +channelsnames[2123]="TVCine 2"; +channels[2123]="S30.0W-54-42-700"; +channelsnames[2124]="Nickelodeon"; +channels[2124]="S30.0W-54-42-701"; +channelsnames[2125]="TVCine 3"; +channels[2125]="S30.0W-54-42-706"; +channelsnames[2126]="TVCine 1"; +channels[2126]="S30.0W-54-42-707"; +channelsnames[2127]="TVCine 4"; +channels[2127]="S30.0W-54-42-709"; +channelsnames[2128]="MOV"; +channels[2128]="S30.0W-54-42-711"; +channelsnames[2129]="TVE Internacional"; +channels[2129]="S30.0W-54-42-713"; +channelsnames[2130]="National Geographic"; +channels[2130]="S30.0W-54-42-714"; +channelsnames[2131]="TV Globo Portugal"; +channels[2131]="S30.0W-54-42-904"; +channelsnames[2132]="RTP Madeira"; +channels[2132]="S30.0W-54-42-935"; +channelsnames[2133]="Canal de Teste"; +channels[2133]="S30.0W-54-36-1"; +channelsnames[2134]="RTP Informação"; +channels[2134]="S30.0W-54-36-101"; +channelsnames[2135]="Panda Biggs"; +channels[2135]="S30.0W-54-36-102"; +channelsnames[2136]="Canal de Teste"; +channels[2136]="S30.0W-54-36-111"; +channelsnames[2137]="Canal Panda"; +channels[2137]="S30.0W-54-36-708"; +channelsnames[2138]="SIC Notícias"; +channels[2138]="S30.0W-54-36-801"; +channelsnames[2139]="RTP 1"; +channels[2139]="S30.0W-54-36-811"; +channelsnames[2140]="RTP 2"; +channels[2140]="S30.0W-54-36-812"; +channelsnames[2141]="TVI"; +channels[2141]="S30.0W-54-36-814"; +channelsnames[2142]="Sport TV Golfe"; +channels[2142]="S30.0W-54-37-219"; +channelsnames[2143]="Eurosport News"; +channels[2143]="S30.0W-54-37-227"; +channelsnames[2144]="TVE 24h"; +channels[2144]="S30.0W-54-37-228"; +channelsnames[2145]="EuroNews"; +channels[2145]="S30.0W-54-37-702"; +channelsnames[2146]="SIC Mulher"; +channels[2146]="S30.0W-54-37-703"; +channelsnames[2147]="TLC"; +channels[2147]="S30.0W-54-37-704"; +channelsnames[2148]="France 24"; +channels[2148]="S30.0W-54-37-720"; +channelsnames[2149]="Hot"; +channels[2149]="S30.0W-54-37-831"; +channelsnames[2150]="SLIDE TSCS2"; +channels[2150]="S30.0W-54-37-961"; +channelsnames[2151]="CNN"; +channels[2151]="S30.0W-54-37-962"; +channelsnames[2152]="Mezzo"; +channels[2152]="S30.0W-54-37-965"; +channelsnames[2153]="SKY News"; +channels[2153]="S30.0W-54-37-966"; +channelsnames[2154]="MEZZO"; +channels[2154]="S30.0W-54-37-2000"; +channelsnames[2155]="BBC WORLD"; +channels[2155]="S30.0W-54-37-2001"; +channelsnames[2156]="CNN INT"; +channels[2156]="S30.0W-54-37-2002"; +channelsnames[2157]="CNBC"; +channels[2157]="S30.0W-54-37-2005"; +channelsnames[2158]="EURONEWS"; +channels[2158]="S30.0W-54-37-2006"; +channelsnames[2159]="FRANCE 24 ENG"; +channels[2159]="S30.0W-54-37-2007"; +channelsnames[2160]="NG_DVR_5.4"; +channels[2160]="S30.0W-54-38-19"; +channelsnames[2161]="NG_Zapper_3.8"; +channels[2161]="S30.0W-54-38-20"; +channelsnames[2162]="NG_DVR_3.8"; +channels[2162]="S30.0W-54-38-21"; +channelsnames[2163]="NG_ZAPPER_5.8"; +channels[2163]="S30.0W-54-38-22"; +channelsnames[2164]="NG_DVR_5.8"; +channels[2164]="S30.0W-54-38-23"; +channelsnames[2165]="Playboy TV"; +channels[2165]="S30.0W-54-38-169"; +channelsnames[2166]="Sport TV 2"; +channels[2166]="S30.0W-54-38-301"; +channelsnames[2167]="Canal de teste"; +channels[2167]="S30.0W-54-38-302"; +channelsnames[2168]="AR TV"; +channels[2168]="S30.0W-54-38-303"; +channelsnames[2169]="Globo"; +channels[2169]="S30.0W-54-38-304"; +channelsnames[2170]="TVI 24"; +channels[2170]="S30.0W-54-38-305"; +channelsnames[2171]="Sport TV 3"; +channels[2171]="S30.0W-54-38-306"; +channelsnames[2172]="TV Record"; +channels[2172]="S30.0W-54-38-308"; +channelsnames[2173]="Sport TV Live"; +channels[2173]="S30.0W-54-38-309"; +channelsnames[2174]="RTP Memória"; +channels[2174]="S30.0W-54-38-310"; +channelsnames[2175]="Eurosport"; +channels[2175]="S30.0W-54-38-312"; +channelsnames[2176]="Hollywood"; +channels[2176]="S30.0W-54-38-313"; +channelsnames[2177]="MOV"; +channels[2177]="S30.0W-54-38-314"; +channelsnames[2178]="Canal de Teste"; +channels[2178]="S30.0W-54-38-701"; +channelsnames[2179]="SIC Radical"; +channels[2179]="S30.0W-54-40-502"; +channelsnames[2180]="Panda Biggs"; +channels[2180]="S30.0W-54-40-503"; +channelsnames[2181]="BBC Entertainment"; +channels[2181]="S30.0W-54-40-506"; +channelsnames[2182]="E! Entertainment"; +channels[2182]="S30.0W-54-40-507"; +channelsnames[2183]="Baby First"; +channels[2183]="S30.0W-54-40-509"; +channelsnames[2184]="Caça e Pesca"; +channels[2184]="S30.0W-54-40-933"; +channelsnames[2185]="Disney Junior"; +channels[2185]="S30.0W-54-40-939"; +channelsnames[2186]="CBS Reality"; +channels[2186]="S30.0W-54-41-604"; +channelsnames[2187]="RTP Açores"; +channels[2187]="S30.0W-54-41-605"; +channelsnames[2188]="NBA TV"; +channels[2188]="S30.0W-54-41-609"; +channelsnames[2189]="Canção Nova"; +channels[2189]="S30.0W-54-41-610"; +channelsnames[2190]="Novo SD TSCS6- 01"; +channels[2190]="S30.0W-54-41-611"; +channelsnames[2191]="Cartoon / TCM"; +channels[2191]="S30.0W-54-41-613"; +channelsnames[2192]="Canal Q"; +channels[2192]="S30.0W-54-41-959"; +channelsnames[2193]="C+ YOMVI"; +channels[2193]="S30.0W-49-9-7"; +channelsnames[2194]="COSMOPOLITAN"; +channels[2194]="S30.0W-49-9-26"; +channelsnames[2195]="HISTORIA"; +channels[2195]="S30.0W-49-9-35"; +channelsnames[2196]="BIO"; +channels[2196]="S30.0W-49-9-36"; +channelsnames[2197]="CINEMAGIC"; +channels[2197]="S30.0W-49-9-44"; +channelsnames[2198]="DCINEESPAÑOL"; +channels[2198]="S30.0W-49-9-48"; +channelsnames[2199]="EUROSPORT"; +channels[2199]="S30.0W-49-9-60"; +channelsnames[2200]="CAZA Y PESCA"; +channels[2200]="S30.0W-49-9-66"; +channelsnames[2201]="DISNEY XD"; +channels[2201]="S30.0W-49-9-72"; +channelsnames[2202]="CINEMAGIC"; +channels[2202]="S30.0W-49-9-73"; +channelsnames[2203]="24 HORAS"; +channels[2203]="S30.0W-49-9-100"; +channelsnames[2204]="BLOOMBERG"; +channels[2204]="S30.0W-49-9-102"; +channelsnames[2205]="Eventos"; +channels[2205]="S30.0W-49-9-500"; +channelsnames[2206]="Caça e Pesca"; +channels[2206]="S30.0W-49-9-3000"; +channelsnames[2207]="Eurosport"; +channels[2207]="S30.0W-49-9-3002"; +channelsnames[2208]="Canal de História"; +channels[2208]="S30.0W-49-9-3003"; +channelsnames[2209]="Bloomberg"; +channels[2209]="S30.0W-49-9-3004"; +channelsnames[2210]="TVE 24h"; +channels[2210]="S30.0W-49-9-3006"; +channelsnames[2211]="MTV ESPAÑA"; +channels[2211]="S30.0W-49-5-29"; +channelsnames[2212]="LTC"; +channels[2212]="S30.0W-49-5-39"; +channelsnames[2213]="BARÇA TV"; +channels[2213]="S30.0W-49-5-63"; +channelsnames[2214]="MOTORS TV"; +channels[2214]="S30.0W-49-5-65"; +channelsnames[2215]="DIVINITY"; +channels[2215]="S30.0W-49-5-90"; +channelsnames[2216]="ENERGY"; +channels[2216]="S30.0W-49-5-91"; +channelsnames[2217]="FOX NEWS"; +channels[2217]="S30.0W-49-5-105"; +channelsnames[2218]="C.ESTRELLAS"; +channels[2218]="S30.0W-49-5-117"; +channelsnames[2219]="C+ MultiCINE"; +channels[2219]="S30.0W-49-8-6"; +channelsnames[2220]="C+ MultiCINE"; +channels[2220]="S30.0W-49-8-40"; +channelsnames[2221]="C+ MultiDEP"; +channels[2221]="S30.0W-49-8-50"; +channelsnames[2222]="NICKELODEON"; +channels[2222]="S30.0W-49-8-74"; +channelsnames[2223]="TAQUILLA 1"; +channels[2223]="S30.0W-49-8-121"; +channelsnames[2224]="TAQUILLA 2"; +channels[2224]="S30.0W-49-8-122"; +channelsnames[2225]="TAQUILLA 3"; +channels[2225]="S30.0W-49-8-123"; +channelsnames[2226]="TAQUILLA 4"; +channels[2226]="S30.0W-49-8-124"; +channelsnames[2227]="TAQUILLA X"; +channels[2227]="S30.0W-49-8-139"; +channelsnames[2228]="MULTIDEP.4"; +channels[2228]="S30.0W-49-8-193"; +channelsnames[3000]="TV3 Lithuania"; +channels[3000]="S5.0E-85-14-6340"; +channelsnames[3001]="TV6 Lithuania"; +channels[3001]="S5.0E-85-14-6350"; +channelsnames[3002]="TV8 Lithuania"; +channels[3002]="S5.0E-85-18-6890"; +channelsnames[3003]="LNK"; +channels[3003]="S5.0E-85-52-2910"; +channelsnames[3004]="LTV1"; +channels[3004]="S5.0E-85-14-6390"; +channelsnames[3005]="LTV World"; +channels[3005]="S5.0E-85-2-240"; +channelsnames[3006]="LTV7"; +channels[3006]="S5.0E-85-13-6295"; +channelsnames[3007]="Kidzone"; +channels[3007]="S5.0E-85-14-6370"; +channelsnames[3008]="TV1 Lithuania"; +channels[3008]="S5.0E-85-52-2900"; +channelsnames[3009]="Lietuvos Rytas TV"; +channels[3009]="S5.0E-85-52-2920"; +channelsnames[3010]="BTV"; +channels[3010]="S5.0E-85-52-2930"; +channelsnames[3011]="RTR Planeta"; +channels[3011]="S5.0E-86-24-4420"; +channelsnames[3012]="NTV Mir Lithuania"; +channels[3012]="S5.0E-85-13-6270"; +channelsnames[3013]="REN-TV LIETUVA"; +channels[3013]="S5.0E-85-13-6240"; +channelsnames[3014]="CTC Baltic"; +channels[3014]="S5.0E-85-18-6850"; +channelsnames[3015]="1st Baltic Ch. Lithuania"; +channels[3015]="S5.0E-85-13-6220"; +channelsnames[3016]="ENGLISH CLUB TV"; +channels[3016]="S5.0E-85-15-6575"; +channelsnames[3017]="ATR"; +channels[3017]="S5.0E-85-17-6950"; +channelsnames[3018]="GLAS"; +channels[3018]="S5.0E-85-12-6130"; +channelsnames[3019]="TV SALE UKR"; +channels[3019]="S5.0E-85-12-6160"; +channelsnames[3020]="Viasat Explore"; +channels[3020]="S5.0E-86-9-7050"; +channelsnames[3021]="Viasat History"; +channels[3021]="S5.0E-86-8-6050"; +channelsnames[3022]="Viasat Nature East"; +channels[3022]="S5.0E-86-8-6030"; +channelsnames[3023]="Ohota Rybalka"; +channels[3023]="S5.0E-86-22-3630"; +channelsnames[3024]="National Geographic (S)"; +channels[3024]="S5.0E-86-22-3690"; +channelsnames[3025]="History Channel"; +channels[3025]="S5.0E-86-22-3620"; +channelsnames[3026]="Nick No/VH1 Classic"; +channels[3026]="S5.0E-86-24-4460"; +channelsnames[3027]="TV6 (N)"; +channels[3027]="S5.0E-86-4-2170"; +channelsnames[3028]="TV1000 Action East"; +channels[3028]="S5.0E-86-21-3410"; +channelsnames[3029]="TV1000 Ru Kino"; +channels[3029]="S5.0E-86-9-7080"; +channelsnames[3030]="Cartoon Network EE"; +channels[3030]="S5.0E-86-22-3610"; +channelsnames[3031]="Viasat Sport Baltic"; +channels[3031]="S5.0E-86-8-6060"; +channelsnames[3032]="Viasat Golf"; +channels[3032]="S5.0E-86-30-1860"; +channelsnames[3033]="Disney Channel"; +channels[3033]="S5.0E-86-5-3180"; +channelsnames[3034]="Disney XD"; +channels[3034]="S5.0E-86-5-3190"; +channelsnames[3035]="Disney Junior"; +channels[3035]="S5.0E-86-3-1130"; +channelsnames[3036]="Nickelodeon (S)"; +channels[3036]="S5.0E-86-5-3160"; +channelsnames[3037]="Nick JR / VH1"; +channels[3037]="S5.0E-85-18-6880"; +channelsnames[3038]="MTV SE"; +channels[3038]="S5.0E-86-4-2150"; +channelsnames[3039]="E!"; +channels[3039]="S5.0E-86-5-3100"; +channelsnames[3040]="1st Baltic Music channel"; +channels[3040]="S5.0E-85-13-6230"; +channelsnames[3041]="BBC World"; +channels[3041]="S5.0E-86-4-2120"; +channelsnames[3042]="CNN"; +channels[3042]="S5.0E-86-9-7040"; +channelsnames[3043]="Russia Today"; +channels[3043]="S5.0E-86-6-4080"; +channelsnames[3044]="CNBC"; +channels[3044]="S5.0E-86-6-4180"; +channelsnames[3045]="Viasat Xtra 1"; +channels[3045]="S5.0E-86-10-8000"; +channelsnames[3046]="Viasat Xtra 2"; +channels[3046]="S5.0E-86-10-8010"; +channelsnames[3047]="Viasat Xtra 3"; +channels[3047]="S5.0E-86-10-8020"; +channelsnames[3048]="Viasat Xtra 4"; +channels[3048]="S5.0E-86-10-8030"; +channelsnames[3049]="Viasat Xtra 5"; +channels[3049]="S5.0E-86-10-8040"; +channelsnames[3050]="Viasat Xtra 6"; +channels[3050]="S5.0E-86-10-8080"; +channelsnames[3051]="Viasat Xtra 7"; +channels[3051]="S5.0E-86-10-8050"; +channelsnames[3052]="Viasat Xtra PL1"; +channels[3052]="S5.0E-86-10-7900"; +channelsnames[3053]="Viasat Xtra PL2"; +channels[3053]="S5.0E-86-10-7910"; +channelsnames[3054]="Viasat Xtra PL3"; +channels[3054]="S5.0E-86-10-7920"; +channelsnames[3055]="Viasat Xtra PL4"; +channels[3055]="S5.0E-86-10-7930"; +channelsnames[3056]="Viasat Xtra PL5"; +channels[3056]="S5.0E-86-10-7940"; +channelsnames[3057]="Viasat Xtra PL6"; +channels[3057]="S5.0E-86-10-7950"; +channelsnames[3058]="Viasat Xtra PL7"; +channels[3058]="S5.0E-86-10-7960"; +channelsnames[3059]="Viasat Xtra NHL1"; +channels[3059]="S5.0E-86-10-7970"; +channelsnames[3060]="Viasat Xtra NHL2"; +channels[3060]="S5.0E-86-10-7980"; +channelsnames[3061]="Viasat Xtra NHL3"; +channels[3061]="S5.0E-86-10-7990"; +channelsnames[3062]="Viasat Xtra NHL4"; +channels[3062]="S5.0E-86-10-8150"; +channelsnames[3063]="Viasat Xtra NHL5"; +channels[3063]="S5.0E-86-10-8160"; +channelsnames[3064]="Viasat Xtra NHL6"; +channels[3064]="S5.0E-86-10-8170"; +channelsnames[3065]="Viasat Xtra NHL7"; +channels[3065]="S5.0E-86-10-8180"; +channelsnames[3066]="Nature/Crime/Playboy"; +channels[3066]="S5.0E-86-4-2110"; +channelsnames[3100]="Romantica 2"; +channels[3100]="S5.0E-0-0-8"; +channelsnames[3101]="Absolute Radio"; +channels[3101]="S5.0E-1-1-6"; +channelsnames[3200]="NRK1"; +channels[3200]="S5.0E-86-28-1501"; +channelsnames[3201]="NRK2"; +channels[3201]="S5.0E-86-28-1502"; +channelsnames[3202]="NRK Super / NRK3"; +channels[3202]="S5.0E-86-28-3510"; +channelsnames[3203]="DR Ultra"; +channels[3203]="S5.0E-86-30-1800"; +channelsnames[3204]="TV2 Zulu"; +channels[3204]="S5.0E-86-30-1810"; +channelsnames[3205]="TV2 Charlie"; +channels[3205]="S5.0E-86-30-1820"; +channelsnames[3206]="TV3 SPORT 1"; +channels[3206]="S5.0E-86-30-1830"; +channelsnames[3207]="TV 2 Sportkanalen"; +channels[3207]="S5.0E-86-30-1840"; +channelsnames[3208]="TV2 Fri"; +channels[3208]="S5.0E-86-30-1850"; +channelsnames[3209]="TV2 NEWS"; +channels[3209]="S5.0E-86-30-1870"; +channelsnames[3210]="DR Ramasjang"; +channels[3210]="S5.0E-86-30-1880"; +channelsnames[3211]="DR K"; +channels[3211]="S5.0E-86-30-1890"; +channelsnames[3212]="TV3 Latvia"; +channels[3212]="S5.0E-85-14-6300"; +channelsnames[3213]="3+"; +channels[3213]="S5.0E-85-14-6310"; +channelsnames[3214]="Kanals 2"; +channels[3214]="S5.0E-85-14-6320"; +channelsnames[3215]="TV3 Estonia"; +channels[3215]="S5.0E-85-14-6330"; +channelsnames[3216]="TV6 Latvia"; +channels[3216]="S5.0E-85-14-6335"; +channelsnames[3217]="Star FM LV"; +channels[3217]="S5.0E-85-14-6345"; +channelsnames[3218]="TV6 Estonia"; +channels[3218]="S5.0E-85-14-6355"; +channelsnames[3219]="LNT Latvia"; +channels[3219]="S5.0E-85-14-6360"; +channelsnames[3220]="ETV"; +channels[3220]="S5.0E-85-14-6380"; +channelsnames[3221]="UR1"; +channels[3221]="S5.0E-85-12-6100"; +channelsnames[3222]="UR2"; +channels[3222]="S5.0E-85-12-6102"; +channelsnames[3223]="UR3"; +channels[3223]="S5.0E-85-12-6104"; +channelsnames[3224]="RUI"; +channels[3224]="S5.0E-85-12-6106"; +channelsnames[3225]="TET"; +channels[3225]="S5.0E-85-12-6110"; +channelsnames[3226]="2+2"; +channels[3226]="S5.0E-85-12-6120"; +channelsnames[3227]="1+1 International"; +channels[3227]="S5.0E-85-12-6125"; +channelsnames[3228]="JN1 - Jewish news one"; +channels[3228]="S5.0E-85-12-6140"; +channelsnames[3229]="MALYATKO TV"; +channels[3229]="S5.0E-85-12-6150"; +channelsnames[3230]="RADA"; +channels[3230]="S5.0E-85-12-6170"; +channelsnames[3231]="NTA"; +channels[3231]="S5.0E-85-12-6180"; +channelsnames[3232]="RADIO ERA"; +channels[3232]="S5.0E-85-12-6186"; +channelsnames[3233]="Channel 5 (Ukraine)"; +channels[3233]="S5.0E-85-12-6190"; +channelsnames[3234]="Love Radio"; +channels[3234]="S5.0E-85-12-6196"; +channelsnames[3235]="NTV"; +channels[3235]="S5.0E-85-2-10"; +channelsnames[3236]="Belsat TV"; +channels[3236]="S5.0E-85-2-200"; +channelsnames[3237]="ATG EU BSS"; +channels[3237]="S5.0E-85-2-210"; +channelsnames[3238]="TVCI new"; +channels[3238]="S5.0E-85-2-220"; +channelsnames[3239]="European Radio for Belarus"; +channels[3239]="S5.0E-85-2-230"; +channelsnames[3240]="K75 International"; +channels[3240]="S5.0E-85-2-260"; +channelsnames[3241]="Dozhd TV"; +channels[3241]="S5.0E-85-2-270"; +channelsnames[3242]="Espreso TV"; +channels[3242]="S5.0E-85-2-280"; +channelsnames[3243]="Viasat Sport Sverige"; +channels[3243]="S5.0E-86-4-2100"; +channelsnames[3244]="TV3+"; +channels[3244]="S5.0E-86-4-2130"; +channelsnames[3245]="Viasat Hockey"; +channels[3245]="S5.0E-86-4-2140"; +channelsnames[3246]="Viasat 4"; +channels[3246]="S5.0E-86-4-2160"; +channelsnames[3247]="TV4 Fakta"; +channels[3247]="S5.0E-86-4-2180"; +channelsnames[3248]="TV3 Sverige"; +channels[3248]="S5.0E-86-3-1100"; +channelsnames[3249]="TV3 Norge"; +channels[3249]="S5.0E-86-3-1110"; +channelsnames[3250]="TV3 Denmark"; +channels[3250]="S5.0E-86-3-1120"; +channelsnames[3251]="Viasat Film"; +channels[3251]="S5.0E-86-3-1140"; +channelsnames[3252]="VFilm Action"; +channels[3252]="S5.0E-86-3-1150"; +channelsnames[3253]="TV6"; +channels[3253]="S5.0E-86-3-1160"; +channelsnames[3254]="Cartoon Network"; +channels[3254]="S5.0E-86-3-1170"; +channelsnames[3255]="VFilm Drama"; +channels[3255]="S5.0E-86-3-1195"; +channelsnames[3256]="1st Baltic Ch. Estonia"; +channels[3256]="S5.0E-85-13-6200"; +channelsnames[3257]="1st Baltic Ch. Latvia"; +channels[3257]="S5.0E-85-13-6210"; +channelsnames[3258]="Mir Baltic"; +channels[3258]="S5.0E-85-13-6260"; +channelsnames[3259]="Radio 101"; +channels[3259]="S5.0E-85-13-6275"; +channelsnames[3260]="VFilm Family"; +channels[3260]="S5.0E-86-5-3110"; +channelsnames[3261]="VFilm Comedy"; +channels[3261]="S5.0E-86-5-3120"; +channelsnames[3262]="VFilm Classic"; +channels[3262]="S5.0E-86-5-3130"; +channelsnames[3263]="Euronews"; +channels[3263]="S5.0E-86-7-5000"; +channelsnames[3264]="NHK World TV"; +channels[3264]="S5.0E-86-7-5010"; +channelsnames[3265]="Kunskapskanalen"; +channels[3265]="S5.0E-86-7-5020"; +channelsnames[3266]="SVTB/SVT24"; +channels[3266]="S5.0E-86-7-5030"; +channelsnames[3267]="Nat Geo Wild"; +channels[3267]="S5.0E-86-7-5080"; +channelsnames[3268]="TV 2 Bliss"; +channels[3268]="S5.0E-86-7-5050"; +channelsnames[3269]="TVNorge"; +channels[3269]="S5.0E-86-7-5040"; +channelsnames[3270]="TV4 Guld"; +channels[3270]="S5.0E-86-7-5060"; +channelsnames[3271]="NRK1 HD"; +channels[3271]="S5.0E-86-28-3515"; +channelsnames[3272]="NRK Tegnspråk"; +channels[3272]="S5.0E-86-28-1516"; +channelsnames[3273]="NRK1 Nordnytt"; +channels[3273]="S5.0E-86-28-1521"; +channelsnames[3274]="NRK1 Nordland"; +channels[3274]="S5.0E-86-28-3502"; +channelsnames[3275]="NRK1 Midtnytt"; +channels[3275]="S5.0E-86-28-3503"; +channelsnames[3276]="NRK1 Møre & Romsdal"; +channels[3276]="S5.0E-86-28-3504"; +channelsnames[3277]="NRK1 Vestlandsrevyen"; +channels[3277]="S5.0E-86-28-3505"; +channelsnames[3278]="NRK1 Rogaland"; +channels[3278]="S5.0E-86-28-3506"; +channelsnames[3279]="NRK1 Sørlandet"; +channels[3279]="S5.0E-86-28-3507"; +channelsnames[3280]="NRK1 Østafjells"; +channels[3280]="S5.0E-86-28-1520"; +channelsnames[3281]="NRK1 Østnytt"; +channels[3281]="S5.0E-86-28-3508"; +channelsnames[3282]="NRK1 Østfold"; +channels[3282]="S5.0E-86-28-3509"; +channelsnames[3283]="NRK P1"; +channels[3283]="S5.0E-86-28-1503"; +channelsnames[3284]="NRK P2"; +channels[3284]="S5.0E-86-28-1504"; +channelsnames[3285]="NRK P3"; +channels[3285]="S5.0E-86-28-1505"; +channelsnames[3286]="NRK Klassisk"; +channels[3286]="S5.0E-86-28-1507"; +channelsnames[3287]="NRK Sami Radio"; +channels[3287]="S5.0E-86-28-1510"; +channelsnames[3288]="NRK mP3"; +channels[3288]="S5.0E-86-28-1515"; +channelsnames[3289]="NRK Alltid Nyheter"; +channels[3289]="S5.0E-86-28-511"; +channelsnames[3290]="NRK P13"; +channels[3290]="S5.0E-86-28-3501"; +channelsnames[3291]="NRK Været til sjøs"; +channels[3291]="S5.0E-86-28-3511"; +channelsnames[3292]="NRK Super"; +channels[3292]="S5.0E-86-28-3513"; +channelsnames[3293]="NRK P1+"; +channels[3293]="S5.0E-86-28-3514"; +channelsnames[3294]="NRK Jazz"; +channels[3294]="S5.0E-86-28-3516"; +channelsnames[3295]="TV 2/Bornholm"; +channels[3295]="S5.0E-86-26-4670"; +channelsnames[3296]="TV 2/Fyn"; +channels[3296]="S5.0E-86-26-4640"; +channelsnames[3297]="TV 2/Lorry"; +channels[3297]="S5.0E-86-26-4660"; +channelsnames[3298]="TV 2/Midt-Vest"; +channels[3298]="S5.0E-86-26-4610"; +channelsnames[3299]="TV 2/Nord"; +channels[3299]="S5.0E-86-26-4600"; +channelsnames[3300]="TV 2/Syd"; +channels[3300]="S5.0E-86-26-4630"; +channelsnames[3301]="TV 2/Øst"; +channels[3301]="S5.0E-86-26-4650"; +channelsnames[3302]="TV 2/Østjylland"; +channels[3302]="S5.0E-86-26-4620"; +channelsnames[3303]="Bandit"; +channels[3303]="S5.0E-86-26-4690"; +channelsnames[3304]="Rix FM"; +channels[3304]="S5.0E-86-26-4692"; +channelsnames[3305]="P4 Lyden av Norge"; +channels[3305]="S5.0E-86-26-4694"; +channelsnames[3306]="Lugna Favoriter"; +channels[3306]="S5.0E-86-26-4696"; +channelsnames[3307]="Kanal 2"; +channels[3307]="S5.0E-85-52-2950"; +channelsnames[3308]="Kanal 11"; +channels[3308]="S5.0E-85-52-2960"; +channelsnames[3309]="ETV2"; +channels[3309]="S5.0E-85-52-2970"; +channelsnames[3310]="Golden Oldies"; +channels[3310]="S5.0E-86-22-3716"; +channelsnames[3311]="Jazz"; +channels[3311]="S5.0E-86-22-3718"; +channelsnames[3312]="Classic"; +channels[3312]="S5.0E-86-22-3722"; +channelsnames[3313]="Disco"; +channels[3313]="S5.0E-86-22-3724"; +channelsnames[3314]="Soul R&b"; +channels[3314]="S5.0E-86-22-3728"; +channelsnames[3315]="Super 80's"; +channels[3315]="S5.0E-86-22-3732"; +channelsnames[3316]="TV4"; +channels[3316]="S5.0E-86-22-3670"; +channelsnames[3317]="Comedy Central"; +channels[3317]="S5.0E-86-22-3660"; +channelsnames[3318]="Kanal 5"; +channels[3318]="S5.0E-86-22-3650"; +channelsnames[3319]="National Geographic (N)"; +channels[3319]="S5.0E-86-22-3640"; +channelsnames[3320]="TV10"; +channels[3320]="S5.0E-86-23-3800"; +channelsnames[3321]="Viasat Fotball"; +channels[3321]="S5.0E-86-23-3830"; +channelsnames[3322]="Boomerang"; +channels[3322]="S5.0E-86-23-3850"; +channelsnames[3323]="TV2 Zebra"; +channels[3323]="S5.0E-86-23-3820"; +channelsnames[3324]="TV4 Komedi"; +channels[3324]="S5.0E-86-23-3890"; +channelsnames[3325]="TV12"; +channels[3325]="S5.0E-86-23-3840"; +channelsnames[3326]="Kanal 5"; +channels[3326]="S5.0E-86-23-3880"; +channelsnames[3327]="TV4 Fakta XL"; +channels[3327]="S5.0E-86-23-3860"; +channelsnames[3328]="TV 2 Norge"; +channels[3328]="S5.0E-86-23-3810"; +channelsnames[3329]="TV1000 Premium"; +channels[3329]="S5.0E-85-18-6800"; +channelsnames[3330]="Lithuanian TV1"; +channels[3330]="S5.0E-85-18-6810"; +channelsnames[3331]="CANAL8 Sport"; +channels[3331]="S5.0E-86-24-4410"; +channelsnames[3332]="TV 2 Nyhetskanalen"; +channels[3332]="S5.0E-86-24-4450"; +channelsnames[3333]="dk4"; +channels[3333]="S5.0E-86-24-4470"; +channelsnames[3334]="TVN Chile Nordic"; +channels[3334]="S5.0E-86-6-4000"; +channelsnames[3335]="Visjon Norge"; +channels[3335]="S5.0E-86-6-4010"; +channelsnames[3336]="Kanal 10"; +channels[3336]="S5.0E-86-6-4050"; +channelsnames[3337]="GOD Channel"; +channels[3337]="S5.0E-86-6-4060"; +channelsnames[3338]="Viasat Xtra 8"; +channels[3338]="S5.0E-86-10-8110"; +channelsnames[3339]="Viasat Xtra 9"; +channels[3339]="S5.0E-86-10-8130"; +channelsnames[3340]="Viasat Xtra NHL8"; +channels[3340]="S5.0E-86-10-8140"; +channelsnames[3341]="TV11"; +channels[3341]="S5.0E-86-8-6000"; +channelsnames[3342]="TV 2 Filmkanalen"; +channels[3342]="S5.0E-86-8-6010"; +channelsnames[3343]="Ticket"; +channels[3343]="S5.0E-86-8-6020"; +channelsnames[3344]="MTV NO"; +channels[3344]="S5.0E-86-8-6040"; +channelsnames[3345]="Sjuan"; +channels[3345]="S5.0E-86-8-6080"; +channelsnames[3346]="TV4 Film"; +channels[3346]="S5.0E-86-8-6090"; +channelsnames[3347]="FEM"; +channels[3347]="S5.0E-86-21-3400"; +channelsnames[3348]="Viasat Fotboll"; +channels[3348]="S5.0E-86-21-3420"; +channelsnames[3349]="Nickelodeon DK / MTV Hits"; +channels[3349]="S5.0E-86-21-3450"; +channelsnames[3350]="Viasat Motor"; +channels[3350]="S5.0E-86-21-3430"; +channelsnames[3351]="Viasat Sport Norge"; +channels[3351]="S5.0E-86-21-3440"; +channelsnames[3352]="DR1"; +channels[3352]="S5.0E-86-9-7010"; +channelsnames[3353]="DR2"; +channels[3353]="S5.0E-86-9-7020"; +channelsnames[3354]="TV8"; +channels[3354]="S5.0E-86-9-7030"; +channelsnames[3355]="TV3 Puls"; +channels[3355]="S5.0E-86-9-7060"; +channelsnames[3356]="MTV DK"; +channels[3356]="S5.0E-86-9-7070"; +channelsnames[3357]="DR P1"; +channels[3357]="S5.0E-86-9-7210"; +channelsnames[3358]="DR P3"; +channels[3358]="S5.0E-86-9-7212"; +channelsnames[3359]="DR Klassisk"; +channels[3359]="S5.0E-86-9-7214"; +channelsnames[3360]="Emmanuel"; +channels[3360]="S5.0E-85-15-6500"; +channelsnames[3361]="NEWS ONE"; +channels[3361]="S5.0E-85-15-6510"; +channelsnames[3362]="1 Auto"; +channels[3362]="S5.0E-85-15-6520"; +channelsnames[3363]="RU MUSIC"; +channels[3363]="S5.0E-85-15-6530"; +channelsnames[3364]="Ukrainian Fashion"; +channels[3364]="S5.0E-85-15-6540"; +channelsnames[3365]="A-One UA"; +channels[3365]="S5.0E-85-15-6545"; +channelsnames[3366]="Dobro TV"; +channels[3366]="S5.0E-85-15-6555"; +channelsnames[3367]="Star TV UKR"; +channels[3367]="S5.0E-85-15-6560"; +channelsnames[3368]="PogodaTV"; +channels[3368]="S5.0E-85-15-6565"; +channelsnames[3369]="Business"; +channels[3369]="S5.0E-85-15-6580"; +channelsnames[3370]="YHT"; +channels[3370]="S5.0E-85-15-6585"; +channelsnames[3371]="SHOPping TV"; +channels[3371]="S5.0E-85-15-6590"; +channelsnames[3372]="SVT1 Nord"; +channels[3372]="S5.0E-86-11-2450"; +channelsnames[3373]="SVT1 Västerbotten"; +channels[3373]="S5.0E-86-11-2460"; +channelsnames[3374]="SVT1 Mitt"; +channels[3374]="S5.0E-86-11-2470"; +channelsnames[3375]="SVT1 Gävledala"; +channels[3375]="S5.0E-86-11-2480"; +channelsnames[3376]="SVT1 Värmland"; +channels[3376]="S5.0E-86-11-2490"; +channelsnames[3377]="SVT1 Tvärs"; +channels[3377]="S5.0E-86-11-2500"; +channelsnames[3378]="SVT1"; +channels[3378]="S5.0E-86-11-2510"; +channelsnames[3379]="SVT1 Öst"; +channels[3379]="S5.0E-86-11-2520"; +channelsnames[3380]="SVT1 Väst"; +channels[3380]="S5.0E-86-11-2530"; +channelsnames[3381]="SVT1 Småland"; +channels[3381]="S5.0E-86-11-2540"; +channelsnames[3382]="SVT1 Syd"; +channels[3382]="S5.0E-86-11-2550"; +channelsnames[3383]="SVT2 Nord"; +channels[3383]="S5.0E-86-11-2300"; +channelsnames[3384]="SVT2 Västerbotten"; +channels[3384]="S5.0E-86-11-2310"; +channelsnames[3385]="SVT2 Mitt"; +channels[3385]="S5.0E-86-11-2320"; +channelsnames[3386]="SVT2 Gävledala"; +channels[3386]="S5.0E-86-11-2330"; +channelsnames[3387]="SVT2 Värmland"; +channels[3387]="S5.0E-86-11-2340"; +channelsnames[3388]="SVT2 Tvärs"; +channels[3388]="S5.0E-86-11-2350"; +channelsnames[3389]="SVT2"; +channels[3389]="S5.0E-86-11-2360"; +channelsnames[3390]="SVT2 Öst"; +channels[3390]="S5.0E-86-11-2370"; +channelsnames[3391]="SVT2 Väst"; +channels[3391]="S5.0E-86-11-2380"; +channelsnames[3392]="SVT2 Småland"; +channels[3392]="S5.0E-86-11-2390"; +channelsnames[3393]="SVT2 Syd"; +channels[3393]="S5.0E-86-11-2400"; +channelsnames[3394]="Pro BCE"; +channels[3394]="S5.0E-85-17-6960"; +channelsnames[3395]="LALE"; +channels[3395]="S5.0E-85-17-6970"; +channelsnames[3500]="DISCOVERY CHANNEL"; +channels[3500]="S42.0E-42-55000-3601"; +channelsnames[3501]="TV2"; +channels[3501]="S42.0E-66-3-1303"; +channelsnames[3502]="TRT BELGESEL"; +channels[3502]="S42.0E-1-1-18"; +channelsnames[3503]="KIDZ/ANIMEZ"; +channels[3503]="S42.0E-42-55-100"; +channelsnames[3504]="SPORTS TV"; +channels[3504]="S42.0E-42-502-14"; +channelsnames[3505]="DUBLE TV"; +channels[3505]="S42.0E-42-55-2800"; +channelsnames[3506]="WORLD TRAVEL CHANNEL"; +channels[3506]="S42.0E-1070-41901-50702"; +channelsnames[3507]="CNN TÜRK OBSOLETE"; +channels[3507]="S42.0E-66-3-1"; +channelsnames[3508]="EURO D OBSOLETE"; +channels[3508]="S42.0E-66-3-3"; +channelsnames[3509]="ONE SUPER TV OBSOLETE"; +channels[3509]="S42.0E-66-3-4"; +channelsnames[3510]="BULUT TV OBSOLETE"; +channels[3510]="S42.0E-66-3-5"; +channelsnames[3511]="SUPERPOP TV OBSOLETE"; +channels[3511]="S42.0E-66-3-6"; +channelsnames[3512]="KARIŞIK TV OBSOLETE"; +channels[3512]="S42.0E-66-3-7"; +channelsnames[3513]="PİKSEL TV OBSOLETE"; +channels[3513]="S42.0E-66-3-8"; +channelsnames[3514]="ONE BAL TV OBSOLETE"; +channels[3514]="S42.0E-66-3-10"; +channelsnames[3515]="CNN TÜRK RADYO OBSOLETE"; +channels[3515]="S42.0E-66-3-11"; +channelsnames[3516]="RADYO D OBSOLETE"; +channels[3516]="S42.0E-66-3-12"; +channelsnames[3517]="MCJ MEDIASA"; +channels[3517]="S42.0E-42-1089-2"; +channelsnames[3518]="SLOW TÜRK OBSOLETE"; +channels[3518]="S42.0E-66-3-13"; +channelsnames[3519]="BEST FM OBSOLETE"; +channels[3519]="S42.0E-66-3-14"; +channelsnames[3520]="PMC TV OBSOLETE"; +channels[3520]="S42.0E-66-3-32"; +channelsnames[3521]="MÜZİK TÜRK OBSOLETE"; +channels[3521]="S42.0E-66-3-33"; +channelsnames[3522]="HAZAN TV OBSOLETE"; +channels[3522]="S42.0E-66-3-37"; +channelsnames[3523]="DHA FEED OBSOLETE"; +channels[3523]="S42.0E-66-3-41"; +channelsnames[3524]="PLANET ÇOCUK OBSOLETE"; +channels[3524]="S42.0E-66-3-43"; +channelsnames[3525]="PLANET PEMBE OBSOLETE"; +channels[3525]="S42.0E-66-3-44"; +channelsnames[3526]="PLANET MUTFAK OBSOLETE"; +channels[3526]="S42.0E-66-3-45"; +channelsnames[3527]="PLANET TÜRK OBSOLETE"; +channels[3527]="S42.0E-66-3-46"; +channelsnames[3528]="NİSA TV OBSOLETE"; +channels[3528]="S42.0E-66-3-47"; +channelsnames[3529]="MEDYA TV OBSOLETE"; +channels[3529]="S42.0E-66-3-48"; +channelsnames[3530]="DOGU TV OBSOLETE"; +channels[3530]="S42.0E-66-3-49"; +channelsnames[3531]="SERVICE 1 OBSOLETE"; +channels[3531]="S42.0E-66-3-81"; +channelsnames[3532]="SERVICE 2 OBSOLETE"; +channels[3532]="S42.0E-66-3-82"; +channelsnames[3533]="SERVICE 3 OBSOLETE"; +channels[3533]="S42.0E-66-3-83"; +channelsnames[3534]="SERVICE 4 OBSOLETE"; +channels[3534]="S42.0E-66-3-84"; +channelsnames[3535]="TRT 1"; +channels[3535]="S42.0E-1-1-1"; +channelsnames[3536]="RADYO 1"; +channels[3536]="S42.0E-1-1-2"; +channelsnames[3537]="RADYO 3"; +channels[3537]="S42.0E-1-1-3"; +channelsnames[3538]="RADYO GAP"; +channels[3538]="S42.0E-1-1-4"; +channelsnames[3539]="TRT HABER"; +channels[3539]="S42.0E-1-1-5"; +channelsnames[3540]="TRT FM"; +channels[3540]="S42.0E-1-1-6"; +channelsnames[3541]="RADYO 4"; +channels[3541]="S42.0E-1-1-7"; +channelsnames[3542]="RADYO 6"; +channels[3542]="S42.0E-1-1-8"; +channelsnames[3543]="TRT TURK"; +channels[3543]="S42.0E-1-1-9"; +channelsnames[3544]="VOT WORLD"; +channels[3544]="S42.0E-1-1-10"; +channelsnames[3545]="TSR TURKCE"; +channels[3545]="S42.0E-1-1-11"; +channelsnames[3546]="TRT 3-SPOR"; +channels[3546]="S42.0E-1-1-12"; +channelsnames[3547]="Meteorolojinin Sesi"; +channels[3547]="S42.0E-1-1-13"; +channelsnames[3548]="VOT WEST"; +channels[3548]="S42.0E-1-1-14"; +channelsnames[3549]="TRT RADYO HABER"; +channels[3549]="S42.0E-1-1-15"; +channelsnames[3550]="TRT COCUK"; +channels[3550]="S42.0E-1-1-16"; +channelsnames[3551]="TRT NAGME"; +channels[3551]="S42.0E-1-1-17"; +channelsnames[3552]="TRT AVRUPA FM"; +channels[3552]="S42.0E-1-1-19"; +channelsnames[3553]="TRT TURKU"; +channels[3553]="S42.0E-1-1-20"; +channelsnames[3554]="INTERCOM"; +channels[3554]="S42.0E-1-1-21"; +channelsnames[3555]="TRT OKUL"; +channels[3555]="S42.0E-1-1-22"; +channelsnames[3556]="TRT MUZIK"; +channels[3556]="S42.0E-1-1-23"; +channelsnames[3557]="ALTIN ORDU"; +channels[3557]="S42.0E-42-55-300"; +channelsnames[3558]="SINEMA TV"; +channels[3558]="S42.0E-42-55-400"; +channelsnames[3559]="SINEMA TV2"; +channels[3559]="S42.0E-42-55-500"; +channelsnames[3560]="SINEMA TV AILE"; +channels[3560]="S42.0E-42-55-600"; +channelsnames[3561]="SINEMA TV HD"; +channels[3561]="S42.0E-42-55-700"; +channelsnames[3562]="SINEMATV HD2"; +channels[3562]="S42.0E-42-55-800"; +channelsnames[3563]="SINEMA TV 1001"; +channels[3563]="S42.0E-42-55-1000"; +channelsnames[3564]="BBC HD"; +channels[3564]="S42.0E-42-55-1300"; +channelsnames[3565]="SINEMA TV 1001 HD"; +channels[3565]="S42.0E-42-55-1400"; +channelsnames[3566]="SINEMA TV AILE HD"; +channels[3566]="S42.0E-42-55-1500"; +channelsnames[3567]="YEDIRENK"; +channels[3567]="S42.0E-42-55-2000"; +channelsnames[3568]="BAHAR TV"; +channels[3568]="S42.0E-42-55-2100"; +channelsnames[3569]="ARABESK TV"; +channels[3569]="S42.0E-42-55-2500"; +channelsnames[3570]="DEPOMEPO TV"; +channels[3570]="S42.0E-42-55-2600"; +channelsnames[3571]="LAGUN TV"; +channels[3571]="S42.0E-42-55-2700"; +channelsnames[3572]="KON TV"; +channels[3572]="S42.0E-42-3-1"; +channelsnames[3573]="HALK TV"; +channels[3573]="S42.0E-42-3-2"; +channelsnames[3574]="KACKAR TV"; +channels[3574]="S42.0E-42-3-3"; +channelsnames[3575]="SMARTSHOPPING TV"; +channels[3575]="S42.0E-42-3-4"; +channelsnames[3576]="BEREKET TV"; +channels[3576]="S42.0E-42-3-5"; +channelsnames[3577]="SHOPPING TV"; +channels[3577]="S42.0E-42-3-6"; +channelsnames[3578]="67 TV"; +channels[3578]="S42.0E-42-3-7"; +channelsnames[3579]="SAMSUN AKS TV"; +channels[3579]="S42.0E-42-3-8"; +channelsnames[3580]="VIZYONTURK"; +channels[3580]="S42.0E-42-3-10"; +channelsnames[3581]="ULUSAL KANAL"; +channels[3581]="S42.0E-42-3-11"; +channelsnames[3582]="AKDENIZ TV"; +channels[3582]="S42.0E-42-3-12"; +channelsnames[3583]="TATLISES TV"; +channels[3583]="S42.0E-42-3-13"; +channelsnames[3584]="REHBER TV"; +channels[3584]="S42.0E-42-3-14"; +channelsnames[3585]="YON RADYO"; +channels[3585]="S42.0E-42-3-18"; +channelsnames[3586]="RIBAT FM"; +channels[3586]="S42.0E-42-3-19"; +channelsnames[3587]="RADYO SILA"; +channels[3587]="S42.0E-42-3-21"; +channelsnames[3588]="KONYA FM"; +channels[3588]="S42.0E-42-3-26"; +channelsnames[3589]="VIZYON TURK"; +channels[3589]="S42.0E-42-3-27"; +channelsnames[3590]="CAGRI FM"; +channels[3590]="S42.0E-42-3-29"; +channelsnames[3591]="T KACKAR"; +channels[3591]="S42.0E-42-3-30"; +channelsnames[3592]="ANC RADYO"; +channels[3592]="S42.0E-42-3-31"; +channelsnames[3593]="EM TV"; +channels[3593]="S42.0E-42-502-1"; +channelsnames[3594]="UZAY TV"; +channels[3594]="S42.0E-42-502-2"; +channelsnames[3595]="ALTAS TV"; +channels[3595]="S42.0E-42-502-3"; +channelsnames[3596]="FB TV"; +channels[3596]="S42.0E-42-502-4"; +channelsnames[3597]="BURSA AS TV"; +channels[3597]="S42.0E-42-502-5"; +channelsnames[3598]="KONYA TV"; +channels[3598]="S42.0E-42-502-6"; +channelsnames[3599]="MAXI TV"; +channels[3599]="S42.0E-42-502-7"; +channelsnames[3600]="GALA TV"; +channels[3600]="S42.0E-42-502-8"; +channelsnames[3601]="ON4 TV"; +channels[3601]="S42.0E-42-502-9"; +channelsnames[3602]="YILDIZ TV"; +channels[3602]="S42.0E-42-502-10"; +channelsnames[3603]="TURKIYEM TV"; +channels[3603]="S42.0E-42-502-11"; +channelsnames[3604]="DOLUNAY FM"; +channels[3604]="S42.0E-42-502-13"; +channelsnames[3605]="BAYRAM FM"; +channels[3605]="S42.0E-42-502-15"; +channelsnames[3606]="SUN TV"; +channels[3606]="S42.0E-42-502-16"; +channelsnames[3607]="silafm"; +channels[3607]="S42.0E-42-502-17"; +channelsnames[4001]="TVN HD"; +channels[4001]="S13.0E-318-1600-15821"; +channelsnames[4002]="TVN Siedem"; +channels[4002]="S13.0E-318-1000-4313"; +channelsnames[4003]="TVN STYLE HD"; +channels[4003]="S13.0E-318-1600-15823"; +channelsnames[4004]="TVN Turbo HD"; +channels[4004]="S13.0E-318-1600-15824"; +channelsnames[4005]="TTV"; +channels[4005]="S13.0E-318-1000-4317"; +channelsnames[4006]="TVN 24 HD"; +channels[4006]="S13.0E-318-1600-15826"; +channelsnames[4007]="Polsat HD"; +channels[4007]="S13.0E-113-7800-3107"; +channelsnames[4008]="TV4"; +channels[4008]="S13.0E-113-13200-13103"; +channelsnames[4009]="Kuchnia+ HD"; +channels[4009]="S13.0E-318-1100-14237"; +channelsnames[4010]="Polsat2"; +channels[4010]="S13.0E-113-13200-13110"; +channelsnames[4011]="TVP 1 HD"; +channels[4011]="S13.0E-318-1300-15037"; +channelsnames[4012]="TVP 2 HD"; +channels[4012]="S13.0E-113-7800-3106"; +channelsnames[4013]="TVP HD"; +channels[4013]="S13.0E-318-300-15202"; +channelsnames[4014]="TVP SERIALE"; +channels[4014]="S13.0E-318-11400-15708"; +channelsnames[4015]="TVP INFO"; +channels[4015]="S13.0E-318-1500-5110"; +channelsnames[4016]="TVP Kultura"; +channels[4016]="S13.0E-318-1500-5113"; +channelsnames[4017]="TV POLONIA"; +channels[4017]="S13.0E-318-1500-5101"; +channelsnames[4018]="TVP Historia"; +channels[4018]="S13.0E-318-11600-3524"; +channelsnames[4019]="TVP Rozrywka"; +channels[4019]="S13.0E-318-11200-17032"; +channelsnames[4020]="TV PULS"; +channels[4020]="S13.0E-318-1500-5112"; +channelsnames[4021]="Superstacja"; +channels[4021]="S13.0E-113-7900-10521"; +channelsnames[4022]="TVN 24 Biznes i Swiat"; +channels[4022]="S13.0E-318-1000-4322"; +channelsnames[4023]="TVN Meteo"; +channels[4023]="S13.0E-318-1000-4318"; +channelsnames[4024]="TV6"; +channels[4024]="S13.0E-113-7900-10510"; +channelsnames[4025]="Polsat News 2"; +channels[4025]="S13.0E-113-13200-13107"; +channelsnames[4026]="Polsat News"; +channels[4026]="S13.0E-113-13200-13129"; +channelsnames[4027]="BBC HD"; +channels[4027]="S13.0E-318-11600-3590"; +channelsnames[4028]="BBC Entertainment Poland"; +channels[4028]="S13.0E-318-13000-14602"; +channelsnames[4029]="TVN 24"; +channels[4029]="S13.0E-318-1000-4312"; +channelsnames[4030]="CANAL+ HD"; +channels[4030]="S13.0E-318-400-13020"; +channelsnames[4031]="CANAL+ FILM HD"; +channels[4031]="S13.0E-318-1100-14201"; +channelsnames[4032]="CANAL+ FILM2 HD"; +channels[4032]="S13.0E-318-1100-14210"; +channelsnames[4033]="CANAL+ FAMILY HD"; +channels[4033]="S13.0E-318-1100-14203"; +channelsnames[4034]="CANAL+ FAMILY2 HD"; +channels[4034]="S13.0E-318-1100-14202"; +channelsnames[4035]="CANAL+ SPORT HD"; +channels[4035]="S13.0E-318-400-13022"; +channelsnames[4048]="Cinemax HD"; +channels[4048]="S13.0E-318-300-15207"; +channelsnames[4049]="Cinemax 2 HD"; +channels[4049]="S13.0E-113-7800-3110"; +channelsnames[4050]="HBO HD"; +channels[4050]="S13.0E-113-7800-3105"; +channelsnames[4051]="HBO2 HD"; +channels[4051]="S13.0E-318-11600-3593"; +channelsnames[4052]="HBO COMEDY HD"; +channels[4052]="S13.0E-318-11600-3594"; +channelsnames[4053]="Ale kino+ HD"; +channels[4053]="S13.0E-318-1100-14239"; +channelsnames[4054]="FOX HD"; +channels[4054]="S13.0E-113-7800-3111"; +channelsnames[4055]="FoxLife HD"; +channels[4055]="S13.0E-113-7800-3103"; +channelsnames[4056]="AXN HD"; +channels[4056]="S13.0E-113-7800-3109"; +channelsnames[4057]="AXN Spin HD"; +channels[4057]="S13.0E-318-12000-15908"; +channelsnames[4058]="MGM HD"; +channels[4058]="S13.0E-318-1300-15031"; +channelsnames[4059]="Romance TV"; +channels[4059]="S13.0E-318-1300-15038"; +channelsnames[4060]="Sundance HD"; +channels[4060]="S13.0E-318-12000-15901"; +channelsnames[4145]="4fun.TV"; +channels[4145]="S13.0E-318-11000-4404"; +channelsnames[4165]="FILMBOX HD"; +channels[4165]="S13.0E-318-400-13025"; +channelsnames[4166]="Filmbox Extra"; +channels[4166]="S13.0E-318-11400-15712"; +channelsnames[4167]="Filmbox Family"; +channels[4167]="S13.0E-318-11400-15714"; +channelsnames[4168]="Filmbox Action"; +channels[4168]="S13.0E-318-11400-15717"; +channelsnames[4169]="Filmbox"; +channels[4169]="S13.0E-318-11400-15713"; +channelsnames[4210]="TVN"; +channels[4210]="S13.0E-318-1000-4311"; +channelsnames[4211]="TVP 1"; +channels[4211]="S13.0E-318-11900-4807"; +channelsnames[4212]="TVP 2"; +channels[4212]="S13.0E-318-11900-4808"; +channelsnames[4213]="TV PULS"; +channels[4213]="S13.0E-318-1500-5142"; +channelsnames[4272]="FoxLife"; +channels[4272]="S13.0E-113-7400-7375"; +channelsnames[4500]="CANAL+ FAMILY"; +channels[4500]="S13.0E-318-11000-4414"; +channelsnames[4501]="CANAL+ FAMILY2"; +channels[4501]="S13.0E-318-11000-4413"; +channelsnames[4502]="HBO"; +channels[4502]="S13.0E-318-11000-4429"; +channelsnames[4503]="HBO2"; +channels[4503]="S13.0E-318-11000-4431"; +channelsnames[4504]="HBO COMEDY"; +channels[4504]="S13.0E-318-11000-4432"; +channelsnames[4505]="Universal Channel Poland"; +channels[4505]="S13.0E-318-700-1"; +channelsnames[4506]="Sci Fi Poland"; +channels[4506]="S13.0E-318-700-2"; +channelsnames[4507]="13 Ulica (Street) Poland"; +channels[4507]="S13.0E-318-700-3"; +channelsnames[4600]="teleTOON+ HD"; +channels[4600]="S13.0E-318-1100-14205"; +channelsnames[4601]="Planete+ HD"; +channels[4601]="S13.0E-318-1100-14206"; +channelsnames[4602]="Kuchnia+ HD"; +channels[4602]="S13.0E-318-1100-14207"; +channelsnames[4603]="Domo+ HD"; +channels[4603]="S13.0E-318-1100-14208"; +channelsnames[4604]="Ale kino+ HD"; +channels[4604]="S13.0E-318-1100-14209"; +channelsnames[4605]="teleTOON+ HD"; +channels[4605]="S13.0E-318-1100-14235"; +channelsnames[4606]="Planete+ HD"; +channels[4606]="S13.0E-318-1100-14236"; +channelsnames[4607]="Domo+ HD"; +channels[4607]="S13.0E-318-1100-14238"; +channelsnames[4608]="Polsat"; +channels[4608]="S13.0E-113-13200-13101"; +channelsnames[4609]="Polsat Play"; +channels[4609]="S13.0E-113-13200-13102"; +channelsnames[4610]="Polsat Sport"; +channels[4610]="S13.0E-113-13200-13104"; +channelsnames[4611]="Polsat Sport Extra"; +channels[4611]="S13.0E-113-13200-13105"; +channelsnames[4612]="Polsat Cafe"; +channels[4612]="S13.0E-113-13200-13106"; +channelsnames[4613]="Polsat Film"; +channels[4613]="S13.0E-113-13200-13108"; +channelsnames[4614]="Polsat News"; +channels[4614]="S13.0E-113-13200-13109"; +channelsnames[4615]="Polsat Play"; +channels[4615]="S13.0E-113-13200-13122"; +channelsnames[4616]="Polsat Cafe"; +channels[4616]="S13.0E-113-13200-13126"; +channelsnames[4617]="Polsat News"; +channels[4617]="S13.0E-113-13200-13139"; +channelsnames[4618]="CANAL+"; +channels[4618]="S13.0E-318-11900-4801"; +channelsnames[4619]="CANAL+ FILM"; +channels[4619]="S13.0E-318-11900-4802"; +channelsnames[4620]="CANAL+ FILM2"; +channels[4620]="S13.0E-318-11900-4803"; +channelsnames[4621]="Kuchnia+"; +channels[4621]="S13.0E-318-11900-4804"; +channelsnames[4622]="Ale kino+"; +channels[4622]="S13.0E-318-11900-4805"; +channelsnames[4623]="teleTOON+"; +channels[4623]="S13.0E-318-11900-4806"; +channelsnames[4624]="CANAL+ SPORT"; +channels[4624]="S13.0E-318-11900-4809"; +channelsnames[4625]="Domo+"; +channels[4625]="S13.0E-318-11900-4811"; +channelsnames[4626]="4823"; +channels[4626]="S13.0E-318-11900-4823"; +channelsnames[4627]="H test 1"; +channels[4627]="S13.0E-318-11900-4830"; +channelsnames[4628]="H test 2"; +channels[4628]="S13.0E-318-11900-4831"; +channelsnames[4629]="H test 3"; +channels[4629]="S13.0E-318-11900-4832"; +channelsnames[4630]="CANAL+ FILM"; +channels[4630]="S13.0E-318-11900-4833"; +channelsnames[4631]="CANAL+ FILM2"; +channels[4631]="S13.0E-318-11900-4834"; +channelsnames[4632]="CANAL+"; +channels[4632]="S13.0E-318-11900-4835"; +channelsnames[4633]="CANAL+ FILM"; +channels[4633]="S13.0E-318-11900-4836"; +channelsnames[4634]="CANAL+ SPORT"; +channels[4634]="S13.0E-318-11900-4837"; +channelsnames[4635]="CYFRA+ RADIO"; +channels[4635]="S13.0E-318-11900-4840"; +channelsnames[4636]="CYFRA+ RMF"; +channels[4636]="S13.0E-318-11900-4842"; +channelsnames[4637]="CYFRA+ PR"; +channels[4637]="S13.0E-318-11900-4844"; +channelsnames[4638]="JASNA GORA"; +channels[4638]="S13.0E-318-11900-4845"; +channelsnames[4639]="CANAL+"; +channels[4639]="S13.0E-318-11900-4851"; +channelsnames[4640]="CANAL+ SPORT"; +channels[4640]="S13.0E-318-11900-4853"; +channelsnames[4641]="Kuchnia+"; +channels[4641]="S13.0E-318-11900-4854"; +channelsnames[4642]="Ale kino+"; +channels[4642]="S13.0E-318-11900-4855"; +channelsnames[4643]="teleTOON+"; +channels[4643]="S13.0E-318-11900-4856"; +channelsnames[4644]="Domo+"; +channels[4644]="S13.0E-318-11900-4857"; +channelsnames[4645]="TOK FM"; +channels[4645]="S13.0E-318-11900-4862"; +channelsnames[4646]="tech 2"; +channels[4646]="S13.0E-318-11900-4863"; +channelsnames[4647]="Kuchnia+"; +channels[4647]="S13.0E-318-11900-4864"; +channelsnames[4648]="DTV CABLE KU"; +channels[4648]="S13.0E-318-11900-4874"; +channelsnames[4649]="DTV CABLE AL"; +channels[4649]="S13.0E-318-11900-4875"; +channelsnames[4650]="DTV CABLE TT"; +channels[4650]="S13.0E-318-11900-4876"; +channelsnames[4651]="PR1"; +channels[4651]="S13.0E-318-11900-4881"; +channelsnames[4652]="PR2"; +channels[4652]="S13.0E-318-11900-4882"; +channelsnames[4653]="PR3"; +channels[4653]="S13.0E-318-11900-4883"; +channelsnames[4654]="Planete+"; +channels[4654]="S13.0E-318-11000-4406"; +channelsnames[4655]="MiniMini+"; +channels[4655]="S13.0E-318-11000-4407"; +channelsnames[4656]="nSport+"; +channels[4656]="S13.0E-318-11000-4408"; +channelsnames[4657]="HISTORY"; +channels[4657]="S13.0E-318-11000-4409"; +channelsnames[4658]="CANAL+ FAMILY2"; +channels[4658]="S13.0E-318-11000-4423"; +channelsnames[4659]="ESP"; +channels[4659]="S13.0E-318-11000-4435"; +channelsnames[4660]="Planete+"; +channels[4660]="S13.0E-318-11000-4451"; +channelsnames[4661]="MiniMini+"; +channels[4661]="S13.0E-318-11000-4452"; +channelsnames[4662]="nSport+"; +channels[4662]="S13.0E-318-11000-4458"; +channelsnames[4663]="DTV CABLE PL"; +channels[4663]="S13.0E-318-11000-4476"; +channelsnames[4664]="DTV CABLE MI"; +channels[4664]="S13.0E-318-11000-4477"; +channelsnames[4665]="STREFA ABONENTA nc+"; +channels[4665]="S13.0E-318-11000-4481"; +channelsnames[4666]="Test-R"; +channels[4666]="S19.2E-1-1051-28726"; +channelsnames[4667]="TVS"; +channels[4667]="S13.0E-318-1500-5102"; +channelsnames[4668]="KINO POLSKA"; +channels[4668]="S13.0E-318-1500-5104"; +channelsnames[4669]="TRACE TV"; +channels[4669]="S13.0E-318-1500-5105"; +channelsnames[4670]="5108"; +channels[4670]="S13.0E-318-1500-5108"; +channelsnames[4671]="TVP Regionalna"; +channels[4671]="S13.0E-318-1500-5115"; +channelsnames[4672]="ANIMAL PLANET"; +channels[4672]="S13.0E-318-1500-5122"; +channelsnames[4673]="CBS Drama"; +channels[4673]="S13.0E-318-1500-5126"; +channelsnames[4674]="CBS Reality"; +channels[4674]="S13.0E-318-1500-5127"; +channelsnames[4675]="TVP Kultura"; +channels[4675]="S13.0E-318-1500-5143"; +channelsnames[4676]="CINEMAX"; +channels[4676]="S13.0E-318-1500-5146"; +channelsnames[4677]="Boomerang CZ"; +channels[4677]="S23.5E-3-3202-6036"; +channelsnames[4678]="Animal Planet CZ"; +channels[4678]="S23.5E-3-3202-6041"; +channelsnames[4679]="EDGE"; +channels[4679]="S23.5E-3-3202-6111"; +channelsnames[4680]="EDGE CZ"; +channels[4680]="S23.5E-3-3202-6151"; +channelsnames[4681]="Polsat Romans"; +channels[4681]="S13.0E-113-7400-7301"; +channelsnames[4682]="AXN White"; +channels[4682]="S13.0E-113-7400-7302"; +channelsnames[4683]="AXN Black"; +channels[4683]="S13.0E-113-7400-7303"; +channelsnames[4684]="Fightbox"; +channels[4684]="S13.0E-113-7400-7304"; +channelsnames[4685]="Extreme Sports"; +channels[4685]="S13.0E-113-7400-7305"; +channelsnames[4686]="Eurosport"; +channels[4686]="S13.0E-113-7400-7306"; +channelsnames[4687]="Nat Geo Wild"; +channels[4687]="S13.0E-113-7400-7307"; +channelsnames[4688]="Disco Polo Music"; +channels[4688]="S13.0E-113-7400-7308"; +channelsnames[4689]="Disco Polo Music"; +channels[4689]="S13.0E-113-7400-7310"; +channelsnames[4690]="Discovery"; +channels[4690]="S13.0E-113-7400-7315"; +channelsnames[4691]="AXN"; +channels[4691]="S13.0E-113-7400-7318"; +channelsnames[4692]="Disney XD"; +channels[4692]="S13.0E-113-7400-7349"; +channelsnames[4693]="Polsat Viasat Explore"; +channels[4693]="S13.0E-113-7400-7371"; +channelsnames[4694]="Polsat Viasat History"; +channels[4694]="S13.0E-113-7400-7372"; +channelsnames[4695]="Polsat Viasat Nature"; +channels[4695]="S13.0E-113-7400-7373"; +channelsnames[4696]="D. SCIENCE"; +channels[4696]="S13.0E-318-11400-15701"; +channelsnames[4697]="Discovery Turbo Xtra"; +channels[4697]="S13.0E-318-11400-15703"; +channelsnames[4698]="TVP SPORT"; +channels[4698]="S13.0E-318-11400-15704"; +channelsnames[4699]="TELE5"; +channels[4699]="S13.0E-318-11400-15705"; +channelsnames[4700]="POLONIA1"; +channels[4700]="S13.0E-318-11400-15706"; +channelsnames[4701]="CINEMAX 2"; +channels[4701]="S13.0E-318-11400-15707"; +channelsnames[4702]="NATIONAL GEO"; +channels[4702]="S13.0E-318-11400-15710"; +channelsnames[4703]="Orange Sport"; +channels[4703]="S13.0E-318-11400-15711"; +channelsnames[4704]="POLSAT VOLLEYBALL 4"; +channels[4704]="S13.0E-318-11400-15716"; +channelsnames[4705]="TVP Seriale"; +channels[4705]="S13.0E-318-11400-15728"; +channelsnames[4706]="MTV Polska"; +channels[4706]="S13.0E-318-12800-2"; +channelsnames[4707]="CC Family"; +channels[4707]="S13.0E-318-12800-4"; +channelsnames[4708]="VIVA Polska"; +channels[4708]="S13.0E-318-12800-5"; +channelsnames[4709]="Viacom Blink!"; +channels[4709]="S13.0E-318-12800-6"; +channelsnames[4710]="VH1"; +channels[4710]="S13.0E-318-12800-7"; +channelsnames[4711]="Comedy Central Polska"; +channels[4711]="S13.0E-318-12800-10"; +channelsnames[4712]="Nickelodeon"; +channels[4712]="S13.0E-318-12800-11"; +channelsnames[4713]="MTV Live HD"; +channels[4713]="S13.0E-318-12800-21"; +channelsnames[4714]="MTV Polska."; +channels[4714]="S13.0E-318-12800-22"; +channelsnames[4715]="CC Family."; +channels[4715]="S13.0E-318-12800-24"; +channelsnames[4716]="VIVA Polska."; +channels[4716]="S13.0E-318-12800-25"; +channelsnames[4717]="Comedy Central Polska."; +channels[4717]="S13.0E-318-12800-30"; +channelsnames[4718]="VIVA Polska.."; +channels[4718]="S13.0E-318-12800-45"; +channelsnames[4719]="Starz TV"; +channels[4719]="S28.2E-2-2314-53335"; +channelsnames[4720]="?TV"; +channels[4720]="S28.2E-2-2314-53361"; +channelsnames[4721]="True Ent+1"; +channels[4721]="S28.2E-2-2314-53371"; +channelsnames[4722]="BBC Knowledge Poland"; +channels[4722]="S13.0E-318-13000-14603"; +channelsnames[4723]="BBC Lifestyle Poland"; +channels[4723]="S13.0E-318-13000-14604"; +channelsnames[4724]="BBC CBeebies Poland"; +channels[4724]="S13.0E-318-13000-14605"; +channelsnames[4725]="Discovery ID Poland"; +channels[4725]="S13.0E-318-13000-14612"; +channelsnames[4726]="TLC Poland"; +channels[4726]="S13.0E-318-13000-14613"; +channelsnames[4727]="Loveworld"; +channels[4727]="S13.0E-318-13000-14606"; +channelsnames[4728]="BBC Arabic TV"; +channels[4728]="S13.0E-318-13000-14616"; +channelsnames[4729]="BBC Arabic Radio"; +channels[4729]="S13.0E-318-13000-14617"; +channelsnames[4730]="BBC English (Europe)"; +channels[4730]="S13.0E-318-13000-14618"; +channelsnames[4731]="BBC English Mid-East"; +channels[4731]="S13.0E-318-13000-14619"; +channelsnames[4732]="TEST 1"; +channels[4732]="S13.0E-113-7900-10500"; +channelsnames[4733]="Polsat Food"; +channels[4733]="S13.0E-113-7900-10501"; +channelsnames[4734]="Boomerang"; +channels[4734]="S13.0E-113-7900-10502"; +channelsnames[4735]="Radio ZET Gold"; +channels[4735]="S13.0E-113-7900-10503"; +channelsnames[4736]="Radio ZET Gold"; +channels[4736]="S13.0E-113-7900-10504"; +channelsnames[4737]="MTV Rocks"; +channels[4737]="S13.0E-113-7900-10505"; +channelsnames[4738]="CBS Europa"; +channels[4738]="S13.0E-113-7900-10507"; +channelsnames[4739]="Polsat Jim Jam"; +channels[4739]="S13.0E-113-7900-10508"; +channelsnames[4740]="ATM Rozrywka TV"; +channels[4740]="S13.0E-113-7900-10511"; +channelsnames[4741]="Polsat Sport News"; +channels[4741]="S13.0E-113-7900-10514"; +channelsnames[4742]="Blue Hustler"; +channels[4742]="S13.0E-113-7900-10516"; +channelsnames[4743]="Zlote Przeboje"; +channels[4743]="S13.0E-113-7900-10519"; +channelsnames[4744]="Travel"; +channels[4744]="S13.0E-113-7900-10520"; +channelsnames[4745]="RMF FM"; +channels[4745]="S13.0E-113-7900-10523"; +channelsnames[4746]="Zlote Przeboje"; +channels[4746]="S13.0E-113-7900-10524"; +channelsnames[4747]="RMF Classic"; +channels[4747]="S13.0E-113-7900-10526"; +channelsnames[4748]="Radio PIN 102FM"; +channels[4748]="S13.0E-113-7900-10527"; +channelsnames[4749]="Jedynka - PR"; +channels[4749]="S13.0E-113-7900-10528"; +channelsnames[4750]="Trójka - PR"; +channels[4750]="S13.0E-113-7900-10529"; +channelsnames[4751]="Radio ZET"; +channels[4751]="S13.0E-113-7900-10530"; +channelsnames[4752]="Radio ZET"; +channels[4752]="S13.0E-113-7900-10531"; +channelsnames[4753]="RMF Classic"; +channels[4753]="S13.0E-113-7900-10532"; +channelsnames[4754]="Trójka - PR"; +channels[4754]="S13.0E-113-7900-10535"; +channelsnames[4755]="Radio PIN 102FM"; +channels[4755]="S13.0E-113-7900-10536"; +channelsnames[4756]="Jedynka - PR"; +channels[4756]="S13.0E-113-7900-10537"; +channelsnames[4757]="RMF FM"; +channels[4757]="S13.0E-113-7900-10538"; +channelsnames[4758]="RMF MAXXX"; +channels[4758]="S13.0E-113-7900-10543"; +channelsnames[4759]="RMF MAXXX"; +channels[4759]="S13.0E-113-7900-10549"; +channelsnames[4760]="Disney Junior"; +channels[4760]="S13.0E-113-7900-10552"; +channelsnames[4761]="Dla Abonentow"; +channels[4761]="S13.0E-113-7900-10556"; +channelsnames[4762]="CN/TCM"; +channels[4762]="S13.0E-318-12200-7457"; +channelsnames[4763]="Noursat"; +channels[4763]="S13.0E-318-12200-7402"; +channelsnames[4764]="Al Hiwar"; +channels[4764]="S13.0E-318-12200-7456"; +channelsnames[4765]="DMC"; +channels[4765]="S13.0E-318-12200-7459"; +channelsnames[4766]="Miracle TV"; +channels[4766]="S13.0E-318-12200-7460"; +channelsnames[4767]="Al Forat"; +channels[4767]="S13.0E-318-12200-7463"; +channelsnames[4768]="Al Fady"; +channels[4768]="S13.0E-318-12200-7464"; +channelsnames[4769]="Disney Channel"; +channels[4769]="S13.0E-318-12200-7466"; +channelsnames[4770]="Cartoon Network"; +channels[4770]="S13.0E-318-12200-7467"; +channelsnames[4771]="Turner Classic Movies"; +channels[4771]="S13.0E-318-12200-7468"; +channelsnames[4772]="RFI Persian"; +channels[4772]="S13.0E-318-12200-7469"; +channelsnames[4773]="Sat 7 Pars"; +channels[4773]="S13.0E-318-12200-7470"; +channelsnames[4774]="Velayat TV"; +channels[4774]="S13.0E-318-12200-7471"; +channelsnames[4775]="Karbala Satellite Channel"; +channels[4775]="S13.0E-318-12200-7472"; +channelsnames[4776]="iTV"; +channels[4776]="S13.0E-318-12200-7473"; +channelsnames[4777]="Al Maaref"; +channels[4777]="S13.0E-318-12200-7474"; +channelsnames[4778]="STS International"; +channels[4778]="S13.0E-318-12200-7475"; +channelsnames[4779]="Ahl E Bait"; +channels[4779]="S13.0E-318-12200-7476"; +channelsnames[4780]="Cancao Nova"; +channels[4780]="S13.0E-318-200-4922"; +channelsnames[4781]="ESP2 Dutch"; +channels[4781]="S13.0E-318-200-13802"; +channelsnames[4782]="ESP2 Test"; +channels[4782]="S13.0E-318-200-13804"; +channelsnames[4783]="ESP2 Greek"; +channels[4783]="S13.0E-318-200-13805"; +channelsnames[4784]="ESP2 Portuguese"; +channels[4784]="S13.0E-318-200-13821"; +channelsnames[4785]="ESP2 Italy"; +channels[4785]="S13.0E-318-200-13822"; +channelsnames[4786]="ESP2 Biava"; +channels[4786]="S13.0E-318-200-13823"; +channelsnames[4787]="ESP Spain"; +channels[4787]="S13.0E-318-200-13829"; +channelsnames[4788]="ESP Italy"; +channels[4788]="S13.0E-318-200-13830"; +channelsnames[4789]="ESP Polish"; +channels[4789]="S13.0E-318-200-13834"; +channelsnames[4790]="ESP Portuguese"; +channels[4790]="S13.0E-318-200-13836"; +channelsnames[4791]="ESP Hungarian"; +channels[4791]="S13.0E-318-200-13837"; +channelsnames[4792]="ESP Czech"; +channels[4792]="S13.0E-318-200-13839"; +channelsnames[4793]="ESP Greek"; +channels[4793]="S13.0E-318-200-13840"; +channelsnames[4794]="ESP Cyprus"; +channels[4794]="S13.0E-318-200-13841"; +channelsnames[4795]="ESP Bulgarian"; +channels[4795]="S13.0E-318-200-13842"; +channelsnames[4796]="ESP2 Turk"; +channels[4796]="S13.0E-318-200-13843"; +channelsnames[4797]="ESP Serbia"; +channels[4797]="S13.0E-318-200-13844"; +channelsnames[4798]="ESP Turk"; +channels[4798]="S13.0E-318-200-13845"; +channelsnames[4799]="ESP2 German"; +channels[4799]="S13.0E-318-200-13846"; +channelsnames[4800]="ESP2 Serbia"; +channels[4800]="S13.0E-318-200-13847"; +channelsnames[4801]="ESP Biava"; +channels[4801]="S13.0E-318-200-13848"; +channelsnames[4802]="EUROSPORT2 PL"; +channels[4802]="S13.0E-318-200-13864"; +channelsnames[4803]="EUROSPORT PL"; +channels[4803]="S13.0E-318-200-13865"; +channelsnames[4804]="ESP2 NE Intl"; +channels[4804]="S13.0E-318-200-13877"; +channelsnames[4805]="ESP2 NE Polish"; +channels[4805]="S13.0E-318-200-13878"; +channelsnames[4806]="ESP2 NE Bulgarian"; +channels[4806]="S13.0E-318-200-13879"; +channelsnames[4807]="ESP2 NE Serbian"; +channels[4807]="S13.0E-318-200-13880"; +channelsnames[4808]="ESP2 NE Czech"; +channels[4808]="S13.0E-318-200-13881"; +channelsnames[4809]="ESP2 NE Danish"; +channels[4809]="S13.0E-318-200-13882"; +channelsnames[4810]="ESP2 NE Swedish"; +channels[4810]="S13.0E-318-200-13884"; +channelsnames[4811]="ESP ECH"; +channels[4811]="S13.0E-318-200-13885"; +channelsnames[4812]="ESP2 NE UPC"; +channels[4812]="S13.0E-318-200-13886"; +channelsnames[4813]="ESP2 NE Hungary"; +channels[4813]="S13.0E-318-200-13887"; +channelsnames[4814]="ESP2 NE Romania"; +channels[4814]="S13.0E-318-200-13888"; +channelsnames[4815]="ESP UPC"; +channels[4815]="S13.0E-318-200-13889"; +channelsnames[4816]="ESP2 NE Norwegian"; +channels[4816]="S13.0E-318-200-13890"; +channelsnames[4817]="ESP2 NE Dutch"; +channels[4817]="S13.0E-318-200-13891"; +channelsnames[4818]="ESP Romanian"; +channels[4818]="S13.0E-318-200-13892"; +channelsnames[4819]="A3"; +channels[4819]="S13.0E-318-200-13940"; +channelsnames[4820]="Canal Algerie"; +channels[4820]="S13.0E-318-200-13950"; +channelsnames[4821]="TV5MONDE FBS"; +channels[4821]="S13.0E-318-13100-7321"; +channelsnames[4822]="TV5MONDE EUROPE"; +channels[4822]="S13.0E-318-13100-7322"; +channelsnames[4823]="Crime and Investigation nc+"; +channels[4823]="S13.0E-318-13100-7324"; +channelsnames[4824]="Crime + Investigation"; +channels[4824]="S13.0E-318-13100-7325"; +channelsnames[4825]="GEM TV"; +channels[4825]="S13.0E-318-13100-7333"; +channelsnames[4826]="AB Channel"; +channels[4826]="S13.0E-318-13100-7334"; +channelsnames[4827]="Kurd Channel"; +channels[4827]="S13.0E-318-13100-7335"; +channelsnames[4828]="NUMBER 1"; +channels[4828]="S13.0E-318-13100-7337"; +channelsnames[4829]="Radio Expert"; +channels[4829]="S13.0E-318-13100-7339"; +channelsnames[4830]="Manoto 1"; +channels[4830]="S13.0E-318-13100-7355"; +channelsnames[5000]="BBC Olym 4 HD"; +channels[5000]="S28.2E-0-0-8900"; +channelsnames[5001]="BBC Olym 4 HD"; +channels[5001]="S28.2E-0-0-8900"; +channelsnames[5100]="BBC Olym 4 HD"; +channels[5100]="S28.2E-0-0-8900"; +channelsnames[6001]="Meiden van Holland Hard"; +channels[6001]="T-8720-2213-38"; +channelsnames[6002]="XXL"; +channels[6002]="S19.2E-1-1094-17024"; +channelsnames[6003]="Redlight"; +channels[6003]="S13.0E-318-5000-13760"; +channelsnames[6004]="EXOTICA TV"; +channels[6004]="S13.0E-318-5000-13761"; +channelsnames[6005]="SCT 4"; +channels[6005]="S13.0E-318-5000-13764"; +channelsnames[6006]="SCT 6"; +channels[6006]="S13.0E-318-5000-13766"; +channelsnames[6007]="SCT 7"; +channels[6007]="S13.0E-318-5000-13767"; +channelsnames[6008]="SCT HQ"; +channels[6008]="S13.0E-318-5000-13768"; +channelsnames[6009]="PINK O TV"; +channels[6009]="S13.0E-318-5000-13784"; +channelsnames[6010]="Dorcel TV"; +channels[6010]="S19.2E-53-1119-12882"; +channelsnames[6011]="Hustler TV"; +channels[6011]="S19.2E-53-1119-12883"; +channelsnames[6012]="FRENCH LOVER"; +channels[6012]="S19.2E-1-1018-6407"; +channelsnames[6013]="LIBIDO TV"; +channels[6013]="S19.2E-1-1018-6402"; +channelsnames[6014]="BRAZZERS TV Europe"; +channels[6014]="S13.0E-318-12200-7461"; +channelsnames[6015]="PRIVATE TV"; +channels[6015]="S13.0E-318-13300-4960"; +channelsnames[6016]="FL TV"; +channels[6016]="S13.0E-318-8900-2098"; +channelsnames[6017]="Venus"; +channels[6017]="S30.0W-83-105-502"; +channelsnames[6018]="Leo TV"; +channels[6018]="S23.5E-3-3219-13142"; +channelsnames[6019]="Vivid"; +channels[6019]="S19.2E-53-1105-4064"; +channelsnames[6020]="Vivid CZ"; +channels[6020]="S19.2E-53-1105-4065"; +channelsnames[6021]="Dorcel TV"; +channels[6021]="S19.2E-1-1094-17029"; +channelsnames[6022]="XXL"; +channels[6022]="S19.2E-1-1094-17054"; +channelsnames[6023]="Dorcel TV"; +channels[6023]="S19.2E-1-1094-17059"; +channelsnames[6024]="DORCEL XXX"; +channels[6024]="S19.2E-1-1096-8613"; +channelsnames[6025]="Hustler TV CZ"; +channels[6025]="S19.2E-53-1119-12884"; +channelsnames[6026]="XXL"; +channels[6026]="S13.0E-319-9900-468"; +channelsnames[6027]="SCT HD"; +channels[6027]="S13.0E-318-5000-10"; +channelsnames[6028]="Redlight 3D-HD"; +channels[6028]="S13.0E-318-15800-16932"; +channelsnames[6029]="Penthouse 3D"; +channels[6029]="S23.5E-3-3204-5311"; +channelsnames[6030]="EROXXX"; +channels[6030]="S23.5E-3-3212-14055"; +channelsnames[6031]="Brazzers.tv"; +channels[6031]="S23.5E-3-3202-6072"; +channelsnames[6032]="Hustler HD-3D"; +channels[6032]="S13.0E-318-15800-16933"; +channelsnames[6033]="Beate-Uhse.TV,BeateU"; +channels[6033]="S19.2E-133-17-21"; +channelsnames[6034]="PENTHOUSE HD"; +channels[6034]="S19.2E-1-1086-9907"; +channelsnames[6035]="PLAYBOY TV"; +channels[6035]="S19.2E-1-1060-30603"; +channelsnames[6036]="Brazzers.tv CZ"; +channels[6036]="S23.5E-3-3202-6073"; +channelsnames[6037]="Penthouse"; +channels[6037]="S23.5E-3-3222-20917"; +channelsnames[6038]="Penthouse CZ"; +channels[6038]="S23.5E-3-3222-20957"; +channelsnames[6039]="Hustler HD"; +channels[6039]="S23.5E-3-3211-20830"; +channelsnames[6040]="Hustler HD CZ"; +channels[6040]="S23.5E-3-3211-20831"; +channelsnames[6041]="Redlight 3D-HD!"; +channels[6041]="S13.0E-318-15800-16943"; +channelsnames[6042]="Hustler 3D-HD!"; +channels[6042]="S13.0E-318-15800-16944"; +channelsnames[6043]="XXL PL"; +channels[6043]="S13.0E-319-9900-469"; +channelsnames[6044]="Penthouse HD"; +channels[6044]="S23.5E-3-3236-5711"; +channelsnames[6045]="Penthouse HD1"; +channels[6045]="S23.5E-3-3236-5712"; +channelsnames[6046]="Penthouse HD2"; +channels[6046]="S23.5E-3-3236-5713"; +channelsnames[6047]="Hallo TV German free"; +channels[6047]="S19.2E-1-1117-13015"; +channelsnames[8001]="NPO 1"; +channels[8001]="T-8720-2214-1101"; +channelsnames[8002]="NPO 2"; +channels[8002]="T-8720-2214-1102"; +channelsnames[8003]="NPO 3"; +channels[8003]="T-8720-2214-1103"; +channelsnames[8004]="RTL 4"; +channels[8004]="T-8720-2211-11"; +channelsnames[8005]="RTL 5"; +channels[8005]="T-8720-2211-12"; +channelsnames[8006]="SBS 6"; +channels[8006]="T-8720-2211-14"; +channelsnames[8007]="RTL 7"; +channels[8007]="T-8720-2211-13"; +channelsnames[8008]="Veronica/Disney XD"; +channels[8008]="T-8720-2213-31"; +channelsnames[8009]="NET5"; +channels[8009]="T-8720-2211-15"; +channelsnames[8010]="ID"; +channels[8010]="T-8720-2244-44"; +channelsnames[8011]="RTL 8"; +channels[8011]="T-8720-2213-32"; +channelsnames[8012]="Nickelodeon/TeenNick"; +channels[8012]="T-8720-2244-41"; +channelsnames[8013]="Comedy Central"; +channels[8013]="T-8720-2213-35"; +channelsnames[8014]="Discovery Channel"; +channels[8014]="T-8720-2213-36"; +channelsnames[8015]="TLC"; +channels[8015]="T-8720-2212-25"; +channelsnames[8016]="National Geographic"; +channels[8016]="T-8720-2212-28"; +channelsnames[8017]="Eurosport"; +channels[8017]="T-8720-2213-37"; +channelsnames[8018]="één"; +channels[8018]="T-8720-2213-33"; +channelsnames[8019]="Canvas"; +channels[8019]="T-8720-2213-34"; +channelsnames[8020]="24Kitchen"; +channels[8020]="T-8720-2212-26"; +channelsnames[8021]="FOX"; +channels[8021]="T-8720-2244-42"; +channelsnames[8022]="CNN"; +channels[8022]="T-8720-2244-45"; +channelsnames[8023]="FOX Sports Ere 1"; +channels[8023]="T-8720-2212-21"; +channelsnames[8024]="FOX Sp.3/AT5/Cart.Nw."; +channels[8024]="T-8720-2212-22"; +channelsnames[8025]="BBC One"; +channels[8025]="T-8720-2212-23"; +channelsnames[8026]="BBC Two"; +channels[8026]="T-8720-2212-27"; +channelsnames[8027]="TV Oost"; +channels[8027]="T-8720-2214-1104"; +channelsnames[8028]="TV Gelderland"; +channels[8028]="T-0-0-1104"; +channelsnames[8029]="Radio Gelderland"; +channels[8029]="T-0-0-1111"; +channelsnames[8030]="Radio Oost"; +channels[8030]="T-8720-2214-1111"; +channelsnames[8031]="NPO Radio 1"; +channels[8031]="T-8720-2214-1112"; +channelsnames[8032]="NPO Radio 2"; +channels[8032]="T-8720-2214-1113"; +channelsnames[8033]="NPO 3FM"; +channels[8033]="T-8720-2214-1114"; +channelsnames[8034]="NPO Radio 4"; +channels[8034]="T-8720-2214-1115"; +channelsnames[8035]="NPO Radio 5"; +channels[8035]="T-8720-2214-1116"; +channelsnames[8036]="NPO Radio 6"; +channels[8036]="T-8720-2214-1117"; +channelsnames[8037]="FunX"; +channels[8037]="T-8720-2214-1119"; +channelsnames[8038]="BNR Nieuwsradio"; +channels[8038]="T-8720-2212-217"; +channelsnames[8039]="Arrow Classic Rock"; +channels[8039]="T-8720-2212-218"; +channelsnames[8040]="Radio 538"; +channels[8040]="T-8720-2212-219"; +channelsnames[8041]="BBC Radio 1"; +channels[8041]="T-8720-2244-411"; +channelsnames[8042]="BBC Radio 2"; +channels[8042]="T-8720-2244-412"; +channelsnames[8043]="BBC Radio 3"; +channels[8043]="T-8720-2244-413"; +channelsnames[8044]="BBC Radio 4"; +channels[8044]="T-8720-2244-414"; +channelsnames[8045]="SubLime FM"; +channels[8045]="T-8720-2244-415"; +channelsnames[8046]="SLAM!FM"; +channels[8046]="T-8720-2211-111"; +channelsnames[8047]="Radio 10"; +channels[8047]="T-8720-2211-112"; +channelsnames[8048]="Q-Music"; +channels[8048]="T-8720-2211-113"; +channelsnames[8049]="100%NL"; +channels[8049]="T-8720-2211-114"; +channelsnames[8050]="Classic FM"; +channels[8050]="T-8720-2211-115"; +channelsnames[8051]="SkyRadio 101 FM"; +channels[8051]="T-8720-2211-116"; +channelsnames[8052]="Radio Veronica"; +channels[8052]="T-8720-2211-117"; +channelsnames[8053]="ZDF"; +channels[8053]="T-8468-514-514"; +channelsnames[8054]="3sat"; +channels[8054]="T-8468-514-515"; +channelsnames[8055]="ZDFinfo"; +channels[8055]="T-8468-514-516"; +channelsnames[8056]="neo/KiKA"; +channels[8056]="T-8468-514-517"; +channelsnames[8057]="arte"; +channels[8057]="T-8468-6144-2"; +channelsnames[8058]="arte"; +channels[8058]="T-8468-14849-2"; +channelsnames[8059]="arte OBSOLETE"; +channels[8059]="T-8720-2214-2"; +channelsnames[8060]="PHOENIX"; +channels[8060]="T-8468-6144-3"; +channelsnames[8061]="PHOENIX OBSOLETE"; +channels[8061]="T-8720-2214-3"; +channelsnames[8062]="PHOENIX"; +channels[8062]="T-8468-14849-3"; +channelsnames[8063]="Einsfestival"; +channels[8063]="T-8468-6144-5"; +channelsnames[8064]="Einsfestival OBSOLETE"; +channels[8064]="T-8720-2214-5"; +channelsnames[8065]="Einsfestival"; +channels[8065]="T-8468-14849-5"; +channelsnames[8066]="Das Erste"; +channels[8066]="T-8468-6144-256"; +channelsnames[8067]="Das Erste OBSOLETE"; +channels[8067]="T-8720-2214-256"; +channelsnames[8068]="Das Erste"; +channels[8068]="T-8468-14849-256"; +channelsnames[8069]="hr-fernsehen"; +channels[8069]="T-0-0-65"; +channelsnames[8070]="hr-fernsehen"; +channels[8070]="T-8468-38912-65"; +channelsnames[8071]="MDR FERNSEHEN"; +channels[8071]="T-0-0-100"; +channelsnames[8072]="MDR FERNSEHEN"; +channels[8072]="T-8468-38912-100"; +channelsnames[8073]="NDR FS NDS"; +channels[8073]="T-8468-38912-129"; +channelsnames[8074]="NDR FS NDS"; +channels[8074]="T-0-0-129"; +channelsnames[8075]="NDR FS HH*"; +channels[8075]="T-0-0-130"; +channelsnames[8076]="NDR FS HH*"; +channels[8076]="T-8468-38912-130"; +channelsnames[8077]="NDR FS SH*"; +channels[8077]="T-8468-38912-131"; +channelsnames[8078]="NDR FS SH*"; +channels[8078]="T-0-0-131"; +channelsnames[8079]="NDR FS MVP*"; +channels[8079]="T-0-0-132"; +channelsnames[8080]="NDR FS MVP*"; +channels[8080]="T-8468-38912-132"; +channelsnames[8081]="WDR Köln"; +channels[8081]="T-0-0-262"; +channelsnames[8082]="WDR Köln"; +channels[8082]="T-8468-38912-262"; +channelsnames[9001]="NPO Radio1"; +channels[9001]="S23.5E-3-3211-20860"; +channelsnames[9002]="NPO Radio2"; +channels[9002]="S23.5E-3-3211-20862"; +channelsnames[9003]="NPO 3FM"; +channels[9003]="S23.5E-3-3211-20864"; +channelsnames[9004]="NPO Radio4"; +channels[9004]="S23.5E-3-3211-20866"; +channelsnames[9005]="NPO Radio5"; +channels[9005]="S23.5E-3-3211-20867"; +channelsnames[9006]="NPO Radio6"; +channels[9006]="S23.5E-3-3211-20868"; +channelsnames[9007]="Radio Oost"; +channels[9007]="S23.5E-3-3211-20844"; +channelsnames[9008]="Radio Gelderland"; +channels[9008]="S23.5E-3-3211-20846"; +channelsnames[9009]="Radio Veronica"; +channels[9009]="S23.5E-3-3211-20870"; +channelsnames[9010]="Sky Radio"; +channels[9010]="S23.5E-3-3211-20872"; +channelsnames[9011]="Classic FM"; +channels[9011]="S23.5E-3-3211-20874"; +channelsnames[9012]="Radio 538"; +channels[9012]="S23.5E-3-3211-20876"; +channelsnames[9013]="Radio 10"; +channels[9013]="S23.5E-3-3211-20878"; +channelsnames[9014]="Slam FM"; +channels[9014]="S23.5E-3-3211-20880"; +channelsnames[9015]="BNR Nieuwsradio"; +channels[9015]="S23.5E-3-3211-20882"; +channelsnames[9016]="Funx"; +channels[9016]="S23.5E-3-3211-20896"; +channelsnames[9017]="Radio10Gold"; +channels[9017]="S19.2E-53-1097-2067"; +channelsnames[9018]="Nostalgie"; +channels[9018]="S19.2E-53-1119-12789"; +channelsnames[9019]="100% NL"; +channels[9019]="S23.5E-3-3211-20890"; +channelsnames[9020]="Arrow Jazz"; +channels[9020]="S19.2E-53-1097-2062"; +channelsnames[9021]="Mint"; +channels[9021]="S19.2E-53-1097-2080"; +channelsnames[9022]="Bel RTL"; +channels[9022]="S19.2E-53-1097-2081"; +channelsnames[9023]="Radio Contact"; +channels[9023]="S19.2E-53-1097-2082"; +channelsnames[9024]="Pure FM"; +channels[9024]="S19.2E-53-1097-2085"; +channelsnames[9025]="Classic21"; +channels[9025]="S19.2E-53-1097-2086"; +channelsnames[9026]="VivaCite"; +channels[9026]="S19.2E-53-1097-2087"; +channelsnames[9027]="Musiq 3"; +channels[9027]="S19.2E-53-1097-2088"; +channelsnames[9028]="La Premiere"; +channels[9028]="S19.2E-53-1097-2089"; +channelsnames[9029]="RTL 1440"; +channels[9029]="S19.2E-53-1105-4060"; +channelsnames[9030]="VRT Radio1"; +channels[9030]="S19.2E-53-1119-12778"; +channelsnames[9031]="VRT Radio2"; +channels[9031]="S19.2E-53-1119-12779"; +channelsnames[9032]="COUNTRY RADIO"; +channels[9032]="S23.5E-3-3219-13150"; +channelsnames[9050]="Arrow Classic Rock"; +channels[9050]="S23.5E-3-3211-20892"; +channelsnames[9051]="ROCK ANTENNE,ROCK ANT"; +channels[9051]="S19.2E-133-7-160"; +channelsnames[9052]="Planet Rock"; +channels[9052]="S28.2E-2-2407-9575"; +channelsnames[9053]="Radio Beat"; +channels[9053]="S23.5E-3-3209-13120"; +channelsnames[9054]="1LIVE"; +channels[9054]="S19.2E-1-1093-28475"; +channelsnames[9055]="1LIVE diggi"; +channels[9055]="S19.2E-1-1093-28481"; +channelsnames[9056]="ANTENNE BAYERN,ANTENNE"; +channels[9056]="S19.2E-133-7-170"; +channelsnames[9057]="radio top40"; +channels[9057]="S19.2E-1-1113-12653"; +channelsnames[9058]="Musicam 1"; +channels[9058]="S30.0W-2-15-15"; +channelsnames[9059]="Musicam 2"; +channels[9059]="S30.0W-2-15-16"; +channelsnames[9060]="Musicam 3"; +channels[9060]="S30.0W-2-15-17"; +channelsnames[9061]="Musicam 4"; +channels[9061]="S30.0W-2-15-18"; +channelsnames[9062]="Musicam 5"; +channels[9062]="S30.0W-2-15-19"; +channelsnames[9063]="Musicam 6"; +channels[9063]="S30.0W-2-15-20"; +minChan[0] = 1; +maxChan[0] = 954; +baseChn[0] = 0; +minChan[1] = 1001; +maxChan[1] = 1967; +baseChn[1] = 1000; +minChan[2] = 2000; +maxChan[2] = 2228; +baseChn[2] = 2000; +minChan[3] = 3000; +maxChan[3] = 3607; +baseChn[3] = 3000; +minChan[4] = 4001; +maxChan[4] = 4830; +baseChn[4] = 4000; +minChan[5] = 5000; +maxChan[5] = 5100; +baseChn[5] = 5000; +minChan[6] = 6001; +maxChan[6] = 6047; +baseChn[6] = 6000; +minChan[8] = 8001; +maxChan[8] = 8082; +baseChn[8] = 8000; +minChan[9] = 9001; +maxChan[9] = 9063; +baseChn[9] = 9000; + +defChan[0] = 10 ; protChn[0] = 0; +defChan[1] = 1001; protChn[1] = 0; +defChan[2] = 2000; protChn[2] = 0; +defChan[3] = 3000; protChn[3] = 0; +defChan[4] = 4145; protChn[4] = 0; +defChan[5] = 5000; protChn[5] = 0; +defChan[6] = 6001; protChn[6] = 1; +defChan[7] = 7000; protChn[7] = 0; +defChan[8] = 8001; protChn[8] = 0; +defChan[9] = 9051; protChn[9] = 0; +Chan_Ver = "11/03/14 23:51:46" ; diff --git a/javascript/main.js b/javascript/main.js new file mode 100644 index 0000000..3c07f40 --- /dev/null +++ b/javascript/main.js @@ -0,0 +1,5048 @@ +window.onkeydown = onKeyDown; + +function onLoad() { + + is = toi.informationService; + ss = toi.schedulerService; + aos = toi.audioOutputService; + vos = toi.videoOutputService; + fps = toi.frontPanelService; + ams = toi.assetManagerService; + + GetSettings(); + createPlayer(); + createEitCache(); + + if(pipPlayer){ + addPipVideoplane(); + createPip(); + } + if(PipSwitchGuide){ + createPip(); + } + + embedTeletextPlugin(); + aos.setVolume(AudioOut, StartVolume); + aos.setMuteState(AudioOut, false); + showDisplay(currChan.toString(), false, 100, 0 ); + play(channels[currChan]); + + if (EPGMode) { + eitCache.setFilterMode(eitCache.FILTER_MODE_PF_AND_SCHEDULE); + } else { + eitCache.setFilterMode(eitCache.FILTER_MODE_PF_ONLY); + } + eitCache.addEventListener(eitCache.ON_CACHE_UPDATED, onCacheUpdated); + mediaPlayer.addEventListener(mediaPlayer.ON_DATA_AVAILABLE,onDataAvailableEvent); + mediaPlayer.addEventListener(mediaPlayer.ON_STATE_CHANGED, MPD); + + if (is.getObject("var.capabilities.dvr") == "FALSE") { + mediaRecorder = 0; + // No harddisk, no recorder functions possible + } + + if (is.getObject("config.architecture.target") !== "vip1903" && fullupdate !== 2) { + fullupdate = 0; + // No 19x3 so better turn fullupdate EPG off + } + + if (mediaRecorder) { + createRecorder(); + mediaRecorder.addEventListener(mediaRecorder.ON_STATE_CHANGED, onRecorderStateChanged); + om = toi.assetManagerService.getAssetOperationManager(); //toi.OperationManager; + rma = om.createOperation("Remove Asset"); + } + + is.addEventListener(is.ON_OBJECTS_CHANGED, onEvent); + is.subscribeObject(onEvent, "var.io.state", true); + + ss.addEventListener(ss.ON_SCHEDULED_START, onScheduledStart); + ss.addEventListener(ss.ON_SCHEDULED_STOP, onScheduledStop); + ss.setCategorySubscription(onScheduledStart, "*"); + ss.setCategorySubscription(onScheduledStop, "*"); + + setOSDscale(); + setOSDtimer(); + showOSD(); + videoplane.subtitles = Boolean(ShowSubs); + colorkeys.innerHTML = "<span class=redkey> " + NN[4] + " </span><span class=greenkey > " + NN[1] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + NN[5] + " </span>"; + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[0] + "</h1>"; +} + + + + +function GetSettings() { + //test for settings, create if not excists. + try { + if (!is.getObject("vip.serveraddress")) {} + } catch(e) { + is.setObject("vip.serveraddress","0",is.STORAGE_PERMANENT) + } + + try { + if (!is.getObject("vip.languagepriority")) {} + } catch(e) { + is.setObject("vip.languagepriority","0",is.STORAGE_PERMANENT) + } + + try { + if (!is.getObject("vip.OSDlanguage")) {} + } catch(e) { + is.setObject("vip.OSDlanguage","0",is.STORAGE_PERMANENT) + } + + try { + if (!is.getObject("vip.testing")) {} + } catch(e) { + is.setObject("vip.testing","0",is.STORAGE_PERMANENT) + } + + + try { + if (!is.getObject("vip.resolution")) {} + } catch(e) { + is.setObject("vip.resolution","2",is.STORAGE_PERMANENT) + } + + try { + if (!is.getObject("vip.testing2")) {} + } catch(e) { + is.setObject("vip.testing2","0",is.STORAGE_PERMANENT) + //show info if channel is on hardcoded list of non free + } + + try { + if (!is.getObject("vip.fav_max_channel")) {} + } catch(e) { + is.setObject("vip.fav_max_channel","0",is.STORAGE_PERMANENT) + } + + try { + if (!is.getObject("vip.showsubs")) {} + } catch(e) { + is.setObject("vip.showsubs","1",is.STORAGE_PERMANENT) + } + + + try { + if (!is.getObject("vip.css_nr")) {} + } catch(e) { + is.setObject("vip.css_nr","0",is.STORAGE_PERMANENT) + } + + var sel_group; + for (var i=0;i<10;i++) { + sel_group = "vip.group." + i; + try { + if (!is.getObject(sel_group)) {} + } catch(e) { + if (!minChan[i]) { + is.setObject(sel_group,"0",is.STORAGE_PERMANENT) + } else { + is.setObject(sel_group,"1",is.STORAGE_PERMANENT) + } + } + } + + for (var i=0;i<10;i++) { + if (minChan[i]) {minchan[i] = minChan[i];} + sel_group = "vip.group." + i; + if (is.getObject(sel_group) == "0") { minChan[i] = "";} + } + + audio = Number(is.getObject("vip.languagepriority")); + server_ip = server_ip_array[Number(is.getObject("vip.serveraddress"))]; + for (var i=0;i<10;i++) { if (ServerAdres[i] !== "FullURL" && ServerAdres[i] !== "MultiCast") {ServerAdres[i] = server_ip + StreamPort;} } + ServerAdres[Fav_group] = server_ip + StreamPort; + + lang_nr = Number(is.getObject("vip.OSDlanguage")); + loadjs(langfile[lang_nr]); + + experimental = Number(is.getObject("vip.testing"));// Use some experimental code + testing2 = Number(is.getObject("vip.testing2"));// Use some experimental code + ShowSubs = Number(is.getObject("vip.showsubs")); + css_nr = Number(is.getObject("vip.css_nr")); + loadcss(cssfile[css_nr]); + + Set_Res = Number(is.getObject("vip.resolution")); + VideoOutput(); + Read_Fav(); + + is.setObject("cfg.media.subtitling.languagepriority",subs_prio,is.STORAGE_PERMANENT); + // set default subtitle language to + + + //if needed types can be set here. Default of the box is normal. + //is.setObject("cfg.media.subtitling.typepriority","hearing_impaired",is.STORAGE_PERMANENT); + //is.setObject("cfg.media.subtitling.typepriority","normal",is.STORAGE_PERMANENT); + //is.setObject("cfg.media.audio.typepriority","normal",is.STORAGE_PERMANENT); + //is.setObject("cfg.media.audio.typepriority","hearing_impaired",is.STORAGE_PERMANENT); + //is.setObject("cfg.media.audio.typepriority","visually_impaired",is.STORAGE_PERMANENT); + + + for (var x = 0; x < 10; x++) { + searchtimers[x] = "" ; // To solve displaying undefined + timers[x] = "" ; + if (maxChan[x]) { //check changed to maxChan because minChan can be unset from menu + for (var i = minChan[x]; i < (maxChan[x]+1); i++) { + EPG[0][4][i] = "";EPG[1][4][i] = "";EPG[0][5][i] = "";EPG[1][5][i] = ""; + EPG[0][7][i] = "";EPG[1][7][i] = "";AvInfo[i] = ""; + } + } + } + for (var i = minChan[Fav_group]; i < (maxChan[Fav_group]+10); i++) { + EPG[0][4][i] = "";EPG[1][4][i] = "";EPG[0][5][i] = "";EPG[1][5][i] = "";EPG[0][7][i] = "";EPG[1][7][i] = "";AvInfo[i] = ""; + } + //Check if there is a SmartTV or Restfulapi VDR server plugin but not when box ip isn't the same range as server ip + test_ip = server_ip.split("."); + box_ip = (is.getObject("config.ipaddress")).split("."); + + if (("http://" + box_ip[0] == test_ip[0]) && (box_ip[1] == test_ip[1]) && (box_ip[2] == test_ip[2])) { + CheckPlugins(); + } + +// override check for testing : +// smartTVplugin = 0 ; +// Restfulapiplugin = 1; + if (smartTVplugin && Restfulapiplugin == 0) { + // smartTVplugin YES + // Restfulapiplugin NO + get_timer = 1; + if (get_recordings == 0 ) {get_recordings = 1;} + get_marks = 1; + } else if (smartTVplugin == 0 && Restfulapiplugin) { + // smartTVplugin NO + // Restfulapiplugin YES + get_timer = 0; + if (get_recordings == 1 ) {get_recordings = 0;} + get_marks = 0; + } else if (smartTVplugin == 0 && Restfulapiplugin == 0) { + // smartTVplugin NO + // Restfulapiplugin NO + get_recordings = 2; //from streamdev + } +} + +function loadjs(filename){ + var oHead = document.getElementsByTagName('HEAD').item(0); + var oScript= document.createElement("script"); + oScript.type = "text/javascript"; + oScript.src= filename; + oHead.appendChild( oScript); +} + +function loadcss(filename){ + var oHead = document.getElementsByTagName('HEAD').item(0); + var oScript= document.createElement("link"); + oScript.type = "text/css"; + oScript.rel = "stylesheet"; + oScript.href = filename; + oHead.appendChild( oScript); +} + + +function onEvent(event) { +var numObjs = event.objectNames.length; + for (var i=0; i<numObjs; i++) { + if(event.objectNames[i] == "var.io.state" && is.getObject(event.objectNames[i]) == "standby" && KillStream == 1){ + try { + if (isMediaMenu) { + if (medialist.style.opacity == 0) {setResume();} // No mediamenu on screen so set resume. + } + mediaPlayer.close(); + SetLed(2,2,0);// At request no more blinking on standby. + + } catch(e) { + alert(e); + } + } else if(event.objectNames[i] == "var.io.state" && is.getObject(event.objectNames[i]) == "normal" && KillStream == 1){ + play(channels[currChan]); + if(isMediaMenu) { + if (mediaList.style.opacity == 0) { + if (get_recordings == 1) { + setTimeout("GetMarks(); getResume(); playRec(recLink[currMed]+ '?mode=streamtoend&time=' + position);",100); + } else if (get_recordings == 2) { + setTimeout("playRec(recLink[currMed]+ '?pos=time.' + position);",100); + } + + } else { + showDisplay("STOP", false, 100, 0 ); + showMediaList(); + } + } + } + } +} + +function onUnload() { + try { + mediaPlayer.close(); + mediaPlayer.releaseInstance(); + if(TimeShift){ + mediaPlayer.stopTimeshiftBuffering(); + mediaPlayer.discardTimeshiftBuffer(); + } + if(mediaRecorder){ + om.releaseOperation(rma); + mediaRecorder.close(); + mediaRecorder.releaseInstance(); + } + if(pipPlayer){ + pipPlayer.close(); + pipPlayer.releaseInstance(); + } + + is.removeEventListener(is.ON_OBJECTS_CHANGED, onEvent); + eitCache.removeEventListener(eitCache.ON_CACHE_UPDATED, onCacheUpdated); + mediaPlayer.removeEventListener(mediaPlayer.ON_DATA_AVAILABLE,onDataAvailableEvent); + mediaPlayer.removeEventListener(mediaPlayer.ON_STATE_CHANGED, MPD); + mediaRecorder.removeEventListener(mediaRecorder.ON_STATE_CHANGED, onRecorderStateChanged); + + } catch(e) { + alert(e); + } +} + +function incChan(step) { + currChan += step; + if (currChan > maxChan[ChanGroup]) { + currChan = minChan[ChanGroup]; + } + osdmain.style.opacity = isFullscreen; + OSDchannr(currChan); +} + +function decChan(step) { + currChan -= step; + if (currChan < minChan[ChanGroup] ) { + currChan = maxChan[ChanGroup] ; + } + osdmain.style.opacity = isFullscreen; + OSDchannr(currChan); +} + +function VolumeUp() { + if (Volume < 5) { + var VolStep = 1; + } else { + var VolStep = VolumeStep; + } + + Volume += VolStep; + if (Volume > 100) { + Volume = 100; + } + aos.setVolume(AudioOut, Volume); + showVolume(); +} + +function VolumeDown() { + if (Volume > 5) { + var VolStep = VolumeStep; + } else { + var VolStep = 1; + } + + Volume -= VolStep; + if (Volume < 0) { + Volume = 0; + } + aos.setVolume(AudioOut, Volume); + showVolume(); +} + + +function VolumeMute() { + state = aos.getMuteState(AudioOut); + aos.setMuteState(AudioOut, !state); + mute = 1 - state; + osdmute.style.opacity = mute; +} + +function createEitCache() { + try { + eitCache = toi.dvbEitService.createInstance(); + } catch(e) { + alert("Failed getting eitCache: " + e); + } +} + +function createPlayer() { + try { + mediaPlayer = toi.mediaService.createPlayerInstance(); + } catch(e) { + alert("Failed creating player: " + e); + } +} + + +function createRecorder() { + try { + mediaRecorder = toi.mediaService.createRecorderInstance(); + } catch(e) { + alert("Cannot create media recorder: " + e); + mediaRecorder = ""; + } +} + +function createPip() { + try { + pipPlayer = toi.mediaService.createPipPlayerInstance(); + } catch(e) { + alert("Failed creating PIP player: " + e); + } +} + + +function addPipVideoplane() { + var pipVideoDiv = document.getElementById("pipVideoDiv"); + pipVideoDiv.innerHTML = "<videoplane id='pipvideoplane' index=1 style='position:fixed;left:70%;top:60%;height:20%;width:20%;z-index:50;'></videoplane>"; + document.body.appendChild(pipVideoDiv); +} + +function pipplay(uri) { +try { + if (pipPlayer.getState() != pipPlayer.STATE_IDLE) { + pipPlayer.close(); + } + if (PIPDelayID != -1) { clearTimeout(PIPDelayID); PIPDelayID = -1; } + + if (ServerAdres[ChanGroup] == "MultiCast" ) { + SI=channels[currChan].split("-"); + uri = SI[4]; + } else if (ServerAdres[ChanGroup] == "FullURL" ) { + // uri = ready! + } else { + uri = ServerAdres[ChanGroup] + uri; + } + pipPlayer.open(uri); + PIPDelayID = setTimeout("pipPlayer.play(1000);", 500); + } catch (e) { + alert("Failed opening PIP stream: " + e); + return; + } +} + + +function play(uri) { + try { + if (initialDelayID != -1) { clearTimeout(initialDelayID); initialDelayID = -1; } + if (PlayDelayID != -1) { clearTimeout(PlayDelayID); PlayDelayID = -1; } + if (initialDelayPlayID != -1) { clearTimeout(initialDelayPlayID); initialDelayPlayID = -1; } + + if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { mediaPlayer.close(); } + if (isSchedule) { schedule.style.opacity = 0; isSchedule = 0;} + if (epgactive) { osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0; epgactive = 0;} + + if (ServerAdres[ChanGroup] == "MultiCast" ) { SI=channels[currChan].split("-"); uri = SI[4]; + } else if (ServerAdres[ChanGroup] == "FullURL" ) { // uri = ready! + } else { uri = ServerAdres[ChanGroup] + uri; } + + URL = uri; + initialDelayPlayID = setTimeout("mediaPlayer.open(URL);mediaPlayer.play(1000);GetEPG(currChan);ExtraStuff();",initialDelayPlay); + initialDelayPlay = 500; // wait 500 ms before zap to next channel + PlayDelayID = setTimeout("initialDelayPlay = 0;",5000); + SetLed(1,1,0); + + if(isFullscreen) { showOSD(); } + + showDisplay(currChan.toString(), false, 100, 0 ); + + } catch (e) { + alert("Failed opening stream: " + e); + return; + } +} + +function preview(urip) { + if(SwitchGuide) { + play(urip); + } else if (PipSwitchGuide && fullupdate) { + pipplay(urip); + } + + if (isSchedule) { schedule.style.opacity = 0; isSchedule = 0;} + if (epgactive) { osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0; epgactive = 0;} + showChannelList(); +} + + +function onDataAvailableEvent(event) { + dataAvailable = event.status; + //alert("onDataAvailableEvent : " + event.status); + if(event.status==true) { + updateStreamInfo(currChan); + } +} + + +function updateStreamInfo(currStream) { + +var streamInfo = mediaPlayer.getStreamInfo(); +var cList = streamInfo.availableComponents; +var x; +var xs = 0; +var subs = ""; +if (currMed!= -1) { + if (streamInfo.playTime != -1) { + recDura[currMed] = streamInfo.playTime; + } +} +xx = 0; +AvInfo[currStream] = ""; +lang_prio_dyn.length = 0; +subs_prio_dyn.length = 0; +Radioicon = "\uE00E"; + +for(x=0; x<cList.length;x++) { + if(cList[x].type == 0) { + lang_prio_dyn[xx] = mediaPlayer.getAudioStreamInfo(cList[x]).language; + AvInfo[currStream] = AvInfo[currStream] + " Audio " + xx + " " + mediaPlayer.getAudioStreamInfo(cList[x]).encoding + " - " + mediaPlayer.getAudioStreamInfo(cList[x]).language + " , "; + + // +// alert (mediaPlayer.getAudioStreamInfo(cList[x]).sampleRate); +// alert (mediaPlayer.getAudioStreamInfo(cList[x]).channelFormat); + // AUDIO_CHANNEL_FORMAT_UNKNOWN = 0 + // AUDIO_CHANNEL_FORMAT_SINGLE_MONO = 1 + // AUDIO_CHANNEL_FORMAT_DUAL_MONO = 2 + // AUDIO_CHANNEL_FORMAT_STEREO = 3 + // AUDIO_CHANNEL_FORMAT_3_FRONT_1_BACK = 4 + // AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK = 5 + // AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK_LFE = 6 + // AUDIO_CHANNEL_FORMAT_3_FRONT_2_SIDE_2_BACK_LFE = 7 +// alert (mediaPlayer.getAudioStreamInfo(cList[x]).channelMode); + // AUDIO_CHANNEL_MODE_NORMAL = 0 + // AUDIO_CHANNEL_MODE_DUAL_MONO_LEFT_ONLY = 1 + // AUDIO_CHANNEL_MODE_DUAL_MONO_RIGHT_ONLY = 2 + // AUDIO_CHANNEL_MODE_DUAL_MONO_STEREO = 3 + // AUDIO_CHANNEL_MODE_DUAL_MONO_MIXED = 4 + + if (lang_prio_dyn[xx] !== "NAR") { + xx += 1; + } else { + lang_prio_dyn.length = xx; + } + + + } + if(cList[x].type == 1) { + Radioicon = "\uE00F"; + AvInfo[currStream] = AvInfo[currStream] + " Video " + mediaPlayer.getVideoStreamInfo(cList[x]).encoding + " size : " + mediaPlayer.getVideoStreamInfo(cList[x]).resolutionX + " x " + mediaPlayer.getVideoStreamInfo(cList[x]).resolutionY; + if (mediaPlayer.getVideoStreamInfo(cList[x]).aspectRatio == "0") { AvInfo[currStream] = AvInfo[currStream] + " (?:?)"; } + if (mediaPlayer.getVideoStreamInfo(cList[x]).aspectRatio == "1") { AvInfo[currStream] = AvInfo[currStream] + " (4:3)"; } + if (mediaPlayer.getVideoStreamInfo(cList[x]).aspectRatio == "2") { AvInfo[currStream] = AvInfo[currStream] + " (16:9)"; } + } + + if(cList[x].type == 2) { + if (xs == 0) { subs = " SUBS : " } else { subs += " , ";} + subs_prio_dyn[xs] = mediaPlayer.getSubtitleStreamInfo(cList[x]).language; + subs = subs + subs_prio_dyn[xs]; + xs += 1; + } + + if(cList[x].type == 3) { + alert("COMPONENT_SUBTITLE_CAPTION"); + //This is an ARIB specific type of subtitles + } + if(cList[x].type == 4) { + alert("COMPONENT_SUBTITLE_SUPERIMPOSE"); + //This is an ARIB specific type of subtitles and used mainly for displaying alert messages on screen. + } + if(cList[x].type == 5) { +// alert("TeletextStreamInfo : " + mediaPlayer.getTeletextStreamInfo(cList[x]).language) + AvInfo[currStream] += " TXT"; + } + + + } + AvInfo[currStream] += subs; +} + + +function VideoOutput() { + +videoConfig = vos.getVideoConfiguration(); + + var session = null; + try { + var currentOutput = 0; //0 = normaly HDMI + displayInfo=videoConfig.getDisplayInfo(videoConfig.getVideoOutputs()[currentOutput]); + var desiredMode = VideoOutputModes[Set_Res]; + + // create the session + session = vos.createVideoConfigurationSession(); + session.setDefaultVideoMode(videoConfig.getVideoOutputs()[currentOutput], desiredMode); + session.apply(); + session.releaseInstance(); + + } + catch (e) { + if (session != null) { + session.releaseInstance(); + } + alert(e); + } + +setOSDscale(); + +} + +function addzero(zero) +{ +if (zero<10) + { + zero="0" + zero; + } + +return zero; +} + +function ExtraStuff(){ + if(TimeShift){ + initialDelayID = setTimeout("startTimeshiftBuffering();", 5000); + } + if(testing2) { + if (CAdelayID != -1) { clearTimeout(CAdelayID); CAdelayID = -1; switchtimer.style.opacity = 0;} + if ( (currChan > 10 && currChan < 26 ) || (currChan > 40 && currChan < 50 ) || (currChan > 50 && currChan < 120 ) || + (currChan > 151 && currChan < 200) || (currChan > 604 && currChan < 612 ) || (currChan > 624 && currChan < 631) || + (currChan > 632 && currChan < 700) || (currChan > 8004 && currChan < 8027) ) + { + //Show info if set nonfree + switchtimer.style.background = "red"; + switchtimer.innerHTML = "<pre class=nonfree>\n" + Lang[90] +"\n\n </pre>"; // Non free channel message + switchtimer.style.opacity = 1; + CAdelayID = setTimeout("switchtimer.style.opacity = 0;",ShowSetTimer); + } + } + +} + +function startTimeshiftBuffering() { + // check that media player is working + if (mediaPlayer.getState() != mediaPlayer.STATE_PLAYING ) { + alert("Media Player must be playing when starting timeshift buffering!"); + return; + } + + mediaPlayer.startTimeshiftBuffering(600); +} + + +function FullScreen() { + videoplane.style.width = "100%"; + videoplane.style.height = "100%"; + videoplane.style.left = "0px"; + videoplane.style.top = "0px"; + if(PipSwitchGuide){ + if (pipPlayer.getState() != pipPlayer.STATE_IDLE) { + pipPlayer.close(); + } + } +} + + +function onKeyDown(event) { +//show key info, needed when a 'new' remote is used +//alert( "keyIdentifier : " + event.keyIdentifier +"\n"+"ctrlKey : " + event.ctrlKey +"\n"+"altKey : " + event.altKey +"\n"+"shiftKey : " + event.shiftKey +"\n"+"RAW : " + event ); + + if(isVisible) { + onKeyTeletext(event.keyIdentifier); + } else if(isSetupMenu) { + onKeyMenu(event.keyIdentifier); + } else if(isMediaMenu) { + onKeyMedia(event.keyIdentifier); + } else { + + switch(event.keyIdentifier) { + + case "ChannelUp": + case "Up": + if(isFullscreen) { + count = 0; Change = 0; + prevChan = currChan; + do + { + incChan(1); + } + while (!channels[currChan]); + play(channels[currChan]); + } else { + // swap up <> down in guide mode + count = 0; Change = 0; + do + { + decChan(1); + } + while (!channels[currChan]); + preview(channels[currChan]); + } + break; + case "ChannelDown": + case "Down": + if(isFullscreen) { + count = 0; Change = 0; + prevChan = currChan; + do + { + decChan(1); + } + while (!channels[currChan]); + play(channels[currChan]); + } else { + // swap up <> down in guide mode + count = 0; Change = 0; + do + { + incChan(1); + } + while (!channels[currChan]); + preview(channels[currChan]); + } + break; + case "Left": + count = 0; Change = 0; + if(isFullscreen) { + defChan[ChanGroup] = currChan; + do + { + do + ChanGroup -= 1; + while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) + if (ChanGroup < 0) { + ChanGroup = 9; + } + } + while (!minChan[ChanGroup]); + currChan = defChan[ChanGroup]; + play(channels[currChan]); + } else { + prevChan = currChan; + if (currChan > (minChan[ChanGroup] + 8)) { + decChan(9); + } else { + currChan = baseChn[ChanGroup] + (maxChan[ChanGroup] - currChan); + } + do + { + decChan(1); + } + while (!channels[currChan]); + preview(channels[currChan]); + } + break; + case "Right": + count = 0; Change = 0; + if(isFullscreen) { + defChan[ChanGroup] = currChan; + do + { + do + ChanGroup += 1; + while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) + if (ChanGroup > 9) { + ChanGroup = 0; + } + } + while (!minChan[ChanGroup]); + currChan = defChan[ChanGroup]; + play(channels[currChan]); + + } else { + prevChan = currChan; + if (currChan < (maxChan[ChanGroup] - 9 )) { + incChan(9); + } else { + currChan = baseChn[ChanGroup] + (maxChan[ChanGroup] - currChan); + } + do + { + incChan(1); + } + while (!channels[currChan]); + preview(channels[currChan]); + } + break; + case "Red": + if(isFullscreen) { + if(showClock == 0 ) { + showDisplay("", true, 80, 1 ); + showClock = 1; + } else if(showClock == 1 ) { + showClock = 0; + showDisplay(currChan.toString(), false, 100, 0 ); + } + } else if(isSchedule == 0){ + if(NowNext) { + settimer(EPG[1][2][currChan],EPG[1][1][currChan],0,1,"",(EPG[1][4][currChan] + EPG[1][5][currChan]),EPG[1][6][currChan].toString()); + } + } + break; + case "Green": + if(isFullscreen) { + if(!epgactive) { + if (audio_dyn < (lang_prio_dyn.length -1)) { audio_dyn += 1} else { audio_dyn = 0 } + if (lang_prio_dyn.length > 1) { + is.setObject("cfg.media.audio.languagepriority",lang_prio_dyn[audio_dyn] + "," + lang_prio[audio],is.STORAGE_PERMANENT); + osdlang.style.opacity = 1; + osdlang.innerHTML = "<img src='unmute.png'> " + lang_prio_dyn[audio_dyn] + " "; + setTimeout("osdlang.style.opacity = 0; ", 3000); + } + } + } else if(isSchedule == 0 && !epgactive){ + colorkeys.innerHTML = "<span class=redkey> " + NN[3 + NowNext] + " </span><span class=greenkey > " + NN[NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + NN[5] + " </span>"; + NowNext = 1 - NowNext; + showChannelList(); + } + + if(epgactive) { + NowNext = 1 - NowNext; + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity ; + osdepginfonext.style.opacity = 1 - osdepginfo.style.opacity; + } + + + break; + case "Yellow": + if(isFullscreen) { + if(epgactive) { + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + epgactive = 0; + } + medialist.style.opacity = 0.9; + set_yellow_key = 1; + setTimeout("getSchedule(currChan);LoadMediaSettings();",100); + } else { + GetSchedule(currChan,15); + schedule.style.opacity = 1 - schedule.style.opacity; + isSchedule = schedule.style.opacity; + if(isSchedule == 1){ + colorkeys.innerHTML = "<span class=redkey> " + NN[4] + " </span><span class=greenkey > " + NN[4] + " </span><span class=yellowkey> " + NN[6] + " </span><span class=bluekey> " + NN[4] + " </span>"; + } else { + colorkeys.innerHTML = "<span class=redkey> " + NN[3 + (1 - NowNext)] + " </span><span class=greenkey > " + NN[1 - NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + NN[5] + " </span>"; + } + } + break; + + case "Info": + case "Blue": + case KEY_EPG: +// if(isFullscreen) { +// RestartPortal(); +// } else + if(isSchedule == 0) { + if(!epgactive) { + updateOSDtime(currChan); + SetOsdInfo(); + if(isFullscreen) { NowNext = 0;} + if (NowNext) { + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 1; + } else { + osdepginfo.style.opacity = 1; + osdepginfonext.style.opacity = 0; + } + epgactive = 1; + } else { + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + epgactive = 0; + } +// setTimeout("epgactive = 0; osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0;", 5000); + } + break; + case "BrowserBack": + if(count) { + count = 0; + osdmain.style.opacity = 0; + if(isFullscreen) { + showDisplay(currChan.toString(), false, 100, 0 ); + } + Change = 0; + } else { + if(isSchedule) { + isSchedule = 0; + schedule.style.opacity = 0; + colorkeys.innerHTML = "<span class=redkey> " + NN[3 + (1 - NowNext)] + " </span><span class=greenkey > " + + NN[1 - NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + + NN[5] + " </span>"; + break; + } + + if(isFullscreen) { + //SHOW epg info + if(!epgactive) { +// SetOsdInfo(); +// osdepginfo.style.opacity = 1; +// osdepginfonext.style.opacity = 0; +// epgactive = 1; + } else { + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + epgactive = 0; + } +// setTimeout("epgactive = 0; osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0;", 5000); + } else if(!isFullscreen){ + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + epgactive = 0; + isFullscreen = 1; + FullScreen(); + currChan = preChan; + ChanGroup = preGrp; + } + } + break; + case "Enter": + // OK key on frontpanel + if (experimental) { + RestartPortal(); + } + case KEY_OK: + if(isFullscreen) { + // fullscreen + if (osdmain.style.opacity !== 0) {opacity = 0; OSD(opacity);} + if(count == 0) { + if (osdtimeout) { + clearTimeout(osdtimeout); + osdtimeout = 0; + opacity = 0; + OSD(opacity); + break; + } + osdepg.innerHTML = ""; + showOSD(); + GetEPG(currChan); + updateOSDtime(currChan); + osdepg.innerHTML = "<p>" + EPG[0][7][currChan] + "</p>\n<p>" + EPG[1][7][currChan] + "</p>"; +// showOSD(); + } else { + CheckChannel(Change); + count = 0; + if(ChangeOK) { + play(channels[currChan]); + ChangeOK = 0; + } + } + } else { + // if not fullscreen + if(count){ + CheckChannel(Change); + count = 0; + if(ChangeOK) { + preview(channels[currChan]); + ChangeOK = 0; + } + } else { + isFullscreen = 1; + FullScreen(); + if(isSchedule) { isSchedule = 0; schedule.style.opacity = 0; } + play(channels[currChan]); + } + } + break; + + case "Menu": + if(isFullscreen) { + if(count) { + count = 0; + osdmain.style.opacity = 0; + showDisplay(currChan.toString(), false, 100, 0 ); + Change = 0; + } + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + isSetupMenu = 1; + mainmenu.style.opacity = 0.8; + menu = 0; + InitMenu(menu); + } + break; + case KEY_FAV: + case "Scroll": + if(isFullscreen) { + NowNext = 0; + videoplane.style.width = (320*Xfactor[Set_Res])+"px"; + videoplane.style.height = (240*Yfactor[Set_Res])+"px"; + videoplane.style.left = (380*Xfactor[Set_Res])+"px"; + videoplane.style.top = (300*Yfactor[Set_Res])+"px"; + isFullscreen = 0; + ClearScreen(); + channellist.style.opacity = 1; + colorkeys.innerHTML = "<span class=redkey> " + NN[3 + (1 - NowNext)] + " </span><span class=greenkey > " + + NN[1 - NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + + NN[5] + " </span>"; + colorkeys.style.opacity = 1; + showChannelList(); + if(!SwitchGuide) { + preChan = currChan; + preGrp = ChanGroup; + } + } else { + isSchedule = 0; + schedule.style.opacity = 0; + isFullscreen = 1; + FullScreen(); + if(!SwitchGuide) { + currChan = preChan; + ChanGroup = preGrp; + } + } + break; + case "TV": + case "RADIO": + if(isFullscreen) { + if(ChanGroup !== 9) { + //Radio + defChan[ChanGroup] = currChan; + ChanGroup = 9; + currChan = defChan[9]; + } else { + //TV + defChan[ChanGroup] = currChan; + ChanGroup = 0; + currChan = defChan[0]; + } + isSetupMenu = 0; + mainmenu.style.opacity = 0; + play(channels[currChan]); + } + break; + case KEY_0: + digit = 0; + Makedigit(); + break; + case KEY_1: + digit = 1; + Makedigit(); + break; + case KEY_2: + digit = 2; + Makedigit(); + break; + case KEY_3: + digit = 3; + Makedigit(); + break; + case KEY_4: + digit = 4; + Makedigit(); + break; + case KEY_5: + digit = 5; + Makedigit(); + break; + case KEY_6: + digit = 6; + Makedigit(); + break; + case KEY_7: + digit = 7; + Makedigit(); + break; + case KEY_8: + digit = 8; + Makedigit(); + break; + case KEY_9: + digit = 9; + Makedigit(); + break; + + case KEY_A:// |> key on old long kpn 1710/1760 remote + break; + case KEY_B:// hh key on old long kpn 1710/1760 remote + if (prevChan !== currChan) { + currChan = [prevChan, prevChan = currChan][0]; + count = 0; + play(channels[currChan]); + } + break; + case KEY_C:// @ key on old long kpn 1710/1760 remote + if(isFullscreen && Fav_max_channel !== 0 && ChanGroup !== Fav_group) { + timerID = (defChan[Fav_group] - Fav_base - 1); if (timerID < 0) { timerID = 0;} + maxTimers = Fav_max_channel; + GotoFav(defChan[Fav_group]); + } else if(isFullscreen && ChanGroup == Fav_group) { + timerID = (currChan - Fav_base - 1); + } + if(isFullscreen && Fav_max_channel !== 0) { + if(count) { + count = 0; + osdmain.style.opacity = 0; + showDisplay(currChan.toString(), false, 100, 0 ); + Change = 0; + } + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + isSetupMenu = 1; + mainmenu.style.opacity = 0.8; + menu = 10; + InitMenu(menu); + } + + + break; + case KEY_D:// >@ key on old long kpn 1710/1760 remote + if (protChn[ChanGroup] !== 1 && ChanGroup !== Fav_group) { + AddtoFav(); + } + break; + + case "Teletext": + if(isFullscreen) { + ClearScreen(); + isVisible = 1; + setVisible(isVisible); + } + break; + case "VolumeMute": + VolumeMute(); + break; + case "VolumeUp": + VolumeUp(); + break; + case "VolumeDown": + VolumeDown(); + break; + + case "MediaRewind": + if(isFullscreen) { + mediaPlayer.play(mediaPlayer.PACE_REWIND); + } else { + count = 0; Change = 0; + defChan[ChanGroup] = currChan; + do { + do + ChanGroup -= 1; + while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) + if (ChanGroup < 0) { + ChanGroup = 9; + } + } + while (!minChan[ChanGroup]); + currChan = defChan[ChanGroup]; + preview(channels[currChan]); + } + break; + case "MediaForward": + if(isFullscreen) { + mediaPlayer.play(mediaPlayer.PACE_FASTFORWARD); + } else { + count = 0; Change = 0; + defChan[ChanGroup] = currChan; + do{ + do + ChanGroup += 1; + while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) + if (ChanGroup > 9) { + ChanGroup = 0; + } + } + while (!minChan[ChanGroup]); + currChan = defChan[ChanGroup]; + preview(channels[currChan]); + } + break; + case "MediaPlayPause": + + if(isFullscreen && PauseOnServer) { + if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) { + isPause = 1; + ServerPause(); + SetLed(1,1,10); +// setTimeout("mediaPlayer.play(0);",5000); + mediaPlayer.play(0); + break; + } + if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || + mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { + SetLed(1,1,0); + mediaPlayer.play(mediaPlayer.PACE_PLAY); + break; + } + + } + + if(TimeShift){ + if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { + SetLed(1,1,0); + mediaPlayer.play(mediaPlayer.PACE_PLAY); + break; + } + if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) { + SetLed(1,1,10); + mediaPlayer.play(0); + break; + } + } + break; + case "MediaStop": + try { + SetLed(1,1,0); + if(TimeShift){ mediaPlayer.playFromPosition(mediaPlayer.POSITION_LIVE,mediaPlayer.PACE_PLAY); } + } catch(e) { + alert(e); + } + break; + case KEY_REC: + case KEY_REC2: + if(isSchedule == 0) { + if(epgactive) { + ServerTimer(channels[currChan],EPG[NowNext][6][currChan]); + settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan],(EPG[NowNext][3][currChan]*60),2); + } else { + ServerRecordStart(); + } + } +// if(isFullscreen && !epgactive) { +// ServerRecordStart(); +// } else if(isSchedule == 0){ +// if(NowNext) { +// } else { +// // make timer for recording +// ServerTimer(channels[currChan],EPG[NowNext][6][currChan]); +// settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan],(EPG[NowNext][3][currChan]*60),2); +// } else { +// ServerRecordStart(); +// } +// } + + + break; + case KEY_OPNAMES: + case KEY_FILM: + case KEY_DVR: + if (smartTVplugin) { + // jump to recordings menu. + if(isFullscreen) { + if(count) { + count = 0; + osdmain.style.opacity = 0; + showDisplay(currChan.toString(), false, 100, 0 ); + Change = 0; + } + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + medialist.style.opacity = 0.9; + mainmenu.style.opacity = 0; + recPath = "/recordings.xml"; + setTimeout("getRecList();LoadMediaSettings();",100); + } + break; + } + default: + break; + } + } +} + + +function GotoFav(ChanID) { + count = 0; Change = 0; + prevChan = ""; Fav_key1 = ""; + defChan[ChanGroup] = currChan; + ChanGroup = Fav_group; + currChan = ChanID; + play(channels[currChan]); +} + + +function AddtoFav() { + Fav_max_channel += 1; + maxChan[Fav_group] = Fav_base + Fav_max_channel; + channelsnames[(Fav_base + Fav_max_channel)] = channelsnames[currChan]; + channels[(Fav_base + Fav_max_channel)] = channels[currChan]; + is.setObject(("vip.channelsnames." + Fav_max_channel),channelsnames[currChan],is.STORAGE_PERMANENT) + is.setObject(("vip.channels." + Fav_max_channel),channels[currChan],is.STORAGE_PERMANENT) + is.setObject("vip.fav_max_channel",Fav_max_channel.toString(),is.STORAGE_PERMANENT) + settimer(0,channels[currChan],Fav_max_channel ,2); +} + + +function Read_Fav() { + Fav_max_channel = Number(is.getObject("vip.fav_max_channel")); + maxChan[Fav_group] = Fav_base + Fav_max_channel; + for (var i=1; i<=Fav_max_channel; i++) { + channelsnames[(i+Fav_base)] = is.getObject(("vip.channelsnames." + i)); + channels[(i+Fav_base)] = is.getObject(("vip.channels." + i)); + } +} + + +function Makedigit() { + if (TimedChangeID != -1) { clearTimeout(TimedChangeID); TimedChangeID = -1; } + + prevChan = currChan; + Change = (Change*10) + digit; + count += 1; + osdmain.style.opacity = isFullscreen; + OSDchannr(Change); + if(isFullscreen) { + showDisplay((Change.toString()), false, 100, 0 ); + } + + if (count>channeldigits) { + CheckChannel(Change); + count = 0; + } else { + TimedChangeID = setTimeout("TimedChange();",ChangeTime); + } + + if(ChangeOK) { + if(isFullscreen) { + play(channels[currChan]); + } else { + preview(channels[currChan]); + } + ChangeOK = 0; + } +} + +function CheckChannel(CheckThis) { +// function to check if channel exists + CheckThis = baseChn[ChanGroup] + CheckThis; + if(channels[CheckThis]) { + ChangeOK = 1; + currChan = CheckThis; + } else { + ChangeOK = 0; + } + if(prevChan == currChan) { + ChangeOK = 0 ; + } + osdmain.style.opacity = 0; + if(isFullscreen) { + showDisplay(currChan.toString(), false, 100, 0 ); + } + Change = 0; + +} + +function TimedChange() { + if (count && ChangeTime) { + CheckChannel(Change); + count = 0; + if(ChangeOK) { + if(isFullscreen) { + play(channels[currChan]); + } else { + preview(channels[currChan]); + } + ChangeOK = 0; + } + } +} + + +function showDisplay(showtxt,colonState,intensity,currentMode) { + if(!showClock){ + if (Number(showtxt) > 8999 && Number(showtxt) < 10000) { showtxt = "R" + Right(showtxt,3); } + if (Number(showtxt) > 9999 && Number(showtxt) < 20000) { showtxt = "F" + Right(showtxt,3); } + showtxt = Right(showtxt,4); + try { + fps.setSegmentDisplayState(toi.statics.ToiFrontPanelServiceSegmentDisplayState.create(showtxt,colonState,intensity,currentMode)); + } catch (e) { + // Display error, maybe no display... + } + } +} + + +function SetLed(NumLed,color,blinkfreq){ + var state = toi.statics.ToiFrontPanelServiceLedState.create(color, blinkfreq); + fps.setLedState(NumLed, state); +} + + +function showOSD() { + if (osdtimeout) { + clearTimeout(osdtimeout); + } + SetOsdInfo(); + opacity = 0.8; + OSD(opacity); + osdtimeout = setTimeout("fadeOut(); osdtimeout = 0;", ShowOsdTime); +} + +function showVolume() { + if (osdVolumetimeout) { + clearTimeout(osdVolumetimeout); + } + osdvolume.innerHTML = Lang[1] + " : " + Volume + "% \n\uE007" + (new Array(Volume)).join("\uE008") + (new Array(100 - Volume)).join("\uE009") + "\uE00A"; + osdvolume.style.opacity = 1; + osdVolumetimeout = setTimeout("osdvolume.style.opacity = 0;", ShowOsdTime); +} + + +function OSD(opacity) { + osdmain.style.opacity = opacity; +} + + +function SetOsdInfo() { + OSDchannr(currChan); + date_time(); + OSDhtml(); + return; +} + +function onCacheUpdated() { + GetEPG(currChan); + if (osdtimeout) { SetOsdInfo(); } +} + +function OSDchannr(channr) { +// Show logo's + if (experimental) { +// osdnr.innerHTML = "<img src='" + channels[currChan] + ".logo.jpg' style='width:80%; max-height:100%; position:absolute; left:10%;' >"; + } + osdnr.innerHTML = Right(channr,3); +} + +function OSDhtml(){ + osdtime.innerHTML = result; + if (ShowSource == 1) { + osdname.innerHTML = channels[currChan].split("-")[0] + "\uE003" + Left(channelsnames[currChan],30); + } else { + osdname.innerHTML = Left(channelsnames[currChan],30); + } + osdepg.innerHTML = "<p>" + EPG[0][7][currChan] + "</p>\n<p>" + EPG[1][7][currChan] + "</p>"; + osdepginfo.innerHTML = "<p class=epg_head>" + currChan + "\uE003" + channelsnames[currChan] + "</p><p class=epg_avinfo>" + AvInfo[currChan] + "</p><p class=epg_title>" + EPG[0][7][currChan] + EPG[0][9][currChan] + EPG[0][8][currChan] + "</p>\n<p class=epg_info>" + EPG[0][4][currChan] + "</p>\n<p>" + Left(EPG[0][5][currChan],750) + "</p></center>"; + osdepginfonext.innerHTML = "<p class=epg_head>" + currChan + "\uE003" + channelsnames[currChan] + "</p><p class=epg_title>" + EPG[1][7][currChan] + EPG[1][9][currChan] + EPG[1][8][currChan] + "</p>\n<p class=epg_info>" + EPG[1][4][currChan] + "</p>\n<p>" + Left(EPG[1][5][currChan],750) + "</p></center>"; +} + +function updateOSDtime(timchan) { + + tijd = EPG[0][2][timchan]; + date = new Date(tijd*1000); + tijd = date.toUTCString(); + tijd = new Date(tijd); + dateCurrent = new Date(); + var EPGminutes = Math.floor((dateCurrent.getTime() - date.getTime()) /1000/60); + if (EPGminutes > 1440) { + EPGminutes = 0; // Duration is >24h, maybe current time isn't right. + } + var tm = tijd.getMinutes(); + var th = tijd.getHours(); + th=addzero(th); + tm=addzero(tm); + + EPG[0][7][timchan] = th + ":" + tm + " (" + EPGminutes + " / " + ((EPG[0][3][timchan])-EPGminutes).toFixed(0) + ")" + " " + EPG[0][1][timchan] + " "; + if (!EPG[0][2][timchan] || ((EPG[0][3][timchan]-EPGminutes) < 0)) + { + EPG[0][7][timchan] = " "; + } + +} + + +function settimer(ProgTime,ProgName,ProgDura,SwitchTimer,BackGroundColor,ProgDesc,ProgEvID) { + +if (!BackGroundColor) { BackGroundColor = color_default;} +// 1 - switchonly, 2 - record on server (display info only), 3 - record local + if(SwitchTimer == 1) { + try { + var x = ss.schedule("SwitchOnly","notification", ProgTime , ProgDura); + ss.setParameter(x, "Channel", currChan.toString() ); + ss.setParameter(x, "Title", ProgName ); + ss.setParameter(x, "Info", ProgDesc); + ss.setParameter(x, "active", "False"); + ss.setParameter(x, "Type", "\uE00C"); //Timer Symbol + ss.setParameter(x, "resume", "0"); + ss.setParameter(x, "Eventid", ProgEvID); + + } + catch (e) { + ProgName = "ERROR" ; + BackGroundColor = "color_error"; + } + } else if(SwitchTimer == 3) { + ProgTime -= preRecTime; + ProgDura = Number(ProgDura) + (afterRecTime + preRecTime); + var y = (new Date().getTime()/1000).toFixed(0); + if(ProgTime < y) { + ProgDura = ProgDura - (y - ProgTime); + ProgTime = y; + } + + try { + var x = ss.schedule("RecLocal","record_hd_from_ip", ProgTime , ProgDura); + if (x != 0) { + ss.setParameter(x, "Channel", currChan.toString() ); + ss.setParameter(x, "Title", ProgName ); + ss.setParameter(x, "Info", ProgDesc); + ss.setParameter(x, "active", "False"); + ss.setParameter(x, "Type", "\uE00C"); //Timer Symbol + ss.setParameter(x, "resume", "0"); + ss.setParameter(x, "Eventid", ProgEvID); + } else { + ProgName = "ERROR" ; + BackGroundColor = "color_error"; + } + } catch (e) { + alert(e); + } + } + + if ( ProgTime == 0 && SwitchTimer == 2 && ProgDura !== 0 ) { + var x = Lang[3] + ProgDura + "</pre>"; + } else if ( ProgTime == 0 && SwitchTimer == 2) { + var x = "</pre>"; + } else { + tijd = ProgTime; + date = new Date(tijd*1000); + tijd = date.toUTCString(); + tijd = new Date(tijd); + var tm = tijd.getMinutes(); + var th = tijd.getHours(); + th=addzero(th); + tm=addzero(tm); + var x = Lang[4] + th + ":" + tm + "</pre>"; + } + +// switchtimer.style.background = BackGroundColor; + switchtimer.innerHTML = "<pre class=" + BackGroundColor + ">" + Lang[2] + Left(ProgName,30) + "\n" + Lang[3] + channelsnames[currChan] + "\n" + x + "</pre>"; + setOSDtimer(); + + switchtimer.style.opacity = 1; + setTimeout("switchtimer.style.opacity = 0;", ShowSetTimer); + +} + + +function setOSDtimer() { + // Only for type "SwitchOnly" + var today = new Date; + today = today / 1000; + var x = ss.getBookingIds("SwitchOnly", today, 0) + if (x.length !== 0) { + tijd = ss.getNextStartTime("SwitchOnly"); + date = new Date(tijd*1000); + tijd = date.toUTCString(); + tijd = new Date(tijd); + var tm = tijd.getMinutes(); + var th = tijd.getHours(); + th=addzero(th); + tm=addzero(tm); + osdtimer.innerHTML = "<p class=osdtimer>" + th + ":" + tm + "</p>"; + SetLed(0,2,1); + switchicon = "\uE00C"; + osdca.innerHTML = CAicon + switchicon + RECicon; + } else { + osdtimer.innerHTML = " "; + SetLed(0,0,0); + switchicon = '\uE003'; + osdca.innerHTML = CAicon + switchicon + RECicon; + } +} + +// Left n characters of str +function Left(str, n){ + if (n <= 0) + return ""; + else if (n > String(str).length) + return str; + else + return String(str).substring(0,n); +} + +// Right n characters of str +function Right(str, n){ + if (n <= 0) + return ""; + else if (n > String(str).length) + return str; + else { + var iLen = String(str).length; + return String(str).substring(iLen, iLen - n); + } +} + +function fadeIn() { + opacity += 0.2; + OSD(opcity); + if (opacity >= 1) { + setTimeout("fadeOut()", 200); + return; + } + setTimeout("fadeIn()", 100); +} + +function fadeOut() { + opacity -= 0.5; + OSD(opacity); + if (opacity <= 0) { + return; + } + setTimeout("fadeOut()", 100); +} + +function RestartPortal(){ + + try { + ids = toi.applicationService.getApplicationIds(); + for ( i = 0; i < ids.length; ++i ){ + info = toi.applicationService.getInfo(ids[i]); + if (info.applicationName == "WebKit Portal"){ + dump("Killing app " + ids[i] + ": " + info.applicationName); + toi.applicationService.kill(ids[i]); + } + } + } + catch(e) { dump(e) }; +} + +function date_time() +{ + date = new Date; + year = date.getFullYear(); + month = date.getMonth(); + d = date.getDate(); + day = date.getDay(); + h = date.getHours(); + m = date.getMinutes(); + h=addzero(h); + m=addzero(m); + result = ''+days[day]+' '+d+' '+months[month]+' '+year+' '+h+':'+m; + return; +} + +function date_time_rec() +{ + date = new Date(Number(recStrt[currMed])*1000); + year = date.getFullYear(); + month = date.getMonth(); + month = addzero(month + 1); + d = date.getDate(); + d = addzero(d); + day = date.getDay(); + h = date.getHours(); + m = date.getMinutes(); + h = addzero(h); + m = addzero(m); + if (year!==1970) { + result = ' ' + d + '-' + month + '-' + year + ' ' + h + ':' + m; + } else { + result = ""; + } + return; +} + +// EPG Section + +function GetEPG(epgchan) +{ + EPG[0][7][epgchan] = ""; + EPGShortnow = ""; + EPGExtnow = ""; + EPG[1][7][epgchan] = ""; + EPGShortnext = ""; + EPGExtnext = ""; + SI=""; + try { + + eitCache.clearServices(); + + StreamInfo(epgchan); + + eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); + eitCache.addService(eitService); + event = eitCache.getPresentEvent(eitService); + if(event.freeCaMode){ + CAicon = "\uE00D"; + } else { + CAicon = Radioicon; + } + + osdca.innerHTML = CAicon + switchicon + RECicon; + + if (event.name) { + events = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); + extEventsnow = eitCache.getExtendedEventInfo(eitService, events.infoSequence[0].eventId); + EPGShortnow = extEventsnow.shortInfo; + EPGExtnow = extEventsnow.extendedInfo; + Extok = 1; + + } else { Extok = 0; } + + + + EPG[0][1][epgchan] = event.name; + EPG[0][2][epgchan] = event.time; + EPG[0][3][epgchan] = (event.duration/60); +// EPG[0][4][epgchan] = ""; +// EPG[0][5][epgchan] = ""; + EPG[0][6][epgchan] = event.eventId; + if (event.parentalRating) { + EPG[0][8][epgchan] = "<br>(" + Lang[5] + (event.parentalRating + 3) + " )"; + } else { + EPG[0][8][epgchan] = ""; + } + + if (event.contentNibbles) { + connib = event.contentNibbles; + Nibbles(); + EPG[0][9][epgchan] = "<br>" + content; + } else { + EPG[0][9][epgchan] = ""; + } + + + if(EPGShortnow) { + EPG[0][4][epgchan] = EPGShortnow; + } else { + EPG[0][4][epgchan] = ""; + } + if(EPGExtnow) { + EPG[0][5][epgchan] = EPGExtnow; + } else { + EPG[0][5][epgchan] = ""; + } + + if (EPG[0][5][epgchan] == EPG[0][4][epgchan]) { EPG[0][5][epgchan] = "";} + + + + updateOSDtime(epgchan); + + event = eitCache.getFollowingEvent(eitService); + if (Extok) { + for (var i = 0; i < events.infoSequence.length && i < 4; i++) { + extEvents = eitCache.getExtendedEventInfo(eitService, events.infoSequence[i].eventId); + if (extEvents.eventId == event.eventId) { + EPGShortnext = extEvents.shortInfo; + EPGExtnext = extEvents.extendedInfo; + } + } + } + + EPG[1][1][epgchan] = event.name; + EPG[1][2][epgchan] = event.time; + EPG[1][3][epgchan] = (event.duration/60); +// EPG[1][4][epgchan] = ""; +// EPG[1][5][epgchan] = ""; + EPG[1][6][epgchan] = event.eventId; + if (event.parentalRating) { + EPG[1][8][epgchan] = "<br>(" + Lang[5] + (event.parentalRating + 3) + " )"; + } else { + EPG[1][8][epgchan] = ""; + } + + if (event.contentNibbles) { + connib = event.contentNibbles; + Nibbles(); + EPG[1][9][epgchan] = "<br>" + content; + } else { + EPG[1][9][epgchan] = ""; + } + + if(EPGShortnext) { + EPG[1][4][epgchan] = EPGShortnext; + } else { + EPG[1][4][epgchan] = ""; + } + if(EPGExtnext) { + EPG[1][5][epgchan] = EPGExtnext; + } else { + EPG[1][5][epgchan] = ""; + } + + if (EPG[1][5][epgchan] == EPG[1][4][epgchan]) { EPG[1][5][epgchan] = "";} + + tijd = event.time; + date = new Date(tijd*1000); + tijd = date.toUTCString(); + tijd = new Date(tijd); + var tm = tijd.getMinutes(); + var th = tijd.getHours(); + th=addzero(th); + tm=addzero(tm); + EPG[1][7][epgchan] = th + ":" + tm + " (" + (event.duration/60).toFixed(0) + ")" + " " + event.name + " "; + + if (!event.time) + { + EPG[1][7][epgchan] = " "; + } + + + } catch(e) { + alert("Get EPG problem: " + e); + CAicon = "\uE01A"; + } +} + + +function Nibbles() { + content = ""; + if (connib >= 0x00001000 && connib < 0x00002000) { content = CLang[0]; } + if (connib >= 0x00002000 && connib < 0x00003000) { content = CLang[10]; } + if (connib >= 0x00003000 && connib < 0x00004000) { content = CLang[20]; } + if (connib >= 0x00004000 && connib < 0x00005000) { content = CLang[30]; } + if (connib >= 0x00005000 && connib < 0x00006000) { content = CLang[40]; } + if (connib >= 0x00006000 && connib < 0x00007000) { content = CLang[50]; } + if (connib >= 0x00007000 && connib < 0x00008000) { content = CLang[60]; } + if (connib >= 0x00008000 && connib < 0x00009000) { content = CLang[70]; } + if (connib >= 0x00009000 && connib < 0x0000A000) { content = CLang[80]; } + if (connib >= 0x0000A000 && connib < 0x0000B000) { content = CLang[90]; } + if (connib >= 0x0000B000 && connib < 0x0000C000) { content = CLang[100]; } + // alert(connib); +} + + + +function StreamInfo(si) { + // EPG Filter + // streaminfo + // SI[x] 0-sat,1-NID,2-TID,3-SID + SI=channels[si].split("-"); + + //default setting : English + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + + if(SI[0]=="C") { + // Default on Cable - Dutch // Ziggo. + is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); + } + + if(SI[0]=="T") { + // DVB-T default German. + is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); + } + + if(SI[1]=="8720") { + // KPN DVB-T (might also be used for some german) + is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S19.2E") { + // Default on 19E German. + is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S28.2E") { + // Default on 28E English + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S42.0E") { + is.setObject("cfg.locale.ui","tur",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S42.0E" && SI[3]=="3601") { + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[1]=="133") { + //sky deutchland + is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); + } + + if(SI[2]=="1107") { + //Sat1/pro7 deutchland + is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); + } + +// if(SI[2]=="1057") { +// //RTL HD transponder +// is.setObject("cfg.locale.ui","GER",is.STORAGE_VOLATILE); +// } + +// if(SI[2]=="1057" && SI[3]=="61204") { +// //Sport1 HD (daytime only?) +// is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); +// } + + if(SI[2]=="1055" || SI[2]=="1053" || SI[2]=="1041" || SI[2]=="1017" || SI[2]=="1109") { + //HD+ transponder + is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S13.0E" && (SI[2]=="1600" || SI[2]=="1000" || SI[2]=="1500" || SI[2]=="1300" || SI[2]=="300" || SI[2]=="1100" )) { + //NC+ (Polish) + is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S13.0E" && (SI[2]=="11200" || SI[2]=="400" || SI[2]=="12000" || SI[2]=="11400" || SI[2]=="11900" || SI[2]=="11600" )) { + //NC+ (Polish) + is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S13.0E" && (SI[2]=="11000" || SI[2]=="1400")) { + //NC+ (Polish) + is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); + } + + if(SI[1]=="113") { + //PolSat + is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); + } + + if((SI[0]=="S19.2E" && SI[2]=="1059") ) { + //TVP transponder + is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); + } + + if(SI[1]=="64511") { + //sky Italia + is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S13.0E" && (SI[2]=="5400" || SI[2]=="12400" || SI[2]=="65419" || SI[2]=="65417" )) { + //Rai Italia + is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); + } + + if(SI[1]=="53" ) { + //Canal Digitaal/ TV Vlaanderen + is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S19.2E" && SI[2]=="1048" && SI[3]=="4320" ) { + //BVN + is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); + } + + + if(SI[1]=="54") { + //ZON / 30W + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[1]=="83") { + //MEO / 30W + is.setObject("cfg.locale.ui","por",is.STORAGE_VOLATILE); + } + + if(SI[1]=="49") { + //Digital 30W + is.setObject("cfg.locale.ui","spa",is.STORAGE_VOLATILE); + } + + if(SI[1]=="3" && ( SI[2]=="3202" || SI[2]=="3208" || SI[2]=="3211" || SI[2]=="3222" || SI[2]=="3225") ) { + //Canal Digitaal/ TV Vlaanderen (NID:3 is used for more than only CDS/TVV on 23East) + is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); + } + + if(SI[1]=="3" && SI[2]=="3208" && SI[3]=="7037") { + // Some other EPG + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[1]=="3" && ( SI[2]=="3217") ) { + // 23E - Deluxe HD + is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); + } + + if(SI[1]=="3" && SI[2]=="3212" && ( SI[3]=="14052" || SI[3]=="14055" ) ) { + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[1]=="3" && ( SI[2]=="3205" || SI[2]=="3209" || SI[2]=="3210" || SI[2]=="3221" || SI[2]=="3219" || SI[2]=="3226")) { + //Canal Digitaal/ TV Vlaanderen use CZE channels on 23East + // Strangly set filter to cze but epg is in Dutch. (But not for JimJam) + is.setObject("cfg.locale.ui","cze",is.STORAGE_VOLATILE); + } + + if(SI[1]=="3" && SI[2]=="3211" && ( SI[3]=="20863" || SI[3]=="20865") ) { + //MGM & Film+ CZ + is.setObject("cfg.locale.ui","cze",is.STORAGE_VOLATILE); + } + + if((SI[0]=="S13.0E" && SI[3]=="14003") || (SI[0]=="S13.0E" && SI[3]=="14009") || (SI[0]=="S13.0E" && SI[3]=="14051") || (SI[0]=="S13.0E" && SI[3]=="951")) { + //Swiss ITA channels + is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); + } + + if((SI[0]=="S13.0E" && SI[2]=="12800")) { + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if((SI[0]=="S13.0E" && SI[3]=="14002") || (SI[0]=="S13.0E" && SI[3]=="14008") || (SI[0]=="S13.0E" && SI[3]=="17203") || (SI[0]=="S13.0E" && SI[3]=="17204") ) { + //Swiss FRA channels + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + } + + if((SI[0]=="S13.0E" && SI[3]=="17201") || (SI[0]=="S13.0E" && SI[3]=="17202") || (SI[0]=="S13.0E" && SI[3]=="901") || (SI[0]=="S13.0E" && SI[3]=="907") || (SI[0]=="S13.0E" && SI[3]=="911") ) { + //Swiss GER channels + is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); + } + + if((SI[0]=="S19.2E" && SI[2]=="1111" && SI[3]=="7290") ) { + //Sky News on WDR HD transponder + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S19.2E" && ( (SI[2]=="1018") || (SI[2]=="1020") || (SI[2]=="1022") || (SI[2]=="1024") || (SI[2]=="1026") || (SI[2]=="1068") || (SI[2]=="1070") || (SI[2]=="1072") || (SI[2]=="1074") || (SI[2]=="1076") || (SI[2]=="1080") || (SI[2]=="1084") || (SI[2]=="1086") || (SI[2]=="1090") || (SI[2]=="1092") || (SI[2]=="1094") || (SI[2]=="1096") || (SI[2]=="1100") || (SI[2]=="1102") || (SI[2]=="1106") || (SI[2]=="1110") || (SI[2]=="1112") || (SI[2]=="1114") || (SI[2]=="1116") || (SI[2]=="1118") || (SI[2]=="1120"))) { + //CanalSat S19.2 + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + } + + // MTV transponder 1078 / 1066 + if(SI[0]=="S19.2E" && SI[2]=="1078" && ( SI[3]=="28674" || SI[3]=="28675" || SI[3]=="28677" )) { + //Nick JR France + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + } + if(SI[0]=="S19.2E" && SI[2]=="1078" && SI[3]=="28679") { + //Nick NL + is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); + } + if(SI[0]=="S19.2E" && SI[2]=="1078" && ( SI[3]=="28673" || SI[3]=="28676" )) { + //Deutsch + is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S19.2E" && SI[2]=="1066") { + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + if(SI[0]=="S19.2E" && SI[2]=="1066" && ( SI[3]=="28652" || SI[3]=="28661" )) { + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + } + + //Canal Sat + if(SI[0]=="S19.2E" && SI[1]=="1" && SI[2]=="1088" ) { + is.setObject("cfg.locale.ui","fre",is.STORAGE_VOLATILE); + } + + if(SI[0]=="S13.0E" && SI[1]=="319") { + is.setObject("cfg.locale.ui","fre",is.STORAGE_VOLATILE); + } + + //Euronews / Eurosport + if(SI[0]=="S13.0E" && SI[1]=="318" && SI[2]=="200") { + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + } + + //bloomberg 19.2E + if(SI[0]=="S19.2E" && SI[2]=="1026" && SI[3]=="10067") { + is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); + } + + //Canal+ + if(SI[0]=="S19.2E" && SI[1]=="1" && SI[2]=="1060" ) { + is.setObject("cfg.locale.ui","spa",is.STORAGE_VOLATILE); + } + + //Russian + if(SI[0]=="S13.0E" && SI[2]=="8100") { + is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); + //doesn't work but dvbsnoop does show 'ISO639_2_language_code: ger' + } + + +} + + +// End of EPG section + + +// TeleTXT section + +function embedTeletextPlugin() { + teletext = document.createElement("embed"); + teletext.id = "teletext"; + teletext.type = "application/motorola-teletext-plugin"; + teletext.style.position = "absolute"; + teletext.style.width = "100%"; + teletext.style.height = "100%"; + teletext.style.top = "10px"; // has to be 1 rather than 0 + teletext.style.left = "10px"; // has to be 1 rather than 0 + teletext.style.zIndex = "501"; + return teletext; +} + + +function setVisible(isVisible) { + if (isVisible) { + videoplane.style.width = "50%"; + videoplane.style.left = "50%"; + document.body.appendChild(teletext); + teletext.style.width = "50%"; + teletext.style.visibility = "visible"; + channellist.style.visibility = "hidden"; + colorkeys.style.visibility = "hidden"; + } else { + teletext.style.visibility = "hidden"; + channellist.style.visibility = "visible"; + colorkeys.style.visibility = "visible"; + } +} + + +function onKeyTeletext(keyCode) { + switch(keyCode) { + case "Left": + teletext.api.gotoNextPage(); + break; + case "Right": + teletext.api.gotoPreviousPage(); + break; + case "Red": + teletext.api.inputRedKey(); + break; + case "Green": + teletext.api.inputGreenKey(); + break; + case "Yellow": + teletext.api.inputYellowKey(); + break; + case "Blue": + teletext.api.inputCyanKey(); + break; + case "MediaRewind": + teletext.api.gotoPreviousSubpage(); + break; + case "MediaForward": + teletext.api.gotoNextSubpage(); + break; + case "MediaStop": + teletext.style.width = "100%"; + teletext.api.transparent = !teletext.api.transparent; + FullScreen(); + break; + case "BrowserBack": + case "Teletext": + isVisible = 0; + FullScreen(); + setVisible(isVisible); + break; + + case "TV": + teletext.api.gotoIndexPage(); + break; + + case KEY_0: + teletext.api.inputDigit(0); + break; + case KEY_1: + teletext.api.inputDigit(1); + break; + case KEY_2: + teletext.api.inputDigit(2); + break; + case KEY_3: + teletext.api.inputDigit(3); + break; + case KEY_4: + teletext.api.inputDigit(4); + break; + case KEY_5: + teletext.api.inputDigit(5); + break; + case KEY_6: + teletext.api.inputDigit(6); + break; + case KEY_7: + teletext.api.inputDigit(7); + break; + case KEY_8: + teletext.api.inputDigit(8); + break; + case KEY_9: + teletext.api.inputDigit(9); + break; + + + + } +} + +// end of TeleTXT section + + +// Menu section + +function onKeyMenu(keyCode) { + switch(keyCode) { + case "BrowserBack": + if ((menu == 5 || menu == 7) && osdepginfo.style.opacity == 1) { + osdepginfo.style.opacity = 0; + } else if (menu == 10 || menu == MainMenu) { + isSetupMenu = 0; + mainmenu.style.opacity = 0; + osdepginfo.style.opacity = 0; + } else if (menu !== MainMenu) { + if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1;MPDListener = 0;} + menu = MainMenu; + InitMenu(menu); + } + break; + case "Menu": + if (menu == 3 ) { play(channels[currChan]);MPDListener = 0;} + isSetupMenu = 0; + mainmenu.style.opacity = 0; + osdepginfo.style.opacity = 0; + break; + + case "Left": + break; + case "Right": + break; + case "Up": + if (menu == 2) { + timerID -= 1; + if (timerID < 1) { timerID = 1; } + } else if (menu == 5 || menu == 7 || menu == 10) { + timerID -= 1; + if (timerID < 0) { timerID = 0; } + } + InitMenu(menu); + break; + case "Down": + if (menu == 2) { + timerID += 1; + var x = ss.getBookingIds("*", 0, 0); + if (timerID > x.length ) { timerID = x.length; } + } else if (menu == 5 || menu == 7 || menu == 10) { + timerID += 1; + if (timerID > (maxTimers - 1) && maxTimers !== 0) { timerID = maxTimers - 1; } + } + InitMenu(menu); + break; + case KEY_OK: + if (menu == 2 && isMediaMenu !== 1) { + var x = ss.getBookingIds("*", 0, 0); + try { + recLink[0] = ss.getParameter(x[timerID-1], "assetURI"); + recGUID[0] = ss.getParameter(x[timerID-1], "assetId"); + recChan[0] = ss.getParameter(x[timerID-1], "Channel"); + recTitl[0] = ss.getParameter(x[timerID-1], "Title"); + recDura[0] = ss.getBooking(x[timerID-1]).duration;// Is updated if real length is different + recStrt[0] = ss.getBooking(x[timerID-1]).start; + recDesc[0] = ss.getParameter(x[timerID-1], "Info"); + recDummy[0] = x[timerID-1]; + resume_position = Number(ss.getParameter(x[timerID-1], "resume")); + localRecording = 1; + currMed = 0; + getRecOK = 0; + LoadMediaSettings(); + isSetupMenu = 0; + medialist.style.opacity = 0; + mainmenu.style.opacity = 0; + playRec(recLink[0],resume_position); + } catch(e) { + alert("error : " + e); + } + } + if (menu == 10) { + GotoFav((timerID + Fav_base + 1)); + isSetupMenu = 0; + mainmenu.style.opacity = 0; + osdepginfo.style.opacity = 0; + } + if (menu == 5) { + // Show EPG info Timer + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + osdepginfo.innerHTML = "<pre class=epgtimerinfo>\n\n\n" + Lang[0] + "\n\n\n </pre>" ; + setTimeout("ShowTimerInfo();",100); + } + if (menu == 7) { + // Show more info Current SearchTimer + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + osdepginfo.innerHTML = "<h1 class=mainmenu>" + searchtimersSearch[timerID] + "\n\n\n\n" + Lang[0] + "</h1>" ; + setTimeout("ShowSearchTimerInfo();",100); + } + + break; + case "Red": + + if (menu == 1) { + if (subs_dyn < (subs_prio_dyn.length -1)) { subs_dyn += 1} else { subs_dyn = 0 } + if (subs_prio_dyn.length > 0) { + is.setObject("cfg.media.subtitling.languagepriority", (subs_prio_dyn[subs_dyn] + "," + subs_prio),is.STORAGE_PERMANENT); + } else { + is.setObject("cfg.media.subtitling.languagepriority",subs_prio,is.STORAGE_PERMANENT); + } + InitMenu(menu); + break; + } else if (menu == 2) { + var x = ss.getBookingIds("*", 0, 0); + if (x.length > 0) { + if (mediaRecorder) { + try { + if (ss.getParameter(x[timerID-1], "active") == "True") { + ss.setParameter(x[timerID-1], "active", "False"); + mediaRecorder.close(); + } + } catch (e) { + alert(e); + } + + try { + ams.removeAsset(rma, ss.getParameter(x[timerID-1], "assetId")); + } catch(e) { + alert("Error remove asset" + e); + } + } + + //Remove timer from schedule DB + + ss.remove(x[timerID-1]); + timer[timerID] = ""; + timerID -= 1; if (timerID < 1) { timerID = 1;} + LoadTimers(); + //if (timer.length !== 0) { do { timerID = timerID + 1; } while (!timer[timerID] && (timerID < timer.length)) } + setOSDtimer(); + InitMenu(menu); + } + } else if (menu == 5 && smartTVplugin) { + osdepginfo.style.opacity = 0; + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n\n\n" + Lang[0] + "</pre>"; + DeleteTimers(); + setTimeout("LoadTimersServer();InitMenu(menu);",100); + } else if (menu == 10) { + channels[(timerID + Fav_base + 1)]=""; + channelsnames[(timerID + Fav_base + 1)]=""; + is.setObject(("vip.channelsnames." + (timerID + 1)),"",is.STORAGE_PERMANENT) + is.setObject(("vip.channels." + (timerID + 1)),"",is.STORAGE_PERMANENT) + if (Fav_max_channel == (timerID + 1)) { + Fav_max_channel = timerID; + maxTimers = Fav_max_channel; + is.setObject("vip.fav_max_channel",Fav_max_channel.toString(),is.STORAGE_PERMANENT) + timerID -= 1; if (timerID < 0) {timerID = 0;} + } + setTimeout("InitMenu(menu);",100); + } + break; + case "Green": + if (menu == 1) { + Set_Res = Set_Res + 1; + if (Set_Res > (VideoOutputModes.length-1)) { Set_Res = 0;} + // save the info + is.setObject("vip.resolution",Set_Res.toString(),is.STORAGE_PERMANENT) + + VideoOutput(); + InitMenu(menu); + } else if (menu == 2 && mediaRecorder) { + var x = ss.getBookingIds("*", 0, 0); + if (ss.getBooking(x[timerID-1]).category == "RecLocal") { + ss.reschedule(x[timerID-1],"SwitchOnly","notification",ss.getBooking(x[timerID-1]).start,ss.getBooking(x[timerID-1]).duration) + } else if (ss.getBooking(x[timerID-1]).category == "SwitchOnly") { + ss.reschedule(x[timerID-1],"RecLocal","record_hd_from_ip",ss.getBooking(x[timerID-1]).start,ss.getBooking(x[timerID-1]).duration) + } + LoadTimers(); + InitMenu(menu); + } else if (menu == 5 && smartTVplugin) { + activate_timers(timerID); + InitMenu(menu); + } else if (menu == 10) { + //move up + if (timerID !== 0) { + x = timerID + Fav_base + 1; + x1 = channels[x]; + y1 = channelsnames[x]; + x2 = channels[(x - 1)]; + y2 = channelsnames[(x - 1)]; + is.setObject(("vip.channelsnames." + (timerID + 1)),y2,is.STORAGE_PERMANENT) + is.setObject(("vip.channels." + (timerID + 1)),x2,is.STORAGE_PERMANENT) + is.setObject(("vip.channelsnames." + timerID),y1,is.STORAGE_PERMANENT) + is.setObject(("vip.channels." + timerID),x1,is.STORAGE_PERMANENT) + channelsnames[x] = y2; + channels[x] = x2; + channelsnames[(x - 1)] = y1; + channels[(x - 1)] = x1; + timerID -= 1; + setTimeout("InitMenu(menu);",100); + } + } + break; + case "Yellow": + if (menu == MainMenu) { + menu = 4; // INFO menu + InitMenu(menu); + } else if (menu == 1) { + menu = 9; // INFO2 menu + InitMenu(menu); + } else if (menu == 10) { + //move down + if (timerID !== (maxTimers - 1)) { + x = timerID + Fav_base + 1; + x1 = channels[x]; + y1 = channelsnames[x]; + x2 = channels[(x + 1)]; + y2 = channelsnames[(x + 1)]; + is.setObject(("vip.channelsnames." + (timerID + 1)),y2,is.STORAGE_PERMANENT) + is.setObject(("vip.channels." + (timerID + 1)),x2,is.STORAGE_PERMANENT) + is.setObject(("vip.channelsnames." + (timerID + 2)),y1,is.STORAGE_PERMANENT) + is.setObject(("vip.channels." + (timerID + 2)),x1,is.STORAGE_PERMANENT) + channelsnames[x] = y2; + channels[x] = x2; + channelsnames[(x + 1)] = y1; + channels[(x + 1)] = x1; + timerID += 1; + setTimeout("InitMenu(menu);",100); + } + } + break; + case "Blue": + if (menu == 0) { + RestartPortal(); + } else if (menu == 1) { + css_nr += 1; + if (css_nr > (cssfile.length - 1)) { css_nr = 0;} + loadcss(cssfile[css_nr]); + alert(css_nr); + alert(cssfile[css_nr]); + is.setObject("vip.css_nr",css_nr.toString(),is.STORAGE_PERMANENT) + setTimeout("InitMenu(menu);",100); + } else if (menu == 2) { + // Show Info local timer/ recording + var x = ss.getBookingIds("*", 0, 0); + var y = Number(ss.getParameter(x[timerID-1], "Channel")); + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + osdepginfo.innerHTML = "<pre class=epgtimerinfo>" + ss.getParameter(x[timerID-1], "Title") + "\n " + "\n" + y + " - " + channelsnames[y] + "(" + ss.getParameter(x[timerID-1], "Eventid") + ")" + "\n </pre><p class=epg_info>" + ss.getParameter(x[timerID-1], "Info") + "</p>" ; + } else if (menu == 5) { + // Show EPG info Timer + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + osdepginfo.innerHTML = "<pre class=epgtimerinfo>\n\n\n" + Lang[0] + "\n\n\n </pre>" ; + setTimeout("ShowTimerInfo();",100); + } else if (menu == 7) { + // Show info SearchTimers + osdepginfo.innerHTML = SearchTimer[timerID] ; + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + } else if (menu == 10) { + if (protChn[ChanGroup] !== 1 && ChanGroup !== Fav_group) { + AddtoFav(); + } + } + break; + case "MediaRewind": + if (menu == 1) { + if (experimental) { // mute output 0 (analog out), keep output 3 'decoder output' unmuted + aos.setVolume(0, 0); + } + } + break; + case "MediaForward": + if (menu == 1) { + if (experimental) { aos.setVolume(0, 100); } + } + + break; + case "MediaStop": + if (menu == 1) { + //set sleep timer. + SleepTimer += 15; + if (SleepTimerID != -1) { + clearTimeout(SleepTimerID); + SleepTimerID = -1; + } + if (SleepTimer > 90) { + SleepTimer = 0; + } else { + SleepTimerID = setTimeout("SleepTimer = 0;toi.platformService.setStandby(true);", (SleepTimer * 60 * 1000)); + } + } else if (menu == 2) { + var x = ss.getBookingIds("*", 0, 0); + var y = Number((new Date().getTime()/1000).toFixed(0)) + 2; + //stop current recording after 2 sec. + ss.reschedule(x[timerID-1],"RecLocal","record_hd_from_ip", y , 0) + ss.setParameter(x[timerID-1], "Type", "\uE01C"); + LoadTimers(); + } + InitMenu(menu); + break; + case "Teletext": + break; + case "TV": + break; + case KEY_1: + if (menu == MainMenu) { + menu = 1; + } else if (menu == 1) { + ShowSubs = 1 - ShowSubs; + videoplane.subtitles = Boolean(ShowSubs); // Enable subtitles or Disable subtitles + is.setObject("vip.showsubs",ShowSubs.toString(),is.STORAGE_PERMANENT); + } else if (menu == 8) { + SetGroup(1); + } + + InitMenu(menu); + break; + case KEY_2: + if (menu == MainMenu) { + LoadTimers(); + timerID = 1; + //if (timer.length !== 0) { do { timerID += 1; } while (!timer[timerID] && (timerID < timer.length)) } + menu = 2; + } + + if (menu == 1) { + if(subsmode == 0 ) { + is.setObject("cfg.media.subtitling.modepriority","Teletext,DVB",is.STORAGE_PERMANENT); + subsmode = 1; + } else { + is.setObject("cfg.media.subtitling.modepriority","DVB,Teletext",is.STORAGE_PERMANENT); + subsmode = 0; + } + } + + if (menu == 8) { + SetGroup(2); + } + InitMenu(menu); + break; + case KEY_3: + if (menu == 0) { + isSetupMenu = 0; + medialist.style.opacity = 0.9; + mainmenu.style.opacity = 0; + setTimeout("getSchedule(currChan);LoadMediaSettings();",100); + } else if (menu == 1) { + if (audio < (lang_prio.length -1)) { audio += 1} else { audio = 0 } + is.setObject("vip.languagepriority",audio.toString(),is.STORAGE_PERMANENT); + is.setObject("cfg.media.audio.languagepriority",lang_prio[audio],is.STORAGE_PERMANENT); + InitMenu(menu); + } else if (menu == 8) { + SetGroup(3); + InitMenu(menu); + } + + break; + case KEY_4: + if (menu == 0) { + isSetupMenu = 0; + medialist.style.opacity = 0.9; + mainmenu.style.opacity = 0; + recPath = "/recordings.xml"; + setTimeout("getRecList();LoadMediaSettings();",100); + } else if (menu == 1) { + //Init here. menu = 0 don't need init! + menu = 8; + InitMenu(menu); + } else if (menu == 8) { + SetGroup(4); + InitMenu(menu); + } + + break; + case KEY_5: + if (menu == MainMenu && (Restfulapiplugin || smartTVplugin)) { + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n\n\n" + Lang[0] + "</pre>"; + timerID = 0; + menu = 5; + setTimeout("LoadTimersServer();InitMenu(menu);",200); + } + + if (menu == 1) { + var x = is.getObject("vip.serveraddress"); + x = Number(x); + if (x < (server_ip_array.length -1)) { x += 1} else { x = 0 } + is.setObject("vip.serveraddress",x.toString(),is.STORAGE_PERMANENT); + + server_ip = server_ip_array[x]; + for (var i=0;i<10;i++) { + if (ServerAdres[i] !== "FullURL" && ServerAdres[i] !== "MultiCast") {ServerAdres[i] = server_ip + StreamPort;} + } + InitMenu(menu); + } + + if (menu == 8) { + SetGroup(5); + InitMenu(menu); + } + break; + case KEY_6: + if (menu == 0 && Restfulapiplugin) { + isSetupMenu = 0; + medialist.style.opacity = 0.9; + mainmenu.style.opacity = 0; + setTimeout("getServerSchedule();LoadMediaSettings();",100); + } + + if (menu == 1) { + if(showClock == 0 ) { + showDisplay("", true, 80, 1 ); + showClock = 1; + } else if(showClock == 1 ) { + showClock = 0; + showDisplay(currChan.toString(), false, 100, 0 ); + } + InitMenu(menu); + } + if (menu == 8) { + SetGroup(6); + InitMenu(menu); + } + + break; + case KEY_7: + if (menu == 0 && smartTVplugin) { + isSetupMenu = 0; + medialist.style.opacity = 0.9; + mainmenu.style.opacity = 0; + recPath = "/media.xml"; + setTimeout("getRecList();LoadMediaSettings();",100); + } + + + if (menu == 1) { + ShowProtectedChannels = 1 - ShowProtectedChannels; + if (ProtectID) { clearTimeout(ProtectID); } + if (ShowProtectedChannels == 0 && ProtectTimeOut !== 0 ) { + ProtectID = setTimeout("ShowProtectedChannels = 1; if (protChn[ChanGroup] == 1) {ChanGroup = 0; currChan = defChan[ChanGroup]; play(currChan); }",ProtectTimeOut); + } + if (ShowProtectedChannels == 1 && protChn[ChanGroup] == 1) { ChanGroup = 0; currChan = defChan[ChanGroup]; play(currChan); } + isSetupMenu = 0; + mainmenu.style.opacity = 0; + } + if (menu == 8) { + SetGroup(7); + InitMenu(menu); + } + + break; + case KEY_8: + if (menu == MainMenu && Restfulapiplugin) { + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[8] + "</h1><pre class=mainmenu>\n\n\n" + Lang[0] + "</pre>"; + timerID = 0; + menu = 7; + setTimeout("LoadSearchTimersServer();InitMenu(menu);",200); + } + if (menu == 1) { + if(SwitchGuide == 0 ) { + SwitchGuide = 1; + } else if(SwitchGuide == 1 ) { + SwitchGuide = 0; + } + InitMenu(menu); + } + if (menu == 8) { + SetGroup(8); + InitMenu(menu); + } + + + break; + case KEY_9: + if ((menu == 0 || menu == 3) && ShowMPD) { + menu = 3; + playMPD(server_ip + MPDAddress); + } else if (menu == 1) { + if (lang_nr < (OSDLang.length -1)) { lang_nr += 1} else { lang_nr = 0 } + is.setObject("vip.OSDlanguage",lang_nr.toString(),is.STORAGE_PERMANENT); + loadjs(langfile[lang_nr]); + setTimeout("InitMenu(menu);",100); + } else if (menu == 8) { + SetGroup(9); + } + + InitMenu(menu); + break; + case KEY_0: + if (menu !== MainMenu && menu !== 8 ) { + if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; MPDListener = 0;} + menu = MainMenu; + InitMenu(menu); + } else if (menu == 8) { + SetGroup(0); + InitMenu(menu); + } else if (menu == 0) { + timerID = 0; maxTimers = Fav_max_channel; + menu = 10; if (ChanGroup !== Fav_group) { Fav_key1 = Lang[86]; } + InitMenu(menu); + } + + break; + case "VolumeMute": + VolumeMute(); + break; + case "VolumeUp": + VolumeUp(); + break; + case "VolumeDown": + VolumeDown(); + break; + case KEY_A:// |> key on old long kpn 1710/1760 remote + break; + case KEY_B:// hh key on old long kpn 1710/1760 remote + break; + case KEY_C:// @ key on old long kpn 1710/1760 remote + if (menu == 10 ) { + isSetupMenu = 0; + mainmenu.style.opacity = 0; + osdepginfo.style.opacity = 0; + } + break; + case KEY_D:// >@ key on old long kpn 1710/1760 remote + break; + + default: + break; + } +} + + +function InitMenu(menu) { + +// 0 = Main Menu +// 1 = settings menu +// 2 = Timers menu +// 3 = MPD Menu +// 4 = INFO Menu +// 5 = Timers from Server +// 6 = Main Menu (when watching recording) +// 7 = SearchTimers from Server +// 8 = ChannelGroups enable/disable +// 9 = INFO2 menu +// 10 = Favorite Edit menu + +osdepginfo.style.opacity = 0; + +if(menu == 0) { // Main Menu + MainMenu = 0; + var htmltext = "<h1 class=mainmenu>" + Lang[9] + "\n ( " + Version + " )</h1><pre class=mainmenu> 1 -" + Lang[10] + "\n 2 -" + Lang[7] + "\n 3 -" + Lang[11]; + htmltext += "\n 4 -" + Lang[12]; + if (Restfulapiplugin) { + htmltext += "\n 5 -" + Lang[13]; + } else { + htmltext += "<span class=notset>" + "\n 5 -" + Lang[13] + "</span>" ; + } + if (Restfulapiplugin) { + htmltext += "\n 6 -" + Lang[14]; + } else { + htmltext += "<span class=notset>" + "\n 6 -" + Lang[14] + "</span>" ; + } + if (smartTVplugin) { + htmltext += "\n 7 -" + Lang[15]; + } else { + htmltext += "<span class=notset>" + "\n 7 -" + Lang[15] + "</span>" ; + } + if (Restfulapiplugin) { + htmltext += "\n 8 -" + Lang[16]; + } else { + htmltext += "<span class=notset>" + "\n 8 -" + Lang[16] + "</span>" ; + } + if (ShowMPD) { + htmltext += "\n 9 -" + Lang[17]; + } else { + htmltext += "<span class=notset>" + "\n 9 -" + Lang[17] + "</span>" ; + } + + htmltext += "\n 0 - " + Lang[83] + "\n\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[35] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[18] + "</pre>"; + mainmenu.innerHTML = htmltext; +} + +if(menu == 6) { // Main Menu when watching recording + MainMenu = 6; + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[9] + "\n ( " + Version + " )</h1><pre class=mainmenu> 1 -" + Lang[10] + "\n 2 -" + Lang[7] + "\n\n\n 5 -" + Lang[13] + "\n\n\n 8 -" + Lang[16] + "\n\n\n\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[35] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</pre>"; +} + + +if(menu == 1) { // settings menu + var htmltext = "<h1 class=mainmenu>" + Lang[10] + "</h1><pre class=mainmenu> 1 - "; + if (ShowSubs) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } + htmltext += Lang[20] + ": " + (is.getObject("cfg.media.subtitling.languagepriority")); + if (subs_prio_dyn.length > 0) { htmltext += " (" + (subs_dyn + 1 ) + "/" + subs_prio_dyn.length + ") "; } + htmltext += "\n 2 - \uE003" + Lang[22] + (is.getObject("cfg.media.subtitling.modepriority")); + htmltext += "\n 3 - \uE003" + Lang[24] + (is.getObject("cfg.media.audio.languagepriority")); + htmltext += "\n 4 - " + Lang[82] + "\n 5 - VDR : " + server_ip + "\n 6 - "; + if (showClock) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } + htmltext += Lang[25] + "\n 7 - "; + if (ShowProtectedChannels) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } + htmltext += Lang[26] + "\n 8 - "; + if (SwitchGuide) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } + htmltext += Lang[27] + "\n 9 -" + Lang[23] + OSDLang[lang_nr] + "\n \u25AA -" + Lang[29]; + + if (SleepTimer) { htmltext += SleepTimer + Lang[30]; } else { htmltext += Lang[31]; } + + htmltext += "\n\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[20]; + htmltext += "</span><span class=greenkey>\u25CF</span><span class=mainfont> - " + VideoOutputModes_txt[VideoOutputModes[Set_Res]] + " "; + htmltext += "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[35]; + htmltext += "</span><span class=bluekey>\u25CF</span><span class=mainfont> - " + Left(cssfile[css_nr].split(".")[0],8) +"</pre>"; +// htmltext += "\n 0 -" + Lang[9] +"</pre>"; + mainmenu.innerHTML = htmltext; +} + +if(menu == 2) { // Timers menu + booking = ""; + var x = timerID - 2; + var y = ss.getBookingIds("*", 0, 0); + if (y.length !== 0) { + for (var i=0;i<10;i++) { + if (timer.length !== 0) { do { x += 1; } while (!timer[x] && (x < timer.length)) } + + if (i == 0) { + booking += "<span class=select>"; + } else if (i == 1) { + booking += "</span>"; + } + + if (timer.length > x) { + try { + if (ss.getParameter(y[x], "assetURI")) { + // test if there is a file with the timer if so more info is added + if (Number(ss.getParameter(y[x], "resume")) == 0 ) { + booking += "\uE003\uE010"; + } else { + booking += "\uE003\uE003"; + } + } + } catch(e) { + booking += "\uE003\uE003"; + } + booking += ss.getParameter(y[x], "Type"); + booking += timer[x]; + } else { + booking += "\n"; + } + } + } + if (mediaRecorder) { var x = NN[3]; } else { var x = Lang[19]; } + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n 0 -" + Lang[9] + "\n" + booking + " <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[48] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> - " + x + " </span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=bluekey>\u25CF</span><span class=mainfont> - " + NN[5] + "</pre>"; +} + +if(menu == 3) { // MPD Menu + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[33] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "</pre>"; +} + +if(menu == 4) { // INFO Menu + var htmltext = "<h1 class=mainmenu>" + Lang[35] + "</h1><pre class=mainmenu>"; + try { + htmltext += "\n Product name: " + is.getObject("config.productdisplayname"); + htmltext += "\n Build date : " + is.getObject("config.build.date"); + htmltext += "\n\n IP address : " + is.getObject("config.ipaddress"); + + var x = is.getObject("cfg.ip.eth0.mode"); + if (x == "DHCP") { htmltext += "\n \uE003\uE017 "; } else { htmltext += "\n \uE003\uE016 "; } + htmltext += "DHCP"; + var x = is.getObject("var.capabilities.dvr"); + if (x !== "FALSE") { htmltext += "\n \uE003\uE017 "; } else { htmltext += "\n \uE003\uE016 "; } + htmltext += "DVR \n"; + htmltext += "\n VDR address : " + server_ip; + htmltext += "\n Vip Client\uE003\uE003\uE003: " + Version; + htmltext += "\n Channel list\uE003: " + Chan_Ver; + + } catch(e) { + alert("Error : " + e); + } + htmltext += "\n\n 0 -" + Lang[9] + "</pre>"; + mainmenu.innerHTML = htmltext; + +} + +if(menu == 5) { // Timers from Server + if (timerOK) { + // booking = "<center>" + Lang[32] + "</center>"; + booking = "<span class=select>"; + var x = timerID - 1; + for (var i=0;i<10;i++) { + if (maxTimers !== 0) { do { x += 1; } while (!timers[x] && (x < maxTimers)) } + if (maxTimers > x) { booking += timers[x]; } else { booking += "\n"; } + if (i == 0) { booking += "</span>"; } + } + if (get_timer) { + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n" + booking + "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[48] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[49] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[28] + "</pre>"; + } else { + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n" + booking + "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[28] + "</pre>"; + } + } +} + + +if(menu == 7) { // SearchTimers from Server + if (timerOK) { + // booking = "<center>" + Lang[32] + "</center>"; + booking = "<span class=select>"; + var x = timerID - 1; + for (var i=0;i<10;i++) { + if (maxTimers !== 0) { do { x += 1; } while (!searchtimers[x] && (x < maxTimers)) } + if (maxTimers > x) { booking += searchtimers[x]; } else { booking += "\n"; } + if (i == 0) { booking += "</span>"; } + } + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[8] + "</h1><pre class=mainmenu>\n" + booking + "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[28] + "</pre>"; + + } +} + +if(menu == 8) { // ChannelGroups enable/disable + var htmltext = "<h1 class=mainmenu>" + Lang[80] + "</h1><pre class=mainmenu>\n"; + for (var i=0;i<10;i++) { + if (maxChan[i]) { } else { htmltext += "<span class=notset>"; } + htmltext += "\uE003" + i + "\uE003-\uE003"; + if (is.getObject(("vip.group." + i)) == "1") { htmltext += "\uE017"; } else { htmltext += "\uE016"; } + htmltext += "\uE003" + Lang[81] + i + "\n"; + if (maxChan[i]) { } else { htmltext += "</span>"; } + } + htmltext += "</pre>"; + mainmenu.innerHTML = htmltext; + } + +if(menu == 9) { // INFO2 Menu + var htmltext = "<h1 class=mainmenu>" + Lang[35] + "</h1><pre class=mainmenu>"; + try { + if (fullupdate !== 0) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } + htmltext += "Full EPG Update "; + + experimental = Number(is.getObject("vip.testing")); + if (experimental) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } + htmltext += "Experimental"; + if (Number(is.getObject("vip.testing2"))) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } + htmltext += "Experimental 2 (Info box 'not in package')"; + if (Restfulapiplugin) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } + htmltext += "Has Restfulapiplugin" + if (smartTVplugin) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } + htmltext += "Has smartTVplugin" + htmltext += "\n gettimers from"; + if (get_timer == 1) { + htmltext += " smarttvweb "; + } else { + htmltext += " restfulapi "; + } + + htmltext += "\n getmarks from"; + if (get_marks == 1) { htmltext += " smarttvweb "; } else { htmltext += " restfulapi "; } + htmltext += "\n getrecordings from"; + if (get_recordings == 1) { + htmltext += " smarttvweb "; + } else if (get_recordings == 0) { + htmltext += " restfulapi "; + } else { + htmltext += " streamdev "; + } + htmltext += "\n EPGMode : " + if (EPGMode) { htmltext += "Full EPG"; } else { htmltext += "Now/Next Only"; } + } catch(e) { + alert("Error : " + e); + } + htmltext += "\n\n 0 -" + Lang[9] + "</pre>"; + mainmenu.innerHTML = htmltext; + +} + +if(menu == 10) { // Favorite edit Menu + var htmltext = "<h1 class=mainmenu>" + Lang[83] + htmltext += "</h1><pre class=mainmenu>\n" + htmltext += "<span class=select>"; + var x = timerID; + for (var i=0;i<10;i++) { + if (maxTimers !== 0) { x += 1;} + if (maxTimers >= x && x !== 0) { htmltext += " \u0003\u0003 " + x + " \u0003\u0003 " + channelsnames[(x + Fav_base)] + " \u0003\u0003\u0003 \n"; } else { htmltext += "\n"; } + if (i == 0) { htmltext += "</span>"; } + } + htmltext += "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[87]; + htmltext += "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + if (timerID == 0) { htmltext += Lang[19] } else { htmltext += Lang[84] } //no move up + htmltext += "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + if (timerID == (maxTimers - 1) || x == 0) { htmltext += Lang[19] } else { htmltext += Lang[85] } //no move down + htmltext += "</span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Fav_key1 + "</pre>"; + mainmenu.innerHTML = htmltext; +} + +} // end of initmenu + +function SetGroup(isgroup) { + is.setObject("vip.group." + isgroup,(1 - is.getObject("vip.group." + isgroup)).toString(),is.STORAGE_PERMANENT); + if (is.getObject("vip.group." + isgroup) == "0") { minChan[isgroup] = "";} else {minChan[isgroup] = minchan[isgroup];} +} + +function LoadTimers() { + timer.length = 0; + var booking = ""; + var x = ss.getBookingIds("*", 0, 0); + for (var i=0;i<x.length;i++) { + var y = ss.getBooking(x[i]); + booking = " ID " + x[i]; + booking += " " + Left(y.category,1); + tijd = y.start; + date = new Date(tijd*1000); + tijd = date.toUTCString(); + tijd = new Date(tijd); + month = tijd.getMonth(); + d = tijd.getDate(); + day = tijd.getDay(); + var tm = tijd.getMinutes(); + var th = tijd.getHours(); + th=addzero(th); + tm=addzero(tm); + +// booking += " Start " + Left(days[day],3) + " " + d + " " + Left(months[month],3) + " " + th + ":" + tm + " " + (y.duration/60).toFixed(0) + " min"; + booking += " " + d + " " + Left(months[month],3) + " " + th + ":" + tm + " " + (y.duration/60).toFixed(0) + " min"; + + booking += " " + Left(channelsnames[ss.getParameter(x[i], "Channel")],8); + booking += " " + Left(ss.getParameter(x[i], "Title"),15); + timer[i] = booking + "\n" ; + + } +} + + +function LoadTimersServer() { +try { + + if (get_timer==1) { + //Get timers from SmartTVweb + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + recServ + "/timers.xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("timer"); + maxTimers = x.length; + timers.length = 0; // clear timers[i] tries to clear crap if current x.length < previous x.length + if (x.length > 0) { + for (var i=0;i<x.length;i++) + { + var fill = "\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003"; + timersFlag[i] = x[i].getElementsByTagName("flags")[0].childNodes[0].nodeValue; + timersStrt[i] = Right("000" + x[i].getElementsByTagName("start")[0].childNodes[0].nodeValue,4); + timersStop[i] = Right("000" + x[i].getElementsByTagName("stop")[0].childNodes[0].nodeValue,4); + + timersEvnt[i] = x[i].getElementsByTagName("eventid")[0].childNodes[0].nodeValue; // event_id + timersID[i] = x[i].getElementsByTagName("index")[0].childNodes[0].nodeValue; // index + timersChan[i] = x[i].getElementsByTagName("channelid")[0].childNodes[0].nodeValue; // channel_id + timersName[i] = x[i].getElementsByTagName("channelname")[0].childNodes[0].nodeValue + fill; + timersDay[i] = x[i].getElementsByTagName("day")[0].childNodes[0].nodeValue; + timersDays[i] = new Date(timersDay[i]*1000); + timersDays[i] = timersDays[i].getDate() + "\uE003" + Left(months[timersDays[i].getMonth()],4); + timersFile[i] = x[i].getElementsByTagName("file")[0].childNodes[0].nodeValue + fill + fill; + + if (timersFlag[i] == "1") { + timers[i] = "\uE003\uE00C\uE003"; + } else if (timersFlag[i] == "9" || timersFlag[i] == "11" ) { + timers[i] = "\uE003\uE00B\uE003"; + } else if (timersFlag[i] == "0") { + timers[i] = "\uE003\uE003\uE003"; + } else { + timers[i] = "\uE003?\uE003"; + } + + timers[i] += timersDays[i] + "\uE003" + timersStrt[i] + "\uE003" + timersStop[i] + "\uE003" + Left(timersName[i],8) + "\uE003" + Left(timersFile[i],15) + "\n" ; + } + } + timerOK = 1; + } else if (get_timer == 0) { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/timers.xml"),false); // ?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("timer"); + maxTimers = x.length; + timers.length = 0; // clear timers[i] tries to clear crap if current x.length < previous x.length + if (x.length > 0) { + for (var i=0;i<x.length;i++) + { + var fill = "\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003"; + timersID[i] = x[i].getElementsByTagName("param")[0].childNodes[0].nodeValue; + timersChan[i] = x[i].getElementsByTagName("param")[11].childNodes[0].nodeValue; + timersFlag[i] = x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue; + timersStrt[i] = Right("00" + x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue,4); + timersStop[i] = Right("00" + x[i].getElementsByTagName("param")[3].childNodes[0].nodeValue,4); + timersEvnt[i] = x[i].getElementsByTagName("param")[8].childNodes[0].nodeValue; + timersDays[i] = x[i].getElementsByTagName("param")[9].childNodes[0].nodeValue; + if (timersDays[i] == "-------" ) { + timersDays[i] = x[i].getElementsByTagName("param")[10].childNodes[0].nodeValue; + } else { + timersDays[i] += "\uE003\uE003\uE003"; + } + timersName[i] = x[i].getElementsByTagName("param")[15].childNodes[0].nodeValue + fill; + timersFile[i] = x[i].getElementsByTagName("param")[14].childNodes[0].nodeValue + fill + fill; + if (timersFlag[i] == "1") { + timers[i] = "\uE003\uE00C\uE003"; + } else if (timersFlag[i] == "9") { + timers[i] = "\uE003\uE00B\uE003"; + } else { + timers[i] = "\uE003\uE003\uE003"; + } + timers[i] += timersDays[i] + "\uE003" + timersStrt[i] + "\uE003" + timersStop[i] + "\uE003" + Left(timersName[i],8) + "\uE003" + Left(timersFile[i],15) + "\n" ; + } + } + timerOK = 1; + } + } catch(e) { + timerOK = 0; + alert("Get Timers problem: " + e); + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n " + Lang[36] + ": \n " + server_ip + "</pre>"; + } +} + +function DeleteTimers() { +if (get_timer==1) { + try { + + xmlhttp=new XMLHttpRequest(); + // + // SmartTVWeb + // xmlhttp.open("GET",(server_ip + recServ + "/deleteTimer?guid=" + timersChan[timerID] + "&dy=" + timersDay[timerID] + // + "&st=" + timersStrt[timerID] + "&sp=" + timersStop[timerID] + "&" + new Date().getTime()),false); + xmlhttp.open("GET",(server_ip + recServ + "/deleteTimer?index=" + timersID[timerID] + "&" + new Date().getTime()),false); + xmlhttp.send(); + + } catch(e) { + alert("Deleting Timers problem: " + e); + } + } +} + +function activate_timers(){ +if (get_timer==1) { + // (De)activate timers. + try { + + xmlhttp=new XMLHttpRequest(); + if (timersFlag[timerID] == "0") { + xmlhttp.open("GET",(server_ip + recServ + "/activateTimer?index=" + timersID[timerID] + "&activate=true&" + new Date().getTime()),false); + } else { + xmlhttp.open("GET",(server_ip + recServ + "/activateTimer?index=" + timersID[timerID] + "&activate=false&" + new Date().getTime()),false); + } + xmlhttp.send(); + + if (timersFlag[timerID] == "0") { + timers[timerID] = timers[timerID].substr(0, 1) + "\uE00C" + timers[timerID].substr(2); + timersFlag[timerID] = "1" + } else { + timers[timerID] = timers[timerID].substr(0, 1) + "\uE003" + timers[timerID].substr(2); + timersFlag[timerID] = "0" + } + } catch(e) { + alert("(De)Activate Timers problem: " + e); + } + } +} + + +function ShowTimerInfo() { + if (osdepginfo.style.opacity == 1) { + //Like Show EPG Info + //setup some dummy vars + var info1 = ""; var info2 = ""; var info3 = ""; var info4=""; + if (timersEvnt[timerID] > 0) { + + try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/events/" + timersChan[timerID] + "/" + timersEvnt[timerID] + ".xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("event"); + // x[0].getElementsByTagName("param")[1].childNodes[0].nodeValue --> Title + // x[0].getElementsByTagName("param")[2].childNodes[0].nodeValue --> Short_text + // x[0].getElementsByTagName("param")[3].childNodes[0].nodeValue --> Description + // x[0].getElementsByTagName("param")[5].childNodes[0].nodeValue --> ChannelsName + + info1 = x[0].getElementsByTagName("param")[1].childNodes[0].nodeValue; + info2 = x[0].getElementsByTagName("param")[5].childNodes[0].nodeValue; + info4 = x[0].getElementsByTagName("param")[3].childNodes[0].nodeValue; + info3 = x[0].getElementsByTagName("param")[2].childNodes[0].nodeValue + "</p><p>"; + + } catch(e) { + alert("Get EPG problem: " + e); + + } + } else { + info3 = Lang[37]; + } + osdepginfo.innerHTML = "<pre class=epgtimerinfo>" + Left(info1,60) + "\n " + timersDays[timerID] + " " + + timersStrt[timerID] + " - " + timersStop[timerID] + "\n" + info2 + "\n </pre><p class=epgtimerinfo>" + info3 + Left(info4,750) + "</p>" ; + } +} + +function LoadSearchTimersServer() { +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/searchtimers.xml?" + new Date().getTime()),false); //"),false); // + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("searchtimer"); + maxTimers = x.length; + searchtimers.length = 0; // clear timers[i] tries to clear crap if current x.length < previous x.length + if (x.length > 0) { + for (var i=0;i<x.length;i++) + { + var fill = "\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003"; + searchtimersID[i] = x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue; + searchtimersSearch[i] = x[i].getElementsByTagName("search")[0].childNodes[0].nodeValue; + searchtimersFlag[i] = x[i].getElementsByTagName("use_as_searchtimer")[0].childNodes[0].nodeValue; + if (searchtimersFlag[i] == "1") { + searchtimers[i] = "\uE003\uE017\uE003"; + } else if (searchtimersFlag[i] == "0") { + searchtimers[i] = "\uE003\uE016\uE003"; + } else { + searchtimers[i] = "\uE003?\uE003"; + } + + // Extended INFO + SearchTimer[i] = "<pre class=mainhead>" + x[i].getElementsByTagName("search")[0].childNodes[0].nodeValue + "\n </pre><pre>"; + if ((x[i].getElementsByTagName("use_as_searchtimer")[0].childNodes[0].nodeValue) == 0) { + SearchTimer[i] += "\uE003\uE016\uE003" + Lang[40] + "\n"; + } else { + SearchTimer[i] += "\uE003\uE017\uE003" + Lang[40] + "\n"; + } + SearchTimer[i] = SearchTimer[i] + "\uE003\uE003\uE003Mode :\uE003" + (searchmode[x[i].getElementsByTagName("mode")[0].childNodes[0].nodeValue]) + "\n"; + if ((x[i].getElementsByTagName("use_time")[0].childNodes[0].nodeValue) == 1) { + SearchTimer[i] += "\uE003\uE017\uE003" + Lang[41] + "\uE003" + + x[i].getElementsByTagName("start_time")[0].childNodes[0].nodeValue + + "\uE003-\uE003" + x[i].getElementsByTagName("stop_time")[0].childNodes[0].nodeValue + "\n"; + } else { + SearchTimer[i] += "\uE003\uE016\uE003" + Lang[41] + "\uE003" + "\n"; + } + if ((x[i].getElementsByTagName("use_dayofweek")[0].childNodes[0].nodeValue) == 0) { + SearchTimer[i] += "\uE003\uE016\uE003" + Lang[47] + "\uE003" + "\n"; + } else { + //bit is used for dayofweek. + var dowx = x[i].getElementsByTagName("dayofweek")[0].childNodes[0].nodeValue; + var dow = ""; + if (dowx > 0) { var y = 1;} else { var y = 0;} + dowx = Math.abs(dowx); + for (var dowi=0; dowi<7; dowi++) + { + var mask = 1 << dowi; + if ((dowx & mask) != 0) { dow += days[(dowi+y)] + "\uE003";} + } + SearchTimer[i] += "\uE003\uE017\uE003" + Lang[47] + "\uE003:\uE003" + dow + "\n"; + } + + + if ((x[i].getElementsByTagName("use_channel")[0].childNodes[0].nodeValue) == 0) { + SearchTimer[i] += "\uE003\uE016\uE003" + Lang[42] + "\uE003" + "\n"; + } else { + SearchTimer[i] += "\uE003\uE017\uE003" + Lang[42] + "\uE003:\uE003" + + searchchan[(x[i].getElementsByTagName("use_channel")[0].childNodes[0].nodeValue)] + "\uE003" + + x[i].getElementsByTagName("channels")[0].childNodes[0].nodeValue + "\n"; + } + + SearchTimer[i] += "\n</pre>"; + // End of Extended INFO + + + searchtimers[i] += searchtimersSearch[i] + "\uE003\uE003\n" ; + } + timerOK = 1; + } + } catch(e) { + timerOK = 0; + alert("Get SearchTimers problem: " + e); + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[8] + "</h1><pre class=mainmenu>\n " + Lang[43] + ": \n " + server_ip + RestFulAPI + "</pre>"; + } +} + +function ShowSearchTimerInfo() { + // info about a search timer. + //Like Show EPG Info + //setup some dummy vars + + var info1 = ""; var info2 = ""; + + try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/searchtimers/search/" + searchtimersID[timerID] + ".xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("event"); + var maxinfo = x.length; if (maxinfo > 15) { maxinfo = 15;} + + for (var i=0;i<maxinfo;i++) + { + info2 = x[i].getElementsByTagName("param")[16].childNodes[0].nodeValue; // Timer exists + if (info2 == "true") { + info1 += "\uE003\uE00C\uE003"; + } else { + info1 += "\uE003\uE003\uE003"; + } + info2 = x[i].getElementsByTagName("param")[17].childNodes[0].nodeValue; // Timer active + if (info2 == "true") { + info1 += "\uE017\uE003"; + } else { + info1 += "\uE016\uE003"; + } + + info2 = x[i].getElementsByTagName("param")[6].childNodes[0].nodeValue; // Time + date = new Date(Number(info2)*1000); + month = date.getMonth(); + d = date.getDate(); + day = date.getDay(); + h = date.getHours(); + m = date.getMinutes(); + h=addzero(h); + m=addzero(m); + info2 = Left(days[day],3) + "\uE003" + d + "\uE003" + Left(months[month],3) + "\uE003" + h + ':' + m; + info1 += info2; + info2 = "\uE003\uE003" + x[i].getElementsByTagName("param")[7].childNodes[0].nodeValue/60 + "\uE003"; // Duration + info1 += "\uE003" + Right(info2,3) + Lang[56] + "\uE003" + x[i].getElementsByTagName("param")[5].childNodes[0].nodeValue + "\uE003"; // Channel + info1 += "\uE003" + Left(x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue,25) + "\uE003"; // Programm Title + info1 += "\n"; + + } + + } catch(e) { + alert("Get SearchTimer INFO problem: " + e); + + } + + osdepginfo.innerHTML = "<pre class=mainhead>" + searchtimersSearch[timerID] + "\n </pre><pre>" + info1 + "</pre>" ; + +} + +// End of Menu section + +// MPD Section + +function MPD(ev) { +// alert("Media player state changed: " + ev); +// alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code); +// alert("Media player error :" + mediaPlayer.getError().details); +if (MPDListener == 0) { + if (ev.state == 6 ) { + if (ev.reason == "CommandClose" && ErrorAgain == 0) { + setTimeout("mediaPlayer.open(URL);mediaPlayer.play(1000);GetEPG(currChan);ExtraStuff();",500); + ErrorAgain = 1; + } else { + ErrorAgain = 0; + alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code); + showDisplay("ERRR", false, 100, 0 ); + if (experimental) { + settimer(0,ev.reason,0,2,color_error); + } else { + settimer(0,Lang[67],0,2,color_error); + } + } + } + +} else { + if ( ev.state == 6 && ev.reason == "HostUnreachable" ) { + showDisplay("ERRR", false, 100, 0 ); + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n 9 -" + Lang[61] + "\n\n<pre class=mainhead>" + Lang[62] + ": \n" + server_ip + MPDAddress + "</pre></pre>"; + } else if ( ev.state == 2 ) { // && ev.reason == "PositionEnd" ) { + showDisplay("STOP", false, 100, 0 ); + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n 9 -" + Lang[63] + "\n\n<pre class=mainhead>" + Lang[64] + ": \n" + server_ip + MPDAddress + "\n" + Lang[65] + "</pre></pre>"; + } else if ( ev.state == 3 && ev.reason == "CommandPlay" ) { + showDisplay("MPD", false, 100, 0 ); + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n\n\n<pre class =mainhead>" + Lang[64] + ": \n" + server_ip + MPDAddress + "</pre></pre>"; + } else { + showDisplay("ERRR", false, 100, 0 ); + mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n 9 -" + Lang[63] + "\n\n<pre class=main_head>Error : " + ev.state + "\n" + Lang[66] + ": " + ev.reason + "</pre></pre>"; + } +} + +} + +function playMPD(uri) { + try { + if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { + mediaPlayer.close(); + } + MPDListener = 1; + mediaPlayer.open(uri); + mediaPlayer.play(1000); + } catch (e) { + alert("Failed opening recording: " + e); + return; + } +} + + +// End of MPD Section + +// Media Player Section + +function LoadMediaSettings() { + subgroup = 0; + subsubgroup = 0; + isMediaMenu = 1; + isFullscreen = 0; + if (getRecOK !== 2) { showDisplay("STOP", false, 100, 0 ); } + currMed = 0; + if (getRecOK) { showMediaList();} + mediaPlayer.addEventListener(mediaPlayer.ON_POSITION_CHANGED, ShowMediaOSD); + mediaPlayer.addEventListener(mediaPlayer.ON_STATE_CHANGED, onStateChanged); +} + +function UnloadMediaSettings() { + mediaPlayer.removeEventListener(mediaPlayer.ON_POSITION_CHANGED, ShowMediaOSD); + mediaPlayer.removeEventListener(mediaPlayer.ON_STATE_CHANGED, onStateChanged); + medialist.style.opacity = 0; + osdmedia.style.opacity = 0; + osdmediatime.style.opacity = 0; + osdepginfo.style.opacity = 0; + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[0] + "</h1>"; + showDisplay(currChan.toString(), false, 100, 0 ); + isMediaMenu = 0; + isFullscreen = 1; + isPause = 0; + set_yellow_key = 0; + localRecording = 0; + if (mediaPlayer.getState() != mediaPlayer.STATE_PLAYING ) { + play(channels[currChan]); + } +} + + + +function onKeyMedia(keyCode) { +if (DelisOK) { + switch(keyCode) { + case KEY_OK: + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[0] + "</h1>"; + switchtimer.style.opacity = 0; + setTimeout("DelRec2(); getRecList(); showMediaList();",100) + default: + switchtimer.style.opacity = 0; + DelisOK = 0; + break; + } // end of switch +} else if (medialist.style.opacity != 0) { + switch(keyCode) { + case "BrowserBack": + if (subgroup && osdepginfo.style.opacity == 0) { + subgroup = 0; + subsubgroup = 0; + if (ShowSubDir) { + MakeRecList2(); + } else { + MakeRecList(); + } + setTimeout("showMediaList();",100) + break; + } + if (osdepginfo.style.opacity == 1) { osdepginfo.style.opacity = 0; break; } + case "TV": + UnloadMediaSettings(); + break; + case "Yellow": + if (set_yellow_key) { + //hide/display schedule with same button + UnloadMediaSettings(); + } + break; + case "Right": + if (getRecOK !== 0) { + for (var i=0;i<10;i++) { + do + { + incMed(1); + } + // while (!recTitl[currMed]); + while (!recList[currMed]); + } + showMediaList(); + } + break; + case "Left": + if (getRecOK !== 0) { + for (var i=0;i<10;i++) { + do + { + decMed(1); + } + // while (!recTitl[currMed]); + while (!recList[currMed]); + } + showMediaList(); + } + break; + case "Down": + if (getRecOK !== 0) { + do + { + incMed(1); + } + // while (!recTitl[currMed]); + while (!recList[currMed]); + showMediaList(); + } + break; + case "Up": + if (getRecOK !== 0) { + do + { + decMed(1); + } + // while (!recTitl[currMed]); + while (!recList[currMed]); + showMediaList(); + } + break; + case KEY_OK: + case "MediaPlayPause": + if (getRecOK == 2) { + ShowInfo(); + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + } + if (getRecOK == 1) { + if (recGroup[currMed] !== 0 && subgroup == 0 && ShowSubDir) { + if (subgroup_old) { + setTimeout("MakeRecList_sublevel(recGroup[currMed]); showMediaList();",100) + } else { + setTimeout("MakeRecList3(recGroup[currMed]); showMediaList();",100) + } + subgroup = 1; + } else if (recSubGroup[currMed] !== 0 && subgroup == 1 && subsubgroup == 0 && ShowSubDir && subgroup_old) { + setTimeout("MakeRecList_sublevel2(recGroup[currMed],recSubGroup[currMed]); showMediaList();",100) + subsubgroup = 1; + } else { + recList[currMed] = "\u0003" + recList[currMed].substring(1); + medialist.style.opacity = 0; + if (get_recordings == 1) { + setTimeout("GetMarks(); getResume(); playRec(recLink[currMed]+ '?mode=streamtoend&time=' + position);",100); + } else if (get_recordings == 2) { +// setTimeout("playRec(recLink[currMed]+ '?pos=resume');position = (mediaPlayer.getPosition()/1000);",100) + position = 0; + setTimeout("playRec(recLink[currMed]);",100) + } + } + } + break; + case "Red": + if (getRecOK == 1 && (recGroup[currMed] == 0 || subgroup == 1)) { + // Only delete item if it isn't a subdir marker + DelRec(); + } + if (getRecOK == 2) { //set timer + settimer(recStrt[currMed],recTitl[currMed],recDura[currMed],1,color_switchtimer,recDesc[currMed],recGUID[currMed].toString()); + } + break; + case "Blue": + // only show info if not a subdir marker or if in EPG mode + if ( (getRecOK == 1 && (recGroup[currMed] == 0 || subgroup == 1)) || getRecOK == 2) { + ShowInfo(); + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + } + break; + case "Green": + if (getRecOK == 2 && mediaRecorder) { //set timer only if mediaRecorder = 1, unit has harddisk + settimer(recStrt[currMed],recTitl[currMed],recDura[currMed],3,"",recDesc[currMed],recGUID[currMed].toString()); + } + break; + + case "VolumeMute": + VolumeMute(); + break; + case "VolumeUp": + VolumeUp(); + break; + case "VolumeDown": + VolumeDown(); + break; + + case KEY_REC: + case KEY_REC2: + // make timer for recording + if (getRecOK == 2) { //set timer + settimer(recStrt[currMed],recTitl[currMed],recDura[currMed],2); + ServerTimer(channels[currChan],recGUID[currMed]); + } + break; + case KEY_0: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only rewind file if it isn't a subdir marker + setResumeNull(); + showMediaList(); + } + break; + case KEY_1: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(1); + } + break; + case KEY_2: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(2); + } + break; + case KEY_3: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(3); + } + break; + case KEY_4: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(4); + } + break; + case KEY_5: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(5); + } + break; + case KEY_6: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(6); + } + break; + case KEY_7: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(7); + } + break; + case KEY_8: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(8); + } + break; + case KEY_9: + if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { + // Only do reccmds if it isn't a subdir marker + reccmds(9); + } + break; + + + + default: + break; + } // end of switch +} else { + switch(keyCode) { + case "BrowserBack": +// ShowInfo(); +// osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + break; + case "TV": + setResume(); + play(channels[currChan]); + UnloadMediaSettings(); + break; + break; + case "Down": + if (mediaPlayer.getState() != mediaPlayer.STATE_PAUSED) { + showDisplay("PAUS", false, 100, 0 ); + mediaPlayer.play(0); + } + break; + case "Up": + if (mediaPlayer.getState() != mediaPlayer.STATE_PLAYING) { + if (currMed == -1 || localRecording == 1 ) { + showDisplay("PLAY", false, 100, 0 ); + mediaPlayer.play(1000); + } else { + position += (mediaPlayer.getPosition()/1000); + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } + } + break; + case KEY_OK: + osdmedia.style.opacity = 1 - osdmedia.style.opacity; + osdmediatime.style.opacity = osdmedia.style.opacity; + ShowMediaOSD(); + break; + case "Green": + if (audio_dyn < (lang_prio_dyn.length -1)) { audio_dyn += 1} else { audio_dyn = 0 } + if (lang_prio_dyn.length > 1) { + is.setObject("cfg.media.audio.languagepriority",lang_prio_dyn[audio_dyn] + "," + lang_prio[audio],is.STORAGE_PERMANENT); + osdlang.style.opacity = 1; + osdlang.innerHTML = "<img src='unmute.png'> " + lang_prio_dyn[audio_dyn] + " "; + setTimeout("osdlang.style.opacity = 0; ", 3000); + } + break; + case "Yellow": + ShowSubs = 1 - ShowSubs; + videoplane.subtitles = Boolean(ShowSubs); // Enable subtitles or Disable subtitles + break; + case "Blue": + if ( isPause == 0 ) { + ShowInfo(); + osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; + } + break; + case "Red": + GetMarks(); + ShowMediaOSD(); + break; + + case "Menu": + osdepginfo.style.opacity = 0; + osdepginfonext.style.opacity = 0; + isSetupMenu = 1; + mainmenu.style.opacity = 0.8; + menu = 6; + InitMenu(menu); + break; + + case "VolumeMute": + VolumeMute(); + break; + case "VolumeUp": + VolumeUp() + break; + case "VolumeDown": + VolumeDown(); + break; + + + case KEY_REC: + case KEY_REC2: + break; + case "MediaRewind": + if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { + mediaPlayer.play(-4000); + showDisplay("REW", false, 100, 0 ); + } + break; + case "MediaForward": + if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { + mediaPlayer.play(4000); + showDisplay("FF", false, 100, 0 ); + } + break; + case "MediaStop": + if (currMed == -1 || isPause == 1 || localRecording == 1) { + if (localRecording == 1) { + ss.setParameter(recDummy[0], "resume", mediaPlayer.getPosition().toString()); + } + osdepginfo.style.opacity = 0; + isFullscreen = 1; play(channels[currChan]); + UnloadMediaSettings(); + } else { + setResume(); + osdepginfo.style.opacity = 0; + isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; + medialist.style.opacity = 0.9; + showDisplay("STOP", false, 100, 0 ); + showMediaList(); + } + break; + case "MediaPlayPause": + if (mediaPlayer.getState() != mediaPlayer.STATE_PAUSED) { + showDisplay("PAUS", false, 100, 0 ); + mediaPlayer.play(0); + } else { + if (currMed == -1 || localRecording == 1) { + showDisplay("PLAY", false, 100, 0 ); + mediaPlayer.play(1000); + } else { + position += (mediaPlayer.getPosition()/1000); + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } + } + break; + case KEY_1: + if (localRecording != 1 ) { + position += (mediaPlayer.getPosition()/1000) - 30; + if (position <= 0) { position = 0;} + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } else { + mediaPlayer.playFromPosition((mediaPlayer.getPosition()-30000),1000); + } + break; + case KEY_4: + if (localRecording != 1 ) { + position += (mediaPlayer.getPosition()/1000) - 60; + if (position <= 0) { position = 0;} + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } else { + mediaPlayer.playFromPosition((mediaPlayer.getPosition()-60000),1000); + + } + break; + case KEY_7: + if (localRecording != 1 ) { + position += (mediaPlayer.getPosition()/1000) - 240; + if (position <= 0) { position = 0;} + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } else { + mediaPlayer.playFromPosition((mediaPlayer.getPosition()-240000),1000); + + } + break; + + case KEY_5: + if (localRecording != 1 ) { + if (recMark.length>posMark && get_recordings == 1) { + position = recMark[posMark]; + playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); + } + } + break; + case KEY_2: + if (localRecording != 1 ) { + if (posMark>0 && get_recordings == 1) { + posMark -= 1; + position = recMark[posMark]; + playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); + } + } + break; + case KEY_8: + if (localRecording != 1 ) { + if (recMark[posMark+1] && get_recordings == 1) { + posMark += 1; + position = recMark[posMark]; + playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); + } + } + break; + + + + case KEY_3: + if (localRecording != 1 ) { + position += (mediaPlayer.getPosition()/1000) + 30; + if (get_recordings == 1) { + if (position >= recDura[currMed]) { + BackToTV(); + } else { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } else { + mediaPlayer.playFromPosition((mediaPlayer.getPosition()+30000),1000); + } + break; + case KEY_6: + if (localRecording != 1 ) { + position += (mediaPlayer.getPosition()/1000) + 60; + if (get_recordings == 1) { + if (position >= recDura[currMed]) { + BackToTV(); + } else { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } else { + mediaPlayer.playFromPosition((mediaPlayer.getPosition()+60000),1000); + } + break; + case KEY_9: + if (localRecording != 1 ) { + position += (mediaPlayer.getPosition()/1000) + 240; + if (get_recordings == 1) { + if (position >= recDura[currMed]) { + BackToTV(); + } else { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } else { + mediaPlayer.playFromPosition((mediaPlayer.getPosition()+240000),1000); + } + break; + case KEY_0: + if (localRecording != 1 ) { + position = 0; posMark = 0; + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } + } else { + mediaPlayer.playFromPosition(0,1000) + } + break; + + default: + break; + } // end of switch + } // end of if +} + +function getRecList() { + getVDRstatus(); + MaxInGroup = 14; + subgroup = 0; + subsubgroup = 0; +try { + if (get_recordings ==1) { + // get recordings from smartTVWeb + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + recServ + recPath + "?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("item"); + nrMedia = x.length - 1; + recTitl.length = 0; + rec_lst.length = 0; + + if (recPath == "/recordings.xml") { + for (var i=0;i<x.length;i++) + { + rec_lst[i] = new Array(); + for (var yy=0;yy<9;yy++) { rec_lst[i][yy] = new Array(); } + rec_lst[i][0] = (x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue); + rec_lst[i][0] = rec_lst[i][0].split("~"); + rec_lst[i][1] = (x[i].getElementsByTagName("enclosure")[0].getAttribute('url')); + rec_lst[i][2] = (x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue); + rec_lst[i][3] = (x[i].getElementsByTagName("duration")[0].childNodes[0].nodeValue); + rec_lst[i][4] = (x[i].getElementsByTagName("start")[0].childNodes[0].nodeValue); + rec_lst[i][5] = (x[i].getElementsByTagName("isnew")[0].childNodes[0].nodeValue); + rec_lst[i][6] = (x[i].getElementsByTagName("guid")[0].childNodes[0].nodeValue); + //Get channel number from recordings, shows right names only if server & client use same channel order + recDummy = rec_lst[i][6].split("."); + recDummy = recDummy[(recDummy.length-2)].split("-"); + rec_lst[i][7] = recDummy[0] + "\uE003-\uE003" + channelsnames[(recDummy[0])]; + rec_lst[i][8] = protChn[Number(Left((recDummy[0] / 1000),1))]; + + } + + //Get channel number from recordings + rec_lst.sort(); + for (var i=0;i<x.length;i++) { + recTitl[i] = rec_lst[i][0]; + recLink[i] = rec_lst[i][1]; + recDesc[i] = rec_lst[i][2]; + recDura[i] = rec_lst[i][3]; + recStrt[i] = rec_lst[i][4]; + rec_New[i] = rec_lst[i][5]; + recGUID[i] = rec_lst[i][6]; + recChan[i] = rec_lst[i][7]; + recProt[i] = rec_lst[i][8]; + } + recProt[i] = 1; + } else { + + // old recordings list function + // also used for media listing + + for (var i=0;i<x.length;i++) { + recTitl[i] = (x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue); + recTitl[i] = recTitl[i].split("~"); + // recLink[i] = (x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue); + recLink[i] = (x[i].getElementsByTagName("enclosure")[0].getAttribute('url')); + recDesc[i] = (x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue); + recDura[i] = (x[i].getElementsByTagName("duration")[0].childNodes[0].nodeValue); + recStrt[i] = (x[i].getElementsByTagName("start")[0].childNodes[0].nodeValue); + rec_New[i] = (x[i].getElementsByTagName("isnew")[0].childNodes[0].nodeValue); + recGUID[i] = (x[i].getElementsByTagName("guid")[0].childNodes[0].nodeValue); + //Media directory + recChan[i] = "Media File"; + recProt[i] = 0; // No protection for Media Files. + } + // try to fix display double entries in the last directory. (Only shown for some time after deleting files, should be fixed now) + recProt[i] = 1; + } +} else if (get_recordings == 2) { +//get recordings from streamdev +//no media directory or delete support + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + StreamPort + "recordings.rss?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("item"); + nrMedia = x.length - 1; + recTitl.length = 0; + + for (var i=0;i<x.length;i++) + { + rec_lst[i] = new Array(); + for (var yy=0;yy<9;yy++) { rec_lst[i][yy] = new Array(); } + rec_lst[i][0] = x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue.split(" "); + rec_lst[i][0] = rec_lst[i][0][1].split("~"); + rec_lst[i][1] = x[i].getElementsByTagName("enclosure")[0].getAttribute('url'); + rec_lst[i][2] = Lang[37]; + rec_lst[i][3] = Lang[37]; + rec_lst[i][4] = x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue; + rec_lst[i][4] = rec_lst[i][4].split(" "); + rec_lst[i][4] = rec_lst[i][4][1] + " " + rec_lst[i][4][2]; + rec_lst[i][5] = Lang[37]; + rec_lst[i][6] = x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue; + rec_lst[i][7] = 0; + rec_lst[i][8] = 0; + } + + rec_lst.sort(); + for (var i=0;i<x.length;i++) { + recTitl[i] = rec_lst[i][0]; + recLink[i] = rec_lst[i][1]; + recDesc[i] = rec_lst[i][2]; + recDura[i] = rec_lst[i][3]; + recStrt[i] = rec_lst[i][4]; + rec_New[i] = rec_lst[i][5]; + recGUID[i] = rec_lst[i][6]; + recChan[i] = rec_lst[i][7]; + recProt[i] = rec_lst[i][8]; + } + + + recProt[i] = 1; +} else if (get_recordings == 0) { + // get recordings from restfulapi + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/recordings.xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("recording"); + nrMedia = x.length - 1; + recTitl.length = 0; + rec_lst.length = 0; + + for (var i=0;i<x.length;i++) + { + rec_lst[i] = new Array(); + for (var yy=0;yy<9;yy++) { rec_lst[i][yy] = new Array(); } + rec_lst[i][0] = x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue; + rec_lst[i][0] = rec_lst[i][0].split("~"); + rec_lst[i][1] = x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue; + rec_lst[i][2] = x[i].getElementsByTagName("param")[13].textContent; + rec_lst[i][3] = x[i].getElementsByTagName("param")[8].childNodes[0].nodeValue; + rec_lst[i][4] = x[i].getElementsByTagName("param")[14].childNodes[0].nodeValue; + rec_lst[i][5] = x[i].getElementsByTagName("param")[4].childNodes[0].nodeValue; + rec_lst[i][6] = x[i].getElementsByTagName("param")[0].childNodes[0].nodeValue; + //Get channel number from recordings, shows right names only if server & client use same channel order + recDummy = rec_lst[i][1].split("."); + recDummy = recDummy[(recDummy.length-2)].split("-"); + rec_lst[i][7] = recDummy[0] + "\uE003-\uE003" + channelsnames[(recDummy[0])]; + rec_lst[i][8] = protChn[Number(Left((recDummy[0] / 1000),1))]; + + } + + //Get channel number from recordings + rec_lst.sort(); + for (var i=0;i<x.length;i++) { + recTitl[i] = rec_lst[i][0]; + recLink[i] = rec_lst[i][1]; + recDesc[i] = rec_lst[i][2]; + recDura[i] = rec_lst[i][3]; + recStrt[i] = rec_lst[i][4]; + rec_New[i] = rec_lst[i][5]; + recGUID[i] = rec_lst[i][6]; + recChan[i] = rec_lst[i][7]; + recProt[i] = rec_lst[i][8]; + } + recProt[i] = 1; + // try to fix display double entries in the last directory. (Only shown for some time after deleting files, should be fixed now) +} + + +//end of get_recordings + if (ShowSubDir) { + MakeRecList2(); + } else { + MakeRecList(); + } + if (nrMedia!==0) { getRecOK = 1; } else { + getRecOK = 0; + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[38] + "</center><pre>\n\n\n" + Lang[37] + "</pre></h1>"; + } + + } catch(e) { + alert("Get Recordings problem: " + e); + getRecOK = 0; + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[38] + "</center><pre>\n\n\n" + Lang[39] + "</pre></h1>"; + } +} + + +function GetMarks() { + +if (get_marks==1) { + try { + posMark = 0; + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + recServ + "/getMarks.xml?guid=" + recGUID[currMed] + "&" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + recMark = []; + var x=xmlDoc.getElementsByTagName("mark"); + for (var i=0;i<x.length;i++) + { + var y = x[i].childNodes[0].nodeValue.split(","); + recMark[i] = Number(y[0]); + } + } catch(e) { + alert("Getting Marks problem: " + e); + } + } else { + try { + posMark = 0; + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/recordings/" + currMed + ".xml?marks=true&" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + recMark = []; + var x=xmlDoc.getElementsByTagName("mark"); + for (var i=0;i<x.length;i++) + { + var y = x[i].childNodes[0].nodeValue.split(":"); + recMark[i] = Number(y[0]*3600) + Number(y[1]*60) + Number(y[2]); + } + } catch(e) { + alert("Getting Marks problem: " + e); + } + } +} + + +function setResume() { +if (get_recordings == 1) { +try { + position += (mediaPlayer.getPosition()/1000) + var xmlhttp = new XMLHttpRequest(); + xmlhttp.open("POST", server_ip + recServ + "/setResume.xml?guid=" + recGUID[currMed] + "&resume=" + position, false); + xmlhttp.send(); + recList[currMed] = "\uE003" + recList[currMed].substring(1); + } catch(e) { + alert("Setting Resume problem: " + e); + } +} +} + +function getResume() { +position = 0; +if (get_recordings == 1) { +try { + var xmlhttp = new XMLHttpRequest(); + var i = 0; + xmlhttp.open("GET", server_ip + recServ + "/getResume.xml?guid=" + recGUID[currMed] + "&" + new Date().getTime(), false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + i = xmlDoc.getElementsByTagName("resume")[0].childNodes[0].nodeValue.split(","); + position = Number(i[0]); + } catch(e) { + alert("Getting Resume problem: " + e); + } +} +} + + +function setResumeNull() { +if (get_recordings == 1) { +try { + var xmlhttp = new XMLHttpRequest(); + xmlhttp.open("POST", server_ip + recServ + "/setResume.xml?guid=" + recGUID[currMed] + "&resume=0", false); + xmlhttp.send(); + recList[currMed] = "\uE010" + recList[currMed].substring(1); + } catch(e) { + alert("Setting Resume problem: " + e); + } +} +} + +function reccmds(option) { +try { + option = Number(option); + if (RecCmds[option] > -1 ) { + var xmlhttp = new XMLHttpRequest(); + xmlhttp.open("POST", server_ip + recServ + "/execreccmd?cmd=" + RecCmds[option] + "&guid=\"" + recGUID[currMed] + "\"", false); + xmlhttp.send(); + recList[currMed] = RecCmdsIcon[option] + recList[currMed].substring(1); + showMediaList(); + } + } catch(e) { + alert("Execute reccmds problem: " + e); + } + +} + + + +function CheckPlugins() { +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + recServ + "/vdrstatus.xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + smartTVplugin = 1; + } catch(e) { + alert("NO smartTVplugin: " + e); + smartTVplugin = 0; + } + +//Check for Restfulapi + +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/info.xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + Restfulapiplugin = 1; + } catch(e) { + alert("NO Restfulapiplugin: " + e); + Restfulapiplugin = 0; + } +} + +function getVDRstatus() { +if (smartTVplugin == 1) { +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + recServ + "/vdrstatus.xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; +// var x=xmlDoc.getElementsByTagName("vdrstatus"); + var x=xmlDoc.getElementsByTagName("diskspace"); + free_space = x[0].getElementsByTagName("free")[0].childNodes[0].nodeValue; + perc_space = x[0].getElementsByTagName("percent")[0].childNodes[0].nodeValue; + } catch(e) { + alert("Get VDR Status problem: " + e); + } +} +if (smartTVplugin == 0 && Restfulapiplugin == 1) { +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/info.xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("diskusage"); + free_space = x[0].getElementsByTagName("free_mb")[0].childNodes[0].nodeValue; + perc_space = x[0].getElementsByTagName("used_percent")[0].childNodes[0].nodeValue; + } catch(e) { + alert("Get VDR Status problem: " + e); + } + } +} + + +function DelRec() { + if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} +try { + //popup for confirm + switchtimer.style.background = "red"; + switchtimer.style.opacity = 1; + switchtimer.innerHTML = "<pre class=deletefile>" + Lang[44] +"\n" + Lang[45] + "\n\n " + Left(recTitl[currMed],30) + "</pre>"; // Recording Name + DelisOK = 1 + } catch(e) { + alert("Delete Recordings problem: " + e); + } +} + +function DelRec2() { + if (get_recordings == 1) { + try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("POST",(server_ip + recServ + "/deleteRecording.xml?id=" + recGUID[currMed] ),false); + xmlhttp.send(); + recList[currMed] = ""; + recGroup[currMed] = -1; + recProt[currMed] = 0; + } catch(e) { + alert("Delete Recordings problem: " + e); + } + } else if (get_recordings == 0) { +// try { +// xmlhttp=new XMLHttpRequest(); +// xmlhttp.open("DELETE",(server_ip + RestFulAPI + "/recordings/" + recGUID[currMed] ),true); +// xmlhttp.send(); +// recList[currMed] = ""; +// recGroup[currMed] = -1; +// recProt[currMed] = 0; +// } catch(e) { +// alert("Delete Recordings problem: " + e); +// } +// + } +} + + + + +function MakeRecList() { +//old style list + var x = ""; + var xx = ""; + for (var i=0;i<recTitl.length;i++) + { + if (recTitl[i][recMap + 2]) { + if (recTitl[i][recMap + 1] != xx) { + var y = recTitl[i][recMap].length + 1; + if (recTitl[i][recMap] != x) { + recList[i] = "\uE002 " + recTitl[i][recMap] + " \uE002 " + String(recTitl[i]).substring(y); + } else { + recList[i] = "\uE003 " + new Array(y).join("\uE003") + " \uE002 " + String(recTitl[i]).substring(y); + } + } else { + var y = recTitl[i][recMap + 1].length + recTitl[i][recMap].length + 4; + recList[i] = new Array(y).join("\uE003") + String(recTitl[i]).substring(y - 2); + } + } else if (recTitl[i][recMap + 1]) { + if (recTitl[i][recMap] != x) { + recList[i] = "\uE002" + recTitl[i]; + } else { + var y = recTitl[i][recMap].length + 4; + recList[i] = new Array(y).join("\uE003") + String(recTitl[i]).substring(y - 3); + } + } else { + recList[i] = "\uE003" + recTitl[i]; + } + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + } + + if (rec_New[i] == "true" ) + { + recList[i] = "\uE010" + result + "\uE003" + recList[i]; + } else { + recList[i] = "\uE003" + result + "\uE003" + recList[i]; + } + x = recTitl[i][recMap]; + xx = recTitl[i][recMap + 1]; + if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} + } +} + +function MakeRecList2() { +//new style with sub maps + var x = ""; + var xx = 0; + for (var i=0;i<recTitl.length;i++) + { + if (recTitl[i][1]) { + if (recTitl[i][0] != x) { + recList[i] = "\uE002\uE003" + recTitl[i][0]; + xx += 1; + } else { + recList[i] = "" ; + } + recGroup[i] = xx; + } else { + recGroup[i] = 0; + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} + } + if (rec_New[i] == "true" ) { + recList[i] = "\uE010" + result + "\uE003" + recTitl[i]; + } else { + recList[i] = "\uE003" + result + "\uE003" + recTitl[i]; + } + } + + if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} + + x = recTitl[i][0]; + } +} + +function MakeRecList3(GroupID) { + + MaxInGroup = -1; + for (var i=0;i<recTitl.length;i++) + { + if (recGroup[i] == GroupID) { + var tmp = ""; + for (var ii=1;ii<recTitl[i].length;ii++) + { + tmp += "\uE003" + recTitl[i][ii]; + } + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} + } + if (rec_New[i] == "true" ) { + recList[i] = "\uE010" + result + tmp; // recTitl[i]; + } else { + recList[i] = "\uE003" + result + tmp; //recTitl[i]; + } + + MaxInGroup = MaxInGroup + 1; + if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} + + } else { + recList[i] = "" ; + } + } +} + +// +// +// sub-sublevel testing +// +// + +function MakeRecList_sublevel(GroupID) { +//new style with sub maps on sub maps + var x = ""; + var xx = 0; + recList.length = 0; + MaxInGroup = -1; + for (var i=0;i<recTitl.length;i++) + { + if (recGroup[i] == GroupID) { + Group_Header[GroupID] = recTitl[i][0]; + if (recTitl[i][2]) { + if (recTitl[i][1] != x) { + + recList[i] = "\uE002\uE003" + recTitl[i][1]; + xx += 1; + } else { + recList[i] = "" ; + } + recSubGroup[i] = xx; + } else { + recSubGroup[i] = 0; + var tmp = ""; + for (var ii=1;ii<recTitl[i].length;ii++) + { + tmp += "\uE003" + recTitl[i][ii]; + } + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} + } + if (rec_New[i] == "true" ) { + recList[i] = "\uE010" + result + tmp; // recTitl[i]; + } else { + recList[i] = "\uE003" + result + tmp; //recTitl[i]; + } + } + if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} + if (recList[i] != "") { MaxInGroup = MaxInGroup + 1; } + x = recTitl[i][1]; + } + } +//MakeRecList_sublevel2(GroupID,0); +} + + +function MakeRecList_sublevel2(GroupID,SubGroupID) { + MaxInGroup = -1; + for (var i=0;i<recTitl.length;i++) + { + if (recGroup[i] == GroupID && recSubGroup[i] == SubGroupID) { + var tmp = ""; var xx = "\uE003"; + for (var ii=2;ii<recTitl[i].length;ii++) + { + if (recTitl[i][(ii+1)]) { + tmp += "\uE003\uE002" + recTitl[i][ii]; + xx = "/"; + } else { + tmp += xx + recTitl[i][ii]; + } + } + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} + } + if (rec_New[i] == "true" ) { + recList[i] = "\uE010" + result + tmp; // recTitl[i]; + } else { + recList[i] = "\uE003" + result + tmp; //recTitl[i]; + } + + MaxInGroup = MaxInGroup + 1; + if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} + + } else { + recList[i] = "" ; + } + } +} + +// +// +// End of sub-sublevel testing +// +// + +function AddInfo(info) { +//Add Date to item + date = new Date(Number(recStrt[info])*1000); + year = date.getFullYear(); + month = date.getMonth(); + d = date.getDate(); + h = date.getHours(); + m = date.getMinutes(); + month=addzero(month + 1); + d=addzero(d); + h=addzero(h); + m=addzero(m); + if ( year==1970 ) { + result = "\uE003"; + } else { + result = "\uE003" + d + '-' + month + '-' + year + ' ' + h + ':' + m; + } +// +} + +function showMediaList() { + if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} + osdmedia.style.opacity = 0; + osdmediatime.style.opacity = 0; + var liststyle = ""; + listMed = currMed - 1; + var MaxMed = -1; + + if (getRecOK == 1) { + var htmlstring = "<h1 class=mainmenu>" + Lang[38] + "(" + Lang[46] + (100 - perc_space) + "%, " + (free_space/1024).toFixed(0) + " GB) </h1><pre class=mediamenu>"; + + if (subgroup) { + htmlstring = "<h1 class=mainmenu>" + Group_Header[Number(recGroup[currMed])] + "</h1><pre class=mediamenu>"; + if (MaxInGroup < 14){ MaxMed = MaxInGroup; } else {MaxMed = 14; } + } + if (!subgroup) { + for(var i=0; i<=nrMedia; i++) { + if (recList[i]) { MaxMed += 1;} + } + } + + } else { + + if (nrMedia < 14) {MaxMed = nrMedia; } else {MaxMed = 14; } + var htmlstring = "<h1 class=mainmenu>" + Lang[11] + channelsnames[currChan] + " </h1><pre class=mediamenu>"; + } + + if (MaxMed > 14) { MaxMed = 14; } + if (MaxMed < 0 ) { MaxMed = 0; } + + for(var i=currMed; i<=currMed + MaxMed; i++) { + if (listMed>=nrMedia) { listMed= -1; } + if (listMed<-1) { listMed=nrMedia - 1; } +// if (listMed>nrMedia) { listMed= -1; } + + do + { + listMed += 1; + } + while (!recList[listMed] && (listMed<=nrMedia)); + + if (listMed > nrMedia) { recList[listMed] = ""; } + + if (recList[listMed]) { //Solves empty string at the end. + if ( listMed == currMed) { htmlstring += "<span class=mediaselect>"; } + htmlstring += "\uE003" + Left(recList[listMed],60) + "\uE003\uE003\n"; + if ( listMed == currMed) { htmlstring += "</span>";} + } + + } + medialist.innerHTML = htmlstring + "</pre>"; + //ShowInfo(); +} + +function getServerSchedule() { +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/events/" + channels[currChan] + ".xml?timespan=" + serverEPGdays + "&" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("event"); + nrMedia = x.length - 1; + for (var i=0;i<x.length;i++) + { + +/* // restful api layout dd 10/04/2013 + // <event> + // 1 <param name="id">516</param> + // 2 <param name="title">Thuis</param> + // 3 <param name="short_text"/ > + // 4 <param name="description">Soapserie (BE).</param> + // 5 <param name="channel">S19.2E-53-1105-4016</param> + // 6 <param name="channel_name">BVN (S)</param> + // 7 <param name="start_time">1365608700</param> + // 8 <param name="duration">1500</param> + // 9 <param name="table_id">78</param> + // 10 <param name="version">7</param> + // 11 <param name="parental_rating">0</param> + // 12 <param name="vps">0</param> + // 13 <param name="images">0</param> + // 14 <param name="components"> + // <component stream="1" type="1" language="dut" description="4:3"/ > + // <component stream="2" type="1" language="dut" description=""/ ></param> + // 15 <param name="contents"> + // 16 <content name="Soap/Melodrama/Folkloric"/ ></param> + // 17 <param name="raw_contents"><raw_content name="21"/ ></param> + // 18 <param name="timer_exists">false</param> + // 19 <param name="timer_active">false</param> + // 20 <param name="timer_id"/ > + // </event> +*/ + + recTitl[i] = x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue; + try { + recDesc[i] = x[i].getElementsByTagName("param")[3].childNodes[0].nodeValue; + } catch(e) { + recDesc[i] = ""; + } + recDura[i] = x[i].getElementsByTagName("param")[7].childNodes[0].nodeValue; + recStrt[i] = x[i].getElementsByTagName("param")[6].childNodes[0].nodeValue; + recChan[i] = currChan + "\uE003-\uE003" + channelsnames[currChan]; + recGUID[i] = x[i].getElementsByTagName("param")[0].childNodes[0].nodeValue; + + date = new Date(Number(recStrt[i])*1000); + year = date.getFullYear(); + month = date.getMonth(); + d = date.getDate(); + day = date.getDay(); + h = date.getHours(); + m = date.getMinutes(); + h=addzero(h); + m=addzero(m); + recList[i] = ''+days[day]+' '+d+' '+months[month]+' '+year+' '+h+':'+m + " " + recTitl[i]; + + } + getRecOK = 2; + } catch(e) { + alert("Get EPG problem: " + e); + getRecOK = 0; + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[50] + "</center><pre>\n\n\n" + Lang[51] + "</pre></h1>"; + } +} + +function getSchedule(schchan){ + SI = ""; + recTitl.length = 0; + nrMedia = 0; + try { + StreamInfo(schchan); + + eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); + eitCache.addService(eitService); + event = eitCache.getPresentEvent(eitService); + events = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); + + if (event.name) { + if (events.more) { + var t = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); + events.infoSequence.concat(t.infoSequence); + events.more = t.more; + } + nrMedia = events.infoSequence.length - 1; + for (var i = 0; i < events.infoSequence.length; i++) { + + // Double info or scrollbar twice on the screen if nrMedia < 14 + while ((i > 0) && (events.infoSequence[i].eventId == events.infoSequence[(i-1)].eventId) && (nrMedia > 14)) { + recList[i] = ""; + i += 1; + } + + recTitl[i] = events.infoSequence[i].name; + recDesc[i] = eitCache.getExtendedEventInfo(eitService,events.infoSequence[i].eventId).extendedInfo; + if (recDesc[i] == "" ) { recDesc[i] = eitCache.getExtendedEventInfo(eitService,events.infoSequence[i].eventId).shortInfo;} + recDura[i] = events.infoSequence[i].duration; + recStrt[i] = events.infoSequence[i].time; + recChan[i] = schchan + "\uE003-\uE003" + channelsnames[schchan]; + recGUID[i] = events.infoSequence[i].eventId; + + date = new Date(Number(recStrt[i])*1000); + year = date.getFullYear(); + month = date.getMonth(); + d = date.getDate(); + day = date.getDay(); + h = date.getHours(); + m = date.getMinutes(); + h=addzero(h); + m=addzero(m); + recList[i] = ' ' + days[day] + ' ' + d + ' ' + months[month] + ' ' + year + " " + h + ":" + m + " (" + (recDura[i]/60).toFixed(0) + ") " + Left(recTitl[i],30); + } + getRecOK = 2; + } else { + getRecOK = 0; + + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[11] + "</center><pre>\n\n\n" + Lang[52] + "</pre></h1>"; + + if (experimental) { + medialist.innerHTML += "<img src='" + channels[schchan] + ".jpg' style='width:100%; position:absolute; left:0%; top:-11%;'>"; + } + + } + } catch(e) { + getRecOK = 0; + medialist.innerHTML = "<h1 class=mainmenu>" + Lang[11] + "</center><pre>\n\n\n" + Lang[53] + "</pre></h1>"; + } + +} + + + +function incMed(step) { + currMed += step; + if (currMed > nrMedia ) { + currMed = 0; + } +} + +function decMed(step) { + currMed -= step; + if (currMed < 0) { + currMed = nrMedia; + } +} + +function playRec(uri,posrec) { + try { + if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { + mediaPlayer.close(); + } + if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} + mediaPlayer.open(uri); + if (posrec) { + mediaPlayer.playFromPosition(posrec,1000); + } else { + mediaPlayer.play(1000); + } + showDisplay("PLAY", false, 100, 0 ); + } catch (e) { + alert("Failed opening recording: " + e); + return; + } +} + + +function pauseRec(uri) { + try { + if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { + mediaPlayer.close(); + } + if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} + mediaPlayer.open(uri); + mediaPlayer.play(0); + showDisplay("PAUS", false, 100, 0 ); + } catch (e) { + alert("Failed opening recording: " + e); + return; + } +} + + + +function createNewAsset() { + try { + assetId = ams.createAsset(ams.ASSET_PVR); +// alert("Created " + assetId); + } catch(e) { + alert("Couldn't create asset: " + e); + } +} + +function onStateChanged(ev) { +// alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code); + + if ( ( ev.state == 6 && ev.reason == "HostUnreachable" ) || ( ev.state == 2 && ev.reason == "PositionEnd" )) { + BackToTV(); + } + +} + +// Start recording/ timeshift + +function ServerRecordStart() { +//Record current program + + try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + recServ + "/addTimer?guid=" + channels[currChan] + "&" + new Date().getTime() ),false); + xmlhttp.send(); + + if (xmlhttp.responseXML == null) { + //settimer(EPG[NowNext][2][currChan],Lang[55],0,2); + //Timer not set, try direct recording + ServerRecord(); + settimer(0,Lang[57],0,2); + } else { + settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan],0,2); + } + + } catch(e) { + alert("Sending Timers to server problem: " + e); + settimer(0,Lang[55],0,2,color_error); + } + +} + + +function ServerRecord() { +//Instant record on server + + try { + xmlhttp=new XMLHttpRequest(); + //switch server to current channel + xmlhttp.open("POST",(server_ip + RestFulAPI + "/remote/switch/" + channels[currChan]),true); + xmlhttp.send(); + //start recording + setTimeout("xmlhttp.open('POST',(server_ip + RestFulAPI + '/remote/Record'),false);xmlhttp.send();",5000); + } catch(e) { + alert("Sending key to server problem: " + e); + settimer(0,Lang[55],0,2,color_error); + } + +//end of function +} + + + +function ServerPause() { +//Instant pause on server + ServerRecord(); + settimer(EPG[NowNext][2][currChan],Lang[70],0,2); + setTimeout("getPauseFile();",6000); +//end of function +} + + + + +function getPauseFile() { + +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + RestFulAPI + "/recordings.xml?" + new Date().getTime()),false); + xmlhttp.send(); + xmlDoc=xmlhttp.responseXML; + var x=xmlDoc.getElementsByTagName("recording"); + nrMedia = x.length - 1; + for (var i=0;i<x.length;i++) + { + var xx = x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue.split("."); + xx = xx[(xx.length-2)].split("-"); + + if ( xx[0] == currChan ) { + recLink[0] = server_ip + recServ + x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue; + } + + } + + } catch(e) { + alert("Get Recordings problem: " + e); + } + getRecOK = 0; + recDura[0] = 0; // 3600;// set to 1 hour + LoadMediaSettings();// sets currMed to 0 + recTitl[0] = "Time Shift File" + position = 0; + pauseRec(recLink[0]); + +} + + + +function ServerTimer(guid,evid) { + +try { + xmlhttp=new XMLHttpRequest(); + xmlhttp.open("GET",(server_ip + recServ + "/addTimer?guid=" + guid + "&evid=" + evid + "&" + new Date().getTime() ),false); + xmlhttp.send(); + } catch(e) { + alert("Sending Timers to server problem: " + e); + } + + +} + + + +function BackToTV() { + play(channels[currChan]); + if (isPause == 1 || localRecording == 1) { + UnloadMediaSettings(); + } else { + medialist.style.opacity = 0.9; + showDisplay("STOP", false, 100, 0 ); + showMediaList(); + AvInfo.length = 0; + } +} + + +function onRecorderStateChanged(event) { +// alert("EVENT! " + event.reason + " *** " + event.state); + RECicon = "\uE003"; // 0xE003 0x83 Fixed width blank + switch (event.state) { + case mediaRecorder.STATE_IDLE: + // "STATE_IDLE"; + break; + case mediaRecorder.STATE_CONNECTING: + // "STATE_CONNECTING"; + break; + case mediaRecorder.STATE_PAUSED: + // "STATE_PAUSED"; + break; + case mediaRecorder.STATE_RECORDING: + // "STATE_RECORDING"; + RECicon = "\uE00B"; // 0xE00B 0x8B REC + break; + case mediaRecorder.STATE_FAILED: + // "STATE_FAILED"; + RECicon = "\uE01A"; // Bomb Icoon + break; + } + +} + +function ShowMediaOSD() { +if (get_recordings == 1) { + // Display Name/ length + var pos = position + (mediaPlayer.getPosition()/1000); + var pos2 = (pos / Number(recDura[currMed])) * 100; + if (pos2 < 1) { pos2 = 1;} + if (pos2 >100) {pos2 = 100;} // in case of viewing while still recording. + if (pos>recMark[posMark] && recMark.length-1>posMark) { posMark += 1;} + pos2 = ((pos2 * 140) / 100).toFixed(0); // make it 40% bigger + var pos5 = "\uE007" + new Array(pos2 - 1).join("\uE008") + new Array(140 - pos2).join("\uE009") + "\uE00A" + var pos4 = ""; + var pos6 = pos5; + var fontc = color_progress1; + var x = 0; + for (var i=0; i<recMark.length; i++) { + var pos3 = recMark[i] / Number(recDura[currMed]) * 100; + pos3 = ((pos3 * 140) / 100).toFixed(0); // make it 40% bigger + pos4 += fontc + Left(pos6,pos3 - x); + if (fontc == "</font>" + color_progress2) { fontc = "</font>" + color_progress1; } else { fontc = "</font>" + color_progress2;} + x = pos3; + pos6 = Right(pos5,140 - pos3); + } + pos4 += "</font>" + color_progress1 + pos6 + "</font>"; + var x = (Number(recDura[currMed])/60).toFixed(0); + if (pos/60 > x) { x = (pos/60).toFixed(0);} + date_time(); + osdmediatime.innerHTML = result; + date_time_rec(); + osdmedia.innerHTML = "<pre class=media> \n " + (pos/60).toFixed(0) + " / " + x + " " + Left(recTitl[currMed],40) + "\n " + pos4 + "\n " + result + " </pre>"; +} else if ( get_recordings == 2) { + var pos = position + (mediaPlayer.getPosition()/1000); + date_time(); + osdmediatime.innerHTML = result; + osdmedia.innerHTML = "<pre class=media> \n " + (pos/60).toFixed(0) + " \n " + Left(recTitl[currMed],40) + "\n \n " + recStrt[currMed] + " </pre>"; +} +} + +function ShowInfo() { +//Like Show EPG Info + if ( medialist.style.opacity == 0 ) { updateStreamInfo(currMed);} else { AvInfo[currMed] = "";} + if (get_recordings == 2) { + result = recStrt[currMed] + osdepginfo.innerHTML = "<p class=epg_head>" + Left(recTitl[currMed],60) + + "\n </p><p class=epg_avinfo>" + AvInfo[currMed] + + "</p><p class=epg_title> " + result + "\n " + + "???" + Lang[54] + + "</p><p class=epg_info> Sorry STREAMDEV-plugin : " + Lang[37] + "</p></center>"; + } else { + date = new Date(Number(recStrt[currMed])*1000); + year = date.getFullYear(); + month = date.getMonth(); + d = date.getDate(); + day = date.getDay(); + h = date.getHours(); + m = date.getMinutes(); + h = addzero(h); + m = addzero(m); + result = '' + days[day] + ' ' + d + ' ' + months[month] + ' ' + year + ' ' + h + ':' + m; + + if (year!==1970) { + osdepginfo.innerHTML = "<p class=epg_head>" + Left(recTitl[currMed],60) + + "</p><p class=epg_avinfo>" + AvInfo[currMed] + + "</p><p class=epg_title> " + result + "\n " + + (recDura[currMed] / 60).toFixed(0) + Lang[54] + "\n " + recChan[currMed] + " " + + "\n </p><p class=epg_info>" + Left(recDesc[currMed],750) + "</p></center>"; + } else { + //info for non-vdr recordings + osdepginfo.innerHTML = "<p class=epg_head>" + Left(recTitl[currMed],60) + + "\n </p><p class=epg_avinfo>" + AvInfo[currMed] + " " + "\n \n </p></center>"; + } + } +} + +function onScheduledStart(event) { + // event is of type ToiSchedulerServiceBooking, see docs + var timertype = event.booking.category; + + if ( timertype == "SwitchOnly") { + ClearScreen(); + isFullscreen = 1; FullScreen(); + isVisible = 0; setVisible(isVisible); + + //Switch from recordings + if (isMediaMenu) { + if (medialist.style.opacity == 0) {setResume();} // No mediamenu on screen so set resume. + UnloadMediaSettings(); + } + + prevChan = currChan; + currChan = Number(ss.getParameter(event.booking.id, "Channel")); + ChanGroup = Number(Left((currChan / 1000),1)); + + // check if Group isn't protected + if ((protChn[ChanGroup] == 1) && (ShowProtectedChannels == 1)) { + currChan = prevChan; + ChanGroup = Number(Left((currChan / 1000),1)); + } + + // switch only if not already on that channel. + if (currChan !== prevChan) { + play(channels[currChan]); + } + ss.remove(event.booking.id); + setOSDtimer(); + } else { + try { + createNewAsset(); + + var recChannr = Number(ss.getParameter(event.booking.id, "Channel")); + var recGroup = Number(Left((recChannr / 1000),1)); + var recChan = 0; + if (ServerAdres[recGroup] == "MultiCast" ) { + SI=channels[recChannr].split("-"); + recChan = SI[4]; + } else { + recChan = ServerAdres[recGroup] + channels[recChannr]; + } + + mediaRecorder.open(recChan, assetId); + + var propList = new Array(ams.PROPERTY_SYSTEM_PLAYBACKURI); + var properties = ams.getProperties(assetId, propList); + var assetURI = properties[0].value; + + // save the assetId in the booking + ss.setParameter(event.booking.id, "assetURI", assetURI); + ss.setParameter(event.booking.id, "assetId", assetId); + ss.setParameter(event.booking.id, "active", "True"); + ss.setParameter(event.booking.id, "Type", "\uE00B"); + + mediaRecorder.record(); +// alert("Recording to " + assetURI); + } + catch (e) { + alert(e); + } + } +} + + +function onScheduledStop(event) { + var timertype = event.booking.category; + if ( timertype == "SwitchOnly") { + ss.remove(event.booking.id); + setOSDtimer(); + } else { + try { + ss.setParameter(event.booking.id, "active", "False"); + ss.setParameter(event.booking.id, "Type", "\uE01C"); + mediaRecorder.close(); + } + catch (e) { + alert(e); + } + } + +} + + +function ClearScreen() { + isSchedule = 0; schedule.style.opacity = 0; + isSetupMenu = 0; + epgactive = 0; + osdepginfonext.style.opacity = 0; + osdepginfo.style.opacity = 0; + mainmenu.style.opacity = 0; +} + diff --git a/javascript/settings.js b/javascript/settings.js new file mode 100644 index 0000000..e262564 --- /dev/null +++ b/javascript/settings.js @@ -0,0 +1,371 @@ +// +// Default settings +// + +var Version = "0.26.4"; + +server_ip_array = new Array("http://192.168.1.15","http://192.168.3.15","http://192.168.178.56","http://192.168.3.100","http://192.168.178.19","http://192.168.1.21","http://192.168.2.100","http://192.168.178.52"); + +var server_ip = server_ip_array[0]; // default server +var StartVolume = 15; // Volume on (re)start of the portal. +var currChan = 10; // default channel + +OSDLang = new Array ("English", "Nederlands", "Deutsch"); +langfile = new Array ("languages/lang_eng.js", "languages/lang_dut.js","languages/lang_ger.js"); +lang_prio = new Array("dut,eng,und","ger,deu,eng","eng,und","fre,fra,eng"); + +cssfile = new Array ("skins/blue.css","skins/black.css"); +var css_nr; + +var subs_prio = "dut,eng"; //Subtitle prio + +var get_timer = 1; // gettimersserver 1 = smarttvweb, 0 = restfulapi +var get_recordings = 1; // getrecordings 0 = restfulapi(only showing no play), 1 = smarttvweb, 2 = streamdev +var get_marks = 1;// getmarks 1 = smarttvweb, 0 = restfulapi + +var subgroup_old = 1 ;// 0 = use old routine for sub group in recordings listing. + +var SortByDate = 1; //Sort recordings by date + +var ShowSubDir = 1 ; // 0 = no, 1 = yes (default) // show seperate maps for subdirs in menu recordings +var showClock = 0; // 0 = no, 1 = yes +var SwitchGuide = 0; // 0 = no, 1 = yes +var PipSwitchGuide = 0; // 0 = no, 1 = yes // use second/pip player for getting epg update in guide view // !!Unstable!! box might restart +var TimeShift = 0; // 0 = no, 1 = yes timeshift +var KillStream = 1; // 1 = Close stream on Standby +var ShowProtectedChannels = 1; // 0 = yes show, 1 = don't show protected channels (default) +var ProtectTimeOut = 60 * (60 * 1000); //time out in minutes (0 = no timeout) +var ShowSource = 1; // show source in OSD +var pipPlayer = 0; // 0 = no, 1 = yes Pip +var mediaRecorder = 1; // 0 = no, 1 = yes local recording. +var PauseOnServer = 0; // 0 = no pause on server, 1 = pause live TV on server +var ShowMPD = 0; // 0 = don't use MPD, 1 = make use of MPD (http://www.musicpd.org/) + +var fullupdate = 1; // If guideview is too slow, set it to 0 (for 1910/1960), faster boxes can use 1 +// to force the use on boxes other then 19x3 use 2!! + + +var ShowOsdTime = 5000; //Time to show OSD, in seconds * 1000 +var ShowSetTimer = 3000; //Time to show set timer popup, in seconds * 1000 +var ChangeTime = 2000; // Time before the channel change happens (was only with OK) + +var serverEPGdays = 3 * (60 * 60 * 24); // the higher the longer you wait while getting the epg info + +var VolumeStep = 5; // Steps the volume buttons make + +// Server for Recordings +var recServ = ":" + "8000"; +var RestFulAPI = ":" + "8002"; +var MPDAddress = ":" + "8888"; +var StreamPort = ":" + "3000" + "/"; +//var StreamPort = ":" + "8000" + "/live/"; + +var channeldigits = 2; // 0 - Max 9, 1 max 99, 2 max 999 or 3 max 9999 channels directly selectable by numbers + +var Fav_group = 10; // Favorite Group 10 + +var EPGMode = 1; // 1 = FILTER_MODE_PF_AND_SCHEDULE 0 = FILTER_MODE_PF_ONLY + +var RecCmds = new Array(-1,1,-1,-1,-1,-1,-1,-1,-1,-1); +var RecCmdsIcon = new Array("","\uE005","","","","","","","",""); + +var preRecTime = 300 ;// for local recordings time before recording in seconds +var afterRecTime = 600 ; // for local recordings time after recording in seconds + + +// +// No need to change anything from here on. +// + +var experimental;// Use some experimental code +var lang_nr; +var testing2; +var ShowSubs; //Flash stored + +VideoOutputModes = new Array(4,5,7); // Modes for the portal. +VideoOutputModes_txt = new Array("NO_VIDEO_MODE","480I60","576I50","480P60","576P50","720P50","720P60","1080I50","1080I60","1080P23976","1080P24", + "1080P25","1080P29970","1080P30","1080P50","1080P59940","1080P60") + +// NO_VIDEO_MODE = 0 +// VIDEO_MODE_480I60 = 1 +// VIDEO_MODE_576I50 = 2 +// VIDEO_MODE_480P60 = 3 +// VIDEO_MODE_576P50 = 4 <-- +// VIDEO_MODE_720P50 = 5 <-- +// VIDEO_MODE_720P60 = 6 +// VIDEO_MODE_1080I50 = 7 <-- +// VIDEO_MODE_1080I60 = 8 +// VIDEO_MODE_1080P23976 = 9 +// VIDEO_MODE_1080P24 = 10 +// VIDEO_MODE_1080P25 = 11 +// VIDEO_MODE_1080P29970 = 12 +// VIDEO_MODE_1080P30 = 13 +// VIDEO_MODE_1080P50 = 14 +// VIDEO_MODE_1080P59940 = 15 +// VIDEO_MODE_1080P60 = 16 + +var videoConfig; +var Set_Res; +var Xfactor = new Array(); +var Yfactor = new Array(); + +// keep scale compliant with Videooutputmodes!! +// 720x576 +Xfactor[0] = 720 / 720; +Yfactor[0] = 576 / 576; +// 1280x720 +Xfactor[1] = 1280 / 720; +Yfactor[1] = 720 / 576; +// 1920x1080 +Xfactor[2] = 1920 / 720; +Yfactor[2] = 1080 / 576; + + +var audio = 0; +var audio_dyn = 0; +var subs_dyn = 0; + + +var lang_prio_dyn = new Array(); //Used for dynamic audio track selection +var subs_prio_dyn = new Array(); //Used for dynamic subs track selection + + +var ChanGroup = Number(String((currChan / 1000)).substring(0,1)); // default group +var minChan = new Array();var minchan = new Array(); var maxChan = new Array(); var defChan = new Array(); var baseChn = new Array(); var protChn = new Array(); var ServerAdres = new Array(); // Define settings for Channels. + + +var NN = new Array(); +var Lang = new Array(); +var CLang = new Array(); + +var isFullscreen = 1; +var Volume = StartVolume; +var AudioOut = 3; // AUDIO_CONNECTION_TYPE_ANALOG = 0; AUDIO_CONNECTION_TYPE_SPDIF = 1; AUDIO_CONNECTION_TYPE_HDMI = 2;AUDIO_CONNECTION_TYPE_DECODER = 3;AUDIO_CONNECTION_TYPE_BUFFER = 4;AUDIO_CONNECTION_TYPE_I2S = 5; + +var epgchan = currChan; +var prevChan = currChan; + +var channels = new Array(); +var channelsnames = new Array(); +var channelsepglang = new Array(); + +var currMed = 0; +var listMed = 0; +var DelisOK = 0; +var recPath = "/recordings.xml"; + +var menu = 0; +var isMediaMenu = 0; +var isVisible = 0; +var isSetupMenu = 0; +var isSchedule = 0; +var MainMenu = 0; +var mediaPlayer = null; +var Change = 0; +var ChangeOK = 0; +var Extok = 0; +var count = 0; + +//keys +var KEY_0 = "U+0030"; +var KEY_1 = "U+0031"; +var KEY_2 = "U+0032"; +var KEY_3 = "U+0033"; +var KEY_4 = "U+0034"; +var KEY_5 = "U+0035"; +var KEY_6 = "U+0036"; +var KEY_7 = "U+0037"; +var KEY_8 = "U+0038"; +var KEY_9 = "U+0039"; +var KEY_REC = "U+00bd"; +var KEY_REC2 = "MediaRecord"; +var KEY_OK = "Accept"; +//Extra keys +// Comhem Remote +var KEY_FAV = "U+e0003"; +var KEY_FILM = "U+e0033"; +var KEY_HELP2 = "U+f0001"; +// old kpn (vip1710/1760) +var KEY_OPNAMES = "U+0046"; +var KEY_HELP = "Info"; +var KEY_DIENSTEN = "Portal"; +var KEY_A = "U+0041"; // |> +var KEY_B = "U+0042"; // hh +var KEY_C = "U+0043"; // @ +var KEY_D = "U+0044"; // >@ +// Comx keyboard +var KEY_DVR = "DVR"; +var KEY_WWW = "Web"; +var KEY_STOP = "U+001B"; +var KEY_EPG = "List"; +var KEY_MPT = "MediaPreviousTrack"; +var KEY_MNT = "MediaNextTrack"; +// Comx remote + + + +var eitCache = null; +var events = null; +var eitService = null; +var EPGShortnext; +var EPGShortnow; +var listChan = 0; +var NowNext = 0; +var EpgInfo = new Array(); +var EpgExtInfo = new Array(); +var files = new Array(); + +// +//NowNext, 1 = programma naam event.name ,currchan +//0 1 2 = start event.time +//2 = schedule 3 = lengte event.duration (/60 = minuten) +// 4 = shortinfo +// 5 = extinfo +// 6 = eventid +// 7 = EPGNow / EPGNext +// 8 = ParentalRating +// 9 = ContentNibbles +var EPG = new Array(); +EPG[0] = new Array(); +EPG[1] = new Array(); +EPG[2] = new Array(); +EPG[0][1] = new Array(); +EPG[0][2] = new Array(); +EPG[0][3] = new Array(); +EPG[0][4] = new Array(); +EPG[0][5] = new Array(); +EPG[0][6] = new Array(); +EPG[0][7] = new Array(); +EPG[0][8] = new Array(); +EPG[0][9] = new Array(); +EPG[1][1] = new Array(); +EPG[1][2] = new Array(); +EPG[1][3] = new Array(); +EPG[1][4] = new Array(); +EPG[1][5] = new Array(); +EPG[1][6] = new Array(); +EPG[1][7] = new Array(); +EPG[1][8] = new Array(); +EPG[1][9] = new Array(); +EPG[2][1] = new Array(); +EPG[2][2] = new Array(); +EPG[2][3] = new Array(); +EPG[2][4] = new Array(); +EPG[2][5] = new Array(); +EPG[2][6] = new Array(); +EPG[2][7] = new Array(); +EPG[2][8] = new Array(); +EPG[2][9] = new Array(); + +var content; +var connib = 0x00000000; +var osdtimeout = 0; +var osdVolumetimeout = 0; +var epgactive = 0; +var preChan = 0; +var preGrp = 0; +var timerChan = 10; +var TimerActions; +var initialDelayID = 0; +var CAdelayID = 0; +var ProtectID = 0; +var SleepTimer = 0; +var SleepTimerID = -1; +var initialDelayPlayID = -1; +var TimedChangeID = -1; + +var instanttimer = new Array(); +var inst_timer = 0; + +var switchicon = "\uE003"; +var CAicon = "\uE00F"; +var RECicon = "\uE003"; +var Radioicon = "\uE003"; + +var AvInfo = new Array(); +var xx = 0; + +var subsmode = 0; // "cfg.media.subtitling.modepriority","Teletext,DVB" + +var rec_lst = new Array(); // Full recording list, used for sorting +var recTitl = new Array(); // title of recording +var recLink = new Array(); // link to get recording +var recDesc = new Array(); // description of the recording +var recDura = new Array(); // duration of the recording +var recStrt = new Array(); // date of recording +var recList = new Array(); // used to verify if the right recording is going to be deleted +var recMark = new Array(); // marks made in the recording, eg by Noad, Markad +var rec_New = new Array(); // Flag if recording is new (unseen) +var recGUID = new Array(); // GUID of recording +var recChan = new Array(); // Channel ID +var recDummy= new Array(); // +var recGroup= new Array(); // group index +var recProt = new Array(); // protect recording based on channelgroup +var recSubGroup = new Array(); // used for subgroups +var subgroup= 0 ; // Used for subdirs in recording view +var subsubgroup = 0;// Used for subdirs in recording view +var MaxInGroup=14; // Used for subdirs in recording view +var Group_Header = new Array(); // Header for submenu. + +var posMark = 0; +var recMap = 0; + +var timersID = new Array(); +var timersFlag = new Array(); +var timersStrt = new Array(); +var timersStop = new Array(); +var timersDays = new Array(); +var timersDay = new Array(); +var timersName = new Array(); +var timersFile = new Array(); +var timersEvnt = new Array(); +var timersChan = new Array(); +var maxTimers = 0; +var timerOK = 0; + +var searchtimersID = new Array(); +var searchtimersSearch = new Array(); +var searchtimersFlag = new Array(); +var SearchTimer = new Array(); + +var getRecOK = 0; +var position = 0; + +var timer = new Array(); +var timers = new Array(); +var searchtimers = new Array(); +var getbookingID = 0; +var timerID = 0; +var nrMedia = 0; +var MPDListener = 0; + +//vdr status +var free_space = 0; +var perc_space = 0; + +var isPause = 0; //used by pause routine. + +var Fav_base = Fav_group * 1000; +var Fav_max_channel; +baseChn[Fav_group] = Fav_base; +defChan[Fav_group] = Fav_base + 1; +minChan[Fav_group] = Fav_base + 1; +// +var Chan_Ver = "Not set"; +var Fav_key1; +var set_yellow_key = 0; +var URL; +var initialDelayPlay = 0; +var PlayDelayID; +var PIPDelayID; +var ErrorAgain = 0; +var smartTVplugin; // Turn on or off the use of smartTVplugin +var Restfulapiplugin; // Turn on or off the use of Restfulapiplugin +var localRecording = 0; +var box_ip; // Used for testing plugins +var test_ip; // Used for testing plugins + +var color_switchtimer = "color_switchtimer"; +var color_default = "color_default"; +var color_error = "color_error"; + diff --git a/javascript/settings2.js b/javascript/settings2.js new file mode 100644 index 0000000..513582e --- /dev/null +++ b/javascript/settings2.js @@ -0,0 +1,115 @@ + +var fsList; var fsSchedList; var fsSched; + +var color_bg = "#fc5"; +var color_main_head = "color:white"; +var color_sched_head = "color:white"; +var color_sched_font = "color:black"; +var color_timerinfo = "color:white"; + +var color_progress1 = "<font color=red>"; +var color_progress2 = "<font color=white>"; + + +function setOSDscale() { + fsList = (18*Yfactor[Set_Res]) + "px"; //1080 = 34, 720 = 23, 576 = 18 + fsSchedList = (18*Yfactor[Set_Res]) + "px"; //1080 = 34, 720 = 23, 576 = 18 + fsSched = (26*Yfactor[Set_Res]) + "px"; //1080 = 49, 720 = 33, 576 = 26 +} + +function GetSchedule(schchan,tablelength){ + //Old style Schedule, used in Guide View. + SI = ""; + try { + StreamInfo(schchan); + + eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); + eitCache.addService(eitService); + event = eitCache.getPresentEvent(eitService); + events = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); + + if (event.name) { + if (events.more) { + var t = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); + events.infoSequence.concat(t.infoSequence); + events.more = t.more; + } + + var txt = "<table><tr>"; + var i = 0; + for (i = 0; i < events.infoSequence.length && i < tablelength; i++) { + + while ((i > 0) && (events.infoSequence[i].eventId == events.infoSequence[(i-1)].eventId)) { + i = i + 1; + } + + tijd = events.infoSequence[i].time; + date = new Date(tijd*1000); + tijd = date.toUTCString(); + tijd = new Date(tijd); + var tm = tijd.getMinutes(); + var th = tijd.getHours(); + th=addzero(th); + tm=addzero(tm); + + txt = txt + "<td style='font-size:" + fsSchedList + ";" + color_sched_font + ";'>\uE003\uE003\uE003\uE003\uE003" + th + ":" + tm + " (" + (events.infoSequence[i].duration/60).toFixed(0) + ") " + Left(events.infoSequence[i].name,30) + "</td></tr>"; + } + txt = txt + "</table>"; + schedule.innerHTML = "<p style='" + color_sched_head + ";font-size:" + fsSched + ";'>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + txt + "</p>"; + } else { + schedule.innerHTML = "<p style='" + color_sched_head + ";font-size:" + fsSched + ";'>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + "</p>"; + } + + } catch(e) { + alert("Get EPG problem: " + e); + schedule.innerHTML = "<p style='" + color_sched_head + ";font-size:" + fsSched + ";'>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + "</p><p>" + Lang[6] + "</p>"; + } + +} + + +// Channelslist / EPG Guide +// +// show currchan - 5 +// highlite currchan +// show currchan + 5 +// +// check if chan is OK +// +function showChannelList() { + var liststyle = ""; + var htmlstring = "<table border='0'><tr>"; + listChan = currChan-5; + for(var i=currChan-5; i<=currChan+5; i++) { + do + { + listChan += 1; + if (listChan<minChan[ChanGroup]) { + listChan=maxChan[ChanGroup]; + } + if (listChan>maxChan[ChanGroup]) { + listChan=minChan[ChanGroup]; + } + } + + while (!channels[listChan] && (listChan<maxChan[ChanGroup])); + if (fullupdate) { GetEPG(listChan); } + if ( listChan == currChan) { + if (!fullupdate) { GetEPG(listChan); } + liststyle = "background:" + color_bg + ";"; + } else { + liststyle = ""; + } + EpgInfo[0] = EPG[0][7][listChan]; + EpgInfo[1] = EPG[1][7][listChan]; + htmlstring = htmlstring + "<td style='" + liststyle + "font-size:" + fsList + ";'>\uE003\uE003" + listChan + "\uE003</td><td style='" + liststyle + "font-size:" + fsList + ";'>" + Left(channelsnames[listChan],15) + "\uE003</td><td style='" + liststyle + "font-size:" + fsList + ";'>" + Left(EpgInfo[NowNext],64) + "</td></tr>"; + } + htmlstring = htmlstring + "</table>"; + channellist.innerHTML = htmlstring; + chanlistepg.innerHTML = "<p class=epg>" + EPG[NowNext][1][currChan] + "</p><p class=list>" + Left(EPG[NowNext][4][currChan],250) + "</p>" ; + +} + + +// END of Channelslist / EPG Guide + diff --git a/lang_dut.js b/lang_dut.js deleted file mode 100755 index 09e1998..0000000 --- a/lang_dut.js +++ /dev/null @@ -1,120 +0,0 @@ -// -// language file -// - - -NN[0] = "Nu"; -NN[1] = "Hierna"; -NN[2] = "Overzicht"; -NN[3] = "TIMER"; -NN[4] = "-----"; -NN[5] = "INFO"; -NN[6] = "Terug"; - -//lang_prio = new Array("dut,eng,und","ger,deu,eng","eng,und","fre,fra,eng"); -lang_prio_lang = new Array("Nederlands", "Duits", "Engels","Frans"); -months = new Array('Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'); -days = new Array('Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'); - -searchmode = new Array('zin', 'alle woorden', 'minimaal een woord', 'exacte overeenkomst', 'regex', 'fuzzy'); -searchchan = new Array('geen', 'interval', 'channel groep', 'alleen FTA'); - -// EPG Content -CLang[0] = "Movie/Drama"; -CLang[10] = "News/Current affairs"; -CLang[20] = "Show/Game show"; -CLang[30] = "Sports"; -CLang[40] = "Children's/Youth programmes"; -CLang[50] = "Music/Ballet/Dance"; -CLang[60] = "Arts/Culture (without music)"; -CLang[70] = "Social/Political issues/Economics"; -CLang[80] = "Education/Science/Factual topics"; -CLang[90] = "Leisure hobbies"; -CLang[100] = "Special characteristics"; - -Lang[0] = " Een ogenblik geduld AUB "; -Lang[1] = "VOLUME"; -Lang[2] = " Naam : "; -Lang[3] = " Kanaal : "; -Lang[4] = " Starttijd : "; -Lang[5] = " Vanaf "; // Epg rating -Lang[6] = " Geen EPG "; -Lang[7] = " Timers "; -Lang[8] = " ZoekTimers "; -Lang[9] = " HoofdMenu "; -Lang[10] = " Instellingen "; -Lang[11] = " EPG "; -Lang[12] = " Server : Opnames "; -Lang[13] = " Server : Timers "; -Lang[14] = " Server : EPG "; -Lang[15] = " Server : Media Directory "; -Lang[16] = " Server : ZoekTimers "; -Lang[17] = " Server : MPD Verbinding "; -Lang[18] = " Herstart "; -Lang[19] = " \uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003 "; - -//Settings menu -Lang[20] = " Ondertiteling "; -Lang[21] = " Ondertiteling Type Prio "; -Lang[22] = " Ondertiteling Prio : "; -Lang[23] = " Menu Taal : "; -Lang[24] = " AudioVoorkeurstaal : "; -Lang[25] = " Frontdisplay Klok "; -Lang[26] = " Beveiliging "; -Lang[27] = " Preview guide "; -Lang[28] = " INFO "; -Lang[29] = " SlaapTimer : "; -Lang[30] = " minuten "; -Lang[31] = "UIT"; -Lang[32] = " DRUK OP ROOD OM TE WISSEN "; -Lang[33] = " MPD Verbinding "; -Lang[34] = " MENU om te beeindigen "; -Lang[35] = " BOX-INFO "; -Lang[36] = " Problemen met het opvragen van de timers van "; -Lang[37] = " GEEN INFO "; -Lang[38] = " OPNAMES "; -Lang[39] = " Problemen met het opvragen van de opnames !!! " - -Lang[40] = "Gebruik als zoektimer"; -Lang[41] = "Gebruik Tijd"; -Lang[42] = "Channel Mode"; -Lang[43] = " Problemen met het opvragen van ZoekTimers "; -Lang[47] = "Gebruik dag van de week"; - -Lang[44] = " OK om te wissen "; -Lang[45] = " andere toets om dit niet te doen "; -Lang[46] = "vrij "; -//Lang[47] -Lang[48] = " Wissen "; -Lang[49] = " In/Active "; - -Lang[50] = " Server EPG "; -Lang[51] = " Problemen met het opvragen van de EPG !!! "; -Lang[52] = " GEEN EPG op dit kanaal!!! "; -Lang[53] = " Problemen met het opvragen van de EPG !!! "; -Lang[54] = " Minuten "; -Lang[55] = "FOUT met instellen opname"; -Lang[56] = "Min."; -Lang[57] = "Opname gestart"; - -Lang[60] = " MPD Verbinding "; -Lang[61] = " Opnieuw "; -Lang[62] = " Problemen met het verbinden met MPD server "; -Lang[63] = " Opnieuw verbinden "; -Lang[64] = " Verbonden met MPD server "; -Lang[65] = " maar streaming gestopt "; -Lang[66] = " Reden "; -Lang[67] = "Verbindings probleem"; - -Lang[70] = "Pause"; -Lang[80] = "Toon KanaalGroep"; -Lang[81] = "Groep "; -Lang[82] = "Groep Selektie"; -Lang[83] = "Favorieten Lijst"; -Lang[84] = " schuif op "; -Lang[85] = " schuif neer "; -Lang[86] = " Toevoegen "; -Lang[87] = " Wissen "; - -Lang[90] = "Deze zender zit niet in je pakket"; - diff --git a/lang_eng.js b/lang_eng.js deleted file mode 100755 index 0b41fb2..0000000 --- a/lang_eng.js +++ /dev/null @@ -1,120 +0,0 @@ -// -// language file -// - - -NN[0] = "Now"; -NN[1] = "Next"; -NN[2] = "Schedule"; -NN[3] = "TIMER"; -NN[4] = "-----"; -NN[5] = "INFO"; -NN[6] = "BACK"; - -//lang_prio = new Array("dut,eng,und","ger,deu,eng","eng,und","fre,fra,eng"); -lang_prio_lang = new Array("Dutch", "German", "English","French"); -months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); -days = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); - -searchmode = new Array('phrase', 'all words', 'at least one word', 'match exactly', 'regex', 'fuzzy'); -searchchan = new Array('no', 'interval', 'channel group', 'only FTA'); - -// EPG Content -CLang[0] = "Movie/Drama"; -CLang[10] = "News/Current affairs"; -CLang[20] = "Show/Game show"; -CLang[30] = "Sports"; -CLang[40] = "Children's/Youth programmes"; -CLang[50] = "Music/Ballet/Dance"; -CLang[60] = "Arts/Culture (without music)"; -CLang[70] = "Social/Political issues/Economics"; -CLang[80] = "Education/Science/Factual topics"; -CLang[90] = "Leisure hobbies"; -CLang[100] = "Special characteristics"; - -Lang[0] = " Please WAIT "; -Lang[1] = "VOLUME"; -Lang[2] = " Name : "; -Lang[3] = " channel : "; -Lang[4] = " Starttime : "; -Lang[5] = " from "; // Epg rating -Lang[6] = " NO EPG "; -Lang[7] = " Timers "; -Lang[8] = " SearchTimers "; -Lang[9] = " MainMenu "; -Lang[10] = " Settings "; -Lang[11] = " EPG "; -Lang[12] = " Server : Recordings "; -Lang[13] = " Server : Timers "; -Lang[14] = " Server : EPG "; -Lang[15] = " Server : Media Directory "; -Lang[16] = " Server : SearchTimers "; -Lang[17] = " Server : MPD Connection "; -Lang[18] = " Restart "; -Lang[19] = " \uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003 "; - -//Settings menu -Lang[20] = " Show Subs "; -Lang[21] = " Subs Type Prio "; -Lang[22] = " Subs Mode Prio : "; -Lang[23] = " Menu Language : "; -Lang[24] = " Prio audio track : "; -Lang[25] = " Frontdisplay Clock "; -Lang[26] = " Protection "; -Lang[27] = " Preview guide "; -Lang[28] = " INFO "; -Lang[29] = " SleepTimer : "; -Lang[30] = " minutes "; -Lang[31] = "OFF"; -Lang[32] = " PRESS RED-KEY TO REMOVE "; -Lang[33] = " MPD Connection "; -Lang[34] = " MENU to exit "; -Lang[35] = " BOX-INFO "; -Lang[36] = " ERROR Getting Timers from "; -Lang[37] = " NO INFO "; -Lang[38] = " RECORDINGS "; -Lang[39] = " ERROR getting RECORDINGS !!! " - -Lang[40] = "Use as Search Timer"; -Lang[41] = "Use Time"; -Lang[42] = "Channel Mode"; -Lang[43] = " ERROR Getting SearchTimers from "; -Lang[47] = "Use day of the week"; - -Lang[44] = " OK to delete "; -Lang[45] = " other to abort "; -Lang[46] = "free "; -//Lang[47] -Lang[48] = " Delete "; -Lang[49] = " Un/Active "; - -Lang[50] = " Server EPG "; -Lang[51] = " ERROR getting Server EPG !!! "; -Lang[52] = " NO EPG on this channel!!! "; -Lang[53] = " ERROR getting EPG !!! "; -Lang[54] = " Minutes "; -Lang[55] = "ERROR starting recording"; -Lang[56] = "Min."; -Lang[57] = "Recording started"; - -Lang[60] = " MPD Connection "; -Lang[61] = " Retry "; -Lang[62] = " ERROR Connecting to MPD server "; -Lang[63] = " Reconnect "; -Lang[64] = " Connected to MPD server "; -Lang[65] = " but streaming ended "; -Lang[66] = " Reason "; -Lang[67] = "Connection Error"; - -Lang[70] = "Pause"; -Lang[80] = "Show ChannelsGroup"; -Lang[81] = "Group "; -Lang[82] = "Group Selection"; -Lang[83] = "Favorites List"; -Lang[84] = " Move UP "; -Lang[85] = " Move Down "; -Lang[86] = " ADD "; -Lang[87] = " Delete "; - - -Lang[90] = "No subscription for this channel"; diff --git a/lang_ger.js b/lang_ger.js deleted file mode 100644 index 085568b..0000000 --- a/lang_ger.js +++ /dev/null @@ -1,119 +0,0 @@ -// -// language file -// - -NN[0] = "Jetzt"; -NN[1] = "Weiter"; -NN[2] = "Zeitplan"; -NN[3] = "TIMER"; -NN[4] = "-----"; -NN[5] = "INFO"; -NN[6] = "ZURUCK"; - -lang_prio_lang = new Array("Hollandisch", "Deutsch", "Englisch", "Franzosisch"); -months = new Array("Januar", "Februar", "Marz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember "); -days = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); - -searchmode = new Array('Ausdruck', 'alle Worter', 'zumindest ein Wort','genau ubereinstimmen', 'regex', 'Fuzzy'); -searchchan = new Array('Kein', 'Intervall', 'Kanalgruppe', 'nur FTA'); - -// EPG Content -CLang[0] = "Movie / Drama"; -CLang[10] = "News / Aktuelles"; -CLang[20] = "Show / Spielshow"; -CLang[30] = "Sport"; -CLang[40] = "Kinder / Jugendliche"; -CLang[50] = "Musik / Ballett / Tanz"; -CLang[60] = "Kunst / Kultur (ohne Musik)"; -CLang[70] = "Gesellschaft / Politik / Wirtschaft"; -CLang[80] = "Bildung / Wissenschaft / Factual Themen"; -CLang[90] = "Freizeit & Hobby"; -CLang[100] = "Besondere Merkmale"; - - - -Lang[0] = " Bitte warten "; -Lang[1] = "VOLUME"; -Lang[2] = " Name : "; -Lang[3] = " Kanal : "; -Lang[4] = " Startzeit: "; -Lang[5] = " Ab "; // EPG Bewertung -Lang[6] = " KEIN EPG "; -Lang[7] = " Timers "; -Lang[8] = " Suchtimer "; -Lang[9] = " HauptMenu "; -Lang[10] = " Einstellungen "; -Lang[11] = " EPG "; -Lang[12] = " Server : Aufnahmen "; -Lang[13] = " Server : Zeiten "; -Lang[14] = " Server : EPG "; -Lang[15] = " Server : Medienverzeichnis "; -Lang[16] = " Server : Suchtimer "; -Lang[17] = " Server : MPD Connection "; -Lang[18] = " Neustart "; -Lang[19] = " \uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003 "; - -//Settings menu -Lang[20] = " UnterTiteln "; -Lang[21] = " UnterTiteln Typ Prio "; -Lang[22] = " UnterTiteln Prio: "; -Lang[23] = " Menu-Sprache : "; -Lang[24] = " Prio Audiospur : "; -Lang[25] = " Frontdisplay Uhr "; -Lang[26] = " Schutz "; -Lang[27] = " Vorschau Zeitplan "; -Lang[28] = " INFO "; -Lang[29] = " Sleeptimer : "; -Lang[30] = " Minuten "; -Lang[31] = "OFF"; -Lang[32] = " DRUCKE ROTEN TASTE UM ZU LOSCHEN "; -Lang[33] = " MPD Connection "; -Lang[34] = " Menu verlassen "; -Lang[35] = " BOX-INFO "; -Lang[36] = " Fehler beim Abrufen der Timer von "; -Lang[37] = " KEINE INFO "; -Lang[38] = " AUFNAHMEN "; -Lang[39] = " Fehler beim AUFNAHMEN! " - -Lang[40] = "Suchtimer"; -Lang[41] = "Time"; -Lang[42] = "Kanal Mode"; -Lang[43] = " Fehler beim Suchtimer von "; -Lang[47] = "Verwenden Tag der Woche"; - -Lang[44] = " OK, um zu loschen "; -Lang[45] = " anderen abbrechen "; -Lang[46] = "Frei "; -Lang[48] = " Loschen "; -Lang[49] = " In/Aktiv "; - -Lang[50] = " Server-EPG "; -Lang[51] = " FEHLER beim abfragen Server EPG!! "; -Lang[52] = " Kein EPG auf diesem Kanal!! "; -Lang[53] = " FEHLER beim abfragen EPG !! "; -Lang[54] = "Minuten"; -Lang[55] = "Fehler beim Starten Aufnahme"; -Lang[56] = "Min."; -Lang[57] = "Aufnahme gestartet"; - -Lang[60] = " MPD Connection "; -Lang[61] = " Wiederholen "; -Lang[62] = " Fehler beim Verbinden mit MPD-Server "; -Lang[63] = " Reconnect "; -Lang[64] = " Verbunden mit MPD-Server "; -Lang[65] = " aber Streaming beendet "; -Lang[66] = " Grund "; -Lang[67] = "Connection Error"; - -Lang[70] = "Pause"; -Lang[80] = "Zeige KanalGruppe"; -Lang[81] = "Gruppe "; -Lang[82] = "Gruppe wahlen"; -Lang[83] = "Favoriten Liste"; -Lang[84] = " Nach oben "; -Lang[85] = " Nach unten "; -Lang[86] = " hinzufugen "; -Lang[87] = " Loschen "; - - -Lang[90] = "Kein Abo fur diesen Kanal"; diff --git a/languages/lang_dut.js b/languages/lang_dut.js new file mode 100644 index 0000000..09e1998 --- /dev/null +++ b/languages/lang_dut.js @@ -0,0 +1,120 @@ +// +// language file +// + + +NN[0] = "Nu"; +NN[1] = "Hierna"; +NN[2] = "Overzicht"; +NN[3] = "TIMER"; +NN[4] = "-----"; +NN[5] = "INFO"; +NN[6] = "Terug"; + +//lang_prio = new Array("dut,eng,und","ger,deu,eng","eng,und","fre,fra,eng"); +lang_prio_lang = new Array("Nederlands", "Duits", "Engels","Frans"); +months = new Array('Januari', 'Februari', 'Maart', 'April', 'Mei', 'Juni', 'Juli', 'Augustus', 'September', 'Oktober', 'November', 'December'); +days = new Array('Zondag', 'Maandag', 'Dinsdag', 'Woensdag', 'Donderdag', 'Vrijdag', 'Zaterdag'); + +searchmode = new Array('zin', 'alle woorden', 'minimaal een woord', 'exacte overeenkomst', 'regex', 'fuzzy'); +searchchan = new Array('geen', 'interval', 'channel groep', 'alleen FTA'); + +// EPG Content +CLang[0] = "Movie/Drama"; +CLang[10] = "News/Current affairs"; +CLang[20] = "Show/Game show"; +CLang[30] = "Sports"; +CLang[40] = "Children's/Youth programmes"; +CLang[50] = "Music/Ballet/Dance"; +CLang[60] = "Arts/Culture (without music)"; +CLang[70] = "Social/Political issues/Economics"; +CLang[80] = "Education/Science/Factual topics"; +CLang[90] = "Leisure hobbies"; +CLang[100] = "Special characteristics"; + +Lang[0] = " Een ogenblik geduld AUB "; +Lang[1] = "VOLUME"; +Lang[2] = " Naam : "; +Lang[3] = " Kanaal : "; +Lang[4] = " Starttijd : "; +Lang[5] = " Vanaf "; // Epg rating +Lang[6] = " Geen EPG "; +Lang[7] = " Timers "; +Lang[8] = " ZoekTimers "; +Lang[9] = " HoofdMenu "; +Lang[10] = " Instellingen "; +Lang[11] = " EPG "; +Lang[12] = " Server : Opnames "; +Lang[13] = " Server : Timers "; +Lang[14] = " Server : EPG "; +Lang[15] = " Server : Media Directory "; +Lang[16] = " Server : ZoekTimers "; +Lang[17] = " Server : MPD Verbinding "; +Lang[18] = " Herstart "; +Lang[19] = " \uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003 "; + +//Settings menu +Lang[20] = " Ondertiteling "; +Lang[21] = " Ondertiteling Type Prio "; +Lang[22] = " Ondertiteling Prio : "; +Lang[23] = " Menu Taal : "; +Lang[24] = " AudioVoorkeurstaal : "; +Lang[25] = " Frontdisplay Klok "; +Lang[26] = " Beveiliging "; +Lang[27] = " Preview guide "; +Lang[28] = " INFO "; +Lang[29] = " SlaapTimer : "; +Lang[30] = " minuten "; +Lang[31] = "UIT"; +Lang[32] = " DRUK OP ROOD OM TE WISSEN "; +Lang[33] = " MPD Verbinding "; +Lang[34] = " MENU om te beeindigen "; +Lang[35] = " BOX-INFO "; +Lang[36] = " Problemen met het opvragen van de timers van "; +Lang[37] = " GEEN INFO "; +Lang[38] = " OPNAMES "; +Lang[39] = " Problemen met het opvragen van de opnames !!! " + +Lang[40] = "Gebruik als zoektimer"; +Lang[41] = "Gebruik Tijd"; +Lang[42] = "Channel Mode"; +Lang[43] = " Problemen met het opvragen van ZoekTimers "; +Lang[47] = "Gebruik dag van de week"; + +Lang[44] = " OK om te wissen "; +Lang[45] = " andere toets om dit niet te doen "; +Lang[46] = "vrij "; +//Lang[47] +Lang[48] = " Wissen "; +Lang[49] = " In/Active "; + +Lang[50] = " Server EPG "; +Lang[51] = " Problemen met het opvragen van de EPG !!! "; +Lang[52] = " GEEN EPG op dit kanaal!!! "; +Lang[53] = " Problemen met het opvragen van de EPG !!! "; +Lang[54] = " Minuten "; +Lang[55] = "FOUT met instellen opname"; +Lang[56] = "Min."; +Lang[57] = "Opname gestart"; + +Lang[60] = " MPD Verbinding "; +Lang[61] = " Opnieuw "; +Lang[62] = " Problemen met het verbinden met MPD server "; +Lang[63] = " Opnieuw verbinden "; +Lang[64] = " Verbonden met MPD server "; +Lang[65] = " maar streaming gestopt "; +Lang[66] = " Reden "; +Lang[67] = "Verbindings probleem"; + +Lang[70] = "Pause"; +Lang[80] = "Toon KanaalGroep"; +Lang[81] = "Groep "; +Lang[82] = "Groep Selektie"; +Lang[83] = "Favorieten Lijst"; +Lang[84] = " schuif op "; +Lang[85] = " schuif neer "; +Lang[86] = " Toevoegen "; +Lang[87] = " Wissen "; + +Lang[90] = "Deze zender zit niet in je pakket"; + diff --git a/languages/lang_eng.js b/languages/lang_eng.js new file mode 100644 index 0000000..0b41fb2 --- /dev/null +++ b/languages/lang_eng.js @@ -0,0 +1,120 @@ +// +// language file +// + + +NN[0] = "Now"; +NN[1] = "Next"; +NN[2] = "Schedule"; +NN[3] = "TIMER"; +NN[4] = "-----"; +NN[5] = "INFO"; +NN[6] = "BACK"; + +//lang_prio = new Array("dut,eng,und","ger,deu,eng","eng,und","fre,fra,eng"); +lang_prio_lang = new Array("Dutch", "German", "English","French"); +months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); +days = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); + +searchmode = new Array('phrase', 'all words', 'at least one word', 'match exactly', 'regex', 'fuzzy'); +searchchan = new Array('no', 'interval', 'channel group', 'only FTA'); + +// EPG Content +CLang[0] = "Movie/Drama"; +CLang[10] = "News/Current affairs"; +CLang[20] = "Show/Game show"; +CLang[30] = "Sports"; +CLang[40] = "Children's/Youth programmes"; +CLang[50] = "Music/Ballet/Dance"; +CLang[60] = "Arts/Culture (without music)"; +CLang[70] = "Social/Political issues/Economics"; +CLang[80] = "Education/Science/Factual topics"; +CLang[90] = "Leisure hobbies"; +CLang[100] = "Special characteristics"; + +Lang[0] = " Please WAIT "; +Lang[1] = "VOLUME"; +Lang[2] = " Name : "; +Lang[3] = " channel : "; +Lang[4] = " Starttime : "; +Lang[5] = " from "; // Epg rating +Lang[6] = " NO EPG "; +Lang[7] = " Timers "; +Lang[8] = " SearchTimers "; +Lang[9] = " MainMenu "; +Lang[10] = " Settings "; +Lang[11] = " EPG "; +Lang[12] = " Server : Recordings "; +Lang[13] = " Server : Timers "; +Lang[14] = " Server : EPG "; +Lang[15] = " Server : Media Directory "; +Lang[16] = " Server : SearchTimers "; +Lang[17] = " Server : MPD Connection "; +Lang[18] = " Restart "; +Lang[19] = " \uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003 "; + +//Settings menu +Lang[20] = " Show Subs "; +Lang[21] = " Subs Type Prio "; +Lang[22] = " Subs Mode Prio : "; +Lang[23] = " Menu Language : "; +Lang[24] = " Prio audio track : "; +Lang[25] = " Frontdisplay Clock "; +Lang[26] = " Protection "; +Lang[27] = " Preview guide "; +Lang[28] = " INFO "; +Lang[29] = " SleepTimer : "; +Lang[30] = " minutes "; +Lang[31] = "OFF"; +Lang[32] = " PRESS RED-KEY TO REMOVE "; +Lang[33] = " MPD Connection "; +Lang[34] = " MENU to exit "; +Lang[35] = " BOX-INFO "; +Lang[36] = " ERROR Getting Timers from "; +Lang[37] = " NO INFO "; +Lang[38] = " RECORDINGS "; +Lang[39] = " ERROR getting RECORDINGS !!! " + +Lang[40] = "Use as Search Timer"; +Lang[41] = "Use Time"; +Lang[42] = "Channel Mode"; +Lang[43] = " ERROR Getting SearchTimers from "; +Lang[47] = "Use day of the week"; + +Lang[44] = " OK to delete "; +Lang[45] = " other to abort "; +Lang[46] = "free "; +//Lang[47] +Lang[48] = " Delete "; +Lang[49] = " Un/Active "; + +Lang[50] = " Server EPG "; +Lang[51] = " ERROR getting Server EPG !!! "; +Lang[52] = " NO EPG on this channel!!! "; +Lang[53] = " ERROR getting EPG !!! "; +Lang[54] = " Minutes "; +Lang[55] = "ERROR starting recording"; +Lang[56] = "Min."; +Lang[57] = "Recording started"; + +Lang[60] = " MPD Connection "; +Lang[61] = " Retry "; +Lang[62] = " ERROR Connecting to MPD server "; +Lang[63] = " Reconnect "; +Lang[64] = " Connected to MPD server "; +Lang[65] = " but streaming ended "; +Lang[66] = " Reason "; +Lang[67] = "Connection Error"; + +Lang[70] = "Pause"; +Lang[80] = "Show ChannelsGroup"; +Lang[81] = "Group "; +Lang[82] = "Group Selection"; +Lang[83] = "Favorites List"; +Lang[84] = " Move UP "; +Lang[85] = " Move Down "; +Lang[86] = " ADD "; +Lang[87] = " Delete "; + + +Lang[90] = "No subscription for this channel"; diff --git a/languages/lang_ger.js b/languages/lang_ger.js new file mode 100644 index 0000000..085568b --- /dev/null +++ b/languages/lang_ger.js @@ -0,0 +1,119 @@ +// +// language file +// + +NN[0] = "Jetzt"; +NN[1] = "Weiter"; +NN[2] = "Zeitplan"; +NN[3] = "TIMER"; +NN[4] = "-----"; +NN[5] = "INFO"; +NN[6] = "ZURUCK"; + +lang_prio_lang = new Array("Hollandisch", "Deutsch", "Englisch", "Franzosisch"); +months = new Array("Januar", "Februar", "Marz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember "); +days = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"); + +searchmode = new Array('Ausdruck', 'alle Worter', 'zumindest ein Wort','genau ubereinstimmen', 'regex', 'Fuzzy'); +searchchan = new Array('Kein', 'Intervall', 'Kanalgruppe', 'nur FTA'); + +// EPG Content +CLang[0] = "Movie / Drama"; +CLang[10] = "News / Aktuelles"; +CLang[20] = "Show / Spielshow"; +CLang[30] = "Sport"; +CLang[40] = "Kinder / Jugendliche"; +CLang[50] = "Musik / Ballett / Tanz"; +CLang[60] = "Kunst / Kultur (ohne Musik)"; +CLang[70] = "Gesellschaft / Politik / Wirtschaft"; +CLang[80] = "Bildung / Wissenschaft / Factual Themen"; +CLang[90] = "Freizeit & Hobby"; +CLang[100] = "Besondere Merkmale"; + + + +Lang[0] = " Bitte warten "; +Lang[1] = "VOLUME"; +Lang[2] = " Name : "; +Lang[3] = " Kanal : "; +Lang[4] = " Startzeit: "; +Lang[5] = " Ab "; // EPG Bewertung +Lang[6] = " KEIN EPG "; +Lang[7] = " Timers "; +Lang[8] = " Suchtimer "; +Lang[9] = " HauptMenu "; +Lang[10] = " Einstellungen "; +Lang[11] = " EPG "; +Lang[12] = " Server : Aufnahmen "; +Lang[13] = " Server : Zeiten "; +Lang[14] = " Server : EPG "; +Lang[15] = " Server : Medienverzeichnis "; +Lang[16] = " Server : Suchtimer "; +Lang[17] = " Server : MPD Connection "; +Lang[18] = " Neustart "; +Lang[19] = " \uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003 "; + +//Settings menu +Lang[20] = " UnterTiteln "; +Lang[21] = " UnterTiteln Typ Prio "; +Lang[22] = " UnterTiteln Prio: "; +Lang[23] = " Menu-Sprache : "; +Lang[24] = " Prio Audiospur : "; +Lang[25] = " Frontdisplay Uhr "; +Lang[26] = " Schutz "; +Lang[27] = " Vorschau Zeitplan "; +Lang[28] = " INFO "; +Lang[29] = " Sleeptimer : "; +Lang[30] = " Minuten "; +Lang[31] = "OFF"; +Lang[32] = " DRUCKE ROTEN TASTE UM ZU LOSCHEN "; +Lang[33] = " MPD Connection "; +Lang[34] = " Menu verlassen "; +Lang[35] = " BOX-INFO "; +Lang[36] = " Fehler beim Abrufen der Timer von "; +Lang[37] = " KEINE INFO "; +Lang[38] = " AUFNAHMEN "; +Lang[39] = " Fehler beim AUFNAHMEN! " + +Lang[40] = "Suchtimer"; +Lang[41] = "Time"; +Lang[42] = "Kanal Mode"; +Lang[43] = " Fehler beim Suchtimer von "; +Lang[47] = "Verwenden Tag der Woche"; + +Lang[44] = " OK, um zu loschen "; +Lang[45] = " anderen abbrechen "; +Lang[46] = "Frei "; +Lang[48] = " Loschen "; +Lang[49] = " In/Aktiv "; + +Lang[50] = " Server-EPG "; +Lang[51] = " FEHLER beim abfragen Server EPG!! "; +Lang[52] = " Kein EPG auf diesem Kanal!! "; +Lang[53] = " FEHLER beim abfragen EPG !! "; +Lang[54] = "Minuten"; +Lang[55] = "Fehler beim Starten Aufnahme"; +Lang[56] = "Min."; +Lang[57] = "Aufnahme gestartet"; + +Lang[60] = " MPD Connection "; +Lang[61] = " Wiederholen "; +Lang[62] = " Fehler beim Verbinden mit MPD-Server "; +Lang[63] = " Reconnect "; +Lang[64] = " Verbunden mit MPD-Server "; +Lang[65] = " aber Streaming beendet "; +Lang[66] = " Grund "; +Lang[67] = "Connection Error"; + +Lang[70] = "Pause"; +Lang[80] = "Zeige KanalGruppe"; +Lang[81] = "Gruppe "; +Lang[82] = "Gruppe wahlen"; +Lang[83] = "Favoriten Liste"; +Lang[84] = " Nach oben "; +Lang[85] = " Nach unten "; +Lang[86] = " hinzufugen "; +Lang[87] = " Loschen "; + + +Lang[90] = "Kein Abo fur diesen Kanal"; diff --git a/main.js b/main.js deleted file mode 100644 index 3c07f40..0000000 --- a/main.js +++ /dev/null @@ -1,5048 +0,0 @@ -window.onkeydown = onKeyDown; - -function onLoad() { - - is = toi.informationService; - ss = toi.schedulerService; - aos = toi.audioOutputService; - vos = toi.videoOutputService; - fps = toi.frontPanelService; - ams = toi.assetManagerService; - - GetSettings(); - createPlayer(); - createEitCache(); - - if(pipPlayer){ - addPipVideoplane(); - createPip(); - } - if(PipSwitchGuide){ - createPip(); - } - - embedTeletextPlugin(); - aos.setVolume(AudioOut, StartVolume); - aos.setMuteState(AudioOut, false); - showDisplay(currChan.toString(), false, 100, 0 ); - play(channels[currChan]); - - if (EPGMode) { - eitCache.setFilterMode(eitCache.FILTER_MODE_PF_AND_SCHEDULE); - } else { - eitCache.setFilterMode(eitCache.FILTER_MODE_PF_ONLY); - } - eitCache.addEventListener(eitCache.ON_CACHE_UPDATED, onCacheUpdated); - mediaPlayer.addEventListener(mediaPlayer.ON_DATA_AVAILABLE,onDataAvailableEvent); - mediaPlayer.addEventListener(mediaPlayer.ON_STATE_CHANGED, MPD); - - if (is.getObject("var.capabilities.dvr") == "FALSE") { - mediaRecorder = 0; - // No harddisk, no recorder functions possible - } - - if (is.getObject("config.architecture.target") !== "vip1903" && fullupdate !== 2) { - fullupdate = 0; - // No 19x3 so better turn fullupdate EPG off - } - - if (mediaRecorder) { - createRecorder(); - mediaRecorder.addEventListener(mediaRecorder.ON_STATE_CHANGED, onRecorderStateChanged); - om = toi.assetManagerService.getAssetOperationManager(); //toi.OperationManager; - rma = om.createOperation("Remove Asset"); - } - - is.addEventListener(is.ON_OBJECTS_CHANGED, onEvent); - is.subscribeObject(onEvent, "var.io.state", true); - - ss.addEventListener(ss.ON_SCHEDULED_START, onScheduledStart); - ss.addEventListener(ss.ON_SCHEDULED_STOP, onScheduledStop); - ss.setCategorySubscription(onScheduledStart, "*"); - ss.setCategorySubscription(onScheduledStop, "*"); - - setOSDscale(); - setOSDtimer(); - showOSD(); - videoplane.subtitles = Boolean(ShowSubs); - colorkeys.innerHTML = "<span class=redkey> " + NN[4] + " </span><span class=greenkey > " + NN[1] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + NN[5] + " </span>"; - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[0] + "</h1>"; -} - - - - -function GetSettings() { - //test for settings, create if not excists. - try { - if (!is.getObject("vip.serveraddress")) {} - } catch(e) { - is.setObject("vip.serveraddress","0",is.STORAGE_PERMANENT) - } - - try { - if (!is.getObject("vip.languagepriority")) {} - } catch(e) { - is.setObject("vip.languagepriority","0",is.STORAGE_PERMANENT) - } - - try { - if (!is.getObject("vip.OSDlanguage")) {} - } catch(e) { - is.setObject("vip.OSDlanguage","0",is.STORAGE_PERMANENT) - } - - try { - if (!is.getObject("vip.testing")) {} - } catch(e) { - is.setObject("vip.testing","0",is.STORAGE_PERMANENT) - } - - - try { - if (!is.getObject("vip.resolution")) {} - } catch(e) { - is.setObject("vip.resolution","2",is.STORAGE_PERMANENT) - } - - try { - if (!is.getObject("vip.testing2")) {} - } catch(e) { - is.setObject("vip.testing2","0",is.STORAGE_PERMANENT) - //show info if channel is on hardcoded list of non free - } - - try { - if (!is.getObject("vip.fav_max_channel")) {} - } catch(e) { - is.setObject("vip.fav_max_channel","0",is.STORAGE_PERMANENT) - } - - try { - if (!is.getObject("vip.showsubs")) {} - } catch(e) { - is.setObject("vip.showsubs","1",is.STORAGE_PERMANENT) - } - - - try { - if (!is.getObject("vip.css_nr")) {} - } catch(e) { - is.setObject("vip.css_nr","0",is.STORAGE_PERMANENT) - } - - var sel_group; - for (var i=0;i<10;i++) { - sel_group = "vip.group." + i; - try { - if (!is.getObject(sel_group)) {} - } catch(e) { - if (!minChan[i]) { - is.setObject(sel_group,"0",is.STORAGE_PERMANENT) - } else { - is.setObject(sel_group,"1",is.STORAGE_PERMANENT) - } - } - } - - for (var i=0;i<10;i++) { - if (minChan[i]) {minchan[i] = minChan[i];} - sel_group = "vip.group." + i; - if (is.getObject(sel_group) == "0") { minChan[i] = "";} - } - - audio = Number(is.getObject("vip.languagepriority")); - server_ip = server_ip_array[Number(is.getObject("vip.serveraddress"))]; - for (var i=0;i<10;i++) { if (ServerAdres[i] !== "FullURL" && ServerAdres[i] !== "MultiCast") {ServerAdres[i] = server_ip + StreamPort;} } - ServerAdres[Fav_group] = server_ip + StreamPort; - - lang_nr = Number(is.getObject("vip.OSDlanguage")); - loadjs(langfile[lang_nr]); - - experimental = Number(is.getObject("vip.testing"));// Use some experimental code - testing2 = Number(is.getObject("vip.testing2"));// Use some experimental code - ShowSubs = Number(is.getObject("vip.showsubs")); - css_nr = Number(is.getObject("vip.css_nr")); - loadcss(cssfile[css_nr]); - - Set_Res = Number(is.getObject("vip.resolution")); - VideoOutput(); - Read_Fav(); - - is.setObject("cfg.media.subtitling.languagepriority",subs_prio,is.STORAGE_PERMANENT); - // set default subtitle language to - - - //if needed types can be set here. Default of the box is normal. - //is.setObject("cfg.media.subtitling.typepriority","hearing_impaired",is.STORAGE_PERMANENT); - //is.setObject("cfg.media.subtitling.typepriority","normal",is.STORAGE_PERMANENT); - //is.setObject("cfg.media.audio.typepriority","normal",is.STORAGE_PERMANENT); - //is.setObject("cfg.media.audio.typepriority","hearing_impaired",is.STORAGE_PERMANENT); - //is.setObject("cfg.media.audio.typepriority","visually_impaired",is.STORAGE_PERMANENT); - - - for (var x = 0; x < 10; x++) { - searchtimers[x] = "" ; // To solve displaying undefined - timers[x] = "" ; - if (maxChan[x]) { //check changed to maxChan because minChan can be unset from menu - for (var i = minChan[x]; i < (maxChan[x]+1); i++) { - EPG[0][4][i] = "";EPG[1][4][i] = "";EPG[0][5][i] = "";EPG[1][5][i] = ""; - EPG[0][7][i] = "";EPG[1][7][i] = "";AvInfo[i] = ""; - } - } - } - for (var i = minChan[Fav_group]; i < (maxChan[Fav_group]+10); i++) { - EPG[0][4][i] = "";EPG[1][4][i] = "";EPG[0][5][i] = "";EPG[1][5][i] = "";EPG[0][7][i] = "";EPG[1][7][i] = "";AvInfo[i] = ""; - } - //Check if there is a SmartTV or Restfulapi VDR server plugin but not when box ip isn't the same range as server ip - test_ip = server_ip.split("."); - box_ip = (is.getObject("config.ipaddress")).split("."); - - if (("http://" + box_ip[0] == test_ip[0]) && (box_ip[1] == test_ip[1]) && (box_ip[2] == test_ip[2])) { - CheckPlugins(); - } - -// override check for testing : -// smartTVplugin = 0 ; -// Restfulapiplugin = 1; - if (smartTVplugin && Restfulapiplugin == 0) { - // smartTVplugin YES - // Restfulapiplugin NO - get_timer = 1; - if (get_recordings == 0 ) {get_recordings = 1;} - get_marks = 1; - } else if (smartTVplugin == 0 && Restfulapiplugin) { - // smartTVplugin NO - // Restfulapiplugin YES - get_timer = 0; - if (get_recordings == 1 ) {get_recordings = 0;} - get_marks = 0; - } else if (smartTVplugin == 0 && Restfulapiplugin == 0) { - // smartTVplugin NO - // Restfulapiplugin NO - get_recordings = 2; //from streamdev - } -} - -function loadjs(filename){ - var oHead = document.getElementsByTagName('HEAD').item(0); - var oScript= document.createElement("script"); - oScript.type = "text/javascript"; - oScript.src= filename; - oHead.appendChild( oScript); -} - -function loadcss(filename){ - var oHead = document.getElementsByTagName('HEAD').item(0); - var oScript= document.createElement("link"); - oScript.type = "text/css"; - oScript.rel = "stylesheet"; - oScript.href = filename; - oHead.appendChild( oScript); -} - - -function onEvent(event) { -var numObjs = event.objectNames.length; - for (var i=0; i<numObjs; i++) { - if(event.objectNames[i] == "var.io.state" && is.getObject(event.objectNames[i]) == "standby" && KillStream == 1){ - try { - if (isMediaMenu) { - if (medialist.style.opacity == 0) {setResume();} // No mediamenu on screen so set resume. - } - mediaPlayer.close(); - SetLed(2,2,0);// At request no more blinking on standby. - - } catch(e) { - alert(e); - } - } else if(event.objectNames[i] == "var.io.state" && is.getObject(event.objectNames[i]) == "normal" && KillStream == 1){ - play(channels[currChan]); - if(isMediaMenu) { - if (mediaList.style.opacity == 0) { - if (get_recordings == 1) { - setTimeout("GetMarks(); getResume(); playRec(recLink[currMed]+ '?mode=streamtoend&time=' + position);",100); - } else if (get_recordings == 2) { - setTimeout("playRec(recLink[currMed]+ '?pos=time.' + position);",100); - } - - } else { - showDisplay("STOP", false, 100, 0 ); - showMediaList(); - } - } - } - } -} - -function onUnload() { - try { - mediaPlayer.close(); - mediaPlayer.releaseInstance(); - if(TimeShift){ - mediaPlayer.stopTimeshiftBuffering(); - mediaPlayer.discardTimeshiftBuffer(); - } - if(mediaRecorder){ - om.releaseOperation(rma); - mediaRecorder.close(); - mediaRecorder.releaseInstance(); - } - if(pipPlayer){ - pipPlayer.close(); - pipPlayer.releaseInstance(); - } - - is.removeEventListener(is.ON_OBJECTS_CHANGED, onEvent); - eitCache.removeEventListener(eitCache.ON_CACHE_UPDATED, onCacheUpdated); - mediaPlayer.removeEventListener(mediaPlayer.ON_DATA_AVAILABLE,onDataAvailableEvent); - mediaPlayer.removeEventListener(mediaPlayer.ON_STATE_CHANGED, MPD); - mediaRecorder.removeEventListener(mediaRecorder.ON_STATE_CHANGED, onRecorderStateChanged); - - } catch(e) { - alert(e); - } -} - -function incChan(step) { - currChan += step; - if (currChan > maxChan[ChanGroup]) { - currChan = minChan[ChanGroup]; - } - osdmain.style.opacity = isFullscreen; - OSDchannr(currChan); -} - -function decChan(step) { - currChan -= step; - if (currChan < minChan[ChanGroup] ) { - currChan = maxChan[ChanGroup] ; - } - osdmain.style.opacity = isFullscreen; - OSDchannr(currChan); -} - -function VolumeUp() { - if (Volume < 5) { - var VolStep = 1; - } else { - var VolStep = VolumeStep; - } - - Volume += VolStep; - if (Volume > 100) { - Volume = 100; - } - aos.setVolume(AudioOut, Volume); - showVolume(); -} - -function VolumeDown() { - if (Volume > 5) { - var VolStep = VolumeStep; - } else { - var VolStep = 1; - } - - Volume -= VolStep; - if (Volume < 0) { - Volume = 0; - } - aos.setVolume(AudioOut, Volume); - showVolume(); -} - - -function VolumeMute() { - state = aos.getMuteState(AudioOut); - aos.setMuteState(AudioOut, !state); - mute = 1 - state; - osdmute.style.opacity = mute; -} - -function createEitCache() { - try { - eitCache = toi.dvbEitService.createInstance(); - } catch(e) { - alert("Failed getting eitCache: " + e); - } -} - -function createPlayer() { - try { - mediaPlayer = toi.mediaService.createPlayerInstance(); - } catch(e) { - alert("Failed creating player: " + e); - } -} - - -function createRecorder() { - try { - mediaRecorder = toi.mediaService.createRecorderInstance(); - } catch(e) { - alert("Cannot create media recorder: " + e); - mediaRecorder = ""; - } -} - -function createPip() { - try { - pipPlayer = toi.mediaService.createPipPlayerInstance(); - } catch(e) { - alert("Failed creating PIP player: " + e); - } -} - - -function addPipVideoplane() { - var pipVideoDiv = document.getElementById("pipVideoDiv"); - pipVideoDiv.innerHTML = "<videoplane id='pipvideoplane' index=1 style='position:fixed;left:70%;top:60%;height:20%;width:20%;z-index:50;'></videoplane>"; - document.body.appendChild(pipVideoDiv); -} - -function pipplay(uri) { -try { - if (pipPlayer.getState() != pipPlayer.STATE_IDLE) { - pipPlayer.close(); - } - if (PIPDelayID != -1) { clearTimeout(PIPDelayID); PIPDelayID = -1; } - - if (ServerAdres[ChanGroup] == "MultiCast" ) { - SI=channels[currChan].split("-"); - uri = SI[4]; - } else if (ServerAdres[ChanGroup] == "FullURL" ) { - // uri = ready! - } else { - uri = ServerAdres[ChanGroup] + uri; - } - pipPlayer.open(uri); - PIPDelayID = setTimeout("pipPlayer.play(1000);", 500); - } catch (e) { - alert("Failed opening PIP stream: " + e); - return; - } -} - - -function play(uri) { - try { - if (initialDelayID != -1) { clearTimeout(initialDelayID); initialDelayID = -1; } - if (PlayDelayID != -1) { clearTimeout(PlayDelayID); PlayDelayID = -1; } - if (initialDelayPlayID != -1) { clearTimeout(initialDelayPlayID); initialDelayPlayID = -1; } - - if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { mediaPlayer.close(); } - if (isSchedule) { schedule.style.opacity = 0; isSchedule = 0;} - if (epgactive) { osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0; epgactive = 0;} - - if (ServerAdres[ChanGroup] == "MultiCast" ) { SI=channels[currChan].split("-"); uri = SI[4]; - } else if (ServerAdres[ChanGroup] == "FullURL" ) { // uri = ready! - } else { uri = ServerAdres[ChanGroup] + uri; } - - URL = uri; - initialDelayPlayID = setTimeout("mediaPlayer.open(URL);mediaPlayer.play(1000);GetEPG(currChan);ExtraStuff();",initialDelayPlay); - initialDelayPlay = 500; // wait 500 ms before zap to next channel - PlayDelayID = setTimeout("initialDelayPlay = 0;",5000); - SetLed(1,1,0); - - if(isFullscreen) { showOSD(); } - - showDisplay(currChan.toString(), false, 100, 0 ); - - } catch (e) { - alert("Failed opening stream: " + e); - return; - } -} - -function preview(urip) { - if(SwitchGuide) { - play(urip); - } else if (PipSwitchGuide && fullupdate) { - pipplay(urip); - } - - if (isSchedule) { schedule.style.opacity = 0; isSchedule = 0;} - if (epgactive) { osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0; epgactive = 0;} - showChannelList(); -} - - -function onDataAvailableEvent(event) { - dataAvailable = event.status; - //alert("onDataAvailableEvent : " + event.status); - if(event.status==true) { - updateStreamInfo(currChan); - } -} - - -function updateStreamInfo(currStream) { - -var streamInfo = mediaPlayer.getStreamInfo(); -var cList = streamInfo.availableComponents; -var x; -var xs = 0; -var subs = ""; -if (currMed!= -1) { - if (streamInfo.playTime != -1) { - recDura[currMed] = streamInfo.playTime; - } -} -xx = 0; -AvInfo[currStream] = ""; -lang_prio_dyn.length = 0; -subs_prio_dyn.length = 0; -Radioicon = "\uE00E"; - -for(x=0; x<cList.length;x++) { - if(cList[x].type == 0) { - lang_prio_dyn[xx] = mediaPlayer.getAudioStreamInfo(cList[x]).language; - AvInfo[currStream] = AvInfo[currStream] + " Audio " + xx + " " + mediaPlayer.getAudioStreamInfo(cList[x]).encoding + " - " + mediaPlayer.getAudioStreamInfo(cList[x]).language + " , "; - - // -// alert (mediaPlayer.getAudioStreamInfo(cList[x]).sampleRate); -// alert (mediaPlayer.getAudioStreamInfo(cList[x]).channelFormat); - // AUDIO_CHANNEL_FORMAT_UNKNOWN = 0 - // AUDIO_CHANNEL_FORMAT_SINGLE_MONO = 1 - // AUDIO_CHANNEL_FORMAT_DUAL_MONO = 2 - // AUDIO_CHANNEL_FORMAT_STEREO = 3 - // AUDIO_CHANNEL_FORMAT_3_FRONT_1_BACK = 4 - // AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK = 5 - // AUDIO_CHANNEL_FORMAT_3_FRONT_2_BACK_LFE = 6 - // AUDIO_CHANNEL_FORMAT_3_FRONT_2_SIDE_2_BACK_LFE = 7 -// alert (mediaPlayer.getAudioStreamInfo(cList[x]).channelMode); - // AUDIO_CHANNEL_MODE_NORMAL = 0 - // AUDIO_CHANNEL_MODE_DUAL_MONO_LEFT_ONLY = 1 - // AUDIO_CHANNEL_MODE_DUAL_MONO_RIGHT_ONLY = 2 - // AUDIO_CHANNEL_MODE_DUAL_MONO_STEREO = 3 - // AUDIO_CHANNEL_MODE_DUAL_MONO_MIXED = 4 - - if (lang_prio_dyn[xx] !== "NAR") { - xx += 1; - } else { - lang_prio_dyn.length = xx; - } - - - } - if(cList[x].type == 1) { - Radioicon = "\uE00F"; - AvInfo[currStream] = AvInfo[currStream] + " Video " + mediaPlayer.getVideoStreamInfo(cList[x]).encoding + " size : " + mediaPlayer.getVideoStreamInfo(cList[x]).resolutionX + " x " + mediaPlayer.getVideoStreamInfo(cList[x]).resolutionY; - if (mediaPlayer.getVideoStreamInfo(cList[x]).aspectRatio == "0") { AvInfo[currStream] = AvInfo[currStream] + " (?:?)"; } - if (mediaPlayer.getVideoStreamInfo(cList[x]).aspectRatio == "1") { AvInfo[currStream] = AvInfo[currStream] + " (4:3)"; } - if (mediaPlayer.getVideoStreamInfo(cList[x]).aspectRatio == "2") { AvInfo[currStream] = AvInfo[currStream] + " (16:9)"; } - } - - if(cList[x].type == 2) { - if (xs == 0) { subs = " SUBS : " } else { subs += " , ";} - subs_prio_dyn[xs] = mediaPlayer.getSubtitleStreamInfo(cList[x]).language; - subs = subs + subs_prio_dyn[xs]; - xs += 1; - } - - if(cList[x].type == 3) { - alert("COMPONENT_SUBTITLE_CAPTION"); - //This is an ARIB specific type of subtitles - } - if(cList[x].type == 4) { - alert("COMPONENT_SUBTITLE_SUPERIMPOSE"); - //This is an ARIB specific type of subtitles and used mainly for displaying alert messages on screen. - } - if(cList[x].type == 5) { -// alert("TeletextStreamInfo : " + mediaPlayer.getTeletextStreamInfo(cList[x]).language) - AvInfo[currStream] += " TXT"; - } - - - } - AvInfo[currStream] += subs; -} - - -function VideoOutput() { - -videoConfig = vos.getVideoConfiguration(); - - var session = null; - try { - var currentOutput = 0; //0 = normaly HDMI - displayInfo=videoConfig.getDisplayInfo(videoConfig.getVideoOutputs()[currentOutput]); - var desiredMode = VideoOutputModes[Set_Res]; - - // create the session - session = vos.createVideoConfigurationSession(); - session.setDefaultVideoMode(videoConfig.getVideoOutputs()[currentOutput], desiredMode); - session.apply(); - session.releaseInstance(); - - } - catch (e) { - if (session != null) { - session.releaseInstance(); - } - alert(e); - } - -setOSDscale(); - -} - -function addzero(zero) -{ -if (zero<10) - { - zero="0" + zero; - } - -return zero; -} - -function ExtraStuff(){ - if(TimeShift){ - initialDelayID = setTimeout("startTimeshiftBuffering();", 5000); - } - if(testing2) { - if (CAdelayID != -1) { clearTimeout(CAdelayID); CAdelayID = -1; switchtimer.style.opacity = 0;} - if ( (currChan > 10 && currChan < 26 ) || (currChan > 40 && currChan < 50 ) || (currChan > 50 && currChan < 120 ) || - (currChan > 151 && currChan < 200) || (currChan > 604 && currChan < 612 ) || (currChan > 624 && currChan < 631) || - (currChan > 632 && currChan < 700) || (currChan > 8004 && currChan < 8027) ) - { - //Show info if set nonfree - switchtimer.style.background = "red"; - switchtimer.innerHTML = "<pre class=nonfree>\n" + Lang[90] +"\n\n </pre>"; // Non free channel message - switchtimer.style.opacity = 1; - CAdelayID = setTimeout("switchtimer.style.opacity = 0;",ShowSetTimer); - } - } - -} - -function startTimeshiftBuffering() { - // check that media player is working - if (mediaPlayer.getState() != mediaPlayer.STATE_PLAYING ) { - alert("Media Player must be playing when starting timeshift buffering!"); - return; - } - - mediaPlayer.startTimeshiftBuffering(600); -} - - -function FullScreen() { - videoplane.style.width = "100%"; - videoplane.style.height = "100%"; - videoplane.style.left = "0px"; - videoplane.style.top = "0px"; - if(PipSwitchGuide){ - if (pipPlayer.getState() != pipPlayer.STATE_IDLE) { - pipPlayer.close(); - } - } -} - - -function onKeyDown(event) { -//show key info, needed when a 'new' remote is used -//alert( "keyIdentifier : " + event.keyIdentifier +"\n"+"ctrlKey : " + event.ctrlKey +"\n"+"altKey : " + event.altKey +"\n"+"shiftKey : " + event.shiftKey +"\n"+"RAW : " + event ); - - if(isVisible) { - onKeyTeletext(event.keyIdentifier); - } else if(isSetupMenu) { - onKeyMenu(event.keyIdentifier); - } else if(isMediaMenu) { - onKeyMedia(event.keyIdentifier); - } else { - - switch(event.keyIdentifier) { - - case "ChannelUp": - case "Up": - if(isFullscreen) { - count = 0; Change = 0; - prevChan = currChan; - do - { - incChan(1); - } - while (!channels[currChan]); - play(channels[currChan]); - } else { - // swap up <> down in guide mode - count = 0; Change = 0; - do - { - decChan(1); - } - while (!channels[currChan]); - preview(channels[currChan]); - } - break; - case "ChannelDown": - case "Down": - if(isFullscreen) { - count = 0; Change = 0; - prevChan = currChan; - do - { - decChan(1); - } - while (!channels[currChan]); - play(channels[currChan]); - } else { - // swap up <> down in guide mode - count = 0; Change = 0; - do - { - incChan(1); - } - while (!channels[currChan]); - preview(channels[currChan]); - } - break; - case "Left": - count = 0; Change = 0; - if(isFullscreen) { - defChan[ChanGroup] = currChan; - do - { - do - ChanGroup -= 1; - while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) - if (ChanGroup < 0) { - ChanGroup = 9; - } - } - while (!minChan[ChanGroup]); - currChan = defChan[ChanGroup]; - play(channels[currChan]); - } else { - prevChan = currChan; - if (currChan > (minChan[ChanGroup] + 8)) { - decChan(9); - } else { - currChan = baseChn[ChanGroup] + (maxChan[ChanGroup] - currChan); - } - do - { - decChan(1); - } - while (!channels[currChan]); - preview(channels[currChan]); - } - break; - case "Right": - count = 0; Change = 0; - if(isFullscreen) { - defChan[ChanGroup] = currChan; - do - { - do - ChanGroup += 1; - while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) - if (ChanGroup > 9) { - ChanGroup = 0; - } - } - while (!minChan[ChanGroup]); - currChan = defChan[ChanGroup]; - play(channels[currChan]); - - } else { - prevChan = currChan; - if (currChan < (maxChan[ChanGroup] - 9 )) { - incChan(9); - } else { - currChan = baseChn[ChanGroup] + (maxChan[ChanGroup] - currChan); - } - do - { - incChan(1); - } - while (!channels[currChan]); - preview(channels[currChan]); - } - break; - case "Red": - if(isFullscreen) { - if(showClock == 0 ) { - showDisplay("", true, 80, 1 ); - showClock = 1; - } else if(showClock == 1 ) { - showClock = 0; - showDisplay(currChan.toString(), false, 100, 0 ); - } - } else if(isSchedule == 0){ - if(NowNext) { - settimer(EPG[1][2][currChan],EPG[1][1][currChan],0,1,"",(EPG[1][4][currChan] + EPG[1][5][currChan]),EPG[1][6][currChan].toString()); - } - } - break; - case "Green": - if(isFullscreen) { - if(!epgactive) { - if (audio_dyn < (lang_prio_dyn.length -1)) { audio_dyn += 1} else { audio_dyn = 0 } - if (lang_prio_dyn.length > 1) { - is.setObject("cfg.media.audio.languagepriority",lang_prio_dyn[audio_dyn] + "," + lang_prio[audio],is.STORAGE_PERMANENT); - osdlang.style.opacity = 1; - osdlang.innerHTML = "<img src='unmute.png'> " + lang_prio_dyn[audio_dyn] + " "; - setTimeout("osdlang.style.opacity = 0; ", 3000); - } - } - } else if(isSchedule == 0 && !epgactive){ - colorkeys.innerHTML = "<span class=redkey> " + NN[3 + NowNext] + " </span><span class=greenkey > " + NN[NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + NN[5] + " </span>"; - NowNext = 1 - NowNext; - showChannelList(); - } - - if(epgactive) { - NowNext = 1 - NowNext; - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity ; - osdepginfonext.style.opacity = 1 - osdepginfo.style.opacity; - } - - - break; - case "Yellow": - if(isFullscreen) { - if(epgactive) { - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - epgactive = 0; - } - medialist.style.opacity = 0.9; - set_yellow_key = 1; - setTimeout("getSchedule(currChan);LoadMediaSettings();",100); - } else { - GetSchedule(currChan,15); - schedule.style.opacity = 1 - schedule.style.opacity; - isSchedule = schedule.style.opacity; - if(isSchedule == 1){ - colorkeys.innerHTML = "<span class=redkey> " + NN[4] + " </span><span class=greenkey > " + NN[4] + " </span><span class=yellowkey> " + NN[6] + " </span><span class=bluekey> " + NN[4] + " </span>"; - } else { - colorkeys.innerHTML = "<span class=redkey> " + NN[3 + (1 - NowNext)] + " </span><span class=greenkey > " + NN[1 - NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " + NN[5] + " </span>"; - } - } - break; - - case "Info": - case "Blue": - case KEY_EPG: -// if(isFullscreen) { -// RestartPortal(); -// } else - if(isSchedule == 0) { - if(!epgactive) { - updateOSDtime(currChan); - SetOsdInfo(); - if(isFullscreen) { NowNext = 0;} - if (NowNext) { - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 1; - } else { - osdepginfo.style.opacity = 1; - osdepginfonext.style.opacity = 0; - } - epgactive = 1; - } else { - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - epgactive = 0; - } -// setTimeout("epgactive = 0; osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0;", 5000); - } - break; - case "BrowserBack": - if(count) { - count = 0; - osdmain.style.opacity = 0; - if(isFullscreen) { - showDisplay(currChan.toString(), false, 100, 0 ); - } - Change = 0; - } else { - if(isSchedule) { - isSchedule = 0; - schedule.style.opacity = 0; - colorkeys.innerHTML = "<span class=redkey> " + NN[3 + (1 - NowNext)] + " </span><span class=greenkey > " - + NN[1 - NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " - + NN[5] + " </span>"; - break; - } - - if(isFullscreen) { - //SHOW epg info - if(!epgactive) { -// SetOsdInfo(); -// osdepginfo.style.opacity = 1; -// osdepginfonext.style.opacity = 0; -// epgactive = 1; - } else { - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - epgactive = 0; - } -// setTimeout("epgactive = 0; osdepginfo.style.opacity = 0; osdepginfonext.style.opacity = 0;", 5000); - } else if(!isFullscreen){ - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - epgactive = 0; - isFullscreen = 1; - FullScreen(); - currChan = preChan; - ChanGroup = preGrp; - } - } - break; - case "Enter": - // OK key on frontpanel - if (experimental) { - RestartPortal(); - } - case KEY_OK: - if(isFullscreen) { - // fullscreen - if (osdmain.style.opacity !== 0) {opacity = 0; OSD(opacity);} - if(count == 0) { - if (osdtimeout) { - clearTimeout(osdtimeout); - osdtimeout = 0; - opacity = 0; - OSD(opacity); - break; - } - osdepg.innerHTML = ""; - showOSD(); - GetEPG(currChan); - updateOSDtime(currChan); - osdepg.innerHTML = "<p>" + EPG[0][7][currChan] + "</p>\n<p>" + EPG[1][7][currChan] + "</p>"; -// showOSD(); - } else { - CheckChannel(Change); - count = 0; - if(ChangeOK) { - play(channels[currChan]); - ChangeOK = 0; - } - } - } else { - // if not fullscreen - if(count){ - CheckChannel(Change); - count = 0; - if(ChangeOK) { - preview(channels[currChan]); - ChangeOK = 0; - } - } else { - isFullscreen = 1; - FullScreen(); - if(isSchedule) { isSchedule = 0; schedule.style.opacity = 0; } - play(channels[currChan]); - } - } - break; - - case "Menu": - if(isFullscreen) { - if(count) { - count = 0; - osdmain.style.opacity = 0; - showDisplay(currChan.toString(), false, 100, 0 ); - Change = 0; - } - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - isSetupMenu = 1; - mainmenu.style.opacity = 0.8; - menu = 0; - InitMenu(menu); - } - break; - case KEY_FAV: - case "Scroll": - if(isFullscreen) { - NowNext = 0; - videoplane.style.width = (320*Xfactor[Set_Res])+"px"; - videoplane.style.height = (240*Yfactor[Set_Res])+"px"; - videoplane.style.left = (380*Xfactor[Set_Res])+"px"; - videoplane.style.top = (300*Yfactor[Set_Res])+"px"; - isFullscreen = 0; - ClearScreen(); - channellist.style.opacity = 1; - colorkeys.innerHTML = "<span class=redkey> " + NN[3 + (1 - NowNext)] + " </span><span class=greenkey > " - + NN[1 - NowNext] + " </span><span class=yellowkey> " + NN[2] + " </span><span class=bluekey> " - + NN[5] + " </span>"; - colorkeys.style.opacity = 1; - showChannelList(); - if(!SwitchGuide) { - preChan = currChan; - preGrp = ChanGroup; - } - } else { - isSchedule = 0; - schedule.style.opacity = 0; - isFullscreen = 1; - FullScreen(); - if(!SwitchGuide) { - currChan = preChan; - ChanGroup = preGrp; - } - } - break; - case "TV": - case "RADIO": - if(isFullscreen) { - if(ChanGroup !== 9) { - //Radio - defChan[ChanGroup] = currChan; - ChanGroup = 9; - currChan = defChan[9]; - } else { - //TV - defChan[ChanGroup] = currChan; - ChanGroup = 0; - currChan = defChan[0]; - } - isSetupMenu = 0; - mainmenu.style.opacity = 0; - play(channels[currChan]); - } - break; - case KEY_0: - digit = 0; - Makedigit(); - break; - case KEY_1: - digit = 1; - Makedigit(); - break; - case KEY_2: - digit = 2; - Makedigit(); - break; - case KEY_3: - digit = 3; - Makedigit(); - break; - case KEY_4: - digit = 4; - Makedigit(); - break; - case KEY_5: - digit = 5; - Makedigit(); - break; - case KEY_6: - digit = 6; - Makedigit(); - break; - case KEY_7: - digit = 7; - Makedigit(); - break; - case KEY_8: - digit = 8; - Makedigit(); - break; - case KEY_9: - digit = 9; - Makedigit(); - break; - - case KEY_A:// |> key on old long kpn 1710/1760 remote - break; - case KEY_B:// hh key on old long kpn 1710/1760 remote - if (prevChan !== currChan) { - currChan = [prevChan, prevChan = currChan][0]; - count = 0; - play(channels[currChan]); - } - break; - case KEY_C:// @ key on old long kpn 1710/1760 remote - if(isFullscreen && Fav_max_channel !== 0 && ChanGroup !== Fav_group) { - timerID = (defChan[Fav_group] - Fav_base - 1); if (timerID < 0) { timerID = 0;} - maxTimers = Fav_max_channel; - GotoFav(defChan[Fav_group]); - } else if(isFullscreen && ChanGroup == Fav_group) { - timerID = (currChan - Fav_base - 1); - } - if(isFullscreen && Fav_max_channel !== 0) { - if(count) { - count = 0; - osdmain.style.opacity = 0; - showDisplay(currChan.toString(), false, 100, 0 ); - Change = 0; - } - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - isSetupMenu = 1; - mainmenu.style.opacity = 0.8; - menu = 10; - InitMenu(menu); - } - - - break; - case KEY_D:// >@ key on old long kpn 1710/1760 remote - if (protChn[ChanGroup] !== 1 && ChanGroup !== Fav_group) { - AddtoFav(); - } - break; - - case "Teletext": - if(isFullscreen) { - ClearScreen(); - isVisible = 1; - setVisible(isVisible); - } - break; - case "VolumeMute": - VolumeMute(); - break; - case "VolumeUp": - VolumeUp(); - break; - case "VolumeDown": - VolumeDown(); - break; - - case "MediaRewind": - if(isFullscreen) { - mediaPlayer.play(mediaPlayer.PACE_REWIND); - } else { - count = 0; Change = 0; - defChan[ChanGroup] = currChan; - do { - do - ChanGroup -= 1; - while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) - if (ChanGroup < 0) { - ChanGroup = 9; - } - } - while (!minChan[ChanGroup]); - currChan = defChan[ChanGroup]; - preview(channels[currChan]); - } - break; - case "MediaForward": - if(isFullscreen) { - mediaPlayer.play(mediaPlayer.PACE_FASTFORWARD); - } else { - count = 0; Change = 0; - defChan[ChanGroup] = currChan; - do{ - do - ChanGroup += 1; - while (protChn[ChanGroup] == 1 && ShowProtectedChannels == 1) - if (ChanGroup > 9) { - ChanGroup = 0; - } - } - while (!minChan[ChanGroup]); - currChan = defChan[ChanGroup]; - preview(channels[currChan]); - } - break; - case "MediaPlayPause": - - if(isFullscreen && PauseOnServer) { - if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) { - isPause = 1; - ServerPause(); - SetLed(1,1,10); -// setTimeout("mediaPlayer.play(0);",5000); - mediaPlayer.play(0); - break; - } - if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || - mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { - SetLed(1,1,0); - mediaPlayer.play(mediaPlayer.PACE_PLAY); - break; - } - - } - - if(TimeShift){ - if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { - SetLed(1,1,0); - mediaPlayer.play(mediaPlayer.PACE_PLAY); - break; - } - if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) { - SetLed(1,1,10); - mediaPlayer.play(0); - break; - } - } - break; - case "MediaStop": - try { - SetLed(1,1,0); - if(TimeShift){ mediaPlayer.playFromPosition(mediaPlayer.POSITION_LIVE,mediaPlayer.PACE_PLAY); } - } catch(e) { - alert(e); - } - break; - case KEY_REC: - case KEY_REC2: - if(isSchedule == 0) { - if(epgactive) { - ServerTimer(channels[currChan],EPG[NowNext][6][currChan]); - settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan],(EPG[NowNext][3][currChan]*60),2); - } else { - ServerRecordStart(); - } - } -// if(isFullscreen && !epgactive) { -// ServerRecordStart(); -// } else if(isSchedule == 0){ -// if(NowNext) { -// } else { -// // make timer for recording -// ServerTimer(channels[currChan],EPG[NowNext][6][currChan]); -// settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan],(EPG[NowNext][3][currChan]*60),2); -// } else { -// ServerRecordStart(); -// } -// } - - - break; - case KEY_OPNAMES: - case KEY_FILM: - case KEY_DVR: - if (smartTVplugin) { - // jump to recordings menu. - if(isFullscreen) { - if(count) { - count = 0; - osdmain.style.opacity = 0; - showDisplay(currChan.toString(), false, 100, 0 ); - Change = 0; - } - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - medialist.style.opacity = 0.9; - mainmenu.style.opacity = 0; - recPath = "/recordings.xml"; - setTimeout("getRecList();LoadMediaSettings();",100); - } - break; - } - default: - break; - } - } -} - - -function GotoFav(ChanID) { - count = 0; Change = 0; - prevChan = ""; Fav_key1 = ""; - defChan[ChanGroup] = currChan; - ChanGroup = Fav_group; - currChan = ChanID; - play(channels[currChan]); -} - - -function AddtoFav() { - Fav_max_channel += 1; - maxChan[Fav_group] = Fav_base + Fav_max_channel; - channelsnames[(Fav_base + Fav_max_channel)] = channelsnames[currChan]; - channels[(Fav_base + Fav_max_channel)] = channels[currChan]; - is.setObject(("vip.channelsnames." + Fav_max_channel),channelsnames[currChan],is.STORAGE_PERMANENT) - is.setObject(("vip.channels." + Fav_max_channel),channels[currChan],is.STORAGE_PERMANENT) - is.setObject("vip.fav_max_channel",Fav_max_channel.toString(),is.STORAGE_PERMANENT) - settimer(0,channels[currChan],Fav_max_channel ,2); -} - - -function Read_Fav() { - Fav_max_channel = Number(is.getObject("vip.fav_max_channel")); - maxChan[Fav_group] = Fav_base + Fav_max_channel; - for (var i=1; i<=Fav_max_channel; i++) { - channelsnames[(i+Fav_base)] = is.getObject(("vip.channelsnames." + i)); - channels[(i+Fav_base)] = is.getObject(("vip.channels." + i)); - } -} - - -function Makedigit() { - if (TimedChangeID != -1) { clearTimeout(TimedChangeID); TimedChangeID = -1; } - - prevChan = currChan; - Change = (Change*10) + digit; - count += 1; - osdmain.style.opacity = isFullscreen; - OSDchannr(Change); - if(isFullscreen) { - showDisplay((Change.toString()), false, 100, 0 ); - } - - if (count>channeldigits) { - CheckChannel(Change); - count = 0; - } else { - TimedChangeID = setTimeout("TimedChange();",ChangeTime); - } - - if(ChangeOK) { - if(isFullscreen) { - play(channels[currChan]); - } else { - preview(channels[currChan]); - } - ChangeOK = 0; - } -} - -function CheckChannel(CheckThis) { -// function to check if channel exists - CheckThis = baseChn[ChanGroup] + CheckThis; - if(channels[CheckThis]) { - ChangeOK = 1; - currChan = CheckThis; - } else { - ChangeOK = 0; - } - if(prevChan == currChan) { - ChangeOK = 0 ; - } - osdmain.style.opacity = 0; - if(isFullscreen) { - showDisplay(currChan.toString(), false, 100, 0 ); - } - Change = 0; - -} - -function TimedChange() { - if (count && ChangeTime) { - CheckChannel(Change); - count = 0; - if(ChangeOK) { - if(isFullscreen) { - play(channels[currChan]); - } else { - preview(channels[currChan]); - } - ChangeOK = 0; - } - } -} - - -function showDisplay(showtxt,colonState,intensity,currentMode) { - if(!showClock){ - if (Number(showtxt) > 8999 && Number(showtxt) < 10000) { showtxt = "R" + Right(showtxt,3); } - if (Number(showtxt) > 9999 && Number(showtxt) < 20000) { showtxt = "F" + Right(showtxt,3); } - showtxt = Right(showtxt,4); - try { - fps.setSegmentDisplayState(toi.statics.ToiFrontPanelServiceSegmentDisplayState.create(showtxt,colonState,intensity,currentMode)); - } catch (e) { - // Display error, maybe no display... - } - } -} - - -function SetLed(NumLed,color,blinkfreq){ - var state = toi.statics.ToiFrontPanelServiceLedState.create(color, blinkfreq); - fps.setLedState(NumLed, state); -} - - -function showOSD() { - if (osdtimeout) { - clearTimeout(osdtimeout); - } - SetOsdInfo(); - opacity = 0.8; - OSD(opacity); - osdtimeout = setTimeout("fadeOut(); osdtimeout = 0;", ShowOsdTime); -} - -function showVolume() { - if (osdVolumetimeout) { - clearTimeout(osdVolumetimeout); - } - osdvolume.innerHTML = Lang[1] + " : " + Volume + "% \n\uE007" + (new Array(Volume)).join("\uE008") + (new Array(100 - Volume)).join("\uE009") + "\uE00A"; - osdvolume.style.opacity = 1; - osdVolumetimeout = setTimeout("osdvolume.style.opacity = 0;", ShowOsdTime); -} - - -function OSD(opacity) { - osdmain.style.opacity = opacity; -} - - -function SetOsdInfo() { - OSDchannr(currChan); - date_time(); - OSDhtml(); - return; -} - -function onCacheUpdated() { - GetEPG(currChan); - if (osdtimeout) { SetOsdInfo(); } -} - -function OSDchannr(channr) { -// Show logo's - if (experimental) { -// osdnr.innerHTML = "<img src='" + channels[currChan] + ".logo.jpg' style='width:80%; max-height:100%; position:absolute; left:10%;' >"; - } - osdnr.innerHTML = Right(channr,3); -} - -function OSDhtml(){ - osdtime.innerHTML = result; - if (ShowSource == 1) { - osdname.innerHTML = channels[currChan].split("-")[0] + "\uE003" + Left(channelsnames[currChan],30); - } else { - osdname.innerHTML = Left(channelsnames[currChan],30); - } - osdepg.innerHTML = "<p>" + EPG[0][7][currChan] + "</p>\n<p>" + EPG[1][7][currChan] + "</p>"; - osdepginfo.innerHTML = "<p class=epg_head>" + currChan + "\uE003" + channelsnames[currChan] + "</p><p class=epg_avinfo>" + AvInfo[currChan] + "</p><p class=epg_title>" + EPG[0][7][currChan] + EPG[0][9][currChan] + EPG[0][8][currChan] + "</p>\n<p class=epg_info>" + EPG[0][4][currChan] + "</p>\n<p>" + Left(EPG[0][5][currChan],750) + "</p></center>"; - osdepginfonext.innerHTML = "<p class=epg_head>" + currChan + "\uE003" + channelsnames[currChan] + "</p><p class=epg_title>" + EPG[1][7][currChan] + EPG[1][9][currChan] + EPG[1][8][currChan] + "</p>\n<p class=epg_info>" + EPG[1][4][currChan] + "</p>\n<p>" + Left(EPG[1][5][currChan],750) + "</p></center>"; -} - -function updateOSDtime(timchan) { - - tijd = EPG[0][2][timchan]; - date = new Date(tijd*1000); - tijd = date.toUTCString(); - tijd = new Date(tijd); - dateCurrent = new Date(); - var EPGminutes = Math.floor((dateCurrent.getTime() - date.getTime()) /1000/60); - if (EPGminutes > 1440) { - EPGminutes = 0; // Duration is >24h, maybe current time isn't right. - } - var tm = tijd.getMinutes(); - var th = tijd.getHours(); - th=addzero(th); - tm=addzero(tm); - - EPG[0][7][timchan] = th + ":" + tm + " (" + EPGminutes + " / " + ((EPG[0][3][timchan])-EPGminutes).toFixed(0) + ")" + " " + EPG[0][1][timchan] + " "; - if (!EPG[0][2][timchan] || ((EPG[0][3][timchan]-EPGminutes) < 0)) - { - EPG[0][7][timchan] = " "; - } - -} - - -function settimer(ProgTime,ProgName,ProgDura,SwitchTimer,BackGroundColor,ProgDesc,ProgEvID) { - -if (!BackGroundColor) { BackGroundColor = color_default;} -// 1 - switchonly, 2 - record on server (display info only), 3 - record local - if(SwitchTimer == 1) { - try { - var x = ss.schedule("SwitchOnly","notification", ProgTime , ProgDura); - ss.setParameter(x, "Channel", currChan.toString() ); - ss.setParameter(x, "Title", ProgName ); - ss.setParameter(x, "Info", ProgDesc); - ss.setParameter(x, "active", "False"); - ss.setParameter(x, "Type", "\uE00C"); //Timer Symbol - ss.setParameter(x, "resume", "0"); - ss.setParameter(x, "Eventid", ProgEvID); - - } - catch (e) { - ProgName = "ERROR" ; - BackGroundColor = "color_error"; - } - } else if(SwitchTimer == 3) { - ProgTime -= preRecTime; - ProgDura = Number(ProgDura) + (afterRecTime + preRecTime); - var y = (new Date().getTime()/1000).toFixed(0); - if(ProgTime < y) { - ProgDura = ProgDura - (y - ProgTime); - ProgTime = y; - } - - try { - var x = ss.schedule("RecLocal","record_hd_from_ip", ProgTime , ProgDura); - if (x != 0) { - ss.setParameter(x, "Channel", currChan.toString() ); - ss.setParameter(x, "Title", ProgName ); - ss.setParameter(x, "Info", ProgDesc); - ss.setParameter(x, "active", "False"); - ss.setParameter(x, "Type", "\uE00C"); //Timer Symbol - ss.setParameter(x, "resume", "0"); - ss.setParameter(x, "Eventid", ProgEvID); - } else { - ProgName = "ERROR" ; - BackGroundColor = "color_error"; - } - } catch (e) { - alert(e); - } - } - - if ( ProgTime == 0 && SwitchTimer == 2 && ProgDura !== 0 ) { - var x = Lang[3] + ProgDura + "</pre>"; - } else if ( ProgTime == 0 && SwitchTimer == 2) { - var x = "</pre>"; - } else { - tijd = ProgTime; - date = new Date(tijd*1000); - tijd = date.toUTCString(); - tijd = new Date(tijd); - var tm = tijd.getMinutes(); - var th = tijd.getHours(); - th=addzero(th); - tm=addzero(tm); - var x = Lang[4] + th + ":" + tm + "</pre>"; - } - -// switchtimer.style.background = BackGroundColor; - switchtimer.innerHTML = "<pre class=" + BackGroundColor + ">" + Lang[2] + Left(ProgName,30) + "\n" + Lang[3] + channelsnames[currChan] + "\n" + x + "</pre>"; - setOSDtimer(); - - switchtimer.style.opacity = 1; - setTimeout("switchtimer.style.opacity = 0;", ShowSetTimer); - -} - - -function setOSDtimer() { - // Only for type "SwitchOnly" - var today = new Date; - today = today / 1000; - var x = ss.getBookingIds("SwitchOnly", today, 0) - if (x.length !== 0) { - tijd = ss.getNextStartTime("SwitchOnly"); - date = new Date(tijd*1000); - tijd = date.toUTCString(); - tijd = new Date(tijd); - var tm = tijd.getMinutes(); - var th = tijd.getHours(); - th=addzero(th); - tm=addzero(tm); - osdtimer.innerHTML = "<p class=osdtimer>" + th + ":" + tm + "</p>"; - SetLed(0,2,1); - switchicon = "\uE00C"; - osdca.innerHTML = CAicon + switchicon + RECicon; - } else { - osdtimer.innerHTML = " "; - SetLed(0,0,0); - switchicon = '\uE003'; - osdca.innerHTML = CAicon + switchicon + RECicon; - } -} - -// Left n characters of str -function Left(str, n){ - if (n <= 0) - return ""; - else if (n > String(str).length) - return str; - else - return String(str).substring(0,n); -} - -// Right n characters of str -function Right(str, n){ - if (n <= 0) - return ""; - else if (n > String(str).length) - return str; - else { - var iLen = String(str).length; - return String(str).substring(iLen, iLen - n); - } -} - -function fadeIn() { - opacity += 0.2; - OSD(opcity); - if (opacity >= 1) { - setTimeout("fadeOut()", 200); - return; - } - setTimeout("fadeIn()", 100); -} - -function fadeOut() { - opacity -= 0.5; - OSD(opacity); - if (opacity <= 0) { - return; - } - setTimeout("fadeOut()", 100); -} - -function RestartPortal(){ - - try { - ids = toi.applicationService.getApplicationIds(); - for ( i = 0; i < ids.length; ++i ){ - info = toi.applicationService.getInfo(ids[i]); - if (info.applicationName == "WebKit Portal"){ - dump("Killing app " + ids[i] + ": " + info.applicationName); - toi.applicationService.kill(ids[i]); - } - } - } - catch(e) { dump(e) }; -} - -function date_time() -{ - date = new Date; - year = date.getFullYear(); - month = date.getMonth(); - d = date.getDate(); - day = date.getDay(); - h = date.getHours(); - m = date.getMinutes(); - h=addzero(h); - m=addzero(m); - result = ''+days[day]+' '+d+' '+months[month]+' '+year+' '+h+':'+m; - return; -} - -function date_time_rec() -{ - date = new Date(Number(recStrt[currMed])*1000); - year = date.getFullYear(); - month = date.getMonth(); - month = addzero(month + 1); - d = date.getDate(); - d = addzero(d); - day = date.getDay(); - h = date.getHours(); - m = date.getMinutes(); - h = addzero(h); - m = addzero(m); - if (year!==1970) { - result = ' ' + d + '-' + month + '-' + year + ' ' + h + ':' + m; - } else { - result = ""; - } - return; -} - -// EPG Section - -function GetEPG(epgchan) -{ - EPG[0][7][epgchan] = ""; - EPGShortnow = ""; - EPGExtnow = ""; - EPG[1][7][epgchan] = ""; - EPGShortnext = ""; - EPGExtnext = ""; - SI=""; - try { - - eitCache.clearServices(); - - StreamInfo(epgchan); - - eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); - eitCache.addService(eitService); - event = eitCache.getPresentEvent(eitService); - if(event.freeCaMode){ - CAicon = "\uE00D"; - } else { - CAicon = Radioicon; - } - - osdca.innerHTML = CAicon + switchicon + RECicon; - - if (event.name) { - events = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); - extEventsnow = eitCache.getExtendedEventInfo(eitService, events.infoSequence[0].eventId); - EPGShortnow = extEventsnow.shortInfo; - EPGExtnow = extEventsnow.extendedInfo; - Extok = 1; - - } else { Extok = 0; } - - - - EPG[0][1][epgchan] = event.name; - EPG[0][2][epgchan] = event.time; - EPG[0][3][epgchan] = (event.duration/60); -// EPG[0][4][epgchan] = ""; -// EPG[0][5][epgchan] = ""; - EPG[0][6][epgchan] = event.eventId; - if (event.parentalRating) { - EPG[0][8][epgchan] = "<br>(" + Lang[5] + (event.parentalRating + 3) + " )"; - } else { - EPG[0][8][epgchan] = ""; - } - - if (event.contentNibbles) { - connib = event.contentNibbles; - Nibbles(); - EPG[0][9][epgchan] = "<br>" + content; - } else { - EPG[0][9][epgchan] = ""; - } - - - if(EPGShortnow) { - EPG[0][4][epgchan] = EPGShortnow; - } else { - EPG[0][4][epgchan] = ""; - } - if(EPGExtnow) { - EPG[0][5][epgchan] = EPGExtnow; - } else { - EPG[0][5][epgchan] = ""; - } - - if (EPG[0][5][epgchan] == EPG[0][4][epgchan]) { EPG[0][5][epgchan] = "";} - - - - updateOSDtime(epgchan); - - event = eitCache.getFollowingEvent(eitService); - if (Extok) { - for (var i = 0; i < events.infoSequence.length && i < 4; i++) { - extEvents = eitCache.getExtendedEventInfo(eitService, events.infoSequence[i].eventId); - if (extEvents.eventId == event.eventId) { - EPGShortnext = extEvents.shortInfo; - EPGExtnext = extEvents.extendedInfo; - } - } - } - - EPG[1][1][epgchan] = event.name; - EPG[1][2][epgchan] = event.time; - EPG[1][3][epgchan] = (event.duration/60); -// EPG[1][4][epgchan] = ""; -// EPG[1][5][epgchan] = ""; - EPG[1][6][epgchan] = event.eventId; - if (event.parentalRating) { - EPG[1][8][epgchan] = "<br>(" + Lang[5] + (event.parentalRating + 3) + " )"; - } else { - EPG[1][8][epgchan] = ""; - } - - if (event.contentNibbles) { - connib = event.contentNibbles; - Nibbles(); - EPG[1][9][epgchan] = "<br>" + content; - } else { - EPG[1][9][epgchan] = ""; - } - - if(EPGShortnext) { - EPG[1][4][epgchan] = EPGShortnext; - } else { - EPG[1][4][epgchan] = ""; - } - if(EPGExtnext) { - EPG[1][5][epgchan] = EPGExtnext; - } else { - EPG[1][5][epgchan] = ""; - } - - if (EPG[1][5][epgchan] == EPG[1][4][epgchan]) { EPG[1][5][epgchan] = "";} - - tijd = event.time; - date = new Date(tijd*1000); - tijd = date.toUTCString(); - tijd = new Date(tijd); - var tm = tijd.getMinutes(); - var th = tijd.getHours(); - th=addzero(th); - tm=addzero(tm); - EPG[1][7][epgchan] = th + ":" + tm + " (" + (event.duration/60).toFixed(0) + ")" + " " + event.name + " "; - - if (!event.time) - { - EPG[1][7][epgchan] = " "; - } - - - } catch(e) { - alert("Get EPG problem: " + e); - CAicon = "\uE01A"; - } -} - - -function Nibbles() { - content = ""; - if (connib >= 0x00001000 && connib < 0x00002000) { content = CLang[0]; } - if (connib >= 0x00002000 && connib < 0x00003000) { content = CLang[10]; } - if (connib >= 0x00003000 && connib < 0x00004000) { content = CLang[20]; } - if (connib >= 0x00004000 && connib < 0x00005000) { content = CLang[30]; } - if (connib >= 0x00005000 && connib < 0x00006000) { content = CLang[40]; } - if (connib >= 0x00006000 && connib < 0x00007000) { content = CLang[50]; } - if (connib >= 0x00007000 && connib < 0x00008000) { content = CLang[60]; } - if (connib >= 0x00008000 && connib < 0x00009000) { content = CLang[70]; } - if (connib >= 0x00009000 && connib < 0x0000A000) { content = CLang[80]; } - if (connib >= 0x0000A000 && connib < 0x0000B000) { content = CLang[90]; } - if (connib >= 0x0000B000 && connib < 0x0000C000) { content = CLang[100]; } - // alert(connib); -} - - - -function StreamInfo(si) { - // EPG Filter - // streaminfo - // SI[x] 0-sat,1-NID,2-TID,3-SID - SI=channels[si].split("-"); - - //default setting : English - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - - if(SI[0]=="C") { - // Default on Cable - Dutch // Ziggo. - is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); - } - - if(SI[0]=="T") { - // DVB-T default German. - is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); - } - - if(SI[1]=="8720") { - // KPN DVB-T (might also be used for some german) - is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S19.2E") { - // Default on 19E German. - is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S28.2E") { - // Default on 28E English - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S42.0E") { - is.setObject("cfg.locale.ui","tur",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S42.0E" && SI[3]=="3601") { - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - if(SI[1]=="133") { - //sky deutchland - is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); - } - - if(SI[2]=="1107") { - //Sat1/pro7 deutchland - is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); - } - -// if(SI[2]=="1057") { -// //RTL HD transponder -// is.setObject("cfg.locale.ui","GER",is.STORAGE_VOLATILE); -// } - -// if(SI[2]=="1057" && SI[3]=="61204") { -// //Sport1 HD (daytime only?) -// is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); -// } - - if(SI[2]=="1055" || SI[2]=="1053" || SI[2]=="1041" || SI[2]=="1017" || SI[2]=="1109") { - //HD+ transponder - is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S13.0E" && (SI[2]=="1600" || SI[2]=="1000" || SI[2]=="1500" || SI[2]=="1300" || SI[2]=="300" || SI[2]=="1100" )) { - //NC+ (Polish) - is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S13.0E" && (SI[2]=="11200" || SI[2]=="400" || SI[2]=="12000" || SI[2]=="11400" || SI[2]=="11900" || SI[2]=="11600" )) { - //NC+ (Polish) - is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S13.0E" && (SI[2]=="11000" || SI[2]=="1400")) { - //NC+ (Polish) - is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); - } - - if(SI[1]=="113") { - //PolSat - is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); - } - - if((SI[0]=="S19.2E" && SI[2]=="1059") ) { - //TVP transponder - is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); - } - - if(SI[1]=="64511") { - //sky Italia - is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S13.0E" && (SI[2]=="5400" || SI[2]=="12400" || SI[2]=="65419" || SI[2]=="65417" )) { - //Rai Italia - is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); - } - - if(SI[1]=="53" ) { - //Canal Digitaal/ TV Vlaanderen - is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S19.2E" && SI[2]=="1048" && SI[3]=="4320" ) { - //BVN - is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); - } - - - if(SI[1]=="54") { - //ZON / 30W - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - if(SI[1]=="83") { - //MEO / 30W - is.setObject("cfg.locale.ui","por",is.STORAGE_VOLATILE); - } - - if(SI[1]=="49") { - //Digital 30W - is.setObject("cfg.locale.ui","spa",is.STORAGE_VOLATILE); - } - - if(SI[1]=="3" && ( SI[2]=="3202" || SI[2]=="3208" || SI[2]=="3211" || SI[2]=="3222" || SI[2]=="3225") ) { - //Canal Digitaal/ TV Vlaanderen (NID:3 is used for more than only CDS/TVV on 23East) - is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); - } - - if(SI[1]=="3" && SI[2]=="3208" && SI[3]=="7037") { - // Some other EPG - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - if(SI[1]=="3" && ( SI[2]=="3217") ) { - // 23E - Deluxe HD - is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE); - } - - if(SI[1]=="3" && SI[2]=="3212" && ( SI[3]=="14052" || SI[3]=="14055" ) ) { - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - if(SI[1]=="3" && ( SI[2]=="3205" || SI[2]=="3209" || SI[2]=="3210" || SI[2]=="3221" || SI[2]=="3219" || SI[2]=="3226")) { - //Canal Digitaal/ TV Vlaanderen use CZE channels on 23East - // Strangly set filter to cze but epg is in Dutch. (But not for JimJam) - is.setObject("cfg.locale.ui","cze",is.STORAGE_VOLATILE); - } - - if(SI[1]=="3" && SI[2]=="3211" && ( SI[3]=="20863" || SI[3]=="20865") ) { - //MGM & Film+ CZ - is.setObject("cfg.locale.ui","cze",is.STORAGE_VOLATILE); - } - - if((SI[0]=="S13.0E" && SI[3]=="14003") || (SI[0]=="S13.0E" && SI[3]=="14009") || (SI[0]=="S13.0E" && SI[3]=="14051") || (SI[0]=="S13.0E" && SI[3]=="951")) { - //Swiss ITA channels - is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); - } - - if((SI[0]=="S13.0E" && SI[2]=="12800")) { - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - if((SI[0]=="S13.0E" && SI[3]=="14002") || (SI[0]=="S13.0E" && SI[3]=="14008") || (SI[0]=="S13.0E" && SI[3]=="17203") || (SI[0]=="S13.0E" && SI[3]=="17204") ) { - //Swiss FRA channels - is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); - } - - if((SI[0]=="S13.0E" && SI[3]=="17201") || (SI[0]=="S13.0E" && SI[3]=="17202") || (SI[0]=="S13.0E" && SI[3]=="901") || (SI[0]=="S13.0E" && SI[3]=="907") || (SI[0]=="S13.0E" && SI[3]=="911") ) { - //Swiss GER channels - is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); - } - - if((SI[0]=="S19.2E" && SI[2]=="1111" && SI[3]=="7290") ) { - //Sky News on WDR HD transponder - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S19.2E" && ( (SI[2]=="1018") || (SI[2]=="1020") || (SI[2]=="1022") || (SI[2]=="1024") || (SI[2]=="1026") || (SI[2]=="1068") || (SI[2]=="1070") || (SI[2]=="1072") || (SI[2]=="1074") || (SI[2]=="1076") || (SI[2]=="1080") || (SI[2]=="1084") || (SI[2]=="1086") || (SI[2]=="1090") || (SI[2]=="1092") || (SI[2]=="1094") || (SI[2]=="1096") || (SI[2]=="1100") || (SI[2]=="1102") || (SI[2]=="1106") || (SI[2]=="1110") || (SI[2]=="1112") || (SI[2]=="1114") || (SI[2]=="1116") || (SI[2]=="1118") || (SI[2]=="1120"))) { - //CanalSat S19.2 - is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); - } - - // MTV transponder 1078 / 1066 - if(SI[0]=="S19.2E" && SI[2]=="1078" && ( SI[3]=="28674" || SI[3]=="28675" || SI[3]=="28677" )) { - //Nick JR France - is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); - } - if(SI[0]=="S19.2E" && SI[2]=="1078" && SI[3]=="28679") { - //Nick NL - is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); - } - if(SI[0]=="S19.2E" && SI[2]=="1078" && ( SI[3]=="28673" || SI[3]=="28676" )) { - //Deutsch - is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S19.2E" && SI[2]=="1066") { - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - if(SI[0]=="S19.2E" && SI[2]=="1066" && ( SI[3]=="28652" || SI[3]=="28661" )) { - is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); - } - - //Canal Sat - if(SI[0]=="S19.2E" && SI[1]=="1" && SI[2]=="1088" ) { - is.setObject("cfg.locale.ui","fre",is.STORAGE_VOLATILE); - } - - if(SI[0]=="S13.0E" && SI[1]=="319") { - is.setObject("cfg.locale.ui","fre",is.STORAGE_VOLATILE); - } - - //Euronews / Eurosport - if(SI[0]=="S13.0E" && SI[1]=="318" && SI[2]=="200") { - is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); - } - - //bloomberg 19.2E - if(SI[0]=="S19.2E" && SI[2]=="1026" && SI[3]=="10067") { - is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); - } - - //Canal+ - if(SI[0]=="S19.2E" && SI[1]=="1" && SI[2]=="1060" ) { - is.setObject("cfg.locale.ui","spa",is.STORAGE_VOLATILE); - } - - //Russian - if(SI[0]=="S13.0E" && SI[2]=="8100") { - is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); - //doesn't work but dvbsnoop does show 'ISO639_2_language_code: ger' - } - - -} - - -// End of EPG section - - -// TeleTXT section - -function embedTeletextPlugin() { - teletext = document.createElement("embed"); - teletext.id = "teletext"; - teletext.type = "application/motorola-teletext-plugin"; - teletext.style.position = "absolute"; - teletext.style.width = "100%"; - teletext.style.height = "100%"; - teletext.style.top = "10px"; // has to be 1 rather than 0 - teletext.style.left = "10px"; // has to be 1 rather than 0 - teletext.style.zIndex = "501"; - return teletext; -} - - -function setVisible(isVisible) { - if (isVisible) { - videoplane.style.width = "50%"; - videoplane.style.left = "50%"; - document.body.appendChild(teletext); - teletext.style.width = "50%"; - teletext.style.visibility = "visible"; - channellist.style.visibility = "hidden"; - colorkeys.style.visibility = "hidden"; - } else { - teletext.style.visibility = "hidden"; - channellist.style.visibility = "visible"; - colorkeys.style.visibility = "visible"; - } -} - - -function onKeyTeletext(keyCode) { - switch(keyCode) { - case "Left": - teletext.api.gotoNextPage(); - break; - case "Right": - teletext.api.gotoPreviousPage(); - break; - case "Red": - teletext.api.inputRedKey(); - break; - case "Green": - teletext.api.inputGreenKey(); - break; - case "Yellow": - teletext.api.inputYellowKey(); - break; - case "Blue": - teletext.api.inputCyanKey(); - break; - case "MediaRewind": - teletext.api.gotoPreviousSubpage(); - break; - case "MediaForward": - teletext.api.gotoNextSubpage(); - break; - case "MediaStop": - teletext.style.width = "100%"; - teletext.api.transparent = !teletext.api.transparent; - FullScreen(); - break; - case "BrowserBack": - case "Teletext": - isVisible = 0; - FullScreen(); - setVisible(isVisible); - break; - - case "TV": - teletext.api.gotoIndexPage(); - break; - - case KEY_0: - teletext.api.inputDigit(0); - break; - case KEY_1: - teletext.api.inputDigit(1); - break; - case KEY_2: - teletext.api.inputDigit(2); - break; - case KEY_3: - teletext.api.inputDigit(3); - break; - case KEY_4: - teletext.api.inputDigit(4); - break; - case KEY_5: - teletext.api.inputDigit(5); - break; - case KEY_6: - teletext.api.inputDigit(6); - break; - case KEY_7: - teletext.api.inputDigit(7); - break; - case KEY_8: - teletext.api.inputDigit(8); - break; - case KEY_9: - teletext.api.inputDigit(9); - break; - - - - } -} - -// end of TeleTXT section - - -// Menu section - -function onKeyMenu(keyCode) { - switch(keyCode) { - case "BrowserBack": - if ((menu == 5 || menu == 7) && osdepginfo.style.opacity == 1) { - osdepginfo.style.opacity = 0; - } else if (menu == 10 || menu == MainMenu) { - isSetupMenu = 0; - mainmenu.style.opacity = 0; - osdepginfo.style.opacity = 0; - } else if (menu !== MainMenu) { - if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1;MPDListener = 0;} - menu = MainMenu; - InitMenu(menu); - } - break; - case "Menu": - if (menu == 3 ) { play(channels[currChan]);MPDListener = 0;} - isSetupMenu = 0; - mainmenu.style.opacity = 0; - osdepginfo.style.opacity = 0; - break; - - case "Left": - break; - case "Right": - break; - case "Up": - if (menu == 2) { - timerID -= 1; - if (timerID < 1) { timerID = 1; } - } else if (menu == 5 || menu == 7 || menu == 10) { - timerID -= 1; - if (timerID < 0) { timerID = 0; } - } - InitMenu(menu); - break; - case "Down": - if (menu == 2) { - timerID += 1; - var x = ss.getBookingIds("*", 0, 0); - if (timerID > x.length ) { timerID = x.length; } - } else if (menu == 5 || menu == 7 || menu == 10) { - timerID += 1; - if (timerID > (maxTimers - 1) && maxTimers !== 0) { timerID = maxTimers - 1; } - } - InitMenu(menu); - break; - case KEY_OK: - if (menu == 2 && isMediaMenu !== 1) { - var x = ss.getBookingIds("*", 0, 0); - try { - recLink[0] = ss.getParameter(x[timerID-1], "assetURI"); - recGUID[0] = ss.getParameter(x[timerID-1], "assetId"); - recChan[0] = ss.getParameter(x[timerID-1], "Channel"); - recTitl[0] = ss.getParameter(x[timerID-1], "Title"); - recDura[0] = ss.getBooking(x[timerID-1]).duration;// Is updated if real length is different - recStrt[0] = ss.getBooking(x[timerID-1]).start; - recDesc[0] = ss.getParameter(x[timerID-1], "Info"); - recDummy[0] = x[timerID-1]; - resume_position = Number(ss.getParameter(x[timerID-1], "resume")); - localRecording = 1; - currMed = 0; - getRecOK = 0; - LoadMediaSettings(); - isSetupMenu = 0; - medialist.style.opacity = 0; - mainmenu.style.opacity = 0; - playRec(recLink[0],resume_position); - } catch(e) { - alert("error : " + e); - } - } - if (menu == 10) { - GotoFav((timerID + Fav_base + 1)); - isSetupMenu = 0; - mainmenu.style.opacity = 0; - osdepginfo.style.opacity = 0; - } - if (menu == 5) { - // Show EPG info Timer - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - osdepginfo.innerHTML = "<pre class=epgtimerinfo>\n\n\n" + Lang[0] + "\n\n\n </pre>" ; - setTimeout("ShowTimerInfo();",100); - } - if (menu == 7) { - // Show more info Current SearchTimer - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - osdepginfo.innerHTML = "<h1 class=mainmenu>" + searchtimersSearch[timerID] + "\n\n\n\n" + Lang[0] + "</h1>" ; - setTimeout("ShowSearchTimerInfo();",100); - } - - break; - case "Red": - - if (menu == 1) { - if (subs_dyn < (subs_prio_dyn.length -1)) { subs_dyn += 1} else { subs_dyn = 0 } - if (subs_prio_dyn.length > 0) { - is.setObject("cfg.media.subtitling.languagepriority", (subs_prio_dyn[subs_dyn] + "," + subs_prio),is.STORAGE_PERMANENT); - } else { - is.setObject("cfg.media.subtitling.languagepriority",subs_prio,is.STORAGE_PERMANENT); - } - InitMenu(menu); - break; - } else if (menu == 2) { - var x = ss.getBookingIds("*", 0, 0); - if (x.length > 0) { - if (mediaRecorder) { - try { - if (ss.getParameter(x[timerID-1], "active") == "True") { - ss.setParameter(x[timerID-1], "active", "False"); - mediaRecorder.close(); - } - } catch (e) { - alert(e); - } - - try { - ams.removeAsset(rma, ss.getParameter(x[timerID-1], "assetId")); - } catch(e) { - alert("Error remove asset" + e); - } - } - - //Remove timer from schedule DB - - ss.remove(x[timerID-1]); - timer[timerID] = ""; - timerID -= 1; if (timerID < 1) { timerID = 1;} - LoadTimers(); - //if (timer.length !== 0) { do { timerID = timerID + 1; } while (!timer[timerID] && (timerID < timer.length)) } - setOSDtimer(); - InitMenu(menu); - } - } else if (menu == 5 && smartTVplugin) { - osdepginfo.style.opacity = 0; - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n\n\n" + Lang[0] + "</pre>"; - DeleteTimers(); - setTimeout("LoadTimersServer();InitMenu(menu);",100); - } else if (menu == 10) { - channels[(timerID + Fav_base + 1)]=""; - channelsnames[(timerID + Fav_base + 1)]=""; - is.setObject(("vip.channelsnames." + (timerID + 1)),"",is.STORAGE_PERMANENT) - is.setObject(("vip.channels." + (timerID + 1)),"",is.STORAGE_PERMANENT) - if (Fav_max_channel == (timerID + 1)) { - Fav_max_channel = timerID; - maxTimers = Fav_max_channel; - is.setObject("vip.fav_max_channel",Fav_max_channel.toString(),is.STORAGE_PERMANENT) - timerID -= 1; if (timerID < 0) {timerID = 0;} - } - setTimeout("InitMenu(menu);",100); - } - break; - case "Green": - if (menu == 1) { - Set_Res = Set_Res + 1; - if (Set_Res > (VideoOutputModes.length-1)) { Set_Res = 0;} - // save the info - is.setObject("vip.resolution",Set_Res.toString(),is.STORAGE_PERMANENT) - - VideoOutput(); - InitMenu(menu); - } else if (menu == 2 && mediaRecorder) { - var x = ss.getBookingIds("*", 0, 0); - if (ss.getBooking(x[timerID-1]).category == "RecLocal") { - ss.reschedule(x[timerID-1],"SwitchOnly","notification",ss.getBooking(x[timerID-1]).start,ss.getBooking(x[timerID-1]).duration) - } else if (ss.getBooking(x[timerID-1]).category == "SwitchOnly") { - ss.reschedule(x[timerID-1],"RecLocal","record_hd_from_ip",ss.getBooking(x[timerID-1]).start,ss.getBooking(x[timerID-1]).duration) - } - LoadTimers(); - InitMenu(menu); - } else if (menu == 5 && smartTVplugin) { - activate_timers(timerID); - InitMenu(menu); - } else if (menu == 10) { - //move up - if (timerID !== 0) { - x = timerID + Fav_base + 1; - x1 = channels[x]; - y1 = channelsnames[x]; - x2 = channels[(x - 1)]; - y2 = channelsnames[(x - 1)]; - is.setObject(("vip.channelsnames." + (timerID + 1)),y2,is.STORAGE_PERMANENT) - is.setObject(("vip.channels." + (timerID + 1)),x2,is.STORAGE_PERMANENT) - is.setObject(("vip.channelsnames." + timerID),y1,is.STORAGE_PERMANENT) - is.setObject(("vip.channels." + timerID),x1,is.STORAGE_PERMANENT) - channelsnames[x] = y2; - channels[x] = x2; - channelsnames[(x - 1)] = y1; - channels[(x - 1)] = x1; - timerID -= 1; - setTimeout("InitMenu(menu);",100); - } - } - break; - case "Yellow": - if (menu == MainMenu) { - menu = 4; // INFO menu - InitMenu(menu); - } else if (menu == 1) { - menu = 9; // INFO2 menu - InitMenu(menu); - } else if (menu == 10) { - //move down - if (timerID !== (maxTimers - 1)) { - x = timerID + Fav_base + 1; - x1 = channels[x]; - y1 = channelsnames[x]; - x2 = channels[(x + 1)]; - y2 = channelsnames[(x + 1)]; - is.setObject(("vip.channelsnames." + (timerID + 1)),y2,is.STORAGE_PERMANENT) - is.setObject(("vip.channels." + (timerID + 1)),x2,is.STORAGE_PERMANENT) - is.setObject(("vip.channelsnames." + (timerID + 2)),y1,is.STORAGE_PERMANENT) - is.setObject(("vip.channels." + (timerID + 2)),x1,is.STORAGE_PERMANENT) - channelsnames[x] = y2; - channels[x] = x2; - channelsnames[(x + 1)] = y1; - channels[(x + 1)] = x1; - timerID += 1; - setTimeout("InitMenu(menu);",100); - } - } - break; - case "Blue": - if (menu == 0) { - RestartPortal(); - } else if (menu == 1) { - css_nr += 1; - if (css_nr > (cssfile.length - 1)) { css_nr = 0;} - loadcss(cssfile[css_nr]); - alert(css_nr); - alert(cssfile[css_nr]); - is.setObject("vip.css_nr",css_nr.toString(),is.STORAGE_PERMANENT) - setTimeout("InitMenu(menu);",100); - } else if (menu == 2) { - // Show Info local timer/ recording - var x = ss.getBookingIds("*", 0, 0); - var y = Number(ss.getParameter(x[timerID-1], "Channel")); - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - osdepginfo.innerHTML = "<pre class=epgtimerinfo>" + ss.getParameter(x[timerID-1], "Title") + "\n " + "\n" + y + " - " + channelsnames[y] + "(" + ss.getParameter(x[timerID-1], "Eventid") + ")" + "\n </pre><p class=epg_info>" + ss.getParameter(x[timerID-1], "Info") + "</p>" ; - } else if (menu == 5) { - // Show EPG info Timer - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - osdepginfo.innerHTML = "<pre class=epgtimerinfo>\n\n\n" + Lang[0] + "\n\n\n </pre>" ; - setTimeout("ShowTimerInfo();",100); - } else if (menu == 7) { - // Show info SearchTimers - osdepginfo.innerHTML = SearchTimer[timerID] ; - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - } else if (menu == 10) { - if (protChn[ChanGroup] !== 1 && ChanGroup !== Fav_group) { - AddtoFav(); - } - } - break; - case "MediaRewind": - if (menu == 1) { - if (experimental) { // mute output 0 (analog out), keep output 3 'decoder output' unmuted - aos.setVolume(0, 0); - } - } - break; - case "MediaForward": - if (menu == 1) { - if (experimental) { aos.setVolume(0, 100); } - } - - break; - case "MediaStop": - if (menu == 1) { - //set sleep timer. - SleepTimer += 15; - if (SleepTimerID != -1) { - clearTimeout(SleepTimerID); - SleepTimerID = -1; - } - if (SleepTimer > 90) { - SleepTimer = 0; - } else { - SleepTimerID = setTimeout("SleepTimer = 0;toi.platformService.setStandby(true);", (SleepTimer * 60 * 1000)); - } - } else if (menu == 2) { - var x = ss.getBookingIds("*", 0, 0); - var y = Number((new Date().getTime()/1000).toFixed(0)) + 2; - //stop current recording after 2 sec. - ss.reschedule(x[timerID-1],"RecLocal","record_hd_from_ip", y , 0) - ss.setParameter(x[timerID-1], "Type", "\uE01C"); - LoadTimers(); - } - InitMenu(menu); - break; - case "Teletext": - break; - case "TV": - break; - case KEY_1: - if (menu == MainMenu) { - menu = 1; - } else if (menu == 1) { - ShowSubs = 1 - ShowSubs; - videoplane.subtitles = Boolean(ShowSubs); // Enable subtitles or Disable subtitles - is.setObject("vip.showsubs",ShowSubs.toString(),is.STORAGE_PERMANENT); - } else if (menu == 8) { - SetGroup(1); - } - - InitMenu(menu); - break; - case KEY_2: - if (menu == MainMenu) { - LoadTimers(); - timerID = 1; - //if (timer.length !== 0) { do { timerID += 1; } while (!timer[timerID] && (timerID < timer.length)) } - menu = 2; - } - - if (menu == 1) { - if(subsmode == 0 ) { - is.setObject("cfg.media.subtitling.modepriority","Teletext,DVB",is.STORAGE_PERMANENT); - subsmode = 1; - } else { - is.setObject("cfg.media.subtitling.modepriority","DVB,Teletext",is.STORAGE_PERMANENT); - subsmode = 0; - } - } - - if (menu == 8) { - SetGroup(2); - } - InitMenu(menu); - break; - case KEY_3: - if (menu == 0) { - isSetupMenu = 0; - medialist.style.opacity = 0.9; - mainmenu.style.opacity = 0; - setTimeout("getSchedule(currChan);LoadMediaSettings();",100); - } else if (menu == 1) { - if (audio < (lang_prio.length -1)) { audio += 1} else { audio = 0 } - is.setObject("vip.languagepriority",audio.toString(),is.STORAGE_PERMANENT); - is.setObject("cfg.media.audio.languagepriority",lang_prio[audio],is.STORAGE_PERMANENT); - InitMenu(menu); - } else if (menu == 8) { - SetGroup(3); - InitMenu(menu); - } - - break; - case KEY_4: - if (menu == 0) { - isSetupMenu = 0; - medialist.style.opacity = 0.9; - mainmenu.style.opacity = 0; - recPath = "/recordings.xml"; - setTimeout("getRecList();LoadMediaSettings();",100); - } else if (menu == 1) { - //Init here. menu = 0 don't need init! - menu = 8; - InitMenu(menu); - } else if (menu == 8) { - SetGroup(4); - InitMenu(menu); - } - - break; - case KEY_5: - if (menu == MainMenu && (Restfulapiplugin || smartTVplugin)) { - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n\n\n" + Lang[0] + "</pre>"; - timerID = 0; - menu = 5; - setTimeout("LoadTimersServer();InitMenu(menu);",200); - } - - if (menu == 1) { - var x = is.getObject("vip.serveraddress"); - x = Number(x); - if (x < (server_ip_array.length -1)) { x += 1} else { x = 0 } - is.setObject("vip.serveraddress",x.toString(),is.STORAGE_PERMANENT); - - server_ip = server_ip_array[x]; - for (var i=0;i<10;i++) { - if (ServerAdres[i] !== "FullURL" && ServerAdres[i] !== "MultiCast") {ServerAdres[i] = server_ip + StreamPort;} - } - InitMenu(menu); - } - - if (menu == 8) { - SetGroup(5); - InitMenu(menu); - } - break; - case KEY_6: - if (menu == 0 && Restfulapiplugin) { - isSetupMenu = 0; - medialist.style.opacity = 0.9; - mainmenu.style.opacity = 0; - setTimeout("getServerSchedule();LoadMediaSettings();",100); - } - - if (menu == 1) { - if(showClock == 0 ) { - showDisplay("", true, 80, 1 ); - showClock = 1; - } else if(showClock == 1 ) { - showClock = 0; - showDisplay(currChan.toString(), false, 100, 0 ); - } - InitMenu(menu); - } - if (menu == 8) { - SetGroup(6); - InitMenu(menu); - } - - break; - case KEY_7: - if (menu == 0 && smartTVplugin) { - isSetupMenu = 0; - medialist.style.opacity = 0.9; - mainmenu.style.opacity = 0; - recPath = "/media.xml"; - setTimeout("getRecList();LoadMediaSettings();",100); - } - - - if (menu == 1) { - ShowProtectedChannels = 1 - ShowProtectedChannels; - if (ProtectID) { clearTimeout(ProtectID); } - if (ShowProtectedChannels == 0 && ProtectTimeOut !== 0 ) { - ProtectID = setTimeout("ShowProtectedChannels = 1; if (protChn[ChanGroup] == 1) {ChanGroup = 0; currChan = defChan[ChanGroup]; play(currChan); }",ProtectTimeOut); - } - if (ShowProtectedChannels == 1 && protChn[ChanGroup] == 1) { ChanGroup = 0; currChan = defChan[ChanGroup]; play(currChan); } - isSetupMenu = 0; - mainmenu.style.opacity = 0; - } - if (menu == 8) { - SetGroup(7); - InitMenu(menu); - } - - break; - case KEY_8: - if (menu == MainMenu && Restfulapiplugin) { - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[8] + "</h1><pre class=mainmenu>\n\n\n" + Lang[0] + "</pre>"; - timerID = 0; - menu = 7; - setTimeout("LoadSearchTimersServer();InitMenu(menu);",200); - } - if (menu == 1) { - if(SwitchGuide == 0 ) { - SwitchGuide = 1; - } else if(SwitchGuide == 1 ) { - SwitchGuide = 0; - } - InitMenu(menu); - } - if (menu == 8) { - SetGroup(8); - InitMenu(menu); - } - - - break; - case KEY_9: - if ((menu == 0 || menu == 3) && ShowMPD) { - menu = 3; - playMPD(server_ip + MPDAddress); - } else if (menu == 1) { - if (lang_nr < (OSDLang.length -1)) { lang_nr += 1} else { lang_nr = 0 } - is.setObject("vip.OSDlanguage",lang_nr.toString(),is.STORAGE_PERMANENT); - loadjs(langfile[lang_nr]); - setTimeout("InitMenu(menu);",100); - } else if (menu == 8) { - SetGroup(9); - } - - InitMenu(menu); - break; - case KEY_0: - if (menu !== MainMenu && menu !== 8 ) { - if (menu == 3 ) { isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; MPDListener = 0;} - menu = MainMenu; - InitMenu(menu); - } else if (menu == 8) { - SetGroup(0); - InitMenu(menu); - } else if (menu == 0) { - timerID = 0; maxTimers = Fav_max_channel; - menu = 10; if (ChanGroup !== Fav_group) { Fav_key1 = Lang[86]; } - InitMenu(menu); - } - - break; - case "VolumeMute": - VolumeMute(); - break; - case "VolumeUp": - VolumeUp(); - break; - case "VolumeDown": - VolumeDown(); - break; - case KEY_A:// |> key on old long kpn 1710/1760 remote - break; - case KEY_B:// hh key on old long kpn 1710/1760 remote - break; - case KEY_C:// @ key on old long kpn 1710/1760 remote - if (menu == 10 ) { - isSetupMenu = 0; - mainmenu.style.opacity = 0; - osdepginfo.style.opacity = 0; - } - break; - case KEY_D:// >@ key on old long kpn 1710/1760 remote - break; - - default: - break; - } -} - - -function InitMenu(menu) { - -// 0 = Main Menu -// 1 = settings menu -// 2 = Timers menu -// 3 = MPD Menu -// 4 = INFO Menu -// 5 = Timers from Server -// 6 = Main Menu (when watching recording) -// 7 = SearchTimers from Server -// 8 = ChannelGroups enable/disable -// 9 = INFO2 menu -// 10 = Favorite Edit menu - -osdepginfo.style.opacity = 0; - -if(menu == 0) { // Main Menu - MainMenu = 0; - var htmltext = "<h1 class=mainmenu>" + Lang[9] + "\n ( " + Version + " )</h1><pre class=mainmenu> 1 -" + Lang[10] + "\n 2 -" + Lang[7] + "\n 3 -" + Lang[11]; - htmltext += "\n 4 -" + Lang[12]; - if (Restfulapiplugin) { - htmltext += "\n 5 -" + Lang[13]; - } else { - htmltext += "<span class=notset>" + "\n 5 -" + Lang[13] + "</span>" ; - } - if (Restfulapiplugin) { - htmltext += "\n 6 -" + Lang[14]; - } else { - htmltext += "<span class=notset>" + "\n 6 -" + Lang[14] + "</span>" ; - } - if (smartTVplugin) { - htmltext += "\n 7 -" + Lang[15]; - } else { - htmltext += "<span class=notset>" + "\n 7 -" + Lang[15] + "</span>" ; - } - if (Restfulapiplugin) { - htmltext += "\n 8 -" + Lang[16]; - } else { - htmltext += "<span class=notset>" + "\n 8 -" + Lang[16] + "</span>" ; - } - if (ShowMPD) { - htmltext += "\n 9 -" + Lang[17]; - } else { - htmltext += "<span class=notset>" + "\n 9 -" + Lang[17] + "</span>" ; - } - - htmltext += "\n 0 - " + Lang[83] + "\n\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[35] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[18] + "</pre>"; - mainmenu.innerHTML = htmltext; -} - -if(menu == 6) { // Main Menu when watching recording - MainMenu = 6; - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[9] + "\n ( " + Version + " )</h1><pre class=mainmenu> 1 -" + Lang[10] + "\n 2 -" + Lang[7] + "\n\n\n 5 -" + Lang[13] + "\n\n\n 8 -" + Lang[16] + "\n\n\n\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[35] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</pre>"; -} - - -if(menu == 1) { // settings menu - var htmltext = "<h1 class=mainmenu>" + Lang[10] + "</h1><pre class=mainmenu> 1 - "; - if (ShowSubs) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } - htmltext += Lang[20] + ": " + (is.getObject("cfg.media.subtitling.languagepriority")); - if (subs_prio_dyn.length > 0) { htmltext += " (" + (subs_dyn + 1 ) + "/" + subs_prio_dyn.length + ") "; } - htmltext += "\n 2 - \uE003" + Lang[22] + (is.getObject("cfg.media.subtitling.modepriority")); - htmltext += "\n 3 - \uE003" + Lang[24] + (is.getObject("cfg.media.audio.languagepriority")); - htmltext += "\n 4 - " + Lang[82] + "\n 5 - VDR : " + server_ip + "\n 6 - "; - if (showClock) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } - htmltext += Lang[25] + "\n 7 - "; - if (ShowProtectedChannels) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } - htmltext += Lang[26] + "\n 8 - "; - if (SwitchGuide) { htmltext += "\uE017"; } else { htmltext += "\uE016"; } - htmltext += Lang[27] + "\n 9 -" + Lang[23] + OSDLang[lang_nr] + "\n \u25AA -" + Lang[29]; - - if (SleepTimer) { htmltext += SleepTimer + Lang[30]; } else { htmltext += Lang[31]; } - - htmltext += "\n\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[20]; - htmltext += "</span><span class=greenkey>\u25CF</span><span class=mainfont> - " + VideoOutputModes_txt[VideoOutputModes[Set_Res]] + " "; - htmltext += "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[35]; - htmltext += "</span><span class=bluekey>\u25CF</span><span class=mainfont> - " + Left(cssfile[css_nr].split(".")[0],8) +"</pre>"; -// htmltext += "\n 0 -" + Lang[9] +"</pre>"; - mainmenu.innerHTML = htmltext; -} - -if(menu == 2) { // Timers menu - booking = ""; - var x = timerID - 2; - var y = ss.getBookingIds("*", 0, 0); - if (y.length !== 0) { - for (var i=0;i<10;i++) { - if (timer.length !== 0) { do { x += 1; } while (!timer[x] && (x < timer.length)) } - - if (i == 0) { - booking += "<span class=select>"; - } else if (i == 1) { - booking += "</span>"; - } - - if (timer.length > x) { - try { - if (ss.getParameter(y[x], "assetURI")) { - // test if there is a file with the timer if so more info is added - if (Number(ss.getParameter(y[x], "resume")) == 0 ) { - booking += "\uE003\uE010"; - } else { - booking += "\uE003\uE003"; - } - } - } catch(e) { - booking += "\uE003\uE003"; - } - booking += ss.getParameter(y[x], "Type"); - booking += timer[x]; - } else { - booking += "\n"; - } - } - } - if (mediaRecorder) { var x = NN[3]; } else { var x = Lang[19]; } - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n 0 -" + Lang[9] + "\n" + booking + " <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[48] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> - " + x + " </span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=bluekey>\u25CF</span><span class=mainfont> - " + NN[5] + "</pre>"; -} - -if(menu == 3) { // MPD Menu - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[33] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "</pre>"; -} - -if(menu == 4) { // INFO Menu - var htmltext = "<h1 class=mainmenu>" + Lang[35] + "</h1><pre class=mainmenu>"; - try { - htmltext += "\n Product name: " + is.getObject("config.productdisplayname"); - htmltext += "\n Build date : " + is.getObject("config.build.date"); - htmltext += "\n\n IP address : " + is.getObject("config.ipaddress"); - - var x = is.getObject("cfg.ip.eth0.mode"); - if (x == "DHCP") { htmltext += "\n \uE003\uE017 "; } else { htmltext += "\n \uE003\uE016 "; } - htmltext += "DHCP"; - var x = is.getObject("var.capabilities.dvr"); - if (x !== "FALSE") { htmltext += "\n \uE003\uE017 "; } else { htmltext += "\n \uE003\uE016 "; } - htmltext += "DVR \n"; - htmltext += "\n VDR address : " + server_ip; - htmltext += "\n Vip Client\uE003\uE003\uE003: " + Version; - htmltext += "\n Channel list\uE003: " + Chan_Ver; - - } catch(e) { - alert("Error : " + e); - } - htmltext += "\n\n 0 -" + Lang[9] + "</pre>"; - mainmenu.innerHTML = htmltext; - -} - -if(menu == 5) { // Timers from Server - if (timerOK) { - // booking = "<center>" + Lang[32] + "</center>"; - booking = "<span class=select>"; - var x = timerID - 1; - for (var i=0;i<10;i++) { - if (maxTimers !== 0) { do { x += 1; } while (!timers[x] && (x < maxTimers)) } - if (maxTimers > x) { booking += timers[x]; } else { booking += "\n"; } - if (i == 0) { booking += "</span>"; } - } - if (get_timer) { - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n" + booking + "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[48] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[49] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[28] + "</pre>"; - } else { - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n" + booking + "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[28] + "</pre>"; - } - } -} - - -if(menu == 7) { // SearchTimers from Server - if (timerOK) { - // booking = "<center>" + Lang[32] + "</center>"; - booking = "<span class=select>"; - var x = timerID - 1; - for (var i=0;i<10;i++) { - if (maxTimers !== 0) { do { x += 1; } while (!searchtimers[x] && (x < maxTimers)) } - if (maxTimers > x) { booking += searchtimers[x]; } else { booking += "\n"; } - if (i == 0) { booking += "</span>"; } - } - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[8] + "</h1><pre class=mainmenu>\n" + booking + "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" + Lang[19] + "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" + Lang[19] + " </span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Lang[28] + "</pre>"; - - } -} - -if(menu == 8) { // ChannelGroups enable/disable - var htmltext = "<h1 class=mainmenu>" + Lang[80] + "</h1><pre class=mainmenu>\n"; - for (var i=0;i<10;i++) { - if (maxChan[i]) { } else { htmltext += "<span class=notset>"; } - htmltext += "\uE003" + i + "\uE003-\uE003"; - if (is.getObject(("vip.group." + i)) == "1") { htmltext += "\uE017"; } else { htmltext += "\uE016"; } - htmltext += "\uE003" + Lang[81] + i + "\n"; - if (maxChan[i]) { } else { htmltext += "</span>"; } - } - htmltext += "</pre>"; - mainmenu.innerHTML = htmltext; - } - -if(menu == 9) { // INFO2 Menu - var htmltext = "<h1 class=mainmenu>" + Lang[35] + "</h1><pre class=mainmenu>"; - try { - if (fullupdate !== 0) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } - htmltext += "Full EPG Update "; - - experimental = Number(is.getObject("vip.testing")); - if (experimental) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } - htmltext += "Experimental"; - if (Number(is.getObject("vip.testing2"))) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } - htmltext += "Experimental 2 (Info box 'not in package')"; - if (Restfulapiplugin) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } - htmltext += "Has Restfulapiplugin" - if (smartTVplugin) { htmltext += "\n \uE017 "; } else { htmltext += "\n \uE016 "; } - htmltext += "Has smartTVplugin" - htmltext += "\n gettimers from"; - if (get_timer == 1) { - htmltext += " smarttvweb "; - } else { - htmltext += " restfulapi "; - } - - htmltext += "\n getmarks from"; - if (get_marks == 1) { htmltext += " smarttvweb "; } else { htmltext += " restfulapi "; } - htmltext += "\n getrecordings from"; - if (get_recordings == 1) { - htmltext += " smarttvweb "; - } else if (get_recordings == 0) { - htmltext += " restfulapi "; - } else { - htmltext += " streamdev "; - } - htmltext += "\n EPGMode : " - if (EPGMode) { htmltext += "Full EPG"; } else { htmltext += "Now/Next Only"; } - } catch(e) { - alert("Error : " + e); - } - htmltext += "\n\n 0 -" + Lang[9] + "</pre>"; - mainmenu.innerHTML = htmltext; - -} - -if(menu == 10) { // Favorite edit Menu - var htmltext = "<h1 class=mainmenu>" + Lang[83] - htmltext += "</h1><pre class=mainmenu>\n" - htmltext += "<span class=select>"; - var x = timerID; - for (var i=0;i<10;i++) { - if (maxTimers !== 0) { x += 1;} - if (maxTimers >= x && x !== 0) { htmltext += " \u0003\u0003 " + x + " \u0003\u0003 " + channelsnames[(x + Fav_base)] + " \u0003\u0003\u0003 \n"; } else { htmltext += "\n"; } - if (i == 0) { htmltext += "</span>"; } - } - htmltext += "\n <span class=redkey>\u25CF</span><span class=mainfont> -" + Lang[87]; - htmltext += "</span><span class=greenkey>\u25CF</span><span class=mainfont> -" - if (timerID == 0) { htmltext += Lang[19] } else { htmltext += Lang[84] } //no move up - htmltext += "</span><span class=yellowkey>\u25CF</span><span class=mainfont> -" - if (timerID == (maxTimers - 1) || x == 0) { htmltext += Lang[19] } else { htmltext += Lang[85] } //no move down - htmltext += "</span><span class=bluekey>\u25CF</span><span class=mainfont> -" + Fav_key1 + "</pre>"; - mainmenu.innerHTML = htmltext; -} - -} // end of initmenu - -function SetGroup(isgroup) { - is.setObject("vip.group." + isgroup,(1 - is.getObject("vip.group." + isgroup)).toString(),is.STORAGE_PERMANENT); - if (is.getObject("vip.group." + isgroup) == "0") { minChan[isgroup] = "";} else {minChan[isgroup] = minchan[isgroup];} -} - -function LoadTimers() { - timer.length = 0; - var booking = ""; - var x = ss.getBookingIds("*", 0, 0); - for (var i=0;i<x.length;i++) { - var y = ss.getBooking(x[i]); - booking = " ID " + x[i]; - booking += " " + Left(y.category,1); - tijd = y.start; - date = new Date(tijd*1000); - tijd = date.toUTCString(); - tijd = new Date(tijd); - month = tijd.getMonth(); - d = tijd.getDate(); - day = tijd.getDay(); - var tm = tijd.getMinutes(); - var th = tijd.getHours(); - th=addzero(th); - tm=addzero(tm); - -// booking += " Start " + Left(days[day],3) + " " + d + " " + Left(months[month],3) + " " + th + ":" + tm + " " + (y.duration/60).toFixed(0) + " min"; - booking += " " + d + " " + Left(months[month],3) + " " + th + ":" + tm + " " + (y.duration/60).toFixed(0) + " min"; - - booking += " " + Left(channelsnames[ss.getParameter(x[i], "Channel")],8); - booking += " " + Left(ss.getParameter(x[i], "Title"),15); - timer[i] = booking + "\n" ; - - } -} - - -function LoadTimersServer() { -try { - - if (get_timer==1) { - //Get timers from SmartTVweb - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + recServ + "/timers.xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("timer"); - maxTimers = x.length; - timers.length = 0; // clear timers[i] tries to clear crap if current x.length < previous x.length - if (x.length > 0) { - for (var i=0;i<x.length;i++) - { - var fill = "\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003"; - timersFlag[i] = x[i].getElementsByTagName("flags")[0].childNodes[0].nodeValue; - timersStrt[i] = Right("000" + x[i].getElementsByTagName("start")[0].childNodes[0].nodeValue,4); - timersStop[i] = Right("000" + x[i].getElementsByTagName("stop")[0].childNodes[0].nodeValue,4); - - timersEvnt[i] = x[i].getElementsByTagName("eventid")[0].childNodes[0].nodeValue; // event_id - timersID[i] = x[i].getElementsByTagName("index")[0].childNodes[0].nodeValue; // index - timersChan[i] = x[i].getElementsByTagName("channelid")[0].childNodes[0].nodeValue; // channel_id - timersName[i] = x[i].getElementsByTagName("channelname")[0].childNodes[0].nodeValue + fill; - timersDay[i] = x[i].getElementsByTagName("day")[0].childNodes[0].nodeValue; - timersDays[i] = new Date(timersDay[i]*1000); - timersDays[i] = timersDays[i].getDate() + "\uE003" + Left(months[timersDays[i].getMonth()],4); - timersFile[i] = x[i].getElementsByTagName("file")[0].childNodes[0].nodeValue + fill + fill; - - if (timersFlag[i] == "1") { - timers[i] = "\uE003\uE00C\uE003"; - } else if (timersFlag[i] == "9" || timersFlag[i] == "11" ) { - timers[i] = "\uE003\uE00B\uE003"; - } else if (timersFlag[i] == "0") { - timers[i] = "\uE003\uE003\uE003"; - } else { - timers[i] = "\uE003?\uE003"; - } - - timers[i] += timersDays[i] + "\uE003" + timersStrt[i] + "\uE003" + timersStop[i] + "\uE003" + Left(timersName[i],8) + "\uE003" + Left(timersFile[i],15) + "\n" ; - } - } - timerOK = 1; - } else if (get_timer == 0) { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/timers.xml"),false); // ?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("timer"); - maxTimers = x.length; - timers.length = 0; // clear timers[i] tries to clear crap if current x.length < previous x.length - if (x.length > 0) { - for (var i=0;i<x.length;i++) - { - var fill = "\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003"; - timersID[i] = x[i].getElementsByTagName("param")[0].childNodes[0].nodeValue; - timersChan[i] = x[i].getElementsByTagName("param")[11].childNodes[0].nodeValue; - timersFlag[i] = x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue; - timersStrt[i] = Right("00" + x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue,4); - timersStop[i] = Right("00" + x[i].getElementsByTagName("param")[3].childNodes[0].nodeValue,4); - timersEvnt[i] = x[i].getElementsByTagName("param")[8].childNodes[0].nodeValue; - timersDays[i] = x[i].getElementsByTagName("param")[9].childNodes[0].nodeValue; - if (timersDays[i] == "-------" ) { - timersDays[i] = x[i].getElementsByTagName("param")[10].childNodes[0].nodeValue; - } else { - timersDays[i] += "\uE003\uE003\uE003"; - } - timersName[i] = x[i].getElementsByTagName("param")[15].childNodes[0].nodeValue + fill; - timersFile[i] = x[i].getElementsByTagName("param")[14].childNodes[0].nodeValue + fill + fill; - if (timersFlag[i] == "1") { - timers[i] = "\uE003\uE00C\uE003"; - } else if (timersFlag[i] == "9") { - timers[i] = "\uE003\uE00B\uE003"; - } else { - timers[i] = "\uE003\uE003\uE003"; - } - timers[i] += timersDays[i] + "\uE003" + timersStrt[i] + "\uE003" + timersStop[i] + "\uE003" + Left(timersName[i],8) + "\uE003" + Left(timersFile[i],15) + "\n" ; - } - } - timerOK = 1; - } - } catch(e) { - timerOK = 0; - alert("Get Timers problem: " + e); - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[7] + "</h1><pre class=mainmenu>\n " + Lang[36] + ": \n " + server_ip + "</pre>"; - } -} - -function DeleteTimers() { -if (get_timer==1) { - try { - - xmlhttp=new XMLHttpRequest(); - // - // SmartTVWeb - // xmlhttp.open("GET",(server_ip + recServ + "/deleteTimer?guid=" + timersChan[timerID] + "&dy=" + timersDay[timerID] - // + "&st=" + timersStrt[timerID] + "&sp=" + timersStop[timerID] + "&" + new Date().getTime()),false); - xmlhttp.open("GET",(server_ip + recServ + "/deleteTimer?index=" + timersID[timerID] + "&" + new Date().getTime()),false); - xmlhttp.send(); - - } catch(e) { - alert("Deleting Timers problem: " + e); - } - } -} - -function activate_timers(){ -if (get_timer==1) { - // (De)activate timers. - try { - - xmlhttp=new XMLHttpRequest(); - if (timersFlag[timerID] == "0") { - xmlhttp.open("GET",(server_ip + recServ + "/activateTimer?index=" + timersID[timerID] + "&activate=true&" + new Date().getTime()),false); - } else { - xmlhttp.open("GET",(server_ip + recServ + "/activateTimer?index=" + timersID[timerID] + "&activate=false&" + new Date().getTime()),false); - } - xmlhttp.send(); - - if (timersFlag[timerID] == "0") { - timers[timerID] = timers[timerID].substr(0, 1) + "\uE00C" + timers[timerID].substr(2); - timersFlag[timerID] = "1" - } else { - timers[timerID] = timers[timerID].substr(0, 1) + "\uE003" + timers[timerID].substr(2); - timersFlag[timerID] = "0" - } - } catch(e) { - alert("(De)Activate Timers problem: " + e); - } - } -} - - -function ShowTimerInfo() { - if (osdepginfo.style.opacity == 1) { - //Like Show EPG Info - //setup some dummy vars - var info1 = ""; var info2 = ""; var info3 = ""; var info4=""; - if (timersEvnt[timerID] > 0) { - - try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/events/" + timersChan[timerID] + "/" + timersEvnt[timerID] + ".xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("event"); - // x[0].getElementsByTagName("param")[1].childNodes[0].nodeValue --> Title - // x[0].getElementsByTagName("param")[2].childNodes[0].nodeValue --> Short_text - // x[0].getElementsByTagName("param")[3].childNodes[0].nodeValue --> Description - // x[0].getElementsByTagName("param")[5].childNodes[0].nodeValue --> ChannelsName - - info1 = x[0].getElementsByTagName("param")[1].childNodes[0].nodeValue; - info2 = x[0].getElementsByTagName("param")[5].childNodes[0].nodeValue; - info4 = x[0].getElementsByTagName("param")[3].childNodes[0].nodeValue; - info3 = x[0].getElementsByTagName("param")[2].childNodes[0].nodeValue + "</p><p>"; - - } catch(e) { - alert("Get EPG problem: " + e); - - } - } else { - info3 = Lang[37]; - } - osdepginfo.innerHTML = "<pre class=epgtimerinfo>" + Left(info1,60) + "\n " + timersDays[timerID] + " " + - timersStrt[timerID] + " - " + timersStop[timerID] + "\n" + info2 + "\n </pre><p class=epgtimerinfo>" + info3 + Left(info4,750) + "</p>" ; - } -} - -function LoadSearchTimersServer() { -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/searchtimers.xml?" + new Date().getTime()),false); //"),false); // - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("searchtimer"); - maxTimers = x.length; - searchtimers.length = 0; // clear timers[i] tries to clear crap if current x.length < previous x.length - if (x.length > 0) { - for (var i=0;i<x.length;i++) - { - var fill = "\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003\uE003"; - searchtimersID[i] = x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue; - searchtimersSearch[i] = x[i].getElementsByTagName("search")[0].childNodes[0].nodeValue; - searchtimersFlag[i] = x[i].getElementsByTagName("use_as_searchtimer")[0].childNodes[0].nodeValue; - if (searchtimersFlag[i] == "1") { - searchtimers[i] = "\uE003\uE017\uE003"; - } else if (searchtimersFlag[i] == "0") { - searchtimers[i] = "\uE003\uE016\uE003"; - } else { - searchtimers[i] = "\uE003?\uE003"; - } - - // Extended INFO - SearchTimer[i] = "<pre class=mainhead>" + x[i].getElementsByTagName("search")[0].childNodes[0].nodeValue + "\n </pre><pre>"; - if ((x[i].getElementsByTagName("use_as_searchtimer")[0].childNodes[0].nodeValue) == 0) { - SearchTimer[i] += "\uE003\uE016\uE003" + Lang[40] + "\n"; - } else { - SearchTimer[i] += "\uE003\uE017\uE003" + Lang[40] + "\n"; - } - SearchTimer[i] = SearchTimer[i] + "\uE003\uE003\uE003Mode :\uE003" + (searchmode[x[i].getElementsByTagName("mode")[0].childNodes[0].nodeValue]) + "\n"; - if ((x[i].getElementsByTagName("use_time")[0].childNodes[0].nodeValue) == 1) { - SearchTimer[i] += "\uE003\uE017\uE003" + Lang[41] + "\uE003" + - x[i].getElementsByTagName("start_time")[0].childNodes[0].nodeValue + - "\uE003-\uE003" + x[i].getElementsByTagName("stop_time")[0].childNodes[0].nodeValue + "\n"; - } else { - SearchTimer[i] += "\uE003\uE016\uE003" + Lang[41] + "\uE003" + "\n"; - } - if ((x[i].getElementsByTagName("use_dayofweek")[0].childNodes[0].nodeValue) == 0) { - SearchTimer[i] += "\uE003\uE016\uE003" + Lang[47] + "\uE003" + "\n"; - } else { - //bit is used for dayofweek. - var dowx = x[i].getElementsByTagName("dayofweek")[0].childNodes[0].nodeValue; - var dow = ""; - if (dowx > 0) { var y = 1;} else { var y = 0;} - dowx = Math.abs(dowx); - for (var dowi=0; dowi<7; dowi++) - { - var mask = 1 << dowi; - if ((dowx & mask) != 0) { dow += days[(dowi+y)] + "\uE003";} - } - SearchTimer[i] += "\uE003\uE017\uE003" + Lang[47] + "\uE003:\uE003" + dow + "\n"; - } - - - if ((x[i].getElementsByTagName("use_channel")[0].childNodes[0].nodeValue) == 0) { - SearchTimer[i] += "\uE003\uE016\uE003" + Lang[42] + "\uE003" + "\n"; - } else { - SearchTimer[i] += "\uE003\uE017\uE003" + Lang[42] + "\uE003:\uE003" + - searchchan[(x[i].getElementsByTagName("use_channel")[0].childNodes[0].nodeValue)] + "\uE003" + - x[i].getElementsByTagName("channels")[0].childNodes[0].nodeValue + "\n"; - } - - SearchTimer[i] += "\n</pre>"; - // End of Extended INFO - - - searchtimers[i] += searchtimersSearch[i] + "\uE003\uE003\n" ; - } - timerOK = 1; - } - } catch(e) { - timerOK = 0; - alert("Get SearchTimers problem: " + e); - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[8] + "</h1><pre class=mainmenu>\n " + Lang[43] + ": \n " + server_ip + RestFulAPI + "</pre>"; - } -} - -function ShowSearchTimerInfo() { - // info about a search timer. - //Like Show EPG Info - //setup some dummy vars - - var info1 = ""; var info2 = ""; - - try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/searchtimers/search/" + searchtimersID[timerID] + ".xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("event"); - var maxinfo = x.length; if (maxinfo > 15) { maxinfo = 15;} - - for (var i=0;i<maxinfo;i++) - { - info2 = x[i].getElementsByTagName("param")[16].childNodes[0].nodeValue; // Timer exists - if (info2 == "true") { - info1 += "\uE003\uE00C\uE003"; - } else { - info1 += "\uE003\uE003\uE003"; - } - info2 = x[i].getElementsByTagName("param")[17].childNodes[0].nodeValue; // Timer active - if (info2 == "true") { - info1 += "\uE017\uE003"; - } else { - info1 += "\uE016\uE003"; - } - - info2 = x[i].getElementsByTagName("param")[6].childNodes[0].nodeValue; // Time - date = new Date(Number(info2)*1000); - month = date.getMonth(); - d = date.getDate(); - day = date.getDay(); - h = date.getHours(); - m = date.getMinutes(); - h=addzero(h); - m=addzero(m); - info2 = Left(days[day],3) + "\uE003" + d + "\uE003" + Left(months[month],3) + "\uE003" + h + ':' + m; - info1 += info2; - info2 = "\uE003\uE003" + x[i].getElementsByTagName("param")[7].childNodes[0].nodeValue/60 + "\uE003"; // Duration - info1 += "\uE003" + Right(info2,3) + Lang[56] + "\uE003" + x[i].getElementsByTagName("param")[5].childNodes[0].nodeValue + "\uE003"; // Channel - info1 += "\uE003" + Left(x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue,25) + "\uE003"; // Programm Title - info1 += "\n"; - - } - - } catch(e) { - alert("Get SearchTimer INFO problem: " + e); - - } - - osdepginfo.innerHTML = "<pre class=mainhead>" + searchtimersSearch[timerID] + "\n </pre><pre>" + info1 + "</pre>" ; - -} - -// End of Menu section - -// MPD Section - -function MPD(ev) { -// alert("Media player state changed: " + ev); -// alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code); -// alert("Media player error :" + mediaPlayer.getError().details); -if (MPDListener == 0) { - if (ev.state == 6 ) { - if (ev.reason == "CommandClose" && ErrorAgain == 0) { - setTimeout("mediaPlayer.open(URL);mediaPlayer.play(1000);GetEPG(currChan);ExtraStuff();",500); - ErrorAgain = 1; - } else { - ErrorAgain = 0; - alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code); - showDisplay("ERRR", false, 100, 0 ); - if (experimental) { - settimer(0,ev.reason,0,2,color_error); - } else { - settimer(0,Lang[67],0,2,color_error); - } - } - } - -} else { - if ( ev.state == 6 && ev.reason == "HostUnreachable" ) { - showDisplay("ERRR", false, 100, 0 ); - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n 9 -" + Lang[61] + "\n\n<pre class=mainhead>" + Lang[62] + ": \n" + server_ip + MPDAddress + "</pre></pre>"; - } else if ( ev.state == 2 ) { // && ev.reason == "PositionEnd" ) { - showDisplay("STOP", false, 100, 0 ); - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n 9 -" + Lang[63] + "\n\n<pre class=mainhead>" + Lang[64] + ": \n" + server_ip + MPDAddress + "\n" + Lang[65] + "</pre></pre>"; - } else if ( ev.state == 3 && ev.reason == "CommandPlay" ) { - showDisplay("MPD", false, 100, 0 ); - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n\n\n<pre class =mainhead>" + Lang[64] + ": \n" + server_ip + MPDAddress + "</pre></pre>"; - } else { - showDisplay("ERRR", false, 100, 0 ); - mainmenu.innerHTML = "<h1 class=mainmenu>" + Lang[60] + "</h1><pre class=mainmenu>" + Lang[34] + "\n 0 -" + Lang[9] + "\n 9 -" + Lang[63] + "\n\n<pre class=main_head>Error : " + ev.state + "\n" + Lang[66] + ": " + ev.reason + "</pre></pre>"; - } -} - -} - -function playMPD(uri) { - try { - if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { - mediaPlayer.close(); - } - MPDListener = 1; - mediaPlayer.open(uri); - mediaPlayer.play(1000); - } catch (e) { - alert("Failed opening recording: " + e); - return; - } -} - - -// End of MPD Section - -// Media Player Section - -function LoadMediaSettings() { - subgroup = 0; - subsubgroup = 0; - isMediaMenu = 1; - isFullscreen = 0; - if (getRecOK !== 2) { showDisplay("STOP", false, 100, 0 ); } - currMed = 0; - if (getRecOK) { showMediaList();} - mediaPlayer.addEventListener(mediaPlayer.ON_POSITION_CHANGED, ShowMediaOSD); - mediaPlayer.addEventListener(mediaPlayer.ON_STATE_CHANGED, onStateChanged); -} - -function UnloadMediaSettings() { - mediaPlayer.removeEventListener(mediaPlayer.ON_POSITION_CHANGED, ShowMediaOSD); - mediaPlayer.removeEventListener(mediaPlayer.ON_STATE_CHANGED, onStateChanged); - medialist.style.opacity = 0; - osdmedia.style.opacity = 0; - osdmediatime.style.opacity = 0; - osdepginfo.style.opacity = 0; - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[0] + "</h1>"; - showDisplay(currChan.toString(), false, 100, 0 ); - isMediaMenu = 0; - isFullscreen = 1; - isPause = 0; - set_yellow_key = 0; - localRecording = 0; - if (mediaPlayer.getState() != mediaPlayer.STATE_PLAYING ) { - play(channels[currChan]); - } -} - - - -function onKeyMedia(keyCode) { -if (DelisOK) { - switch(keyCode) { - case KEY_OK: - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[0] + "</h1>"; - switchtimer.style.opacity = 0; - setTimeout("DelRec2(); getRecList(); showMediaList();",100) - default: - switchtimer.style.opacity = 0; - DelisOK = 0; - break; - } // end of switch -} else if (medialist.style.opacity != 0) { - switch(keyCode) { - case "BrowserBack": - if (subgroup && osdepginfo.style.opacity == 0) { - subgroup = 0; - subsubgroup = 0; - if (ShowSubDir) { - MakeRecList2(); - } else { - MakeRecList(); - } - setTimeout("showMediaList();",100) - break; - } - if (osdepginfo.style.opacity == 1) { osdepginfo.style.opacity = 0; break; } - case "TV": - UnloadMediaSettings(); - break; - case "Yellow": - if (set_yellow_key) { - //hide/display schedule with same button - UnloadMediaSettings(); - } - break; - case "Right": - if (getRecOK !== 0) { - for (var i=0;i<10;i++) { - do - { - incMed(1); - } - // while (!recTitl[currMed]); - while (!recList[currMed]); - } - showMediaList(); - } - break; - case "Left": - if (getRecOK !== 0) { - for (var i=0;i<10;i++) { - do - { - decMed(1); - } - // while (!recTitl[currMed]); - while (!recList[currMed]); - } - showMediaList(); - } - break; - case "Down": - if (getRecOK !== 0) { - do - { - incMed(1); - } - // while (!recTitl[currMed]); - while (!recList[currMed]); - showMediaList(); - } - break; - case "Up": - if (getRecOK !== 0) { - do - { - decMed(1); - } - // while (!recTitl[currMed]); - while (!recList[currMed]); - showMediaList(); - } - break; - case KEY_OK: - case "MediaPlayPause": - if (getRecOK == 2) { - ShowInfo(); - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - } - if (getRecOK == 1) { - if (recGroup[currMed] !== 0 && subgroup == 0 && ShowSubDir) { - if (subgroup_old) { - setTimeout("MakeRecList_sublevel(recGroup[currMed]); showMediaList();",100) - } else { - setTimeout("MakeRecList3(recGroup[currMed]); showMediaList();",100) - } - subgroup = 1; - } else if (recSubGroup[currMed] !== 0 && subgroup == 1 && subsubgroup == 0 && ShowSubDir && subgroup_old) { - setTimeout("MakeRecList_sublevel2(recGroup[currMed],recSubGroup[currMed]); showMediaList();",100) - subsubgroup = 1; - } else { - recList[currMed] = "\u0003" + recList[currMed].substring(1); - medialist.style.opacity = 0; - if (get_recordings == 1) { - setTimeout("GetMarks(); getResume(); playRec(recLink[currMed]+ '?mode=streamtoend&time=' + position);",100); - } else if (get_recordings == 2) { -// setTimeout("playRec(recLink[currMed]+ '?pos=resume');position = (mediaPlayer.getPosition()/1000);",100) - position = 0; - setTimeout("playRec(recLink[currMed]);",100) - } - } - } - break; - case "Red": - if (getRecOK == 1 && (recGroup[currMed] == 0 || subgroup == 1)) { - // Only delete item if it isn't a subdir marker - DelRec(); - } - if (getRecOK == 2) { //set timer - settimer(recStrt[currMed],recTitl[currMed],recDura[currMed],1,color_switchtimer,recDesc[currMed],recGUID[currMed].toString()); - } - break; - case "Blue": - // only show info if not a subdir marker or if in EPG mode - if ( (getRecOK == 1 && (recGroup[currMed] == 0 || subgroup == 1)) || getRecOK == 2) { - ShowInfo(); - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - } - break; - case "Green": - if (getRecOK == 2 && mediaRecorder) { //set timer only if mediaRecorder = 1, unit has harddisk - settimer(recStrt[currMed],recTitl[currMed],recDura[currMed],3,"",recDesc[currMed],recGUID[currMed].toString()); - } - break; - - case "VolumeMute": - VolumeMute(); - break; - case "VolumeUp": - VolumeUp(); - break; - case "VolumeDown": - VolumeDown(); - break; - - case KEY_REC: - case KEY_REC2: - // make timer for recording - if (getRecOK == 2) { //set timer - settimer(recStrt[currMed],recTitl[currMed],recDura[currMed],2); - ServerTimer(channels[currChan],recGUID[currMed]); - } - break; - case KEY_0: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only rewind file if it isn't a subdir marker - setResumeNull(); - showMediaList(); - } - break; - case KEY_1: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(1); - } - break; - case KEY_2: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(2); - } - break; - case KEY_3: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(3); - } - break; - case KEY_4: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(4); - } - break; - case KEY_5: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(5); - } - break; - case KEY_6: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(6); - } - break; - case KEY_7: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(7); - } - break; - case KEY_8: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(8); - } - break; - case KEY_9: - if (getRecOK == 1 && (recGroup[currMed] == 0 || recSubGroup[currMed] == 0 || subsubgroup == 1)) { - // Only do reccmds if it isn't a subdir marker - reccmds(9); - } - break; - - - - default: - break; - } // end of switch -} else { - switch(keyCode) { - case "BrowserBack": -// ShowInfo(); -// osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - break; - case "TV": - setResume(); - play(channels[currChan]); - UnloadMediaSettings(); - break; - break; - case "Down": - if (mediaPlayer.getState() != mediaPlayer.STATE_PAUSED) { - showDisplay("PAUS", false, 100, 0 ); - mediaPlayer.play(0); - } - break; - case "Up": - if (mediaPlayer.getState() != mediaPlayer.STATE_PLAYING) { - if (currMed == -1 || localRecording == 1 ) { - showDisplay("PLAY", false, 100, 0 ); - mediaPlayer.play(1000); - } else { - position += (mediaPlayer.getPosition()/1000); - if (get_recordings == 1) { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } - } - break; - case KEY_OK: - osdmedia.style.opacity = 1 - osdmedia.style.opacity; - osdmediatime.style.opacity = osdmedia.style.opacity; - ShowMediaOSD(); - break; - case "Green": - if (audio_dyn < (lang_prio_dyn.length -1)) { audio_dyn += 1} else { audio_dyn = 0 } - if (lang_prio_dyn.length > 1) { - is.setObject("cfg.media.audio.languagepriority",lang_prio_dyn[audio_dyn] + "," + lang_prio[audio],is.STORAGE_PERMANENT); - osdlang.style.opacity = 1; - osdlang.innerHTML = "<img src='unmute.png'> " + lang_prio_dyn[audio_dyn] + " "; - setTimeout("osdlang.style.opacity = 0; ", 3000); - } - break; - case "Yellow": - ShowSubs = 1 - ShowSubs; - videoplane.subtitles = Boolean(ShowSubs); // Enable subtitles or Disable subtitles - break; - case "Blue": - if ( isPause == 0 ) { - ShowInfo(); - osdepginfo.style.opacity = 1 - osdepginfo.style.opacity; - } - break; - case "Red": - GetMarks(); - ShowMediaOSD(); - break; - - case "Menu": - osdepginfo.style.opacity = 0; - osdepginfonext.style.opacity = 0; - isSetupMenu = 1; - mainmenu.style.opacity = 0.8; - menu = 6; - InitMenu(menu); - break; - - case "VolumeMute": - VolumeMute(); - break; - case "VolumeUp": - VolumeUp() - break; - case "VolumeDown": - VolumeDown(); - break; - - - case KEY_REC: - case KEY_REC2: - break; - case "MediaRewind": - if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { - mediaPlayer.play(-4000); - showDisplay("REW", false, 100, 0 ); - } - break; - case "MediaForward": - if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { - mediaPlayer.play(4000); - showDisplay("FF", false, 100, 0 ); - } - break; - case "MediaStop": - if (currMed == -1 || isPause == 1 || localRecording == 1) { - if (localRecording == 1) { - ss.setParameter(recDummy[0], "resume", mediaPlayer.getPosition().toString()); - } - osdepginfo.style.opacity = 0; - isFullscreen = 1; play(channels[currChan]); - UnloadMediaSettings(); - } else { - setResume(); - osdepginfo.style.opacity = 0; - isFullscreen = 0; play(channels[currChan]); isFullscreen = 1; - medialist.style.opacity = 0.9; - showDisplay("STOP", false, 100, 0 ); - showMediaList(); - } - break; - case "MediaPlayPause": - if (mediaPlayer.getState() != mediaPlayer.STATE_PAUSED) { - showDisplay("PAUS", false, 100, 0 ); - mediaPlayer.play(0); - } else { - if (currMed == -1 || localRecording == 1) { - showDisplay("PLAY", false, 100, 0 ); - mediaPlayer.play(1000); - } else { - position += (mediaPlayer.getPosition()/1000); - if (get_recordings == 1) { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } - } - break; - case KEY_1: - if (localRecording != 1 ) { - position += (mediaPlayer.getPosition()/1000) - 30; - if (position <= 0) { position = 0;} - if (get_recordings == 1) { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } else { - mediaPlayer.playFromPosition((mediaPlayer.getPosition()-30000),1000); - } - break; - case KEY_4: - if (localRecording != 1 ) { - position += (mediaPlayer.getPosition()/1000) - 60; - if (position <= 0) { position = 0;} - if (get_recordings == 1) { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } else { - mediaPlayer.playFromPosition((mediaPlayer.getPosition()-60000),1000); - - } - break; - case KEY_7: - if (localRecording != 1 ) { - position += (mediaPlayer.getPosition()/1000) - 240; - if (position <= 0) { position = 0;} - if (get_recordings == 1) { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } else { - mediaPlayer.playFromPosition((mediaPlayer.getPosition()-240000),1000); - - } - break; - - case KEY_5: - if (localRecording != 1 ) { - if (recMark.length>posMark && get_recordings == 1) { - position = recMark[posMark]; - playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); - } - } - break; - case KEY_2: - if (localRecording != 1 ) { - if (posMark>0 && get_recordings == 1) { - posMark -= 1; - position = recMark[posMark]; - playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); - } - } - break; - case KEY_8: - if (localRecording != 1 ) { - if (recMark[posMark+1] && get_recordings == 1) { - posMark += 1; - position = recMark[posMark]; - playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); - } - } - break; - - - - case KEY_3: - if (localRecording != 1 ) { - position += (mediaPlayer.getPosition()/1000) + 30; - if (get_recordings == 1) { - if (position >= recDura[currMed]) { - BackToTV(); - } else { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } else { - mediaPlayer.playFromPosition((mediaPlayer.getPosition()+30000),1000); - } - break; - case KEY_6: - if (localRecording != 1 ) { - position += (mediaPlayer.getPosition()/1000) + 60; - if (get_recordings == 1) { - if (position >= recDura[currMed]) { - BackToTV(); - } else { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } else { - mediaPlayer.playFromPosition((mediaPlayer.getPosition()+60000),1000); - } - break; - case KEY_9: - if (localRecording != 1 ) { - position += (mediaPlayer.getPosition()/1000) + 240; - if (get_recordings == 1) { - if (position >= recDura[currMed]) { - BackToTV(); - } else { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } else { - mediaPlayer.playFromPosition((mediaPlayer.getPosition()+240000),1000); - } - break; - case KEY_0: - if (localRecording != 1 ) { - position = 0; posMark = 0; - if (get_recordings == 1) { - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); - } else if (get_recordings == 2) { - playRec((recLink[currMed] + "?pos=time." + position)); - } - } else { - mediaPlayer.playFromPosition(0,1000) - } - break; - - default: - break; - } // end of switch - } // end of if -} - -function getRecList() { - getVDRstatus(); - MaxInGroup = 14; - subgroup = 0; - subsubgroup = 0; -try { - if (get_recordings ==1) { - // get recordings from smartTVWeb - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + recServ + recPath + "?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("item"); - nrMedia = x.length - 1; - recTitl.length = 0; - rec_lst.length = 0; - - if (recPath == "/recordings.xml") { - for (var i=0;i<x.length;i++) - { - rec_lst[i] = new Array(); - for (var yy=0;yy<9;yy++) { rec_lst[i][yy] = new Array(); } - rec_lst[i][0] = (x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue); - rec_lst[i][0] = rec_lst[i][0].split("~"); - rec_lst[i][1] = (x[i].getElementsByTagName("enclosure")[0].getAttribute('url')); - rec_lst[i][2] = (x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue); - rec_lst[i][3] = (x[i].getElementsByTagName("duration")[0].childNodes[0].nodeValue); - rec_lst[i][4] = (x[i].getElementsByTagName("start")[0].childNodes[0].nodeValue); - rec_lst[i][5] = (x[i].getElementsByTagName("isnew")[0].childNodes[0].nodeValue); - rec_lst[i][6] = (x[i].getElementsByTagName("guid")[0].childNodes[0].nodeValue); - //Get channel number from recordings, shows right names only if server & client use same channel order - recDummy = rec_lst[i][6].split("."); - recDummy = recDummy[(recDummy.length-2)].split("-"); - rec_lst[i][7] = recDummy[0] + "\uE003-\uE003" + channelsnames[(recDummy[0])]; - rec_lst[i][8] = protChn[Number(Left((recDummy[0] / 1000),1))]; - - } - - //Get channel number from recordings - rec_lst.sort(); - for (var i=0;i<x.length;i++) { - recTitl[i] = rec_lst[i][0]; - recLink[i] = rec_lst[i][1]; - recDesc[i] = rec_lst[i][2]; - recDura[i] = rec_lst[i][3]; - recStrt[i] = rec_lst[i][4]; - rec_New[i] = rec_lst[i][5]; - recGUID[i] = rec_lst[i][6]; - recChan[i] = rec_lst[i][7]; - recProt[i] = rec_lst[i][8]; - } - recProt[i] = 1; - } else { - - // old recordings list function - // also used for media listing - - for (var i=0;i<x.length;i++) { - recTitl[i] = (x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue); - recTitl[i] = recTitl[i].split("~"); - // recLink[i] = (x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue); - recLink[i] = (x[i].getElementsByTagName("enclosure")[0].getAttribute('url')); - recDesc[i] = (x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue); - recDura[i] = (x[i].getElementsByTagName("duration")[0].childNodes[0].nodeValue); - recStrt[i] = (x[i].getElementsByTagName("start")[0].childNodes[0].nodeValue); - rec_New[i] = (x[i].getElementsByTagName("isnew")[0].childNodes[0].nodeValue); - recGUID[i] = (x[i].getElementsByTagName("guid")[0].childNodes[0].nodeValue); - //Media directory - recChan[i] = "Media File"; - recProt[i] = 0; // No protection for Media Files. - } - // try to fix display double entries in the last directory. (Only shown for some time after deleting files, should be fixed now) - recProt[i] = 1; - } -} else if (get_recordings == 2) { -//get recordings from streamdev -//no media directory or delete support - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + StreamPort + "recordings.rss?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("item"); - nrMedia = x.length - 1; - recTitl.length = 0; - - for (var i=0;i<x.length;i++) - { - rec_lst[i] = new Array(); - for (var yy=0;yy<9;yy++) { rec_lst[i][yy] = new Array(); } - rec_lst[i][0] = x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue.split(" "); - rec_lst[i][0] = rec_lst[i][0][1].split("~"); - rec_lst[i][1] = x[i].getElementsByTagName("enclosure")[0].getAttribute('url'); - rec_lst[i][2] = Lang[37]; - rec_lst[i][3] = Lang[37]; - rec_lst[i][4] = x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue; - rec_lst[i][4] = rec_lst[i][4].split(" "); - rec_lst[i][4] = rec_lst[i][4][1] + " " + rec_lst[i][4][2]; - rec_lst[i][5] = Lang[37]; - rec_lst[i][6] = x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue; - rec_lst[i][7] = 0; - rec_lst[i][8] = 0; - } - - rec_lst.sort(); - for (var i=0;i<x.length;i++) { - recTitl[i] = rec_lst[i][0]; - recLink[i] = rec_lst[i][1]; - recDesc[i] = rec_lst[i][2]; - recDura[i] = rec_lst[i][3]; - recStrt[i] = rec_lst[i][4]; - rec_New[i] = rec_lst[i][5]; - recGUID[i] = rec_lst[i][6]; - recChan[i] = rec_lst[i][7]; - recProt[i] = rec_lst[i][8]; - } - - - recProt[i] = 1; -} else if (get_recordings == 0) { - // get recordings from restfulapi - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/recordings.xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("recording"); - nrMedia = x.length - 1; - recTitl.length = 0; - rec_lst.length = 0; - - for (var i=0;i<x.length;i++) - { - rec_lst[i] = new Array(); - for (var yy=0;yy<9;yy++) { rec_lst[i][yy] = new Array(); } - rec_lst[i][0] = x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue; - rec_lst[i][0] = rec_lst[i][0].split("~"); - rec_lst[i][1] = x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue; - rec_lst[i][2] = x[i].getElementsByTagName("param")[13].textContent; - rec_lst[i][3] = x[i].getElementsByTagName("param")[8].childNodes[0].nodeValue; - rec_lst[i][4] = x[i].getElementsByTagName("param")[14].childNodes[0].nodeValue; - rec_lst[i][5] = x[i].getElementsByTagName("param")[4].childNodes[0].nodeValue; - rec_lst[i][6] = x[i].getElementsByTagName("param")[0].childNodes[0].nodeValue; - //Get channel number from recordings, shows right names only if server & client use same channel order - recDummy = rec_lst[i][1].split("."); - recDummy = recDummy[(recDummy.length-2)].split("-"); - rec_lst[i][7] = recDummy[0] + "\uE003-\uE003" + channelsnames[(recDummy[0])]; - rec_lst[i][8] = protChn[Number(Left((recDummy[0] / 1000),1))]; - - } - - //Get channel number from recordings - rec_lst.sort(); - for (var i=0;i<x.length;i++) { - recTitl[i] = rec_lst[i][0]; - recLink[i] = rec_lst[i][1]; - recDesc[i] = rec_lst[i][2]; - recDura[i] = rec_lst[i][3]; - recStrt[i] = rec_lst[i][4]; - rec_New[i] = rec_lst[i][5]; - recGUID[i] = rec_lst[i][6]; - recChan[i] = rec_lst[i][7]; - recProt[i] = rec_lst[i][8]; - } - recProt[i] = 1; - // try to fix display double entries in the last directory. (Only shown for some time after deleting files, should be fixed now) -} - - -//end of get_recordings - if (ShowSubDir) { - MakeRecList2(); - } else { - MakeRecList(); - } - if (nrMedia!==0) { getRecOK = 1; } else { - getRecOK = 0; - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[38] + "</center><pre>\n\n\n" + Lang[37] + "</pre></h1>"; - } - - } catch(e) { - alert("Get Recordings problem: " + e); - getRecOK = 0; - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[38] + "</center><pre>\n\n\n" + Lang[39] + "</pre></h1>"; - } -} - - -function GetMarks() { - -if (get_marks==1) { - try { - posMark = 0; - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + recServ + "/getMarks.xml?guid=" + recGUID[currMed] + "&" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - recMark = []; - var x=xmlDoc.getElementsByTagName("mark"); - for (var i=0;i<x.length;i++) - { - var y = x[i].childNodes[0].nodeValue.split(","); - recMark[i] = Number(y[0]); - } - } catch(e) { - alert("Getting Marks problem: " + e); - } - } else { - try { - posMark = 0; - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/recordings/" + currMed + ".xml?marks=true&" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - recMark = []; - var x=xmlDoc.getElementsByTagName("mark"); - for (var i=0;i<x.length;i++) - { - var y = x[i].childNodes[0].nodeValue.split(":"); - recMark[i] = Number(y[0]*3600) + Number(y[1]*60) + Number(y[2]); - } - } catch(e) { - alert("Getting Marks problem: " + e); - } - } -} - - -function setResume() { -if (get_recordings == 1) { -try { - position += (mediaPlayer.getPosition()/1000) - var xmlhttp = new XMLHttpRequest(); - xmlhttp.open("POST", server_ip + recServ + "/setResume.xml?guid=" + recGUID[currMed] + "&resume=" + position, false); - xmlhttp.send(); - recList[currMed] = "\uE003" + recList[currMed].substring(1); - } catch(e) { - alert("Setting Resume problem: " + e); - } -} -} - -function getResume() { -position = 0; -if (get_recordings == 1) { -try { - var xmlhttp = new XMLHttpRequest(); - var i = 0; - xmlhttp.open("GET", server_ip + recServ + "/getResume.xml?guid=" + recGUID[currMed] + "&" + new Date().getTime(), false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - i = xmlDoc.getElementsByTagName("resume")[0].childNodes[0].nodeValue.split(","); - position = Number(i[0]); - } catch(e) { - alert("Getting Resume problem: " + e); - } -} -} - - -function setResumeNull() { -if (get_recordings == 1) { -try { - var xmlhttp = new XMLHttpRequest(); - xmlhttp.open("POST", server_ip + recServ + "/setResume.xml?guid=" + recGUID[currMed] + "&resume=0", false); - xmlhttp.send(); - recList[currMed] = "\uE010" + recList[currMed].substring(1); - } catch(e) { - alert("Setting Resume problem: " + e); - } -} -} - -function reccmds(option) { -try { - option = Number(option); - if (RecCmds[option] > -1 ) { - var xmlhttp = new XMLHttpRequest(); - xmlhttp.open("POST", server_ip + recServ + "/execreccmd?cmd=" + RecCmds[option] + "&guid=\"" + recGUID[currMed] + "\"", false); - xmlhttp.send(); - recList[currMed] = RecCmdsIcon[option] + recList[currMed].substring(1); - showMediaList(); - } - } catch(e) { - alert("Execute reccmds problem: " + e); - } - -} - - - -function CheckPlugins() { -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + recServ + "/vdrstatus.xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - smartTVplugin = 1; - } catch(e) { - alert("NO smartTVplugin: " + e); - smartTVplugin = 0; - } - -//Check for Restfulapi - -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/info.xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - Restfulapiplugin = 1; - } catch(e) { - alert("NO Restfulapiplugin: " + e); - Restfulapiplugin = 0; - } -} - -function getVDRstatus() { -if (smartTVplugin == 1) { -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + recServ + "/vdrstatus.xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; -// var x=xmlDoc.getElementsByTagName("vdrstatus"); - var x=xmlDoc.getElementsByTagName("diskspace"); - free_space = x[0].getElementsByTagName("free")[0].childNodes[0].nodeValue; - perc_space = x[0].getElementsByTagName("percent")[0].childNodes[0].nodeValue; - } catch(e) { - alert("Get VDR Status problem: " + e); - } -} -if (smartTVplugin == 0 && Restfulapiplugin == 1) { -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/info.xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("diskusage"); - free_space = x[0].getElementsByTagName("free_mb")[0].childNodes[0].nodeValue; - perc_space = x[0].getElementsByTagName("used_percent")[0].childNodes[0].nodeValue; - } catch(e) { - alert("Get VDR Status problem: " + e); - } - } -} - - -function DelRec() { - if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} -try { - //popup for confirm - switchtimer.style.background = "red"; - switchtimer.style.opacity = 1; - switchtimer.innerHTML = "<pre class=deletefile>" + Lang[44] +"\n" + Lang[45] + "\n\n " + Left(recTitl[currMed],30) + "</pre>"; // Recording Name - DelisOK = 1 - } catch(e) { - alert("Delete Recordings problem: " + e); - } -} - -function DelRec2() { - if (get_recordings == 1) { - try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("POST",(server_ip + recServ + "/deleteRecording.xml?id=" + recGUID[currMed] ),false); - xmlhttp.send(); - recList[currMed] = ""; - recGroup[currMed] = -1; - recProt[currMed] = 0; - } catch(e) { - alert("Delete Recordings problem: " + e); - } - } else if (get_recordings == 0) { -// try { -// xmlhttp=new XMLHttpRequest(); -// xmlhttp.open("DELETE",(server_ip + RestFulAPI + "/recordings/" + recGUID[currMed] ),true); -// xmlhttp.send(); -// recList[currMed] = ""; -// recGroup[currMed] = -1; -// recProt[currMed] = 0; -// } catch(e) { -// alert("Delete Recordings problem: " + e); -// } -// - } -} - - - - -function MakeRecList() { -//old style list - var x = ""; - var xx = ""; - for (var i=0;i<recTitl.length;i++) - { - if (recTitl[i][recMap + 2]) { - if (recTitl[i][recMap + 1] != xx) { - var y = recTitl[i][recMap].length + 1; - if (recTitl[i][recMap] != x) { - recList[i] = "\uE002 " + recTitl[i][recMap] + " \uE002 " + String(recTitl[i]).substring(y); - } else { - recList[i] = "\uE003 " + new Array(y).join("\uE003") + " \uE002 " + String(recTitl[i]).substring(y); - } - } else { - var y = recTitl[i][recMap + 1].length + recTitl[i][recMap].length + 4; - recList[i] = new Array(y).join("\uE003") + String(recTitl[i]).substring(y - 2); - } - } else if (recTitl[i][recMap + 1]) { - if (recTitl[i][recMap] != x) { - recList[i] = "\uE002" + recTitl[i]; - } else { - var y = recTitl[i][recMap].length + 4; - recList[i] = new Array(y).join("\uE003") + String(recTitl[i]).substring(y - 3); - } - } else { - recList[i] = "\uE003" + recTitl[i]; - } - if (get_recordings == 2 ) { - result = recStrt[i]; - } else{ - AddInfo(i); - } - - if (rec_New[i] == "true" ) - { - recList[i] = "\uE010" + result + "\uE003" + recList[i]; - } else { - recList[i] = "\uE003" + result + "\uE003" + recList[i]; - } - x = recTitl[i][recMap]; - xx = recTitl[i][recMap + 1]; - if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} - } -} - -function MakeRecList2() { -//new style with sub maps - var x = ""; - var xx = 0; - for (var i=0;i<recTitl.length;i++) - { - if (recTitl[i][1]) { - if (recTitl[i][0] != x) { - recList[i] = "\uE002\uE003" + recTitl[i][0]; - xx += 1; - } else { - recList[i] = "" ; - } - recGroup[i] = xx; - } else { - recGroup[i] = 0; - if (get_recordings == 2 ) { - result = recStrt[i]; - } else{ - AddInfo(i); - if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} - } - if (rec_New[i] == "true" ) { - recList[i] = "\uE010" + result + "\uE003" + recTitl[i]; - } else { - recList[i] = "\uE003" + result + "\uE003" + recTitl[i]; - } - } - - if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} - - x = recTitl[i][0]; - } -} - -function MakeRecList3(GroupID) { - - MaxInGroup = -1; - for (var i=0;i<recTitl.length;i++) - { - if (recGroup[i] == GroupID) { - var tmp = ""; - for (var ii=1;ii<recTitl[i].length;ii++) - { - tmp += "\uE003" + recTitl[i][ii]; - } - if (get_recordings == 2 ) { - result = recStrt[i]; - } else{ - AddInfo(i); - if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} - } - if (rec_New[i] == "true" ) { - recList[i] = "\uE010" + result + tmp; // recTitl[i]; - } else { - recList[i] = "\uE003" + result + tmp; //recTitl[i]; - } - - MaxInGroup = MaxInGroup + 1; - if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} - - } else { - recList[i] = "" ; - } - } -} - -// -// -// sub-sublevel testing -// -// - -function MakeRecList_sublevel(GroupID) { -//new style with sub maps on sub maps - var x = ""; - var xx = 0; - recList.length = 0; - MaxInGroup = -1; - for (var i=0;i<recTitl.length;i++) - { - if (recGroup[i] == GroupID) { - Group_Header[GroupID] = recTitl[i][0]; - if (recTitl[i][2]) { - if (recTitl[i][1] != x) { - - recList[i] = "\uE002\uE003" + recTitl[i][1]; - xx += 1; - } else { - recList[i] = "" ; - } - recSubGroup[i] = xx; - } else { - recSubGroup[i] = 0; - var tmp = ""; - for (var ii=1;ii<recTitl[i].length;ii++) - { - tmp += "\uE003" + recTitl[i][ii]; - } - if (get_recordings == 2 ) { - result = recStrt[i]; - } else{ - AddInfo(i); - if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} - } - if (rec_New[i] == "true" ) { - recList[i] = "\uE010" + result + tmp; // recTitl[i]; - } else { - recList[i] = "\uE003" + result + tmp; //recTitl[i]; - } - } - if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} - if (recList[i] != "") { MaxInGroup = MaxInGroup + 1; } - x = recTitl[i][1]; - } - } -//MakeRecList_sublevel2(GroupID,0); -} - - -function MakeRecList_sublevel2(GroupID,SubGroupID) { - MaxInGroup = -1; - for (var i=0;i<recTitl.length;i++) - { - if (recGroup[i] == GroupID && recSubGroup[i] == SubGroupID) { - var tmp = ""; var xx = "\uE003"; - for (var ii=2;ii<recTitl[i].length;ii++) - { - if (recTitl[i][(ii+1)]) { - tmp += "\uE003\uE002" + recTitl[i][ii]; - xx = "/"; - } else { - tmp += xx + recTitl[i][ii]; - } - } - if (get_recordings == 2 ) { - result = recStrt[i]; - } else{ - AddInfo(i); - if (recChan[i] !== "Media File") {result += "\uE003" + (recDura[i]/60).toFixed(0);} - } - if (rec_New[i] == "true" ) { - recList[i] = "\uE010" + result + tmp; // recTitl[i]; - } else { - recList[i] = "\uE003" + result + tmp; //recTitl[i]; - } - - MaxInGroup = MaxInGroup + 1; - if ((recProt[i] == 1) && (ShowProtectedChannels == 1)) { recList[i] = "";} - - } else { - recList[i] = "" ; - } - } -} - -// -// -// End of sub-sublevel testing -// -// - -function AddInfo(info) { -//Add Date to item - date = new Date(Number(recStrt[info])*1000); - year = date.getFullYear(); - month = date.getMonth(); - d = date.getDate(); - h = date.getHours(); - m = date.getMinutes(); - month=addzero(month + 1); - d=addzero(d); - h=addzero(h); - m=addzero(m); - if ( year==1970 ) { - result = "\uE003"; - } else { - result = "\uE003" + d + '-' + month + '-' + year + ' ' + h + ':' + m; - } -// -} - -function showMediaList() { - if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} - osdmedia.style.opacity = 0; - osdmediatime.style.opacity = 0; - var liststyle = ""; - listMed = currMed - 1; - var MaxMed = -1; - - if (getRecOK == 1) { - var htmlstring = "<h1 class=mainmenu>" + Lang[38] + "(" + Lang[46] + (100 - perc_space) + "%, " + (free_space/1024).toFixed(0) + " GB) </h1><pre class=mediamenu>"; - - if (subgroup) { - htmlstring = "<h1 class=mainmenu>" + Group_Header[Number(recGroup[currMed])] + "</h1><pre class=mediamenu>"; - if (MaxInGroup < 14){ MaxMed = MaxInGroup; } else {MaxMed = 14; } - } - if (!subgroup) { - for(var i=0; i<=nrMedia; i++) { - if (recList[i]) { MaxMed += 1;} - } - } - - } else { - - if (nrMedia < 14) {MaxMed = nrMedia; } else {MaxMed = 14; } - var htmlstring = "<h1 class=mainmenu>" + Lang[11] + channelsnames[currChan] + " </h1><pre class=mediamenu>"; - } - - if (MaxMed > 14) { MaxMed = 14; } - if (MaxMed < 0 ) { MaxMed = 0; } - - for(var i=currMed; i<=currMed + MaxMed; i++) { - if (listMed>=nrMedia) { listMed= -1; } - if (listMed<-1) { listMed=nrMedia - 1; } -// if (listMed>nrMedia) { listMed= -1; } - - do - { - listMed += 1; - } - while (!recList[listMed] && (listMed<=nrMedia)); - - if (listMed > nrMedia) { recList[listMed] = ""; } - - if (recList[listMed]) { //Solves empty string at the end. - if ( listMed == currMed) { htmlstring += "<span class=mediaselect>"; } - htmlstring += "\uE003" + Left(recList[listMed],60) + "\uE003\uE003\n"; - if ( listMed == currMed) { htmlstring += "</span>";} - } - - } - medialist.innerHTML = htmlstring + "</pre>"; - //ShowInfo(); -} - -function getServerSchedule() { -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/events/" + channels[currChan] + ".xml?timespan=" + serverEPGdays + "&" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("event"); - nrMedia = x.length - 1; - for (var i=0;i<x.length;i++) - { - -/* // restful api layout dd 10/04/2013 - // <event> - // 1 <param name="id">516</param> - // 2 <param name="title">Thuis</param> - // 3 <param name="short_text"/ > - // 4 <param name="description">Soapserie (BE).</param> - // 5 <param name="channel">S19.2E-53-1105-4016</param> - // 6 <param name="channel_name">BVN (S)</param> - // 7 <param name="start_time">1365608700</param> - // 8 <param name="duration">1500</param> - // 9 <param name="table_id">78</param> - // 10 <param name="version">7</param> - // 11 <param name="parental_rating">0</param> - // 12 <param name="vps">0</param> - // 13 <param name="images">0</param> - // 14 <param name="components"> - // <component stream="1" type="1" language="dut" description="4:3"/ > - // <component stream="2" type="1" language="dut" description=""/ ></param> - // 15 <param name="contents"> - // 16 <content name="Soap/Melodrama/Folkloric"/ ></param> - // 17 <param name="raw_contents"><raw_content name="21"/ ></param> - // 18 <param name="timer_exists">false</param> - // 19 <param name="timer_active">false</param> - // 20 <param name="timer_id"/ > - // </event> -*/ - - recTitl[i] = x[i].getElementsByTagName("param")[1].childNodes[0].nodeValue; - try { - recDesc[i] = x[i].getElementsByTagName("param")[3].childNodes[0].nodeValue; - } catch(e) { - recDesc[i] = ""; - } - recDura[i] = x[i].getElementsByTagName("param")[7].childNodes[0].nodeValue; - recStrt[i] = x[i].getElementsByTagName("param")[6].childNodes[0].nodeValue; - recChan[i] = currChan + "\uE003-\uE003" + channelsnames[currChan]; - recGUID[i] = x[i].getElementsByTagName("param")[0].childNodes[0].nodeValue; - - date = new Date(Number(recStrt[i])*1000); - year = date.getFullYear(); - month = date.getMonth(); - d = date.getDate(); - day = date.getDay(); - h = date.getHours(); - m = date.getMinutes(); - h=addzero(h); - m=addzero(m); - recList[i] = ''+days[day]+' '+d+' '+months[month]+' '+year+' '+h+':'+m + " " + recTitl[i]; - - } - getRecOK = 2; - } catch(e) { - alert("Get EPG problem: " + e); - getRecOK = 0; - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[50] + "</center><pre>\n\n\n" + Lang[51] + "</pre></h1>"; - } -} - -function getSchedule(schchan){ - SI = ""; - recTitl.length = 0; - nrMedia = 0; - try { - StreamInfo(schchan); - - eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); - eitCache.addService(eitService); - event = eitCache.getPresentEvent(eitService); - events = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); - - if (event.name) { - if (events.more) { - var t = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); - events.infoSequence.concat(t.infoSequence); - events.more = t.more; - } - nrMedia = events.infoSequence.length - 1; - for (var i = 0; i < events.infoSequence.length; i++) { - - // Double info or scrollbar twice on the screen if nrMedia < 14 - while ((i > 0) && (events.infoSequence[i].eventId == events.infoSequence[(i-1)].eventId) && (nrMedia > 14)) { - recList[i] = ""; - i += 1; - } - - recTitl[i] = events.infoSequence[i].name; - recDesc[i] = eitCache.getExtendedEventInfo(eitService,events.infoSequence[i].eventId).extendedInfo; - if (recDesc[i] == "" ) { recDesc[i] = eitCache.getExtendedEventInfo(eitService,events.infoSequence[i].eventId).shortInfo;} - recDura[i] = events.infoSequence[i].duration; - recStrt[i] = events.infoSequence[i].time; - recChan[i] = schchan + "\uE003-\uE003" + channelsnames[schchan]; - recGUID[i] = events.infoSequence[i].eventId; - - date = new Date(Number(recStrt[i])*1000); - year = date.getFullYear(); - month = date.getMonth(); - d = date.getDate(); - day = date.getDay(); - h = date.getHours(); - m = date.getMinutes(); - h=addzero(h); - m=addzero(m); - recList[i] = ' ' + days[day] + ' ' + d + ' ' + months[month] + ' ' + year + " " + h + ":" + m + " (" + (recDura[i]/60).toFixed(0) + ") " + Left(recTitl[i],30); - } - getRecOK = 2; - } else { - getRecOK = 0; - - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[11] + "</center><pre>\n\n\n" + Lang[52] + "</pre></h1>"; - - if (experimental) { - medialist.innerHTML += "<img src='" + channels[schchan] + ".jpg' style='width:100%; position:absolute; left:0%; top:-11%;'>"; - } - - } - } catch(e) { - getRecOK = 0; - medialist.innerHTML = "<h1 class=mainmenu>" + Lang[11] + "</center><pre>\n\n\n" + Lang[53] + "</pre></h1>"; - } - -} - - - -function incMed(step) { - currMed += step; - if (currMed > nrMedia ) { - currMed = 0; - } -} - -function decMed(step) { - currMed -= step; - if (currMed < 0) { - currMed = nrMedia; - } -} - -function playRec(uri,posrec) { - try { - if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { - mediaPlayer.close(); - } - if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} - mediaPlayer.open(uri); - if (posrec) { - mediaPlayer.playFromPosition(posrec,1000); - } else { - mediaPlayer.play(1000); - } - showDisplay("PLAY", false, 100, 0 ); - } catch (e) { - alert("Failed opening recording: " + e); - return; - } -} - - -function pauseRec(uri) { - try { - if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { - mediaPlayer.close(); - } - if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} - mediaPlayer.open(uri); - mediaPlayer.play(0); - showDisplay("PAUS", false, 100, 0 ); - } catch (e) { - alert("Failed opening recording: " + e); - return; - } -} - - - -function createNewAsset() { - try { - assetId = ams.createAsset(ams.ASSET_PVR); -// alert("Created " + assetId); - } catch(e) { - alert("Couldn't create asset: " + e); - } -} - -function onStateChanged(ev) { -// alert("Media player state changed: state=" + ev.state + ", reason=" + ev.reason + ", code=" + ev.code); - - if ( ( ev.state == 6 && ev.reason == "HostUnreachable" ) || ( ev.state == 2 && ev.reason == "PositionEnd" )) { - BackToTV(); - } - -} - -// Start recording/ timeshift - -function ServerRecordStart() { -//Record current program - - try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + recServ + "/addTimer?guid=" + channels[currChan] + "&" + new Date().getTime() ),false); - xmlhttp.send(); - - if (xmlhttp.responseXML == null) { - //settimer(EPG[NowNext][2][currChan],Lang[55],0,2); - //Timer not set, try direct recording - ServerRecord(); - settimer(0,Lang[57],0,2); - } else { - settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan],0,2); - } - - } catch(e) { - alert("Sending Timers to server problem: " + e); - settimer(0,Lang[55],0,2,color_error); - } - -} - - -function ServerRecord() { -//Instant record on server - - try { - xmlhttp=new XMLHttpRequest(); - //switch server to current channel - xmlhttp.open("POST",(server_ip + RestFulAPI + "/remote/switch/" + channels[currChan]),true); - xmlhttp.send(); - //start recording - setTimeout("xmlhttp.open('POST',(server_ip + RestFulAPI + '/remote/Record'),false);xmlhttp.send();",5000); - } catch(e) { - alert("Sending key to server problem: " + e); - settimer(0,Lang[55],0,2,color_error); - } - -//end of function -} - - - -function ServerPause() { -//Instant pause on server - ServerRecord(); - settimer(EPG[NowNext][2][currChan],Lang[70],0,2); - setTimeout("getPauseFile();",6000); -//end of function -} - - - - -function getPauseFile() { - -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + RestFulAPI + "/recordings.xml?" + new Date().getTime()),false); - xmlhttp.send(); - xmlDoc=xmlhttp.responseXML; - var x=xmlDoc.getElementsByTagName("recording"); - nrMedia = x.length - 1; - for (var i=0;i<x.length;i++) - { - var xx = x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue.split("."); - xx = xx[(xx.length-2)].split("-"); - - if ( xx[0] == currChan ) { - recLink[0] = server_ip + recServ + x[i].getElementsByTagName("param")[2].childNodes[0].nodeValue; - } - - } - - } catch(e) { - alert("Get Recordings problem: " + e); - } - getRecOK = 0; - recDura[0] = 0; // 3600;// set to 1 hour - LoadMediaSettings();// sets currMed to 0 - recTitl[0] = "Time Shift File" - position = 0; - pauseRec(recLink[0]); - -} - - - -function ServerTimer(guid,evid) { - -try { - xmlhttp=new XMLHttpRequest(); - xmlhttp.open("GET",(server_ip + recServ + "/addTimer?guid=" + guid + "&evid=" + evid + "&" + new Date().getTime() ),false); - xmlhttp.send(); - } catch(e) { - alert("Sending Timers to server problem: " + e); - } - - -} - - - -function BackToTV() { - play(channels[currChan]); - if (isPause == 1 || localRecording == 1) { - UnloadMediaSettings(); - } else { - medialist.style.opacity = 0.9; - showDisplay("STOP", false, 100, 0 ); - showMediaList(); - AvInfo.length = 0; - } -} - - -function onRecorderStateChanged(event) { -// alert("EVENT! " + event.reason + " *** " + event.state); - RECicon = "\uE003"; // 0xE003 0x83 Fixed width blank - switch (event.state) { - case mediaRecorder.STATE_IDLE: - // "STATE_IDLE"; - break; - case mediaRecorder.STATE_CONNECTING: - // "STATE_CONNECTING"; - break; - case mediaRecorder.STATE_PAUSED: - // "STATE_PAUSED"; - break; - case mediaRecorder.STATE_RECORDING: - // "STATE_RECORDING"; - RECicon = "\uE00B"; // 0xE00B 0x8B REC - break; - case mediaRecorder.STATE_FAILED: - // "STATE_FAILED"; - RECicon = "\uE01A"; // Bomb Icoon - break; - } - -} - -function ShowMediaOSD() { -if (get_recordings == 1) { - // Display Name/ length - var pos = position + (mediaPlayer.getPosition()/1000); - var pos2 = (pos / Number(recDura[currMed])) * 100; - if (pos2 < 1) { pos2 = 1;} - if (pos2 >100) {pos2 = 100;} // in case of viewing while still recording. - if (pos>recMark[posMark] && recMark.length-1>posMark) { posMark += 1;} - pos2 = ((pos2 * 140) / 100).toFixed(0); // make it 40% bigger - var pos5 = "\uE007" + new Array(pos2 - 1).join("\uE008") + new Array(140 - pos2).join("\uE009") + "\uE00A" - var pos4 = ""; - var pos6 = pos5; - var fontc = color_progress1; - var x = 0; - for (var i=0; i<recMark.length; i++) { - var pos3 = recMark[i] / Number(recDura[currMed]) * 100; - pos3 = ((pos3 * 140) / 100).toFixed(0); // make it 40% bigger - pos4 += fontc + Left(pos6,pos3 - x); - if (fontc == "</font>" + color_progress2) { fontc = "</font>" + color_progress1; } else { fontc = "</font>" + color_progress2;} - x = pos3; - pos6 = Right(pos5,140 - pos3); - } - pos4 += "</font>" + color_progress1 + pos6 + "</font>"; - var x = (Number(recDura[currMed])/60).toFixed(0); - if (pos/60 > x) { x = (pos/60).toFixed(0);} - date_time(); - osdmediatime.innerHTML = result; - date_time_rec(); - osdmedia.innerHTML = "<pre class=media> \n " + (pos/60).toFixed(0) + " / " + x + " " + Left(recTitl[currMed],40) + "\n " + pos4 + "\n " + result + " </pre>"; -} else if ( get_recordings == 2) { - var pos = position + (mediaPlayer.getPosition()/1000); - date_time(); - osdmediatime.innerHTML = result; - osdmedia.innerHTML = "<pre class=media> \n " + (pos/60).toFixed(0) + " \n " + Left(recTitl[currMed],40) + "\n \n " + recStrt[currMed] + " </pre>"; -} -} - -function ShowInfo() { -//Like Show EPG Info - if ( medialist.style.opacity == 0 ) { updateStreamInfo(currMed);} else { AvInfo[currMed] = "";} - if (get_recordings == 2) { - result = recStrt[currMed] - osdepginfo.innerHTML = "<p class=epg_head>" + Left(recTitl[currMed],60) - + "\n </p><p class=epg_avinfo>" + AvInfo[currMed] - + "</p><p class=epg_title> " + result + "\n " - + "???" + Lang[54] - + "</p><p class=epg_info> Sorry STREAMDEV-plugin : " + Lang[37] + "</p></center>"; - } else { - date = new Date(Number(recStrt[currMed])*1000); - year = date.getFullYear(); - month = date.getMonth(); - d = date.getDate(); - day = date.getDay(); - h = date.getHours(); - m = date.getMinutes(); - h = addzero(h); - m = addzero(m); - result = '' + days[day] + ' ' + d + ' ' + months[month] + ' ' + year + ' ' + h + ':' + m; - - if (year!==1970) { - osdepginfo.innerHTML = "<p class=epg_head>" + Left(recTitl[currMed],60) - + "</p><p class=epg_avinfo>" + AvInfo[currMed] - + "</p><p class=epg_title> " + result + "\n " - + (recDura[currMed] / 60).toFixed(0) + Lang[54] + "\n " + recChan[currMed] + " " - + "\n </p><p class=epg_info>" + Left(recDesc[currMed],750) + "</p></center>"; - } else { - //info for non-vdr recordings - osdepginfo.innerHTML = "<p class=epg_head>" + Left(recTitl[currMed],60) - + "\n </p><p class=epg_avinfo>" + AvInfo[currMed] + " " + "\n \n </p></center>"; - } - } -} - -function onScheduledStart(event) { - // event is of type ToiSchedulerServiceBooking, see docs - var timertype = event.booking.category; - - if ( timertype == "SwitchOnly") { - ClearScreen(); - isFullscreen = 1; FullScreen(); - isVisible = 0; setVisible(isVisible); - - //Switch from recordings - if (isMediaMenu) { - if (medialist.style.opacity == 0) {setResume();} // No mediamenu on screen so set resume. - UnloadMediaSettings(); - } - - prevChan = currChan; - currChan = Number(ss.getParameter(event.booking.id, "Channel")); - ChanGroup = Number(Left((currChan / 1000),1)); - - // check if Group isn't protected - if ((protChn[ChanGroup] == 1) && (ShowProtectedChannels == 1)) { - currChan = prevChan; - ChanGroup = Number(Left((currChan / 1000),1)); - } - - // switch only if not already on that channel. - if (currChan !== prevChan) { - play(channels[currChan]); - } - ss.remove(event.booking.id); - setOSDtimer(); - } else { - try { - createNewAsset(); - - var recChannr = Number(ss.getParameter(event.booking.id, "Channel")); - var recGroup = Number(Left((recChannr / 1000),1)); - var recChan = 0; - if (ServerAdres[recGroup] == "MultiCast" ) { - SI=channels[recChannr].split("-"); - recChan = SI[4]; - } else { - recChan = ServerAdres[recGroup] + channels[recChannr]; - } - - mediaRecorder.open(recChan, assetId); - - var propList = new Array(ams.PROPERTY_SYSTEM_PLAYBACKURI); - var properties = ams.getProperties(assetId, propList); - var assetURI = properties[0].value; - - // save the assetId in the booking - ss.setParameter(event.booking.id, "assetURI", assetURI); - ss.setParameter(event.booking.id, "assetId", assetId); - ss.setParameter(event.booking.id, "active", "True"); - ss.setParameter(event.booking.id, "Type", "\uE00B"); - - mediaRecorder.record(); -// alert("Recording to " + assetURI); - } - catch (e) { - alert(e); - } - } -} - - -function onScheduledStop(event) { - var timertype = event.booking.category; - if ( timertype == "SwitchOnly") { - ss.remove(event.booking.id); - setOSDtimer(); - } else { - try { - ss.setParameter(event.booking.id, "active", "False"); - ss.setParameter(event.booking.id, "Type", "\uE01C"); - mediaRecorder.close(); - } - catch (e) { - alert(e); - } - } - -} - - -function ClearScreen() { - isSchedule = 0; schedule.style.opacity = 0; - isSetupMenu = 0; - epgactive = 0; - osdepginfonext.style.opacity = 0; - osdepginfo.style.opacity = 0; - mainmenu.style.opacity = 0; -} - diff --git a/mute.png b/mute.png deleted file mode 100644 index 44e9547..0000000 Binary files a/mute.png and /dev/null differ diff --git a/settings.js b/settings.js deleted file mode 100644 index 14ebf05..0000000 --- a/settings.js +++ /dev/null @@ -1,371 +0,0 @@ -// -// Default settings -// - -var Version = "0.26.4"; - -server_ip_array = new Array("http://192.168.1.15","http://192.168.3.15","http://192.168.178.56","http://192.168.3.100","http://192.168.178.19","http://192.168.1.21","http://192.168.2.100","http://192.168.178.52"); - -var server_ip = server_ip_array[0]; // default server -var StartVolume = 15; // Volume on (re)start of the portal. -var currChan = 10; // default channel - -OSDLang = new Array ("English", "Nederlands", "Deutsch"); -langfile = new Array ("lang_eng.js", "lang_dut.js","lang_ger.js"); -lang_prio = new Array("dut,eng,und","ger,deu,eng","eng,und","fre,fra,eng"); - -cssfile = new Array ("blue.css","style_1.css"); -var css_nr; - -var subs_prio = "dut,eng"; //Subtitle prio - -var get_timer = 1; // gettimersserver 1 = smarttvweb, 0 = restfulapi -var get_recordings = 1; // getrecordings 0 = restfulapi(only showing no play), 1 = smarttvweb, 2 = streamdev -var get_marks = 1;// getmarks 1 = smarttvweb, 0 = restfulapi - -var subgroup_old = 1 ;// 0 = use old routine for sub group in recordings listing. - -var SortByDate = 1; //Sort recordings by date - -var ShowSubDir = 1 ; // 0 = no, 1 = yes (default) // show seperate maps for subdirs in menu recordings -var showClock = 0; // 0 = no, 1 = yes -var SwitchGuide = 0; // 0 = no, 1 = yes -var PipSwitchGuide = 0; // 0 = no, 1 = yes // use second/pip player for getting epg update in guide view // !!Unstable!! box might restart -var TimeShift = 0; // 0 = no, 1 = yes timeshift -var KillStream = 1; // 1 = Close stream on Standby -var ShowProtectedChannels = 1; // 0 = yes show, 1 = don't show protected channels (default) -var ProtectTimeOut = 60 * (60 * 1000); //time out in minutes (0 = no timeout) -var ShowSource = 1; // show source in OSD -var pipPlayer = 0; // 0 = no, 1 = yes Pip -var mediaRecorder = 1; // 0 = no, 1 = yes local recording. -var PauseOnServer = 0; // 0 = no pause on server, 1 = pause live TV on server -var ShowMPD = 0; // 0 = don't use MPD, 1 = make use of MPD (http://www.musicpd.org/) - -var fullupdate = 1; // If guideview is too slow, set it to 0 (for 1910/1960), faster boxes can use 1 -// to force the use on boxes other then 19x3 use 2!! - - -var ShowOsdTime = 5000; //Time to show OSD, in seconds * 1000 -var ShowSetTimer = 3000; //Time to show set timer popup, in seconds * 1000 -var ChangeTime = 2000; // Time before the channel change happens (was only with OK) - -var serverEPGdays = 3 * (60 * 60 * 24); // the higher the longer you wait while getting the epg info - -var VolumeStep = 5; // Steps the volume buttons make - -// Server for Recordings -var recServ = ":" + "8000"; -var RestFulAPI = ":" + "8002"; -var MPDAddress = ":" + "8888"; -var StreamPort = ":" + "3000" + "/"; -//var StreamPort = ":" + "8000" + "/live/"; - -var channeldigits = 2; // 0 - Max 9, 1 max 99, 2 max 999 or 3 max 9999 channels directly selectable by numbers - -var Fav_group = 10; // Favorite Group 10 - -var EPGMode = 1; // 1 = FILTER_MODE_PF_AND_SCHEDULE 0 = FILTER_MODE_PF_ONLY - -var RecCmds = new Array(-1,1,-1,-1,-1,-1,-1,-1,-1,-1); -var RecCmdsIcon = new Array("","\uE005","","","","","","","",""); - -var preRecTime = 300 ;// for local recordings time before recording in seconds -var afterRecTime = 600 ; // for local recordings time after recording in seconds - - -// -// No need to change anything from here on. -// - -var experimental;// Use some experimental code -var lang_nr; -var testing2; -var ShowSubs; //Flash stored - -VideoOutputModes = new Array(4,5,7); // Modes for the portal. -VideoOutputModes_txt = new Array("NO_VIDEO_MODE","480I60","576I50","480P60","576P50","720P50","720P60","1080I50","1080I60","1080P23976","1080P24", - "1080P25","1080P29970","1080P30","1080P50","1080P59940","1080P60") - -// NO_VIDEO_MODE = 0 -// VIDEO_MODE_480I60 = 1 -// VIDEO_MODE_576I50 = 2 -// VIDEO_MODE_480P60 = 3 -// VIDEO_MODE_576P50 = 4 <-- -// VIDEO_MODE_720P50 = 5 <-- -// VIDEO_MODE_720P60 = 6 -// VIDEO_MODE_1080I50 = 7 <-- -// VIDEO_MODE_1080I60 = 8 -// VIDEO_MODE_1080P23976 = 9 -// VIDEO_MODE_1080P24 = 10 -// VIDEO_MODE_1080P25 = 11 -// VIDEO_MODE_1080P29970 = 12 -// VIDEO_MODE_1080P30 = 13 -// VIDEO_MODE_1080P50 = 14 -// VIDEO_MODE_1080P59940 = 15 -// VIDEO_MODE_1080P60 = 16 - -var videoConfig; -var Set_Res; -var Xfactor = new Array(); -var Yfactor = new Array(); - -// keep scale compliant with Videooutputmodes!! -// 720x576 -Xfactor[0] = 720 / 720; -Yfactor[0] = 576 / 576; -// 1280x720 -Xfactor[1] = 1280 / 720; -Yfactor[1] = 720 / 576; -// 1920x1080 -Xfactor[2] = 1920 / 720; -Yfactor[2] = 1080 / 576; - - -var audio = 0; -var audio_dyn = 0; -var subs_dyn = 0; - - -var lang_prio_dyn = new Array(); //Used for dynamic audio track selection -var subs_prio_dyn = new Array(); //Used for dynamic subs track selection - - -var ChanGroup = Number(String((currChan / 1000)).substring(0,1)); // default group -var minChan = new Array();var minchan = new Array(); var maxChan = new Array(); var defChan = new Array(); var baseChn = new Array(); var protChn = new Array(); var ServerAdres = new Array(); // Define settings for Channels. - - -var NN = new Array(); -var Lang = new Array(); -var CLang = new Array(); - -var isFullscreen = 1; -var Volume = StartVolume; -var AudioOut = 3; // AUDIO_CONNECTION_TYPE_ANALOG = 0; AUDIO_CONNECTION_TYPE_SPDIF = 1; AUDIO_CONNECTION_TYPE_HDMI = 2;AUDIO_CONNECTION_TYPE_DECODER = 3;AUDIO_CONNECTION_TYPE_BUFFER = 4;AUDIO_CONNECTION_TYPE_I2S = 5; - -var epgchan = currChan; -var prevChan = currChan; - -var channels = new Array(); -var channelsnames = new Array(); -var channelsepglang = new Array(); - -var currMed = 0; -var listMed = 0; -var DelisOK = 0; -var recPath = "/recordings.xml"; - -var menu = 0; -var isMediaMenu = 0; -var isVisible = 0; -var isSetupMenu = 0; -var isSchedule = 0; -var MainMenu = 0; -var mediaPlayer = null; -var Change = 0; -var ChangeOK = 0; -var Extok = 0; -var count = 0; - -//keys -var KEY_0 = "U+0030"; -var KEY_1 = "U+0031"; -var KEY_2 = "U+0032"; -var KEY_3 = "U+0033"; -var KEY_4 = "U+0034"; -var KEY_5 = "U+0035"; -var KEY_6 = "U+0036"; -var KEY_7 = "U+0037"; -var KEY_8 = "U+0038"; -var KEY_9 = "U+0039"; -var KEY_REC = "U+00bd"; -var KEY_REC2 = "MediaRecord"; -var KEY_OK = "Accept"; -//Extra keys -// Comhem Remote -var KEY_FAV = "U+e0003"; -var KEY_FILM = "U+e0033"; -var KEY_HELP2 = "U+f0001"; -// old kpn (vip1710/1760) -var KEY_OPNAMES = "U+0046"; -var KEY_HELP = "Info"; -var KEY_DIENSTEN = "Portal"; -var KEY_A = "U+0041"; // |> -var KEY_B = "U+0042"; // hh -var KEY_C = "U+0043"; // @ -var KEY_D = "U+0044"; // >@ -// Comx keyboard -var KEY_DVR = "DVR"; -var KEY_WWW = "Web"; -var KEY_STOP = "U+001B"; -var KEY_EPG = "List"; -var KEY_MPT = "MediaPreviousTrack"; -var KEY_MNT = "MediaNextTrack"; -// Comx remote - - - -var eitCache = null; -var events = null; -var eitService = null; -var EPGShortnext; -var EPGShortnow; -var listChan = 0; -var NowNext = 0; -var EpgInfo = new Array(); -var EpgExtInfo = new Array(); -var files = new Array(); - -// -//NowNext, 1 = programma naam event.name ,currchan -//0 1 2 = start event.time -//2 = schedule 3 = lengte event.duration (/60 = minuten) -// 4 = shortinfo -// 5 = extinfo -// 6 = eventid -// 7 = EPGNow / EPGNext -// 8 = ParentalRating -// 9 = ContentNibbles -var EPG = new Array(); -EPG[0] = new Array(); -EPG[1] = new Array(); -EPG[2] = new Array(); -EPG[0][1] = new Array(); -EPG[0][2] = new Array(); -EPG[0][3] = new Array(); -EPG[0][4] = new Array(); -EPG[0][5] = new Array(); -EPG[0][6] = new Array(); -EPG[0][7] = new Array(); -EPG[0][8] = new Array(); -EPG[0][9] = new Array(); -EPG[1][1] = new Array(); -EPG[1][2] = new Array(); -EPG[1][3] = new Array(); -EPG[1][4] = new Array(); -EPG[1][5] = new Array(); -EPG[1][6] = new Array(); -EPG[1][7] = new Array(); -EPG[1][8] = new Array(); -EPG[1][9] = new Array(); -EPG[2][1] = new Array(); -EPG[2][2] = new Array(); -EPG[2][3] = new Array(); -EPG[2][4] = new Array(); -EPG[2][5] = new Array(); -EPG[2][6] = new Array(); -EPG[2][7] = new Array(); -EPG[2][8] = new Array(); -EPG[2][9] = new Array(); - -var content; -var connib = 0x00000000; -var osdtimeout = 0; -var osdVolumetimeout = 0; -var epgactive = 0; -var preChan = 0; -var preGrp = 0; -var timerChan = 10; -var TimerActions; -var initialDelayID = 0; -var CAdelayID = 0; -var ProtectID = 0; -var SleepTimer = 0; -var SleepTimerID = -1; -var initialDelayPlayID = -1; -var TimedChangeID = -1; - -var instanttimer = new Array(); -var inst_timer = 0; - -var switchicon = "\uE003"; -var CAicon = "\uE00F"; -var RECicon = "\uE003"; -var Radioicon = "\uE003"; - -var AvInfo = new Array(); -var xx = 0; - -var subsmode = 0; // "cfg.media.subtitling.modepriority","Teletext,DVB" - -var rec_lst = new Array(); // Full recording list, used for sorting -var recTitl = new Array(); // title of recording -var recLink = new Array(); // link to get recording -var recDesc = new Array(); // description of the recording -var recDura = new Array(); // duration of the recording -var recStrt = new Array(); // date of recording -var recList = new Array(); // used to verify if the right recording is going to be deleted -var recMark = new Array(); // marks made in the recording, eg by Noad, Markad -var rec_New = new Array(); // Flag if recording is new (unseen) -var recGUID = new Array(); // GUID of recording -var recChan = new Array(); // Channel ID -var recDummy= new Array(); // -var recGroup= new Array(); // group index -var recProt = new Array(); // protect recording based on channelgroup -var recSubGroup = new Array(); // used for subgroups -var subgroup= 0 ; // Used for subdirs in recording view -var subsubgroup = 0;// Used for subdirs in recording view -var MaxInGroup=14; // Used for subdirs in recording view -var Group_Header = new Array(); // Header for submenu. - -var posMark = 0; -var recMap = 0; - -var timersID = new Array(); -var timersFlag = new Array(); -var timersStrt = new Array(); -var timersStop = new Array(); -var timersDays = new Array(); -var timersDay = new Array(); -var timersName = new Array(); -var timersFile = new Array(); -var timersEvnt = new Array(); -var timersChan = new Array(); -var maxTimers = 0; -var timerOK = 0; - -var searchtimersID = new Array(); -var searchtimersSearch = new Array(); -var searchtimersFlag = new Array(); -var SearchTimer = new Array(); - -var getRecOK = 0; -var position = 0; - -var timer = new Array(); -var timers = new Array(); -var searchtimers = new Array(); -var getbookingID = 0; -var timerID = 0; -var nrMedia = 0; -var MPDListener = 0; - -//vdr status -var free_space = 0; -var perc_space = 0; - -var isPause = 0; //used by pause routine. - -var Fav_base = Fav_group * 1000; -var Fav_max_channel; -baseChn[Fav_group] = Fav_base; -defChan[Fav_group] = Fav_base + 1; -minChan[Fav_group] = Fav_base + 1; -// -var Chan_Ver = "Not set"; -var Fav_key1; -var set_yellow_key = 0; -var URL; -var initialDelayPlay = 0; -var PlayDelayID; -var PIPDelayID; -var ErrorAgain = 0; -var smartTVplugin; // Turn on or off the use of smartTVplugin -var Restfulapiplugin; // Turn on or off the use of Restfulapiplugin -var localRecording = 0; -var box_ip; // Used for testing plugins -var test_ip; // Used for testing plugins - -var color_switchtimer = "color_switchtimer"; -var color_default = "color_default"; -var color_error = "color_error"; - diff --git a/settings2.js b/settings2.js deleted file mode 100644 index 9348b31..0000000 --- a/settings2.js +++ /dev/null @@ -1,113 +0,0 @@ - -var fsList; var fsSchedList; var fsSched; - -var color_bg = "#fc5"; -var color_sched_head = "color:white"; -var color_sched_font = "color:black"; - -var color_progress1 = "<font color=red>"; -var color_progress2 = "<font color=white>"; - - -function setOSDscale() { - fsList = (18*Yfactor[Set_Res]) + "px"; //1080 = 34, 720 = 23, 576 = 18 - fsSchedList = (18*Yfactor[Set_Res]) + "px"; //1080 = 34, 720 = 23, 576 = 18 - fsSched = (26*Yfactor[Set_Res]) + "px"; //1080 = 49, 720 = 33, 576 = 26 -} - -function GetSchedule(schchan,tablelength){ - //Old style Schedule, used in Guide View. - SI = ""; - try { - StreamInfo(schchan); - - eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); - eitCache.addService(eitService); - event = eitCache.getPresentEvent(eitService); - events = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); - - if (event.name) { - if (events.more) { - var t = eitCache.getEvents(eitService, (Math.round(new Date().getTime()/1000.0)), 2000000000); - events.infoSequence.concat(t.infoSequence); - events.more = t.more; - } - - var txt = "<table><tr>"; - var i = 0; - for (i = 0; i < events.infoSequence.length && i < tablelength; i++) { - - while ((i > 0) && (events.infoSequence[i].eventId == events.infoSequence[(i-1)].eventId)) { - i = i + 1; - } - - tijd = events.infoSequence[i].time; - date = new Date(tijd*1000); - tijd = date.toUTCString(); - tijd = new Date(tijd); - var tm = tijd.getMinutes(); - var th = tijd.getHours(); - th=addzero(th); - tm=addzero(tm); - - txt = txt + "<td style='font-size:" + fsSchedList + ";" + color_sched_font + ";'>\uE003\uE003\uE003\uE003\uE003" + th + ":" + tm + " (" + (events.infoSequence[i].duration/60).toFixed(0) + ") " + Left(events.infoSequence[i].name,30) + "</td></tr>"; - } - txt = txt + "</table>"; - schedule.innerHTML = "<p style='" + color_sched_head + ";font-size:" + fsSched + ";'>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + txt + "</p>"; - } else { - schedule.innerHTML = "<p style='" + color_sched_head + ";font-size:" + fsSched + ";'>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + "</p>"; - } - - } catch(e) { - alert("Get EPG problem: " + e); - schedule.innerHTML = "<p style='" + color_sched_head + ";font-size:" + fsSched + ";'>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + "</p><p>" + Lang[6] + "</p>"; - } - -} - - -// Channelslist / EPG Guide -// -// show currchan - 5 -// highlite currchan -// show currchan + 5 -// -// check if chan is OK -// -function showChannelList() { - var liststyle = ""; - var htmlstring = "<table border='0'><tr>"; - listChan = currChan-5; - for(var i=currChan-5; i<=currChan+5; i++) { - do - { - listChan += 1; - if (listChan<minChan[ChanGroup]) { - listChan=maxChan[ChanGroup]; - } - if (listChan>maxChan[ChanGroup]) { - listChan=minChan[ChanGroup]; - } - } - - while (!channels[listChan] && (listChan<maxChan[ChanGroup])); - if (fullupdate) { GetEPG(listChan); } - if ( listChan == currChan) { - if (!fullupdate) { GetEPG(listChan); } - liststyle = "background:" + color_bg + ";"; - } else { - liststyle = ""; - } - EpgInfo[0] = EPG[0][7][listChan]; - EpgInfo[1] = EPG[1][7][listChan]; - htmlstring = htmlstring + "<td style='" + liststyle + "font-size:" + fsList + ";'>\uE003\uE003" + listChan + "\uE003</td><td style='" + liststyle + "font-size:" + fsList + ";'>" + Left(channelsnames[listChan],15) + "\uE003</td><td style='" + liststyle + "font-size:" + fsList + ";'>" + Left(EpgInfo[NowNext],64) + "</td></tr>"; - } - htmlstring = htmlstring + "</table>"; - channellist.innerHTML = htmlstring; - chanlistepg.innerHTML = "<p class=epg>" + EPG[NowNext][1][currChan] + "</p><p class=list>" + Left(EPG[NowNext][4][currChan],250) + "</p>" ; - -} - - -// END of Channelslist / EPG Guide - diff --git a/skins/black.css b/skins/black.css new file mode 100644 index 0000000..cdaea62 --- /dev/null +++ b/skins/black.css @@ -0,0 +1,420 @@ +* { + margin: 0; + padding: 0; + border: 0; + vertical-align: baseline; +} + +body { + background : url(../images/background.png) repeat #000; + width : 100%; + height : 100%; + margin : 0; + padding : 0; + font-family : 'Ubuntu', sans-serif; +} + +videoplane#videoplane { + position : absolute; + left : 0px; + top : 0px; + height : 100%; + width : 100%; + z-index : 500; +} + +/* OSD Bottom of Decorder */ + +div#osdmain { + font-family : 'Ubuntu', sans-serif; + font-weight : 400; + position : absolute; + z-index : 505; + background : url(../images/osd-bg.png) top center repeat-x rgba(0,0,0,0.8); + width : 94%; + height : 25%; + bottom : 3%; + left : 3%; + color : #FFF; + overflow : hidden; +} + + div#osdnr { + font-size : 58px; + display : table; + font-weight : 700; + color : #feb900; + position : absolute; + width : 8%; + height : 100%; + left : 0%; + top : 0%; + text-align : center; + border-right : 1px solid #444; + background : rgba(0,0,0,0.4); + } + + div#osdnr span { + display : table-cell; + vertical-align : middle; + } + + div#osdname { + font-size : 40px; + font-weight : 700; + position : absolute; + width : 60%; + height : 25%; + left : 10%; + top : 15%; + border-bottom : 1px solid #444; + white-space : nowrap; + overflow : hidden; + text-overflow : ellipsis; + } + + div#osdtimer { + color : #feb900; + position : absolute; + width : auto; + text-align : center; + left : 10%; + top : 45%; + border-radius : 10px; + -webkit-border-radius: 10px; + background : rgba(0,0,0,0.3); + padding : 10px; + font-size : 28px; + } + + div#osdepg { + position : absolute; + width : 50%; + height : 55%; + left : 20%; + top : 45%; + line-height : 28px; + white-space : nowrap; + overflow : hidden; + text-overflow : ellipsis; + font-size : 28px; + } + + div#osdtime { + font-size : 28px; + line-height : 45px; + color : #FFF; + position : absolute; + width : 30%; + height : 25%; + right : 3%; + top : 15%; + text-align : right; + border-bottom : 1px solid #444; + white-space : nowrap; + overflow : hidden; + text-overflow : ellipsis; + } + + div#osdca { + font-size : 50px; + color : #999; + position : absolute; + width : auto; + right : 3%; + top : 45%; + text-align : right; + border-radius : 10px; + -webkit-border-radius: 10px; + background : rgba(0,0,0,0.3); + padding : 10px; + } + +/* END - OSD Bottom of Decorder */ + + .bluekey { + color : blue; + } + .#ad0806key { + color : #ad0806; + } + .yellowkey { + color :yellow; + } + .greenkey { + color :green; + } + .mainfont { + font-size:49px; + color:black; + } + + .notset { + color :grey; + } + + .select { + background :#fc5; + -webkit-border-radius:25px; + color:black; + font-size:49px; + } + + .mediaselect { + background :#fc5; + -webkit-border-radius:25px; + color:black; + font-size:38px; + } + + pre.mediamenu { + font-size:38px; + color:black; + } + + p.epg_head { + color:white; + text-align: center; + } + + p.epg_avinfo { + color:black; + text-align: center; + } + + p.epg_title { + color:white; + text-align: center; + } + + p.epg_info { + color:yellow; + text-align: center; + } + + pre.color_switchtimer { + background : #660066; + } + + pre.color_default { + background : green; + } + + pre.color_error { + background : #ad0806; + } + + + + videoplane#videoplane { + position:absolute; + left:0px; + top:0px; + height:100%; + width:100%; + z-index:500; + } + + h1.mainmenu { + font-size:66px; + color:white; + text-align: center; + } + + pre.mainmenu { + font-size:49px; + color:black; + } + pre.mainhead { + font-size:66px; + color:white; + text-align: center; + } + + pre.media { + color:white; + font-size:49px; + } + + pre.epgtimerinfo { + color:white; + text-align: center; + } + + p.epgtimerinfo { + text-align: center; + } + + + p.epg { + font-size:36px; + color:black; + text-align: center; + } + + p.list { + font-size:34px; + color:black; + text-align: center; + } + + p.osdtimer { + font-size:34px; + color:black; + } + + div#channellist { + z-index : 400; + position : absolute; + width : 100%; + height : 48%; + left : 7%; + top : 4%; + background : #bbb; + } + + div#colorkeys { + z-index : 401; + position : absolute; + width : 100%; + left : 10%; + top : 84%; + font-size:36px; + } + + div#chanlistepg { + z-index : 402; + position : absolute; + width : 42%; + left : 7%; + top : 50%; + } + + div#osdvolume { + z-index : 501; + position : absolute; + width : 63%; + left : 10%; + top : 80%; + opacity : 0; + color : green; + font-size:66px; + } + + div#osdmedia { + width :80%; + position :absolute; + left :10%; + top :60%; + z-index :506; + opacity :0; + -webkit-border-radius:50px; + background : #3366ff; + } + + div#osdmediatime { + z-index : 506; + position : absolute; + width : 42%; + right : 15%; + top : 63%; + color : white; + font-size:35px; + text-align: right; + } + + + + div#schedule { + width :50%; + height :75%; + position :absolute; + left :25%; + top :10%; + opacity :0; + z-index :510; + -webkit-border-radius:50px; + background : #3366ff; + } + + div#osdmute { + width :7%; + position :absolute; + left :76%; + top :9%; + z-index :515; + opacity :0; + } + + div#osdlang { + width :7%; + position :absolute; + left :76%; + top :9%; + z-index :515; + opacity :0; + color :white; + font-size:30px; + } + + div#mainmenu { + width : 40%; + height : 100%; + color : #FFF; + text-align : left; + position : absolute; + left : 3%; + top : 3%; + z-index : 520; + opacity : 0; + background : url(../images/osd-bg.png) top center repeat-x rgba(0,0,0,0.8); + } + + div#medialist { + width : 80%; + position : absolute; + left : 10%; + top : 10%; + bottom : 10%; + z-index : 520; + opacity : 0; + -webkit-border-radius:50px; + background : #3366ff; + } + + div#switchtimer { + width : 45%; + position : absolute; + left : 21%; + top : 26%; + z-index : 530; + opacity : 0; + -webkit-border-radius: 25px; + color : white; + font-size : 36px; + background : green; + } + + div#osdepginfo { + width : 80%; + position : absolute; + left : 10%; + top : 10%; + z-index : 525; + opacity : 0; + -webkit-border-radius :0 25px 0 25px; + background : #3366ff; + font-size : 39px; + } + + div#osdepginfonext { + width : 80%; + position : absolute; + left : 10%; + top : 10%; + z-index : 525; + opacity : 0; + -webkit-border-radius :0 25px 0 25px; + background : #3366ff; + font-size : 39px; + } \ No newline at end of file diff --git a/skins/blue.css b/skins/blue.css new file mode 100644 index 0000000..b810e92 --- /dev/null +++ b/skins/blue.css @@ -0,0 +1,384 @@ + body{ + backgroundColor : #ccc; + } + + .bluekey { + color : blue; + } + .redkey { + color : red; + } + .yellowkey { + color :yellow; + } + .greenkey { + color :green; + } + .mainfont { + font-size:49px; + color:black; + } + + .notset { + color :grey; + } + + .select { + background :#fc5; + -webkit-border-radius:25px; + color:black; + font-size:49px; + } + + .mediaselect { + background :#fc5; + -webkit-border-radius:25px; + color:black; + font-size:38px; + } + + pre.mediamenu { + font-size:38px; + color:black; + } + + pre.deletefile { + text-align : center; + color :white; + font-size :36px; + background :red; + } + + pre.nonfree { + text-align : center; + color :white; + font-size :36px; + background :red; + } + + + p.epg_head { + color:white; + text-align: center; + } + + p.epg_avinfo { + color:black; + text-align: center; + } + + p.epg_title { + color:white; + text-align: center; + } + + p.epg_info { + color:yellow; + text-align: center; + } + + pre.color_switchtimer { + background : #660066; + } + + pre.color_default { + background : green; + } + + pre.color_error { + background : red; + } + + + + videoplane#videoplane { + position:absolute; + left:0px; + top:0px; + height:100%; + width:100%; + z-index:500; + } + + h1.mainmenu { + font-size:66px; + color:white; + text-align: center; + } + + pre.mainmenu { + font-size:49px; + color:black; + } + pre.mainhead { + font-size:66px; + color:white; + text-align: center; + } + + pre.media { + color:white; + font-size:49px; + } + + pre.epgtimerinfo { + color:white; + text-align: center; + } + + p.epgtimerinfo { + text-align: center; + } + + + p.epg { + font-size:36px; + color:black; + text-align: center; + } + + p.list { + font-size:34px; + color:black; + text-align: center; + } + + p.osdtimer { + font-size:34px; + color:black; + } + + + div#osdmain { + position : absolute; + z-index : 505; + width : 80%; + top : 60%; + bottom : 9%; + left : 10%; + -webkit-border-radius : 50px; + background : #3366ff; + } + + div#osdnr { + position : absolute; + z-index : 505; + width : 13%; + height : 30%; + left : 3%; + top : -15%; + -webkit-border-radius : 25px; + background : red; + color : black; + font-size:81px; + text-align: center; + } + + div#osdname { + z-index : 505; + position : absolute; + width : 69%; + height : 4%; + left : 3%; + top : 20%; + color : black; + font-size:51px; + } + + + div#osdtimer { + z-index : 505; + position : absolute; + width : 7%; + left : 5%; + top : 30%; + } + + div#osdtime { + z-index : 505; + position : absolute; + width : 42%; + right : 5%; + top : 7%; + color : white; + font-size:35px; + text-align: right; + } + + + div#osdepg { + z-index : 505; + position : absolute; + width : 63%; + left : 17%; + top : 30%; + color : white; + font-size:36px; + } + + div#osdca { + z-index : 505; + position : absolute; + width : 5%; + left : 75%; + top : 20%; + color : black; + font-size:60px; + } + + + div#channellist { + z-index : 400; + position : absolute; + width : 100%; + height : 48%; + left : 7%; + top : 4%; + background : #bbb; + } + + div#colorkeys { + z-index : 401; + position : absolute; + width : 100%; + left : 10%; + top : 84%; + font-size:36px; + } + + div#chanlistepg { + z-index : 402; + position : absolute; + width : 42%; + left : 7%; + top : 50%; + } + + div#osdvolume { + z-index : 501; + position : absolute; + width : 63%; + left : 10%; + top : 80%; + opacity : 0; + color : green; + font-size:66px; + } + + div#osdmedia { + width :80%; + position :absolute; + left :10%; + top :60%; + z-index :506; + opacity :0; + -webkit-border-radius:50px; + background : #3366ff; + } + + div#osdmediatime { + z-index : 506; + position : absolute; + width : 42%; + right : 15%; + top : 63%; + color : white; + font-size:35px; + text-align: right; + } + + + + div#schedule { + width :50%; + height :75%; + position :absolute; + left :25%; + top :10%; + opacity :0; + z-index :510; + -webkit-border-radius:50px; + background : #3366ff; + } + + div#osdmute { + width :7%; + position :absolute; + left :76%; + top :9%; + z-index :515; + opacity :0; + } + + div#osdlang { + width :7%; + position :absolute; + left :76%; + top :9%; + z-index :515; + opacity :0; + color :white; + font-size:30px; + } + + div#mainmenu { + width :80%; + position :absolute; + left :10%; + top :10%; + bottom :10%; + z-index :520; + opacity :0; + -webkit-border-radius:50px; + background : #3366ff; + } + + div#medialist { + width :80%; + position :absolute; + left :10%; + top :10%; + bottom :10%; + z-index :520; + opacity :0; + -webkit-border-radius:50px; + background : #3366ff; + } + + div#switchtimer { + width :45%; + position :absolute; + left :21%; + top :26%; + z-index :530; + opacity :0; + -webkit-border-radius:25px; + color :white; + font-size:36px; + background :green; + } + + div#osdepginfo { + width :80%; + position :absolute; + left :10%; + top :10%; + z-index :525; + opacity :0; + -webkit-border-radius:50px; + background : #3366ff; + font-size:39px; + } + + div#osdepginfonext { + width :80%; + position :absolute; + left :10%; + top :10%; + z-index :525; + opacity :0; + -webkit-border-radius:50px; + background : #3366ff; + font-size:39px; + } + diff --git a/style_1.css b/style_1.css deleted file mode 100644 index 11bd43f..0000000 --- a/style_1.css +++ /dev/null @@ -1,104 +0,0 @@ -body { - -} -div#osdmain { - font-family : 'Ubuntu', sans-serif !important; - font-weight : 400 !important; - position : absolute !important; - z-index : 505 !important; - background : url(osd-bg.png) top center repeat-x rgba(0,0,0,0.8) !important; - width : 100% !important; - height : 25% !important; - bottom : 0 !important; - left : 0 !important; - color : #FFF !important; - border-radius : 0 30px 0 30px !important; - overflow : hidden !important; -} - - div#osdnr { - font-size : 40px !important; - display : table !important; - font-weight : 700 !important; - color : #feb900 !important; - position : absolute !important; - width : 8% !important; - height : 100% !important; - left : 0% !important; - top : 0% !important; - text-align : center !important; - border-right : 1px solid #444 !important; - background : rgba(0,0,0,0.4) !important; - } - - div#osdnr span { - display : table-cell !important; - vertical-align : middle !important; - } - - div#osdname { - font-size : 22px !important; - font-weight : 700 !important; - position : absolute !important; - width : 60% !important; - height : 25% !important; - left : 10% !important; - top : 15% !important; - border-bottom : 1px solid #444 !important; - white-space : nowrap !important; - overflow : hidden !important; - text-overflow : ellipsis !important; - } - - div#osdtimer { - color : #feb900 !important; - position : absolute !important; - width : auto !important; - text-align : center !important; - left : 10% !important; - top : 45% !important; - border-radius : 10px !important; - -webkit-border-radius: 10px !important; - background : rgba(0,0,0,0.3) !important; - padding : 10px !important; - } - - div#osdepg { - position : absolute !important; - width : 50% !important; - height : 55% !important; - left : 20% !important; - top : 45% !important; - line-height : 28px !important; - white-space : nowrap !important; - overflow : hidden !important; - text-overflow : ellipsis !important; - } - - div#osdtime { - font-size : 18px !important; - color : #FFF !important; - position : absolute !important; - width : 30% !important; - height : 25% !important; - right : 3% !important; - top : 15% !important; - text-align : right !important; - border-bottom : 1px solid #444 !important; - white-space : nowrap !important; - overflow : hidden !important; - text-overflow : ellipsis !important; - } - - div#osdca { - color : #999 !important; - position : absolute !important; - width : auto !important; - right : 3% !important; - top : 45% !important; - text-align : right !important; - border-radius : 10px !important; - -webkit-border-radius: 10px !important; - background : rgba(0,0,0,0.3) !important; - padding : 10px !important; - } diff --git a/unmute.png b/unmute.png deleted file mode 100644 index 70000a8..0000000 Binary files a/unmute.png and /dev/null differ -- cgit v1.2.3