summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorM. Voerman <rekordc@gmail.com>2012-12-20 00:25:56 +0100
committerM. Voerman <rekordc@gmail.com>2012-12-20 00:25:56 +0100
commitfd58ae6ec5e640b040b1c9907174c74c2bd29341 (patch)
tree1f599c07d46f1d4542939c1d795821db0a3ea19f
parentbbdb260084ac88f3e944671249ab528fd2e252c4 (diff)
downloadvdr-vipclient-fd58ae6ec5e640b040b1c9907174c74c2bd29341.tar.gz
vdr-vipclient-fd58ae6ec5e640b040b1c9907174c74c2bd29341.tar.bz2
Release 0.04
-rw-r--r--History1
-rw-r--r--channels.js55
-rw-r--r--index.html128
-rw-r--r--settings.js1
-rw-r--r--settings2.js1
5 files changed, 146 insertions, 40 deletions
diff --git a/History b/History
index 152fd89..a760ae6 100644
--- a/History
+++ b/History
@@ -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";
diff --git a/index.html b/index.html
index 055c9f2..061f3f5 100644
--- a/index.html
+++ b/index.html
@@ -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');