/// <summary> /// Prepare the Preset window to create a Preset Object later. /// </summary> /// <param name="task"> /// The Encode Task. /// </param> /// <param name="title"> /// The title. /// </param> /// <param name="audioBehaviours"> /// The audio Behaviours. /// </param> /// <param name="subtitleBehaviours"> /// The subtitle Behaviours. /// </param> public void Setup(EncodeTask task, Title title, AudioBehaviours audioBehaviours, SubtitleBehaviours subtitleBehaviours) { this.Preset.Task = new EncodeTask(task); this.Preset.AudioTrackBehaviours = audioBehaviours.Clone(); this.Preset.SubtitleTrackBehaviours = subtitleBehaviours.Clone(); this.audioDefaultsViewModel = new AudioDefaultsViewModel(this.Preset.Task); this.audioDefaultsViewModel.Setup(this.Preset, this.Preset.Task); this.subtitlesDefaultsViewModel = new SubtitlesDefaultsViewModel(); this.subtitlesDefaultsViewModel.SetupLanguages(subtitleBehaviours); this.selectedTitle = title; switch (task.Anamorphic) { default: this.SelectedPictureSettingMode = PresetPictureSettingsMode.Custom; if (title != null && title.Resolution != null) { this.CustomWidth = title.Resolution.Width; this.CustomHeight = title.Resolution.Height; } break; case Anamorphic.Automatic: this.SelectedPictureSettingMode = PresetPictureSettingsMode.SourceMaximum; break; } }
/// <summary> /// The setup languages. /// </summary> /// <param name="preset"> /// The preset. /// </param> /// <param name="task"> /// The task. /// </param> public void Setup(Preset preset, EncodeTask task) { // Reset this.IsApplied = false; this.AudioBehaviours = new AudioBehaviours(); // Setup for this Encode Task. this.Task = task; IDictionary <string, string> langList = LanguageUtilities.MapLanguages(); langList = (from entry in langList orderby entry.Key ascending select entry).ToDictionary(pair => pair.Key, pair => pair.Value); this.AvailableLanguages.Clear(); foreach (string item in langList.Keys) { this.AvailableLanguages.Add(item); } // Handle the Preset, if it's not null. if (preset == null) { return; } AudioBehaviours behaviours = preset.AudioTrackBehaviours.Clone(); if (behaviours != null) { this.AudioBehaviours.SelectedBehaviour = behaviours.SelectedBehaviour; this.AudioBehaviours.SelectedTrackDefaultBehaviour = behaviours.SelectedTrackDefaultBehaviour; foreach (AudioBehaviourTrack item in preset.AudioTrackBehaviours.BehaviourTracks) { this.BehaviourTracks.Add(new AudioBehaviourTrack(item)); } this.NotifyOfPropertyChange(() => this.BehaviourTracks); foreach (string selectedItem in behaviours.SelectedLangauges) { this.AvailableLanguages.Remove(selectedItem); this.AudioBehaviours.SelectedLangauges.Add(selectedItem); } } this.task.AllowedPassthruOptions = new AllowedPassthru(preset.Task.AllowedPassthruOptions); this.NotifyOfPropertyChange(() => this.AudioAllowMP2Pass); this.NotifyOfPropertyChange(() => this.AudioAllowMP3Pass); this.NotifyOfPropertyChange(() => this.AudioAllowAACPass); this.NotifyOfPropertyChange(() => this.AudioAllowAC3Pass); this.NotifyOfPropertyChange(() => this.AudioAllowEAC3Pass); this.NotifyOfPropertyChange(() => this.AudioAllowDTSPass); this.NotifyOfPropertyChange(() => this.AudioAllowDTSHDPass); this.NotifyOfPropertyChange(() => this.AudioAllowTrueHDPass); this.NotifyOfPropertyChange(() => this.AudioAllowFlacPass); this.NotifyOfPropertyChange(() => this.AudioEncoderFallback); }
/// <summary> /// The show audio defaults. /// </summary> public void ShowAudioDefaults() { this.AudioDefaultsViewModel.Setup(new AudioBehaviours(this.AudioBehaviours), this.Task.OutputFormat); if (this.AudioDefaultsViewModel.ShowWindow()) { this.AudioBehaviours = new AudioBehaviours(this.AudioDefaultsViewModel.AudioBehaviours); this.OnTabStatusChanged(null); } }
public void Setup(AudioBehaviours behaviours, OutputFormat outputFormat) { // Reset this.IsApplied = false; this.AudioBehaviours = new AudioBehaviours(); IDictionary <string, string> langList = LanguageUtilities.MapLanguages(); langList = (from entry in langList orderby entry.Key ascending select entry).ToDictionary(pair => pair.Key, pair => pair.Value); this.AvailableLanguages.Clear(); foreach (string item in langList.Keys) { this.AvailableLanguages.Add(item); } this.OutputFormat = outputFormat; if (behaviours != null) { this.AudioBehaviours.SelectedBehaviour = behaviours.SelectedBehaviour; this.AudioBehaviours.SelectedTrackDefaultBehaviour = behaviours.SelectedTrackDefaultBehaviour; this.audioBehaviours.AllowedPassthruOptions = behaviours.AllowedPassthruOptions; foreach (AudioBehaviourTrack item in behaviours.BehaviourTracks) { this.BehaviourTracks.Add(new AudioBehaviourTrack(item)); } this.NotifyOfPropertyChange(() => this.BehaviourTracks); foreach (string selectedItem in behaviours.SelectedLanguages) { this.AvailableLanguages.Remove(selectedItem); this.AudioBehaviours.SelectedLanguages.Add(selectedItem); } } this.CorrectAudioEncoders(this.OutputFormat); this.NotifyOfPropertyChange(() => this.AudioAllowMP2Pass); this.NotifyOfPropertyChange(() => this.AudioAllowMP3Pass); this.NotifyOfPropertyChange(() => this.AudioAllowAACPass); this.NotifyOfPropertyChange(() => this.AudioAllowAC3Pass); this.NotifyOfPropertyChange(() => this.AudioAllowEAC3Pass); this.NotifyOfPropertyChange(() => this.AudioAllowDTSPass); this.NotifyOfPropertyChange(() => this.AudioAllowDTSHDPass); this.NotifyOfPropertyChange(() => this.AudioAllowTrueHDPass); this.NotifyOfPropertyChange(() => this.AudioAllowFlacPass); this.NotifyOfPropertyChange(() => this.AudioEncoderFallback); }
/// <summary> /// Update this preset. /// The given parameters should be copy-constructed. /// </summary> /// <param name="task"> /// The task. /// </param> /// <param name="audioBehaviours"> /// The audio behaviours. /// </param> /// <param name="subtitleBehaviours"> /// The subtitle behaviours. /// </param> public void Update(EncodeTask task, AudioBehaviours audioBehaviours, SubtitleBehaviours subtitleBehaviours) { // Copy over Max Width / Height for the following picture settings modes. if (this.PictureSettingsMode == PresetPictureSettingsMode.Custom || this.PictureSettingsMode == PresetPictureSettingsMode.SourceMaximum) { task.MaxWidth = this.Task.MaxWidth; task.MaxHeight = this.Task.MaxHeight; } this.Task = task; this.AudioTrackBehaviours = new AudioBehaviours(audioBehaviours); this.SubtitleTrackBehaviours = new SubtitleBehaviours(subtitleBehaviours); }
/// <summary> /// Setup this tab for the specified preset. /// </summary> /// <param name="preset"> /// The preset. /// </param> /// <param name="task"> /// The task. /// </param> public void SetPreset(Preset preset, EncodeTask task) { this.Task = task; // Audio Behaviours this.AudioDefaultsViewModel.Setup(preset.AudioTrackBehaviours, preset.Task.OutputFormat); this.AudioBehaviours = new AudioBehaviours(preset.AudioTrackBehaviours); if (preset.Task != null) { this.SetupTracks(); } this.NotifyOfPropertyChange(() => this.Task); }
/// <summary> /// Prepare the Preset window to create a Preset Object later. /// </summary> /// <param name="task"> /// The Encode Task. /// </param> /// <param name="title"> /// The title. /// </param> /// <param name="audioBehaviours"> /// The audio Behaviours. /// </param> /// <param name="subtitleBehaviours"> /// The subtitle Behaviours. /// </param> public void Setup(EncodeTask task, Title title, AudioBehaviours audioBehaviours, SubtitleBehaviours subtitleBehaviours) { this.Preset.Task = new EncodeTask(task); this.Preset.AudioTrackBehaviours = audioBehaviours.Clone(); this.Preset.SubtitleTrackBehaviours = subtitleBehaviours.Clone(); this.selectedTitle = title; switch (task.Anamorphic) { default: this.SelectedPictureSettingMode = PresetPictureSettingsMode.Custom; break; case Anamorphic.Strict: this.SelectedPictureSettingMode = PresetPictureSettingsMode.SourceMaximum; break; } }
/// <summary> /// Update this preset. /// The given parameters should be copy-constructed. /// </summary> /// <param name="task"> /// The task. /// </param> /// <param name="audioBehaviours"> /// The audio behaviours. /// </param> /// <param name="subtitleBehaviours"> /// The subtitle behaviours. /// </param> public void Update(EncodeTask task, AudioBehaviours audioBehaviours, SubtitleBehaviours subtitleBehaviours) { this.Task = task; this.AudioTrackBehaviours = audioBehaviours; this.SubtitleTrackBehaviours = subtitleBehaviours; }