diff options
author | M. Voerman <rekordc@gmail.com> | 2012-12-20 00:25:56 +0100 |
---|---|---|
committer | M. Voerman <rekordc@gmail.com> | 2012-12-20 00:25:56 +0100 |
commit | fd58ae6ec5e640b040b1c9907174c74c2bd29341 (patch) | |
tree | 1f599c07d46f1d4542939c1d795821db0a3ea19f | |
parent | bbdb260084ac88f3e944671249ab528fd2e252c4 (diff) | |
download | vdr-vipclient-fd58ae6ec5e640b040b1c9907174c74c2bd29341.tar.gz vdr-vipclient-fd58ae6ec5e640b040b1c9907174c74c2bd29341.tar.bz2 |
Release 0.04
-rw-r--r-- | History | 1 | ||||
-rw-r--r-- | channels.js | 55 | ||||
-rw-r--r-- | index.html | 128 | ||||
-rw-r--r-- | settings.js | 1 | ||||
-rw-r--r-- | settings2.js | 1 |
5 files changed, 146 insertions, 40 deletions
@@ -3,6 +3,7 @@ Only Play/ Pause & FF, no REW. OSD made for 576i !! Bugfix EPG info, now it should show the now/next info of the current channel. + (for testing timeshift added (only on hdd-models and not working for vdr streams (?)) set timeshift to 1 in settings2.js) Split portal into webkit (html) and svg version diff --git a/channels.js b/channels.js index 6870c85..45d6cb6 100644 --- a/channels.js +++ b/channels.js @@ -256,8 +256,9 @@ channelsnames[205] = "BBC NEWS (S)"; channels[205] = "S28.2E-2-2047-6405"; channelsnames[206] = "BBC PARL'MNT (S)"; channels[206] = "S28.2E-2-2046-10307"; -channelsnames[211] = "ITV1 London (S)"; -channels[211] = "S28.2E-2-2044-10060"; +channelsnames[211] = "ITV1 London HD (S)"; +channels[211] = "S28.2E-2-2049-10000"; +// SD channels[211] = "S28.2E-2-2044-10060"; channelsnames[212] = "ITV1+1 (S)"; channels[212] = "S28.2E-2-2054-10255"; channelsnames[213] = "ITV2 (S)"; @@ -272,8 +273,9 @@ channelsnames[217] = "ITV4 (S)"; channels[217] = "S28.2E-2-2044-10072"; channelsnames[218] = "ITV4+1 (S)"; channels[218] = "S28.2E-2-2049-10015"; -channelsnames[220] = "Channel 4 (S)"; -channels[220] = "S28.2E-2-2041-9211"; +channelsnames[220] = "Channel 4 HD (S)"; +channels[220] = "S28.2E-2-2068-21200"; +// SD channels[220] = "S28.2E-2-2041-9211"; channelsnames[221] = "Channel 4 +1 (S)"; channels[221] = "S28.2E-2-2042-8311"; channelsnames[222] = "E4 (S)"; @@ -442,16 +444,12 @@ channelsnames[319] = "Nick Jr (S)"; channels[319] = "S28.2E-2-2604-54355"; channelsnames[320] = "Nick Jr. 2 (S)"; channels[320] = "S28.2E-2-2313-53285"; -channelsnames[321] = "NICK JR (S)"; -channels[321] = "S30.0W-49-7-75"; channelsnames[322] = "Nick Jr France (S)"; channels[322] = "S19.2E-1-1078-28677"; channelsnames[323] = "Nick Jr. (S)"; channels[323] = "S13.0E-318-1400-30"; channelsnames[324] = "Nick Jr (S)"; channels[324] = "S13.0E-64511-800-1424"; -channelsnames[325] = "DISNEY JR (S)"; -channels[325] = "S30.0W-49-4-71"; channelsnames[326] = "Disney Junior (S)"; channels[326] = "S28.2E-2-2051-9004"; channelsnames[327] = "Disney Junior+ (S)"; @@ -518,8 +516,9 @@ channelsnames[411] = "Radio Bremen TV (S)"; channels[411] = "S19.2E-1-1201-28385"; channelsnames[412] = "tagesschau24 (S)"; channels[412] = "S19.2E-1-1051-28721"; -channelsnames[413] = "Einsfestival (S)"; -channels[413] = "S19.2E-1-1051-28722"; +channelsnames[413] = "Einsfestival HD (S)"; +channels[413] = "S19.2E-1-1201-28396"; +// SD channels[413] = "S19.2E-1-1051-28722"; channelsnames[414] = "EinsPlus (S)"; channels[414] = "S19.2E-1-1051-28723"; channelsnames[415] = "ZDFinfo (S)"; @@ -684,10 +683,12 @@ channelsnames[515] = "SF 1 (S)"; channels[515] = "S13.0E-318-8500-901"; channelsnames[516] = "SF zwei (S)"; channels[516] = "S13.0E-318-8500-907"; -channelsnames[517] = "RSI LA 1 (S)"; -channels[517] = "S13.0E-318-1700-14003"; -channelsnames[518] = "RSI LA 2 (S)"; -channels[518] = "S13.0E-318-1700-14009"; +channelsnames[517] = "RSI LA 1 HD (S)"; +channels[517] = "S13.0E-318-1700-14051"; +// SD channels[517] = "S13.0E-318-1700-14003"; +channelsnames[518] = "RSI LA 2 HD (S)"; +channels[518] = "S13.0E-318-8500-951"; +// SD channels[518] = "S13.0E-318-1700-14009"; channelsnames[519] = "RTS Un (S)"; channels[519] = "S13.0E-318-1700-14002"; channelsnames[520] = "RTS Deux (S)"; @@ -1194,11 +1195,23 @@ channelsnames[954] = "Discovery Travel (S)"; channels[954] = "S13.0E-64511-800-1465"; channelsnames[955] = "RTG TV (S)"; channels[955] = "S13.0E-318-15600-10735"; - -channelsnames[961] = "NED1 HD (S)" -channels[961] = "S23.5E-3-3208-7035" -channelsnames[962] = "NED2 HD (S)" -channels[962] = "S23.5E-3-3202-6080" -channelsnames[963] = "NED3 HD (S)" -channels[963] = "S23.5E-3-3225-21040" +// HD in DVB-S +channelsnames[960] = "Nickelodeon HD (S)"; +channels[960] = "S13.0E-318-1400-31"; +channelsnames[961] = "MTV Live HD S13"; +channels[961] = "S13.0E-318-12800-1"; +channelsnames[962] = "MTV Live HD S19"; +channels[962] = "S19.2E-1-1068-28600"; +channelsnames[963] = "NHK World HD (S)"; +channels[963] = "S28.2E-2-2312-53147"; +channelsnames[964] = "Einsfestival HD (S)"; +channels[964] = "S19.2E-1-1201-28396"; +channelsnames[965] = "RSI LA 1 HD (S)"; +channels[965] = "S13.0E-318-1700-14051"; +channelsnames[966] = "RSI LA 2 HD (S)"; +channels[966] = "S13.0E-318-8500-951"; +channelsnames[968] = "ITV1 London HD (S)"; +channels[968] = "S28.2E-2-2049-10000"; +channelsnames[969] = "Channel 4 HD (S)"; +channels[969] = "S28.2E-2-2068-21200"; @@ -26,10 +26,12 @@ // change IP server // -var Version = "0.04 2012/12/xx" +var Version = "0.04 2012/12/20" var nrChannels = channels.length; var nrMedia = recording.length - 1; +for (var i = 1; i < nrChannels; 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] = ""; } + window.onkeydown = onKeyDown; function onLoad() { @@ -84,12 +86,19 @@ function createPlayer() { function play(uri) { try { + if (initialDelayID != -1) { + clearTimeout(initialDelayID); + initialDelayID = -1; + } if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) { mediaPlayer.close(); } uri = ServerAdres + uri; mediaPlayer.open(uri); - mediaPlayer.play(1000); + mediaPlayer.play(mediaPlayer.PACE_PLAY); + if(TimeShift){ + initialDelayID = setTimeout("startTimeshiftBuffering();", 5000); + } if(isFullscreen) { showOSD(); } @@ -97,6 +106,8 @@ function play(uri) { GetEPG(currChan); } catch (e) { alert("Failed opening stream: " + e); + alert("error: " + mediaPlayer.getTimeshiftError().source); + alert("error: " + mediaPlayer.getTimeshiftError().details); return; } } @@ -112,6 +123,17 @@ function preview(urip) { } +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%"; @@ -268,18 +290,15 @@ function onKeyDown(event) { if(isFullscreen) { if(!epgactive) { if(!isSchedule) { - schedule.style.zIndex = 505; schedule.style.opacity = 1; schedule.style.height = "75%"; GetSchedule(currChan,15); isSchedule = 1; } else { isSchedule = 0; - schedule.style.zIndex = 450; schedule.style.opacity = 0; schedule.style.height = "45%"; } -// setTimeout("schedule.style.opacity = 0;schedule.style.height = '45%';schedule.style.zIndex = 450;", 3000); } } else { GetSchedule(currChan,10); @@ -309,9 +328,16 @@ function onKeyDown(event) { } Change = 0; } else { + if(isSchedule) { + isSchedule = 0; + schedule.style.opacity = 0; + schedule.style.height = "45%"; + epgactive = 1; // else we get EPGinfo on the screen, bit nasty but works + } + if(isFullscreen) { //SHOW epg info - if(!epgactive){ + if(!epgactive) { SetOsdInfo(); osdepginfo.style.opacity = 1; osdepginfonext.style.opacity = 0; @@ -465,17 +491,29 @@ function onKeyDown(event) { break; case "MediaRewind": + mediaPlayer.play(mediaPlayer.PACE_REWIND); break; case "MediaForward": + mediaPlayer.play(mediaPlayer.PACE_FASTFORWARD); break; case "MediaPlayPause": + if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED) { + SetLed(1,1,0); + mediaPlayer.play(1000); + break; + } + if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) { + SetLed(1,1,10); + mediaPlayer.play(0); + break; + } break; case "MediaStop": - mediaList.style.opacity = 0.8; - isMediaMenu = 1; - showDisplay("STOP", false, 100, 0 ); - currMed = 0; - showMediaList(); + mediaList.style.opacity = 0.8; + isMediaMenu = 1; + showDisplay("STOP", false, 100, 0 ); + currMed = 0; + showMediaList(); break; case "MediaRecord": break; @@ -592,7 +630,11 @@ function onCacheUpdated() { // showChannelList(); // } if (isSchedule) { - GetSchedule(currChan,10); + if (!isFullscreen) { + GetSchedule(currChan,10); + } else { + GetSchedule(currChan,15); + } } } @@ -605,8 +647,8 @@ function OSDhtml(){ osdtime.innerHTML = "<font color=white size=2>" + result +"</font>"; osdname.innerHTML = "<font color=black size=5>" + Left(channelsnames[currChan],30) + "</font>"; osdepg.innerHTML = "<font color=white size=4><p>" + EPG[0][7][currChan] + "</p>\n<p>" + EPG[1][7][currChan] + "</p></font>"; - osdepginfo.innerHTML = "<center><font color=white size=4><p>" + EPG[0][7][currChan] + "</p>\n<p>" + EPG[0][4][currChan] + "</p>\n<p>" + Left(EPG[0][5][currChan],750) + "</p></font></center>"; - osdepginfonext.innerHTML = "<center><font color=white size=4><p>" + EPG[1][7][currChan] + "</p>\n<p>" + EPG[1][4][currChan] + "</p>\n<p>" + Left(EPG[1][5][currChan],750) + "</p></font></center>"; + osdepginfo.innerHTML = "<center><font color=white size=5><p>" + currChan + "\uE003" + channelsnames[currChan] + "</p></font><font color=white size=4><p>" + EPG[0][7][currChan] + "</p>\n<p><font color=yellow>" + EPG[0][4][currChan] + "</font></p>\n<p>" + Left(EPG[0][5][currChan],750) + "</p></font></center>"; + osdepginfonext.innerHTML = "<center><font color=white size=5><p>" + currChan + "\uE003" + channelsnames[currChan] + "</p></font><font color=white size=4><p>" + EPG[1][7][currChan] + "</p>\n<p><font color=yellow>" + EPG[1][4][currChan] + "</font></p>\n<p>" + Left(EPG[1][5][currChan],750) + "</p></font></center>"; } @@ -751,6 +793,28 @@ function GetEPG(epgchan) cds = 1; } + 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")) { + is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); + cds = 1; + } + + 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") ) { + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + cds = 1; + } + + if((SI[0]=="S13.0E" && SI[2]=="1400") ) { + is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); + cds = 1; + } + + + eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); eitCache.addService(eitService); event = eitCache.getPresentEvent(eitService); @@ -877,17 +941,41 @@ function GetEPG(epgchan) function GetSchedule(schchan,tablelength){ try { + // streaminfo + // SI[x] 0-sat,1-NID,2-TID,3-SID SI=channels[schchan].split("-"); is = toi.informationService; is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE); if(SI[0]=="S28.2E") { is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE); } + if((SI[0]=="S23.5E" && SI[1]=="3") || SI[2]=="1026" || SI[2]=="1097" || SI[2]=="1105" || SI[2]=="1119") { is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE); cds = 1; } + 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")) { + is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE); + cds = 1; + } + + 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") ) { + is.setObject("cfg.locale.ui","fra",is.STORAGE_VOLATILE); + cds = 1; + } + + if((SI[0]=="S13.0E" && SI[2]=="1400") ) { + is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE); + cds = 1; + } + + eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]); eitCache.addService(eitService); event = eitCache.getPresentEvent(eitService); @@ -905,7 +993,7 @@ function GetSchedule(schchan,tablelength){ 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; + i = i + 1; } tijd = events.infoSequence[i].time; @@ -923,12 +1011,12 @@ function GetSchedule(schchan,tablelength){ tm = "0"+tm; } - txt = txt + "<td>" + th + ":" + tm + " (" + events.infoSequence[i].duration/60 + ") " + events.infoSequence[i].name + "</td></tr>"; + txt = txt + "<td>" + "\uE003\uE003\uE003\uE003\uE003" + th + ":" + tm + " (" + events.infoSequence[i].duration/60 + ") " + events.infoSequence[i].name + "</td></tr>"; } txt = txt + "</table>"; - schedule.innerHTML = "<font size=+3>" + schchan + "\uE003" + channelsnames[schchan] + "</font>" + txt; + schedule.innerHTML = "<font size=+3>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + "</font>" + txt; } else { - schedule.innerHTML = "<p>" + channelsnames[schchan] + "</p> "; + schedule.innerHTML = "<font size=+3>" + "\uE003" + schchan + "\uE003" + channelsnames[schchan] + "</font>"; } } catch(e) { @@ -1397,7 +1485,7 @@ function ShowMediaOSD() { <embed type="application/x-motorola-toi" hidden="true"> <div id="channelList" style="background:#bbb; width:100%; height:45%; position:absolute; left:50px; top:25px;"></div> - <div id="schedule" style="background:#bbb; width:100%; height:45%; position:absolute; left:50px; top:25px;opacity:0;z-index:450;"></div> + <div id="colorkeys" style="width:100%; position:absolute; left:75px; top:485px;"><font color=red size=3> ----- </font><font color=green size=3> Next </font><font color=yellow size=3> Schedule </font><font color=blue size=3> INFO </font></div> @@ -1424,9 +1512,11 @@ function ShowMediaOSD() { <div id="osdepginfo" style="background:#3366ff;width:550px; position:absolute; left:100px; top:100px;z-index:510;opacity:0;"></div> <div id="osdepginfonext" style="background:#3366ff;width:550px; position:absolute; left:100px; top:100px;z-index:510;opacity:0;"></div> + <div id="schedule" style="background:#bbb; width:100%; height:45%; position:absolute; left:50px; top:25px;opacity:0;z-index:510;"></div> <div id="osdmute" style="width:50px; position:absolute; left:550px; top:50px;z-index:515;opacity:0;"><img src="mute.png"></div> <div id="osdlang" style="width:50px; position:absolute; left:550px; top:50px;z-index:515;opacity:0;"></div> + <div id="mainmenu" style="background:#3366ff;width:550px; position:absolute; left:75px; top:50px; bottom:50px;z-index:520;opacity:0;"></div> <div id="mediaList" style="background:#bbb; width:80%; height:75%; position:absolute; left:10%; top:10%;z-index:520;opacity:0;"></div> diff --git a/settings.js b/settings.js index 415b237..0361126 100644 --- a/settings.js +++ b/settings.js @@ -118,4 +118,5 @@ var timerChan = 10; var TimerActions = ""; var switchtimerID = 0; var SwitchTimer = 1; // No other options yet +var initialDelayID = 0; diff --git a/settings2.js b/settings2.js index 6f5b7a6..426185a 100644 --- a/settings2.js +++ b/settings2.js @@ -4,6 +4,7 @@ var showClock = 0; var SwitchGuide = 0; var VideoHDMIOut = HDMI[4]; var VideoScartOut = Scart[1]; +var TimeShift = 0; // 0 = no, 1 = yes timeshift months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'Jully', 'August', 'September', 'October', 'November', 'December'); |