public SongInfo(string displayArtist, string displayName, string difficulty, ChartFile c, DirectoryInfo chartDirectory) { Artist = displayArtist; Name = displayName; Difficulty = difficulty; chart = c; ChartDirectory = chartDirectory; DisplayName = displayArtist + " - " + displayName + $" [{difficulty}]"; }
IEnumerable <SongInfo> ScanForSongsRecursive(DirectoryInfo directory) { List <FileInfo> chartFiles = directory.EnumerateFiles("*.chart", SearchOption.AllDirectories).ToList(); foreach (FileInfo chartFile in chartFiles) { ChartFile c = ChartFile.Load(chartFile.FullName); if (c == null) { Logger.Log($"Could not load chart {chartFile.FullName}", LogLevel.Warning); continue; } Logger.Log($"Loaded SongInfo: {c.Artist} - {c.Title} [{c.Difficulty}]"); SongInfo si = new SongInfo($"{c.Artist}", $"{c.Title}", $"{c.Difficulty}", c, chartFile.Directory); yield return(si); } }