diff options
author | M. Voerman <rekordc@gmail.com> | 2013-07-17 02:23:22 +0200 |
---|---|---|
committer | M. Voerman <rekordc@gmail.com> | 2013-07-17 02:23:22 +0200 |
commit | 6295e53f95118aea8b6814932c06d318c0a65e82 (patch) | |
tree | 816d880be4bc2cc4267484e2eea830e439e5408d | |
parent | 4cf750b11b4efe5e7bb775edefa98b18a9a3aa3b (diff) | |
download | vdr-vipclient-6295e53f95118aea8b6814932c06d318c0a65e82.tar.gz vdr-vipclient-6295e53f95118aea8b6814932c06d318c0a65e82.tar.bz2 |
Pause Live TV on server.
OSD Time out can be set from settings
-rw-r--r-- | index.html | 48 | ||||
-rwxr-xr-x | lang_dut.js | 2 | ||||
-rw-r--r-- | settings.js | 18 |
3 files changed, 58 insertions, 10 deletions
@@ -804,6 +804,23 @@ function onKeyDown(event) { mediaPlayer.play(mediaPlayer.PACE_FASTFORWARD); break; case "MediaPlayPause": + + if(isFullscreen && PauseOnServer) { + if(mediaPlayer.getState() == mediaPlayer.STATE_PLAYING) { + ServerPause(); + SetLed(1,1,10); + setTimeout("mediaPlayer.play(0);",5000); + break; + } + if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || + mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { + SetLed(1,1,0); + mediaPlayer.play(mediaPlayer.PACE_PLAY); + break; + } + + } + if(TimeShift){ if(mediaPlayer.getState() == mediaPlayer.STATE_PAUSED || mediaPlayer.getState() == mediaPlayer.STATE_FASTFORWARDING || mediaPlayer.getState() == mediaPlayer.STATE_REWINDING) { SetLed(1,1,0); @@ -932,7 +949,7 @@ function showOSD() { SetOsdInfo(); opacity = 1; OSD(opacity); - osdtimeout = setTimeout("fadeOut(); osdtimeout = 0;", 3000); + osdtimeout = setTimeout("fadeOut(); osdtimeout = 0;", ShowOsdTime); } function showVolume() { @@ -941,7 +958,7 @@ function showVolume() { } osdvolume.innerHTML = Lang[1] + " : \uE007" + (new Array(Volume)).join("\uE008") + (new Array(100 - Volume)).join("\uE009") + "\uE00A"; osdvolume.style.opacity = 1; - osdVolumetimeout = setTimeout("osdvolume.style.opacity = 0;", 3000); + osdVolumetimeout = setTimeout("osdvolume.style.opacity = 0;", ShowOsdTime); } @@ -3380,6 +3397,33 @@ SwitchTimer = ii; //end of function } +function ServerPause() { +//Instant pause on server + + try { + xmlhttp=new XMLHttpRequest(); + //switch server to current channel + xmlhttp.open("POST",(RestFulAPI + "/remote/switch/" + channels[currChan]),true); + xmlhttp.send(); + //start pause + setTimeout("xmlhttp.open('POST',(RestFulAPI + '/remote/Record'),false);xmlhttp.send();",5000); + + //Show some info on screen + settimer(EPG[NowNext][2][currChan],"PAUSE",0); + switchtimer.style.opacity = 1; + setTimeout("switchtimer.style.opacity = 0; ", 7000); + + } catch(e) { + alert("Sending Pause key to server problem: " + e); + } + //Next steps: + //Find recording using restfulapi + //Open recording and pause. + +//end of function +} + + function ServerRecordStop() { try { xmlhttp=new XMLHttpRequest(); diff --git a/lang_dut.js b/lang_dut.js index 58d1601..08e821f 100755 --- a/lang_dut.js +++ b/lang_dut.js @@ -78,7 +78,7 @@ Lang[42] = "Channel Mode"; Lang[43] = " Problemen met het opvragen van ZoekTimers "; Lang[44] = " OK om te wissen "; -Lang[45] = " ander om aftebreken "; +Lang[45] = " andere toets om dit niet te doen "; Lang[46] = "vrij "; Lang[50] = " Server EPG "; diff --git a/settings.js b/settings.js index 8e0e39a..fb8d5b6 100644 --- a/settings.js +++ b/settings.js @@ -30,23 +30,19 @@ var ShowProtectedChannels = 1; // 0 = yes show, 1 = don't show protected channel var ShowSource = 1; // show source in OSD var pipPlayer = 0; // 0 = no, 1 = yes Pip var mediaRecorder = 1; // 0 = no, 1 = yes local recording. +var PauseOnServer = 1; // 0 = no pause on server, 1 = pause live TV on server var fullupdate = 1; // If guideview is too slow, set it to 0 (for 1910/1960), faster boxes can use 1 // to force the use on boxes other then 19x3 use 2!! + +var ShowOsdTime = 5000; //Time to show OSD, in seconds * 1000 var inst_timeout = 15 * 1000; // 15 minutes var serverEPGdays = 3 * (60 * 60 * 24); // the higher the longer you wait while getting the epg info -var NN = new Array(); -var Lang = new Array(); -var CLang = new Array(); - var VolumeStep = 5; // Steps the volume buttons make -var ChanGroup = Number(String((currChan / 1000)).substring(0,1)); // default group -var minChan = new Array(); var maxChan = new Array(); var defChan = new Array(); var baseChn = new Array(); var protChn = new Array(); var ServerAdres = new Array(); // Define settings for Channels. - // Server for Recordings var recServ = server_ip + ":8000"; var RestFulAPI = server_ip + ":8002"; @@ -58,6 +54,14 @@ var channeldigits = 2; // 0 - Max 9, 1 max 99, 2 max 999 or 3 max 9999 channels // No need to change anything from here on. // +var ChanGroup = Number(String((currChan / 1000)).substring(0,1)); // default group +var minChan = new Array(); var maxChan = new Array(); var defChan = new Array(); var baseChn = new Array(); var protChn = new Array(); var ServerAdres = new Array(); // Define settings for Channels. + + +var NN = new Array(); +var Lang = new Array(); +var CLang = new Array(); + var isFullscreen = 1; var Volume = StartVolume; var AudioOut = 3; // AUDIO_CONNECTION_TYPE_ANALOG = 0; AUDIO_CONNECTION_TYPE_SPDIF = 1; AUDIO_CONNECTION_TYPE_HDMI = 2;AUDIO_CONNECTION_TYPE_DECODER = 3;AUDIO_CONNECTION_TYPE_BUFFER = 4;AUDIO_CONNECTION_TYPE_I2S = 5; |