public void SetSong(int id, string path) { string extension = IO.Path.GetExtension(path); bool isAudio = BeatmapLoader.SupportedAudioFormats.Contains <string>(extension); bool isBeatmap = (extension == BeatmapLoader.BeatmapFileFormat); if (isAudio || isBeatmap) { string audioFile; string sourceFile; if (isAudio) { BeatmapContainer = BeatmapLoader.CreateBeatmapFromAudio(path); audioFile = sourceFile = path; } else { BeatmapContainer = BeatmapLoader.LoadBeatmapFile(path); audioFile = IO.Path.Combine(BeatmapContainer.directory, BeatmapContainer.bm.AudioFile); sourceFile = BeatmapContainer.sourceFile; } this.id = id; Thumbnail.sprite = null; TagLib.File tfile = TagLib.File.Create(audioFile); SongName = tfile.Tag.Title != null ? tfile.Tag.Title : IO.Path.GetFileNameWithoutExtension(sourceFile); ArtistName = tfile.Tag.FirstPerformer; DifficultyText.text = "N/A"; //Difficulty.text = Math.Round(BeatmapContainer.bm.Metadata.Difficulty, 1).ToString(); //Difficulty.color = Color.Lerp(Color.green, Color.red, BeatmapContainer.bm.Metadata.Difficulty / 5f); DurationText.text = tfile.Properties.Duration.ToString(@"mm\:ss"); } }
private void LoadBeatmap() { string path = BeatmapLoader.SelectBeatmapFile(); if (path != null) { BeatmapContainer bmc = BeatmapLoader.LoadBeatmapFile(path); AudioClipData cd = BeatmapLoader.LoadBeatmapAudio(bmc); audioPlayer.clip = BeatmapLoader.CreateAudioClipFromData(cd); bm = bmc.bm; } }