private void DownAllLrcButton_Click(object sender, RoutedEventArgs e) { NetCloudLyricsList nclrc = new NetCloudLyricsList(2.0); foreach (var user in CouldMusicLocalDataGeter.GetSongList()) { foreach (var playlist in user.Pids) { foreach (var song in playlist.Songs) { if (song.SongInfo.SongId != null) { var list = nclrc.GetLrcInfoSercherList(null, null, null, song.SongInfo.SongId); if (list.Count > 0) { //组合将要保存到LRC目录的路径 string fileName = song.SongInfo.SongArtist + " - " + song.SongInfo.SongName + ".lrc"; fileName = Helper.OtherHelper.ReplaceValidFileName(fileName, ' '); string path = GlobalConfigClass._Config.LrcDir + "//" + fileName; //处理同名 if (File.Exists(path)) { continue; } list[0].DownloadLrc(path);//覆盖或者创建 } } } } } }
private void ReloadCloudMusicDataButton_Click(object sender, RoutedEventArgs e) { if (MainWindow.CurMainWindowInstence != null) { var list = CouldMusicLocalDataGeter.GetSongList(true); var list1 = CouldMusicLocalDataGeter.AppendNewSongListToXML(list).Last(); MainWindow.CurMainWindowInstence.NetClouldMusicaListBox.ItemsSource = list1.Pids; } }
private void MatchSongListByFileNameClick(object sender, RoutedEventArgs e) { var filesys = MainWindow.CurMainWindowInstence.filesyscath; int count = 0; if (filesys.Count == 0)//程序运行阶段只能初始化一次 { ((Button)sender).IsEnabled = false; MessageBox.Show("开始初始化文件系统"); //Task.Run(() => //{ var DriveNames = ConfigPage.GlobalConfig.MatchSongFromDivce.Split(new char[1] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (var driveInfo in DriveInfo.GetDrives()) { if (driveInfo.IsReady) { filesys.AddRange(FileSerch.FileSercher.EnumerateFiles(driveInfo)); } } MainWindow.CurMainWindowInstence.filesyscath = filesys.Where(x => { int index = x.LastIndexOf("."); string Extension = x.Substring(index + 1, x.Length - index - 1); return(Extension == "mp3" || Extension == "flac" || // Extension == "wav" || Extension == "ncm"); }).OrderBy(x => new FileInfo(x).Name).ToList(); Dispatcher.Invoke(() => { MessageBox.Show("文件系统初始化完成,请点击开始匹配"); ((Button)sender).IsEnabled = true; }); //}); } else if (((Button)sender).IsEnabled) { Parallel.ForEach(MainWindow.CurMainWindowInstence.NetCloudData, p => { foreach (var s in p.Songs) { if (!string.IsNullOrEmpty(s.SongInfo.SongPath) && !File.Exists(s.SongInfo.SongPath)) { int index = MainWindow.CurMainWindowInstence.filesyscath.BinarySearch(s.SongInfo.SongPath, Helper.Comparer.SampleFileNameComparer);; if (index > -1) { s.SongInfo.SongPath = MainWindow.CurMainWindowInstence.filesyscath[index]; count++; } } } }); MessageBox.Show("匹配完成,共计" + count); CouldMusicLocalDataGeter.backup(); } }