\r
if (!string.IsNullOrEmpty(fallbackEncoders))\r
{\r
- // Special Case, The CLI alredy defaults to ALL, so if all area selected, then just set copy-mask to none\r
- if (fallbackEncoders == "aac,ac3,dtshd,dts,mp3")\r
- {\r
- query += string.Format(" --audio-copy-mask none");\r
- }\r
- else\r
+ // Special Case, The CLI alredy defaults to ALL, so if all area selected, then don't need to set copy mask\r
+ if (fallbackEncoders != "aac,ac3,dtshd,dts,mp3")\r
{\r
query += string.Format(" --audio-copy-mask {0}", fallbackEncoders);\r
}\r
using System.Globalization;\r
using System.Linq;\r
\r
- using Caliburn.Micro;\r
-\r
using HandBrake.ApplicationServices.Model;\r
using HandBrake.ApplicationServices.Parsing;\r
- using HandBrake.ApplicationServices.Services.Interfaces;\r
using HandBrake.Interop.Model.Encoding;\r
\r
using HandBrakeWPF.Helpers;\r
{\r
#region Constants and Fields\r
\r
+ /// <summary>\r
+ /// AdvancedOptionsCache;\r
+ /// </summary>\r
+ private string optionsCache = string.Empty;\r
+\r
/// <summary>\r
/// Backing field for displaying x264 options\r
/// </summary>\r
/// <summary>\r
/// Initializes a new instance of the <see cref="AdvancedViewModel"/> class.\r
/// </summary>\r
- /// <param name="windowManager">\r
- /// The window manager.\r
- /// </param>\r
- /// <param name="userSettingService">\r
- /// The user Setting Service.\r
- /// </param>\r
- public AdvancedViewModel(IWindowManager windowManager, IUserSettingService userSettingService)\r
+ public AdvancedViewModel()\r
{\r
this.Task = new EncodeTask();\r
this.UpdateUIFromAdvancedOptions();\r
/// </param>\r
public void SetEncoder(VideoEncoder encoder)\r
{\r
- this.DisplayX264Options = encoder == VideoEncoder.X264;\r
- if (encoder == VideoEncoder.Theora)\r
+ // If we are switching from x264, cache it's settings.\r
+ if (this.DisplayX264Options.HasValue && this.DisplayX264Options.Value )\r
{\r
+ this.optionsCache = this.AdvancedOptionsString;\r
+ }\r
+\r
+ // UI Set for new encoder.\r
+ if (encoder == VideoEncoder.X264)\r
+ {\r
+ this.AdvancedOptionsString = optionsCache;\r
+ this.DisplayX264Options = true;\r
+ }\r
+ else if (encoder == VideoEncoder.Theora)\r
+ {\r
+ this.AdvancedOptionsString = string.Empty;\r
this.DisplayX264Options = null;\r
}\r
+ else\r
+ {\r
+ this.AdvancedOptionsString = string.Empty;\r
+ this.DisplayX264Options = false;\r
+ } \r
}\r
\r
#endregion\r