]> granicus.if.org Git - handbrake/commitdiff
WinGui: Fixes to Subtitle Default behaviours.
authorsr55 <sr55.hb@outlook.com>
Sat, 31 Dec 2016 12:45:56 +0000 (12:45 +0000)
committersr55 <sr55.hb@outlook.com>
Sat, 31 Dec 2016 12:45:56 +0000 (12:45 +0000)
win/CS/HandBrakeWPF/ViewModels/SubtitlesViewModel.cs

index be48fec1d0a9d2fa21732d2734f2625fecb6161b..826805636df4739a3ba19408685c4180c5b06e2a 100644 (file)
@@ -347,7 +347,14 @@ namespace HandBrakeWPF.ViewModels
                 switch (this.SubtitleBehaviours.SelectedBurnInBehaviour)\r
                 {\r
                     case SubtitleBurnInBehaviourModes.None:\r
-                        // Do Nothing. Only tracks where the container requires it will be burned in.\r
+                        foreach (var track in this.Task.SubtitleTracks)\r
+                        {\r
+                            if (track.SourceTrack.SubtitleType == SubtitleType.ForeignAudioSearch)\r
+                            {\r
+                                track.Forced = true;\r
+                                break;\r
+                            }\r
+                        }\r
                         break;\r
                     case SubtitleBurnInBehaviourModes.ForeignAudio:\r
                         foreach (var track in this.Task.SubtitleTracks)\r
@@ -356,6 +363,7 @@ namespace HandBrakeWPF.ViewModels
                             if (track.SourceTrack.SubtitleType == SubtitleType.ForeignAudioSearch)\r
                             {\r
                                 track.Burned = true;\r
+                                track.Forced = true;\r
                                 this.SetBurnedToFalseForAllExcept(track);\r
                                 break;\r
                             }\r
@@ -364,8 +372,13 @@ namespace HandBrakeWPF.ViewModels
                     case SubtitleBurnInBehaviourModes.FirstTrack:                    \r
                         foreach (var track in this.Task.SubtitleTracks)\r
                         {\r
-                            // Set the first track.\r
-                            if (!burnInSet && track.SourceTrack.SubtitleType != SubtitleType.ForeignAudioSearch)\r
+                            if (track.SourceTrack.SubtitleType == SubtitleType.ForeignAudioSearch) // Foreign Audio Search is always first in the list.\r
+                            {\r
+                                track.Forced = true;\r
+                                continue;\r
+                            }\r
+\r
+                            if (!burnInSet)\r
                             {\r
                                 burnInSet = true;\r
                                 track.Burned = true;\r
@@ -388,6 +401,7 @@ namespace HandBrakeWPF.ViewModels
                             if (track.SourceTrack.SubtitleType == SubtitleType.ForeignAudioSearch)\r
                             {\r
                                 track.Burned = true;\r
+                                track.Forced = true;\r
                                 this.SetBurnedToFalseForAllExcept(track);\r
                                 break;\r
                             }\r