/// </summary>\r
public class VideoViewModel : ViewModelBase, IVideoViewModel\r
{\r
+ /*\r
+ * TODO\r
+ * 1. Refactor the Video Encoder Preset/Tune/Level options to be generic instead of encoder specific.\r
+ * 2. Model the UI Interactions in a better way.\r
+ */\r
+\r
#region Constants and Fields\r
/// <summary>\r
/// Same as source constant.\r
/// </summary>\r
private int x265PresetValue;\r
\r
+ /// <summary>\r
+ /// The display turbo first pass.\r
+ /// </summary>\r
+ private bool displayTurboFirstPass;\r
+\r
#endregion\r
\r
#region Constructors and Destructors\r
this.DisplayH264Options = value == VideoEncoder.X264 || value == VideoEncoder.QuickSync;\r
this.UseAdvancedTab = value != VideoEncoder.QuickSync && this.UseAdvancedTab;\r
this.DisplayNonQSVControls = value != VideoEncoder.QuickSync;\r
+ this.DisplayTurboFirstPass = value == VideoEncoder.X264; \r
\r
this.NotifyOfPropertyChange(() => this.Rfqp);\r
this.NotifyOfPropertyChange(() => this.ShowAdvancedTab);\r
/// Gets or sets X265Tunes.\r
/// </summary>\r
public IEnumerable<x265Tune> X265Tunes { get; set; }\r
+\r
+ /// <summary>\r
+ /// Gets or sets a value indicating whether display turbo first pass.\r
+ /// </summary>\r
+ public bool DisplayTurboFirstPass\r
+ {\r
+ get\r
+ {\r
+ return this.displayTurboFirstPass;\r
+ }\r
+ set\r
+ {\r
+ if (value.Equals(this.displayTurboFirstPass))\r
+ {\r
+ return;\r
+ }\r
+ this.displayTurboFirstPass = value;\r
+ this.NotifyOfPropertyChange(() => this.DisplayTurboFirstPass);\r
+ }\r
+ }\r
+\r
#endregion\r
\r
#region Public Methods\r
this.DisplayX264Options = encoder == VideoEncoder.X264;\r
this.DisplayQSVOptions = encoder == VideoEncoder.QuickSync;\r
this.DisplayX265Options = encoder == VideoEncoder.X265;\r
+ this.DisplayTurboFirstPass = encoder == VideoEncoder.X264;\r
\r
if (encoder == VideoEncoder.QuickSync)\r
{\r
<CheckBox Content="2-Pass Encoding" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}"\r
IsChecked="{Binding TwoPass}" Margin="0,0,10,0" />\r
<CheckBox Content="Turbo first pass" IsEnabled="{Binding IsConstantQuantity, Converter={StaticResource boolConverter}, ConverterParameter=true}"\r
- IsChecked="{Binding TurboFirstPass}" />\r
+ IsChecked="{Binding TurboFirstPass}" Visibility="{Binding DisplayTurboFirstPass, Converter={StaticResource boolToVisConverter}}" />\r
</StackPanel>\r
\r
</StackPanel>\r