summaryrefslogtreecommitdiffstats
path: root/win/C#/HandBrake.ApplicationServices/Model
diff options
context:
space:
mode:
authorsr55 <[email protected]>2011-01-09 14:37:29 +0000
committersr55 <[email protected]>2011-01-09 14:37:29 +0000
commit49c029031755e78e10cc4c0d004dc93d42714566 (patch)
treea1d88a51560ea03fdf03dd3da1179b95436f4365 /win/C#/HandBrake.ApplicationServices/Model
parent9f60eb35c21d513c6ce6b272e371a279b8a32ae5 (diff)
WinGui:
- Continuing on with the Application Services re-factoring: * Added new QueueManager - Manages queue jobs, add, remove, up, down, save, etc * Queue Processor - Processes a Queue * New Models (Encode Task + associated model objects) Used for storing jobs as an object rather than query. This code isn't used yet, that is coming later. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3738 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/C#/HandBrake.ApplicationServices/Model')
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/EncodeTask.cs274
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/Anamorphic.cs19
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioEncoder.cs28
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs56
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/Cropping.cs (renamed from win/C#/HandBrake.ApplicationServices/Model/Cropping.cs)2
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/Decomb.cs12
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/Deinterlace.cs11
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/Denoise.cs11
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/Detelecine.cs9
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/Mixdown.cs28
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/OutputFormat.cs19
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/PointToPointMode.cs12
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs95
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/SubtitleType.cs (renamed from win/C#/HandBrake.ApplicationServices/Model/SubtitleType.cs)2
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncodeRateType.cs9
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncoder.cs16
-rw-r--r--win/C#/HandBrake.ApplicationServices/Model/QueueTask.cs (renamed from win/C#/HandBrake.ApplicationServices/Model/Job.cs)33
17 files changed, 623 insertions, 13 deletions
diff --git a/win/C#/HandBrake.ApplicationServices/Model/EncodeTask.cs b/win/C#/HandBrake.ApplicationServices/Model/EncodeTask.cs
new file mode 100644
index 000000000..32a7c4f4b
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/EncodeTask.cs
@@ -0,0 +1,274 @@
+/* EncodeTask.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. */
+
+namespace HandBrake.ApplicationServices.Model
+{
+ using System.Collections.Generic;
+
+ using HandBrake.ApplicationServices.Model.Encoding;
+
+ /// <summary>
+ /// An Encode Task
+ /// </summary>
+ public class EncodeTask
+ {
+ #region Source
+ /// <summary>
+ /// Gets or sets Source.
+ /// </summary>
+ public string Source { get; set; }
+
+ /// <summary>
+ /// Gets or sets Title.
+ /// </summary>
+ public int Title { get; set; }
+
+ /// <summary>
+ /// Gets or sets PointToPointMode.
+ /// </summary>
+ public PointToPointMode PointToPointMode { get; set; }
+
+ /// <summary>
+ /// Gets or sets StartPoint.
+ /// </summary>
+ public int StartPoint { get; set; }
+
+ /// <summary>
+ /// Gets or sets EndPoint.
+ /// </summary>
+ public int EndPoint { get; set; }
+ #endregion
+
+ #region Destination
+
+ /// <summary>
+ /// Gets or sets Destination.
+ /// </summary>
+ public string Destination { get; set; }
+
+ #endregion
+
+ #region Output Settings
+ /// <summary>
+ /// Gets or sets OutputFormat.
+ /// </summary>
+ public OutputFormat OutputFormat { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether LargeFile.
+ /// </summary>
+ public bool LargeFile { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether Optimize.
+ /// </summary>
+ public bool OptimizeMP4 { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether IPod5GSupport.
+ /// </summary>
+ public bool IPod5GSupport { get; set; }
+ #endregion
+
+ #region Picture
+
+ /// <summary>
+ /// Gets or sets Width.
+ /// </summary>
+ public int Width { get; set; }
+
+ /// <summary>
+ /// Gets or sets Height.
+ /// </summary>
+ public int Height { get; set; }
+
+ /// <summary>
+ /// Gets or sets MaxWidth.
+ /// </summary>
+ public int MaxWidth { get; set; }
+
+ /// <summary>
+ /// Gets or sets MaxHeight.
+ /// </summary>
+ public int MaxHeight { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether CustomCropping.
+ /// </summary>
+ public bool IsCustomCropping { get; set; }
+
+ /// <summary>
+ /// Gets or sets Cropping.
+ /// </summary>
+ public Cropping Cropping { get; set; }
+
+ /// <summary>
+ /// Gets or sets Anamorphic.
+ /// </summary>
+ public Anamorphic Anamorphic { get; set; }
+
+ /// <summary>
+ /// Gets or sets DisplayWidth.
+ /// </summary>
+ public int DisplayWidth { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether KeepDisplayAspect.
+ /// </summary>
+ public bool KeepDisplayAspect { get; set; }
+
+ /// <summary>
+ /// Gets or sets PixelAspectX.
+ /// </summary>
+ public int PixelAspectX { get; set; }
+
+ /// <summary>
+ /// Gets or sets PixelAspectY.
+ /// </summary>
+ public int PixelAspectY { get; set; }
+
+ /// <summary>
+ /// Gets or sets Modulus.
+ /// </summary>
+ public int Modulus { get; set; }
+ #endregion
+
+ #region Filters
+
+ /// <summary>
+ /// Gets or sets Deinterlace.
+ /// </summary>
+ public Deinterlace Deinterlace { get; set; }
+
+ /// <summary>
+ /// Gets or sets CustomDeinterlace.
+ /// </summary>
+ public string CustomDeinterlace { get; set; }
+
+ /// <summary>
+ /// Gets or sets Decomb.
+ /// </summary>
+ public Decomb Decomb { get; set; }
+
+ /// <summary>
+ /// Gets or sets CustomDecomb.
+ /// </summary>
+ public string CustomDecomb { get; set; }
+
+ /// <summary>
+ /// Gets or sets Detelecine.
+ /// </summary>
+ public Detelecine Detelecine { get; set; }
+
+ /// <summary>
+ /// Gets or sets CustomDetelecine.
+ /// </summary>
+ public string CustomDetelecine { get; set; }
+
+ /// <summary>
+ /// Gets or sets Denoise.
+ /// </summary>
+ public Denoise Denoise { get; set; }
+
+ /// <summary>
+ /// Gets or sets CustomDenoise.
+ /// </summary>
+ public string CustomDenoise { get; set; }
+
+ /// <summary>
+ /// Gets or sets Deblock.
+ /// </summary>
+ public int Deblock { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether Grayscale.
+ /// </summary>
+ public bool Grayscale { get; set; }
+ #endregion
+
+ #region Video
+
+ /// <summary>
+ /// Gets or sets VideoEncodeRateType.
+ /// </summary>
+ public VideoEncodeRateType VideoEncodeRateType { get; set; }
+
+ /// <summary>
+ /// Gets or sets Quality.
+ /// </summary>
+ public double Quality { get; set; }
+
+ /// <summary>
+ /// Gets or sets TargetSize.
+ /// </summary>
+ public int TargetSize { get; set; }
+
+ /// <summary>
+ /// Gets or sets VideoBitrate.
+ /// </summary>
+ public int VideoBitrate { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether TwoPass.
+ /// </summary>
+ public bool TwoPass { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether TurboFirstPass.
+ /// </summary>
+ public bool TurboFirstPass { get; set; }
+
+ /// <summary>
+ /// Gets or sets Framerate.
+ /// Null = Same as Source
+ /// </summary>
+ public double? Framerate { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether PeakFramerate.
+ /// </summary>
+ public bool PeakFramerate { get; set; }
+
+ #endregion
+
+ #region Audio
+
+ /// <summary>
+ /// Gets or sets AudioEncodings.
+ /// </summary>
+ public List<AudioTrack> AudioTracks { get; set; }
+ #endregion
+
+ #region Subtitles
+
+ /// <summary>
+ /// Gets or sets SubtitleTracks.
+ /// </summary>
+ public List<SubtitleTrack> SubtitleTracks { get; set; }
+ #endregion
+
+ #region Chapters
+
+ /// <summary>
+ /// Gets or sets a value indicating whether IncludeChapterMarkers.
+ /// </summary>
+ public bool IncludeChapterMarkers { get; set; }
+
+ /// <summary>
+ /// Gets or sets ChapterMarkersFilePath.
+ /// </summary>
+ public string ChapterMarkersFilePath { get; set; }
+
+ #endregion
+
+ #region Advanced
+
+ /// <summary>
+ /// Gets or sets X264Options.
+ /// </summary>
+ public string X264Options { get; set; }
+ #endregion
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/Anamorphic.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Anamorphic.cs
new file mode 100644
index 000000000..b3b524cf9
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Anamorphic.cs
@@ -0,0 +1,19 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ using System.ComponentModel;
+
+ /// <summary>
+ /// Anamorphic Mode
+ /// </summary>
+ public enum Anamorphic
+ {
+ [Description("None")]
+ None = 0,
+ [Description("Strict")]
+ Strict,
+ [Description("Loose")]
+ Loose,
+ [Description("Custom")]
+ Custom
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioEncoder.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioEncoder.cs
new file mode 100644
index 000000000..d98b120bf
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioEncoder.cs
@@ -0,0 +1,28 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ using System.ComponentModel;
+
+ public enum AudioEncoder
+ {
+ [Description("AAC (faac)")]
+ Faac = 0,
+
+ [Description("MP3 (lame)")]
+ Lame,
+
+ [Description("AC3 (ffmpeg)")]
+ Ac3,
+
+ [Description("Passthrough (AC3/DTS)")]
+ Passthrough,
+
+ [Description("Passthrough (AC3)")]
+ Ac3Passthrough,
+
+ [Description("Passthrough (DTS)")]
+ DtsPassthrough,
+
+ [Description("Vorbis (vorbis)")]
+ Vorbis
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs
new file mode 100644
index 000000000..bcfb27089
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs
@@ -0,0 +1,56 @@
+/* AudioTrack.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. */
+
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ /// <summary>
+ /// An Audio Track for the Audio Panel
+ /// </summary>
+ public class AudioTrack
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="AudioTrack"/> class.
+ /// </summary>
+ public AudioTrack()
+ {
+ // Default Values
+ this.Track = "Automatic";
+ this.MixDown = "Automatic";
+ this.SampleRate = "Auto";
+ this.Bitrate = "Auto";
+ this.DRC = "1";
+ }
+
+ /// <summary>
+ /// Gets or sets Audio Track Name
+ /// </summary>
+ public string Track { get; set; }
+
+ /// <summary>
+ /// Gets or sets Audio Mixdown
+ /// </summary>
+ public string MixDown { get; set; }
+
+ /// <summary>
+ /// Gets or sets Audio Encoder
+ /// </summary>
+ public string Encoder { get; set; }
+
+ /// <summary>
+ /// Gets or sets Audio Bitrate
+ /// </summary>
+ public string Bitrate { get; set; }
+
+ /// <summary>
+ /// Gets or sets Audio SampleRate
+ /// </summary>
+ public string SampleRate { get; set; }
+
+ /// <summary>
+ /// Gets or sets Dynamic Range Compression
+ /// </summary>
+ public string DRC { get; set; }
+ }
+} \ No newline at end of file
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Cropping.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Cropping.cs
index ae39636f9..81d665ed4 100644
--- a/win/C#/HandBrake.ApplicationServices/Model/Cropping.cs
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Cropping.cs
@@ -3,7 +3,7 @@
Homepage: <http://handbrake.fr>.
It may be used under the terms of the GNU General Public License. */
-namespace HandBrake.ApplicationServices.Model
+namespace HandBrake.ApplicationServices.Model.Encoding
{
/// <summary>
/// Cropping T B L R
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/Decomb.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Decomb.cs
new file mode 100644
index 000000000..c09c5b98e
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Decomb.cs
@@ -0,0 +1,12 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ /// <summary>
+ /// Decomb Mode
+ /// </summary>
+ public enum Decomb
+ {
+ Off = 0,
+ Default,
+ Custom
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/Deinterlace.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Deinterlace.cs
new file mode 100644
index 000000000..308b025a9
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Deinterlace.cs
@@ -0,0 +1,11 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ public enum Deinterlace
+ {
+ Off = 0,
+ Fast,
+ Slow,
+ Slower,
+ Custom
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/Denoise.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Denoise.cs
new file mode 100644
index 000000000..6698e775d
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Denoise.cs
@@ -0,0 +1,11 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ public enum Denoise
+ {
+ Off = 0,
+ Weak,
+ Medium,
+ Strong,
+ Custom
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/Detelecine.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Detelecine.cs
new file mode 100644
index 000000000..19614971b
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Detelecine.cs
@@ -0,0 +1,9 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ public enum Detelecine
+ {
+ Off = 0,
+ Default,
+ Custom
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/Mixdown.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Mixdown.cs
new file mode 100644
index 000000000..373ee6b00
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/Mixdown.cs
@@ -0,0 +1,28 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ using System.ComponentModel;
+
+ /// <summary>
+ /// The Mixdown Mode
+ /// </summary>
+ public enum Mixdown
+ {
+ [Description("Dolby Pro Logic II")]
+ DolbyProLogicII = 0,
+
+ [Description("Auto")]
+ Auto,
+
+ [Description("Mono")]
+ Mono,
+
+ [Description("Stereo")]
+ Stereo,
+
+ [Description("Dolby Surround")]
+ DolbySurround,
+
+ [Description("6 Channel Discrete")]
+ SixChannelDiscrete
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/OutputFormat.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/OutputFormat.cs
new file mode 100644
index 000000000..c5565914b
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/OutputFormat.cs
@@ -0,0 +1,19 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ using System.ComponentModel;
+
+ /// <summary>
+ /// The Output format.
+ /// </summary>
+ public enum OutputFormat
+ {
+ [Description("MP4")]
+ Mp4,
+
+ [Description("M4V")]
+ M4V,
+
+ [Description("MKV")]
+ Mkv
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/PointToPointMode.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/PointToPointMode.cs
new file mode 100644
index 000000000..8c58aa4cf
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/PointToPointMode.cs
@@ -0,0 +1,12 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ /// <summary>
+ /// Point to Point Mode
+ /// </summary>
+ public enum PointToPointMode
+ {
+ Chapters = 0,
+ Seconds,
+ Frames
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs
new file mode 100644
index 000000000..5a3635689
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/SubtitleTrack.cs
@@ -0,0 +1,95 @@
+/* Subtitle.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. */
+
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ using System.Windows.Forms;
+
+ /// <summary>
+ /// Subtitle Information
+ /// </summary>
+ public class SubtitleTrack
+ {
+ /// <summary>
+ /// Gets or sets Track.
+ /// </summary>
+ public string Track { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether Forced.
+ /// </summary>
+ public bool Forced { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether Burned.
+ /// </summary>
+ public bool Burned { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether Default.
+ /// </summary>
+ public bool Default { get; set; }
+
+ #region SRT Specific Options
+
+ /// <summary>
+ /// Gets or sets the SRT Language
+ /// </summary>
+ public string SrtLang { get; set; }
+
+ /// <summary>
+ /// Gets or sets the SRT Character Code
+ /// </summary>
+ public string SrtCharCode { get; set; }
+
+ /// <summary>
+ /// Gets or sets the SRT Offset
+ /// </summary>
+ public int SrtOffset { get; set; }
+
+ /// <summary>
+ /// Gets or sets the Path to the SRT file
+ /// </summary>
+ public string SrtPath { get; set; }
+
+ /// <summary>
+ /// Gets or sets the SRT Filename
+ /// </summary>
+ public string SrtFileName { get; set; }
+
+ /// <summary>
+ /// Gets a value indicating whether this is an SRT subtitle.
+ /// </summary>
+ public bool IsSrtSubtitle
+ {
+ get { return this.SrtFileName != "-"; }
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Gets or sets the type of the subtitle
+ /// </summary>
+ public SubtitleType SubtitleType { get; set; }
+
+ /// <summary>
+ /// Gets A ListViewItem Containing information about this subitlte
+ /// </summary>
+ public ListViewItem ListView
+ {
+ get
+ {
+ var listTrack = new ListViewItem(this.Track);
+ listTrack.SubItems.Add(this.Forced ? "Yes" : "No");
+ listTrack.SubItems.Add(this.Burned ? "Yes" : "No");
+ listTrack.SubItems.Add(this.Default ? "Yes" : "No");
+ listTrack.SubItems.Add(this.SrtLang);
+ listTrack.SubItems.Add(this.SrtCharCode);
+ listTrack.SubItems.Add(this.SrtOffset.ToString());
+ return listTrack;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/win/C#/HandBrake.ApplicationServices/Model/SubtitleType.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/SubtitleType.cs
index f362a4b74..5a69d0105 100644
--- a/win/C#/HandBrake.ApplicationServices/Model/SubtitleType.cs
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/SubtitleType.cs
@@ -3,7 +3,7 @@
Homepage: <http://handbrake.fr>.
It may be used under the terms of the GNU General Public License. */
-namespace HandBrake.ApplicationServices.Model
+namespace HandBrake.ApplicationServices.Model.Encoding
{
using System.ComponentModel;
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncodeRateType.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncodeRateType.cs
new file mode 100644
index 000000000..b128fdbc4
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncodeRateType.cs
@@ -0,0 +1,9 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ public enum VideoEncodeRateType
+ {
+ TargetSize = 0,
+ AverageBitrate,
+ ConstantQuality
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncoder.cs b/win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncoder.cs
new file mode 100644
index 000000000..4eddbf44b
--- /dev/null
+++ b/win/C#/HandBrake.ApplicationServices/Model/Encoding/VideoEncoder.cs
@@ -0,0 +1,16 @@
+namespace HandBrake.ApplicationServices.Model.Encoding
+{
+ using System.ComponentModel;
+
+ public enum VideoEncoder
+ {
+ [Description("H.264 (x264)")]
+ X264 = 0,
+
+ [Description("MPEG-4 (FFMpeg)")]
+ FFMpeg,
+
+ [Description("VP3 (Theora)")]
+ Theora
+ }
+}
diff --git a/win/C#/HandBrake.ApplicationServices/Model/Job.cs b/win/C#/HandBrake.ApplicationServices/Model/QueueTask.cs
index 536069153..3d648e586 100644
--- a/win/C#/HandBrake.ApplicationServices/Model/Job.cs
+++ b/win/C#/HandBrake.ApplicationServices/Model/QueueTask.cs
@@ -8,19 +8,35 @@ namespace HandBrake.ApplicationServices.Model
/// <summary>
/// The job.
/// </summary>
- public class Job
+ public class QueueTask
{
+ /*
+ * TODO
+ * - Update the Query property to generate the query from the EncodeTask object.
+ * - Remove Sourcee, Destination and Title when they are no longer used.
+ */
+
/// <summary>
/// Gets or sets the job ID.
/// </summary>
public int Id { get; set; }
/// <summary>
- /// Gets or sets the selected Title.
+ /// Gets or sets Title.
/// </summary>
public int Title { get; set; }
/// <summary>
+ /// Gets or sets Source.
+ /// </summary>
+ public string Source { get; set; }
+
+ /// <summary>
+ /// Gets or sets Destination.
+ /// </summary>
+ public string Destination { get; set; }
+
+ /// <summary>
/// Gets or sets the query string.
/// </summary>
public string Query { get; set; }
@@ -31,14 +47,9 @@ namespace HandBrake.ApplicationServices.Model
public bool CustomQuery { get; set; }
/// <summary>
- /// Gets or sets the source file of encoding.
+ /// Gets or sets the Encode Task.
/// </summary>
- public string Source { get; set; }
-
- /// <summary>
- /// Gets or sets the destination for the file to be encoded.
- /// </summary>
- public string Destination { get; set; }
+ public EncodeTask Task { get; set; }
/// <summary>
/// Gets a value indicating whether or not this instance is empty.
@@ -47,8 +58,8 @@ namespace HandBrake.ApplicationServices.Model
{
get
{
- return this.Id == 0 && string.IsNullOrEmpty(this.Query) && string.IsNullOrEmpty(this.Source) &&
- string.IsNullOrEmpty(this.Destination);
+ return this.Id == 0 && string.IsNullOrEmpty(this.Query) && string.IsNullOrEmpty(this.Task.Source) &&
+ string.IsNullOrEmpty(this.Task.Destination);
}
}
}