From bde3976fbcc7ba65be8be83ad8c632d8cf4d5715 Mon Sep 17 00:00:00 2001 From: LittlePox Date: Sat, 10 Aug 2019 17:37:59 +0800 Subject: [PATCH] Fixed the issues when adding audio tracks for multiple tasks. --- OKEGui/OKEGui/Gui/WizardWindow.xaml.cs | 8 ++------ OKEGui/OKEGui/Job/Interface/MediaFile.cs | 7 ++++++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/OKEGui/OKEGui/Gui/WizardWindow.xaml.cs b/OKEGui/OKEGui/Gui/WizardWindow.xaml.cs index b9b4e434..a0ce1540 100644 --- a/OKEGui/OKEGui/Gui/WizardWindow.xaml.cs +++ b/OKEGui/OKEGui/Gui/WizardWindow.xaml.cs @@ -238,6 +238,7 @@ private bool LoadJsonProfile(string profile) // 主音轨 wizardInfo.AudioFormat = okeProj.AudioTracks[0].OutputCodec.ToUpper(); wizardInfo.AudioBitrate = okeProj.AudioTracks[0].Bitrate; + wizardInfo.AudioTracks.Clear(); // 添加音频参数到任务里面 foreach (var track in okeProj.AudioTracks) @@ -465,11 +466,6 @@ private void WizardFinish(object sender, RoutedEventArgs e) { // 使用正则解析模板, 多行忽略大小写 string[] inputTemplate = Constants.inputRegex.Split(wizardInfo.VSScript); - Debugger.Log(0, "", inputTemplate.Length.ToString() + "\n"); - foreach (string s in inputTemplate) - { - Debugger.Log(0, "", s + "\n"); - } if (inputTemplate.Length < 4 && wizardInfo.InputFile.Count() > 1) { System.Windows.MessageBox.Show("任务创建失败!添加多个输入文件请确保VapourSynth脚本使用OKE提供的模板。", "新建任务向导", MessageBoxButton.OK, MessageBoxImage.Error); @@ -535,7 +531,7 @@ private void WizardFinish(object sender, RoutedEventArgs e) foreach (var audio in wizardInfo.AudioTracks) { - td.AudioTracks.Add(audio); + td.AudioTracks.Add(audio.Clone() as AudioInfo); } // 更新输出文件拓展名 diff --git a/OKEGui/OKEGui/Job/Interface/MediaFile.cs b/OKEGui/OKEGui/Job/Interface/MediaFile.cs index 7fba6673..1a93c198 100644 --- a/OKEGui/OKEGui/Job/Interface/MediaFile.cs +++ b/OKEGui/OKEGui/Job/Interface/MediaFile.cs @@ -154,7 +154,7 @@ public VideoInfo(uint width, uint height, } // 音轨信息 - public class AudioInfo + public class AudioInfo : ICloneable { public int TrackId { get; set; } public string SourceCodec { get; set; } @@ -163,6 +163,11 @@ public class AudioInfo public string Language { get; set; } public string ExtraArg { get; set; } public bool SkipMuxing { get; set; } + + public Object Clone() + { + return this.MemberwiseClone() as AudioInfo; + } } ///