summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--History2
-rw-r--r--index.html136
-rw-r--r--settings.js2
3 files changed, 76 insertions, 64 deletions
diff --git a/History b/History
index 2a8cbbf..49841f2 100644
--- a/History
+++ b/History
@@ -3,6 +3,8 @@
Updated EPG-Schedule view, for every item a switch timer can be set. With up/down scrolling through Schedule is possible
Guide view still uses the old Schedule View.
View Timer menu now also shows day & date.
+ Set timer for local recording.
+ Fixed crash when no EPG and users presses up/down
0.16 EPG/schedule info remove on channel switch
diff --git a/index.html b/index.html
index 70ba5f1..47e1912 100644
--- a/index.html
+++ b/index.html
@@ -37,6 +37,20 @@ for (var x = 0; x < 10; x++) {
window.onkeydown = onKeyDown;
function onLoad() {
+/*
+ //Searching for a way to get recordings ID.
+ var x = toi.assetManagerService.getDefinedProperties();
+ alert(x.length);
+ for (var i=0; i<x.length; i++) {
+ alert(x[i]);
+ }
+ alert(toi.assetManagerService.getDirectories(-1));
+ var x = toi.assetManagerService.getDirectories(-1);
+ alert(x.length);
+ for (var i=0; i<x.length; i++) {
+ alert(x[i]);
+ }
+*/
createPlayer();
createRecorder();
@@ -434,13 +448,9 @@ function onKeyDown(event) {
}
} else if(isSchedule == 0){
if(NowNext) {
- settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan]);
+ settimer(EPG[NowNext][2][currChan],EPG[NowNext][1][currChan],0);
switchtimer.style.opacity = 1;
setTimeout("switchtimer.style.opacity = 0; ", 2000);
-// } else {
-// switchtimer.innerHTML = "<font color=black size=4><center> Program is running use OK to switch </center></font>";
-// switchtimer.style.opacity = 1;
-// setTimeout("switchtimer.style.opacity = 0; ", 2000);
}
}
break;
@@ -893,7 +903,6 @@ function SetOsdInfo() {
function onCacheUpdated() {
GetEPG(currChan);
if (osdtimeout) { SetOsdInfo(); }
- if (isSchedule) { GetSchedule(currChan,15); }
}
function OSDchannr(channr) {
@@ -932,8 +941,8 @@ function updateOSDtime(timchan) {
}
-function settimer(ProgTime,ProgName) {
- if(SwitchTimer) {
+function settimer(ProgTime,ProgName,ProgDura) {
+ if(SwitchTimer == 1) {
try {
switchtimerID = toi.schedulerService.schedule("SwitchOnly","notification", ProgTime , 0);
toi.schedulerService.setParameter(switchtimerID, "Channel", currChan.toString() );
@@ -941,22 +950,25 @@ function settimer(ProgTime,ProgName) {
catch (e) {
alert(e);
}
- 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);
-
- switchtimer.innerHTML = "<pre> Name : " + Left(ProgName,30) + "\n channel : " + channelsnames[currChan] + "\n Starttime : " + th + ":" + tm + "</pre>";
- setOSDtimer();
- } else {
- //
- // No Switch timer so send timer info to Server
- //
+ } else if(SwitchTimer == 2) {
+ try {
+ toi.schedulerService.setParameter(toi.schedulerService.schedule("RecLocal","record_hd_from_ip", ProgTime , ProgDura), "Channel", currChan.toString() );
+ }
+ catch (e) {
+ alert(e);
+ }
}
+ 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);
+ switchtimer.innerHTML = "<pre> Name : " + Left(ProgName,30) + "\n channel : " + channelsnames[currChan] + "\n Starttime : " + th + ":" + tm + "</pre>";
+ setOSDtimer();
+
}
@@ -1496,6 +1508,7 @@ function onKeyMenu(keyCode) {
var x = toi.schedulerService.getBookingIds("*", 0, 0);
if (x.length > 0) {
toi.schedulerService.remove(timerID);
+ timer[timerID] = "";
LoadTimers();
if (timer.length !== 0) { do { timerID = timerID + 1; } while (!timer[timerID] && (timerID < timer.length)) }
setOSDtimer();
@@ -1805,6 +1818,7 @@ if(menu == 5) { // Timers from Server
} // end of initmenu
function LoadTimers() {
+ timer.length = 0;
var booking = "";
var x = toi.schedulerService.getBookingIds("*", 0, 0);
for (var i=0;i<x.length;i++) {
@@ -1827,7 +1841,7 @@ function LoadTimers() {
booking = booking + " Start " + Left(days[day],3) + " " + d + " " + Left(months[month],3) + " " + th + ":" + tm + " ";
if (y.category !== "SwitchOnly") {
- booking = booking + " Duration " + y.duration;
+ booking = booking + " " + (y.duration/60).toFixed(0) + " min";
}
timer[(x[i])] = booking + "\n" ;
@@ -1989,6 +2003,7 @@ if (DelisOK) {
break;
break;
case "Right":
+ if (getRecOK !== 0) {
for (var i=0;i<10;i++) {
do
{
@@ -1997,8 +2012,10 @@ if (DelisOK) {
while (!recTitl[currMed]);
}
showMediaList();
+ }
break;
case "Left":
+ if (getRecOK !== 0) {
for (var i=0;i<10;i++) {
do
{
@@ -2007,22 +2024,27 @@ if (DelisOK) {
while (!recTitl[currMed]);
}
showMediaList();
+ }
break;
case "Down":
+ if (getRecOK !== 0) {
do
{
incMed(1);
}
while (!recTitl[currMed]);
showMediaList();
+ }
break;
case "Up":
+ if (getRecOK !== 0) {
do
{
decMed(1);
}
while (!recTitl[currMed]);
showMediaList();
+ }
break;
case "Accept":
case "MediaPlayPause":
@@ -2030,51 +2052,24 @@ if (DelisOK) {
ShowInfo();
osdepginfo.style.opacity = 1 - osdepginfo.style.opacity;
}
- if (getRecOK !== 2) {
+ if (getRecOK == 1) {
mediaList.style.opacity = 0;
setTimeout("GetMarks(); getResume(); playRec(recLink[currMed]+ '?time=' + position);",100);
}
break;
case "Red":
- if (getRecOK !== 2) { DelRec(); }
+ if (getRecOK == 1) { DelRec(); }
if (getRecOK == 2) { //set timer
- settimer(recStrt[currMed],recTitl[currMed]);
+ settimer(recStrt[currMed],recTitl[currMed],recDura[currMed]);
switchtimer.style.opacity = 1;
setTimeout("switchtimer.style.opacity = 0; ", 2000);
}
break;
- case "Green":
- if (getRecOK !== 2) {
- audio = audio + 1;
- is = toi.informationService;
- if(audio == 1) {
- is.setObject("cfg.media.audio.languagepriority","dut,eng",is.STORAGE_VOLATILE);
- osdlang.style.opacity = 1;
- osdlang.style.fontSize = fsAudio;
- osdlang.style.color = "white";
- osdlang.innerHTML = "<img src='unmute.png'> Nederlands ";
- setTimeout("osdlang.style.opacity = 0; ", 3000);
- } else if(audio == 2) {
- is.setObject("cfg.media.audio.languagepriority","ger,deu,eng",is.STORAGE_VOLATILE);
- osdlang.style.opacity = 1;
- osdlang.style.fontSize = fsAudio;
- osdlang.style.color = "red";
- osdlang.innerHTML = "<img src='unmute.png'> Deutsch ";
- setTimeout("osdlang.style.opacity = 0; ", 3000);
- } else if(audio == 3) {
- is.setObject("cfg.media.audio.languagepriority","eng",is.STORAGE_VOLATILE);
- osdlang.style.opacity = 1;
- osdlang.style.fontSize = fsAudio;
- osdlang.style.color = "black";
- osdlang.innerHTML = "<img src='unmute.png'> English ";
- setTimeout("osdlang.style.opacity = 0; ", 3000);
- audio = 0;
- }
- }
- break;
case "Blue":
+ if (getRecOK !== 0) {
ShowInfo();
osdepginfo.style.opacity = 1 - osdepginfo.style.opacity;
+ }
break;
case "VolumeMute":
@@ -2100,6 +2095,17 @@ if (DelisOK) {
showVolume();
break;
+ case KEY_REC:
+ case "MediaRecord":
+ if (getRecOK == 2) { //set timer
+ SwitchTimer = 2;
+ settimer(recStrt[currMed],recTitl[currMed],recDura[currMed]);
+ SwitchTimer = 1;
+ switchtimer.style.opacity = 1;
+ setTimeout("switchtimer.style.opacity = 0; ", 2000);
+ }
+ break;
+
default:
break;
} // end of switch
@@ -2535,6 +2541,7 @@ try {
function getSchedule(schchan){
SI = "";
recTitl.length = 0;
+ nrMedia = 0;
try {
StreamInfo(schchan);
@@ -2572,8 +2579,11 @@ function getSchedule(schchan){
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><center style='font-size:" + fsRec + ";color:white;'> EPG </center><pre>\n\n\nNO EPG on this channel!!!</pre></h1>";
+ }
} catch(e) {
getRecOK = 0;
mediaList.innerHTML = "<h1><center style='font-size:" + fsRec + ";color:white;'> EPG </center><pre>\n\n\nERROR getting EPG !!!</pre></h1>";
@@ -2752,20 +2762,20 @@ function onScheduledStart(event) {
currChan = Number(toi.schedulerService.getParameter(event.booking.id, "Channel"));
ChanGroup = Number(Left((currChan / 1000),1));
play(channels[currChan]);
- alert (ChanGroup);
}
} else {
try {
createNewAsset()
- var recChannr = channels[toi.schedulerService.getParameter(event.booking.id, "Channel")];
+ var recChannr = Number(toi.schedulerService.getParameter(event.booking.id, "Channel"));
+ var recGroup = Number(Left((recChannr / 1000),1));
var recChan = 0;
- if (ServerAdres[Left(recChannr,1)] == "MultiCast" ) {
+ if (ServerAdres[recGroup] == "MultiCast" ) {
SI=channels[recChannr].split("-");
recChan = SI[4];
- } else {
- recChan = ServerAdres[Left(recChannr,1)] + channels[recChannr];
- }
+ } else {
+ recChan = ServerAdres[recGroup] + channels[recChannr];
+ }
mediaRecorder.open(recChan, assetId);
diff --git a/settings.js b/settings.js
index 8986b78..f2444f7 100644
--- a/settings.js
+++ b/settings.js
@@ -146,7 +146,7 @@ var preChan = 0;
var timerChan = 10;
var TimerActions = "";
var switchtimerID = 0;
-var SwitchTimer = 1; // No other options yet
+var SwitchTimer = 1; // 1 - switchonly, 2 - record local, 3 - record on server (only 1 & 2 are working)
var initialDelayID = 0;
var switchicon = "\uE003";