public void PurgePendingSentences() { if (ItalianXml == null) { return; } commitTheLastItalianSegment(); ItalianXml.CurSegment = null; var pending = ItalianXml.Segments.Where(x => x.ProcessedState == XmlSegmentState.Pending); if (!pending.Any()) { return; } curSentence = null; curSegment = null; // ...if it exists ADVANCE!!! var purgeEvent = new XmlAbookEvent_PurgeSentences(); xml.Events.Add(purgeEvent); foreach (var ppp in pending) { purgeEvent.ItalianSegments.Add(ppp); ppp.ProcessedState = XmlSegmentState.Processed; } foreach (var ppp in pendingRussian) { purgeEvent.RussianSegments.Add(ppp); } pendingRussian.Clear(); // events if (CurSentenceUpdated != null) { CurSentenceUpdated(); } if (CurSegmentUpdated != null) { CurSegmentUpdated(); } if (ItalianXmlUpdated != null) { ItalianXmlUpdated(); } }
public void PurgePendingSentences() { if (ItalianXml == null) return; commitTheLastItalianSegment(); ItalianXml.CurSegment = null; var pending = ItalianXml.Segments.Where(x => x.ProcessedState == XmlSegmentState.Pending); if (!pending.Any()) return; curSentence = null; curSegment = null; // ...if it exists ADVANCE!!! var purgeEvent = new XmlAbookEvent_PurgeSentences(); xml.Events.Add(purgeEvent); foreach (var ppp in pending) { purgeEvent.ItalianSegments.Add(ppp); ppp.ProcessedState = XmlSegmentState.Processed; } foreach (var ppp in pendingRussian) { purgeEvent.RussianSegments.Add(ppp); } pendingRussian.Clear(); // events if (CurSentenceUpdated != null) CurSentenceUpdated(); if (CurSegmentUpdated != null) CurSegmentUpdated(); if (ItalianXmlUpdated != null) ItalianXmlUpdated(); }
public void NextPhrase() { if (ItalianXml == null) return; if (PhraseIndex >= ItalianXml.Segments.Count) { PurgePendingSentences(); return; } if (curSentence != null && curSegment == null) { if (PrematureAdvancement != null) PrematureAdvancement(); return; } commitTheLastItalianSegment(); // goto next italian segment ItalianXml.CurSegment = ItalianXml.Segments.Skip(PhraseIndex).FirstOrDefault(); if (ItalianXml.CurSegment == null) { curSentence = null; if (CurSentenceUpdated != null) CurSentenceUpdated(); return; } // ...if it exists, ADVANCE!!! curSentence = new XmlAbookEvent_OneSentence() { ItalianSegment = ItalianXml.CurSegment, ItalianSegments = new List<XmlSegment> { ItalianXml.CurSegment } }; xml.Events.Add(curSentence); curSegment = null; PhraseIndex++; Mp3Utils.PlayPieceOfAFile(ItalianMp3, ItalianXml.CurSegment.TimeIn.TotalSeconds, ItalianXml.CurSegment.TimeOut.TotalSeconds ); // events; if (CurSentenceUpdated != null) CurSentenceUpdated(); if (CurSegmentUpdated != null) CurSegmentUpdated(); if (ItalianXmlUpdated != null) ItalianXmlUpdated(); }
public void NextPhrase() { if (ItalianXml == null) { return; } if (PhraseIndex >= ItalianXml.Segments.Count) { PurgePendingSentences(); return; } if (curSentence != null && curSegment == null) { if (PrematureAdvancement != null) { PrematureAdvancement(); } return; } commitTheLastItalianSegment(); // goto next italian segment ItalianXml.CurSegment = ItalianXml.Segments.Skip(PhraseIndex).FirstOrDefault(); if (ItalianXml.CurSegment == null) { curSentence = null; if (CurSentenceUpdated != null) { CurSentenceUpdated(); } return; } // ...if it exists, ADVANCE!!! curSentence = new XmlAbookEvent_OneSentence() { ItalianSegment = ItalianXml.CurSegment, ItalianSegments = new List <XmlSegment> { ItalianXml.CurSegment } }; xml.Events.Add(curSentence); curSegment = null; PhraseIndex++; Mp3Utils.PlayPieceOfAFile(ItalianMp3, ItalianXml.CurSegment.TimeIn.TotalSeconds, ItalianXml.CurSegment.TimeOut.TotalSeconds ); // events; if (CurSentenceUpdated != null) { CurSentenceUpdated(); } if (CurSegmentUpdated != null) { CurSegmentUpdated(); } if (ItalianXmlUpdated != null) { ItalianXmlUpdated(); } }