diff options
author | sr55 <[email protected]> | 2016-04-09 14:46:54 +0100 |
---|---|---|
committer | sr55 <[email protected]> | 2016-04-09 14:46:54 +0100 |
commit | fc3324c8fa6c0aaa37c89d8d0bf098092d705932 (patch) | |
tree | 6789acc002fdd809e8327eb2d42bed9f440cf89e /win/CS/HandBrakeWPF/Converters/Audio/AudioMixdownConverter.cs | |
parent | ca2fc63cfd6a47920492bc96c3efd7e207af817d (diff) |
WinGui: Use Mixdowns from LibHBand sanitise the choices. The GUI no longer shows invalid mixdowns.
Diffstat (limited to 'win/CS/HandBrakeWPF/Converters/Audio/AudioMixdownConverter.cs')
-rw-r--r-- | win/CS/HandBrakeWPF/Converters/Audio/AudioMixdownConverter.cs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/win/CS/HandBrakeWPF/Converters/Audio/AudioMixdownConverter.cs b/win/CS/HandBrakeWPF/Converters/Audio/AudioMixdownConverter.cs new file mode 100644 index 000000000..e1a371743 --- /dev/null +++ b/win/CS/HandBrakeWPF/Converters/Audio/AudioMixdownConverter.cs @@ -0,0 +1,61 @@ +// -------------------------------------------------------------------------------------------------------------------- +// <copyright file="AudioMixdownConverter.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 AudioMixdownConverter type. +// </summary> +// -------------------------------------------------------------------------------------------------------------------- + +namespace HandBrakeWPF.Converters.Audio +{ + using System.Globalization; + using System.Windows.Data; + using System; + + using HandBrake.ApplicationServices.Interop; + using HandBrake.ApplicationServices.Interop.Model.Encoding; + + /// <summary> + /// The audio mixdown converter. + /// Handles conversion between HBMixdown and it's shortname. + /// </summary> + public class AudioMixdownConverter : IValueConverter + { + /// <summary> + /// Converts a value. + /// </summary> + /// <returns> + /// A converted value. If the method returns null, the valid null value is used. + /// </returns> + /// <param name="value">The value produced by the binding source.</param><param name="targetType">The type of the binding target property.</param><param name="parameter">The converter parameter to use.</param><param name="culture">The culture to use in the converter.</param> + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + string mixdown = value as string; + if (!string.IsNullOrEmpty(mixdown)) + { + return HandBrakeEncoderHelpers.GetMixdown(mixdown); + } + + return HandBrakeEncoderHelpers.GetMixdown("dpl2"); // Default + } + + /// <summary> + /// Converts a value. + /// </summary> + /// <returns> + /// A converted value. If the method returns null, the valid null value is used. + /// </returns> + /// <param name="value">The value that is produced by the binding target.</param><param name="targetType">The type to convert to.</param><param name="parameter">The converter parameter to use.</param><param name="culture">The culture to use in the converter.</param> + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + HBMixdown mixdown = value as HBMixdown; + if (mixdown != null) + { + return mixdown.ShortName; + } + + return "none"; + } + } +} |