From 49fda59d6224a14fe3a641b227b287255cd08c43 Mon Sep 17 00:00:00 2001 From: Nikolaj Olsson Date: Mon, 11 May 2020 20:31:15 +0200 Subject: [PATCH] Add setting for optional extra mpv option Tag called "MpvExtraOption" in "Settings.xml" --- libse/Settings.cs | 8 ++++++++ src/Logic/VideoPlayers/LibMpvDynamic.cs | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/libse/Settings.cs b/libse/Settings.cs index 0d9ca23de..40515eaa3 100644 --- a/libse/Settings.cs +++ b/libse/Settings.cs @@ -850,6 +850,7 @@ $HorzAlign = Center public string VlcLocationRelative { get; set; } public string MpvVideoOutput { get; set; } public string MpvVideoOutputLinux { get; set; } + public string MpvExtraOption { get; set; } public bool MpvHandlesPreviewText { get; set; } public string MpcHcLocation { get; set; } public bool UseFFmpegForWaveExtraction { get; set; } @@ -2961,6 +2962,12 @@ $HorzAlign = Center settings.General.MpvVideoOutputLinux = subNode.InnerText.Trim(); } + subNode = node.SelectSingleNode("MpvExtraOption"); + if (subNode != null) + { + settings.General.MpvExtraOption = subNode.InnerText.Trim(); + } + subNode = node.SelectSingleNode("MpvHandlesPreviewText"); if (subNode != null) { @@ -7012,6 +7019,7 @@ $HorzAlign = Center textWriter.WriteElementString("VlcLocationRelative", settings.General.VlcLocationRelative); textWriter.WriteElementString("MpvVideoOutput", settings.General.MpvVideoOutput); textWriter.WriteElementString("MpvVideoOutputLinux", settings.General.MpvVideoOutputLinux); + textWriter.WriteElementString("MpvExtraOption", settings.General.MpvExtraOption); textWriter.WriteElementString("MpvHandlesPreviewText", settings.General.MpvHandlesPreviewText.ToString(CultureInfo.InvariantCulture)); textWriter.WriteElementString("MpcHcLocation", settings.General.MpcHcLocation); textWriter.WriteElementString("UseFFmpegForWaveExtraction", settings.General.UseFFmpegForWaveExtraction.ToString(CultureInfo.InvariantCulture)); diff --git a/src/Logic/VideoPlayers/LibMpvDynamic.cs b/src/Logic/VideoPlayers/LibMpvDynamic.cs index 464970dec..0e991a557 100644 --- a/src/Logic/VideoPlayers/LibMpvDynamic.cs +++ b/src/Logic/VideoPlayers/LibMpvDynamic.cs @@ -521,6 +521,19 @@ namespace Nikse.SubtitleEdit.Logic.VideoPlayers _mpvSetOptionString(_mpvHandle, GetUtf8Bytes("ytdl"), GetUtf8Bytes("yes")); } + if (!string.IsNullOrEmpty(Configuration.Settings.General.MpvExtraOption)) + { + var parts = Configuration.Settings.General.MpvExtraOption.Split('='); + if (parts.Length == 2) + { + _mpvSetOptionString(_mpvHandle, GetUtf8Bytes(parts[0]), GetUtf8Bytes(parts[1])); + } + else + { + _mpvSetOptionString(_mpvHandle, GetUtf8Bytes(Configuration.Settings.General.MpvExtraOption), GetUtf8Bytes("")); + } + } + DoMpvCommand("loadfile", videoFileName); System.Threading.Thread.Sleep(100);