public static SongsDTA GetSongData(SongData data) { SongsDTA dta = GetSongsDTA(data) ?? new SongsDTA(); dta.Album = data.Album; dta.Track = data.AlbumTrack; dta.Artist = data.Artist; dta.BaseName = data.ID; dta.Genre = data.Genre; dta.Master = data.Master; dta.Name = data.Name; dta.Pack = data.Pack; dta.Vocalist = data.Vocalist; dta.Year = data.Year; dta.Version = data.Version; if (data.PreviewTimes.Count == 2) { dta.Preview[0] = data.PreviewTimes[0]; dta.Preview[1] = data.PreviewTimes[1]; } if (data.HopoThreshold > 0) { dta.Song.HopoThreshold = data.HopoThreshold; } for (Instrument instrument = Instrument.Ambient; instrument <= Instrument.Vocals; instrument++) { SongsDTA.Rankings rank = dta.Rank.SingleOrDefault(r => r.Name == InstrumentToString(instrument)); if (rank != null) { rank.Rank = data.Difficulty[instrument]; } } return(dta); }
public static SongData GetSongData(PlatformData platformdata, DTB.NodeTree dtb) { SongData data = new SongData(platformdata); data.Data.SetSubtree("HmxSongsDtb", dtb); SongsDTA dta = SongsDTA.Create(dtb); data.Album = dta.Album; if (dta.Track.HasValue) { data.AlbumTrack = dta.Track.Value; } data.Artist = dta.Artist; data.ID = dta.BaseName; for (Instrument instrument = Instrument.Ambient; instrument <= Instrument.Vocals; instrument++) { SongsDTA.Rankings rank = dta.Rank.SingleOrDefault(r => r.Name == InstrumentToString(instrument)); if (rank != null) { data.Difficulty[instrument] = rank.Rank; } } data.Genre = dta.Genre; data.Master = dta.Master; data.Name = dta.Name; data.Pack = dta.Pack; data.Vocalist = dta.Vocalist; data.Year = dta.Year; data.Version = dta.Version; data.PreviewTimes = dta.Preview; if (dta.Song.HopoThreshold.HasValue) { data.HopoThreshold = dta.Song.HopoThreshold.Value; } return(data); }