speechrecorderng 2.19.0 → 2.21.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/speechrecorderng.umd.js +362 -188
- package/bundles/speechrecorderng.umd.js.map +1 -1
- package/esm2015/lib/audio/audio_display.js +3 -3
- package/esm2015/lib/audio/audio_player.js +3 -3
- package/esm2015/lib/audio/dsp/level_measure.js +52 -1
- package/esm2015/lib/audio/ui/audio_canvas_layer_comp.js +6 -6
- package/esm2015/lib/audio/ui/audio_display_control.js +3 -3
- package/esm2015/lib/audio/ui/audio_display_scroll_pane.js +3 -3
- package/esm2015/lib/audio/ui/audiosignal.js +3 -3
- package/esm2015/lib/audio/ui/container.js +3 -3
- package/esm2015/lib/audio/ui/livelevel.js +3 -3
- package/esm2015/lib/audio/ui/scroll_pane_horizontal.js +3 -3
- package/esm2015/lib/audio/ui/sonagram.js +3 -3
- package/esm2015/lib/speechrecorder/project/project.service.js +3 -3
- package/esm2015/lib/speechrecorder/recordings/recordings.service.js +3 -3
- package/esm2015/lib/speechrecorder/script/script.service.js +3 -3
- package/esm2015/lib/speechrecorder/session/controlpanel.js +89 -48
- package/esm2015/lib/speechrecorder/session/progress.js +3 -3
- package/esm2015/lib/speechrecorder/session/prompting.js +18 -18
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-meta.component.js +3 -3
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-navi.component.js +3 -3
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.js +3 -3
- package/esm2015/lib/speechrecorder/session/recordingfile/recording-file-view.component.js +3 -3
- package/esm2015/lib/speechrecorder/session/recordingfile/recordingfile-service.js +3 -3
- package/esm2015/lib/speechrecorder/session/session.service.js +3 -3
- package/esm2015/lib/speechrecorder/session/session_finished_dialog.js +3 -3
- package/esm2015/lib/speechrecorder/session/sessionmanager.js +87 -42
- package/esm2015/lib/speechrecorder/session/warning_bar.js +3 -3
- package/esm2015/lib/speechrecorder/spruploader.js +3 -3
- package/esm2015/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.js +3 -3
- package/esm2015/lib/speechrecorderng.component.js +3 -3
- package/esm2015/lib/speechrecorderng.module.js +9 -9
- package/esm2015/lib/spr.config.js +3 -3
- package/esm2015/lib/spr.module.version.js +2 -2
- package/esm2015/lib/ui/canvas_layer_comp.js +3 -3
- package/esm2015/lib/ui/message_dialog.js +3 -3
- package/esm2015/lib/ui/recordingitem_display.js +279 -0
- package/esm2015/lib/utils/scrollIntoViewToBottom.js +3 -3
- package/fesm2015/speechrecorderng.js +479 -261
- package/fesm2015/speechrecorderng.js.map +1 -1
- package/lib/audio/dsp/level_measure.d.ts +23 -0
- package/lib/speechrecorder/session/controlpanel.d.ts +10 -2
- package/lib/speechrecorder/session/sessionmanager.d.ts +3 -2
- package/lib/speechrecorderng.module.d.ts +2 -2
- package/lib/spr.module.version.d.ts +1 -1
- package/lib/ui/recordingitem_display.d.ts +79 -0
- package/package.json +14 -14
- package/esm2015/lib/ui/livelevel_display.js +0 -192
- package/lib/ui/livelevel_display.d.ts +0 -48
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/operators'), require('rxjs'), require('@angular/common/http'), require('@angular/common'), require('@angular/material/icon'), require('@angular/material/tooltip'), require('@angular/
|
|
3
|
-
typeof define === 'function' && define.amd ? define('speechrecorderng', ['exports', '@angular/core', 'rxjs/operators', 'rxjs', '@angular/common/http', '@angular/common', '@angular/material/icon', '@angular/material/tooltip', '@angular/
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.speechrecorderng = {}, global.ng.core, global.rxjs.operators, global.rxjs, global.ng.common.http, global.ng.common, global.ng.material.icon, global.ng.material.tooltip, global.ng.
|
|
5
|
-
}(this, (function (exports, i0, operators, rxjs, i1, i4, i2, i3, i1$1, i2$1,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs/operators'), require('rxjs'), require('@angular/common/http'), require('@angular/common'), require('@angular/material/icon'), require('@angular/material/tooltip'), require('@angular/flex-layout/extended'), require('@angular/flex-layout/flex'), require('@angular/router'), require('@angular/material/checkbox'), require('@angular/material/progress-spinner'), require('@angular/material/button'), require('@angular/material/dialog'), require('@angular/material/progress-bar'), require('@angular/flex-layout'), require('@angular/material/card'), require('@angular/material/divider'), require('@angular/material/grid-list'), require('@angular/material/snack-bar'), require('@angular/material/table'), require('@angular/material/select'), require('@angular/material/input')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('speechrecorderng', ['exports', '@angular/core', 'rxjs/operators', 'rxjs', '@angular/common/http', '@angular/common', '@angular/material/icon', '@angular/material/tooltip', '@angular/flex-layout/extended', '@angular/flex-layout/flex', '@angular/router', '@angular/material/checkbox', '@angular/material/progress-spinner', '@angular/material/button', '@angular/material/dialog', '@angular/material/progress-bar', '@angular/flex-layout', '@angular/material/card', '@angular/material/divider', '@angular/material/grid-list', '@angular/material/snack-bar', '@angular/material/table', '@angular/material/select', '@angular/material/input'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.speechrecorderng = {}, global.ng.core, global.rxjs.operators, global.rxjs, global.ng.common.http, global.ng.common, global.ng.material.icon, global.ng.material.tooltip, global.ng.flexLayout.extended, global.ng.flexLayout.flex, global.ng.router, global.ng.material.checkbox, global.ng.material.progressSpinner, global.ng.material.button, global.ng.material.dialog, global.ng.material.progressBar, global.ng.flexLayout, global.ng.material.card, global.ng.material.divider, global.ng.material.gridList, global.ng.material.snackBar, global.ng.material.table, global.ng.material.select, global.ng.material.input));
|
|
5
|
+
})(this, (function (exports, i0, operators, rxjs, i1, i4, i2, i3, i3$1, i8, i1$1, i2$1, i1$2, i3$2, i1$3, i7, flexLayout, i1$4, divider, gridList, i6, table, select, input) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -13,14 +13,12 @@
|
|
|
13
13
|
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
14
|
Object.defineProperty(n, k, d.get ? d : {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () {
|
|
17
|
-
return e[k];
|
|
18
|
-
}
|
|
16
|
+
get: function () { return e[k]; }
|
|
19
17
|
});
|
|
20
18
|
}
|
|
21
19
|
});
|
|
22
20
|
}
|
|
23
|
-
n[
|
|
21
|
+
n["default"] = e;
|
|
24
22
|
return Object.freeze(n);
|
|
25
23
|
}
|
|
26
24
|
|
|
@@ -29,15 +27,16 @@
|
|
|
29
27
|
var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
|
|
30
28
|
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
|
31
29
|
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
|
30
|
+
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
|
|
31
|
+
var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
|
|
32
32
|
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
|
|
33
33
|
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
|
|
34
|
-
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
|
35
34
|
var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
|
|
36
|
-
var i3__namespace$
|
|
35
|
+
var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$2);
|
|
37
36
|
var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
|
|
38
37
|
var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
|
|
39
38
|
var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$4);
|
|
40
|
-
var i6__namespace
|
|
39
|
+
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
|
41
40
|
|
|
42
41
|
/*! *****************************************************************************
|
|
43
42
|
Copyright (c) Microsoft Corporation.
|
|
@@ -274,7 +273,7 @@
|
|
|
274
273
|
ar[i] = from[i];
|
|
275
274
|
}
|
|
276
275
|
}
|
|
277
|
-
return to.concat(ar || from);
|
|
276
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
278
277
|
}
|
|
279
278
|
function __await(v) {
|
|
280
279
|
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
@@ -2230,9 +2229,9 @@
|
|
|
2230
2229
|
}
|
|
2231
2230
|
return SpeechRecorderConfig;
|
|
2232
2231
|
}());
|
|
2233
|
-
SpeechRecorderConfig.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
2234
|
-
SpeechRecorderConfig.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
2235
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2232
|
+
SpeechRecorderConfig.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderConfig, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
2233
|
+
SpeechRecorderConfig.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderConfig });
|
|
2234
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderConfig, decorators: [{
|
|
2236
2235
|
type: i0.Injectable
|
|
2237
2236
|
}], ctorParameters: function () { return []; } });
|
|
2238
2237
|
|
|
@@ -2285,9 +2284,9 @@
|
|
|
2285
2284
|
return ProjectService;
|
|
2286
2285
|
}());
|
|
2287
2286
|
ProjectService.PROJECT_API_CTX = 'project';
|
|
2288
|
-
ProjectService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
2289
|
-
ProjectService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
2290
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2287
|
+
ProjectService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProjectService, deps: [{ token: i1__namespace.HttpClient }, { token: i4__namespace.PlatformLocation }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
2288
|
+
ProjectService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProjectService });
|
|
2289
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProjectService, decorators: [{
|
|
2291
2290
|
type: i0.Injectable
|
|
2292
2291
|
}], ctorParameters: function () {
|
|
2293
2292
|
return [{ type: i1__namespace.HttpClient }, { type: i4__namespace.PlatformLocation }, { type: SpeechRecorderConfig, decorators: [{
|
|
@@ -2351,9 +2350,9 @@
|
|
|
2351
2350
|
return SessionService;
|
|
2352
2351
|
}());
|
|
2353
2352
|
SessionService.SESSION_API_CTX = 'session';
|
|
2354
|
-
SessionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
2355
|
-
SessionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
2356
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2353
|
+
SessionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
2354
|
+
SessionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionService });
|
|
2355
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionService, decorators: [{
|
|
2357
2356
|
type: i0.Injectable
|
|
2358
2357
|
}], ctorParameters: function () {
|
|
2359
2358
|
return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
|
|
@@ -2363,8 +2362,8 @@
|
|
|
2363
2362
|
} });
|
|
2364
2363
|
|
|
2365
2364
|
var DEFAULT_WARN_DB_LEVEL$1 = -2;
|
|
2366
|
-
var MIN_DB_LEVEL$
|
|
2367
|
-
var CONSIDERED_SILENCE_DB_LEVEL = MIN_DB_LEVEL$
|
|
2365
|
+
var MIN_DB_LEVEL$2 = -60.0;
|
|
2366
|
+
var CONSIDERED_SILENCE_DB_LEVEL = MIN_DB_LEVEL$2 * 2;
|
|
2368
2367
|
var LINE_WIDTH = 2;
|
|
2369
2368
|
var LINE_DISTANCE = 2;
|
|
2370
2369
|
var LEVEL_INDICATOR_HEIGHT = 3;
|
|
@@ -2374,7 +2373,7 @@
|
|
|
2374
2373
|
function LevelBar(ref, changeDetectorRef) {
|
|
2375
2374
|
this.ref = ref;
|
|
2376
2375
|
this.changeDetectorRef = changeDetectorRef;
|
|
2377
|
-
this.peakDbLvl = MIN_DB_LEVEL$
|
|
2376
|
+
this.peakDbLvl = MIN_DB_LEVEL$2;
|
|
2378
2377
|
this._streamingMode = false;
|
|
2379
2378
|
this._staticLevelInfos = null;
|
|
2380
2379
|
this._playFramePosition = null;
|
|
@@ -2498,7 +2497,7 @@
|
|
|
2498
2497
|
}
|
|
2499
2498
|
};
|
|
2500
2499
|
LevelBar.prototype.reset = function () {
|
|
2501
|
-
this.peakDbLvl = MIN_DB_LEVEL$
|
|
2500
|
+
this.peakDbLvl = MIN_DB_LEVEL$2;
|
|
2502
2501
|
this.dbValues = new Array();
|
|
2503
2502
|
this.layout();
|
|
2504
2503
|
this.drawAll();
|
|
@@ -2556,7 +2555,7 @@
|
|
|
2556
2555
|
g.beginPath();
|
|
2557
2556
|
g.moveTo(xc, y + chH);
|
|
2558
2557
|
g.lineTo(xc, y + chH - LEVEL_INDICATOR_HEIGHT);
|
|
2559
|
-
var pnVal = ((dbVal - MIN_DB_LEVEL$
|
|
2558
|
+
var pnVal = ((dbVal - MIN_DB_LEVEL$2) / -MIN_DB_LEVEL$2);
|
|
2560
2559
|
var lvlIndicatorSpace = LEVEL_INDICATOR_HEIGHT + LINE_DISTANCE;
|
|
2561
2560
|
var levelH = chH - lvlIndicatorSpace;
|
|
2562
2561
|
var pVal = pnVal * levelH;
|
|
@@ -2661,9 +2660,9 @@
|
|
|
2661
2660
|
};
|
|
2662
2661
|
return LevelBar;
|
|
2663
2662
|
}());
|
|
2664
|
-
LevelBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
2665
|
-
LevelBar.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
2666
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2663
|
+
LevelBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LevelBar, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2664
|
+
LevelBar.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: LevelBar, selector: "audio-levelbar", inputs: { streamingMode: "streamingMode", displayLevelInfos: "displayLevelInfos" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "virtualCanvasRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "liveLevelCanvasRef", first: true, predicate: ["levelbar"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["markerCanvas"], descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div #virtualCanvas>\n <canvas #levelbar></canvas>\n <canvas #markerCanvas></canvas>\n </div>\n ", isInline: true, styles: [":host {\n\n width: 100%;\n background: darkgray;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n overflow-x: scroll;\n overflow-y: auto;\n }", "div {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n /*position: absolute;*/\n box-sizing: border-box;\n }", "canvas {\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n }"] });
|
|
2665
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LevelBar, decorators: [{
|
|
2667
2666
|
type: i0.Component,
|
|
2668
2667
|
args: [{
|
|
2669
2668
|
selector: 'audio-levelbar',
|
|
@@ -2691,30 +2690,29 @@
|
|
|
2691
2690
|
args: ['window:resize', ['$event']]
|
|
2692
2691
|
}] } });
|
|
2693
2692
|
|
|
2694
|
-
var MIN_DB_LEVEL = -40.0;
|
|
2693
|
+
var MIN_DB_LEVEL$1 = -40.0;
|
|
2695
2694
|
var DEFAULT_WARN_DB_LEVEL = -2;
|
|
2696
|
-
var
|
|
2697
|
-
function
|
|
2695
|
+
var RecordingItemControls = /** @class */ (function () {
|
|
2696
|
+
function RecordingItemControls(ref, changeDetectorRef) {
|
|
2698
2697
|
this.ref = ref;
|
|
2699
2698
|
this.changeDetectorRef = changeDetectorRef;
|
|
2700
2699
|
this.ce = null;
|
|
2701
|
-
this.streamingMode = false;
|
|
2702
2700
|
this.audioSignalCollapsed = true;
|
|
2703
2701
|
this.enableDownload = false;
|
|
2704
|
-
this.
|
|
2705
|
-
this.peakDbLvl = MIN_DB_LEVEL;
|
|
2702
|
+
this.peakDbLvl = MIN_DB_LEVEL$1;
|
|
2706
2703
|
this._displayLevelInfos = null;
|
|
2707
2704
|
this._agc = undefined;
|
|
2708
2705
|
this.agcString = 'n/a';
|
|
2709
2706
|
this.onShowRecordingDetails = new i0.EventEmitter();
|
|
2710
2707
|
this.onDownloadRecording = new i0.EventEmitter();
|
|
2708
|
+
this.audioLoaded = false;
|
|
2711
2709
|
this.playStartEnabled = false;
|
|
2712
2710
|
this.playStopEnabled = false;
|
|
2713
2711
|
this.updateTimerId = null;
|
|
2714
2712
|
this.destroyed = false;
|
|
2715
2713
|
this.warnDbLevel = DEFAULT_WARN_DB_LEVEL;
|
|
2716
2714
|
}
|
|
2717
|
-
Object.defineProperty(
|
|
2715
|
+
Object.defineProperty(RecordingItemControls.prototype, "agc", {
|
|
2718
2716
|
set: function (agc) {
|
|
2719
2717
|
this._agc = agc;
|
|
2720
2718
|
if (this._agc === undefined || this._agc === null) {
|
|
@@ -2732,10 +2730,91 @@
|
|
|
2732
2730
|
enumerable: false,
|
|
2733
2731
|
configurable: true
|
|
2734
2732
|
});
|
|
2735
|
-
|
|
2733
|
+
RecordingItemControls.prototype.ngOnDestroy = function () {
|
|
2736
2734
|
this.destroyed = true;
|
|
2737
2735
|
};
|
|
2738
|
-
|
|
2736
|
+
RecordingItemControls.prototype.showRecordingDetails = function () {
|
|
2737
|
+
this.onShowRecordingDetails.emit();
|
|
2738
|
+
};
|
|
2739
|
+
RecordingItemControls.prototype.downloadRecording = function () {
|
|
2740
|
+
this.onDownloadRecording.emit();
|
|
2741
|
+
};
|
|
2742
|
+
RecordingItemControls.prototype.ngAfterViewInit = function () {
|
|
2743
|
+
this.ce = this.ref.nativeElement;
|
|
2744
|
+
};
|
|
2745
|
+
Object.defineProperty(RecordingItemControls.prototype, "displayLevelInfos", {
|
|
2746
|
+
set: function (levelInfos) {
|
|
2747
|
+
this._displayLevelInfos = levelInfos;
|
|
2748
|
+
},
|
|
2749
|
+
enumerable: false,
|
|
2750
|
+
configurable: true
|
|
2751
|
+
});
|
|
2752
|
+
RecordingItemControls.prototype.error = function () {
|
|
2753
|
+
// this.status = 'ERROR';
|
|
2754
|
+
};
|
|
2755
|
+
return RecordingItemControls;
|
|
2756
|
+
}());
|
|
2757
|
+
RecordingItemControls.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemControls, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2758
|
+
RecordingItemControls.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: { audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", peakDbLvl: "peakDbLvl", agc: "agc", audioLoaded: "audioLoaded", playStartAction: "playStartAction", playStopAction: "playStopAction", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, ngImport: i0__namespace, template: "\n <button matTooltip=\"Start playback\" (click)=\"playStartAction?.perform()\"\n [disabled]=\"playStartAction?.disabled\"\n [style.color]=\"playStartAction?.disabled ? 'grey' : 'green'\">\n <mat-icon>play_arrow</mat-icon>\n </button>\n <button matTooltip=\"Stop playback\" (click)=\"playStopAction?.perform()\"\n [disabled]=\"playStopAction?.disabled\"\n [style.color]=\"playStopAction?.disabled ? 'grey' : 'yellow'\">\n <mat-icon>stop</mat-icon>\n </button>\n <button fxHide.xs matTooltip=\"Toggle detailed audio display\" [disabled]=\"!audioLoaded\"\n (click)=\"showRecordingDetails()\">\n <mat-icon>{{(audioSignalCollapsed) ? \"expand_less\" : \"expand_more\"}}</mat-icon>\n </button>\n <button matTooltip=\"Download current recording\" *ngIf=\"enableDownload\" [disabled]=\"!audioLoaded\"\n (click)=\"downloadRecording()\">\n <mat-icon>file_download</mat-icon>\n </button>\n <div style=\"min-width: 14ch;padding:2px\"><table style=\"border-style: none\"><tr><td>Peak:</td><td><span matTooltip=\"Peak level\"\n [style.color]=\"(peakDbLvl > warnDbLevel)?'red':'black'\">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>\n <tr *ngIf=\"_agc\"><td>AGC:</td><td><span matTooltip=\"Auto gain control\">{{agcString}}</span></td></tr></table></div>\n ", isInline: true, styles: [":host {\n flex: 0; /* only required vertical space */\n width: 100%;\n background: darkgray;\n padding: 4px;\n box-sizing: border-box;\n height: 100%;\n\n display: flex; /* flex container: left level bar, right decimal peak level value */\n flex-direction: row;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "span {\n flex: 0;\n font-weight: bold;\n display: inline-block;\n white-space: nowrap;\n box-sizing: border-box;\n }"], components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i3__namespace$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "number": i4__namespace.DecimalPipe } });
|
|
2759
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemControls, decorators: [{
|
|
2760
|
+
type: i0.Component,
|
|
2761
|
+
args: [{
|
|
2762
|
+
selector: 'spr-recordingitemcontrols',
|
|
2763
|
+
template: "\n <button matTooltip=\"Start playback\" (click)=\"playStartAction?.perform()\"\n [disabled]=\"playStartAction?.disabled\"\n [style.color]=\"playStartAction?.disabled ? 'grey' : 'green'\">\n <mat-icon>play_arrow</mat-icon>\n </button>\n <button matTooltip=\"Stop playback\" (click)=\"playStopAction?.perform()\"\n [disabled]=\"playStopAction?.disabled\"\n [style.color]=\"playStopAction?.disabled ? 'grey' : 'yellow'\">\n <mat-icon>stop</mat-icon>\n </button>\n <button fxHide.xs matTooltip=\"Toggle detailed audio display\" [disabled]=\"!audioLoaded\"\n (click)=\"showRecordingDetails()\">\n <mat-icon>{{(audioSignalCollapsed) ? \"expand_less\" : \"expand_more\"}}</mat-icon>\n </button>\n <button matTooltip=\"Download current recording\" *ngIf=\"enableDownload\" [disabled]=\"!audioLoaded\"\n (click)=\"downloadRecording()\">\n <mat-icon>file_download</mat-icon>\n </button>\n <div style=\"min-width: 14ch;padding:2px\"><table style=\"border-style: none\"><tr><td>Peak:</td><td><span matTooltip=\"Peak level\"\n [style.color]=\"(peakDbLvl > warnDbLevel)?'red':'black'\">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>\n <tr *ngIf=\"_agc\"><td>AGC:</td><td><span matTooltip=\"Auto gain control\">{{agcString}}</span></td></tr></table></div>\n ",
|
|
2764
|
+
styles: [":host {\n flex: 0; /* only required vertical space */\n width: 100%;\n background: darkgray;\n padding: 4px;\n box-sizing: border-box;\n height: 100%;\n\n display: flex; /* flex container: left level bar, right decimal peak level value */\n flex-direction: row;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "span {\n flex: 0;\n font-weight: bold;\n display: inline-block;\n white-space: nowrap;\n box-sizing: border-box;\n }"]
|
|
2765
|
+
}]
|
|
2766
|
+
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { audioSignalCollapsed: [{
|
|
2767
|
+
type: i0.Input
|
|
2768
|
+
}], enableDownload: [{
|
|
2769
|
+
type: i0.Input
|
|
2770
|
+
}], peakDbLvl: [{
|
|
2771
|
+
type: i0.Input
|
|
2772
|
+
}], agc: [{
|
|
2773
|
+
type: i0.Input
|
|
2774
|
+
}], onShowRecordingDetails: [{
|
|
2775
|
+
type: i0.Output
|
|
2776
|
+
}], onDownloadRecording: [{
|
|
2777
|
+
type: i0.Output
|
|
2778
|
+
}], audioLoaded: [{
|
|
2779
|
+
type: i0.Input
|
|
2780
|
+
}], playStartAction: [{
|
|
2781
|
+
type: i0.Input
|
|
2782
|
+
}], playStopAction: [{
|
|
2783
|
+
type: i0.Input
|
|
2784
|
+
}], displayLevelInfos: [{
|
|
2785
|
+
type: i0.Input
|
|
2786
|
+
}] } });
|
|
2787
|
+
var RecordingItemDisplay = /** @class */ (function () {
|
|
2788
|
+
function RecordingItemDisplay(ref, changeDetectorRef) {
|
|
2789
|
+
this.ref = ref;
|
|
2790
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
2791
|
+
this.ce = null;
|
|
2792
|
+
this.streamingMode = false;
|
|
2793
|
+
this.audioSignalCollapsed = true;
|
|
2794
|
+
this.enableDownload = false;
|
|
2795
|
+
this.peakDbLvl = MIN_DB_LEVEL$1;
|
|
2796
|
+
this._displayLevelInfos = null;
|
|
2797
|
+
this._agc = undefined;
|
|
2798
|
+
this.agcString = 'n/a';
|
|
2799
|
+
this.onShowRecordingDetails = new i0.EventEmitter();
|
|
2800
|
+
this.onDownloadRecording = new i0.EventEmitter();
|
|
2801
|
+
this.playStartEnabled = false;
|
|
2802
|
+
this.playStopEnabled = false;
|
|
2803
|
+
this.updateTimerId = null;
|
|
2804
|
+
this.destroyed = false;
|
|
2805
|
+
this.warnDbLevel = DEFAULT_WARN_DB_LEVEL;
|
|
2806
|
+
}
|
|
2807
|
+
Object.defineProperty(RecordingItemDisplay.prototype, "agc", {
|
|
2808
|
+
set: function (agc) {
|
|
2809
|
+
this._agc = agc;
|
|
2810
|
+
},
|
|
2811
|
+
enumerable: false,
|
|
2812
|
+
configurable: true
|
|
2813
|
+
});
|
|
2814
|
+
RecordingItemDisplay.prototype.ngOnDestroy = function () {
|
|
2815
|
+
this.destroyed = true;
|
|
2816
|
+
};
|
|
2817
|
+
Object.defineProperty(RecordingItemDisplay.prototype, "displayAudioBuffer", {
|
|
2739
2818
|
get: function () {
|
|
2740
2819
|
return this._displayAudioBuffer;
|
|
2741
2820
|
},
|
|
@@ -2745,24 +2824,24 @@
|
|
|
2745
2824
|
enumerable: false,
|
|
2746
2825
|
configurable: true
|
|
2747
2826
|
});
|
|
2748
|
-
|
|
2827
|
+
RecordingItemDisplay.prototype.showRecordingDetails = function () {
|
|
2749
2828
|
this.onShowRecordingDetails.emit();
|
|
2750
2829
|
};
|
|
2751
|
-
|
|
2830
|
+
RecordingItemDisplay.prototype.downloadRecording = function () {
|
|
2752
2831
|
this.onDownloadRecording.emit();
|
|
2753
2832
|
};
|
|
2754
|
-
|
|
2833
|
+
RecordingItemDisplay.prototype.ngAfterViewInit = function () {
|
|
2755
2834
|
this.ce = this.ref.nativeElement;
|
|
2756
2835
|
//this.controlAudioPlayer.listener=this;
|
|
2757
2836
|
};
|
|
2758
|
-
Object.defineProperty(
|
|
2837
|
+
Object.defineProperty(RecordingItemDisplay.prototype, "displayLevelInfos", {
|
|
2759
2838
|
set: function (levelInfos) {
|
|
2760
2839
|
this._displayLevelInfos = levelInfos;
|
|
2761
2840
|
},
|
|
2762
2841
|
enumerable: false,
|
|
2763
2842
|
configurable: true
|
|
2764
2843
|
});
|
|
2765
|
-
Object.defineProperty(
|
|
2844
|
+
Object.defineProperty(RecordingItemDisplay.prototype, "channelCount", {
|
|
2766
2845
|
set: function (channelCount) {
|
|
2767
2846
|
this.reset();
|
|
2768
2847
|
this.liveLevel.channelCount = channelCount;
|
|
@@ -2770,14 +2849,14 @@
|
|
|
2770
2849
|
enumerable: false,
|
|
2771
2850
|
configurable: true
|
|
2772
2851
|
});
|
|
2773
|
-
Object.defineProperty(
|
|
2852
|
+
Object.defineProperty(RecordingItemDisplay.prototype, "playFramePosition", {
|
|
2774
2853
|
set: function (playFramePosition) {
|
|
2775
2854
|
this.liveLevel.playFramePosition = playFramePosition;
|
|
2776
2855
|
},
|
|
2777
2856
|
enumerable: false,
|
|
2778
2857
|
configurable: true
|
|
2779
2858
|
});
|
|
2780
|
-
|
|
2859
|
+
RecordingItemDisplay.prototype.update = function (levelInfo, peakLevelInfo) {
|
|
2781
2860
|
var peakDBVal = levelInfo.powerLevelDB();
|
|
2782
2861
|
if (this.peakDbLvl < peakDBVal) {
|
|
2783
2862
|
this.peakDbLvl = peakDBVal;
|
|
@@ -2786,25 +2865,26 @@
|
|
|
2786
2865
|
}
|
|
2787
2866
|
this.liveLevel.update(levelInfo);
|
|
2788
2867
|
};
|
|
2789
|
-
|
|
2868
|
+
RecordingItemDisplay.prototype.error = function () {
|
|
2790
2869
|
// this.status = 'ERROR';
|
|
2791
2870
|
};
|
|
2792
|
-
|
|
2871
|
+
RecordingItemDisplay.prototype.streamFinished = function () {
|
|
2793
2872
|
this.liveLevel.streamFinished();
|
|
2794
2873
|
};
|
|
2795
|
-
|
|
2796
|
-
this.peakDbLvl = MIN_DB_LEVEL;
|
|
2874
|
+
RecordingItemDisplay.prototype.reset = function () {
|
|
2875
|
+
this.peakDbLvl = MIN_DB_LEVEL$1;
|
|
2876
|
+
this.changeDetectorRef.detectChanges();
|
|
2797
2877
|
};
|
|
2798
|
-
return
|
|
2878
|
+
return RecordingItemDisplay;
|
|
2799
2879
|
}());
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
2880
|
+
RecordingItemDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemDisplay, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
2881
|
+
RecordingItemDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingItemDisplay, selector: "spr-recordingitemdisplay", inputs: { streamingMode: "streamingMode", audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", agc: "agc", playStartAction: "playStartAction", playStopAction: "playStopAction", displayAudioBuffer: "displayAudioBuffer", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, viewQueries: [{ propertyName: "liveLevel", first: true, predicate: LevelBar, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"streamingMode\" [displayLevelInfos]=\"_displayLevelInfos\"></audio-levelbar>\n <spr-recordingitemcontrols fxFlex=\"0 0 0\" [audioLoaded]=\"displayAudioBuffer!==null\" [playStartAction]=\"playStartAction\" [playStopAction]=\"playStopAction\" [peakDbLvl]=\"peakDbLvl\" [agc]=\"_agc\" (onShowRecordingDetails)=\"onShowRecordingDetails.emit()\"></spr-recordingitemcontrols>\n </div>\n ", isInline: true, styles: ["div {\n width: 100%;\n background: darkgray;\n padding: 4px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "audio-levelbar {\n box-sizing: border-box;\n }"], components: [{ type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }], directives: [{ type: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$1.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i4__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
|
|
2882
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingItemDisplay, decorators: [{
|
|
2803
2883
|
type: i0.Component,
|
|
2804
2884
|
args: [{
|
|
2805
2885
|
selector: 'spr-recordingitemdisplay',
|
|
2806
|
-
template: "\n
|
|
2807
|
-
styles: ["
|
|
2886
|
+
template: "\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"streamingMode\" [displayLevelInfos]=\"_displayLevelInfos\"></audio-levelbar>\n <spr-recordingitemcontrols fxFlex=\"0 0 0\" [audioLoaded]=\"displayAudioBuffer!==null\" [playStartAction]=\"playStartAction\" [playStopAction]=\"playStopAction\" [peakDbLvl]=\"peakDbLvl\" [agc]=\"_agc\" (onShowRecordingDetails)=\"onShowRecordingDetails.emit()\"></spr-recordingitemcontrols>\n </div>\n ",
|
|
2887
|
+
styles: ["div {\n width: 100%;\n background: darkgray;\n padding: 4px;\n box-sizing: border-box;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "audio-levelbar {\n box-sizing: border-box;\n }"]
|
|
2808
2888
|
}]
|
|
2809
2889
|
}], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.ChangeDetectorRef }]; }, propDecorators: { liveLevel: [{
|
|
2810
2890
|
type: i0.ViewChild,
|
|
@@ -2882,6 +2962,7 @@
|
|
|
2882
2962
|
}());
|
|
2883
2963
|
DSPUtils.OCTAVE_FACTOR = 1.0 / (Math.log(2) / Math.log(10));
|
|
2884
2964
|
|
|
2965
|
+
var MIN_DB_LEVEL = -40.0;
|
|
2885
2966
|
var LevelInfo = /** @class */ (function () {
|
|
2886
2967
|
function LevelInfo(channelCount, startFrame, frameLength, minLinLevels, maxLinLevels) {
|
|
2887
2968
|
if (startFrame === void 0) { startFrame = 0; }
|
|
@@ -2976,6 +3057,51 @@
|
|
|
2976
3057
|
};
|
|
2977
3058
|
return LevelInfos;
|
|
2978
3059
|
}());
|
|
3060
|
+
var PeakLevelInterceptor = /** @class */ (function () {
|
|
3061
|
+
function PeakLevelInterceptor(levelListener) {
|
|
3062
|
+
this.levelListener = levelListener;
|
|
3063
|
+
this._channelCount = 0;
|
|
3064
|
+
this._peakDbLvl = MIN_DB_LEVEL;
|
|
3065
|
+
}
|
|
3066
|
+
Object.defineProperty(PeakLevelInterceptor.prototype, "peakDbLvl", {
|
|
3067
|
+
get: function () {
|
|
3068
|
+
return this._peakDbLvl;
|
|
3069
|
+
},
|
|
3070
|
+
enumerable: false,
|
|
3071
|
+
configurable: true
|
|
3072
|
+
});
|
|
3073
|
+
Object.defineProperty(PeakLevelInterceptor.prototype, "channelCount", {
|
|
3074
|
+
get: function () {
|
|
3075
|
+
return this._channelCount;
|
|
3076
|
+
},
|
|
3077
|
+
set: function (value) {
|
|
3078
|
+
this._channelCount = value;
|
|
3079
|
+
if (this.levelListener) {
|
|
3080
|
+
this.levelListener.channelCount = value;
|
|
3081
|
+
}
|
|
3082
|
+
},
|
|
3083
|
+
enumerable: false,
|
|
3084
|
+
configurable: true
|
|
3085
|
+
});
|
|
3086
|
+
PeakLevelInterceptor.prototype.update = function (levelInfo, peakLevelInfo) {
|
|
3087
|
+
var peakDBVal = levelInfo.powerLevelDB();
|
|
3088
|
+
if (this.peakDbLvl < peakDBVal) {
|
|
3089
|
+
this._peakDbLvl = peakDBVal;
|
|
3090
|
+
}
|
|
3091
|
+
};
|
|
3092
|
+
PeakLevelInterceptor.prototype.streamFinished = function () {
|
|
3093
|
+
if (this.levelListener) {
|
|
3094
|
+
this.levelListener.streamFinished();
|
|
3095
|
+
}
|
|
3096
|
+
};
|
|
3097
|
+
PeakLevelInterceptor.prototype.reset = function () {
|
|
3098
|
+
this._peakDbLvl = MIN_DB_LEVEL;
|
|
3099
|
+
if (this.levelListener) {
|
|
3100
|
+
this.levelListener.reset();
|
|
3101
|
+
}
|
|
3102
|
+
};
|
|
3103
|
+
return PeakLevelInterceptor;
|
|
3104
|
+
}());
|
|
2979
3105
|
var LevelMeasure = /** @class */ (function () {
|
|
2980
3106
|
function LevelMeasure() {
|
|
2981
3107
|
this.worker = null;
|
|
@@ -3078,6 +3204,8 @@
|
|
|
3078
3204
|
this.bufferIndex = 0;
|
|
3079
3205
|
this.frameCount = 0;
|
|
3080
3206
|
this.levelListener = null;
|
|
3207
|
+
this.peakLevelListener = null;
|
|
3208
|
+
this.peakLevelInDb = MIN_DB_LEVEL;
|
|
3081
3209
|
this.workerURL = WorkerHelper.buildWorkerBlobURL(this.workerFunction);
|
|
3082
3210
|
}
|
|
3083
3211
|
StreamLevelMeasure.prototype.setFormat = function (channels, sampleRate) {
|
|
@@ -3116,6 +3244,10 @@
|
|
|
3116
3244
|
this.levelListener.reset();
|
|
3117
3245
|
this.levelListener.channelCount = this.channelCount;
|
|
3118
3246
|
}
|
|
3247
|
+
if (this.peakLevelListener) {
|
|
3248
|
+
this.peakLevelInDb = MIN_DB_LEVEL;
|
|
3249
|
+
this.peakLevelListener(this.peakLevelInDb);
|
|
3250
|
+
}
|
|
3119
3251
|
};
|
|
3120
3252
|
StreamLevelMeasure.prototype.write = function (bufferData) {
|
|
3121
3253
|
var _a;
|
|
@@ -3192,6 +3324,14 @@
|
|
|
3192
3324
|
if (this.levelListener) {
|
|
3193
3325
|
this.levelListener.update(this.currentLevelInfos, this.peakLevelInfo.clone());
|
|
3194
3326
|
}
|
|
3327
|
+
if (this.peakLevelListener) {
|
|
3328
|
+
var peakDBVal = bufferLevelInfo.powerLevelDB();
|
|
3329
|
+
if (this.peakLevelInDb < peakDBVal) {
|
|
3330
|
+
this.peakLevelInDb = peakDBVal;
|
|
3331
|
+
// the event comes from outside of an Angular zone
|
|
3332
|
+
this.peakLevelListener(this.peakLevelInDb);
|
|
3333
|
+
}
|
|
3334
|
+
}
|
|
3195
3335
|
}
|
|
3196
3336
|
};
|
|
3197
3337
|
StreamLevelMeasure.prototype.stop = function () {
|
|
@@ -3238,9 +3378,9 @@
|
|
|
3238
3378
|
});
|
|
3239
3379
|
return SimpleTrafficLight;
|
|
3240
3380
|
}());
|
|
3241
|
-
SimpleTrafficLight.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3242
|
-
SimpleTrafficLight.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
3243
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
3381
|
+
SimpleTrafficLight.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SimpleTrafficLight, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
3382
|
+
SimpleTrafficLight.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: { status: "status" }, ngImport: i0__namespace, template: "\n\n <div>\n <div class=\"circle {{lighttop}}\"></div>\n <div class=\"circle {{lightmid}}\"></div>\n <div class=\"circle {{lightbottom}}\"></div>\n </div>\n ", isInline: true, styles: [".circle {\n width: 50px;\n height: 50px;\n border-radius: 50%;\n margin: 5px;\n background: grey;\n }", ".red {\n background: red;\n }\n ", "\n .yellow {\n background: yellow;\n }\n ", "\n .green {\n background: green;\n }\n ", "\n .black {\n background: black;\n }", ":host {\n display: flex;\n flex-direction: column;\n background: black;\n \n padding: 2px;\n height: 170px;\n max-height: 170px;\n flex: 0 0 content;\n }\n "] });
|
|
3383
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SimpleTrafficLight, decorators: [{
|
|
3244
3384
|
type: i0.Component,
|
|
3245
3385
|
args: [{
|
|
3246
3386
|
selector: 'app-simpletrafficlight',
|
|
@@ -3313,9 +3453,9 @@
|
|
|
3313
3453
|
};
|
|
3314
3454
|
return CanvasLayerComponent;
|
|
3315
3455
|
}());
|
|
3316
|
-
CanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3317
|
-
CanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
3318
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
3456
|
+
CanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: CanvasLayerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
3457
|
+
CanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: CanvasLayerComponent, ngImport: i0__namespace });
|
|
3458
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: CanvasLayerComponent, decorators: [{
|
|
3319
3459
|
type: i0.Directive
|
|
3320
3460
|
}], ctorParameters: function () { return []; } });
|
|
3321
3461
|
|
|
@@ -3600,9 +3740,9 @@
|
|
|
3600
3740
|
};
|
|
3601
3741
|
return BasicAudioCanvasLayerComponent;
|
|
3602
3742
|
}(CanvasLayerComponent));
|
|
3603
|
-
BasicAudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3604
|
-
BasicAudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
3605
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
3743
|
+
BasicAudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: BasicAudioCanvasLayerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
3744
|
+
BasicAudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: BasicAudioCanvasLayerComponent, usesInheritance: true, ngImport: i0__namespace });
|
|
3745
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: BasicAudioCanvasLayerComponent, decorators: [{
|
|
3606
3746
|
type: i0.Directive
|
|
3607
3747
|
}] });
|
|
3608
3748
|
var AudioCanvasLayerComponent = /** @class */ (function (_super) {
|
|
@@ -3820,9 +3960,9 @@
|
|
|
3820
3960
|
};
|
|
3821
3961
|
return AudioCanvasLayerComponent;
|
|
3822
3962
|
}(BasicAudioCanvasLayerComponent));
|
|
3823
|
-
AudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
3824
|
-
AudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
3825
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
3963
|
+
AudioCanvasLayerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioCanvasLayerComponent, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
3964
|
+
AudioCanvasLayerComponent.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: AudioCanvasLayerComponent, inputs: { pointerPosition: "pointerPosition", selecting: "selecting", selection: "selection" }, outputs: { pointerPositionEventEmitter: "pointerPositionEventEmitter", selectingEventEmitter: "selectingEventEmitter", selectedEventEmitter: "selectedEventEmitter" }, host: { listeners: { "document:mouseup": "onMouseup($event)" } }, viewQueries: [{ propertyName: "bgCanvasRef", first: true, predicate: ["bg"], descendants: true, static: true }, { propertyName: "cursorCanvasRef", first: true, predicate: ["cursor"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace });
|
|
3965
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioCanvasLayerComponent, decorators: [{
|
|
3826
3966
|
type: i0.Directive
|
|
3827
3967
|
}], propDecorators: { bgCanvasRef: [{
|
|
3828
3968
|
type: i0.ViewChild,
|
|
@@ -4155,9 +4295,9 @@
|
|
|
4155
4295
|
};
|
|
4156
4296
|
return AudioSignal;
|
|
4157
4297
|
}(AudioCanvasLayerComponent));
|
|
4158
|
-
AudioSignal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
4159
|
-
AudioSignal.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
4160
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
4298
|
+
AudioSignal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioSignal, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
4299
|
+
AudioSignal.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AudioSignal, selector: "audio-signal", viewQueries: [{ propertyName: "audioSignalCanvasRef", first: true, predicate: ["audioSignal"], descendants: true, static: true }, { propertyName: "playPosCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n <canvas #bg height=\"10\"></canvas>\n <canvas #audioSignal height=\"10\"></canvas>\n <canvas #cursor height=\"10\" (mousedown)=\"selectionStart($event)\" (mouseover)=\"updateCursorCanvas($event)\" (mousemove)=\"updateCursorCanvas($event)\"\n (mouseleave)=\"updateCursorCanvas($event, false)\"></canvas>\n <canvas #marker height=\"10\"></canvas>", isInline: true, styles: [":host{\n min-height: 0px;\n }", "canvas {\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n min-height: 0px;\n position: absolute;\n }"] });
|
|
4300
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioSignal, decorators: [{
|
|
4161
4301
|
type: i0.Component,
|
|
4162
4302
|
args: [{
|
|
4163
4303
|
selector: 'audio-signal',
|
|
@@ -5093,9 +5233,9 @@
|
|
|
5093
5233
|
};
|
|
5094
5234
|
return Sonagram;
|
|
5095
5235
|
}(AudioCanvasLayerComponent));
|
|
5096
|
-
Sonagram.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5097
|
-
Sonagram.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
5098
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
5236
|
+
Sonagram.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Sonagram, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
5237
|
+
Sonagram.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: Sonagram, selector: "audio-sonagram", viewQueries: [{ propertyName: "sonagramCanvasRef", first: true, predicate: ["sonagram"], descendants: true, static: true }, { propertyName: "markerCanvasRef", first: true, predicate: ["marker"], descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n <canvas #sonagram height=\"10\"></canvas>\n <canvas #bg height=\"10\"></canvas>\n <canvas #cursor height=\"10\" (mousedown)=\"selectionStart($event)\" (mouseover)=\"updateCursorCanvas($event)\" (mousemove)=\"updateCursorCanvas($event)\"\n (mouseleave)=\"updateCursorCanvas($event, false)\"></canvas>\n <canvas #marker height=\"10\"></canvas>", isInline: true, styles: [":host{\n min-height: 0px;\n }", "canvas {\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n min-height: 0px;\n position: absolute;\n }"] });
|
|
5238
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Sonagram, decorators: [{
|
|
5099
5239
|
type: i0.Component,
|
|
5100
5240
|
args: [{
|
|
5101
5241
|
selector: 'audio-sonagram',
|
|
@@ -5454,9 +5594,9 @@
|
|
|
5454
5594
|
return AudioClipUIContainer;
|
|
5455
5595
|
}(BasicAudioCanvasLayerComponent));
|
|
5456
5596
|
AudioClipUIContainer.DIVIDER_PIXEL_SIZE = 10;
|
|
5457
|
-
AudioClipUIContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5458
|
-
AudioClipUIContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
5459
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
5597
|
+
AudioClipUIContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioClipUIContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
5598
|
+
AudioClipUIContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AudioClipUIContainer, selector: "app-audio", inputs: { audioData: "audioData", audioClip: "audioClip" }, outputs: { selectionEventEmitter: "selectionEventEmitter" }, host: { listeners: { "window:resize": "onResize($event)", "document:mouseup": "onMouseup($event)", "document:mousemove": "onMousemove($event)" } }, viewQueries: [{ propertyName: "canvasRef", first: true, predicate: ["divider"], descendants: true, static: true }, { propertyName: "ceRef", first: true, predicate: ["virtualCanvas"], descendants: true, static: true }, { propertyName: "as", first: true, predicate: AudioSignal, descendants: true, static: true }, { propertyName: "so", first: true, predicate: Sonagram, descendants: true, static: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n <div #virtualCanvas>\n <canvas #divider (mousedown)=\"mousedown($event)\" (mouseover)=\"mouseover($event)\"\n (mouseleave)=\"mouseleave($event)\" height=\"10\"></canvas>\n <audio-signal [pointerPosition]=\"pointer\" [selecting]=\"selecting\" [selection]=\"selection\" (pointerPositionEventEmitter)=\"pointerPositionChanged($event)\" (selectingEventEmitter)=\"selectingChanged($event)\" (selectedEventEmitter)=\"selectionChanged($event)\"></audio-signal>\n <audio-sonagram [pointerPosition]=\"pointer\" [selecting]=\"selecting\" [selection]=\"selection\" (pointerPositionEventEmitter)=\"pointerPositionChanged($event)\" (selectingEventEmitter)=\"selectingChanged($event)\" (selectedEventEmitter)=\"selectionChanged($event)\"></audio-sonagram>\n </div>\n ", isInline: true, styles: ["div {\n\n margin: 0;\n padding: 0;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n position: relative; /* TODO container div position must not be 'static' (default) to act as reference for the canvases */\n box-sizing: border-box;\n transform: none;\n }", "canvas{\n top: 0;\n left: 0;\n width: 0;\n height: 0;\n cursor: ns-resize;\n position: absolute;\n zIndex: 1;\n transform: none;\n }", "audio-signal {\n top: 0;\n left: 0;\n position: absolute;\n zIndex: 1;\n transform: none;\n }", "audio-sonagram {\n top: 0;\n left: 0;\n position: absolute;\n zIndex: 1;\n transform: none;\n }"], components: [{ type: AudioSignal, selector: "audio-signal" }, { type: Sonagram, selector: "audio-sonagram" }] });
|
|
5599
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioClipUIContainer, decorators: [{
|
|
5460
5600
|
type: i0.Component,
|
|
5461
5601
|
args: [{
|
|
5462
5602
|
selector: 'app-audio',
|
|
@@ -5617,9 +5757,9 @@
|
|
|
5617
5757
|
});
|
|
5618
5758
|
return AudioDisplayScrollPane;
|
|
5619
5759
|
}());
|
|
5620
|
-
AudioDisplayScrollPane.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5621
|
-
AudioDisplayScrollPane.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
5622
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
5760
|
+
AudioDisplayScrollPane.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayScrollPane, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
5761
|
+
AudioDisplayScrollPane.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: { audioClip: "audioClip" }, outputs: { zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomSelectedAction: "zoomSelectedAction", zoomFitToPanelAction: "zoomFitToPanelAction" }, host: { listeners: { "scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "ac", first: true, predicate: AudioClipUIContainer, descendants: true, static: true }], ngImport: i0__namespace, template: "\n\n <app-audio #audioSignalContainer (selectionEventEmitter)=\"selectionChanged($event)\"></app-audio>\n\n ", isInline: true, styles: [":host {\n flex: 2;\n width: 100%;\n background: darkgray;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n overflow-x: scroll;\n overflow-y: auto;\n }", "app-audio {\n\n margin: 0;\n padding: 0;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n\n /*position: absolute;*/\n box-sizing: border-box;\n }"], components: [{ type: AudioClipUIContainer, selector: "app-audio", inputs: ["audioData", "audioClip"], outputs: ["selectionEventEmitter"] }] });
|
|
5762
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayScrollPane, decorators: [{
|
|
5623
5763
|
type: i0.Component,
|
|
5624
5764
|
args: [{
|
|
5625
5765
|
selector: 'audio-display-scroll-pane',
|
|
@@ -5683,9 +5823,9 @@
|
|
|
5683
5823
|
};
|
|
5684
5824
|
return AudioDisplayControl;
|
|
5685
5825
|
}());
|
|
5686
|
-
AudioDisplayControl.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5687
|
-
AudioDisplayControl.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
5688
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
5826
|
+
AudioDisplayControl.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayControl, deps: [{ token: i0__namespace.ChangeDetectorRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
5827
|
+
AudioDisplayControl.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AudioDisplayControl, selector: "audio-display-control", inputs: { audioClip: "audioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", playStopAction: "playStopAction", zoomInAction: "zoomInAction", zoomOutAction: "zoomOutAction", zoomFitToPanelAction: "zoomFitToPanelAction", zoomSelectedAction: "zoomSelectedAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction" }, viewQueries: [{ propertyName: "autoplaySelectedCheckbox", first: true, predicate: i2$1.MatCheckbox, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div #controlPanel style=\"display:flex;flex-direction: row;\">\n <fieldset>\n\n <legend>Play</legend>\n\n <button (click)=\"playStartAction?.perform()\" [disabled]=\"playStartAction?.disabled\"\n [style.color]=\"playStartAction?.disabled ? 'grey' : 'green'\" matTooltip=\"Play all\">\n <mat-icon>play_arrow</mat-icon>\n </button>\n <button (click)=\"playSelectionAction?.perform()\" [disabled]=\"playSelectionAction?.disabled\"\n [style.color]=\"playSelectionAction?.disabled ? 'grey' : 'green'\" matTooltip=\"Play selection\">\n <mat-icon>play_circle_outline</mat-icon>\n </button>\n <button (click)=\"playStopAction?.perform()\" [disabled]=\"playStopAction?.disabled\"\n [style.color]=\"playStopAction?.disabled ? 'grey' : 'yellow'\">\n <mat-icon>stop</mat-icon>\n </button> \n <mat-checkbox #autoplaySelectionCheckbox (change)=\"autoPlaySelectionChange($event)\">Autoplay on select\n </mat-checkbox>\n </fieldset>\n <fieldset>\n\n <legend>Zoom</legend>\n <button (click)=\"zoomFitToPanelAction?.perform()\"\n [disabled]=\"zoomFitToPanelAction?.disabled\">{{zoomFitToPanelAction?.name}}</button>\n <button (click)=\"zoomOutAction?.perform()\"\n [disabled]=\"zoomOutAction?.disabled\">{{zoomOutAction?.name}}</button>\n <button (click)=\"zoomInAction?.perform()\"\n [disabled]=\"zoomInAction?.disabled\">{{zoomInAction?.name}}</button>\n <button (click)=\"zoomSelectedAction?.perform()\"\n [disabled]=\"zoomSelectedAction?.disabled\">{{zoomSelectedAction?.name}}</button>\n </fieldset>\n <fieldset>\n <legend>Selection</legend>\n {{audioClip?.selection?.leftFrame}} <span\n *ngIf=\"audioClip?.selection\">to</span> {{audioClip?.selection?.rightFrame}}\n <button (click)=\"clearSelection()\" [disabled]=\"audioClip?.selection==null\"\n [style.color]=\"hasSelection() ? 'red' : 'grey'\" matTooltip=\"Clear selection\">\n <mat-icon>clear</mat-icon>\n </button>\n\n </fieldset>\n </div>", isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2__namespace$1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
5828
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayControl, decorators: [{
|
|
5689
5829
|
type: i0.Component,
|
|
5690
5830
|
args: [{
|
|
5691
5831
|
selector: 'audio-display-control',
|
|
@@ -5795,9 +5935,9 @@
|
|
|
5795
5935
|
};
|
|
5796
5936
|
return AudioDisplay;
|
|
5797
5937
|
}());
|
|
5798
|
-
AudioDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5799
|
-
AudioDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
5800
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
5938
|
+
AudioDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplay, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
5939
|
+
AudioDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AudioDisplay, selector: "app-audiodisplay", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n ", isInline: true, styles: [":host {\n display: flex;\n flex-direction: column;\n position: absolute;\n bottom: 0px;\n height: 100%;\n width: 100%;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: rgba(230, 230, 230, 1.0)\n }", "\n legend{\n margin-left: 1em; padding: 0.2em 0.8em;font-size: 0.8em;\n }", "\n fieldset{\n border: 1px darkgray solid\n }\n "], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
|
|
5940
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplay, decorators: [{
|
|
5801
5941
|
type: i0.Component,
|
|
5802
5942
|
args: [{
|
|
5803
5943
|
selector: 'app-audiodisplay',
|
|
@@ -5838,9 +5978,9 @@
|
|
|
5838
5978
|
});
|
|
5839
5979
|
return ScrollIntoViewDirective;
|
|
5840
5980
|
}());
|
|
5841
|
-
ScrollIntoViewDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5842
|
-
ScrollIntoViewDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
5843
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
5981
|
+
ScrollIntoViewDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollIntoViewDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
|
5982
|
+
ScrollIntoViewDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: { scrollIntoViewToBottom: "scrollIntoViewToBottom" }, ngImport: i0__namespace });
|
|
5983
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollIntoViewDirective, decorators: [{
|
|
5844
5984
|
type: i0.Directive,
|
|
5845
5985
|
args: [{
|
|
5846
5986
|
selector: "[scrollIntoViewToBottom]"
|
|
@@ -5887,9 +6027,9 @@
|
|
|
5887
6027
|
});
|
|
5888
6028
|
return Progress;
|
|
5889
6029
|
}());
|
|
5890
|
-
Progress.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5891
|
-
Progress.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
5892
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6030
|
+
Progress.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Progress, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6031
|
+
Progress.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: Progress, selector: "app-sprprogress", inputs: { items: "items", selectedItemIdx: "selectedItemIdx", enableDownload: "enableDownload" }, outputs: { onRowSelect: "onRowSelect", rowSelect: "rowSelect", onShowDoneAction: "onShowDoneAction", clickDone: "clickDone", onDownloadDoneAction: "onDownloadDoneAction", clickDownloadDone: "clickDownloadDone" }, ngImport: i0__namespace, template: "\n\n <table class=\"mat-typography\">\n <thead>\n <tr>\n <th>#</th><!--<th>Code</th>-->\n <th>Prompt</th>\n <th>Status</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngIf=\"items\">\n\n <tr *ngFor=\"let item of items; let itIdx=index;\"\n (click)=\"rowSelect=itIdx\" [class.selRow]=\"itIdx===selectedItemIdx\"\n [scrollIntoViewToBottom]=\"itIdx===selectedItemIdx\">\n <td>{{itIdx}}</td>\n <td class=\"promptDescriptor\">{{item.promptAsString}}</td>\n <td>\n <mat-icon *ngIf=\"item.recs && item.recs.length>0\">done</mat-icon>\n\n </td>\n </tr>\n </ng-container>\n\n </tbody>\n </table>\n ", isInline: true, styles: [":host {\n overflow-x: hidden;\n overflow-y: scroll;\n padding: 10pt;\n /*flex: 0.1 0 300px; \n min-width: 300px; */\n flex: 0.1 0 content;\n background: white;\n /* Workaround for Firefox\n If the progress table gets long (script with many items) FF increases the height of the overflow progressContainer and\n the whole app does not fit into the page anymore. The app overflows and shows a vertical scrollbar for the whole app.\n See http://stackoverflow.com/questions/28636832/firefox-overflow-y-not-working-with-nested-flexbox\n */\n /* min-height:0px; */\n min-height: 1px;\n }", "table {\n min-height: 1px;\n border-collapse: collapse;\n /* Tables do not have a natural min size */\n /*min-width: 300px; */\n \n }\n\n table, th, td {\n border: 1px solid lightgrey;\n padding: 0.5em;\n \n }\n\n ", "\n .selRow {\n background: lightblue;\n }\n ", ".promptDescriptor{\n \n max-width: 200px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }"], components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }] });
|
|
6032
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Progress, decorators: [{
|
|
5893
6033
|
type: i0.Component,
|
|
5894
6034
|
args: [{
|
|
5895
6035
|
selector: 'app-sprprogress',
|
|
@@ -5932,9 +6072,9 @@
|
|
|
5932
6072
|
};
|
|
5933
6073
|
return Recinstructions;
|
|
5934
6074
|
}());
|
|
5935
|
-
Recinstructions.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
5936
|
-
Recinstructions.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
5937
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6075
|
+
Recinstructions.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Recinstructions, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6076
|
+
Recinstructions.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: Recinstructions, selector: "spr-recinstructions", inputs: { recinstructions: "recinstructions", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount" }, ngImport: i0__namespace, template: "\n\n {{displayText()}}\n ", isInline: true, styles: [":host {\n\n justify-content: left; /* align horizontal center */\n align-items: flex-start; /* align vertical center */\n background: white;\n text-align: left;\n font-size: 1em;\n flex: 0;\n width: 100%;\n }\n "] });
|
|
6077
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Recinstructions, decorators: [{
|
|
5938
6078
|
type: i0.Component,
|
|
5939
6079
|
args: [{
|
|
5940
6080
|
selector: 'spr-recinstructions',
|
|
@@ -6122,9 +6262,9 @@
|
|
|
6122
6262
|
});
|
|
6123
6263
|
return Prompter;
|
|
6124
6264
|
}());
|
|
6125
|
-
Prompter.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6126
|
-
Prompter.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6127
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6265
|
+
Prompter.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompter, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: ProjectService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6266
|
+
Prompter.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: Prompter, selector: "app-sprprompter", inputs: { projectName: "projectName", prompterHeight: "prompterHeight", promptMediaItems: "promptMediaItems" }, host: { properties: { "class.fill": "this.prompterStyleFill" } }, ngImport: i0__namespace, template: "\n\n <!--<ng-template [ngIf]=\"text\">{{text}}</ng-template>-->\n <!-- <img *ngIf=\"src\" #promptImage [src]=\"srcUrl()\" [height]=\"prompterHeight-20\" /> -->\n ", isInline: true, styles: [":host {\n\n justify-content: center; /* align horizontal center */\n align-items: center; /* align vertical center */\n background: white;\n text-align: center;\n /* font-size: 2em; */\n line-height: 1.2em;\n font-weight: bold;\n /* Use only natural size of the prompt */\n /* The prompter compnent then ets aligned vertically centered */\n flex: 0 1;\n\n }", ":host(.fill) {\n /* Use all space to scale images */\n flex: 3;\n width: 100%;\n height: 100%;\n max-height: 100%;\n max-width: 100%;\n /* A separate flex container might be necessayr to alighn centered */\n vertical-align: middle; /* TODO does not work, image is not vertically centered */\n }"] });
|
|
6267
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompter, decorators: [{
|
|
6128
6268
|
type: i0.Component,
|
|
6129
6269
|
args: [{
|
|
6130
6270
|
selector: 'app-sprprompter',
|
|
@@ -6279,9 +6419,9 @@
|
|
|
6279
6419
|
};
|
|
6280
6420
|
return PromptContainer;
|
|
6281
6421
|
}());
|
|
6282
|
-
PromptContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6283
|
-
PromptContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6284
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6422
|
+
PromptContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6423
|
+
PromptContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PromptContainer, selector: "app-sprpromptcontainer", inputs: { projectName: "projectName", mediaitems: "mediaitems" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "prompter", first: true, predicate: Prompter, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <app-sprprompter #prompter [projectName]=\"projectName\" [promptMediaItems]=\"mediaitems\" [style.font-size]=\"fontSize+'px'\" [style.visibility]=\"prDisplay\" [prompterHeight]=\"prompterHeight\"></app-sprprompter>\n ", isInline: true, styles: [":host {\n\n flex: 3; /* the container consumes all available space */\n padding: 10pt;\n height: 100%;\n max-height: 100%;\n\n justify-content: center; /* align horizontal center*/\n align-items: center; /* align vertical center */\n background: white;\n text-align: center;\n display: flex;\n flex-direction: column;\n min-height: 0px;\n width: 100%;\n }\n "], components: [{ type: Prompter, selector: "app-sprprompter", inputs: ["projectName", "prompterHeight", "promptMediaItems"] }] });
|
|
6424
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptContainer, decorators: [{
|
|
6285
6425
|
type: i0.Component,
|
|
6286
6426
|
args: [{
|
|
6287
6427
|
selector: 'app-sprpromptcontainer',
|
|
@@ -6407,9 +6547,9 @@
|
|
|
6407
6547
|
};
|
|
6408
6548
|
return PromptingContainer;
|
|
6409
6549
|
}());
|
|
6410
|
-
PromptingContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6411
|
-
PromptingContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6412
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6550
|
+
PromptingContainer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptingContainer, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6551
|
+
PromptingContainer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PromptingContainer, selector: "app-sprpromptingcontainer", inputs: { projectName: "projectName", promptItem: "promptItem", showPrompt: "showPrompt", selectedItemIdx: "selectedItemIdx", itemCount: "itemCount", transportActions: "transportActions" }, host: { listeners: { "touchstart": "onTouchstart($event)", "touchend": "onTouchEnd($event)", "touchmove": "onTouchMove($event)", "touchcancel": "onTouchCancel($event)" } }, ngImport: i0__namespace, template: "\n <spr-recinstructions [selectedItemIdx]=\"selectedItemIdx\" [itemCount]=\"itemCount\"\n [recinstructions]=\"promptItem?.recinstructions?.recinstructions\"></spr-recinstructions>\n <app-sprpromptcontainer [projectName]=\"projectName\"\n [mediaitems]=\"showPrompt?(promptItem?promptItem.mediaitems:null):null\"></app-sprpromptcontainer>\n\n ", isInline: true, styles: [":host {\n position: relative;\n flex: 3; /* the container consumes all available space */\n padding: 10pt;\n justify-content: center; /* align horizontal center*/\n align-items: center; /* align vertical center */\n background: white;\n text-align: center;\n display: flex;\n flex-direction: column;\n min-height: 0px;\n }\n "], components: [{ type: Recinstructions, selector: "spr-recinstructions", inputs: ["recinstructions", "selectedItemIdx", "itemCount"] }, { type: PromptContainer, selector: "app-sprpromptcontainer", inputs: ["projectName", "mediaitems"] }] });
|
|
6552
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PromptingContainer, decorators: [{
|
|
6413
6553
|
type: i0.Component,
|
|
6414
6554
|
args: [{
|
|
6415
6555
|
selector: 'app-sprpromptingcontainer',
|
|
@@ -6464,13 +6604,13 @@
|
|
|
6464
6604
|
};
|
|
6465
6605
|
return Prompting;
|
|
6466
6606
|
}());
|
|
6467
|
-
Prompting.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6468
|
-
Prompting.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6469
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6607
|
+
Prompting.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompting, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6608
|
+
Prompting.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: Prompting, selector: "app-sprprompting", inputs: { projectName: "projectName", startStopSignalState: "startStopSignalState", promptItem: "promptItem", showPrompt: "showPrompt", items: "items", selectedItemIdx: "selectedItemIdx", transportActions: "transportActions", enableDownload: "enableDownload", audioSignalCollapsed: "audioSignalCollapsed", displayAudioClip: "displayAudioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", playStopAction: "playStopAction" }, outputs: { onItemSelect: "onItemSelect", onNextItem: "onNextItem", onPrevItem: "onPrevItem" }, viewQueries: [{ propertyName: "simpleTrafficLight", first: true, predicate: SimpleTrafficLight, descendants: true, static: true }, { propertyName: "audioDisplay", first: true, predicate: AudioDisplay, descendants: true, static: true }], ngImport: i0__namespace, template: "\n\n <app-simpletrafficlight [status]=\"startStopSignalState\"></app-simpletrafficlight>\n <app-sprpromptingcontainer [projectName]=\"projectName\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [itemCount]=\"items?.length\" [selectedItemIdx]=\"selectedItemIdx\"\n [transportActions]=\"transportActions\"></app-sprpromptingcontainer>\n <app-sprprogress fxHide.xs [items]=\"items\" [selectedItemIdx]=\"selectedItemIdx\"\n (onRowSelect)=\"itemSelect($event)\"></app-sprprogress>\n <div fxHide.xs #asCt [class.active]=\"!audioSignalCollapsed\">\n\n <app-audiodisplay #audioSignalContainer [class.active]=\"!audioSignalCollapsed\"\n [audioClip]=\"displayAudioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [playStopAction]=\"playStopAction\"></app-audiodisplay>\n\n\n </div>\n\n\n\n ", isInline: true, styles: [":host {\n position: relative;\n margin: 0;\n padding: 0;\n background: lightgrey;\n width: 100%; /* use all horizontal available space */\n flex: 1; /* ... and fill rest of vertical available space (other components have flex 0) */\n\n /* Workaround for Firefox\n If the progress table gets long (script with many items) FF increases the height of the overflow progressContainer and\n the whole app does not fit into the page anymore. The app overflows and shows a vertical scrollbar for the whole app.\n See http://stackoverflow.com/questions/28636832/firefox-overflow-y-not-working-with-nested-flexbox\n */\n min-height: 0px;\n\n display: flex; /* flex container: left traffic light, right prompter (container) */\n flex-direction: row;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "\n app-simpletrafficlight {\n margin: 10px;\n min-height: 0px;\n z-index: 3;\n }\n ", "\n app-sprprogress {\n z-index: 3;\n }\n ", "\n div {\n display: none;\n position: absolute;\n\n\n /* height: 50%; */\n /* width: 100%; */\n\n /* overflow: hidden; */\n\n /* margin: 20px; */\n /* border: 20px; */\n z-index: 5;\n /*background-color: red; */\n }", "\n div.active {\n display: flex;\n position: absolute;\n bottom: 0px;\n /*left: 0px; */\n\n height: 90%;\n width: 100%;\n\n overflow: hidden;\n\n padding: 0px;\n /* margin: 20px; */\n /* border: 20px; */\n z-index: 5;\n box-sizing: border-box;\n background-color: rgba(0, 0, 0, 0)\n\n }"], components: [{ type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: ["status"] }, { type: PromptingContainer, selector: "app-sprpromptingcontainer", inputs: ["projectName", "promptItem", "showPrompt", "selectedItemIdx", "itemCount", "transportActions"] }, { type: Progress, selector: "app-sprprogress", inputs: ["items", "selectedItemIdx", "enableDownload"], outputs: ["onRowSelect", "rowSelect", "onShowDoneAction", "clickDone", "onDownloadDoneAction", "clickDownloadDone"] }, { type: AudioDisplay, selector: "app-audiodisplay", inputs: ["playStartAction", "playStopAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "audioData", "audioClip"] }], directives: [{ type: i3__namespace$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
|
|
6609
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: Prompting, decorators: [{
|
|
6470
6610
|
type: i0.Component,
|
|
6471
6611
|
args: [{
|
|
6472
6612
|
selector: 'app-sprprompting',
|
|
6473
|
-
template: "\n\n <app-simpletrafficlight [status]=\"startStopSignalState\"></app-simpletrafficlight>\n <app-sprpromptingcontainer [projectName]=\"projectName\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [itemCount]=\"items?.length\" [selectedItemIdx]=\"selectedItemIdx\"\n [transportActions]=\"transportActions\"></app-sprpromptingcontainer>\n <app-sprprogress fxHide.xs [items]=\"items\" [selectedItemIdx]=\"selectedItemIdx\"\n (onRowSelect)=\"itemSelect($event)\"></app-sprprogress>\n <div #asCt [class.active]=\"!audioSignalCollapsed\">\n\n <app-audiodisplay #audioSignalContainer [class.active]=\"!audioSignalCollapsed\"\n [audioClip]=\"displayAudioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [playStopAction]=\"playStopAction\"></app-audiodisplay>\n\n\n </div>\n\n\n\n ",
|
|
6613
|
+
template: "\n\n <app-simpletrafficlight [status]=\"startStopSignalState\"></app-simpletrafficlight>\n <app-sprpromptingcontainer [projectName]=\"projectName\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [itemCount]=\"items?.length\" [selectedItemIdx]=\"selectedItemIdx\"\n [transportActions]=\"transportActions\"></app-sprpromptingcontainer>\n <app-sprprogress fxHide.xs [items]=\"items\" [selectedItemIdx]=\"selectedItemIdx\"\n (onRowSelect)=\"itemSelect($event)\"></app-sprprogress>\n <div fxHide.xs #asCt [class.active]=\"!audioSignalCollapsed\">\n\n <app-audiodisplay #audioSignalContainer [class.active]=\"!audioSignalCollapsed\"\n [audioClip]=\"displayAudioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"autoPlayOnSelectToggleAction\"\n [playStopAction]=\"playStopAction\"></app-audiodisplay>\n\n\n </div>\n\n\n\n ",
|
|
6474
6614
|
styles: [":host {\n position: relative;\n margin: 0;\n padding: 0;\n background: lightgrey;\n width: 100%; /* use all horizontal available space */\n flex: 1; /* ... and fill rest of vertical available space (other components have flex 0) */\n\n /* Workaround for Firefox\n If the progress table gets long (script with many items) FF increases the height of the overflow progressContainer and\n the whole app does not fit into the page anymore. The app overflows and shows a vertical scrollbar for the whole app.\n See http://stackoverflow.com/questions/28636832/firefox-overflow-y-not-working-with-nested-flexbox\n */\n min-height: 0px;\n\n display: flex; /* flex container: left traffic light, right prompter (container) */\n flex-direction: row;\n flex-wrap: nowrap; /* wrap could completely destroy the layout */\n }", "\n app-simpletrafficlight {\n margin: 10px;\n min-height: 0px;\n z-index: 3;\n }\n ", "\n app-sprprogress {\n z-index: 3;\n }\n ", "\n div {\n display: none;\n position: absolute;\n\n\n /* height: 50%; */\n /* width: 100%; */\n\n /* overflow: hidden; */\n\n /* margin: 20px; */\n /* border: 20px; */\n z-index: 5;\n /*background-color: red; */\n }", "\n div.active {\n display: flex;\n position: absolute;\n bottom: 0px;\n /*left: 0px; */\n\n height: 90%;\n width: 100%;\n\n overflow: hidden;\n\n padding: 0px;\n /* margin: 20px; */\n /* border: 20px; */\n z-index: 5;\n box-sizing: border-box;\n background-color: rgba(0, 0, 0, 0)\n\n }"
|
|
6475
6615
|
]
|
|
6476
6616
|
}]
|
|
@@ -6628,14 +6768,14 @@
|
|
|
6628
6768
|
}
|
|
6629
6769
|
return StatusDisplay;
|
|
6630
6770
|
}());
|
|
6631
|
-
StatusDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6632
|
-
StatusDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6633
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6771
|
+
StatusDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StatusDisplay, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6772
|
+
StatusDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: { statusAlertType: "statusAlertType", statusMsg: "statusMsg", statusWaiting: "statusWaiting" }, ngImport: i0__namespace, template: "\n <p matTooltip=\"Status\">\n <mat-progress-spinner *ngIf=\"statusWaiting\" color=\"black\" mode=\"indeterminate\" [diameter]=\"30\" [strokeWidth]=\"5\"></mat-progress-spinner><mat-icon *ngIf=\"statusAlertType==='error'\" style=\"color:red\">report_problem</mat-icon>\n {{statusMsg}}\n </p>\n ", isInline: true, styles: [":host {\n display: inline;\n text-align: left;\n font-size: smaller;\n }", "\n p {\n padding: 4px;\n white-space:nowrap;\n display: inline-block;\n }\n ", "\n mat-progress-spinner {\n color: black;\n display: inline-block;\n }\n ", "\n span {\n color: red;\n }\n "], components: [{ type: i1__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
6773
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StatusDisplay, decorators: [{
|
|
6634
6774
|
type: i0.Component,
|
|
6635
6775
|
args: [{
|
|
6636
6776
|
selector: 'app-sprstatusdisplay',
|
|
6637
6777
|
template: "\n <p matTooltip=\"Status\">\n <mat-progress-spinner *ngIf=\"statusWaiting\" color=\"black\" mode=\"indeterminate\" [diameter]=\"30\" [strokeWidth]=\"5\"></mat-progress-spinner><mat-icon *ngIf=\"statusAlertType==='error'\" style=\"color:red\">report_problem</mat-icon>\n {{statusMsg}}\n </p>\n ",
|
|
6638
|
-
styles: [":host {\n
|
|
6778
|
+
styles: [":host {\n display: inline;\n text-align: left;\n font-size: smaller;\n }", "\n p {\n padding: 4px;\n white-space:nowrap;\n display: inline-block;\n }\n ", "\n mat-progress-spinner {\n color: black;\n display: inline-block;\n }\n ", "\n span {\n color: red;\n }\n "]
|
|
6639
6779
|
}]
|
|
6640
6780
|
}], propDecorators: { statusAlertType: [{
|
|
6641
6781
|
type: i0.Input
|
|
@@ -6704,9 +6844,9 @@
|
|
|
6704
6844
|
});
|
|
6705
6845
|
return UploadStatus;
|
|
6706
6846
|
}());
|
|
6707
|
-
UploadStatus.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6708
|
-
UploadStatus.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6709
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6847
|
+
UploadStatus.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: UploadStatus, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6848
|
+
UploadStatus.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: UploadStatus, selector: "app-uploadstatus", inputs: { value: "value", awaitNewUpload: "awaitNewUpload", status: "status" }, ngImport: i0__namespace, template: "\n <mat-progress-spinner [mode]=\"spinnerMode\" [color]=\"status\" [diameter]=\"30\" [strokeWidth]=\"5\" [value]=\"_value\" [matTooltip]=\"toolTipText\"></mat-progress-spinner>\n ", isInline: true, styles: [":host {\n flex: 1;\n /* align-self: flex-start; */\n /*display: inline; */\n text-align: left;\n }", "mat-progress-spinner{\n display: inline-block;\n }"], components: [{ type: i1__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
6849
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: UploadStatus, decorators: [{
|
|
6710
6850
|
type: i0.Component,
|
|
6711
6851
|
args: [{
|
|
6712
6852
|
selector: 'app-uploadstatus',
|
|
@@ -6726,9 +6866,9 @@
|
|
|
6726
6866
|
}
|
|
6727
6867
|
return ProgressDisplay;
|
|
6728
6868
|
}());
|
|
6729
|
-
ProgressDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6730
|
-
ProgressDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6731
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6869
|
+
ProgressDisplay.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProgressDisplay, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6870
|
+
ProgressDisplay.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ProgressDisplay, selector: "app-sprprogressdisplay", ngImport: i0__namespace, template: "\n <p>{{progressMsg}}</p>\n ", isInline: true, styles: [":host {\n flex: 1;\n /* align-self: flex-start; */\n /*display: inline; */\n width: 100%;\n text-align: left;\n }"] });
|
|
6871
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProgressDisplay, decorators: [{
|
|
6732
6872
|
type: i0.Component,
|
|
6733
6873
|
args: [{
|
|
6734
6874
|
selector: 'app-sprprogressdisplay',
|
|
@@ -6821,14 +6961,14 @@
|
|
|
6821
6961
|
};
|
|
6822
6962
|
return TransportPanel;
|
|
6823
6963
|
}());
|
|
6824
|
-
TransportPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6825
|
-
TransportPanel.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6826
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
6964
|
+
TransportPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TransportPanel, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
6965
|
+
TransportPanel.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled" }, ngImport: i0__namespace, template: "\n <button id=\"bwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.bwdAction.perform()\" [disabled]=\"bwdDisabled()\"\n mat-raised-button>\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button (click)=\"startStopNextPerform()\" [disabled]=\"startDisabled() && stopDisabled() && nextDisabled()\" mat-raised-button>\n <mat-icon [style.color]=\"startStopNextIconColor()\">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf=\"!nextDisabled()\" [style.color]=\"nextDisabled() ? 'grey' : 'black'\">chevron_right</mat-icon>\n <span fxShow.xs=\"false\">{{startStopNextName()}}</span>\n </button>\n <button (click)=\"actions.pauseAction.perform()\" [disabled]=\"pauseDisabled()\" mat-raised-button>\n <mat-icon>pause</mat-icon>\n <span fxShow.xs=\"false\">Pause</span>\n </button>\n <button id=\"fwdNextBtn\" *ngIf=\"navigationEnabled\" fxHide.xs (click)=\"actions.fwdNextAction.perform()\" [disabled]=\"fwdNextDisabled()\" mat-raised-button>\n <mat-icon>redo</mat-icon>\n </button>\n <button id=\"fwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.fwdAction.perform()\" [disabled]=\"fwdDisabled()\" mat-raised-button>\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n ", isInline: true, styles: [":host {\n flex: 20;\n align-self: center;\n width: 100%;\n text-align: center;\n align-content: center;\n margin: 0;\n\n }", "\n div {\n display: inline;\n flex: 0;\n }"], components: [{ type: i3__namespace$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }] });
|
|
6966
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TransportPanel, decorators: [{
|
|
6827
6967
|
type: i0.Component,
|
|
6828
6968
|
args: [{
|
|
6829
6969
|
selector: 'app-sprtransport',
|
|
6830
6970
|
template: "\n <button id=\"bwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.bwdAction.perform()\" [disabled]=\"bwdDisabled()\"\n mat-raised-button>\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button (click)=\"startStopNextPerform()\" [disabled]=\"startDisabled() && stopDisabled() && nextDisabled()\" mat-raised-button>\n <mat-icon [style.color]=\"startStopNextIconColor()\">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf=\"!nextDisabled()\" [style.color]=\"nextDisabled() ? 'grey' : 'black'\">chevron_right</mat-icon>\n <span fxShow.xs=\"false\">{{startStopNextName()}}</span>\n </button>\n <button (click)=\"actions.pauseAction.perform()\" [disabled]=\"pauseDisabled()\" mat-raised-button>\n <mat-icon>pause</mat-icon>\n <span fxShow.xs=\"false\">Pause</span>\n </button>\n <button id=\"fwdNextBtn\" *ngIf=\"navigationEnabled\" fxHide.xs (click)=\"actions.fwdNextAction.perform()\" [disabled]=\"fwdNextDisabled()\" mat-raised-button>\n <mat-icon>redo</mat-icon>\n </button>\n <button id=\"fwdBtn\" *ngIf=\"navigationEnabled\" (click)=\"actions.fwdAction.perform()\" [disabled]=\"fwdDisabled()\" mat-raised-button>\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n ",
|
|
6831
|
-
styles: [":host {\n flex: 20;\n align-self: center;\n width: 100%;\n text-align: center;\n align-content: center;\n margin: 0;\n }", "\n div {\n display: inline;\n flex: 0;\n }"
|
|
6971
|
+
styles: [":host {\n flex: 20;\n align-self: center;\n width: 100%;\n text-align: center;\n align-content: center;\n margin: 0;\n\n }", "\n div {\n display: inline;\n flex: 0;\n }"
|
|
6832
6972
|
]
|
|
6833
6973
|
}]
|
|
6834
6974
|
}], propDecorators: { readonly: [{
|
|
@@ -6838,14 +6978,44 @@
|
|
|
6838
6978
|
}], navigationEnabled: [{
|
|
6839
6979
|
type: i0.Input
|
|
6840
6980
|
}] } });
|
|
6981
|
+
var ReadyStateIndicator = /** @class */ (function () {
|
|
6982
|
+
function ReadyStateIndicator() {
|
|
6983
|
+
this._ready = true;
|
|
6984
|
+
this.hourGlassIconName = 'hourglass_empty';
|
|
6985
|
+
this.readyStateToolTip = '';
|
|
6986
|
+
}
|
|
6987
|
+
Object.defineProperty(ReadyStateIndicator.prototype, "ready", {
|
|
6988
|
+
get: function () {
|
|
6989
|
+
return this._ready;
|
|
6990
|
+
},
|
|
6991
|
+
set: function (ready) {
|
|
6992
|
+
this._ready = ready;
|
|
6993
|
+
this.hourGlassIconName = this._ready ? 'hourglass_empty' : 'hourglass_full';
|
|
6994
|
+
this.readyStateToolTip = this._ready ? 'Audio processing and upload done. You can leave the page without data loss.' : 'Please wait until audio processing and upload have finished. Please do not leave the page.';
|
|
6995
|
+
},
|
|
6996
|
+
enumerable: false,
|
|
6997
|
+
configurable: true
|
|
6998
|
+
});
|
|
6999
|
+
return ReadyStateIndicator;
|
|
7000
|
+
}());
|
|
7001
|
+
ReadyStateIndicator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ReadyStateIndicator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
7002
|
+
ReadyStateIndicator.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: { ready: "ready" }, ngImport: i0__namespace, template: "\n <mat-icon [matTooltip]=\"readyStateToolTip\">{{hourGlassIconName}}</mat-icon>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
7003
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ReadyStateIndicator, decorators: [{
|
|
7004
|
+
type: i0.Component,
|
|
7005
|
+
args: [{
|
|
7006
|
+
selector: 'app-readystateindicator',
|
|
7007
|
+
template: "\n <mat-icon [matTooltip]=\"readyStateToolTip\">{{hourGlassIconName}}</mat-icon>\n ",
|
|
7008
|
+
styles: []
|
|
7009
|
+
}]
|
|
7010
|
+
}], ctorParameters: function () { return []; }, propDecorators: { ready: [{
|
|
7011
|
+
type: i0.Input
|
|
7012
|
+
}] } });
|
|
6841
7013
|
var ControlPanel = /** @class */ (function () {
|
|
6842
7014
|
function ControlPanel(dialog) {
|
|
6843
7015
|
this.dialog = dialog;
|
|
6844
7016
|
this.processing = false;
|
|
6845
7017
|
this.navigationEnabled = true;
|
|
6846
7018
|
this._ready = true;
|
|
6847
|
-
this.hourGlassIconName = 'hourglass_empty';
|
|
6848
|
-
this.readyStateToolTip = '';
|
|
6849
7019
|
}
|
|
6850
7020
|
Object.defineProperty(ControlPanel.prototype, "ready", {
|
|
6851
7021
|
get: function () {
|
|
@@ -6853,22 +7023,20 @@
|
|
|
6853
7023
|
},
|
|
6854
7024
|
set: function (ready) {
|
|
6855
7025
|
this._ready = ready;
|
|
6856
|
-
this.hourGlassIconName = this._ready ? 'hourglass_empty' : 'hourglass_full';
|
|
6857
|
-
this.readyStateToolTip = this._ready ? 'Audio processing and upload done. You can leave the page without data loss.' : 'Please wait until audio processing and upload have finished. Please do not leave the page.';
|
|
6858
7026
|
},
|
|
6859
7027
|
enumerable: false,
|
|
6860
7028
|
configurable: true
|
|
6861
7029
|
});
|
|
6862
7030
|
return ControlPanel;
|
|
6863
7031
|
}());
|
|
6864
|
-
ControlPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6865
|
-
ControlPanel.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6866
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
7032
|
+
ControlPanel.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ControlPanel, deps: [{ token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
7033
|
+
ControlPanel.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ControlPanel, selector: "app-sprcontrolpanel", inputs: { readonly: "readonly", transportActions: "transportActions", processing: "processing", statusMsg: "statusMsg", statusAlertType: "statusAlertType", statusWaiting: "statusWaiting", uploadStatus: "uploadStatus", uploadProgress: "uploadProgress", currentRecording: "currentRecording", enableUploadRecordings: "enableUploadRecordings", navigationEnabled: "navigationEnabled", ready: "ready" }, viewQueries: [{ propertyName: "statusDisplay", first: true, predicate: StatusDisplay, descendants: true, static: true }, { propertyName: "transportPanel", first: true, predicate: TransportPanel, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div fxHide.xs fxLayout=\"row\" >\n <app-sprstatusdisplay fxFlex=\"0 0 0\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-sprtransport fxFlex=\"10 0 0\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <div fxShow.xs fxHide fxLayout=\"column\">\n <div fxLayout=\"row\" fxFlexFill>\n <app-sprstatusdisplay fxFlex=\"10 0 0\" fxFlexAlign=\"left\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <app-sprtransport [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n\n </div>\n ", isInline: true, styles: ["div {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\n }"], components: [{ type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }], directives: [{ type: i3__namespace$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.FlexFillDirective, selector: "[fxFill], [fxFlexFill]" }, { type: i8__namespace.DefaultFlexAlignDirective, selector: " [fxFlexAlign], [fxFlexAlign.xs], [fxFlexAlign.sm], [fxFlexAlign.md], [fxFlexAlign.lg], [fxFlexAlign.xl], [fxFlexAlign.lt-sm], [fxFlexAlign.lt-md], [fxFlexAlign.lt-lg], [fxFlexAlign.lt-xl], [fxFlexAlign.gt-xs], [fxFlexAlign.gt-sm], [fxFlexAlign.gt-md], [fxFlexAlign.gt-lg]", inputs: ["fxFlexAlign", "fxFlexAlign.xs", "fxFlexAlign.sm", "fxFlexAlign.md", "fxFlexAlign.lg", "fxFlexAlign.xl", "fxFlexAlign.lt-sm", "fxFlexAlign.lt-md", "fxFlexAlign.lt-lg", "fxFlexAlign.lt-xl", "fxFlexAlign.gt-xs", "fxFlexAlign.gt-sm", "fxFlexAlign.gt-md", "fxFlexAlign.gt-lg"] }] });
|
|
7034
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ControlPanel, decorators: [{
|
|
6867
7035
|
type: i0.Component,
|
|
6868
7036
|
args: [{
|
|
6869
7037
|
selector: 'app-sprcontrolpanel',
|
|
6870
|
-
template: "\n <
|
|
6871
|
-
styles: ["
|
|
7038
|
+
template: "\n <div fxHide.xs fxLayout=\"row\" >\n <app-sprstatusdisplay fxFlex=\"0 0 0\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-sprtransport fxFlex=\"10 0 0\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <div fxShow.xs fxHide fxLayout=\"column\">\n <div fxLayout=\"row\" fxFlexFill>\n <app-sprstatusdisplay fxFlex=\"10 0 0\" fxFlexAlign=\"left\" [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"\n class=\"hidden-xs\"></app-sprstatusdisplay>\n <app-uploadstatus fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processing\"></app-uploadstatus>\n <app-readystateindicator [ready]=\"_ready\"></app-readystateindicator>\n </div>\n <app-sprtransport [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"navigationEnabled\"></app-sprtransport>\n\n </div>\n ",
|
|
7039
|
+
styles: ["div {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\n }"]
|
|
6872
7040
|
}]
|
|
6873
7041
|
}], ctorParameters: function () { return [{ type: i1__namespace$3.MatDialog }]; }, propDecorators: { statusDisplay: [{
|
|
6874
7042
|
type: i0.ViewChild,
|
|
@@ -6912,9 +7080,9 @@
|
|
|
6912
7080
|
};
|
|
6913
7081
|
return SessionFinishedDialog;
|
|
6914
7082
|
}());
|
|
6915
|
-
SessionFinishedDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6916
|
-
SessionFinishedDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6917
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
7083
|
+
SessionFinishedDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionFinishedDialog, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
7084
|
+
SessionFinishedDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SessionFinishedDialog, selector: "spr-session-finished-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title><mat-icon [style.color]=\"'green'\">done_all</mat-icon> Session finished</h1>\n <div mat-dialog-content>\n\n <p>Thank you! The recording session is complete.</p>\n\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"closeDialog()\">OK</button>\n </div>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1__namespace$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
|
|
7085
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionFinishedDialog, decorators: [{
|
|
6918
7086
|
type: i0.Component,
|
|
6919
7087
|
args: [{
|
|
6920
7088
|
selector: 'spr-session-finished-dialog',
|
|
@@ -6937,9 +7105,9 @@
|
|
|
6937
7105
|
};
|
|
6938
7106
|
return MessageDialog;
|
|
6939
7107
|
}());
|
|
6940
|
-
MessageDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
6941
|
-
MessageDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
6942
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
7108
|
+
MessageDialog.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MessageDialog, deps: [{ token: i1__namespace$3.MatDialogRef }, { token: i1$3.MAT_DIALOG_DATA }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
7109
|
+
MessageDialog.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: MessageDialog, selector: "msg-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title><mat-icon *ngIf=\"data.type==='error'\" [style.color]=\"'red'\">error</mat-icon>\n <mat-icon *ngIf=\"data.type==='warning'\" [style.color]=\"'yellow'\">warning</mat-icon>{{data.title}}</h1>\n <div mat-dialog-content>\n\n <p>{{data.msg}}</p>\n <p>{{data.advice}}</p>\n\n </div>\n <div mat-dialog-actions>\n <button mat-button (click)=\"closeDialog()\">OK</button>\n </div>\n ", isInline: true, components: [{ type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1__namespace$3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1__namespace$3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
|
|
7110
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MessageDialog, decorators: [{
|
|
6943
7111
|
type: i0.Component,
|
|
6944
7112
|
args: [{
|
|
6945
7113
|
selector: 'msg-dialog',
|
|
@@ -7137,9 +7305,9 @@
|
|
|
7137
7305
|
return RecordingService;
|
|
7138
7306
|
}());
|
|
7139
7307
|
RecordingService.REC_API_CTX = 'recfile';
|
|
7140
|
-
RecordingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
7141
|
-
RecordingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
7142
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
7308
|
+
RecordingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
7309
|
+
RecordingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingService });
|
|
7310
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingService, decorators: [{
|
|
7143
7311
|
type: i0.Injectable
|
|
7144
7312
|
}], ctorParameters: function () {
|
|
7145
7313
|
return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
|
|
@@ -7158,9 +7326,9 @@
|
|
|
7158
7326
|
}
|
|
7159
7327
|
return SpeechRecorderUploader;
|
|
7160
7328
|
}(Uploader));
|
|
7161
|
-
SpeechRecorderUploader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
7162
|
-
SpeechRecorderUploader.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
7163
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
7329
|
+
SpeechRecorderUploader.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderUploader, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
7330
|
+
SpeechRecorderUploader.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderUploader });
|
|
7331
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechRecorderUploader, decorators: [{
|
|
7164
7332
|
type: i0.Injectable
|
|
7165
7333
|
}], ctorParameters: function () {
|
|
7166
7334
|
return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
|
|
@@ -7187,9 +7355,9 @@
|
|
|
7187
7355
|
});
|
|
7188
7356
|
return WarningBar;
|
|
7189
7357
|
}());
|
|
7190
|
-
WarningBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
7191
|
-
WarningBar.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
7192
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
7358
|
+
WarningBar.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: WarningBar, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
7359
|
+
WarningBar.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: WarningBar, selector: "app-warningbar", inputs: { warningText: "warningText", show: "show" }, providers: [SessionService], ngImport: i0__namespace, template: "\n <div [class]=\"displayClass\">{{warningText}}</div>\n\n ", isInline: true, styles: [":host {\n\n flex: 0 0 content;\n background: orange;\n\n }", "\n .off {\n display: none;\n }\n ", "\n .on {\n padding: 2px;\n display: inline-block;\n width: 100%;\n font-weight: bold;\n font-size: larger;\n text-align: center;\n }\n "] });
|
|
7360
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: WarningBar, decorators: [{
|
|
7193
7361
|
type: i0.Component,
|
|
7194
7362
|
args: [{
|
|
7195
7363
|
selector: 'app-warningbar',
|
|
@@ -7240,6 +7408,7 @@
|
|
|
7240
7408
|
this._displayRecFile = null;
|
|
7241
7409
|
this.displayAudioClip = null;
|
|
7242
7410
|
this.displayLevelInfos = null;
|
|
7411
|
+
this.peakLevelInDb = MIN_DB_LEVEL$1;
|
|
7243
7412
|
this.readonly = false;
|
|
7244
7413
|
this.processingRecording = false;
|
|
7245
7414
|
this.uploadProgress = 100;
|
|
@@ -7267,7 +7436,12 @@
|
|
|
7267
7436
|
this.init();
|
|
7268
7437
|
}
|
|
7269
7438
|
SessionManager.prototype.ngAfterViewInit = function () {
|
|
7439
|
+
var _this = this;
|
|
7270
7440
|
this.streamLevelMeasure.levelListener = this.liveLevelDisplay;
|
|
7441
|
+
this.streamLevelMeasure.peakLevelListener = function (peakLvlInDb) {
|
|
7442
|
+
_this.peakLevelInDb = peakLvlInDb;
|
|
7443
|
+
_this.changeDetectorRef.detectChanges();
|
|
7444
|
+
};
|
|
7271
7445
|
};
|
|
7272
7446
|
SessionManager.prototype.ngOnDestroy = function () {
|
|
7273
7447
|
this.destroyed = true;
|
|
@@ -8334,15 +8508,15 @@
|
|
|
8334
8508
|
};
|
|
8335
8509
|
return SessionManager;
|
|
8336
8510
|
}());
|
|
8337
|
-
SessionManager.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
8338
|
-
SessionManager.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
8339
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
8511
|
+
SessionManager.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionManager, deps: [{ token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.Renderer2 }, { token: i1__namespace$3.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
8512
|
+
SessionManager.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SessionManager, selector: "app-sprrecordingsession", inputs: { projectName: "projectName", dataSaved: "dataSaved" }, host: { listeners: { "window:keypress": "onKeyPress($event)", "window:keydown": "onKeyDown($event)" } }, providers: [SessionService], viewQueries: [{ propertyName: "prompting", first: true, predicate: Prompting, descendants: true, static: true }, { propertyName: "liveLevelDisplay", first: true, predicate: LevelBar, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <app-warningbar [show]=\"isTestSession()\" warningText=\"Test recording only!\"></app-warningbar>\n <app-warningbar [show]=\"isDefaultAudioTestSession()\" warningText=\"This test uses default audio device! Regular sessions may require a particular audio device (microphone)!\"></app-warningbar>\n <app-sprprompting [projectName]=\"projectName\"\n [startStopSignalState]=\"startStopSignalState\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [items]=\"items\"\n [transportActions]=\"transportActions\"\n [selectedItemIdx]=\"promptIndex\" (onItemSelect)=\"itemSelect($event)\" (onNextItem)=\"nextItem()\" (onPrevItem)=\"prevItem()\"\n [audioSignalCollapsed]=\"audioSignalCollapsed\" [displayAudioClip]=\"displayAudioClip\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playSelectionAction]=\"controlAudioPlayer?.startSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"controlAudioPlayer?.autoPlayOnSelectToggleAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\">\n\n </app-sprprompting>\n <mat-progress-bar [value]=\"progressPercentValue()\" fxShow=\"false\" fxShow.xs=\"true\" ></mat-progress-bar>\n\n\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"isRecording()\" [displayLevelInfos]=\"displayLevelInfos\"></audio-levelbar>\n <div fxLayout=\"row\">\n <spr-recordingitemcontrols fxFlex=\"10 0 1\"\n [audioLoaded]=\"displayAudioClip?.buffer!==null\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\"\n [peakDbLvl]=\"peakLevelInDb\"\n [agc]=\"this.ac?.agcStatus\"\n (onShowRecordingDetails)=\"audioSignalCollapsed=!audioSignalCollapsed\">\n </spr-recordingitemcontrols>\n <app-uploadstatus class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n <div #controlpanel class=\"controlpanel\" fxLayout=\"row\">\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"start center\">\n <app-sprstatusdisplay fxHide.xs [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"></app-sprstatusdisplay>\n </div>\n <app-sprtransport fxFlex=\"10 0 30%\" fxLayoutAlign=\"center center\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"items==null || items.length>1\"></app-sprtransport>\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"end center\" fxLayout=\"row\">\n <app-uploadstatus class=\"ricontrols\" fxHide.xs fxLayoutAlign=\"end center\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols\" fxLayoutAlign=\"end center\" fxHide.xs [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n ", isInline: true, styles: [":host {\n flex: 2;\n background: lightgrey;\n display: flex; /* Vertical flex container: Bottom transport panel, above prompting panel */\n flex-direction: column;\n margin: 0;\n padding: 0;\n min-height: 0px;\n\n /* Prevents horizontal scroll bar on swipe right */\n overflow: hidden;\n }", ".ricontrols {\n padding: 4px;\n box-sizing: border-box;\n height: 100%;\n }", ".dark {\n background: darkgray;\n }", ".controlpanel {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\n }"], components: [{ type: WarningBar, selector: "app-warningbar", inputs: ["warningText", "show"] }, { type: Prompting, selector: "app-sprprompting", inputs: ["projectName", "startStopSignalState", "promptItem", "showPrompt", "items", "selectedItemIdx", "transportActions", "enableDownload", "audioSignalCollapsed", "displayAudioClip", "playStartAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "playStopAction"], outputs: ["onItemSelect", "onNextItem", "onPrevItem"] }, { type: i7__namespace.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "mode", "value", "bufferValue"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos"] }, { type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }, { type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled"] }], directives: [{ type: i3__namespace$1.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { type: i8__namespace.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$1.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }, { type: i4__namespace.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8__namespace.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }] });
|
|
8513
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SessionManager, decorators: [{
|
|
8340
8514
|
type: i0.Component,
|
|
8341
8515
|
args: [{
|
|
8342
8516
|
selector: 'app-sprrecordingsession',
|
|
8343
8517
|
providers: [SessionService],
|
|
8344
|
-
template: "\n <app-warningbar [show]=\"isTestSession()\" warningText=\"Test recording only!\"></app-warningbar>\n <app-warningbar [show]=\"isDefaultAudioTestSession()\" warningText=\"This test uses default audio device! Regular sessions may require a particular audio device (microphone)!\"></app-warningbar>\n <app-sprprompting [projectName]=\"projectName\"\n [startStopSignalState]=\"startStopSignalState\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [items]=\"items\"\n [transportActions]=\"transportActions\"\n [selectedItemIdx]=\"promptIndex\" (onItemSelect)=\"itemSelect($event)\" (onNextItem)=\"nextItem()\" (onPrevItem)=\"prevItem()\"\n [audioSignalCollapsed]=\"audioSignalCollapsed\" [displayAudioClip]=\"displayAudioClip\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playSelectionAction]=\"controlAudioPlayer?.startSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"controlAudioPlayer?.autoPlayOnSelectToggleAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\">\n\n </app-sprprompting>\n <mat-progress-bar [value]=\"progressPercentValue()\" fxShow=\"false\" fxShow.xs=\"true\" ></mat-progress-bar>\n\n <
|
|
8345
|
-
styles: [":host {\n flex: 2;\n background: lightgrey;\n display: flex; /* Vertical flex container: Bottom transport panel, above prompting panel */\n flex-direction: column;\n margin: 0;\n padding: 0;\n min-height: 0px;\n\n /* Prevents horizontal scroll bar on swipe right */\n overflow: hidden;\n }"]
|
|
8518
|
+
template: "\n <app-warningbar [show]=\"isTestSession()\" warningText=\"Test recording only!\"></app-warningbar>\n <app-warningbar [show]=\"isDefaultAudioTestSession()\" warningText=\"This test uses default audio device! Regular sessions may require a particular audio device (microphone)!\"></app-warningbar>\n <app-sprprompting [projectName]=\"projectName\"\n [startStopSignalState]=\"startStopSignalState\" [promptItem]=\"promptItem\" [showPrompt]=\"showPrompt\"\n [items]=\"items\"\n [transportActions]=\"transportActions\"\n [selectedItemIdx]=\"promptIndex\" (onItemSelect)=\"itemSelect($event)\" (onNextItem)=\"nextItem()\" (onPrevItem)=\"prevItem()\"\n [audioSignalCollapsed]=\"audioSignalCollapsed\" [displayAudioClip]=\"displayAudioClip\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playSelectionAction]=\"controlAudioPlayer?.startSelectionAction\"\n [autoPlayOnSelectToggleAction]=\"controlAudioPlayer?.autoPlayOnSelectToggleAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\">\n\n </app-sprprompting>\n <mat-progress-bar [value]=\"progressPercentValue()\" fxShow=\"false\" fxShow.xs=\"true\" ></mat-progress-bar>\n\n\n <div fxLayout=\"row\" fxLayout.xs=\"column\" [ngStyle]=\"{'height.px':100,'min-height.px': 100}\" [ngStyle.xs]=\"{'height.px':125,'min-height.px': 125}\">\n <audio-levelbar fxFlex=\"1 0 1\" [streamingMode]=\"isRecording()\" [displayLevelInfos]=\"displayLevelInfos\"></audio-levelbar>\n <div fxLayout=\"row\">\n <spr-recordingitemcontrols fxFlex=\"10 0 1\"\n [audioLoaded]=\"displayAudioClip?.buffer!==null\"\n [playStartAction]=\"controlAudioPlayer?.startAction\"\n [playStopAction]=\"controlAudioPlayer?.stopAction\"\n [peakDbLvl]=\"peakLevelInDb\"\n [agc]=\"this.ac?.agcStatus\"\n (onShowRecordingDetails)=\"audioSignalCollapsed=!audioSignalCollapsed\">\n </spr-recordingitemcontrols>\n <app-uploadstatus class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols dark\" fxHide fxShow.xs fxFlex=\"0 0 0\" [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n <div #controlpanel class=\"controlpanel\" fxLayout=\"row\">\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"start center\">\n <app-sprstatusdisplay fxHide.xs [statusMsg]=\"statusMsg\" [statusAlertType]=\"statusAlertType\" [statusWaiting]=\"statusWaiting\"></app-sprstatusdisplay>\n </div>\n <app-sprtransport fxFlex=\"10 0 30%\" fxLayoutAlign=\"center center\" [readonly]=\"readonly\" [actions]=\"transportActions\" [navigationEnabled]=\"items==null || items.length>1\"></app-sprtransport>\n <div fxFlex=\"1 1 30%\" fxLayoutAlign=\"end center\" fxLayout=\"row\">\n <app-uploadstatus class=\"ricontrols\" fxHide.xs fxLayoutAlign=\"end center\" *ngIf=\"enableUploadRecordings\" [value]=\"uploadProgress\"\n [status]=\"uploadStatus\" [awaitNewUpload]=\"processingRecording\"></app-uploadstatus>\n <app-readystateindicator class=\"ricontrols\" fxLayoutAlign=\"end center\" fxHide.xs [ready]=\"dataSaved && !isActive()\"></app-readystateindicator>\n </div>\n </div>\n ",
|
|
8519
|
+
styles: [":host {\n flex: 2;\n background: lightgrey;\n display: flex; /* Vertical flex container: Bottom transport panel, above prompting panel */\n flex-direction: column;\n margin: 0;\n padding: 0;\n min-height: 0px;\n\n /* Prevents horizontal scroll bar on swipe right */\n overflow: hidden;\n }", ".ricontrols {\n padding: 4px;\n box-sizing: border-box;\n height: 100%;\n }", ".dark {\n background: darkgray;\n }", ".controlpanel {\n align-content: center;\n align-items: center;\n margin: 0;\n padding: 20px;\n min-height: min-content; /* important */\n }"]
|
|
8346
8520
|
}]
|
|
8347
8521
|
}], ctorParameters: function () {
|
|
8348
8522
|
return [{ type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.Renderer2 }, { type: i1__namespace$3.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
@@ -8356,7 +8530,7 @@
|
|
|
8356
8530
|
args: [Prompting, { static: true }]
|
|
8357
8531
|
}], liveLevelDisplay: [{
|
|
8358
8532
|
type: i0.ViewChild,
|
|
8359
|
-
args: [
|
|
8533
|
+
args: [LevelBar, { static: true }]
|
|
8360
8534
|
}], dataSaved: [{
|
|
8361
8535
|
type: i0.Input
|
|
8362
8536
|
}], onKeyPress: [{
|
|
@@ -8400,9 +8574,9 @@
|
|
|
8400
8574
|
};
|
|
8401
8575
|
return ScriptService;
|
|
8402
8576
|
}());
|
|
8403
|
-
ScriptService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
8404
|
-
ScriptService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
8405
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
8577
|
+
ScriptService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
8578
|
+
ScriptService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptService });
|
|
8579
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptService, decorators: [{
|
|
8406
8580
|
type: i0.Injectable
|
|
8407
8581
|
}], ctorParameters: function () {
|
|
8408
8582
|
return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
|
|
@@ -8805,9 +8979,9 @@
|
|
|
8805
8979
|
};
|
|
8806
8980
|
return SpeechrecorderngComponent;
|
|
8807
8981
|
}());
|
|
8808
|
-
SpeechrecorderngComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
8809
|
-
SpeechrecorderngComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
8810
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
8982
|
+
SpeechrecorderngComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngComponent, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i1__namespace$1.Router }, { token: i0__namespace.ChangeDetectorRef }, { token: SessionService }, { token: ProjectService }, { token: ScriptService }, { token: RecordingService }, { token: SpeechRecorderUploader }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
8983
|
+
SpeechrecorderngComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SpeechrecorderngComponent, selector: "app-speechrecorder", providers: [SessionService], viewQueries: [{ propertyName: "sm", first: true, predicate: SessionManager, descendants: true, static: true }], ngImport: i0__namespace, template: "\n <app-sprrecordingsession [projectName]=\"project?.name\" [dataSaved]=\"dataSaved\"></app-sprrecordingsession>\n ", isInline: true, styles: [":host{\n flex: 2;\n display: flex;\n flex-direction: column;\n min-height:0;\n\n }"], components: [{ type: SessionManager, selector: "app-sprrecordingsession", inputs: ["projectName", "dataSaved"] }] });
|
|
8984
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngComponent, decorators: [{
|
|
8811
8985
|
type: i0.Component,
|
|
8812
8986
|
args: [{
|
|
8813
8987
|
selector: 'app-speechrecorder',
|
|
@@ -8825,9 +8999,9 @@
|
|
|
8825
8999
|
}
|
|
8826
9000
|
return ScrollPaneHorizontal;
|
|
8827
9001
|
}());
|
|
8828
|
-
ScrollPaneHorizontal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
8829
|
-
ScrollPaneHorizontal.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
8830
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
9002
|
+
ScrollPaneHorizontal.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollPaneHorizontal, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9003
|
+
ScrollPaneHorizontal.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ScrollPaneHorizontal, selector: "scroll-pane-horizontal", ngImport: i0__namespace, template: '', isInline: true, styles: [":host {\n width: 100%;\n background: darkgray;\n box-sizing: border-box;\n height: 100%;\n position: relative;\n overflow-x: scroll;\n overflow-y: auto;\n }"] });
|
|
9004
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollPaneHorizontal, decorators: [{
|
|
8831
9005
|
type: i0.Component,
|
|
8832
9006
|
args: [{
|
|
8833
9007
|
selector: 'scroll-pane-horizontal',
|
|
@@ -9054,9 +9228,9 @@
|
|
|
9054
9228
|
};
|
|
9055
9229
|
return AudioDisplayPlayer;
|
|
9056
9230
|
}());
|
|
9057
|
-
AudioDisplayPlayer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
9058
|
-
AudioDisplayPlayer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
9059
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
9231
|
+
AudioDisplayPlayer.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayPlayer, deps: [{ token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9232
|
+
AudioDisplayPlayer.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AudioDisplayPlayer, selector: "app-audiodisplayplayer", inputs: { playStartAction: "playStartAction", playStopAction: "playStopAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", audioData: "audioData", audioClip: "audioClip" }, viewQueries: [{ propertyName: "audioDisplayScrollPane", first: true, predicate: AudioDisplayScrollPane, descendants: true, static: true }], ngImport: i0__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control><p>{{status}}\n ", isInline: true, styles: [":host {\n display: flex;\n flex-direction: column;\n position: absolute;\n bottom: 0px;\n height: 100%;\n width: 100%;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: rgba(0, 0, 0, 0.75)\n }"], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }] });
|
|
9233
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AudioDisplayPlayer, decorators: [{
|
|
9060
9234
|
type: i0.Component,
|
|
9061
9235
|
args: [{
|
|
9062
9236
|
selector: 'app-audiodisplayplayer',
|
|
@@ -9329,9 +9503,9 @@
|
|
|
9329
9503
|
return RecordingFileService;
|
|
9330
9504
|
}());
|
|
9331
9505
|
RecordingFileService.RECOFILE_API_CTX = 'recordingfile';
|
|
9332
|
-
RecordingFileService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
9333
|
-
RecordingFileService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
9334
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
9506
|
+
RecordingFileService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileService, deps: [{ token: i1__namespace.HttpClient }, { token: SPEECHRECORDER_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
9507
|
+
RecordingFileService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileService });
|
|
9508
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileService, decorators: [{
|
|
9335
9509
|
type: i0.Injectable
|
|
9336
9510
|
}], ctorParameters: function () {
|
|
9337
9511
|
return [{ type: i1__namespace.HttpClient }, { type: SpeechRecorderConfig, decorators: [{
|
|
@@ -9354,9 +9528,9 @@
|
|
|
9354
9528
|
};
|
|
9355
9529
|
return RecordingFileMetaComponent;
|
|
9356
9530
|
}());
|
|
9357
|
-
RecordingFileMetaComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
9358
|
-
RecordingFileMetaComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
9359
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
9531
|
+
RecordingFileMetaComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileMetaComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9532
|
+
RecordingFileMetaComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: { sessionId: "sessionId", recordingFile: "recordingFile" }, ngImport: i0__namespace, template: "\n <mat-card>\n <mat-card-title>Recording file ID: {{recordingFile?.recordingFileId}}</mat-card-title>\n <mat-card-content>\n <table>\n <tr>\n <td>Itemcode:</td>\n <td>{{recordingFile?.recording?.itemcode}}</td>\n </tr>\n <tr *ngIf=\"recordingFile?.date\">\n <td>Date:</td>\n <td>{{recordingFile?.date}}</td>\n </tr>\n <tr>\n <td>Prompt:</td>\n <td>{{recordingAsPlainText()}}</td>\n </tr>\n \n <tr *ngIf=\"sessionId\">\n <td>Session:</td>\n <td>{{sessionId}}</td>\n </tr>\n </table>\n </mat-card-content>\n </mat-card>\n ", isInline: true, components: [{ type: i1__namespace$4.MatCard, selector: "mat-card", exportAs: ["matCard"] }], directives: [{ type: i1__namespace$4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { type: i1__namespace$4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
9533
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileMetaComponent, decorators: [{
|
|
9360
9534
|
type: i0.Component,
|
|
9361
9535
|
args: [{
|
|
9362
9536
|
selector: 'app-recording-file-meta',
|
|
@@ -9387,9 +9561,9 @@
|
|
|
9387
9561
|
};
|
|
9388
9562
|
return RecordingFileNaviComponent;
|
|
9389
9563
|
}());
|
|
9390
|
-
RecordingFileNaviComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
9391
|
-
RecordingFileNaviComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
9392
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
9564
|
+
RecordingFileNaviComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileNaviComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9565
|
+
RecordingFileNaviComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: { firstAction: "firstAction", prevAction: "prevAction", nextAction: "nextAction", lastAction: "lastAction", items: "items", itemPos: "itemPos", selectVersion: "selectVersion", versions: "versions", version: "version", naviInfoLoading: "naviInfoLoading" }, ngImport: i0__namespace, template: "\n <div #controlPanel style=\"display:flex;flex-direction: row;\">\n <div #navi style=\"flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap\">\n <fieldset>\n <legend>Versions</legend>\n <mat-progress-spinner *ngIf=\"naviInfoLoading\" mode=\"indeterminate\" [diameter]=\"15\"></mat-progress-spinner>\n <select *ngIf=\"!naviInfoLoading\" [disabled]=\"versions==null || versions.length==1\" (change)=\"selectVersionChange($event)\">\n <option *ngFor=\"let v of versions; let i = index\" [selected]=\"v===version\" value=\"{{v}}\">{{v}}<span *ngIf=\"i==0\"> (latest)</span></option>\n </select>\n </fieldset>\n <fieldset>\n <legend>Navigate</legend>\n <mat-progress-spinner *ngIf=\"naviInfoLoading\" mode=\"indeterminate\" [diameter]=\"15\"></mat-progress-spinner>\n <div *ngIf=\"!naviInfoLoading\" style=\"flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap\">\n <button (click)=\"firstAction?.perform()\" [disabled]=\"!firstAction || firstAction?.disabled\" matTooltip=\"First recording file\">\n <mat-icon>first_page</mat-icon>\n </button>\n <button (click)=\"prevAction?.perform()\" [disabled]=\"!prevAction || prevAction?.disabled\" matTooltip=\"Previous recording file\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button (click)=\"nextAction?.perform()\" [disabled]=\"!nextAction || nextAction?.disabled\" matTooltip=\"Next recording file\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n <button (click)=\"lastAction?.perform()\" [disabled]=\"!lastAction || lastAction?.disabled\" matTooltip=\"Last recording file\">\n <mat-icon>last_page</mat-icon>\n </button>\n </div>\n <p *ngIf=\"items && itemPos!==null && itemPos!==undefined\">Item {{itemPos+1}} of {{items}}</p>\n <p>(List ordered by date)</p>\n </fieldset>\n </div>\n </div>\n ", isInline: true, styles: [":host {\n flex: 0;\n\n }"], components: [{ type: i1__namespace$2.MatProgressSpinner, selector: "mat-progress-spinner", inputs: ["color", "mode", "diameter", "strokeWidth", "value"], exportAs: ["matProgressSpinner"] }, { type: i2__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] });
|
|
9566
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileNaviComponent, decorators: [{
|
|
9393
9567
|
type: i0.Component,
|
|
9394
9568
|
args: [{
|
|
9395
9569
|
selector: 'app-recording-file-navi',
|
|
@@ -9748,9 +9922,9 @@
|
|
|
9748
9922
|
};
|
|
9749
9923
|
return RecordingFileViewComponent;
|
|
9750
9924
|
}(AudioDisplayPlayer));
|
|
9751
|
-
RecordingFileViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
9752
|
-
RecordingFileViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
9753
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
9925
|
+
RecordingFileViewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileViewComponent, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1__namespace$1.Router }, { token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }, { token: i1__namespace$3.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
9926
|
+
RecordingFileViewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingFileViewComponent, selector: "app-audiodisplayplayer", viewQueries: [{ propertyName: "ac", first: true, predicate: AudioDisplayScrollPane, descendants: true }], usesInheritance: true, ngImport: i0__namespace, template: "\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n <div class=\"ctrlview\">\n <app-recording-file-meta [sessionId]=\"sessionId\" [recordingFile]=\"recordingFile\"></app-recording-file-meta>\n\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n <app-recording-file-navi [items]=\"availRecFiles?.length\" [itemPos]=\"posInList\" [version]=\"recordingFile?recordingFile.version:null\" [versions]=\"versions\" [firstAction]=\"firstAction\" [prevAction]=\"prevAction\" [nextAction]=\"nextAction\" [lastAction]=\"lastAction\" [selectVersion]=\"toVersionAction\" [naviInfoLoading]=\"naviInfoLoading\"></app-recording-file-navi>\n </div>\n ", isInline: true, styles: [":host {\n flex: 2;\n display: flex;\n flex-direction: column;\n min-height:0;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: white;\n }", "\n .ctrlview{\n display: flex;\n flex-direction: row;\n\n }\n ", "\n audio-display-control{\n\n flex: 3;\n }\n "], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: ["sessionId", "recordingFile"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }, { type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: ["firstAction", "prevAction", "nextAction", "lastAction", "items", "itemPos", "selectVersion", "versions", "version", "naviInfoLoading"] }] });
|
|
9927
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileViewComponent, decorators: [{
|
|
9754
9928
|
type: i0.Component,
|
|
9755
9929
|
args: [{
|
|
9756
9930
|
selector: 'app-audiodisplayplayer',
|
|
@@ -9844,9 +10018,9 @@
|
|
|
9844
10018
|
};
|
|
9845
10019
|
return RecordingFileUI;
|
|
9846
10020
|
}(RecordingFileViewComponent));
|
|
9847
|
-
RecordingFileUI.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
9848
|
-
RecordingFileUI.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
9849
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
10021
|
+
RecordingFileUI.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileUI, deps: [{ token: RecordingFileService }, { token: RecordingService }, { token: SessionService }, { token: i1__namespace$1.Router }, { token: i1__namespace$1.ActivatedRoute }, { token: i0__namespace.ChangeDetectorRef }, { token: i0__namespace.ElementRef }, { token: i1__namespace$3.MatDialog }, { token: i6__namespace.MatSnackBar }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
10022
|
+
RecordingFileUI.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RecordingFileUI, selector: "app-audiodisplayplayer", usesInheritance: true, ngImport: i0__namespace, template: "\n <h1>Recording file editing</h1>\n <p>On export or delivery the editing selection of the recording file is cut out. If no editing selection is applied the original file is exported.</p>\n\n <audio-display-scroll-pane #audioDisplayScrollPane></audio-display-scroll-pane>\n <div class=\"ctrlview\">\n <app-recording-file-meta [sessionId]=\"sessionId\" [recordingFile]=\"recordingFile\"></app-recording-file-meta>\n <audio-display-control [audioClip]=\"audioClip\"\n [playStartAction]=\"playStartAction\"\n [playSelectionAction]=\"playSelectionAction\"\n [playStopAction]=\"playStopAction\"\n [autoPlayOnSelectToggleAction]=\"ap?.autoPlayOnSelectToggleAction\"\n [zoomInAction]=\"zoomInAction\"\n [zoomOutAction]=\"zoomOutAction\"\n [zoomSelectedAction]=\"zoomSelectedAction\"\n [zoomFitToPanelAction]=\"zoomFitToPanelAction\"></audio-display-control>\n <app-recording-file-navi [items]=\"availRecFiles?.length\" [itemPos]=\"posInList\" [version]=\"recordingFile?recordingFile.version:null\" [versions]=\"versions\" [firstAction]=\"firstAction\" [prevAction]=\"prevAction\" [nextAction]=\"nextAction\" [lastAction]=\"lastAction\" [selectVersion]=\"toVersionAction\" [naviInfoLoading]=\"naviInfoLoading\"></app-recording-file-navi>\n </div>\n\n <button mat-raised-button color=\"accent\" (click)=\"applySelection()\" [disabled]=\"editSaved\">{{this.applyButtonText()}}</button>\n ", isInline: true, styles: [":host {\n flex: 2;\n display: flex;\n flex-direction: column;\n min-height:0;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: white;\n }", "\n .ctrlview{\n display: flex;\n flex-direction: row;\n }\n ", "\n audio-display-control{\n\n flex: 3;\n }\n "], components: [{ type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: ["sessionId", "recordingFile"] }, { type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }, { type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: ["firstAction", "prevAction", "nextAction", "lastAction", "items", "itemPos", "selectVersion", "versions", "version", "naviInfoLoading"] }, { type: i3__namespace$2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
|
|
10023
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RecordingFileUI, decorators: [{
|
|
9850
10024
|
type: i0.Component,
|
|
9851
10025
|
args: [{
|
|
9852
10026
|
selector: 'app-audiodisplayplayer',
|
|
@@ -9855,7 +10029,7 @@
|
|
|
9855
10029
|
":host {\n flex: 2;\n display: flex;\n flex-direction: column;\n min-height:0;\n overflow: hidden;\n padding: 20px;\n z-index: 5;\n box-sizing: border-box;\n background-color: white;\n }", "\n .ctrlview{\n display: flex;\n flex-direction: row;\n }\n ", "\n audio-display-control{\n\n flex: 3;\n }\n "
|
|
9856
10030
|
]
|
|
9857
10031
|
}]
|
|
9858
|
-
}], ctorParameters: function () { return [{ type: RecordingFileService }, { type: RecordingService }, { type: SessionService }, { type: i1__namespace$1.Router }, { type: i1__namespace$1.ActivatedRoute }, { type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.ElementRef }, { type: i1__namespace$3.MatDialog }, { type: i6__namespace
|
|
10032
|
+
}], ctorParameters: function () { return [{ type: RecordingFileService }, { type: RecordingService }, { type: SessionService }, { type: i1__namespace$1.Router }, { type: i1__namespace$1.ActivatedRoute }, { type: i0__namespace.ChangeDetectorRef }, { type: i0__namespace.ElementRef }, { type: i1__namespace$3.MatDialog }, { type: i6__namespace.MatSnackBar }]; } });
|
|
9859
10033
|
|
|
9860
10034
|
var SPR_ROUTES = [
|
|
9861
10035
|
{ path: 'spr/session/:id', component: SpeechrecorderngComponent },
|
|
@@ -9887,25 +10061,25 @@
|
|
|
9887
10061
|
};
|
|
9888
10062
|
return SpeechrecorderngModule;
|
|
9889
10063
|
}());
|
|
9890
|
-
SpeechrecorderngModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
9891
|
-
SpeechrecorderngModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
9892
|
-
ProgressDisplay,
|
|
9893
|
-
SpeechrecorderngModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
9894
|
-
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
10064
|
+
SpeechrecorderngModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
10065
|
+
SpeechrecorderngModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
|
|
10066
|
+
ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, ReadyStateIndicator, ControlPanel, WarningBar, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent], imports: [i1__namespace$1.RouterModule, flexLayout.FlexLayoutModule, i4.CommonModule, i2.MatIconModule, i3$2.MatButtonModule, i1$3.MatDialogModule, i7.MatProgressBarModule, i1$2.MatProgressSpinnerModule, i3.MatTooltipModule, i1.HttpClientModule, i2$1.MatCheckboxModule, i1$4.MatCardModule, divider.MatDividerModule, gridList.MatGridListModule, table.MatTableModule, input.MatInputModule, select.MatSelectModule, i6.MatSnackBarModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar] });
|
|
10067
|
+
SpeechrecorderngModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [[i1$1.RouterModule.forChild(SPR_ROUTES), flexLayout.FlexLayoutModule, i4.CommonModule, i2.MatIconModule, i3$2.MatButtonModule, i1$3.MatDialogModule, i7.MatProgressBarModule, i1$2.MatProgressSpinnerModule, i3.MatTooltipModule, i1.HttpClientModule, i2$1.MatCheckboxModule, i1$4.MatCardModule, divider.MatDividerModule, gridList.MatGridListModule, table.MatTableModule, input.MatInputModule, select.MatSelectModule, i6.MatSnackBarModule]] });
|
|
10068
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SpeechrecorderngModule, decorators: [{
|
|
9895
10069
|
type: i0.NgModule,
|
|
9896
10070
|
args: [{
|
|
9897
10071
|
declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
|
|
9898
|
-
ProgressDisplay,
|
|
10072
|
+
ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, ReadyStateIndicator, ControlPanel, WarningBar, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent],
|
|
9899
10073
|
entryComponents: [
|
|
9900
10074
|
MessageDialog, SessionFinishedDialog
|
|
9901
10075
|
],
|
|
9902
10076
|
exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar],
|
|
9903
|
-
imports: [i1$1.RouterModule.forChild(SPR_ROUTES), flexLayout.FlexLayoutModule, i4.CommonModule, i2.MatIconModule, i3$
|
|
10077
|
+
imports: [i1$1.RouterModule.forChild(SPR_ROUTES), flexLayout.FlexLayoutModule, i4.CommonModule, i2.MatIconModule, i3$2.MatButtonModule, i1$3.MatDialogModule, i7.MatProgressBarModule, i1$2.MatProgressSpinnerModule, i3.MatTooltipModule, i1.HttpClientModule, i2$1.MatCheckboxModule, i1$4.MatCardModule, divider.MatDividerModule, gridList.MatGridListModule, table.MatTableModule, input.MatInputModule, select.MatSelectModule, i6.MatSnackBarModule],
|
|
9904
10078
|
providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader]
|
|
9905
10079
|
}]
|
|
9906
10080
|
}] });
|
|
9907
10081
|
|
|
9908
|
-
var VERSION = '2.
|
|
10082
|
+
var VERSION = '2.21.3';
|
|
9909
10083
|
|
|
9910
10084
|
/*
|
|
9911
10085
|
* Public API Surface of speechrecorderng
|
|
@@ -9946,5 +10120,5 @@
|
|
|
9946
10120
|
|
|
9947
10121
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
9948
10122
|
|
|
9949
|
-
}))
|
|
10123
|
+
}));
|
|
9950
10124
|
//# sourceMappingURL=speechrecorderng.umd.js.map
|