public SongItemDownloader(MusicProviders musicProviders, string target, MergedSong song, string rate) { this.musicProviders = musicProviders; this.target = target; this.song = song; this.rate = rate; }
private void Downloader_DownloadFinish(object sender, SongItemDownloader e) { songs.Remove(e); if (songs.Count < max_downloading_size) { MergedSong song = queqes.Dequeue(); AddDownload(song); } }
public void AddDownload(MergedSong song) { SongItemDownloader downloader = new SongItemDownloader(musicProviders, target, song); downloader.DownloadFinish += Downloader_DownloadFinish; songs.Add(downloader); downloader.Download(); }
private List <MergedSong> FetchCandidateSongs(List <Song> noCopyrightsSongs) { List <MergedSong> mergedSongs = new List <MergedSong>(); noCopyrightsSongs.ForEach(item => { showLog($"搜索{item.name} {item.singer} 候选"); MergedSong song = MusicProviders.Instance.SearchSong(item.singer.Trim(), trimSongName(item.name), item.source); if (song != null) { mergedSongs.Add(song); } }); return(mergedSongs); }
public void AddDownload(MergedSong song) { if (songs.Count >= max_downloading_size) { queqes.Enqueue(song); return; } SongItemDownloader downloader = new SongItemDownloader(musicProviders, target, song, rate); downloader.DownloadFinish += Downloader_DownloadFinish; songs.Add(downloader); downloader.Download(); }