summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj2
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/HbLib/HbFunctions.cs3
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/HBPreset.cs (renamed from win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/Preset.cs)6
-rw-r--r--win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/PresetCategory.cs2
-rw-r--r--win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs396
-rw-r--r--win/CS/HandBrakeWPF/UserSettingConstants.cs5
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs4
-rw-r--r--win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs24
-rw-r--r--win/CS/HandBrakeWPF/Views/OptionsView.xaml1
-rw-r--r--win/CS/HandBrakeWPF/defaultsettings.xml8
10 files changed, 404 insertions, 47 deletions
diff --git a/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj b/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
index 683f133f4..e3a9b0db2 100644
--- a/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
+++ b/win/CS/HandBrake.ApplicationServices/HandBrake.ApplicationServices.csproj
@@ -112,7 +112,7 @@
<Compile Include="Interop\Json\Anamorphic\DestSettings.cs" />
<Compile Include="Interop\Json\Encode\QSV.cs" />
<Compile Include="Interop\Json\Presets\AudioList.cs" />
- <Compile Include="Interop\Json\Presets\Preset.cs" />
+ <Compile Include="Interop\Json\Presets\HBPreset.cs" />
<Compile Include="Interop\Json\Presets\PresetCategory.cs" />
<Compile Include="Interop\Json\Shared\PAR.cs" />
<Compile Include="Interop\Json\Encode\Audio.cs" />
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/HbLib/HbFunctions.cs b/win/CS/HandBrake.ApplicationServices/Interop/HbLib/HbFunctions.cs
index 6eb77cac3..a1e93f28b 100644
--- a/win/CS/HandBrake.ApplicationServices/Interop/HbLib/HbFunctions.cs
+++ b/win/CS/HandBrake.ApplicationServices/Interop/HbLib/HbFunctions.cs
@@ -441,5 +441,8 @@ namespace HandBrake.ApplicationServices.Interop.HbLib
[DllImport("hb.dll", EntryPoint = "hb_presets_builtin_get_json", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr hb_presets_builtin_get_json();
+ // hb_value_t * hb_plist_parse_file(const char *filename);
+ [DllImport("hb.dll", EntryPoint = "hb_plist_parse_file", CallingConvention = CallingConvention.Cdecl)]
+ public static extern IntPtr hb_plist_parse_file(IntPtr filename);
}
}
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/Preset.cs b/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/HBPreset.cs
index 8d19d0ae3..0c40a858d 100644
--- a/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/Preset.cs
+++ b/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/HBPreset.cs
@@ -1,5 +1,5 @@
// --------------------------------------------------------------------------------------------------------------------
-// <copyright file="Preset.cs" company="HandBrake Project (http://handbrake.fr)">
+// <copyright file="HBPreset.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>
@@ -14,7 +14,7 @@ namespace HandBrake.ApplicationServices.Interop.Json.Presets
/// <summary>
/// The preset.
/// </summary>
- public class Preset
+ public class HBPreset
{
/// <summary>
/// Gets or sets the audio copy mask.
@@ -294,7 +294,7 @@ namespace HandBrake.ApplicationServices.Interop.Json.Presets
/// <summary>
/// Gets or sets the subtitle language list.
/// </summary>
- public List<object> SubtitleLanguageList { get; set; }
+ public List<string> SubtitleLanguageList { get; set; }
/// <summary>
/// Gets or sets the subtitle track selection behavior.
diff --git a/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/PresetCategory.cs b/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/PresetCategory.cs
index 6700c0a84..799ea0876 100644
--- a/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/PresetCategory.cs
+++ b/win/CS/HandBrake.ApplicationServices/Interop/Json/Presets/PresetCategory.cs
@@ -19,7 +19,7 @@ namespace HandBrake.ApplicationServices.Interop.Json.Presets
/// <summary>
/// Gets or sets the children array.
/// </summary>
- public List<Preset> ChildrenArray { get; set; }
+ public List<HBPreset> ChildrenArray { get; set; }
/// <summary>
/// Gets or sets a value indicating whether folder.
diff --git a/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs b/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
new file mode 100644
index 000000000..1fff26e1c
--- /dev/null
+++ b/win/CS/HandBrakeWPF/Services/Presets/Factories/JsonPresetFactory.cs
@@ -0,0 +1,396 @@
+// --------------------------------------------------------------------------------------------------------------------
+// <copyright file="JsonPresetFactory.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 json preset factory.
+// </summary>
+// --------------------------------------------------------------------------------------------------------------------
+
+namespace HandBrakeWPF.Services.Presets.Factories
+{
+ using System.Collections.ObjectModel;
+ using System.Globalization;
+
+ using HandBrake.ApplicationServices.Interop.Model;
+ using HandBrake.ApplicationServices.Interop.Model.Encoding;
+ using HandBrake.ApplicationServices.Services.Encode.Model;
+ using HandBrake.ApplicationServices.Services.Encode.Model.Models;
+ using HandBrake.ApplicationServices.Services.Encode.Model.Models.Video;
+ using HandBrake.ApplicationServices.Utilities;
+
+ using HandBrakeWPF.Model.Audio;
+ using HandBrakeWPF.Model.Picture;
+ using HandBrakeWPF.Model.Subtitles;
+ using HandBrakeWPF.Services.Presets.Model;
+
+ /// <summary>
+ /// The json preset factory.
+ /// </summary>
+ public class JsonPresetFactory
+ {
+ /// <summary>
+ /// The create preset.
+ /// </summary>
+ /// <param name="preset">
+ /// The preset.
+ /// </param>
+ /// <returns>
+ /// The <see cref="Preset"/>.
+ /// </returns>
+ public static Preset ImportPreset(HandBrake.ApplicationServices.Interop.Json.Presets.HBPreset preset)
+ {
+ EncodeTask task = new EncodeTask();
+ Preset parsedPreset = new Preset();
+ parsedPreset.Name = preset.PresetName;
+ parsedPreset.Description = preset.PresetDescription;
+ parsedPreset.UsePictureFilters = preset.UsesPictureFilters;
+ parsedPreset.PictureSettingsMode = (PresetPictureSettingsMode)preset.UsesPictureSettings;
+ parsedPreset.UseDeinterlace = preset.PictureDecombDeinterlace;
+ parsedPreset.Task = new EncodeTask();
+
+ // Step 1, Create the EncodeTask Object that can be loaded into the UI.
+
+ /* Output Settings */
+ task.OptimizeMP4 = preset.Mp4HttpOptimize;
+ task.IPod5GSupport = preset.Mp4iPodCompatible;
+ task.OutputFormat = GetFileFormat(preset.FileFormat.Replace("file", string.Empty).Trim()); // TOOD null check.
+
+ /* Picture Settings */
+ task.Cropping = new Cropping(preset.PictureTopCrop, preset.PictureBottomCrop, preset.PictureLeftCrop, preset.PictureRightCrop);
+ task.HasCropping = preset.PictureAutoCrop;
+ task.Width = preset.PictureWidth;
+ task.Height = preset.PictureHeight;
+ task.Modulus = preset.PictureModulus;
+ task.KeepDisplayAspect = preset.PictureKeepRatio;
+ switch (preset.PicturePAR)
+ {
+ case "custom":
+ task.Anamorphic = Anamorphic.Custom;
+ break;
+ case "loose":
+ task.Anamorphic = Anamorphic.Loose;
+ break;
+ case "strict":
+ task.Anamorphic = Anamorphic.Strict;
+ break;
+ default:
+ task.Anamorphic = Anamorphic.Loose;
+ break;
+ }
+
+ /* Filter Settings */
+ task.Grayscale = preset.VideoGrayScale;
+ task.Deblock = preset.PictureDeblock;
+ switch (preset.PictureDecomb)
+ {
+ case "custom":
+ task.Decomb = Decomb.Custom;
+ break;
+ case "default":
+ task.Decomb = Decomb.Default;
+ break;
+ case "bob":
+ task.Decomb = Decomb.Bob;
+ break;
+ case "fast":
+ task.Decomb = Decomb.Fast;
+ break;
+
+ default:
+ task.Decomb = Decomb.Off;
+ break;
+ }
+
+ task.CustomDecomb = preset.PictureDecombCustom;
+
+ switch (preset.PictureDeinterlace)
+ {
+ case "custom":
+ task.Deinterlace = Deinterlace.Custom;
+ break;
+ case "bob":
+ task.Deinterlace = Deinterlace.Bob;
+ break;
+ case "gast":
+ task.Deinterlace = Deinterlace.Fast;
+ break;
+ case "slow":
+ task.Deinterlace = Deinterlace.Slow;
+ break;
+ case "slower":
+ task.Deinterlace = Deinterlace.Slower;
+ break;
+ default:
+ task.Deinterlace = Deinterlace.Off;
+ break;
+ }
+
+ task.CustomDeinterlace = preset.PictureDetelecineCustom;
+ task.CustomDenoise = preset.PictureDenoiseCustom;
+ task.CustomDetelecine = preset.PictureDetelecineCustom;
+
+ switch (preset.PictureDetelecine)
+ {
+ case "custom":
+ task.Detelecine = Detelecine.Custom;
+ break;
+ case "default":
+ task.Detelecine = Detelecine.Default;
+ break;
+ default:
+ task.Detelecine = Detelecine.Off;
+ break;
+ }
+
+ switch (preset.PictureDenoiseFilter)
+ {
+ case "nlmeans":
+ task.Denoise = Denoise.NLMeans;
+ break;
+ case "hqdn3d":
+ task.Denoise = Denoise.hqdn3d;
+ break;
+ default:
+ task.Denoise = Denoise.Off;
+ break;
+ }
+
+ switch (preset.PictureDenoisePreset)
+ {
+ case "custom":
+ task.DenoisePreset = DenoisePreset.Custom;
+ break;
+ case "light":
+ task.DenoisePreset = DenoisePreset.Light;
+ break;
+ case "medium":
+ task.DenoisePreset = DenoisePreset.Medium;
+ break;
+ case "strong":
+ task.DenoisePreset = DenoisePreset.Strong;
+ break;
+ case "ultralight":
+ task.DenoisePreset = DenoisePreset.Ultralight;
+ break;
+ case "weak":
+ task.DenoisePreset = DenoisePreset.Weak;
+ break;
+ }
+
+ switch (preset.PictureDenoiseTune)
+ {
+ case "animation":
+ task.DenoiseTune = DenoiseTune.Animation;
+ break;
+ case "film":
+ task.DenoiseTune = DenoiseTune.Film;
+ break;
+ case "grain":
+ task.DenoiseTune = DenoiseTune.Grain;
+ break;
+ case "highnotion":
+ task.DenoiseTune = DenoiseTune.HighMotion;
+ break;
+
+ default:
+ task.DenoiseTune = DenoiseTune.None;
+ break;
+ }
+
+ /* Video Settings */
+ task.VideoEncoder = EnumHelper<VideoEncoder>.GetValue(preset.VideoEncoder);
+ task.VideoBitrate = preset.VideoAvgBitrate;
+ task.TwoPass = preset.VideoTwoPass;
+ task.TurboFirstPass = preset.VideoTurboTwoPass;
+ task.ExtraAdvancedArguments = preset.VideoOptionExtra;
+ task.Quality = double.Parse(preset.VideoQualitySlider.ToString(CultureInfo.InvariantCulture), CultureInfo.InvariantCulture);
+ task.VideoEncodeRateType = (VideoEncodeRateType)preset.VideoQualityType;
+ task.VideoLevel = new VideoLevel(preset.VideoLevel, preset.VideoLevel);
+ task.VideoPreset = new VideoPreset(preset.VideoPreset, preset.VideoPreset);
+ string[] split = preset.VideoTune.Split(',');
+ foreach (var item in split)
+ {
+ task.VideoTunes.Add(new VideoTune(item, item));
+ }
+ task.Framerate = preset.VideoFramerate == "auto" || string.IsNullOrEmpty(preset.VideoFramerate)
+ ? (double?)null
+ : double.Parse(preset.VideoFramerate, CultureInfo.InvariantCulture);
+ string parsedValue = preset.VideoFramerateMode;
+ switch (parsedValue)
+ {
+ case "vfr":
+ task.FramerateMode = FramerateMode.VFR;
+ break;
+ case "cfr":
+ task.FramerateMode = FramerateMode.CFR;
+ break;
+ default:
+ task.FramerateMode = FramerateMode.PFR;
+ break;
+ }
+
+ /* Audio Settings */
+ parsedPreset.AudioTrackBehaviours = new AudioBehaviours();
+ task.AllowedPassthruOptions.AudioEncoderFallback = EnumHelper<AudioEncoder>.GetValue(preset.AudioEncoderFallback);
+ parsedPreset.AudioTrackBehaviours.SelectedBehaviour = preset.AudioTrackSelectionBehavior == "all"
+ ? AudioBehaviourModes.AllMatching
+ : preset.AudioTrackSelectionBehavior == "first"
+ ? AudioBehaviourModes.FirstMatch
+ : AudioBehaviourModes.None;
+
+ if (preset.AudioCopyMask != null)
+ {
+ foreach (var item in preset.AudioCopyMask)
+ {
+ AudioEncoder encoder = EnumHelper<AudioEncoder>.GetValue(item.ToString());
+ switch (encoder)
+ {
+ case AudioEncoder.AacPassthru:
+ task.AllowedPassthruOptions.AudioAllowAACPass = true;
+ break;
+ case AudioEncoder.Ac3Passthrough:
+ task.AllowedPassthruOptions.AudioAllowAACPass = true;
+ break;
+ case AudioEncoder.EAc3Passthrough:
+ task.AllowedPassthruOptions.AudioAllowAACPass = true;
+ break;
+ case AudioEncoder.DtsHDPassthrough:
+ task.AllowedPassthruOptions.AudioAllowAACPass = true;
+ break;
+ case AudioEncoder.DtsPassthrough:
+ task.AllowedPassthruOptions.AudioAllowAACPass = true;
+ break;
+ case AudioEncoder.FlacPassthru:
+ task.AllowedPassthruOptions.AudioAllowAACPass = true;
+ break;
+ case AudioEncoder.Mp3Passthru:
+ task.AllowedPassthruOptions.AudioAllowAACPass = true;
+ break;
+ }
+ }
+ }
+
+ if (preset.AudioLanguageList != null)
+ {
+ foreach (var item in preset.AudioLanguageList)
+ {
+ parsedPreset.AudioTrackBehaviours.SelectedLangauges.Add(item);
+ }
+ }
+
+ task.AudioTracks = new ObservableCollection<AudioTrack>();
+
+ if (preset.AudioList != null)
+ {
+ foreach (var audioTrack in preset.AudioList)
+ {
+ AudioTrack track = new AudioTrack();
+ track.Bitrate = audioTrack.AudioBitrate;
+
+ // track.CompressionLevel = audioTrack.AudioCompressionLevel;
+ // track.AudioDitherMethod = audioTrack.AudioDitherMethod;
+ track.Encoder = EnumHelper<AudioEncoder>.GetValue(audioTrack.AudioEncoder);
+ track.MixDown = Converters.GetAudioMixDown(audioTrack.AudioMixdown);
+
+ // track.AudioNormalizeMixLevel = audioTrack.AudioNormalizeMixLevel;
+ track.SampleRate = audioTrack.AudioSamplerate == "auto" ? 0 : double.Parse(audioTrack.AudioSamplerate);
+
+ // track.IsQualityBased = audioTrack.AudioTrackQualityEnable;
+ // track.Quality = audioTrack.AudioTrackQuality;
+ track.Gain = (int)audioTrack.AudioTrackGainSlider;
+ track.DRC = audioTrack.AudioTrackDRCSlider;
+
+ task.AudioTracks.Add(track);
+ }
+ }
+
+
+ /* Subtitle Settings */
+ parsedPreset.SubtitleTrackBehaviours = new SubtitleBehaviours();
+
+ // parsedPreset.SubtitleTrackBehaviours.SelectedBehaviour = preset.SubtitleTrackSelectionBehavior;
+ parsedPreset.SubtitleTrackBehaviours.AddClosedCaptions = preset.SubtitleAddCC;
+ parsedPreset.SubtitleTrackBehaviours.AddForeignAudioScanTrack = preset.SubtitleAddForeignAudioSearch;
+ if (preset.SubtitleLanguageList != null)
+ {
+ foreach (var item in preset.SubtitleLanguageList)
+ {
+ parsedPreset.SubtitleTrackBehaviours.SelectedLangauges.Add(item);
+ }
+ }
+
+ /* Chapter Marker Settings */
+ task.IncludeChapterMarkers = preset.ChapterMarkers;
+
+ /* Advanced Settings */
+ task.ShowAdvancedTab = preset.x264UseAdvancedOptions;
+ task.AdvancedEncoderOptions = preset.x264Option;
+
+ /* Not Supported Yet */
+ // public int VideoColorMatrixCode { get; set; }
+ // public bool VideoHWDecode { get; set; }
+ // public string VideoScaler { get; set; }
+ // public bool VideoQSVDecode { get; set; }
+ // public int VideoQSVAsyncDepth { get; set; }
+ // public bool SubtitleAddForeignAudioSubtitle { get; set; }
+ // public string SubtitleBurnBehavior { get; set; }
+ // public bool SubtitleBurnBDSub { get; set; }
+ // public bool SubtitleBurnDVDSub { get; set; }
+ // public bool PictureItuPAR { get; set; }
+ // public bool PictureLooseCrop { get; set; }
+ // public int PicturePARWidth { get; set; }
+ // public int PicturePARHeight { get; set; }
+ // public int PictureRotate { get; set; }
+ // public int PictureForceHeight { get; set; }
+ // public int PictureForceWidth { get; set; }
+ // public bool AudioSecondaryEncoderMode { get; set; }
+ // public List<object> ChildrenArray { get; set; }
+ // public bool Default { get; set; }
+ // public bool Folder { get; set; }
+ // public bool FolderOpen { get; set; }
+ // public int PictureDARWidth { get; set; }
+ // public int Type { get; set; }
+
+ return parsedPreset;
+ }
+
+ /// <summary>
+ /// The export preset.
+ /// </summary>
+ /// <param name="export">
+ /// The export.
+ /// </param>
+ /// <returns>
+ /// The <see cref="Preset"/>.
+ /// </returns>
+ public HandBrake.ApplicationServices.Interop.Json.Presets.HBPreset ExportPreset(Preset export)
+ {
+ HandBrake.ApplicationServices.Interop.Json.Presets.HBPreset preset = new HandBrake.ApplicationServices.Interop.Json.Presets.HBPreset();
+
+ return preset;
+ }
+
+ /// <summary>
+ /// Get the OutputFormat Enum for a given string
+ /// </summary>
+ /// <param name="format">
+ /// OutputFormat as a string
+ /// </param>
+ /// <returns>
+ /// An OutputFormat Enum
+ /// </returns>
+ public static OutputFormat GetFileFormat(string format)
+ {
+ switch (format.ToLower())
+ {
+ default:
+ return OutputFormat.Mp4;
+ case "m4v":
+ return OutputFormat.Mp4;
+ case "mkv":
+ return OutputFormat.Mkv;
+ }
+ }
+ }
+}
diff --git a/win/CS/HandBrakeWPF/UserSettingConstants.cs b/win/CS/HandBrakeWPF/UserSettingConstants.cs
index 71fa1fd84..9154b678f 100644
--- a/win/CS/HandBrakeWPF/UserSettingConstants.cs
+++ b/win/CS/HandBrakeWPF/UserSettingConstants.cs
@@ -72,11 +72,6 @@ namespace HandBrakeWPF
public const string MinTitleLength = "MinTitleLength";
/// <summary>
- /// Preset Notification
- /// </summary>
- public const string PresetNotification = "presetNotification";
-
- /// <summary>
/// Skip Version
/// </summary>
public const string Skipversion = "skipversion";
diff --git a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
index b16b73573..854bf48d9 100644
--- a/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/MainViewModel.cs
@@ -1192,10 +1192,6 @@ namespace HandBrakeWPF.ViewModels
// Setup the presets.
this.presetService.Load();
- if (this.presetService.CheckIfPresetsAreOutOfDate())
- if (!this.userSettingService.GetUserSetting<bool>(UserSettingConstants.PresetNotification))
- this.errorService.ShowMessageBox(Resources.Main_PresetUpdateNotification,
- Resources.Notice, MessageBoxButton.OK, MessageBoxImage.Information);
// Queue Recovery
QueueRecoveryHelper.RecoverQueue(this.queueProcessor, this.errorService);
diff --git a/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs b/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
index 01c0d38f9..be12f2010 100644
--- a/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
+++ b/win/CS/HandBrakeWPF/ViewModels/OptionsViewModel.cs
@@ -118,11 +118,6 @@ namespace HandBrakeWPF.ViewModels
private bool disableLibdvdNav;
/// <summary>
- /// The disable p reset update check notification.
- /// </summary>
- private bool disablePresetUpdateCheckNotification;
-
- /// <summary>
/// The growl after encode.
/// </summary>
private bool growlAfterEncode;
@@ -898,23 +893,6 @@ namespace HandBrakeWPF.ViewModels
}
/// <summary>
- /// Gets or sets a value indicating whether disablePresetUpdateCheckNotification.
- /// </summary>
- public bool DisablePresetUpdateCheckNotification
- {
- get
- {
- return this.disablePresetUpdateCheckNotification;
- }
-
- set
- {
- this.disablePresetUpdateCheckNotification = value;
- this.NotifyOfPropertyChange("DisablePresetUpdateCheckNotification");
- }
- }
-
- /// <summary>
/// Gets or sets LogVerbosityOptions.
/// </summary>
public BindingList<int> LogVerbosityOptions
@@ -1449,7 +1427,6 @@ namespace HandBrakeWPF.ViewModels
// Minimise to Tray
this.MinimiseToTray = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.MainWindowMinimize);
- this.DisablePresetUpdateCheckNotification = this.userSettingService.GetUserSetting<bool>(UserSettingConstants.PresetNotification);
this.ClearQueueOnEncodeCompleted = userSettingService.GetUserSetting<bool>(UserSettingConstants.ClearCompletedFromQueue);
this.ShowAdvancedTab = userSettingService.GetUserSetting<bool>(UserSettingConstants.ShowAdvancedTab);
@@ -1526,7 +1503,6 @@ namespace HandBrakeWPF.ViewModels
/* Advanced */
userSettingService.SetUserSetting(UserSettingConstants.MainWindowMinimize, this.MinimiseToTray);
- userSettingService.SetUserSetting(UserSettingConstants.PresetNotification, this.DisablePresetUpdateCheckNotification);
userSettingService.SetUserSetting(UserSettingConstants.ClearCompletedFromQueue, this.ClearQueueOnEncodeCompleted);
userSettingService.SetUserSetting(UserSettingConstants.PreviewScanCount, this.SelectedPreviewCount);
userSettingService.SetUserSetting(UserSettingConstants.X264Step, double.Parse(this.SelectedGranulairty, CultureInfo.InvariantCulture));
diff --git a/win/CS/HandBrakeWPF/Views/OptionsView.xaml b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
index ad8e7ad49..f2ed936fc 100644
--- a/win/CS/HandBrakeWPF/Views/OptionsView.xaml
+++ b/win/CS/HandBrakeWPF/Views/OptionsView.xaml
@@ -153,7 +153,6 @@
<StackPanel Orientation="Vertical" Margin="20,0,0,0">
<CheckBox Content="Minimize to system tray (Requires Restart)" IsChecked="{Binding MinimiseToTray}" />
- <CheckBox Content="Disable preset update notification on startup" IsChecked="{Binding DisablePresetUpdateCheckNotification}" />
<CheckBox Content="Always clear completed queue items after an encode completes" IsChecked="{Binding ClearQueueOnEncodeCompleted}" />
<CheckBox Content="Show Advanced Encoder Options Tab" IsChecked="{Binding ShowAdvancedTab}" />
</StackPanel>
diff --git a/win/CS/HandBrakeWPF/defaultsettings.xml b/win/CS/HandBrakeWPF/defaultsettings.xml
index 4d695271e..b50cf7e91 100644
--- a/win/CS/HandBrakeWPF/defaultsettings.xml
+++ b/win/CS/HandBrakeWPF/defaultsettings.xml
@@ -178,14 +178,6 @@
</item>
<item>
<key>
- <string>presetNotification</string>
- </key>
- <value>
- <anyType xmlns:q1="http://www.w3.org/2001/XMLSchema" d4p1:type="q1:boolean" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance">false</anyType>
- </value>
- </item>
- <item>
- <key>
<string>lastUpdateCheckDate</string>
</key>
<value>