// -------------------------------------------------------------------------------------------------------------------- // // This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License. // // // Audio Queue Display Converter // // -------------------------------------------------------------------------------------------------------------------- namespace HandBrakeWPF.Converters.Audio { using System; using System.Collections.ObjectModel; using System.Globalization; using System.Text; using System.Windows.Data; using HandBrake.ApplicationServices.Utilities; using HandBrakeWPF.Utilities; using AudioEncoder = HandBrakeWPF.Services.Encode.Model.Models.AudioEncoder; using AudioTrack = HandBrakeWPF.Services.Encode.Model.Models.AudioTrack; /// /// Audio Queue Display Converter /// public class AudioQueueDisplayConverter : IValueConverter { /// /// Converts a value. /// /// /// A converted value. If the method returns null, the valid null value is used. /// /// The value produced by the binding source.The type of the binding target property.The converter parameter to use.The culture to use in the converter. public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { ObservableCollection tracks = value as ObservableCollection; StringBuilder audioTracks = new StringBuilder(); if (tracks != null) { foreach (AudioTrack track in tracks) { string trackName = string.Format( "{0} {1}", track.ScannedTrack.TrackNumber, track.ScannedTrack.Language); audioTracks.Append(string.Format("{0} - {1} To {2}{3}", trackName, track.TrackName, EnumHelper.GetDisplay(track.Encoder), Environment.NewLine)); } } return audioTracks.ToString().Trim(); } /// /// Converts a value. /// /// /// A converted value. If the method returns null, the valid null value is used. /// /// The value that is produced by the binding target.The type to convert to.The converter parameter to use.The culture to use in the converter. public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }