├── .github └── workflows │ └── main.yml ├── .gitignore ├── LICENSE.txt ├── Plugins2.xml ├── Plugins4.xml ├── README.md └── source ├── AmericanToBritish └── DLL │ ├── AmericanToBritish.csproj │ ├── AmericanToBritishConverter.cs │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── ManageWordsForm.Designer.cs │ ├── ManageWordsForm.cs │ ├── ManageWordsForm.resx │ ├── Plugin.cs │ ├── PluginForm.Designer.cs │ ├── PluginForm.cs │ ├── PluginForm.resx │ ├── WordList.xml │ └── WordList_en-GB.xml ├── AssaDraw └── DLL │ ├── App.config │ ├── AssaDraw.csproj │ ├── ColorPicker │ ├── ColorChangedEventArgs.cs │ ├── ColorChooser.cs │ ├── ColorChooser.resx │ ├── ColorHandler.cs │ └── ColorWheel.cs │ ├── Controls │ └── ToolStripNikseSeparator.cs │ ├── FormAssaDrawHelp.Designer.cs │ ├── FormAssaDrawHelp.cs │ ├── FormAssaDrawHelp.resx │ ├── FormAssaDrawMain.Designer.cs │ ├── FormAssaDrawMain.cs │ ├── FormAssaDrawMain.resx │ ├── FormAssaDrawSettings.Designer.cs │ ├── FormAssaDrawSettings.cs │ ├── FormAssaDrawSettings.resx │ ├── FormSetLayer.Designer.cs │ ├── FormSetLayer.cs │ ├── FormSetLayer.resx │ ├── IPlugin.cs │ ├── Logic │ ├── CirleBezier.cs │ ├── DarkTheme.cs │ ├── DrawCoordinate.cs │ ├── DrawCoordinateType.cs │ ├── DrawHistory.cs │ ├── DrawHistoryItem.cs │ ├── DrawSettings.cs │ ├── DrawShape.cs │ ├── SE │ │ ├── AdvancedSubStationAlpha.cs │ │ ├── Configuration.cs │ │ ├── HtmlUtil.cs │ │ ├── LibMpvDynamic.cs │ │ ├── NativeMethods.cs │ │ ├── Paragraph.cs │ │ ├── SsaStyle.cs │ │ ├── StringExtensions.cs │ │ ├── Subtitle.cs │ │ ├── SubtitleFormat.cs │ │ ├── TimeCode.cs │ │ ├── UiUtil.cs │ │ ├── Utilities.cs │ │ └── VideoPreviewGenerator.cs │ ├── SvgReader.cs │ └── SvgWriter.cs │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── Resources │ ├── Help.png │ ├── Help32.png │ ├── Transparent Background.png │ ├── tick.png │ ├── toolStripButtonBeizer.Image.png │ ├── toolStripButtonCircle.Image.png │ ├── toolStripButtonClearCurrent.Image.png │ ├── toolStripButtonCloseShape.Image.png │ ├── toolStripButtonColorPicker.Image.png │ ├── toolStripButtonCopyToClipboard.Image.png │ ├── toolStripButtonLine.Image.png │ ├── toolStripButtonMirrorHor.Image.png │ ├── toolStripButtonMirrorVert.Image.png │ └── toolStripButtonRectangle.Image.png │ ├── SetColor.Designer.cs │ ├── SetColor.cs │ └── SetColor.resx ├── AssaFade └── DLL │ ├── AdvancedSelectionHelper.cs │ ├── AdvancedSelectionHelper.designer.cs │ ├── AdvancedSelectionHelper.resx │ ├── AssaFade.csproj │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── AdvancedSubStationAlpha.cs │ ├── Configuration.cs │ ├── DarkTheme.cs │ ├── FixOverlappingDisplayTimes.cs │ ├── HtmlUtil.cs │ ├── LanguageAutoDetect.cs │ ├── NativeMethods.cs │ ├── Paragraph.cs │ ├── SsaStyle.cs │ ├── StringExtensions.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── UiUtil.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx │ ├── Resources │ └── tick.png │ └── app.config ├── AviWriter └── AviWriter │ ├── AviWriter.cs │ ├── AviWriter.csproj │ ├── Configuration.cs │ ├── DLL │ ├── AForge.Video.FFMPEG.dll.gz │ ├── AForge.Video.dll.gz │ ├── AForge.dll.gz │ ├── AviFfmpegWriter.exe.gz │ ├── avcodec-53.dll.gz │ ├── avdevice-53.dll.gz │ ├── avfilter-2.dll.gz │ ├── avformat-53.dll.gz │ ├── avutil-51.dll.gz │ └── swscale-2.dll.gz │ ├── Helper.cs │ ├── IPlugin.cs │ ├── NikseBitmap.cs │ ├── Paragraph.cs │ ├── Plugin.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TextDraw.cs │ ├── TimeCode.cs │ └── Utilities.cs ├── BTScreenScraper └── DLL │ ├── App.config │ ├── BTScreenScraper.csproj │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── Translator │ ├── BingTranslateScreenScraper.cs │ ├── Formatting.cs │ ├── ITranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs ├── BTScreenScraperChromium ├── BTScreenScraperChromium.sln └── DLL │ ├── App.config │ ├── BTScreenScraperChromium.csproj │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── Translator │ ├── BingTranslateScreenScraper.cs │ ├── Formatting.cs │ ├── ITranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs │ └── packages.config ├── BaiduTranslate └── DLL │ ├── App.config │ ├── BaiduTranslate.csproj │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── Translator │ ├── BaiduTranslator.cs │ ├── Formatting.cs │ ├── ITranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs ├── CheckLineWidth └── DLL │ ├── CheckLineWidth.csproj │ ├── Controls │ └── SubtitleListView.cs │ ├── CustomCharList.Designer.cs │ ├── CustomCharList.cs │ ├── CustomCharList.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── Plugin.cs │ ├── PluginForm.Designer.cs │ ├── PluginForm.cs │ ├── PluginForm.resx │ └── Properties │ └── AssemblyInfo.cs ├── ColorToDialog └── DLL │ ├── App.config │ ├── ColorToDialog.csproj │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── DashAdder.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Commas ├── Commas.csproj ├── Controls │ └── DoubleBufferedListView.cs ├── EntryPoint.cs ├── Helpers │ └── ListViewExtensions.cs ├── IPlugin.cs ├── Main.Designer.cs ├── Main.cs ├── Main.resx ├── Services │ └── LmStudioClient.cs └── readme.md ├── CopyPasteTranslate └── DLL │ ├── App.config │ ├── CopyPasteTranslate.csproj │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── TranslateBlock.Designer.cs │ ├── TranslateBlock.cs │ ├── TranslateBlock.resx │ └── Translator │ ├── CopyBlock.cs │ ├── CopyPasteTranslator.cs │ ├── Formatting.cs │ ├── ITranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs ├── DeepLScreenScraper └── DLL │ ├── App.config │ ├── DeepLScreenScraper.csproj │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── Translator │ ├── DeepLScreenScraper.cs │ ├── Formatting.cs │ ├── ITranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs ├── DeeplProTranslate └── DLL │ ├── DeeplProTranslate.csproj │ ├── IPlugin.cs │ ├── Logic │ ├── BadApiKeyException.cs │ ├── Configuration.cs │ ├── DarkTheme.cs │ ├── HtmlUtil.cs │ ├── LanguageAutoDetect.cs │ ├── NativeMethods.cs │ ├── Paragraph.cs │ ├── SplitHelper.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TextSplit.cs │ ├── TextSplitResult.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ ├── UiUtil.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx │ ├── Resources │ └── tick.png │ └── Translator │ ├── DeepLTranslator2.cs │ ├── Formatting.cs │ ├── ITranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs ├── DeeplTranslate └── DLL │ ├── DeeplTranslate.csproj │ ├── DeeplTranslate.sln │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── HtmlUtil.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ └── Properties │ └── AssemblyInfo.cs ├── DialogueAutoMarker ├── DialogueAutoMarker.csproj ├── EntryPoint.cs ├── Main.Designer.cs ├── Main.cs ├── Main.resx └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── DialogueOneHyphen └── DLL │ ├── DialogueOneHyphen.csproj │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── RemoveHyphens.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── Plugin.cs │ ├── PluginForm.Designer.cs │ ├── PluginForm.cs │ ├── PluginForm.resx │ └── Properties │ └── AssemblyInfo.cs ├── DictionariesProvider ├── DictionariesProvider.csproj ├── EntryPoint.cs ├── FodyWeavers.xml ├── FodyWeavers.xsd ├── Forms │ ├── Main.Designer.cs │ ├── Main.cs │ └── Main.resx ├── Helpers │ └── DictionaryClient.cs ├── Models │ ├── DictionaryInfo.cs │ └── DownloadLink.cs └── Properties │ └── AssemblyInfo.cs ├── Directory.Build.Props ├── Directory.Build.targets ├── Directory.Packages.props ├── DropBoxLoad ├── DropBoxFile.cs ├── DropBoxLoad.csproj ├── DropboxApi.cs ├── GetDropBoxCode.Designer.cs ├── GetDropBoxCode.cs ├── GetDropBoxCode.resx ├── IPlugin.cs ├── JSON.cs ├── OAuth2Token.cs ├── Plugin.cs ├── PluginForm.Designer.cs ├── PluginForm.cs ├── PluginForm.resx ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── app.config ├── default_file16x16.png └── default_folder16x16.png ├── DropBoxSave ├── DropBoxFile.cs ├── DropBoxSave.csproj ├── DropboxApi.cs ├── GetDropBoxCode.Designer.cs ├── GetDropBoxCode.cs ├── GetDropBoxCode.resx ├── IPlugin.cs ├── JSON.cs ├── OAuth2Token.cs ├── Plugin.cs ├── PluginForm.Designer.cs ├── PluginForm.cs ├── PluginForm.resx ├── Program.cs ├── Properties │ └── AssemblyInfo.cs └── Utilities.cs ├── ExposeSEApi ├── EntryPoint.cs ├── ExposeSEApi.csproj └── IPlugin.cs ├── GTScreenScraper └── DLL │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── GTScreenScraper.csproj │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── Translator │ ├── Formatting.cs │ ├── GoogleScreenScraper2.cs │ ├── ITranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs ├── GenericPluginTester ├── App.config ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── GenericPluginTester.csproj ├── Program.cs └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── HI2UC ├── Common │ ├── ChunkReader.cs │ └── TagUtils.cs ├── Converters │ ├── ICasingConverter.cs │ ├── MoodCasingConverter.cs │ ├── NarratorCasingConverter.cs │ └── Strategies │ │ ├── ConverterContext.cs │ │ ├── IConverterStrategy.cs │ │ ├── LowercaseConverter.cs │ │ ├── NoneConverterStrategy.cs │ │ ├── SentenceCaseConverter.cs │ │ ├── TitleWordsConverter.cs │ │ ├── UpperLowercase.cs │ │ └── UppercaseConverter.cs ├── EntryPoint.cs ├── Enums │ └── HIStyle.cs ├── Extensions │ ├── ListViewExtensions.cs │ ├── ListViewItemCollectionExtensions.cs │ └── StringExtensions.cs ├── HI2UC.csproj ├── Models │ ├── HIConfigs.cs │ └── Record.cs ├── PluginForm.Designer.cs ├── PluginForm.cs ├── PluginForm.resx ├── Properties │ ├── Resources.Designer.cs │ └── Resources.resx ├── ReportForm.Designer.cs ├── ReportForm.cs ├── ReportForm.resx ├── Resources │ ├── paypal-donate.jpg │ ├── paypal.png │ └── paypal1.png └── Services │ ├── AnalyticsService.cs │ ├── JsonUtils.cs │ └── ReportService.cs ├── HIColorer ├── Artists │ ├── Artist.cs │ ├── MoodsArtist.cs │ ├── MusicArtist.cs │ ├── NarratorArtist.cs │ └── Palette.cs ├── ColorConfig.cs ├── EntryPoint.cs ├── HIColorer.csproj ├── Helpers │ └── StringExtensions.cs ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Haxor └── DLL │ ├── Haxor.csproj │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ └── Properties │ └── AssemblyInfo.cs ├── IspraviMeTranslate └── DLL │ ├── IPlugin.cs │ ├── IspraviError.cs │ ├── IspraviMe.csproj │ ├── IspraviMeApi.cs │ ├── Logic │ ├── Configuration.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ └── Properties │ └── AssemblyInfo.cs ├── ItalicEachLine └── DLL │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── ItalicEachLine.csproj │ ├── Logic │ ├── Configuration.cs │ ├── DarkTheme.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── NativeMethods.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ ├── UiUtil.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── JackSE ├── EntryPoint.cs ├── JackSE.csproj └── Properties │ └── AssemblyInfo.cs ├── LibSeBasedPlugin ├── LibSeBasedPlugin.csproj ├── LibSePlugin.cs └── Properties │ └── AssemblyInfo.cs ├── LinesUnbreaker ├── EntryPoint.cs ├── Extensions │ ├── CharExtensions.cs │ └── ListViewExtensions.cs ├── LinesUnbreaker.csproj ├── PluginForm.Designer.cs ├── PluginForm.cs ├── PluginForm.resx ├── Properties │ ├── Resources.Designer.cs │ └── Resources.resx ├── UnBreakConfigs.cs ├── UnbreakLine │ ├── Line.cs │ ├── RemoveLineBreak.cs │ ├── RemoveLineBreakResult.cs │ └── SmartParagraph.cs └── ivandrofly.pfx ├── LoadFormatting └── DLL │ ├── IPlugin.cs │ ├── LoadFormatting.csproj │ ├── Logic │ ├── Configuration.cs │ ├── FileUtil.cs │ ├── HtmlUtil.cs │ ├── Pac.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── Plugin.cs │ └── Properties │ └── AssemblyInfo.cs ├── MergeTwoSrtToAss └── DLL │ ├── Controls │ └── SubtitleListView.cs │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── SsaStyle.cs │ ├── StringExtensions.cs │ ├── Subtitle.cs │ ├── SubtitleFormats │ │ ├── AdvancedSubStationAlpha.cs │ │ ├── SubRip.cs │ │ ├── SubStationAlpha.cs │ │ └── SubtitleFormat.cs │ ├── TextDraw.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── MergeTwoSrtToAss.csproj │ ├── Plugin.cs │ ├── PluginForm.Designer.cs │ ├── PluginForm.cs │ ├── PluginForm.resx │ └── Properties │ └── AssemblyInfo.cs ├── NamesListManager └── DLL │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ └── Utilities.cs │ ├── NameListManager.csproj │ ├── Plugin.cs │ └── Properties │ └── AssemblyInfo.cs ├── NarratorOutParentheses ├── EntryPoint.cs ├── GetNamesForm.Designer.cs ├── GetNamesForm.cs ├── GetNamesForm.resx ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── NameList.cs ├── NarratorOutParentheses.csproj └── Properties │ └── AssemblyInfo.cs ├── NetflixRulesCheck └── DLL │ ├── AutoBreaker.cs │ ├── GlyphReader.cs │ ├── HtmlUtil.cs │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── NGL2-Final-External-Use-v2.txt │ ├── NetflixRulesCheck.csproj │ ├── Plugin.cs │ ├── PluginForm.Designer.cs │ ├── PluginForm.cs │ ├── PluginForm.resx │ ├── Properties │ └── AssemblyInfo.cs │ └── StringExtensions.cs ├── NoRecursiveDash ├── NoRecursiveDash.cs └── NoRecursiveDash.csproj ├── OcrListManager └── DLL │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ └── Utilities.cs │ ├── OcrListManager.csproj │ ├── Plugin.cs │ └── Properties │ └── AssemblyInfo.cs ├── OnlineCasing ├── App.config ├── CasingContext.cs ├── EntryPoint.cs ├── FodyWeavers.xml ├── FodyWeavers.xsd ├── Forms │ ├── ApiForm.Designer.cs │ ├── ApiForm.cs │ ├── ApiForm.resx │ ├── GetMovieID.Designer.cs │ ├── GetMovieID.cs │ ├── GetMovieID.resx │ ├── Main.Designer.cs │ ├── Main.cs │ └── Main.resx ├── Helpers │ ├── Configs.cs │ ├── SettingUtils.cs │ └── Settings.cs ├── Models │ └── Movie.cs ├── OnlineCasing.csproj ├── Properties │ └── AssemblyInfo.cs └── SECasingApi.cs ├── OpenSubtitlesUpload └── DLL │ ├── Compression.cs │ ├── DLL │ └── Ionic.Zlib.dll │ ├── IPlugin.cs │ ├── ImdbSearch.Designer.cs │ ├── ImdbSearch.cs │ ├── ImdbSearch.resx │ ├── LanguageAutoDetect.cs │ ├── OpenSubtitlesApi.cs │ ├── OpenSubtitlesUpload.7z │ ├── OpenSubtitlesUpload.csproj │ ├── Plugin.cs │ ├── PluginForm.Designer.cs │ ├── PluginForm.cs │ ├── PluginForm.resx │ ├── Properties │ └── AssemblyInfo.cs │ ├── Utils.cs │ ├── VideoFormats │ ├── AviRiffData.cs │ ├── Boxes │ │ ├── Box.cs │ │ ├── Mdhd.cs │ │ ├── Mdia.cs │ │ ├── Minf.cs │ │ ├── Moov.cs │ │ ├── Mvhd.cs │ │ ├── Stbl.cs │ │ ├── Tkhd.cs │ │ └── Trak.cs │ ├── Mkv.cs │ ├── Mp4.cs │ ├── RiffDecodeHeader.cs │ └── RiffParser.cs │ └── zlib │ ├── Adler32.cs │ ├── Deflate.cs │ ├── InfBlocks.cs │ ├── InfCodes.cs │ ├── InfTree.cs │ ├── Inflate.cs │ ├── StaticTree.cs │ ├── SupportClass.cs │ ├── Tree.cs │ ├── ZInputStream.cs │ ├── ZOutputStream.cs │ ├── ZStream.cs │ ├── ZStreamException.cs │ └── Zlib.cs ├── PapagoTranslate └── DLL │ ├── IPlugin.cs │ ├── ITranslator.cs │ ├── Logic │ ├── Configuration.cs │ ├── HtmlUtil.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── PapagoTranslate.csproj │ ├── PapagoTranslator.cs │ ├── Plugin.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── TranslationPair.cs ├── PersianErrors ├── ColumnSorter.cs ├── IPlugin.cs ├── Images │ ├── AddMissingSpaces.png │ ├── ChangeArabicCharsToPersian.png │ ├── FixAbbreviations.png │ ├── FixDialogHyphen.png │ ├── FixMisplacedChars.png │ ├── FixUnicodeControlChar.png │ ├── FixWrongChars.png │ ├── ICON.png │ ├── OCR.png │ ├── RemoveDotFromTheEndOfLine.png │ ├── RemoveLeadingDots.png │ ├── RemoveUnneededSpaces.png │ └── SpaceToInvisibleSpace.png ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── RegexUtils.cs │ ├── ReplaceExpression.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── MsmhTools │ ├── CustomProgressBar.cs │ └── Tools.cs ├── PersianErrors.csproj ├── Plugin.cs ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── multiple_replace.xml ├── Plugin-Shared ├── Attributes │ └── InvokeOnLoad.cs ├── EntryPointBase.cs ├── Enums │ ├── ExpectingLine.cs │ └── Tags.cs ├── Helpers │ ├── AssemblyUtils.cs │ ├── CharUtils.cs │ ├── FileUtils.cs │ ├── HtmlUtils.cs │ ├── StringExtensions.cs │ ├── StringUtils.cs │ ├── StripableText.cs │ └── UIUtils.cs ├── IConfigurable.cs ├── IPlugin.cs ├── Models │ ├── Configuration.cs │ ├── Options.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ └── TimeCode.cs ├── Plugin-Shared.projitems └── Plugin-Shared.shproj ├── Plugin-Updater ├── Forms │ ├── Main.Designer.cs │ ├── Main.cs │ ├── Main.resx │ ├── UploadToGithub.Designer.cs │ ├── UploadToGithub.cs │ └── UploadToGithub.resx ├── Helpers │ └── Utils.cs ├── Plugin-Updater.csproj ├── PluginInfo.cs ├── Program.cs └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Plugins.Filter.slnf ├── Plugins.Ivandrofly.slnf ├── Plugins.sln ├── Plugins.sln.DotSettings ├── Plugins.slnx ├── PromptTranslate └── DLL │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── PromptTranslate.csproj │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── Translator │ ├── Formatting.cs │ ├── ITranslator.cs │ ├── PromptTranslator.cs │ ├── TranslationHelper.cs │ └── TranslationPair.cs ├── RemoveUnicodeCharacters └── DLL │ ├── EditReplaceList.Designer.cs │ ├── EditReplaceList.cs │ ├── EditReplaceList.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── Plugin.cs │ ├── PluginForm.Designer.cs │ ├── PluginForm.cs │ ├── PluginForm.resx │ ├── Properties │ └── AssemblyInfo.cs │ └── RemoveUnicodeCharacters.csproj ├── ReverseLines └── DLL │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── Plugin.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── ReverseLines.csproj ├── ReverseText └── DLL │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── Formatting.cs │ ├── HtmlUtil.cs │ ├── Json.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ ├── TinyJsonParser.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ └── ReverseText.csproj ├── ReversoTranslate ├── DLL.7z ├── DLL │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── Logic │ │ ├── Configuration.cs │ │ ├── Formatting.cs │ │ ├── HtmlUtil.cs │ │ ├── Json.cs │ │ ├── LanguageAutoDetect.cs │ │ ├── Paragraph.cs │ │ ├── StringExtensions.cs │ │ ├── SubRip.cs │ │ ├── Subtitle.cs │ │ ├── SubtitleFormat.cs │ │ ├── TimeCode.cs │ │ ├── TinyJsonParser.cs │ │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── ReversoTranslate.csproj │ ├── Translator │ │ ├── Formatting.cs │ │ ├── ITranslator.cs │ │ ├── ReversoTranslator.cs │ │ ├── TranslationHelper.cs │ │ └── TranslationPair.cs │ └── packages.config └── DLL2 │ └── DLL │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── IPlugin.cs │ ├── ITranslator.cs │ ├── Logic │ ├── Configuration.cs │ ├── HtmlUtil.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Program.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── ReversoTranslate.csproj │ ├── ReversoTranslator.cs │ └── TranslationPair.cs ├── SaveAllFormat ├── EntryPoint.cs ├── ExportAllFormats.csproj ├── Main.Designer.cs ├── Main.cs ├── Main.resx └── Utils │ └── AssemblyUtils.cs ├── SeSkydriveLoad ├── Browser.Designer.cs ├── Browser.cs ├── Browser.resx ├── IPlugin.cs ├── JSON.cs ├── OAuth2Token.cs ├── OneDriveApi.cs ├── OneDriveContent.cs ├── OneDriveLoad.csproj ├── Plugin.cs ├── PluginForm.Designer.cs ├── PluginForm.cs ├── PluginForm.resx └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── SeSkydriveSave ├── Browser.Designer.cs ├── Browser.cs ├── Browser.resx ├── IPlugin.cs ├── JSON.cs ├── OAuth2Token.cs ├── OneDriveApi.cs ├── OneDriveContent.cs ├── OneDriveSave.csproj ├── Plugin.cs ├── PluginForm.Designer.cs ├── PluginForm.cs ├── PluginForm.resx └── Properties │ └── AssemblyInfo.cs ├── TightHyphen ├── EntryPoint.cs ├── Properties │ └── AssemblyInfo.cs ├── TightHyphen.csproj └── Views │ ├── Main.Designer.cs │ ├── Main.cs │ └── Main.resx ├── TriggerOnLoad ├── EntryPoint.cs ├── Properties │ └── AssemblyInfo.cs └── TriggerOnLoad.csproj ├── UnitTests ├── ColorToDialogUnitTest.cs ├── HI2UCTest.cs ├── Properties │ └── AssemblyInfo.cs ├── UnitTests.csproj └── packages.config ├── VobSubTimestamps └── DLL │ ├── IPlugin.cs │ ├── Properties │ └── AssemblyInfo.cs │ ├── VobSubTimestamps.cs │ └── VobSubTimestamps.csproj ├── WordCensor ├── EntryPoint.cs ├── Logic │ └── Configuration.cs ├── Main.Designer.cs ├── Main.cs ├── Main.resx ├── Properties │ └── AssemblyInfo.cs ├── WordCensor.csproj ├── WordsHandler.cs ├── WordsHandlerConfigs.cs └── WordsHelper.cs ├── WordSpellCheck ├── IPlugin.cs ├── Logic │ ├── Configuration.cs │ ├── Paragraph.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs ├── Plugin.cs ├── PluginForm.Designer.cs ├── PluginForm.cs ├── PluginForm.resx ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── WordSpellCheck.csproj └── readme.md ├── YandexTranslate └── DLL │ ├── IPlugin.cs │ ├── Logic │ ├── Configuration.cs │ ├── HtmlUtil.cs │ ├── LanguageAutoDetect.cs │ ├── Paragraph.cs │ ├── StringExtensions.cs │ ├── SubRip.cs │ ├── Subtitle.cs │ ├── SubtitleFormat.cs │ ├── TimeCode.cs │ └── Utilities.cs │ ├── MainForm.Designer.cs │ ├── MainForm.cs │ ├── MainForm.resx │ ├── Plugin.cs │ ├── Properties │ └── AssemblyInfo.cs │ └── YandexTranslate.csproj ├── global.json └── zip-plugin-files.ps1 /.gitignore: -------------------------------------------------------------------------------- 1 | # Build Folders 2 | bin/ 3 | obj/ 4 | 5 | # User-Specific Files 6 | *.user 7 | *.suo 8 | token.txt 9 | 10 | # Visual Studio Cache / Options Directory 11 | .vs/ 12 | *.ide 13 | 14 | # NuGet 15 | # Individual NuGet executables and config files 16 | /src/.nuget/NuGet.exe 17 | /src/.nuget/NuGet.Config 18 | 19 | # NuGet packages directories 20 | /src/packages/ 21 | packages/ 22 | packages/Microsoft.Toolkit.Forms.UI.Controls.WebView.5.0.1 23 | 24 | # Rider Project Files 25 | *.idea -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Subtitle Edit Plugins 2 | 3 | You can write your own plugins for Subtitle Edit in any .NET language. 4 | 5 | 6 | ## What can be done with plugins 7 | 8 | At the moment plugins can be made in these menus: File, Tools, Sync, Translate, Spell check. 9 | 10 | A new subtitle format can also be added via a plugin. 11 | 12 | If you want to extend Subtitle Edit somewhere else, please open an issue. 13 | 14 | 15 | ## Compiling 16 | 17 | Please compile the plugins for the "Any CPU" platform. 18 | 19 | Framework version: If possible compile with .NET 4.0 (can be used with 4+). 20 | 21 | 22 | ## Requirements 23 | 24 | Use `Nikse.SubtitleEdit.PluginLogic` as Entry point namespace, take a look [here](https://github.com/SubtitleEdit/plugins/blob/master/Haxor/DLL/Plugin.cs#L6). 25 | 26 | The DLL filename must be `.dll` - e.g. `SyncViaOtherSubtitle.dll`. 27 | 28 | ## Build Status 29 | [![Build .NET Framework Project](https://github.com/SubtitleEdit/plugins/actions/workflows/main.yml/badge.svg)](https://github.com/SubtitleEdit/plugins/actions/workflows/main.yml) -------------------------------------------------------------------------------- /source/AmericanToBritish/DLL/AmericanToBritish.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | Nikse.SubtitleEdit.PluginLogic 5 | false 6 | true 7 | true 8 | 9 | 10 | 11 | $(RootNamespace).WordList.xml 12 | Designer 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/AmericanToBritish/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Logic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/AmericanToBritish/DLL/Logic/Subtitle.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.IO; 3 | 4 | namespace Nikse.SubtitleEdit.PluginLogic.Logic 5 | { 6 | internal class Subtitle 7 | { 8 | private readonly IList _paragraphs; 9 | private readonly SubRip _format; 10 | 11 | public Subtitle(SubRip subrip) 12 | { 13 | _format = subrip; 14 | _paragraphs = new List(); 15 | FileName = "Untitled"; 16 | } 17 | 18 | public string FileName { get; set; } 19 | 20 | public IList Paragraphs 21 | { 22 | get 23 | { 24 | return _paragraphs; 25 | } 26 | } 27 | 28 | public string ToText() 29 | { 30 | return _format.ToText(this, Path.GetFileNameWithoutExtension(FileName)); 31 | } 32 | 33 | public void Renumber(int startNumber = 1) 34 | { 35 | foreach (Paragraph p in _paragraphs) 36 | { 37 | p.Number = startNumber++; 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/AssaDraw.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | x64 8 | 9 | 10 | 11 | 12 | 13 | 14 | Component 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/ColorPicker/ColorChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | #region #Disclaimer 2 | 3 | // Author: Adalberto L. Simeone (Taranto, Italy) 4 | // E-Mail: avengerdragon@gmail.com 5 | // Website: http://www.avengersutd.com/blog 6 | // 7 | // This source code is Intellectual property of the Author 8 | // and is released under the Creative Commons Attribution 9 | // NonCommercial License, available at: 10 | // http://creativecommons.org/licenses/by-nc/3.0/ 11 | // You can alter and use this source code as you wish, 12 | // provided that you do not use the results in commercial 13 | // projects, without the express and written consent of 14 | // the Author. 15 | 16 | #endregion #Disclaimer 17 | 18 | #region Using directives 19 | 20 | using System; 21 | 22 | #endregion Using directives 23 | 24 | namespace AssaDraw.ColorPicker 25 | { 26 | public class ColorChangedEventArgs : EventArgs 27 | { 28 | public ColorChangedEventArgs(ColorHandler.Argb argb, ColorHandler.Hsv hsv) 29 | { 30 | ARGB = argb; 31 | HSV = hsv; 32 | } 33 | 34 | public ColorHandler.Argb ARGB { get; private set; } 35 | 36 | public ColorHandler.Hsv HSV { get; private set; } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/FormAssaDrawHelp.cs: -------------------------------------------------------------------------------- 1 | using SubtitleEdit.Logic; 2 | using System.Globalization; 3 | using System.Windows.Forms; 4 | 5 | namespace AssaDraw 6 | { 7 | public partial class FormAssaDrawHelp : Form 8 | { 9 | public FormAssaDrawHelp() 10 | { 11 | InitializeComponent(); 12 | UiUtil.FixFonts(this); 13 | 14 | var version = (new Nikse.SubtitleEdit.PluginLogic.AssaDraw() as Nikse.SubtitleEdit.PluginLogic.IPlugin).Version.ToString(CultureInfo.InvariantCulture); 15 | richTextBoxHelpInfo.Text = richTextBoxHelpInfo.Text.Replace("[VERSION]", version); 16 | } 17 | 18 | private void FormAssaDrawHelp_KeyDown(object sender, KeyEventArgs e) 19 | { 20 | if (e.KeyCode == Keys.Escape) 21 | { 22 | DialogResult = DialogResult.Cancel; 23 | } 24 | } 25 | 26 | private void buttonOK_Click(object sender, System.EventArgs e) 27 | { 28 | DialogResult = DialogResult.OK; 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/FormSetLayer.cs: -------------------------------------------------------------------------------- 1 | using SubtitleEdit.Logic; 2 | using System; 3 | using System.Windows.Forms; 4 | 5 | namespace AssaDraw 6 | { 7 | public partial class FormSetLayer : Form 8 | { 9 | public int Layer { get; private set; } 10 | 11 | public FormSetLayer(int value) 12 | { 13 | InitializeComponent(); 14 | UiUtil.FixFonts(this); 15 | 16 | numericUpDownLayer.Value = value; 17 | } 18 | 19 | private void SetLayer_KeyDown(object sender, KeyEventArgs e) 20 | { 21 | if (e.KeyCode == Keys.Escape) 22 | { 23 | DialogResult = DialogResult.Cancel; 24 | } 25 | } 26 | 27 | private void buttonOK_Click(object sender, EventArgs e) 28 | { 29 | Layer = (int)numericUpDownLayer.Value; 30 | DialogResult = DialogResult.OK; 31 | } 32 | 33 | private void buttonCancel_Click(object sender, EventArgs e) 34 | { 35 | DialogResult = DialogResult.Cancel; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Logic/DrawCoordinateType.cs: -------------------------------------------------------------------------------- 1 | namespace AssaDraw.Logic 2 | { 3 | public enum DrawCoordinateType 4 | { 5 | None, 6 | Line, 7 | Move, 8 | BezierCurve, 9 | BezierCurveSupport1, 10 | BezierCurveSupport2, 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Logic/DrawHistoryItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace AssaDraw.Logic 5 | { 6 | public class DrawHistoryItem 7 | { 8 | public List DrawShapes { get; set; } 9 | public DrawShape ActiveDrawShape { get; set; } 10 | public float ZoomFactor { get; set; } 11 | public DrawShape OldDrawShape { get; set; } 12 | public DrawCoordinate ActivePoint { get; set; } 13 | public DateTime Created { get; private set; } 14 | 15 | public DrawHistoryItem() 16 | { 17 | Created = DateTime.Now; 18 | } 19 | 20 | public int GetFastHashCode() 21 | { 22 | unchecked // Overflow is fine, just wrap 23 | { 24 | int hash = 17; 25 | foreach (var command in DrawShapes) 26 | { 27 | hash = hash * 23 + command.GetFastHashCode(); 28 | } 29 | 30 | return hash; 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Logic/SE/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SubtitleEdit.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace AssaDraw 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | 17 | var fileName = string.Empty; 18 | var args = Environment.GetCommandLineArgs(); 19 | if (args.Length > 1) 20 | { 21 | fileName = args[1]; 22 | } 23 | 24 | Application.Run(new FormAssaDrawMain("standalone", null, null, fileName)); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace AssaDraw.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/Help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/Help.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/Help32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/Help32.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/Transparent Background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/Transparent Background.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/tick.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonBeizer.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonBeizer.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonCircle.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonCircle.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonClearCurrent.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonClearCurrent.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonCloseShape.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonCloseShape.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonColorPicker.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonColorPicker.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonCopyToClipboard.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonCopyToClipboard.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonLine.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonLine.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonMirrorHor.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonMirrorHor.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonMirrorVert.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonMirrorVert.Image.png -------------------------------------------------------------------------------- /source/AssaDraw/DLL/Resources/toolStripButtonRectangle.Image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaDraw/DLL/Resources/toolStripButtonRectangle.Image.png -------------------------------------------------------------------------------- /source/AssaFade/DLL/AssaFade.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/AssaFade/DLL/Form1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | using SubtitleEdit.Logic; 4 | 5 | namespace SubtitleEdit 6 | { 7 | public partial class Form1 : Form 8 | { 9 | public Form1() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | private void button1_Click(object sender, EventArgs e) 15 | { 16 | SubtitleFormat assa = new AdvancedSubStationAlpha(); 17 | var sub = new Subtitle(); 18 | assa.LoadSubtitle(sub, textBox1.Text.SplitToLines(), null); 19 | using (var form = new MainForm(sub, "ASSA fade", "ASSA fade description", this)) 20 | { 21 | form.ShowDialog(this); 22 | } 23 | } 24 | 25 | private void Form1_Shown(object sender, EventArgs e) 26 | { 27 | button1.Focus(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/AssaFade/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SubtitleEdit.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/AssaFade/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace SubtitleEdit 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new Form1()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/AssaFade/DLL/Resources/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AssaFade/DLL/Resources/tick.png -------------------------------------------------------------------------------- /source/AssaFade/DLL/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | public class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/AForge.Video.FFMPEG.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/AForge.Video.FFMPEG.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/AForge.Video.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/AForge.Video.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/AForge.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/AForge.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/AviFfmpegWriter.exe.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/AviFfmpegWriter.exe.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/avcodec-53.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/avcodec-53.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/avdevice-53.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/avdevice-53.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/avfilter-2.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/avfilter-2.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/avformat-53.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/avformat-53.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/avutil-51.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/avutil-51.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/DLL/swscale-2.dll.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/AviWriter/AviWriter/DLL/swscale-2.dll.gz -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.18052 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace AviWriter.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/AviWriter/AviWriter/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/BTScreenScraper.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Form1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | using WebViewTranslate.Logic; 4 | 5 | namespace WebViewTranslate 6 | { 7 | public partial class Form1 : Form 8 | { 9 | public Form1() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | private void button1_Click(object sender, EventArgs e) 15 | { 16 | using (var form = new MainForm(new Subtitle { Paragraphs = 17 | { 18 | new Paragraph("Previously on\r\nTVSHOW...",0,0), 19 | new Paragraph("I'm Fine?",0,0), 20 | new Paragraph("How nice of you to join us today" + Environment.NewLine + 21 | "so we all can work on the project together",0,0), 22 | new Paragraph("Tuesday",0,0), 23 | new Paragraph("Wedensday",0,0), 24 | new Paragraph("Thursday",0,0), 25 | new Paragraph("Friday",0,0), 26 | new Paragraph("Godbye.",0,0), 27 | } 28 | }, "test", "descr", this)) 29 | { 30 | form.ShowDialog(this); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WebViewTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace WebViewTranslate 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new Form1()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace BTScreenScraper.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using WebViewTranslate.Logic; 4 | 5 | namespace WebViewTranslate.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/BTScreenScraper/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Form1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | using WebViewTranslate.Logic; 4 | 5 | namespace WebViewTranslate 6 | { 7 | public partial class Form1 : Form 8 | { 9 | public Form1() 10 | { 11 | InitializeComponent(); 12 | } 13 | 14 | private void button1_Click(object sender, EventArgs e) 15 | { 16 | using (var form = new MainForm(new Subtitle { Paragraphs = 17 | { 18 | new Paragraph("Previously on\r\nTVSHOW...",0,0), 19 | new Paragraph("I'm Fine?",0,0), 20 | new Paragraph("How nice of you to join us today" + Environment.NewLine + 21 | "so we all can work on the project together",0,0), 22 | new Paragraph("Tuesday",0,0), 23 | new Paragraph("Wedensday",0,0), 24 | new Paragraph("Thursday",0,0), 25 | new Paragraph("Friday",0,0), 26 | new Paragraph("Godbye.",0,0), 27 | } 28 | }, "test", "descr", this)) 29 | { 30 | form.ShowDialog(this); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WebViewTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | using WebViewTranslate; 7 | 8 | namespace CefTest1 9 | { 10 | static class Program 11 | { 12 | /// 13 | /// The main entry point for the application. 14 | /// 15 | [STAThread] 16 | static void Main() 17 | { 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Application.Run(new Form1()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace BTScreenScraperChromium.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using WebViewTranslate.Logic; 4 | 5 | namespace WebViewTranslate.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/BTScreenScraperChromium/DLL/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/BaiduTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace BaiduTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace BaiduTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace BaiduTranslate 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new Form1()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace BaiduTranslate.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using BaiduTranslate.Logic; 4 | 5 | namespace BaiduTranslate.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/BaiduTranslate/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace BaiduTranslate.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/CheckLineWidth/DLL/CheckLineWidth.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | Nikse.SubtitleEdit.PluginLogic 5 | false 6 | true 7 | true 8 | 9 | 10 | 11 | Component 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/CheckLineWidth/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/ColorToDialog.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/Form1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Windows.Forms; 4 | using ColorToDialog.Logic; 5 | 6 | namespace ColorToDialog 7 | { 8 | public partial class Form1 : Form 9 | { 10 | public Form1() 11 | { 12 | InitializeComponent(); 13 | } 14 | 15 | private void button1_Click(object sender, EventArgs e) 16 | { 17 | var fileName = @"C:\Users\WinX\Desktop\auto-br\plugin\The Unusual Suspects 1x01-coloured raw.srt"; 18 | var text = System.IO.File.ReadAllText(fileName); 19 | var sub = new Subtitle(); 20 | var srt = new SubRip(); 21 | srt.LoadSubtitle(sub, text.SplitToLines().ToList(), fileName); 22 | using (var form = new MainForm(sub, "test", "descr", this)) 23 | { 24 | form.ShowDialog(this); 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace ColorToDialog.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ColorToDialog.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace ColorToDialog 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new Form1()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ColorToDialog.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/ColorToDialog/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/Commas/Commas.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net48 5 | enable 6 | enable 7 | true 8 | 9 | 10 | 11 | 12 | Form 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /source/Commas/Controls/DoubleBufferedListView.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Controls; 2 | 3 | /// 4 | /// A custom implementation of the ListView control with double buffering enabled. 5 | /// 6 | /// 7 | /// This class inherits from ListView and overrides its double-buffering behavior to reduce flickering during frequent updates or additions of items to the control. 8 | /// 9 | public class DoubleBufferedListView : ListView 10 | { 11 | public DoubleBufferedListView() 12 | { 13 | // to fix flickering when nearly constant refresh listview when adding items 14 | DoubleBuffered = true; 15 | } 16 | } -------------------------------------------------------------------------------- /source/Commas/Helpers/ListViewExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Helpers; 2 | 3 | public static class ListViewExtensions 4 | { 5 | public static string ToListViewText(this string input) => input.Replace(Environment.NewLine, "
"); 6 | public static string ToDomainText(this string input) => input.Replace("
", Environment.NewLine); 7 | } -------------------------------------------------------------------------------- /source/Commas/readme.md: -------------------------------------------------------------------------------- 1 | # Todo 2 | 3 | - [ ] Progress bar 4 | - [ ] Tune lm studio prompt 5 | - [ ] First release -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/CopyPasteTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WebViewTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace WebViewTranslate 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace CopyPasteTranslate.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Translator/CopyBlock.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using WebViewTranslate.Logic; 3 | 4 | namespace WebViewTranslate.Translator 5 | { 6 | public class CopyBlock 7 | { 8 | public string TargetText { get; set; } 9 | public List Paragraphs { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using WebViewTranslate.Logic; 4 | 5 | namespace WebViewTranslate.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/CopyPasteTranslate/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/DeepLScreenScraper.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WebViewTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace WebViewTranslate 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace DeepLScreenScraper.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using WebViewTranslate.Logic; 4 | 5 | namespace WebViewTranslate.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/DeepLScreenScraper/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/DeeplProTranslate/DLL/DeeplProTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/DeeplProTranslate/DLL/Logic/BadApiKeyException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SubtitleEdit.Logic 4 | { 5 | internal class BadApiKeyException : Exception 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/DeeplProTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/DeeplProTranslate/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | using Nikse.SubtitleEdit.PluginLogic; 4 | 5 | namespace SubtitleEdit 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | 18 | var sub = new Subtitle(); 19 | sub.Paragraphs.Add(new Paragraph("He was one of my favorite little minor", 0, 2000)); 20 | sub.Paragraphs.Add(new Paragraph("characters in Ulysses,", 2001, 4000)); 21 | sub.Paragraphs.Add(new Paragraph("but that's why I have", 4001, 6000)); 22 | sub.Paragraphs.Add(new Paragraph("the hat on and the jacket.", 6001, 8000)); 23 | Application.Run(new MainForm(sub, "translate", "description", null)); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/DeeplProTranslate/DLL/Resources/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/DeeplProTranslate/DLL/Resources/tick.png -------------------------------------------------------------------------------- /source/DeeplProTranslate/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using Nikse.SubtitleEdit.PluginLogic; 4 | 5 | namespace SubtitleEdit.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, Paragraph paragraph, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/DeeplProTranslate/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace SubtitleEdit.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | public bool HasFormality { get; set; } 8 | 9 | public TranslationPair() 10 | { 11 | 12 | } 13 | 14 | public TranslationPair(string name, string code) 15 | { 16 | Name = name; 17 | Code = code; 18 | } 19 | 20 | public TranslationPair(string name, string code, bool hasFormality) 21 | { 22 | Name = name; 23 | Code = code; 24 | HasFormality = hasFormality; 25 | } 26 | 27 | public override string ToString() 28 | { 29 | return Name; 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /source/DeeplTranslate/DLL/DeeplTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /source/DeeplTranslate/DLL/DeeplTranslate.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26730.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DeeplTranslate", "DeeplTranslate.csproj", "{40433432-EA5C-42CE-B2C8-79DD2EC17162}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {40433432-EA5C-42CE-B2C8-79DD2EC17162}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {40433432-EA5C-42CE-B2C8-79DD2EC17162}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {40433432-EA5C-42CE-B2C8-79DD2EC17162}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {40433432-EA5C-42CE-B2C8-79DD2EC17162}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {B3933DDF-9BFE-4C00-B866-F86DD5365D05} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /source/DeeplTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/DeeplTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/DialogueAutoMarker/DialogueAutoMarker.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /source/DialogueAutoMarker/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Nikse.SubtitleEdit.PluginLogic.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/DialogueAutoMarker/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/DialogueOneHyphen/DLL/DialogueOneHyphen.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | DiaOneHyphen 6 | false 7 | true 8 | true 9 | 10 | -------------------------------------------------------------------------------- /source/DialogueOneHyphen/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/DialogueOneHyphen/DLL/Logic/Paragraph.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | internal class Paragraph 6 | { 7 | public string ID { get; private set; } = Guid.NewGuid().ToString(); 8 | public int Number { get; set; } 9 | public string Text { get; set; } 10 | public TimeCode StartTime { get; set; } 11 | public TimeCode EndTime { get; set; } 12 | 13 | public Paragraph() 14 | { 15 | StartTime = new TimeCode(0); 16 | EndTime = new TimeCode(0); 17 | Text = string.Empty; 18 | } 19 | 20 | public override string ToString() => $"{StartTime} --> {EndTime} {Text}"; 21 | 22 | public int NumberOfLines => Utilities.GetNumberOfLines(Text); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /source/DialogueOneHyphen/DLL/Logic/Subtitle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | 5 | namespace Nikse.SubtitleEdit.PluginLogic 6 | { 7 | internal class Subtitle 8 | { 9 | private List _paragraphs; 10 | private readonly SubRip _format; 11 | 12 | public Subtitle(SubRip format) 13 | { 14 | _paragraphs = new List(); 15 | _format = format; 16 | } 17 | 18 | public List Paragraphs => _paragraphs; 19 | 20 | public Paragraph GetParagraphOrDefault(int index) 21 | { 22 | if (_paragraphs == null || index < 0 || _paragraphs.Count <= index) 23 | return null; 24 | 25 | return _paragraphs[index]; 26 | } 27 | 28 | public string ToText() 29 | { 30 | return _format.ToText(this); 31 | } 32 | 33 | public void Renumber(int startNumber) 34 | { 35 | foreach (Paragraph p in _paragraphs) 36 | { 37 | p.Number = startNumber++; 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /source/DictionariesProvider/DictionariesProvider.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/DictionariesProvider/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /source/DictionariesProvider/Models/DictionaryInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic.Models 4 | { 5 | public class DictionaryInfo 6 | { 7 | public string EnglishName { get; set; } 8 | public string NativeName { get; set; } 9 | public string Description { get; set; } 10 | public List DownloadLinks { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /source/DictionariesProvider/Models/DownloadLink.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic.Models 4 | { 5 | public class DownloadLink 6 | { 7 | // On / down 8 | public bool Status { get; set; } 9 | public Uri Url { get; set; } 10 | 11 | public override string ToString() => Url.ToString(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/Directory.Build.Props: -------------------------------------------------------------------------------- 1 | 2 | 3 | net48 4 | latest 5 | Nikse.SubtitleEdit.PluginLogic 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/Directory.Build.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/DropBoxLoad/DropBoxFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Dropbox.Api 5 | { 6 | public class DropboxFile 7 | { 8 | public string Description { get; internal set; } 9 | 10 | public long Bytes { get; internal set; } 11 | 12 | public bool IsDirectory { get; internal set; } 13 | 14 | public string Path { get; internal set; } 15 | 16 | public byte[] Data; 17 | 18 | public IEnumerable Contents { get; internal set; } 19 | 20 | public DateTime Modified { get; internal set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/DropBoxLoad/DropBoxLoad.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SeDropBoxLoad 5 | SeDropBoxLoad 6 | false 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /source/DropBoxLoad/GetDropBoxCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace SeDropBoxLoad 5 | { 6 | public partial class GetDropBoxCode : Form 7 | { 8 | public string Code { get; set; } 9 | 10 | public GetDropBoxCode() 11 | { 12 | InitializeComponent(); 13 | } 14 | 15 | private void buttonOk_Click(object sender, EventArgs e) 16 | { 17 | Code = textBoxCode.Text; 18 | DialogResult = DialogResult.OK; 19 | } 20 | 21 | private void buttonCancel_Click(object sender, EventArgs e) 22 | { 23 | DialogResult = DialogResult.Cancel; 24 | } 25 | 26 | private void GetDropBoxCode_Activated(object sender, EventArgs e) 27 | { 28 | textBoxCode.Focus(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/DropBoxLoad/OAuth2Token.cs: -------------------------------------------------------------------------------- 1 | namespace Dropbox.Api 2 | { 3 | public class OAuth2Token 4 | { 5 | public string access_token { get; set; } 6 | public string token_type { get; set; } 7 | public string uid { get; set; } 8 | public string account_id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /source/DropBoxLoad/Plugin.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public class SeDropBoxLoad : IPlugin // dll file name must ".dll" - e.g. "SyncViaOtherSubtitle.dll" 6 | { 7 | 8 | string IPlugin.Name => "Load from Dropbox"; 9 | 10 | string IPlugin.Text => "Load subtitle from Dropbox..."; // text in interface 11 | 12 | decimal IPlugin.Version => 1.7M; 13 | 14 | string IPlugin.Description => "Load subtitle from Dropbox"; 15 | 16 | string IPlugin.ActionType => "file"; // Can be one of these: file, tool, sync, translate, spellcheck 17 | 18 | string IPlugin.Shortcut => string.Empty; 19 | 20 | string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) 21 | { 22 | var form = new PluginForm((this as IPlugin).Name, (this as IPlugin).Description); 23 | if (form.ShowDialog(parentForm) == DialogResult.OK) 24 | { 25 | return form.LoadedSubtitle; 26 | } 27 | return string.Empty; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/DropBoxLoad/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.CompilerServices; 3 | using System.Windows.Forms; 4 | using Nikse.SubtitleEdit.PluginLogic; 5 | 6 | namespace Dropbox.Api 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// The main entry point for the application. 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | 19 | var fileName = string.Empty; 20 | var args = Environment.GetCommandLineArgs(); 21 | if (args.Length > 1) 22 | { 23 | fileName = args[1]; 24 | } 25 | 26 | var form = new PluginForm("DropBox Load", "Load subtitle from DropBox"); 27 | form.ShowDialog(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /source/DropBoxLoad/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /source/DropBoxLoad/default_file16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/DropBoxLoad/default_file16x16.png -------------------------------------------------------------------------------- /source/DropBoxLoad/default_folder16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/DropBoxLoad/default_folder16x16.png -------------------------------------------------------------------------------- /source/DropBoxSave/DropBoxFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Dropbox.Api 5 | { 6 | public class DropboxFile 7 | { 8 | public string Description { get; internal set; } 9 | 10 | public long Bytes { get; internal set; } 11 | 12 | public bool IsDirectory { get; internal set; } 13 | 14 | public string Path { get; internal set; } 15 | 16 | public byte[] Data; 17 | 18 | public IEnumerable Contents { get; internal set; } 19 | 20 | public DateTime Modified { get; internal set; } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/DropBoxSave/DropBoxSave.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | SeDropBoxSave 6 | false 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /source/DropBoxSave/GetDropBoxCode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace Nikse.SubtitleEdit.PluginLogic 5 | { 6 | public partial class GetDropBoxCode : Form 7 | { 8 | public string Code { get; set; } 9 | 10 | public GetDropBoxCode() 11 | { 12 | InitializeComponent(); 13 | } 14 | 15 | private void buttonOk_Click(object sender, EventArgs e) 16 | { 17 | Code = textBoxCode.Text; 18 | DialogResult = DialogResult.OK; 19 | } 20 | 21 | private void buttonCancel_Click(object sender, EventArgs e) 22 | { 23 | DialogResult = DialogResult.Cancel; 24 | } 25 | 26 | private void GetDropBoxCode_Activated(object sender, EventArgs e) 27 | { 28 | textBoxCode.Focus(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/DropBoxSave/OAuth2Token.cs: -------------------------------------------------------------------------------- 1 | namespace Dropbox.Api 2 | { 3 | public class OAuth2Token 4 | { 5 | public string access_token { get; set; } 6 | public string token_type { get; set; } 7 | public string uid { get; set; } 8 | public string account_id { get; set; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /source/ExposeSEApi/ExposeSEApi.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | false 4 | DEBUG;TRACE 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/GTScreenScraper.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WebViewTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace WebViewTranslate 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace GTScreenScraper.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using WebViewTranslate.Logic; 4 | 5 | namespace WebViewTranslate.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/GTScreenScraper/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/GenericPluginTester/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/GenericPluginTester/GenericPluginTester.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | WinExe 4 | false 5 | true 6 | true 7 | 8 | -------------------------------------------------------------------------------- /source/GenericPluginTester/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace GenericPluginTester 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/GenericPluginTester/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace GenericPluginTester.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/GenericPluginTester/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/HI2UC/Common/TagUtils.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Common; 2 | 3 | public static class TagUtils 4 | { 5 | public static bool IsOpenTag(char ch) => ch == '<' || ch == '{'; 6 | 7 | public static char GetClosingPair(char ch) => ch == '<' ? '>' : '}'; 8 | } -------------------------------------------------------------------------------- /source/HI2UC/Converters/ICasingConverter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Nikse.SubtitleEdit.PluginLogic.Converters.Strategies; 3 | 4 | namespace Nikse.SubtitleEdit.PluginLogic.Converters; 5 | 6 | public interface ICasingConverter 7 | { 8 | void Convert(IList paragraphs, ConverterContext converterContext); 9 | } -------------------------------------------------------------------------------- /source/HI2UC/Converters/Strategies/ConverterContext.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Nikse.SubtitleEdit.PluginLogic.Models; 3 | 4 | namespace Nikse.SubtitleEdit.PluginLogic.Converters.Strategies; 5 | 6 | public class ConverterContext 7 | { 8 | public IList Records { get; } 9 | 10 | public ConverterContext() 11 | { 12 | Records = new List(); 13 | } 14 | 15 | public void AddResult(string before, string after, string comment, Paragraph p) 16 | { 17 | Records.Add(new Record 18 | { 19 | Before = before, 20 | After = after, 21 | Comment = comment, 22 | Paragraph = p 23 | }); 24 | } 25 | } -------------------------------------------------------------------------------- /source/HI2UC/Converters/Strategies/IConverterStrategy.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Converters.Strategies; 2 | 3 | public interface IConverterStrategy 4 | { 5 | string Name { get; } 6 | string Example { get; } 7 | string Execute(string input); 8 | } -------------------------------------------------------------------------------- /source/HI2UC/Converters/Strategies/LowercaseConverter.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic.Converters.Strategies; 4 | 5 | public class LowercaseConverter : IConverterStrategy 6 | { 7 | public string Name => "Lowercase"; 8 | public string Example => "Foobar => foobar"; 9 | 10 | public string Execute(string input) => input.ToLower(CultureInfo.CurrentCulture); 11 | 12 | public override string ToString() => Name; 13 | } -------------------------------------------------------------------------------- /source/HI2UC/Converters/Strategies/NoneConverterStrategy.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Converters.Strategies; 2 | 3 | public class NoneConverterStrategy : IConverterStrategy 4 | { 5 | public string Name => "None"; 6 | public string Example => "(Not available)"; 7 | public string Execute(string input) => input; 8 | public override string ToString() => Name; 9 | } -------------------------------------------------------------------------------- /source/HI2UC/Converters/Strategies/UppercaseConverter.cs: -------------------------------------------------------------------------------- 1 | using System.Globalization; 2 | using System.Text; 3 | using Nikse.SubtitleEdit.PluginLogic.Common; 4 | 5 | namespace Nikse.SubtitleEdit.PluginLogic.Converters.Strategies; 6 | 7 | public class UppercaseConverter : IConverterStrategy 8 | { 9 | private readonly ChunkReader _chunkReader; 10 | public string Name => "Uppercase"; 11 | public string Example => "Foobar => FOOBAR"; 12 | 13 | public override string ToString() => Name; 14 | 15 | public UppercaseConverter(ChunkReader chunkReader) => _chunkReader = chunkReader; 16 | 17 | public string Execute(string input) 18 | { 19 | // Chunk(c) => Array(chunk) => 20 | var sb = new StringBuilder(); 21 | foreach (var splitRange in _chunkReader.Read(input)) 22 | { 23 | var content = input.Substring(splitRange.Start, splitRange.End - splitRange.Start); 24 | if (splitRange.IsTag) 25 | { 26 | sb.Append(content); 27 | } 28 | else 29 | { 30 | sb.Append(content.ToUpper(CultureInfo.CurrentCulture)); 31 | } 32 | } 33 | 34 | return sb.ToString(); 35 | } 36 | } -------------------------------------------------------------------------------- /source/HI2UC/Enums/HIStyle.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Enums; 2 | 3 | public enum HiStyle 4 | { 5 | None, 6 | UpperCase, 7 | UpperLowerCase, 8 | LowerCase, 9 | TitleCase, 10 | SentenceCase, 11 | } -------------------------------------------------------------------------------- /source/HI2UC/Extensions/ListViewExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic.Extensions; 4 | 5 | public static class ListViewExtensions 6 | { 7 | public static void CheckAll(this ListView listView) 8 | { 9 | listView.BeginUpdate(); 10 | foreach (ListViewItem listViewItem in listView.Items) 11 | { 12 | listViewItem.Checked = true; 13 | } 14 | 15 | listView.EndUpdate(); 16 | } 17 | 18 | public static void UncheckAll(this ListView listView) 19 | { 20 | listView.BeginUpdate(); 21 | foreach (ListViewItem listViewItem in listView.Items) 22 | { 23 | listViewItem.Checked = false; 24 | } 25 | 26 | listView.EndUpdate(); 27 | } 28 | 29 | public static void InvertCheck(this ListView listView) 30 | { 31 | listView.BeginUpdate(); 32 | foreach (ListViewItem listViewItem in listView.Items) 33 | { 34 | listViewItem.Checked = !listViewItem.Checked; 35 | } 36 | 37 | listView.EndUpdate(); 38 | } 39 | } -------------------------------------------------------------------------------- /source/HI2UC/Extensions/ListViewItemCollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Linq; 3 | using System.Windows.Forms; 4 | 5 | namespace Nikse.SubtitleEdit.PluginLogic.Extensions; 6 | 7 | public static class ListViewItemCollectionExtensions 8 | { 9 | public static IEnumerable CheckItems(this ListView.ListViewItemCollection listViewItemCollection) 10 | { 11 | return listViewItemCollection.OfType() 12 | .Where(item => item.Checked); 13 | } 14 | } -------------------------------------------------------------------------------- /source/HI2UC/Extensions/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Extensions; 2 | 3 | public static class StringExtensions 4 | { 5 | public static string Tokenize(string input) => ""; 6 | } -------------------------------------------------------------------------------- /source/HI2UC/Models/HIConfigs.cs: -------------------------------------------------------------------------------- 1 | using Nikse.SubtitleEdit.PluginLogic.Enums; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic; 4 | 5 | public class HiConfigs : Configuration 6 | { 7 | public HiConfigs(string configFile) : base(configFile) 8 | { 9 | Style = HiStyle.UpperCase; 10 | MoodsToUppercase = true; 11 | NarratorToUppercase = true; 12 | SingleLineNarrator = true; 13 | } 14 | 15 | public HiStyle Style { get; set; } 16 | public bool MoodsToUppercase { get; set; } 17 | public bool NarratorToUppercase { get; set; } 18 | public bool SingleLineNarrator { get; set; } 19 | public bool RemoveExtraSpaces { get; set; } 20 | 21 | } -------------------------------------------------------------------------------- /source/HI2UC/Models/Record.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Models; 2 | 3 | public class Record 4 | { 5 | public string Comment { get; set; } 6 | public string Before { get; set; } 7 | public string After { get; set; } 8 | public Paragraph Paragraph { get; set; } 9 | public override string ToString() => $"#{Paragraph.Number}: {Before} => {After}"; 10 | 11 | public void Apply() 12 | { 13 | if (Paragraph == null) 14 | { 15 | return; 16 | } 17 | 18 | Paragraph.Text = After; 19 | } 20 | } -------------------------------------------------------------------------------- /source/HI2UC/ReportForm.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | using Nikse.SubtitleEdit.PluginLogic.Services; 3 | 4 | namespace Nikse.SubtitleEdit.PluginLogic; 5 | 6 | public partial class ReportForm : Form 7 | { 8 | private readonly ReportService _reportService; 9 | 10 | public string ReportMessage { get; set; } 11 | 12 | public ReportForm(ReportService reportService) 13 | { 14 | InitializeComponent(); 15 | StartPosition = FormStartPosition.CenterParent; 16 | 17 | _reportService = reportService; 18 | buttonSubmit.DialogResult = DialogResult.OK; 19 | 20 | Closing += (sender, args) => ReportMessage = textBox1.Text; 21 | } 22 | } -------------------------------------------------------------------------------- /source/HI2UC/Resources/paypal-donate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/HI2UC/Resources/paypal-donate.jpg -------------------------------------------------------------------------------- /source/HI2UC/Resources/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/HI2UC/Resources/paypal.png -------------------------------------------------------------------------------- /source/HI2UC/Resources/paypal1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/HI2UC/Resources/paypal1.png -------------------------------------------------------------------------------- /source/HIColorer/Artists/Artist.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using Nikse.SubtitleEdit.Core.Common; 4 | 5 | namespace Nikse.SubtitleEdit.PluginLogic 6 | { 7 | public abstract class Artist 8 | { 9 | private const string WriteFormat = "{1}"; 10 | 11 | public abstract void Paint(Subtitle subtitle); 12 | 13 | protected bool ContainsColor(string text) => text.Contains(" string.Format(WriteFormat, Utilities.ColorToHex(color), text.Trim()); 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/HIColorer/Artists/Palette.cs: -------------------------------------------------------------------------------- 1 | using System.Drawing; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public struct Palette 6 | { 7 | public Color Color { get; set; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /source/HIColorer/HIColorer.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/HIColorer/Helpers/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic; 4 | 5 | public static class StringExtensions 6 | { 7 | public static bool HasColor(this string input) 8 | { 9 | return input?.IndexOf(" 2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | -------------------------------------------------------------------------------- /source/Haxor/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/Haxor/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/IspraviMeTranslate/DLL/IspraviError.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SubtitleEdit 4 | { 5 | public class IspraviResult 6 | { 7 | public IspraviStatus status { get; set; } 8 | 9 | public IspraviResponse response { get; set; } 10 | } 11 | 12 | public class IspraviStatus 13 | { 14 | public string text { get; set; } 15 | public int code { get; set; } 16 | } 17 | public class IspraviResponse 18 | { 19 | /// 20 | /// Number of errors 21 | /// 22 | public int errors { get; set; } 23 | 24 | public List error { get; set; } 25 | } 26 | 27 | public class IspraviError 28 | { 29 | public string suspicious { get; set; } 30 | public string @class { get; set; } 31 | public int length { get; set; } 32 | public int occurrences { get; set; } 33 | public List position { get; set; } 34 | public List suggestions { get; set; } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /source/IspraviMeTranslate/DLL/IspraviMe.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | Ispravi 6 | false 7 | true 8 | true 9 | true 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /source/IspraviMeTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/IspraviMeTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/ItalicEachLine/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/ItalicEachLine/DLL/ItalicEachLine.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/ItalicEachLine/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ItalicEachLine.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/ItalicEachLine/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace ItalicEachLine 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new Form1()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/ItalicEachLine/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ItalicEachLine.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/ItalicEachLine/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/JackSE/JackSE.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /source/LibSeBasedPlugin/LibSeBasedPlugin.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | LibSePlugin 5 | false 6 | true 7 | true 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/LinesUnbreaker/Extensions/CharExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Extensions 2 | { 3 | public static class CharExtensions 4 | { 5 | public static bool IsTagStart(this char ch) => ch == '<' || ch == '{'; 6 | public static char ClosingPair(this char ch) => ch == '<' ? '>' : '}'; 7 | public static bool IsClosed(this char ch) => ch == '.' || ch == '?' || ch == '!' || ch == ']' || ch == ')'; 8 | } 9 | } -------------------------------------------------------------------------------- /source/LinesUnbreaker/Extensions/ListViewExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Windows.Forms; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic.Extensions; 4 | 5 | public static class ListViewExtensions 6 | { 7 | public static void CheckAll(this ListView listView) 8 | { 9 | listView.BeginUpdate(); 10 | foreach (ListViewItem listViewItem in listView.Items) 11 | { 12 | listViewItem.Checked = true; 13 | } 14 | 15 | listView.EndUpdate(); 16 | } 17 | 18 | public static void UncheckAll(this ListView listView) 19 | { 20 | listView.BeginUpdate(); 21 | foreach (ListViewItem listViewItem in listView.Items) 22 | { 23 | listViewItem.Checked = false; 24 | } 25 | 26 | listView.EndUpdate(); 27 | } 28 | 29 | public static void InvertCheck(this ListView listView) 30 | { 31 | listView.BeginUpdate(); 32 | foreach (ListViewItem listViewItem in listView.Items) 33 | { 34 | listViewItem.Checked = !listViewItem.Checked; 35 | } 36 | 37 | listView.EndUpdate(); 38 | } 39 | } -------------------------------------------------------------------------------- /source/LinesUnbreaker/LinesUnbreaker.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | 3 5 | 3 6 | latest 7 | 8 | 9 | 10 | 11 | True 12 | True 13 | Resources.resx 14 | 15 | 16 | 17 | 18 | ResXFileCodeGenerator 19 | Resources.Designer.cs 20 | 21 | 22 | -------------------------------------------------------------------------------- /source/LinesUnbreaker/UnBreakConfigs.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | public class UnBreakConfigs : Configuration 4 | { 5 | public bool SkipNarrator { get; set; } 6 | 7 | public bool SkipMoods { get; set; } 8 | 9 | public bool SkipDialogs { get; set; } 10 | 11 | public int MaxLineLength { get; set; } 12 | 13 | public UnBreakConfigs(string configFile) : base(configFile) 14 | { 15 | SkipDialogs = true; 16 | SkipNarrator = true; 17 | SkipMoods = false; 18 | } 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /source/LinesUnbreaker/ivandrofly.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/LinesUnbreaker/ivandrofly.pfx -------------------------------------------------------------------------------- /source/LoadFormatting/DLL/LoadFormatting.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | -------------------------------------------------------------------------------- /source/LoadFormatting/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | public static string UppercaseLetters { get; set; } = "ABCDEFGHIJKLMNOPQRSTUVWZYXÆØÃÅÄÖÉÈÁÂÀÇÊÍÓÔÕÚŁАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯĞİŞÜÙÁÌÑÎ"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /source/MergeTwoSrtToAss/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Logic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/MergeTwoSrtToAss/DLL/Logic/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace Nikse.SubtitleEdit.PluginLogic.Logic 7 | { 8 | internal static class StringExtensions 9 | { 10 | 11 | public static string[] SplitToLines(this string source) 12 | { 13 | return source.Replace("\r\n", "\n").Replace('\r', '\n').Split('\n'); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/MergeTwoSrtToAss/DLL/MergeTwoSrtToAss.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | Nikse.SubtitleEdit.PluginLogic 5 | false 6 | true 7 | true 8 | 9 | 10 | 11 | Component 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/NamesListManager/DLL/NameListManager.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | Nikse.SubtitleEdit.PluginLogic 5 | false 6 | true 7 | true 8 | 9 | -------------------------------------------------------------------------------- /source/NarratorOutParentheses/NarratorOutParentheses.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | -------------------------------------------------------------------------------- /source/NetflixRulesCheck/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 30; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/NetflixRulesCheck/DLL/NetflixRulesCheck.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/NoRecursiveDash/NoRecursiveDash.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | 1 5 | 1 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /source/OcrListManager/DLL/OcrListManager.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | Nikse.SubtitleEdit.PluginLogic 5 | false 6 | true 7 | true 8 | 9 | -------------------------------------------------------------------------------- /source/OnlineCasing/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /source/OnlineCasing/CasingContext.cs: -------------------------------------------------------------------------------- 1 | using Nikse.SubtitleEdit.PluginLogic; 2 | using System.Collections.Generic; 3 | 4 | namespace OnlineCasing.Forms 5 | { 6 | internal class CasingContext 7 | { 8 | public List Names { get; set; } 9 | public List Paragraphs { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /source/OnlineCasing/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /source/OnlineCasing/Helpers/Settings.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using TMDbLib.Objects.Search; 3 | 4 | namespace OnlineCasing 5 | { 6 | 7 | 8 | public class Settings 9 | { 10 | public string ApiKey { get; set; } 11 | 12 | public List Movies { get; set; } 13 | 14 | public HashSet IgnoreWords { get; set; } 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /source/OnlineCasing/Models/Movie.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OnlineCasing 4 | { 5 | public class Movie 6 | { 7 | public int Id { get; set; } 8 | public string Title { get; set; } 9 | public string OriginalTitle { get; set; } 10 | public DateTime ReleaseDate { get; set; } 11 | 12 | public override string ToString() => $"{ Title ?? OriginalTitle} - {ReleaseDate.Year}"; 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/OnlineCasing/OnlineCasing.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /source/OpenSubtitlesUpload/DLL/DLL/Ionic.Zlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/OpenSubtitlesUpload/DLL/DLL/Ionic.Zlib.dll -------------------------------------------------------------------------------- /source/OpenSubtitlesUpload/DLL/OpenSubtitlesUpload.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/OpenSubtitlesUpload/DLL/OpenSubtitlesUpload.7z -------------------------------------------------------------------------------- /source/OpenSubtitlesUpload/DLL/OpenSubtitlesUpload.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /source/OpenSubtitlesUpload/DLL/VideoFormats/Boxes/Minf.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | 4 | namespace OpenSubtitlesUpload.VideoFormats.Boxes 5 | { 6 | public class Minf : Box 7 | { 8 | 9 | public Stbl Stbl; 10 | 11 | public Minf(FileStream fs, ulong maximumLength, UInt32 timeScale, string handlerType, Mdia mdia) 12 | { 13 | Position = (ulong)fs.Position; 14 | while (fs.Position < (long)maximumLength) 15 | { 16 | if (!InitializeSizeAndName(fs)) 17 | return; 18 | 19 | if (Name == "stbl") 20 | Stbl = new Stbl(fs, Position, timeScale, handlerType, mdia); 21 | 22 | fs.Seek((long)Position, SeekOrigin.Begin); 23 | } 24 | } 25 | 26 | } 27 | } -------------------------------------------------------------------------------- /source/OpenSubtitlesUpload/DLL/VideoFormats/Boxes/Moov.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.IO; 3 | 4 | namespace OpenSubtitlesUpload.VideoFormats.Boxes 5 | { 6 | public class Moov : Box 7 | { 8 | public Mvhd Mvhd; 9 | public readonly List Tracks; 10 | 11 | public Moov(FileStream fs, ulong maximumLength) 12 | { 13 | Tracks = new List(); 14 | Position = (ulong)fs.Position; 15 | while (fs.Position < (long)maximumLength) 16 | { 17 | if (!InitializeSizeAndName(fs)) 18 | return; 19 | 20 | if (Name == "trak") 21 | Tracks.Add(new Trak(fs, Position)); 22 | else if (Name == "mvhd") 23 | Mvhd = new Mvhd(fs); 24 | 25 | fs.Seek((long)Position, SeekOrigin.Begin); 26 | } 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /source/OpenSubtitlesUpload/DLL/VideoFormats/Boxes/Mvhd.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace OpenSubtitlesUpload.VideoFormats.Boxes 4 | { 5 | public class Mvhd : Box 6 | { 7 | public readonly uint CreationTime; 8 | public readonly uint ModificationTime; 9 | public readonly uint Duration; 10 | public readonly uint TimeScale; 11 | 12 | public Mvhd(FileStream fs) 13 | { 14 | Buffer = new byte[20]; 15 | int bytesRead = fs.Read(Buffer, 0, Buffer.Length); 16 | if (bytesRead < Buffer.Length) 17 | return; 18 | 19 | CreationTime = GetUInt(4); 20 | ModificationTime = GetUInt(8); 21 | TimeScale = GetUInt(12); 22 | Duration = GetUInt(16); 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /source/OpenSubtitlesUpload/DLL/VideoFormats/Boxes/Trak.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | 3 | namespace OpenSubtitlesUpload.VideoFormats.Boxes 4 | { 5 | public class Trak : Box 6 | { 7 | public Mdia Mdia; 8 | public Tkhd Tkhd; 9 | 10 | public Trak(FileStream fs, ulong maximumLength) 11 | { 12 | Position = (ulong)fs.Position; 13 | while (fs.Position < (long)maximumLength) 14 | { 15 | if (!InitializeSizeAndName(fs)) 16 | return; 17 | 18 | if (Name == "mdia") 19 | Mdia = new Mdia(fs, Position); 20 | else if (Name == "tkhd") 21 | Tkhd = new Tkhd(fs); 22 | 23 | fs.Seek((long)Position, SeekOrigin.Begin); 24 | } 25 | } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/PapagoTranslate/DLL/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | 4 | namespace SubtitleEdit 5 | { 6 | interface ITranslator 7 | { 8 | List GetTranslationPairs(); 9 | string GetName(); 10 | string GetUrl(); 11 | string Translate(string sourceLanguage, string targetLanguage, string text, StringBuilder log); 12 | string ClientId { get; set; } 13 | string ClientSecret { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/PapagoTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/PapagoTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/PapagoTranslate/DLL/PapagoTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/PapagoTranslate/DLL/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace SubtitleEdit 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | public string IsoCode { get; set; } 8 | public override string ToString() 9 | { 10 | return Name; // will be displayed in combobox 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/PersianErrors/Images/AddMissingSpaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/AddMissingSpaces.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/ChangeArabicCharsToPersian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/ChangeArabicCharsToPersian.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/FixAbbreviations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/FixAbbreviations.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/FixDialogHyphen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/FixDialogHyphen.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/FixMisplacedChars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/FixMisplacedChars.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/FixUnicodeControlChar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/FixUnicodeControlChar.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/FixWrongChars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/FixWrongChars.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/ICON.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/ICON.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/OCR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/OCR.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/RemoveDotFromTheEndOfLine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/RemoveDotFromTheEndOfLine.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/RemoveLeadingDots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/RemoveLeadingDots.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/RemoveUnneededSpaces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/RemoveUnneededSpaces.png -------------------------------------------------------------------------------- /source/PersianErrors/Images/SpaceToInvisibleSpace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/PersianErrors/Images/SpaceToInvisibleSpace.png -------------------------------------------------------------------------------- /source/PersianErrors/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Nikse.SubtitleEdit.PluginLogic 3 | { 4 | class Configuration 5 | { 6 | public static double CurrentFrameRate = 23.976; 7 | public static string ListViewLineSeparatorString = "
"; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /source/PersianErrors/Logic/ReplaceExpression.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.Core.Common 2 | { 3 | public class ReplaceExpression 4 | { 5 | public const int SearchNormal = 0; 6 | public const int SearchRegEx = 1; 7 | public const int SearchCaseSensitive = 2; 8 | 9 | public const string SearchTypeNormal = "Normal"; 10 | public const string SearchTypeCaseSensitive = "CaseSensitive"; 11 | public const string SearchTypeRegularExpression = "RegularExpression"; 12 | 13 | public string FindWhat { get; set; } 14 | public string ReplaceWith { get; set; } 15 | public int SearchType { get; set; } 16 | 17 | public ReplaceExpression(string findWhat, string replaceWith, string searchType) 18 | { 19 | FindWhat = findWhat; 20 | ReplaceWith = replaceWith; 21 | if (string.CompareOrdinal(searchType, SearchTypeRegularExpression) == 0) 22 | { 23 | SearchType = SearchRegEx; 24 | } 25 | else if (string.CompareOrdinal(searchType, SearchTypeCaseSensitive) == 0) 26 | { 27 | SearchType = SearchCaseSensitive; 28 | } 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /source/PersianErrors/Program.cs: -------------------------------------------------------------------------------- 1 | namespace PersianErrors 2 | { 3 | static class Program 4 | { 5 | /// 6 | /// The main entry point for the application. 7 | /// 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /source/PersianErrors/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace PersianErrors.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/PersianErrors/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/Plugin-Shared/Attributes/InvokeOnLoad.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)] 6 | public class InvokeOnLoad : Attribute 7 | { 8 | public InvokeOnLoad(bool isWorkerThread) 9 | { 10 | IsBackground = isWorkerThread; 11 | } 12 | 13 | /// 14 | /// True, if the plugin should be invoked on a worker thread. 15 | /// 16 | public bool IsBackground { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /source/Plugin-Shared/Enums/ExpectingLine.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | public enum ExpectingLine 4 | { 5 | Number, 6 | TimeCodes, 7 | Text 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /source/Plugin-Shared/Enums/Tags.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | // [Flags] 4 | public enum Tags 5 | { 6 | Font, 7 | Italic, 8 | Bold, 9 | Underline, 10 | Strike, 11 | All 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/Plugin-Shared/Helpers/CharUtils.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Helpers 2 | { 3 | public static class CharUtils 4 | { 5 | /// 6 | /// Checks if character matches [0-9] 7 | /// 8 | public static bool IsDigit(char ch) => (ch >= '0') && (ch <= '9'); 9 | 10 | /// 11 | /// Checkes if given character is hexadecimal 12 | /// 13 | public static bool IsHexadecimal(char ch) => (ch >= '0') && (ch <= '9') || (ch >= 'a' && ch <= 'f') || (ch >= 'A' && ch <= 'F'); 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/Plugin-Shared/Helpers/UIUtils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Nikse.SubtitleEdit.PluginLogic.Helpers 6 | { 7 | public class UIUtils 8 | { 9 | public static string GetListViewTextFromString(string s) => s.Replace(Environment.NewLine, Options.UILineBreak); 10 | 11 | public static string GetStringFromListViewText(string lviText) => lviText.Replace(Options.UILineBreak, Environment.NewLine); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/Plugin-Shared/IConfigurable.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | interface IConfigurable 4 | { 5 | void LoadConfigurations(); 6 | 7 | void SaveConfigurations(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /source/Plugin-Shared/Models/Options.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | public static class Options 4 | { 5 | static Options() 6 | { 7 | Frame = 23.976; 8 | UILineBreak = "
"; 9 | } 10 | 11 | public static double Frame { get; set; } 12 | public static string UILineBreak { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/Plugin-Shared/Plugin-Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 59aa41aa-6c3e-456f-8ec1-3c0c90e31811 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /source/Plugin-Updater/Helpers/Utils.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.Reflection; 5 | 6 | namespace Plugin_Updater.Helpers 7 | { 8 | public static class Utils 9 | { 10 | public static string GetMetaFile() 11 | { 12 | //AppDomain.CurrentDomain.BaseDirectory; 13 | string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 14 | Directory.SetCurrentDirectory(path + @"\..\..\..\..\"); 15 | path = Directory.GetCurrentDirectory(); 16 | path = Path.Combine(path, "Plugins4.xml"); 17 | Debug.Assert(File.Exists(path), "Meta file not found"); 18 | return path; 19 | } 20 | 21 | public static bool Validate(PluginInfo pluginInfo) 22 | { 23 | return true; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Plugin-Updater/Plugin-Updater.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | net8.0-windows 4 | WinExe 5 | Plugin_Updater 6 | false 7 | true 8 | true 9 | 10 | 11 | latest 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/Plugin-Updater/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace Plugin_Updater 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Main()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/Plugin-Updater/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Plugin_Updater.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/Plugin-Updater/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/Plugins.Ivandrofly.slnf: -------------------------------------------------------------------------------- 1 | { 2 | "solution": { 3 | "path": "Plugins.sln", 4 | "projects": [ 5 | "DialogueAutoMarker\\DialogueAutoMarker.csproj", 6 | "DictionariesProvider\\DictionariesProvider.csproj", 7 | "GenericPluginTester\\GenericPluginTester.csproj", 8 | "HI2UC\\HI2UC.csproj", 9 | "HIColorer\\HIColorer.csproj", 10 | "JackSE\\JackSE.csproj", 11 | "LinesUnbreaker\\LinesUnbreaker.csproj", 12 | "NarratorOutParentheses\\NarratorOutParentheses.csproj", 13 | "OnlineCasing\\OnlineCasing.csproj", 14 | "Plugin-Shared\\Plugin-Shared.shproj", 15 | "Plugin-Updater\\Plugin-Updater.csproj", 16 | "TriggerOnLoad\\TriggerOnLoad.csproj", 17 | "WordCensor\\WordCensor.csproj" 18 | ] 19 | } 20 | } -------------------------------------------------------------------------------- /source/Plugins.sln.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | True -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace PromptTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace PromptTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace WebViewTranslate 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/PromptTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace PromptTranslate.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using PromptTranslate.Logic; 4 | 5 | namespace PromptTranslate.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | List GetTranslationPairs(); 10 | string GetName(); 11 | string GetUrl(); 12 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /source/PromptTranslate/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace PromptTranslate.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/RemoveUnicodeCharacters/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace SubtitleEdit.Logic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 30; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/RemoveUnicodeCharacters/DLL/RemoveUnicodeCharacters.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | Nikse.SubtitleEdit.PluginLogic 5 | false 6 | true 7 | true 8 | 9 | -------------------------------------------------------------------------------- /source/ReverseLines/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/ReverseLines/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/ReverseText/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/ReverseText/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace WebViewTranslate.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/ReverseText/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace WebViewTranslate.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/ReverseText/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | using ReverseText; 7 | 8 | namespace WebViewTranslate 9 | { 10 | static class Program 11 | { 12 | /// 13 | /// The main entry point for the application. 14 | /// 15 | [STAThread] 16 | static void Main() 17 | { 18 | Application.EnableVisualStyles(); 19 | Application.SetCompatibleTextRenderingDefault(false); 20 | Application.Run(new Form1()); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /source/ReverseText/DLL/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ReverseText.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.2.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/ReverseText/DLL/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/ReverseText/DLL/ReverseText.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | x64 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SubtitleEdit/plugins/6acb5dc34726514141c035445f10942d2e626030/source/ReversoTranslate/DLL.7z -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace SubtitleEdit.Logic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace SubtitleEdit.Logic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace WebViewTranslate 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/ReversoTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | WinExe 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/Translator/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | using SubtitleEdit.Logic; 4 | 5 | namespace SubtitleEdit.Translator 6 | { 7 | public interface ITranslator 8 | { 9 | string GetName(); 10 | string GetUrl(); 11 | List Translate(string sourceLanguage, string targetLanguage, List paragraphs, StringBuilder log); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/Translator/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace SubtitleEdit.Translator 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | 8 | public TranslationPair() 9 | { 10 | 11 | } 12 | 13 | public TranslationPair(string name, string code) 14 | { 15 | Name = name; 16 | Code = code; 17 | } 18 | 19 | public override string ToString() 20 | { 21 | if (Name != null && Name.Length > 1) 22 | return Name.Substring(0, 1).ToUpperInvariant() + Name.Substring(1).ToLowerInvariant(); 23 | return Name; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL/packages.config: -------------------------------------------------------------------------------- 1 |  2 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL2/DLL/ITranslator.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Text; 3 | 4 | namespace SubtitleEdit 5 | { 6 | interface ITranslator 7 | { 8 | List GetTranslationPairs(); 9 | string GetName(); 10 | string GetUrl(); 11 | string Translate(string sourceLanguage, string targetLanguage, string text, StringBuilder log); 12 | string ClientId { get; set; } 13 | string ClientSecret { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL2/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL2/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL2/DLL/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | 4 | namespace SubtitleEdit 5 | { 6 | static class Program 7 | { 8 | /// 9 | /// The main entry point for the application. 10 | /// 11 | [STAThread] 12 | static void Main() 13 | { 14 | Application.EnableVisualStyles(); 15 | Application.SetCompatibleTextRenderingDefault(false); 16 | Application.Run(new Form1()); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /source/ReversoTranslate/DLL2/DLL/TranslationPair.cs: -------------------------------------------------------------------------------- 1 | namespace SubtitleEdit 2 | { 3 | public class TranslationPair 4 | { 5 | public string Name { get; set; } 6 | public string Code { get; set; } 7 | public string IsoCode { get; set; } 8 | public override string ToString() 9 | { 10 | return Name; // will be displayed in combobox 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /source/SaveAllFormat/ExportAllFormats.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 3.0.0 8 | 3.0.0 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /source/SaveAllFormat/Utils/AssemblyUtils.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic.Utils; 2 | 3 | using System; 4 | using System.Linq; 5 | using System.Reflection; 6 | 7 | public static class AssemblyUtils 8 | { 9 | private static Assembly _libseCached; 10 | 11 | public static Assembly GetLibse() 12 | { 13 | if (_libseCached == null) 14 | { 15 | _libseCached = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(asm => asm.GetName().Name.Equals("libse")); 16 | } 17 | 18 | return _libseCached; 19 | } 20 | } -------------------------------------------------------------------------------- /source/SeSkydriveLoad/OAuth2Token.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OneDriveLoad 7 | { 8 | public class OAuth2Token 9 | { 10 | public string token_type { get; set; } 11 | public long expires_in { get; set; } 12 | public string scope { get; set; } 13 | public string access_token { get; set; } 14 | public string refresh_token { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/SeSkydriveLoad/OneDriveContent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OneDriveLoad 4 | { 5 | public class OneDriveContent 6 | { 7 | public string Id { get; set; } 8 | public string Name { get; set; } 9 | public long Size { get; set; } 10 | public DateTime UpdatedTime { get; set; } 11 | public string ParentId { get; set; } 12 | public string Type { get; set; } 13 | 14 | public OneDriveContent() 15 | { 16 | } 17 | 18 | public OneDriveContent(string id, string name, string size, string updatedTime) 19 | { 20 | Id = id; 21 | Name = name; 22 | Size = Convert.ToInt64(size); 23 | UpdatedTime = Convert.ToDateTime(updatedTime); 24 | } 25 | 26 | public bool IsFolder { get { return Type.ToLower() == "folder"; } } 27 | 28 | public bool IsFile { get { return Type.ToLower() == "file"; } } 29 | } 30 | } -------------------------------------------------------------------------------- /source/SeSkydriveLoad/OneDriveLoad.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | x86 4 | Library 5 | false 6 | true 7 | true 8 | MinimumRecommendedRules.ruleset 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /source/SeSkydriveLoad/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace OneDriveLoad.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/SeSkydriveLoad/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/SeSkydriveSave/OAuth2Token.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace OneDriveSave 7 | { 8 | public class OAuth2Token 9 | { 10 | public string token_type { get; set; } 11 | public long expires_in { get; set; } 12 | public string scope { get; set; } 13 | public string access_token { get; set; } 14 | public string refresh_token { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /source/SeSkydriveSave/OneDriveContent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace OneDriveSave 4 | { 5 | public class OneDriveContent 6 | { 7 | public string Id { get; set; } 8 | public string Name { get; set; } 9 | public long Size { get; set; } 10 | public DateTime UpdatedTime { get; set; } 11 | public string ParentId { get; set; } 12 | public string Type { get; set; } 13 | public string Path { get; internal set; } 14 | 15 | public OneDriveContent() 16 | { 17 | } 18 | 19 | public bool IsFolder 20 | { 21 | get 22 | { 23 | return Type.ToLower() == "folder"; 24 | } 25 | } 26 | 27 | public bool IsFile 28 | { 29 | get 30 | { 31 | return Type.ToLower() == "file"; 32 | } 33 | } 34 | 35 | } 36 | } -------------------------------------------------------------------------------- /source/SeSkydriveSave/OneDriveSave.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/TightHyphen/TightHyphen.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | -------------------------------------------------------------------------------- /source/TriggerOnLoad/TriggerOnLoad.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | 8.0 10 | 11 | 12 | -------------------------------------------------------------------------------- /source/UnitTests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /source/VobSubTimestamps/DLL/VobSubTimestamps.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | -------------------------------------------------------------------------------- /source/WordCensor/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/WordCensor/WordCensor.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /source/WordCensor/WordsHandlerConfigs.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | class WordsHandlerConfigs 4 | { 5 | public bool ColorRed { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /source/WordSpellCheck/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } -------------------------------------------------------------------------------- /source/WordSpellCheck/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace WordSpellCheck.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /source/WordSpellCheck/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /source/WordSpellCheck/WordSpellCheck.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | false 5 | true 6 | true 7 | true 8 | 9 | 10 | 11 | 12 | 13 | 14 | {00020905-0000-0000-C000-000000000046} 15 | 8 16 | 4 17 | 0 18 | primary 19 | False 20 | True 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /source/WordSpellCheck/readme.md: -------------------------------------------------------------------------------- 1 | ### Important Notes: 2 | - **COM Interop and Garbage Collection:** When using COM objects, it's important to properly release them to avoid memory leaks. Use `Marshal.ReleaseComObject` and manually set objects to `null` followed by `GC.Collect()` and `GC.WaitForPendingFinalizers()` calls. 3 | - **Interop Dependencies:** Ensure that you have the corresponding version of Microsoft Office installed as the Interop libraries rely on the Office installation. 4 | - **Permissions and File Paths:** The code should have the necessary permissions to write to the specified file path. -------------------------------------------------------------------------------- /source/YandexTranslate/DLL/Logic/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nikse.SubtitleEdit.PluginLogic 2 | { 3 | internal static class Configuration 4 | { 5 | public static double CurrentFrameRate = 23.976; 6 | public static string ListViewLineSeparatorString = "
"; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /source/YandexTranslate/DLL/Logic/SubtitleFormat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nikse.SubtitleEdit.PluginLogic 4 | { 5 | public abstract class SubtitleFormat 6 | { 7 | protected int _errorCount; 8 | 9 | internal virtual List AlternateExtensions 10 | { 11 | get 12 | { 13 | return new List(); 14 | } 15 | } 16 | 17 | internal int ErrorCount 18 | { 19 | get { return _errorCount; } 20 | } 21 | 22 | abstract internal string Extension 23 | { 24 | get; 25 | } 26 | 27 | abstract internal bool IsTimeBased 28 | { 29 | get; 30 | } 31 | 32 | abstract internal string Name 33 | { 34 | get; 35 | } 36 | 37 | abstract internal bool IsMine(List lines, string fileName); 38 | 39 | abstract internal void LoadSubtitle(Subtitle subtitle, List lines, string fileName); 40 | 41 | abstract internal string ToText(Subtitle subtitle, string title); 42 | } 43 | } -------------------------------------------------------------------------------- /source/YandexTranslate/DLL/YandexTranslate.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Library 4 | SubtitleEdit 5 | false 6 | true 7 | true 8 | true 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /source/global.json: -------------------------------------------------------------------------------- 1 | { 2 | "sdk": { 3 | "version": "9.0.0", 4 | "rollForward": "latestMinor", 5 | "allowPrerelease": true 6 | } 7 | } -------------------------------------------------------------------------------- /source/zip-plugin-files.ps1: -------------------------------------------------------------------------------- 1 | # Define the list of directories to zip 2 | $directories = @( 3 | "source\HI2UC\bin\Release\net48", 4 | "source\HIColorer\bin\Release\net48", 5 | "source\TightHyphen\bin\Release\net48", 6 | "source\SaveAllFormat\bin\Release\net48", 7 | "source\NoRecursiveDash\bin\Release\net48", 8 | "source\LinesUnbreaker\bin\Release\net48" 9 | ) 10 | 11 | # Define the output directory where the zip files will be saved 12 | $outputDirectory = "C:\plugins\" 13 | 14 | # Create the output directory if it doesn't exist 15 | if (-not (Test-Path -Path $outputDirectory)) 16 | { 17 | New-Item -ItemType Directory -Path $outputDirectory 18 | } 19 | 20 | # Loop through each directory in the list 21 | foreach ($directory in $directories) 22 | { 23 | if (Test-Path -Path $directory) 24 | { 25 | # Find the first .dll file in the directory 26 | $dllFile = Get-ChildItem -Path $directory -Filter *.dll | Select-Object -First 1 27 | Copy-Item -Path $dllFile.FullName -Destination $outputDirectory 28 | } 29 | else 30 | { 31 | Write-Output "Directory '$directory' does not exist" 32 | } 33 | } --------------------------------------------------------------------------------