コード例 #1
0
 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));
 }
コード例 #2
0
 protected SpecificMsdParser(AudioLengthAccessor audioLengthAccessor)
 {
     _audioLengthAccessor = audioLengthAccessor;
 }