Backend can kick off downloads without using deprecated node-youtube-dl library

Downloads can now be cancelled and better "paused"
This commit is contained in:
Isaac Abadi
2023-09-05 00:35:36 -04:00
parent 3fc1110fc1
commit ea43ea7121
9 changed files with 105 additions and 26 deletions

View File

@@ -169,6 +169,8 @@ export class MainComponent implements OnInit {
argsChangedSubject: Subject<boolean> = new Subject<boolean>();
simulatedOutput = '';
interval_id = null;
constructor(public postsService: PostsService, private youtubeSearch: YoutubeSearchService, public snackBar: MatSnackBar,
private router: Router, public dialog: MatDialog, private platform: Platform, private route: ActivatedRoute) {
this.audioOnly = false;
@@ -232,11 +234,12 @@ export class MainComponent implements OnInit {
}
// get downloads routine
setInterval(() => {
if (this.interval_id) { clearInterval(this.interval_id) }
this.interval_id = setInterval(() => {
if (this.current_download) {
this.getCurrentDownload();
}
}, 500);
}, 1000);
return true;
}
@@ -294,6 +297,10 @@ export class MainComponent implements OnInit {
}
}
ngOnDestroy(): void {
if (this.interval_id) { clearInterval(this.interval_id) }
}
// download helpers
downloadHelper(container: DatabaseFile | Playlist, type: string, is_playlist = false, force_view = false, navigate_mode = false): void {
this.downloadingfile = false;