2020-02-16 08:08:19 +01:00
using Nikse.SubtitleEdit.Core.Enums ;
using System ;
2016-02-08 21:11:03 +01:00
using System.Collections.Generic ;
using System.Drawing ;
using System.Globalization ;
using System.IO ;
2020-02-16 21:23:47 +01:00
using System.Linq ;
2016-02-08 21:11:03 +01:00
using System.Text ;
using System.Xml ;
using System.Xml.Serialization ;
namespace Nikse.SubtitleEdit.Core
{
// The settings classes are built for easy xml-serialization (makes save/load code simple)
// ...but the built-in serialization is too slow - so a custom (de-)serialization has been used!
public class RecentFileEntry
2020-09-16 19:35:54 +02:00
2016-02-08 21:11:03 +01:00
{
public string FileName { get ; set ; }
public string OriginalFileName { get ; set ; }
public string VideoFileName { get ; set ; }
public int FirstVisibleIndex { get ; set ; }
public int FirstSelectedIndex { get ; set ; }
2016-04-13 08:41:06 +02:00
public long VideoOffsetInMs { get ; set ; }
2016-02-08 21:11:03 +01:00
}
public class RecentFilesSettings
{
private const int MaxRecentFiles = 25 ;
[XmlArrayItem("FileName")]
public List < RecentFileEntry > Files { get ; set ; }
public RecentFilesSettings ( )
{
Files = new List < RecentFileEntry > ( ) ;
}
2016-04-13 08:41:06 +02:00
public void Add ( string fileName , int firstVisibleIndex , int firstSelectedIndex , string videoFileName , string originalFileName , long videoOffset )
2016-02-08 21:11:03 +01:00
{
2020-10-18 03:19:23 +02:00
Files = Files . Where ( p = > ! string . IsNullOrEmpty ( p . FileName ) ) . ToList ( ) ;
2020-02-17 18:28:53 +01:00
if ( string . IsNullOrEmpty ( fileName ) & & ! string . IsNullOrEmpty ( originalFileName ) )
{
fileName = originalFileName ;
2020-02-17 22:31:56 +01:00
originalFileName = null ;
2020-02-17 18:28:53 +01:00
}
if ( string . IsNullOrEmpty ( fileName ) )
{
2020-02-17 22:42:53 +01:00
Files . Insert ( 0 , new RecentFileEntry { FileName = string . Empty } ) ;
2020-02-17 18:28:53 +01:00
return ;
}
2020-02-22 19:27:05 +01:00
var existingEntry = GetRecentFile ( fileName , originalFileName ) ;
if ( existingEntry = = null )
{
Files . Insert ( 0 , new RecentFileEntry { FileName = fileName ? ? string . Empty , FirstVisibleIndex = - 1 , FirstSelectedIndex = - 1 , VideoFileName = videoFileName , OriginalFileName = originalFileName } ) ;
}
else
2016-02-08 21:11:03 +01:00
{
2020-02-22 19:27:05 +01:00
Files . Remove ( existingEntry ) ;
existingEntry . FirstSelectedIndex = firstSelectedIndex ;
existingEntry . VideoOffsetInMs = videoOffset ;
existingEntry . FirstVisibleIndex = firstVisibleIndex ;
2020-03-04 08:45:32 +01:00
existingEntry . VideoFileName = videoFileName ;
existingEntry . OriginalFileName = originalFileName ;
2020-02-22 19:27:05 +01:00
Files . Insert ( 0 , existingEntry ) ;
2016-02-08 21:11:03 +01:00
}
2020-02-29 23:14:09 +01:00
Files = Files . Take ( MaxRecentFiles ) . ToList ( ) ;
2016-02-08 21:11:03 +01:00
}
public void Add ( string fileName , string videoFileName , string originalFileName )
{
2020-10-18 03:19:23 +02:00
Files = Files . Where ( p = > ! string . IsNullOrEmpty ( p . FileName ) ) . ToList ( ) ;
2020-02-21 07:41:13 +01:00
2020-02-22 19:27:05 +01:00
var existingEntry = GetRecentFile ( fileName , originalFileName ) ;
if ( existingEntry = = null )
{
Files . Insert ( 0 , new RecentFileEntry { FileName = fileName ? ? string . Empty , FirstVisibleIndex = - 1 , FirstSelectedIndex = - 1 , VideoFileName = videoFileName , OriginalFileName = originalFileName } ) ;
}
else
{
Files . Remove ( existingEntry ) ;
Files . Insert ( 0 , existingEntry ) ;
}
2020-02-29 23:14:09 +01:00
Files = Files . Take ( MaxRecentFiles ) . ToList ( ) ;
2020-02-22 19:27:05 +01:00
}
private RecentFileEntry GetRecentFile ( string fileName , string originalFileName )
{
2020-02-19 15:59:54 +01:00
RecentFileEntry existingEntry ;
if ( string . IsNullOrEmpty ( originalFileName ) )
2016-02-08 21:11:03 +01:00
{
2020-02-19 15:59:54 +01:00
existingEntry = Files . FirstOrDefault ( p = > ! string . IsNullOrEmpty ( p . FileName ) & &
string . IsNullOrEmpty ( p . OriginalFileName ) & &
p . FileName . Equals ( fileName , StringComparison . OrdinalIgnoreCase ) ) ;
2016-02-08 21:11:03 +01:00
}
2020-02-19 15:59:54 +01:00
else
2019-01-19 14:40:37 +01:00
{
2020-02-20 20:13:14 +01:00
existingEntry = Files . FirstOrDefault ( p = > ! string . IsNullOrEmpty ( p . FileName ) & &
2020-02-19 15:59:54 +01:00
! string . IsNullOrEmpty ( p . OriginalFileName ) & &
p . FileName . Equals ( fileName , StringComparison . OrdinalIgnoreCase ) & &
p . OriginalFileName . Equals ( originalFileName , StringComparison . OrdinalIgnoreCase ) ) ;
2019-01-19 14:40:37 +01:00
}
2020-02-22 19:27:05 +01:00
return existingEntry ;
2016-02-08 21:11:03 +01:00
}
}
public class ToolsSettings
{
public int StartSceneIndex { get ; set ; }
public int EndSceneIndex { get ; set ; }
public int VerifyPlaySeconds { get ; set ; }
public bool FixShortDisplayTimesAllowMoveStartTime { get ; set ; }
2018-12-09 08:30:01 +01:00
public bool RemoveEmptyLinesBetweenText { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MusicSymbol { get ; set ; }
2018-01-02 15:07:52 +01:00
public string MusicSymbolReplace { get ; set ; }
2016-02-08 21:11:03 +01:00
public string UnicodeSymbolsToInsert { get ; set ; }
public bool SpellCheckAutoChangeNames { get ; set ; }
2020-05-16 08:37:57 +02:00
public bool SpellCheckAutoChangeNamesUseSuggestions { get ; set ; }
2020-01-19 07:47:37 +01:00
public bool CheckOneLetterWords { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool SpellCheckEnglishAllowInQuoteAsIng { get ; set ; }
2018-12-25 00:08:23 +01:00
public bool RememberUseAlwaysList { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool SpellCheckShowCompletedMessage { get ; set ; }
public bool OcrFixUseHardcodedRules { get ; set ; }
2018-03-13 06:45:14 +01:00
public int OcrBinaryImageCompareRgbThreshold { get ; set ; }
2018-11-14 22:55:20 +01:00
public int OcrTesseract4RgbThreshold { get ; set ; }
2020-05-03 14:27:02 +02:00
public string OcrAddLetterRow1 { get ; set ; }
public string OcrAddLetterRow2 { get ; set ; }
2020-05-26 21:51:43 +02:00
public string OcrTrainFonts { get ; set ; }
2020-06-01 12:46:38 +02:00
public string OcrTrainMergedLetters { get ; set ; }
2020-05-27 14:52:18 +02:00
public string OcrTrainSrtFile { get ; set ; }
2016-02-08 21:11:03 +01:00
public string Interjections { get ; set ; }
public string MicrosoftBingApiId { get ; set ; }
2017-09-23 08:57:27 +02:00
public string MicrosoftTranslatorApiKey { get ; set ; }
2019-09-20 22:13:34 +02:00
public string MicrosoftTranslatorTokenEndpoint { get ; set ; }
2020-04-14 18:55:22 +02:00
public string MicrosoftTranslatorCategory { get ; set ; }
2018-11-29 16:25:37 +01:00
public string GoogleApiV2Key { get ; set ; }
2018-12-02 09:59:34 +01:00
public bool GoogleApiV2KeyInfoShow { get ; set ; }
public bool GoogleTranslateNoKeyWarningShow { get ; set ; }
2018-12-09 19:35:27 +01:00
public int GoogleApiV1ChunkSize { get ; set ; }
2016-02-08 21:11:03 +01:00
public string GoogleTranslateLastTargetLanguage { get ; set ; }
2020-06-11 19:32:51 +02:00
public bool TranslateAllowSplit { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool ListViewSyntaxColorDurationSmall { get ; set ; }
public bool ListViewSyntaxColorDurationBig { get ; set ; }
public bool ListViewSyntaxColorOverlap { get ; set ; }
public bool ListViewSyntaxColorLongLines { get ; set ; }
2020-03-29 23:23:55 +02:00
public bool ListViewSyntaxColorWideLines { get ; set ; }
2019-12-10 18:06:30 +01:00
public bool ListViewSyntaxColorGap { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool ListViewSyntaxMoreThanXLines { get ; set ; }
public Color ListViewSyntaxErrorColor { get ; set ; }
public Color ListViewUnfocusedSelectedColor { get ; set ; }
2017-02-23 08:52:49 +01:00
public bool ListViewShowColumnEndTime { get ; set ; }
public bool ListViewShowColumnDuration { get ; set ; }
2017-01-15 09:46:26 +01:00
public bool ListViewShowColumnCharsPerSec { get ; set ; }
public bool ListViewShowColumnWordsPerMin { get ; set ; }
2017-11-06 18:22:49 +01:00
public bool ListViewShowColumnGap { get ; set ; }
2017-04-16 10:03:10 +02:00
public bool ListViewShowColumnActor { get ; set ; }
2017-04-26 18:51:34 +02:00
public bool ListViewShowColumnRegion { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool SplitAdvanced { get ; set ; }
public string SplitOutputFolder { get ; set ; }
public int SplitNumberOfParts { get ; set ; }
public string SplitVia { get ; set ; }
2019-09-15 11:21:55 +02:00
public bool JoinCorrectTimeCodes { get ; set ; }
public int JoinAddMs { get ; set ; }
2016-02-08 21:11:03 +01:00
public string LastShowEarlierOrLaterSelection { get ; set ; }
public string NewEmptyTranslationText { get ; set ; }
public string BatchConvertOutputFolder { get ; set ; }
public bool BatchConvertOverwriteExisting { get ; set ; }
2019-11-26 05:43:16 +01:00
public bool BatchConvertSaveInSourceFolder { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool BatchConvertRemoveFormatting { get ; set ; }
2020-09-09 08:09:45 +02:00
public bool BatchConvertRemoveStyle { get ; set ; }
2017-09-03 15:29:43 +02:00
public bool BatchConvertBridgeGaps { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool BatchConvertFixCasing { get ; set ; }
public bool BatchConvertRemoveTextForHI { get ; set ; }
public bool BatchConvertFixCommonErrors { get ; set ; }
public bool BatchConvertMultipleReplace { get ; set ; }
2018-11-24 08:10:49 +01:00
public bool BatchConvertFixRtl { get ; set ; }
public string BatchConvertFixRtlMode { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool BatchConvertSplitLongLines { get ; set ; }
public bool BatchConvertAutoBalance { get ; set ; }
public bool BatchConvertSetMinDisplayTimeBetweenSubtitles { get ; set ; }
2019-12-06 11:13:52 +01:00
public bool BatchConvertMergeShortLines { get ; set ; }
2020-01-02 19:08:19 +01:00
public bool BatchConvertRemoveLineBreaks { get ; set ; }
2019-12-06 11:13:52 +01:00
public bool BatchConvertMergeSameText { get ; set ; }
public bool BatchConvertMergeSameTimeCodes { get ; set ; }
2019-12-06 17:21:33 +01:00
public bool BatchConvertChangeFrameRate { get ; set ; }
public bool BatchConvertChangeSpeed { get ; set ; }
2020-09-09 08:09:45 +02:00
public bool BatchConvertAdjustDisplayDuration { get ; set ; }
2019-12-25 11:38:43 +01:00
public bool BatchConvertApplyDurationLimits { get ; set ; }
2019-12-06 17:21:33 +01:00
public bool BatchConvertOffsetTimeCodes { get ; set ; }
2016-02-08 21:11:03 +01:00
public string BatchConvertLanguage { get ; set ; }
public string BatchConvertFormat { get ; set ; }
public string BatchConvertAssStyles { get ; set ; }
public string BatchConvertSsaStyles { get ; set ; }
2017-10-04 16:00:15 +02:00
public bool BatchConvertUseStyleFromSource { get ; set ; }
2017-01-15 09:46:26 +01:00
public string BatchConvertExportCustomTextTemplate { get ; set ; }
2019-10-07 17:53:06 +02:00
public bool BatchConvertTsOverrideXPosition { get ; set ; }
public bool BatchConvertTsOverrideYPosition { get ; set ; }
2019-10-04 23:01:03 +02:00
public int BatchConvertTsOverrideBottomMargin { get ; set ; }
2019-10-07 17:53:06 +02:00
public string BatchConvertTsOverrideHAlign { get ; set ; }
public int BatchConvertTsOverrideHMargin { get ; set ; }
2019-10-04 23:01:03 +02:00
public bool BatchConvertTsOverrideScreenSize { get ; set ; }
public int BatchConvertTsScreenWidth { get ; set ; }
public int BatchConvertTsScreenHeight { get ; set ; }
2019-10-11 17:43:51 +02:00
public string BatchConvertTsFileNameAppend { get ; set ; }
2020-10-02 17:33:28 +02:00
public bool BatchConvertTsOnlyTeletext { get ; set ; }
2020-04-06 15:34:33 +02:00
public string BatchConvertMkvLanguageCodeStyle { get ; set ; }
2020-04-16 16:27:12 +02:00
public string WaveformBatchLastFolder { get ; set ; }
2016-02-08 21:11:03 +01:00
public string ModifySelectionText { get ; set ; }
public string ModifySelectionRule { get ; set ; }
public bool ModifySelectionCaseSensitive { get ; set ; }
public string ExportVobSubFontName { get ; set ; }
public int ExportVobSubFontSize { get ; set ; }
public string ExportVobSubVideoResolution { get ; set ; }
public string ExportVobSubLanguage { get ; set ; }
public bool ExportVobSubSimpleRendering { get ; set ; }
public bool ExportVobAntiAliasingWithTransparency { get ; set ; }
public string ExportBluRayFontName { get ; set ; }
public int ExportBluRayFontSize { get ; set ; }
public string ExportFcpFontName { get ; set ; }
public string ExportFontNameOther { get ; set ; }
public int ExportFcpFontSize { get ; set ; }
public string ExportFcpImageType { get ; set ; }
2016-08-07 18:08:39 +02:00
public string ExportFcpPalNtsc { get ; set ; }
2016-02-08 21:11:03 +01:00
public string ExportBdnXmlImageType { get ; set ; }
public int ExportLastFontSize { get ; set ; }
public int ExportLastLineHeight { get ; set ; }
public int ExportLastBorderWidth { get ; set ; }
public bool ExportLastFontBold { get ; set ; }
public string ExportBluRayVideoResolution { get ; set ; }
2016-05-30 16:09:39 +02:00
public string ExportFcpVideoResolution { get ; set ; }
2016-02-08 21:11:03 +01:00
public Color ExportFontColor { get ; set ; }
public Color ExportBorderColor { get ; set ; }
2017-10-04 16:00:15 +02:00
public Color ExportShadowColor { get ; set ; }
2017-09-29 21:26:00 +02:00
public int ExportBoxBorderSize { get ; set ; }
2017-06-15 13:37:13 +02:00
public string ExportBottomMarginUnit { get ; set ; }
2017-04-14 11:54:42 +02:00
public int ExportBottomMarginPercent { get ; set ; }
2017-06-15 13:37:13 +02:00
public int ExportBottomMarginPixels { get ; set ; }
public string ExportLeftRightMarginUnit { get ; set ; }
2017-04-14 11:54:42 +02:00
public int ExportLeftRightMarginPercent { get ; set ; }
2017-06-15 13:37:13 +02:00
public int ExportLeftRightMarginPixels { get ; set ; }
2016-02-08 21:11:03 +01:00
public int ExportHorizontalAlignment { get ; set ; }
2017-04-14 11:54:42 +02:00
public int ExportBluRayBottomMarginPercent { get ; set ; }
2017-06-15 13:37:13 +02:00
public int ExportBluRayBottomMarginPixels { get ; set ; }
2016-02-08 21:11:03 +01:00
public int ExportBluRayShadow { get ; set ; }
2020-10-02 23:10:46 +02:00
public bool ExportBluRayRemoveSmallGaps { get ; set ; }
2020-10-04 20:56:21 +02:00
public string ExportCdgBackgroundImage { get ; set ; }
2020-10-05 07:15:44 +02:00
public int ExportCdgMarginLeft { get ; set ; }
public int ExportCdgMarginBottom { get ; set ; }
2020-10-06 07:04:01 +02:00
public string ExportCdgFormat { get ; set ; }
2016-02-08 21:11:03 +01:00
public int Export3DType { get ; set ; }
public int Export3DDepth { get ; set ; }
public int ExportLastShadowTransparency { get ; set ; }
public double ExportLastFrameRate { get ; set ; }
2016-08-07 20:25:54 +02:00
public bool ExportFullFrame { get ; set ; }
2017-10-28 10:51:59 +02:00
public bool ExportFcpFullPathUrl { get ; set ; }
2016-02-08 21:11:03 +01:00
public string ExportPenLineJoin { get ; set ; }
public bool FixCommonErrorsFixOverlapAllowEqualEndStart { get ; set ; }
public bool FixCommonErrorsSkipStepOne { get ; set ; }
public string ImportTextSplitting { get ; set ; }
public string ImportTextLineBreak { get ; set ; }
2017-04-27 10:10:49 +02:00
public bool ImportTextMergeShortLines { get ; set ; }
public bool ImportTextRemoveEmptyLines { get ; set ; }
2018-12-09 08:30:01 +01:00
public bool ImportTextAutoSplitAtBlank { get ; set ; }
2017-04-27 10:10:49 +02:00
public bool ImportTextRemoveLinesNoLetters { get ; set ; }
public bool ImportTextGenerateTimeCodes { get ; set ; }
2020-02-25 08:40:28 +01:00
public bool ImportTextTakeTimeCodeFromFileName { get ; set ; }
2017-04-27 10:10:49 +02:00
public bool ImportTextAutoBreak { get ; set ; }
2018-12-25 00:08:23 +01:00
public bool ImportTextAutoBreakAtEnd { get ; set ; }
2017-04-27 10:10:49 +02:00
public decimal ImportTextGap { get ; set ; }
2018-12-09 08:30:01 +01:00
public decimal ImportTextAutoSplitNumberOfLines { get ; set ; }
public string ImportTextAutoBreakAtEndMarkerText { get ; set ; }
2017-04-27 10:10:49 +02:00
public bool ImportTextDurationAuto { get ; set ; }
public decimal ImportTextFixedDuration { get ; set ; }
2016-02-08 21:11:03 +01:00
public string GenerateTimeCodePatterns { get ; set ; }
public string MusicSymbolStyle { get ; set ; }
public int BridgeGapMilliseconds { get ; set ; }
public string ExportCustomTemplates { get ; set ; }
public string ChangeCasingChoice { get ; set ; }
public bool UseNoLineBreakAfter { get ; set ; }
public string NoLineBreakAfterEnglish { get ; set ; }
public List < string > FindHistory { get ; set ; }
2016-08-08 18:19:36 +02:00
public string ExportTextFormatText { get ; set ; }
public bool ExportTextRemoveStyling { get ; set ; }
public bool ExportTextShowLineNumbers { get ; set ; }
public bool ExportTextShowLineNumbersNewLine { get ; set ; }
public bool ExportTextShowTimeCodes { get ; set ; }
public bool ExportTextShowTimeCodesNewLine { get ; set ; }
public bool ExportTextNewLineAfterText { get ; set ; }
public bool ExportTextNewLineBetweenSubtitles { get ; set ; }
2018-02-04 19:40:33 +01:00
public string ExportTextTimeCodeFormat { get ; set ; }
2018-02-06 17:10:38 +01:00
public string ExportTextTimeCodeSeparator { get ; set ; }
2016-08-10 22:00:05 +02:00
public bool VideoOffsetKeepTimeCodes { get ; set ; }
2017-11-06 18:22:49 +01:00
public int MoveStartEndMs { get ; set ; }
2017-12-23 09:17:51 +01:00
public decimal AdjustDurationSeconds { get ; set ; }
public int AdjustDurationPercent { get ; set ; }
public string AdjustDurationLast { get ; set ; }
2019-02-27 12:55:55 +01:00
public bool AdjustDurationExtendOnly { get ; set ; }
2019-01-07 18:17:18 +01:00
public bool AutoBreakCommaBreakEarly { get ; set ; }
2019-11-05 19:09:02 +01:00
public bool AutoBreakDashEarly { get ; set ; }
public bool AutoBreakLineEndingEarly { get ; set ; }
2019-11-08 13:09:48 +01:00
public bool AutoBreakUsePixelWidth { get ; set ; }
2019-11-09 13:19:28 +01:00
public bool AutoBreakPreferBottomHeavy { get ; set ; }
public double AutoBreakPreferBottomPercent { get ; set ; }
2019-02-27 02:18:24 +01:00
public bool ApplyMinimumDurationLimit { get ; set ; }
public bool ApplyMaximumDurationLimit { get ; set ; }
2019-12-09 18:34:46 +01:00
public int MergeShortLinesMaxGap { get ; set ; }
2020-02-06 19:13:39 +01:00
public int MergeShortLinesMaxChars { get ; set ; }
2019-12-09 18:34:46 +01:00
public bool MergeShortLinesOnlyContinuous { get ; set ; }
2020-05-04 12:29:27 +02:00
public string ColumnPasteColumn { get ; set ; }
public string ColumnPasteOverwriteMode { get ; set ; }
2016-02-08 21:11:03 +01:00
public ToolsSettings ( )
{
StartSceneIndex = 1 ;
EndSceneIndex = 1 ;
VerifyPlaySeconds = 2 ;
FixShortDisplayTimesAllowMoveStartTime = false ;
2018-12-09 08:30:01 +01:00
RemoveEmptyLinesBetweenText = true ;
2016-02-08 21:11:03 +01:00
MusicSymbol = "♪" ;
2018-01-02 15:07:52 +01:00
MusicSymbolReplace = "♪,â™," + // ♪ + ♫ in UTF-8 opened as ANSI
"<s M/>,<s m/>," + // music symbols by subtitle creator
2018-01-02 15:10:33 +01:00
"#,*,¶" ; // common music symbols
2020-10-25 07:45:49 +01:00
UnicodeSymbolsToInsert = "♪;♫;°;☺;☹;♥;©;☮;☯;Σ;∞;≡;⇒;π" ;
2016-02-08 21:11:03 +01:00
SpellCheckAutoChangeNames = true ;
2020-05-16 11:11:32 +02:00
SpellCheckAutoChangeNamesUseSuggestions = true ;
2016-02-08 21:11:03 +01:00
OcrFixUseHardcodedRules = true ;
2020-04-10 13:15:56 +02:00
OcrBinaryImageCompareRgbThreshold = 200 ;
2018-11-14 22:55:20 +01:00
OcrTesseract4RgbThreshold = 200 ;
2020-05-03 14:27:02 +02:00
OcrAddLetterRow1 = "♪;á;é;í;ó;ö;ő;ú;ü;ű;ç;ñ;å;¿" ;
OcrAddLetterRow2 = "♫;Á;É;Í;Ó;Ö;Ő;Ú;Ü;Ű;Ç;Ñ;Å;¡" ;
2020-05-26 21:51:43 +02:00
OcrTrainFonts = "Arial;Calibri;Corbel;Futura Std Book;Futura Bis;Helvetica Neue;Lucida Console;Tahoma;Trebuchet MS;Verdana" ;
2020-06-06 07:44:32 +02:00
OcrTrainMergedLetters = "ff ft fi fj fy fl rf rt rv rw ry rt rz ryt tt TV tw yt yw wy wf ryt xy" ;
2020-03-27 06:26:22 +01:00
Interjections = "Ah;Ahem;Ahh;Ahhh;Ahhhh;Eh;Ehh;Ehhh;Hm;Hmm;Hmmm;Huh;Mm;Mmm;Mmmm;Phew;Gah;Oh;Ohh;Ohhh;Ow;Oww;Owww;Ugh;Ughh;Uh;Uhh;Uhhh;Whew" ;
2020-05-21 08:13:33 +02:00
MicrosoftTranslatorTokenEndpoint = "https://api.cognitive.microsoft.com/sts/v1.0/issueToken" ;
2018-12-02 09:59:34 +01:00
GoogleApiV2KeyInfoShow = true ;
GoogleTranslateNoKeyWarningShow = true ;
2018-12-17 18:08:23 +01:00
GoogleApiV1ChunkSize = 1500 ;
2016-02-08 21:11:03 +01:00
GoogleTranslateLastTargetLanguage = "en" ;
2020-06-11 19:32:51 +02:00
TranslateAllowSplit = true ;
2020-01-19 07:47:37 +01:00
CheckOneLetterWords = true ;
2016-02-08 21:11:03 +01:00
SpellCheckEnglishAllowInQuoteAsIng = false ;
SpellCheckShowCompletedMessage = true ;
ListViewSyntaxColorDurationSmall = true ;
ListViewSyntaxColorDurationBig = true ;
ListViewSyntaxColorOverlap = true ;
ListViewSyntaxColorLongLines = true ;
2020-03-29 23:23:55 +02:00
ListViewSyntaxColorWideLines = false ;
2016-02-08 21:11:03 +01:00
ListViewSyntaxMoreThanXLines = true ;
2019-12-10 18:06:30 +01:00
ListViewSyntaxColorGap = true ;
2016-02-08 21:11:03 +01:00
ListViewSyntaxErrorColor = Color . FromArgb ( 255 , 180 , 150 ) ;
ListViewUnfocusedSelectedColor = Color . LightBlue ;
2017-02-23 08:52:49 +01:00
ListViewShowColumnEndTime = true ;
ListViewShowColumnDuration = true ;
2016-02-08 21:11:03 +01:00
SplitAdvanced = false ;
SplitNumberOfParts = 3 ;
SplitVia = "Lines" ;
2019-09-15 11:21:55 +02:00
JoinCorrectTimeCodes = true ;
2016-02-08 21:11:03 +01:00
NewEmptyTranslationText = string . Empty ;
2018-02-26 17:55:17 +01:00
BatchConvertLanguage = string . Empty ;
2019-10-07 22:17:08 +02:00
BatchConvertTsOverrideBottomMargin = 5 ; // pct
2019-10-04 23:01:03 +02:00
BatchConvertTsScreenWidth = 1920 ;
BatchConvertTsScreenHeight = 1080 ;
2019-10-07 22:17:08 +02:00
BatchConvertTsOverrideHAlign = "center" ; // left center right
BatchConvertTsOverrideHMargin = 5 ; // pct
2019-10-11 17:43:51 +02:00
BatchConvertTsFileNameAppend = ".{two-letter-country-code}" ;
2016-02-08 21:11:03 +01:00
ModifySelectionRule = "Contains" ;
ModifySelectionText = string . Empty ;
GenerateTimeCodePatterns = "HH:mm:ss;yyyy-MM-dd;dddd dd MMMM yyyy <br>HH:mm:ss;dddd dd MMMM yyyy <br>hh:mm:ss tt;s" ;
MusicSymbolStyle = "Double" ; // 'Double' or 'Single'
ExportFontColor = Color . White ;
2016-09-27 18:23:13 +02:00
ExportBorderColor = Color . FromArgb ( 255 , 0 , 0 , 0 ) ;
ExportShadowColor = Color . FromArgb ( 255 , 0 , 0 , 0 ) ;
2017-09-30 09:42:57 +02:00
ExportBoxBorderSize = 8 ;
2017-06-15 13:37:13 +02:00
ExportBottomMarginUnit = "%" ;
2017-04-14 11:54:42 +02:00
ExportBottomMarginPercent = 5 ;
2017-06-15 13:37:13 +02:00
ExportBottomMarginPixels = 15 ;
ExportLeftRightMarginUnit = "%" ;
2017-04-14 11:54:42 +02:00
ExportLeftRightMarginPercent = 5 ;
2017-06-15 13:37:13 +02:00
ExportLeftRightMarginPixels = 15 ;
2016-02-08 21:11:03 +01:00
ExportHorizontalAlignment = 1 ; // 1=center (0=left, 2=right)
2019-01-11 18:03:43 +01:00
ExportVobSubSimpleRendering = false ;
2016-02-08 21:11:03 +01:00
ExportVobAntiAliasingWithTransparency = true ;
2017-04-14 11:54:42 +02:00
ExportBluRayBottomMarginPercent = 5 ;
2017-06-15 13:37:13 +02:00
ExportBluRayBottomMarginPixels = 20 ;
2016-02-08 21:11:03 +01:00
ExportBluRayShadow = 1 ;
Export3DType = 0 ;
Export3DDepth = 0 ;
2020-10-06 07:04:01 +02:00
ExportCdgMarginLeft = 160 ;
2020-10-10 07:44:32 +02:00
ExportCdgMarginBottom = 67 ;
2016-02-08 21:11:03 +01:00
ExportLastShadowTransparency = 200 ;
ExportLastFrameRate = 24.0d ;
2016-08-07 18:08:39 +02:00
ExportFullFrame = false ;
2016-02-08 21:11:03 +01:00
ExportPenLineJoin = "Round" ;
ExportFcpImageType = "Bmp" ;
2016-08-07 18:08:39 +02:00
ExportFcpPalNtsc = "PAL" ;
2018-08-25 18:25:46 +02:00
ExportLastBorderWidth = 4 ;
2016-02-08 21:11:03 +01:00
BridgeGapMilliseconds = 100 ;
ExportCustomTemplates = "SubRipÆÆ{number}\r\n{start} --> {end}\r\n{text}\r\n\r\nÆhh:mm:ss,zzzÆ[Do not modify]ÆæMicroDVDÆÆ{{start}}{{end}}{text}\r\nÆffÆ||Æ" ;
UseNoLineBreakAfter = false ;
NoLineBreakAfterEnglish = " Mrs.; Ms.; Mr.; Dr.; a; an; the; my; my own; your; his; our; their; it's; is; are;'s; 're; would;'ll;'ve;'d; will; that; which; who; whom; whose; whichever; whoever; wherever; each; either; every; all; both; few; many; sevaral; all; any; most; been; been doing; none; some; my own; your own; his own; her own; our own; their own; I; she; he; as per; as regards; into; onto; than; where as; abaft; aboard; about; above; across; afore; after; against; along; alongside; amid; amidst; among; amongst; anenst; apropos; apud; around; as; aside; astride; at; athwart; atop; barring; before; behind; below; beneath; beside; besides; between; betwixt; beyond; but; by; circa; ca; concerning; despite; down; during; except; excluding; following; for; forenenst; from; given; in; including; inside; into; lest; like; minus; modulo; near; next; of; off; on; onto; opposite; out; outside; over; pace; past; per; plus; pro; qua; regarding; round; sans; save; since; than; through; thru; throughout; thruout; till; to; toward; towards; under; underneath; unlike; until; unto; up; upon; versus; vs; via; vice; with; within; without; considering; respecting; one; two; another; three; our; five; six; seven; eight; nine; ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen; seventeen; eighteen; nineteen; twenty; thirty; forty; fifty; sixty; seventy; eighty; ninety; hundred; thousand; million; billion; trillion; while; however; what; zero; little; enough; after; although; and; as; if; though; although; because; before; both; but; even; how; than; nor; or; only; unless; until; yet; was; were" ;
FindHistory = new List < string > ( ) ;
2016-08-08 18:19:36 +02:00
ExportTextFormatText = "None" ;
ExportTextRemoveStyling = true ;
ExportTextShowLineNumbersNewLine = true ;
ExportTextShowTimeCodesNewLine = true ;
ExportTextNewLineAfterText = true ;
ExportTextNewLineBetweenSubtitles = true ;
2016-02-08 21:11:03 +01:00
ImportTextLineBreak = "|" ;
2018-12-09 08:30:01 +01:00
ImportTextAutoSplitNumberOfLines = 2 ;
ImportTextAutoSplitAtBlank = true ;
ImportTextAutoBreakAtEndMarkerText = ".!?" ;
ImportTextAutoBreakAtEnd = true ;
2017-11-06 18:22:49 +01:00
MoveStartEndMs = 100 ;
2017-12-23 09:17:51 +01:00
AdjustDurationSeconds = 0.1 m ;
AdjustDurationPercent = 120 ;
2019-02-27 12:55:55 +01:00
AdjustDurationExtendOnly = true ;
2019-11-05 19:09:02 +01:00
AutoBreakCommaBreakEarly = false ;
AutoBreakDashEarly = true ;
AutoBreakLineEndingEarly = false ;
2019-11-08 13:09:48 +01:00
AutoBreakUsePixelWidth = true ;
2019-11-09 13:19:28 +01:00
AutoBreakPreferBottomHeavy = true ;
AutoBreakPreferBottomPercent = 5 ;
2019-02-27 02:18:24 +01:00
ApplyMinimumDurationLimit = true ;
ApplyMaximumDurationLimit = true ;
2019-12-09 18:34:46 +01:00
MergeShortLinesMaxGap = 250 ;
2020-02-06 19:13:39 +01:00
MergeShortLinesMaxChars = 50 ;
2019-12-09 18:34:46 +01:00
MergeShortLinesOnlyContinuous = true ;
2020-05-04 12:29:27 +02:00
ColumnPasteColumn = "all" ;
ColumnPasteOverwriteMode = "overwrite" ;
2016-02-08 21:11:03 +01:00
}
}
2017-10-30 18:07:41 +01:00
public class FcpExportSettings
{
public string FontName { get ; set ; }
public int FontSize { get ; set ; }
public string Alignment { get ; set ; }
public int Baseline { get ; set ; }
public Color Color { get ; set ; }
public FcpExportSettings ( )
{
FontName = "Lucida Sans" ;
FontSize = 36 ;
Alignment = "center" ;
Baseline = 29 ;
Color = Color . WhiteSmoke ;
}
}
2016-02-08 21:11:03 +01:00
public class WordListSettings
{
public string LastLanguage { get ; set ; }
2017-04-10 19:23:24 +02:00
public string NamesUrl { get ; set ; }
public bool UseOnlineNames { get ; set ; }
2016-02-08 21:11:03 +01:00
public WordListSettings ( )
{
LastLanguage = "en-US" ;
2017-04-10 19:23:24 +02:00
NamesUrl = "https://raw.githubusercontent.com/SubtitleEdit/subtitleedit/master/Dictionaries/names.xml" ;
2016-02-08 21:11:03 +01:00
}
}
public class SubtitleSettings
{
public string SsaFontName { get ; set ; }
public double SsaFontSize { get ; set ; }
public int SsaFontColorArgb { get ; set ; }
public bool SsaFontBold { get ; set ; }
2017-06-30 21:55:10 +02:00
public decimal SsaOutline { get ; set ; }
public decimal SsaShadow { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool SsaOpaqueBox { get ; set ; }
public int SsaMarginLeft { get ; set ; }
public int SsaMarginRight { get ; set ; }
public int SsaMarginTopBottom { get ; set ; }
public string DCinemaFontFile { get ; set ; }
public string DCinemaLoadFontResource { get ; set ; }
public int DCinemaFontSize { get ; set ; }
public int DCinemaBottomMargin { get ; set ; }
public double DCinemaZPosition { get ; set ; }
public int DCinemaFadeUpTime { get ; set ; }
public int DCinemaFadeDownTime { get ; set ; }
public string CurrentDCinemaSubtitleId { get ; set ; }
public string CurrentDCinemaMovieTitle { get ; set ; }
public string CurrentDCinemaReelNumber { get ; set ; }
public string CurrentDCinemaIssueDate { get ; set ; }
public string CurrentDCinemaLanguage { get ; set ; }
public string CurrentDCinemaEditRate { get ; set ; }
public string CurrentDCinemaTimeCodeRate { get ; set ; }
public string CurrentDCinemaStartTime { get ; set ; }
public string CurrentDCinemaFontId { get ; set ; }
public string CurrentDCinemaFontUri { get ; set ; }
public Color CurrentDCinemaFontColor { get ; set ; }
public string CurrentDCinemaFontEffect { get ; set ; }
public Color CurrentDCinemaFontEffectColor { get ; set ; }
public int CurrentDCinemaFontSize { get ; set ; }
public int CurrentCavena890LanguageIdLine1 { get ; set ; }
public int CurrentCavena890LanguageIdLine2 { get ; set ; }
2016-04-09 21:20:30 +02:00
public string CurrentCavena89Title { get ; set ; }
public string CurrentCavena890riginalTitle { get ; set ; }
public string CurrentCavena890Translator { get ; set ; }
public string CurrentCavena89Comment { get ; set ; }
public int CurrentCavena89LanguageId { get ; set ; }
public string Cavena890StartOfMessage { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool EbuStlTeletextUseBox { get ; set ; }
public bool EbuStlTeletextUseDoubleHeight { get ; set ; }
2017-02-04 17:41:13 +01:00
public int EbuStlMarginTop { get ; set ; }
public int EbuStlMarginBottom { get ; set ; }
public int EbuStlNewLineRows { get ; set ; }
2020-10-20 22:05:32 +02:00
public int PacVerticalTop { get ; set ; }
public int PacVerticalCenter { get ; set ; }
public int PacVerticalBottom { get ; set ; }
2017-02-04 17:41:13 +01:00
2018-10-10 18:56:41 +02:00
public string DvdStudioProHeader { get ; set ; }
2017-02-04 17:41:13 +01:00
2019-02-08 21:32:12 +01:00
public string TmpegEncXmlFontName { get ; set ; }
public string TmpegEncXmlFontHeight { get ; set ; }
public string TmpegEncXmlPosition { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool CheetahCaptionAlwayWriteEndTime { get ; set ; }
public bool SamiDisplayTwoClassesAsTwoSubtitles { get ; set ; }
public int SamiHtmlEncodeMode { get ; set ; }
public string TimedText10TimeCodeFormat { get ; set ; }
public string TimedText10TimeCodeFormatSource { get ; set ; }
public bool TimedText10ShowStyleAndLanguage { get ; set ; }
2020-05-24 08:25:41 +02:00
public string TimedText10FileExtension { get ; set ; }
2016-02-08 21:11:03 +01:00
public int FcpFontSize { get ; set ; }
public string FcpFontName { get ; set ; }
public string NuendoCharacterListFile { get ; set ; }
2019-08-31 20:23:48 +02:00
public bool WebVttUseXTimestampMap { get ; set ; }
2019-08-14 15:56:46 +02:00
public long WebVttTimescale { get ; set ; }
2020-05-10 10:01:04 +02:00
public bool TeletextItalicFix { get ; set ; }
2016-02-08 21:11:03 +01:00
public SubtitleSettings ( )
{
SsaFontName = "Arial" ;
2020-01-16 19:02:05 +01:00
if ( Configuration . IsRunningOnLinux )
{
SsaFontName = Configuration . DefaultLinuxFontName ;
}
2016-02-08 21:11:03 +01:00
SsaFontSize = 20 ;
SsaFontColorArgb = Color . FromArgb ( 255 , 255 , 255 ) . ToArgb ( ) ;
SsaOutline = 2 ;
SsaShadow = 1 ;
SsaOpaqueBox = false ;
SsaMarginLeft = 10 ;
SsaMarginRight = 10 ;
SsaMarginTopBottom = 10 ;
DCinemaFontFile = "Arial.ttf" ;
DCinemaLoadFontResource = "urn:uuid:3dec6dc0-39d0-498d-97d0-928d2eb78391" ;
DCinemaFontSize = 42 ;
DCinemaBottomMargin = 8 ;
DCinemaZPosition = 0 ;
2018-11-01 20:48:54 +01:00
DCinemaFadeUpTime = 0 ;
DCinemaFadeDownTime = 0 ;
2016-02-08 21:11:03 +01:00
EbuStlTeletextUseBox = true ;
EbuStlTeletextUseDoubleHeight = true ;
2017-02-04 17:41:13 +01:00
EbuStlMarginTop = 0 ;
EbuStlMarginBottom = 2 ;
EbuStlNewLineRows = 2 ;
2016-02-08 21:11:03 +01:00
2020-10-20 22:05:32 +02:00
PacVerticalTop = 1 ;
PacVerticalCenter = 5 ;
PacVerticalBottom = 11 ;
2020-11-09 20:22:12 +01:00
2018-10-10 18:56:41 +02:00
DvdStudioProHeader = @ "$VertAlign = Bottom
$ Bold = FALSE
$ Underlined = FALSE
$ Italic = FALSE
$ XOffset = 0
$ YOffset = - 5
$ TextContrast = 15
$ Outline1Contrast = 15
$ Outline2Contrast = 13
$ BackgroundContrast = 0
$ ForceDisplay = FALSE
$ FadeIn = 0
$ FadeOut = 0
$ HorzAlign = Center
";
2019-02-08 21:32:12 +01:00
TmpegEncXmlFontName = "Tahoma" ;
TmpegEncXmlFontHeight = "0.069" ;
TmpegEncXmlPosition = "23" ;
2016-02-08 21:11:03 +01:00
SamiDisplayTwoClassesAsTwoSubtitles = true ;
SamiHtmlEncodeMode = 0 ;
TimedText10TimeCodeFormat = "Source" ;
TimedText10ShowStyleAndLanguage = true ;
2020-05-24 08:25:41 +02:00
TimedText10FileExtension = ".xml" ;
2016-02-08 21:11:03 +01:00
FcpFontSize = 18 ;
FcpFontName = "Lucida Grande" ;
2016-04-09 21:20:30 +02:00
Cavena890StartOfMessage = "10:00:00:00" ;
2019-08-14 15:56:46 +02:00
WebVttTimescale = 90000 ;
2019-08-31 20:23:48 +02:00
WebVttUseXTimestampMap = true ;
2020-05-10 10:01:04 +02:00
TeletextItalicFix = true ;
2016-02-08 21:11:03 +01:00
}
public void InitializeDCinameSettings ( bool smpte )
{
if ( smpte )
{
CurrentDCinemaSubtitleId = "urn:uuid:" + Guid . NewGuid ( ) ;
CurrentDCinemaLanguage = "en" ;
CurrentDCinemaFontUri = DCinemaLoadFontResource ;
CurrentDCinemaFontId = "theFontId" ;
}
else
{
2019-01-21 09:53:15 +01:00
string hex = Guid . NewGuid ( ) . ToString ( ) . RemoveChar ( '-' ) . ToLowerInvariant ( ) ;
2016-02-08 21:11:03 +01:00
hex = hex . Insert ( 8 , "-" ) . Insert ( 13 , "-" ) . Insert ( 18 , "-" ) . Insert ( 23 , "-" ) ;
CurrentDCinemaSubtitleId = hex ;
CurrentDCinemaLanguage = "English" ;
CurrentDCinemaFontUri = DCinemaFontFile ;
CurrentDCinemaFontId = "Arial" ;
}
CurrentDCinemaIssueDate = DateTime . Now . ToString ( "s" ) + ".000-00:00" ;
CurrentDCinemaMovieTitle = "title" ;
CurrentDCinemaReelNumber = "1" ;
CurrentDCinemaFontColor = Color . White ;
CurrentDCinemaFontEffect = "border" ;
CurrentDCinemaFontEffectColor = Color . Black ;
CurrentDCinemaFontSize = DCinemaFontSize ;
CurrentCavena890LanguageIdLine1 = - 1 ;
CurrentCavena890LanguageIdLine2 = - 1 ;
}
}
public class ProxySettings
{
public string ProxyAddress { get ; set ; }
public string UserName { get ; set ; }
public string Password { get ; set ; }
public string Domain { get ; set ; }
public string DecodePassword ( )
{
return Encoding . UTF8 . GetString ( Convert . FromBase64String ( Password ) ) ;
}
public void EncodePassword ( string unencryptedPassword )
{
Password = Convert . ToBase64String ( Encoding . UTF8 . GetBytes ( unencryptedPassword ) ) ;
}
}
public class FixCommonErrorsSettings
{
public string StartPosition { get ; set ; }
public string StartSize { get ; set ; }
public bool EmptyLinesTicked { get ; set ; }
public bool OverlappingDisplayTimeTicked { get ; set ; }
public bool TooShortDisplayTimeTicked { get ; set ; }
public bool TooLongDisplayTimeTicked { get ; set ; }
2019-12-10 18:28:40 +01:00
public bool TooShortGapTicked { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool InvalidItalicTagsTicked { get ; set ; }
public bool BreakLongLinesTicked { get ; set ; }
public bool MergeShortLinesTicked { get ; set ; }
public bool MergeShortLinesAllTicked { get ; set ; }
public bool UnneededSpacesTicked { get ; set ; }
public bool UnneededPeriodsTicked { get ; set ; }
2020-04-15 18:44:54 +02:00
public bool FixCommasTicked { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool MissingSpacesTicked { get ; set ; }
public bool AddMissingQuotesTicked { get ; set ; }
public bool Fix3PlusLinesTicked { get ; set ; }
public bool FixHyphensTicked { get ; set ; }
2020-02-16 08:08:19 +01:00
public bool FixHyphensRemoveSingleLineTicked { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool UppercaseIInsideLowercaseWordTicked { get ; set ; }
public bool DoubleApostropheToQuoteTicked { get ; set ; }
public bool AddPeriodAfterParagraphTicked { get ; set ; }
public bool StartWithUppercaseLetterAfterParagraphTicked { get ; set ; }
public bool StartWithUppercaseLetterAfterPeriodInsideParagraphTicked { get ; set ; }
public bool StartWithUppercaseLetterAfterColonTicked { get ; set ; }
public bool AloneLowercaseIToUppercaseIEnglishTicked { get ; set ; }
public bool FixOcrErrorsViaReplaceListTicked { get ; set ; }
public bool RemoveSpaceBetweenNumberTicked { get ; set ; }
public bool FixDialogsOnOneLineTicked { get ; set ; }
public bool TurkishAnsiTicked { get ; set ; }
public bool DanishLetterITicked { get ; set ; }
public bool SpanishInvertedQuestionAndExclamationMarksTicked { get ; set ; }
public bool FixDoubleDashTicked { get ; set ; }
public bool FixDoubleGreaterThanTicked { get ; set ; }
public bool FixEllipsesStartTicked { get ; set ; }
public bool FixMissingOpenBracketTicked { get ; set ; }
public bool FixMusicNotationTicked { get ; set ; }
2020-04-08 21:27:48 +02:00
public bool FixContinuationStyleTicked { get ; set ; }
public bool FixUnnecessaryLeadingDotsTicked { get ; set ; }
2020-05-27 11:21:16 +02:00
public bool NormalizeStringsTicked { get ; set ; }
2020-07-15 19:07:43 +02:00
public string DefaultFixes { get ; set ; }
2016-02-08 21:11:03 +01:00
public FixCommonErrorsSettings ( )
2017-05-29 14:48:58 +02:00
{
2017-05-31 18:29:33 +02:00
SetDefaultFixes ( ) ;
2017-05-29 14:48:58 +02:00
}
2020-07-15 19:07:43 +02:00
public void SaveUserDefaultFixes ( )
{
var sb = new StringBuilder ( ) ;
if ( EmptyLinesTicked )
{
sb . Append ( nameof ( EmptyLinesTicked ) + ";" ) ;
}
if ( OverlappingDisplayTimeTicked )
{
sb . Append ( nameof ( OverlappingDisplayTimeTicked ) + ";" ) ;
}
if ( TooShortDisplayTimeTicked )
{
sb . Append ( nameof ( TooShortDisplayTimeTicked ) + ";" ) ;
}
if ( TooLongDisplayTimeTicked )
{
sb . Append ( nameof ( TooLongDisplayTimeTicked ) + ";" ) ;
}
if ( TooShortGapTicked )
{
sb . Append ( nameof ( TooShortGapTicked ) + ";" ) ;
}
if ( InvalidItalicTagsTicked )
{
sb . Append ( nameof ( InvalidItalicTagsTicked ) + ";" ) ;
}
if ( BreakLongLinesTicked )
{
sb . Append ( nameof ( BreakLongLinesTicked ) + ";" ) ;
}
if ( MergeShortLinesTicked )
{
sb . Append ( nameof ( MergeShortLinesTicked ) + ";" ) ;
}
if ( MergeShortLinesAllTicked )
{
sb . Append ( nameof ( MergeShortLinesAllTicked ) + ";" ) ;
}
if ( UnneededSpacesTicked )
{
sb . Append ( nameof ( UnneededSpacesTicked ) + ";" ) ;
}
if ( UnneededPeriodsTicked )
{
sb . Append ( nameof ( UnneededPeriodsTicked ) + ";" ) ;
}
if ( FixCommasTicked )
{
sb . Append ( nameof ( FixCommasTicked ) + ";" ) ;
}
if ( MissingSpacesTicked )
{
sb . Append ( nameof ( MissingSpacesTicked ) + ";" ) ;
}
if ( AddMissingQuotesTicked )
{
sb . Append ( nameof ( AddMissingQuotesTicked ) + ";" ) ;
}
if ( Fix3PlusLinesTicked )
{
sb . Append ( nameof ( Fix3PlusLinesTicked ) + ";" ) ;
}
if ( FixHyphensTicked )
{
sb . Append ( nameof ( FixHyphensTicked ) + ";" ) ;
}
if ( FixHyphensRemoveSingleLineTicked )
{
sb . Append ( nameof ( FixHyphensRemoveSingleLineTicked ) + ";" ) ;
}
if ( UppercaseIInsideLowercaseWordTicked )
{
sb . Append ( nameof ( UppercaseIInsideLowercaseWordTicked ) + ";" ) ;
}
if ( DoubleApostropheToQuoteTicked )
{
sb . Append ( nameof ( DoubleApostropheToQuoteTicked ) + ";" ) ;
}
if ( AddPeriodAfterParagraphTicked )
{
sb . Append ( nameof ( AddPeriodAfterParagraphTicked ) + ";" ) ;
}
if ( StartWithUppercaseLetterAfterParagraphTicked )
{
sb . Append ( nameof ( StartWithUppercaseLetterAfterParagraphTicked ) + ";" ) ;
}
if ( StartWithUppercaseLetterAfterPeriodInsideParagraphTicked )
{
sb . Append ( nameof ( StartWithUppercaseLetterAfterPeriodInsideParagraphTicked ) + ";" ) ;
}
if ( StartWithUppercaseLetterAfterColonTicked )
{
sb . Append ( nameof ( StartWithUppercaseLetterAfterColonTicked ) + ";" ) ;
}
if ( AloneLowercaseIToUppercaseIEnglishTicked )
{
sb . Append ( nameof ( AloneLowercaseIToUppercaseIEnglishTicked ) + ";" ) ;
}
if ( FixOcrErrorsViaReplaceListTicked )
{
sb . Append ( nameof ( FixOcrErrorsViaReplaceListTicked ) + ";" ) ;
}
if ( RemoveSpaceBetweenNumberTicked )
{
sb . Append ( nameof ( RemoveSpaceBetweenNumberTicked ) + ";" ) ;
}
if ( FixDialogsOnOneLineTicked )
{
sb . Append ( nameof ( FixDialogsOnOneLineTicked ) + ";" ) ;
}
if ( TurkishAnsiTicked )
{
sb . Append ( nameof ( TurkishAnsiTicked ) + ";" ) ;
}
if ( DanishLetterITicked )
{
sb . Append ( nameof ( DanishLetterITicked ) + ";" ) ;
}
if ( SpanishInvertedQuestionAndExclamationMarksTicked )
{
sb . Append ( nameof ( SpanishInvertedQuestionAndExclamationMarksTicked ) + ";" ) ;
}
if ( FixDoubleDashTicked )
{
sb . Append ( nameof ( FixDoubleDashTicked ) + ";" ) ;
}
if ( FixEllipsesStartTicked )
{
sb . Append ( nameof ( FixEllipsesStartTicked ) + ";" ) ;
}
if ( FixMissingOpenBracketTicked )
{
sb . Append ( nameof ( FixMissingOpenBracketTicked ) + ";" ) ;
}
if ( FixMusicNotationTicked )
{
sb . Append ( nameof ( FixMusicNotationTicked ) + ";" ) ;
}
if ( FixContinuationStyleTicked )
{
sb . Append ( nameof ( FixContinuationStyleTicked ) + ";" ) ;
}
if ( FixUnnecessaryLeadingDotsTicked )
{
sb . Append ( nameof ( FixUnnecessaryLeadingDotsTicked ) + ";" ) ;
}
if ( NormalizeStringsTicked )
{
sb . Append ( nameof ( NormalizeStringsTicked ) + ";" ) ;
}
DefaultFixes = sb . ToString ( ) . TrimEnd ( ';' ) ;
}
public void LoadUserDefaultFixes ( string fixes )
{
var list = fixes . Split ( ';' ) ;
EmptyLinesTicked = list . Contains ( nameof ( EmptyLinesTicked ) ) ;
OverlappingDisplayTimeTicked = list . Contains ( nameof ( OverlappingDisplayTimeTicked ) ) ;
TooShortDisplayTimeTicked = list . Contains ( nameof ( TooShortDisplayTimeTicked ) ) ;
TooLongDisplayTimeTicked = list . Contains ( nameof ( TooLongDisplayTimeTicked ) ) ;
TooShortGapTicked = list . Contains ( nameof ( TooShortGapTicked ) ) ;
InvalidItalicTagsTicked = list . Contains ( nameof ( InvalidItalicTagsTicked ) ) ;
BreakLongLinesTicked = list . Contains ( nameof ( BreakLongLinesTicked ) ) ;
MergeShortLinesTicked = list . Contains ( nameof ( MergeShortLinesTicked ) ) ;
MergeShortLinesAllTicked = list . Contains ( nameof ( MergeShortLinesAllTicked ) ) ;
UnneededSpacesTicked = list . Contains ( nameof ( UnneededSpacesTicked ) ) ;
UnneededPeriodsTicked = list . Contains ( nameof ( UnneededPeriodsTicked ) ) ;
FixCommasTicked = list . Contains ( nameof ( FixCommasTicked ) ) ;
MissingSpacesTicked = list . Contains ( nameof ( MissingSpacesTicked ) ) ;
AddMissingQuotesTicked = list . Contains ( nameof ( AddMissingQuotesTicked ) ) ;
2020-07-27 16:52:01 +02:00
Fix3PlusLinesTicked = list . Contains ( nameof ( Fix3PlusLinesTicked ) ) ;
2020-07-15 19:07:43 +02:00
FixHyphensTicked = list . Contains ( nameof ( FixHyphensTicked ) ) ;
FixHyphensRemoveSingleLineTicked = list . Contains ( nameof ( FixHyphensRemoveSingleLineTicked ) ) ;
UppercaseIInsideLowercaseWordTicked = list . Contains ( nameof ( UppercaseIInsideLowercaseWordTicked ) ) ;
DoubleApostropheToQuoteTicked = list . Contains ( nameof ( DoubleApostropheToQuoteTicked ) ) ;
AddPeriodAfterParagraphTicked = list . Contains ( nameof ( AddPeriodAfterParagraphTicked ) ) ;
StartWithUppercaseLetterAfterParagraphTicked = list . Contains ( nameof ( StartWithUppercaseLetterAfterParagraphTicked ) ) ;
StartWithUppercaseLetterAfterPeriodInsideParagraphTicked = list . Contains ( nameof ( StartWithUppercaseLetterAfterPeriodInsideParagraphTicked ) ) ;
StartWithUppercaseLetterAfterColonTicked = list . Contains ( nameof ( StartWithUppercaseLetterAfterColonTicked ) ) ;
AloneLowercaseIToUppercaseIEnglishTicked = list . Contains ( nameof ( AloneLowercaseIToUppercaseIEnglishTicked ) ) ;
FixOcrErrorsViaReplaceListTicked = list . Contains ( nameof ( FixOcrErrorsViaReplaceListTicked ) ) ;
RemoveSpaceBetweenNumberTicked = list . Contains ( nameof ( RemoveSpaceBetweenNumberTicked ) ) ;
FixDialogsOnOneLineTicked = list . Contains ( nameof ( FixDialogsOnOneLineTicked ) ) ;
TurkishAnsiTicked = list . Contains ( nameof ( TurkishAnsiTicked ) ) ;
DanishLetterITicked = list . Contains ( nameof ( DanishLetterITicked ) ) ;
SpanishInvertedQuestionAndExclamationMarksTicked = list . Contains ( nameof ( SpanishInvertedQuestionAndExclamationMarksTicked ) ) ;
FixDoubleDashTicked = list . Contains ( nameof ( FixDoubleDashTicked ) ) ;
FixEllipsesStartTicked = list . Contains ( nameof ( FixEllipsesStartTicked ) ) ;
FixMissingOpenBracketTicked = list . Contains ( nameof ( FixMissingOpenBracketTicked ) ) ;
FixMusicNotationTicked = list . Contains ( nameof ( FixMusicNotationTicked ) ) ;
FixContinuationStyleTicked = list . Contains ( nameof ( FixContinuationStyleTicked ) ) ;
FixUnnecessaryLeadingDotsTicked = list . Contains ( nameof ( FixUnnecessaryLeadingDotsTicked ) ) ;
NormalizeStringsTicked = list . Contains ( nameof ( NormalizeStringsTicked ) ) ;
}
2017-05-31 18:29:33 +02:00
public void SetDefaultFixes ( )
2016-02-08 21:11:03 +01:00
{
2020-07-15 19:07:43 +02:00
LoadUserDefaultFixes ( string . Empty ) ;
2016-02-08 21:11:03 +01:00
EmptyLinesTicked = true ;
OverlappingDisplayTimeTicked = true ;
TooShortDisplayTimeTicked = true ;
TooLongDisplayTimeTicked = true ;
2020-07-15 19:07:43 +02:00
TooShortGapTicked = false ;
2016-02-08 21:11:03 +01:00
InvalidItalicTagsTicked = true ;
BreakLongLinesTicked = true ;
MergeShortLinesTicked = true ;
UnneededPeriodsTicked = true ;
2020-04-15 18:44:54 +02:00
FixCommasTicked = true ;
2016-02-08 21:11:03 +01:00
UnneededSpacesTicked = true ;
MissingSpacesTicked = true ;
UppercaseIInsideLowercaseWordTicked = true ;
DoubleApostropheToQuoteTicked = true ;
AddPeriodAfterParagraphTicked = false ;
StartWithUppercaseLetterAfterParagraphTicked = true ;
StartWithUppercaseLetterAfterPeriodInsideParagraphTicked = false ;
StartWithUppercaseLetterAfterColonTicked = false ;
AloneLowercaseIToUppercaseIEnglishTicked = false ;
TurkishAnsiTicked = false ;
DanishLetterITicked = false ;
FixDoubleDashTicked = true ;
FixDoubleGreaterThanTicked = true ;
FixEllipsesStartTicked = true ;
FixMissingOpenBracketTicked = true ;
FixMusicNotationTicked = true ;
2020-04-27 17:13:37 +02:00
FixContinuationStyleTicked = false ;
2020-04-08 21:27:48 +02:00
FixUnnecessaryLeadingDotsTicked = true ;
2020-05-27 11:21:16 +02:00
NormalizeStringsTicked = false ;
2020-07-15 19:07:43 +02:00
SaveUserDefaultFixes ( ) ;
2016-02-08 21:11:03 +01:00
}
}
public class GeneralSettings
{
2019-03-12 21:14:21 +01:00
public List < RulesProfile > Profiles { get ; set ; }
public string CurrentProfile { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool ShowToolbarNew { get ; set ; }
public bool ShowToolbarOpen { get ; set ; }
public bool ShowToolbarSave { get ; set ; }
public bool ShowToolbarSaveAs { get ; set ; }
public bool ShowToolbarFind { get ; set ; }
public bool ShowToolbarReplace { get ; set ; }
public bool ShowToolbarFixCommonErrors { get ; set ; }
2016-07-24 08:46:58 +02:00
public bool ShowToolbarRemoveTextForHi { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool ShowToolbarVisualSync { get ; set ; }
public bool ShowToolbarSpellCheck { get ; set ; }
2016-12-21 10:10:20 +01:00
public bool ShowToolbarNetflixGlyphCheck { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool ShowToolbarSettings { get ; set ; }
public bool ShowToolbarHelp { get ; set ; }
public bool ShowVideoPlayer { get ; set ; }
public bool ShowAudioVisualizer { get ; set ; }
public bool ShowWaveform { get ; set ; }
public bool ShowSpectrogram { get ; set ; }
public bool ShowFrameRate { get ; set ; }
public double DefaultFrameRate { get ; set ; }
public double CurrentFrameRate { get ; set ; }
public string DefaultSubtitleFormat { get ; set ; }
public string DefaultEncoding { get ; set ; }
public bool AutoConvertToUtf8 { get ; set ; }
public bool AutoGuessAnsiEncoding { get ; set ; }
2017-10-01 09:26:06 +02:00
public string SystemSubtitleFontNameOverride { get ; set ; }
public int SystemSubtitleFontSizeOverride { get ; set ; }
2016-02-08 21:11:03 +01:00
public string SubtitleFontName { get ; set ; }
2020-11-14 19:49:17 +01:00
public int SubtitleTextBoxFontSize { get ; set ; }
2020-11-14 14:41:10 +01:00
public bool SubtitleTextBoxSyntaxColor { get ; set ; }
public Color SubtitleTextBoxHtmlColor { get ; set ; }
public Color SubtitleTextBoxAssColor { get ; set ; }
2018-03-04 14:46:46 +01:00
public int SubtitleListViewFontSize { get ; set ; }
2020-11-14 19:49:17 +01:00
public bool SubtitleTextBoxFontBold { get ; set ; }
2018-03-04 14:46:46 +01:00
public bool SubtitleListViewFontBold { get ; set ; }
2016-02-08 21:11:03 +01:00
public Color SubtitleFontColor { get ; set ; }
public Color SubtitleBackgroundColor { get ; set ; }
2020-03-29 23:23:55 +02:00
public string MeasureFontName { get ; set ; }
public int MeasureFontSize { get ; set ; }
public bool MeasureFontBold { get ; set ; }
public int SubtitleLineMaximumPixelWidth { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool CenterSubtitleInTextBox { get ; set ; }
public bool ShowRecentFiles { get ; set ; }
public bool RememberSelectedLine { get ; set ; }
public bool StartLoadLastFile { get ; set ; }
public bool StartRememberPositionAndSize { get ; set ; }
public string StartPosition { get ; set ; }
public string StartSize { get ; set ; }
public int SplitContainerMainSplitterDistance { get ; set ; }
public int SplitContainer1SplitterDistance { get ; set ; }
public int SplitContainerListViewAndTextSplitterDistance { get ; set ; }
public bool StartInSourceView { get ; set ; }
public bool RemoveBlankLinesWhenOpening { get ; set ; }
2018-02-06 17:10:38 +01:00
public bool RemoveBadCharsWhenOpening { get ; set ; }
2016-02-08 21:11:03 +01:00
public int SubtitleLineMaximumLength { get ; set ; }
2019-03-12 21:14:21 +01:00
public int MaxNumberOfLines { get ; set ; }
public int MergeLinesShorterThan { get ; set ; }
2016-02-08 21:11:03 +01:00
public int SubtitleMinimumDisplayMilliseconds { get ; set ; }
public int SubtitleMaximumDisplayMilliseconds { get ; set ; }
public int MinimumMillisecondsBetweenLines { get ; set ; }
public int SetStartEndHumanDelay { get ; set ; }
public bool AutoWrapLineWhileTyping { get ; set ; }
public double SubtitleMaximumCharactersPerSeconds { get ; set ; }
public double SubtitleOptimalCharactersPerSeconds { get ; set ; }
2017-03-03 15:40:48 +01:00
public bool CharactersPerSecondsIgnoreWhiteSpace { get ; set ; }
2020-09-20 16:40:21 +02:00
public bool IgnoreArabicDiacritics { get ; set ; }
2017-01-15 09:46:26 +01:00
public double SubtitleMaximumWordsPerMinute { get ; set ; }
2020-02-16 08:08:19 +01:00
public DialogType DialogStyle { get ; set ; }
2020-04-01 19:27:20 +02:00
public ContinuationStyle ContinuationStyle { get ; set ; }
2020-11-07 12:21:30 +01:00
public int ContinuationPause { get ; set ; }
2020-04-08 22:16:19 +02:00
public bool FixContinuationStyleUncheckInsertsAllCaps { get ; set ; }
public bool FixContinuationStyleUncheckInsertsItalic { get ; set ; }
public bool FixContinuationStyleUncheckInsertsLowercase { get ; set ; }
2020-04-12 13:55:29 +02:00
public bool FixContinuationStyleHideContinuationCandidatesWithoutName { get ; set ; }
2020-04-12 21:28:22 +02:00
public bool FixContinuationStyleIgnoreLyrics { get ; set ; }
2016-02-08 21:11:03 +01:00
public string SpellCheckLanguage { get ; set ; }
public string VideoPlayer { get ; set ; }
public int VideoPlayerDefaultVolume { get ; set ; }
public int VideoPlayerPreviewFontSize { get ; set ; }
public bool VideoPlayerPreviewFontBold { get ; set ; }
public bool VideoPlayerShowStopButton { get ; set ; }
public bool VideoPlayerShowFullscreenButton { get ; set ; }
public bool VideoPlayerShowMuteButton { get ; set ; }
public string Language { get ; set ; }
public string ListViewLineSeparatorString { get ; set ; }
public int ListViewDoubleClickAction { get ; set ; }
2018-03-04 14:46:46 +01:00
public string SaveAsUseFileNameFrom { get ; set ; }
2016-02-08 21:11:03 +01:00
public string UppercaseLetters { get ; set ; }
public int DefaultAdjustMilliseconds { get ; set ; }
public bool AutoRepeatOn { get ; set ; }
public int AutoRepeatCount { get ; set ; }
public bool AutoContinueOn { get ; set ; }
2017-10-10 18:08:33 +02:00
public int AutoContinueDelay { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool SyncListViewWithVideoWhilePlaying { get ; set ; }
public int AutoBackupSeconds { get ; set ; }
2016-07-09 12:00:30 +02:00
public int AutoBackupDeleteAfterMonths { get ; set ; }
2016-02-08 21:11:03 +01:00
public string SpellChecker { get ; set ; }
public bool AllowEditOfOriginalSubtitle { get ; set ; }
public bool PromptDeleteLines { get ; set ; }
public bool Undocked { get ; set ; }
public string UndockedVideoPosition { get ; set ; }
2019-03-08 16:12:30 +01:00
public bool UndockedVideoFullscreen { get ; set ; }
2016-02-08 21:11:03 +01:00
public string UndockedWaveformPosition { get ; set ; }
public string UndockedVideoControlsPosition { get ; set ; }
public bool WaveformCenter { get ; set ; }
2016-06-13 19:27:24 +02:00
public int WaveformUpdateIntervalMs { get ; set ; }
2016-02-08 21:11:03 +01:00
public int SmallDelayMilliseconds { get ; set ; }
public int LargeDelayMilliseconds { get ; set ; }
public bool ShowOriginalAsPreviewIfAvailable { get ; set ; }
public int LastPacCodePage { get ; set ; }
public string OpenSubtitleExtraExtensions { get ; set ; }
public bool ListViewColumnsRememberSize { get ; set ; }
public int ListViewNumberWidth { get ; set ; }
public int ListViewStartWidth { get ; set ; }
public int ListViewEndWidth { get ; set ; }
public int ListViewDurationWidth { get ; set ; }
2017-01-15 09:46:26 +01:00
public int ListViewCpsWidth { get ; set ; }
public int ListViewWpmWidth { get ; set ; }
2017-11-06 18:22:49 +01:00
public int ListViewGapWidth { get ; set ; }
2017-04-16 10:03:10 +02:00
public int ListViewActorWidth { get ; set ; }
2017-04-26 18:51:34 +02:00
public int ListViewRegionWidth { get ; set ; }
2016-02-08 21:11:03 +01:00
public int ListViewTextWidth { get ; set ; }
2020-10-12 18:42:55 +02:00
public bool DirectShowDoubleLoad { get ; set ; }
2016-02-08 21:11:03 +01:00
public string VlcWaveTranscodeSettings { get ; set ; }
public string VlcLocation { get ; set ; }
public string VlcLocationRelative { get ; set ; }
2020-10-12 18:42:55 +02:00
public string MpvVideoOutputWindows { get ; set ; }
2019-09-22 08:09:10 +02:00
public string MpvVideoOutputLinux { get ; set ; }
2020-05-11 20:31:15 +02:00
public string MpvExtraOption { get ; set ; }
2020-11-07 09:02:20 +01:00
public bool MpvLogging { get ; set ; }
2017-02-09 21:14:48 +01:00
public bool MpvHandlesPreviewText { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MpcHcLocation { get ; set ; }
2020-10-05 07:15:44 +02:00
public string MkvMergeLocation { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool UseFFmpegForWaveExtraction { get ; set ; }
public string FFmpegLocation { get ; set ; }
2018-03-27 20:14:59 +02:00
public string FFmpegSceneThreshold { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool UseTimeFormatHHMMSSFF { get ; set ; }
2020-03-30 21:38:55 +02:00
public int SplitBehavior { get ; set ; }
2020-09-12 18:03:56 +02:00
public bool SplitRemovesDashes { get ; set ; }
2016-02-08 21:11:03 +01:00
public int ClearStatusBarAfterSeconds { get ; set ; }
public string Company { get ; set ; }
public bool MoveVideo100Or500MsPlaySmallSample { get ; set ; }
public bool DisableVideoAutoLoading { get ; set ; }
2018-03-04 14:46:46 +01:00
public bool AllowVolumeBoost { get ; set ; }
2016-02-08 21:11:03 +01:00
public int NewEmptyDefaultMs { get ; set ; }
public bool RightToLeftMode { get ; set ; }
public string LastSaveAsFormat { get ; set ; }
public bool CheckForUpdates { get ; set ; }
public DateTime LastCheckForUpdates { get ; set ; }
2018-12-23 19:14:41 +01:00
public bool AutoSave { get ; set ; }
2019-09-15 08:09:31 +02:00
public string PreviewAssaText { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool ShowProgress { get ; set ; }
2019-11-24 10:00:38 +01:00
public bool ShowNegativeDurationInfoOnSave { get ; set ; }
2020-07-20 19:09:30 +02:00
public bool ShowFormatRequiresUtf8Warning { get ; set ; }
2016-02-08 21:11:03 +01:00
public long CurrentVideoOffsetInMs { get ; set ; }
2020-04-22 20:30:59 +02:00
public string TitleBarAsterisk { get ; set ; } // Show asteriks "before" or "after" file name (any other value will hide asteriks)
2020-10-07 14:47:22 +02:00
public bool MeasurementConverterCloseOnInsert { get ; set ; }
public string MeasurementConverterCategories { get ; set ; }
2017-11-13 16:17:22 +01:00
public bool UseDarkTheme { get ; set ; }
public bool ShowBetaStuff { get ; set ; }
2016-02-08 21:11:03 +01:00
public GeneralSettings ( )
{
ShowToolbarNew = true ;
ShowToolbarOpen = true ;
ShowToolbarSave = true ;
ShowToolbarSaveAs = false ;
ShowToolbarFind = true ;
ShowToolbarReplace = true ;
ShowToolbarFixCommonErrors = false ;
ShowToolbarVisualSync = true ;
ShowToolbarSpellCheck = true ;
2016-12-21 10:10:20 +01:00
ShowToolbarNetflixGlyphCheck = true ;
2016-02-08 21:11:03 +01:00
ShowToolbarSettings = false ;
ShowToolbarHelp = true ;
2016-10-06 22:34:56 +02:00
ShowVideoPlayer = true ;
ShowAudioVisualizer = true ;
2016-02-08 21:11:03 +01:00
ShowWaveform = true ;
ShowSpectrogram = true ;
ShowFrameRate = false ;
DefaultFrameRate = 23.976 ;
CurrentFrameRate = DefaultFrameRate ;
SubtitleFontName = "Tahoma" ;
2020-01-14 21:56:00 +01:00
if ( Configuration . IsRunningOnLinux )
{
2020-01-16 19:02:05 +01:00
SubtitleFontName = Configuration . DefaultLinuxFontName ;
2020-01-14 21:56:00 +01:00
}
else if ( Environment . OSVersion . Version . Major < 6 ) // 6 == Vista/Win2008Server/Win7
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
SubtitleFontName = "Times New Roman" ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
2020-11-14 19:49:17 +01:00
SubtitleTextBoxFontSize = 14 ;
2018-08-23 20:28:07 +02:00
SubtitleListViewFontSize = 10 ;
2020-11-14 14:41:10 +01:00
SubtitleTextBoxSyntaxColor = true ;
SubtitleTextBoxHtmlColor = Color . CornflowerBlue ;
SubtitleTextBoxAssColor = Color . BlueViolet ;
2020-11-14 19:49:17 +01:00
SubtitleTextBoxFontBold = true ;
2016-02-08 21:11:03 +01:00
SubtitleFontColor = Color . Black ;
2020-03-29 23:23:55 +02:00
MeasureFontName = "Arial" ;
MeasureFontSize = 24 ;
MeasureFontBold = false ;
SubtitleLineMaximumPixelWidth = 576 ;
2016-02-08 21:11:03 +01:00
SubtitleBackgroundColor = Color . White ;
CenterSubtitleInTextBox = false ;
DefaultSubtitleFormat = "SubRip" ;
2020-02-09 10:49:26 +01:00
DefaultEncoding = TextEncoding . Utf8WithBom ;
2016-02-08 21:11:03 +01:00
AutoConvertToUtf8 = false ;
2020-09-20 16:40:21 +02:00
IgnoreArabicDiacritics = false ;
2019-12-01 17:59:02 +01:00
AutoGuessAnsiEncoding = true ;
2016-02-08 21:11:03 +01:00
ShowRecentFiles = true ;
RememberSelectedLine = true ;
StartLoadLastFile = true ;
StartRememberPositionAndSize = true ;
SubtitleLineMaximumLength = 43 ;
2019-03-12 21:14:21 +01:00
MaxNumberOfLines = 2 ;
MergeLinesShorterThan = 33 ;
2016-02-08 21:11:03 +01:00
SubtitleMinimumDisplayMilliseconds = 1000 ;
SubtitleMaximumDisplayMilliseconds = 8 * 1000 ;
2018-02-06 17:10:38 +01:00
RemoveBadCharsWhenOpening = true ;
2016-02-08 21:11:03 +01:00
MinimumMillisecondsBetweenLines = 24 ;
SetStartEndHumanDelay = 100 ;
AutoWrapLineWhileTyping = false ;
SubtitleMaximumCharactersPerSeconds = 25.0 ;
SubtitleOptimalCharactersPerSeconds = 15.0 ;
2017-01-15 09:46:26 +01:00
SubtitleMaximumWordsPerMinute = 300 ;
2020-02-16 08:08:19 +01:00
DialogStyle = DialogType . DashBothLinesWithSpace ;
2020-04-22 08:58:24 +02:00
ContinuationStyle = ContinuationStyle . None ;
2020-11-07 12:21:30 +01:00
ContinuationPause = 2000 ;
2020-04-08 22:16:19 +02:00
FixContinuationStyleUncheckInsertsAllCaps = true ;
FixContinuationStyleUncheckInsertsItalic = true ;
FixContinuationStyleUncheckInsertsLowercase = true ;
2020-04-12 13:55:29 +02:00
FixContinuationStyleHideContinuationCandidatesWithoutName = true ;
2020-04-12 21:28:22 +02:00
FixContinuationStyleIgnoreLyrics = true ;
2016-02-08 21:11:03 +01:00
SpellCheckLanguage = null ;
VideoPlayer = string . Empty ;
VideoPlayerDefaultVolume = 75 ;
2017-02-27 18:47:58 +01:00
VideoPlayerPreviewFontSize = 12 ;
2016-02-08 21:11:03 +01:00
VideoPlayerPreviewFontBold = true ;
VideoPlayerShowStopButton = true ;
VideoPlayerShowMuteButton = true ;
VideoPlayerShowFullscreenButton = true ;
ListViewLineSeparatorString = "<br />" ;
ListViewDoubleClickAction = 1 ;
2018-03-04 14:46:46 +01:00
SaveAsUseFileNameFrom = "video" ;
2016-02-08 21:11:03 +01:00
UppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWZYXÆØÃÅÄÖÉÈÁÂÀÇÊÍÓÔÕÚŁА БВ ГДЕ ЁЖЗ ИЙК ЛМ Н О ПР С Т У ФХ ЦЧШЩЪЫЬ ЭЮЯĞİŞÜÙÁÌÑÎ" ;
DefaultAdjustMilliseconds = 1000 ;
AutoRepeatOn = true ;
AutoRepeatCount = 2 ;
AutoContinueOn = false ;
2017-10-10 18:08:33 +02:00
AutoContinueDelay = 2 ;
2016-02-08 21:11:03 +01:00
SyncListViewWithVideoWhilePlaying = false ;
2020-05-23 21:22:05 +02:00
AutoBackupSeconds = 60 * 5 ;
AutoBackupDeleteAfterMonths = 3 ;
2016-02-08 21:11:03 +01:00
SpellChecker = "hunspell" ;
AllowEditOfOriginalSubtitle = true ;
PromptDeleteLines = true ;
Undocked = false ;
UndockedVideoPosition = "-32000;-32000" ;
UndockedWaveformPosition = "-32000;-32000" ;
UndockedVideoControlsPosition = "-32000;-32000" ;
2016-10-26 11:56:38 +02:00
WaveformUpdateIntervalMs = 40 ;
2016-02-08 21:11:03 +01:00
SmallDelayMilliseconds = 500 ;
LargeDelayMilliseconds = 5000 ;
OpenSubtitleExtraExtensions = "*.mp4;*.m4v;*.mkv;*.ts" ; // matroska/mp4/m4v files (can contain subtitles)
ListViewColumnsRememberSize = true ;
2020-10-12 18:42:55 +02:00
DirectShowDoubleLoad = true ;
2016-02-08 21:11:03 +01:00
VlcWaveTranscodeSettings = "acodec=s16l" ; // "acodec=s16l,channels=1,ab=64,samplerate=8000";
2020-10-12 20:45:37 +02:00
MpvVideoOutputWindows = string . Empty ; // could also be e.g. "gpu" or "directshow"
MpvVideoOutputLinux = string . Empty ; // could also be e.g. "x11";
2017-02-09 21:14:48 +01:00
MpvHandlesPreviewText = true ;
2019-09-29 06:45:52 +02:00
FFmpegSceneThreshold = "0.4" ; // threshold for generating scene changes - 0.2 is sensitive (more scene change), 0.6 is less sensitive (fewer scene changes)
2016-02-08 21:11:03 +01:00
UseTimeFormatHHMMSSFF = false ;
2020-04-13 18:00:46 +02:00
SplitBehavior = 1 ; // 0=take gap from left, 1=divide evenly, 2=take gap from right
2020-09-12 18:03:56 +02:00
SplitRemovesDashes = true ;
2016-02-08 21:11:03 +01:00
ClearStatusBarAfterSeconds = 10 ;
MoveVideo100Or500MsPlaySmallSample = false ;
DisableVideoAutoLoading = false ;
RightToLeftMode = false ;
LastSaveAsFormat = string . Empty ;
2019-09-26 08:38:50 +02:00
SystemSubtitleFontNameOverride = string . Empty ;
2016-02-08 21:11:03 +01:00
CheckForUpdates = true ;
LastCheckForUpdates = DateTime . Now ;
ShowProgress = false ;
2019-11-24 18:39:08 +01:00
ShowNegativeDurationInfoOnSave = true ;
2020-07-20 19:09:30 +02:00
ShowFormatRequiresUtf8Warning = true ;
2017-11-13 16:17:22 +01:00
UseDarkTheme = false ;
2020-04-22 07:00:23 +02:00
TitleBarAsterisk = "before" ;
2020-10-07 14:47:22 +02:00
MeasurementConverterCloseOnInsert = true ;
MeasurementConverterCategories = "Length;Kilometers;Meters" ;
2019-09-15 08:09:31 +02:00
PreviewAssaText = "ABCDEFGHIJKL abcdefghijkl 123" ;
2016-02-08 21:11:03 +01:00
ShowBetaStuff = false ;
NewEmptyDefaultMs = 2000 ;
2020-02-16 08:08:19 +01:00
DialogStyle = DialogType . DashBothLinesWithSpace ;
2020-04-22 08:58:24 +02:00
ContinuationStyle = ContinuationStyle . None ;
2016-02-08 21:11:03 +01:00
2019-03-12 21:14:21 +01:00
Profiles = new List < RulesProfile > ( ) ;
CurrentProfile = "Default" ;
Profiles . Add ( new RulesProfile
{
Name = CurrentProfile ,
SubtitleLineMaximumLength = SubtitleLineMaximumLength ,
MaxNumberOfLines = MaxNumberOfLines ,
MergeLinesShorterThan = MergeLinesShorterThan ,
SubtitleMaximumCharactersPerSeconds = ( decimal ) SubtitleMaximumCharactersPerSeconds ,
SubtitleOptimalCharactersPerSeconds = ( decimal ) SubtitleOptimalCharactersPerSeconds ,
SubtitleMaximumDisplayMilliseconds = SubtitleMaximumDisplayMilliseconds ,
SubtitleMinimumDisplayMilliseconds = SubtitleMinimumDisplayMilliseconds ,
SubtitleMaximumWordsPerMinute = ( decimal ) SubtitleMaximumWordsPerMinute ,
CpsIncludesSpace = ! CharactersPerSecondsIgnoreWhiteSpace ,
MinimumMillisecondsBetweenLines = MinimumMillisecondsBetweenLines ,
2020-02-16 08:08:19 +01:00
DialogStyle = DialogStyle ,
2020-04-01 19:27:20 +02:00
ContinuationStyle = ContinuationStyle
2019-03-12 21:14:21 +01:00
} ) ;
2019-03-13 07:58:05 +01:00
AddExtraProfiles ( Profiles ) ;
}
internal static void AddExtraProfiles ( List < RulesProfile > profiles )
{
profiles . Add ( new RulesProfile
{
Name = "Netflix (English)" ,
SubtitleLineMaximumLength = 42 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 42 ,
SubtitleMaximumCharactersPerSeconds = 20 ,
SubtitleOptimalCharactersPerSeconds = 15 ,
SubtitleMaximumDisplayMilliseconds = 7000 ,
SubtitleMinimumDisplayMilliseconds = 833 ,
SubtitleMaximumWordsPerMinute = 300 ,
2019-03-13 18:10:54 +01:00
CpsIncludesSpace = true ,
2019-12-10 23:05:44 +01:00
MinimumMillisecondsBetweenLines = 84 , // 2 frames for 23.976 fps videos
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithoutSpace ,
2020-04-10 22:45:55 +02:00
ContinuationStyle = ContinuationStyle . NoneTrailingDots
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "Netflix (Other languages)" ,
SubtitleLineMaximumLength = 42 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 42 ,
SubtitleMaximumCharactersPerSeconds = 17 ,
SubtitleOptimalCharactersPerSeconds = 12 ,
SubtitleMaximumDisplayMilliseconds = 7000 ,
SubtitleMinimumDisplayMilliseconds = 833 ,
SubtitleMaximumWordsPerMinute = 200 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 84 , // 2 frames for 23.976 fps videos
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
2020-04-10 22:45:55 +02:00
ContinuationStyle = ContinuationStyle . NoneTrailingDots
2020-04-01 19:27:20 +02:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "Netflix (Dutch)" ,
SubtitleLineMaximumLength = 42 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 42 ,
SubtitleMaximumCharactersPerSeconds = 17 ,
SubtitleOptimalCharactersPerSeconds = 12 ,
SubtitleMaximumDisplayMilliseconds = 7000 ,
SubtitleMinimumDisplayMilliseconds = 833 ,
SubtitleMaximumWordsPerMinute = 200 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 84 , // 2 frames for 23.976 fps videos
DialogStyle = DialogType . DashSecondLineWithoutSpace ,
ContinuationStyle = ContinuationStyle . LeadingTrailingDots
2019-03-13 07:58:05 +01:00
} ) ;
2019-10-04 23:57:56 +02:00
profiles . Add ( new RulesProfile
{
Name = "Arte (German/English)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 40 ,
SubtitleMaximumCharactersPerSeconds = 20 ,
SubtitleOptimalCharactersPerSeconds = 12 ,
SubtitleMaximumDisplayMilliseconds = 10000 ,
SubtitleMinimumDisplayMilliseconds = 1000 ,
SubtitleMaximumWordsPerMinute = 300 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 200 , // 5 frames for 25 fps videos
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . None
2019-10-04 23:57:56 +02:00
} ) ;
2019-12-10 23:05:44 +01:00
profiles . Add ( new RulesProfile
{
Name = "Dutch professional subtitles (23.976/24 fps)" ,
SubtitleLineMaximumLength = 42 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 15 ,
SubtitleOptimalCharactersPerSeconds = 11 ,
SubtitleMaximumDisplayMilliseconds = 7007 ,
SubtitleMinimumDisplayMilliseconds = 1400 ,
SubtitleMaximumWordsPerMinute = 180 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 125 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashSecondLineWithoutSpace ,
ContinuationStyle = ContinuationStyle . OnlyTrailingDots
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "Dutch professional subtitles (25 fps)" ,
SubtitleLineMaximumLength = 42 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 15 ,
SubtitleOptimalCharactersPerSeconds = 11 ,
SubtitleMaximumDisplayMilliseconds = 7000 ,
SubtitleMinimumDisplayMilliseconds = 1400 ,
SubtitleMaximumWordsPerMinute = 180 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 120 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashSecondLineWithoutSpace ,
ContinuationStyle = ContinuationStyle . OnlyTrailingDots
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "Dutch fansubs (23.976/24 fps)" ,
SubtitleLineMaximumLength = 45 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 40 ,
SubtitleMaximumCharactersPerSeconds = 22.5 m ,
SubtitleOptimalCharactersPerSeconds = 12 ,
SubtitleMaximumDisplayMilliseconds = 7007 ,
SubtitleMinimumDisplayMilliseconds = 1200 ,
SubtitleMaximumWordsPerMinute = 240 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 125 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashSecondLineWithSpace ,
ContinuationStyle = ContinuationStyle . OnlyTrailingDots
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "Dutch fansubs (25 fps)" ,
SubtitleLineMaximumLength = 45 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 40 ,
SubtitleMaximumCharactersPerSeconds = 22.5 m ,
SubtitleOptimalCharactersPerSeconds = 12 ,
SubtitleMaximumDisplayMilliseconds = 7000 ,
SubtitleMinimumDisplayMilliseconds = 1200 ,
SubtitleMaximumWordsPerMinute = 240 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 120 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashSecondLineWithSpace ,
ContinuationStyle = ContinuationStyle . OnlyTrailingDots
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "Danish professional subtitles (23.976/24 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 40 ,
SubtitleMaximumCharactersPerSeconds = 15 ,
SubtitleOptimalCharactersPerSeconds = 10 ,
SubtitleMaximumDisplayMilliseconds = 8008 ,
SubtitleMinimumDisplayMilliseconds = 2002 ,
SubtitleMaximumWordsPerMinute = 180 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 125 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . LeadingTrailingDashDots
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "Danish professional subtitles (25 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 40 ,
SubtitleMaximumCharactersPerSeconds = 15 ,
SubtitleOptimalCharactersPerSeconds = 10 ,
SubtitleMaximumDisplayMilliseconds = 8000 ,
SubtitleMinimumDisplayMilliseconds = 2000 ,
SubtitleMaximumWordsPerMinute = 180 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 120 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . LeadingTrailingDashDots
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "SW2 (French) (23.976/24 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 25 ,
SubtitleOptimalCharactersPerSeconds = 18 ,
SubtitleMaximumDisplayMilliseconds = 5005 ,
SubtitleMinimumDisplayMilliseconds = 792 ,
SubtitleMaximumWordsPerMinute = 300 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 125 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . None
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "SW2 (French) (25 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 25 ,
SubtitleOptimalCharactersPerSeconds = 18 ,
SubtitleMaximumDisplayMilliseconds = 5000 ,
SubtitleMinimumDisplayMilliseconds = 800 ,
SubtitleMaximumWordsPerMinute = 300 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 120 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . None
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "SW3 (French) (23.976/24 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 25 ,
SubtitleOptimalCharactersPerSeconds = 18 ,
SubtitleMaximumDisplayMilliseconds = 5005 ,
SubtitleMinimumDisplayMilliseconds = 792 ,
SubtitleMaximumWordsPerMinute = 300 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 167 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . None
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "SW3 (French) (25 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 25 ,
SubtitleOptimalCharactersPerSeconds = 18 ,
SubtitleMaximumDisplayMilliseconds = 5000 ,
SubtitleMinimumDisplayMilliseconds = 800 ,
SubtitleMaximumWordsPerMinute = 300 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 160 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . None
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "SW4 (French) (23.976/24 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 25 ,
SubtitleOptimalCharactersPerSeconds = 18 ,
SubtitleMaximumDisplayMilliseconds = 5005 ,
SubtitleMinimumDisplayMilliseconds = 792 ,
SubtitleMaximumWordsPerMinute = 300 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 250 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . None
2019-12-10 23:05:44 +01:00
} ) ;
profiles . Add ( new RulesProfile
{
Name = "SW4 (French) (25 fps)" ,
SubtitleLineMaximumLength = 40 ,
MaxNumberOfLines = 2 ,
MergeLinesShorterThan = 37 ,
SubtitleMaximumCharactersPerSeconds = 25 ,
SubtitleOptimalCharactersPerSeconds = 18 ,
SubtitleMaximumDisplayMilliseconds = 5000 ,
SubtitleMinimumDisplayMilliseconds = 800 ,
SubtitleMaximumWordsPerMinute = 300 ,
CpsIncludesSpace = true ,
MinimumMillisecondsBetweenLines = 240 ,
2020-04-01 19:27:20 +02:00
DialogStyle = DialogType . DashBothLinesWithSpace ,
ContinuationStyle = ContinuationStyle . None
2019-12-10 23:05:44 +01:00
} ) ;
2019-03-12 21:14:21 +01:00
}
2016-02-08 21:11:03 +01:00
}
public class VideoControlsSettings
{
public string CustomSearchText1 { get ; set ; }
public string CustomSearchText2 { get ; set ; }
public string CustomSearchText3 { get ; set ; }
public string CustomSearchText4 { get ; set ; }
public string CustomSearchText5 { get ; set ; }
public string CustomSearchUrl1 { get ; set ; }
public string CustomSearchUrl2 { get ; set ; }
public string CustomSearchUrl3 { get ; set ; }
public string CustomSearchUrl4 { get ; set ; }
public string CustomSearchUrl5 { get ; set ; }
public string LastActiveTab { get ; set ; }
public bool WaveformDrawGrid { get ; set ; }
2017-01-16 18:57:29 +01:00
public bool WaveformDrawCps { get ; set ; }
public bool WaveformDrawWpm { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool WaveformAllowOverlap { get ; set ; }
public bool WaveformFocusOnMouseEnter { get ; set ; }
public bool WaveformListViewFocusOnMouseEnter { get ; set ; }
2017-01-12 21:27:19 +01:00
public bool WaveformSetVideoPositionOnMoveStartEnd { get ; set ; }
2020-03-30 22:28:17 +02:00
public bool WaveformSingleClickSelect { get ; set ; }
2020-03-31 00:13:11 +02:00
public bool WaveformSnapToSceneChanges { get ; set ; }
2016-02-08 21:11:03 +01:00
public int WaveformBorderHitMs { get ; set ; }
public Color WaveformGridColor { get ; set ; }
public Color WaveformColor { get ; set ; }
public Color WaveformSelectedColor { get ; set ; }
public Color WaveformBackgroundColor { get ; set ; }
public Color WaveformTextColor { get ; set ; }
2020-05-04 15:25:38 +02:00
public Color WaveformCursorColor { get ; set ; }
2020-10-27 22:07:11 +01:00
public Color WaveformChaptersColor { get ; set ; }
2016-02-08 21:11:03 +01:00
public int WaveformTextSize { get ; set ; }
public bool WaveformTextBold { get ; set ; }
public string WaveformDoubleClickOnNonParagraphAction { get ; set ; }
public string WaveformRightClickOnNonParagraphAction { get ; set ; }
public bool WaveformMouseWheelScrollUpIsForward { get ; set ; }
public bool GenerateSpectrogram { get ; set ; }
public string SpectrogramAppearance { get ; set ; }
public int WaveformMinimumSampleRate { get ; set ; }
public double WaveformSeeksSilenceDurationSeconds { get ; set ; }
public double WaveformSeeksSilenceMaxVolume { get ; set ; }
2018-11-01 20:48:54 +01:00
public bool WaveformUnwrapText { get ; set ; }
public bool WaveformHideWpmCpsLabels { get ; set ; }
2016-02-08 21:11:03 +01:00
public VideoControlsSettings ( )
{
CustomSearchText1 = "The Free Dictionary" ;
2018-12-11 22:59:25 +01:00
CustomSearchUrl1 = "https://www.thefreedictionary.com/{0}" ;
2016-02-08 21:11:03 +01:00
CustomSearchText2 = "Wikipedia" ;
2018-12-11 22:59:25 +01:00
CustomSearchUrl2 = "https://en.wikipedia.org/wiki?search={0}" ;
2016-02-08 21:11:03 +01:00
LastActiveTab = "Translate" ;
WaveformDrawGrid = true ;
WaveformAllowOverlap = false ;
WaveformBorderHitMs = 15 ;
WaveformGridColor = Color . FromArgb ( 255 , 20 , 20 , 18 ) ;
WaveformColor = Color . FromArgb ( 255 , 160 , 240 , 30 ) ;
WaveformSelectedColor = Color . FromArgb ( 255 , 230 , 0 , 0 ) ;
WaveformBackgroundColor = Color . Black ;
WaveformTextColor = Color . Gray ;
2020-05-04 15:25:38 +02:00
WaveformCursorColor = Color . Turquoise ;
2020-10-27 22:07:11 +01:00
WaveformChaptersColor = Color . FromArgb ( 255 , 104 , 33 , 122 ) ;
2016-02-08 21:11:03 +01:00
WaveformTextSize = 9 ;
WaveformTextBold = true ;
WaveformDoubleClickOnNonParagraphAction = "PlayPause" ;
WaveformDoubleClickOnNonParagraphAction = string . Empty ;
WaveformMouseWheelScrollUpIsForward = true ;
SpectrogramAppearance = "OneColorGradient" ;
WaveformMinimumSampleRate = 126 ;
WaveformSeeksSilenceDurationSeconds = 0.3 ;
WaveformSeeksSilenceMaxVolume = 0.1 ;
2020-03-31 00:13:11 +02:00
WaveformSnapToSceneChanges = true ;
2016-02-08 21:11:03 +01:00
}
}
public class VobSubOcrSettings
{
public int XOrMorePixelsMakesSpace { get ; set ; }
public double AllowDifferenceInPercent { get ; set ; }
public double BlurayAllowDifferenceInPercent { get ; set ; }
public string LastImageCompareFolder { get ; set ; }
public int LastModiLanguageId { get ; set ; }
public string LastOcrMethod { get ; set ; }
public string TesseractLastLanguage { get ; set ; }
2018-09-19 22:22:19 +02:00
public bool UseTesseractFallback { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool UseItalicsInTesseract { get ; set ; }
2018-03-27 17:24:47 +02:00
public int TesseractEngineMode { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool UseMusicSymbolsInTesseract { get ; set ; }
public bool RightToLeft { get ; set ; }
public bool TopToBottom { get ; set ; }
public int DefaultMillisecondsForUnknownDurations { get ; set ; }
2020-03-17 20:31:27 +01:00
public bool FixOcrErrors { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool PromptForUnknownWords { get ; set ; }
public bool GuessUnknownWords { get ; set ; }
public bool AutoBreakSubtitleIfMoreThanTwoLines { get ; set ; }
public double ItalicFactor { get ; set ; }
2018-03-15 20:25:13 +01:00
2016-02-08 21:11:03 +01:00
public bool LineOcrDraw { get ; set ; }
2020-06-06 20:12:34 +02:00
public int LineOcrMinHeightSplit { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool LineOcrAdvancedItalic { get ; set ; }
public string LineOcrLastLanguages { get ; set ; }
public string LineOcrLastSpellCheck { get ; set ; }
2020-05-23 21:22:05 +02:00
public int LineOcrLinesToAutoGuess { get ; set ; }
2016-02-08 21:11:03 +01:00
public int LineOcrMinLineHeight { get ; set ; }
public int LineOcrMaxLineHeight { get ; set ; }
2020-05-30 14:22:08 +02:00
public int LineOcrMaxErrorPixels { get ; set ; }
2016-02-08 21:11:03 +01:00
public string LastBinaryImageCompareDb { get ; set ; }
public string LastBinaryImageSpellCheck { get ; set ; }
2019-02-06 17:16:54 +01:00
public bool BinaryAutoDetectBestDb { get ; set ; }
2018-03-15 20:25:13 +01:00
public string LastTesseractSpellCheck { get ; set ; }
2019-08-31 20:23:48 +02:00
public bool CaptureTopAlign { get ; set ; }
2020-05-24 09:45:21 +02:00
public int UnfocusedAttentionBlinkCount { get ; set ; }
public int UnfocusedAttentionPlaySoundCount { get ; set ; }
2016-02-08 21:11:03 +01:00
public VobSubOcrSettings ( )
{
XOrMorePixelsMakesSpace = 8 ;
AllowDifferenceInPercent = 1.0 ;
BlurayAllowDifferenceInPercent = 7.5 ;
LastImageCompareFolder = "English" ;
LastModiLanguageId = 9 ;
LastOcrMethod = "Tesseract" ;
UseItalicsInTesseract = true ;
2018-10-03 22:22:08 +02:00
TesseractEngineMode = 3 ; // Default, based on what is available (T4 docs)
2016-02-08 21:11:03 +01:00
UseMusicSymbolsInTesseract = true ;
2018-09-19 22:22:19 +02:00
UseTesseractFallback = true ;
2016-02-08 21:11:03 +01:00
RightToLeft = false ;
TopToBottom = true ;
DefaultMillisecondsForUnknownDurations = 5000 ;
2020-03-17 20:31:27 +01:00
FixOcrErrors = true ;
2016-02-08 21:11:03 +01:00
PromptForUnknownWords = true ;
GuessUnknownWords = true ;
AutoBreakSubtitleIfMoreThanTwoLines = true ;
2020-05-27 14:52:18 +02:00
ItalicFactor = 0.2f ;
2020-05-23 21:22:05 +02:00
LineOcrLinesToAutoGuess = 100 ;
2020-05-30 14:22:08 +02:00
LineOcrMaxErrorPixels = 45 ;
2020-06-01 16:29:50 +02:00
LastBinaryImageCompareDb = "Latin+Latin" ;
2019-02-06 17:16:54 +01:00
BinaryAutoDetectBestDb = true ;
2019-10-10 19:10:24 +02:00
CaptureTopAlign = false ;
2020-05-24 09:45:21 +02:00
UnfocusedAttentionBlinkCount = 50 ;
2020-05-24 10:03:51 +02:00
UnfocusedAttentionPlaySoundCount = 1 ;
2016-02-08 21:11:03 +01:00
}
}
public class MultipleSearchAndReplaceSetting
{
public bool Enabled { get ; set ; }
public string FindWhat { get ; set ; }
public string ReplaceWith { get ; set ; }
public string SearchType { get ; set ; }
2017-12-11 21:11:32 +01:00
public string Description { get ; set ; }
2016-02-08 21:11:03 +01:00
}
2016-06-26 16:23:40 +02:00
public class MultipleSearchAndReplaceGroup
{
public string Name { get ; set ; }
public bool Enabled { get ; set ; }
public List < MultipleSearchAndReplaceSetting > Rules { get ; set ; }
}
2016-02-08 21:11:03 +01:00
public class NetworkSettings
{
public string UserName { get ; set ; }
public string WebServiceUrl { get ; set ; }
public string SessionKey { get ; set ; }
public int PollIntervalSeconds { get ; set ; }
public string NewMessageSound { get ; set ; }
public NetworkSettings ( )
{
UserName = string . Empty ;
SessionKey = "DemoSession" ; // TODO: Leave blank or use guid
2018-09-20 00:05:55 +02:00
WebServiceUrl = "https://www.nikse.dk/se/SeService.asmx" ;
2016-02-08 21:11:03 +01:00
PollIntervalSeconds = 5 ;
}
}
public class Shortcuts
{
public string GeneralGoToFirstSelectedLine { get ; set ; }
public string GeneralGoToNextEmptyLine { get ; set ; }
public string GeneralMergeSelectedLines { get ; set ; }
2018-08-26 10:25:24 +02:00
public string GeneralMergeSelectedLinesAndAutoBreak { get ; set ; }
2018-08-17 06:11:08 +02:00
public string GeneralMergeSelectedLinesAndUnbreak { get ; set ; }
public string GeneralMergeSelectedLinesAndUnbreakCjk { get ; set ; }
2016-02-08 21:11:03 +01:00
public string GeneralMergeSelectedLinesOnlyFirstText { get ; set ; }
2018-08-17 06:11:08 +02:00
public string GeneralMergeSelectedLinesBilingual { get ; set ; }
2016-10-18 11:50:28 +02:00
public string GeneralMergeWithNext { get ; set ; }
public string GeneralMergeWithPrevious { get ; set ; }
2016-02-08 21:11:03 +01:00
public string GeneralToggleTranslationMode { get ; set ; }
public string GeneralSwitchOriginalAndTranslation { get ; set ; }
public string GeneralMergeOriginalAndTranslation { get ; set ; }
public string GeneralGoToNextSubtitle { get ; set ; }
public string GeneralGoToPrevSubtitle { get ; set ; }
public string GeneralGoToStartOfCurrentSubtitle { get ; set ; }
public string GeneralGoToEndOfCurrentSubtitle { get ; set ; }
2017-01-11 21:24:34 +01:00
public string GeneralGoToPreviousSubtitleAndFocusVideo { get ; set ; }
2016-08-03 14:47:45 +02:00
public string GeneralGoToNextSubtitleAndFocusVideo { get ; set ; }
2020-06-07 22:48:07 +02:00
public string GeneralGoToPrevSubtitleAndPlay { get ; set ; }
2020-06-07 19:15:08 +02:00
public string GeneralGoToNextSubtitleAndPlay { get ; set ; }
2016-10-18 11:50:28 +02:00
public string GeneralAutoCalcCurrentDuration { get ; set ; }
2016-02-08 21:11:03 +01:00
public string GeneralPlayFirstSelected { get ; set ; }
2016-10-02 19:28:58 +02:00
public string GeneralHelp { get ; set ; }
2018-02-03 10:41:51 +01:00
public string GeneralUnbrekNoSpace { get ; set ; }
2018-12-25 00:08:23 +01:00
public string GeneralToggleBookmarks { get ; set ; }
public string GeneralToggleBookmarksWithText { get ; set ; }
public string GeneralClearBookmarks { get ; set ; }
public string GeneralGoToBookmark { get ; set ; }
2018-12-25 09:58:46 +01:00
public string GeneralGoToPreviousBookmark { get ; set ; }
2018-12-25 00:08:23 +01:00
public string GeneralGoToNextBookmark { get ; set ; }
2019-08-05 20:51:45 +02:00
public string ChooseProfile { get ; set ; }
2019-12-02 17:08:34 +01:00
public string DuplicateLine { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainFileNew { get ; set ; }
public string MainFileOpen { get ; set ; }
public string MainFileOpenKeepVideo { get ; set ; }
public string MainFileSave { get ; set ; }
public string MainFileSaveOriginal { get ; set ; }
public string MainFileSaveOriginalAs { get ; set ; }
public string MainFileSaveAs { get ; set ; }
public string MainFileSaveAll { get ; set ; }
2018-04-09 07:57:20 +02:00
public string MainFileOpenOriginal { get ; set ; }
2017-10-04 16:00:15 +02:00
public string MainFileCloseOriginal { get ; set ; }
2020-07-26 16:19:45 +02:00
public string MainFileCompare { get ; set ; }
2017-10-04 16:00:15 +02:00
public string MainFileImportPlainText { get ; set ; }
public string MainFileImportTimeCodes { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainFileExportEbu { get ; set ; }
2020-08-11 15:08:57 +02:00
public string MainFileExportPac { get ; set ; }
2017-10-10 20:50:18 +02:00
public string MainFileExportPlainText { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainEditUndo { get ; set ; }
public string MainEditRedo { get ; set ; }
public string MainEditFind { get ; set ; }
public string MainEditFindNext { get ; set ; }
public string MainEditReplace { get ; set ; }
2018-12-31 11:03:01 +01:00
public string MainEditMultipleReplace { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainEditGoToLineNumber { get ; set ; }
public string MainEditRightToLeft { get ; set ; }
2020-09-21 01:39:28 +02:00
public string MainEditFixRTLViaUnicodeChars { get ; set ; }
public string MainEditRemoveRTLUnicodeChars { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainEditReverseStartAndEndingForRTL { get ; set ; }
public string MainEditToggleTranslationOriginalInPreviews { get ; set ; }
public string MainEditInverseSelection { get ; set ; }
public string MainEditModifySelection { get ; set ; }
public string MainToolsFixCommonErrors { get ; set ; }
public string MainToolsFixCommonErrorsPreview { get ; set ; }
public string MainToolsMergeShortLines { get ; set ; }
2020-07-27 16:52:01 +02:00
public string MainToolsMergeDuplicateText { get ; set ; }
public string MainToolsMergeSameTimeCodes { get ; set ; }
2017-10-04 16:00:15 +02:00
public string MainToolsMakeEmptyFromCurrent { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainToolsSplitLongLines { get ; set ; }
2018-04-14 09:34:08 +02:00
public string MainToolsDurationsBridgeGap { get ; set ; }
2019-12-26 08:11:30 +01:00
public string MainToolsMinimumDisplayTimeBetweenParagraphs { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainToolsRenumber { get ; set ; }
public string MainToolsRemoveTextForHI { get ; set ; }
public string MainToolsChangeCasing { get ; set ; }
public string MainToolsAutoDuration { get ; set ; }
public string MainToolsBatchConvert { get ; set ; }
2020-10-07 14:47:22 +02:00
public string MainToolsMeasurementConverter { get ; set ; }
2020-07-11 20:42:37 +02:00
public string MainToolsSplit { get ; set ; }
public string MainToolsAppend { get ; set ; }
public string MainToolsJoin { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainToolsBeamer { get ; set ; }
2017-10-04 16:00:15 +02:00
public string MainVideoOpen { get ; set ; }
public string MainVideoClose { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainVideoPause { get ; set ; }
2018-08-23 07:00:40 +02:00
public string MainVideoPlayFromJustBefore { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainVideoPlayPauseToggle { get ; set ; }
public string MainVideoShowHideVideo { get ; set ; }
2020-09-10 03:07:25 +02:00
public string MainVideoFoucsSetVideoPosition { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainVideoToggleVideoControls { get ; set ; }
public string MainVideo1FrameLeft { get ; set ; }
public string MainVideo1FrameRight { get ; set ; }
2017-06-29 19:21:23 +02:00
public string MainVideo1FrameLeftWithPlay { get ; set ; }
public string MainVideo1FrameRightWithPlay { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainVideo100MsLeft { get ; set ; }
public string MainVideo100MsRight { get ; set ; }
public string MainVideo500MsLeft { get ; set ; }
public string MainVideo500MsRight { get ; set ; }
public string MainVideo1000MsLeft { get ; set ; }
public string MainVideo1000MsRight { get ; set ; }
2016-07-09 12:29:18 +02:00
public string MainVideo5000MsLeft { get ; set ; }
public string MainVideo5000MsRight { get ; set ; }
2020-09-10 00:07:48 +02:00
public string MainVideoXSMsLeft { get ; set ; }
public string MainVideoXSMsRight { get ; set ; }
public string MainVideoXLMsLeft { get ; set ; }
public string MainVideoXLMsRight { get ; set ; }
2020-03-17 15:06:12 +01:00
public string MainVideo3000MsLeft { get ; set ; }
public string MainVideoGoToStartCurrent { get ; set ; }
public string MainVideoToggleStartEndCurrent { get ; set ; }
public string MainVideoPlayCurrent { get ; set ; }
2018-04-15 16:42:08 +02:00
public string MainVideoGoToPrevSubtitle { get ; set ; }
public string MainVideoGoToNextSubtitle { get ; set ; }
2020-10-16 14:49:15 +02:00
public string MainVideoGoToPrevChapter { get ; set ; }
public string MainVideoGoToNextChapter { get ; set ; }
2020-03-18 08:45:01 +01:00
public string MainVideoSelectNextSubtitle { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainVideoFullscreen { get ; set ; }
2018-02-24 10:33:54 +01:00
public string MainVideoSlower { get ; set ; }
public string MainVideoFaster { get ; set ; }
2019-07-28 09:45:04 +02:00
public string MainVideoReset { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainSpellCheck { get ; set ; }
public string MainSpellCheckFindDoubleWords { get ; set ; }
public string MainSpellCheckAddWordToNames { get ; set ; }
public string MainSynchronizationAdjustTimes { get ; set ; }
public string MainSynchronizationVisualSync { get ; set ; }
public string MainSynchronizationPointSync { get ; set ; }
2017-10-04 16:00:15 +02:00
public string MainSynchronizationPointSyncViaFile { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainSynchronizationChangeFrameRate { get ; set ; }
public string MainListViewItalic { get ; set ; }
2018-11-27 21:05:40 +01:00
public string MainListViewBold { get ; set ; }
public string MainListViewUnderline { get ; set ; }
2020-08-11 15:08:57 +02:00
public string MainListViewBox { get ; set ; }
2020-06-10 11:22:31 +02:00
public string MainListViewSplit { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainListViewToggleDashes { get ; set ; }
2018-03-05 18:55:33 +01:00
public string MainListViewToggleMusicSymbols { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainListViewAlignment { get ; set ; }
2018-11-27 21:05:40 +01:00
public string MainListViewAlignmentN1 { get ; set ; }
public string MainListViewAlignmentN2 { get ; set ; }
public string MainListViewAlignmentN3 { get ; set ; }
public string MainListViewAlignmentN4 { get ; set ; }
public string MainListViewAlignmentN5 { get ; set ; }
public string MainListViewAlignmentN6 { get ; set ; }
public string MainListViewAlignmentN7 { get ; set ; }
public string MainListViewAlignmentN8 { get ; set ; }
public string MainListViewAlignmentN9 { get ; set ; }
2018-12-02 09:59:34 +01:00
public string MainRemoveFormatting { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainListViewCopyText { get ; set ; }
public string MainListViewCopyTextFromOriginalToCurrent { get ; set ; }
public string MainListViewAutoDuration { get ; set ; }
public string MainListViewColumnDeleteText { get ; set ; }
2018-08-17 06:11:08 +02:00
public string MainListViewColumnDeleteTextAndShiftUp { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainListViewColumnInsertText { get ; set ; }
public string MainListViewColumnPaste { get ; set ; }
2018-01-31 16:03:43 +01:00
public string MainListViewColumnTextUp { get ; set ; }
2018-02-06 17:10:38 +01:00
public string MainListViewColumnTextDown { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainListViewFocusWaveform { get ; set ; }
public string MainListViewGoToNextError { get ; set ; }
2020-02-10 17:45:24 +01:00
public string MainListViewRemoveTimeCodes { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainTextBoxItalic { get ; set ; }
public string MainTextBoxSplitAtCursor { get ; set ; }
2018-02-13 20:06:27 +01:00
public string MainTextBoxSplitAtCursorAndVideoPos { get ; set ; }
2018-08-23 07:00:40 +02:00
public string MainTextBoxSplitSelectedLineBilingual { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainTextBoxMoveLastWordDown { get ; set ; }
public string MainTextBoxMoveFirstWordFromNextUp { get ; set ; }
2018-01-15 19:46:16 +01:00
public string MainTextBoxMoveLastWordDownCurrent { get ; set ; }
public string MainTextBoxMoveFirstWordUpCurrent { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainTextBoxSelectionToLower { get ; set ; }
public string MainTextBoxSelectionToUpper { get ; set ; }
2019-11-24 14:50:07 +01:00
public string MainTextBoxSelectionToRuby { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainTextBoxToggleAutoDuration { get ; set ; }
public string MainCreateInsertSubAtVideoPos { get ; set ; }
2020-05-04 14:27:56 +02:00
public string MainCreateInsertSubAtVideoPosNoTextBoxFocus { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainCreateSetStart { get ; set ; }
public string MainCreateSetEnd { get ; set ; }
2020-08-11 15:08:57 +02:00
public string MainAdjustSetEndAndPause { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainCreateSetEndAddNewAndGoToNew { get ; set ; }
public string MainCreateStartDownEndUp { get ; set ; }
public string MainAdjustSetStartAndOffsetTheRest { get ; set ; }
2020-03-22 20:18:58 +01:00
public string MainAdjustSetStartAndOffsetTheRest2 { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainAdjustSetEndAndOffsetTheRest { get ; set ; }
public string MainAdjustSetEndAndOffsetTheRestAndGoToNext { get ; set ; }
public string MainAdjustSetEndAndGotoNext { get ; set ; }
2018-08-12 17:38:58 +02:00
public string MainAdjustViaEndAutoStart { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainAdjustViaEndAutoStartAndGoToNext { get ; set ; }
public string MainAdjustSetStartAutoDurationAndGoToNext { get ; set ; }
public string MainAdjustSetEndNextStartAndGoToNext { get ; set ; }
public string MainAdjustStartDownEndUpAndGoToNext { get ; set ; }
public string MainAdjustSetStartKeepDuration { get ; set ; }
public string MainAdjustSelected100MsForward { get ; set ; }
public string MainAdjustSelected100MsBack { get ; set ; }
2017-11-06 18:22:49 +01:00
public string MainAdjustStartXMsBack { get ; set ; }
public string MainAdjustStartXMsForward { get ; set ; }
public string MainAdjustEndXMsBack { get ; set ; }
public string MainAdjustEndXMsForward { get ; set ; }
2020-05-05 08:53:01 +02:00
public string MoveStartOneFrameBack { get ; set ; }
public string MoveStartOneFrameForward { get ; set ; }
public string MoveEndOneFrameBack { get ; set ; }
public string MoveEndOneFrameForward { get ; set ; }
2020-05-05 15:51:44 +02:00
public string MoveStartOneFrameBackKeepGapPrev { get ; set ; }
public string MoveStartOneFrameForwardKeepGapPrev { get ; set ; }
public string MoveEndOneFrameBackKeepGapNext { get ; set ; }
public string MoveEndOneFrameForwardKeepGapNext { get ; set ; }
2020-09-16 19:35:54 +02:00
public string MainAdjustSnapStartToNextSceneChange { get ; set ; }
public string MainAdjustSnapStartToNextSceneChangeWithGap { get ; set ; }
public string MainAdjustSnapEndToPreviousSceneChange { get ; set ; }
public string MainAdjustSnapEndToPreviousSceneChangeWithGap { get ; set ; }
2020-04-01 00:10:08 +02:00
public string MainAdjustExtendToNextSceneChange { get ; set ; }
2020-08-25 13:57:28 +02:00
public string MainAdjustExtendToNextSceneChangeWithGap { get ; set ; }
2020-04-01 00:10:08 +02:00
public string MainAdjustExtendToPreviousSceneChange { get ; set ; }
2020-09-09 17:34:29 +02:00
public string MainAdjustExtendToPreviousSceneChangeWithGap { get ; set ; }
2020-04-01 00:10:08 +02:00
public string MainAdjustExtendToNextSubtitle { get ; set ; }
public string MainAdjustExtendToPreviousSubtitle { get ; set ; }
2020-10-09 03:35:52 +02:00
public string MainAdjustExtendCurrentSubtitle { get ; set ; }
2020-10-09 03:02:22 +02:00
public string MainAdjustExtendPreviousLineEndToCurrentStart { get ; set ; }
public string MainAdjustExtendNextLineStartToCurrentEnd { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainInsertAfter { get ; set ; }
public string MainTextBoxAutoBreak { get ; set ; }
2019-02-07 19:27:19 +01:00
public string MainTextBoxBreakAtPosition { get ; set ; }
public string MainTextBoxBreakAtPositionAndGoToNext { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainTextBoxUnbreak { get ; set ; }
public string MainWaveformInsertAtCurrentPosition { get ; set ; }
public string MainInsertBefore { get ; set ; }
public string MainMergeDialog { get ; set ; }
public string MainToggleFocus { get ; set ; }
2020-05-12 12:54:07 +02:00
public string WaveformAdd { get ; set ; }
2016-02-08 21:11:03 +01:00
public string WaveformVerticalZoom { get ; set ; }
public string WaveformVerticalZoomOut { get ; set ; }
public string WaveformZoomIn { get ; set ; }
public string WaveformZoomOut { get ; set ; }
2018-03-06 21:49:02 +01:00
public string WaveformSplit { get ; set ; }
2016-02-08 21:11:03 +01:00
public string WaveformPlaySelection { get ; set ; }
public string WaveformPlaySelectionEnd { get ; set ; }
public string WaveformSearchSilenceForward { get ; set ; }
public string WaveformSearchSilenceBack { get ; set ; }
public string WaveformAddTextHere { get ; set ; }
public string WaveformAddTextHereFromClipboard { get ; set ; }
2019-11-23 16:17:00 +01:00
public string WaveformSetParagraphAsSelection { get ; set ; }
2016-02-08 21:11:03 +01:00
public string WaveformFocusListView { get ; set ; }
2017-11-03 20:24:16 +01:00
public string WaveformGoToPreviousSceneChange { get ; set ; }
2016-08-06 14:13:51 +02:00
public string WaveformGoToNextSceneChange { get ; set ; }
2016-08-07 10:38:43 +02:00
public string WaveformToggleSceneChange { get ; set ; }
2020-03-15 11:22:18 +01:00
public string WaveformGuessStart { get ; set ; }
2020-05-06 20:35:29 +02:00
public string Waveform100MsLeft { get ; set ; }
public string Waveform100MsRight { get ; set ; }
public string Waveform1000MsLeft { get ; set ; }
public string Waveform1000MsRight { get ; set ; }
2019-03-24 16:26:21 +01:00
public string MainTranslateGoogleIt { get ; set ; }
public string MainTranslateGoogleTranslate { get ; set ; }
2016-02-08 21:11:03 +01:00
public string MainTranslateCustomSearch1 { get ; set ; }
public string MainTranslateCustomSearch2 { get ; set ; }
public string MainTranslateCustomSearch3 { get ; set ; }
public string MainTranslateCustomSearch4 { get ; set ; }
public string MainTranslateCustomSearch5 { get ; set ; }
public Shortcuts ( )
{
GeneralGoToFirstSelectedLine = "Control+L" ;
GeneralMergeSelectedLines = "Control+Shift+M" ;
GeneralToggleTranslationMode = "Control+Shift+O" ;
GeneralSwitchOriginalAndTranslation = "Control+Alt+O" ;
GeneralMergeOriginalAndTranslation = "Control+Alt+Shift+M" ;
GeneralGoToNextSubtitle = "Shift+Return" ;
2019-02-05 10:05:53 +01:00
GeneralToggleBookmarksWithText = "Control+Shift+B" ;
2016-02-08 21:11:03 +01:00
MainFileNew = "Control+N" ;
MainFileOpen = "Control+O" ;
MainFileSave = "Control+S" ;
MainEditUndo = "Control+Z" ;
MainEditRedo = "Control+Y" ;
MainEditFind = "Control+F" ;
MainEditFindNext = "F3" ;
MainEditReplace = "Control+H" ;
MainEditMultipleReplace = "Control+Alt+M" ;
MainEditGoToLineNumber = "Control+G" ;
MainEditRightToLeft = "Control+Shift+Alt+R" ;
MainEditInverseSelection = "Control+Shift+I" ;
MainToolsFixCommonErrors = "Control+Shift+F" ;
MainToolsFixCommonErrorsPreview = "Control+P" ;
MainToolsRenumber = "Control+Shift+N" ;
MainToolsRemoveTextForHI = "Control+Shift+H" ;
MainToolsChangeCasing = "Control+Shift+C" ;
2020-03-22 20:18:58 +01:00
MainVideoPlayFromJustBefore = "Shift+F10" ;
2016-02-08 21:11:03 +01:00
MainVideoPlayPauseToggle = "Control+P" ;
MainVideoPause = "Control+Alt+P" ;
MainVideoShowHideVideo = "Control+Q" ;
MainVideo500MsLeft = "Alt+Left" ;
MainVideo500MsRight = "Alt+Right" ;
MainVideoFullscreen = "Alt+Return" ;
2019-07-28 09:45:04 +02:00
MainVideoReset = "Control+D0" ;
2016-02-08 21:11:03 +01:00
MainSpellCheck = "Control+Shift+S" ;
MainSpellCheckFindDoubleWords = "Control+Shift+D" ;
MainSpellCheckAddWordToNames = "Control+Shift+L" ;
MainSynchronizationAdjustTimes = "Control+Shift+A" ;
MainSynchronizationVisualSync = "Control+Shift+V" ;
MainSynchronizationPointSync = "Control+Shift+P" ;
2019-03-12 21:14:21 +01:00
MainListViewItalic = "Control+I" ;
2016-02-08 21:11:03 +01:00
MainTextBoxItalic = "Control+I" ;
MainTextBoxSplitAtCursor = "Control+Alt+V" ;
MainTextBoxSelectionToLower = "Control+U" ;
MainTextBoxSelectionToUpper = "Control+Shift+U" ;
MainToolsBeamer = "Control+Shift+Alt+B" ;
2020-03-22 20:18:58 +01:00
MainCreateInsertSubAtVideoPos = "Shift+F9" ;
MainVideoGoToStartCurrent = "Shift+F11" ;
2020-03-28 19:28:02 +01:00
MainVideoToggleStartEndCurrent = "F4" ;
MainVideoPlayCurrent = "F5" ;
MainVideoGoToStartCurrent = "F6" ;
MainVideo3000MsLeft = "F7" ;
MainListViewGoToNextError = "F8" ;
2020-03-22 20:18:58 +01:00
MainCreateSetStart = "F11" ;
MainCreateSetEnd = "F12" ;
2016-02-08 21:11:03 +01:00
MainAdjustSetStartAndOffsetTheRest = "Control+Space" ;
2020-03-22 20:18:58 +01:00
MainAdjustSetStartAndOffsetTheRest2 = "F9" ;
2020-03-28 09:29:34 +01:00
MainAdjustSetEndAndGotoNext = "F10" ;
2016-02-08 21:11:03 +01:00
MainInsertAfter = "Alt+Insert" ;
MainWaveformInsertAtCurrentPosition = "Insert" ;
MainInsertBefore = "Control+Shift+Insert" ;
MainTextBoxAutoBreak = "Control+R" ;
WaveformVerticalZoom = "Shift+Add" ;
WaveformVerticalZoomOut = "Shift+Subtract" ;
2016-10-02 19:28:58 +02:00
GeneralHelp = "F1" ;
2019-11-14 21:19:43 +01:00
WaveformAddTextHere = "Return" ;
2020-05-06 20:35:29 +02:00
Waveform100MsLeft = "Shift+Left" ;
Waveform100MsRight = "Shift+Right" ;
Waveform1000MsLeft = "Left" ;
Waveform1000MsRight = "Right" ;
2020-05-08 11:45:50 +02:00
MainTranslateGoogleTranslate = "Control+Shift+G" ;
2020-04-01 00:10:08 +02:00
MainAdjustExtendToNextSubtitle = "Control+Shift+E" ;
MainAdjustExtendToPreviousSubtitle = "Alt+Shift+E" ;
2016-02-08 21:11:03 +01:00
}
2020-10-11 11:47:19 +02:00
public Shortcuts Clone ( )
{
2020-10-11 16:29:41 +02:00
var xws = new XmlWriterSettings { Indent = true } ;
var sb = new StringBuilder ( ) ;
using ( var textWriter = XmlWriter . Create ( sb , xws ) )
2020-10-11 11:47:19 +02:00
{
2020-10-11 16:29:41 +02:00
textWriter . WriteStartDocument ( ) ;
textWriter . WriteStartElement ( "Settings" , string . Empty ) ;
Settings . WriteShortcuts ( this , textWriter ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteEndDocument ( ) ;
2020-10-11 11:47:19 +02:00
}
2020-10-11 16:29:41 +02:00
var doc = new XmlDocument { PreserveWhitespace = true } ;
doc . LoadXml ( sb . ToString ( ) . Replace ( "encoding=\"utf-16\"" , "encoding=\"utf-8\"" ) ) ;
var shortcuts = new Shortcuts ( ) ;
Settings . ReadShortcuts ( doc , shortcuts ) ;
return shortcuts ;
2020-10-11 11:47:19 +02:00
}
public static void Save ( string fileName , Shortcuts shortcuts )
{
2020-10-11 16:29:41 +02:00
var xws = new XmlWriterSettings { Indent = true , Encoding = Encoding . UTF8 } ;
var sb = new StringBuilder ( ) ;
using ( var textWriter = XmlWriter . Create ( sb , xws ) )
2020-10-11 14:22:11 +02:00
{
2020-10-11 16:29:41 +02:00
textWriter . WriteStartDocument ( ) ;
textWriter . WriteStartElement ( "Settings" , string . Empty ) ;
Settings . WriteShortcuts ( shortcuts , textWriter ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteEndDocument ( ) ;
2020-10-11 14:22:11 +02:00
}
2020-10-11 16:29:41 +02:00
File . WriteAllText ( fileName , sb . ToString ( ) . Replace ( "encoding=\"utf-16\"" , "encoding=\"utf-8\"" ) , Encoding . UTF8 ) ;
2020-10-11 11:47:19 +02:00
}
public static Shortcuts Load ( string fileName )
{
2020-10-11 16:29:41 +02:00
var doc = new XmlDocument { PreserveWhitespace = true } ;
using ( var stream = new FileStream ( fileName , FileMode . Open , FileAccess . Read , FileShare . ReadWrite ) )
2020-10-11 14:22:11 +02:00
{
2020-10-11 16:29:41 +02:00
doc . Load ( stream ) ;
var shortcuts = new Shortcuts ( ) ;
Settings . ReadShortcuts ( doc , shortcuts ) ;
2020-10-11 14:22:11 +02:00
return shortcuts ;
}
2020-10-11 11:47:19 +02:00
}
2016-02-08 21:11:03 +01:00
}
public class RemoveTextForHearingImpairedSettings
{
public bool RemoveTextBetweenBrackets { get ; set ; }
public bool RemoveTextBetweenParentheses { get ; set ; }
public bool RemoveTextBetweenCurlyBrackets { get ; set ; }
public bool RemoveTextBetweenQuestionMarks { get ; set ; }
public bool RemoveTextBetweenCustom { get ; set ; }
public string RemoveTextBetweenCustomBefore { get ; set ; }
public string RemoveTextBetweenCustomAfter { get ; set ; }
2020-10-10 13:46:31 +02:00
public bool RemoveTextBetweenOnlySeparateLines { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool RemoveTextBeforeColon { get ; set ; }
public bool RemoveTextBeforeColonOnlyIfUppercase { get ; set ; }
public bool RemoveTextBeforeColonOnlyOnSeparateLine { get ; set ; }
public bool RemoveInterjections { get ; set ; }
2018-02-03 22:35:44 +01:00
public bool RemoveInterjectionsOnlyOnSeparateLine { get ; set ; }
2016-02-08 21:11:03 +01:00
public bool RemoveIfContains { get ; set ; }
public bool RemoveIfAllUppercase { get ; set ; }
public string RemoveIfContainsText { get ; set ; }
public RemoveTextForHearingImpairedSettings ( )
{
RemoveTextBetweenBrackets = true ;
RemoveTextBetweenParentheses = true ;
RemoveTextBetweenCurlyBrackets = true ;
RemoveTextBetweenQuestionMarks = true ;
RemoveTextBetweenCustom = false ;
RemoveTextBetweenCustomBefore = "¶" ;
RemoveTextBetweenCustomAfter = "¶" ;
RemoveTextBeforeColon = true ;
RemoveTextBeforeColonOnlyIfUppercase = true ;
RemoveIfContainsText = "¶" ;
}
}
public class SubtitleBeaming
{
public string FontName { get ; set ; }
public int FontSize { get ; set ; }
public Color FontColor { get ; set ; }
public Color BorderColor { get ; set ; }
public int BorderWidth { get ; set ; }
public SubtitleBeaming ( )
{
FontName = "Verdana" ;
FontSize = 30 ;
FontColor = Color . White ;
BorderColor = Color . DarkGray ;
BorderWidth = 2 ;
}
}
2016-10-10 17:00:08 +02:00
public class CompareSettings
{
public bool ShowOnlyDifferences { get ; set ; }
public bool OnlyLookForDifferenceInText { get ; set ; }
public bool IgnoreLineBreaks { get ; set ; }
2018-02-13 10:37:38 +01:00
public bool IgnoreFormatting { get ; set ; }
2016-10-10 17:00:08 +02:00
public CompareSettings ( )
{
OnlyLookForDifferenceInText = true ;
}
}
2016-02-08 21:11:03 +01:00
public class Settings
{
2020-03-22 20:18:58 +01:00
public string Version { get ; set ; }
2016-10-10 17:00:08 +02:00
public CompareSettings Compare { get ; set ; }
2016-02-08 21:11:03 +01:00
public RecentFilesSettings RecentFiles { get ; set ; }
public GeneralSettings General { get ; set ; }
public ToolsSettings Tools { get ; set ; }
2017-10-30 18:07:41 +01:00
public FcpExportSettings FcpExportSettings { get ; set ; }
2016-02-08 21:11:03 +01:00
public SubtitleSettings SubtitleSettings { get ; set ; }
public ProxySettings Proxy { get ; set ; }
public WordListSettings WordLists { get ; set ; }
public FixCommonErrorsSettings CommonErrors { get ; set ; }
public VobSubOcrSettings VobSubOcr { get ; set ; }
public VideoControlsSettings VideoControls { get ; set ; }
public NetworkSettings NetworkSettings { get ; set ; }
public Shortcuts Shortcuts { get ; set ; }
public RemoveTextForHearingImpairedSettings RemoveTextForHearingImpaired { get ; set ; }
2016-06-30 15:28:04 +02:00
public SubtitleBeaming SubtitleBeaming { get ; set ; }
2016-06-26 16:23:40 +02:00
public List < MultipleSearchAndReplaceGroup > MultipleSearchAndReplaceGroups { get ; set ; }
2016-02-08 21:11:03 +01:00
[XmlIgnore]
public Language Language { get ; set ; }
2019-12-11 15:17:35 +01:00
public void Reset ( )
2016-02-08 21:11:03 +01:00
{
RecentFiles = new RecentFilesSettings ( ) ;
General = new GeneralSettings ( ) ;
Tools = new ToolsSettings ( ) ;
2017-10-30 18:07:41 +01:00
FcpExportSettings = new FcpExportSettings ( ) ;
2016-02-08 21:11:03 +01:00
WordLists = new WordListSettings ( ) ;
SubtitleSettings = new SubtitleSettings ( ) ;
Proxy = new ProxySettings ( ) ;
CommonErrors = new FixCommonErrorsSettings ( ) ;
VobSubOcr = new VobSubOcrSettings ( ) ;
VideoControls = new VideoControlsSettings ( ) ;
NetworkSettings = new NetworkSettings ( ) ;
2016-06-26 16:23:40 +02:00
MultipleSearchAndReplaceGroups = new List < MultipleSearchAndReplaceGroup > ( ) ;
2016-02-08 21:11:03 +01:00
Language = new Language ( ) ;
Shortcuts = new Shortcuts ( ) ;
RemoveTextForHearingImpaired = new RemoveTextForHearingImpairedSettings ( ) ;
SubtitleBeaming = new SubtitleBeaming ( ) ;
2016-10-10 17:00:08 +02:00
Compare = new CompareSettings ( ) ;
2016-02-08 21:11:03 +01:00
}
2019-12-11 15:17:35 +01:00
private Settings ( )
{
Reset ( ) ;
}
2016-02-08 21:11:03 +01:00
public void Save ( )
{
//this is too slow: Serialize(Configuration.SettingsFileName, this);
2016-11-03 19:29:49 +01:00
CustomSerialize ( Configuration . SettingsFileName , this ) ;
2016-02-08 21:11:03 +01:00
}
//private static void Serialize(string fileName, Settings settings)
//{
// var s = new XmlSerializer(typeof(Settings));
// TextWriter w = new StreamWriter(fileName);
// s.Serialize(w, settings);
// w.Close();
//}
public static Settings GetSettings ( )
{
var settings = new Settings ( ) ;
2016-11-03 19:29:49 +01:00
var settingsFileName = Configuration . SettingsFileName ;
2016-02-08 21:11:03 +01:00
if ( File . Exists ( settingsFileName ) )
{
try
{
//too slow... :( - settings = Deserialize(settingsFileName); // 688 msecs
settings = CustomDeserialize ( settingsFileName ) ; // 15 msecs
2020-02-17 22:15:57 +01:00
if ( settings . General . DefaultEncoding . StartsWith ( "utf-8" , StringComparison . Ordinal ) )
2019-01-19 14:40:37 +01:00
{
2020-02-17 22:15:57 +01:00
settings . General . DefaultEncoding = TextEncoding . Utf8WithBom ;
2019-01-19 14:40:37 +01:00
}
2020-03-28 09:29:34 +01:00
if ( string . IsNullOrEmpty ( settings . Version ) )
{ // 3.5.14 or older
2020-03-28 19:28:02 +01:00
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainVideoToggleStartEndCurrent ) )
{
settings . Shortcuts . MainVideoToggleStartEndCurrent = "F4" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainVideoPlayCurrent ) )
{
settings . Shortcuts . MainVideoPlayCurrent = "F5" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainVideoGoToStartCurrent ) )
{
settings . Shortcuts . MainVideoGoToStartCurrent = "F6" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainVideo3000MsLeft ) )
{
settings . Shortcuts . MainVideo3000MsLeft = "F7" ;
}
2020-03-28 09:29:34 +01:00
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainAdjustSetStartAndOffsetTheRest2 ) )
{
settings . Shortcuts . MainAdjustSetStartAndOffsetTheRest2 = "F9" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainAdjustSetEndAndGotoNext ) )
{
settings . Shortcuts . MainAdjustSetEndAndGotoNext = "F10" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainCreateSetStart ) )
{
settings . Shortcuts . MainCreateSetStart = "F11" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainCreateSetEnd ) )
{
settings . Shortcuts . MainCreateSetEnd = "F12" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainCreateInsertSubAtVideoPos ) )
{
settings . Shortcuts . MainCreateInsertSubAtVideoPos = "Shift+F9" ;
}
if ( string . IsNullOrEmpty ( settings . Shortcuts . MainVideoGoToStartCurrent ) )
{
settings . Shortcuts . MainVideoGoToStartCurrent = "Shift+F11" ;
}
}
2020-05-10 10:01:04 +02:00
else if ( settings . Version . StartsWith ( "3.5.15" , StringComparison . Ordinal ) | |
settings . Version . StartsWith ( "3.5.14" , StringComparison . Ordinal ) | |
2020-05-08 11:45:50 +02:00
settings . Version . StartsWith ( "3.5.13" , StringComparison . Ordinal ) )
{
settings . Shortcuts . MainTranslateGoogleTranslate = "Control+Shift+G" ;
2020-05-21 08:13:33 +02:00
settings . Tools . MicrosoftTranslatorTokenEndpoint = "https://api.cognitive.microsoft.com/sts/v1.0/issueToken" ;
2020-05-08 11:45:50 +02:00
}
2016-02-08 21:11:03 +01:00
}
2018-12-31 11:03:01 +01:00
catch ( Exception exception )
2016-02-08 21:11:03 +01:00
{
settings = new Settings ( ) ;
2018-12-31 11:03:01 +01:00
SeLogger . Error ( exception , "Failed to load " + settingsFileName ) ;
2016-02-08 21:11:03 +01:00
}
if ( ! string . IsNullOrEmpty ( settings . General . ListViewLineSeparatorString ) )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ListViewLineSeparatorString = settings . General . ListViewLineSeparatorString . Replace ( "\n" , string . Empty ) . Replace ( "\r" , string . Empty ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
if ( string . IsNullOrWhiteSpace ( settings . General . ListViewLineSeparatorString ) )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ListViewLineSeparatorString = "<br />" ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
if ( settings . Shortcuts . GeneralToggleTranslationMode = = "Control+U" & & settings . Shortcuts . MainTextBoxSelectionToLower = = "Control+U" )
{
settings . Shortcuts . GeneralToggleTranslationMode = "Control+Shift+O" ;
settings . Shortcuts . GeneralSwitchOriginalAndTranslation = "Control+Alt+O" ;
}
2020-08-28 02:36:21 +02:00
if ( settings . General . UseFFmpegForWaveExtraction & & string . IsNullOrEmpty ( settings . General . FFmpegLocation ) & & Configuration . IsRunningOnWindows )
{
var guessPath = Path . Combine ( Configuration . DataDirectory , "ffmpeg" , "ffmpeg.exe" ) ;
if ( File . Exists ( guessPath ) )
{
settings . General . FFmpegLocation = guessPath ;
}
}
2016-02-08 21:11:03 +01:00
}
return settings ;
}
//private static Settings Deserialize(string fileName)
//{
// var r = new StreamReader(fileName);
// var s = new XmlSerializer(typeof(Settings));
// var settings = (Settings)s.Deserialize(r);
// r.Close();
// if (settings.RecentFiles == null)
// settings.RecentFiles = new RecentFilesSettings();
// if (settings.General == null)
// settings.General = new GeneralSettings();
// if (settings.SsaStyle == null)
// settings.SsaStyle = new SsaStyleSettings();
// if (settings.CommonErrors == null)
// settings.CommonErrors = new FixCommonErrorsSettings();
// if (settings.VideoControls == null)
// settings.VideoControls = new VideoControlsSettings();
// if (settings.VobSubOcr == null)
// settings.VobSubOcr = new VobSubOcrSettings();
// if (settings.MultipleSearchAndReplaceList == null)
// settings.MultipleSearchAndReplaceList = new List<MultipleSearchAndReplaceSetting>();
// if (settings.NetworkSettings == null)
// settings.NetworkSettings = new NetworkSettings();
// if (settings.Shortcuts == null)
// settings.Shortcuts = new Shortcuts();
// return settings;
//}
/// <summary>
/// A faster serializer than xml serializer... which is insanely slow (first time)!!!!
/// This method is auto-generated with XmlSerializerGenerator
/// </summary>
/// <param name="fileName">File name of xml settings file to load</param>
/// <returns>Newly loaded settings</returns>
private static Settings CustomDeserialize ( string fileName )
{
var doc = new XmlDocument { PreserveWhitespace = true } ;
2016-10-13 21:17:21 +02:00
using ( var stream = new FileStream ( fileName , FileMode . Open , FileAccess . Read , FileShare . ReadWrite ) )
{
doc . Load ( stream ) ;
}
2016-02-08 21:11:03 +01:00
var settings = new Settings ( ) ;
2020-03-22 20:18:58 +01:00
XmlNode versionNode = doc . DocumentElement . SelectSingleNode ( "Version" ) ;
if ( versionNode ! = null )
{
settings . Version = versionNode . InnerText ;
}
2016-10-11 17:47:04 +02:00
// Compare
2016-10-10 17:00:08 +02:00
XmlNode nodeCompare = doc . DocumentElement . SelectSingleNode ( "Compare" ) ;
if ( nodeCompare ! = null )
{
XmlNode xnode = nodeCompare . SelectSingleNode ( "ShowOnlyDifferences" ) ;
if ( xnode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-10-10 17:00:08 +02:00
settings . Compare . ShowOnlyDifferences = Convert . ToBoolean ( xnode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-10-13 06:08:16 +02:00
xnode = nodeCompare . SelectSingleNode ( "OnlyLookForDifferenceInText" ) ;
2016-10-10 17:00:08 +02:00
if ( xnode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-10-10 17:00:08 +02:00
settings . Compare . OnlyLookForDifferenceInText = Convert . ToBoolean ( xnode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-10-13 06:08:16 +02:00
xnode = nodeCompare . SelectSingleNode ( "IgnoreLineBreaks" ) ;
2016-10-10 17:00:08 +02:00
if ( xnode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-10-10 17:00:08 +02:00
settings . Compare . IgnoreLineBreaks = Convert . ToBoolean ( xnode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-02-13 10:37:38 +01:00
xnode = nodeCompare . SelectSingleNode ( "IgnoreFormatting" ) ;
if ( xnode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-02-13 10:37:38 +01:00
settings . Compare . IgnoreFormatting = Convert . ToBoolean ( xnode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-10-10 17:00:08 +02:00
}
2016-10-11 17:47:04 +02:00
// Recent files
2016-02-08 21:11:03 +01:00
XmlNode node = doc . DocumentElement . SelectSingleNode ( "RecentFiles" ) ;
foreach ( XmlNode listNode in node . SelectNodes ( "FileNames/FileName" ) )
{
string firstVisibleIndex = "-1" ;
if ( listNode . Attributes [ "FirstVisibleIndex" ] ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
firstVisibleIndex = listNode . Attributes [ "FirstVisibleIndex" ] . Value ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
string firstSelectedIndex = "-1" ;
if ( listNode . Attributes [ "FirstSelectedIndex" ] ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
firstSelectedIndex = listNode . Attributes [ "FirstSelectedIndex" ] . Value ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
string videoFileName = null ;
if ( listNode . Attributes [ "VideoFileName" ] ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
videoFileName = listNode . Attributes [ "VideoFileName" ] . Value ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
string originalFileName = null ;
if ( listNode . Attributes [ "OriginalFileName" ] ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
originalFileName = listNode . Attributes [ "OriginalFileName" ] . Value ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
2016-04-13 08:41:06 +02:00
long videoOffset = 0 ;
if ( listNode . Attributes [ "VideoOffset" ] ! = null )
2019-01-19 14:40:37 +01:00
{
2016-04-16 17:25:34 +02:00
long . TryParse ( listNode . Attributes [ "VideoOffset" ] . Value , out videoOffset ) ;
2019-01-19 14:40:37 +01:00
}
2016-04-13 08:41:06 +02:00
2019-01-02 06:38:46 +01:00
settings . RecentFiles . Files . Add ( new RecentFileEntry { FileName = listNode . InnerText , FirstVisibleIndex = int . Parse ( firstVisibleIndex , CultureInfo . InvariantCulture ) , FirstSelectedIndex = int . Parse ( firstSelectedIndex , CultureInfo . InvariantCulture ) , VideoFileName = videoFileName , OriginalFileName = originalFileName , VideoOffsetInMs = videoOffset } ) ;
2016-02-08 21:11:03 +01:00
}
2016-10-11 17:47:04 +02:00
// General
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "General" ) ;
2019-03-12 21:14:21 +01:00
2019-05-08 06:28:49 +02:00
// Profiles
2019-03-12 21:14:21 +01:00
int profileCount = 0 ;
foreach ( XmlNode listNode in node . SelectNodes ( "Profiles/Profile" ) )
{
if ( profileCount = = 0 )
{
settings . General . Profiles . Clear ( ) ;
}
var p = new RulesProfile ( ) ;
var subtitleLineMaximumLength = listNode . SelectSingleNode ( "SubtitleLineMaximumLength" ) ? . InnerText ;
var subtitleMaximumCharactersPerSeconds = listNode . SelectSingleNode ( "SubtitleMaximumCharactersPerSeconds" ) ? . InnerText ;
var subtitleOptimalCharactersPerSeconds = listNode . SelectSingleNode ( "SubtitleOptimalCharactersPerSeconds" ) ? . InnerText ;
var subtitleMinimumDisplayMilliseconds = listNode . SelectSingleNode ( "SubtitleMinimumDisplayMilliseconds" ) ? . InnerText ;
var subtitleMaximumDisplayMilliseconds = listNode . SelectSingleNode ( "SubtitleMaximumDisplayMilliseconds" ) ? . InnerText ;
var subtitleMaximumWordsPerMinute = listNode . SelectSingleNode ( "SubtitleMaximumWordsPerMinute" ) ? . InnerText ;
var cpsIncludesSpace = listNode . SelectSingleNode ( "CpsIncludesSpace" ) ? . InnerText ;
var maxNumberOfLines = listNode . SelectSingleNode ( "MaxNumberOfLines" ) ? . InnerText ;
var mergeLinesShorterThan = listNode . SelectSingleNode ( "MergeLinesShorterThan" ) ? . InnerText ;
var minimumMillisecondsBetweenLines = listNode . SelectSingleNode ( "MinimumMillisecondsBetweenLines" ) ? . InnerText ;
2020-02-16 08:08:19 +01:00
var dialogStyle = DialogType . DashBothLinesWithSpace ;
if ( listNode . SelectSingleNode ( "DialogStyle" ) = = null | | ! Enum . IsDefined ( typeof ( DialogType ) , listNode . SelectSingleNode ( "DialogStyle" ) . InnerText ) )
2020-02-16 21:23:47 +01:00
{ //TODO: Remove after 2022
if ( listNode . SelectSingleNode ( "Name" ) ! = null )
2020-02-16 08:08:19 +01:00
{
2020-02-16 21:23:47 +01:00
var lookup = new List < RulesProfile > ( ) ;
GeneralSettings . AddExtraProfiles ( lookup ) ;
var match = lookup . FirstOrDefault ( LookupProfile = > LookupProfile . Name = = listNode . SelectSingleNode ( "Name" ) . InnerText ) ;
if ( match ! = null )
{
dialogStyle = match . DialogStyle ; // update style when upgrading from 3.5.13 or below
}
else
{
dialogStyle = DialogType . DashBothLinesWithSpace ;
}
2020-02-16 08:08:19 +01:00
}
}
else
{
dialogStyle = ( DialogType ) Enum . Parse ( typeof ( DialogType ) , listNode . SelectSingleNode ( "DialogStyle" ) ? . InnerText ) ;
}
2020-04-01 20:19:20 +02:00
var continuationStyle = ContinuationStyle . NoneLeadingTrailingDots ;
if ( listNode . SelectSingleNode ( "ContinuationStyle" ) = = null | | ! Enum . IsDefined ( typeof ( ContinuationStyle ) , listNode . SelectSingleNode ( "ContinuationStyle" ) . InnerText ) )
{ //TODO: Remove after 2022
if ( listNode . SelectSingleNode ( "Name" ) ! = null )
{
var lookup = new List < RulesProfile > ( ) ;
GeneralSettings . AddExtraProfiles ( lookup ) ;
var match = lookup . FirstOrDefault ( LookupProfile = > LookupProfile . Name = = listNode . SelectSingleNode ( "Name" ) . InnerText ) ;
if ( match ! = null )
{
continuationStyle = match . ContinuationStyle ; // update style when upgrading from 3.5.13 or below
}
else
{
continuationStyle = ContinuationStyle . NoneLeadingTrailingDots ;
}
}
}
else
{
continuationStyle = ( ContinuationStyle ) Enum . Parse ( typeof ( ContinuationStyle ) , listNode . SelectSingleNode ( "ContinuationStyle" ) ? . InnerText ) ;
}
2019-03-12 21:14:21 +01:00
settings . General . Profiles . Add ( new RulesProfile
{
Name = listNode . SelectSingleNode ( "Name" ) ? . InnerText ,
SubtitleLineMaximumLength = Convert . ToInt32 ( subtitleLineMaximumLength , CultureInfo . InvariantCulture ) ,
SubtitleMaximumCharactersPerSeconds = Convert . ToDecimal ( subtitleMaximumCharactersPerSeconds , CultureInfo . InvariantCulture ) ,
SubtitleOptimalCharactersPerSeconds = Convert . ToDecimal ( subtitleOptimalCharactersPerSeconds , CultureInfo . InvariantCulture ) ,
SubtitleMinimumDisplayMilliseconds = Convert . ToInt32 ( subtitleMinimumDisplayMilliseconds , CultureInfo . InvariantCulture ) ,
SubtitleMaximumDisplayMilliseconds = Convert . ToInt32 ( subtitleMaximumDisplayMilliseconds , CultureInfo . InvariantCulture ) ,
SubtitleMaximumWordsPerMinute = Convert . ToDecimal ( subtitleMaximumWordsPerMinute , CultureInfo . InvariantCulture ) ,
CpsIncludesSpace = Convert . ToBoolean ( cpsIncludesSpace , CultureInfo . InvariantCulture ) ,
MaxNumberOfLines = Convert . ToInt32 ( maxNumberOfLines , CultureInfo . InvariantCulture ) ,
MergeLinesShorterThan = Convert . ToInt32 ( mergeLinesShorterThan , CultureInfo . InvariantCulture ) ,
2020-02-16 08:08:19 +01:00
MinimumMillisecondsBetweenLines = Convert . ToInt32 ( minimumMillisecondsBetweenLines , CultureInfo . InvariantCulture ) ,
2020-04-01 20:19:20 +02:00
DialogStyle = dialogStyle ,
ContinuationStyle = continuationStyle
2019-03-12 21:14:21 +01:00
} ) ;
profileCount + + ;
}
XmlNode subNode = node . SelectSingleNode ( "CurrentProfile" ) ;
if ( subNode ! = null )
{
settings . General . CurrentProfile = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "ShowToolbarNew" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarNew = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarOpen" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarOpen = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarSave" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarSave = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarSaveAs" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarSaveAs = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarFind" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarFind = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarReplace" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarReplace = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarFixCommonErrors" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarFixCommonErrors = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-07-24 08:46:58 +02:00
subNode = node . SelectSingleNode ( "ShowToolbarRemoveTextForHi" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-07-24 08:46:58 +02:00
settings . General . ShowToolbarRemoveTextForHi = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarVisualSync" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarVisualSync = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarSpellCheck" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarSpellCheck = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-12-21 10:10:20 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarNetflixGlyphCheck" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-12-21 10:10:20 +01:00
settings . General . ShowToolbarNetflixGlyphCheck = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarSettings" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarSettings = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowToolbarHelp" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowToolbarHelp = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowFrameRate" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowFrameRate = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowVideoPlayer" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowVideoPlayer = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowAudioVisualizer" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowAudioVisualizer = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowWaveform" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowWaveform = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowSpectrogram" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowSpectrogram = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DefaultFrameRate" ) ;
if ( subNode ! = null )
{
settings . General . DefaultFrameRate = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
if ( settings . General . DefaultFrameRate > 23975 )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . DefaultFrameRate = 23.976 ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
settings . General . CurrentFrameRate = settings . General . DefaultFrameRate ;
}
subNode = node . SelectSingleNode ( "DefaultSubtitleFormat" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . DefaultSubtitleFormat = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DefaultEncoding" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . DefaultEncoding = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoConvertToUtf8" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . AutoConvertToUtf8 = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoGuessAnsiEncoding" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . AutoGuessAnsiEncoding = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-10-01 09:26:06 +02:00
subNode = node . SelectSingleNode ( "SystemSubtitleFontNameOverride" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-10-01 09:26:06 +02:00
settings . General . SystemSubtitleFontNameOverride = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-01 09:26:06 +02:00
subNode = node . SelectSingleNode ( "SystemSubtitleFontSizeOverride" ) ;
2018-03-04 14:46:46 +01:00
if ( ! string . IsNullOrEmpty ( subNode ? . InnerText ) )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SystemSubtitleFontSizeOverride = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2019-09-10 12:40:40 +02:00
subNode = node . SelectSingleNode ( "SubtitleFontName" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . SubtitleFontName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-11-14 19:49:17 +01:00
subNode = node . SelectSingleNode ( "SubtitleTextBoxFontSize" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-11-14 19:49:17 +01:00
settings . General . SubtitleTextBoxFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2018-03-04 14:46:46 +01:00
subNode = node . SelectSingleNode ( "SubtitleListViewFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SubtitleListViewFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2020-11-14 19:49:17 +01:00
subNode = node . SelectSingleNode ( "SubtitleTextBoxFontBold" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-11-14 19:49:17 +01:00
settings . General . SubtitleTextBoxFontBold = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-03-04 14:46:46 +01:00
subNode = node . SelectSingleNode ( "SubtitleListViewFontBold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-03-04 14:46:46 +01:00
settings . General . SubtitleListViewFontBold = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-11-14 14:41:10 +01:00
subNode = node . SelectSingleNode ( "SubtitleTextBoxSyntaxColor" ) ;
if ( subNode ! = null )
{
settings . General . SubtitleTextBoxSyntaxColor = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "SubtitleTextBoxHtmlColor" ) ;
if ( subNode ! = null )
{
settings . General . SubtitleTextBoxHtmlColor = Color . FromArgb ( Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
}
subNode = node . SelectSingleNode ( "SubtitleTextBoxAssColor" ) ;
if ( subNode ! = null )
{
settings . General . SubtitleTextBoxAssColor = Color . FromArgb ( Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SubtitleFontColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SubtitleFontColor = Color . FromArgb ( Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SubtitleBackgroundColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SubtitleBackgroundColor = Color . FromArgb ( Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2020-03-29 23:23:55 +02:00
subNode = node . SelectSingleNode ( "MeasureFontName" ) ;
if ( subNode ! = null )
{
settings . General . MeasureFontName = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "MeasureFontSize" ) ;
if ( subNode ! = null )
{
settings . General . MeasureFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "MeasureFontBold" ) ;
if ( subNode ! = null )
{
settings . General . MeasureFontBold = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-04-13 18:00:46 +02:00
2020-03-29 23:23:55 +02:00
subNode = node . SelectSingleNode ( "SubtitleLineMaximumPixelWidth" ) ;
if ( subNode ! = null )
{
settings . General . SubtitleLineMaximumPixelWidth = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CenterSubtitleInTextBox" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . CenterSubtitleInTextBox = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowRecentFiles" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowRecentFiles = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "RememberSelectedLine" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . RememberSelectedLine = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartLoadLastFile" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . StartLoadLastFile = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartRememberPositionAndSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . StartRememberPositionAndSize = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartPosition" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . StartPosition = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . StartSize = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SplitContainerMainSplitterDistance" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SplitContainerMainSplitterDistance = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SplitContainer1SplitterDistance" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SplitContainer1SplitterDistance = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SplitContainerListViewAndTextSplitterDistance" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SplitContainerListViewAndTextSplitterDistance = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartInSourceView" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . StartInSourceView = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "RemoveBlankLinesWhenOpening" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . RemoveBlankLinesWhenOpening = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-02-06 17:10:38 +01:00
subNode = node . SelectSingleNode ( "RemoveBadCharsWhenOpening" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-02-06 17:10:38 +01:00
settings . General . RemoveBadCharsWhenOpening = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SubtitleLineMaximumLength" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SubtitleLineMaximumLength = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2019-03-12 21:14:21 +01:00
subNode = node . SelectSingleNode ( "MaxNumberOfLines" ) ;
if ( subNode ! = null )
{
settings . General . MaxNumberOfLines = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "MergeLinesShorterThan" ) ;
if ( subNode ! = null )
{
settings . General . MergeLinesShorterThan = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SubtitleMinimumDisplayMilliseconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SubtitleMinimumDisplayMilliseconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SubtitleMaximumDisplayMilliseconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SubtitleMaximumDisplayMilliseconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MinimumMillisecondsBetweenLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . MinimumMillisecondsBetweenLines = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SetStartEndHumanDelay" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SetStartEndHumanDelay = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoWrapLineWhileTyping" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . AutoWrapLineWhileTyping = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SubtitleMaximumCharactersPerSeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . SubtitleMaximumCharactersPerSeconds = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SubtitleOptimalCharactersPerSeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . SubtitleOptimalCharactersPerSeconds = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-03-03 15:40:48 +01:00
subNode = node . SelectSingleNode ( "CharactersPerSecondsIgnoreWhiteSpace" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-03-03 15:40:48 +01:00
settings . General . CharactersPerSecondsIgnoreWhiteSpace = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-09-20 16:40:21 +02:00
subNode = node . SelectSingleNode ( "IgnoreArabicDiacritics" ) ;
if ( subNode ! = null )
{
settings . General . IgnoreArabicDiacritics = Convert . ToBoolean ( subNode . InnerText ) ;
}
2017-01-15 09:46:26 +01:00
subNode = node . SelectSingleNode ( "SubtitleMaximumWordsPerMinute" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-01-15 09:46:26 +01:00
settings . General . SubtitleMaximumWordsPerMinute = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2020-02-16 08:08:19 +01:00
subNode = node . SelectSingleNode ( "DialogStyle" ) ;
if ( subNode ! = null )
{
settings . General . DialogStyle = ( DialogType ) Enum . Parse ( typeof ( DialogType ) , subNode . InnerText ) ;
}
2020-04-01 19:27:20 +02:00
subNode = node . SelectSingleNode ( "ContinuationStyle" ) ;
if ( subNode ! = null )
{
settings . General . ContinuationStyle = ( ContinuationStyle ) Enum . Parse ( typeof ( ContinuationStyle ) , subNode . InnerText ) ;
}
2020-11-07 12:21:30 +01:00
subNode = node . SelectSingleNode ( "ContinuationPause" ) ;
if ( subNode ! = null )
{
settings . General . ContinuationPause = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2020-04-08 22:16:19 +02:00
subNode = node . SelectSingleNode ( "FixContinuationStyleUncheckInsertsAllCaps" ) ;
if ( subNode ! = null )
{
settings . General . FixContinuationStyleUncheckInsertsAllCaps = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "FixContinuationStyleUncheckInsertsItalic" ) ;
if ( subNode ! = null )
{
settings . General . FixContinuationStyleUncheckInsertsItalic = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "FixContinuationStyleUncheckInsertsLowercase" ) ;
if ( subNode ! = null )
{
settings . General . FixContinuationStyleUncheckInsertsLowercase = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2020-04-12 13:55:29 +02:00
subNode = node . SelectSingleNode ( "FixContinuationStyleHideContinuationCandidatesWithoutName" ) ;
2020-04-09 22:48:42 +02:00
if ( subNode ! = null )
{
2020-04-12 13:55:29 +02:00
settings . General . FixContinuationStyleHideContinuationCandidatesWithoutName = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2020-04-09 22:48:42 +02:00
}
2020-04-13 18:00:46 +02:00
2020-04-12 21:28:22 +02:00
subNode = node . SelectSingleNode ( "FixContinuationStyleIgnoreLyrics" ) ;
if ( subNode ! = null )
{
settings . General . FixContinuationStyleIgnoreLyrics = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpellCheckLanguage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . SpellCheckLanguage = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VideoPlayer" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VideoPlayer = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VideoPlayerDefaultVolume" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . VideoPlayerDefaultVolume = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VideoPlayerPreviewFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . VideoPlayerPreviewFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VideoPlayerPreviewFontBold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VideoPlayerPreviewFontBold = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VideoPlayerShowStopButton" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VideoPlayerShowStopButton = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VideoPlayerShowMuteButton" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VideoPlayerShowMuteButton = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VideoPlayerShowFullscreenButton" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VideoPlayerShowFullscreenButton = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Language" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . Language = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewLineSeparatorString" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ListViewLineSeparatorString = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewDoubleClickAction" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewDoubleClickAction = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2018-03-04 14:46:46 +01:00
subNode = node . SelectSingleNode ( "SaveAsUseFileNameFrom" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-03-04 14:46:46 +01:00
settings . General . SaveAsUseFileNameFrom = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UppercaseLetters" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . UppercaseLetters = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DefaultAdjustMilliseconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . DefaultAdjustMilliseconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoRepeatOn" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . AutoRepeatOn = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoRepeatCount" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . AutoRepeatCount = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SyncListViewWithVideoWhilePlaying" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . SyncListViewWithVideoWhilePlaying = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-10-10 18:08:33 +02:00
subNode = node . SelectSingleNode ( "AutoContinueDelay" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . AutoContinueDelay = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoContinueOn" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . AutoContinueOn = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoBackupSeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . AutoBackupSeconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-07-09 12:00:30 +02:00
subNode = node . SelectSingleNode ( "AutoBackupDeleteAfterMonths" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . AutoBackupDeleteAfterMonths = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpellChecker" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . SpellChecker = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AllowEditOfOriginalSubtitle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . AllowEditOfOriginalSubtitle = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "PromptDeleteLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . PromptDeleteLines = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Undocked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . Undocked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UndockedVideoPosition" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . UndockedVideoPosition = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-03-08 16:12:30 +01:00
subNode = node . SelectSingleNode ( "UndockedVideoFullscreen" ) ;
if ( subNode ! = null )
{
settings . General . UndockedVideoFullscreen = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UndockedWaveformPosition" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . UndockedWaveformPosition = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UndockedVideoControlsPosition" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . UndockedVideoControlsPosition = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformCenter" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . WaveformCenter = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-06-13 19:27:24 +02:00
subNode = node . SelectSingleNode ( "WaveformUpdateIntervalMs" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . WaveformUpdateIntervalMs = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SmallDelayMilliseconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . SmallDelayMilliseconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LargeDelayMilliseconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . LargeDelayMilliseconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowOriginalAsPreviewIfAvailable" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowOriginalAsPreviewIfAvailable = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastPacCodePage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . LastPacCodePage = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "OpenSubtitleExtraExtensions" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . OpenSubtitleExtraExtensions = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewColumnsRememberSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ListViewColumnsRememberSize = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewNumberWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewNumberWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewStartWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewStartWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewEndWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewEndWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewDurationWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewDurationWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-01-15 09:46:26 +01:00
subNode = node . SelectSingleNode ( "ListViewCpsWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewCpsWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-01-15 09:46:26 +01:00
subNode = node . SelectSingleNode ( "ListViewWpmWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewWpmWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-11-06 18:22:49 +01:00
subNode = node . SelectSingleNode ( "ListViewGapWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewGapWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-16 10:03:10 +02:00
subNode = node . SelectSingleNode ( "ListViewActorWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewActorWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-26 18:51:34 +02:00
subNode = node . SelectSingleNode ( "ListViewRegionWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewRegionWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewTextWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ListViewTextWidth = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2020-10-12 18:42:55 +02:00
subNode = node . SelectSingleNode ( "DirectShowDoubleLoad" ) ;
2019-12-23 08:03:27 +01:00
if ( subNode ! = null )
{
2020-10-12 18:42:55 +02:00
settings . General . DirectShowDoubleLoad = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-12-23 08:03:27 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VlcWaveTranscodeSettings" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VlcWaveTranscodeSettings = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VlcLocation" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VlcLocation = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VlcLocationRelative" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . VlcLocationRelative = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2020-10-12 18:42:55 +02:00
subNode = node . SelectSingleNode ( "MpvVideoOutputWindows" ) ;
2016-02-28 10:58:19 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-12 18:42:55 +02:00
settings . General . MpvVideoOutputWindows = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2019-09-22 08:09:10 +02:00
subNode = node . SelectSingleNode ( "MpvVideoOutputLinux" ) ;
if ( subNode ! = null )
{
settings . General . MpvVideoOutputLinux = subNode . InnerText . Trim ( ) ;
}
2020-05-11 20:31:15 +02:00
subNode = node . SelectSingleNode ( "MpvExtraOption" ) ;
if ( subNode ! = null )
{
settings . General . MpvExtraOption = subNode . InnerText . Trim ( ) ;
}
2020-11-07 09:02:20 +01:00
subNode = node . SelectSingleNode ( "MpvLogging" ) ;
if ( subNode ! = null )
{
settings . General . MpvLogging = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
}
2017-02-09 21:14:48 +01:00
subNode = node . SelectSingleNode ( "MpvHandlesPreviewText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-02-09 21:14:48 +01:00
settings . General . MpvHandlesPreviewText = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MpcHcLocation" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . MpcHcLocation = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2020-10-05 07:15:44 +02:00
subNode = node . SelectSingleNode ( "MkvMergeLocation" ) ;
if ( subNode ! = null )
{
settings . General . MkvMergeLocation = subNode . InnerText . Trim ( ) ;
}
2020-10-10 07:44:32 +02:00
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UseFFmpegForWaveExtraction" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . UseFFmpegForWaveExtraction = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FFmpegLocation" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . FFmpegLocation = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2018-03-27 20:14:59 +02:00
subNode = node . SelectSingleNode ( "FFmpegSceneThreshold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-03-27 20:14:59 +02:00
settings . General . FFmpegSceneThreshold = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UseTimeFormatHHMMSSFF" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . UseTimeFormatHHMMSSFF = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2020-03-30 21:38:55 +02:00
subNode = node . SelectSingleNode ( "SplitBehavior" ) ;
if ( subNode ! = null )
{
settings . General . SplitBehavior = Convert . ToInt32 ( subNode . InnerText . Trim ( ) ) ;
}
2020-09-12 18:03:56 +02:00
subNode = node . SelectSingleNode ( "SplitRemovesDashes" ) ;
if ( subNode ! = null )
{
settings . General . SplitRemovesDashes = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ClearStatusBarAfterSeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . ClearStatusBarAfterSeconds = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Company" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . Company = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DisableVideoAutoLoading" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . DisableVideoAutoLoading = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2018-03-04 14:46:46 +01:00
subNode = node . SelectSingleNode ( "AllowVolumeBoost" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-03-04 14:46:46 +01:00
settings . General . AllowVolumeBoost = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "RightToLeftMode" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . RightToLeftMode = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastSaveAsFormat" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . LastSaveAsFormat = subNode . InnerText . Trim ( ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CheckForUpdates" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . CheckForUpdates = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastCheckForUpdates" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . LastCheckForUpdates = Convert . ToDateTime ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-23 19:14:41 +01:00
subNode = node . SelectSingleNode ( "AutoSave" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-23 19:14:41 +01:00
settings . General . AutoSave = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2019-09-15 08:09:31 +02:00
subNode = node . SelectSingleNode ( "PreviewAssaText" ) ;
if ( subNode ! = null )
{
settings . General . PreviewAssaText = subNode . InnerText ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowProgress" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowProgress = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2019-11-24 10:00:38 +01:00
subNode = node . SelectSingleNode ( "ShowNegativeDurationInfoOnSave" ) ;
if ( subNode ! = null )
{
settings . General . ShowNegativeDurationInfoOnSave = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
}
2020-07-20 19:09:30 +02:00
subNode = node . SelectSingleNode ( "ShowFormatRequiresUtf8Warning" ) ;
if ( subNode ! = null )
{
settings . General . ShowFormatRequiresUtf8Warning = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
}
2020-04-22 07:00:23 +02:00
subNode = node . SelectSingleNode ( "TitleBarAsterisk" ) ;
if ( subNode ! = null )
{
settings . General . TitleBarAsterisk = subNode . InnerText . Trim ( ) ;
}
2020-10-07 14:47:22 +02:00
subNode = node . SelectSingleNode ( "MeasurementConverterCloseOnInsert" ) ;
if ( subNode ! = null )
{
settings . General . MeasurementConverterCloseOnInsert = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
}
subNode = node . SelectSingleNode ( "MeasurementConverterCategories" ) ;
if ( subNode ! = null )
{
settings . General . MeasurementConverterCategories = subNode . InnerText . Trim ( ) ;
}
2017-11-13 16:17:22 +01:00
subNode = node . SelectSingleNode ( "UseDarkTheme" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-11-13 16:17:22 +01:00
settings . General . UseDarkTheme = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ShowBetaStuff" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . ShowBetaStuff = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "NewEmptyDefaultMs" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . General . NewEmptyDefaultMs = Convert . ToInt32 ( subNode . InnerText . Trim ( ) , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MoveVideo100Or500MsPlaySmallSample" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . General . MoveVideo100Or500MsPlaySmallSample = Convert . ToBoolean ( subNode . InnerText . Trim ( ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
2016-10-11 17:47:04 +02:00
// Tools
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "Tools" ) ;
subNode = node . SelectSingleNode ( "StartSceneIndex" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . StartSceneIndex = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "EndSceneIndex" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . EndSceneIndex = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "VerifyPlaySeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . VerifyPlaySeconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixShortDisplayTimesAllowMoveStartTime" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . FixShortDisplayTimesAllowMoveStartTime = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-09 08:30:01 +01:00
subNode = node . SelectSingleNode ( "RemoveEmptyLinesBetweenText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-09 08:30:01 +01:00
settings . Tools . RemoveEmptyLinesBetweenText = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MusicSymbol" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . MusicSymbol = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-01-02 15:07:52 +01:00
subNode = node . SelectSingleNode ( "MusicSymbolReplace" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-01-02 15:07:52 +01:00
settings . Tools . MusicSymbolReplace = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UnicodeSymbolsToInsert" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . UnicodeSymbolsToInsert = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpellCheckAutoChangeNames" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . SpellCheckAutoChangeNames = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-05-16 08:37:57 +02:00
subNode = node . SelectSingleNode ( "SpellCheckAutoChangeNamesUseSuggestions" ) ;
if ( subNode ! = null )
{
settings . Tools . SpellCheckAutoChangeNamesUseSuggestions = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpellCheckOneLetterWords" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-01-19 07:47:37 +01:00
settings . Tools . CheckOneLetterWords = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpellCheckEnglishAllowInQuoteAsIng" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . SpellCheckEnglishAllowInQuoteAsIng = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-23 19:14:41 +01:00
subNode = node . SelectSingleNode ( "RememberUseAlwaysList" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-23 19:14:41 +01:00
settings . Tools . RememberUseAlwaysList = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpellCheckShowCompletedMessage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . SpellCheckShowCompletedMessage = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "OcrFixUseHardcodedRules" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . OcrFixUseHardcodedRules = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-03-13 06:45:14 +01:00
subNode = node . SelectSingleNode ( "OcrBinaryImageCompareRgbThreshold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . OcrBinaryImageCompareRgbThreshold = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2018-11-14 22:55:20 +01:00
subNode = node . SelectSingleNode ( "OcrTesseract4RgbThreshold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . OcrTesseract4RgbThreshold = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2020-05-03 14:27:02 +02:00
subNode = node . SelectSingleNode ( "OcrAddLetterRow1" ) ;
if ( subNode ! = null )
{
settings . Tools . OcrAddLetterRow1 = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "OcrAddLetterRow2" ) ;
if ( subNode ! = null )
{
settings . Tools . OcrAddLetterRow2 = subNode . InnerText ;
}
2020-05-26 21:51:43 +02:00
subNode = node . SelectSingleNode ( "OcrTrainFonts" ) ;
if ( subNode ! = null )
{
settings . Tools . OcrTrainFonts = subNode . InnerText ;
}
2020-06-01 12:46:38 +02:00
subNode = node . SelectSingleNode ( "OcrTrainMergedLetters" ) ;
if ( subNode ! = null )
{
settings . Tools . OcrTrainMergedLetters = subNode . InnerText ;
}
2020-05-27 14:52:18 +02:00
subNode = node . SelectSingleNode ( "OcrTrainSrtFile" ) ;
if ( subNode ! = null )
{
settings . Tools . OcrTrainSrtFile = subNode . InnerText ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Interjections" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . Interjections = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MicrosoftBingApiId" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . MicrosoftBingApiId = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-09-23 08:57:27 +02:00
subNode = node . SelectSingleNode ( "MicrosoftTranslatorApiKey" ) ;
2016-03-07 19:07:01 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-09-23 08:57:27 +02:00
settings . Tools . MicrosoftTranslatorApiKey = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-09-20 22:13:34 +02:00
subNode = node . SelectSingleNode ( "MicrosoftTranslatorTokenEndpoint" ) ;
if ( subNode ! = null )
{
settings . Tools . MicrosoftTranslatorTokenEndpoint = subNode . InnerText ;
}
2020-04-14 18:55:22 +02:00
subNode = node . SelectSingleNode ( "MicrosoftTranslatorCategory" ) ;
if ( subNode ! = null )
{
settings . Tools . MicrosoftTranslatorCategory = subNode . InnerText ;
}
2018-11-29 16:25:37 +01:00
subNode = node . SelectSingleNode ( "GoogleApiV2Key" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-11-29 16:25:37 +01:00
settings . Tools . GoogleApiV2Key = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-12-02 09:59:34 +01:00
subNode = node . SelectSingleNode ( "GoogleTranslateNoKeyWarningShow" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-02 09:59:34 +01:00
settings . Tools . GoogleTranslateNoKeyWarningShow = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-02 09:59:34 +01:00
subNode = node . SelectSingleNode ( "GoogleApiV2KeyInfoShow" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-02 09:59:34 +01:00
settings . Tools . GoogleApiV2KeyInfoShow = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-09 19:35:27 +01:00
subNode = node . SelectSingleNode ( "GoogleApiV1ChunkSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . GoogleApiV1ChunkSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GoogleTranslateLastTargetLanguage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . GoogleTranslateLastTargetLanguage = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-06-11 19:32:51 +02:00
subNode = node . SelectSingleNode ( "TranslateAllowSplit" ) ;
2016-05-16 20:36:10 +02:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-06-11 19:32:51 +02:00
settings . Tools . TranslateAllowSplit = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewSyntaxColorDurationSmall" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ListViewSyntaxColorDurationSmall = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewSyntaxColorDurationBig" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ListViewSyntaxColorDurationBig = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewSyntaxColorLongLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ListViewSyntaxColorLongLines = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-03-29 23:23:55 +02:00
subNode = node . SelectSingleNode ( "ListViewSyntaxColorWideLines" ) ;
if ( subNode ! = null )
{
settings . Tools . ListViewSyntaxColorWideLines = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewSyntaxMoreThanXLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ListViewSyntaxMoreThanXLines = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewSyntaxColorOverlap" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ListViewSyntaxColorOverlap = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2019-12-10 18:06:30 +01:00
subNode = node . SelectSingleNode ( "ListViewSyntaxColorGap" ) ;
if ( subNode ! = null )
{
settings . Tools . ListViewSyntaxColorGap = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewSyntaxErrorColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ListViewSyntaxErrorColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ListViewUnfocusedSelectedColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ListViewUnfocusedSelectedColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2017-02-23 08:52:49 +01:00
subNode = node . SelectSingleNode ( "ListViewShowColumnEndTime" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-02-23 08:52:49 +01:00
settings . Tools . ListViewShowColumnEndTime = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-02-23 08:52:49 +01:00
subNode = node . SelectSingleNode ( "ListViewShowColumnDuration" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-02-23 08:52:49 +01:00
settings . Tools . ListViewShowColumnDuration = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-01-15 09:46:26 +01:00
subNode = node . SelectSingleNode ( "ListViewShowColumnCharsPerSec" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-01-15 09:46:26 +01:00
settings . Tools . ListViewShowColumnCharsPerSec = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-01-15 09:46:26 +01:00
subNode = node . SelectSingleNode ( "ListViewShowColumnWordsPerMin" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-01-15 09:46:26 +01:00
settings . Tools . ListViewShowColumnWordsPerMin = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-11-06 18:22:49 +01:00
subNode = node . SelectSingleNode ( "ListViewShowColumnGap" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-11-06 18:22:49 +01:00
settings . Tools . ListViewShowColumnGap = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-16 10:03:10 +02:00
subNode = node . SelectSingleNode ( "ListViewShowColumnActor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-16 10:03:10 +02:00
settings . Tools . ListViewShowColumnActor = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-26 18:51:34 +02:00
subNode = node . SelectSingleNode ( "ListViewShowColumnRegion" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-26 18:51:34 +02:00
settings . Tools . ListViewShowColumnRegion = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SplitAdvanced" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . SplitAdvanced = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SplitOutputFolder" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . SplitOutputFolder = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SplitNumberOfParts" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . SplitNumberOfParts = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SplitVia" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . SplitVia = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-09-15 11:21:55 +02:00
subNode = node . SelectSingleNode ( "JoinCorrectTimeCodes" ) ;
if ( subNode ! = null )
{
settings . Tools . JoinCorrectTimeCodes = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "JoinAddMs" ) ;
if ( subNode ! = null )
{
settings . Tools . JoinAddMs = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "NewEmptyTranslationText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . NewEmptyTranslationText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertOutputFolder" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertOutputFolder = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertOverwriteExisting" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertOverwriteExisting = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2019-11-26 05:43:16 +01:00
subNode = node . SelectSingleNode ( "BatchConvertSaveInSourceFolder" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-11-26 05:43:16 +01:00
settings . Tools . BatchConvertSaveInSourceFolder = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertRemoveFormatting" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertRemoveFormatting = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-09-09 08:09:45 +02:00
subNode = node . SelectSingleNode ( "BatchConvertRemoveStyle" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertRemoveStyle = Convert . ToBoolean ( subNode . InnerText ) ;
}
2017-09-03 15:29:43 +02:00
subNode = node . SelectSingleNode ( "BatchConvertBridgeGaps" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-09-03 15:29:43 +02:00
settings . Tools . BatchConvertBridgeGaps = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertFixCasing" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertFixCasing = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertRemoveTextForHI" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertRemoveTextForHI = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertFixCommonErrors" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertFixCommonErrors = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertMultipleReplace" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertMultipleReplace = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-11-24 08:10:49 +01:00
subNode = node . SelectSingleNode ( "BatchConvertFixRtl" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-11-24 08:10:49 +01:00
settings . Tools . BatchConvertFixRtl = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-11-24 08:10:49 +01:00
subNode = node . SelectSingleNode ( "BatchConvertFixRtlMode" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-11-24 08:10:49 +01:00
settings . Tools . BatchConvertFixRtlMode = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertAutoBalance" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertAutoBalance = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertSplitLongLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertSplitLongLines = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertSetMinDisplayTimeBetweenSubtitles" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertSetMinDisplayTimeBetweenSubtitles = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2019-12-06 11:13:52 +01:00
subNode = node . SelectSingleNode ( "BatchConvertMergeShortLines" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertMergeShortLines = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-01-02 19:08:19 +01:00
subNode = node . SelectSingleNode ( "BatchConvertRemoveLineBreaks" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertRemoveLineBreaks = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-01-08 17:14:11 +01:00
2019-12-06 11:13:52 +01:00
subNode = node . SelectSingleNode ( "BatchConvertMergeSameText" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertMergeSameText = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "BatchConvertMergeSameTimeCodes" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertMergeSameTimeCodes = Convert . ToBoolean ( subNode . InnerText ) ;
}
2019-12-06 17:21:33 +01:00
subNode = node . SelectSingleNode ( "BatchConvertChangeSpeed" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertChangeSpeed = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-09-09 08:09:45 +02:00
subNode = node . SelectSingleNode ( "BatchConvertAdjustDisplayDuration" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertAdjustDisplayDuration = Convert . ToBoolean ( subNode . InnerText ) ;
}
2019-12-25 11:38:43 +01:00
subNode = node . SelectSingleNode ( "BatchConvertApplyDurationLimits" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertApplyDurationLimits = Convert . ToBoolean ( subNode . InnerText ) ;
}
2019-12-06 17:21:33 +01:00
subNode = node . SelectSingleNode ( "BatchConvertChangeFrameRate" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertChangeFrameRate = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "BatchConvertOffsetTimeCodes" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertOffsetTimeCodes = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertLanguage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertLanguage = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertFormat" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertFormat = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertAssStyles" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertAssStyles = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BatchConvertSsaStyles" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . BatchConvertSsaStyles = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-07-27 13:31:54 +02:00
subNode = node . SelectSingleNode ( "BatchConvertUseStyleFromSource" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-07-27 13:31:54 +02:00
settings . Tools . BatchConvertUseStyleFromSource = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-11-29 17:35:00 +01:00
subNode = node . SelectSingleNode ( "BatchConvertExportCustomTextTemplate" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-11-29 17:35:00 +01:00
settings . Tools . BatchConvertExportCustomTextTemplate = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-10-07 17:53:06 +02:00
subNode = node . SelectSingleNode ( "BatchConvertTsOverrideXPosition" ) ;
2019-10-06 21:33:17 +02:00
if ( subNode ! = null )
{
2019-10-07 17:53:06 +02:00
settings . Tools . BatchConvertTsOverrideXPosition = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "BatchConvertTsOverrideYPosition" ) ;
if ( subNode ! = null )
{
2019-10-12 10:43:54 +02:00
settings . Tools . BatchConvertTsOverrideYPosition = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-10-06 21:33:17 +02:00
}
subNode = node . SelectSingleNode ( "BatchConvertTsOverrideBottomMargin" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsOverrideBottomMargin = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2019-10-07 17:53:06 +02:00
subNode = node . SelectSingleNode ( "BatchConvertTsOverrideHAlign" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsOverrideHAlign = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "BatchConvertTsOverrideHMargin" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsOverrideHMargin = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2019-10-06 21:33:17 +02:00
subNode = node . SelectSingleNode ( "BatchConvertTsOverrideScreenSize" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsOverrideScreenSize = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "BatchConvertTsScreenWidth" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsScreenWidth = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "BatchConvertTsScreenHeight" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsScreenHeight = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2020-10-02 17:33:28 +02:00
subNode = node . SelectSingleNode ( "BatchConvertTsOnlyTeletext" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsOnlyTeletext = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2019-10-11 17:43:51 +02:00
subNode = node . SelectSingleNode ( "BatchConvertTsFileNameAppend" ) ;
if ( subNode ! = null )
{
settings . Tools . BatchConvertTsFileNameAppend = subNode . InnerText ;
}
2020-04-06 15:34:33 +02:00
subNode = node . SelectSingleNode ( "BatchConvertMkvLanguageCodeStyle" ) ;
2020-04-06 08:48:24 +02:00
if ( subNode ! = null )
{
2020-04-06 15:34:33 +02:00
settings . Tools . BatchConvertMkvLanguageCodeStyle = subNode . InnerText ;
2020-04-06 08:48:24 +02:00
}
2020-04-16 16:27:12 +02:00
subNode = node . SelectSingleNode ( "WaveformBatchLastFolder" ) ;
if ( subNode ! = null )
{
settings . Tools . WaveformBatchLastFolder = subNode . InnerText ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ModifySelectionRule" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ModifySelectionRule = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ModifySelectionText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ModifySelectionText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ModifySelectionCaseSensitive" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ModifySelectionCaseSensitive = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportVobSubFontName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportVobSubFontName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportVobSubFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportVobSubFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportVobSubVideoResolution" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportVobSubVideoResolution = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportVobSubSimpleRendering" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportVobSubSimpleRendering = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportVobAntiAliasingWithTransparency" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportVobAntiAliasingWithTransparency = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportVobSubLanguage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportVobSubLanguage = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportBluRayFontName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportBluRayFontName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportBluRayFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportBluRayFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportFcpFontName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportFcpFontName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportFontNameOther" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportFontNameOther = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportFcpFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportFcpFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportFcpImageType" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportFcpImageType = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-08-07 18:08:39 +02:00
subNode = node . SelectSingleNode ( "ExportFcpPalNtsc" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-07 18:08:39 +02:00
settings . Tools . ExportFcpPalNtsc = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportBdnXmlImageType" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportBdnXmlImageType = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportLastFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportLastFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportLastLineHeight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportLastLineHeight = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportLastBorderWidth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportLastBorderWidth = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportLastFontBold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportLastFontBold = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportBluRayVideoResolution" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportBluRayVideoResolution = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-05-30 16:09:39 +02:00
subNode = node . SelectSingleNode ( "ExportFcpVideoResolution" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-05-30 16:09:39 +02:00
settings . Tools . ExportFcpVideoResolution = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportFontColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportFontColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportBorderColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportBorderColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportShadowColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportShadowColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2017-09-29 21:26:00 +02:00
subNode = node . SelectSingleNode ( "ExportBoxBorderSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportBoxBorderSize = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-06-15 13:37:13 +02:00
subNode = node . SelectSingleNode ( "ExportBottomMarginUnit" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-06-15 13:37:13 +02:00
settings . Tools . ExportBottomMarginUnit = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-04-14 11:54:42 +02:00
subNode = node . SelectSingleNode ( "ExportBottomMarginPercent" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportBottomMarginPercent = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-06-15 13:37:13 +02:00
subNode = node . SelectSingleNode ( "ExportBottomMarginPixels" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-09-22 19:40:12 +02:00
settings . Tools . ExportBottomMarginPixels = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-06-15 13:37:13 +02:00
subNode = node . SelectSingleNode ( "ExportLeftRightMarginUnit" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-06-15 13:37:13 +02:00
settings . Tools . ExportLeftRightMarginUnit = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-04-14 11:54:42 +02:00
subNode = node . SelectSingleNode ( "ExportLeftRightMarginPercent" ) ;
2016-10-06 22:49:56 +02:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportLeftRightMarginPercent = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-06-15 13:37:13 +02:00
subNode = node . SelectSingleNode ( "ExportLeftRightMarginPixels" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportLeftRightMarginPixels = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportHorizontalAlignment" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportHorizontalAlignment = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-14 11:54:42 +02:00
subNode = node . SelectSingleNode ( "ExportBluRayBottomMarginPercent" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportBluRayBottomMarginPercent = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-06-15 13:37:13 +02:00
subNode = node . SelectSingleNode ( "ExportBluRayBottomMarginPixels" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportBluRayBottomMarginPixels = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportBluRayShadow" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ExportBluRayShadow = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2020-10-02 23:10:46 +02:00
subNode = node . SelectSingleNode ( "ExportBluRayRemoveSmallGaps" ) ;
if ( subNode ! = null )
{
settings . Tools . ExportBluRayRemoveSmallGaps = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2020-10-04 20:56:21 +02:00
subNode = node . SelectSingleNode ( "ExportCdgBackgroundImage" ) ;
if ( subNode ! = null )
{
settings . Tools . ExportCdgBackgroundImage = subNode . InnerText ;
}
2020-10-05 07:15:44 +02:00
subNode = node . SelectSingleNode ( "ExportCdgMarginLeft" ) ;
if ( subNode ! = null )
{
settings . Tools . ExportCdgMarginLeft = Convert . ToInt32 ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "ExportCdgMarginBottom" ) ;
if ( subNode ! = null )
{
settings . Tools . ExportCdgMarginBottom = Convert . ToInt32 ( subNode . InnerText ) ;
}
2020-10-06 07:04:01 +02:00
subNode = node . SelectSingleNode ( "ExportCdgFormat" ) ;
if ( subNode ! = null )
{
settings . Tools . ExportCdgFormat = subNode . InnerText ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Export3DType" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . Export3DType = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Export3DDepth" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . Export3DDepth = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportLastShadowTransparency" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportLastShadowTransparency = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportLastFrameRate" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportLastFrameRate = double . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-07 18:08:39 +02:00
subNode = node . SelectSingleNode ( "ExportFullFrame" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-07 18:08:39 +02:00
settings . Tools . ExportFullFrame = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-10-28 10:51:59 +02:00
subNode = node . SelectSingleNode ( "ExportFcpFullPathUrl" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-10-30 18:07:41 +01:00
settings . Tools . ExportFcpFullPathUrl = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportPenLineJoin" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportPenLineJoin = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixCommonErrorsFixOverlapAllowEqualEndStart" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . FixCommonErrorsFixOverlapAllowEqualEndStart = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixCommonErrorsSkipStepOne" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . FixCommonErrorsSkipStepOne = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ImportTextSplitting" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ImportTextSplitting = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ImportTextMergeShortLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ImportTextMergeShortLines = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ImportTextLineBreak" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ImportTextLineBreak = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "ImportTextRemoveEmptyLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . ImportTextRemoveEmptyLines = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-09 08:30:01 +01:00
subNode = node . SelectSingleNode ( "ImportTextAutoSplitAtBlank" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-09 08:30:01 +01:00
settings . Tools . ImportTextAutoSplitAtBlank = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "ImportTextRemoveLinesNoLetters" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . ImportTextRemoveLinesNoLetters = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "ImportTextGenerateTimeCodes" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . ImportTextGenerateTimeCodes = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-02-25 08:40:28 +01:00
subNode = node . SelectSingleNode ( "ImportTextTakeTimeCodeFromFileName" ) ;
if ( subNode ! = null )
{
settings . Tools . ImportTextTakeTimeCodeFromFileName = Convert . ToBoolean ( subNode . InnerText ) ;
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "ImportTextAutoBreak" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . ImportTextAutoBreak = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-09 08:30:01 +01:00
subNode = node . SelectSingleNode ( "ImportTextAutoBreakAtEnd" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-09 08:30:01 +01:00
settings . Tools . ImportTextAutoBreakAtEnd = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "ImportTextGap" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . ImportTextGap = Convert . ToDecimal ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-09 08:30:01 +01:00
subNode = node . SelectSingleNode ( "ImportTextAutoSplitNumberOfLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . ImportTextAutoSplitNumberOfLines = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2018-12-09 08:30:01 +01:00
subNode = node . SelectSingleNode ( "ImportTextAutoBreakAtEndMarkerText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-12-09 08:30:01 +01:00
settings . Tools . ImportTextAutoBreakAtEndMarkerText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "ImportTextDurationAuto" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . ImportTextDurationAuto = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "ImportTextFixedDuration" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . ImportTextFixedDuration = Convert . ToDecimal ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-04-27 10:10:49 +02:00
subNode = node . SelectSingleNode ( "GenerateTimeCodePatterns" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-27 10:10:49 +02:00
settings . Tools . GenerateTimeCodePatterns = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GenerateTimeCodePatterns" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . GenerateTimeCodePatterns = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MusicSymbolStyle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . MusicSymbolStyle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BridgeGapMilliseconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . BridgeGapMilliseconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ExportCustomTemplates" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ExportCustomTemplates = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ChangeCasingChoice" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . ChangeCasingChoice = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UseNoLineBreakAfter" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . UseNoLineBreakAfter = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "NoLineBreakAfterEnglish" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Tools . NoLineBreakAfterEnglish = subNode . InnerText . Replace ( " " , " " ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextFormatText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-08 18:19:36 +02:00
settings . Tools . ExportTextFormatText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextRemoveStyling" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-08 18:19:36 +02:00
settings . Tools . ExportTextRemoveStyling = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextShowLineNumbers" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-08 18:19:36 +02:00
settings . Tools . ExportTextShowLineNumbers = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextShowLineNumbersNewLine" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-08 18:19:36 +02:00
settings . Tools . ExportTextShowLineNumbersNewLine = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextShowTimeCodes" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-08 18:19:36 +02:00
settings . Tools . ExportTextShowTimeCodes = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextShowTimeCodesNewLine" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-08 18:19:36 +02:00
settings . Tools . ExportTextShowTimeCodesNewLine = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextNewLineAfterText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-08 18:19:36 +02:00
settings . Tools . ExportTextNewLineAfterText = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-08-08 18:19:36 +02:00
subNode = node . SelectSingleNode ( "ExportTextNewLineBetweenSubtitles" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-11 12:36:19 +02:00
settings . Tools . ExportTextNewLineBetweenSubtitles = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-02-04 19:40:33 +01:00
subNode = node . SelectSingleNode ( "ExportTextTimeCodeFormat" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-02-04 19:40:33 +01:00
settings . Tools . ExportTextTimeCodeFormat = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-02-04 19:40:33 +01:00
subNode = node . SelectSingleNode ( "ExportTextTimeCodeSeparator" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-02-04 19:40:33 +01:00
settings . Tools . ExportTextTimeCodeSeparator = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-08-10 22:00:05 +02:00
subNode = node . SelectSingleNode ( "VideoOffsetKeepTimeCodes" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-08-10 22:00:05 +02:00
settings . Tools . VideoOffsetKeepTimeCodes = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-11-06 18:22:49 +01:00
subNode = node . SelectSingleNode ( "MoveStartEndMs" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . MoveStartEndMs = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-12-23 09:17:51 +01:00
subNode = node . SelectSingleNode ( "AdjustDurationSeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-12-23 15:18:13 +01:00
settings . Tools . AdjustDurationSeconds = Convert . ToDecimal ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-12-23 09:17:51 +01:00
subNode = node . SelectSingleNode ( "AdjustDurationPercent" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . Tools . AdjustDurationPercent = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-12-23 09:17:51 +01:00
subNode = node . SelectSingleNode ( "AdjustDurationLast" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-12-23 09:17:51 +01:00
settings . Tools . AdjustDurationLast = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-02-27 12:55:55 +01:00
subNode = node . SelectSingleNode ( "AdjustDurationExtendOnly" ) ;
if ( subNode ! = null )
{
settings . Tools . AdjustDurationExtendOnly = Convert . ToBoolean ( subNode . InnerText ) ;
}
2019-01-07 18:17:18 +01:00
subNode = node . SelectSingleNode ( "AutoBreakCommaBreakEarly" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-07 18:17:18 +01:00
settings . Tools . AutoBreakCommaBreakEarly = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2019-11-05 19:09:02 +01:00
subNode = node . SelectSingleNode ( "AutoBreakDashEarly" ) ;
if ( subNode ! = null )
{
settings . Tools . AutoBreakDashEarly = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "AutoBreakLineEndingEarly" ) ;
if ( subNode ! = null )
{
settings . Tools . AutoBreakLineEndingEarly = Convert . ToBoolean ( subNode . InnerText ) ;
}
2019-11-08 13:09:48 +01:00
subNode = node . SelectSingleNode ( "AutoBreakUsePixelWidth" ) ;
if ( subNode ! = null )
{
settings . Tools . AutoBreakUsePixelWidth = Convert . ToBoolean ( subNode . InnerText ) ;
}
2019-11-09 13:19:28 +01:00
subNode = node . SelectSingleNode ( "AutoBreakPreferBottomHeavy" ) ;
if ( subNode ! = null )
{
settings . Tools . AutoBreakPreferBottomHeavy = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "AutoBreakPreferBottomPercent" ) ;
if ( subNode ! = null )
{
settings . Tools . AutoBreakPreferBottomPercent = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2019-02-27 02:18:24 +01:00
subNode = node . SelectSingleNode ( "ApplyMinimumDurationLimit" ) ;
if ( subNode ! = null )
{
settings . Tools . ApplyMinimumDurationLimit = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "ApplyMaximumDurationLimit" ) ;
if ( subNode ! = null )
{
settings . Tools . ApplyMaximumDurationLimit = Convert . ToBoolean ( subNode . InnerText ) ;
}
2019-12-09 18:34:46 +01:00
subNode = node . SelectSingleNode ( "MergeShortLinesMaxGap" ) ;
if ( subNode ! = null )
{
settings . Tools . MergeShortLinesMaxGap = Convert . ToInt32 ( subNode . InnerText ) ;
}
2020-02-06 19:13:39 +01:00
subNode = node . SelectSingleNode ( "MergeShortLinesMaxChars" ) ;
if ( subNode ! = null )
{
settings . Tools . MergeShortLinesMaxChars = Convert . ToInt32 ( subNode . InnerText ) ;
}
2019-12-09 18:34:46 +01:00
subNode = node . SelectSingleNode ( "MergeShortLinesOnlyContinuous" ) ;
if ( subNode ! = null )
{
settings . Tools . MergeShortLinesOnlyContinuous = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-05-04 12:29:27 +02:00
subNode = node . SelectSingleNode ( "ColumnPasteColumn" ) ;
if ( subNode ! = null )
{
settings . Tools . ColumnPasteColumn = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "ColumnPasteOverwriteMode" ) ;
if ( subNode ! = null )
{
settings . Tools . ColumnPasteOverwriteMode = subNode . InnerText ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FindHistory" ) ;
if ( subNode ! = null )
{
foreach ( XmlNode findItem in subNode . ChildNodes )
{
if ( findItem . Name = = "Text" )
{
settings . Tools . FindHistory . Add ( findItem . InnerText ) ;
}
}
}
2016-10-11 17:47:04 +02:00
// Subtitle
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "SubtitleSettings" ) ;
if ( node ! = null )
{
subNode = node . SelectSingleNode ( "SsaFontName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . SsaFontName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . SsaFontSize = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaFontColorArgb" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . SsaFontColorArgb = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaFontBold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . SsaFontBold = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaOutline" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-06-30 21:55:10 +02:00
settings . SubtitleSettings . SsaOutline = Convert . ToDecimal ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaShadow" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-06-30 21:55:10 +02:00
settings . SubtitleSettings . SsaShadow = Convert . ToDecimal ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaOpaqueBox" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . SsaOpaqueBox = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaMarginLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . SsaMarginLeft = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaMarginRight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . SsaMarginRight = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SsaMarginTopBottom" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . SsaMarginTopBottom = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DCinemaFontFile" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . DCinemaFontFile = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DCinemaFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . DCinemaFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DCinemaBottomMargin" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . DCinemaBottomMargin = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DCinemaZPosition" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . DCinemaZPosition = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DCinemaFadeUpTime" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . DCinemaFadeUpTime = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DCinemaFadeDownTime" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . DCinemaFadeDownTime = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SamiDisplayTwoClassesAsTwoSubtitles" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . SamiDisplayTwoClassesAsTwoSubtitles = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SamiHtmlEncodeMode" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . SamiHtmlEncodeMode = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "TimedText10TimeCodeFormat" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . TimedText10TimeCodeFormat = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "TimedText10ShowStyleAndLanguage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . TimedText10ShowStyleAndLanguage = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-05-24 08:25:41 +02:00
subNode = node . SelectSingleNode ( "TimedText10FileExtension" ) ;
if ( subNode ! = null )
{
settings . SubtitleSettings . TimedText10FileExtension = subNode . InnerText ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FcpFontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . FcpFontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FcpFontName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . FcpFontName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "EbuStlTeletextUseBox" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . EbuStlTeletextUseBox = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "EbuStlTeletextUseDoubleHeight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . EbuStlTeletextUseDoubleHeight = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-02-04 17:41:13 +01:00
subNode = node . SelectSingleNode ( "EbuStlMarginTop" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . EbuStlMarginTop = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-02-04 17:41:13 +01:00
subNode = node . SelectSingleNode ( "EbuStlMarginBottom" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . EbuStlMarginBottom = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-02-04 17:41:13 +01:00
subNode = node . SelectSingleNode ( "EbuStlNewLineRows" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . SubtitleSettings . EbuStlNewLineRows = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2018-10-10 18:56:41 +02:00
2020-10-20 22:05:32 +02:00
subNode = node . SelectSingleNode ( "PacVerticalTop" ) ;
if ( subNode ! = null )
{
settings . SubtitleSettings . PacVerticalTop = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "PacVerticalCenter" ) ;
if ( subNode ! = null )
{
settings . SubtitleSettings . PacVerticalCenter = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "PacVerticalBottom" ) ;
if ( subNode ! = null )
{
settings . SubtitleSettings . PacVerticalBottom = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2018-10-10 18:56:41 +02:00
subNode = node . SelectSingleNode ( "DvdStudioProHeader" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-10-10 18:56:41 +02:00
settings . SubtitleSettings . DvdStudioProHeader = subNode . InnerText . TrimEnd ( ) + Environment . NewLine ;
2019-01-19 14:40:37 +01:00
}
2018-10-10 18:56:41 +02:00
2019-02-08 21:32:12 +01:00
subNode = node . SelectSingleNode ( "TmpegEncXmlFontName" ) ;
if ( subNode ! = null )
{
2019-02-08 21:38:42 +01:00
settings . SubtitleSettings . TmpegEncXmlFontName = subNode . InnerText . TrimEnd ( ) ;
2019-02-08 21:32:12 +01:00
}
subNode = node . SelectSingleNode ( "TmpegEncXmlFontHeight" ) ;
if ( subNode ! = null )
{
2019-02-08 21:38:42 +01:00
settings . SubtitleSettings . TmpegEncXmlFontHeight = subNode . InnerText . TrimEnd ( ) ;
2019-02-08 21:32:12 +01:00
}
subNode = node . SelectSingleNode ( "TmpegEncXmlPosition" ) ;
if ( subNode ! = null )
{
2019-02-08 21:38:42 +01:00
settings . SubtitleSettings . TmpegEncXmlPosition = subNode . InnerText . TrimEnd ( ) ;
2019-02-08 21:32:12 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CheetahCaptionAlwayWriteEndTime" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . CheetahCaptionAlwayWriteEndTime = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "NuendoCharacterListFile" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . SubtitleSettings . NuendoCharacterListFile = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-04-09 21:20:30 +02:00
subNode = node . SelectSingleNode ( "Cavena890StartOfMessage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-04-09 21:20:30 +02:00
settings . SubtitleSettings . Cavena890StartOfMessage = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-08-14 15:56:46 +02:00
subNode = node . SelectSingleNode ( "WebVttTimescale" ) ;
if ( subNode ! = null )
{
settings . SubtitleSettings . WebVttTimescale = long . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2019-08-31 20:23:48 +02:00
2020-05-10 10:01:04 +02:00
subNode = node . SelectSingleNode ( "TeletextItalicFix" ) ;
if ( subNode ! = null )
{
settings . SubtitleSettings . TeletextItalicFix = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2019-08-31 20:23:48 +02:00
subNode = node . SelectSingleNode ( "WebVttUseXTimestampMap" ) ;
if ( subNode ! = null )
{
settings . SubtitleSettings . WebVttUseXTimestampMap = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2016-02-08 21:11:03 +01:00
}
2016-10-11 17:47:04 +02:00
// Proxy
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "Proxy" ) ;
subNode = node . SelectSingleNode ( "ProxyAddress" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Proxy . ProxyAddress = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UserName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Proxy . UserName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Password" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Proxy . Password = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Domain" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . Proxy . Domain = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
2017-10-30 18:07:41 +01:00
// Fxp xml export settings
node = doc . DocumentElement . SelectSingleNode ( "FcpExportSettings" ) ;
if ( node ! = null )
{
subNode = node . SelectSingleNode ( "FontName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-10-30 18:07:41 +01:00
settings . FcpExportSettings . FontName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-30 18:07:41 +01:00
subNode = node . SelectSingleNode ( "FontSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . FcpExportSettings . FontSize = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-10-30 18:07:41 +01:00
subNode = node . SelectSingleNode ( "Alignment" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-10-30 18:07:41 +01:00
settings . FcpExportSettings . Alignment = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-30 18:07:41 +01:00
subNode = node . SelectSingleNode ( "Baseline" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . FcpExportSettings . Baseline = int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2017-10-30 18:07:41 +01:00
subNode = node . SelectSingleNode ( "Color" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . FcpExportSettings . Color = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2017-10-30 18:07:41 +01:00
}
2016-10-11 17:47:04 +02:00
// Word List
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "WordLists" ) ;
subNode = node . SelectSingleNode ( "LastLanguage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . WordLists . LastLanguage = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-04-10 19:23:24 +02:00
subNode = node . SelectSingleNode ( "Names" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-10 19:23:24 +02:00
settings . WordLists . NamesUrl = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-04-10 19:23:24 +02:00
subNode = node . SelectSingleNode ( "UseOnlineNames" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-04-10 19:23:24 +02:00
settings . WordLists . UseOnlineNames = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
2016-10-11 17:47:04 +02:00
// Fix Common Errors
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "CommonErrors" ) ;
subNode = node . SelectSingleNode ( "StartPosition" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . StartPosition = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . StartSize = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "EmptyLinesTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . EmptyLinesTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "OverlappingDisplayTimeTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . OverlappingDisplayTimeTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "TooShortDisplayTimeTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . TooShortDisplayTimeTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "TooLongDisplayTimeTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . TooLongDisplayTimeTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2019-12-10 18:28:40 +01:00
subNode = node . SelectSingleNode ( "TooShortGapTicked" ) ;
if ( subNode ! = null )
{
settings . CommonErrors . TooShortGapTicked = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "InvalidItalicTagsTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . InvalidItalicTagsTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BreakLongLinesTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . BreakLongLinesTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MergeShortLinesTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . MergeShortLinesTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MergeShortLinesAllTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . MergeShortLinesAllTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UnneededSpacesTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . UnneededSpacesTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UnneededPeriodsTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . UnneededPeriodsTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-04-15 18:44:54 +02:00
subNode = node . SelectSingleNode ( "FixCommasTicked" ) ;
if ( subNode ! = null )
{
settings . CommonErrors . FixCommasTicked = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MissingSpacesTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . MissingSpacesTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AddMissingQuotesTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . AddMissingQuotesTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "Fix3PlusLinesTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . Fix3PlusLinesTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixHyphensTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixHyphensTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-02-16 08:08:19 +01:00
subNode = node . SelectSingleNode ( "FixHyphensRemoveSingleLineTicked" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-02-16 08:08:19 +01:00
settings . CommonErrors . FixHyphensRemoveSingleLineTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UppercaseIInsideLowercaseWordTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . UppercaseIInsideLowercaseWordTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DoubleApostropheToQuoteTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . DoubleApostropheToQuoteTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AddPeriodAfterParagraphTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . AddPeriodAfterParagraphTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartWithUppercaseLetterAfterParagraphTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . StartWithUppercaseLetterAfterParagraphTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartWithUppercaseLetterAfterPeriodInsideParagraphTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . StartWithUppercaseLetterAfterPeriodInsideParagraphTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "StartWithUppercaseLetterAfterColonTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . StartWithUppercaseLetterAfterColonTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AloneLowercaseIToUppercaseIEnglishTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . AloneLowercaseIToUppercaseIEnglishTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixOcrErrorsViaReplaceListTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixOcrErrorsViaReplaceListTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "RemoveSpaceBetweenNumberTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . RemoveSpaceBetweenNumberTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixDialogsOnOneLineTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixDialogsOnOneLineTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "TurkishAnsiTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . TurkishAnsiTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DanishLetterITicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . DanishLetterITicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpanishInvertedQuestionAndExclamationMarksTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . SpanishInvertedQuestionAndExclamationMarksTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixDoubleDashTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixDoubleDashTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixDoubleGreaterThanTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixDoubleGreaterThanTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixEllipsesStartTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixEllipsesStartTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixMissingOpenBracketTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixMissingOpenBracketTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "FixMusicNotationTicked" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . CommonErrors . FixMusicNotationTicked = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
2020-04-08 21:27:48 +02:00
subNode = node . SelectSingleNode ( "FixContinuationStyleTicked" ) ;
if ( subNode ! = null )
{
settings . CommonErrors . FixContinuationStyleTicked = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "FixUnnecessaryLeadingDotsTicked" ) ;
if ( subNode ! = null )
{
settings . CommonErrors . FixUnnecessaryLeadingDotsTicked = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-05-27 11:21:16 +02:00
subNode = node . SelectSingleNode ( "NormalizeStringsTicked" ) ;
if ( subNode ! = null )
{
settings . CommonErrors . NormalizeStringsTicked = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-07-15 19:07:43 +02:00
subNode = node . SelectSingleNode ( "DefaultFixes" ) ;
if ( subNode ! = null )
{
settings . CommonErrors . DefaultFixes = subNode . InnerText ;
}
2016-10-11 17:47:04 +02:00
// Video Controls
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "VideoControls" ) ;
subNode = node . SelectSingleNode ( "CustomSearchText1" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchText1 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchText2" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchText2 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchText3" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchText3 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchText4" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchText4 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchText5" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchText5 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchUrl1" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchUrl1 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchUrl1" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchUrl1 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchUrl2" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchUrl2 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchUrl3" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchUrl3 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchUrl4" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchUrl4 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "CustomSearchUrl5" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . CustomSearchUrl5 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastActiveTab" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . LastActiveTab = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformDrawGrid" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformDrawGrid = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-01-16 18:57:29 +01:00
subNode = node . SelectSingleNode ( "WaveformDrawCps" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-01-16 18:57:29 +01:00
settings . VideoControls . WaveformDrawCps = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2017-01-16 18:57:29 +01:00
subNode = node . SelectSingleNode ( "WaveformDrawWpm" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-01-16 18:57:29 +01:00
settings . VideoControls . WaveformDrawWpm = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformAllowOverlap" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformAllowOverlap = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformFocusOnMouseEnter" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformFocusOnMouseEnter = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformListViewFocusOnMouseEnter" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformListViewFocusOnMouseEnter = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-03-30 22:28:17 +02:00
subNode = node . SelectSingleNode ( "WaveformSingleClickSelect" ) ;
if ( subNode ! = null )
{
settings . VideoControls . WaveformSingleClickSelect = Convert . ToBoolean ( subNode . InnerText ) ;
}
2020-03-31 00:13:11 +02:00
subNode = node . SelectSingleNode ( "WaveformSnapToSceneChanges" ) ;
if ( subNode ! = null )
{
settings . VideoControls . WaveformSnapToSceneChanges = Convert . ToBoolean ( subNode . InnerText ) ;
}
2017-01-12 21:27:19 +01:00
subNode = node . SelectSingleNode ( "WaveformSetVideoPositionOnMoveStartEnd" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-01-15 09:46:26 +01:00
settings . VideoControls . WaveformSetVideoPositionOnMoveStartEnd = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformBorderHitMs" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VideoControls . WaveformBorderHitMs = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformGridColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VideoControls . WaveformGridColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VideoControls . WaveformColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformSelectedColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VideoControls . WaveformSelectedColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformBackgroundColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VideoControls . WaveformBackgroundColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformTextColor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VideoControls . WaveformTextColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2020-05-04 15:25:38 +02:00
subNode = node . SelectSingleNode ( "WaveformCursorColor" ) ;
if ( subNode ! = null )
{
settings . VideoControls . WaveformCursorColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
}
2020-10-27 22:07:11 +01:00
subNode = node . SelectSingleNode ( "WaveformChaptersColor" ) ;
if ( subNode ! = null )
{
settings . VideoControls . WaveformChaptersColor = Color . FromArgb ( int . Parse ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformTextSize" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformTextSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformTextBold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformTextBold = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformDoubleClickOnNonParagraphAction" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformDoubleClickOnNonParagraphAction = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformRightClickOnNonParagraphAction" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformRightClickOnNonParagraphAction = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformMouseWheelScrollUpIsForward" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformMouseWheelScrollUpIsForward = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GenerateSpectrogram" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . GenerateSpectrogram = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "SpectrogramAppearance" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . SpectrogramAppearance = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformMinimumSampleRate" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VideoControls . WaveformMinimumSampleRate = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformSeeksSilenceDurationSeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformSeeksSilenceDurationSeconds = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformSeeksSilenceMaxVolume" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VideoControls . WaveformSeeksSilenceMaxVolume = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2018-11-01 20:48:54 +01:00
subNode = node . SelectSingleNode ( "WaveformUnwrapText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-11-01 20:48:54 +01:00
settings . VideoControls . WaveformUnwrapText = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2018-11-01 20:48:54 +01:00
subNode = node . SelectSingleNode ( "WaveformHideWpmCpsLabels" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-11-01 20:48:54 +01:00
settings . VideoControls . WaveformHideWpmCpsLabels = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
2016-10-11 17:47:04 +02:00
// Network
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "NetworkSettings" ) ;
if ( node ! = null )
{
subNode = node . SelectSingleNode ( "SessionKey" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . NetworkSettings . SessionKey = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UserName" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . NetworkSettings . UserName = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WebServiceUrl" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . NetworkSettings . WebServiceUrl = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "PollIntervalSeconds" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . NetworkSettings . PollIntervalSeconds = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "NewMessageSound" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . NetworkSettings . NewMessageSound = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
}
2016-10-11 17:47:04 +02:00
// VobSub Ocr
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "VobSubOcr" ) ;
subNode = node . SelectSingleNode ( "XOrMorePixelsMakesSpace" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VobSubOcr . XOrMorePixelsMakesSpace = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AllowDifferenceInPercent" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . AllowDifferenceInPercent = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "BlurayAllowDifferenceInPercent" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . BlurayAllowDifferenceInPercent = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastImageCompareFolder" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LastImageCompareFolder = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastModiLanguageId" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VobSubOcr . LastModiLanguageId = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastOcrMethod" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LastOcrMethod = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "TesseractLastLanguage" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . TesseractLastLanguage = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-09-19 22:22:19 +02:00
subNode = node . SelectSingleNode ( "UseTesseractFallback" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-09-19 22:22:19 +02:00
settings . VobSubOcr . UseTesseractFallback = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UseItalicsInTesseract" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . UseItalicsInTesseract = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2018-03-27 17:24:47 +02:00
subNode = node . SelectSingleNode ( "TesseractEngineMode" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VobSubOcr . TesseractEngineMode = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "UseMusicSymbolsInTesseract" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . UseMusicSymbolsInTesseract = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "RightToLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . RightToLeft = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "TopToBottom" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . TopToBottom = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "DefaultMillisecondsForUnknownDurations" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VobSubOcr . DefaultMillisecondsForUnknownDurations = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2020-03-17 20:31:27 +01:00
subNode = node . SelectSingleNode ( "FixOcrErrors" ) ;
if ( subNode ! = null )
{
settings . VobSubOcr . FixOcrErrors = Convert . ToBoolean ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "PromptForUnknownWords" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . PromptForUnknownWords = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GuessUnknownWords" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . GuessUnknownWords = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "AutoBreakSubtitleIfMoreThanTwoLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . AutoBreakSubtitleIfMoreThanTwoLines = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "ItalicFactor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . ItalicFactor = Convert . ToDouble ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LineOcrDraw" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LineOcrDraw = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2020-06-06 20:12:34 +02:00
subNode = node . SelectSingleNode ( "LineOcrMinHeightSplit" ) ;
if ( subNode ! = null )
{
settings . VobSubOcr . LineOcrMinHeightSplit = Convert . ToInt32 ( subNode . InnerText ) ;
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LineOcrAdvancedItalic" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LineOcrAdvancedItalic = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LineOcrLastLanguages" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LineOcrLastLanguages = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LineOcrLastSpellCheck" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LineOcrLastSpellCheck = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-05-23 21:22:05 +02:00
subNode = node . SelectSingleNode ( "LineOcrLinesToAutoGuess" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-05-23 21:22:05 +02:00
settings . VobSubOcr . LineOcrLinesToAutoGuess = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LineOcrMinLineHeight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VobSubOcr . LineOcrMinLineHeight = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LineOcrMaxLineHeight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2019-01-02 06:38:46 +01:00
settings . VobSubOcr . LineOcrMaxLineHeight = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
2019-01-19 14:40:37 +01:00
}
2020-05-30 14:22:08 +02:00
subNode = node . SelectSingleNode ( "LineOcrMaxErrorPixels" ) ;
if ( subNode ! = null )
{
settings . VobSubOcr . LineOcrMaxErrorPixels = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2020-06-01 16:38:53 +02:00
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastBinaryImageCompareDb" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LastBinaryImageCompareDb = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "LastBinaryImageSpellCheck" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
settings . VobSubOcr . LastBinaryImageSpellCheck = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-02-06 17:16:54 +01:00
subNode = node . SelectSingleNode ( "BinaryAutoDetectBestDb" ) ;
if ( subNode ! = null )
{
settings . VobSubOcr . BinaryAutoDetectBestDb = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2018-03-15 20:25:13 +01:00
subNode = node . SelectSingleNode ( "LastTesseractSpellCheck" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2018-03-15 20:25:13 +01:00
settings . VobSubOcr . LastTesseractSpellCheck = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-06-26 16:23:40 +02:00
2019-08-31 20:23:48 +02:00
subNode = node . SelectSingleNode ( "CaptureTopAlign" ) ;
if ( subNode ! = null )
{
settings . VobSubOcr . CaptureTopAlign = Convert . ToBoolean ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2020-05-24 09:45:21 +02:00
subNode = node . SelectSingleNode ( "UnfocusedAttentionBlinkCount" ) ;
if ( subNode ! = null )
{
settings . VobSubOcr . UnfocusedAttentionBlinkCount = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "UnfocusedAttentionPlaySoundCount" ) ;
if ( subNode ! = null )
{
settings . VobSubOcr . UnfocusedAttentionPlaySoundCount = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
2016-06-26 16:23:40 +02:00
foreach ( XmlNode groupNode in doc . DocumentElement . SelectNodes ( "MultipleSearchAndReplaceGroups/Group" ) )
{
2020-10-29 18:31:56 +01:00
var group = new MultipleSearchAndReplaceGroup
{
Rules = new List < MultipleSearchAndReplaceSetting > ( )
} ;
2016-06-26 16:23:40 +02:00
subNode = groupNode . SelectSingleNode ( "Name" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-06-26 16:23:40 +02:00
group . Name = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-06-26 16:23:40 +02:00
subNode = groupNode . SelectSingleNode ( "Enabled" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-06-26 16:23:40 +02:00
group . Enabled = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-06-26 16:23:40 +02:00
settings . MultipleSearchAndReplaceGroups . Add ( group ) ;
foreach ( XmlNode listNode in groupNode . SelectNodes ( "Rule" ) )
{
var item = new MultipleSearchAndReplaceSetting ( ) ;
subNode = listNode . SelectSingleNode ( "Enabled" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-06-26 16:23:40 +02:00
item . Enabled = Convert . ToBoolean ( subNode . InnerText ) ;
2019-01-19 14:40:37 +01:00
}
2016-06-26 16:23:40 +02:00
subNode = listNode . SelectSingleNode ( "FindWhat" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-06-26 16:23:40 +02:00
item . FindWhat = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-06-26 16:23:40 +02:00
subNode = listNode . SelectSingleNode ( "ReplaceWith" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-06-26 16:23:40 +02:00
item . ReplaceWith = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-06-26 16:23:40 +02:00
subNode = listNode . SelectSingleNode ( "SearchType" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2016-06-26 16:23:40 +02:00
item . SearchType = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-12-11 21:11:32 +01:00
subNode = listNode . SelectSingleNode ( "Description" ) ;
2017-12-09 21:04:11 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2017-12-11 21:11:32 +01:00
item . Description = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-06-30 15:28:04 +02:00
group . Rules . Add ( item ) ;
2016-06-26 16:23:40 +02:00
}
2016-02-08 21:11:03 +01:00
}
2016-10-11 17:47:04 +02:00
// Shortcuts
2020-10-11 16:29:41 +02:00
ReadShortcuts ( doc , settings . Shortcuts ) ;
// Remove text for Hearing Impaired
node = doc . DocumentElement . SelectSingleNode ( "RemoveTextForHearingImpaired" ) ;
if ( node ! = null )
{
subNode = node . SelectSingleNode ( "RemoveTextBetweenBrackets" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenBrackets = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBetweenParentheses" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenParentheses = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBetweenCurlyBrackets" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenCurlyBrackets = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBetweenQuestionMarks" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenQuestionMarks = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBetweenCustom" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenCustom = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBetweenCustomBefore" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenCustomBefore = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "RemoveTextBetweenCustomAfter" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenCustomAfter = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "RemoveTextBetweenOnlySeparateLines" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBetweenOnlySeparateLines = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBeforeColon" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBeforeColon = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBeforeColonOnlyIfUppercase" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBeforeColonOnlyIfUppercase = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveTextBeforeColonOnlyOnSeparateLine" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveTextBeforeColonOnlyOnSeparateLine = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveIfAllUppercase" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveIfAllUppercase = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveInterjections" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveInterjections = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveInterjectionsOnlyOnSeparateLine" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveInterjectionsOnlyOnSeparateLine = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveIfContains" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveIfContains = Convert . ToBoolean ( subNode . InnerText ) ;
}
subNode = node . SelectSingleNode ( "RemoveIfContainsText" ) ;
if ( subNode ! = null )
{
settings . RemoveTextForHearingImpaired . RemoveIfContainsText = subNode . InnerText ;
}
}
// Subtitle Beaming
node = doc . DocumentElement . SelectSingleNode ( "SubtitleBeaming" ) ;
if ( node ! = null )
{
subNode = node . SelectSingleNode ( "FontName" ) ;
if ( subNode ! = null )
{
settings . SubtitleBeaming . FontName = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "FontColor" ) ;
if ( subNode ! = null )
{
settings . SubtitleBeaming . FontColor = Color . FromArgb ( Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
}
subNode = node . SelectSingleNode ( "FontSize" ) ;
if ( subNode ! = null )
{
settings . SubtitleBeaming . FontSize = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
subNode = node . SelectSingleNode ( "BorderColor" ) ;
if ( subNode ! = null )
{
settings . SubtitleBeaming . BorderColor = Color . FromArgb ( Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ) ;
}
subNode = node . SelectSingleNode ( "BorderWidth" ) ;
if ( subNode ! = null )
{
settings . SubtitleBeaming . BorderWidth = Convert . ToInt32 ( subNode . InnerText , CultureInfo . InvariantCulture ) ;
}
}
if ( profileCount = = 0 )
{
settings . General . CurrentProfile = "Default" ;
settings . General . Profiles = new List < RulesProfile > ( ) ;
settings . General . Profiles . Add ( new RulesProfile
{
Name = settings . General . CurrentProfile ,
SubtitleLineMaximumLength = settings . General . SubtitleLineMaximumLength ,
MaxNumberOfLines = settings . General . MaxNumberOfLines ,
MergeLinesShorterThan = settings . General . MergeLinesShorterThan ,
SubtitleMaximumCharactersPerSeconds = ( decimal ) settings . General . SubtitleMaximumCharactersPerSeconds ,
SubtitleOptimalCharactersPerSeconds = ( decimal ) settings . General . SubtitleOptimalCharactersPerSeconds ,
SubtitleMaximumDisplayMilliseconds = settings . General . SubtitleMaximumDisplayMilliseconds ,
SubtitleMinimumDisplayMilliseconds = settings . General . SubtitleMinimumDisplayMilliseconds ,
SubtitleMaximumWordsPerMinute = ( decimal ) settings . General . SubtitleMaximumWordsPerMinute ,
CpsIncludesSpace = ! settings . General . CharactersPerSecondsIgnoreWhiteSpace ,
MinimumMillisecondsBetweenLines = settings . General . MinimumMillisecondsBetweenLines ,
DialogStyle = settings . General . DialogStyle ,
ContinuationStyle = settings . General . ContinuationStyle
} ) ;
GeneralSettings . AddExtraProfiles ( settings . General . Profiles ) ;
}
return settings ;
}
internal static void ReadShortcuts ( XmlDocument doc , Shortcuts shortcuts )
{
XmlNode node ;
XmlNode subNode ;
2016-02-08 21:11:03 +01:00
node = doc . DocumentElement . SelectSingleNode ( "Shortcuts" ) ;
if ( node ! = null )
{
subNode = node . SelectSingleNode ( "GeneralGoToFirstSelectedLine" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToFirstSelectedLine = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToNextEmptyLine" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToNextEmptyLine = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralMergeSelectedLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeSelectedLines = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-17 06:11:08 +02:00
subNode = node . SelectSingleNode ( "GeneralMergeSelectedLinesAndUnbreak" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeSelectedLinesAndUnbreak = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-26 10:25:24 +02:00
subNode = node . SelectSingleNode ( "GeneralMergeSelectedLinesAndAutoBreak" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeSelectedLinesAndAutoBreak = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-17 06:11:08 +02:00
subNode = node . SelectSingleNode ( "GeneralMergeSelectedLinesAndUnbreakCjk" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeSelectedLinesAndUnbreakCjk = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralMergeSelectedLinesOnlyFirstText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeSelectedLinesOnlyFirstText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-17 06:11:08 +02:00
subNode = node . SelectSingleNode ( "GeneralMergeSelectedLinesBilingual" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeSelectedLinesBilingual = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-10-18 11:50:28 +02:00
subNode = node . SelectSingleNode ( "GeneralMergeWithNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeWithNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-10-18 11:50:28 +02:00
subNode = node . SelectSingleNode ( "GeneralMergeWithPrevious" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeWithPrevious = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralToggleTranslationMode" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralToggleTranslationMode = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralSwitchOriginalAndTranslation" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralSwitchOriginalAndTranslation = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralMergeOriginalAndTranslation" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralMergeOriginalAndTranslation = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToNextSubtitle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToNextSubtitle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToPrevSubtitle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToPrevSubtitle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToEndOfCurrentSubtitle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToEndOfCurrentSubtitle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToStartOfCurrentSubtitle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToStartOfCurrentSubtitle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-08-03 14:47:45 +02:00
subNode = node . SelectSingleNode ( "GeneralGoToNextSubtitleAndFocusVideo" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToNextSubtitleAndFocusVideo = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-06-07 22:48:07 +02:00
subNode = node . SelectSingleNode ( "GeneralGoToPrevSubtitleAndPlay" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToPrevSubtitleAndPlay = subNode . InnerText ;
2020-06-07 22:48:07 +02:00
}
2020-06-07 19:15:08 +02:00
subNode = node . SelectSingleNode ( "GeneralGoToNextSubtitleAndPlay" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToNextSubtitleAndPlay = subNode . InnerText ;
2020-06-07 19:15:08 +02:00
}
2017-01-11 21:24:34 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToPreviousSubtitleAndFocusVideo" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToPreviousSubtitleAndFocusVideo = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-10-18 11:50:28 +02:00
subNode = node . SelectSingleNode ( "GeneralAutoCalcCurrentDuration" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralAutoCalcCurrentDuration = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "GeneralPlayFirstSelected" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralPlayFirstSelected = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-10-02 19:28:58 +02:00
subNode = node . SelectSingleNode ( "GeneralHelp" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralHelp = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-02-03 10:41:51 +01:00
subNode = node . SelectSingleNode ( "GeneralUnbrekNoSpace" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralUnbrekNoSpace = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-12-25 00:08:23 +01:00
subNode = node . SelectSingleNode ( "GeneralToggleBookmarks" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralToggleBookmarks = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-12-25 00:08:23 +01:00
subNode = node . SelectSingleNode ( "GeneralToggleBookmarksWithText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralToggleBookmarksWithText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-12-25 00:08:23 +01:00
subNode = node . SelectSingleNode ( "GeneralClearBookmarks" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralClearBookmarks = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-12-25 00:08:23 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToBookmark" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToBookmark = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-12-25 09:58:46 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToPreviousBookmark" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToPreviousBookmark = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-12-25 00:08:23 +01:00
subNode = node . SelectSingleNode ( "GeneralGoToNextBookmark" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . GeneralGoToNextBookmark = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-08-05 20:51:45 +02:00
subNode = node . SelectSingleNode ( "ChooseProfile" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . ChooseProfile = subNode . InnerText ;
2019-08-05 20:51:45 +02:00
}
2019-12-02 17:08:34 +01:00
subNode = node . SelectSingleNode ( "DuplicateLine" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . DuplicateLine = subNode . InnerText ;
2019-12-02 17:08:34 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileNew" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileNew = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileOpen" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileOpen = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileOpenKeepVideo" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileOpenKeepVideo = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileSave" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileSave = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileSaveOriginal" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileSaveOriginal = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileSaveOriginalAs" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileSaveOriginalAs = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileSaveAs" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileSaveAs = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileSaveAll" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileSaveAll = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-04 16:00:15 +02:00
subNode = node . SelectSingleNode ( "MainFileCloseOriginal" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileCloseOriginal = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-07-26 16:19:45 +02:00
subNode = node . SelectSingleNode ( "MainFileCompare" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileCompare = subNode . InnerText ;
2020-07-26 16:19:45 +02:00
}
2018-04-09 07:57:20 +02:00
subNode = node . SelectSingleNode ( "MainFileOpenOriginal" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileOpenOriginal = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-04 16:00:15 +02:00
subNode = node . SelectSingleNode ( "MainFileImportPlainText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileImportPlainText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-04 16:00:15 +02:00
subNode = node . SelectSingleNode ( "MainFileImportTimeCodes" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileImportTimeCodes = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainFileExportEbu" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileExportEbu = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-08-11 15:08:57 +02:00
subNode = node . SelectSingleNode ( "MainFileExportPac" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileExportPac = subNode . InnerText ;
2020-08-11 15:08:57 +02:00
}
2017-10-10 20:50:18 +02:00
subNode = node . SelectSingleNode ( "MainFileExportPlainText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainFileExportPlainText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditUndo" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditUndo = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditRedo" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditRedo = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditFind" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditFind = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditFindNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditFindNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditReplace" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditReplace = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditMultipleReplace" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditMultipleReplace = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditGoToLineNumber" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditGoToLineNumber = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditRightToLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditRightToLeft = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsFixCommonErrors" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsFixCommonErrors = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsFixCommonErrorsPreview" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsFixCommonErrorsPreview = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsMergeShortLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsMergeShortLines = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-07-27 16:52:01 +02:00
subNode = node . SelectSingleNode ( "MainToolsMergeDuplicateText" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsMergeDuplicateText = subNode . InnerText ;
2020-07-27 16:52:01 +02:00
}
subNode = node . SelectSingleNode ( "MainToolsMergeSameTimeCodes" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsMergeSameTimeCodes = subNode . InnerText ;
2020-07-27 16:52:01 +02:00
}
2017-10-04 16:00:15 +02:00
subNode = node . SelectSingleNode ( "MainToolsMakeEmptyFromCurrent" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsMakeEmptyFromCurrent = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsSplitLongLines" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsSplitLongLines = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-04-14 09:34:08 +02:00
subNode = node . SelectSingleNode ( "MainToolsDurationsBridgeGap" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsDurationsBridgeGap = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-12-26 08:11:30 +01:00
subNode = node . SelectSingleNode ( "MainToolsMinimumDisplayTimeBetweenParagraphs" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsMinimumDisplayTimeBetweenParagraphs = subNode . InnerText ;
2019-12-26 08:11:30 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsRenumber" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsRenumber = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsRemoveTextForHI" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsRemoveTextForHI = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsChangeCasing" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsChangeCasing = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsAutoDuration" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsAutoDuration = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsBatchConvert" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsBatchConvert = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-10-07 14:47:22 +02:00
subNode = node . SelectSingleNode ( "MainToolsMeasurementConverter" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsMeasurementConverter = subNode . InnerText ;
2020-10-07 14:47:22 +02:00
}
2020-07-11 20:42:37 +02:00
subNode = node . SelectSingleNode ( "MainToolsSplit" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsSplit = subNode . InnerText ;
2020-07-11 20:42:37 +02:00
}
subNode = node . SelectSingleNode ( "MainToolsAppend" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsAppend = subNode . InnerText ;
2020-07-11 20:42:37 +02:00
}
subNode = node . SelectSingleNode ( "MainToolsJoin" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsJoin = subNode . InnerText ;
2020-07-11 20:42:37 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToolsBeamer" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToolsBeamer = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-10-11 16:44:09 +02:00
subNode = node . SelectSingleNode ( "MainEditToggleTranslationOriginalInPreviews" ) ;
2016-02-08 21:11:03 +01:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditToggleTranslationOriginalInPreviews = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditInverseSelection" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditInverseSelection = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditModifySelection" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditModifySelection = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-04 16:00:15 +02:00
subNode = node . SelectSingleNode ( "MainVideoOpen" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoOpen = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-04 16:00:15 +02:00
subNode = node . SelectSingleNode ( "MainVideoClose" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoClose = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideoPause" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoPause = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-20 17:50:50 +02:00
subNode = node . SelectSingleNode ( "MainVideoPlayFromJustBefore" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoPlayFromJustBefore = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideoPlayPauseToggle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoPlayPauseToggle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideoShowHideVideo" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoShowHideVideo = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-09-10 03:07:25 +02:00
subNode = node . SelectSingleNode ( "MainVideoFoucsSetVideoPosition" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoFoucsSetVideoPosition = subNode . InnerText ;
2020-09-10 03:07:25 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideoToggleVideoControls" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoToggleVideoControls = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo1FrameLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo1FrameLeft = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo1FrameRight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo1FrameRight = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-06-29 19:21:23 +02:00
subNode = node . SelectSingleNode ( "MainVideo1FrameLeftWithPlay" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo1FrameLeftWithPlay = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-06-29 19:21:23 +02:00
subNode = node . SelectSingleNode ( "MainVideo1FrameRightWithPlay" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo1FrameRightWithPlay = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo100MsLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo100MsLeft = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo100MsRight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo100MsRight = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo500MsLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo500MsLeft = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo500MsRight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo500MsRight = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo1000MsLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo1000MsLeft = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideo1000MsRight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo1000MsRight = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-09-15 17:43:49 +02:00
subNode = node . SelectSingleNode ( "MainVideo5000MsLeft" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo5000MsLeft = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-09-15 17:43:49 +02:00
subNode = node . SelectSingleNode ( "MainVideo5000MsRight" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo5000MsRight = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-09-10 00:07:48 +02:00
subNode = node . SelectSingleNode ( "MainVideoXSMsLeft" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoXSMsLeft = subNode . InnerText ;
2020-09-10 00:07:48 +02:00
}
subNode = node . SelectSingleNode ( "MainVideoXSMsRight" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoXSMsRight = subNode . InnerText ;
2020-09-10 00:07:48 +02:00
}
subNode = node . SelectSingleNode ( "MainVideoXLMsLeft" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoXLMsLeft = subNode . InnerText ;
2020-09-10 00:07:48 +02:00
}
subNode = node . SelectSingleNode ( "MainVideoXLMsRight" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoXLMsRight = subNode . InnerText ;
2020-09-10 00:07:48 +02:00
}
2020-03-17 15:06:12 +01:00
subNode = node . SelectSingleNode ( "MainVideo3000MsLeft" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideo3000MsLeft = subNode . InnerText ;
2020-03-17 15:06:12 +01:00
}
subNode = node . SelectSingleNode ( "MainVideoGoToStartCurrent" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoGoToStartCurrent = subNode . InnerText ;
2020-03-17 15:06:12 +01:00
}
subNode = node . SelectSingleNode ( "MainVideoToggleStartEndCurrent" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoToggleStartEndCurrent = subNode . InnerText ;
2020-03-17 15:06:12 +01:00
}
subNode = node . SelectSingleNode ( "MainVideoPlayCurrent" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoPlayCurrent = subNode . InnerText ;
2020-03-17 15:06:12 +01:00
}
2018-04-15 16:42:08 +02:00
subNode = node . SelectSingleNode ( "MainVideoGoToPrevSubtitle" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoGoToPrevSubtitle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-17 06:11:08 +02:00
subNode = node . SelectSingleNode ( "MainVideoGoToNextSubtitle" ) ;
2018-04-15 16:42:08 +02:00
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoGoToNextSubtitle = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-10-16 14:49:15 +02:00
subNode = node . SelectSingleNode ( "MainVideoGoToPrevChapter" ) ;
if ( subNode ! = null )
{
shortcuts . MainVideoGoToPrevChapter = subNode . InnerText ;
}
subNode = node . SelectSingleNode ( "MainVideoGoToNextChapter" ) ;
if ( subNode ! = null )
{
shortcuts . MainVideoGoToNextChapter = subNode . InnerText ;
}
2020-03-18 08:45:01 +01:00
subNode = node . SelectSingleNode ( "MainVideoSelectNextSubtitle" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoSelectNextSubtitle = subNode . InnerText ;
2020-03-18 08:45:01 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainVideoFullscreen" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoFullscreen = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-02-24 10:33:54 +01:00
subNode = node . SelectSingleNode ( "MainVideoSlower" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoSlower = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-02-24 10:33:54 +01:00
subNode = node . SelectSingleNode ( "MainVideoFaster" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoFaster = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-07-28 09:45:04 +02:00
subNode = node . SelectSingleNode ( "MainVideoReset" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainVideoReset = subNode . InnerText ;
2019-07-28 09:45:04 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainSpellCheck" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSpellCheck = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainSpellCheckFindDoubleWords" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSpellCheckFindDoubleWords = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainSpellCheckAddWordToNames" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSpellCheckAddWordToNames = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainSynchronizationAdjustTimes" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSynchronizationAdjustTimes = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainSynchronizationVisualSync" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSynchronizationVisualSync = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainSynchronizationPointSync" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSynchronizationPointSync = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-10-04 16:00:15 +02:00
subNode = node . SelectSingleNode ( "MainSynchronizationPointSyncViaFile" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSynchronizationPointSyncViaFile = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainSynchronizationChangeFrameRate" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainSynchronizationChangeFrameRate = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewItalic" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewItalic = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewBold" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewBold = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewUnderline" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewUnderline = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-08-11 15:08:57 +02:00
subNode = node . SelectSingleNode ( "MainListViewBox" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewBox = subNode . InnerText ;
2020-08-11 15:08:57 +02:00
}
2020-06-10 11:22:31 +02:00
subNode = node . SelectSingleNode ( "MainListViewSplit" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewSplit = subNode . InnerText ;
2020-06-10 11:22:31 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewToggleDashes" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewToggleDashes = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-03-05 18:55:33 +01:00
subNode = node . SelectSingleNode ( "MainListViewToggleMusicSymbols" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewToggleMusicSymbols = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignment" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignment = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN1" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN1 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN1" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN1 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN2" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN2 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN3" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN3 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN4" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN4 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN5" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN5 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN6" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN6 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN7" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN7 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN8" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN8 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-27 21:05:40 +01:00
subNode = node . SelectSingleNode ( "MainListViewAlignmentN9" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAlignmentN9 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-11-29 04:33:11 +01:00
subNode = node . SelectSingleNode ( "MainRemoveFormatting" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainRemoveFormatting = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewCopyText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewCopyText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewCopyTextFromOriginalToCurrent" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewCopyTextFromOriginalToCurrent = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewAutoDuration" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewAutoDuration = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewColumnDeleteText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewColumnDeleteText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-08 19:46:22 +02:00
subNode = node . SelectSingleNode ( "MainListViewColumnDeleteTextAndShiftUp" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewColumnDeleteTextAndShiftUp = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewColumnInsertText" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewColumnInsertText = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewColumnPaste" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewColumnPaste = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-01-31 16:03:43 +01:00
subNode = node . SelectSingleNode ( "MainListViewColumnTextUp" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewColumnTextUp = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-01-31 16:03:43 +01:00
subNode = node . SelectSingleNode ( "MainListViewColumnTextDown" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewColumnTextDown = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewFocusWaveform" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewFocusWaveform = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainListViewGoToNextError" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewGoToNextError = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-02-10 17:45:24 +01:00
subNode = node . SelectSingleNode ( "MainListViewRemoveTimeCodes" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainListViewRemoveTimeCodes = subNode . InnerText ;
2020-02-10 17:45:24 +01:00
}
2020-09-21 01:39:28 +02:00
subNode = node . SelectSingleNode ( "MainEditFixRTLViaUnicodeChars" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditFixRTLViaUnicodeChars = subNode . InnerText ;
2020-09-21 01:39:28 +02:00
}
2020-10-11 16:29:41 +02:00
2020-09-21 01:39:28 +02:00
subNode = node . SelectSingleNode ( "MainEditRemoveRTLUnicodeChars" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditRemoveRTLUnicodeChars = subNode . InnerText ;
2020-09-21 01:39:28 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainEditReverseStartAndEndingForRTL" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainEditReverseStartAndEndingForRTL = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxItalic" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxItalic = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxSplitAtCursor" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxSplitAtCursor = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-02-13 20:06:27 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxSplitAtCursorAndVideoPos" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxSplitAtCursorAndVideoPos = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-23 07:00:40 +02:00
subNode = node . SelectSingleNode ( "MainTextBoxSplitSelectedLineBilingual" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxSplitSelectedLineBilingual = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxMoveLastWordDown" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxMoveLastWordDown = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxMoveFirstWordFromNextUp" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxMoveFirstWordFromNextUp = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-01-15 19:46:16 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxMoveLastWordDownCurrent" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxMoveLastWordDownCurrent = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-01-15 19:46:16 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxMoveFirstWordUpCurrent" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxMoveFirstWordUpCurrent = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxSelectionToLower" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxSelectionToLower = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxSelectionToUpper" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxSelectionToUpper = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-11-24 14:50:07 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxSelectionToRuby" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxSelectionToRuby = subNode . InnerText ;
2019-11-24 14:50:07 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxToggleAutoDuration" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxToggleAutoDuration = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainCreateInsertSubAtVideoPos" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainCreateInsertSubAtVideoPos = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-05-04 14:27:56 +02:00
subNode = node . SelectSingleNode ( "MainCreateInsertSubAtVideoPosNoTextBoxFocus" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainCreateInsertSubAtVideoPosNoTextBoxFocus = subNode . InnerText ;
2020-05-04 14:27:56 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainCreateSetStart" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainCreateSetStart = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainCreateSetEnd" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainCreateSetEnd = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-08-11 15:08:57 +02:00
subNode = node . SelectSingleNode ( "MainAdjustSetEndAndPause" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetEndAndPause = subNode . InnerText ;
2020-08-11 15:08:57 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainCreateSetEndAddNewAndGoToNew" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainCreateSetEndAddNewAndGoToNew = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainCreateStartDownEndUp" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainCreateStartDownEndUp = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetStartAndOffsetTheRest" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetStartAndOffsetTheRest = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-03-22 20:18:58 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetStartAndOffsetTheRest2" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetStartAndOffsetTheRest2 = subNode . InnerText ;
2020-03-22 20:18:58 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetEndAndOffsetTheRest" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetEndAndOffsetTheRest = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetEndAndOffsetTheRestAndGoToNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetEndAndOffsetTheRestAndGoToNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetEndAndGotoNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetEndAndGotoNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-08-12 17:38:58 +02:00
subNode = node . SelectSingleNode ( "MainAdjustViaEndAutoStart" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustViaEndAutoStart = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustViaEndAutoStartAndGoToNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustViaEndAutoStartAndGoToNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetStartAutoDurationAndGoToNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetStartAutoDurationAndGoToNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetEndNextStartAndGoToNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetEndNextStartAndGoToNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustStartDownEndUpAndGoToNext" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustStartDownEndUpAndGoToNext = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSetStartKeepDuration" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSetStartKeepDuration = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSelected100MsForward" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSelected100MsForward = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainAdjustSelected100MsBack" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSelected100MsBack = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-11-06 18:22:49 +01:00
subNode = node . SelectSingleNode ( "MainAdjustStartXMsBack" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustStartXMsBack = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-11-06 18:22:49 +01:00
subNode = node . SelectSingleNode ( "MainAdjustStartXMsForward" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustStartXMsForward = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-11-06 18:22:49 +01:00
subNode = node . SelectSingleNode ( "MainAdjustEndXMsBack" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustEndXMsBack = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-11-06 18:22:49 +01:00
subNode = node . SelectSingleNode ( "MainAdjustEndXMsForward" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustEndXMsForward = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-05-05 08:53:01 +02:00
subNode = node . SelectSingleNode ( "MoveStartOneFrameBack" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveStartOneFrameBack = subNode . InnerText ;
2020-05-05 08:53:01 +02:00
}
subNode = node . SelectSingleNode ( "MoveStartOneFrameForward" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveStartOneFrameForward = subNode . InnerText ;
2020-05-05 08:53:01 +02:00
}
subNode = node . SelectSingleNode ( "MoveEndOneFrameBack" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveEndOneFrameBack = subNode . InnerText ;
2020-05-05 08:53:01 +02:00
}
subNode = node . SelectSingleNode ( "MoveEndOneFrameForward" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveEndOneFrameForward = subNode . InnerText ;
2020-05-05 08:53:01 +02:00
}
2020-05-05 15:51:44 +02:00
subNode = node . SelectSingleNode ( "MoveStartOneFrameBackKeepGapPrev" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveStartOneFrameBackKeepGapPrev = subNode . InnerText ;
2020-05-05 15:51:44 +02:00
}
subNode = node . SelectSingleNode ( "MoveStartOneFrameForwardKeepGapPrev" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveStartOneFrameForwardKeepGapPrev = subNode . InnerText ;
2020-05-05 15:51:44 +02:00
}
subNode = node . SelectSingleNode ( "MoveEndOneFrameBackKeepGapNext" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveEndOneFrameBackKeepGapNext = subNode . InnerText ;
2020-05-05 15:51:44 +02:00
}
subNode = node . SelectSingleNode ( "MoveEndOneFrameForwardKeepGapNext" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MoveEndOneFrameForwardKeepGapNext = subNode . InnerText ;
2020-05-05 15:51:44 +02:00
}
2020-09-16 19:35:54 +02:00
subNode = node . SelectSingleNode ( "MainAdjustSnapStartToNextSceneChange" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSnapStartToNextSceneChange = subNode . InnerText ;
2020-09-16 19:35:54 +02:00
}
2020-10-10 07:44:32 +02:00
2020-09-16 19:35:54 +02:00
subNode = node . SelectSingleNode ( "MainAdjustSnapStartToNextSceneChangeWithGap" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSnapStartToNextSceneChangeWithGap = subNode . InnerText ;
2020-09-16 19:35:54 +02:00
}
subNode = node . SelectSingleNode ( "MainAdjustSnapEndToPreviousSceneChange" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSnapEndToPreviousSceneChange = subNode . InnerText ;
2020-09-16 19:35:54 +02:00
}
subNode = node . SelectSingleNode ( "MainAdjustSnapEndToPreviousSceneChangeWithGap" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustSnapEndToPreviousSceneChangeWithGap = subNode . InnerText ;
2020-09-16 19:35:54 +02:00
}
2020-04-01 00:10:08 +02:00
subNode = node . SelectSingleNode ( "MainAdjustExtendToNextSceneChange" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendToNextSceneChange = subNode . InnerText ;
2020-04-01 00:10:08 +02:00
}
2020-08-25 13:57:28 +02:00
subNode = node . SelectSingleNode ( "MainAdjustExtendToNextSceneChangeWithGap" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendToNextSceneChangeWithGap = subNode . InnerText ;
2020-08-25 13:57:28 +02:00
}
2020-04-01 00:10:08 +02:00
subNode = node . SelectSingleNode ( "MainAdjustExtendToPreviousSceneChange" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendToPreviousSceneChange = subNode . InnerText ;
2020-04-01 00:10:08 +02:00
}
2020-09-09 17:34:29 +02:00
subNode = node . SelectSingleNode ( "MainAdjustExtendToPreviousSceneChangeWithGap" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendToPreviousSceneChangeWithGap = subNode . InnerText ;
2020-09-09 17:34:29 +02:00
}
2020-04-01 00:10:08 +02:00
subNode = node . SelectSingleNode ( "MainAdjustExtendToNextSubtitle" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendToNextSubtitle = subNode . InnerText ;
2020-04-01 00:10:08 +02:00
}
subNode = node . SelectSingleNode ( "MainAdjustExtendToPreviousSubtitle" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendToPreviousSubtitle = subNode . InnerText ;
2020-04-01 00:10:08 +02:00
}
2020-10-09 03:35:52 +02:00
subNode = node . SelectSingleNode ( "MainAdjustExtendCurrentSubtitle" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendCurrentSubtitle = subNode . InnerText ;
2020-10-09 03:35:52 +02:00
}
2020-10-09 03:02:22 +02:00
subNode = node . SelectSingleNode ( "MainAdjustExtendPreviousLineEndToCurrentStart" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendPreviousLineEndToCurrentStart = subNode . InnerText ;
2020-10-09 03:02:22 +02:00
}
subNode = node . SelectSingleNode ( "MainAdjustExtendNextLineStartToCurrentEnd" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainAdjustExtendNextLineStartToCurrentEnd = subNode . InnerText ;
2020-10-09 03:02:22 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainInsertAfter" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainInsertAfter = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxAutoBreak" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxAutoBreak = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-02-06 17:16:54 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxBreakAtPosition" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxBreakAtPosition = subNode . InnerText ;
2019-02-06 17:16:54 +01:00
}
2019-02-07 19:27:19 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxBreakAtPositionAndGoToNext" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxBreakAtPositionAndGoToNext = subNode . InnerText ;
2019-02-07 19:27:19 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTextBoxUnbreak" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTextBoxUnbreak = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainWaveformInsertAtCurrentPosition" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainWaveformInsertAtCurrentPosition = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainInsertBefore" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainInsertBefore = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainMergeDialog" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainMergeDialog = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainToggleFocus" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainToggleFocus = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-05-12 12:54:07 +02:00
subNode = node . SelectSingleNode ( "WaveformAdd" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformAdd = subNode . InnerText ;
2020-05-12 12:54:07 +02:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformVerticalZoom" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformVerticalZoom = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformVerticalZoomOut" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformVerticalZoomOut = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformZoomIn" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformZoomIn = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformZoomOut" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformZoomOut = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2018-03-06 21:49:02 +01:00
subNode = node . SelectSingleNode ( "WaveformSplit" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformSplit = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformPlaySelection" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformPlaySelection = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformPlaySelectionEnd" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformPlaySelectionEnd = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformSearchSilenceForward" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformSearchSilenceForward = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformSearchSilenceBack" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformSearchSilenceBack = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformAddTextHere" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformAddTextHere = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformAddTextHereFromClipboard" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformAddTextHereFromClipboard = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2019-11-23 16:17:00 +01:00
subNode = node . SelectSingleNode ( "WaveformSetParagraphAsSelection" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformSetParagraphAsSelection = subNode . InnerText ;
2019-11-23 16:17:00 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "WaveformFocusListView" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformFocusListView = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2017-11-03 20:24:16 +01:00
subNode = node . SelectSingleNode ( "WaveformGoToPreviousSceneChange" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformGoToPreviousSceneChange = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-08-06 14:13:51 +02:00
subNode = node . SelectSingleNode ( "WaveformGoToNextSceneChange" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformGoToNextSceneChange = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-08-07 10:38:43 +02:00
subNode = node . SelectSingleNode ( "WaveformToggleSceneChange" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformToggleSceneChange = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2020-03-15 11:22:18 +01:00
subNode = node . SelectSingleNode ( "WaveformGuessStart" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . WaveformGuessStart = subNode . InnerText ;
2020-03-15 11:22:18 +01:00
}
2020-05-06 20:35:29 +02:00
subNode = node . SelectSingleNode ( "Waveform100MsLeft" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . Waveform100MsLeft = subNode . InnerText ;
2020-05-06 20:35:29 +02:00
}
subNode = node . SelectSingleNode ( "Waveform100MsRight" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . Waveform100MsRight = subNode . InnerText ;
2020-05-06 20:35:29 +02:00
}
subNode = node . SelectSingleNode ( "Waveform1000MsLeft" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . Waveform1000MsLeft = subNode . InnerText ;
2020-05-06 20:35:29 +02:00
}
subNode = node . SelectSingleNode ( "Waveform1000MsRight" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . Waveform1000MsRight = subNode . InnerText ;
2020-05-06 20:35:29 +02:00
}
2019-03-24 16:26:21 +01:00
subNode = node . SelectSingleNode ( "MainTranslateGoogleIt" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTranslateGoogleIt = subNode . InnerText ;
2019-03-24 16:26:21 +01:00
}
subNode = node . SelectSingleNode ( "MainTranslateGoogleTranslate" ) ;
if ( subNode ! = null )
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTranslateGoogleTranslate = subNode . InnerText ;
2019-03-24 16:26:21 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTranslateCustomSearch1" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTranslateCustomSearch1 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTranslateCustomSearch2" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTranslateCustomSearch2 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTranslateCustomSearch3" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTranslateCustomSearch3 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTranslateCustomSearch4" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTranslateCustomSearch4 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
subNode = node . SelectSingleNode ( "MainTranslateCustomSearch5" ) ;
if ( subNode ! = null )
2019-01-19 14:40:37 +01:00
{
2020-10-11 16:29:41 +02:00
shortcuts . MainTranslateCustomSearch5 = subNode . InnerText ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
}
2019-03-24 16:26:21 +01:00
}
2016-02-08 21:11:03 +01:00
private static void CustomSerialize ( string fileName , Settings settings )
{
2020-10-11 16:29:41 +02:00
var xws = new XmlWriterSettings { Indent = true , Encoding = Encoding . UTF8 } ;
2016-02-08 21:11:03 +01:00
var sb = new StringBuilder ( ) ;
using ( var textWriter = XmlWriter . Create ( sb , xws ) )
{
textWriter . WriteStartDocument ( ) ;
textWriter . WriteStartElement ( "Settings" , string . Empty ) ;
2020-03-22 20:18:58 +01:00
textWriter . WriteElementString ( "Version" , Utilities . AssemblyVersion ) ;
2016-10-10 17:00:08 +02:00
textWriter . WriteStartElement ( "Compare" , string . Empty ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ShowOnlyDifferences" , settings . Compare . ShowOnlyDifferences . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "OnlyLookForDifferenceInText" , settings . Compare . OnlyLookForDifferenceInText . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "IgnoreLineBreaks" , settings . Compare . IgnoreLineBreaks . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "IgnoreFormatting" , settings . Compare . IgnoreFormatting . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-10-10 17:00:08 +02:00
textWriter . WriteEndElement ( ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteStartElement ( "RecentFiles" , string . Empty ) ;
textWriter . WriteStartElement ( "FileNames" , string . Empty ) ;
foreach ( var item in settings . RecentFiles . Files )
{
textWriter . WriteStartElement ( "FileName" ) ;
if ( item . OriginalFileName ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
textWriter . WriteAttributeString ( "OriginalFileName" , item . OriginalFileName ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
if ( item . VideoFileName ! = null )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
textWriter . WriteAttributeString ( "VideoFileName" , item . VideoFileName ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
textWriter . WriteAttributeString ( "FirstVisibleIndex" , item . FirstVisibleIndex . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteAttributeString ( "FirstSelectedIndex" , item . FirstSelectedIndex . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-05-28 21:37:59 +02:00
if ( item . VideoOffsetInMs ! = 0 )
2019-01-19 14:40:37 +01:00
{
2016-04-13 08:41:06 +02:00
textWriter . WriteAttributeString ( "VideoOffset" , item . VideoOffsetInMs . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
textWriter . WriteString ( item . FileName ) ;
textWriter . WriteEndElement ( ) ;
}
textWriter . WriteEndElement ( ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "General" , string . Empty ) ;
2019-03-12 21:14:21 +01:00
textWriter . WriteStartElement ( "Profiles" , string . Empty ) ;
foreach ( var profile in settings . General . Profiles )
{
textWriter . WriteStartElement ( "Profile" ) ;
textWriter . WriteElementString ( "Name" , profile . Name ) ;
textWriter . WriteElementString ( "SubtitleLineMaximumLength" , profile . SubtitleLineMaximumLength . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleMaximumCharactersPerSeconds" , profile . SubtitleMaximumCharactersPerSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleOptimalCharactersPerSeconds" , profile . SubtitleOptimalCharactersPerSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleMinimumDisplayMilliseconds" , profile . SubtitleMinimumDisplayMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleMaximumDisplayMilliseconds" , profile . SubtitleMaximumDisplayMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleMaximumWordsPerMinute" , profile . SubtitleMaximumWordsPerMinute . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MinimumMillisecondsBetweenLines" , profile . MinimumMillisecondsBetweenLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "CpsIncludesSpace" , profile . CpsIncludesSpace . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MaxNumberOfLines" , profile . MaxNumberOfLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MergeLinesShorterThan" , profile . MergeLinesShorterThan . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-02-16 08:08:19 +01:00
textWriter . WriteElementString ( "DialogStyle" , profile . DialogStyle . ToString ( ) ) ;
2020-04-01 20:19:20 +02:00
textWriter . WriteElementString ( "ContinuationStyle" , profile . ContinuationStyle . ToString ( ) ) ;
2019-03-12 21:14:21 +01:00
textWriter . WriteEndElement ( ) ;
}
textWriter . WriteEndElement ( ) ;
textWriter . WriteElementString ( "CurrentProfile" , settings . General . CurrentProfile ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ShowToolbarNew" , settings . General . ShowToolbarNew . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarOpen" , settings . General . ShowToolbarOpen . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarSave" , settings . General . ShowToolbarSave . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarSaveAs" , settings . General . ShowToolbarSaveAs . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarFind" , settings . General . ShowToolbarFind . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarReplace" , settings . General . ShowToolbarReplace . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarFixCommonErrors" , settings . General . ShowToolbarFixCommonErrors . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarRemoveTextForHi" , settings . General . ShowToolbarRemoveTextForHi . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarVisualSync" , settings . General . ShowToolbarVisualSync . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarSpellCheck" , settings . General . ShowToolbarSpellCheck . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarNetflixGlyphCheck" , settings . General . ShowToolbarNetflixGlyphCheck . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarSettings" , settings . General . ShowToolbarSettings . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowToolbarHelp" , settings . General . ShowToolbarHelp . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowFrameRate" , settings . General . ShowFrameRate . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowVideoPlayer" , settings . General . ShowVideoPlayer . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowAudioVisualizer" , settings . General . ShowAudioVisualizer . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowWaveform" , settings . General . ShowWaveform . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowSpectrogram" , settings . General . ShowSpectrogram . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "DefaultFrameRate" , settings . General . DefaultFrameRate . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DefaultSubtitleFormat" , settings . General . DefaultSubtitleFormat ) ;
textWriter . WriteElementString ( "DefaultEncoding" , settings . General . DefaultEncoding ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "AutoConvertToUtf8" , settings . General . AutoConvertToUtf8 . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AutoGuessAnsiEncoding" , settings . General . AutoGuessAnsiEncoding . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-10-01 09:26:06 +02:00
textWriter . WriteElementString ( "SystemSubtitleFontNameOverride" , settings . General . SystemSubtitleFontNameOverride ) ;
textWriter . WriteElementString ( "SystemSubtitleFontSizeOverride" , settings . General . SystemSubtitleFontSizeOverride . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-09-10 12:40:40 +02:00
textWriter . WriteElementString ( "SubtitleFontName" , settings . General . SubtitleFontName ) ;
2020-11-14 19:49:17 +01:00
textWriter . WriteElementString ( "SubtitleTextBoxFontSize" , settings . General . SubtitleTextBoxFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-03-04 14:46:46 +01:00
textWriter . WriteElementString ( "SubtitleListViewFontSize" , settings . General . SubtitleListViewFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-11-14 19:49:17 +01:00
textWriter . WriteElementString ( "SubtitleTextBoxFontBold" , settings . General . SubtitleTextBoxFontBold . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SubtitleListViewFontBold" , settings . General . SubtitleListViewFontBold . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-11-14 14:41:10 +01:00
textWriter . WriteElementString ( "SubtitleTextBoxSyntaxColor" , settings . General . SubtitleTextBoxSyntaxColor . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleTextBoxHtmlColor" , settings . General . SubtitleTextBoxHtmlColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleTextBoxAssColor" , settings . General . SubtitleTextBoxAssColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SubtitleFontColor" , settings . General . SubtitleFontColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleBackgroundColor" , settings . General . SubtitleBackgroundColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-03-29 23:23:55 +02:00
textWriter . WriteElementString ( "MeasureFontName" , settings . General . MeasureFontName ) ;
textWriter . WriteElementString ( "MeasureFontSize" , settings . General . MeasureFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MeasureFontBold" , settings . General . MeasureFontBold . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleLineMaximumPixelWidth" , settings . General . SubtitleLineMaximumPixelWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "CenterSubtitleInTextBox" , settings . General . CenterSubtitleInTextBox . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowRecentFiles" , settings . General . ShowRecentFiles . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RememberSelectedLine" , settings . General . RememberSelectedLine . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "StartLoadLastFile" , settings . General . StartLoadLastFile . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "StartRememberPositionAndSize" , settings . General . StartRememberPositionAndSize . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "StartPosition" , settings . General . StartPosition ) ;
textWriter . WriteElementString ( "StartSize" , settings . General . StartSize ) ;
textWriter . WriteElementString ( "SplitContainerMainSplitterDistance" , settings . General . SplitContainerMainSplitterDistance . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SplitContainer1SplitterDistance" , settings . General . SplitContainer1SplitterDistance . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SplitContainerListViewAndTextSplitterDistance" , settings . General . SplitContainerListViewAndTextSplitterDistance . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "StartInSourceView" , settings . General . StartInSourceView . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveBlankLinesWhenOpening" , settings . General . RemoveBlankLinesWhenOpening . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveBadCharsWhenOpening" , settings . General . RemoveBadCharsWhenOpening . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SubtitleLineMaximumLength" , settings . General . SubtitleLineMaximumLength . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-03-12 21:14:21 +01:00
textWriter . WriteElementString ( "MaxNumberOfLines" , settings . General . MaxNumberOfLines . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-03-16 16:13:42 +01:00
textWriter . WriteElementString ( "MergeLinesShorterThan" , settings . General . MergeLinesShorterThan . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SubtitleMinimumDisplayMilliseconds" , settings . General . SubtitleMinimumDisplayMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SubtitleMaximumDisplayMilliseconds" , settings . General . SubtitleMaximumDisplayMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MinimumMillisecondsBetweenLines" , settings . General . MinimumMillisecondsBetweenLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SetStartEndHumanDelay" , settings . General . SetStartEndHumanDelay . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "AutoWrapLineWhileTyping" , settings . General . AutoWrapLineWhileTyping . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SubtitleMaximumCharactersPerSeconds" , settings . General . SubtitleMaximumCharactersPerSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-27 10:10:49 +02:00
textWriter . WriteElementString ( "SubtitleOptimalCharactersPerSeconds" , settings . General . SubtitleOptimalCharactersPerSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "CharactersPerSecondsIgnoreWhiteSpace" , settings . General . CharactersPerSecondsIgnoreWhiteSpace . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-09-20 16:40:21 +02:00
textWriter . WriteElementString ( "IgnoreArabicDiacritics" , settings . General . IgnoreArabicDiacritics . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-27 10:10:49 +02:00
textWriter . WriteElementString ( "SubtitleMaximumWordsPerMinute" , settings . General . SubtitleMaximumWordsPerMinute . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-02-16 08:08:19 +01:00
textWriter . WriteElementString ( "DialogStyle" , settings . General . DialogStyle . ToString ( ) ) ;
2020-04-01 19:27:20 +02:00
textWriter . WriteElementString ( "ContinuationStyle" , settings . General . ContinuationStyle . ToString ( ) ) ;
2020-11-07 12:21:30 +01:00
textWriter . WriteElementString ( "ContinuationPause" , settings . General . ContinuationPause . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-04-08 22:16:19 +02:00
textWriter . WriteElementString ( "FixContinuationStyleUncheckInsertsAllCaps" , settings . General . FixContinuationStyleUncheckInsertsAllCaps . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixContinuationStyleUncheckInsertsItalic" , settings . General . FixContinuationStyleUncheckInsertsItalic . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixContinuationStyleUncheckInsertsLowercase" , settings . General . FixContinuationStyleUncheckInsertsLowercase . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-04-12 13:55:29 +02:00
textWriter . WriteElementString ( "FixContinuationStyleHideContinuationCandidatesWithoutName" , settings . General . FixContinuationStyleHideContinuationCandidatesWithoutName . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SpellCheckLanguage" , settings . General . SpellCheckLanguage ) ;
textWriter . WriteElementString ( "VideoPlayer" , settings . General . VideoPlayer ) ;
textWriter . WriteElementString ( "VideoPlayerDefaultVolume" , settings . General . VideoPlayerDefaultVolume . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "VideoPlayerPreviewFontSize" , settings . General . VideoPlayerPreviewFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "VideoPlayerPreviewFontBold" , settings . General . VideoPlayerPreviewFontBold . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "VideoPlayerShowStopButton" , settings . General . VideoPlayerShowStopButton . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-04-22 06:18:09 +02:00
textWriter . WriteElementString ( "VideoPlayerShowMuteButton" , settings . General . VideoPlayerShowMuteButton . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "VideoPlayerShowFullscreenButton" , settings . General . VideoPlayerShowFullscreenButton . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "Language" , settings . General . Language ) ;
textWriter . WriteElementString ( "ListViewLineSeparatorString" , settings . General . ListViewLineSeparatorString ) ;
textWriter . WriteElementString ( "ListViewDoubleClickAction" , settings . General . ListViewDoubleClickAction . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-03-04 14:46:46 +01:00
textWriter . WriteElementString ( "SaveAsUseFileNameFrom" , settings . General . SaveAsUseFileNameFrom ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "UppercaseLetters" , settings . General . UppercaseLetters ) ;
textWriter . WriteElementString ( "DefaultAdjustMilliseconds" , settings . General . DefaultAdjustMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "AutoRepeatOn" , settings . General . AutoRepeatOn . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "AutoRepeatCount" , settings . General . AutoRepeatCount . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "AutoContinueOn" , settings . General . AutoContinueOn . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-10-10 18:08:33 +02:00
textWriter . WriteElementString ( "AutoContinueDelay" , settings . General . AutoContinueDelay . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SyncListViewWithVideoWhilePlaying" , settings . General . SyncListViewWithVideoWhilePlaying . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "AutoBackupSeconds" , settings . General . AutoBackupSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-07-09 12:00:30 +02:00
textWriter . WriteElementString ( "AutoBackupDeleteAfterMonths" , settings . General . AutoBackupDeleteAfterMonths . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SpellChecker" , settings . General . SpellChecker ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "AllowEditOfOriginalSubtitle" , settings . General . AllowEditOfOriginalSubtitle . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "PromptDeleteLines" , settings . General . PromptDeleteLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "Undocked" , settings . General . Undocked . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "UndockedVideoPosition" , settings . General . UndockedVideoPosition ) ;
2019-03-08 16:12:30 +01:00
textWriter . WriteElementString ( "UndockedVideoFullscreen" , settings . General . UndockedVideoFullscreen . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "UndockedWaveformPosition" , settings . General . UndockedWaveformPosition ) ;
textWriter . WriteElementString ( "UndockedVideoControlsPosition" , settings . General . UndockedVideoControlsPosition ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "WaveformCenter" , settings . General . WaveformCenter . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformUpdateIntervalMs" , settings . General . WaveformUpdateIntervalMs . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SmallDelayMilliseconds" , settings . General . SmallDelayMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "LargeDelayMilliseconds" , settings . General . LargeDelayMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ShowOriginalAsPreviewIfAvailable" , settings . General . ShowOriginalAsPreviewIfAvailable . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "LastPacCodePage" , settings . General . LastPacCodePage . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "OpenSubtitleExtraExtensions" , settings . General . OpenSubtitleExtraExtensions ) ;
textWriter . WriteElementString ( "ListViewColumnsRememberSize" , settings . General . ListViewColumnsRememberSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewNumberWidth" , settings . General . ListViewNumberWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewStartWidth" , settings . General . ListViewStartWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewEndWidth" , settings . General . ListViewEndWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewDurationWidth" , settings . General . ListViewDurationWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-01-15 09:46:26 +01:00
textWriter . WriteElementString ( "ListViewCpsWidth" , settings . General . ListViewCpsWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewWpmWidth" , settings . General . ListViewWpmWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-11-06 18:22:49 +01:00
textWriter . WriteElementString ( "ListViewGapWidth" , settings . General . ListViewGapWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-16 10:03:10 +02:00
textWriter . WriteElementString ( "ListViewActorWidth" , settings . General . ListViewActorWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-26 18:51:34 +02:00
textWriter . WriteElementString ( "ListViewRegionWidth" , settings . General . ListViewRegionWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-10-12 18:42:55 +02:00
textWriter . WriteElementString ( "DirectShowDoubleLoad" , settings . General . DirectShowDoubleLoad . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "VlcWaveTranscodeSettings" , settings . General . VlcWaveTranscodeSettings ) ;
textWriter . WriteElementString ( "VlcLocation" , settings . General . VlcLocation ) ;
textWriter . WriteElementString ( "VlcLocationRelative" , settings . General . VlcLocationRelative ) ;
2020-10-12 18:42:55 +02:00
textWriter . WriteElementString ( "MpvVideoOutputWindows" , settings . General . MpvVideoOutputWindows ) ;
2019-09-22 08:09:10 +02:00
textWriter . WriteElementString ( "MpvVideoOutputLinux" , settings . General . MpvVideoOutputLinux ) ;
2020-05-11 20:31:15 +02:00
textWriter . WriteElementString ( "MpvExtraOption" , settings . General . MpvExtraOption ) ;
2020-11-07 09:02:20 +01:00
textWriter . WriteElementString ( "MpvLogging" , settings . General . MpvLogging . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "MpvHandlesPreviewText" , settings . General . MpvHandlesPreviewText . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "MpcHcLocation" , settings . General . MpcHcLocation ) ;
2020-10-05 07:15:44 +02:00
textWriter . WriteElementString ( "MkvMergeLocation" , settings . General . MkvMergeLocation ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "UseFFmpegForWaveExtraction" , settings . General . UseFFmpegForWaveExtraction . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FFmpegLocation" , settings . General . FFmpegLocation ) ;
2018-03-27 20:14:59 +02:00
textWriter . WriteElementString ( "FFmpegSceneThreshold" , settings . General . FFmpegSceneThreshold ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "UseTimeFormatHHMMSSFF" , settings . General . UseTimeFormatHHMMSSFF . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-03-30 21:38:55 +02:00
textWriter . WriteElementString ( "SplitBehavior" , settings . General . SplitBehavior . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-09-12 18:03:56 +02:00
textWriter . WriteElementString ( "SplitRemovesDashes" , settings . General . SplitRemovesDashes . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ClearStatusBarAfterSeconds" , settings . General . ClearStatusBarAfterSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "Company" , settings . General . Company ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "MoveVideo100Or500MsPlaySmallSample" , settings . General . MoveVideo100Or500MsPlaySmallSample . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DisableVideoAutoLoading" , settings . General . DisableVideoAutoLoading . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AllowVolumeBoost" , settings . General . AllowVolumeBoost . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RightToLeftMode" , settings . General . RightToLeftMode . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "LastSaveAsFormat" , settings . General . LastSaveAsFormat ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "CheckForUpdates" , settings . General . CheckForUpdates . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "LastCheckForUpdates" , settings . General . LastCheckForUpdates . ToString ( "yyyy-MM-dd" ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "AutoSave" , settings . General . AutoSave . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-09-15 08:09:31 +02:00
textWriter . WriteElementString ( "PreviewAssaText" , settings . General . PreviewAssaText ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ShowProgress" , settings . General . ShowProgress . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-24 10:00:38 +01:00
textWriter . WriteElementString ( "ShowNegativeDurationInfoOnSave" , settings . General . ShowNegativeDurationInfoOnSave . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-07-20 19:09:30 +02:00
textWriter . WriteElementString ( "ShowFormatRequiresUtf8Warning" , settings . General . ShowFormatRequiresUtf8Warning . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-04-22 07:00:23 +02:00
textWriter . WriteElementString ( "TitleBarAsterisk" , settings . General . TitleBarAsterisk ) ;
2020-10-07 14:47:22 +02:00
textWriter . WriteElementString ( "MeasurementConverterCloseOnInsert" , settings . General . MeasurementConverterCloseOnInsert . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MeasurementConverterCategories" , settings . General . MeasurementConverterCategories ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "UseDarkTheme" , settings . General . UseDarkTheme . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ShowBetaStuff" , settings . General . ShowBetaStuff . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "NewEmptyDefaultMs" , settings . General . NewEmptyDefaultMs . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "Tools" , string . Empty ) ;
textWriter . WriteElementString ( "StartSceneIndex" , settings . Tools . StartSceneIndex . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "EndSceneIndex" , settings . Tools . EndSceneIndex . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "VerifyPlaySeconds" , settings . Tools . VerifyPlaySeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "FixShortDisplayTimesAllowMoveStartTime" , settings . Tools . FixShortDisplayTimesAllowMoveStartTime . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveEmptyLinesBetweenText" , settings . Tools . RemoveEmptyLinesBetweenText . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "MusicSymbol" , settings . Tools . MusicSymbol ) ;
2018-01-02 15:07:52 +01:00
textWriter . WriteElementString ( "MusicSymbolReplace" , settings . Tools . MusicSymbolReplace ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "UnicodeSymbolsToInsert" , settings . Tools . UnicodeSymbolsToInsert ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SpellCheckAutoChangeNames" , settings . Tools . SpellCheckAutoChangeNames . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-16 08:37:57 +02:00
textWriter . WriteElementString ( "SpellCheckAutoChangeNamesUseSuggestions" , settings . Tools . SpellCheckAutoChangeNamesUseSuggestions . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-01-19 07:47:37 +01:00
textWriter . WriteElementString ( "SpellCheckOneLetterWords" , settings . Tools . CheckOneLetterWords . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SpellCheckEnglishAllowInQuoteAsIng" , settings . Tools . SpellCheckEnglishAllowInQuoteAsIng . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RememberUseAlwaysList" , settings . Tools . RememberUseAlwaysList . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SpellCheckShowCompletedMessage" , settings . Tools . SpellCheckShowCompletedMessage . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "OcrFixUseHardcodedRules" , settings . Tools . OcrFixUseHardcodedRules . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-03-13 06:45:14 +01:00
textWriter . WriteElementString ( "OcrBinaryImageCompareRgbThreshold" , settings . Tools . OcrBinaryImageCompareRgbThreshold . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-11-14 22:55:20 +01:00
textWriter . WriteElementString ( "OcrTesseract4RgbThreshold" , settings . Tools . OcrTesseract4RgbThreshold . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-03 14:27:02 +02:00
textWriter . WriteElementString ( "OcrAddLetterRow1" , settings . Tools . OcrAddLetterRow1 ) ;
textWriter . WriteElementString ( "OcrAddLetterRow2" , settings . Tools . OcrAddLetterRow2 ) ;
2020-05-26 21:51:43 +02:00
textWriter . WriteElementString ( "OcrTrainFonts" , settings . Tools . OcrTrainFonts ) ;
2020-06-01 12:46:38 +02:00
textWriter . WriteElementString ( "OcrTrainMergedLetters" , settings . Tools . OcrTrainMergedLetters ) ;
2020-05-27 14:52:18 +02:00
textWriter . WriteElementString ( "OcrTrainSrtFile" , settings . Tools . OcrTrainSrtFile ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "Interjections" , settings . Tools . Interjections ) ;
textWriter . WriteElementString ( "MicrosoftBingApiId" , settings . Tools . MicrosoftBingApiId ) ;
2017-09-23 08:57:27 +02:00
textWriter . WriteElementString ( "MicrosoftTranslatorApiKey" , settings . Tools . MicrosoftTranslatorApiKey ) ;
2019-09-20 22:13:34 +02:00
textWriter . WriteElementString ( "MicrosoftTranslatorTokenEndpoint" , settings . Tools . MicrosoftTranslatorTokenEndpoint ) ;
2020-04-14 18:55:22 +02:00
textWriter . WriteElementString ( "MicrosoftTranslatorCategory" , settings . Tools . MicrosoftTranslatorCategory ) ;
2018-11-29 16:25:37 +01:00
textWriter . WriteElementString ( "GoogleApiV2Key" , settings . Tools . GoogleApiV2Key ) ;
2018-12-02 09:59:34 +01:00
textWriter . WriteElementString ( "GoogleApiV2KeyInfoShow" , settings . Tools . GoogleApiV2KeyInfoShow . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "GoogleTranslateNoKeyWarningShow" , settings . Tools . GoogleTranslateNoKeyWarningShow . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "GoogleApiV1ChunkSize" , settings . Tools . GoogleApiV1ChunkSize . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "GoogleTranslateLastTargetLanguage" , settings . Tools . GoogleTranslateLastTargetLanguage ) ;
2020-06-11 19:32:51 +02:00
textWriter . WriteElementString ( "TranslateAllowSplit" , settings . Tools . TranslateAllowSplit . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ListViewSyntaxColorDurationSmall" , settings . Tools . ListViewSyntaxColorDurationSmall . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewSyntaxColorDurationBig" , settings . Tools . ListViewSyntaxColorDurationBig . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewSyntaxColorLongLines" , settings . Tools . ListViewSyntaxColorLongLines . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-03-29 23:23:55 +02:00
textWriter . WriteElementString ( "ListViewSyntaxColorWideLines" , settings . Tools . ListViewSyntaxColorWideLines . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ListViewSyntaxMoreThanXLines" , settings . Tools . ListViewSyntaxMoreThanXLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewSyntaxColorOverlap" , settings . Tools . ListViewSyntaxColorOverlap . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-10 18:06:30 +01:00
textWriter . WriteElementString ( "ListViewSyntaxColorGap" , settings . Tools . ListViewSyntaxColorGap . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ListViewSyntaxErrorColor" , settings . Tools . ListViewSyntaxErrorColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewUnfocusedSelectedColor" , settings . Tools . ListViewUnfocusedSelectedColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-02-23 08:52:49 +01:00
textWriter . WriteElementString ( "ListViewShowColumnEndTime" , settings . Tools . ListViewShowColumnEndTime . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewShowColumnDuration" , settings . Tools . ListViewShowColumnDuration . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-01-15 09:46:26 +01:00
textWriter . WriteElementString ( "ListViewShowColumnCharsPerSec" , settings . Tools . ListViewShowColumnCharsPerSec . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ListViewShowColumnWordsPerMin" , settings . Tools . ListViewShowColumnWordsPerMin . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-11-06 18:22:49 +01:00
textWriter . WriteElementString ( "ListViewShowColumnGap" , settings . Tools . ListViewShowColumnGap . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-16 10:03:10 +02:00
textWriter . WriteElementString ( "ListViewShowColumnActor" , settings . Tools . ListViewShowColumnActor . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-26 18:51:34 +02:00
textWriter . WriteElementString ( "ListViewShowColumnRegion" , settings . Tools . ListViewShowColumnRegion . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SplitAdvanced" , settings . Tools . SplitAdvanced . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SplitOutputFolder" , settings . Tools . SplitOutputFolder ) ;
textWriter . WriteElementString ( "SplitNumberOfParts" , settings . Tools . SplitNumberOfParts . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SplitVia" , settings . Tools . SplitVia ) ;
2019-09-15 11:21:55 +02:00
textWriter . WriteElementString ( "JoinCorrectTimeCodes" , settings . Tools . JoinCorrectTimeCodes . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "JoinAddMs" , settings . Tools . JoinAddMs . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "NewEmptyTranslationText" , settings . Tools . NewEmptyTranslationText ) ;
textWriter . WriteElementString ( "BatchConvertOutputFolder" , settings . Tools . BatchConvertOutputFolder ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "BatchConvertOverwriteExisting" , settings . Tools . BatchConvertOverwriteExisting . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-26 05:43:16 +01:00
textWriter . WriteElementString ( "BatchConvertSaveInSourceFolder" , settings . Tools . BatchConvertSaveInSourceFolder . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "BatchConvertRemoveFormatting" , settings . Tools . BatchConvertRemoveFormatting . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-09-09 08:09:45 +02:00
textWriter . WriteElementString ( "BatchConvertRemoveStyle" , settings . Tools . BatchConvertRemoveStyle . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "BatchConvertBridgeGaps" , settings . Tools . BatchConvertBridgeGaps . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertFixCasing" , settings . Tools . BatchConvertFixCasing . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertRemoveTextForHI" , settings . Tools . BatchConvertRemoveTextForHI . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertSplitLongLines" , settings . Tools . BatchConvertSplitLongLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertFixCommonErrors" , settings . Tools . BatchConvertFixCommonErrors . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertMultipleReplace" , settings . Tools . BatchConvertMultipleReplace . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertFixRtl" , settings . Tools . BatchConvertFixRtl . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-11-24 08:10:49 +01:00
textWriter . WriteElementString ( "BatchConvertFixRtlMode" , settings . Tools . BatchConvertFixRtlMode ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "BatchConvertAutoBalance" , settings . Tools . BatchConvertAutoBalance . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertSetMinDisplayTimeBetweenSubtitles" , settings . Tools . BatchConvertSetMinDisplayTimeBetweenSubtitles . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-06 11:13:52 +01:00
textWriter . WriteElementString ( "BatchConvertMergeShortLines" , settings . Tools . BatchConvertMergeShortLines . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-01-02 19:08:19 +01:00
textWriter . WriteElementString ( "BatchConvertRemoveLineBreaks" , settings . Tools . BatchConvertRemoveLineBreaks . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-06 11:13:52 +01:00
textWriter . WriteElementString ( "BatchConvertMergeSameText" , settings . Tools . BatchConvertMergeSameText . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertMergeSameTimeCodes" , settings . Tools . BatchConvertMergeSameTimeCodes . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-06 17:21:33 +01:00
textWriter . WriteElementString ( "BatchConvertChangeSpeed" , settings . Tools . BatchConvertChangeSpeed . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-09-09 08:09:45 +02:00
textWriter . WriteElementString ( "BatchConvertAdjustDisplayDuration" , settings . Tools . BatchConvertAdjustDisplayDuration . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-25 11:38:43 +01:00
textWriter . WriteElementString ( "BatchConvertApplyDurationLimits" , settings . Tools . BatchConvertApplyDurationLimits . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-06 17:21:33 +01:00
textWriter . WriteElementString ( "BatchConvertChangeFrameRate" , settings . Tools . BatchConvertChangeFrameRate . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertOffsetTimeCodes" , settings . Tools . BatchConvertOffsetTimeCodes . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "BatchConvertLanguage" , settings . Tools . BatchConvertLanguage ) ;
textWriter . WriteElementString ( "BatchConvertFormat" , settings . Tools . BatchConvertFormat ) ;
textWriter . WriteElementString ( "BatchConvertAssStyles" , settings . Tools . BatchConvertAssStyles ) ;
textWriter . WriteElementString ( "BatchConvertSsaStyles" , settings . Tools . BatchConvertSsaStyles ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "BatchConvertUseStyleFromSource" , settings . Tools . BatchConvertUseStyleFromSource . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-01-15 09:46:26 +01:00
textWriter . WriteElementString ( "BatchConvertExportCustomTextTemplate" , settings . Tools . BatchConvertExportCustomTextTemplate ) ;
2019-10-07 17:53:06 +02:00
textWriter . WriteElementString ( "BatchConvertTsOverrideXPosition" , settings . Tools . BatchConvertTsOverrideXPosition . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertTsOverrideYPosition" , settings . Tools . BatchConvertTsOverrideYPosition . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-10-06 21:33:17 +02:00
textWriter . WriteElementString ( "BatchConvertTsOverrideBottomMargin" , settings . Tools . BatchConvertTsOverrideBottomMargin . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-10-07 17:53:06 +02:00
textWriter . WriteElementString ( "BatchConvertTsOverrideHAlign" , settings . Tools . BatchConvertTsOverrideHAlign ) ;
textWriter . WriteElementString ( "BatchConvertTsOverrideHMargin" , settings . Tools . BatchConvertTsOverrideHMargin . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-10-06 21:33:17 +02:00
textWriter . WriteElementString ( "BatchConvertTsOverrideScreenSize" , settings . Tools . BatchConvertTsOverrideScreenSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertTsScreenWidth" , settings . Tools . BatchConvertTsScreenWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BatchConvertTsScreenHeight" , settings . Tools . BatchConvertTsScreenHeight . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-10-02 17:33:28 +02:00
textWriter . WriteElementString ( "BatchConvertTsOnlyTeletext" , settings . Tools . BatchConvertTsOnlyTeletext . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-10-11 17:43:51 +02:00
textWriter . WriteElementString ( "BatchConvertTsFileNameAppend" , settings . Tools . BatchConvertTsFileNameAppend ) ;
2020-04-06 15:34:33 +02:00
textWriter . WriteElementString ( "BatchConvertMkvLanguageCodeStyle" , settings . Tools . BatchConvertMkvLanguageCodeStyle ) ;
2020-04-16 16:27:12 +02:00
textWriter . WriteElementString ( "WaveformBatchLastFolder" , settings . Tools . WaveformBatchLastFolder ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ModifySelectionRule" , settings . Tools . ModifySelectionRule ) ;
textWriter . WriteElementString ( "ModifySelectionText" , settings . Tools . ModifySelectionText ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ModifySelectionCaseSensitive" , settings . Tools . ModifySelectionCaseSensitive . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportVobSubFontName" , settings . Tools . ExportVobSubFontName ) ;
textWriter . WriteElementString ( "ExportVobSubFontSize" , settings . Tools . ExportVobSubFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportVobSubVideoResolution" , settings . Tools . ExportVobSubVideoResolution ) ;
textWriter . WriteElementString ( "ExportVobSubLanguage" , settings . Tools . ExportVobSubLanguage ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ExportVobSubSimpleRendering" , settings . Tools . ExportVobSubSimpleRendering . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportVobAntiAliasingWithTransparency" , settings . Tools . ExportVobAntiAliasingWithTransparency . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportBluRayFontName" , settings . Tools . ExportBluRayFontName ) ;
textWriter . WriteElementString ( "ExportBluRayFontSize" , settings . Tools . ExportBluRayFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportFcpFontName" , settings . Tools . ExportFcpFontName ) ;
textWriter . WriteElementString ( "ExportFontNameOther" , settings . Tools . ExportFontNameOther ) ;
textWriter . WriteElementString ( "ExportFcpFontSize" , settings . Tools . ExportFcpFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportFcpImageType" , settings . Tools . ExportFcpImageType ) ;
2016-08-07 18:08:39 +02:00
textWriter . WriteElementString ( "ExportFcpPalNtsc" , settings . Tools . ExportFcpPalNtsc ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportBdnXmlImageType" , settings . Tools . ExportBdnXmlImageType ) ;
textWriter . WriteElementString ( "ExportLastFontSize" , settings . Tools . ExportLastFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportLastLineHeight" , settings . Tools . ExportLastLineHeight . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportLastBorderWidth" , settings . Tools . ExportLastBorderWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ExportLastFontBold" , settings . Tools . ExportLastFontBold . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportBluRayVideoResolution" , settings . Tools . ExportBluRayVideoResolution ) ;
2016-05-30 16:09:39 +02:00
textWriter . WriteElementString ( "ExportFcpVideoResolution" , settings . Tools . ExportFcpVideoResolution ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportFontColor" , settings . Tools . ExportFontColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportBorderColor" , settings . Tools . ExportBorderColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportShadowColor" , settings . Tools . ExportShadowColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-10-04 16:00:15 +02:00
textWriter . WriteElementString ( "ExportBoxBorderSize" , settings . Tools . ExportBoxBorderSize . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-06-15 13:37:13 +02:00
textWriter . WriteElementString ( "ExportBottomMarginUnit" , settings . Tools . ExportBottomMarginUnit ) ;
2017-04-14 11:54:42 +02:00
textWriter . WriteElementString ( "ExportBottomMarginPercent" , settings . Tools . ExportBottomMarginPercent . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-06-15 13:37:13 +02:00
textWriter . WriteElementString ( "ExportBottomMarginPixels" , settings . Tools . ExportBottomMarginPixels . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportLeftRightMarginUnit" , settings . Tools . ExportLeftRightMarginUnit ) ;
2017-04-14 11:54:42 +02:00
textWriter . WriteElementString ( "ExportLeftRightMarginPercent" , settings . Tools . ExportLeftRightMarginPercent . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-06-15 13:37:13 +02:00
textWriter . WriteElementString ( "ExportLeftRightMarginPixels" , settings . Tools . ExportLeftRightMarginPixels . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportHorizontalAlignment" , settings . Tools . ExportHorizontalAlignment . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-14 11:54:42 +02:00
textWriter . WriteElementString ( "ExportBluRayBottomMarginPercent" , settings . Tools . ExportBluRayBottomMarginPercent . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-06-15 13:37:13 +02:00
textWriter . WriteElementString ( "ExportBluRayBottomMarginPixels" , settings . Tools . ExportBluRayBottomMarginPixels . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportBluRayShadow" , settings . Tools . ExportBluRayShadow . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-10-02 23:10:46 +02:00
textWriter . WriteElementString ( "ExportBluRayRemoveSmallGaps" , settings . Tools . ExportBluRayRemoveSmallGaps . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-10-04 20:56:21 +02:00
textWriter . WriteElementString ( "ExportCdgBackgroundImage" , settings . Tools . ExportCdgBackgroundImage ) ;
2020-10-05 07:15:44 +02:00
textWriter . WriteElementString ( "ExportCdgMarginLeft" , settings . Tools . ExportCdgMarginLeft . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportCdgMarginBottom" , settings . Tools . ExportCdgMarginBottom . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-10-06 07:04:01 +02:00
textWriter . WriteElementString ( "ExportCdgFormat" , settings . Tools . ExportCdgFormat ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "Export3DType" , settings . Tools . Export3DType . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "Export3DDepth" , settings . Tools . Export3DDepth . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportLastShadowTransparency" , settings . Tools . ExportLastShadowTransparency . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportLastFrameRate" , settings . Tools . ExportLastFrameRate . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-08-07 18:08:39 +02:00
textWriter . WriteElementString ( "ExportFullFrame" , settings . Tools . ExportFullFrame . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-10-30 18:07:41 +01:00
textWriter . WriteElementString ( "ExportFcpFullPathUrl" , settings . Tools . ExportFcpFullPathUrl . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ExportPenLineJoin" , settings . Tools . ExportPenLineJoin ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "FixCommonErrorsFixOverlapAllowEqualEndStart" , settings . Tools . FixCommonErrorsFixOverlapAllowEqualEndStart . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixCommonErrorsSkipStepOne" , settings . Tools . FixCommonErrorsSkipStepOne . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ImportTextSplitting" , settings . Tools . ImportTextSplitting ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ImportTextMergeShortLines" , settings . Tools . ImportTextMergeShortLines . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ImportTextLineBreak" , settings . Tools . ImportTextLineBreak ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ImportTextRemoveEmptyLines" , settings . Tools . ImportTextRemoveEmptyLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ImportTextAutoSplitAtBlank" , settings . Tools . ImportTextAutoSplitAtBlank . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ImportTextRemoveLinesNoLetters" , settings . Tools . ImportTextRemoveLinesNoLetters . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ImportTextGenerateTimeCodes" , settings . Tools . ImportTextGenerateTimeCodes . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-02-25 08:40:28 +01:00
textWriter . WriteElementString ( "ImportTextTakeTimeCodeFromFileName" , settings . Tools . ImportTextTakeTimeCodeFromFileName . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ImportTextAutoBreak" , settings . Tools . ImportTextAutoBreak . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ImportTextAutoBreakAtEnd" , settings . Tools . ImportTextAutoBreakAtEnd . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-27 10:10:49 +02:00
textWriter . WriteElementString ( "ImportTextGap" , settings . Tools . ImportTextGap . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-12-09 08:30:01 +01:00
textWriter . WriteElementString ( "ImportTextAutoSplitNumberOfLines" , settings . Tools . ImportTextAutoSplitNumberOfLines . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ImportTextAutoBreakAtEndMarkerText" , settings . Tools . ImportTextAutoBreakAtEndMarkerText ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ImportTextDurationAuto" , settings . Tools . ImportTextDurationAuto . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-04-27 10:10:49 +02:00
textWriter . WriteElementString ( "ImportTextFixedDuration" , settings . Tools . ImportTextFixedDuration . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "GenerateTimeCodePatterns" , settings . Tools . GenerateTimeCodePatterns ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "MusicSymbolStyle" , settings . Tools . MusicSymbolStyle ) ;
textWriter . WriteElementString ( "BridgeGapMilliseconds" , settings . Tools . BridgeGapMilliseconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportCustomTemplates" , settings . Tools . ExportCustomTemplates ) ;
textWriter . WriteElementString ( "ChangeCasingChoice" , settings . Tools . ChangeCasingChoice ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "UseNoLineBreakAfter" , settings . Tools . UseNoLineBreakAfter . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "NoLineBreakAfterEnglish" , settings . Tools . NoLineBreakAfterEnglish ) ;
2020-04-22 06:18:09 +02:00
textWriter . WriteElementString ( "ExportTextFormatText" , settings . Tools . ExportTextFormatText ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ExportTextRemoveStyling" , settings . Tools . ExportTextRemoveStyling . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportTextShowLineNumbers" , settings . Tools . ExportTextShowLineNumbers . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportTextShowLineNumbersNewLine" , settings . Tools . ExportTextShowLineNumbersNewLine . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportTextShowTimeCodes" , settings . Tools . ExportTextShowTimeCodes . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportTextShowTimeCodesNewLine" , settings . Tools . ExportTextShowTimeCodesNewLine . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportTextNewLineAfterText" , settings . Tools . ExportTextNewLineAfterText . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ExportTextNewLineBetweenSubtitles" , settings . Tools . ExportTextNewLineBetweenSubtitles . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-02-04 19:40:33 +01:00
textWriter . WriteElementString ( "ExportTextTimeCodeFormat" , settings . Tools . ExportTextTimeCodeFormat ) ;
textWriter . WriteElementString ( "ExportTextTimeCodeSeparator" , settings . Tools . ExportTextTimeCodeSeparator ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "VideoOffsetKeepTimeCodes" , settings . Tools . VideoOffsetKeepTimeCodes . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-11-06 18:22:49 +01:00
textWriter . WriteElementString ( "MoveStartEndMs" , settings . Tools . MoveStartEndMs . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-12-23 09:17:51 +01:00
textWriter . WriteElementString ( "AdjustDurationSeconds" , settings . Tools . AdjustDurationSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AdjustDurationPercent" , settings . Tools . AdjustDurationPercent . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AdjustDurationLast" , settings . Tools . AdjustDurationLast ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "AdjustDurationExtendOnly" , settings . Tools . AdjustDurationExtendOnly . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AutoBreakCommaBreakEarly" , settings . Tools . AutoBreakCommaBreakEarly . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AutoBreakDashEarly" , settings . Tools . AutoBreakDashEarly . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AutoBreakLineEndingEarly" , settings . Tools . AutoBreakLineEndingEarly . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AutoBreakUsePixelWidth" , settings . Tools . AutoBreakUsePixelWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-09 13:19:28 +01:00
textWriter . WriteElementString ( "AutoBreakPreferBottomHeavy" , settings . Tools . AutoBreakPreferBottomHeavy . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AutoBreakPreferBottomPercent" , settings . Tools . AutoBreakPreferBottomPercent . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "ApplyMinimumDurationLimit" , settings . Tools . ApplyMinimumDurationLimit . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "ApplyMaximumDurationLimit" , settings . Tools . ApplyMaximumDurationLimit . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-09 18:34:46 +01:00
textWriter . WriteElementString ( "MergeShortLinesMaxGap" , settings . Tools . MergeShortLinesMaxGap . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-02-06 19:13:39 +01:00
textWriter . WriteElementString ( "MergeShortLinesMaxChars" , settings . Tools . MergeShortLinesMaxChars . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-09 18:34:46 +01:00
textWriter . WriteElementString ( "MergeShortLinesOnlyContinuous" , settings . Tools . MergeShortLinesOnlyContinuous . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-04 12:29:27 +02:00
textWriter . WriteElementString ( "ColumnPasteColumn" , settings . Tools . ColumnPasteColumn ) ;
textWriter . WriteElementString ( "ColumnPasteOverwriteMode" , settings . Tools . ColumnPasteOverwriteMode ) ;
2019-02-27 02:18:24 +01:00
2016-02-08 21:11:03 +01:00
if ( settings . Tools . FindHistory ! = null & & settings . Tools . FindHistory . Count > 0 )
{
const int maximumFindHistoryItems = 10 ;
textWriter . WriteStartElement ( "FindHistory" , string . Empty ) ;
int maxIndex = settings . Tools . FindHistory . Count ;
if ( maxIndex > maximumFindHistoryItems )
2019-01-19 14:40:37 +01:00
{
2016-02-08 21:11:03 +01:00
maxIndex = maximumFindHistoryItems ;
2019-01-19 14:40:37 +01:00
}
2016-02-08 21:11:03 +01:00
for ( int index = 0 ; index < maxIndex ; index + + )
{
var text = settings . Tools . FindHistory [ index ] ;
textWriter . WriteElementString ( "Text" , text ) ;
}
textWriter . WriteEndElement ( ) ;
}
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "SubtitleSettings" , string . Empty ) ;
textWriter . WriteElementString ( "SsaFontName" , settings . SubtitleSettings . SsaFontName ) ;
textWriter . WriteElementString ( "SsaFontSize" , settings . SubtitleSettings . SsaFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SsaFontColorArgb" , settings . SubtitleSettings . SsaFontColorArgb . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SsaFontBold" , settings . SubtitleSettings . SsaFontBold . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SsaOutline" , settings . SubtitleSettings . SsaOutline . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SsaShadow" , settings . SubtitleSettings . SsaShadow . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SsaOpaqueBox" , settings . SubtitleSettings . SsaOpaqueBox . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SsaMarginLeft" , settings . SubtitleSettings . SsaMarginLeft . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SsaMarginRight" , settings . SubtitleSettings . SsaMarginRight . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SsaMarginTopBottom" , settings . SubtitleSettings . SsaMarginTopBottom . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DCinemaFontFile" , settings . SubtitleSettings . DCinemaFontFile ) ;
textWriter . WriteElementString ( "DCinemaFontSize" , settings . SubtitleSettings . DCinemaFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DCinemaBottomMargin" , settings . SubtitleSettings . DCinemaBottomMargin . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DCinemaZPosition" , settings . SubtitleSettings . DCinemaZPosition . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DCinemaFadeUpTime" , settings . SubtitleSettings . DCinemaFadeUpTime . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DCinemaFadeDownTime" , settings . SubtitleSettings . DCinemaFadeDownTime . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "SamiDisplayTwoClassesAsTwoSubtitles" , settings . SubtitleSettings . SamiDisplayTwoClassesAsTwoSubtitles . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-04-22 06:18:09 +02:00
textWriter . WriteElementString ( "SamiHtmlEncodeMode" , settings . SubtitleSettings . SamiHtmlEncodeMode . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "TimedText10TimeCodeFormat" , settings . SubtitleSettings . TimedText10TimeCodeFormat ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "TimedText10ShowStyleAndLanguage" , settings . SubtitleSettings . TimedText10ShowStyleAndLanguage . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-24 08:25:41 +02:00
textWriter . WriteElementString ( "TimedText10FileExtension" , settings . SubtitleSettings . TimedText10FileExtension ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "FcpFontSize" , settings . SubtitleSettings . FcpFontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FcpFontName" , settings . SubtitleSettings . FcpFontName ) ;
2016-04-09 21:20:30 +02:00
textWriter . WriteElementString ( "Cavena890StartOfMessage" , settings . SubtitleSettings . Cavena890StartOfMessage ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "EbuStlTeletextUseBox" , settings . SubtitleSettings . EbuStlTeletextUseBox . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "EbuStlTeletextUseDoubleHeight" , settings . SubtitleSettings . EbuStlTeletextUseDoubleHeight . ToString ( CultureInfo . InvariantCulture ) ) ;
2017-02-04 17:41:13 +01:00
textWriter . WriteElementString ( "EbuStlMarginTop" , settings . SubtitleSettings . EbuStlMarginTop . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "EbuStlMarginBottom" , settings . SubtitleSettings . EbuStlMarginBottom . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "EbuStlNewLineRows" , settings . SubtitleSettings . EbuStlNewLineRows . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-10-20 22:05:32 +02:00
textWriter . WriteElementString ( "PacVerticalTop" , settings . SubtitleSettings . PacVerticalTop . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "PacVerticalCenter" , settings . SubtitleSettings . PacVerticalCenter . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "PacVerticalBottom" , settings . SubtitleSettings . PacVerticalBottom . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-10-10 18:56:41 +02:00
textWriter . WriteElementString ( "DvdStudioProHeader" , settings . SubtitleSettings . DvdStudioProHeader . TrimEnd ( ) + Environment . NewLine ) ;
2019-02-08 21:38:42 +01:00
textWriter . WriteElementString ( "TmpegEncXmlFontName" , settings . SubtitleSettings . TmpegEncXmlFontName . TrimEnd ( ) ) ;
textWriter . WriteElementString ( "TmpegEncXmlFontHeight" , settings . SubtitleSettings . TmpegEncXmlFontHeight . TrimEnd ( ) ) ;
textWriter . WriteElementString ( "TmpegEncXmlPosition" , settings . SubtitleSettings . TmpegEncXmlPosition . TrimEnd ( ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "CheetahCaptionAlwayWriteEndTime" , settings . SubtitleSettings . CheetahCaptionAlwayWriteEndTime . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "NuendoCharacterListFile" , settings . SubtitleSettings . NuendoCharacterListFile ) ;
2019-08-14 15:56:46 +02:00
textWriter . WriteElementString ( "WebVttTimescale" , settings . SubtitleSettings . WebVttTimescale . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-10 10:01:04 +02:00
textWriter . WriteElementString ( "TeletextItalicFix" , settings . SubtitleSettings . TeletextItalicFix . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-08-31 20:23:48 +02:00
textWriter . WriteElementString ( "WebVttUseXTimestampMap" , settings . SubtitleSettings . WebVttUseXTimestampMap . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "Proxy" , string . Empty ) ;
textWriter . WriteElementString ( "ProxyAddress" , settings . Proxy . ProxyAddress ) ;
textWriter . WriteElementString ( "UserName" , settings . Proxy . UserName ) ;
textWriter . WriteElementString ( "Password" , settings . Proxy . Password ) ;
textWriter . WriteElementString ( "Domain" , settings . Proxy . Domain ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "WordLists" , string . Empty ) ;
textWriter . WriteElementString ( "LastLanguage" , settings . WordLists . LastLanguage ) ;
2017-04-10 19:23:24 +02:00
textWriter . WriteElementString ( "Names" , settings . WordLists . NamesUrl ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "UseOnlineNames" , settings . WordLists . UseOnlineNames . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteEndElement ( ) ;
2017-10-30 18:07:41 +01:00
textWriter . WriteStartElement ( "FcpExportSettings" , string . Empty ) ;
textWriter . WriteElementString ( "FontName" , settings . FcpExportSettings . FontName ) ;
textWriter . WriteElementString ( "FontSize" , settings . FcpExportSettings . FontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "Alignment" , settings . FcpExportSettings . Alignment ) ;
textWriter . WriteElementString ( "Baseline" , settings . FcpExportSettings . Baseline . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "Color" , settings . FcpExportSettings . Color . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteEndElement ( ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteStartElement ( "CommonErrors" , string . Empty ) ;
textWriter . WriteElementString ( "StartPosition" , settings . CommonErrors . StartPosition ) ;
textWriter . WriteElementString ( "StartSize" , settings . CommonErrors . StartSize ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "EmptyLinesTicked" , settings . CommonErrors . EmptyLinesTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "OverlappingDisplayTimeTicked" , settings . CommonErrors . OverlappingDisplayTimeTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "TooShortDisplayTimeTicked" , settings . CommonErrors . TooShortDisplayTimeTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "TooLongDisplayTimeTicked" , settings . CommonErrors . TooLongDisplayTimeTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-12-10 18:28:40 +01:00
textWriter . WriteElementString ( "TooShortGapTicked" , settings . CommonErrors . TooShortGapTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "InvalidItalicTagsTicked" , settings . CommonErrors . InvalidItalicTagsTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BreakLongLinesTicked" , settings . CommonErrors . BreakLongLinesTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MergeShortLinesTicked" , settings . CommonErrors . MergeShortLinesTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "MergeShortLinesAllTicked" , settings . CommonErrors . MergeShortLinesAllTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "UnneededSpacesTicked" , settings . CommonErrors . UnneededSpacesTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "UnneededPeriodsTicked" , settings . CommonErrors . UnneededPeriodsTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-04-15 18:44:54 +02:00
textWriter . WriteElementString ( "FixCommasTicked" , settings . CommonErrors . FixCommasTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "MissingSpacesTicked" , settings . CommonErrors . MissingSpacesTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AddMissingQuotesTicked" , settings . CommonErrors . AddMissingQuotesTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "Fix3PlusLinesTicked" , settings . CommonErrors . Fix3PlusLinesTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixHyphensTicked" , settings . CommonErrors . FixHyphensTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-02-16 08:08:19 +01:00
textWriter . WriteElementString ( "FixHyphensRemoveSingleLineTicked" , settings . CommonErrors . FixHyphensRemoveSingleLineTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "UppercaseIInsideLowercaseWordTicked" , settings . CommonErrors . UppercaseIInsideLowercaseWordTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DoubleApostropheToQuoteTicked" , settings . CommonErrors . DoubleApostropheToQuoteTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AddPeriodAfterParagraphTicked" , settings . CommonErrors . AddPeriodAfterParagraphTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "StartWithUppercaseLetterAfterParagraphTicked" , settings . CommonErrors . StartWithUppercaseLetterAfterParagraphTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "StartWithUppercaseLetterAfterPeriodInsideParagraphTicked" , settings . CommonErrors . StartWithUppercaseLetterAfterPeriodInsideParagraphTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "StartWithUppercaseLetterAfterColonTicked" , settings . CommonErrors . StartWithUppercaseLetterAfterColonTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AloneLowercaseIToUppercaseIEnglishTicked" , settings . CommonErrors . AloneLowercaseIToUppercaseIEnglishTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixOcrErrorsViaReplaceListTicked" , settings . CommonErrors . FixOcrErrorsViaReplaceListTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveSpaceBetweenNumberTicked" , settings . CommonErrors . RemoveSpaceBetweenNumberTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixDialogsOnOneLineTicked" , settings . CommonErrors . FixDialogsOnOneLineTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "TurkishAnsiTicked" , settings . CommonErrors . TurkishAnsiTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "DanishLetterITicked" , settings . CommonErrors . DanishLetterITicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "SpanishInvertedQuestionAndExclamationMarksTicked" , settings . CommonErrors . SpanishInvertedQuestionAndExclamationMarksTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixDoubleDashTicked" , settings . CommonErrors . FixDoubleDashTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixDoubleGreaterThanTicked" , settings . CommonErrors . FixDoubleGreaterThanTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixEllipsesStartTicked" , settings . CommonErrors . FixEllipsesStartTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixMissingOpenBracketTicked" , settings . CommonErrors . FixMissingOpenBracketTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixMusicNotationTicked" , settings . CommonErrors . FixMusicNotationTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-04-08 21:27:48 +02:00
textWriter . WriteElementString ( "FixContinuationStyleTicked" , settings . CommonErrors . FixContinuationStyleTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FixUnnecessaryLeadingDotsTicked" , settings . CommonErrors . FixUnnecessaryLeadingDotsTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-27 11:21:16 +02:00
textWriter . WriteElementString ( "NormalizeStringsTicked" , settings . CommonErrors . NormalizeStringsTicked . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-07-15 19:07:43 +02:00
textWriter . WriteElementString ( "DefaultFixes" , settings . CommonErrors . DefaultFixes ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "VideoControls" , string . Empty ) ;
textWriter . WriteElementString ( "CustomSearchText1" , settings . VideoControls . CustomSearchText1 ) ;
textWriter . WriteElementString ( "CustomSearchText2" , settings . VideoControls . CustomSearchText2 ) ;
textWriter . WriteElementString ( "CustomSearchText3" , settings . VideoControls . CustomSearchText3 ) ;
textWriter . WriteElementString ( "CustomSearchText4" , settings . VideoControls . CustomSearchText4 ) ;
textWriter . WriteElementString ( "CustomSearchText5" , settings . VideoControls . CustomSearchText5 ) ;
textWriter . WriteElementString ( "CustomSearchUrl1" , settings . VideoControls . CustomSearchUrl1 ) ;
textWriter . WriteElementString ( "CustomSearchUrl2" , settings . VideoControls . CustomSearchUrl2 ) ;
textWriter . WriteElementString ( "CustomSearchUrl3" , settings . VideoControls . CustomSearchUrl3 ) ;
textWriter . WriteElementString ( "CustomSearchUrl4" , settings . VideoControls . CustomSearchUrl4 ) ;
textWriter . WriteElementString ( "CustomSearchUrl5" , settings . VideoControls . CustomSearchUrl5 ) ;
textWriter . WriteElementString ( "LastActiveTab" , settings . VideoControls . LastActiveTab ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "WaveformDrawGrid" , settings . VideoControls . WaveformDrawGrid . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformDrawCps" , settings . VideoControls . WaveformDrawCps . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformDrawWpm" , settings . VideoControls . WaveformDrawWpm . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformAllowOverlap" , settings . VideoControls . WaveformAllowOverlap . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformFocusOnMouseEnter" , settings . VideoControls . WaveformFocusOnMouseEnter . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformListViewFocusOnMouseEnter" , settings . VideoControls . WaveformListViewFocusOnMouseEnter . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformSetVideoPositionOnMoveStartEnd" , settings . VideoControls . WaveformSetVideoPositionOnMoveStartEnd . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-03-30 22:28:17 +02:00
textWriter . WriteElementString ( "WaveformSingleClickSelect" , settings . VideoControls . WaveformSingleClickSelect . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-03-31 00:13:11 +02:00
textWriter . WriteElementString ( "WaveformSnapToSceneChanges" , settings . VideoControls . WaveformSnapToSceneChanges . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "WaveformBorderHitMs" , settings . VideoControls . WaveformBorderHitMs . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformGridColor" , settings . VideoControls . WaveformGridColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformColor" , settings . VideoControls . WaveformColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformSelectedColor" , settings . VideoControls . WaveformSelectedColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformBackgroundColor" , settings . VideoControls . WaveformBackgroundColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformTextColor" , settings . VideoControls . WaveformTextColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-04 15:25:38 +02:00
textWriter . WriteElementString ( "WaveformCursorColor" , settings . VideoControls . WaveformCursorColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-10-27 22:07:11 +01:00
textWriter . WriteElementString ( "WaveformChaptersColor" , settings . VideoControls . WaveformChaptersColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "WaveformTextSize" , settings . VideoControls . WaveformTextSize . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "WaveformTextBold" , settings . VideoControls . WaveformTextBold . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "WaveformDoubleClickOnNonParagraphAction" , settings . VideoControls . WaveformDoubleClickOnNonParagraphAction ) ;
textWriter . WriteElementString ( "WaveformRightClickOnNonParagraphAction" , settings . VideoControls . WaveformRightClickOnNonParagraphAction ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "WaveformMouseWheelScrollUpIsForward" , settings . VideoControls . WaveformMouseWheelScrollUpIsForward . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "GenerateSpectrogram" , settings . VideoControls . GenerateSpectrogram . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "SpectrogramAppearance" , settings . VideoControls . SpectrogramAppearance ) ;
textWriter . WriteElementString ( "WaveformMinimumSampleRate" , settings . VideoControls . WaveformMinimumSampleRate . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformSeeksSilenceDurationSeconds" , settings . VideoControls . WaveformSeeksSilenceDurationSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformSeeksSilenceMaxVolume" , settings . VideoControls . WaveformSeeksSilenceMaxVolume . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-11-01 20:48:54 +01:00
textWriter . WriteElementString ( "WaveformUnwrapText" , settings . VideoControls . WaveformUnwrapText . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "WaveformHideWpmCpsLabels" , settings . VideoControls . WaveformHideWpmCpsLabels . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "NetworkSettings" , string . Empty ) ;
textWriter . WriteElementString ( "SessionKey" , settings . NetworkSettings . SessionKey ) ;
textWriter . WriteElementString ( "UserName" , settings . NetworkSettings . UserName ) ;
textWriter . WriteElementString ( "WebServiceUrl" , settings . NetworkSettings . WebServiceUrl ) ;
textWriter . WriteElementString ( "PollIntervalSeconds" , settings . NetworkSettings . PollIntervalSeconds . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "NewMessageSound" , settings . NetworkSettings . NewMessageSound ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "VobSubOcr" , string . Empty ) ;
textWriter . WriteElementString ( "XOrMorePixelsMakesSpace" , settings . VobSubOcr . XOrMorePixelsMakesSpace . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AllowDifferenceInPercent" , settings . VobSubOcr . AllowDifferenceInPercent . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BlurayAllowDifferenceInPercent" , settings . VobSubOcr . BlurayAllowDifferenceInPercent . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "LastImageCompareFolder" , settings . VobSubOcr . LastImageCompareFolder ) ;
textWriter . WriteElementString ( "LastModiLanguageId" , settings . VobSubOcr . LastModiLanguageId . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "LastOcrMethod" , settings . VobSubOcr . LastOcrMethod ) ;
textWriter . WriteElementString ( "TesseractLastLanguage" , settings . VobSubOcr . TesseractLastLanguage ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "UseTesseractFallback" , settings . VobSubOcr . UseTesseractFallback . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "UseItalicsInTesseract" , settings . VobSubOcr . UseItalicsInTesseract . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "TesseractEngineMode" , settings . VobSubOcr . TesseractEngineMode . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "UseMusicSymbolsInTesseract" , settings . VobSubOcr . UseMusicSymbolsInTesseract . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RightToLeft" , settings . VobSubOcr . RightToLeft . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "TopToBottom" , settings . VobSubOcr . TopToBottom . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "DefaultMillisecondsForUnknownDurations" , settings . VobSubOcr . DefaultMillisecondsForUnknownDurations . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-03-17 20:31:27 +01:00
textWriter . WriteElementString ( "FixOcrErrors" , settings . VobSubOcr . FixOcrErrors . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "PromptForUnknownWords" , settings . VobSubOcr . PromptForUnknownWords . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "GuessUnknownWords" , settings . VobSubOcr . GuessUnknownWords . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "AutoBreakSubtitleIfMoreThanTwoLines" , settings . VobSubOcr . AutoBreakSubtitleIfMoreThanTwoLines . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "ItalicFactor" , settings . VobSubOcr . ItalicFactor . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "LineOcrDraw" , settings . VobSubOcr . LineOcrDraw . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-06-06 20:12:34 +02:00
textWriter . WriteElementString ( "LineOcrMinHeightSplit" , settings . VobSubOcr . LineOcrMinHeightSplit . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "LineOcrAdvancedItalic" , settings . VobSubOcr . LineOcrAdvancedItalic . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "LineOcrLastLanguages" , settings . VobSubOcr . LineOcrLastLanguages ) ;
textWriter . WriteElementString ( "LineOcrLastSpellCheck" , settings . VobSubOcr . LineOcrLastSpellCheck ) ;
2020-05-23 21:22:05 +02:00
textWriter . WriteElementString ( "LineOcrLinesToAutoGuess" , settings . VobSubOcr . LineOcrLinesToAutoGuess . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "LineOcrMinLineHeight" , settings . VobSubOcr . LineOcrMinLineHeight . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "LineOcrMaxLineHeight" , settings . VobSubOcr . LineOcrMaxLineHeight . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-30 14:22:08 +02:00
textWriter . WriteElementString ( "LineOcrMaxErrorPixels" , settings . VobSubOcr . LineOcrMaxErrorPixels . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "LastBinaryImageCompareDb" , settings . VobSubOcr . LastBinaryImageCompareDb ) ;
textWriter . WriteElementString ( "LastBinaryImageSpellCheck" , settings . VobSubOcr . LastBinaryImageSpellCheck ) ;
2019-02-06 17:16:54 +01:00
textWriter . WriteElementString ( "BinaryAutoDetectBestDb" , settings . VobSubOcr . BinaryAutoDetectBestDb . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-03-15 20:25:13 +01:00
textWriter . WriteElementString ( "LastTesseractSpellCheck" , settings . VobSubOcr . LastTesseractSpellCheck ) ;
2019-08-31 20:23:48 +02:00
textWriter . WriteElementString ( "CaptureTopAlign" , settings . VobSubOcr . CaptureTopAlign . ToString ( CultureInfo . InvariantCulture ) ) ;
2020-05-24 09:45:21 +02:00
textWriter . WriteElementString ( "UnfocusedAttentionBlinkCount" , settings . VobSubOcr . UnfocusedAttentionBlinkCount . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "UnfocusedAttentionPlaySoundCount" , settings . VobSubOcr . UnfocusedAttentionPlaySoundCount . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-09-01 11:16:42 +02:00
2016-02-08 21:11:03 +01:00
textWriter . WriteEndElement ( ) ;
2016-06-26 16:23:40 +02:00
textWriter . WriteStartElement ( "MultipleSearchAndReplaceGroups" , string . Empty ) ;
foreach ( var group in settings . MultipleSearchAndReplaceGroups )
2016-02-08 21:11:03 +01:00
{
2018-02-26 20:47:37 +01:00
if ( ! string . IsNullOrEmpty ( group ? . Name ) )
2016-06-26 16:23:40 +02:00
{
2018-02-26 20:47:37 +01:00
textWriter . WriteStartElement ( "Group" , string . Empty ) ;
textWriter . WriteElementString ( "Name" , group . Name ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "Enabled" , group . Enabled . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-02-26 20:47:37 +01:00
foreach ( var item in group . Rules )
{
textWriter . WriteStartElement ( "Rule" , string . Empty ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "Enabled" , item . Enabled . ToString ( CultureInfo . InvariantCulture ) ) ;
2018-02-26 20:47:37 +01:00
textWriter . WriteElementString ( "FindWhat" , item . FindWhat ) ;
textWriter . WriteElementString ( "ReplaceWith" , item . ReplaceWith ) ;
textWriter . WriteElementString ( "SearchType" , item . SearchType ) ;
textWriter . WriteElementString ( "Description" , item . Description ) ;
textWriter . WriteEndElement ( ) ;
}
2016-06-26 16:23:40 +02:00
textWriter . WriteEndElement ( ) ;
}
2016-02-08 21:11:03 +01:00
}
textWriter . WriteEndElement ( ) ;
2020-10-11 16:29:41 +02:00
WriteShortcuts ( settings . Shortcuts , textWriter ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteStartElement ( "RemoveTextForHearingImpaired" , string . Empty ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "RemoveTextBetweenBrackets" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenBrackets . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveTextBetweenParentheses" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenParentheses . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveTextBetweenCurlyBrackets" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenCurlyBrackets . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveTextBetweenQuestionMarks" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenQuestionMarks . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveTextBetweenCustom" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenCustom . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "RemoveTextBetweenCustomBefore" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenCustomBefore ) ;
textWriter . WriteElementString ( "RemoveTextBetweenCustomAfter" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenCustomAfter ) ;
2020-10-10 13:46:31 +02:00
textWriter . WriteElementString ( "RemoveTextBetweenOnlySeparateLines" , settings . RemoveTextForHearingImpaired . RemoveTextBetweenOnlySeparateLines . ToString ( CultureInfo . InvariantCulture ) ) ;
2019-11-08 13:09:48 +01:00
textWriter . WriteElementString ( "RemoveTextBeforeColon" , settings . RemoveTextForHearingImpaired . RemoveTextBeforeColon . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveTextBeforeColonOnlyIfUppercase" , settings . RemoveTextForHearingImpaired . RemoveTextBeforeColonOnlyIfUppercase . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveTextBeforeColonOnlyOnSeparateLine" , settings . RemoveTextForHearingImpaired . RemoveTextBeforeColonOnlyOnSeparateLine . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveInterjections" , settings . RemoveTextForHearingImpaired . RemoveInterjections . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveInterjectionsOnlyOnSeparateLine" , settings . RemoveTextForHearingImpaired . RemoveInterjectionsOnlyOnSeparateLine . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveIfAllUppercase" , settings . RemoveTextForHearingImpaired . RemoveIfAllUppercase . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "RemoveIfContains" , settings . RemoveTextForHearingImpaired . RemoveIfContains . ToString ( CultureInfo . InvariantCulture ) ) ;
2016-02-08 21:11:03 +01:00
textWriter . WriteElementString ( "RemoveIfContainsText" , settings . RemoveTextForHearingImpaired . RemoveIfContainsText ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteStartElement ( "SubtitleBeaming" , string . Empty ) ;
textWriter . WriteElementString ( "FontName" , settings . SubtitleBeaming . FontName ) ;
textWriter . WriteElementString ( "FontColor" , settings . SubtitleBeaming . FontColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "FontSize" , settings . SubtitleBeaming . FontSize . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BorderColor" , settings . SubtitleBeaming . BorderColor . ToArgb ( ) . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteElementString ( "BorderWidth" , settings . SubtitleBeaming . BorderWidth . ToString ( CultureInfo . InvariantCulture ) ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteEndElement ( ) ;
textWriter . WriteEndDocument ( ) ;
textWriter . Flush ( ) ;
try
{
File . WriteAllText ( fileName , sb . ToString ( ) . Replace ( "encoding=\"utf-16\"" , "encoding=\"utf-8\"" ) , Encoding . UTF8 ) ;
}
catch
{
2018-04-14 09:34:08 +02:00
// ignored
2016-02-08 21:11:03 +01:00
}
}
}
2020-10-11 16:29:41 +02:00
internal static void WriteShortcuts ( Shortcuts shortcuts , XmlWriter textWriter )
{
textWriter . WriteStartElement ( "Shortcuts" , string . Empty ) ;
textWriter . WriteElementString ( "GeneralGoToFirstSelectedLine" , shortcuts . GeneralGoToFirstSelectedLine ) ;
textWriter . WriteElementString ( "GeneralGoToNextEmptyLine" , shortcuts . GeneralGoToNextEmptyLine ) ;
textWriter . WriteElementString ( "GeneralMergeSelectedLines" , shortcuts . GeneralMergeSelectedLines ) ;
textWriter . WriteElementString ( "GeneralMergeSelectedLinesAndAutoBreak" , shortcuts . GeneralMergeSelectedLinesAndAutoBreak ) ;
textWriter . WriteElementString ( "GeneralMergeSelectedLinesAndUnbreak" , shortcuts . GeneralMergeSelectedLinesAndUnbreak ) ;
textWriter . WriteElementString ( "GeneralMergeSelectedLinesAndUnbreakCjk" , shortcuts . GeneralMergeSelectedLinesAndUnbreakCjk ) ;
textWriter . WriteElementString ( "GeneralMergeSelectedLinesOnlyFirstText" , shortcuts . GeneralMergeSelectedLinesOnlyFirstText ) ;
textWriter . WriteElementString ( "GeneralMergeSelectedLinesBilingual" , shortcuts . GeneralMergeSelectedLinesBilingual ) ;
textWriter . WriteElementString ( "GeneralMergeWithNext" , shortcuts . GeneralMergeWithNext ) ;
textWriter . WriteElementString ( "GeneralMergeWithPrevious" , shortcuts . GeneralMergeWithPrevious ) ;
textWriter . WriteElementString ( "GeneralToggleTranslationMode" , shortcuts . GeneralToggleTranslationMode ) ;
textWriter . WriteElementString ( "GeneralSwitchOriginalAndTranslation" , shortcuts . GeneralSwitchOriginalAndTranslation ) ;
textWriter . WriteElementString ( "GeneralMergeOriginalAndTranslation" , shortcuts . GeneralMergeOriginalAndTranslation ) ;
textWriter . WriteElementString ( "GeneralGoToNextSubtitle" , shortcuts . GeneralGoToNextSubtitle ) ;
textWriter . WriteElementString ( "GeneralGoToPrevSubtitle" , shortcuts . GeneralGoToPrevSubtitle ) ;
textWriter . WriteElementString ( "GeneralGoToEndOfCurrentSubtitle" , shortcuts . GeneralGoToEndOfCurrentSubtitle ) ;
textWriter . WriteElementString ( "GeneralGoToStartOfCurrentSubtitle" , shortcuts . GeneralGoToStartOfCurrentSubtitle ) ;
textWriter . WriteElementString ( "GeneralGoToPreviousSubtitleAndFocusVideo" , shortcuts . GeneralGoToPreviousSubtitleAndFocusVideo ) ;
textWriter . WriteElementString ( "GeneralGoToNextSubtitleAndFocusVideo" , shortcuts . GeneralGoToNextSubtitleAndFocusVideo ) ;
textWriter . WriteElementString ( "GeneralGoToPrevSubtitleAndPlay" , shortcuts . GeneralGoToPrevSubtitleAndPlay ) ;
textWriter . WriteElementString ( "GeneralGoToNextSubtitleAndPlay" , shortcuts . GeneralGoToNextSubtitleAndPlay ) ;
textWriter . WriteElementString ( "GeneralAutoCalcCurrentDuration" , shortcuts . GeneralAutoCalcCurrentDuration ) ;
textWriter . WriteElementString ( "GeneralPlayFirstSelected" , shortcuts . GeneralPlayFirstSelected ) ;
textWriter . WriteElementString ( "GeneralHelp" , shortcuts . GeneralHelp ) ;
textWriter . WriteElementString ( "GeneralUnbrekNoSpace" , shortcuts . GeneralUnbrekNoSpace ) ;
textWriter . WriteElementString ( "GeneralToggleBookmarks" , shortcuts . GeneralToggleBookmarks ) ;
textWriter . WriteElementString ( "GeneralToggleBookmarksWithText" , shortcuts . GeneralToggleBookmarksWithText ) ;
textWriter . WriteElementString ( "GeneralClearBookmarks" , shortcuts . GeneralClearBookmarks ) ;
textWriter . WriteElementString ( "GeneralGoToBookmark" , shortcuts . GeneralGoToBookmark ) ;
textWriter . WriteElementString ( "GeneralGoToNextBookmark" , shortcuts . GeneralGoToNextBookmark ) ;
textWriter . WriteElementString ( "ChooseProfile" , shortcuts . ChooseProfile ) ;
textWriter . WriteElementString ( "DuplicateLine" , shortcuts . DuplicateLine ) ;
textWriter . WriteElementString ( "GeneralGoToPreviousBookmark" , shortcuts . GeneralGoToPreviousBookmark ) ;
textWriter . WriteElementString ( "MainFileNew" , shortcuts . MainFileNew ) ;
textWriter . WriteElementString ( "MainFileOpen" , shortcuts . MainFileOpen ) ;
textWriter . WriteElementString ( "MainFileOpenKeepVideo" , shortcuts . MainFileOpenKeepVideo ) ;
textWriter . WriteElementString ( "MainFileSave" , shortcuts . MainFileSave ) ;
textWriter . WriteElementString ( "MainFileSaveOriginal" , shortcuts . MainFileSaveOriginal ) ;
textWriter . WriteElementString ( "MainFileSaveOriginalAs" , shortcuts . MainFileSaveOriginalAs ) ;
textWriter . WriteElementString ( "MainFileSaveAs" , shortcuts . MainFileSaveAs ) ;
textWriter . WriteElementString ( "MainFileCloseOriginal" , shortcuts . MainFileCloseOriginal ) ;
textWriter . WriteElementString ( "MainFileCompare" , shortcuts . MainFileCompare ) ;
textWriter . WriteElementString ( "MainFileOpenOriginal" , shortcuts . MainFileOpenOriginal ) ;
textWriter . WriteElementString ( "MainFileSaveAll" , shortcuts . MainFileSaveAll ) ;
textWriter . WriteElementString ( "MainFileImportPlainText" , shortcuts . MainFileImportPlainText ) ;
textWriter . WriteElementString ( "MainFileImportTimeCodes" , shortcuts . MainFileImportTimeCodes ) ;
textWriter . WriteElementString ( "MainFileExportPlainText" , shortcuts . MainFileExportPlainText ) ;
textWriter . WriteElementString ( "MainFileExportEbu" , shortcuts . MainFileExportEbu ) ;
textWriter . WriteElementString ( "MainFileExportPac" , shortcuts . MainFileExportPac ) ;
textWriter . WriteElementString ( "MainEditUndo" , shortcuts . MainEditUndo ) ;
textWriter . WriteElementString ( "MainEditRedo" , shortcuts . MainEditRedo ) ;
textWriter . WriteElementString ( "MainEditFind" , shortcuts . MainEditFind ) ;
textWriter . WriteElementString ( "MainEditFindNext" , shortcuts . MainEditFindNext ) ;
textWriter . WriteElementString ( "MainEditReplace" , shortcuts . MainEditReplace ) ;
textWriter . WriteElementString ( "MainEditMultipleReplace" , shortcuts . MainEditMultipleReplace ) ;
textWriter . WriteElementString ( "MainEditGoToLineNumber" , shortcuts . MainEditGoToLineNumber ) ;
textWriter . WriteElementString ( "MainEditRightToLeft" , shortcuts . MainEditRightToLeft ) ;
textWriter . WriteElementString ( "MainToolsFixCommonErrors" , shortcuts . MainToolsFixCommonErrors ) ;
textWriter . WriteElementString ( "MainToolsFixCommonErrorsPreview" , shortcuts . MainToolsFixCommonErrorsPreview ) ;
textWriter . WriteElementString ( "MainToolsMergeShortLines" , shortcuts . MainToolsMergeShortLines ) ;
textWriter . WriteElementString ( "MainToolsMergeDuplicateText" , shortcuts . MainToolsMergeDuplicateText ) ;
textWriter . WriteElementString ( "MainToolsMergeSameTimeCodes" , shortcuts . MainToolsMergeSameTimeCodes ) ;
textWriter . WriteElementString ( "MainToolsMakeEmptyFromCurrent" , shortcuts . MainToolsMakeEmptyFromCurrent ) ;
textWriter . WriteElementString ( "MainToolsSplitLongLines" , shortcuts . MainToolsSplitLongLines ) ;
textWriter . WriteElementString ( "MainToolsMinimumDisplayTimeBetweenParagraphs" , shortcuts . MainToolsMinimumDisplayTimeBetweenParagraphs ) ;
textWriter . WriteElementString ( "MainToolsDurationsBridgeGap" , shortcuts . MainToolsDurationsBridgeGap ) ;
textWriter . WriteElementString ( "MainToolsRenumber" , shortcuts . MainToolsRenumber ) ;
textWriter . WriteElementString ( "MainToolsRemoveTextForHI" , shortcuts . MainToolsRemoveTextForHI ) ;
textWriter . WriteElementString ( "MainToolsChangeCasing" , shortcuts . MainToolsChangeCasing ) ;
textWriter . WriteElementString ( "MainToolsAutoDuration" , shortcuts . MainToolsAutoDuration ) ;
textWriter . WriteElementString ( "MainToolsBatchConvert" , shortcuts . MainToolsBatchConvert ) ;
textWriter . WriteElementString ( "MainToolsMeasurementConverter" , shortcuts . MainToolsMeasurementConverter ) ;
textWriter . WriteElementString ( "MainToolsSplit" , shortcuts . MainToolsSplit ) ;
textWriter . WriteElementString ( "MainToolsAppend" , shortcuts . MainToolsAppend ) ;
textWriter . WriteElementString ( "MainToolsJoin" , shortcuts . MainToolsJoin ) ;
textWriter . WriteElementString ( "MainToolsBeamer" , shortcuts . MainToolsBeamer ) ;
2020-10-11 16:44:09 +02:00
textWriter . WriteElementString ( "MainEditToggleTranslationOriginalInPreviews" , shortcuts . MainEditToggleTranslationOriginalInPreviews ) ;
2020-10-11 16:29:41 +02:00
textWriter . WriteElementString ( "MainEditInverseSelection" , shortcuts . MainEditInverseSelection ) ;
textWriter . WriteElementString ( "MainEditModifySelection" , shortcuts . MainEditModifySelection ) ;
textWriter . WriteElementString ( "MainVideoOpen" , shortcuts . MainVideoOpen ) ;
textWriter . WriteElementString ( "MainVideoClose" , shortcuts . MainVideoClose ) ;
textWriter . WriteElementString ( "MainVideoPause" , shortcuts . MainVideoPause ) ;
textWriter . WriteElementString ( "MainVideoPlayFromJustBefore" , shortcuts . MainVideoPlayFromJustBefore ) ;
textWriter . WriteElementString ( "MainVideoPlayPauseToggle" , shortcuts . MainVideoPlayPauseToggle ) ;
textWriter . WriteElementString ( "MainVideoShowHideVideo" , shortcuts . MainVideoShowHideVideo ) ;
textWriter . WriteElementString ( "MainVideoFoucsSetVideoPosition" , shortcuts . MainVideoFoucsSetVideoPosition ) ;
textWriter . WriteElementString ( "MainVideoToggleVideoControls" , shortcuts . MainVideoToggleVideoControls ) ;
textWriter . WriteElementString ( "MainVideo1FrameLeft" , shortcuts . MainVideo1FrameLeft ) ;
textWriter . WriteElementString ( "MainVideo1FrameRight" , shortcuts . MainVideo1FrameRight ) ;
textWriter . WriteElementString ( "MainVideo1FrameLeftWithPlay" , shortcuts . MainVideo1FrameLeftWithPlay ) ;
textWriter . WriteElementString ( "MainVideo1FrameRightWithPlay" , shortcuts . MainVideo1FrameRightWithPlay ) ;
textWriter . WriteElementString ( "MainVideo100MsLeft" , shortcuts . MainVideo100MsLeft ) ;
textWriter . WriteElementString ( "MainVideo100MsRight" , shortcuts . MainVideo100MsRight ) ;
textWriter . WriteElementString ( "MainVideo500MsLeft" , shortcuts . MainVideo500MsLeft ) ;
textWriter . WriteElementString ( "MainVideo500MsRight" , shortcuts . MainVideo500MsRight ) ;
textWriter . WriteElementString ( "MainVideo1000MsLeft" , shortcuts . MainVideo1000MsLeft ) ;
textWriter . WriteElementString ( "MainVideo1000MsRight" , shortcuts . MainVideo1000MsRight ) ;
textWriter . WriteElementString ( "MainVideo5000MsLeft" , shortcuts . MainVideo5000MsLeft ) ;
textWriter . WriteElementString ( "MainVideo5000MsRight" , shortcuts . MainVideo5000MsRight ) ;
textWriter . WriteElementString ( "MainVideoXSMsLeft" , shortcuts . MainVideoXSMsLeft ) ;
textWriter . WriteElementString ( "MainVideoXSMsRight" , shortcuts . MainVideoXSMsRight ) ;
textWriter . WriteElementString ( "MainVideoXLMsLeft" , shortcuts . MainVideoXLMsLeft ) ;
textWriter . WriteElementString ( "MainVideoXLMsRight" , shortcuts . MainVideoXLMsRight ) ;
textWriter . WriteElementString ( "MainVideo3000MsLeft" , shortcuts . MainVideo3000MsLeft ) ;
textWriter . WriteElementString ( "MainVideoGoToStartCurrent" , shortcuts . MainVideoGoToStartCurrent ) ;
textWriter . WriteElementString ( "MainVideoToggleStartEndCurrent" , shortcuts . MainVideoToggleStartEndCurrent ) ;
textWriter . WriteElementString ( "MainVideoPlayCurrent" , shortcuts . MainVideoPlayCurrent ) ;
textWriter . WriteElementString ( "MainVideoGoToPrevSubtitle" , shortcuts . MainVideoGoToPrevSubtitle ) ;
textWriter . WriteElementString ( "MainVideoGoToNextSubtitle" , shortcuts . MainVideoGoToNextSubtitle ) ;
2020-10-16 14:49:15 +02:00
textWriter . WriteElementString ( "MainVideoGoToPrevChapter" , shortcuts . MainVideoGoToPrevChapter ) ;
textWriter . WriteElementString ( "MainVideoGoToNextChapter" , shortcuts . MainVideoGoToNextChapter ) ;
2020-10-11 16:29:41 +02:00
textWriter . WriteElementString ( "MainVideoSelectNextSubtitle" , shortcuts . MainVideoSelectNextSubtitle ) ;
textWriter . WriteElementString ( "MainVideoFullscreen" , shortcuts . MainVideoFullscreen ) ;
textWriter . WriteElementString ( "MainVideoSlower" , shortcuts . MainVideoSlower ) ;
textWriter . WriteElementString ( "MainVideoFaster" , shortcuts . MainVideoFaster ) ;
textWriter . WriteElementString ( "MainVideoReset" , shortcuts . MainVideoReset ) ;
textWriter . WriteElementString ( "MainSpellCheck" , shortcuts . MainSpellCheck ) ;
textWriter . WriteElementString ( "MainSpellCheckFindDoubleWords" , shortcuts . MainSpellCheckFindDoubleWords ) ;
textWriter . WriteElementString ( "MainSpellCheckAddWordToNames" , shortcuts . MainSpellCheckAddWordToNames ) ;
textWriter . WriteElementString ( "MainSynchronizationAdjustTimes" , shortcuts . MainSynchronizationAdjustTimes ) ;
textWriter . WriteElementString ( "MainSynchronizationVisualSync" , shortcuts . MainSynchronizationVisualSync ) ;
textWriter . WriteElementString ( "MainSynchronizationPointSync" , shortcuts . MainSynchronizationPointSync ) ;
textWriter . WriteElementString ( "MainSynchronizationPointSyncViaFile" , shortcuts . MainSynchronizationPointSyncViaFile ) ;
textWriter . WriteElementString ( "MainSynchronizationChangeFrameRate" , shortcuts . MainSynchronizationChangeFrameRate ) ;
textWriter . WriteElementString ( "MainListViewItalic" , shortcuts . MainListViewItalic ) ;
textWriter . WriteElementString ( "MainListViewBold" , shortcuts . MainListViewBold ) ;
textWriter . WriteElementString ( "MainListViewUnderline" , shortcuts . MainListViewUnderline ) ;
textWriter . WriteElementString ( "MainListViewBox" , shortcuts . MainListViewBox ) ;
textWriter . WriteElementString ( "MainListViewSplit" , shortcuts . MainListViewSplit ) ;
textWriter . WriteElementString ( "MainListViewToggleDashes" , shortcuts . MainListViewToggleDashes ) ;
textWriter . WriteElementString ( "MainListViewToggleMusicSymbols" , shortcuts . MainListViewToggleMusicSymbols ) ;
textWriter . WriteElementString ( "MainListViewAlignment" , shortcuts . MainListViewAlignment ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN1" , shortcuts . MainListViewAlignmentN1 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN2" , shortcuts . MainListViewAlignmentN2 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN3" , shortcuts . MainListViewAlignmentN3 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN4" , shortcuts . MainListViewAlignmentN4 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN5" , shortcuts . MainListViewAlignmentN5 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN6" , shortcuts . MainListViewAlignmentN6 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN7" , shortcuts . MainListViewAlignmentN7 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN8" , shortcuts . MainListViewAlignmentN8 ) ;
textWriter . WriteElementString ( "MainListViewAlignmentN9" , shortcuts . MainListViewAlignmentN9 ) ;
textWriter . WriteElementString ( "MainRemoveFormatting" , shortcuts . MainRemoveFormatting ) ;
textWriter . WriteElementString ( "MainListViewCopyText" , shortcuts . MainListViewCopyText ) ;
textWriter . WriteElementString ( "MainListViewCopyTextFromOriginalToCurrent" , shortcuts . MainListViewCopyTextFromOriginalToCurrent ) ;
textWriter . WriteElementString ( "MainListViewAutoDuration" , shortcuts . MainListViewAutoDuration ) ;
textWriter . WriteElementString ( "MainListViewColumnDeleteText" , shortcuts . MainListViewColumnDeleteText ) ;
textWriter . WriteElementString ( "MainListViewColumnDeleteTextAndShiftUp" , shortcuts . MainListViewColumnDeleteTextAndShiftUp ) ;
textWriter . WriteElementString ( "MainListViewColumnInsertText" , shortcuts . MainListViewColumnInsertText ) ;
textWriter . WriteElementString ( "MainListViewColumnPaste" , shortcuts . MainListViewColumnPaste ) ;
textWriter . WriteElementString ( "MainListViewColumnTextUp" , shortcuts . MainListViewColumnTextUp ) ;
textWriter . WriteElementString ( "MainListViewColumnTextDown" , shortcuts . MainListViewColumnTextDown ) ;
textWriter . WriteElementString ( "MainListViewFocusWaveform" , shortcuts . MainListViewFocusWaveform ) ;
textWriter . WriteElementString ( "MainListViewGoToNextError" , shortcuts . MainListViewGoToNextError ) ;
textWriter . WriteElementString ( "MainListViewRemoveTimeCodes" , shortcuts . MainListViewRemoveTimeCodes ) ;
textWriter . WriteElementString ( "MainEditFixRTLViaUnicodeChars" , shortcuts . MainEditFixRTLViaUnicodeChars ) ;
textWriter . WriteElementString ( "MainEditRemoveRTLUnicodeChars" , shortcuts . MainEditRemoveRTLUnicodeChars ) ;
textWriter . WriteElementString ( "MainEditReverseStartAndEndingForRTL" , shortcuts . MainEditReverseStartAndEndingForRTL ) ;
textWriter . WriteElementString ( "MainTextBoxItalic" , shortcuts . MainTextBoxItalic ) ;
textWriter . WriteElementString ( "MainTextBoxSplitAtCursor" , shortcuts . MainTextBoxSplitAtCursor ) ;
textWriter . WriteElementString ( "MainTextBoxSplitAtCursorAndVideoPos" , shortcuts . MainTextBoxSplitAtCursorAndVideoPos ) ;
textWriter . WriteElementString ( "MainTextBoxSplitSelectedLineBilingual" , shortcuts . MainTextBoxSplitSelectedLineBilingual ) ;
textWriter . WriteElementString ( "MainTextBoxMoveLastWordDown" , shortcuts . MainTextBoxMoveLastWordDown ) ;
textWriter . WriteElementString ( "MainTextBoxMoveFirstWordFromNextUp" , shortcuts . MainTextBoxMoveFirstWordFromNextUp ) ;
textWriter . WriteElementString ( "MainTextBoxMoveLastWordDownCurrent" , shortcuts . MainTextBoxMoveLastWordDownCurrent ) ;
textWriter . WriteElementString ( "MainTextBoxMoveFirstWordUpCurrent" , shortcuts . MainTextBoxMoveFirstWordUpCurrent ) ;
textWriter . WriteElementString ( "MainTextBoxSelectionToLower" , shortcuts . MainTextBoxSelectionToLower ) ;
textWriter . WriteElementString ( "MainTextBoxSelectionToUpper" , shortcuts . MainTextBoxSelectionToUpper ) ;
textWriter . WriteElementString ( "MainTextBoxSelectionToRuby" , shortcuts . MainTextBoxSelectionToRuby ) ;
textWriter . WriteElementString ( "MainTextBoxToggleAutoDuration" , shortcuts . MainTextBoxToggleAutoDuration ) ;
textWriter . WriteElementString ( "MainCreateInsertSubAtVideoPos" , shortcuts . MainCreateInsertSubAtVideoPos ) ;
textWriter . WriteElementString ( "MainCreateInsertSubAtVideoPosNoTextBoxFocus" , shortcuts . MainCreateInsertSubAtVideoPosNoTextBoxFocus ) ;
textWriter . WriteElementString ( "MainCreateSetStart" , shortcuts . MainCreateSetStart ) ;
textWriter . WriteElementString ( "MainCreateSetEnd" , shortcuts . MainCreateSetEnd ) ;
textWriter . WriteElementString ( "MainAdjustSetEndAndPause" , shortcuts . MainAdjustSetEndAndPause ) ;
textWriter . WriteElementString ( "MainCreateSetEndAddNewAndGoToNew" , shortcuts . MainCreateSetEndAddNewAndGoToNew ) ;
textWriter . WriteElementString ( "MainCreateStartDownEndUp" , shortcuts . MainCreateStartDownEndUp ) ;
textWriter . WriteElementString ( "MainAdjustSetStartAndOffsetTheRest" , shortcuts . MainAdjustSetStartAndOffsetTheRest ) ;
textWriter . WriteElementString ( "MainAdjustSetStartAndOffsetTheRest2" , shortcuts . MainAdjustSetStartAndOffsetTheRest2 ) ;
textWriter . WriteElementString ( "MainAdjustSetEndAndOffsetTheRest" , shortcuts . MainAdjustSetEndAndOffsetTheRest ) ;
textWriter . WriteElementString ( "MainAdjustSetEndAndOffsetTheRestAndGoToNext" , shortcuts . MainAdjustSetEndAndOffsetTheRestAndGoToNext ) ;
textWriter . WriteElementString ( "MainAdjustSetEndAndGotoNext" , shortcuts . MainAdjustSetEndAndGotoNext ) ;
textWriter . WriteElementString ( "MainAdjustViaEndAutoStart" , shortcuts . MainAdjustViaEndAutoStart ) ;
textWriter . WriteElementString ( "MainAdjustViaEndAutoStartAndGoToNext" , shortcuts . MainAdjustViaEndAutoStartAndGoToNext ) ;
textWriter . WriteElementString ( "MainAdjustSetStartAutoDurationAndGoToNext" , shortcuts . MainAdjustSetStartAutoDurationAndGoToNext ) ;
textWriter . WriteElementString ( "MainAdjustSetEndNextStartAndGoToNext" , shortcuts . MainAdjustSetEndNextStartAndGoToNext ) ;
textWriter . WriteElementString ( "MainAdjustStartDownEndUpAndGoToNext" , shortcuts . MainAdjustStartDownEndUpAndGoToNext ) ;
textWriter . WriteElementString ( "MainAdjustSetStartKeepDuration" , shortcuts . MainAdjustSetStartKeepDuration ) ;
textWriter . WriteElementString ( "MainAdjustSelected100MsForward" , shortcuts . MainAdjustSelected100MsForward ) ;
textWriter . WriteElementString ( "MainAdjustSelected100MsBack" , shortcuts . MainAdjustSelected100MsBack ) ;
textWriter . WriteElementString ( "MainAdjustStartXMsBack" , shortcuts . MainAdjustStartXMsBack ) ;
textWriter . WriteElementString ( "MainAdjustStartXMsForward" , shortcuts . MainAdjustStartXMsForward ) ;
textWriter . WriteElementString ( "MainAdjustEndXMsBack" , shortcuts . MainAdjustEndXMsBack ) ;
textWriter . WriteElementString ( "MainAdjustEndXMsForward" , shortcuts . MainAdjustEndXMsForward ) ;
textWriter . WriteElementString ( "MoveStartOneFrameBack" , shortcuts . MoveStartOneFrameBack ) ;
textWriter . WriteElementString ( "MoveStartOneFrameForward" , shortcuts . MoveStartOneFrameForward ) ;
textWriter . WriteElementString ( "MoveEndOneFrameBack" , shortcuts . MoveEndOneFrameBack ) ;
textWriter . WriteElementString ( "MoveEndOneFrameForward" , shortcuts . MoveEndOneFrameForward ) ;
textWriter . WriteElementString ( "MoveStartOneFrameBackKeepGapPrev" , shortcuts . MoveStartOneFrameBackKeepGapPrev ) ;
textWriter . WriteElementString ( "MoveStartOneFrameForwardKeepGapPrev" , shortcuts . MoveStartOneFrameForwardKeepGapPrev ) ;
textWriter . WriteElementString ( "MoveEndOneFrameBackKeepGapNext" , shortcuts . MoveEndOneFrameBackKeepGapNext ) ;
textWriter . WriteElementString ( "MoveEndOneFrameForwardKeepGapNext" , shortcuts . MoveEndOneFrameForwardKeepGapNext ) ;
textWriter . WriteElementString ( "MainAdjustSnapStartToNextSceneChange" , shortcuts . MainAdjustSnapStartToNextSceneChange ) ;
textWriter . WriteElementString ( "MainAdjustSnapStartToNextSceneChangeWithGap" , shortcuts . MainAdjustSnapStartToNextSceneChangeWithGap ) ;
textWriter . WriteElementString ( "MainAdjustSnapEndToPreviousSceneChange" , shortcuts . MainAdjustSnapEndToPreviousSceneChange ) ;
textWriter . WriteElementString ( "MainAdjustSnapEndToPreviousSceneChangeWithGap" , shortcuts . MainAdjustSnapEndToPreviousSceneChangeWithGap ) ;
textWriter . WriteElementString ( "MainAdjustExtendToNextSceneChange" , shortcuts . MainAdjustExtendToNextSceneChange ) ;
textWriter . WriteElementString ( "MainAdjustExtendToNextSceneChangeWithGap" , shortcuts . MainAdjustExtendToNextSceneChangeWithGap ) ;
textWriter . WriteElementString ( "MainAdjustExtendToPreviousSceneChange" , shortcuts . MainAdjustExtendToPreviousSceneChange ) ;
textWriter . WriteElementString ( "MainAdjustExtendToPreviousSceneChangeWithGap" , shortcuts . MainAdjustExtendToPreviousSceneChangeWithGap ) ;
textWriter . WriteElementString ( "MainAdjustExtendToNextSubtitle" , shortcuts . MainAdjustExtendToNextSubtitle ) ;
textWriter . WriteElementString ( "MainAdjustExtendToPreviousSubtitle" , shortcuts . MainAdjustExtendToPreviousSubtitle ) ;
textWriter . WriteElementString ( "MainAdjustExtendCurrentSubtitle" , shortcuts . MainAdjustExtendCurrentSubtitle ) ;
textWriter . WriteElementString ( "MainAdjustExtendPreviousLineEndToCurrentStart" , shortcuts . MainAdjustExtendPreviousLineEndToCurrentStart ) ;
textWriter . WriteElementString ( "MainAdjustExtendNextLineStartToCurrentEnd" , shortcuts . MainAdjustExtendNextLineStartToCurrentEnd ) ;
textWriter . WriteElementString ( "MainInsertAfter" , shortcuts . MainInsertAfter ) ;
textWriter . WriteElementString ( "MainTextBoxAutoBreak" , shortcuts . MainTextBoxAutoBreak ) ;
textWriter . WriteElementString ( "MainTextBoxBreakAtPosition" , shortcuts . MainTextBoxBreakAtPosition ) ;
textWriter . WriteElementString ( "MainTextBoxBreakAtPositionAndGoToNext" , shortcuts . MainTextBoxBreakAtPositionAndGoToNext ) ;
textWriter . WriteElementString ( "MainTextBoxUnbreak" , shortcuts . MainTextBoxUnbreak ) ;
textWriter . WriteElementString ( "MainWaveformInsertAtCurrentPosition" , shortcuts . MainWaveformInsertAtCurrentPosition ) ;
textWriter . WriteElementString ( "MainInsertBefore" , shortcuts . MainInsertBefore ) ;
textWriter . WriteElementString ( "MainMergeDialog" , shortcuts . MainMergeDialog ) ;
textWriter . WriteElementString ( "MainToggleFocus" , shortcuts . MainToggleFocus ) ;
textWriter . WriteElementString ( "WaveformAdd" , shortcuts . WaveformAdd ) ;
textWriter . WriteElementString ( "WaveformVerticalZoom" , shortcuts . WaveformVerticalZoom ) ;
textWriter . WriteElementString ( "WaveformVerticalZoomOut" , shortcuts . WaveformVerticalZoomOut ) ;
textWriter . WriteElementString ( "WaveformZoomIn" , shortcuts . WaveformZoomIn ) ;
textWriter . WriteElementString ( "WaveformZoomOut" , shortcuts . WaveformZoomOut ) ;
textWriter . WriteElementString ( "WaveformSplit" , shortcuts . WaveformSplit ) ;
textWriter . WriteElementString ( "WaveformPlaySelection" , shortcuts . WaveformPlaySelection ) ;
textWriter . WriteElementString ( "WaveformPlaySelectionEnd" , shortcuts . WaveformPlaySelectionEnd ) ;
textWriter . WriteElementString ( "WaveformSearchSilenceForward" , shortcuts . WaveformSearchSilenceForward ) ;
textWriter . WriteElementString ( "WaveformSearchSilenceBack" , shortcuts . WaveformSearchSilenceBack ) ;
textWriter . WriteElementString ( "WaveformAddTextHere" , shortcuts . WaveformAddTextHere ) ;
textWriter . WriteElementString ( "WaveformAddTextHereFromClipboard" , shortcuts . WaveformAddTextHereFromClipboard ) ;
textWriter . WriteElementString ( "WaveformSetParagraphAsSelection" , shortcuts . WaveformSetParagraphAsSelection ) ;
textWriter . WriteElementString ( "WaveformFocusListView" , shortcuts . WaveformFocusListView ) ;
textWriter . WriteElementString ( "WaveformGoToPreviousSceneChange" , shortcuts . WaveformGoToPreviousSceneChange ) ;
textWriter . WriteElementString ( "WaveformGoToNextSceneChange" , shortcuts . WaveformGoToNextSceneChange ) ;
textWriter . WriteElementString ( "WaveformToggleSceneChange" , shortcuts . WaveformToggleSceneChange ) ;
textWriter . WriteElementString ( "WaveformGuessStart" , shortcuts . WaveformGuessStart ) ;
textWriter . WriteElementString ( "Waveform100MsLeft" , shortcuts . Waveform100MsLeft ) ;
textWriter . WriteElementString ( "Waveform100MsRight" , shortcuts . Waveform100MsRight ) ;
textWriter . WriteElementString ( "Waveform1000MsLeft" , shortcuts . Waveform1000MsLeft ) ;
textWriter . WriteElementString ( "Waveform1000MsRight" , shortcuts . Waveform1000MsRight ) ;
textWriter . WriteElementString ( "MainTranslateGoogleIt" , shortcuts . MainTranslateGoogleIt ) ;
textWriter . WriteElementString ( "MainTranslateGoogleTranslate" , shortcuts . MainTranslateGoogleTranslate ) ;
textWriter . WriteElementString ( "MainTranslateCustomSearch1" , shortcuts . MainTranslateCustomSearch1 ) ;
textWriter . WriteElementString ( "MainTranslateCustomSearch2" , shortcuts . MainTranslateCustomSearch2 ) ;
textWriter . WriteElementString ( "MainTranslateCustomSearch3" , shortcuts . MainTranslateCustomSearch3 ) ;
textWriter . WriteElementString ( "MainTranslateCustomSearch4" , shortcuts . MainTranslateCustomSearch4 ) ;
textWriter . WriteElementString ( "MainTranslateCustomSearch5" , shortcuts . MainTranslateCustomSearch5 ) ;
textWriter . WriteEndElement ( ) ;
}
2016-02-08 21:11:03 +01:00
}
}