2 using System.Collections.Generic;
\r
6 namespace Handbrake.Parsing
\r
10 private int m_chapterNumber;
\r
11 public int ChapterNumber
\r
15 return this.m_chapterNumber;
\r
19 private TimeSpan m_duration;
\r
20 public TimeSpan Duration
\r
24 return this.m_duration;
\r
28 public override string ToString()
\r
30 return this.m_chapterNumber.ToString();
\r
33 public static Chapter Parse(StreamReader output)
\r
35 string curLine = output.ReadLine();
\r
36 if (!curLine.Contains(" + audio tracks:"))
\r
38 Chapter thisChapter = new Chapter();
\r
39 string[] splitter = curLine.Split(new string[] { " + ", ": cells ", ", ", " blocks, duration ", "->" }, StringSplitOptions.RemoveEmptyEntries);
\r
40 thisChapter.m_chapterNumber = int.Parse(splitter[0]);
\r
41 thisChapter.m_duration = TimeSpan.Parse(splitter[4]);
\r
50 public static Chapter[] ParseList(StreamReader output)
\r
52 List<Chapter> chapters = new List<Chapter>();
\r
53 string curLine = output.ReadLine();
\r
54 while (!curLine.Contains(" + audio tracks:"))
\r
56 Chapter thisChapter = Chapter.Parse(output);
\r
58 if (thisChapter != null)
\r
60 chapters.Add(thisChapter);
\r
67 return chapters.ToArray();
\r