summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.xml6
-rw-r--r--package.json2
-rw-r--r--www/css/style.css8
-rw-r--r--www/js/EventModalCtrl.js63
-rw-r--r--www/js/NVR.js2
-rwxr-xr-xwww/js/app.js2
6 files changed, 50 insertions, 33 deletions
diff --git a/config.xml b/config.xml
index 96c01f21..609e98b0 100644
--- a/config.xml
+++ b/config.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='utf-8'?>
-<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninja_pro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.3.088" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+<widget android-packageName="com.pliablepixels.zmninja_pro" id="com.pliablepixels.zmninja_pro" ios-CFBundleIdentifier="com.pliablepixels.zmninja-pro" version="1.3.089" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>zmNinja</name>
<description>
High performance ZoneMinder client
@@ -175,9 +175,9 @@
<variable name="PHOTO_LIBRARY_USAGE_DESCRIPTION" value=" " />
</plugin>
<plugin name="cordova-plugin-inappbrowser" spec="3.2.0" />
+ <engine name="android" spec="8.0.0" />
+ <engine name="ios" spec="^5.0.1" />
<plugin name="cordova-plugin-ionic-webview" spec="https://github.com/pliablepixels/cordova-plugin-ionic-webview.git">
<variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
</plugin>
- <engine name="android" spec="8.0.0" />
- <engine name="ios" spec="^5.0.1" />
</widget>
diff --git a/package.json b/package.json
index fa8a8eea..58456fcb 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "zmninjapro",
"description": "Home security mobile app for ZoneMinder",
- "version": "1.3.088",
+ "version": "1.3.089",
"displayName": "zmNinja",
"author": "Pliable Pixels",
"license": "custom see LICENSE.md",
diff --git a/www/css/style.css b/www/css/style.css
index 6d009c9b..49b608c1 100644
--- a/www/css/style.css
+++ b/www/css/style.css
@@ -1087,6 +1087,14 @@ videogular div.event-time {
background: rgba(255, 0, 0, 0.5);
}
+videogular vg-scrub-bar {
+ z-index:100 !important;
+}
+
+videogular vg-cue-points vg-cue-point {
+ z-index:99 !important;
+}
+
#full-screen-event {
-webkit-animation-duration: 200ms;
animation-duration: 200ms;
diff --git a/www/js/EventModalCtrl.js b/www/js/EventModalCtrl.js
index f83c5893..34b41dc3 100644
--- a/www/js/EventModalCtrl.js
+++ b/www/js/EventModalCtrl.js
@@ -117,7 +117,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
$timeout(function () {
var keyCode = evt.keyCode;
- console.log(keyCode + " PRESSED");
+ //console.log(keyCode + " PRESSED");
if (keyCode == keyCodes.ESC) {
@@ -203,6 +203,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
$scope.onPlayerState = function (state) {
// parent scope
+ NVR.debug ("Video state="+state);
playState = state;
$scope.lastVideoStateTime.time = moment();
};
@@ -211,31 +212,10 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
// we need this timeout to avoid load interrupting
// play -- I suppose its an angular digest foo thing
- //console.log ("*********** ON PLAY READY");
NVR.debug("On Play Ready invoked");
handle = api;
handle.mediaElement.attr("playsinline", "");
- $ionicLoading.show({
- template: "<ion-spinner icon='ripple' class='spinner-energized'></ion-spinner><br/>" + $translate.instant('kVideoLoading') + "...",
-
- });
-
-
- };
-
- $scope.onPlaybackUpdate = function (rate) {
- //console.log ("UPDATED RATE TO "+rate);
- var ld = NVR.getLogin();
- ld.videoPlaybackSpeed = rate;
- NVR.setLogin(ld);
- };
-
- $scope.onCanPlay = function () {
-
- //console.log ("*********** CAN PLAY");
- $ionicLoading.hide();
- NVR.debug("This video can be played");
$scope.videoObject.config.cuepoints.points = [];
// now set up cue points
NVR.debug("Setting cue points..");
@@ -251,17 +231,46 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
//console.log("START="+currentEvent.Event.StartTime);
//console.log("END="+currentEvent.Frame[l].TimeStamp);
- //NVR.debug ("alarm cue at:"+s+"s");
+ //console.log ("alarm cue at:"+s+"s");
$scope.videoObject.config.cuepoints.points.push({
- time: s
+ time: parseFloat(s)
});
}
}
+
+ $ionicLoading.show({
+ template: "<ion-spinner icon='ripple' class='spinner-energized'></ion-spinner><br/>" + $translate.instant('kVideoLoading') + "...",
+
+ });
+
+
+ };
+
+ $scope.onPlaybackUpdate = function (rate) {
+
+
+ var ld = NVR.getLogin();
+ if (ld.videoPlaybackSpeed != rate) {
+ NVR.debug ("Update video rate to:"+rate);
+ ld.videoPlaybackSpeed = rate;
+ }
+
+ NVR.setLogin(ld);
+ };
+
+ $scope.onCanPlay = function () {
+
+ $ionicLoading.hide();
+ NVR.debug("This video can be played");
+
var rate = NVR.getLogin().videoPlaybackSpeed;
- NVR.debug ("Invoking play at rate:"+rate+" as video can be played");
+
handle.setPlayback (rate);
- if (playState== 'play') handle.play();
+ if (playState== 'play') {
+ NVR.debug ("Setting play at rate:"+rate+" as video can be played");
+ handle.play();
+ }
};
$scope.onVideoError = function (event) {
@@ -1077,7 +1086,7 @@ angular.module('zmApp.controllers').controller('EventModalCtrl', ['$scope', '$ro
$scope.showHideControls = function () {
$scope.displayControls = !$scope.displayControls;
- NVR.debug ('control display is:'+$scope.displayControls);
+ NVR.debug ('display overlays:'+$scope.displayControls);
};
$scope.$on('modal.shown', function (e, m) {
diff --git a/www/js/NVR.js b/www/js/NVR.js
index a53e0587..ef94d5b3 100644
--- a/www/js/NVR.js
+++ b/www/js/NVR.js
@@ -21,7 +21,7 @@ angular.module('zmApp.controllers')
DO NOT TOUCH zmAppVersion
It is changed by sync_version.sh
*/
- var zmAppVersion = "1.3.088";
+ var zmAppVersion = "1.3.089";
var isBackground = false;
var justResumed = false;
diff --git a/www/js/app.js b/www/js/app.js
index ebe73e8c..73b50511 100755
--- a/www/js/app.js
+++ b/www/js/app.js
@@ -2039,7 +2039,7 @@ angular.module('zmApp', [
//$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|cdvphotolibrary):/);
$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|content|cdvphotolibrary|blob|unsafe|local):|data:image\//);
- $provide.decorator("$exceptionHandler", ['$delegate', '$injector', function ($delegate, $injector) {
+ $provide.decorator("$exceptionHandler", ['$delegate', '$injector', function ($delegate, $injector) {
return function (exception, cause) {
var $rootScope = $injector.get("$rootScope");