summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrakeWPF/Model
diff options
context:
space:
mode:
authorsr55 <[email protected]>2014-11-23 21:26:15 +0000
committersr55 <[email protected]>2014-11-23 21:26:15 +0000
commit041b565e4316317e07b00e4db815307d7280b27f (patch)
tree872948418b48bd9885443a93982a6f609feafc59 /win/CS/HandBrakeWPF/Model
parent40b699f2cbb07961e08a8f828bdd7ea4c2dbfe29 (diff)
WinGui: Move the preset system out of the services package.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6544 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'win/CS/HandBrakeWPF/Model')
-rw-r--r--win/CS/HandBrakeWPF/Model/Preset/Preset.cs151
1 files changed, 151 insertions, 0 deletions
diff --git a/win/CS/HandBrakeWPF/Model/Preset/Preset.cs b/win/CS/HandBrakeWPF/Model/Preset/Preset.cs
new file mode 100644
index 000000000..d7c93838b
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Model/Preset/Preset.cs
@@ -0,0 +1,151 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="Preset.cs" company="HandBrake Project (http://handbrake.fr)">
+// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
+// </copyright>
+// <summary>
+// A Preset for encoding with.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Model.Preset
+{
+ using Caliburn.Micro;
+
+ using HandBrake.ApplicationServices.Model;
+ using HandBrake.ApplicationServices.Model.Audio;
+ using HandBrake.ApplicationServices.Model.Subtitle;
+
+ /// <summary>
+ /// A Preset for encoding with.
+ /// </summary>
+ public class Preset : PropertyChangedBase
+ {
+ #region Constants and Fields
+
+ /// <summary>
+ /// The is default.
+ /// </summary>
+ private bool isDefault;
+
+ #endregion
+
+ #region Properties
+
+ /// <summary>
+ /// Gets or sets the category which the preset resides under
+ /// </summary>
+ public string Category { get; set; }
+
+ /// <summary>
+ /// Gets or sets the Description for the preset
+ /// </summary>
+ public string Description { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this is a built in preset
+ /// </summary>
+ public bool IsBuildIn { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether IsDefault.
+ /// </summary>
+ public bool IsDefault
+ {
+ get
+ {
+ return this.isDefault;
+ }
+ set
+ {
+ this.isDefault = value;
+ this.NotifyOfPropertyChange(() => this.IsDefault);
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the preset name
+ /// </summary>
+ public string Name { get; set; }
+
+ /// <summary>
+ /// Gets or sets PictureSettingsMode.
+ /// Source Maximum, Custom or None
+ /// </summary>
+ public PresetPictureSettingsMode PictureSettingsMode { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether use deinterlace.
+ /// </summary>
+ public bool UseDeinterlace { get; set; }
+
+ /// <summary>
+ /// Gets or sets task.
+ /// </summary>
+ public EncodeTask Task { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether Picture Filters are used with this preset.
+ /// </summary>
+ public bool UsePictureFilters { get; set; }
+
+ /// <summary>
+ /// Gets or sets The version number which associates this preset with a HB build
+ /// </summary>
+ public string Version { get; set; }
+
+ /// <summary>
+ /// Gets or sets the audio track behaviours.
+ /// </summary>
+ public AudioBehaviours AudioTrackBehaviours { get; set; }
+
+ /// <summary>
+ /// Gets or sets the subtitle track behaviours.
+ /// </summary>
+ public SubtitleBehaviours SubtitleTrackBehaviours { get; set; }
+
+ #endregion
+
+ #region Public Methods
+
+ /// <summary>
+ /// Update this preset.
+ /// The given parameters should be copy-constructed.
+ /// </summary>
+ /// <param name="task">
+ /// The task.
+ /// </param>
+ /// <param name="audioBehaviours">
+ /// The audio behaviours.
+ /// </param>
+ /// <param name="subtitleBehaviours">
+ /// The subtitle behaviours.
+ /// </param>
+ public void Update(EncodeTask task, AudioBehaviours audioBehaviours, SubtitleBehaviours subtitleBehaviours)
+ {
+ // Copy over Max Width / Height for the following picture settings modes.
+ if (this.PictureSettingsMode == PresetPictureSettingsMode.Custom
+ || this.PictureSettingsMode == PresetPictureSettingsMode.SourceMaximum)
+ {
+ task.MaxWidth = this.Task.MaxWidth;
+ task.MaxHeight = this.Task.MaxHeight;
+ }
+
+ this.Task = task;
+ this.AudioTrackBehaviours = audioBehaviours;
+ this.SubtitleTrackBehaviours = subtitleBehaviours;
+ }
+
+ /// <summary>
+ /// Override the ToString Method
+ /// </summary>
+ /// <returns>
+ /// The Preset Name
+ /// </returns>
+ public override string ToString()
+ {
+ return this.Name;
+ }
+
+ #endregion
+ }
+} \ No newline at end of file