/// <summary>
 /// Initializes a new instance of the <see cref="AudioTrack"/> class.
 /// Copy Constructor
 /// </summary>
 /// <param name="track">
 /// The track.
 /// </param>
 public AudioTrack(AudioTrack track)
 {
     this.bitrate = track.Bitrate;
     this.drc = track.DRC;
     this.encoder = track.Encoder;
     this.gain = track.Gain;
     this.mixDown = track.MixDown;
     this.sampleRate = track.SampleRate;
     this.scannedTrack = track.ScannedTrack ?? new Audio();
     this.TrackName = track.TrackName;
 }
Esempio n. 2
0
        /// <summary>
        /// Add the specified source track, or the first track in the SourceTracks collection if available.
        /// </summary>
        /// <param name="sourceTrack">
        /// The source track.
        /// </param>
        /// <param name="useBehaviourTemplateMode">
        /// The use Behaviour Template Mode.
        /// </param>
        private void Add(Audio sourceTrack, bool useBehaviourTemplateMode)
        {
            if (this.SourceTracks != null)
            {
                Audio track = sourceTrack ?? this.GetPreferredAudioTrack();
                if (track != null)
                {
                    if (!useBehaviourTemplateMode)
                    {
                        this.Task.AudioTracks.Add(new AudioTrack { ScannedTrack = track });
                        return;
                    }

                    switch (this.AudioBehaviours.SelectedTrackDefaultBehaviour)
                    {
                        case AudioTrackDefaultsMode.None:
                            this.Task.AudioTracks.Add(new AudioTrack { ScannedTrack = track });
                            break;
                        case AudioTrackDefaultsMode.FirstTrack:
                            AudioTrack template = this.currentPreset.Task.AudioTracks.FirstOrDefault();
                            this.Task.AudioTracks.Add(template != null ? new AudioTrack(template, false) { ScannedTrack = track } : new AudioTrack { ScannedTrack = track });
                            break;
                        case AudioTrackDefaultsMode.AllTracks:
                            foreach (AudioTrack tmpl in this.currentPreset.Task.AudioTracks)
                            {
                                this.Task.AudioTracks.Add(tmpl != null ? new AudioTrack(tmpl, false) { ScannedTrack = track } : new AudioTrack { ScannedTrack = track });
                            }

                            break;
                    }
                }
            }
        }
 /// <summary>
 /// Add the specified source track, or the first track in the SourceTracks collection if available.
 /// </summary>
 /// <param name="sourceTrack">
 /// The source track.
 /// </param>
 private void Add(Audio sourceTrack)
 {
     if (this.SourceTracks != null)
     {
         Audio track = sourceTrack ?? this.GetPreferredAudioTrack();
         if (track != null)
         {
             this.Task.AudioTracks.Add(new AudioTrack { ScannedTrack = track });
         }
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AudioTrack"/> class.
        /// Copy Constructor
        /// </summary>
        /// <param name="track">
        /// The track.
        /// </param>
        /// <param name="setScannedTrack">
        /// The set Scanned Track.
        /// </param>
        public AudioTrack(AudioTrack track, bool setScannedTrack)
        {
            this.bitrate = track.Bitrate;
            this.drc = track.DRC;
            this.encoder = track.Encoder;
            this.gain = track.Gain;
            this.mixDown = track.MixDown;
            this.sampleRate = track.SampleRate;
            if (setScannedTrack)
            {
                this.scannedTrack = track.ScannedTrack ?? new Audio();
            }
            this.TrackName = track.TrackName;
            this.Quality = track.Quality;

            // Setup Backing Properties
            this.encoderRateType = track.EncoderRateType;
            this.SetupLimits();
        }
Esempio n. 5
0
        /// <summary>
        /// The equals.
        /// </summary>
        /// <param name="other">
        /// The other.
        /// </param>
        /// <returns>
        /// The System.Boolean.
        /// </returns>
        public bool Equals(Audio other)
        {
            if (ReferenceEquals(null, other))
            {
                return false;
            }

            if (ReferenceEquals(this, other))
            {
                return true;
            }

            return other.TrackNumber == this.TrackNumber && object.Equals(other.Language, this.Language) && object.Equals(other.LanguageCode, this.LanguageCode) && object.Equals(other.Format, this.Format);
        }