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 int[] m_cellRange;
\r
20 public int[] CellRange
\r
24 return this.m_cellRange;
\r
28 private int m_blocks;
\r
29 public int BlockCount
\r
33 return this.m_blocks;
\r
37 private TimeSpan m_duration;
\r
38 public TimeSpan Duration
\r
42 return this.m_duration;
\r
46 public override string ToString()
\r
48 return this.m_chapterNumber.ToString();
\r
51 public static Chapter Parse(StreamReader output)
\r
53 string curLine = output.ReadLine();
\r
54 if (!curLine.Contains(" + audio tracks:"))
\r
56 Chapter thisChapter = new Chapter();
\r
57 string[] splitter = curLine.Split(new string[] { " + ", ": cells ", ", ", " blocks, duration ", "->" }, StringSplitOptions.RemoveEmptyEntries);
\r
58 thisChapter.m_chapterNumber = int.Parse(splitter[0]);
\r
59 //thisChapter.m_cellRange = new int[2] { int.Parse(splitter[1]), int.Parse(splitter[2]) };
\r
60 //thisChapter.m_blocks = int.Parse(splitter[3]);
\r
61 thisChapter.m_duration = TimeSpan.Parse(splitter[4]);
\r
70 public static Chapter[] ParseList(StreamReader output)
\r
72 List<Chapter> chapters = new List<Chapter>();
\r
73 string curLine = output.ReadLine();
\r
74 while (!curLine.Contains(" + audio tracks:"))
\r
76 Chapter thisChapter = Chapter.Parse(output);
\r
77 if (thisChapter != null)
\r
79 chapters.Add(thisChapter);
\r
86 return chapters.ToArray();
\r