summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorM. Voerman <rekordc@gmail.com>2012-12-24 18:45:10 +0100
committerM. Voerman <rekordc@gmail.com>2012-12-24 18:45:10 +0100
commit397ab21f922aa0e9c8b4ad766c56676c15582e5e (patch)
tree3127f50362bfe74bb9a60b8c5bdd8050411b6257
parentbcb9210134a1e80deb723e14377bdf53e3df9cbc (diff)
downloadvdr-vipclient-397ab21f922aa0e9c8b4ad766c56676c15582e5e.tar.gz
vdr-vipclient-397ab21f922aa0e9c8b4ad766c56676c15582e5e.tar.bz2
Release 0.05
-rw-r--r--History4
-rw-r--r--index.html303
-rw-r--r--recordings.js83
-rw-r--r--settings.js2
-rw-r--r--settings2.js1
5 files changed, 205 insertions, 188 deletions
diff --git a/History b/History
index 5a80d26..99f02df 100644
--- a/History
+++ b/History
@@ -1,9 +1,9 @@
0.05 OSD 1920x1088 (16:9) // OSD 1280x720 (16:9) // OSD 704x576 (16:9) But should work on other size too.
- EPG language routine expanded. Works for (almost) all german channels now.
- Epg on Dvb-t defaults to Dutch.
+ EPG language routine expanded. More NIDs added.
Added toFixed on Schedule page.
Fixed colorkeys in some view.
Subs can be switched off from the menu.
+ More Recording / MediaPlayer testing
0.04 Volume OSD bar
diff --git a/index.html b/index.html
index f3c0701..a4ca4bb 100644
--- a/index.html
+++ b/index.html
@@ -28,7 +28,7 @@
//
//
-var Version = "0.05 2012/12/xx"
+var Version = "0.05 2012/12/24"
var nrChannels = channels.length;
var nrMedia = recording.length - 1;
@@ -38,6 +38,7 @@ window.onkeydown = onKeyDown;
function onLoad() {
createPlayer();
+ createRecorder();
embedTeletextPlugin();
toi.audioOutputService.setVolume(AudioOut, StartVolume);
toi.audioOutputService.setMuteState(AudioOut, false);
@@ -103,6 +104,15 @@ function createPlayer() {
}
}
+function createRecorder() {
+ alert("createRecorder()");
+ try {
+ mediaRecorder = toi.mediaService.createRecorderInstance();
+ } catch(e) {
+ alert("Cannot create media recorder: " + e);
+ }
+}
+
function play(uri) {
try {
if (initialDelayID != -1) {
@@ -113,8 +123,39 @@ function play(uri) {
mediaPlayer.close();
}
uri = ServerAdres + uri;
- mediaPlayer.open(uri);
- mediaPlayer.play(mediaPlayer.PACE_PLAY);
+ if(Experimental){
+ createNewAsset();
+
+ alert("opening mediaRecorder...");
+ try {
+ mediaRecorder.open(uri, assetId);
+ } catch(e) {
+ alert("Cannot open mediaRecorder. " + e);
+ }
+
+ try {
+ mediaRecorder.record();
+ isRecording = 1;
+ } catch(e) {
+ alert("Cannot record! " + e);
+ }
+
+ var assetURI = "dvr:///pvr/storage/" + assetId;
+
+ try {
+ alert("Opening asset " + assetURI);
+ mediaPlayer.open(assetURI);
+ mediaPlayer.play(1000);
+
+ isPlaying = 1;
+ } catch(e) {
+ alert("Cannot play asset " + assetURI + ". " + e);
+ }
+ } else {
+ mediaPlayer.open(uri);
+ mediaPlayer.play(1000);
+ }
+
if(TimeShift){
initialDelayID = setTimeout("startTimeshiftBuffering();", 5000);
}
@@ -535,7 +576,7 @@ function onKeyDown(event) {
case "MediaPlayPause":
if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED) {
SetLed(1,1,0);
- mediaPlayer.play(1000);
+ mediaPlayer.play(mediaPlayer.PACE_PLAY);
break;
}
if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) {
@@ -570,7 +611,7 @@ function Makedigit() {
showDisplay((Change.toString()), false, 100, 0 );
}
- if (count>2) {
+ if (count>channeldigits) {
CheckChannel(Change);
count = 0;
}
@@ -758,7 +799,7 @@ function fadeIn() {
}
function fadeOut() {
- opacity -= 0.2;
+ opacity -= 0.5;
OSD(opacity);
if (opacity <= 0) {
return;
@@ -818,52 +859,10 @@ function GetEPG(epgchan)
EPGShortnext = "";
EPGExtnext = "";
cds = 0;
+ SI="";
try {
- // streaminfo
- // SI[x] 0-sat,1-NID,2-TID,3-SID
- SI=channels[epgchan].split("-");
- is = toi.informationService;
- is.setObject("cfg.locale.ui","ger",is.STORAGE_VOLATILE);
-
- if(SI[1]=="133") {
- //sky deutchland
- is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE);
- }
-
- if(SI[0]=="S28.2E") {
- is.setObject("cfg.locale.ui","eng",is.STORAGE_VOLATILE);
- }
- if(SI[1]=="3" || SI[1]=="53") {
- //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);
- 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;
- }
-
- if((SI[0]=="T") ) {
- // I mustly get Dutch channels on DVB-T
- is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE);
- }
+ StreamInfo(epgchan);
eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]);
eitCache.addService(eitService);
@@ -991,41 +990,9 @@ function GetEPG(epgchan)
function GetSchedule(schchan,tablelength){
+ SI = "";
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;
- }
-
+ StreamInfo(schchan);
eitService = toi.statics.ToiDvbEitCacheServiceItem.create(SI[1],SI[2],SI[3]);
eitCache.addService(eitService);
@@ -1077,6 +1044,73 @@ function GetSchedule(schchan,tablelength){
}
+
+function StreamInfo(si) {
+
+ // streaminfo
+ // SI[x] 0-sat,1-NID,2-TID,3-SID
+ SI=channels[si].split("-");
+ is = toi.informationService;
+
+ 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[1]=="8720") {
+ // KPN DVB-T
+ is.setObject("cfg.locale.ui","dut",is.STORAGE_VOLATILE);
+ }
+
+ if(SI[1]=="133") {
+ //sky deutchland
+ is.setObject("cfg.locale.ui","DEU",is.STORAGE_VOLATILE);
+ }
+
+ if(SI[1]=="64511") {
+ //sky Italia
+ is.setObject("cfg.locale.ui","ita",is.STORAGE_VOLATILE);
+ }
+
+ if(SI[1]=="3" || SI[1]=="53") {
+ //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);
+ 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")) {
+ //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]=="S13.0E" && SI[2]=="1400") ) {
+ is.setObject("cfg.locale.ui","pol",is.STORAGE_VOLATILE);
+ }
+
+
+}
+
+
// End of EPG section
@@ -1353,7 +1387,6 @@ function onKeyMedia(keyCode) {
while (!recording[currMed]);
showMediaList();
} else {
- speed = 0;
mediaPlayer.play(0);
showDisplay("PAUS", false, 100, 0 );
}
@@ -1367,15 +1400,13 @@ function onKeyMedia(keyCode) {
while (!recording[currMed]);
showMediaList();
} else {
- speed = 1000;
- mediaPlayer.play(1000);
+ mediaPlayer.play(mediaPlayer.PACE_PLAY);
showDisplay("PLAY", false, 100, 0 );
}
break;
case "Accept":
if (mediaList.style.opacity != 0) {
mediaList.style.opacity = 0;
- speed = 1000;
playRec(recording[currMed]);
} else {
osdmedia.style.opacity = 1 - osdmedia.style.opacity;
@@ -1412,29 +1443,24 @@ function onKeyMedia(keyCode) {
break;
case "MediaRewind":
if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) {
- speed = speed - 1000;
- if (speed < -9000) {
- speed = -9000;
- }
- mediaPlayer.play(speed);
- showDisplay("PL" + ((speed/1000).toString()), false, 100, 0 );
+ mediaPlayer.play(-4000);
+ showDisplay("REW", false, 100, 0 );
}
break;
case "MediaForward":
if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) {
- speed = speed + 1000;
- if (speed > 9000) {
- speed = 9000;
- }
- mediaPlayer.play(speed);
- showDisplay("PL" + ((speed/1000).toString()), false, 100, 0 );
+ mediaPlayer.play(4000);
+ showDisplay("FF", false, 100, 0 );
}
break;
case "MediaStop":
if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) {
mediaPlayer.close();
}
- speed = 1000;
+ if (isRecording == 1) {
+ recordStop();
+ isRecording = 0;
+ }
mediaList.style.opacity = 0.8;
showDisplay("STOP", false, 100, 0 );
showMediaList();
@@ -1444,11 +1470,11 @@ function onKeyMedia(keyCode) {
mediaPlayer.play(0);
showDisplay("PAUS", false, 100, 0 );
} else {
- speed = 1000;
mediaPlayer.play(1000);
showDisplay("PLAY", false, 100, 0 );
}
break;
+
case "VolumeMute":
state = toi.audioOutputService.getMuteState(AudioOut);
toi.audioOutputService.setMuteState(AudioOut, !state);
@@ -1523,10 +1549,33 @@ function playRec(uri) {
if (mediaPlayer.getState() != mediaPlayer.STATE_IDLE) {
mediaPlayer.close();
}
- uri = "file://" + uri;
- mediaPlayer.open(uri);
- mediaPlayer.play(1000);
+ uri = "file://" + uri;
+ mediaPlayer.open(uri);
+ mediaPlayer.play(1000);
+
+// createNewAsset();
+
+// alert("opening mediaRecorder...");
+// try {
+// mediaRecorder.open(uri, assetId);
+// } catch(e) {
+// alert("Cannot open mediaRecorder. " + e);
+// }
+
+// try {
+// mediaRecorder.record();
+// isRecording = 1;
+// } catch(e) {
+// alert("Cannot record! " + e);
+// }
+
+// assetId = "asset_RUyeln";
+// mediaPlayer.open("dvr:///pvr/storage/" + assetId);
+// mediaPlayer.play(1000);
+
+// setTimeout(" mediaPlayer.open('dvr:///pvr/storage/' + assetId);mediaPlayer.play(1000);", 3000);
showDisplay("PLAY", false, 100, 0 );
+
} catch (e) {
alert("Failed opening recording: " + e);
return;
@@ -1534,6 +1583,50 @@ function playRec(uri) {
}
+//var propList = new Array(toi.consts.ToiAssetManagerService.PROPERTY_SYSTEM_DURATION);
+//var propList = new Array(toi.consts.ToiAssetManagerService.PROPERTY_SYSTEM_FILESIZE);
+//var propList = new Array(toi.consts.ToiAssetManagerService.PROPERTY_SYSTEM_PLAYBACKURI);
+//var properties = toi.assetManagerService.getProperties(assetId, propList);
+// alert (properties[0].value);
+
+function createNewAsset() {
+ try {
+ assetId = toi.assetManagerService.createAsset(toi.assetManagerService.ASSET_PVR);
+ alert("Created " + assetId);
+ } catch(e) {
+ alert("Couldn't create asset: " + e);
+ }
+}
+
+function recordStart() {
+ createNewAsset();
+
+ alert("opening mediaRecorder...");
+ try {
+ mediaRecorder.open(uri, assetId, 0);
+ } catch(e) {
+ alert("Cannot open mediaRecorder. " + e);
+ }
+
+ try {
+ mediaRecorder.record();
+ isRecording = 1;
+ } catch(e) {
+ alert("Cannot record! " + e);
+ }
+}
+
+
+function recordStop() {
+ try {
+ mediaRecorder.close();
+ isRecording = 0;
+
+ } catch(e) {
+ alert("Cannot stop mediaRecorder! " + e);
+ }
+}
+
function ShowMediaOSD() {
// Display Name/ length
osdmedia.innerHTML = "<p style='font-size:" + fsMedia +";'> Elapsed time : " + mediaPlayer.getPosition() + "</p>";
diff --git a/recordings.js b/recordings.js
index 2449661..2c92ce1 100644
--- a/recordings.js
+++ b/recordings.js
@@ -1,4 +1,4 @@
-recording[0] = "/mnt/000_Mpeg4/CSI:_Crime_Scene_Investigation/2012.11.02-22:15-Fr/2012-11-02.22.05.32-0.rec/00001.ts";
+recording[0] = "/mnt/00_Abony/%Tom_&_Jerry_Tales/2012-02-28.10.00.317-0.rec/00001.ts";
recording[1] = "/mnt/000_Mpeg4/CSI:_Crime_Scene_Investigation/2012.11.09-22:15-Fr/2012-11-09.22.05.32-0.rec/00001.ts";
recording[2] = "/mnt/000_Mpeg4/CSI:_Crime_Scene_Investigation/2012.11.09-23:10-Fr/2012-11-09.23.00.32-0.rec/00001.ts";
recording[3] = "/mnt/000_Mpeg4/CSI:_Crime_Scene_Investigation/2012.11.16-23:45-Fr/2012-11-16.23.35.32-0.rec/00001.ts";
@@ -18,83 +18,4 @@ recording[16] = "/mnt/00_Abony/Daffy_Duck/2012-03-14.15.25.328-0.rec/00001.ts";
recording[17] = "/mnt/00_Abony/Dora/2012.10.25-05:00-Do/2012-10-25.05.00.12-0.rec/00001.ts";
recording[18] = "/mnt/00_Abony/Dora/2012.10.26-05:00-Fr/2012-10-26.05.00.12-0.rec/00001.ts";
recording[19] = "/mnt/00_Abony/Dora_the_Explorer/2012-05-28.13.00.319-0.rec/00001.ts";
-recording[20] = "/mnt/00_Abony/Dora_the_Explorer/2012-05-28.13.30.319-0.rec/00001.ts";
-recording[31] = "/mnt/00_Abony/Dora_the_Explorer/2012-11-24.18.00.320-0.rec/00001.ts";
-recording[32] = "/mnt/00_Abony/Dora_the_Explorer/2012-11-24.18.30.320-0.rec/00001.ts";
-recording[33] = "/mnt/00_Abony/Go_Diego_Go!/2012-08-13.05.20.12-0.rec/00001.ts";
-recording[34] = "/mnt/00_Abony/Go_Diego_Go!/2012-11-25.11.30.320-0.rec/00001.ts";
-recording[35] = "/mnt/00_Abony/Go_Diego_Go!/2012.10.25-05:20-Do/2012-10-25.05.20.12-0.rec/00001.ts";
-recording[36] = "/mnt/00_Abony/Monkey_see_Monkey_do_(3)/2012-11-06.13.15.316-0.rec/00001.ts";
-recording[37] = "/mnt/00_Abony/Sylvester_&_Tweety_Mysteries/2012-02-28.10.30.327-0.rec/00001.ts";
-recording[38] = "/mnt/00_Abony/Tom_&_Jerry/2012-03-14.14.55.328-0.rec/00001.ts";
-recording[39] = "/mnt/00_Gaby/Alice_in_Wonderland/2012-09-22.20.25.6-0.rec/00001.ts";
-recording[40] = "/mnt/00_Gaby/Alice_in_Wonderland/2012-09-22.20.25.6-0.rec/00002.ts";
-recording[41] = "/mnt/00_Gaby/Big_time_rush/2012-09-23.11.26.12-0.rec/00001.ts";
-recording[42] = "/mnt/00_Gaby/Nations_Cup_Series_in_St_Gallen_(Zwitserland)/%2012.06.20-20:45-Mi/2012-06-20.20.40.20-0.rec/00001.ts";
-recording[43] = "/mnt/00_Music/%Strictly_Guns_N'_Roses/2012-11-02.23.55.604-0.rec/00001.ts";
-recording[44] = "/mnt/00_docu/Girls_Gone_Wild/(FRESHMAN_ORIENTATION_VOL._2),_2007/2012-11-02.23.26.6002-0.rec/00001.ts";
-recording[45] = "/mnt/00_docu/Girls_Gone_Wild/(Freshmen_Orientation_vol.1),_2007/2012-11-02.22.53.6002-0.rec/00001.ts";
-recording[46] = "/mnt/00_docu/Girls_Gone_Wild/(Freshmen_Orientation_vol.1),_2007/2012-11-02.22.53.6002-0.rec/00002.ts";
-recording[47] = "/mnt/00_docu/Girls_Gone_Wild/All_New_College_Girls_Exposed_2/2012-11-23.22.25.6002-0.rec/00001.ts";
-recording[48] = "/mnt/00_docu/Girls_Gone_Wild/All_New_College_Girls_Exposed_2/2012-11-23.22.25.6002-0.rec/00002.ts";
-recording[49] = "/mnt/00_docu/Girls_Gone_Wild/Barely_Legal/2012-11-03.00.21.6016-0.rec/00001.ts";
-recording[50] = "/mnt/00_docu/Girls_Gone_Wild/Freshmen_Orientation_2/2012-11-02.22.25.6002-0.rec/00001.ts";
-recording[51] = "/mnt/00_docu/Girls_Gone_Wild/Freshmen_Orientation_2/2012-11-02.22.25.6002-0.rec/00002.ts";
-recording[52] = "/mnt/00_docu/Girls_Gone_Wild/Freshmen_Orientation_3/2012-11-09.23.25.6002-0.rec/00001.ts";
-recording[53] = "/mnt/00_docu/Girls_Gone_Wild/Girl_Power_12/2012-11-21.23.16.6002-0.rec/00001.ts";
-recording[54] = "/mnt/00_docu/Girls_Gone_Wild/Horny_School_Girls_6/2012-11-09.22.25.6002-0.rec/00001.ts";
-recording[55] = "/mnt/00_docu/Girls_Gone_Wild/Horny_School_Girls_6/2012-11-09.22.25.6002-0.rec/00002.ts";
-recording[56] = "/mnt/00_docu/Girls_Gone_Wild/SCT_HQ_(S)/2012-10-11.00.40.6009-0.rec/00001.ts";
-recording[57] = "/mnt/00_docu/Girls_Gone_Wild/Sex_starved_college_girls_5/2012-10-31.23.25.6002-0.rec/00001.ts";
-recording[58] = "/mnt/00_docu/Girls_Gone_Wild/Sex_starved_college_girls_6/2012-10-31.22.25.6002-0.rec/00001.ts";
-recording[59] = "/mnt/00_docu/Girls_Gone_Wild/Sex_starved_college_girls_6/2012-10-31.22.25.6002-0.rec/00002.ts";
-recording[60] = "/mnt/00_docu/Girls_Gone_Wild/Sex_starved_college_girls_6/2012-10-31.22.25.6002-0.rec/00003.ts";
-recording[61] = "/mnt/00_docu/Girls_Gone_Wild/Sorority_Girls_Orgy_4/2012-11-23.23.16.6002-0.rec/00001.ts";
-recording[62] = "/mnt/00_docu/Made_in_NL/2012-10-07.21.55.8016-0.rec/00001.ts";
-recording[63] = "/mnt/00_docu/Made_in_NL/2012-10-15.02.55.8016-0.rec/00001.ts";
-recording[64] = "/mnt/00_docu/Megafactories/2012-10-09.12.55.8016-0.rec/00001.ts";
-recording[65] = "/mnt/00_docu/Megafactories/2012-10-09.19.55.8016-0.rec/00001.ts";
-recording[66] = "/mnt/Bones/2012.12.03-21:25-Mo/2012-12-03.21.20.4-0.rec/00001.ts";
-recording[67] = "/mnt/Bones/2012.12.10-21:25-Mo/2012-12-10.21.20.4-0.rec/00001.ts";
-recording[68] = "/mnt/CSI/Miami/2012-12-06.21.35.5-0.rec/00001.ts";
-recording[69] = "/mnt/CSI/Miami/2012-12-13.21.35.5-0.rec/00001.ts";
-recording[70] = "/mnt/CSI:_Miami/2012.12.13-22:35-Do/2012-12-13.22.25.5-0.rec/00001.ts";
-recording[71] = "/mnt/CSI:_New_York/2012.12.08-22:45-Sa/2012-12-08.22.35.7-0.rec/00001.ts";
-recording[72] = "/mnt/Crime_Scene_Investigation/2012.12.03-20:30-Mo/2012-12-03.20.25.4-0.rec/00001.ts";
-recording[73] = "/mnt/Crime_Scene_Investigation/2012.12.03-22:25-Mo/2012-12-03.22.20.4-0.rec/00001.ts";
-recording[74] = "/mnt/Crime_Scene_Investigation/2012.12.10-20:30-Mo/2012-12-10.20.25.4-0.rec/00001.ts";
-recording[75] = "/mnt/Crime_Scene_Investigation/2012.12.10-22:25-Mo/2012-12-10.22.15.4-0.rec/00001.ts";
-recording[76] = "/mnt/Crime_Scene_Investigation/2012.12.10-22:25-Mo/2012-12-10.22.15.4-0.rec/00002.ts";
-recording[77] = "/mnt/Criminal_minds/2012.12.05-20:30-Mi/2012-12-05.20.25.8-0.rec/00001.ts";
-recording[78] = "/mnt/Criminal_minds/2012.12.05-21:25-Mi/2012-12-05.21.20.8-0.rec/00001.ts";
-recording[79] = "/mnt/Criminal_minds/2012.12.12-20:30-Mi/2012-12-12.20.25.8-0.rec/00001.ts";
-recording[80] = "/mnt/Criminal_minds/2012.12.12-21:25-Mi/2012-12-12.21.20.8-0.rec/00001.ts";
-recording[81] = "/mnt/Fast_'n'_Loud/2012.11.28-22:00-Mi/2012-11-28.21.55.52-0.rec/00001.ts";
-recording[82] = "/mnt/Fast_'n'_Loud/2012.12.05-22:00-Mi/2012-12-05.21.55.52-0.rec/00001.ts";
-recording[83] = "/mnt/Fast_'n'_Loud/2012.12.12-22:00-Mi/2012-12-12.21.55.52-0.rec/00001.ts";
-recording[84] = "/mnt/Flashpoint/2012.12.05-22:20-Mi/2012-12-05.22.15.8-0.rec/00001.ts";
-recording[85] = "/mnt/Flashpoint/2012.12.12-22:25-Mi/2012-12-12.22.20.8-0.rec/00001.ts";
-recording[86] = "/mnt/Human_target/2012.11.28-23:05-Mi/2012-11-28.23.00.8-0.rec/00001.ts";
-recording[87] = "/mnt/Human_target/2012.12.05-23:10-Mi/2012-12-05.23.05.8-0.rec/00001.ts";
-recording[88] = "/mnt/Human_target/2012.12.12-23:15-Mi/2012-12-12.23.10.8-0.rec/00001.ts";
-recording[89] = "/mnt/Jungle_Gold/2012.12.04-22:00-Di/2012-12-04.21.55.52-0.rec/00001.ts";
-recording[90] = "/mnt/Jungle_Gold/2012.12.11-22:00-Di/2012-12-11.21.55.52-0.rec/00001.ts";
-recording[91] = "/mnt/NCIS/2012.12.11-20:30-Di/2012-12-11.20.25.6-0.rec/00001.ts";
-recording[92] = "/mnt/NCIS:_Los_Angeles/2012.12.11-21:30-Di/2012-12-11.21.25.6-0.rec/00001.ts";
-recording[93] = "/mnt/NCIS:_Los_Angeles/2012.12.11-21:30-Di/2012-12-11.21.25.6-0.rec/00002.ts";
-recording[94] = "/mnt/NCIS:_Los_Angeles/2012.12.11-21:30-Di/2012-12-11.21.25.6-0.rec/00003.ts";
-recording[95] = "/mnt/NL_vermist/Vermist/2012-11-04.20.25.8011-0.rec/00001.ts";
-recording[96] = "/mnt/NL_vermist/Vermist/2012-11-04.21.25.8011-0.rec/00001.ts";
-recording[97] = "/mnt/NL_vermist/Vermist/2012-11-11.20.25.8011-0.rec/00001.ts";
-recording[98] = "/mnt/NL_vermist/Vermist/2012-11-11.21.25.8011-0.rec/00001.ts";
-recording[99] = "/mnt/NL_vermist/Vermist/2012-11-18.20.25.8011-0.rec/00001.ts";
-recording[100] = "/mnt/NL_vermist/Vermist/2012-11-18.21.25.8011-0.rec/00001.ts";
-recording[101] = "/mnt/NL_vermist/Vermist/2012-11-25.21.25.8011-0.rec/00001.ts";
-recording[102] = "/mnt/Transporter_-_Die_Serie/2012.11.29-21:15-Do/2012-11-29.21.10.425-0.rec/00001.ts";
-recording[103] = "/mnt/Transporter_-_Die_Serie/2012.11.29-21:15-Do/2012-11-29.21.10.425-0.rec/00002.ts";
-recording[104] = "/mnt/Transporter_-_Die_Serie/2012.12.06-21:15-Do/2012-12-06.21.10.425-0.rec/00001.ts";
-recording[105] = "/mnt/Transporter_-_Die_Serie/2012.12.06-21:15-Do/2012-12-06.21.10.425-0.rec/00002.ts";
-recording[106] = "/mnt/Transporter_-_Die_Serie/2012.12.13-21:15-Do/2012-12-13.21.10.425-0.rec/00001.ts";
-recording[107] = "/mnt/Transporter_-_Die_Serie/2012.12.13-21:15-Do/2012-12-13.21.10.425-0.rec/00002.ts";
-recording[108] = "/mnt/Vermist/2012.11.21-22:20-Mi/2012-11-21.22.15.32-0.rec/00001.ts";
-recording[9] = "/mnt/Vermist/2012.12.12-22:25-Mi/2012-12-12.22.20.32-0.rec/00001.ts";
+
diff --git a/settings.js b/settings.js
index 517ef11..9b5a086 100644
--- a/settings.js
+++ b/settings.js
@@ -13,6 +13,7 @@ var Yfactor = 720 / 576;
var channels = new Array();
var channelsnames = new Array();
var channelsepglang = new Array();
+var channeldigits = 2; // 0 - Max 9, 1 max 99, 2 max 999 or 3 max 9999 channels
var recording = new Array();
@@ -148,4 +149,5 @@ var fsReclist = (19*Yfactor) + "px";
var fsMedia = (27*Yfactor) + "px";
var fsKeys = (19*Yfactor) + "px";
+var isRecording = 0; // set by recording subroutine
diff --git a/settings2.js b/settings2.js
index 0da24aa..911e81c 100644
--- a/settings2.js
+++ b/settings2.js
@@ -6,6 +6,7 @@ var VideoHDMIOut = HDMI[4];
var VideoScartOut = Scart[1];
var TimeShift = 0; // 0 = no, 1 = yes timeshift
var ShowSubs = 1; // 0 no, 1 = yes (default)
+var Experimental = 0; // 1 = used for testing parts
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'Jully', 'August', 'September', 'October', 'November', 'December');