// --------------------------------------------------------------------------------------------------------------------
//
// This file is part of the HandBrake source code - It may be used under the terms of the GNU General Public License.
//
//
// An object represending an AudioTrack associated with a Title, in a DVD
//
// --------------------------------------------------------------------------------------------------------------------
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);
}
}
}