summaryrefslogtreecommitdiffstats
path: root/win/C#/Parsing/Chapter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'win/C#/Parsing/Chapter.cs')
-rw-r--r--win/C#/Parsing/Chapter.cs64
1 files changed, 44 insertions, 20 deletions
diff --git a/win/C#/Parsing/Chapter.cs b/win/C#/Parsing/Chapter.cs
index 31d57aa26..01aced03a 100644
--- a/win/C#/Parsing/Chapter.cs
+++ b/win/C#/Parsing/Chapter.cs
@@ -1,8 +1,7 @@
/* Chapter.cs $
-
- This file is part of the HandBrake source code.
- Homepage: <http://handbrake.fr>.
- It may be used under the terms of the GNU General Public License. */
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr>.
+ It may be used under the terms of the GNU General Public License. */
namespace Handbrake.Parsing
{
@@ -16,51 +15,67 @@ namespace Handbrake.Parsing
/// </summary>
public class Chapter
{
- private int m_chapterNumber;
+ /// <summary>
+ /// Chapter Number
+ /// </summary>
+ private int chapterNumber;
- private TimeSpan m_duration;
+ /// <summary>
+ /// The Duration of the chapter
+ /// </summary>
+ private TimeSpan duration;
/// <summary>
- /// The number of this Chapter, in regards to it's parent Title
+ /// Gets The number of this Chapter, in regards to it's parent Title
/// </summary>
public int ChapterNumber
{
- get { return m_chapterNumber; }
+ get { return chapterNumber; }
}
/// <summary>
- /// The length in time this Chapter spans
+ /// Gets The length in time this Chapter spans
/// </summary>
public TimeSpan Duration
{
- get { return m_duration; }
+ get { return duration; }
}
/// <summary>
- /// Override of the ToString method to make this object easier to use in the UI
+ /// Parse a CLI string to a Chapter object
/// </summary>
- /// <returns>A string formatted as: {chapter #}</returns>
- public override string ToString()
- {
- return m_chapterNumber.ToString();
- }
-
+ /// <param name="output">
+ /// The output.
+ /// </param>
+ /// <returns>
+ /// A chapter Object
+ /// </returns>
public static Chapter Parse(StringReader output)
{
- Match m = Regex.Match(output.ReadLine(),
+ Match m = Regex.Match(
+ output.ReadLine(),
@"^ \+ ([0-9]*): cells ([0-9]*)->([0-9]*), ([0-9]*) blocks, duration ([0-9]{2}:[0-9]{2}:[0-9]{2})");
if (m.Success)
{
var thisChapter = new Chapter
{
- m_chapterNumber = int.Parse(m.Groups[1].Value.Trim()),
- m_duration = TimeSpan.Parse(m.Groups[5].Value)
+ chapterNumber = int.Parse(m.Groups[1].Value.Trim()),
+ duration = TimeSpan.Parse(m.Groups[5].Value)
};
return thisChapter;
}
return null;
}
+ /// <summary>
+ /// Prase a list of strings / chatpers
+ /// </summary>
+ /// <param name="output">
+ /// The output.
+ /// </param>
+ /// <returns>
+ /// An array of chapter objects
+ /// </returns>
public static Chapter[] ParseList(StringReader output)
{
var chapters = new List<Chapter>();
@@ -81,5 +96,14 @@ namespace Handbrake.Parsing
}
return chapters.ToArray();
}
+
+ /// <summary>
+ /// Override of the ToString method to make this object easier to use in the UI
+ /// </summary>
+ /// <returns>A string formatted as: {chapter #}</returns>
+ public override string ToString()
+ {
+ return chapterNumber.ToString();
+ }
}
} \ No newline at end of file