/* 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. */ namespace HandBrake.ApplicationServices.Parsing { using System; /// /// An object represending an AudioTrack associated with a Title, in a DVD /// [Serializable] public class Audio { /// /// Initializes a new instance of the class. /// public Audio() { } /// /// Initializes a new instance of the class. /// /// /// The track number. /// /// /// The language. /// /// /// The language code. /// /// /// The description. /// /// /// The format. /// /// /// The sample rate. /// /// /// The bitrate. /// public Audio(int trackNumber, string language, string languageCode, string description, string format, int sampleRate, int bitrate) { this.TrackNumber = trackNumber; this.Language = language; this.LanguageCode = languageCode; this.Description = description; this.Format = format; this.SampleRate = sampleRate; this.Bitrate = bitrate; } /// /// Gets or sets The track number of this Audio Track /// public int TrackNumber { get; set; } /// /// Gets or sets The language (if detected) of this Audio Track /// public string Language { get; set; } /// /// Gets or sets LanguageCode. /// public string LanguageCode { get; set; } /// /// Gets or sets Description. /// public string Description { get; set; } /// /// Gets or sets The primary format of this Audio Track /// public string Format { get; set; } /// /// Gets or sets The frequency (in MHz) of this Audio Track /// public int SampleRate { get; set; } /// /// Gets or sets The bitrate (in kbps) of this Audio Track /// public int Bitrate { get; set; } /// /// 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() { if (this.Description == "None Found") { return this.Description; } if (this.Description == null) { return string.Format("{0} {1} ({2})", this.TrackNumber, this.Language, this.Format); } return string.Format("{0} {1} ({2}) ({3})", this.TrackNumber, this.Language, this.Format, this.Description); } } }