Merge pull request #42 from MycroftAI/bugfix/tagger-playback

Fix tagger playback bugs
pull/57/head
Chris Veilleux 2021-01-13 16:31:43 -06:00 committed by GitHub
commit d1ed12f0e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 11 deletions

View File

@ -36,7 +36,7 @@ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
export class OptionBtnComponent implements ControlValueAccessor { export class OptionBtnComponent implements ControlValueAccessor {
@Input() config: OptionButtonsConfig; @Input() config: OptionButtonsConfig;
@Input() disabled = false; @Input() disabled = false;
@ViewChild(MatButtonToggleGroup) options: MatButtonToggleGroup; @ViewChild(MatButtonToggleGroup, { static: true }) private options: MatButtonToggleGroup;
public onChange; public onChange;
public onTouched; public onTouched;

View File

@ -20,10 +20,10 @@
> >
</ng-waveform> </ng-waveform>
<div fxFlexFill fxLayoutGap="8px" fxLayoutAlign="center"> <div fxFlexFill fxLayoutGap="8px" fxLayoutAlign="center">
<button mat-flat-button (click)="onPlayButtonClick()"> <button mat-flat-button (click)="onPlayButtonClick()" [disabled]="playbackButtonsDisabled">
<fa-icon [icon]="playIcon"></fa-icon> <fa-icon [icon]="playIcon"></fa-icon>
</button> </button>
<button mat-flat-button (click)="onPauseButtonClick()"> <button mat-flat-button (click)="onPauseButtonClick()" [disabled]="playbackButtonsDisabled">
<fa-icon [icon]="pauseIcon"></fa-icon> <fa-icon [icon]="pauseIcon"></fa-icon>
</button> </button>
</div> </div>
@ -33,7 +33,7 @@
mat-flat-button mat-flat-button
color="primary" color="primary"
*ngFor="let tagValue of tagEvent.tagValues" *ngFor="let tagValue of tagEvent.tagValues"
[disabled]="buttonsDisabled" [disabled]="tagButtonsDisabled"
(click)="saveTagResult(tagValue.id)" (click)="saveTagResult(tagValue.id)"
> >
{{tagValue.display}} {{tagValue.display}}

View File

@ -30,7 +30,8 @@ import { animate, state, style, transition, trigger } from '@angular/animations'
export class TagComponent implements OnInit { export class TagComponent implements OnInit {
@ViewChild('waveform', { static: false }) waveform: NgWaveformComponent; @ViewChild('waveform', { static: false }) waveform: NgWaveformComponent;
public audioUrl: string; public audioUrl: string;
public buttonsDisabled: boolean; public tagButtonsDisabled: boolean;
public playbackButtonsDisabled: boolean;
public isTagged = false; public isTagged = false;
public playIcon = faPlay; public playIcon = faPlay;
public pauseIcon = faPause; public pauseIcon = faPause;
@ -41,11 +42,13 @@ export class TagComponent implements OnInit {
constructor(private route: ActivatedRoute, private taggerService: TaggerService) { } constructor(private route: ActivatedRoute, private taggerService: TaggerService) { }
ngOnInit(): void { ngOnInit(): void {
this.buttonsDisabled = true; this.tagButtonsDisabled = true;
this.playbackButtonsDisabled = true;
this.route.data.subscribe( this.route.data.subscribe(
(data: {tagEvent: TagEvent}) => { (data: {tagEvent: TagEvent}) => {
this.tagEvent = data.tagEvent; this.tagEvent = data.tagEvent;
this.audioUrl = this.preciseUrl + '/api/audio/' + this.tagEvent.audioFileName; this.audioUrl = this.preciseUrl + '/api/audio/' + this.tagEvent.audioFileName;
this.playbackButtonsDisabled = false;
} }
); );
this.route.paramMap.subscribe( this.route.paramMap.subscribe(
@ -54,7 +57,7 @@ export class TagComponent implements OnInit {
} }
onPlayButtonClick(): void { onPlayButtonClick(): void {
this.buttonsDisabled = false; this.tagButtonsDisabled = false;
this.waveform.play(); this.waveform.play();
} }
@ -69,7 +72,9 @@ export class TagComponent implements OnInit {
tagId: this.tagEvent.tagId, tagId: this.tagEvent.tagId,
tagValueId: tagValueId tagValueId: tagValueId
}; };
this.buttonsDisabled = true; this.waveform.pause();
this.tagButtonsDisabled = true;
this.playbackButtonsDisabled = true;
this.taggerService.addTagEvent(fileTag).subscribe( this.taggerService.addTagEvent(fileTag).subscribe(
() => { this.isTagged = true; } () => { this.isTagged = true; }
); );
@ -87,13 +92,14 @@ export class TagComponent implements OnInit {
this.isTagged = false; this.isTagged = false;
this.tagEvent = tagEvent; this.tagEvent = tagEvent;
this.audioUrl = this.preciseUrl + '/api/audio/' + this.tagEvent.audioFileName; this.audioUrl = this.preciseUrl + '/api/audio/' + this.tagEvent.audioFileName;
this.playbackButtonsDisabled = false;
} }
); );
} }
skipToNextEvent(): void { skipToNextEvent(): void {
this.waveform.pause(); this.waveform.pause();
this.buttonsDisabled = true; this.tagButtonsDisabled = true;
this.isTagged = true; this.isTagged = true;
} }
} }

View File

@ -75,11 +75,11 @@ import { environment } from '../../environments/environment';
providers: [ providers: [
{ {
id: GoogleLoginProvider.PROVIDER_ID, id: GoogleLoginProvider.PROVIDER_ID,
provider: new GoogleLoginProvider(environment.facebookClientId), provider: new GoogleLoginProvider(environment.googleClientId),
}, },
{ {
id: FacebookLoginProvider.PROVIDER_ID, id: FacebookLoginProvider.PROVIDER_ID,
provider: new FacebookLoginProvider(environment.googleClientId), provider: new FacebookLoginProvider(environment.facebookClientId),
}, },
], ],
} as SocialAuthServiceConfig, } as SocialAuthServiceConfig,