summaryrefslogtreecommitdiffstats
path: root/win/CS/HandBrake.ApplicationServices/Interop/Model
diff options
context:
space:
mode:
Diffstat (limited to 'win/CS/HandBrake.ApplicationServices/Interop/Model')
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/EncodeJob.cs505
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncodeRateType.cs21
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoder.cs2
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoding.cs89
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/VideoEncoder.cs2
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/Preview/PreviewSettings.cs (renamed from win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/OutputExtension.cs)14
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/Size.cs20
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/SourceVideoInfo.cs60
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/SrtSubtitle.cs66
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/Subtitles.cs29
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Model/VideoRangeType.cs43
11 files changed, 89 insertions, 762 deletions
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/EncodeJob.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/EncodeJob.cs
deleted file mode 100644
index 9357e21a3..000000000
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/EncodeJob.cs
+++ /dev/null
@@ -1,505 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="EncodeJob.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>
-// Defines the EncodeJob type.
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.ApplicationServices.Interop.Model
-{
- using System.Collections.Generic;
-
- using HandBrake.ApplicationServices.Interop.Model.Encoding;
-
- /// <summary>
- /// The encode job.
- /// </summary>
- public class EncodeJob
- {
- /// <summary>
- /// Initializes a new instance of the <see cref="EncodeJob"/> class.
- /// </summary>
- public EncodeJob()
- {
- this.Cropping = new Cropping();
- }
-
- #region Source
-
- /// <summary>
- /// Gets or sets the source path.
- /// </summary>
- public string SourcePath { get; set; }
-
- /// <summary>
- /// Gets or sets the 1-based index of the title to encode.
- /// </summary>
- public int Title { get; set; }
-
- /// <summary>
- /// Gets or sets the range type.
- /// </summary>
- public VideoRangeType RangeType { get; set; }
-
- /// <summary>
- /// Gets or sets the seek points.
- /// This is the number of preview points.
- /// </summary>
- public int SeekPoints { get; set; }
-
- /// <summary>
- /// Gets or sets the start at preview.
- /// </summary>
- public int StartAtPreview { get; set; }
-
- /// <summary>
- /// Gets or sets the seconds end.
- /// </summary>
- public int SecondsEnd { get; set; }
-
- /// <summary>
- /// Gets or sets the seconds start.
- /// </summary>
- public double SecondsStart { get; set; }
-
- /// <summary>
- /// Gets or sets the angle to encode. 0 for default, 1+ for specified angle.
- /// </summary>
- public int Angle { get; set; }
-
- /// <summary>
- /// Gets or sets the chapter end.
- /// </summary>
- public int ChapterEnd { get; set; }
-
- /// <summary>
- /// Gets or sets the chapter start.
- /// </summary>
- public int ChapterStart { get; set; }
-
- /// <summary>
- /// Gets or sets the frames end.
- /// </summary>
- public int FramesEnd { get; set; }
-
- /// <summary>
- /// Gets or sets the frames start.
- /// </summary>
- public int FramesStart { get; set; }
-
- /// <summary>
- /// Gets or sets the source type.
- /// </summary>
- public SourceType SourceType { get; set; }
-
- #endregion
-
- #region Destination and Output Settings
-
- /// <summary>
- /// Gets or sets the output path.
- /// </summary>
- public string OutputPath { get; set; }
-
- /// <summary>
- /// Gets or sets the container name.
- /// </summary>
- public string ContainerName { get; set; }
-
- /// <summary>
- /// Gets or sets the preferred extension.
- /// </summary>
- public OutputExtension PreferredExtension { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether include chapter markers.
- /// </summary>
- public bool IncludeChapterMarkers { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether optimize.
- /// </summary>
- public bool Optimize { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether i pod 5 g support.
- /// </summary>
- public bool IPod5GSupport { get; set; }
- #endregion
-
- #region Picture Settings
-
- /// <summary>
- /// Gets or sets the width.
- /// </summary>
- public int Width { get; set; }
-
- /// <summary>
- /// Gets or sets the height.
- /// </summary>
- public int Height { get; set; }
-
- /// <summary>
- /// Gets or sets the max width.
- /// </summary>
- public int MaxWidth { get; set; }
-
- /// <summary>
- /// Gets or sets the max height.
- /// </summary>
- public int MaxHeight { get; set; }
-
- /// <summary>
- /// Gets or sets the scale method.
- /// </summary>
- public ScaleMethod ScaleMethod { get; set; }
-
- /// <summary>
- /// Gets or sets the cropping.
- /// </summary>
- public Cropping Cropping { get; set; }
-
- /// <summary>
- /// Gets or sets the anamorphic.
- /// </summary>
- public Anamorphic Anamorphic { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether use display width.
- /// </summary>
- public bool UseDisplayWidth { get; set; }
-
- /// <summary>
- /// Gets or sets the display width.
- /// </summary>
- public int DisplayWidth { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether keep display aspect.
- /// </summary>
- public bool KeepDisplayAspect { get; set; }
-
- /// <summary>
- /// Gets or sets the pixel aspect x.
- /// </summary>
- public int PixelAspectX { get; set; }
-
- /// <summary>
- /// Gets or sets the pixel aspect y.
- /// </summary>
- public int PixelAspectY { get; set; }
-
- /// <summary>
- /// Gets or sets the modulus.
- /// </summary>
- public int Modulus { get; set; }
-
- /// <summary>
- /// Gets or sets the rotation.
- /// </summary>
- public PictureRotation Rotation { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether the picture should be flipped horizontally.
- /// </summary>
- public bool FlipHorizontal { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether the picture should be flipped vertically.
- /// </summary>
- public bool FlipVertical { get; set; }
- #endregion
-
- #region Filters
-
- /// <summary>
- /// Gets or sets the deinterlace.
- /// </summary>
- public Deinterlace Deinterlace { get; set; }
-
- /// <summary>
- /// Gets or sets the custom deinterlace.
- /// </summary>
- public string CustomDeinterlace { get; set; }
-
- /// <summary>
- /// Gets or sets the decomb.
- /// </summary>
- public Decomb Decomb { get; set; }
-
- /// <summary>
- /// Gets or sets the custom decomb.
- /// </summary>
- public string CustomDecomb { get; set; }
-
- /// <summary>
- /// Gets or sets the detelecine.
- /// </summary>
- public Detelecine Detelecine { get; set; }
-
- /// <summary>
- /// Gets or sets the custom detelecine.
- /// </summary>
- public string CustomDetelecine { get; set; }
-
- /// <summary>
- /// Gets or sets the denoise.
- /// </summary>
- public Denoise Denoise { get; set; }
-
- /// <summary>
- /// Gets or sets the denoise preset name.
- /// </summary>
- public string DenoisePreset { get; set; }
-
- /// <summary>
- /// Gets or sets the denoise tune name.
- /// </summary>
- public string DenoiseTune { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether we should use the provided
- /// custom denoise string or we should use the preset and tune.
- /// </summary>
- public bool UseCustomDenoise { get; set; }
-
- /// <summary>
- /// Gets or sets the custom denoise.
- /// </summary>
- public string CustomDenoise { get; set; }
-
- /// <summary>
- /// Gets or sets the deblock.
- /// </summary>
- public int Deblock { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether the grayscale filter will be applied.
- /// </summary>
- public bool Grayscale { get; set; }
- #endregion
-
- #region Video
-
- /// <summary>
- /// Gets or sets the video encoder.
- /// </summary>
- public string VideoEncoder { get; set; }
-
- /// <summary>
- /// Gets or sets the video encoder options.
- /// </summary>
- public string VideoOptions { get; set; }
-
- /// <summary>
- /// Gets or sets the advanced options.
- /// This overrides the VideoOptions, VideoPreset, VideoTunes and VideoLevel
- /// </summary>
- public string AdvancedOptions { get; set; }
-
- /// <summary>
- /// Gets or sets the video encoder profile name.
- /// </summary>
- public string VideoProfile { get; set; }
-
- /// <summary>
- /// Gets or sets the video encoder preset name.
- /// </summary>
- public string VideoPreset { get; set; }
-
- /// <summary>
- /// Gets or sets the video encoder tunes.
- /// </summary>
- public List<string> VideoTunes { get; set; }
-
- /// <summary>
- /// Gets or sets the video encoder level.
- /// </summary>
- public string VideoLevel { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether to use QSV decoding.
- /// </summary>
- public bool QsvDecode { get; set; }
-
- /// <summary>
- /// Gets or sets the video encode rate type.
- /// </summary>
- public VideoEncodeRateType VideoEncodeRateType { get; set; }
-
- /// <summary>
- /// Gets or sets the quality.
- /// </summary>
- public double Quality { get; set; }
-
- /// <summary>
- /// Gets or sets the target size.
- /// </summary>
- public int TargetSize { get; set; }
-
- /// <summary>
- /// Gets or sets the video bitrate.
- /// </summary>
- public int VideoBitrate { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether two pass.
- /// </summary>
- public bool TwoPass { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether turbo first pass.
- /// </summary>
- public bool TurboFirstPass { get; set; }
-
- /// <summary>
- /// Gets or sets the framerate.
- /// </summary>
- public double Framerate { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether constant framerate.
- /// </summary>
- public bool ConstantFramerate { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether peak framerate.
- /// </summary>
- public bool PeakFramerate { get; set; }
- #endregion
-
- #region Audio
-
- /// <summary>
- /// Gets or sets the audio encodings.
- /// </summary>
- public List<AudioEncoding> AudioEncodings { get; set; }
-
- /// <summary>
- /// Gets or sets the audio encoder fallback.
- /// </summary>
- public string AudioEncoderFallback { get; set; }
- #endregion
-
- #region Chapter Markers
-
- /// <summary>
- /// Gets or sets a value indicating whether use default chapter names.
- /// </summary>
- public bool UseDefaultChapterNames { get; set; }
-
- /// <summary>
- /// Gets or sets the custom chapter names.
- /// </summary>
- public List<string> CustomChapterNames { get; set; }
- #endregion
-
- #region Subtitles
-
- /// <summary>
- /// Gets or sets the subtitles.
- /// </summary>
- public Subtitles Subtitles { get; set; }
- #endregion
-
- #region Additional Args
-
- /// <summary>
- /// Gets or sets a value indicating whether to use DXVA hardware decoding.
- /// </summary>
- public bool DxvaDecoding { get; set; }
- #endregion
-
- #region Public Methods
-
- /// <summary>
- /// The clone.
- /// </summary>
- /// <returns>
- /// The <see cref="EncodeJob"/>.
- /// </returns>
- public EncodeJob Clone()
- {
- var clone = new EncodeJob
- {
- SourceType = this.SourceType,
- SourcePath = this.SourcePath,
- Title = this.Title,
- Angle = this.Angle,
- RangeType = this.RangeType,
- ChapterStart = this.ChapterStart,
- ChapterEnd = this.ChapterEnd,
- SecondsStart = this.SecondsStart,
- SecondsEnd = this.SecondsEnd,
- FramesStart = this.FramesStart,
- FramesEnd = this.FramesEnd,
- Subtitles = this.Subtitles,
- UseDefaultChapterNames = this.UseDefaultChapterNames,
- DxvaDecoding = this.DxvaDecoding,
- OutputPath = this.OutputPath,
-
- ContainerName = this.ContainerName,
- PreferredExtension = this.PreferredExtension,
- IncludeChapterMarkers = this.IncludeChapterMarkers,
- Optimize = this.Optimize,
- IPod5GSupport = this.IPod5GSupport,
-
- Width = this.Width,
- Height = this.Height,
- MaxWidth = this.MaxWidth,
- MaxHeight = this.MaxHeight,
- ScaleMethod = this.ScaleMethod,
- Cropping = this.Cropping.Clone(),
- Anamorphic = this.Anamorphic,
- UseDisplayWidth = this.UseDisplayWidth,
- DisplayWidth = this.DisplayWidth,
- KeepDisplayAspect = this.KeepDisplayAspect,
- PixelAspectX = this.PixelAspectX,
- PixelAspectY = this.PixelAspectY,
- Modulus = this.Modulus,
- Rotation = this.Rotation,
- FlipHorizontal = this.FlipHorizontal,
- FlipVertical = this.FlipVertical,
-
- Deinterlace = this.Deinterlace,
- CustomDeinterlace = this.CustomDeinterlace,
- Decomb = this.Decomb,
- CustomDecomb = this.CustomDecomb,
- Detelecine = this.Detelecine,
- CustomDetelecine = this.CustomDetelecine,
- Denoise = this.Denoise,
- DenoisePreset = this.DenoisePreset,
- DenoiseTune = this.DenoiseTune,
- UseCustomDenoise = this.UseCustomDenoise,
- CustomDenoise = this.CustomDenoise,
- Deblock = this.Deblock,
- Grayscale = this.Grayscale,
-
- VideoEncoder = this.VideoEncoder,
- VideoOptions = this.VideoOptions,
- VideoProfile = this.VideoProfile,
- VideoPreset = this.VideoPreset,
- VideoTunes = this.VideoTunes,
- VideoLevel = this.VideoLevel,
- QsvDecode = this.QsvDecode,
- VideoEncodeRateType = this.VideoEncodeRateType,
- Quality = this.Quality,
- TargetSize = this.TargetSize,
- VideoBitrate = this.VideoBitrate,
- TwoPass = this.TwoPass,
- TurboFirstPass = this.TurboFirstPass,
- Framerate = this.Framerate,
- ConstantFramerate = this.ConstantFramerate,
-
- AudioEncodings = new List<AudioEncoding>(this.AudioEncodings),
- AudioEncoderFallback = this.AudioEncoderFallback
- };
-
- return clone;
- }
-
- #endregion
- }
-} \ No newline at end of file
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncodeRateType.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncodeRateType.cs
deleted file mode 100644
index 4fe209ccb..000000000
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncodeRateType.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="AudioEncodeRateType.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>
-// The audio encode rate type.
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.ApplicationServices.Interop.Model.Encoding
-{
- /// <summary>
- /// The audio encode rate type.
- /// </summary>
- public enum AudioEncodeRateType
- {
- Bitrate,
- Quality,
- Compression
- }
-}
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoder.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoder.cs
index e8f0a484a..7b18aaa03 100644
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoder.cs
+++ b/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoder.cs
@@ -11,7 +11,7 @@ namespace HandBrake.ApplicationServices.Interop.Model.Encoding
{
using System.ComponentModel.DataAnnotations;
- using HandBrake.ApplicationServices.Interop.Attributes;
+ using HandBrake.ApplicationServices.Attributes;
/// <summary>
/// The audio encoder.
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoding.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoding.cs
deleted file mode 100644
index 96adc79dd..000000000
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/AudioEncoding.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="AudioEncoding.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>
-// Defines the AudioEncoding type.
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.ApplicationServices.Interop.Model.Encoding
-{
- using System;
-
- /// <summary>
- /// The Audio Encoding Model
- /// </summary>
- public class AudioEncoding
- {
- /// <summary>
- /// Initializes a new instance of the AudioEncoding class.
- /// </summary>
- public AudioEncoding()
- {
- // Initialize to -1 to differentiate a compression of 0 from uninitialized.
- this.Compression = -1;
- }
-
- /// <summary>
- /// Gets or sets the chosen track to apply the encoding to.
- /// </summary>
- /// <remarks>1-based index. 0 means apply to all tracks.</remarks>
- public int InputNumber { get; set; }
-
- /// <summary>
- /// Gets or sets the encoder to use.
- /// </summary>
- public string Encoder { get; set; }
-
- /// <summary>
- /// Gets or sets the encode rate type (bitrate or quality).
- /// </summary>
- public AudioEncodeRateType EncodeRateType { get; set; }
-
- /// <summary>
- /// Gets or sets the bitrate (in kbps) of this track.
- /// </summary>
- public int Bitrate { get; set; }
-
- /// <summary>
- /// Gets or sets the target audio quality for this track.
- /// </summary>
- public float Quality { get; set; }
-
- /// <summary>
- /// Gets or sets the target audio compression for this track.
- /// </summary>
- public float Compression { get; set; }
-
- /// <summary>
- /// Gets or sets the mixdown.
- /// </summary>
- public string Mixdown { get; set; }
-
- /// <summary>
- /// Gets or sets the sample rate in Hz.
- /// </summary>
- public int SampleRateRaw { get; set; }
-
- /// <summary>
- /// Gets or sets Gain.
- /// </summary>
- public int Gain { get; set; }
-
- /// <summary>
- /// Gets or sets Drc.
- /// </summary>
- public double Drc { get; set; }
-
- /// <summary>
- /// Gets or sets Name.
- /// </summary>
- public string Name { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether is passthru.
- /// </summary>
- public bool IsPassthru { get; set; }
- }
-}
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/VideoEncoder.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/VideoEncoder.cs
index 0752b1277..17ed82aef 100644
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/VideoEncoder.cs
+++ b/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/VideoEncoder.cs
@@ -11,7 +11,7 @@ namespace HandBrake.ApplicationServices.Interop.Model.Encoding
{
using System.ComponentModel.DataAnnotations;
- using HandBrake.ApplicationServices.Interop.Attributes;
+ using HandBrake.ApplicationServices.Attributes;
/// <summary>
/// The video encoder.
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/OutputExtension.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/Preview/PreviewSettings.cs
index 5154eb58e..ca5a29416 100644
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/Encoding/OutputExtension.cs
+++ b/win/CS/HandBrake.ApplicationServices/Interop/Model/Preview/PreviewSettings.cs
@@ -1,20 +1,20 @@
// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="OutputExtension.cs" company="HandBrake Project (http://handbrake.fr)">
+// <copyright file="PreviewSettings.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>
-// Defines the OutputExtension type.
+// The preview settings.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
-namespace HandBrake.ApplicationServices.Interop.Model.Encoding
+namespace HandBrake.ApplicationServices.Interop.Model.Preview
{
+ using HandBrake.ApplicationServices.Services.Encode.Model;
+
/// <summary>
- /// The output extension.
+ /// The preview settings.
/// </summary>
- public enum OutputExtension
+ public class PreviewSettings : EncodeTask
{
- Mp4,
- M4v
}
}
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/Size.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/Size.cs
index c41482e88..91cba7a66 100644
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/Size.cs
+++ b/win/CS/HandBrake.ApplicationServices/Interop/Model/Size.cs
@@ -9,6 +9,8 @@
namespace HandBrake.ApplicationServices.Interop.Model
{
+ using System.Windows.Forms;
+
/// <summary>
/// The size.
/// </summary>
@@ -38,5 +40,23 @@ namespace HandBrake.ApplicationServices.Interop.Model
/// Gets or sets the width.
/// </summary>
public int Width { get; set; }
+
+ /// <summary>
+ /// Gets a value indicating whether is empty.
+ /// </summary>
+ public bool IsEmpty
+ {
+ get
+ {
+ if (this.Width <= 0 && this.Height <= 0)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
}
} \ No newline at end of file
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/SourceVideoInfo.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/SourceVideoInfo.cs
new file mode 100644
index 000000000..65ed3002b
--- /dev/null
+++ b/win/CS/HandBrake.ApplicationServices/Interop/Model/SourceVideoInfo.cs
@@ -0,0 +1,60 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="SourceVideoInfo.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>
+// The source framerate info.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrake.ApplicationServices.Interop.Model
+{
+ /// <summary>
+ /// The source framerate info.
+ /// </summary>
+ public class SourceVideoInfo
+ {
+ /// <summary>
+ /// Initializes a new instance of the <see cref="SourceVideoInfo"/> class.
+ /// </summary>
+ /// <param name="framerateNumerator">
+ /// The framerate numerator.
+ /// </param>
+ /// <param name="framerateDenominator">
+ /// The framerate denominator.
+ /// </param>
+ /// <param name="resolution">
+ /// The resolution.
+ /// </param>
+ /// <param name="parVal">
+ /// The par val.
+ /// </param>
+ public SourceVideoInfo(int framerateNumerator, int framerateDenominator, Size resolution, Size parVal)
+ {
+ this.FramerateNumerator = framerateNumerator;
+ this.FramerateDenominator = framerateDenominator;
+ this.Resolution = resolution;
+ this.ParVal = parVal;
+ }
+
+ /// <summary>
+ /// Gets the framerate numerator.
+ /// </summary>
+ public int FramerateNumerator { get; private set; }
+
+ /// <summary>
+ /// Gets the framerate denominator.
+ /// </summary>
+ public int FramerateDenominator { get; private set; }
+
+ /// <summary>
+ /// Gets or sets the resolution (width/height) of this Title
+ /// </summary>
+ public Size Resolution { get; set; }
+
+ /// <summary>
+ /// Gets or sets the pixel aspect ratio.
+ /// </summary>
+ public Size ParVal { get; set; }
+ }
+}
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/SrtSubtitle.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/SrtSubtitle.cs
deleted file mode 100644
index c81c07ea5..000000000
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/SrtSubtitle.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="SrtSubtitle.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>
-// Defines the SrtSubtitle type.
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.ApplicationServices.Interop.Model
-{
- /// <summary>
- /// The srt subtitle.
- /// </summary>
- public class SrtSubtitle
- {
- /// <summary>
- /// Gets or sets the character code.
- /// </summary>
- public string CharacterCode { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether the subtitle track should be marked as default.
- /// </summary>
- public bool Default { get; set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether the subtitle track should be burned in.
- /// </summary>
- public bool BurnedIn { get; set; }
-
- /// <summary>
- /// Gets or sets the file name.
- /// </summary>
- public string FileName { get; set; }
-
- /// <summary>
- /// Gets or sets the language code.
- /// </summary>
- public string LanguageCode { get; set; }
-
- /// <summary>
- /// Gets or sets the offset.
- /// </summary>
- public int Offset { get; set; }
-
- /// <summary>
- /// The clone.
- /// </summary>
- /// <returns>
- /// The <see cref="SrtSubtitle"/>.
- /// </returns>
- public SrtSubtitle Clone()
- {
- return new SrtSubtitle
- {
- Default = this.Default,
- BurnedIn = this.BurnedIn,
- FileName = this.FileName,
- LanguageCode = this.LanguageCode,
- CharacterCode = this.CharacterCode,
- Offset = this.Offset
- };
- }
- }
-} \ No newline at end of file
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/Subtitles.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/Subtitles.cs
deleted file mode 100644
index c455ee6a6..000000000
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/Subtitles.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="Subtitles.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>
-// Defines the Subtitles type.
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.ApplicationServices.Interop.Model
-{
- using System.Collections.Generic;
-
- /// <summary>
- /// The subtitles.
- /// </summary>
- public class Subtitles
- {
- /// <summary>
- /// Gets or sets the source subtitles.
- /// </summary>
- public List<SourceSubtitle> SourceSubtitles { get; set; }
-
- /// <summary>
- /// Gets or sets the srt subtitles.
- /// </summary>
- public List<SrtSubtitle> SrtSubtitles { get; set; }
- }
-} \ No newline at end of file
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Model/VideoRangeType.cs b/win/CS/HandBrake.ApplicationServices/Interop/Model/VideoRangeType.cs
deleted file mode 100644
index 3b38de793..000000000
--- a/win/CS/HandBrake.ApplicationServices/Interop/Model/VideoRangeType.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="VideoRangeType.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>
-// Defines the VideoRangeType type.
-// </summary>
-// --------------------------------------------------------------------------------------------------------------------
-
-namespace HandBrake.ApplicationServices.Interop.Model
-{
- using System.ComponentModel.DataAnnotations;
-
- /// <summary>
- /// The video range type.
- /// </summary>
- public enum VideoRangeType
- {
- /// <summary>
- /// The entire title.
- /// </summary>
- [Display(Name = "Preview")]
- Preview,
-
- /// <summary>
- /// A chapter range.
- /// </summary>
- [Display(Name = "Chapters")]
- Chapters,
-
- /// <summary>
- /// A timespan range in seconds.
- /// </summary>
- [Display(Name = "Seconds")]
- Seconds,
-
- /// <summary>
- /// A frame range.
- /// </summary>
- [Display(Name = "Frames")]
- Frames
- }
-} \ No newline at end of file