diff --git a/Futonizer.csproj b/Futonizer.csproj index 6e13baa..76c76ed 100644 --- a/Futonizer.csproj +++ b/Futonizer.csproj @@ -9,8 +9,8 @@ enable Futonizer Futonizer - 1.0.6 - 1.0.6.0 + 1.0.7 + 1.0.7.0 Assets\app.ico diff --git a/Services/MkvService.cs b/Services/MkvService.cs index ee070ba..e8d93ce 100644 --- a/Services/MkvService.cs +++ b/Services/MkvService.cs @@ -93,9 +93,12 @@ public class MkvService /// /// Builds the list of objects for a file. Video - /// tracks are always pre-checked. Exactly one audio track is pre-checked: - /// among Japanese/Chinese/undefined-language tracks, a stereo (2-channel) - /// track is preferred, otherwise the first matching track in file order. + /// tracks are always pre-checked. Exactly one audio track is always + /// pre-checked: among Japanese/Chinese/undefined-language tracks, a + /// stereo (2-channel) track is preferred, otherwise the first matching + /// track in file order. If no such track exists (e.g. only English + /// audio), the very first audio track in the file is pre-checked instead, + /// so a file is never left with no audio track selected. /// Subtitle tracks are never pre-checked — the user picks one via the /// track table, and the choice propagates to other queued files. /// @@ -108,7 +111,8 @@ public class MkvService .ToList(); MkvTrack? preferredAudio = eligibleAudio.FirstOrDefault(t => t.Properties?.AudioChannels == 2) - ?? eligibleAudio.FirstOrDefault(); + ?? eligibleAudio.FirstOrDefault() + ?? audioTracks.FirstOrDefault(); var items = info.Tracks.Select(t => {