public LastTimingDataEntry Convert(float bpm, DisplayBpm displayBpm) { var entry = new LastTimingDataEntry(); entry.bpmMultiplier = bpm * bpmConst; if (displayBpm != null) { entry.displayMinBpm = displayBpm.minBpm; entry.displayMaxBpm = displayBpm.maxBpm; } else { entry.displayMinBpm = -1f; entry.displayMaxBpm = -1f; } return(entry); }
public SmParser(AudioLengthAccessor audioLengthAccessor) : base(audioLengthAccessor) { // track information TagActions["TITLE"] = (tag, track) => track.Information.Title.Original = tag.Content; TagActions["TITLETRANSLIT"] = (tag, track) => track.Information.Title.Alternative = tag.Content; TagActions["SUBTITLE"] = (tag, track) => track.Information.Subtitle.Original = tag.Content; TagActions["SUBTITLETRANSLIT"] = (tag, track) => track.Information.Subtitle.Alternative = tag.Content; TagActions["ARTIST"] = (tag, track) => track.Information.Artist.Original = tag.Content; TagActions["ARTISTTRANSLIT"] = (tag, track) => track.Information.Artist.Alternative = tag.Content; TagActions["DISPLAYBPM"] = (tag, track) => track.Information.DisplayBpm = DisplayBpm.Parse(tag.Content); TagActions["GENRE"] = (tag, track) => track.Information.Genre = tag.Content; TagActions["CREDIT"] = (tag, track) => track.Information.Credit = tag.Content; TagActions["SELECTABLE"] = (tag, track) => track.Information.Selectable = tag.AsBoolean(); // files TagActions["MUSIC"] = (tag, track) => track.Files.Music = tag.Content; TagActions["CDTITLE"] = (tag, track) => track.Files.CdTitleIcon = tag.Content; TagActions["BACKGROUND"] = (tag, track) => track.Files.Background = tag.Content; TagActions["BANNER"] = (tag, track) => track.Files.Banner = tag.Content; TagActions["LYRICSPATH"] = (tag, track) => track.Files.Lyrics = tag.Content; // song preview TagActions["SAMPLESTART"] = (tag, track) => track.Preview.SampleStart = tag.AsDouble(); TagActions["SAMPLELENGTH"] = (tag, track) => track.Preview.SampleLength = tag.AsDouble(); // offset and tempo TagActions["OFFSET"] = (tag, track) => track.Offset = tag.AsDouble(); TagActions["BPMS"] = (tag, track) => track.Tempo.Bpm = BpmChanges.Parse(tag.Content); TagActions["STOPS"] = (tag, track) => track.Tempo.Interruptions = Interruptions.Parse(tag.Content); // notes TagActions["NOTES"] = (tag, track) => track.Charts.Add(Chart.Parse(tag.Content)); }