public void PopulateTiming(GroupCollection groups) { StartTiming = SubtitlePartTiming.Create(groups, 0); ModifiedStartTiming = SubtitlePartTiming.Create(groups, 0); EndTiming = SubtitlePartTiming.Create(groups, 4); ModifiedEndTiming = SubtitlePartTiming.Create(groups, 4); Duration = EndTiming - StartTiming; //Track modified start timing ModifiedStartTiming.PropertyChanged += ModifiedStartTiming_PropertyChanged; ModifiedEndTiming.PropertyChanged += ModifiedEndTiming_PropertyChanged; }
public static SubtitlePartTiming Create(GroupCollection groups, int startIndex) { SubtitlePartTiming timing = new SubtitlePartTiming(); if (groups[startIndex + 1].Success) { timing.Hours = Convert.ToInt32(groups[startIndex + 1].Value); } if (groups[startIndex + 2].Success) { timing.Minutes = Convert.ToInt32(groups[startIndex + 2].Value); } if (groups[startIndex + 3].Success) { timing.Seconds = Convert.ToInt32(groups[startIndex + 3].Value); } if (groups[startIndex + 4].Success) { timing.Milliseconds = Convert.ToInt32(groups[startIndex + 4].Value); } return(timing); }
public TimeSpan GetDifference(SubtitlePartTiming timingToSubtract) { return(TimeSpan - timingToSubtract.TimeSpan); }