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';
|
|
@@ -7846,6 +7845,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
7846
7845
|
type: Input
|
|
7847
7846
|
}] } });
|
|
7848
7847
|
|
|
7848
|
+
class ResponsiveComponent {
|
|
7849
|
+
constructor(breakpointObserver) {
|
|
7850
|
+
this.breakpointObserver = breakpointObserver;
|
|
7851
|
+
this.screenXs = false;
|
|
7852
|
+
breakpointObserver
|
|
7853
|
+
.observe([
|
|
7854
|
+
Breakpoints.XSmall
|
|
7855
|
+
])
|
|
7856
|
+
.subscribe(result => {
|
|
7857
|
+
this.screenXs = (result.matches);
|
|
7858
|
+
//console.debug("Screen XS: "+this.screenXs);
|
|
7859
|
+
});
|
|
7860
|
+
}
|
|
7861
|
+
}
|
|
7862
|
+
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 });
|
|
7863
|
+
ResponsiveComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ResponsiveComponent, ngImport: i0 });
|
|
7864
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ResponsiveComponent, decorators: [{
|
|
7865
|
+
type: Directive
|
|
7866
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; } });
|
|
7867
|
+
|
|
7849
7868
|
class ScrollIntoViewDirective {
|
|
7850
7869
|
constructor(elRef) {
|
|
7851
7870
|
this.elRef = elRef;
|
|
@@ -8500,8 +8519,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8500
8519
|
type: HostListener,
|
|
8501
8520
|
args: ['touchcancel', ['$event']]
|
|
8502
8521
|
}] } });
|
|
8503
|
-
class Prompting {
|
|
8504
|
-
constructor() {
|
|
8522
|
+
class Prompting extends ResponsiveComponent {
|
|
8523
|
+
constructor(bpo) {
|
|
8524
|
+
super(bpo);
|
|
8525
|
+
this.bpo = bpo;
|
|
8505
8526
|
this.promptItem = null;
|
|
8506
8527
|
this.showPrompt = false;
|
|
8507
8528
|
this.items = undefined;
|
|
@@ -8522,16 +8543,16 @@ class Prompting {
|
|
|
8522
8543
|
this.onPrevItem.emit();
|
|
8523
8544
|
}
|
|
8524
8545
|
}
|
|
8525
|
-
Prompting.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Prompting, deps: [], 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 }], ngImport: i0, template: `
|
|
8546
|
+
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 });
|
|
8547
|
+
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: `
|
|
8527
8548
|
|
|
8528
8549
|
<app-simpletrafficlight [status]="startStopSignalState"></app-simpletrafficlight>
|
|
8529
8550
|
<app-sprpromptingcontainer [projectName]="projectName" [promptItem]="promptItem" [showPrompt]="showPrompt"
|
|
8530
8551
|
[itemCount]="items?.length" [selectedItemIdx]="selectedItemIdx"
|
|
8531
8552
|
[transportActions]="transportActions"></app-sprpromptingcontainer>
|
|
8532
|
-
<app-sprprogress
|
|
8553
|
+
<app-sprprogress *ngIf="!screenXs" [items]="items" [selectedItemIdx]="selectedItemIdx"
|
|
8533
8554
|
(onRowSelect)="itemSelect($event)"></app-sprprogress>
|
|
8534
|
-
<div
|
|
8555
|
+
<div #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
8535
8556
|
|
|
8536
8557
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
8537
8558
|
[audioClip]="displayAudioClip"
|
|
@@ -8545,7 +8566,7 @@ Prompting.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14
|
|
|
8545
8566
|
|
|
8546
8567
|
|
|
8547
8568
|
|
|
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$
|
|
8569
|
+
`, 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"] }] });
|
|
8549
8570
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Prompting, decorators: [{
|
|
8550
8571
|
type: Component,
|
|
8551
8572
|
args: [{ selector: 'app-sprprompting', template: `
|
|
@@ -8554,9 +8575,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8554
8575
|
<app-sprpromptingcontainer [projectName]="projectName" [promptItem]="promptItem" [showPrompt]="showPrompt"
|
|
8555
8576
|
[itemCount]="items?.length" [selectedItemIdx]="selectedItemIdx"
|
|
8556
8577
|
[transportActions]="transportActions"></app-sprpromptingcontainer>
|
|
8557
|
-
<app-sprprogress
|
|
8578
|
+
<app-sprprogress *ngIf="!screenXs" [items]="items" [selectedItemIdx]="selectedItemIdx"
|
|
8558
8579
|
(onRowSelect)="itemSelect($event)"></app-sprprogress>
|
|
8559
|
-
<div
|
|
8580
|
+
<div #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
8560
8581
|
|
|
8561
8582
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
8562
8583
|
[audioClip]="displayAudioClip"
|
|
@@ -8571,7 +8592,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8571
8592
|
|
|
8572
8593
|
|
|
8573
8594
|
`, 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"] }]
|
|
8574
|
-
}], propDecorators: { simpleTrafficLight: [{
|
|
8595
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; }, propDecorators: { simpleTrafficLight: [{
|
|
8575
8596
|
type: ViewChild,
|
|
8576
8597
|
args: [SimpleTrafficLight, { static: true }]
|
|
8577
8598
|
}], audioDisplay: [{
|
|
@@ -10570,6 +10591,7 @@ class UploadStatus {
|
|
|
10570
10591
|
constructor() {
|
|
10571
10592
|
this._awaitNewUpload = false;
|
|
10572
10593
|
this.spinnerMode = 'determinate';
|
|
10594
|
+
this._colorStatus = 'primary';
|
|
10573
10595
|
this._value = 100;
|
|
10574
10596
|
this.displayValue = null;
|
|
10575
10597
|
this.toolTipText = '';
|
|
@@ -10607,6 +10629,15 @@ class UploadStatus {
|
|
|
10607
10629
|
}
|
|
10608
10630
|
set status(status) {
|
|
10609
10631
|
this._status = status;
|
|
10632
|
+
if ('accent' === status) {
|
|
10633
|
+
this._colorStatus = 'accent';
|
|
10634
|
+
}
|
|
10635
|
+
else if ('warn' === status) {
|
|
10636
|
+
this._colorStatus = 'warn';
|
|
10637
|
+
}
|
|
10638
|
+
else {
|
|
10639
|
+
this._colorStatus = 'primary';
|
|
10640
|
+
}
|
|
10610
10641
|
this._updateSpinner();
|
|
10611
10642
|
}
|
|
10612
10643
|
get status() {
|
|
@@ -10655,8 +10686,9 @@ class TransportActions {
|
|
|
10655
10686
|
this.bwdAction = new Action('Backward');
|
|
10656
10687
|
}
|
|
10657
10688
|
}
|
|
10658
|
-
class TransportPanel {
|
|
10659
|
-
constructor() {
|
|
10689
|
+
class TransportPanel extends ResponsiveComponent {
|
|
10690
|
+
constructor(breakpointObserver) {
|
|
10691
|
+
super(breakpointObserver);
|
|
10660
10692
|
this.navigationEnabled = true;
|
|
10661
10693
|
this.pausingEnabled = true;
|
|
10662
10694
|
}
|
|
@@ -10728,28 +10760,28 @@ class TransportPanel {
|
|
|
10728
10760
|
}
|
|
10729
10761
|
}
|
|
10730
10762
|
}
|
|
10731
|
-
TransportPanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TransportPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10732
|
-
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: `
|
|
10763
|
+
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 });
|
|
10764
|
+
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: `
|
|
10733
10765
|
<button id="bwdBtn" *ngIf="navigationEnabled" (click)="actions.bwdAction.perform()" [disabled]="bwdDisabled()"
|
|
10734
10766
|
mat-raised-button>
|
|
10735
10767
|
<mat-icon>chevron_left</mat-icon>
|
|
10736
10768
|
</button>
|
|
10737
10769
|
<button (click)="startStopNextPerform()" [disabled]="startDisabled() && stopDisabled() && nextDisabled()" mat-raised-button>
|
|
10738
10770
|
<mat-icon [style.color]="startStopNextIconColor()">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf="!nextDisabled()" [style.color]="nextDisabled() ? 'grey' : 'black'">chevron_right</mat-icon>
|
|
10739
|
-
<span
|
|
10771
|
+
<span *ngIf="!screenXs">{{startStopNextName()}}</span>
|
|
10740
10772
|
</button>
|
|
10741
10773
|
<button *ngIf="pausingEnabled" (click)="actions.pauseAction.perform()" [disabled]="pauseDisabled()" mat-raised-button>
|
|
10742
10774
|
<mat-icon>pause</mat-icon>
|
|
10743
|
-
<span
|
|
10775
|
+
<span *ngIf="!screenXs">Pause</span>
|
|
10744
10776
|
</button>
|
|
10745
|
-
<button id="fwdNextBtn" *ngIf="navigationEnabled"
|
|
10777
|
+
<button id="fwdNextBtn" *ngIf="navigationEnabled && !screenXs" (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
|
|
10746
10778
|
<mat-icon>redo</mat-icon>
|
|
10747
10779
|
</button>
|
|
10748
10780
|
<button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
|
|
10749
10781
|
<mat-icon>chevron_right</mat-icon>
|
|
10750
10782
|
</button>
|
|
10751
10783
|
|
|
10752
|
-
`, 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$
|
|
10784
|
+
`, 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"] }] });
|
|
10753
10785
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TransportPanel, decorators: [{
|
|
10754
10786
|
type: Component,
|
|
10755
10787
|
args: [{ selector: 'app-sprtransport', template: `
|
|
@@ -10759,13 +10791,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10759
10791
|
</button>
|
|
10760
10792
|
<button (click)="startStopNextPerform()" [disabled]="startDisabled() && stopDisabled() && nextDisabled()" mat-raised-button>
|
|
10761
10793
|
<mat-icon [style.color]="startStopNextIconColor()">{{startStopNextIconName()}}</mat-icon><mat-icon *ngIf="!nextDisabled()" [style.color]="nextDisabled() ? 'grey' : 'black'">chevron_right</mat-icon>
|
|
10762
|
-
<span
|
|
10794
|
+
<span *ngIf="!screenXs">{{startStopNextName()}}</span>
|
|
10763
10795
|
</button>
|
|
10764
10796
|
<button *ngIf="pausingEnabled" (click)="actions.pauseAction.perform()" [disabled]="pauseDisabled()" mat-raised-button>
|
|
10765
10797
|
<mat-icon>pause</mat-icon>
|
|
10766
|
-
<span
|
|
10798
|
+
<span *ngIf="!screenXs">Pause</span>
|
|
10767
10799
|
</button>
|
|
10768
|
-
<button id="fwdNextBtn" *ngIf="navigationEnabled"
|
|
10800
|
+
<button id="fwdNextBtn" *ngIf="navigationEnabled && !screenXs" (click)="actions.fwdNextAction.perform()" [disabled]="fwdNextDisabled()" mat-raised-button>
|
|
10769
10801
|
<mat-icon>redo</mat-icon>
|
|
10770
10802
|
</button>
|
|
10771
10803
|
<button id="fwdBtn" *ngIf="navigationEnabled" (click)="actions.fwdAction.perform()" [disabled]="fwdDisabled()" mat-raised-button>
|
|
@@ -10773,7 +10805,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10773
10805
|
</button>
|
|
10774
10806
|
|
|
10775
10807
|
`, 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"] }]
|
|
10776
|
-
}], propDecorators: { readonly: [{
|
|
10808
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; }, propDecorators: { readonly: [{
|
|
10777
10809
|
type: Input
|
|
10778
10810
|
}], actions: [{
|
|
10779
10811
|
type: Input
|
|
@@ -10829,8 +10861,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10829
10861
|
}], ctorParameters: function () { return []; }, propDecorators: { ready: [{
|
|
10830
10862
|
type: Input
|
|
10831
10863
|
}] } });
|
|
10832
|
-
class ControlPanel {
|
|
10833
|
-
constructor(dialog) {
|
|
10864
|
+
class ControlPanel extends ResponsiveComponent {
|
|
10865
|
+
constructor(bpo, dialog) {
|
|
10866
|
+
super(bpo);
|
|
10867
|
+
this.bpo = bpo;
|
|
10834
10868
|
this.dialog = dialog;
|
|
10835
10869
|
this.processing = false;
|
|
10836
10870
|
this.navigationEnabled = true;
|
|
@@ -10843,44 +10877,44 @@ class ControlPanel {
|
|
|
10843
10877
|
return this._ready;
|
|
10844
10878
|
}
|
|
10845
10879
|
}
|
|
10846
|
-
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 });
|
|
10847
|
-
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: `
|
|
10848
|
-
<div
|
|
10849
|
-
<app-sprstatusdisplay
|
|
10880
|
+
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 });
|
|
10881
|
+
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: `
|
|
10882
|
+
<div *ngIf="!screenXs" style="flex-direction: row" >
|
|
10883
|
+
<app-sprstatusdisplay style="flex:0 0 0" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10850
10884
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10851
|
-
<app-sprtransport
|
|
10852
|
-
<app-uploadstatus
|
|
10885
|
+
<app-sprtransport style="flex:10 0 0" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
10886
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10853
10887
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10854
10888
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10855
10889
|
</div>
|
|
10856
|
-
<div
|
|
10857
|
-
<div
|
|
10858
|
-
<app-sprstatusdisplay
|
|
10890
|
+
<div *ngIf="screenXs"style="flex-direction: column" >
|
|
10891
|
+
<div style="flex-direction: row" class="flexFill" >
|
|
10892
|
+
<app-sprstatusdisplay style="flex:10 0 0;flex-align:left" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10859
10893
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10860
|
-
<app-uploadstatus
|
|
10894
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10861
10895
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10862
10896
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10863
10897
|
</div>
|
|
10864
10898
|
<app-sprtransport [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
10865
10899
|
|
|
10866
10900
|
</div>
|
|
10867
|
-
`, isInline: true, styles: ["div{align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n"], dependencies: [{ kind: "directive", type:
|
|
10901
|
+
`, 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"] }] });
|
|
10868
10902
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ControlPanel, decorators: [{
|
|
10869
10903
|
type: Component,
|
|
10870
10904
|
args: [{ selector: 'app-sprcontrolpanel', template: `
|
|
10871
|
-
<div
|
|
10872
|
-
<app-sprstatusdisplay
|
|
10905
|
+
<div *ngIf="!screenXs" style="flex-direction: row" >
|
|
10906
|
+
<app-sprstatusdisplay style="flex:0 0 0" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10873
10907
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10874
|
-
<app-sprtransport
|
|
10875
|
-
<app-uploadstatus
|
|
10908
|
+
<app-sprtransport style="flex:10 0 0" [readonly]="readonly" [actions]="transportActions" [navigationEnabled]="navigationEnabled"></app-sprtransport>
|
|
10909
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10876
10910
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10877
10911
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10878
10912
|
</div>
|
|
10879
|
-
<div
|
|
10880
|
-
<div
|
|
10881
|
-
<app-sprstatusdisplay
|
|
10913
|
+
<div *ngIf="screenXs"style="flex-direction: column" >
|
|
10914
|
+
<div style="flex-direction: row" class="flexFill" >
|
|
10915
|
+
<app-sprstatusdisplay style="flex:10 0 0;flex-align:left" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"
|
|
10882
10916
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
10883
|
-
<app-uploadstatus
|
|
10917
|
+
<app-uploadstatus style="flex:0 0 0" *ngIf="enableUploadRecordings" [value]="uploadProgress"
|
|
10884
10918
|
[status]="uploadStatus" [awaitNewUpload]="processing"></app-uploadstatus>
|
|
10885
10919
|
<app-readystateindicator [ready]="_ready"></app-readystateindicator>
|
|
10886
10920
|
</div>
|
|
@@ -10888,7 +10922,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
10888
10922
|
|
|
10889
10923
|
</div>
|
|
10890
10924
|
`, styles: ["div{align-content:center;align-items:center;margin:0;padding:20px;min-height:min-content}\n"] }]
|
|
10891
|
-
}], ctorParameters: function () { return [{ type: i1$4.MatDialog }]; }, propDecorators: { statusDisplay: [{
|
|
10925
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i1$4.MatDialog }]; }, propDecorators: { statusDisplay: [{
|
|
10892
10926
|
type: ViewChild,
|
|
10893
10927
|
args: [StatusDisplay, { static: true }]
|
|
10894
10928
|
}], transportPanel: [{
|
|
@@ -11487,8 +11521,10 @@ class StreamLevelMeasure {
|
|
|
11487
11521
|
|
|
11488
11522
|
const MIN_DB_LEVEL = -40.0;
|
|
11489
11523
|
const DEFAULT_WARN_DB_LEVEL = -2;
|
|
11490
|
-
class RecordingItemControls {
|
|
11491
|
-
constructor(ref, changeDetectorRef) {
|
|
11524
|
+
class RecordingItemControls extends ResponsiveComponent {
|
|
11525
|
+
constructor(bpo, ref, changeDetectorRef) {
|
|
11526
|
+
super(bpo);
|
|
11527
|
+
this.bpo = bpo;
|
|
11492
11528
|
this.ref = ref;
|
|
11493
11529
|
this.changeDetectorRef = changeDetectorRef;
|
|
11494
11530
|
this.ce = null;
|
|
@@ -11541,8 +11577,8 @@ class RecordingItemControls {
|
|
|
11541
11577
|
// this.status = 'ERROR';
|
|
11542
11578
|
}
|
|
11543
11579
|
}
|
|
11544
|
-
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 });
|
|
11545
|
-
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: `
|
|
11580
|
+
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 });
|
|
11581
|
+
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: `
|
|
11546
11582
|
<button matTooltip="Start playback" (click)="playStartAction?.perform()"
|
|
11547
11583
|
[disabled]="playStartAction?.disabled"
|
|
11548
11584
|
[style.color]="playStartAction?.disabled ? 'grey' : 'green'">
|
|
@@ -11553,7 +11589,7 @@ RecordingItemControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
11553
11589
|
[style.color]="playStopAction?.disabled ? 'grey' : 'yellow'">
|
|
11554
11590
|
<mat-icon>stop</mat-icon>
|
|
11555
11591
|
</button>
|
|
11556
|
-
<button
|
|
11592
|
+
<button *ngIf="!screenXs" matTooltip="Toggle detailed audio display" [disabled]="disableAudioDetails || !audioLoaded"
|
|
11557
11593
|
(click)="showRecordingDetails()">
|
|
11558
11594
|
<mat-icon>{{(audioSignalCollapsed) ? "expand_less" : "expand_more"}}</mat-icon>
|
|
11559
11595
|
</button>
|
|
@@ -11564,7 +11600,7 @@ RecordingItemControls.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
11564
11600
|
<div style="min-width: 14ch;padding:2px"><table style="border-style: none"><tr><td>Peak:</td><td><span matTooltip="Peak level"
|
|
11565
11601
|
[style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>
|
|
11566
11602
|
<tr *ngIf="_agc"><td>AGC:</td><td><span matTooltip="Auto gain control">{{agcString}}</span></td></tr></table></div>
|
|
11567
|
-
`, 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$
|
|
11603
|
+
`, 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" }] });
|
|
11568
11604
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemControls, decorators: [{
|
|
11569
11605
|
type: Component,
|
|
11570
11606
|
args: [{ selector: 'spr-recordingitemcontrols', template: `
|
|
@@ -11578,7 +11614,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
11578
11614
|
[style.color]="playStopAction?.disabled ? 'grey' : 'yellow'">
|
|
11579
11615
|
<mat-icon>stop</mat-icon>
|
|
11580
11616
|
</button>
|
|
11581
|
-
<button
|
|
11617
|
+
<button *ngIf="!screenXs" matTooltip="Toggle detailed audio display" [disabled]="disableAudioDetails || !audioLoaded"
|
|
11582
11618
|
(click)="showRecordingDetails()">
|
|
11583
11619
|
<mat-icon>{{(audioSignalCollapsed) ? "expand_less" : "expand_more"}}</mat-icon>
|
|
11584
11620
|
</button>
|
|
@@ -11590,7 +11626,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
11590
11626
|
[style.color]="(peakDbLvl > warnDbLevel)?'red':'black'">{{peakDbLvl | number:'1.1-1'}} dB </span></td></tr>
|
|
11591
11627
|
<tr *ngIf="_agc"><td>AGC:</td><td><span matTooltip="Auto gain control">{{agcString}}</span></td></tr></table></div>
|
|
11592
11628
|
`, 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"] }]
|
|
11593
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { audioSignalCollapsed: [{
|
|
11629
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { audioSignalCollapsed: [{
|
|
11594
11630
|
type: Input
|
|
11595
11631
|
}], enableDownload: [{
|
|
11596
11632
|
type: Input
|
|
@@ -11613,8 +11649,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
11613
11649
|
}], displayLevelInfos: [{
|
|
11614
11650
|
type: Input
|
|
11615
11651
|
}] } });
|
|
11616
|
-
class RecordingItemDisplay {
|
|
11617
|
-
constructor(ref, changeDetectorRef) {
|
|
11652
|
+
class RecordingItemDisplay extends ResponsiveComponent {
|
|
11653
|
+
constructor(bpo, ref, changeDetectorRef) {
|
|
11654
|
+
super(bpo);
|
|
11655
|
+
this.bpo = bpo;
|
|
11618
11656
|
this.ref = ref;
|
|
11619
11657
|
this.changeDetectorRef = changeDetectorRef;
|
|
11620
11658
|
this.ce = null;
|
|
@@ -11685,22 +11723,22 @@ class RecordingItemDisplay {
|
|
|
11685
11723
|
this.changeDetectorRef.detectChanges();
|
|
11686
11724
|
}
|
|
11687
11725
|
}
|
|
11688
|
-
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 });
|
|
11689
|
-
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: `
|
|
11690
|
-
<div
|
|
11691
|
-
<audio-levelbar
|
|
11692
|
-
<spr-recordingitemcontrols
|
|
11726
|
+
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 });
|
|
11727
|
+
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: `
|
|
11728
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
11729
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="streamingMode" [displayLevelInfos]="_displayLevelInfos"></audio-levelbar>
|
|
11730
|
+
<spr-recordingitemcontrols style="flex:0 0 0px" [audioLoaded]="displayAudioBuffer!==null" [playStartAction]="playStartAction" [playStopAction]="playStopAction" [peakDbLvl]="peakDbLvl" [agc]="_agc" (onShowRecordingDetails)="onShowRecordingDetails.emit()"></spr-recordingitemcontrols>
|
|
11693
11731
|
</div>
|
|
11694
|
-
`, 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"
|
|
11732
|
+
`, 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"] }] });
|
|
11695
11733
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingItemDisplay, decorators: [{
|
|
11696
11734
|
type: Component,
|
|
11697
11735
|
args: [{ selector: 'spr-recordingitemdisplay', template: `
|
|
11698
|
-
<div
|
|
11699
|
-
<audio-levelbar
|
|
11700
|
-
<spr-recordingitemcontrols
|
|
11736
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
11737
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="streamingMode" [displayLevelInfos]="_displayLevelInfos"></audio-levelbar>
|
|
11738
|
+
<spr-recordingitemcontrols style="flex:0 0 0px" [audioLoaded]="displayAudioBuffer!==null" [playStartAction]="playStartAction" [playStopAction]="playStopAction" [peakDbLvl]="peakDbLvl" [agc]="_agc" (onShowRecordingDetails)="onShowRecordingDetails.emit()"></spr-recordingitemcontrols>
|
|
11701
11739
|
</div>
|
|
11702
|
-
`, styles: ["div{width:100%;background:darkgray;padding:4px;box-sizing:border-box;flex-wrap:nowrap}\n", "audio-levelbar{box-sizing:border-box}\n"] }]
|
|
11703
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { liveLevel: [{
|
|
11740
|
+
`, 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"] }]
|
|
11741
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { liveLevel: [{
|
|
11704
11742
|
type: ViewChild,
|
|
11705
11743
|
args: [LevelBar, { static: true }]
|
|
11706
11744
|
}], streamingMode: [{
|
|
@@ -11983,8 +12021,10 @@ class ChunkManager {
|
|
|
11983
12021
|
return frameLen;
|
|
11984
12022
|
}
|
|
11985
12023
|
}
|
|
11986
|
-
let BasicRecorder = class BasicRecorder {
|
|
11987
|
-
constructor(changeDetectorRef, dialog, sessionService, uploader, config) {
|
|
12024
|
+
let BasicRecorder = class BasicRecorder extends ResponsiveComponent {
|
|
12025
|
+
constructor(bpo, changeDetectorRef, dialog, sessionService, uploader, config) {
|
|
12026
|
+
super(bpo);
|
|
12027
|
+
this.bpo = bpo;
|
|
11988
12028
|
this.changeDetectorRef = changeDetectorRef;
|
|
11989
12029
|
this.dialog = dialog;
|
|
11990
12030
|
this.sessionService = sessionService;
|
|
@@ -12012,6 +12052,7 @@ let BasicRecorder = class BasicRecorder {
|
|
|
12012
12052
|
this.peakLevelInDb = MIN_DB_LEVEL;
|
|
12013
12053
|
this.audioLoaded = false;
|
|
12014
12054
|
this.disableAudioDetails = false;
|
|
12055
|
+
this._controlAudioPlayer = null;
|
|
12015
12056
|
this.displayAudioClip = null;
|
|
12016
12057
|
this.audioFetchSubscription = null;
|
|
12017
12058
|
this.liveLevelDisplayState = State.READY;
|
|
@@ -12157,7 +12198,9 @@ let BasicRecorder = class BasicRecorder {
|
|
|
12157
12198
|
}
|
|
12158
12199
|
}
|
|
12159
12200
|
showRecording() {
|
|
12160
|
-
this._controlAudioPlayer
|
|
12201
|
+
if (this._controlAudioPlayer) {
|
|
12202
|
+
this._controlAudioPlayer.stop();
|
|
12203
|
+
}
|
|
12161
12204
|
if (this.calcBufferInfosSubscr) {
|
|
12162
12205
|
this.calcBufferInfosSubscr.unsubscribe();
|
|
12163
12206
|
}
|
|
@@ -12531,7 +12574,7 @@ BasicRecorder.DEFAULT_CHUNK_SIZE_SECONDS = 30;
|
|
|
12531
12574
|
// Enable only for developemnt/debug purposes of array audio buffers !!
|
|
12532
12575
|
BasicRecorder.FORCE_ARRRAY_AUDIO_BUFFER = false;
|
|
12533
12576
|
BasicRecorder = __decorate([
|
|
12534
|
-
__param(
|
|
12577
|
+
__param(5, Inject(SPEECHRECORDER_CONFIG))
|
|
12535
12578
|
], BasicRecorder);
|
|
12536
12579
|
|
|
12537
12580
|
class BasicRecFilesCache {
|
|
@@ -12779,8 +12822,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
12779
12822
|
const DEFAULT_PRE_REC_DELAY = 1000;
|
|
12780
12823
|
const DEFAULT_POST_REC_DELAY = 500;
|
|
12781
12824
|
class SessionManager extends BasicRecorder {
|
|
12782
|
-
constructor(changeDetectorRef, renderer, dialog, sessionService, recFileService, uploader, config) {
|
|
12783
|
-
super(changeDetectorRef, dialog, sessionService, uploader, config);
|
|
12825
|
+
constructor(bpo, changeDetectorRef, renderer, dialog, sessionService, recFileService, uploader, config) {
|
|
12826
|
+
super(bpo, changeDetectorRef, dialog, sessionService, uploader, config);
|
|
12827
|
+
this.bpo = bpo;
|
|
12784
12828
|
this.renderer = renderer;
|
|
12785
12829
|
this.recFileService = recFileService;
|
|
12786
12830
|
this.enableUploadRecordings = true;
|
|
@@ -12911,7 +12955,7 @@ class SessionManager extends BasicRecorder {
|
|
|
12911
12955
|
this.transportActions.fwdAction.onAction = () => this.nextItem();
|
|
12912
12956
|
this.transportActions.fwdNextAction.onAction = () => this.nextUnrecordedItem();
|
|
12913
12957
|
this.transportActions.bwdAction.onAction = () => this.prevItem();
|
|
12914
|
-
this.playStartAction.onAction = () => this.controlAudioPlayer.start();
|
|
12958
|
+
this.playStartAction.onAction = () => { var _a; return (_a = this.controlAudioPlayer) === null || _a === void 0 ? void 0 : _a.start(); };
|
|
12915
12959
|
}
|
|
12916
12960
|
this.startStopSignalState = 4 /* OFF */;
|
|
12917
12961
|
}
|
|
@@ -13177,7 +13221,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13177
13221
|
let adh = this._displayRecFile.audioDataHolder;
|
|
13178
13222
|
if (adh) {
|
|
13179
13223
|
this.displayAudioClip = new AudioClip(adh);
|
|
13180
|
-
this.
|
|
13224
|
+
if (this._controlAudioPlayer) {
|
|
13225
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13226
|
+
}
|
|
13181
13227
|
this.showRecording();
|
|
13182
13228
|
}
|
|
13183
13229
|
else {
|
|
@@ -13240,7 +13286,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13240
13286
|
// 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
|
|
13241
13287
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13242
13288
|
}
|
|
13243
|
-
this.
|
|
13289
|
+
if (this._controlAudioPlayer) {
|
|
13290
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13291
|
+
}
|
|
13244
13292
|
this.showRecording();
|
|
13245
13293
|
},
|
|
13246
13294
|
error: err => {
|
|
@@ -13281,7 +13329,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13281
13329
|
//console.debug("set displayRecFile(): fetch net ab complete, set displayAudioClip.")
|
|
13282
13330
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13283
13331
|
}
|
|
13284
|
-
this.
|
|
13332
|
+
if (this._controlAudioPlayer) {
|
|
13333
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13334
|
+
}
|
|
13285
13335
|
this.showRecording();
|
|
13286
13336
|
},
|
|
13287
13337
|
error: err => {
|
|
@@ -13319,7 +13369,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13319
13369
|
// 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
|
|
13320
13370
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13321
13371
|
}
|
|
13322
|
-
this.
|
|
13372
|
+
if (this._controlAudioPlayer) {
|
|
13373
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13374
|
+
}
|
|
13323
13375
|
this.showRecording();
|
|
13324
13376
|
},
|
|
13325
13377
|
error: err => {
|
|
@@ -13358,7 +13410,9 @@ class SessionManager extends BasicRecorder {
|
|
|
13358
13410
|
// 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
|
|
13359
13411
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
13360
13412
|
}
|
|
13361
|
-
this.
|
|
13413
|
+
if (this._controlAudioPlayer) {
|
|
13414
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
13415
|
+
}
|
|
13362
13416
|
this.showRecording();
|
|
13363
13417
|
}, error: err => {
|
|
13364
13418
|
console.error("Could not load recording file from server: " + err);
|
|
@@ -13913,9 +13967,14 @@ class SessionManager extends BasicRecorder {
|
|
|
13913
13967
|
}
|
|
13914
13968
|
}
|
|
13915
13969
|
updateControlPlaybackPosition() {
|
|
13916
|
-
if (this._controlAudioPlayer
|
|
13917
|
-
|
|
13918
|
-
|
|
13970
|
+
if (this._controlAudioPlayer) {
|
|
13971
|
+
const ppFrames = this._controlAudioPlayer.playPositionFrames;
|
|
13972
|
+
if (ppFrames !== null) {
|
|
13973
|
+
if (this.prompting.audioDisplay) {
|
|
13974
|
+
this.prompting.audioDisplay.playFramePosition = ppFrames;
|
|
13975
|
+
}
|
|
13976
|
+
this.liveLevelDisplay.playFramePosition = ppFrames;
|
|
13977
|
+
}
|
|
13919
13978
|
}
|
|
13920
13979
|
}
|
|
13921
13980
|
audioPlayerUpdate(e) {
|
|
@@ -13934,7 +13993,7 @@ class SessionManager extends BasicRecorder {
|
|
|
13934
13993
|
}
|
|
13935
13994
|
}
|
|
13936
13995
|
}
|
|
13937
|
-
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 });
|
|
13996
|
+
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 });
|
|
13938
13997
|
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: `
|
|
13939
13998
|
<app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
|
|
13940
13999
|
<app-warningbar [show]="isDefaultAudioTestSession()" warningText="This test uses default audio device! Regular sessions may require a particular audio device (microphone)!"></app-warningbar>
|
|
@@ -13950,13 +14009,13 @@ SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version
|
|
|
13950
14009
|
[playStopAction]="controlAudioPlayer?.stopAction">
|
|
13951
14010
|
|
|
13952
14011
|
</app-sprprompting>
|
|
13953
|
-
<mat-progress-bar [value]="progressPercentValue()"
|
|
14012
|
+
<mat-progress-bar [value]="progressPercentValue()" *ngIf="screenXs" ></mat-progress-bar>
|
|
13954
14013
|
|
|
13955
14014
|
|
|
13956
|
-
<div
|
|
13957
|
-
<audio-levelbar
|
|
13958
|
-
<div
|
|
13959
|
-
<spr-recordingitemcontrols
|
|
14015
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
14016
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [displayLevelInfos]="displayAudioClip?.levelInfos" [state]="liveLevelDisplayState"></audio-levelbar>
|
|
14017
|
+
<div style="display:flex;flex-direction: row">
|
|
14018
|
+
<spr-recordingitemcontrols style="display:flex;flex:10 0 1px"
|
|
13960
14019
|
[audioLoaded]="audioLoaded"
|
|
13961
14020
|
[disableAudioDetails]="disableAudioDetails"
|
|
13962
14021
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -13966,25 +14025,25 @@ SessionManager.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version
|
|
|
13966
14025
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
13967
14026
|
</spr-recordingitemcontrols>
|
|
13968
14027
|
|
|
13969
|
-
<app-uploadstatus class="ricontrols dark"
|
|
14028
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0" [value]="uploadProgress"
|
|
13970
14029
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
13971
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
13972
|
-
<app-readystateindicator class="ricontrols dark"
|
|
14030
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
14031
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
13973
14032
|
</div>
|
|
13974
14033
|
</div>
|
|
13975
|
-
<div #controlpanel class="controlpanel"
|
|
13976
|
-
<div
|
|
13977
|
-
<app-sprstatusdisplay
|
|
14034
|
+
<div #controlpanel class="controlpanel">
|
|
14035
|
+
<div style="flex:1 1 30%;justify-content: flex-start;align-items: center; align-content: center">
|
|
14036
|
+
<app-sprstatusdisplay *ngIf="!screenXs" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"></app-sprstatusdisplay>
|
|
13978
14037
|
</div>
|
|
13979
|
-
<app-sprtransport
|
|
13980
|
-
<div
|
|
13981
|
-
<app-uploadstatus
|
|
14038
|
+
<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>
|
|
14039
|
+
<div style="display:flex;flex:1 1 30%;flex-direction:row;justify-content: flex-end;align-items: center; align-content: center">
|
|
14040
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" [value]="uploadProgress"
|
|
13982
14041
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
13983
|
-
<app-wakelockindicator
|
|
13984
|
-
<app-readystateindicator
|
|
14042
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
14043
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
13985
14044
|
</div>
|
|
13986
14045
|
</div>
|
|
13987
|
-
`, 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
|
|
14046
|
+
`, 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"] }] });
|
|
13988
14047
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SessionManager, decorators: [{
|
|
13989
14048
|
type: Component,
|
|
13990
14049
|
args: [{ selector: 'app-sprrecordingsession', providers: [SessionService], template: `
|
|
@@ -14002,13 +14061,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
14002
14061
|
[playStopAction]="controlAudioPlayer?.stopAction">
|
|
14003
14062
|
|
|
14004
14063
|
</app-sprprompting>
|
|
14005
|
-
<mat-progress-bar [value]="progressPercentValue()"
|
|
14064
|
+
<mat-progress-bar [value]="progressPercentValue()" *ngIf="screenXs" ></mat-progress-bar>
|
|
14006
14065
|
|
|
14007
14066
|
|
|
14008
|
-
<div
|
|
14009
|
-
<audio-levelbar
|
|
14010
|
-
<div
|
|
14011
|
-
<spr-recordingitemcontrols
|
|
14067
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
14068
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [displayLevelInfos]="displayAudioClip?.levelInfos" [state]="liveLevelDisplayState"></audio-levelbar>
|
|
14069
|
+
<div style="display:flex;flex-direction: row">
|
|
14070
|
+
<spr-recordingitemcontrols style="display:flex;flex:10 0 1px"
|
|
14012
14071
|
[audioLoaded]="audioLoaded"
|
|
14013
14072
|
[disableAudioDetails]="disableAudioDetails"
|
|
14014
14073
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -14018,27 +14077,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
14018
14077
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
14019
14078
|
</spr-recordingitemcontrols>
|
|
14020
14079
|
|
|
14021
|
-
<app-uploadstatus class="ricontrols dark"
|
|
14080
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0" [value]="uploadProgress"
|
|
14022
14081
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
14023
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
14024
|
-
<app-readystateindicator class="ricontrols dark"
|
|
14082
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
14083
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
14025
14084
|
</div>
|
|
14026
14085
|
</div>
|
|
14027
|
-
<div #controlpanel class="controlpanel"
|
|
14028
|
-
<div
|
|
14029
|
-
<app-sprstatusdisplay
|
|
14086
|
+
<div #controlpanel class="controlpanel">
|
|
14087
|
+
<div style="flex:1 1 30%;justify-content: flex-start;align-items: center; align-content: center">
|
|
14088
|
+
<app-sprstatusdisplay *ngIf="!screenXs" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType" [statusWaiting]="statusWaiting"></app-sprstatusdisplay>
|
|
14030
14089
|
</div>
|
|
14031
|
-
<app-sprtransport
|
|
14032
|
-
<div
|
|
14033
|
-
<app-uploadstatus
|
|
14090
|
+
<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>
|
|
14091
|
+
<div style="display:flex;flex:1 1 30%;flex-direction:row;justify-content: flex-end;align-items: center; align-content: center">
|
|
14092
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" [value]="uploadProgress"
|
|
14034
14093
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
14035
|
-
<app-wakelockindicator
|
|
14036
|
-
<app-readystateindicator
|
|
14094
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
14095
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols" [ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
14037
14096
|
</div>
|
|
14038
14097
|
</div>
|
|
14039
|
-
`, 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
|
|
14098
|
+
`, 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"] }]
|
|
14040
14099
|
}], ctorParameters: function () {
|
|
14041
|
-
return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1$4.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
14100
|
+
return [{ type: i1$3.BreakpointObserver }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1$4.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
14042
14101
|
type: Inject,
|
|
14043
14102
|
args: [SPEECHRECORDER_CONFIG]
|
|
14044
14103
|
}] }];
|
|
@@ -14298,6 +14357,7 @@ class SpeechrecorderngComponent extends RecorderComponent {
|
|
|
14298
14357
|
this.scriptService = scriptService;
|
|
14299
14358
|
this.recFilesService = recFilesService;
|
|
14300
14359
|
this.uploader = uploader;
|
|
14360
|
+
this.controlAudioPlayer = null;
|
|
14301
14361
|
this._project = null;
|
|
14302
14362
|
}
|
|
14303
14363
|
handleError(err) {
|
|
@@ -15273,16 +15333,16 @@ RecordingFileNaviComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
15273
15333
|
<legend>Navigate</legend>
|
|
15274
15334
|
<mat-progress-spinner *ngIf="naviInfoLoading" mode="indeterminate" [diameter]="15"></mat-progress-spinner>
|
|
15275
15335
|
<div *ngIf="!naviInfoLoading" style="flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap">
|
|
15276
|
-
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction
|
|
15336
|
+
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction.disabled" matTooltip="First recording file">
|
|
15277
15337
|
<mat-icon>first_page</mat-icon>
|
|
15278
15338
|
</button>
|
|
15279
|
-
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction
|
|
15339
|
+
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction.disabled" matTooltip="Previous recording file">
|
|
15280
15340
|
<mat-icon>chevron_left</mat-icon>
|
|
15281
15341
|
</button>
|
|
15282
|
-
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction
|
|
15342
|
+
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction.disabled" matTooltip="Next recording file">
|
|
15283
15343
|
<mat-icon>chevron_right</mat-icon>
|
|
15284
15344
|
</button>
|
|
15285
|
-
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction
|
|
15345
|
+
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction.disabled" matTooltip="Last recording file">
|
|
15286
15346
|
<mat-icon>last_page</mat-icon>
|
|
15287
15347
|
</button>
|
|
15288
15348
|
</div>
|
|
@@ -15308,16 +15368,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
15308
15368
|
<legend>Navigate</legend>
|
|
15309
15369
|
<mat-progress-spinner *ngIf="naviInfoLoading" mode="indeterminate" [diameter]="15"></mat-progress-spinner>
|
|
15310
15370
|
<div *ngIf="!naviInfoLoading" style="flex: 0;display:flex;flex-direction: row;flex-wrap: nowrap">
|
|
15311
|
-
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction
|
|
15371
|
+
<button (click)="firstAction?.perform()" [disabled]="!firstAction || firstAction.disabled" matTooltip="First recording file">
|
|
15312
15372
|
<mat-icon>first_page</mat-icon>
|
|
15313
15373
|
</button>
|
|
15314
|
-
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction
|
|
15374
|
+
<button (click)="prevAction?.perform()" [disabled]="!prevAction || prevAction.disabled" matTooltip="Previous recording file">
|
|
15315
15375
|
<mat-icon>chevron_left</mat-icon>
|
|
15316
15376
|
</button>
|
|
15317
|
-
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction
|
|
15377
|
+
<button (click)="nextAction?.perform()" [disabled]="!nextAction || nextAction.disabled" matTooltip="Next recording file">
|
|
15318
15378
|
<mat-icon>chevron_right</mat-icon>
|
|
15319
15379
|
</button>
|
|
15320
|
-
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction
|
|
15380
|
+
<button (click)="lastAction?.perform()" [disabled]="!lastAction || lastAction.disabled" matTooltip="Last recording file">
|
|
15321
15381
|
<mat-icon>last_page</mat-icon>
|
|
15322
15382
|
</button>
|
|
15323
15383
|
</div>
|
|
@@ -15842,7 +15902,7 @@ RecordingFileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
|
|
|
15842
15902
|
[zoomOutAction]="zoomOutAction"
|
|
15843
15903
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15844
15904
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15845
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
15905
|
+
<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>
|
|
15846
15906
|
</div>
|
|
15847
15907
|
`, 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"] }] });
|
|
15848
15908
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingFileViewComponent, decorators: [{
|
|
@@ -15862,7 +15922,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
15862
15922
|
[zoomOutAction]="zoomOutAction"
|
|
15863
15923
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15864
15924
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15865
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
15925
|
+
<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>
|
|
15866
15926
|
</div>
|
|
15867
15927
|
`, 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"] }]
|
|
15868
15928
|
}], 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: [{
|
|
@@ -15968,7 +16028,7 @@ RecordingFileUI.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
|
|
|
15968
16028
|
[zoomOutAction]="zoomOutAction"
|
|
15969
16029
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15970
16030
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15971
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
16031
|
+
<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>
|
|
15972
16032
|
</div>
|
|
15973
16033
|
|
|
15974
16034
|
<button mat-raised-button color="accent" (click)="applySelection()" [disabled]="editSaved">{{this.applyButtonText()}}</button>
|
|
@@ -15991,7 +16051,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
15991
16051
|
[zoomOutAction]="zoomOutAction"
|
|
15992
16052
|
[zoomSelectedAction]="zoomSelectedAction"
|
|
15993
16053
|
[zoomFitToPanelAction]="zoomFitToPanelAction"></audio-display-control>
|
|
15994
|
-
<app-recording-file-navi [items]="availRecFiles
|
|
16054
|
+
<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>
|
|
15995
16055
|
</div>
|
|
15996
16056
|
|
|
15997
16057
|
<button mat-raised-button color="accent" (click)="applySelection()" [disabled]="editSaved">{{this.applyButtonText()}}</button>
|
|
@@ -16134,7 +16194,7 @@ RecordingList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
16134
16194
|
</mat-card-content>
|
|
16135
16195
|
</mat-card>
|
|
16136
16196
|
|
|
16137
|
-
`, 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" }] });
|
|
16197
|
+
`, 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" }] });
|
|
16138
16198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecordingList, decorators: [{
|
|
16139
16199
|
type: Component,
|
|
16140
16200
|
args: [{ selector: 'app-recordinglist', template: `
|
|
@@ -16181,7 +16241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16181
16241
|
</mat-card-content>
|
|
16182
16242
|
</mat-card>
|
|
16183
16243
|
|
|
16184
|
-
`, 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"] }]
|
|
16244
|
+
`, 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"] }]
|
|
16185
16245
|
}], ctorParameters: function () { return []; }, propDecorators: { selectDisabled: [{
|
|
16186
16246
|
type: Input
|
|
16187
16247
|
}], selectedRecordingFileChanged: [{
|
|
@@ -16190,8 +16250,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16190
16250
|
type: Input
|
|
16191
16251
|
}] } });
|
|
16192
16252
|
|
|
16193
|
-
class RecorderCombiPane {
|
|
16194
|
-
constructor() {
|
|
16253
|
+
class RecorderCombiPane extends ResponsiveComponent {
|
|
16254
|
+
constructor(bpo) {
|
|
16255
|
+
super(bpo);
|
|
16256
|
+
this.bpo = bpo;
|
|
16195
16257
|
this.selectDisabled = false;
|
|
16196
16258
|
this.selectedRecordingFileChanged = new EventEmitter();
|
|
16197
16259
|
this.selectedRecordingFile = null;
|
|
@@ -16213,12 +16275,12 @@ class RecorderCombiPane {
|
|
|
16213
16275
|
this.recordingListComp.selectTop();
|
|
16214
16276
|
}
|
|
16215
16277
|
}
|
|
16216
|
-
RecorderCombiPane.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecorderCombiPane, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16217
|
-
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: `
|
|
16278
|
+
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 });
|
|
16279
|
+
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: `
|
|
16218
16280
|
<div class="scrollList">
|
|
16219
16281
|
<app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
|
|
16220
16282
|
</div>
|
|
16221
|
-
<div class="collapsable"
|
|
16283
|
+
<div class="collapsable" #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
16222
16284
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
16223
16285
|
[audioClip]="displayAudioClip"
|
|
16224
16286
|
[playStartAction]="playStartAction"
|
|
@@ -16226,14 +16288,14 @@ RecorderCombiPane.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
16226
16288
|
[autoPlayOnSelectToggleAction]="autoPlayOnSelectToggleAction"
|
|
16227
16289
|
[playStopAction]="playStopAction"></app-audiodisplay>
|
|
16228
16290
|
</div>
|
|
16229
|
-
`, 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: "
|
|
16291
|
+
`, 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"] }] });
|
|
16230
16292
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: RecorderCombiPane, decorators: [{
|
|
16231
16293
|
type: Component,
|
|
16232
16294
|
args: [{ selector: 'app-recordercombipane', template: `
|
|
16233
16295
|
<div class="scrollList">
|
|
16234
16296
|
<app-recordinglist [selectedRecordingFile]="selectedRecordingFile" [selectDisabled]="selectDisabled" (selectedRecordingFileChanged)="selectRecordingFile($event)"></app-recordinglist>
|
|
16235
16297
|
</div>
|
|
16236
|
-
<div class="collapsable"
|
|
16298
|
+
<div class="collapsable" #asCt [class.active]="!audioSignalCollapsed && !screenXs">
|
|
16237
16299
|
<app-audiodisplay #audioSignalContainer [class.active]="!audioSignalCollapsed"
|
|
16238
16300
|
[audioClip]="displayAudioClip"
|
|
16239
16301
|
[playStartAction]="playStartAction"
|
|
@@ -16241,8 +16303,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16241
16303
|
[autoPlayOnSelectToggleAction]="autoPlayOnSelectToggleAction"
|
|
16242
16304
|
[playStopAction]="playStopAction"></app-audiodisplay>
|
|
16243
16305
|
</div>
|
|
16244
|
-
`, 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"] }]
|
|
16245
|
-
}], ctorParameters: function () { return []; }, propDecorators: { recordingListComp: [{
|
|
16306
|
+
`, 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"] }]
|
|
16307
|
+
}], ctorParameters: function () { return [{ type: i1$3.BreakpointObserver }]; }, propDecorators: { recordingListComp: [{
|
|
16246
16308
|
type: ViewChild,
|
|
16247
16309
|
args: [RecordingList]
|
|
16248
16310
|
}], selectDisabled: [{
|
|
@@ -16269,8 +16331,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
16269
16331
|
}] } });
|
|
16270
16332
|
|
|
16271
16333
|
class AudioRecorder extends BasicRecorder {
|
|
16272
|
-
constructor(changeDetectorRef, renderer, route, dialog, sessionService, recFileService, uploader, config) {
|
|
16273
|
-
super(changeDetectorRef, dialog, sessionService, uploader, config);
|
|
16334
|
+
constructor(bpo, changeDetectorRef, renderer, route, dialog, sessionService, recFileService, uploader, config) {
|
|
16335
|
+
super(bpo, changeDetectorRef, dialog, sessionService, uploader, config);
|
|
16336
|
+
this.bpo = bpo;
|
|
16274
16337
|
this.renderer = renderer;
|
|
16275
16338
|
this.route = route;
|
|
16276
16339
|
this.recFileService = recFileService;
|
|
@@ -16389,7 +16452,7 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16389
16452
|
this.transportActions.stopAction.onAction = () => this.stopItem();
|
|
16390
16453
|
this.transportActions.nextAction.onAction = () => this.stopItem();
|
|
16391
16454
|
//this.transportActions.pauseAction.onAction = () => this.pauseItem();
|
|
16392
|
-
this.playStartAction.onAction = () => this.controlAudioPlayer.start();
|
|
16455
|
+
this.playStartAction.onAction = () => { var _a; return (_a = this.controlAudioPlayer) === null || _a === void 0 ? void 0 : _a.start(); };
|
|
16393
16456
|
}
|
|
16394
16457
|
this.uploader.listener = (ue) => {
|
|
16395
16458
|
this.uploadUpdate(ue);
|
|
@@ -16658,14 +16721,18 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16658
16721
|
this.displayAudioClip = new AudioClip(adh);
|
|
16659
16722
|
//this.audioLoaded=true;
|
|
16660
16723
|
//console.debug(" set recording file: display audio clip set");
|
|
16661
|
-
this.
|
|
16724
|
+
if (this._controlAudioPlayer) {
|
|
16725
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16726
|
+
}
|
|
16662
16727
|
this.showRecording();
|
|
16663
16728
|
}
|
|
16664
16729
|
else {
|
|
16665
16730
|
// clear for now ...
|
|
16666
16731
|
this.displayAudioClip = null;
|
|
16667
16732
|
//console.debug("set recording file: display audio clip null");
|
|
16668
|
-
this.
|
|
16733
|
+
if (this._controlAudioPlayer) {
|
|
16734
|
+
this._controlAudioPlayer.audioClip = null;
|
|
16735
|
+
}
|
|
16669
16736
|
if (this._controlAudioPlayer && this._session) {
|
|
16670
16737
|
//... and try to fetch from server
|
|
16671
16738
|
this.liveLevelDisplayState = State.LOADING;
|
|
@@ -16719,7 +16786,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16719
16786
|
// 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
|
|
16720
16787
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
16721
16788
|
}
|
|
16722
|
-
this.
|
|
16789
|
+
if (this._controlAudioPlayer) {
|
|
16790
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16791
|
+
}
|
|
16723
16792
|
this.showRecording();
|
|
16724
16793
|
},
|
|
16725
16794
|
error: err => {
|
|
@@ -16763,7 +16832,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16763
16832
|
// this.audioLoaded=true;
|
|
16764
16833
|
// }
|
|
16765
16834
|
}
|
|
16766
|
-
this.
|
|
16835
|
+
if (this._controlAudioPlayer) {
|
|
16836
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16837
|
+
}
|
|
16767
16838
|
this.showRecording();
|
|
16768
16839
|
},
|
|
16769
16840
|
error: err => {
|
|
@@ -16802,7 +16873,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16802
16873
|
this.displayAudioClip = new AudioClip(fabDh);
|
|
16803
16874
|
//this.audioLoaded=true;
|
|
16804
16875
|
}
|
|
16805
|
-
this.
|
|
16876
|
+
if (this._controlAudioPlayer) {
|
|
16877
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16878
|
+
}
|
|
16806
16879
|
this.showRecording();
|
|
16807
16880
|
},
|
|
16808
16881
|
error: err => {
|
|
@@ -16836,7 +16909,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16836
16909
|
//this.audioLoaded=true;
|
|
16837
16910
|
//console.debug("set recording file: display audio clip from fetched audio buffer");
|
|
16838
16911
|
}
|
|
16839
|
-
this.
|
|
16912
|
+
if (this._controlAudioPlayer) {
|
|
16913
|
+
this._controlAudioPlayer.audioClip = this.displayAudioClip;
|
|
16914
|
+
}
|
|
16840
16915
|
this.showRecording();
|
|
16841
16916
|
}, error: err => {
|
|
16842
16917
|
console.error("Could not load recording file from server: " + err);
|
|
@@ -16856,7 +16931,9 @@ class AudioRecorder extends BasicRecorder {
|
|
|
16856
16931
|
else {
|
|
16857
16932
|
//console.debug("recording file null");
|
|
16858
16933
|
this.displayAudioClip = null;
|
|
16859
|
-
this.
|
|
16934
|
+
if (this._controlAudioPlayer) {
|
|
16935
|
+
this._controlAudioPlayer.audioClip = null;
|
|
16936
|
+
}
|
|
16860
16937
|
}
|
|
16861
16938
|
this.showRecording();
|
|
16862
16939
|
}
|
|
@@ -17144,9 +17221,12 @@ class AudioRecorder extends BasicRecorder {
|
|
|
17144
17221
|
}
|
|
17145
17222
|
}
|
|
17146
17223
|
updateControlPlaybackPosition() {
|
|
17147
|
-
if (this._controlAudioPlayer
|
|
17148
|
-
|
|
17149
|
-
|
|
17224
|
+
if (this._controlAudioPlayer) {
|
|
17225
|
+
const ppFrames = this._controlAudioPlayer.playPositionFrames;
|
|
17226
|
+
if (ppFrames !== null) {
|
|
17227
|
+
this.recorderCombiPane.audioDisplay.playFramePosition = ppFrames;
|
|
17228
|
+
this.liveLevelDisplay.playFramePosition = ppFrames;
|
|
17229
|
+
}
|
|
17150
17230
|
}
|
|
17151
17231
|
}
|
|
17152
17232
|
audioPlayerUpdate(e) {
|
|
@@ -17165,7 +17245,7 @@ class AudioRecorder extends BasicRecorder {
|
|
|
17165
17245
|
}
|
|
17166
17246
|
}
|
|
17167
17247
|
}
|
|
17168
|
-
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 });
|
|
17248
|
+
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 });
|
|
17169
17249
|
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: `
|
|
17170
17250
|
<app-warningbar [show]="isTestSession()" warningText="Test recording only!"></app-warningbar>
|
|
17171
17251
|
<app-warningbar [show]="isDefaultAudioTestSession()"
|
|
@@ -17175,18 +17255,17 @@ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
17175
17255
|
[selectedRecordingFile]="displayRecFile"
|
|
17176
17256
|
[selectDisabled]="isActive()"
|
|
17177
17257
|
[displayAudioClip]="displayAudioClip"
|
|
17178
|
-
[playStartAction]="controlAudioPlayer
|
|
17179
|
-
[playStopAction]="controlAudioPlayer
|
|
17180
|
-
[playSelectionAction]="controlAudioPlayer
|
|
17181
|
-
[autoPlayOnSelectToggleAction]="controlAudioPlayer
|
|
17258
|
+
[playStartAction]="controlAudioPlayer?.startAction"
|
|
17259
|
+
[playStopAction]="controlAudioPlayer?.stopAction"
|
|
17260
|
+
[playSelectionAction]="controlAudioPlayer?.startSelectionAction"
|
|
17261
|
+
[autoPlayOnSelectToggleAction]="controlAudioPlayer?.autoPlayOnSelectToggleAction"
|
|
17182
17262
|
></app-recordercombipane>
|
|
17183
17263
|
|
|
17184
|
-
<div
|
|
17185
|
-
|
|
17186
|
-
<audio-levelbar fxFlex="1 0 1" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17264
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
17265
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17187
17266
|
[displayLevelInfos]="displayAudioClip?.levelInfos"></audio-levelbar>
|
|
17188
|
-
<div
|
|
17189
|
-
<spr-recordingitemcontrols
|
|
17267
|
+
<div style="flex-direction: row">
|
|
17268
|
+
<spr-recordingitemcontrols style="flex:10 0 1%"
|
|
17190
17269
|
[disableAudioDetails]="disableAudioDetails"
|
|
17191
17270
|
[audioLoaded]="audioLoaded"
|
|
17192
17271
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -17196,19 +17275,19 @@ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
17196
17275
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
17197
17276
|
</spr-recordingitemcontrols>
|
|
17198
17277
|
|
|
17199
|
-
<app-uploadstatus class="ricontrols dark"
|
|
17278
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0"
|
|
17200
17279
|
[value]="uploadProgress"
|
|
17201
17280
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17202
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
17203
|
-
<app-readystateindicator class="ricontrols dark"
|
|
17281
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17282
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0"
|
|
17204
17283
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17205
17284
|
</div>
|
|
17206
17285
|
</div>
|
|
17207
|
-
<div #controlpanel class="controlpanel"
|
|
17208
|
-
<app-sprstatusdisplay
|
|
17286
|
+
<div #controlpanel class="controlpanel">
|
|
17287
|
+
<app-sprstatusdisplay *ngIf="!screenXs" style="flex:0.333 1 30%" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType"
|
|
17209
17288
|
[statusWaiting]="statusWaiting"
|
|
17210
17289
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
17211
|
-
<div
|
|
17290
|
+
<div style="flex:1 0 100%" class="startstop">
|
|
17212
17291
|
<div style="align-content: center">
|
|
17213
17292
|
<button (click)="startStopPerform()" [disabled]="startDisabled() && stopDisabled()" mat-raised-button class="bigbutton">
|
|
17214
17293
|
<mat-icon [style.color]="startStopNextIconColor()" inline="true">{{startStopNextIconName()}}</mat-icon>
|
|
@@ -17216,18 +17295,18 @@ AudioRecorder.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
|
|
|
17216
17295
|
</button>
|
|
17217
17296
|
</div>
|
|
17218
17297
|
</div>
|
|
17219
|
-
<div
|
|
17220
|
-
<div
|
|
17298
|
+
<div style="flex:0.333 1 30%" >
|
|
17299
|
+
<div style="flex:1 1 auto"></div>
|
|
17221
17300
|
|
|
17222
|
-
<app-uploadstatus class="ricontrols"
|
|
17301
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" style="flex:0 0 0"
|
|
17223
17302
|
[value]="uploadProgress"
|
|
17224
17303
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17225
|
-
<app-wakelockindicator class="ricontrols"
|
|
17226
|
-
<app-readystateindicator class="ricontrols"
|
|
17304
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17305
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols"
|
|
17227
17306
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17228
17307
|
</div>
|
|
17229
17308
|
</div>
|
|
17230
|
-
`, 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"
|
|
17309
|
+
`, 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"] }] });
|
|
17231
17310
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AudioRecorder, decorators: [{
|
|
17232
17311
|
type: Component,
|
|
17233
17312
|
args: [{ selector: 'app-audiorecorder', providers: [SessionService], template: `
|
|
@@ -17239,18 +17318,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
17239
17318
|
[selectedRecordingFile]="displayRecFile"
|
|
17240
17319
|
[selectDisabled]="isActive()"
|
|
17241
17320
|
[displayAudioClip]="displayAudioClip"
|
|
17242
|
-
[playStartAction]="controlAudioPlayer
|
|
17243
|
-
[playStopAction]="controlAudioPlayer
|
|
17244
|
-
[playSelectionAction]="controlAudioPlayer
|
|
17245
|
-
[autoPlayOnSelectToggleAction]="controlAudioPlayer
|
|
17321
|
+
[playStartAction]="controlAudioPlayer?.startAction"
|
|
17322
|
+
[playStopAction]="controlAudioPlayer?.stopAction"
|
|
17323
|
+
[playSelectionAction]="controlAudioPlayer?.startSelectionAction"
|
|
17324
|
+
[autoPlayOnSelectToggleAction]="controlAudioPlayer?.autoPlayOnSelectToggleAction"
|
|
17246
17325
|
></app-recordercombipane>
|
|
17247
17326
|
|
|
17248
|
-
<div
|
|
17249
|
-
|
|
17250
|
-
<audio-levelbar fxFlex="1 0 1" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17327
|
+
<div [class]="{audioStatusDisplay:!screenXs,audioStatusDisplayXs:screenXs}">
|
|
17328
|
+
<audio-levelbar style="flex:1 0 1%" [streamingMode]="isRecording() || keepLiveLevel" [state]="liveLevelDisplayState"
|
|
17251
17329
|
[displayLevelInfos]="displayAudioClip?.levelInfos"></audio-levelbar>
|
|
17252
|
-
<div
|
|
17253
|
-
<spr-recordingitemcontrols
|
|
17330
|
+
<div style="flex-direction: row">
|
|
17331
|
+
<spr-recordingitemcontrols style="flex:10 0 1%"
|
|
17254
17332
|
[disableAudioDetails]="disableAudioDetails"
|
|
17255
17333
|
[audioLoaded]="audioLoaded"
|
|
17256
17334
|
[playStartAction]="controlAudioPlayer?.startAction"
|
|
@@ -17260,19 +17338,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
17260
17338
|
(onShowRecordingDetails)="audioSignalCollapsed=!audioSignalCollapsed">
|
|
17261
17339
|
</spr-recordingitemcontrols>
|
|
17262
17340
|
|
|
17263
|
-
<app-uploadstatus class="ricontrols dark"
|
|
17341
|
+
<app-uploadstatus *ngIf="screenXs && enableUploadRecordings" class="ricontrols dark" style="flex:0 0 0"
|
|
17264
17342
|
[value]="uploadProgress"
|
|
17265
17343
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17266
|
-
<app-wakelockindicator class="ricontrols dark"
|
|
17267
|
-
<app-readystateindicator class="ricontrols dark"
|
|
17344
|
+
<app-wakelockindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17345
|
+
<app-readystateindicator *ngIf="screenXs" class="ricontrols dark" style="flex:0 0 0"
|
|
17268
17346
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17269
17347
|
</div>
|
|
17270
17348
|
</div>
|
|
17271
|
-
<div #controlpanel class="controlpanel"
|
|
17272
|
-
<app-sprstatusdisplay
|
|
17349
|
+
<div #controlpanel class="controlpanel">
|
|
17350
|
+
<app-sprstatusdisplay *ngIf="!screenXs" style="flex:0.333 1 30%" [statusMsg]="statusMsg" [statusAlertType]="statusAlertType"
|
|
17273
17351
|
[statusWaiting]="statusWaiting"
|
|
17274
17352
|
class="hidden-xs"></app-sprstatusdisplay>
|
|
17275
|
-
<div
|
|
17353
|
+
<div style="flex:1 0 100%" class="startstop">
|
|
17276
17354
|
<div style="align-content: center">
|
|
17277
17355
|
<button (click)="startStopPerform()" [disabled]="startDisabled() && stopDisabled()" mat-raised-button class="bigbutton">
|
|
17278
17356
|
<mat-icon [style.color]="startStopNextIconColor()" inline="true">{{startStopNextIconName()}}</mat-icon>
|
|
@@ -17280,20 +17358,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
17280
17358
|
</button>
|
|
17281
17359
|
</div>
|
|
17282
17360
|
</div>
|
|
17283
|
-
<div
|
|
17284
|
-
<div
|
|
17361
|
+
<div style="flex:0.333 1 30%" >
|
|
17362
|
+
<div style="flex:1 1 auto"></div>
|
|
17285
17363
|
|
|
17286
|
-
<app-uploadstatus class="ricontrols"
|
|
17364
|
+
<app-uploadstatus *ngIf="!screenXs && enableUploadRecordings" class="ricontrols" style="flex:0 0 0"
|
|
17287
17365
|
[value]="uploadProgress"
|
|
17288
17366
|
[status]="uploadStatus" [awaitNewUpload]="processingRecording"></app-uploadstatus>
|
|
17289
|
-
<app-wakelockindicator class="ricontrols"
|
|
17290
|
-
<app-readystateindicator class="ricontrols"
|
|
17367
|
+
<app-wakelockindicator *ngIf="!screenXs" class="ricontrols" [screenLocked]="screenLocked"></app-wakelockindicator>
|
|
17368
|
+
<app-readystateindicator *ngIf="!screenXs" class="ricontrols"
|
|
17291
17369
|
[ready]="dataSaved && !isActive()"></app-readystateindicator>
|
|
17292
17370
|
</div>
|
|
17293
17371
|
</div>
|
|
17294
|
-
`, 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"] }]
|
|
17372
|
+
`, 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"] }]
|
|
17295
17373
|
}], ctorParameters: function () {
|
|
17296
|
-
return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i1$2.ActivatedRoute }, { type: i1$4.MatDialog }, { type: SessionService }, { type: RecordingService }, { type: SpeechRecorderUploader }, { type: SpeechRecorderConfig, decorators: [{
|
|
17374
|
+
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: [{
|
|
17297
17375
|
type: Inject,
|
|
17298
17376
|
args: [SPEECHRECORDER_CONFIG]
|
|
17299
17377
|
}] }];
|
|
@@ -17484,20 +17562,20 @@ class SpeechrecorderngModule {
|
|
|
17484
17562
|
}
|
|
17485
17563
|
SpeechrecorderngModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17486
17564
|
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,
|
|
17487
|
-
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,
|
|
17488
|
-
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),
|
|
17565
|
+
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] });
|
|
17566
|
+
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] });
|
|
17489
17567
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SpeechrecorderngModule, decorators: [{
|
|
17490
17568
|
type: NgModule,
|
|
17491
17569
|
args: [{
|
|
17492
17570
|
declarations: [AudioSignal, Sonagram, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, Progress, SimpleTrafficLight, Recinstructions, Prompter, PromptContainer, PromptingContainer, Prompting, StatusDisplay,
|
|
17493
17571
|
ProgressDisplay, RecordingItemDisplay, RecordingItemControls, UploadStatus, TransportPanel, WakeLockIndicator, ReadyStateIndicator, ControlPanel, WarningBar, AudioRecorder, SessionManager, MessageDialog, SessionFinishedDialog, SpeechrecorderngComponent, AudioRecorderComponent, RecordingFileViewComponent, RecordingFileUI, ScrollIntoViewDirective, RecordingFileNaviComponent, RecordingFileMetaComponent, RecordingList, RecorderCombiPane, AudioRecorder],
|
|
17494
17572
|
exports: [MessageDialog, SpeechrecorderngComponent, ScrollPaneHorizontal, AudioClipUIContainer, AudioDisplayScrollPane, AudioDisplay, AudioDisplayPlayer, AudioDisplayControl, LevelBar, AudioRecorder],
|
|
17495
|
-
imports: [RouterModule.forChild(SPR_ROUTES),
|
|
17573
|
+
imports: [RouterModule.forChild(SPR_ROUTES), CommonModule, MatIconModule, MatButtonModule, MatDialogModule, MatProgressBarModule, MatProgressSpinnerModule, MatTooltipModule, HttpClientModule, MatCheckboxModule, MatCardModule, MatDividerModule, MatGridListModule, MatTableModule, MatInputModule, MatSelectModule, MatSnackBarModule, MatMenuModule],
|
|
17496
17574
|
providers: [SessionService, ProjectService, ScriptService, RecordingService, RecordingFileService, SpeechRecorderUploader]
|
|
17497
17575
|
}]
|
|
17498
17576
|
}] });
|
|
17499
17577
|
|
|
17500
|
-
const VERSION = '3.3.
|
|
17578
|
+
const VERSION = '3.3.4';
|
|
17501
17579
|
|
|
17502
17580
|
/*
|
|
17503
17581
|
* Public API Surface of speechrecorderng
|