/* AudioTrack.cs $ This file is part of the HandBrake source code. Homepage: . It may be used under the terms of the GNU General Public License. */ using System; using System.Collections.Generic; using System.IO; using System.Text.RegularExpressions; namespace HandBrake.SourceData { /// /// An object represending an AudioTrack associated with a Title, in a DVD /// public class AudioTrack { /// /// The track number of this Audio Track /// public int TrackNumber { get; set; } /// /// The language (if detected) of this Audio Track /// public string Language { get; set; } public string LanguageCode { get; set; } public string Description { get; set; } /// /// The frequency (in MHz) of this Audio Track /// public int SampleRate { get; set; } /// /// The bitrate (in kbps) of this Audio Track /// public int Bitrate { get; set; } public string Display { get { return this.GetDisplayString(true); } } public string NoTrackDisplay { get { return this.GetDisplayString(false); } } /// /// Override of the ToString method to make this object easier to use in the UI /// /// A string formatted as: {track #} {language} ({format}) ({sub-format}) public override string ToString() { return this.GetDisplayString(true); } private string GetDisplayString(bool includeTrackNumber) { if (includeTrackNumber) { return this.TrackNumber + " " + this.Description; } else { return this.Description; } } } }