private SubtitleInterval AggregateInterval(List <SubtitleInterval> list, int start, int end) { SubtitleInterval aggregated = list[start]; for (int i = start + 1; i <= end; i++) { aggregated = MergeInterval(aggregated, list[i]); } return(aggregated); }
private SubtitleInterval MergeInterval(SubtitleInterval a, SubtitleInterval b) { return(new SubtitleInterval { Index = a.Index, Lines = a.Lines.Concat(b.Lines).ToList(), TimeFrame = new TimeFrame { Start = a.TimeFrame.Start, End = b.TimeFrame.End, } }); }
public static double EndError(SubtitleInterval a, SubtitleInterval b) { return(Math.Abs((a.TimeFrame.End - b.TimeFrame.End).TotalSeconds)); }
public static double StartError(SubtitleInterval a, SubtitleInterval b) { return(Math.Abs((a.TimeFrame.Start - b.TimeFrame.Start).TotalSeconds)); }
public static double Error(SubtitleInterval a, SubtitleInterval b) { return(StartError(a, b) + EndError(a, b)); }
public double EndError(SubtitleInterval b) { return(EndError(this, b)); }
public double StartError(SubtitleInterval b) { return(StartError(this, b)); }