string IPlugin.DoAction(Form parentForm, string content, double frameRate, string uiLineBreak, string fileName, string videoFileName, string rawText) { if (string.IsNullOrWhiteSpace(content)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } if (string.IsNullOrEmpty(uiLineBreak)) { Options.UILineBreak = uiLineBreak; } var list = content.SplitToLines().ToList(); var subrip = new SubRip(); var subtitle = new Subtitle(subrip); subrip.LoadSubtitle(subtitle, list, fileName); using (var form = new MainForm(subtitle, (this as IPlugin).Name, (this as IPlugin).Description)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.Subtitle); } } return(string.Empty); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { subtitle = subtitle.Trim(); if (string.IsNullOrEmpty(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } var subRip = new SubRip(); var sub = new Subtitle(subRip); subRip.LoadSubtitle(sub, subtitle.SplitToLines(), subtitleFileName); if (sub.Paragraphs.Count < 1) { return(string.Empty); } using (var mainForm = new MainForm(sub, subtitleFileName, (this as IPlugin).Version.ToString(CultureInfo.InvariantCulture))) { if (mainForm.ShowDialog() == DialogResult.OK) { return(mainForm.Subtitle); } } return(string.Empty); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { if (string.IsNullOrWhiteSpace(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Configuration.ListViewLineSeparatorString = listViewLineSeparatorString; } var list = subtitle.SplitToLines(); var srt = new SubRip(); var sub = new Subtitle(srt); srt.LoadSubtitle(sub, list, subtitleFileName); if (srt.ErrorCount > 0) { MessageBox.Show(srt.Errors + " Errors found while parsing .srt", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } using (var form = new PluginForm(sub)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } } return(string.Empty); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { if (string.IsNullOrWhiteSpace(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Configuration.ListViewLineSeparatorString = listViewLineSeparatorString; } var srt = new SubRip(); var sub = new Subtitle(srt); srt.LoadSubtitle(sub, subtitle.SplitToLines(), subtitleFileName); if (srt.Errors > 0) { var s = srt.Errors > 1 ? "s" : string.Empty; MessageBox.Show($"{srt.Errors} error{s} found while parsing .srt", $"SubRip Parse Error{s}", MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } using (var form = new PluginForm(sub, (this as IPlugin).Name, (this as IPlugin).Description)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } } return(string.Empty); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { subtitle = subtitle.Trim(); if (string.IsNullOrEmpty(subtitle)) { MessageBox.Show("Titl nije učitan", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Configuration.ListViewLineSeparatorString = listViewLineSeparatorString; } var list = subtitle.SplitToLines().ToList(); var sub = new Subtitle(); var srt = new SubRip(); srt.LoadSubtitle(sub, list, subtitleFileName); using (var form = new MainForm(sub, (this as IPlugin).Text, (this as IPlugin).Description, parentForm)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } } return(string.Empty); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { if (string.IsNullOrEmpty(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Options.UILineBreak = listViewLineSeparatorString; } var list = new List <string>(); foreach (string line in subtitle.SplitToLines()) { list.Add(line); } var srt = new SubRip(); var sub = new Subtitle(srt); srt.LoadSubtitle(sub, list, subtitleFileName); using (var form = new Main(parentForm, sub, (this as IPlugin).Name, (this as IPlugin).Description)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } } return(string.Empty); }
private void OpenFile2(string fileName) { var lines = new List <string>(); foreach (var line in File.ReadAllLines(fileName)) { lines.Add(line); } SubtitleFormat format = new SubRip(); if (!format.IsMine(lines, fileName)) { format = new AdvancedSubStationAlpha(); } if (!format.IsMine(lines, fileName)) { format = new SubStationAlpha(); } if (format.IsMine(lines, fileName)) { textBox2.Text = fileName; _subtitle2 = new Subtitle(); format.LoadSubtitle(_subtitle2, lines, fileName); subtitleListView2.Fill(_subtitle2); if (_subtitle2.Paragraphs.Count > 0) { subtitleListView1.SelectIndexAndEnsureVisible(0); } GeneratePreview(); } }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { subtitle = subtitle.Trim(); if (string.IsNullOrEmpty(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Configuration.ListViewLineSeparatorString = listViewLineSeparatorString; } var list = new List <string>(); foreach (string line in subtitle.Replace(Environment.NewLine, "\n").Split('\n')) { list.Add(line); } var sub = new Subtitle(); var srt = new SubRip(); srt.LoadSubtitle(sub, list, subtitleFileName); using (var form = new MainForm(sub, (this as IPlugin).Text, (this as IPlugin).Description, parentForm)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } } return(string.Empty); }
public string DoAction(Form parentForm, string srtText, double frameRate, string UILineBreak, string file, string videoFile, string rawText) { AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += CurrentDomain_ReflectionOnlyAssemblyResolve; AppDomain.CurrentDomain.AssemblyResolve += AssemblyUtils.CurrentDomainAssemblyResolve; // BuildFixCasing(parentForm, new List<string>()); var subRip = new SubRip(); var subtitle = new Subtitle(subRip); subRip.LoadSubtitle(subtitle, rawText.SplitToLines(), file); // Application.UserAppDataRegistry using (var mainForm = new Main(subtitle, UILineBreak)) { if (mainForm.ShowDialog(parentForm) == DialogResult.OK) { return(mainForm.Subtitle); } } // hack SE through parentForm // Nikse.SubtitleEdit.Core.FixCasing.cs is the file to hack // var formType = parentForm.GetType(); // var fixCasingType = formType.Assembly.GetType("Nikse.SubtitleEdit.Core.FixCasing"); // // Activator.CreateInstance(fixCasingType, BindingFlags.Instance | BindingFlags.Public, parentForm); return(string.Empty); }
public void Init(string srtText, string uiLineBreak, string file) { if (!string.IsNullOrEmpty(uiLineBreak)) { Options.UILineBreak = uiLineBreak; } _lines = new List <string>(srtText.SplitToLines()); var subrip = new SubRip(); _subtitle = new Subtitle(subrip); subrip.LoadSubtitle(_subtitle, _lines, file); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { subtitle = subtitle.Trim(); if (string.IsNullOrWhiteSpace(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } if (!IsOfficeInstalled()) { MessageBox.Show(@"Microsoft Office (Word) is not installed in this system.", "Office is not installed!!!", MessageBoxButtons.OK, MessageBoxIcon.Error); return(string.Empty); } // set frame rate Configuration.CurrentFrameRate = frameRate; // set newline visualizer for listviews if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Configuration.ListViewLineSeparatorString = listViewLineSeparatorString; } // load subtitle text into object var list = new List <string>(); foreach (string line in subtitle.Replace(Environment.NewLine, "\n").Split('\n')) { list.Add(line); } var sub = new Subtitle(); var srt = new SubRip(); srt.LoadSubtitle(sub, list, subtitleFileName); var form = new PluginForm(sub, (this as IPlugin).Name, (this as IPlugin).Description); if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } return(string.Empty); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { if (string.IsNullOrWhiteSpace(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } // set frame rate Configuration.CurrentFrameRate = frameRate; // set newline visualizer for listviews if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Configuration.ListViewLineSeparatorString = listViewLineSeparatorString; } // load subtitle text into object var list = new List <string>(); foreach (string line in subtitle.SplitToLines()) { list.Add(line); } var sub = new Subtitle(); var srt = new SubRip(); srt.LoadSubtitle(sub, list, subtitleFileName); IPlugin plugin = this; using (var form = new PluginForm(sub, plugin.Name, plugin.Description)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } } return(string.Empty); }
decimal IPlugin.Version => 3.3M; //Gets or sets the major, minor, build, and revision numbers of the assembly #endregion string IPlugin.DoAction(Form parentForm, string subtitleText, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { // Make sure subtitle isn't null or empty if (string.IsNullOrWhiteSpace(subtitleText)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } // Use custom separator for list view new lines if (!string.IsNullOrEmpty(listViewLineSeparatorString)) { Configuration.ListViewLineSeparatorString = listViewLineSeparatorString; } // Get subtitle raw lines var list = new List <string>(); list.AddRange(subtitleText.SplitToLines()); var srt = new SubRip(); var sub = new Subtitle(srt); // Load raws subtitle lines into Subtitle object srt.LoadSubtitle(sub, list, subtitleFileName); IPlugin HI2UC = this; using (var form = new PluginForm(sub, HI2UC.Name, HI2UC.Description)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.FixedSubtitle); } } return(string.Empty); }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { subtitle = subtitle.Trim(); if (string.IsNullOrEmpty(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } var list = subtitle.Replace(Environment.NewLine, "\n").Split('\n').ToList(); var sub = new Subtitle(); var srt = new SubRip(); srt.LoadSubtitle(sub, list, subtitleFileName); foreach (var paragraph in sub.Paragraphs) { string pre = string.Empty; if (paragraph.Text.StartsWith("{\\") && paragraph.Text.Contains("}")) { var idx = paragraph.Text.IndexOf("}", 2, StringComparison.Ordinal) + 1; pre = paragraph.Text.Substring(0, idx); paragraph.Text = paragraph.Text.Remove(0, idx); } var lines = paragraph.Text.SplitToLines(); var sb = new StringBuilder(paragraph.Text.Length); foreach (var line in lines) { sb.AppendLine(ReverseStringUnicodeSafe(line)); } paragraph.Text = pre + sb.ToString().TrimEnd().Replace(">i<", "<i>").Replace(">i/<", "</i>"); } return(srt.ToText(sub, string.Empty)); }
public string DoAction(Form parentForm, string srtText, double frame, string uiLineBreak, string file, string videoFile, string rawText) { // Make sure subtitle isn't null or empty if (string.IsNullOrWhiteSpace(srtText)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } // Use custom separator for list view new lines if (!string.IsNullOrEmpty(uiLineBreak)) { Options.UILineBreak = uiLineBreak; } // Get subtitle raw lines var list = new List <string>(srtText.SplitToLines()); var srt = new SubRip(); var sub = new Subtitle(srt); // Load raws subtitle lines into Subtitle object srt.LoadSubtitle(sub, list, file); IPlugin hi2Uc = this; using (var form = new PluginForm(sub, hi2Uc.Name, hi2Uc.Description)) { if (form.ShowDialog(parentForm) == DialogResult.OK) { return(form.Subtitle); } } return(string.Empty); }
public Subtitle(SubRip subrip) { _paragraphs = new List <Paragraph>(); _format = subrip; }
public Subtitle(SubRip format) { _paragraphs = new List <Paragraph>(); _format = format; }
string IPlugin.DoAction(Form parentForm, string subtitle, double frameRate, string listViewLineSeparatorString, string subtitleFileName, string videoFileName, string rawText) { subtitle = subtitle.Trim(); if (string.IsNullOrEmpty(subtitle)) { MessageBox.Show("No subtitle loaded", parentForm.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); return(string.Empty); } // load subtitle text into object var list = new List <string>(); foreach (var line in subtitle.SplitToLines()) { list.Add(line); } var sub = new Subtitle(); var srt = new SubRip(); srt.LoadSubtitle(sub, list, subtitleFileName); // write subtitle to file var tempDir = GetTemporaryDirectory(); File.WriteAllText(Path.Combine(tempDir, "Subtitle.srt"), srt.ToText(sub, "temp")); // write program to temp dir var asm = System.Reflection.Assembly.GetExecutingAssembly(); foreach (var r in asm.GetManifestResourceNames()) { if (r.EndsWith(".gz", StringComparison.Ordinal)) { WriteAndUnzipRes(asm, r, tempDir); } } // Start exe file var procInfo = new ProcessStartInfo(); procInfo.FileName = Path.Combine(tempDir, "AviFfmpegWriter.exe"); procInfo.WorkingDirectory = tempDir; var p = Process.Start(procInfo); p.WaitForExit(); // Clean up try { Directory.Delete(tempDir, true); } catch (Exception ex) { MessageBox.Show(ex.Message); } /* * foreach (var r in asm.GetManifestResourceNames()) * { * if (r.EndsWith(".gz", StringComparison.Ordinal)) * { * try * { * File.Delete(GetFileNameFromRessourceName(r)); * } * catch (Exception ex) * { * MessageBox.Show(ex.Message); * Process.Start(procInfo.WorkingDirectory); * } * } * } * try * { * File.Delete(Path.Combine(tempDir, "Subtitle.srt")); * Directory.Delete(tempDir); * } * catch (Exception ex) * { * MessageBox.Show(ex.Message); * Process.Start(procInfo.WorkingDirectory); * }*/ return(string.Empty); }
public Subtitle(SubRip subrip) { _paragraphs = new List <Paragraph>(); FileName = "Untitled"; _format = subrip; }