diff options
| -rw-r--r-- | config.xml | 2 | ||||
| -rw-r--r-- | package.json | 4 | ||||
| -rw-r--r-- | www/js/EventCtrl.js | 8 | ||||
| -rw-r--r-- | www/js/MomentCtrl.js | 2 | ||||
| -rw-r--r-- | www/js/MonitorModalCtrl.js | 11 | ||||
| -rw-r--r-- | www/js/MontageCtrl.js | 2 | ||||
| -rw-r--r-- | www/js/NVR.js | 13 | ||||
| -rw-r--r-- | www/lang/locale-de.json | 3 | ||||
| -rw-r--r-- | www/lang/locale-en.json | 1 | ||||
| -rw-r--r-- | www/templates/devoptions.html | 7 |
10 files changed, 40 insertions, 13 deletions
@@ -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.084" 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.085" 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 diff --git a/package.json b/package.json index b142f8b5..09bb7baa 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "zmninjapro", "description": "Home security mobile app for ZoneMinder", - "version": "1.3.083", + "version":"1.3.085", "displayName": "zmNinja", "author": "Pliable Pixels", "license": "custom see LICENSE.md", @@ -192,4 +192,4 @@ ] } } -}
\ No newline at end of file +} diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index 71c973fb..967c80d0 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -509,6 +509,8 @@ angular.module('zmApp.controllers') var mw = parseInt(tempMon.Monitor.Width); var mh = parseInt(tempMon.Monitor.Height); + + var mo = parseInt(tempMon.Monitor.Orientation); myevents[i].Event.Rotation = ''; @@ -2854,8 +2856,6 @@ angular.module('zmApp.controllers') var tempMon = NVR.getMonitorObject(myevents[i].Event.MonitorId); if (tempMon != undefined) { - - var mw = parseInt(tempMon.Monitor.Width); var mh = parseInt(tempMon.Monitor.Height); var mo = parseInt(tempMon.Monitor.Orientation); @@ -2926,6 +2926,8 @@ angular.module('zmApp.controllers') function computeThumbnailSize(mw, mh, mo) { + + tw = Math.min(Math.round(0.35 * $rootScope.devWidth), 200); th = 150; @@ -2935,7 +2937,7 @@ angular.module('zmApp.controllers') h: 0 }; - + /* seems I really should be using strings due to horz and very but luckily parseInt will make them 0 which gets treated as "nothing to do" '0' => translate('Normal'), diff --git a/www/js/MomentCtrl.js b/www/js/MomentCtrl.js index c53974a3..915722dd 100644 --- a/www/js/MomentCtrl.js +++ b/www/js/MomentCtrl.js @@ -212,6 +212,8 @@ var masonry = null; for (var i = 0; i < monitors.length; i++) { if (mid == monitors[i].Monitor.Id) { + + return { width: monitors[i].Monitor.Width, height: monitors[i].Monitor.Height, diff --git a/www/js/MonitorModalCtrl.js b/www/js/MonitorModalCtrl.js index 19117627..14eb4429 100644 --- a/www/js/MonitorModalCtrl.js +++ b/www/js/MonitorModalCtrl.js @@ -1278,24 +1278,26 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ $scope.constructSingleStream = function () { + var ld = NVR.getLogin(); var scale = (currentStreamState == streamState.SNAPSHOT_LOWQUALITY) ? '10':$scope.quality; var stream; - var fps = NVR.getLogin().singleliveFPS; + var fps =ld.singleliveFPS; stream = $scope.monitor.Monitor.streamingURL + "/nph-zms?mode=" + getSingleStreamMode() + "&monitor=" + $scope.monitorId + - "&scale=" + scale + - '&buffer=1000'; + "&scale=" + scale; if (fps) { stream +='&maxfps='+fps; } stream += $rootScope.authSession + - "&rand=" + $rootScope.modalRand + appendSingleStreamConnKey(); + if (currentStreamState != streamState.SNAPSHOT_LOWQUALITY) + stream += "&rand=" + $rootScope.modalRand + "&buffer="+ld.liveStreamBuffer; + //console.log ("STREAM="+stream); if (stream) stream += NVR.insertBasicAuthToken(); @@ -1306,6 +1308,7 @@ angular.module('zmApp.controllers').controller('MonitorModalCtrl', ['$scope', '$ function getSingleStreamMode() { + if (currentStreamState == streamState.SNAPSHOT_LOWQUALITY) return 'single'; return $scope.isModalStreamPaused ? 'single' : 'jpeg'; } diff --git a/www/js/MontageCtrl.js b/www/js/MontageCtrl.js index d01628c3..f03677b7 100644 --- a/www/js/MontageCtrl.js +++ b/www/js/MontageCtrl.js @@ -2070,7 +2070,7 @@ angular.module('zmApp.controllers') "/nph-zms?mode=" + getMode() + "&monitor=" + monitor.Monitor.Id + "&scale=" + $scope.LoginData.montageQuality + - "&buffer=1000"+ + "&buffer="+ $scope.LoginData.liveStreamBuffer + "&rand=" + randToAvoidCacheMem + monitor.Monitor.Id; if (fps) { diff --git a/www/js/NVR.js b/www/js/NVR.js index 77fd91ab..36ddf880 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.083"; + var zmAppVersion = "1.3.085"; var zmAPIVersion = null; var isBackground = false; var justResumed = false; @@ -209,6 +209,7 @@ angular.module('zmApp.controllers') 'kioskPassword': '', 'useAPICaching': true, 'pauseStreams': false, + 'liveStreamBuffer': 100, }; @@ -1597,9 +1598,14 @@ angular.module('zmApp.controllers') } + if (typeof loginData.liveStreamBuffer == 'undefined') { + loginData.liveStreamBuffer = 100; + } + loginData.canSwipeMonitors = true; loginData.forceImageModePath = false; loginData.enableBlog = true; + loginData.pauseStreams = false; } @@ -2772,7 +2778,8 @@ angular.module('zmApp.controllers') for (var i = 0; i < monitors.length; i++) { - // make them all show for now + // zm 1.33.15 prefixes 'ROTATE_' to orientation + monitors[i].Monitor.Orientation = monitors[i].Monitor.Orientation.replace('ROTATE_',''); var recordingType = ''; if (monitors[i].Monitor.SaveJPEGs > 0) { @@ -2954,6 +2961,8 @@ angular.module('zmApp.controllers') for (var i = 0; i < monitors.length; i++) { //monitors[i].Monitor.listDisplay = 'show'; + // zm 1.33.15 prefixes 'ROTATE_' to orientation + monitors[i].Monitor.Orientation = monitors[i].Monitor.Orientation.replace('ROTATE_',''); monitors[i].Monitor.isAlarmed = false; monitors[i].Monitor.connKey = (Math.floor((Math.random() * 999999) + 1)).toString(); monitors[i].Monitor.rndKey = (Math.floor((Math.random() * 999999) + 1)).toString(); diff --git a/www/lang/locale-de.json b/www/lang/locale-de.json index 0f70150d..4771d3d8 100644 --- a/www/lang/locale-de.json +++ b/www/lang/locale-de.json @@ -36,6 +36,7 @@ "kButtonYes" :"Ja", "kCalcEventSize" :"Berechne Event-Größe", "kCancellingAlarm" :"Alarm quittieren", + "kChangeMode" :"Modus ändern", "kChangeSettingsFor" :"Einstellung ändern für", "kChangeState" :"Ändere Status", "kCheckCredentials" :"Bitte Zugangsdaten überprüfen", @@ -147,6 +148,7 @@ "kFrom" :"Seit", "kFromDate" :"Datum von", "kFromTime" :"Zeit von", + "kFunction" :"Funktion", "kGifNoCrosswalk" :"Entschuldige, Du musst mindestens Android 5.0 (Lollipop) nutzen um dieses Merkmal nutzen zu können.", "kGifWarning" :"Die GIF-Animation wird nur bei Einzelbildern mit Alarm und 1fps sein", "kGlobalConfiguration" :"Globale Konfiguration", @@ -253,6 +255,7 @@ "kMontageShowSidebarsNote" :"für Kameras mit ungesehenen Ereignissen", "kMonth" :"Monat", "kMore" :"mehr", + "kMotionEnabled" :"Bewegung erkannt", "kNeedToKnow" :"Um die App zu nutzen brauchst Du im folgenden Schritt die Zugangsdaten und URLs von Deiner ZoneMinder-Installation.", "kNegotiatingStreamAuth" :"handle Streamauthentifikation aus", "kNewPost" :"Neue Nachricht", diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json index 6a62a389..53649c3f 100644 --- a/www/lang/locale-en.json +++ b/www/lang/locale-en.json @@ -177,6 +177,7 @@ "kKioskPasswordConfirm" :"re-confirm kiosk unlock password", "kLanguage" :"Language", "kLatestEvents" :"latest events", + "kLiveStreamBuffer" :"Live stream buffer", "kLiveView" :"Live View", "kLoad" :"load", "kLoading" :"loading", diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html index 718000fc..b89cd7f7 100644 --- a/www/templates/devoptions.html +++ b/www/templates/devoptions.html @@ -39,6 +39,13 @@ </div> + <div class="item item-input-inset item-text-wrap"> + {{'kLiveStreamBuffer'|translate}} + <label class="item-input-wrapper"> + <input id="devoptions-move-3_1" type="tel" ng-model="loginData.liveStreamBuffer"> + </label> + </div> + <label> <ion-toggle id="devoptions-move-4" ng-model="loginData.use24hr" toggle-class="toggle-calm"> |
