public static void DownloadReleasesOld(int[] ids) { if (ids == null || ids.Length == 0) { return; } ProgressDialog progressDialog = new ProgressDialog { InfoText = "downloading releases" }; Task.Run(() => { for (int i = 0; i < ids.Length; i++) { DiscogsRelease release = DiscogsService.GetRelease(ids[i]); if (release.videos == null) { continue; } Task.WaitAll(release.videos.Select(v => Task.Run(() => { MediaService.GetVideoFilePath(v.uri, out _, null); MediaService.GetAudioFilePath(v.uri, out _); })).ToArray()); progressDialog?.SetProgress(ProgressHelper.GetProgressPercentage(i + 1, ids.Length)); } }); progressDialog.Show(); }
private void load(TaskProgressReporter reporter) { MediaService.GetVideoFilePath(this.VideoModel.Url, out string path, reporter); this.VideoFilePath = path; Task.Run(() => { MediaService.GetAudioFilePath(this.VideoModel.Url, out _); }); }
public static void ReleasesHelp(int[] ids, Help help) { string folder = null; if (help == Help.Export) { using (FolderBrowserDialog dialog = new FolderBrowserDialog()) { if (dialog.ShowDialog() != DialogResult.OK) { return; } folder = dialog.SelectedPath; } } ProgressDialog progressDialog = new ProgressDialog { InfoText = help.ToString() }; Task.Run(() => { for (int i = 0; i < ids.Length; i++) { DiscogsRelease release = DiscogsService.GetRelease(ids[i]); if (release.videos == null || release.videos.Length == 0) { continue; } switch (help) { case Help.Download: Task.WaitAll(release.videos.Select(v => Task.Run(() => { MediaService.GetVideoFilePath(v.uri, out _, null); MediaService.GetAudioFilePath(v.uri, out _); })).ToArray()); break; case Help.Export: MediaService.ExportRelease(release, folder); break; default: return; } progressDialog?.SetProgress(ProgressHelper.GetProgressPercentage(i + 1, ids.Length)); } }); progressDialog.Show(); }
public void StartLoading(Action <double> progressHandler) { Task.Run(() => { this.DownloadSuccessfull = MediaService.GetVideoFilePath(this.VideoModel.Url, out string path, progressHandler); this.VideoFilePath = path; Task.Run(() => { MediaService.GetAudioFilePath(this.VideoModel.Url, out _); }); this.LoadingFinished?.Invoke(); }); }
public void Export() { using (FolderBrowserDialog dialog = new FolderBrowserDialog()) { if (dialog.ShowDialog() != DialogResult.OK || !MediaService.GetAudioFilePath(this.VideoModel.Url, out string path)) { return; } string name = Path.GetInvalidFileNameChars() .Aggregate(this.VideoModel.Title, (current, invalidFileNameChar) => current.Replace(invalidFileNameChar, ' ')); File.Copy(path, Path.Combine(dialog.SelectedPath, name + ".mp3"), true); } }