private void Write(string value, LyricsSentence sentence = null, LyricsMapping mapping = null) { _Results.Add(new LyricsVerificationResult { _Message = value, _Mapping = mapping, _Sentence = sentence }); }
private void Timer_Tick(object sender, EventArgs e) { if (Document != null && Provider != null) { // 문장 및 문자 검색 var sentence = Document.GetSentence(Provider.GetPosition()); var lrCharacter = Document.GetCharacter(Provider.GetPosition(), LyricsDocument.ValueType.Lyrics); var prCharacter = Document.GetCharacter(Provider.GetPosition(), LyricsDocument.ValueType.Pronounce); var trCharacter = Document.GetCharacter(Provider.GetPosition(), LyricsDocument.ValueType.Translation); // 문장 블록 그리기 if (lastSentence != sentence) { if (lrCharacter != null) { CreateBlock(PanelLyrics, sentence.Characters.Lyrics); TextLyrics.Visibility = Visibility.Collapsed; PanelLyrics.Visibility = Visibility.Visible; } else { TextLyrics.Text = sentence.Lyrics; TextLyrics.Visibility = Visibility.Visible; PanelLyrics.Visibility = Visibility.Collapsed; } if (prCharacter != null) { CreateBlock(PanelPronounce, sentence.Characters.Pronounce); TextPronounce.Visibility = Visibility.Collapsed; PanelPronounce.Visibility = Visibility.Visible; } else { TextPronounce.Text = sentence.Pronounce; TextPronounce.Visibility = Visibility.Visible; PanelPronounce.Visibility = Visibility.Collapsed; } if (trCharacter != null) { CreateBlock(PanelTranslation, sentence.Characters.Translation); TextTranslation.Visibility = Visibility.Collapsed; PanelTranslation.Visibility = Visibility.Visible; } else { TextTranslation.Text = sentence.Translation; TextTranslation.Visibility = Visibility.Visible; PanelTranslation.Visibility = Visibility.Collapsed; } lastSentence = sentence; } // 애니메이션 적용 if (lrCharacter != null) { StartAnimation(ref lastLrCharacter, lrCharacter, PanelLyrics); } if (prCharacter != null) { StartAnimation(ref lastPrCharacter, prCharacter, PanelPronounce); } if (trCharacter != null) { StartAnimation(ref lastTrCharacter, trCharacter, PanelTranslation); } } }