* This will be converted to use Regex soon, I promise ;)\r
* brianmario - 7/9/07\r
*/\r
-\r
- string curLine = output.ReadLine();\r
- thisTitle.m_titleNumber = int.Parse(curLine.Substring(curLine.Length - 2, 1));\r
- curLine = output.ReadLine();\r
- string[] splitter = curLine.Split(',');\r
- //thisTitle.m_vts = int.Parse(splitter[0].Substring(8));\r
- //thisTitle.m_ttn = int.Parse(splitter[1].Substring(5));\r
- splitter = splitter[2].Trim().Split(' ', '(', ')');\r
- //thisTitle.m_blockCount = int.Parse(splitter[3]);\r
- splitter = splitter[1].Split('-', '>');\r
- //thisTitle.m_cellRange[0] = int.Parse(splitter[0]);\r
- //thisTitle.m_cellRange[1] = int.Parse(splitter[2]);\r
- curLine = output.ReadLine();\r
- splitter = curLine.Split(new string[] { " + duration: " }, StringSplitOptions.RemoveEmptyEntries);\r
- thisTitle.m_duration = TimeSpan.Parse(splitter[0]);\r
- curLine = output.ReadLine();\r
- splitter = curLine.Split(new string[] { " + size: ", "aspect: ", ", ", " fps", "x" }, StringSplitOptions.RemoveEmptyEntries);\r
- thisTitle.m_resolution = new Size(int.Parse(splitter[0]), int.Parse(splitter[1]));\r
- thisTitle.m_aspectRatio = float.Parse(splitter[2].ToString());\r
- //thisTitle.m_fps = float.Parse(splitter[3].ToString());\r
- curLine = output.ReadLine();\r
- splitter = curLine.Split(new string[] { " + autocrop: ", "/" }, StringSplitOptions.RemoveEmptyEntries);\r
- thisTitle.m_autoCrop = new int[4] { int.Parse(splitter[0]), int.Parse(splitter[1]), int.Parse(splitter[2]), int.Parse(splitter[3]) };\r
- thisTitle.m_chapters.AddRange(Chapter.ParseList(output));\r
- thisTitle.m_audioTracks.AddRange(AudioTrack.ParseList(output));\r
- thisTitle.m_subtitles.AddRange(Subtitle.ParseList(output));\r
+ try\r
+ {\r
+ string curLine = output.ReadLine();\r
+ thisTitle.m_titleNumber = int.Parse(curLine.Substring(curLine.Length - 2, 1));\r
+ curLine = output.ReadLine();\r
+ string[] splitter = curLine.Split(',');\r
+ //thisTitle.m_vts = int.Parse(splitter[0].Substring(8));\r
+ //thisTitle.m_ttn = int.Parse(splitter[1].Substring(5));\r
+ splitter = splitter[2].Trim().Split(' ', '(', ')');\r
+ //thisTitle.m_blockCount = int.Parse(splitter[3]);\r
+ splitter = splitter[1].Split('-', '>');\r
+ //thisTitle.m_cellRange[0] = int.Parse(splitter[0]);\r
+ //thisTitle.m_cellRange[1] = int.Parse(splitter[2]);\r
+ curLine = output.ReadLine();\r
+ splitter = curLine.Split(new string[] { " + duration: " }, StringSplitOptions.RemoveEmptyEntries);\r
+ thisTitle.m_duration = TimeSpan.Parse(splitter[0]);\r
+ curLine = output.ReadLine();\r
+ splitter = curLine.Split(new string[] { " + size: ", "aspect: ", ", ", " fps", "x" }, StringSplitOptions.RemoveEmptyEntries);\r
+ thisTitle.m_resolution = new Size(int.Parse(splitter[0]), int.Parse(splitter[1]));\r
+ thisTitle.m_aspectRatio = float.Parse(splitter[2].ToString());\r
+ //thisTitle.m_fps = float.Parse(splitter[3].ToString());\r
+ curLine = output.ReadLine();\r
+ splitter = curLine.Split(new string[] { " + autocrop: ", "/" }, StringSplitOptions.RemoveEmptyEntries);\r
+ thisTitle.m_autoCrop = new int[4] { int.Parse(splitter[0]), int.Parse(splitter[1]), int.Parse(splitter[2]), int.Parse(splitter[3]) };\r
+ thisTitle.m_chapters.AddRange(Chapter.ParseList(output));\r
+ thisTitle.m_audioTracks.AddRange(AudioTrack.ParseList(output));\r
+ thisTitle.m_subtitles.AddRange(Subtitle.ParseList(output));\r
+ }\r
+ catch (Exception)\r
+ {\r
+ // hbcli crashed caused an exception here. Just threw this in to prevent a program error.\r
+ // Can be debuged later.\r
+ }\r
\r
return thisTitle;\r
}\r