Ejemplo n.º 1
0
        public void CheckLyrics(List <Lyric> lyrics, LyricCheckProperty checkProperty = LyricCheckProperty.All)
        {
            if (lyrics == null)
            {
                throw new ArgumentNullException(nameof(lyrics));
            }

            if (lyricChecker == null)
            {
                throw new NullReferenceException(nameof(lyricChecker));
            }

            // re-calculate and add
            foreach (var lyric in lyrics)
            {
                // create report record if not have.
                if (!BindableReports.Contains(lyric))
                {
                    BindableReports.Add(lyric, new LyricCheckReport(lyric));
                }

                var report = BindableReports[lyric];
                if (checkProperty.HasFlag(LyricCheckProperty.Time))
                {
                    report.TimeInvalid = lyricChecker.CheckInvalidLyricTime(lyric);
                }

                if (checkProperty.HasFlag(LyricCheckProperty.TimeTag))
                {
                    report.InvalidTimeTags = lyricChecker.CheckInvalidTimeTags(lyric);
                }

                if (checkProperty.HasFlag(LyricCheckProperty.Ruby))
                {
                    report.InvalidRubyTags = lyricChecker.CheckInvalidRubyTags(lyric);
                }

                if (checkProperty.HasFlag(LyricCheckProperty.Romaji))
                {
                    report.InvalidRomajiTags = lyricChecker.CheckInvalidRomajiTags(lyric);
                }
            }
        }
Ejemplo n.º 2
0
 public void CheckLyric(Lyric lyric, LyricCheckProperty checkProperty = LyricCheckProperty.All)
 => CheckLyrics(new List <Lyric> {
     lyric
 }, checkProperty);