OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / Parsing / Subtitle.cs
index 71e0012..a765f1d 100644 (file)
@@ -17,6 +17,8 @@ namespace Handbrake.Parsing
     {\r
         private string m_language;\r
         private int m_trackNumber;\r
+        private string m_type;\r
+        private string m_typecode;\r
 \r
         /// <summary>\r
         /// The track number of this Subtitle\r
@@ -35,28 +37,49 @@ namespace Handbrake.Parsing
         }\r
 \r
         /// <summary>\r
+        /// Langauage Code\r
+        /// </summary>\r
+        public string LanguageCode\r
+        {\r
+            get { return m_typecode; }\r
+        }\r
+\r
+\r
+        /// <summary>\r
+        /// Subtitle Type\r
+        /// </summary>\r
+        public string Type\r
+        {\r
+            get { return m_type; }\r
+        }\r
+\r
+\r
+        /// <summary>\r
         /// Override of the ToString method to make this object easier to use in the UI\r
         /// </summary>\r
         /// <returns>A string formatted as: {track #} {language}</returns>\r
         public override string ToString()\r
         {\r
-            return string.Format("{0} {1}", m_trackNumber, m_language);\r
+            return string.Format("{0} {1} ({2})", m_trackNumber, m_language, m_type);\r
         }\r
 \r
         public static Subtitle Parse(StringReader output)\r
         {\r
             string curLine = output.ReadLine();\r
 \r
-            Match m = Regex.Match(curLine, @"^    \+ ([0-9]*), ([A-Za-z, ]*) \((.*)\)");\r
+            Match m = Regex.Match(curLine, @"^    \+ ([0-9]*), ([A-Za-z, ]*) \((.*)\) \(([a-zA-Z]*)\)");\r
             if (m.Success && !curLine.Contains("HandBrake has exited."))\r
             {\r
-                var thisSubtitle = new Subtitle();\r
-                thisSubtitle.m_trackNumber = int.Parse(m.Groups[1].Value.Trim());\r
-                thisSubtitle.m_language = m.Groups[2].Value;\r
+                var thisSubtitle = new Subtitle\r
+                                       {\r
+                                           m_trackNumber = int.Parse(m.Groups[1].Value.Trim()),\r
+                                           m_language = m.Groups[2].Value,\r
+                                           m_typecode = m.Groups[3].Value,\r
+                                           m_type = m.Groups[4].Value\r
+                                       };\r
                 return thisSubtitle;\r
             }\r
-            else\r
-                return null;\r
+            return null;\r
         }\r
 \r
         public static Subtitle[] ParseList(StringReader output)\r