예제 #1
0
        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);
        }
예제 #2
0
        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);
        }