diff options
-rw-r--r-- | index.html | 211 | ||||
-rw-r--r-- | settings.js | 7 |
2 files changed, 159 insertions, 59 deletions
@@ -1,4 +1,4 @@ -<html> +> <head> <script type="text/javascript" src="settings.js" /> <script type="text/javascript" src="lang_eng.js" /> @@ -252,15 +252,29 @@ function GetSettings() { 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 VDR server plugin - getVDRstatus(1); - if (smartTVplugin == 0 && Restfulapiplugin) { + //Check if there is a SmartTV or Restfulapi VDR server plugin + 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; - get_recordings = 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){ @@ -289,7 +303,12 @@ var numObjs = event.objectNames.length; play(channels[currChan]); if(isMediaMenu) { if (mediaList.style.opacity == 0) { - setTimeout("GetMarks(); getResume(); playRec(recLink[currMed]+ '?mode=streamtoend&time=' + position);",100); + 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(); @@ -2521,7 +2540,7 @@ function onKeyMenu(keyCode) { break; case KEY_4: - if (menu == 0 && smartTVplugin) { + if (menu == 0) { isSetupMenu = 0; mediaList.style.opacity = 0.9; mainmenu.style.opacity = 0; @@ -2713,15 +2732,11 @@ osdepginfo.style.opacity = 0; if(menu == 0) { // Main Menu MainMenu = 0; var htmltext = "<h1><center style='font-size:" + fsMenuMain + ";" + color_main_head + ";'>" + Lang[9] + "\n ( " + Version + " )</center></h1><pre style='" + color_main_font + ";font-size:" + fsMenu + ";'> 1 -" + Lang[10] + "\n 2 -" + Lang[7] + "\n 3 -" + Lang[11]; - if (smartTVplugin) { - htmltext += "\n 4 -" + Lang[12]; - } else { - htmltext += "<font style='" + color_notset +";'>" + "\n 4 -" + Lang[12] + "<font style='" + color_main_font +";'>" ; - } - if (smartTVplugin || Restfulapiplugin) { + htmltext += "\n 4 -" + Lang[12]; + if (Restfulapiplugin) { htmltext += "\n 5 -" + Lang[13]; - } else { - htmltext += "<font style='" + color_notset +";'>" + "\n 5 -" + Lang[13] + "<font style='" + color_main_font +";'>" ; + } else { + htmltext += "<font style='" + color_notset +";'>" + "\n 5 -" + Lang[13] + "<font style='" + color_main_font +";'>" ; } if (Restfulapiplugin) { htmltext += "\n 6 -" + Lang[14]; @@ -3468,7 +3483,13 @@ if (DelisOK) { } 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');",100) + position = 0; + setTimeout("playRec(recLink[currMed]);",100) + } } } break; @@ -3604,7 +3625,11 @@ if (DelisOK) { mediaPlayer.play(1000); } else { position += (mediaPlayer.getPosition()/1000); - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } } } break; @@ -3703,41 +3728,57 @@ if (DelisOK) { mediaPlayer.play(1000); } else { position += (mediaPlayer.getPosition()/1000); - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + 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: position += (mediaPlayer.getPosition()/1000) - 30; if (position <= 0) { position = 0;} - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + 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_4: position += (mediaPlayer.getPosition()/1000) - 60; if (position <= 0) { position = 0;} - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + 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_7: position += (mediaPlayer.getPosition()/1000) - 240; if (position <= 0) { position = 0;} - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + 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_5: - if (recMark.length>posMark) { + if (recMark.length>posMark && get_recordings == 1) { position = recMark[posMark]; playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); } break; case KEY_2: - if (posMark>0) { + if (posMark>0 && get_recordings == 1) { posMark -= 1; position = recMark[posMark]; playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); } break; case KEY_8: - if (recMark[posMark+1]) { + if (recMark[posMark+1] && get_recordings == 1) { posMark += 1; position = recMark[posMark]; playRec(recLink[currMed] + "?mode=streamtoend&time=" + position); @@ -3748,31 +3789,47 @@ if (DelisOK) { case KEY_3: position += (mediaPlayer.getPosition()/1000) + 30; - if (position >= recDura[currMed]) { - BackToTV(); - } else { + 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)); } break; case KEY_6: position += (mediaPlayer.getPosition()/1000) + 60; - if (position >= recDura[currMed]) { - BackToTV(); - } else { + 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)); } break; case KEY_9: position += (mediaPlayer.getPosition()/1000) + 240; - if (position >= recDura[currMed]) { - BackToTV(); - } else { + 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)); } break; case KEY_0: position = 0; posMark = 0; - playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + if (get_recordings == 1) { + playRec((recLink[currMed] + "?mode=streamtoend&time=" + position)); + } else if (get_recordings == 2) { + playRec((recLink[currMed] + "?pos=time." + position)); + } break; default: @@ -3862,7 +3919,7 @@ try { // 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) { +} else if (get_recordings == 2) { //get recordings from streamdev //no media directory or delete support xmlhttp=new XMLHttpRequest(); @@ -3877,7 +3934,7 @@ try { { 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] = x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue; rec_lst[i][0] = rec_lst[i][0].split("~"); rec_lst[i][0][0] = Right(rec_lst[i][0][0], (rec_lst[i][0][0].length - 18)); if (Left(rec_lst[i][0][0],1) == " ") { @@ -3887,12 +3944,14 @@ try { rec_lst[i][0][0] = Right(rec_lst[i][0][0], (rec_lst[i][0][0].length - 1)); } - rec_lst[i][1] = (x[i].getElementsByTagName("enclosure")[0].getAttribute('url')); + rec_lst[i][1] = x[i].getElementsByTagName("enclosure")[0].getAttribute('url'); rec_lst[i][2] = ""; rec_lst[i][3] = ""; - rec_lst[i][4] = ""; + 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] = ""; - rec_lst[i][6] = (x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue); + rec_lst[i][6] = x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue; rec_lst[i][7] = 0; rec_lst[i][8] = 0; } @@ -4105,30 +4164,20 @@ try { -function getVDRstatus(CheckStatus) { +function CheckPlugins() { 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; - used_space = x[0].getElementsByTagName("used")[0].childNodes[0].nodeValue; - perc_space = x[0].getElementsByTagName("percent")[0].childNodes[0].nodeValue; - if (CheckStatus) { smartTVplugin = 1; - } } catch(e) { - alert("Get VDR Status problem: " + e); - if (CheckStatus) { + alert("NO smartTVplugin: " + e); smartTVplugin = 0; - } } //Check for Restfulapi -if (CheckStatus) { try { xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET",(server_ip + RestFulAPI + "/info.xml?" + new Date().getTime()),false); @@ -4136,12 +4185,42 @@ try { xmlDoc=xmlhttp.responseXML; Restfulapiplugin = 1; } catch(e) { - alert("Get VDR Status problem: " + 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 (get_recordings == 1) { if (osdepginfo.style.opacity == 1) {osdepginfo.style.opacity = 0;} @@ -4200,7 +4279,12 @@ function MakeRecList() { } else { recList[i] = "\uE003" + recTitl[i]; } - AddInfo(i); + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + } + if (rec_New[i] == "true" ) { recList[i] = "\uE010" + result + "\uE003" + recList[i]; @@ -4230,7 +4314,12 @@ function MakeRecList2() { recGroup[i] = xx; } else { recGroup[i] = 0; - AddInfo(i); + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + result += "\uE003" + (recDura[i]/60).toFixed(0); + } if (rec_New[i] == "true" ) { recList[i] = "\uE010" + result + "\uE003" + recTitl[i]; } else { @@ -4254,7 +4343,12 @@ function MakeRecList3(GroupID) { { tmp += "\uE003" + recTitl[i][ii]; } - AddInfo(i); + if (get_recordings == 2 ) { + result = recStrt[i]; + } else{ + AddInfo(i); + result += "\uE003" + (recDura[i]/60).toFixed(0); + } if (rec_New[i] == "true" ) { recList[i] = "\uE010" + result + tmp; // recTitl[i]; } else { @@ -4722,7 +4816,8 @@ function onRecorderStateChanged(event) { } function ShowMediaOSD() { -// Display Name/ length +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;} @@ -4749,6 +4844,12 @@ function ShowMediaOSD() { osdtime.innerHTML = result; date_time_rec(); osdmedia.innerHTML = "<pre style='" + color_media_osd + ";font-size:" + fsMedia +";'> \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(); + osdtime.innerHTML = result; + osdmedia.innerHTML = "<pre style='" + color_media_osd + ";font-size:" + fsMedia +";'> \n " + (pos/60).toFixed(0) + " \n " + Left(recTitl[currMed],40) + "\n \n " + recStrt[currMed] + " </pre>"; +} } function ShowInfo() { diff --git a/settings.js b/settings.js index 22f2a40..9e7516b 100644 --- a/settings.js +++ b/settings.js @@ -2,7 +2,7 @@ // Default settings // -var Version = "0.25.6"; +var Version = "0.25.7"; server_ip_array = new Array("http://192.168.1.15","http://192.168.3.15","http://easyvdr","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"); @@ -17,7 +17,7 @@ lang_prio = new Array("dut,eng,und","ger,deu,eng","eng,und","fre,fra,eng"); 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 (not working yet) +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 UseNewReclist = 1 ; //use new recordingslist function @@ -331,9 +331,8 @@ var timerID = 0; var nrMedia = 0; var MPDListener = 0; -//vdr status from VDR on SmartTV +//vdr status var free_space = 0; -var used_space = 0; var perc_space = 0; var isPause = 0; //used by pause routine. |