speechrecorderng 3.3.2 → 3.3.4
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/esm2020/lib/speechrecorder/session/audiorecorder.mjs +92 -77
- package/esm2020/lib/speechrecorder/session/basicrecorder.mjs +11 -5
- package/esm2020/lib/speechrecorder/session/controlpanel.mjs +50 -37
- package/esm2020/lib/speechrecorder/session/prompting.mjs +19 -15
- package/esm2020/lib/speechrecorder/session/recorder_combi_pane.mjs +14 -11
- package/esm2020/lib/speechrecorder/session/recording_list.mjs +2 -2
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +9 -9
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +3 -3
- package/esm2020/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +3 -3
- package/esm2020/lib/speechrecorder/session/sessionmanager.mjs +77 -62
- package/esm2020/lib/speechrecorderng.component.mjs +2 -1
- package/esm2020/lib/speechrecorderng.module.mjs +5 -5
- package/esm2020/lib/spr.module.version.mjs +2 -2
- package/esm2020/lib/ui/recordingitem_display.mjs +29 -25
- package/esm2020/lib/ui/responsive_component.mjs +24 -0
- package/fesm2015/speechrecorderng.mjs +282 -204
- package/fesm2015/speechrecorderng.mjs.map +1 -1
- package/fesm2020/speechrecorderng.mjs +282 -204
- package/fesm2020/speechrecorderng.mjs.map +1 -1
- package/lib/speechrecorder/session/audiorecorder.d.ts +5 -3
- package/lib/speechrecorder/session/basicrecorder.d.ts +6 -3
- package/lib/speechrecorder/session/controlpanel.d.ts +9 -3
- package/lib/speechrecorder/session/prompting.d.ts +5 -1
- package/lib/speechrecorder/session/recorder_combi_pane.d.ts +5 -2
- package/lib/speechrecorder/session/sessionmanager.d.ts +5 -3
- package/lib/speechrecorderng.component.d.ts +1 -1
- package/lib/speechrecorderng.module.d.ts +18 -19
- package/lib/spr.module.version.d.ts +1 -1
- package/lib/ui/recordingitem_display.d.ts +8 -4
- package/lib/ui/responsive_component.d.ts +9 -0
- package/package.json +1 -2
|
@@ -14,7 +14,8 @@ import * as i2 from '@angular/material/icon';
|
|
|
14
14
|
import { MatIconModule } from '@angular/material/icon';
|
|
15
15
|
import * as i4 from '@angular/material/tooltip';
|
|
16
16
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
17
|
-
import * as i1$3 from '@angular/
|
|
17
|
+
import * as i1$3 from '@angular/cdk/layout';
|
|
18
|
+
import { Breakpoints } from '@angular/cdk/layout';
|
|
18
19
|
import * as i1$4 from '@angular/material/dialog';
|
|
19
20
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
20
21
|
import * as i3 from '@angular/material/button';
|
|
@@ -22,10 +23,8 @@ import { MatButtonModule } from '@angular/material/button';
|
|
|
22
23
|
import { __decorate, __param } from 'tslib';
|
|
23
24
|
import * as i3$1 from '@angular/material/progress-spinner';
|
|
24
25
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
25
|
-
import * as
|
|
26
|
-
import * as i8 from '@angular/material/progress-bar';
|
|
26
|
+
import * as i7 from '@angular/material/progress-bar';
|
|
27
27
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
28
|
-
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
29
28
|
import * as i3$2 from '@angular/material/card';
|
|
30
29
|
import { MatCardModule } from '@angular/material/card';
|
|
31
30
|
import { MatDividerModule } from '@angular/material/divider';
|
|
@@ -7825,6 +7824,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
7825
7824
|
type: Input
|
|
7826
7825
|
}] } });
|
|
7827
7826
|
|
|
7827
|
+
class ResponsiveComponent {
|
|
7828
|
+
constructor(breakpointObserver) {
|
|
7829
|
+
this.breakpointObserver = breakpointObserver;
|
|
7830
|
+
this.screenXs = false;
|
|
7831
|
+
breakpointObserver
|
|
7832
|
+
.observe([
|
|
7833
|
+
Breakpoints.XSmall
|
|
7834
|
+
])
|
|
7835
|
+
.subscribe(result => {
|
|
7836
|
+
this.screenXs = (result.matches);
|
|
7837
|
+
//console.debug("Screen XS: "+this.screenXs);
|
|
7838
|
+
});
|
|
7839
|
+
}
|
|
7840
|
+
}
|
|
7841
|
+
ResponsiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ResponsiveComponent, deps: [{ token: i1$3.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Directive });
|
|
7842
|
+
ResponsiveComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ResponsiveComponent, ngImport: i0 });
|
|
7843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ResponsiveComponent, decorators: [{
|
|
7844
|
+
type: Directive
|
|
7845
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; } });
|
|
7846
|
+
|
|
7828
7847
|
class ScrollIntoViewDirective {
|
|
7829
7848
|
constructor(elRef) {
|
|
7830
7849
|
this.elRef = elRef;
|
|
@@ -8479,8 +8498,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8479
8498
|
type: HostListener,
|
|
8480
8499
|
args: ['touchcancel', ['$event']]
|
|
8481
8500
|
}] } });
|
|
8482
|
-
class Prompting {
|
|
8483
|
-
constructor() {
|
|
8501
|
+
class Prompting extends ResponsiveComponent {
|
|
8502
|
+
constructor(bpo) {
|
|
8503
|
+
super(bpo);
|
|
8504
|
+
this.bpo = bpo;
|
|
8484
8505
|
this.promptItem = null;
|
|
8485
8506
|
this.showPrompt = false;
|
|
8486
8507
|
this.items = undefined;
|
|
@@ -8501,16 +8522,16 @@ class Prompting {
|
|
|
8501
8522
|
this.onPrevItem.emit();
|
|
8502
8523
|
}
|
|
8503
8524
|
}
|
|
8504
|
-
Prompting.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Prompting, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8505
|
-
Prompting.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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, template: `
|
|
8525
|
+
Prompting.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Prompting, deps: [{ token: i1$3.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
8526
|
+
Prompting.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 }], usesInheritance: true, ngImport: i0, template: `
|
|
8506
8527
|
|
|
8507
8528
|
<app-simpletrafficlight [status]="startStopSignalState"></app-simpletrafficlight>
|
|
8508
8529
|
<app-sprpromptingcontainer [projectName]="projectName" [promptItem]="promptItem" [showPrompt]="showPrompt"
|
|
8509
8530
|
[itemCount]="items?.length" [selectedItemIdx]="selectedItemIdx"
|
|
8510
8531
|
[transportActions]="transportActions"></app-sprpromptingcontainer>
|
|
8511
|
-
<app-sprprogress
|
|
8532
|
+
<app-sprprogress *ngIf="!screenXs" [items]="items" [selectedItemIdx]="selectedItemIdx"
|
|
8512
8533
|
(onRowSelect)="itemSelect($event)"></app-sprprogress>
|
|
8513
|
-
<div
|
|
8534
|
+
<div #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
8514
8535
|
|
|
8515
8536
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
8516
8537
|
[audioClip]="displayAudioClip"
|
|
@@ -8524,7 +8545,7 @@ Prompting.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14
|
|
|
8524
8545
|
|
|
8525
8546
|
|
|
8526
8547
|
|
|
8527
|
-
`, isInline: true, styles: [":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "app-simpletrafficlight{margin:10px;min-height:0px;z-index:3}\n", "app-sprprogress{z-index:3}\n", "div{display:none;position:absolute;z-index:5}\n", "div.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:5;box-sizing:border-box;background-color:#0000}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
8548
|
+
`, isInline: true, styles: [":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "app-simpletrafficlight{margin:10px;min-height:0px;z-index:3}\n", "app-sprprogress{z-index:3}\n", "div{display:none;position:absolute;z-index:5}\n", "div.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:5;box-sizing:border-box;background-color:#0000}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AudioDisplay, selector: "app-audiodisplay", inputs: ["playStartAction", "playStopAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "audioData", "audioClip"] }, { kind: "component", type: Progress, selector: "app-sprprogress", inputs: ["items", "selectedItemIdx", "enableDownload"], outputs: ["onRowSelect", "rowSelect", "onShowDoneAction", "clickDone", "onDownloadDoneAction", "clickDownloadDone"] }, { kind: "component", type: SimpleTrafficLight, selector: "app-simpletrafficlight", inputs: ["status"] }, { kind: "component", type: PromptingContainer, selector: "app-sprpromptingcontainer", inputs: ["projectName", "promptItem", "showPrompt", "selectedItemIdx", "itemCount", "transportActions"] }] });
|
|
8528
8549
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Prompting, decorators: [{
|
|
8529
8550
|
type: Component,
|
|
8530
8551
|
args: [{ selector: 'app-sprprompting', template: `
|
|
@@ -8533,9 +8554,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8533
8554
|
<app-sprpromptingcontainer [projectName]="projectName" [promptItem]="promptItem" [showPrompt]="showPrompt"
|
|
8534
8555
|
[itemCount]="items?.length" [selectedItemIdx]="selectedItemIdx"
|
|
8535
8556
|
[transportActions]="transportActions"></app-sprpromptingcontainer>
|
|
8536
|
-
<app-sprprogress
|
|
8557
|
+
<app-sprprogress *ngIf="!screenXs" [items]="items" [selectedItemIdx]="selectedItemIdx"
|
|
8537
8558
|
(onRowSelect)="itemSelect($event)"></app-sprprogress>
|
|
8538
|
-
<div
|
|
8559
|
+
<div #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
8539
8560
|
|
|
8540
8561
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
8541
8562
|
[audioClip]="displayAudioClip"
|
|
@@ -8550,7 +8571,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8550
8571
|
|
|
8551
8572
|
|
|
8552
8573
|
`, styles: [":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "app-simpletrafficlight{margin:10px;min-height:0px;z-index:3}\n", "app-sprprogress{z-index:3}\n", "div{display:none;position:absolute;z-index:5}\n", "div.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:5;box-sizing:border-box;background-color:#0000}\n"] }]
|
|
8553
|
-
}], propDecorators: { simpleTrafficLight: [{
|
|
8574
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; }, propDecorators: { simpleTrafficLight: [{
|
|
8554
8575
|
type: ViewChild,
|
|
8555
8576
|
args: [SimpleTrafficLight, { static: true }]
|
|
8556
8577
|
}], audioDisplay: [{
|
|
@@ -10542,6 +10563,7 @@ class UploadStatus {
|
|
|
10542
10563
|
constructor() {
|
|
10543
10564
|
this._awaitNewUpload = false;
|
|
10544
10565
|
this.spinnerMode = 'determinate';
|
|
10566
|
+
this._colorStatus = 'primary';
|
|
10545
10567
|
this._value = 100;
|
|
10546
10568
|
this.displayValue = null;
|
|
10547
10569
|
this.toolTipText = '';
|
|
@@ -10579,6 +10601,15 @@ class UploadStatus {
|
|
|
10579
10601
|
}
|
|
10580
10602
|
set status(status) {
|
|
10581
10603
|
this._status = status;
|
|
10604
|
+
if ('accent' === status) {
|
|
10605
|
+
this._colorStatus = 'accent';
|
|
10606
|
+
}
|
|
10607
|
+
else if ('warn' === status) {
|
|
10608
|
+
this._colorStatus = 'warn';
|
|
10609
|
+
}
|
|
10610
|
+
else {
|
|
10611
|
+
this._colorStatus = 'primary';
|
|
10612
|
+
}
|
|
10582
10613
|
this._updateSpinner();
|
|
10583
10614
|
}
|
|
10584
10615
|
get status() {
|
|
@@ -10627,8 +10658,9 @@ class TransportActions {
|
|
|
10627
10658
|
this.bwdAction = new Action('Backward');
|
|
10628
10659
|
}
|
|
10629
10660
|
}
|
|
10630
|
-
class TransportPanel {
|
|
10631
|
-
constructor() {
|
|
10661
|
+
class TransportPanel extends ResponsiveComponent {
|
|
10662
|
+
constructor(breakpointObserver) {
|
|
10663
|
+
super(breakpointObserver);
|
|
10632
10664
|
this.navigationEnabled = true;
|
|
10633
10665
|
this.pausingEnabled = true;
|
|
10634
10666
|
}
|
|
@@ -10700,28 +10732,28 @@ class TransportPanel {
|
|
|
10700
10732
|
}
|
|
10701
10733
|
}
|
|
10702
10734
|
}
|
|
10703
|
-
TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TransportPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10704
|
-
TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled", pausingEnabled: "pausingEnabled" }, ngImport: i0, template: `
|
|
10735
|
+
TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TransportPanel, deps: [{ token: i1$3.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
10736
|
+
TransportPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TransportPanel, selector: "app-sprtransport", inputs: { readonly: "readonly", actions: "actions", navigationEnabled: "navigationEnabled", pausingEnabled: "pausingEnabled" }, usesInheritance: true, ngImport: i0, template: `
|
|
10705
10737
|
<button id="bwdBtn" *ngIf="navigationEnabled" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
|
|
10706
10738
|
mat-raised-button>
|
|
10707
10739
|
<mat-icon>chevron_left</mat-icon>
|
|
10708
10740
|
</button>
|
|
10709
10741
|
<button (click)="startStopNextPerform()" [disabled]="startDisabled() && stopDisabled() && nextDisabled()" mat-raised-button>
|
|
10710
10742
|
<mat-icon [style.color]="startStopNextIconColor()">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf="!nextDisabled()" [style.color]="nextDisabled() ? 'grey' : 'black'">chevron_right</mat-icon>
|
|
10711
|
-
<span
|
|
10743
|
+
<span *ngIf="!screenXs">{{startStopNextName()}}</span>
|
|
10712
10744
|
</button>
|
|
10713
10745
|
<button *ngIf="pausingEnabled" (click)="actions.pauseAction.perform()" [disabled]="pauseDisabled()" mat-raised-button>
|
|
10714
10746
|
<mat-icon>pause</mat-icon>
|
|
10715
|
-
<span
|
|
10747
|
+
<span *ngIf="!screenXs">Pause</span>
|
|
10716
10748
|
</button>
|
|
10717
|
-
<button id="fwdNextBtn" *ngIf="navigationEnabled"
|
|
10749
|
+
<button id="fwdNextBtn" *ngIf="navigationEnabled && !screenXs" (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
|
|
10718
10750
|
<mat-icon>redo</mat-icon>
|
|
10719
10751
|
</button>
|
|
10720
10752
|
<button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
|
|
10721
10753
|
<mat-icon>chevron_right</mat-icon>
|
|
10722
10754
|
</button>
|
|
10723
10755
|
|
|
10724
|
-
`, isInline: true, styles: [":host{flex:20;align-self:center;width:100%;text-align:center;align-content:center;margin:0}\n", "div{display:inline;flex:0}\n", "button{touch-action:manipulation}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
10756
|
+
`, isInline: true, styles: [":host{flex:20;align-self:center;width:100%;text-align:center;align-content:center;margin:0}\n", "div{display:inline;flex:0}\n", "button{touch-action:manipulation}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.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"] }] });
|
|
10725
10757
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TransportPanel, decorators: [{
|
|
10726
10758
|
type: Component,
|
|
10727
10759
|
args: [{ selector: 'app-sprtransport', template: `
|
|
@@ -10731,13 +10763,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10731
10763
|
</button>
|
|
10732
10764
|
<button (click)="startStopNextPerform()" [disabled]="startDisabled() && stopDisabled() && nextDisabled()" mat-raised-button>
|
|
10733
10765
|
<mat-icon [style.color]="startStopNextIconColor()">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf="!nextDisabled()" [style.color]="nextDisabled() ? 'grey' : 'black'">chevron_right</mat-icon>
|
|
10734
|
-
<span
|
|
10766
|
+
<span *ngIf="!screenXs">{{startStopNextName()}}</span>
|
|
10735
10767
|
</button>
|
|
10736
10768
|
<button *ngIf="pausingEnabled" (click)="actions.pauseAction.perform()" [disabled]="pauseDisabled()" mat-raised-button>
|
|
10737
10769
|
<mat-icon>pause</mat-icon>
|
|
10738
|
-
<span
|
|
10770
|
+
<span *ngIf="!screenXs">Pause</span>
|
|
10739
10771
|
</button>
|
|
10740
|
-
<button id="fwdNextBtn" *ngIf="navigationEnabled"
|
|
10772
|
+
<button id="fwdNextBtn" *ngIf="navigationEnabled && !screenXs" (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
|
|
10741
10773
|
<mat-icon>redo</mat-icon>
|
|
10742
10774
|
</button>
|
|
10743
10775
|
<button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
|
|
@@ -10745,7 +10777,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10745
10777
|
</button>
|
|
10746
10778
|
|
|
10747
10779
|
`, styles: [":host{flex:20;align-self:center;width:100%;text-align:center;align-content:center;margin:0}\n", "div{display:inline;flex:0}\n", "button{touch-action:manipulation}\n"] }]
|
|
10748
|
-
}], propDecorators: { readonly: [{
|
|
10780
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; }, propDecorators: { readonly: [{
|
|
10749
10781
|
type: Input
|
|
10750
10782
|
}], actions: [{
|
|
10751
10783
|
type: Input
|
|
@@ -10801,8 +10833,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10801
10833
|
}], ctorParameters: function () { return []; }, propDecorators: { ready: [{
|
|
10802
10834
|
type: Input
|
|
10803
10835
|
}] } });
|
|
10804
|
-
class ControlPanel {
|
|
10805
|
-
constructor(dialog) {
|
|
10836
|
+
class ControlPanel extends ResponsiveComponent {
|
|
10837
|
+
constructor(bpo, dialog) {
|
|
10838
|
+
super(bpo);
|
|
10839
|
+
this.bpo = bpo;
|
|
10806
10840
|
this.dialog = dialog;
|
|
10807
10841
|
this.processing = false;
|
|
10808
10842
|
this.navigationEnabled = true;
|
|
@@ -10815,44 +10849,44 @@ class ControlPanel {
|
|
|
10815
10849
|
return this._ready;
|
|
10816
10850
|
}
|
|
10817
10851
|
}
|
|
10818
|
-
ControlPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ControlPanel, deps: [{ token: i1$4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
10819
|
-
ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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, template: `
|
|
10820
|
-
<div
|
|
10821
|
-
<app-sprstatusdisplay
|
|
10852
|
+
ControlPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ControlPanel, deps: [{ token: i1$3.BreakpointObserver }, { token: i1$4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
10853
|
+
ControlPanel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 }], usesInheritance: true, ngImport: i0, template: `
|
|
10854
|
+
<div *ngIf="!screenXs" style="flex-direction: row" >
|
|
10855
|
+
<app-sprstatusdisplay style="flex:0 0 0" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10822
10856
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10823
|
-
<app-sprtransport
|
|
10824
|
-
<app-uploadstatus
|
|
10857
|
+
<app-sprtransport style="flex:10 0 0" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
10858
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10825
10859
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10826
10860
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10827
10861
|
</div>
|
|
10828
|
-
<div
|
|
10829
|
-
<div
|
|
10830
|
-
<app-sprstatusdisplay
|
|
10862
|
+
<div *ngIf="screenXs"style="flex-direction: column" >
|
|
10863
|
+
<div style="flex-direction: row" class="flexFill" >
|
|
10864
|
+
<app-sprstatusdisplay style="flex:10 0 0;flex-align:left" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10831
10865
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10832
|
-
<app-uploadstatus
|
|
10866
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10833
10867
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10834
10868
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10835
10869
|
</div>
|
|
10836
10870
|
<app-sprtransport [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
10837
10871
|
|
|
10838
10872
|
</div>
|
|
10839
|
-
`, isInline: true, styles: ["div{align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n"], dependencies: [{ kind: "directive", type:
|
|
10873
|
+
`, isInline: true, styles: ["div{align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { kind: "component", type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { kind: "component", type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled", "pausingEnabled"] }, { kind: "component", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }] });
|
|
10840
10874
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ControlPanel, decorators: [{
|
|
10841
10875
|
type: Component,
|
|
10842
10876
|
args: [{ selector: 'app-sprcontrolpanel', template: `
|
|
10843
|
-
<div
|
|
10844
|
-
<app-sprstatusdisplay
|
|
10877
|
+
<div *ngIf="!screenXs" style="flex-direction: row" >
|
|
10878
|
+
<app-sprstatusdisplay style="flex:0 0 0" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10845
10879
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10846
|
-
<app-sprtransport
|
|
10847
|
-
<app-uploadstatus
|
|
10880
|
+
<app-sprtransport style="flex:10 0 0" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
10881
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10848
10882
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10849
10883
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10850
10884
|
</div>
|
|
10851
|
-
<div
|
|
10852
|
-
<div
|
|
10853
|
-
<app-sprstatusdisplay
|
|
10885
|
+
<div *ngIf="screenXs"style="flex-direction: column" >
|
|
10886
|
+
<div style="flex-direction: row" class="flexFill" >
|
|
10887
|
+
<app-sprstatusdisplay style="flex:10 0 0;flex-align:left" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10854
10888
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10855
|
-
<app-uploadstatus
|
|
10889
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10856
10890
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10857
10891
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10858
10892
|
</div>
|
|
@@ -10860,7 +10894,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10860
10894
|
|
|
10861
10895
|
</div>
|
|
10862
10896
|
`, styles: ["div{align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n"] }]
|
|
10863
|
-
}], ctorParameters: function () { return [{ type: i1$4.MatDialog }]; }, propDecorators: { statusDisplay: [{
|
|
10897
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i1$4.MatDialog }]; }, propDecorators: { statusDisplay: [{
|
|
10864
10898
|
type: ViewChild,
|
|
10865
10899
|
args: [StatusDisplay, { static: true }]
|
|
10866
10900
|
}], transportPanel: [{
|
|
@@ -11455,8 +11489,10 @@ class StreamLevelMeasure {
|
|
|
11455
11489
|
|
|
11456
11490
|
const MIN_DB_LEVEL = -40.0;
|
|
11457
11491
|
const DEFAULT_WARN_DB_LEVEL = -2;
|
|
11458
|
-
class RecordingItemControls {
|
|
11459
|
-
constructor(ref, changeDetectorRef) {
|
|
11492
|
+
class RecordingItemControls extends ResponsiveComponent {
|
|
11493
|
+
constructor(bpo, ref, changeDetectorRef) {
|
|
11494
|
+
super(bpo);
|
|
11495
|
+
this.bpo = bpo;
|
|
11460
11496
|
this.ref = ref;
|
|
11461
11497
|
this.changeDetectorRef = changeDetectorRef;
|
|
11462
11498
|
this.ce = null;
|
|
@@ -11509,8 +11545,8 @@ class RecordingItemControls {
|
|
|
11509
11545
|
// this.status = 'ERROR';
|
|
11510
11546
|
}
|
|
11511
11547
|
}
|
|
11512
|
-
RecordingItemControls.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemControls, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11513
|
-
RecordingItemControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: { audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", peakDbLvl: "peakDbLvl", agc: "agc", disableAudioDetails: "disableAudioDetails", audioLoaded: "audioLoaded", playStartAction: "playStartAction", playStopAction: "playStopAction", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, ngImport: i0, template: `
|
|
11548
|
+
RecordingItemControls.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemControls, deps: [{ token: i1$3.BreakpointObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11549
|
+
RecordingItemControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: { audioSignalCollapsed: "audioSignalCollapsed", enableDownload: "enableDownload", peakDbLvl: "peakDbLvl", agc: "agc", disableAudioDetails: "disableAudioDetails", audioLoaded: "audioLoaded", playStartAction: "playStartAction", playStopAction: "playStopAction", displayLevelInfos: "displayLevelInfos" }, outputs: { onShowRecordingDetails: "onShowRecordingDetails", onDownloadRecording: "onDownloadRecording" }, usesInheritance: true, ngImport: i0, template: `
|
|
11514
11550
|
<button matTooltip="Start playback" (click)="playStartAction?.perform()"
|
|
11515
11551
|
[disabled]="playStartAction?.disabled"
|
|
11516
11552
|
[style.color]="playStartAction?.disabled ? 'grey' : 'green'">
|
|
@@ -11521,7 +11557,7 @@ RecordingItemControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
11521
11557
|
[style.color]="playStopAction?.disabled ? 'grey' : 'yellow'">
|
|
11522
11558
|
<mat-icon>stop</mat-icon>
|
|
11523
11559
|
</button>
|
|
11524
|
-
<button
|
|
11560
|
+
<button *ngIf="!screenXs" matTooltip="Toggle detailed audio display" [disabled]="disableAudioDetails || !audioLoaded"
|
|
11525
11561
|
(click)="showRecordingDetails()">
|
|
11526
11562
|
<mat-icon>{{(audioSignalCollapsed) ? "expand_less" : "expand_more"}}</mat-icon>
|
|
11527
11563
|
</button>
|
|
@@ -11532,7 +11568,7 @@ RecordingItemControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
11532
11568
|
<div style="min-width: 14ch;padding:2px"><table style="border-style: none"><tr><td>Peak:</td><td><span matTooltip="Peak level"
|
|
11533
11569
|
[style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>
|
|
11534
11570
|
<tr *ngIf="_agc"><td>AGC:</td><td><span matTooltip="Auto gain control">{{agcString}}</span></td></tr></table></div>
|
|
11535
|
-
`, isInline: true, styles: [":host{flex:0;width:100%;background:darkgray;padding:4px;box-sizing:border-box;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "span{flex:0;font-weight:700;display:inline-block;white-space:nowrap;box-sizing:border-box}\n", "button{touch-action:manipulation}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
11571
|
+
`, isInline: true, styles: [":host{flex:0;width:100%;background:darkgray;padding:4px;box-sizing:border-box;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "span{flex:0;font-weight:700;display:inline-block;white-space:nowrap;box-sizing:border-box}\n", "button{touch-action:manipulation}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "pipe", type: i1$1.DecimalPipe, name: "number" }] });
|
|
11536
11572
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemControls, decorators: [{
|
|
11537
11573
|
type: Component,
|
|
11538
11574
|
args: [{ selector: 'spr-recordingitemcontrols', template: `
|
|
@@ -11546,7 +11582,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
11546
11582
|
[style.color]="playStopAction?.disabled ? 'grey' : 'yellow'">
|
|
11547
11583
|
<mat-icon>stop</mat-icon>
|
|
11548
11584
|
</button>
|
|
11549
|
-
<button
|
|
11585
|
+
<button *ngIf="!screenXs" matTooltip="Toggle detailed audio display" [disabled]="disableAudioDetails || !audioLoaded"
|
|
11550
11586
|
(click)="showRecordingDetails()">
|
|
11551
11587
|
<mat-icon>{{(audioSignalCollapsed) ? "expand_less" : "expand_more"}}</mat-icon>
|
|
11552
11588
|
</button>
|
|
@@ -11558,7 +11594,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
11558
11594
|
[style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>
|
|
11559
11595
|
<tr *ngIf="_agc"><td>AGC:</td><td><span matTooltip="Auto gain control">{{agcString}}</span></td></tr></table></div>
|
|
11560
11596
|
`, styles: [":host{flex:0;width:100%;background:darkgray;padding:4px;box-sizing:border-box;height:100%;display:flex;flex-direction:row;flex-wrap:nowrap}\n", "span{flex:0;font-weight:700;display:inline-block;white-space:nowrap;box-sizing:border-box}\n", "button{touch-action:manipulation}\n"] }]
|
|
11561
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { audioSignalCollapsed: [{
|
|
11597
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { audioSignalCollapsed: [{
|
|
11562
11598
|
type: Input
|
|
11563
11599
|
}], enableDownload: [{
|
|
11564
11600
|
type: Input
|
|
@@ -11581,8 +11617,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
11581
11617
|
}], displayLevelInfos: [{
|
|
11582
11618
|
type: Input
|
|
11583
11619
|
}] } });
|
|
11584
|
-
class RecordingItemDisplay {
|
|
11585
|
-
constructor(ref, changeDetectorRef) {
|
|
11620
|
+
class RecordingItemDisplay extends ResponsiveComponent {
|
|
11621
|
+
constructor(bpo, ref, changeDetectorRef) {
|
|
11622
|
+
super(bpo);
|
|
11623
|
+
this.bpo = bpo;
|
|
11586
11624
|
this.ref = ref;
|
|
11587
11625
|
this.changeDetectorRef = changeDetectorRef;
|
|
11588
11626
|
this.ce = null;
|
|
@@ -11653,22 +11691,22 @@ class RecordingItemDisplay {
|
|
|
11653
11691
|
this.changeDetectorRef.detectChanges();
|
|
11654
11692
|
}
|
|
11655
11693
|
}
|
|
11656
|
-
RecordingItemDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemDisplay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11657
|
-
RecordingItemDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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, template: `
|
|
11658
|
-
<div
|
|
11659
|
-
<audio-levelbar
|
|
11660
|
-
<spr-recordingitemcontrols
|
|
11694
|
+
RecordingItemDisplay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemDisplay, deps: [{ token: i1$3.BreakpointObserver }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
11695
|
+
RecordingItemDisplay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 }], usesInheritance: true, ngImport: i0, template: `
|
|
11696
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
11697
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="streamingMode" [displayLevelInfos]="_displayLevelInfos"></audio-levelbar>
|
|
11698
|
+
<spr-recordingitemcontrols style="flex:0 0 0px" [audioLoaded]="displayAudioBuffer!==null" [playStartAction]="playStartAction" [playStopAction]="playStopAction" [peakDbLvl]="peakDbLvl" [agc]="_agc" (onShowRecordingDetails)="onShowRecordingDetails.emit()"></spr-recordingitemcontrols>
|
|
11661
11699
|
</div>
|
|
11662
|
-
`, isInline: true, styles: ["div{width:100%;background:darkgray;padding:4px;box-sizing:border-box;flex-wrap:nowrap}\n", "audio-levelbar{box-sizing:border-box}\n"
|
|
11700
|
+
`, isInline: true, styles: ["div{width:100%;background:darkgray;padding:4px;box-sizing:border-box;flex-wrap:nowrap}\n", "audio-levelbar{box-sizing:border-box}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"], dependencies: [{ kind: "component", type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos", "state"] }, { kind: "component", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "disableAudioDetails", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }] });
|
|
11663
11701
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemDisplay, decorators: [{
|
|
11664
11702
|
type: Component,
|
|
11665
11703
|
args: [{ selector: 'spr-recordingitemdisplay', template: `
|
|
11666
|
-
<div
|
|
11667
|
-
<audio-levelbar
|
|
11668
|
-
<spr-recordingitemcontrols
|
|
11704
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
11705
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="streamingMode" [displayLevelInfos]="_displayLevelInfos"></audio-levelbar>
|
|
11706
|
+
<spr-recordingitemcontrols style="flex:0 0 0px" [audioLoaded]="displayAudioBuffer!==null" [playStartAction]="playStartAction" [playStopAction]="playStopAction" [peakDbLvl]="peakDbLvl" [agc]="_agc" (onShowRecordingDetails)="onShowRecordingDetails.emit()"></spr-recordingitemcontrols>
|
|
11669
11707
|
</div>
|
|
11670
|
-
`, styles: ["div{width:100%;background:darkgray;padding:4px;box-sizing:border-box;flex-wrap:nowrap}\n", "audio-levelbar{box-sizing:border-box}\n"] }]
|
|
11671
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { liveLevel: [{
|
|
11708
|
+
`, styles: ["div{width:100%;background:darkgray;padding:4px;box-sizing:border-box;flex-wrap:nowrap}\n", "audio-levelbar{box-sizing:border-box}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"] }]
|
|
11709
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { liveLevel: [{
|
|
11672
11710
|
type: ViewChild,
|
|
11673
11711
|
args: [LevelBar, { static: true }]
|
|
11674
11712
|
}], streamingMode: [{
|
|
@@ -11950,8 +11988,10 @@ class ChunkManager {
|
|
|
11950
11988
|
return frameLen;
|
|
11951
11989
|
}
|
|
11952
11990
|
}
|
|
11953
|
-
let BasicRecorder = class BasicRecorder {
|
|
11954
|
-
constructor(changeDetectorRef, dialog, sessionService, uploader, config) {
|
|
11991
|
+
let BasicRecorder = class BasicRecorder extends ResponsiveComponent {
|
|
11992
|
+
constructor(bpo, changeDetectorRef, dialog, sessionService, uploader, config) {
|
|
11993
|
+
super(bpo);
|
|
11994
|
+
this.bpo = bpo;
|
|
11955
11995
|
this.changeDetectorRef = changeDetectorRef;
|
|
11956
11996
|
this.dialog = dialog;
|
|
11957
11997
|
this.sessionService = sessionService;
|
|
@@ -11979,6 +12019,7 @@ let BasicRecorder = class BasicRecorder {
|
|
|
11979
12019
|
this.peakLevelInDb = MIN_DB_LEVEL;
|
|
11980
12020
|
this.audioLoaded = false;
|
|
11981
12021
|
this.disableAudioDetails = false;
|
|
12022
|
+
this._controlAudioPlayer = null;
|
|
11982
12023
|
this.displayAudioClip = null;
|
|
11983
12024
|
this.audioFetchSubscription = null;
|
|
11984
12025
|
this.liveLevelDisplayState = State.READY;
|
|
@@ -12123,7 +12164,9 @@ let BasicRecorder = class BasicRecorder {
|
|
|
12123
12164
|
}
|
|
12124
12165
|
}
|
|
12125
12166
|
showRecording() {
|
|
12126
|
-
this._controlAudioPlayer
|
|
12167
|
+
if (this._controlAudioPlayer) {
|
|
12168
|
+
this._controlAudioPlayer.stop();
|
|
12169
|
+
}
|
|
12127
12170
|
if (this.calcBufferInfosSubscr) {
|
|
12128
12171
|
this.calcBufferInfosSubscr.unsubscribe();
|
|
12129
12172
|
}
|
|
@@ -12495,7 +12538,7 @@ BasicRecorder.DEFAULT_CHUNK_SIZE_SECONDS = 30;
|
|
|
12495
12538
|
// Enable only for developemnt/debug purposes of array audio buffers !!
|
|
12496
12539
|
BasicRecorder.FORCE_ARRRAY_AUDIO_BUFFER = false;
|
|
12497
12540
|
BasicRecorder = __decorate([
|
|
12498
|
-
__param(
|
|
12541
|
+
__param(5, Inject(SPEECHRECORDER_CONFIG))
|
|
12499
12542
|
], BasicRecorder);
|
|
12500
12543
|
|
|
12501
12544
|
class BasicRecFilesCache {
|
|
@@ -12741,8 +12784,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
12741
12784
|
const DEFAULT_PRE_REC_DELAY = 1000;
|
|
12742
12785
|
const DEFAULT_POST_REC_DELAY = 500;
|
|
12743
12786
|
class SessionManager extends BasicRecorder {
|
|
12744
|
-
constructor(changeDetectorRef, renderer, dialog, sessionService, recFileService, uploader, config) {
|
|
12745
|
-
super(changeDetectorRef, dialog, sessionService, uploader, config);
|
|
12787
|
+
constructor(bpo, changeDetectorRef, renderer, dialog, sessionService, recFileService, uploader, config) {
|
|
12788
|
+
super(bpo, changeDetectorRef, dialog, sessionService, uploader, config);
|
|
12789
|
+
this.bpo = bpo;
|
|
12746
12790
|
this.renderer = renderer;
|
|
12747
12791
|
this.recFileService = recFileService;
|
|
12748
12792
|
this.enableUploadRecordings = true;
|
|
@@ -12873,7 +12917,7 @@ class SessionManager extends BasicRecorder {
|
|
|
12873
12917
|
this.transportActions.fwdAction.onAction = () => this.nextItem();
|
|
12874
12918
|
this.transportActions.fwdNextAction.onAction = () => this.nextUnrecordedItem();
|
|
12875
12919
|
this.transportActions.bwdAction.onAction = () => this.prevItem();
|
|
12876
|
-
this.playStartAction.onAction = () => this.controlAudioPlayer
|
|
12920
|
+
this.playStartAction.onAction = () => this.controlAudioPlayer?.start();
|
|
12877
12921
|
}
|
|
12878
12922
|
this.startStopSignalState = 4 /* OFF */;
|
|
12879
12923
|
}
|
|
@@ -13139,7 +13183,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13139
13183
|
let adh = this._displayRecFile.audioDataHolder;
|
|
13140
13184
|
if (adh) {
|
|
13141
13185
|
this.displayAudioClip = new AudioClip(adh);
|
|
13142
|
-
this.
|
|
13186
|
+
if (this._controlAudioPlayer) {
|
|
13187
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13188
|
+
}
|
|
13143
13189
|
this.showRecording();
|
|
13144
13190
|
}
|
|
13145
13191
|
else {
|
|
@@ -13202,7 +13248,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13202
13248
|
// this.displayAudioClip could have been changed meanwhile, but the recorder unsubcribes before changing the item, therefore there should be no risk to set to wrong item
|
|
13203
13249
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13204
13250
|
}
|
|
13205
|
-
this.
|
|
13251
|
+
if (this._controlAudioPlayer) {
|
|
13252
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13253
|
+
}
|
|
13206
13254
|
this.showRecording();
|
|
13207
13255
|
},
|
|
13208
13256
|
error: err => {
|
|
@@ -13243,7 +13291,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13243
13291
|
//console.debug("set displayRecFile(): fetch net ab complete, set displayAudioClip.")
|
|
13244
13292
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13245
13293
|
}
|
|
13246
|
-
this.
|
|
13294
|
+
if (this._controlAudioPlayer) {
|
|
13295
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13296
|
+
}
|
|
13247
13297
|
this.showRecording();
|
|
13248
13298
|
},
|
|
13249
13299
|
error: err => {
|
|
@@ -13281,7 +13331,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13281
13331
|
// this.displayAudioClip could have been changed meanwhile, but the recorder unsubcribes before changing the item, therefore there should be no risk to set to wrong item
|
|
13282
13332
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13283
13333
|
}
|
|
13284
|
-
this.
|
|
13334
|
+
if (this._controlAudioPlayer) {
|
|
13335
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13336
|
+
}
|
|
13285
13337
|
this.showRecording();
|
|
13286
13338
|
},
|
|
13287
13339
|
error: err => {
|
|
@@ -13320,7 +13372,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13320
13372
|
// this.displayAudioClip could have been changed meanwhile, but the recorder unsubcribes before changing the item, therefore there should be no risk to set to wrong item
|
|
13321
13373
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13322
13374
|
}
|
|
13323
|
-
this.
|
|
13375
|
+
if (this._controlAudioPlayer) {
|
|
13376
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13377
|
+
}
|
|
13324
13378
|
this.showRecording();
|
|
13325
13379
|
}, error: err => {
|
|
13326
13380
|
console.error("Could not load recording file from server: " + err);
|
|
@@ -13873,9 +13927,14 @@ class SessionManager extends BasicRecorder {
|
|
|
13873
13927
|
}
|
|
13874
13928
|
}
|
|
13875
13929
|
updateControlPlaybackPosition() {
|
|
13876
|
-
if (this._controlAudioPlayer
|
|
13877
|
-
|
|
13878
|
-
|
|
13930
|
+
if (this._controlAudioPlayer) {
|
|
13931
|
+
const ppFrames = this._controlAudioPlayer.playPositionFrames;
|
|
13932
|
+
if (ppFrames !== null) {
|
|
13933
|
+
if (this.prompting.audioDisplay) {
|
|
13934
|
+
this.prompting.audioDisplay.playFramePosition = ppFrames;
|
|
13935
|
+
}
|
|
13936
|
+
this.liveLevelDisplay.playFramePosition = ppFrames;
|
|
13937
|
+
}
|
|
13879
13938
|
}
|
|
13880
13939
|
}
|
|
13881
13940
|
audioPlayerUpdate(e) {
|
|
@@ -13894,7 +13953,7 @@ class SessionManager extends BasicRecorder {
|
|
|
13894
13953
|
}
|
|
13895
13954
|
}
|
|
13896
13955
|
}
|
|
13897
|
-
SessionManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SessionManager, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1$4.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
13956
|
+
SessionManager.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SessionManager, deps: [{ token: i1$3.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1$4.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
13898
13957
|
SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 }], usesInheritance: true, ngImport: i0, template: `
|
|
13899
13958
|
<app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
|
|
13900
13959
|
<app-warningbar [show]="isDefaultAudioTestSession()" warningText="This test uses default audio device! Regular sessions may require a particular audio device (microphone)!"></app-warningbar>
|
|
@@ -13910,13 +13969,13 @@ SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version
|
|
|
13910
13969
|
[playStopAction]="controlAudioPlayer?.stopAction">
|
|
13911
13970
|
|
|
13912
13971
|
</app-sprprompting>
|
|
13913
|
-
<mat-progress-bar [value]="progressPercentValue()"
|
|
13972
|
+
<mat-progress-bar [value]="progressPercentValue()" *ngIf="screenXs" ></mat-progress-bar>
|
|
13914
13973
|
|
|
13915
13974
|
|
|
13916
|
-
<div
|
|
13917
|
-
<audio-levelbar
|
|
13918
|
-
<div
|
|
13919
|
-
<spr-recordingitemcontrols
|
|
13975
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
13976
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [displayLevelInfos]="displayAudioClip?.levelInfos" [state]="liveLevelDisplayState"></audio-levelbar>
|
|
13977
|
+
<div style="display:flex;flex-direction: row">
|
|
13978
|
+
<spr-recordingitemcontrols style="display:flex;flex:10 0 1px"
|
|
13920
13979
|
[audioLoaded]="audioLoaded"
|
|
13921
13980
|
[disableAudioDetails]="disableAudioDetails"
|
|
13922
13981
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -13926,25 +13985,25 @@ SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version
|
|
|
13926
13985
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
13927
13986
|
</spr-recordingitemcontrols>
|
|
13928
13987
|
|
|
13929
|
-
<app-uploadstatus class="ricontrols dark"
|
|
13988
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0" [value]="uploadProgress"
|
|
13930
13989
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
13931
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
13932
|
-
<app-readystateindicator class="ricontrols dark"
|
|
13990
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
13991
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
13933
13992
|
</div>
|
|
13934
13993
|
</div>
|
|
13935
|
-
<div #controlpanel class="controlpanel"
|
|
13936
|
-
<div
|
|
13937
|
-
<app-sprstatusdisplay
|
|
13994
|
+
<div #controlpanel class="controlpanel">
|
|
13995
|
+
<div style="flex:1 1 30%;justify-content: flex-start;align-items: center; align-content: center">
|
|
13996
|
+
<app-sprstatusdisplay *ngIf="!screenXs" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"></app-sprstatusdisplay>
|
|
13938
13997
|
</div>
|
|
13939
|
-
<app-sprtransport
|
|
13940
|
-
<div
|
|
13941
|
-
<app-uploadstatus
|
|
13998
|
+
<app-sprtransport style="display:flex;flex:10 0 30%;justify-content: center;align-items: center; align-content: center" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="!items || items.length()>1"></app-sprtransport>
|
|
13999
|
+
<div style="display:flex;flex:1 1 30%;flex-direction:row;justify-content: flex-end;align-items: center; align-content: center">
|
|
14000
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" [value]="uploadProgress"
|
|
13942
14001
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
13943
|
-
<app-wakelockindicator
|
|
13944
|
-
<app-readystateindicator
|
|
14002
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
14003
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
13945
14004
|
</div>
|
|
13946
14005
|
</div>
|
|
13947
|
-
`, isInline: true, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;min-height:0px;overflow:hidden}\n", ".ricontrols{padding:4px;box-sizing:border-box;height:100
|
|
14006
|
+
`, isInline: true, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;min-height:0px;overflow:hidden}\n", ".ricontrols{display:flex;padding:4px;box-sizing:border-box;height:100%;flex-direction:row;justify-content:flex-end;align-items:center;align-content:center}\n", ".dark{background:darkgray}\n", ".controlpanel{display:flex;flex-direction:row;align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos", "state"] }, { kind: "component", type: Prompting, selector: "app-sprprompting", inputs: ["projectName", "startStopSignalState", "promptItem", "showPrompt", "items", "selectedItemIdx", "transportActions", "enableDownload", "audioSignalCollapsed", "displayAudioClip", "playStartAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "playStopAction"], outputs: ["onItemSelect", "onNextItem", "onPrevItem"] }, { kind: "component", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { kind: "component", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "disableAudioDetails", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { kind: "component", type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { kind: "component", type: TransportPanel, selector: "app-sprtransport", inputs: ["readonly", "actions", "navigationEnabled", "pausingEnabled"] }, { kind: "component", type: WakeLockIndicator, selector: "app-wakelockindicator", inputs: ["screenLocked"] }, { kind: "component", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }, { kind: "component", type: WarningBar, selector: "app-warningbar", inputs: ["warningText", "show"] }] });
|
|
13948
14007
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SessionManager, decorators: [{
|
|
13949
14008
|
type: Component,
|
|
13950
14009
|
args: [{ selector: 'app-sprrecordingsession', providers: [SessionService], template: `
|
|
@@ -13962,13 +14021,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
13962
14021
|
[playStopAction]="controlAudioPlayer?.stopAction">
|
|
13963
14022
|
|
|
13964
14023
|
</app-sprprompting>
|
|
13965
|
-
<mat-progress-bar [value]="progressPercentValue()"
|
|
14024
|
+
<mat-progress-bar [value]="progressPercentValue()" *ngIf="screenXs" ></mat-progress-bar>
|
|
13966
14025
|
|
|
13967
14026
|
|
|
13968
|
-
<div
|
|
13969
|
-
<audio-levelbar
|
|
13970
|
-
<div
|
|
13971
|
-
<spr-recordingitemcontrols
|
|
14027
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
14028
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [displayLevelInfos]="displayAudioClip?.levelInfos" [state]="liveLevelDisplayState"></audio-levelbar>
|
|
14029
|
+
<div style="display:flex;flex-direction: row">
|
|
14030
|
+
<spr-recordingitemcontrols style="display:flex;flex:10 0 1px"
|
|
13972
14031
|
[audioLoaded]="audioLoaded"
|
|
13973
14032
|
[disableAudioDetails]="disableAudioDetails"
|
|
13974
14033
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -13978,26 +14037,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
13978
14037
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
13979
14038
|
</spr-recordingitemcontrols>
|
|
13980
14039
|
|
|
13981
|
-
<app-uploadstatus class="ricontrols dark"
|
|
14040
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0" [value]="uploadProgress"
|
|
13982
14041
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
13983
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
13984
|
-
<app-readystateindicator class="ricontrols dark"
|
|
14042
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
14043
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
13985
14044
|
</div>
|
|
13986
14045
|
</div>
|
|
13987
|
-
<div #controlpanel class="controlpanel"
|
|
13988
|
-
<div
|
|
13989
|
-
<app-sprstatusdisplay
|
|
14046
|
+
<div #controlpanel class="controlpanel">
|
|
14047
|
+
<div style="flex:1 1 30%;justify-content: flex-start;align-items: center; align-content: center">
|
|
14048
|
+
<app-sprstatusdisplay *ngIf="!screenXs" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"></app-sprstatusdisplay>
|
|
13990
14049
|
</div>
|
|
13991
|
-
<app-sprtransport
|
|
13992
|
-
<div
|
|
13993
|
-
<app-uploadstatus
|
|
14050
|
+
<app-sprtransport style="display:flex;flex:10 0 30%;justify-content: center;align-items: center; align-content: center" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="!items || items.length()>1"></app-sprtransport>
|
|
14051
|
+
<div style="display:flex;flex:1 1 30%;flex-direction:row;justify-content: flex-end;align-items: center; align-content: center">
|
|
14052
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" [value]="uploadProgress"
|
|
13994
14053
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
13995
|
-
<app-wakelockindicator
|
|
13996
|
-
<app-readystateindicator
|
|
14054
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
14055
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
13997
14056
|
</div>
|
|
13998
14057
|
</div>
|
|
13999
|
-
`, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;min-height:0px;overflow:hidden}\n", ".ricontrols{padding:4px;box-sizing:border-box;height:100
|
|
14000
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1$4.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
14058
|
+
`, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;min-height:0px;overflow:hidden}\n", ".ricontrols{display:flex;padding:4px;box-sizing:border-box;height:100%;flex-direction:row;justify-content:flex-end;align-items:center;align-content:center}\n", ".dark{background:darkgray}\n", ".controlpanel{display:flex;flex-direction:row;align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"] }]
|
|
14059
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1$4.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
14001
14060
|
type: Inject,
|
|
14002
14061
|
args: [SPEECHRECORDER_CONFIG]
|
|
14003
14062
|
}] }]; }, propDecorators: { projectName: [{
|
|
@@ -14254,6 +14313,7 @@ class SpeechrecorderngComponent extends RecorderComponent {
|
|
|
14254
14313
|
this.scriptService = scriptService;
|
|
14255
14314
|
this.recFilesService = recFilesService;
|
|
14256
14315
|
this.uploader = uploader;
|
|
14316
|
+
this.controlAudioPlayer = null;
|
|
14257
14317
|
this._project = null;
|
|
14258
14318
|
}
|
|
14259
14319
|
handleError(err) {
|
|
@@ -15227,16 +15287,16 @@ RecordingFileNaviComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
15227
15287
|
<legend>Navigate</legend>
|
|
15228
15288
|
<mat-progress-spinner *ngIf="naviInfoLoading" mode="indeterminate" [diameter]="15"></mat-progress-spinner>
|
|
15229
15289
|
<div *ngIf="!naviInfoLoading" style="flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap">
|
|
15230
|
-
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction
|
|
15290
|
+
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction.disabled" matTooltip="First recording file">
|
|
15231
15291
|
<mat-icon>first_page</mat-icon>
|
|
15232
15292
|
</button>
|
|
15233
|
-
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction
|
|
15293
|
+
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction.disabled" matTooltip="Previous recording file">
|
|
15234
15294
|
<mat-icon>chevron_left</mat-icon>
|
|
15235
15295
|
</button>
|
|
15236
|
-
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction
|
|
15296
|
+
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction.disabled" matTooltip="Next recording file">
|
|
15237
15297
|
<mat-icon>chevron_right</mat-icon>
|
|
15238
15298
|
</button>
|
|
15239
|
-
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction
|
|
15299
|
+
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction.disabled" matTooltip="Last recording file">
|
|
15240
15300
|
<mat-icon>last_page</mat-icon>
|
|
15241
15301
|
</button>
|
|
15242
15302
|
</div>
|
|
@@ -15262,16 +15322,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
15262
15322
|
<legend>Navigate</legend>
|
|
15263
15323
|
<mat-progress-spinner *ngIf="naviInfoLoading" mode="indeterminate" [diameter]="15"></mat-progress-spinner>
|
|
15264
15324
|
<div *ngIf="!naviInfoLoading" style="flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap">
|
|
15265
|
-
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction
|
|
15325
|
+
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction.disabled" matTooltip="First recording file">
|
|
15266
15326
|
<mat-icon>first_page</mat-icon>
|
|
15267
15327
|
</button>
|
|
15268
|
-
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction
|
|
15328
|
+
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction.disabled" matTooltip="Previous recording file">
|
|
15269
15329
|
<mat-icon>chevron_left</mat-icon>
|
|
15270
15330
|
</button>
|
|
15271
|
-
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction
|
|
15331
|
+
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction.disabled" matTooltip="Next recording file">
|
|
15272
15332
|
<mat-icon>chevron_right</mat-icon>
|
|
15273
15333
|
</button>
|
|
15274
|
-
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction
|
|
15334
|
+
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction.disabled" matTooltip="Last recording file">
|
|
15275
15335
|
<mat-icon>last_page</mat-icon>
|
|
15276
15336
|
</button>
|
|
15277
15337
|
</div>
|
|
@@ -15793,7 +15853,7 @@ RecordingFileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
15793
15853
|
[zoomOutAction]="zoomOutAction"
|
|
15794
15854
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15795
15855
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15796
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
15856
|
+
<app-recording-file-navi [items]="availRecFiles.length" [itemPos]="posInList" [version]="recordingFileVersion" [versions]="versions" [firstAction]="firstAction" [prevAction]="prevAction" [nextAction]="nextAction" [lastAction]="lastAction" [selectVersion]="toVersionAction" [naviInfoLoading]="naviInfoLoading"></app-recording-file-navi>
|
|
15797
15857
|
</div>
|
|
15798
15858
|
`, isInline: true, styles: [":host{flex:2;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#fff}\n", ".ctrlview{display:flex;flex-direction:row}\n", "audio-display-control{flex:3}\n"], dependencies: [{ kind: "component", type: AudioDisplayScrollPane, selector: "audio-display-scroll-pane", inputs: ["audioClip"], outputs: ["zoomInAction", "zoomOutAction", "zoomSelectedAction", "zoomFitToPanelAction"] }, { kind: "component", type: AudioDisplayControl, selector: "audio-display-control", inputs: ["audioClip", "playStartAction", "playSelectionAction", "playStopAction", "zoomInAction", "zoomOutAction", "zoomFitToPanelAction", "zoomSelectedAction", "autoPlayOnSelectToggleAction"] }, { kind: "component", type: RecordingFileNaviComponent, selector: "app-recording-file-navi", inputs: ["firstAction", "prevAction", "nextAction", "lastAction", "items", "itemPos", "selectVersion", "versions", "version", "naviInfoLoading"] }, { kind: "component", type: RecordingFileMetaComponent, selector: "app-recording-file-meta", inputs: ["sessionId", "stateLoading", "recordingFile"] }] });
|
|
15799
15859
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingFileViewComponent, decorators: [{
|
|
@@ -15813,7 +15873,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
15813
15873
|
[zoomOutAction]="zoomOutAction"
|
|
15814
15874
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15815
15875
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15816
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
15876
|
+
<app-recording-file-navi [items]="availRecFiles.length" [itemPos]="posInList" [version]="recordingFileVersion" [versions]="versions" [firstAction]="firstAction" [prevAction]="prevAction" [nextAction]="nextAction" [lastAction]="lastAction" [selectVersion]="toVersionAction" [naviInfoLoading]="naviInfoLoading"></app-recording-file-navi>
|
|
15817
15877
|
</div>
|
|
15818
15878
|
`, styles: [":host{flex:2;display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:20px;z-index:5;box-sizing:border-box;background-color:#fff}\n", ".ctrlview{display:flex;flex-direction:row}\n", "audio-display-control{flex:3}\n"] }]
|
|
15819
15879
|
}], ctorParameters: function () { return [{ type: RecordingFileService }, { type: RecordingService }, { type: SessionService }, { type: i1$2.Router }, { type: i1$2.ActivatedRoute }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1$4.MatDialog }]; }, propDecorators: { ac: [{
|
|
@@ -15918,7 +15978,7 @@ RecordingFileUI.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
15918
15978
|
[zoomOutAction]="zoomOutAction"
|
|
15919
15979
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15920
15980
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15921
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
15981
|
+
<app-recording-file-navi [items]="availRecFiles.length" [itemPos]="posInList" [version]="recordingFileVersion" [versions]="versions" [firstAction]="firstAction" [prevAction]="prevAction" [nextAction]="nextAction" [lastAction]="lastAction" [selectVersion]="toVersionAction" [naviInfoLoading]="naviInfoLoading"></app-recording-file-navi>
|
|
15922
15982
|
</div>
|
|
15923
15983
|
|
|
15924
15984
|
<button mat-raised-button color="accent" (click)="applySelection()" [disabled]="editSaved">{{this.applyButtonText()}}</button>
|
|
@@ -15941,7 +16001,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
15941
16001
|
[zoomOutAction]="zoomOutAction"
|
|
15942
16002
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15943
16003
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15944
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
16004
|
+
<app-recording-file-navi [items]="availRecFiles.length" [itemPos]="posInList" [version]="recordingFileVersion" [versions]="versions" [firstAction]="firstAction" [prevAction]="prevAction" [nextAction]="nextAction" [lastAction]="lastAction" [selectVersion]="toVersionAction" [naviInfoLoading]="naviInfoLoading"></app-recording-file-navi>
|
|
15945
16005
|
</div>
|
|
15946
16006
|
|
|
15947
16007
|
<button mat-raised-button color="accent" (click)="applySelection()" [disabled]="editSaved">{{this.applyButtonText()}}</button>
|
|
@@ -16083,7 +16143,7 @@ RecordingList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
16083
16143
|
</mat-card-content>
|
|
16084
16144
|
</mat-card>
|
|
16085
16145
|
|
|
16086
|
-
`, isInline: true, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;overflow-y:auto;min-height:0px}\n", ".selected{font-weight:700}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.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"] }, { kind: "component", type: i3$2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i3$2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3$2.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i4$2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }] });
|
|
16146
|
+
`, isInline: true, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}.flexFill{margin:0;width:100%;height:100%;min-width:100%;min-height:100%}\n", ":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;overflow-y:auto;min-height:0px}\n", ".selected{font-weight:700}\n"], dependencies: [{ kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.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"] }, { kind: "component", type: i3$2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i3$2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3$2.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i4$2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4$2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4$2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4$2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i4$2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4$2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4$2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4$2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4$2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4$2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[scrollIntoViewToBottom]", inputs: ["scrollIntoViewToBottom"] }, { kind: "pipe", type: i1$1.DatePipe, name: "date" }] });
|
|
16087
16147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingList, decorators: [{
|
|
16088
16148
|
type: Component,
|
|
16089
16149
|
args: [{ selector: 'app-recordinglist', template: `
|
|
@@ -16130,7 +16190,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16130
16190
|
</mat-card-content>
|
|
16131
16191
|
</mat-card>
|
|
16132
16192
|
|
|
16133
|
-
`, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;overflow-y:auto;min-height:0px}\n", ".selected{font-weight:700}\n"] }]
|
|
16193
|
+
`, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}.flexFill{margin:0;width:100%;height:100%;min-width:100%;min-height:100%}\n", ":host{position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;overflow-y:auto;min-height:0px}\n", ".selected{font-weight:700}\n"] }]
|
|
16134
16194
|
}], ctorParameters: function () { return []; }, propDecorators: { selectDisabled: [{
|
|
16135
16195
|
type: Input
|
|
16136
16196
|
}], selectedRecordingFileChanged: [{
|
|
@@ -16139,8 +16199,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16139
16199
|
type: Input
|
|
16140
16200
|
}] } });
|
|
16141
16201
|
|
|
16142
|
-
class RecorderCombiPane {
|
|
16143
|
-
constructor() {
|
|
16202
|
+
class RecorderCombiPane extends ResponsiveComponent {
|
|
16203
|
+
constructor(bpo) {
|
|
16204
|
+
super(bpo);
|
|
16205
|
+
this.bpo = bpo;
|
|
16144
16206
|
this.selectDisabled = false;
|
|
16145
16207
|
this.selectedRecordingFileChanged = new EventEmitter();
|
|
16146
16208
|
this.selectedRecordingFile = null;
|
|
@@ -16162,12 +16224,12 @@ class RecorderCombiPane {
|
|
|
16162
16224
|
this.recordingListComp.selectTop();
|
|
16163
16225
|
}
|
|
16164
16226
|
}
|
|
16165
|
-
RecorderCombiPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecorderCombiPane, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16166
|
-
RecorderCombiPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: RecorderCombiPane, selector: "app-recordercombipane", inputs: { selectDisabled: "selectDisabled", selectedRecordingFile: "selectedRecordingFile", audioSignalCollapsed: "audioSignalCollapsed", displayAudioClip: "displayAudioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", playStopAction: "playStopAction" }, outputs: { selectedRecordingFileChanged: "selectedRecordingFileChanged" }, viewQueries: [{ propertyName: "recordingListComp", first: true, predicate: RecordingList, descendants: true }, { propertyName: "audioDisplay", first: true, predicate: AudioDisplay, descendants: true, static: true }], ngImport: i0, template: `
|
|
16227
|
+
RecorderCombiPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecorderCombiPane, deps: [{ token: i1$3.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
16228
|
+
RecorderCombiPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: RecorderCombiPane, selector: "app-recordercombipane", inputs: { selectDisabled: "selectDisabled", selectedRecordingFile: "selectedRecordingFile", audioSignalCollapsed: "audioSignalCollapsed", displayAudioClip: "displayAudioClip", playStartAction: "playStartAction", playSelectionAction: "playSelectionAction", autoPlayOnSelectToggleAction: "autoPlayOnSelectToggleAction", playStopAction: "playStopAction" }, outputs: { selectedRecordingFileChanged: "selectedRecordingFileChanged" }, viewQueries: [{ propertyName: "recordingListComp", first: true, predicate: RecordingList, descendants: true }, { propertyName: "audioDisplay", first: true, predicate: AudioDisplay, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
16167
16229
|
<div class="scrollList">
|
|
16168
16230
|
<app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
|
|
16169
16231
|
</div>
|
|
16170
|
-
<div class="collapsable"
|
|
16232
|
+
<div class="collapsable" #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
16171
16233
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
16172
16234
|
[audioClip]="displayAudioClip"
|
|
16173
16235
|
[playStartAction]="playStartAction"
|
|
@@ -16175,14 +16237,14 @@ RecorderCombiPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
16175
16237
|
[autoPlayOnSelectToggleAction]="autoPlayOnSelectToggleAction"
|
|
16176
16238
|
[playStopAction]="playStopAction"></app-audiodisplay>
|
|
16177
16239
|
</div>
|
|
16178
|
-
`, isInline: true, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{background-color:#ff0;position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px}\n", ".scrollList{margin:0;padding:0;background:lightgrey;width:100%;height:100%;overflow-y:auto}\n", ".collapsable{display:none;position:absolute;z-index:5}\n", ".collapsable.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"], dependencies: [{ kind: "
|
|
16240
|
+
`, isInline: true, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}.flexFill{margin:0;width:100%;height:100%;min-width:100%;min-height:100%}\n", ":host{background-color:#ff0;position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px}\n", ".scrollList{margin:0;padding:0;background:lightgrey;width:100%;height:100%;overflow-y:auto}\n", ".collapsable{display:none;position:absolute;z-index:5}\n", ".collapsable.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"], dependencies: [{ kind: "component", type: AudioDisplay, selector: "app-audiodisplay", inputs: ["playStartAction", "playStopAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "audioData", "audioClip"] }, { kind: "component", type: RecordingList, selector: "app-recordinglist", inputs: ["selectDisabled", "selectedRecordingFile"], outputs: ["selectedRecordingFileChanged"] }] });
|
|
16179
16241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecorderCombiPane, decorators: [{
|
|
16180
16242
|
type: Component,
|
|
16181
16243
|
args: [{ selector: 'app-recordercombipane', template: `
|
|
16182
16244
|
<div class="scrollList">
|
|
16183
16245
|
<app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
|
|
16184
16246
|
</div>
|
|
16185
|
-
<div class="collapsable"
|
|
16247
|
+
<div class="collapsable" #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
16186
16248
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
16187
16249
|
[audioClip]="displayAudioClip"
|
|
16188
16250
|
[playStartAction]="playStartAction"
|
|
@@ -16190,8 +16252,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16190
16252
|
[autoPlayOnSelectToggleAction]="autoPlayOnSelectToggleAction"
|
|
16191
16253
|
[playStopAction]="playStopAction"></app-audiodisplay>
|
|
16192
16254
|
</div>
|
|
16193
|
-
`, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}\n", ":host{background-color:#ff0;position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px}\n", ".scrollList{margin:0;padding:0;background:lightgrey;width:100%;height:100%;overflow-y:auto}\n", ".collapsable{display:none;position:absolute;z-index:5}\n", ".collapsable.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"] }]
|
|
16194
|
-
}], ctorParameters: function () { return []; }, propDecorators: { recordingListComp: [{
|
|
16255
|
+
`, styles: [".monospaced{font-family:monospace}.mat-cell,.mat-header-cell{padding-left:5px;padding-right:5px}.mat-card,.mat-card-header,.mat-card-content{width:auto}.flexForm{display:flex;flex-direction:column;width:auto}.flexFill{margin:0;width:100%;height:100%;min-width:100%;min-height:100%}\n", ":host{background-color:#ff0;position:relative;margin:0;padding:0;background:lightgrey;width:100%;flex:1;min-height:0px}\n", ".scrollList{margin:0;padding:0;background:lightgrey;width:100%;height:100%;overflow-y:auto}\n", ".collapsable{display:none;position:absolute;z-index:5}\n", ".collapsable.active{display:flex;position:absolute;bottom:0px;height:90%;width:100%;overflow:hidden;padding:0;z-index:200;box-sizing:border-box;background-color:#0000}\n"] }]
|
|
16256
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; }, propDecorators: { recordingListComp: [{
|
|
16195
16257
|
type: ViewChild,
|
|
16196
16258
|
args: [RecordingList]
|
|
16197
16259
|
}], selectDisabled: [{
|
|
@@ -16218,8 +16280,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16218
16280
|
}] } });
|
|
16219
16281
|
|
|
16220
16282
|
class AudioRecorder extends BasicRecorder {
|
|
16221
|
-
constructor(changeDetectorRef, renderer, route, dialog, sessionService, recFileService, uploader, config) {
|
|
16222
|
-
super(changeDetectorRef, dialog, sessionService, uploader, config);
|
|
16283
|
+
constructor(bpo, changeDetectorRef, renderer, route, dialog, sessionService, recFileService, uploader, config) {
|
|
16284
|
+
super(bpo, changeDetectorRef, dialog, sessionService, uploader, config);
|
|
16285
|
+
this.bpo = bpo;
|
|
16223
16286
|
this.renderer = renderer;
|
|
16224
16287
|
this.route = route;
|
|
16225
16288
|
this.recFileService = recFileService;
|
|
@@ -16338,7 +16401,7 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16338
16401
|
this.transportActions.stopAction.onAction = () => this.stopItem();
|
|
16339
16402
|
this.transportActions.nextAction.onAction = () => this.stopItem();
|
|
16340
16403
|
//this.transportActions.pauseAction.onAction = () => this.pauseItem();
|
|
16341
|
-
this.playStartAction.onAction = () => this.controlAudioPlayer
|
|
16404
|
+
this.playStartAction.onAction = () => this.controlAudioPlayer?.start();
|
|
16342
16405
|
}
|
|
16343
16406
|
this.uploader.listener = (ue) => {
|
|
16344
16407
|
this.uploadUpdate(ue);
|
|
@@ -16607,14 +16670,18 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16607
16670
|
this.displayAudioClip = new AudioClip(adh);
|
|
16608
16671
|
//this.audioLoaded=true;
|
|
16609
16672
|
//console.debug(" set recording file: display audio clip set");
|
|
16610
|
-
this.
|
|
16673
|
+
if (this._controlAudioPlayer) {
|
|
16674
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16675
|
+
}
|
|
16611
16676
|
this.showRecording();
|
|
16612
16677
|
}
|
|
16613
16678
|
else {
|
|
16614
16679
|
// clear for now ...
|
|
16615
16680
|
this.displayAudioClip = null;
|
|
16616
16681
|
//console.debug("set recording file: display audio clip null");
|
|
16617
|
-
this.
|
|
16682
|
+
if (this._controlAudioPlayer) {
|
|
16683
|
+
this._controlAudioPlayer.audioClip = null;
|
|
16684
|
+
}
|
|
16618
16685
|
if (this._controlAudioPlayer && this._session) {
|
|
16619
16686
|
//... and try to fetch from server
|
|
16620
16687
|
this.liveLevelDisplayState = State.LOADING;
|
|
@@ -16668,7 +16735,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16668
16735
|
// this.displayAudioClip could have been changed meanwhile, but the recorder unsubcribes before changing the item. Therefore, there should be no risk to set to wrong item
|
|
16669
16736
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
16670
16737
|
}
|
|
16671
|
-
this.
|
|
16738
|
+
if (this._controlAudioPlayer) {
|
|
16739
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16740
|
+
}
|
|
16672
16741
|
this.showRecording();
|
|
16673
16742
|
},
|
|
16674
16743
|
error: err => {
|
|
@@ -16712,7 +16781,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16712
16781
|
// this.audioLoaded=true;
|
|
16713
16782
|
// }
|
|
16714
16783
|
}
|
|
16715
|
-
this.
|
|
16784
|
+
if (this._controlAudioPlayer) {
|
|
16785
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16786
|
+
}
|
|
16716
16787
|
this.showRecording();
|
|
16717
16788
|
},
|
|
16718
16789
|
error: err => {
|
|
@@ -16751,7 +16822,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16751
16822
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
16752
16823
|
//this.audioLoaded=true;
|
|
16753
16824
|
}
|
|
16754
|
-
this.
|
|
16825
|
+
if (this._controlAudioPlayer) {
|
|
16826
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16827
|
+
}
|
|
16755
16828
|
this.showRecording();
|
|
16756
16829
|
},
|
|
16757
16830
|
error: err => {
|
|
@@ -16785,7 +16858,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16785
16858
|
//this.audioLoaded=true;
|
|
16786
16859
|
//console.debug("set recording file: display audio clip from fetched audio buffer");
|
|
16787
16860
|
}
|
|
16788
|
-
this.
|
|
16861
|
+
if (this._controlAudioPlayer) {
|
|
16862
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16863
|
+
}
|
|
16789
16864
|
this.showRecording();
|
|
16790
16865
|
}, error: err => {
|
|
16791
16866
|
console.error("Could not load recording file from server: " + err);
|
|
@@ -16805,7 +16880,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16805
16880
|
else {
|
|
16806
16881
|
//console.debug("recording file null");
|
|
16807
16882
|
this.displayAudioClip = null;
|
|
16808
|
-
this.
|
|
16883
|
+
if (this._controlAudioPlayer) {
|
|
16884
|
+
this._controlAudioPlayer.audioClip = null;
|
|
16885
|
+
}
|
|
16809
16886
|
}
|
|
16810
16887
|
this.showRecording();
|
|
16811
16888
|
}
|
|
@@ -17091,9 +17168,12 @@ class AudioRecorder extends BasicRecorder {
|
|
|
17091
17168
|
}
|
|
17092
17169
|
}
|
|
17093
17170
|
updateControlPlaybackPosition() {
|
|
17094
|
-
if (this._controlAudioPlayer
|
|
17095
|
-
|
|
17096
|
-
|
|
17171
|
+
if (this._controlAudioPlayer) {
|
|
17172
|
+
const ppFrames = this._controlAudioPlayer.playPositionFrames;
|
|
17173
|
+
if (ppFrames !== null) {
|
|
17174
|
+
this.recorderCombiPane.audioDisplay.playFramePosition = ppFrames;
|
|
17175
|
+
this.liveLevelDisplay.playFramePosition = ppFrames;
|
|
17176
|
+
}
|
|
17097
17177
|
}
|
|
17098
17178
|
}
|
|
17099
17179
|
audioPlayerUpdate(e) {
|
|
@@ -17112,7 +17192,7 @@ class AudioRecorder extends BasicRecorder {
|
|
|
17112
17192
|
}
|
|
17113
17193
|
}
|
|
17114
17194
|
}
|
|
17115
|
-
AudioRecorder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioRecorder, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1$2.ActivatedRoute }, { token: i1$4.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
17195
|
+
AudioRecorder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioRecorder, deps: [{ token: i1$3.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1$2.ActivatedRoute }, { token: i1$4.MatDialog }, { token: SessionService }, { token: RecordingService }, { token: SpeechRecorderUploader }, { token: SPEECHRECORDER_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
17116
17196
|
AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AudioRecorder, selector: "app-audiorecorder", inputs: { projectName: "projectName", dataSaved: "dataSaved" }, host: { listeners: { "window:keypress": "onKeyPress($event)", "window:keydown": "onKeyDown($event)" } }, providers: [SessionService], viewQueries: [{ propertyName: "recorderCombiPane", first: true, predicate: RecorderCombiPane, descendants: true, static: true }, { propertyName: "liveLevelDisplay", first: true, predicate: LevelBar, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
17117
17197
|
<app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
|
|
17118
17198
|
<app-warningbar [show]="isDefaultAudioTestSession()"
|
|
@@ -17122,18 +17202,17 @@ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
17122
17202
|
[selectedRecordingFile]="displayRecFile"
|
|
17123
17203
|
[selectDisabled]="isActive()"
|
|
17124
17204
|
[displayAudioClip]="displayAudioClip"
|
|
17125
|
-
[playStartAction]="controlAudioPlayer
|
|
17126
|
-
[playStopAction]="controlAudioPlayer
|
|
17127
|
-
[playSelectionAction]="controlAudioPlayer
|
|
17128
|
-
[autoPlayOnSelectToggleAction]="controlAudioPlayer
|
|
17205
|
+
[playStartAction]="controlAudioPlayer?.startAction"
|
|
17206
|
+
[playStopAction]="controlAudioPlayer?.stopAction"
|
|
17207
|
+
[playSelectionAction]="controlAudioPlayer?.startSelectionAction"
|
|
17208
|
+
[autoPlayOnSelectToggleAction]="controlAudioPlayer?.autoPlayOnSelectToggleAction"
|
|
17129
17209
|
></app-recordercombipane>
|
|
17130
17210
|
|
|
17131
|
-
<div
|
|
17132
|
-
|
|
17133
|
-
<audio-levelbar fxFlex="1 0 1" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17211
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
17212
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17134
17213
|
[displayLevelInfos]="displayAudioClip?.levelInfos"></audio-levelbar>
|
|
17135
|
-
<div
|
|
17136
|
-
<spr-recordingitemcontrols
|
|
17214
|
+
<div style="flex-direction: row">
|
|
17215
|
+
<spr-recordingitemcontrols style="flex:10 0 1%"
|
|
17137
17216
|
[disableAudioDetails]="disableAudioDetails"
|
|
17138
17217
|
[audioLoaded]="audioLoaded"
|
|
17139
17218
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -17143,19 +17222,19 @@ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
17143
17222
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
17144
17223
|
</spr-recordingitemcontrols>
|
|
17145
17224
|
|
|
17146
|
-
<app-uploadstatus class="ricontrols dark"
|
|
17225
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0"
|
|
17147
17226
|
[value]="uploadProgress"
|
|
17148
17227
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17149
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
17150
|
-
<app-readystateindicator class="ricontrols dark"
|
|
17228
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17229
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0"
|
|
17151
17230
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17152
17231
|
</div>
|
|
17153
17232
|
</div>
|
|
17154
|
-
<div #controlpanel class="controlpanel"
|
|
17155
|
-
<app-sprstatusdisplay
|
|
17233
|
+
<div #controlpanel class="controlpanel">
|
|
17234
|
+
<app-sprstatusdisplay *ngIf="!screenXs" style="flex:0.333 1 30%" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType"
|
|
17156
17235
|
[statusWaiting]="statusWaiting"
|
|
17157
17236
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
17158
|
-
<div
|
|
17237
|
+
<div style="flex:1 0 100%" class="startstop">
|
|
17159
17238
|
<div style="align-content: center">
|
|
17160
17239
|
<button (click)="startStopPerform()" [disabled]="startDisabled() && stopDisabled()" mat-raised-button class="bigbutton">
|
|
17161
17240
|
<mat-icon [style.color]="startStopNextIconColor()" inline="true">{{startStopNextIconName()}}</mat-icon>
|
|
@@ -17163,18 +17242,18 @@ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
17163
17242
|
</button>
|
|
17164
17243
|
</div>
|
|
17165
17244
|
</div>
|
|
17166
|
-
<div
|
|
17167
|
-
<div
|
|
17245
|
+
<div style="flex:0.333 1 30%" >
|
|
17246
|
+
<div style="flex:1 1 auto"></div>
|
|
17168
17247
|
|
|
17169
|
-
<app-uploadstatus class="ricontrols"
|
|
17248
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" style="flex:0 0 0"
|
|
17170
17249
|
[value]="uploadProgress"
|
|
17171
17250
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17172
|
-
<app-wakelockindicator class="ricontrols"
|
|
17173
|
-
<app-readystateindicator class="ricontrols"
|
|
17251
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17252
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols"
|
|
17174
17253
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17175
17254
|
</div>
|
|
17176
17255
|
</div>
|
|
17177
|
-
`, isInline: true, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;height:100%;min-height:0px;overflow:hidden}\n", ".ricontrols{padding:4px;box-sizing:border-box;height:100%}\n", ".dark{background:darkgray}\n", ".controlpanel{align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".startstop{width:100%;text-align:center;align-content:center;align-items:center}\n", ".bigbutton{min-width:70px;min-height:50px;font-size:50px;border-radius:20px}\n"
|
|
17256
|
+
`, isInline: true, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;height:100%;min-height:0px;overflow:hidden}\n", ".ricontrols{padding:4px;box-sizing:border-box;height:100%}\n", ".dark{background:darkgray}\n", ".controlpanel{display:flex;flex-direction:row;align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".startstop{width:100%;text-align:center;align-content:center;align-items:center}\n", ".bigbutton{min-width:70px;min-height:50px;font-size:50px;border-radius:20px}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.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"] }, { kind: "component", type: LevelBar, selector: "audio-levelbar", inputs: ["streamingMode", "displayLevelInfos", "state"] }, { kind: "component", type: StatusDisplay, selector: "app-sprstatusdisplay", inputs: ["statusAlertType", "statusMsg", "statusWaiting"] }, { kind: "component", type: RecordingItemControls, selector: "spr-recordingitemcontrols", inputs: ["audioSignalCollapsed", "enableDownload", "peakDbLvl", "agc", "disableAudioDetails", "audioLoaded", "playStartAction", "playStopAction", "displayLevelInfos"], outputs: ["onShowRecordingDetails", "onDownloadRecording"] }, { kind: "component", type: UploadStatus, selector: "app-uploadstatus", inputs: ["value", "awaitNewUpload", "status"] }, { kind: "component", type: WakeLockIndicator, selector: "app-wakelockindicator", inputs: ["screenLocked"] }, { kind: "component", type: ReadyStateIndicator, selector: "app-readystateindicator", inputs: ["ready"] }, { kind: "component", type: WarningBar, selector: "app-warningbar", inputs: ["warningText", "show"] }, { kind: "component", type: RecorderCombiPane, selector: "app-recordercombipane", inputs: ["selectDisabled", "selectedRecordingFile", "audioSignalCollapsed", "displayAudioClip", "playStartAction", "playSelectionAction", "autoPlayOnSelectToggleAction", "playStopAction"], outputs: ["selectedRecordingFileChanged"] }] });
|
|
17178
17257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioRecorder, decorators: [{
|
|
17179
17258
|
type: Component,
|
|
17180
17259
|
args: [{ selector: 'app-audiorecorder', providers: [SessionService], template: `
|
|
@@ -17186,18 +17265,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
17186
17265
|
[selectedRecordingFile]="displayRecFile"
|
|
17187
17266
|
[selectDisabled]="isActive()"
|
|
17188
17267
|
[displayAudioClip]="displayAudioClip"
|
|
17189
|
-
[playStartAction]="controlAudioPlayer
|
|
17190
|
-
[playStopAction]="controlAudioPlayer
|
|
17191
|
-
[playSelectionAction]="controlAudioPlayer
|
|
17192
|
-
[autoPlayOnSelectToggleAction]="controlAudioPlayer
|
|
17268
|
+
[playStartAction]="controlAudioPlayer?.startAction"
|
|
17269
|
+
[playStopAction]="controlAudioPlayer?.stopAction"
|
|
17270
|
+
[playSelectionAction]="controlAudioPlayer?.startSelectionAction"
|
|
17271
|
+
[autoPlayOnSelectToggleAction]="controlAudioPlayer?.autoPlayOnSelectToggleAction"
|
|
17193
17272
|
></app-recordercombipane>
|
|
17194
17273
|
|
|
17195
|
-
<div
|
|
17196
|
-
|
|
17197
|
-
<audio-levelbar fxFlex="1 0 1" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17274
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
17275
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17198
17276
|
[displayLevelInfos]="displayAudioClip?.levelInfos"></audio-levelbar>
|
|
17199
|
-
<div
|
|
17200
|
-
<spr-recordingitemcontrols
|
|
17277
|
+
<div style="flex-direction: row">
|
|
17278
|
+
<spr-recordingitemcontrols style="flex:10 0 1%"
|
|
17201
17279
|
[disableAudioDetails]="disableAudioDetails"
|
|
17202
17280
|
[audioLoaded]="audioLoaded"
|
|
17203
17281
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -17207,19 +17285,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
17207
17285
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
17208
17286
|
</spr-recordingitemcontrols>
|
|
17209
17287
|
|
|
17210
|
-
<app-uploadstatus class="ricontrols dark"
|
|
17288
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0"
|
|
17211
17289
|
[value]="uploadProgress"
|
|
17212
17290
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17213
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
17214
|
-
<app-readystateindicator class="ricontrols dark"
|
|
17291
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17292
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0"
|
|
17215
17293
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17216
17294
|
</div>
|
|
17217
17295
|
</div>
|
|
17218
|
-
<div #controlpanel class="controlpanel"
|
|
17219
|
-
<app-sprstatusdisplay
|
|
17296
|
+
<div #controlpanel class="controlpanel">
|
|
17297
|
+
<app-sprstatusdisplay *ngIf="!screenXs" style="flex:0.333 1 30%" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType"
|
|
17220
17298
|
[statusWaiting]="statusWaiting"
|
|
17221
17299
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
17222
|
-
<div
|
|
17300
|
+
<div style="flex:1 0 100%" class="startstop">
|
|
17223
17301
|
<div style="align-content: center">
|
|
17224
17302
|
<button (click)="startStopPerform()" [disabled]="startDisabled() && stopDisabled()" mat-raised-button class="bigbutton">
|
|
17225
17303
|
<mat-icon [style.color]="startStopNextIconColor()" inline="true">{{startStopNextIconName()}}</mat-icon>
|
|
@@ -17227,19 +17305,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
17227
17305
|
</button>
|
|
17228
17306
|
</div>
|
|
17229
17307
|
</div>
|
|
17230
|
-
<div
|
|
17231
|
-
<div
|
|
17308
|
+
<div style="flex:0.333 1 30%" >
|
|
17309
|
+
<div style="flex:1 1 auto"></div>
|
|
17232
17310
|
|
|
17233
|
-
<app-uploadstatus class="ricontrols"
|
|
17311
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" style="flex:0 0 0"
|
|
17234
17312
|
[value]="uploadProgress"
|
|
17235
17313
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17236
|
-
<app-wakelockindicator class="ricontrols"
|
|
17237
|
-
<app-readystateindicator class="ricontrols"
|
|
17314
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17315
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols"
|
|
17238
17316
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17239
17317
|
</div>
|
|
17240
17318
|
</div>
|
|
17241
|
-
`, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;height:100%;min-height:0px;overflow:hidden}\n", ".ricontrols{padding:4px;box-sizing:border-box;height:100%}\n", ".dark{background:darkgray}\n", ".controlpanel{align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".startstop{width:100%;text-align:center;align-content:center;align-items:center}\n", ".bigbutton{min-width:70px;min-height:50px;font-size:50px;border-radius:20px}\n"] }]
|
|
17242
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1$2.ActivatedRoute }, { type: i1$4.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
17319
|
+
`, styles: [":host{flex:2;background:lightgrey;display:flex;flex-direction:column;margin:0;padding:0;height:100%;min-height:0px;overflow:hidden}\n", ".ricontrols{padding:4px;box-sizing:border-box;height:100%}\n", ".dark{background:darkgray}\n", ".controlpanel{display:flex;flex-direction:row;align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n", ".startstop{width:100%;text-align:center;align-content:center;align-items:center}\n", ".bigbutton{min-width:70px;min-height:50px;font-size:50px;border-radius:20px}\n", ".audioStatusDisplay{display:flex;flex-direction:row;height:100px;min-height:100px}\n", ".audioStatusDisplayXs{display:flex;flex-direction:column;height:125px;min-height:125px}\n"] }]
|
|
17320
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1$2.ActivatedRoute }, { type: i1$4.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
17243
17321
|
type: Inject,
|
|
17244
17322
|
args: [SPEECHRECORDER_CONFIG]
|
|
17245
17323
|
}] }]; }, propDecorators: { projectName: [{
|
|
@@ -17429,20 +17507,20 @@ class SpeechrecorderngModule {
|
|
|
17429
17507
|
}
|
|
17430
17508
|
SpeechrecorderngModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17431
17509
|
SpeechrecorderngModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
|
|
17432
|
-
ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder], imports: [i1$2.RouterModule,
|
|
17433
|
-
SpeechrecorderngModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [RouterModule.forChild(SPR_ROUTES),
|
|
17510
|
+
ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder], imports: [i1$2.RouterModule, CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule], exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder] });
|
|
17511
|
+
SpeechrecorderngModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader], imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule] });
|
|
17434
17512
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
|
|
17435
17513
|
type: NgModule,
|
|
17436
17514
|
args: [{
|
|
17437
17515
|
declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
|
|
17438
17516
|
ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder],
|
|
17439
17517
|
exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder],
|
|
17440
|
-
imports: [RouterModule.forChild(SPR_ROUTES),
|
|
17518
|
+
imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule],
|
|
17441
17519
|
providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader]
|
|
17442
17520
|
}]
|
|
17443
17521
|
}] });
|
|
17444
17522
|
|
|
17445
|
-
const VERSION = '3.3.
|
|
17523
|
+
const VERSION = '3.3.4';
|
|
17446
17524
|
|
|
17447
17525
|
/*
|
|
17448
17526
|
* Public API Surface of speechrecorderng
|