From 872242a378165f37d7e994dc9725a1e8f9db8e1d Mon Sep 17 00:00:00 2001 From: Dan Donovan Date: Wed, 4 Jul 2007 01:37:29 +0000 Subject: [PATCH] Made it easy for amz to steal SSATool code by adding it to the SVN Originally committed to SVN as r1345. --- SSATool/AssemblyInfo.cs | 77 + SSATool/Condition.cs | 89 + SSATool/ConditionDialog.cs | 252 + SSATool/DetectEncoding.cs | 57 + SSATool/Evaluate.cs | 739 ++ SSATool/Extras/Layer-Per-Syllable.xml | 19 + SSATool/Extras/SSATool4.3.html | 661 ++ SSATool/Extras/changelog.txt | 492 ++ SSATool/Extras/effects.exml | 17 + SSATool/Extras/notebox.xml | 67 + SSATool/Filter.cs | 194 + SSATool/Form1.cs | 6485 ++++++++++++++++++ SSATool/Form1.ja.resx | 241 + SSATool/Form1.resx | 8963 +++++++++++++++++++++++++ SSATool/InputBox.cs | 223 + SSATool/InputBox.resx | 166 + SSATool/Layer.cs | 126 + SSATool/Line.cs | 305 + SSATool/ListViewES.cs | 368 + SSATool/ListViewES.resx | 129 + SSATool/ManualTransform.cs | 180 + SSATool/Notebox.cs | 184 + SSATool/Resscale.cs | 181 + SSATool/SSATool.csproj | 172 + SSATool/SSATool.csproj.user | 70 + SSATool/SSATool.sln | 19 + SSATool/SSATool.suo | Bin 0 -> 99840 bytes SSATool/SSAToolsource.rar | Bin 0 -> 111876 bytes SSATool/SaveFileDialogWithEncoding.cs | 346 + SSATool/Style.cs | 214 + SSATool/TimeCodes.cs | 101 + SSATool/Undo.cs | 44 + SSATool/effects.aas | 103 + SSATool/effects.exml | 9 + SSATool/formEffectsEditor.cs | 434 ++ SSATool/formEffectsEditor.resx | 322 + SSATool/public.snk | Bin 0 -> 160 bytes SSATool/ssa24ov.ico | Bin 0 -> 3262 bytes SSATool/ssa24ov.png | Bin 0 -> 987 bytes SSATool/ssa24ov_16.ico | Bin 0 -> 894 bytes SSATool/ssatool.snk | Bin 0 -> 596 bytes SSATool/todo.txt | 18 + SSATool/tokens.cs | 90 + SSATool/util.cs | 158 + 44 files changed, 22315 insertions(+) create mode 100644 SSATool/AssemblyInfo.cs create mode 100644 SSATool/Condition.cs create mode 100644 SSATool/ConditionDialog.cs create mode 100644 SSATool/DetectEncoding.cs create mode 100644 SSATool/Evaluate.cs create mode 100644 SSATool/Extras/Layer-Per-Syllable.xml create mode 100644 SSATool/Extras/SSATool4.3.html create mode 100644 SSATool/Extras/changelog.txt create mode 100644 SSATool/Extras/effects.exml create mode 100644 SSATool/Extras/notebox.xml create mode 100644 SSATool/Filter.cs create mode 100644 SSATool/Form1.cs create mode 100644 SSATool/Form1.ja.resx create mode 100644 SSATool/Form1.resx create mode 100644 SSATool/InputBox.cs create mode 100644 SSATool/InputBox.resx create mode 100644 SSATool/Layer.cs create mode 100644 SSATool/Line.cs create mode 100644 SSATool/ListViewES.cs create mode 100644 SSATool/ListViewES.resx create mode 100644 SSATool/ManualTransform.cs create mode 100644 SSATool/Notebox.cs create mode 100644 SSATool/Resscale.cs create mode 100644 SSATool/SSATool.csproj create mode 100644 SSATool/SSATool.csproj.user create mode 100644 SSATool/SSATool.sln create mode 100644 SSATool/SSATool.suo create mode 100644 SSATool/SSAToolsource.rar create mode 100644 SSATool/SaveFileDialogWithEncoding.cs create mode 100644 SSATool/Style.cs create mode 100644 SSATool/TimeCodes.cs create mode 100644 SSATool/Undo.cs create mode 100644 SSATool/effects.aas create mode 100644 SSATool/effects.exml create mode 100644 SSATool/formEffectsEditor.cs create mode 100644 SSATool/formEffectsEditor.resx create mode 100644 SSATool/public.snk create mode 100644 SSATool/ssa24ov.ico create mode 100644 SSATool/ssa24ov.png create mode 100644 SSATool/ssa24ov_16.ico create mode 100644 SSATool/ssatool.snk create mode 100644 SSATool/todo.txt create mode 100644 SSATool/tokens.cs create mode 100644 SSATool/util.cs diff --git a/SSATool/AssemblyInfo.cs b/SSATool/AssemblyInfo.cs new file mode 100644 index 000000000..05441a29d --- /dev/null +++ b/SSATool/AssemblyInfo.cs @@ -0,0 +1,77 @@ +/* +SSATool - A collection of utilities for Advanced Substation Alpha +Copyright (C) 2007 Dan Donovan + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; ONLY under version 2 + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + +using System.Reflection; +using System.Runtime.CompilerServices; + +// +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +// +[assembly: AssemblyTitle("SSATool")] +[assembly: AssemblyDescription("A typesetting tool for Advanced Substation Alpha files.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SSATool")] +[assembly: AssemblyCopyright("Dan Donovan")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion("4.3.6.0")] + +// +// In order to sign your assembly you must specify a key to use. Refer to the +// Microsoft .NET Framework documentation for more information on assembly signing. +// +// Use the attributes below to control which key is used for signing. +// +// Notes: +// (*) If no key is specified, the assembly is not signed. +// (*) KeyName refers to a key that has been installed in the Crypto Service +// Provider (CSP) on your machine. KeyFile refers to a file which contains +// a key. +// (*) If the KeyFile and the KeyName values are both specified, the +// following processing occurs: +// (1) If the KeyName can be found in the CSP, that key is used. +// (2) If the KeyName does not exist and the KeyFile does exist, the key +// in the KeyFile is installed into the CSP and used. +// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. +// When specifying the KeyFile, the location of the KeyFile should be +// relative to the project output directory which is +// %Project Directory%\obj\. For example, if your KeyFile is +// located in the project directory, you would specify the AssemblyKeyFile +// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] +// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework +// documentation for more information on this. +// +[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile(@"c:\documents and settings\administrator\my documents\visual studio projects\ssatool.snk")] +[assembly: AssemblyKeyName("")] diff --git a/SSATool/Condition.cs b/SSATool/Condition.cs new file mode 100644 index 000000000..15a41e50f --- /dev/null +++ b/SSATool/Condition.cs @@ -0,0 +1,89 @@ +/* +SSATool - A collection of utilities for Advanced Substation Alpha +Copyright (C) 2007 Dan Donovan + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; ONLY under version 2 + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + +using System; +//using System.Collections; +using System.Collections.Generic; + +namespace SSATool +{ + public class Condition : ICloneable { + public string ConditionOne; + public string ConditionOp; + public string ConditionTwo; + public bool ConditionEnabled; + + public Condition() { } + + public Condition(string ConditionOne, string ConditionOp, string ConditionTwo, bool ConditionEnabled) { + this.ConditionOne = ConditionOne; + this.ConditionOp = ConditionOp; + this.ConditionTwo = ConditionTwo; + this.ConditionEnabled = ConditionEnabled; + } + + public object Clone() { + return this.MemberwiseClone(); + } + } + + public class ConditionColl { + protected List conditionColl; + + public ConditionColl() { + conditionColl = new List(); + } + + public int ConditionCount { + get { return conditionColl.Count; } + } + public void AddCondition(string CondOne, string CondOp, string CondTwo) { + Condition newCond = new Condition(CondOne,CondOp,CondTwo,true); + conditionColl.Add(newCond); + } + + public void AddCondition(string CondOne, string CondOp, string CondTwo, bool CondEnabled) { + Condition newCond = new Condition(); + newCond.ConditionOne = CondOne; + newCond.ConditionOp = CondOp; + newCond.ConditionTwo = CondTwo; + newCond.ConditionEnabled = CondEnabled; + conditionColl.Add(newCond); + } + + public void AddCondition(Condition tc) { + conditionColl.Add(tc); + } + + public Condition GetCondition(int index) { + return conditionColl[index]; + } + + public void RemoveCondition(int index) { + if (conditionColl.Count > index) conditionColl.RemoveAt(index); + } + + public List CloneConditions() { + List nl = new List(); + for(int index=0;index!=conditionColl.Count;index+=1) + nl.Add((Condition)conditionColl[index].Clone()); + return nl; + } + } +} diff --git a/SSATool/ConditionDialog.cs b/SSATool/ConditionDialog.cs new file mode 100644 index 000000000..a008c9853 --- /dev/null +++ b/SSATool/ConditionDialog.cs @@ -0,0 +1,252 @@ +/* +SSATool - A collection of utilities for Advanced Substation Alpha +Copyright (C) 2007 Dan Donovan + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; ONLY under version 2 + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + +using System; +using System.ComponentModel; +using System.Windows.Forms; + +namespace SSATool +{ + /// + /// Summary description for ConditionDialog. + /// + public class ConditionDialog : System.Windows.Forms.Form + { + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.ComboBox comboBox1; + private System.Windows.Forms.Button cmdCancel; + private System.Windows.Forms.Button cmdOK; + private System.Windows.Forms.TextBox txtC1; + private System.Windows.Forms.TextBox txtC2; + private System.Windows.Forms.Label lblPrompt; + /// + /// Required designer variable. + /// + private System.ComponentModel.Container components = null; + + public ConditionDialog() { + InitializeComponent(); + } + + /// + /// Clean up any resources being used. + /// + protected override void Dispose( bool disposing ) + { + if( disposing ) + { + if(components != null) + { + components.Dispose(); + } + } + base.Dispose( disposing ); + } + + #region Windows Form Designer generated code + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.txtC1 = new System.Windows.Forms.TextBox(); + this.txtC2 = new System.Windows.Forms.TextBox(); + this.lblPrompt = new System.Windows.Forms.Label(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.cmdCancel = new System.Windows.Forms.Button(); + this.cmdOK = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // label1 + // + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); + this.label1.Location = new System.Drawing.Point(8, 56); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(128, 20); + this.label1.TabIndex = 6; + this.label1.Text = "Condition One:"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label2 + // + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); + this.label2.Location = new System.Drawing.Point(8, 80); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(128, 20); + this.label2.TabIndex = 7; + this.label2.Text = "Condition Two:"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // label3 + // + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); + this.label3.Location = new System.Drawing.Point(8, 104); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(128, 20); + this.label3.TabIndex = 8; + this.label3.Text = "Comparison:"; + this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // txtC1 + // + this.txtC1.Location = new System.Drawing.Point(144, 56); + this.txtC1.Name = "txtC1"; + this.txtC1.Size = new System.Drawing.Size(336, 20); + this.txtC1.TabIndex = 0; + this.txtC1.Text = ""; + this.txtC1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtC_KeyPress); + // + // txtC2 + // + this.txtC2.Location = new System.Drawing.Point(144, 80); + this.txtC2.Name = "txtC2"; + this.txtC2.Size = new System.Drawing.Size(336, 20); + this.txtC2.TabIndex = 1; + this.txtC2.Text = ""; + this.txtC2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtC_KeyPress); + // + // lblPrompt + // + this.lblPrompt.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); + this.lblPrompt.Location = new System.Drawing.Point(0, 8); + this.lblPrompt.Name = "lblPrompt"; + this.lblPrompt.Size = new System.Drawing.Size(480, 40); + this.lblPrompt.TabIndex = 5; + // + // comboBox1 + // + this.comboBox1.ImeMode = System.Windows.Forms.ImeMode.Off; + this.comboBox1.Items.AddRange(new object[] { + "=", + "==", + "!=", + "!==", + ">", + ">=", + "<", + "<="}); + this.comboBox1.Location = new System.Drawing.Point(144, 104); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(120, 21); + this.comboBox1.TabIndex = 2; + this.comboBox1.Text = "=="; + this.comboBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.comboBox1_KeyPress); + // + // cmdCancel + // + this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.cmdCancel.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cmdCancel.Location = new System.Drawing.Point(384, 104); + this.cmdCancel.Name = "cmdCancel"; + this.cmdCancel.Size = new System.Drawing.Size(96, 24); + this.cmdCancel.TabIndex = 4; + this.cmdCancel.Text = "Cancel"; + // + // cmdOK + // + this.cmdOK.DialogResult = System.Windows.Forms.DialogResult.OK; + this.cmdOK.FlatStyle = System.Windows.Forms.FlatStyle.Popup; + this.cmdOK.Location = new System.Drawing.Point(272, 104); + this.cmdOK.Name = "cmdOK"; + this.cmdOK.Size = new System.Drawing.Size(96, 24); + this.cmdOK.TabIndex = 3; + this.cmdOK.Text = "OK"; + // + // ConditionDialog + // + this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); + this.ClientSize = new System.Drawing.Size(488, 135); + this.Controls.Add(this.cmdOK); + this.Controls.Add(this.cmdCancel); + this.Controls.Add(this.comboBox1); + this.Controls.Add(this.lblPrompt); + this.Controls.Add(this.txtC2); + this.Controls.Add(this.txtC1); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "ConditionDialog"; + this.Text = "ConditionDialog"; + this.Load += new System.EventHandler(this.ConditionDialog_Load); + this.ResumeLayout(false); + + } + #endregion + + private void ConditionDialog_Load(object sender, System.EventArgs e) { + + } + public static ConditionDialogResult Show(string prompt, string title, int xpos, int ypos) { + using (ConditionDialog form = new ConditionDialog()) { + form.Text = title; + form.lblPrompt.Text = prompt; + + if (xpos >= 0 && ypos >= 0) { + form.StartPosition = FormStartPosition.Manual; + form.Left = xpos; + form.Top = ypos; + } + + DialogResult result = form.ShowDialog(); + + ConditionDialogResult retval = new ConditionDialogResult(); + if (result == DialogResult.OK) { + retval.ConditionOne = form.txtC1.Text; + retval.ConditionTwo = form.txtC2.Text; + retval.ConditionComp = form.comboBox1.Text; + retval.OK = true; + } + return retval; + } + } + + private void txtC_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { + if ((e.KeyChar == (char)10) || (e.KeyChar == (char)13)) { + e.Handled = true; + cmdOK.PerformClick(); + } + } + + private void comboBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { + e.Handled = true; // We don't want anyone typing here anyway! + if (e.KeyChar == (char)Keys.Enter) + cmdOK.PerformClick(); + } + + public static ConditionDialogResult Show(string prompt, string title) { + return Show(prompt, title, -1, -1); + } + } + + public class ConditionDialogResult { + public string ConditionOne; + public string ConditionTwo; + public string ConditionComp; + public bool OK; + } +} diff --git a/SSATool/DetectEncoding.cs b/SSATool/DetectEncoding.cs new file mode 100644 index 000000000..f68d6659d --- /dev/null +++ b/SSATool/DetectEncoding.cs @@ -0,0 +1,57 @@ +/* +SSATool - A collection of utilities for Advanced Substation Alpha +Copyright (C) 2007 Dan Donovan + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; ONLY under version 2 + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + +using System; +using System.Collections.Generic; +using System.Text; + +namespace SSATool { + public static class DetectEncoding { + // This detection could use some serious improving. + // All detection should return the occurances as an integer. + public static int DetectSJIS(byte[] input) { + int occ=0; + byte lastMatched=0; + byte thisbyte; + for (int index=0;index!=input.Length;index++) { + thisbyte = input[index]; + if ((lastMatched==130&&thisbyte>=159&&thisbyte<=241) || + (lastMatched==131&&thisbyte>=64&&thisbyte<=151)) occ++; + else if (thisbyte==130||thisbyte==131||thisbyte>=136) lastMatched=thisbyte; + else lastMatched=0; + } + return occ; + } + + public static int DetectEUCJP(byte[] input) { + int occ=0; + byte lastMatched=0; + byte thisbyte; + for (int index=0;index!=input.Length;index++) { + thisbyte = input[index]; + if (lastMatched>=163&&lastMatched<=250&&thisbyte>=160) occ++; + else if (thisbyte>=163&&thisbyte<=250) lastMatched=thisbyte; + else lastMatched=0; + } + return occ; + + + } + } +} diff --git a/SSATool/Evaluate.cs b/SSATool/Evaluate.cs new file mode 100644 index 000000000..bb8e0081e --- /dev/null +++ b/SSATool/Evaluate.cs @@ -0,0 +1,739 @@ +/* +SSATool - A collection of utilities for Advanced Substation Alpha +Copyright (C) 2007 Dan Donovan + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; ONLY under version 2 + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + +using System; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Windows.Forms; +using System.Collections.Generic; + +namespace SSATool { + public static class Evaluate { + + public static string ScriptParse(string input) { + char[] charain = input.ToCharArray(); // It is over twice as fast to parse this as a character array! + StringBuilder sb = new StringBuilder(); + + int dIndex = 0, eIndex = 0, pIndex = 0, lastIndex = -1, parenLevel = 0, index; + bool foundds = false; + + for (index=0;index lastIndex) sb.Append(input, lastIndex+1, input.Length-(lastIndex+1)); + + return sb.ToString(); + } + + public static string ScriptParse_Helper(string function, string args) { + unsafe { + switch (function) { + case "eval": + return Evaluate.Eval(args).ToString(); + case "logic": + return Evaluate.Eval(args).ToString(); + case "iif": + string[] tok = args.Split(",".ToCharArray()); + if (tok.Length != 3) return "error"; + else if (Evaluate.Eval(tok[0]).Equals(true)) return tok[1]; + else return tok[2]; + case "len": + return args.Length.ToString(Util.nfi); + case "left": + string[] tokl = args.Split(",".ToCharArray()); + if ((tokl.Length != 2) || (!Evaluate.isNum(tokl[1]))) return "error"; + else try { + return tokl[0].Substring(0, int.Parse(tokl[1], Util.cfi)); + } catch { + return "error"; + } + case "mid": + string[] tokm = args.Split(",".ToCharArray()); + if ((tokm.Length != 3) || (!Evaluate.isNum(tokm[1])) || (!Evaluate.isNum(tokm[2]))) return "error"; + else try { + return tokm[0].Substring(int.Parse(tokm[1]), int.Parse(tokm[2], Util.cfi)); + } catch { + return "error"; + } + case "right": + string[] tokr = args.Split(",".ToCharArray()); + if ((tokr.Length != 2) || (!Evaluate.isNum(tokr[1]))) return "error"; + else try { + return tokr[0].Substring(tokr[0].Length - int.Parse(tokr[1], Util.cfi), int.Parse(tokr[1], Util.cfi)); + } catch { + return "error"; + } + case "str": + string[] str = args.Split(",".ToCharArray()); + if ((str.Length != 2) || (!Evaluate.isNum(str[1]))) return "error"; + else try { + string retstr = String.Empty; + for (int strindex=0;strindex= splitlist4.Length) return splitlist4[splitlist4.Length-1]; + else return splitlist4[index3]; + + default: // Unrecognized function... Let's treat it as a string. + return "$" + function + "(" + args + ")"; + } + } + } + + public static readonly Random rand = new Random(); + private static SortedList ops; + private static SortedList constants; + + private static void evaluate_stack_tops_function(Stack numStack, Stack funcStack) { + short numParams = (short)numStack.Pop(); + string func = funcStack.Pop(); + switch (func.ToLowerInvariant()) { + case "rand" : + if (numParams > 2) throw new ArgumentException("Eval.rand"); + switch (numParams) { + case 0 : + numStack.Push(rand.Next()); + break; + case 1 : + int randOneR = Convert.ToInt32(numStack.Pop()); + numStack.Push(rand.Next(randOneR)); + break; + case 2 : + int randOne, randTwo; + randTwo = Convert.ToInt32(numStack.Pop(), Util.nfi); + randOne = Convert.ToInt32(numStack.Pop(), Util.nfi); + numStack.Push(rand.Next(randOne,randTwo)); + break; + } + break; + case "randf" : + if (numParams > 2) throw new ArgumentException("Eval.randf"); + + switch (numParams) { + case 0 : + numStack.Push(rand.NextDouble()); + break; + case 1 : + double randOneRF = (double)numStack.Pop(); + numStack.Push(rand.NextDouble()*randOneRF); + break; + case 2 : + double randOneF, randTwoF; + randTwoF = (double)numStack.Pop(); + randOneF = (double)numStack.Pop(); + numStack.Push(randOneF + rand.NextDouble()*(randTwoF-randOneF)); + break; + } + break; + case "randlist" : + int listindex = rand.Next(0, numParams - 1); + string randlist = string.Empty; + for (int i = 0; i != numParams; i += 1) { + if (i == listindex) randlist = (string)numStack.Pop(); + else numStack.Pop(); + } + numStack.Push(randlist); + break; + case "round" : + if (numParams != 2) throw new ArgumentException("Eval.round"); + double roundme; + int dplaces; + dplaces = Convert.ToInt32(numStack.Pop(), Util.nfi); + roundme = (double) numStack.Pop(); + numStack.Push(Math.Round(roundme,dplaces)); + break; + case "bound" : + if (numParams != 3) throw new ArgumentException("Eval.bound"); + double num, min, max; + max = (double) numStack.Pop(); + min = (double) numStack.Pop(); + num = (double) numStack.Pop(); + num = ((num < min) ? min : num); + num = ((num > max) ? max : num); + numStack.Push(num); + break; + case "max" : + if (numParams < 2) throw new ArgumentException("Eval.max"); + double ansMax; + ansMax = Math.Max((double)numStack.Pop(),(double)numStack.Pop()); + for(int index=2;index!=numParams;index+=1) { + ansMax = Math.Max(ansMax,(double)numStack.Pop()); + } + numStack.Push(ansMax); + break; + case "min" : + if (numParams < 2) throw new ArgumentException("Eval.min"); + double ansMin; + ansMin = Math.Min((double)numStack.Pop(),(double)numStack.Pop()); + for(int index=2;index!=numParams;index+=1) { + ansMin = Math.Min(ansMin,(double)numStack.Pop()); + } + numStack.Push(ansMin); + break; + case "ceil" : + if (numParams != 1) throw new ArgumentException("Eval.ceil"); + double ceil; + ceil = (double) numStack.Pop(); + numStack.Push(Math.Ceiling(ceil)); + break; + case "floor" : + if (numParams != 1) throw new ArgumentException("Eval.floor"); + double floor; + floor = (double) numStack.Pop(); + numStack.Push(Math.Floor(floor)); + break; + case "int" : + if (numParams != 1) throw new ArgumentException("Eval.int"); + double thisnum; + thisnum = (double) numStack.Pop(); + numStack.Push(Convert.ToInt32(thisnum,Util.nfi)); + break; + case "abs" : + if (numParams != 1) throw new ArgumentException("Eval.abs"); + double abs; + abs = (double) numStack.Pop(); + numStack.Push(Math.Abs(abs)); + break; + case "sin" : + if (numParams != 1) throw new ArgumentException("Eval.sin"); + double sin; + sin = (double) numStack.Pop(); + numStack.Push(Math.Sin(sin)); + break; + case "asin" : + if (numParams != 1) throw new ArgumentException("Eval.asin"); + double asin; + asin = (double) numStack.Pop(); + numStack.Push(Math.Asin(asin)); + break; + case "cos" : + if (numParams != 1) throw new ArgumentException("Eval.cos"); + double cos; + cos = (double) numStack.Pop(); + numStack.Push(Math.Cos(cos)); + break; + case "acos" : + if (numParams != 1) throw new ArgumentException("Eval.acos"); + double acos; + acos = (double) numStack.Pop(); + numStack.Push(Math.Acos(acos)); + break; + case "tan" : + if (numParams != 1) throw new ArgumentException("Eval.tan"); + double tan; + tan = (double) numStack.Pop(); + numStack.Push(Math.Tan(tan)); + break; + case "atan" : + if (numParams != 1) throw new ArgumentException("Eval.atan"); + double atan; + atan = (double) numStack.Pop(); + numStack.Push(Math.Atan(atan)); + break; + case "atan2" : + if (numParams != 1) throw new ArgumentException("Eval.atan2"); + double atanx,atany; + atanx = (double) numStack.Pop(); + atany = (double) numStack.Pop(); + numStack.Push(Math.Atan2(atanx,atany)); + break; + case "log" : + if (numParams != 1) throw new ArgumentException("Eval.log"); + double log; + log = (double) numStack.Pop(); + numStack.Push(Math.Log(log)); + break; + case "sqrt" : + if (numParams != 1) throw new ArgumentException("Eval.sqrt"); + numStack.Push(Math.Sqrt((double)numStack.Pop())); + break; + case "len" : + if (numParams != 1) throw new ArgumentException("Eval.len"); + numStack.Push(((string)numStack.Pop()).Length); + break; + case "fact" : + case "factorial" : + if (numParams != 1) throw new ArgumentException("Eval.fact"); + numStack.Push(Convert.ToDouble(Factorial(Convert.ToInt32(numStack.Pop(), Util.nfi)), Util.nfi)); + break; + case "gcd" : + if (numParams != 2) throw new ArgumentException("Eval.gcd"); + numStack.Push(EuclidGCD(Convert.ToInt32(numStack.Pop(), Util.nfi), Convert.ToInt32(numStack.Pop(), Util.nfi))); + break; + case "lcm" : + if (numParams != 2) throw new ArgumentException("Eval.lcm"); + int lcm2 = Convert.ToInt32(numStack.Pop(),Util.nfi); + int lcm1 = Convert.ToInt32(numStack.Pop(),Util.nfi); + numStack.Push((lcm1+lcm2)/EuclidGCD(lcm1,lcm2)); + break; + default : + if (numParams==1 && numStack.Peek() is string) // might be a string w/o quotes, so push it back on as one + numStack.Push(func+"("+numStack.Pop()+")"); + break; + } + } + private static void evaluate_stack_tops(Stack numStack, System.Collections.Generic.Stack opStack, System.Collections.Generic.Stack funcStack, bool safetyKill) { + if (((numStack.Count != 0) || (funcStack.Count != 0)) && (opStack.Count != 0) && (!opStack.Peek().Equals(","))) { + char Operation = opStack.Pop(); + if (Operation == '@') { // @ is the placeholder for a function. The function itself is in funcStack. + evaluate_stack_tops_function(numStack, funcStack); + } + else if (Operation == '~') { + object obj = numStack.Pop(); + if (obj is bool) numStack.Push(!(bool)obj); + else if (obj is int) numStack.Push(~(int)obj); + else numStack.Push(obj); + } + else if (Operation == '!') { + int fact = Convert.ToInt32(numStack.Pop(), Util.cfi); + numStack.Push(Convert.ToDouble(Factorial(fact), Util.nfi)); + } + else if (numStack.Count >= 2) { + object objOne, objTwo; + objTwo = numStack.Pop(); + objOne = numStack.Pop(); + try { + switch (Operation) { + case 'c': // concatenation + numStack.Push((string)objOne + objTwo.ToString()); + break; + case '^': // power + numStack.Push(Math.Pow((double)objOne, (double)objTwo)); + break; + case '*': // multiplication + numStack.Push((double)objOne * (double)objTwo); + break; + case '/': // division + numStack.Push((double)objOne / (double)objTwo); + break; + case '%': // modulus + //numStack.Push((int)(double)objOne%(int)(double)objTwo); + numStack.Push(Math.IEEERemainder((double)objOne, (double)objTwo)); + break; + case '+': // addition + numStack.Push((double)objOne + (double)objTwo); + break; + case '-': // subtraction + numStack.Push((double)objOne - (double)objTwo); + break; + case '>': // greater than + numStack.Push(doCompare(objOne, objTwo, false) >= 0); + break; + case 'G': // greater than or equal to + numStack.Push(doCompare(objOne, objTwo, false) == 1); + break; + case '<': // less than + numStack.Push(doCompare(objOne, objTwo, false) == -1); + break; + case 'L': // less than or equal to + numStack.Push(doCompare(objOne, objTwo, false) <= 0); + break; + case '=': // case-sensitive equal + numStack.Push(doCompare(objOne, objTwo, false) == 0); + break; + case 'i': // case-insensitive equal + numStack.Push(doCompare(objOne, objTwo, true) == 0); + break; + case 'N': // case-sensitive not equal + numStack.Push(doCompare(objOne, objTwo, false) != 0); + break; + case 'I': // case-insensitive not equal + numStack.Push(doCompare(objOne, objTwo, true) != 0); + break; + case '&': // bitwise-and + numStack.Push((int)objOne & (int)objTwo); + break; + case 'X': // bitwise-xor + numStack.Push((int)objOne ^ (int)objTwo); + break; + case '|': // bitwise-or + numStack.Push((int)objOne | (int)objTwo); + break; + case 'A': // boolean and + numStack.Push((bool)objOne && (bool)objTwo); + break; + case 'O': // boolean or + numStack.Push((bool)objOne || (bool)objTwo); + break; + case 'r': // shift right + numStack.Push((int)objOne >> (int)objTwo); + break; + case 'l': // shift left + numStack.Push((int)objOne << (int)objTwo); + break; + } + } catch { throw new FormatException(); } + } + // Can't make sense of the stacks, so just clear them... + else if (safetyKill) { + funcStack.Clear(); + opStack.Clear(); + numStack.Clear(); + } + } + + } + private static int doCompare(object objOne, object objTwo, bool caseIns) { + if (objOne is string || objTwo is string) + return String.Compare(objOne.ToString(), objTwo.ToString(), caseIns); + else if (objOne is bool && objTwo is bool) + return ((bool)objOne).CompareTo((bool)objTwo); + else if (objOne is double && objTwo is double) + return ((double)objOne).CompareTo((double)objTwo); + else if (objOne is bool && objTwo is double) + return ((bool)objOne).CompareTo((double)objTwo!=0.0); + else if (objOne is double && objTwo is bool) + return ((double)objOne!=0.0).CompareTo((bool)objTwo); + /* + else if (objOne is int && objTwo is int) + return ((int)objOne).CompareTo((int)objTwo); + else if (objOne is bool && objTwo is int) + return ((bool)objOne).CompareTo((int)objTwo!=0); + else if (objOne is int && objTwo is bool) + return ((int)objOne!=0).CompareTo((bool)objTwo); + else if (objOne is double && objTwo is int) + return ((double)objOne).CompareTo((double)(int)objTwo); + else if (objOne is int && objTwo is double) + return ((double)(int)objOne).CompareTo((double)objTwo); + */ + throw new ArgumentException("Eval.doCompare"); + } + public static bool isNum(string input) { + if (input.Length == 0) return false; + char[] charain = input.ToCharArray(); + for (int index=(input.StartsWith("-")?1:0);index>= 1; /* shift u right, dividing it by 2 */ + v >>= 1; /* shift v right, dividing it by 2 */ + k+=1; /* add a power of 2 to the final result */ + } + /* At this point either u or v (or both) is odd */ + do { + if ((u & 1) == 0) /* if u is even */ + u >>= 1; /* divide u by 2 */ + else if ((v & 1) == 0) /* else if v is even */ + v >>= 1; /* divide v by 2 */ + else if (u >= v) /* u and v are both odd */ + u = (u-v) >> 1; + else /* u and v both odd, v > u */ + v = (v-u) >> 1; + } while (u > 0); + return v << k; /* returns v * 2^k */ + } + public static int Factorial(int x) { + int result=1; + for (int index = x; index != 0; index--) { + result *= index; + } + return result; + } + + private static byte opOrder(char tOp) { + byte retVal; + switch (tOp) { + case '!': // factorial + retVal = 20; + break; + case '@': // function + retVal=16; + break; + case ',': // function argument separator + retVal=15; + break; + case 'c': // concatenation + retVal=14; + break; + case '~': // inversion + retVal=13; + break; + case '^': // power + retVal=12; + break; + case '*': // multiplication + case '/': // division + case '%': // modulus + case '\\': // integer division + retVal=11; + break; + case '+': // addition + case '-': // subtraction + retVal=10; + break; + case '>': // greater than + case 'G': // greater than or equal to + case '<': // less than + case 'L': // less than or equal to + retVal=8; + break; + case '=': // case-sensitive equal + case 'i': // case-insensitive equal + case 'N': // case-sensitive not equal + case 'I': // case-insensitive not equal + retVal=7; + break; + case '&': // bitwise-and + retVal=6; + break; + case 'X': // bitwise-xor + retVal=5; + break; + case '|': // bitwise-or + retVal=4; + break; + case 'A': // boolean and + retVal=3; + break; + case 'O': // boolean or + retVal=2; + break; + case 'r': // shift right + case 'l': // shift left + retVal=9; + break; + default: // not an operation + retVal=0; + break; + } + return retVal; + } + public static bool isOp(char i, short pos) { + if (pos==1) return ("!+-*/\\%^&|=<>~".IndexOf(i) != -1); + else if (pos==2) return ("&|^=)".IndexOf(i) != -1); + else if (pos==3) return i=='='; + return false; + } + public static void FillOpsList() { + ops = new SortedList(23); + ops.Add(">>", 'r'); + ops.Add(">=", 'G'); + ops.Add(">", '>'); + ops.Add("===", '='); + ops.Add("==", '='); + ops.Add("=", 'i'); + ops.Add("<=", 'L'); + ops.Add("<<", 'l'); + ops.Add("<", '<'); + ops.Add("+", '+'); + ops.Add("||", 'O'); + ops.Add("|", '|'); + ops.Add("^^", 'X'); + ops.Add("^", '^'); + ops.Add("/", '/'); + ops.Add("*", '*'); + ops.Add("&&", 'A'); + ops.Add("&", '&'); + ops.Add("%", '%'); + ops.Add("-", '-'); + ops.Add("!==", 'I'); + ops.Add("!=", 'N'); + ops.Add("!", '!'); + ops.Add("~", '~'); + + constants = new SortedList(6); + constants.Add("e", Math.E); + constants.Add("false",false); + constants.Add("g", 1.6180339887498948482045868); + constants.Add("pi", Math.PI); + constants.Add("true", true); + constants.Add("y", 0.5772156649015328606065120); + } + + public static object Eval(string input) { + char[] charain = input.ToCharArray(); + Stack opStack = new Stack(16); + Stack numStack = new Stack(16); + Stack funcStack = new Stack(8); + + string buff; + int i = 0, pLevel; + char thisOp; + short loop, numParams; + bool lastwasop = true; + bool isnumber, isfloat, infunc, inquotes, unknownString = false; + + while (i < charain.Length) { + if (charain[i].Equals('(')) { + pLevel = 1; + buff = string.Empty; + while (pLevel!=0 && ++i + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SSATool/Extras/SSATool4.3.html b/SSATool/Extras/SSATool4.3.html new file mode 100644 index 000000000..6285f8172 --- /dev/null +++ b/SSATool/Extras/SSATool4.3.html @@ -0,0 +1,661 @@ + + + SSATool Readme + + + +
+

SSATool 4.3


+

Purpose

To automate the creation and manipulation of Advanced Substation Alpha files.

+ +

Functions

+ +
+
Shifting
+
+ SSATool can shift a file by entering a time (hour:minutes:seconds.subseconds), by a given number of frames, or by specifying an 'old' time and the new time that it should be shifted to. Shifting by time or frames require a given direction, while time difference already has a direction, given the 2 times. +
+ +

Shifting options

+
+
    +
  • Shift Start/End times: You may choose to only shift the start or end times of each line.
  • +
  • Replace negative times: If you're shifting backwards and some times end up negative, this option will replace them with a 0 time. After all, who wants to see subtitles before you even watch the video?
  • +
      +
+


+ + +
+
Commands
+
+ These are parameterless functions that don't take much explaining. +
+
    +
  • Strip SSA: Strips all SSA code except for \k,\K,\kf,\ko. Useful for when you want to undo typesetting to a file but keep the timing.
  • +
  • Removes duplicate dialogue lines. If you've got a file that used layer per syllable type karaoke and you strip SSA, you'll have several duplicate lines.
  • +
  • Change last \k based on line length: Goes through dialog lines, and adjusts the length of the last syllable to match the length of the line. It is possible for this value to turn out negative if the timing is way off, so use it with care.
  • +
+


+ + +
+
Length-based \k or \K
+
+ This changes each syllable to \k or \K as determined by a threshold. +
+
+
    +
  • Threshold: Anything above or equal to this gets changed to \K and anything under it uses \k.
  • +
+
+


+ + +
+
Scale Resolution
+
+ SSATool can change a resolution of a SSA file for you. If you have two different files that you want to merge, but they have different resolutions, then you must use a function like this. +
+ +

Scaling options

+
+
    +
  • Scale factor: Pretty straightforwardly, the amount that you want to scale by.
  • +
  • Scale PlayRes: Scale PlayResX/PlayResY in the header, if they're already there. They must be checked for this to do anything.
  • +
+
+ +

Scaled Parameters

+
+
    +
  • Style lines: Font size, outline, shadow, margins
  • +
  • Dialogue lines: Margin overrides
  • +
  • \bord: using Y scale
  • +
  • \clip: using X and Y scales
  • +
  • \fs: using Y scale
  • +
  • \fsp: using X scale
  • +
  • \move: using X and Y scales
  • +
  • \org: using X and Y scales
  • +
  • \p: Coordinates will be scaled with X and Y scales. If a \p1 is in a \clip, it DOES continue past the clip unless you \p0.
  • +
  • \pbo: using Y scale
  • +
  • \pos: using X and Y scales
  • +
  • \shad: using Y scale
  • +
+
+ +


+ + +
+
Lead-in/out
+
+ This adds a lead-in/out to lines. It can add a \k to the beginning of the line to compensate. It does not current affect other tags like \t, \move, etc. +
+ +

Options

+
+
    +
  • In Time: If checked, this is the amount of lead-in time. If it's a number, it's interpreted as seconds. Else it's interpreted as a timecode.
  • +
  • Out Time: If checked, this is the amount of lead-out time. If it's a number, it's interpreted as seconds. Else it's interpreted as a timecode.
  • +
  • Affect only karaoke lines: Affect only lines with \k in them if checked.
  • +
  • Add empty \k for karaoke: Add a \k to compensate for lead-in time to lines that have \k in them already.
  • +
+
+


+ + +
+
Gradient Maker
+
+ This will create a gradient by making several lines using clip. You may type text in, or you may select a line from the loaded file and click "Copy Selected List Item to Input." If the line has dialogue: ... in it (IE the information for the line and not just the line itself), then select that and click the "Move Selected" button next to the "Before Grad." textbox. This will place that text before each line without actually putting it in the gradient. Fill in the boxes and click Create. +
+

Options:

+
+
    +
  • Before Gradient: This is text that doesn't get gradiented. Put all the Dialogue: ... stuff here. This is easily accomplished by highlighting the appropriate text in the "Gradient Text" field and clicking the "Move Selected" button.
  • +
  • Clip Lines: How many lines the gradient will span. More lines is more precise.
  • +
  • Start/End Pos: The start and end positions in coordinate form x,y. Only include the part that will increase, IE if you want to go across a 640x480 screen horizontally, only x should be increasing here, and the height of 480 is an offset (it's always there), so leave height 0 here.
  • +
  • Offset: Static values that are added to the second X and Y positions. See the above example, where the offset here would be 0,480.
  • +
  • Start/End Value: The start and end colors in (A)BGR form. They can be in decimal form or in hex form with leading H. Do not include ampersands. Alpha is optional (as denoted by the parenthesis).
  • +
  • Linear/Log/Exp grad: These control how the colors are scaled: linearly, logarithmically, or exponentially (base^ratio). If you use one of the latter two, set the base to something greater than 1.
  • +
  • Turnaround: This will allow you to go from the start value to the end value somewhere in the middle of the gradient, and then back to start RGB. It's a percentage. At 50%, it will turn around at the halfway point.
  • +
+
+


+ + + +
+
Blur
+
+ This allows you to use layered alpha blurring. Make sure your input does not have a \bord or \pos coordinate in it, unless you're doing a glow, which does allow \pos. Also, if your line has dialogue: ... in it, make sure to select that part of the line and click the "Move Selected" button next to the "Before Blur" textbox. +
+

Options:

+
+
    +
  • Before Blur: This is text that doesn't get blurred. Put all the Dialogue: ... stuff here. This is easily accomplished by highlighting the appropriate text in the "Blur Text" field and clicking the "Move Selected" button.
  • +
  • Type: This allows you to select "true blur" or glow. True blur will move the line around with different alpha values given a position of the text. Glow will just leave the text in the same spot while creating subsequently larger borders with more alpha.
  • +
  • Lines: Only used with glow option. Creates the given amount of lines where each line has a larger border than the last.
  • +
  • Start/End alpha: Start and end alpha values. Decimal or hex with leading H. Omit the ampersands.
  • +
  • Blur Radius: How many pixels the blur should be.
  • +
  • Position: Only needed for true blur: The position on the screen where the text is in x,y form. Pixels will be added/subtracted to this value.
  • +
  • Linear/Log/Exp blur: These control how the alpha values are scaled: linearly, logarithmically, or exponentially (base^ratio). If you use one of the latter two, set the base to something greater than 1.
  • +
  • Affect: Will blur the selected elements (\1c, \2c, \3c, and/or \4c). Not applicable to glow.
  • +
  • On subsequent lines...: If not blurred, the elements selected here will have &HFF& alpha values for all lines except the main line.
  • +
+
+


+ +
+
Notebox Maker
+
+ This allows you to easily create cool looking noteboxes from templates contained in the included XML file. Noteboxes can be one or two lines long and each template must specifically give code for each length. See the included file for an example. Templates may be of different resolutions. If a script is loaded which contains PlayResX and/or PlayResY, the generated notebox will be automatically resampled to the script size. Otherwise, the generated notebox will be at the default resolution of the template. +
+

Options:

+
+
    +
  • Copy styles to file: The styles for the notebox will not be inserted into your file just by generation of a notebox. You can use this button to insert them automatically in that case.
  • +
+
+


+ + +
+
Error Checker
+
+ This will check a file for some common errors. It checks dialogue and style lines. +
+

Checks for:

+
+
    +
  • Unopened/unclosed parenthesis
  • +
  • Unopened/unclosed brackets
  • +
  • No trailing ampersand in color/alpha values
  • +
  • Lowercase H for hex
  • +
  • Malformed transformations (\t(time,time)\effect)
  • +
  • Decimals without leading integers (.01 vs. 0.01)
  • +
+
+


+ + +
+
Font Test
+
+ This will search a file for all fonts used and check if they are installed on your system. If fonts are not installed, you may search a directory for the fonts. It does not make sure the files it finds have the needed styles. It only matches by font name. +
+


+ + +
+
Manual Transform
+
+ How many times have you wished you could use \t on something that doesn't allow it? How many times have you wanted a nonlinear acceleration parameter for \move? Here's a function that will automatically interpolate these things like \t, but it's much more powerful. +
+ +

Zones/the Times Listbox

+
+

Manual Transform is based on zones, which are made up of a start and end time. There must be at least one zone. Each additional zone uses the end time of the previous zone as its start time. So if you entered the times of 0:00:00.00, 0:01:00.00 and 0:02:00.00, there are two zones: one from 0:00:00.00-0:01:00.00 and one from 0:01.00.00-0:02:00.00.

+

Based on these different zones, you can have variables which can scale differently at different times. Numbers can scale linearly during one zone and exponentially during another if you like. Text can change between zones.

+

If this flexibility is not required, just entering a start time and an end time, making one zone only, will keep things simple.

+
+ +

Variables

+
+

This is the data that gets scaled. To add a variable, click the new button and type a name into the popup. You can then edit the values for each time by clicking on the appropriate field in the variable list. You may use either a string or a number. Numbers will be scaled automatically, whereas strings will switch over when a new zone is reached.

+

If you enter a string and a number under the same variable, then it will treat both as a string. If you have a string and a number and a number (2 zones), it will print the string until it hits the second zone, where it will then scale between the two numbers. That is to say that if, in the current zone, the start and end variable values are both numbers, the number will be scaled; If one or both are non-numbers, both will be treated as strings.

+

Acceleration: You can use linear, logarithmic or exponential acceleration for each variable and zone. Exponential acceleration has 2 forms: ratio^base, which is specified by just entering a number > 1, or base^ratio by specifying expbase (Example: exp2). Specify a log transform by typing logbase. If none of these are specified or are incorrectly entered, a linear transform will be used. ASSA itself uses ratio^base for acceleration, so the default behavior (entering a number) works the same as entering that number into \t.

+
+ +

Other options

+
+
    +
  • Code is how SSATool puts the variables together to form the text that gets output. To add the line times, use %starttime% and %endtime% in the code. To use a variable in the code, surround the variable name with percentage signs. You may use scripting functions here. If you're scaling an integer, you're going to want to round it with scripting because it will be printed as a decimal otherwise.
  • +
  • Times: Enter the times for this to span. You must enter at least two times. You may enter more than one time to create different zones where variables can be scaled differently. Times should be the first thing you add.
  • +
  • Frame Rate: The framerate of the video. All entered and output times will be snapped to the nearest frame.
  • +
+
+


+ +
+
Kanji timing
+
+ This function will allow you to time Kanji (or pretty much any other East Asian character set) from Roman letters. You may combine \k times, but this function can't work with \t as it can't be sure how to handle the times. It could also technically be used in reverse, but it's not capable of splitting syllables from the source style.

+ You must have your two character sets entered in different styles. The kanji may already be timed, but those times will be overridden if so. Empty syllables will be copied alone, or will be combined with the surrounding syllables if those are to be combined. +
+

Options

+
+
    +
  • Styles: Select your source and destination styles here. The source style will be used for times and all ASSA code. Destination lines will be overwritten in the list. Note: Any ASSA code appearing before the \k will be directly copied, and ASSA code after the \k is currently not copied at all.
  • +
  • Start: Brings the first lines of each style into the corresponding text fields.
  • +
  • Link: When you have selected corresponding syllables, this will pair them up and you will see them appear in the group list.
  • +
  • Unlink last: If you've made a mistake, this will unlink the last pair. You may use it as many times as needed.
  • +
  • Skip source line: Skip the current source line.
  • +
  • Skip destination line: Skip the current destination line. It won't be modified at all.
  • +
  • Go back a line: Goes back to the last line for both the source and destination. It does not undo any changes made, but you may redo it.
  • +
  • Accept line: When all of the grouping for a line is finished, this will modify the line in the list and automatically load the next lines for source and destination.
  • +
+
+

Keyboard shortcuts

+
+
+ Don't use the mouse to highlight grouping. If you incorrectly try to split syllables from the source, the function won't work right, so please use the following keyboard shortcuts while the destination textbox has focus. They're much faster. +
+
    +
  • Right/left arrows: Select more or less text from the destination, respectively.
  • +
  • Up/down arrows: Select more or less text from the source, respectively. The source text is locked so it can not be split, but you may combine syllables from it.
  • +
  • Enter: Link the selected text, or if all text is linked, accept the line and move on to the next.
  • +
  • Backspace: Undo the previous linked text.
  • +
+
+


+ + +
+
Karaoke effects
+
+ The karaoke effect generator is a complex karaoke effects automator. In simple terms, it could be called a "\k to \t converter," though it is not limited to transformations. You have several variables (listed below) and scripting functions (listed further below in another section) available to use in template effects. You also have "raw code," which will just dump anything you put in there into the SSA. You can use variables in any of the effect fields. You may use raw code to accomplish anything that the other effects can do. Other effect templates are there just to make it easier for you to make presets. There's an effects editor to add your own presets available under the Effects menu. +
+ + + +

Layers

+
+

Layers are the basis of the effects system. They are, in essence, one of the base elements of ASSA itself. The simplest implementation of a layer is a single dialogue line. That's it. The subtitler program reads each line and decides where each line goes, and in what order they go.

+

However, in SSATool, layers are different than how SSA itself looks at them. A layer is how SSATool processes a line in order to add effects. Depending on the complexity of an effect, it may take from one to several lines to accomplish. That is, you might have two or three or even dozens of dialogue lines composing what we see as one line! So each layer in SSATool will add another dialogue line with the same text but potentially different overrides. But to make things even more confusing, there's an exception: Layer-Per-Syllable. What happens if you want to do something to a syllable in a karaoke as its "turn" comes up, but the command to do what you want to do is a command that affects the whole dialogue line, even if you use \r? You often have to make a dialogue line corresponding to each syllable.

+

This is what layer-per-syllable does. It will dynamically create a new dialogue line (layer) for each syllable. You're typically going to want to see each line only for the syllable it corresponds to, because that's the basic reason why layer-per-syllable exists. To accomplish that, you're going to want to have a couple of effects in addition to your transformation code. These extra effects will be to make the line invisible except at the corresponding syllable. You'll use conditions (explained below) to apply alpha codes before and after this syllable. A sample layer-per-syllable project file should be bundled to show you how to go about it. Don't use it as a basis every time you want to do layer-per-syllable, because it will ensure that you don't understand how the process works. To make karaoke, you must first understand how ASSA renders karaoke.

+

To enable layer-per-syllable mode, simply add a layer and make sure the Layer-per-Syllable checkbox is clicked. You may combine layer-per-syllable layers together or with fixed layers if you like.

+
+ +

Conditions

+
+

There are two types of conditions in the karaoke effects generator: effect conditions and layer conditions. They both do the same thing, but they work on a different scope. For both, you enter two things to compare. These things may be numbers or strings, and you may use variables and scripting functions (listed below).

+
    +
  • With effect conditions, each condition must be true for that effect to be applied, or it will just be skipped for that syllable. There is no condition checking for effects on a per-line scope, meaning the conditions are only checked per syllable, not per line. This is the more flexible option of the two.
  • +
  • With layer conditions, each of these must work out for all of the effects in that layer to be applied. By default, if this is not met, there will be no dialogue line created at all. However, when you create your layer conditions, you may option to create the dialogue line WITHOUT effects if the conditions are not met. For fixed layers, the option is called, "Add line unchanged if layer conditions not met." If you're using layer-per-syllable, just that option will add the line several times (once per syllable) if the layer conditions aren't met, so you'll also want to enable the option, "Only add it once."
  • +
+
+ +

Layout

+
+

The layout of the karaoke effects section can be a little confusing at first. At the left, there's a treeview. This holds information about all layers and effects. You can add a layer via the button under it. Once you have added and selected a layer, you may add effects to it through that button. You may drag items around the treeview to reorder them or to move effects to a different layer. You may duplicate or remove layers or effects through the corresponding buttons.

+

When you select a layer in the treeview, the layer options page automatically shows up. Here, you can add layer conditions or change the options for the layer. When you click on an effect, you get a tabbed setup where you can view the options for that effect or the conditions. To change an option for an effect, just click on the corresponding field.

+
+ +

Options

+
+
    +
  • Don't add the syllable text: This will leave out the actual text for the syllable. You may add it yourself in your effects using the %text% variable. This allows you to split a \k if you like.
  • +
  • Remove \k: This will remove \k, \K, \ko and \kf after applying effects. Keep a backup file before you use this option in case timing needs to be changed later.
  • +
  • Add line unchanged if conditions not met: If layer conditions aren't met, add the dialogue line with no effects. You could get missing dialogue lines without this option.
  • +
  • Only add it once: An extension of the above for layer-per-syllable mode to prevent dialogue lines from being added multiple times when layer conditions are not met.
  • +
  • Layer-per-Syllable: Enable Layer-per-Syllable mode for this layer. See the explanation above.
  • +
  • Repetitions: This only applies to non-LPS layers. The layer will be repeated this amount of times. It only applies to karaoke lines, not regular dialogue lines.
  • +
+
+ + +

Karaoke variables

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
%karastart%Start time of current kara block in milliseconds.
%karastart[n]%Start time of kara block n in milliseconds. Yes, the square brackets should be there. You may use other variables in the brackets (except for another variable with brackets). Example: %karastart[%totkaranum%]%
%karaend%End time of current kara block in milliseconds.
%karaend[n]%End time of kara block n in milliseconds. Yes, the square brackets should be there. You may use other variables in the brackets (except for another variable with brackets).
%karamid%Mid point of current kara block in milliseconds. ((start+end)/2)
%karalen%Length of current kara block in milliseconds.
%karalen[n]%Length of kara block n in milliseconds. Yes, the square brackets should be there. You may use other variables in the brackets (except for another variable with brackets.
%karanum%The number of the kara block being evaluated, indexed from 0.
%karanumtot%The total number of kara blocks in this line. If you compare with %karanum%, make sure to add 1 to %karanum% since it starts at 0.
%linestart%Start time of current line in seconds in seconds
%lineend%End time of current line in seconds
%linelen%Length of current line in seconds
%layernum%The current layer number, indexed from 0.
%layernumtot%The total number of layers
%layernumlps%The current layer number in layer-per-syllable mode. In fixed layer mode, this is also also used when repetitions of the layer is set > 1. Indexed from 0.
%layernumlpstot%The total number of layers in layer-per-syllable mode. In fixed layer mode, it is the total number of repetitions of the current layer.
%name%The name (SSA) or actor (ASS) of the line.
%style%The name of the current style
%text%The text inside of the current syllable. Recommended for use with "Don't add the syllable text itself" in the Layer Conditions+Options tab, but can be used by itself.
+
+


+ + +
+
Scripting
+

Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
$eval(expression)Does math/logic. It supports the sub-functions listed in the table below. Strings used in this must be surrounded by double quotes. Not using quotes should work in most situations, but this is mostly for reasons of backwards compatibility. If used for logic, it will return True or False (as booleans, so no quotes around them).
$iif(expression,t, f)Inline if (a conditional statement). The expression may be a boolean logic expression, or it may be something that evaluates to true or false. If the expression is True, it returns the second argument. If it's false, it returns the third. If it (or you) messes up, it returns "error".
$len(text)Returns the length of text.
$left(text,length)Returns the first length characters of text.
$listindex(n,item,item,...)Returns the nth supplied item indexed from 1. Returns "error" if the supplied value is incorrect.
$listindexlast(item,item,item,...)Returns the nth supplied item indexed from 1. Returns "error" if the supplied value is less than one. Returns the last value if the index is too big.
$listindexwrap(item,item,item,...)Returns the nth supplied item indexed from 1. Returns "error" if the supplied value is less than one. Wraps around to the beginning of the list if the index is too big.
$mid(text,start,length)Returns length characters of text, starting at start. The first character is indexed as 0.
$randlist(item,item,item,...)Returns a random item from the given inputs.
$right(text,length)Returns the last length characters of text.
$str(text,n)Repeats text n times.
+
+

+ +

Eval Sub-Functions

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
absReturn the absolute value of a number.
acosReturns the arc-cosine of a number.
asinReturns the arc-sin of a number.
atanReturns the arc-tangent of a number given an angle.
atan2Returns the arc-tangent of a coordinate. Format: atan2(x,y)
boundBounds a number between 2 values. Takes 3 parameters: Number, LBound, UBound. Returns LBound if Number < LBound, or UBound if Number > UBound. Otherwise returns Number.
ceilRounds up. Example: ceil(5.01) returns 6
cosReturn the cosine of a number.
factComputes the factorial of an integer. This is the same as the ! operator.
floorRounds down. Example: floor(5.99) returns 5. floor(-5.99) returns -6.
intReturns the integer of a number. int(-5.99) returns -5.
lenReturns the length of a string.
logReturn the log of a number. It's base e. If you want a different base, do log(number)/log(base)
maxReturn the higher of 2 numbers.
minReturn the lower of 2 numbers.
randReturns a bounded random integer. rand() gives you an integer from 0 to 1, rand(maxvalue) gives an integerfrom 0 to maxvalue, and rand(low,high) from low to high
randf + Returns a bounded double precision floating point number. randf() gives you a double from 0 to 1, randf(maxvalue) gives a double from 0 to maxvalue, and randf(low,high) from low to high
roundRounds a number to the given number of decimal places. Format: round(number,decimal places)
sinReturn the sin of a number.
sqrtReturn the square root of a number.
tanReturn the tangent of a number.

+ Take note that these do NOT have a leading $ like the above functions. They must be used INSIDE of $eval. +
+

+ +

Data types supported by eval

+
+ + + + + + + + + + + + + + + + + +
Booleantrue or false. Capitalization does not matter. Do not enclose in quotes.
IntegerSupport not done, numbers currently treated as double. All mathematical/bitwise operations are available.
DoubleDouble-precision floating point number. All mathematical operations except modulus are available.
PointAn x,y pair. You may add or subtract points, or you may add, subtract, multiply or divide points by scalars. Not finished.
StringA string. + may be used to concatenate strings. All strings MUST be enclosed by quotes.

+ Boolean logic comparisons are available with all types. Also, note that conditions in the karaoke effects tool internally use $eval, so strings must be enclosed in quotes in there. Variables that are strings currently do NOT automatically do so. +
+

+ +

Constants supported by eval

+
+ + + + + + + + + + + + + + +
ee, the natural logarithmic base.
gThe golden ratio.
PiPi.
yEuler's constant.

+ All numerical constants are double precision (64-bit) floating points. +
+

+ +

Mathematical/Bitwise operators

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Add
-Subtract
*Multiply
/Divide
!Factorial
%Modulus (remainder after integer division)
&Bitwise and
\Bitwise or
\Bitwise xor
<<Shift left
>>Shift right
~Inversion
+
+

+ +

Boolean/comparison operators

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
=Equal to (if used with text, is case insensitive)
<>Equal to (if used with text, is case sensitive)
==Equal to (if used with text, is case sensitive)
!=Not equal to (if used with text, is case insensitive)
!=Not equal to (if used with text, is case sensitive)
>Greater than
>=Greater than or equal to
<Less than
<=Less than or equal to
||Boolean or
&&Boolean and
+
+


+ +
+
Effect and project files
+

Effect files

+
+ Effect files are XML files that hold all preset effects except for "raw code," which is built in. They use the extension exml. You may edit them in a text editor by using the bundled effects as a template. There's also an effects editor in the program to write them for you. +

+ +

Project files

+
+ Project files are also XML files, but they are in a different format than the effect files. They contain all layer, filter and condition information as well as the filename to the loaded SSA, if applicable. They are not a script - they do not keep track of your commands, but merely karaoke effects information. They may be edited in a text editor, but I only recommend doing that if you want to make a slight modification to an existing file. +
+


+ +
+
File Encoding
+ SSATool will open most common file encodings including ANSI (using your local codepage), Shift-JIS, and Unicode in 1, 2, or 4 octet versions. Some encodings, such as Shift-JIS are notoriously hard to detect, so if your file includes Japanese text and you're unsure of the encoding, please make sure to find out, or that it displays correctly if you use the open file option without the SJIS.

+ As of version 4.1, SSATool employs extremely simple algorithms for attempting to detect Shift-JIS and EUC-JP. If a file is under 4KB, 100 or more characters detected with either encoding will trigger a prompt asking to reload using that encoding. If the file is 4KB-8KB, the threshold is 300, and if the file is 8KB or more, 600. +


+ +
+
Thanks
+ The following are people I want to thank for helping me with this, be that by testing, lending me webspace, putting up educational code samples on the web, etc. Some will be in names, and others will be in online nicknames.
+
+
    +
  • DeathWolf - testing, feature suggestions, webspace
  • +
  • Neil Davidson - the save file dialog w/ encoding I'm using
  • +
  • PovRayMan - icon
  • +
  • SCR512 - testing
  • +
  • zalas - feature suggestions
  • +
  • Dead-Cow - testing
  • +
  • Nikolai - testing, feature suggestions
  • +
  • Anyone else I forgot
  • +
+
+


+ + SSATool is copyright (C) 2005-2006 Dan Donovan. It is free to use. +
+ + \ No newline at end of file diff --git a/SSATool/Extras/changelog.txt b/SSATool/Extras/changelog.txt new file mode 100644 index 000000000..c6e8fa04f --- /dev/null +++ b/SSATool/Extras/changelog.txt @@ -0,0 +1,492 @@ +4.3.6 +-Fix saving a project file with default layer names not showing any names when loading the file again +-Fix small bug loading v5/6 scripts + +4.3.5 +-Truetype Collection (TTC) font files are supported in the font finder +-Factorial should work now +-More optimizations/cleanups + +4.3.4 +-Fixed/tweaked some UI stuff +-More resize code added +-Fixed double click in error list +-Optimized some stuff +-All karaoke variables now index from 0, not 1. This will break backwards compatibility with some karaoke, but it has never been consistent, so I am changing it. +-Fixed %karamid% + +4.3.3 +-A bunch of fixes for noteboxes +-Don't bother to scale resolution if the factor is 1:1 + +4.3.2 +-Workaround for crash when line is 259 characters long +-Workaround to prevent splitter from stealing focus on resize (by design, MS? What were you thinking?) +-Fix in default notebox template + +4.3.1 +-Search/replace now affects everything as it used to +-Unparsable dialogue/style lines are now parsed as strings, displayed with green background +-Changing time precision or running search/replace refreshes the list automatically + +4.3.0.2 +-Fixed karaoke condition buttons + +4.3.0 +-Added notebox generator, see readme +-List and utility panel are now resizable panes +-Fixed a bug in resolution scaling +-Fixed error checker crash +-Fixed kanji timing crash + +4.2.0.10 +-Fixed strip SSA leaving off the last syllable + +4.2.0.9 +-Fixed a bunch of functions that did nothing + +4.2.0.8 +-Gradient fixes +-Make screen update when you copy text from gradient/blur/etc to it, and don't copy text backwards + +4.2.0.7 +-v6 script support improved +-Fix so that you can do both lead-in and lead-out +-A bunch of UI crashes from 4.2.0 fixed + +4.2.0.6 +-Timecodes may now be unapplied + +4.2.0 +-Lead no longer makes the list backwards +-Undo/redo optimized and now support adding/removing lines +-Fixed styles +-Optimizations, including overall memory usage +-Fixed lead and remove duplicate lines +-Reading negative times supported +-Other misc fixes, mostly UI-related +-Some Math constants added to $eval, see readme +-Boolean inversion is now denoted as ~ as opposed to ! in $eval +-Added LCM and GCD to $eval +-Fix loading some files through command line +-Fix to reading ARGB colors +-Timecode transform added +-Double clicking a line in the list will bring up the modify line dialogue box +-Bold, Italic, etc. now specified as -1 (instead of 1) as per specs. Parsing will work correctly with either. + +4.1.0 +-V6 scripts (AKA V4++) supported +-Fixed a bug with %layernum% when you have disabled layers +-Undo/redo added +-Fixed a couple of bugs with kanji timing +-Effects files now use .exml extension. Old files may be renamed. +-Manual transform times are now displayed in the listbox as entered, but are snapped internally to be between frames. +-Conditions may now be edited directly instead of removing/readding +-Completely rewritten script engine combining $logic and $eval +-Workaround to prevent resaving UTF-16 files as UTF-8 by default +-You may now edit the names for karaoke layers and effects. +-Error checker now looks for decimals without leading integers (.1 vs 0.1) +-Rudamentary SJIS/EUC-JP detection +-Fixes to gradient maker +-Lots of general optimizations and other internal code changes +-Put layer condition checking back to per line instead of per syllable, as it should be +-Added karaoke syllable-per-line mode + +4.0.0 +-Resolution scaling now has separate scale parameters for X and Y, no longer affects all lines, and no longer crashes +-FPS is now a global parameter +-Added option for ms precision. A modified VSFilter is required for it to work. +-Lead-in/out now affect \t and \move +-Karaoke layer options layed out a little differently +-Added kanji timing +-Fixed a possible crash with karaoke effects for short lines +-Fixed trying to save a project file as ANSI +-Various interface tweaks + +3.7.3 +-Fixed %text% for syllables with no text +-Fixed logic with non-number, non-digit characters, such as space. + +3.7.2 +-Fixed $iif when a condition is false +-Fix crash trying to remove an item in the karaoke tree when nothing is selected +-Adding an effect to the karaoke tree selects it automatically +-Added $str, see readme +-Fixed one layer being disabled affecting all layers below it +-Fixed one effect having unmet conditions disabling all effects below it + +3.7.1 +-Added lead-in/out. It does not yet correct for \t, \move, etc. + +3.7.0 +-Converting to C# 2.0. Filesize is much smaller. New bugs may be introduced. +-Fixed bug loading project files where layers didn't specify repetitions. + +3.6.0 +-Added repetitions to karaoke effects. See readme. +-Removing effects should work better now. +-$logic should correctly interpret strings with numbers + +3.5.0 +-Programming structure improved +-Random tweaks here and there +-Fixed cloning (copying effects, duplicating layers) in many cases +-Select first karaoke effects layer (if there is one) when loading a project +-Added manual transform. See readme. +-Improved precision of shifting by frame. Start times are now always rounded down (floor), while end times are rounded up (ceil) +-Changed interface for karaoke effects to use a treeview for layers and effects +-Fixed a bunch of eval functions +-Font names can now contain anything except \ or } +-Fix parameter order for $eval(round) + +3.2.5 +-Script parser should handle parenthesis better now. +-Made $eval play nicer with decimals +-(hopefully) fixed one parameter functions for $eval +-$eval should bail and return String.Empty if it can't make sense of the data it's given +-Added sqrt() to $eval (or you can still do ^0.5) +-Fixed =/== in $evallogic/$iif +-Strings in $evallogic/$iif no longer are expected to be in quotes + +3.2.4 +-Fixed <, <=, >, >= + +3.2.3 +-Fixed a few bugs with writing XML Project files +-Fixed a bug when loading an XML project file that options would become confused between filters with multiple instances +-Fixed a couple of bugs that rendered effect conditions pretty much useless +-%layernum% and %layernumlps% now index from 1, not 0 +-Pressing enter in the condition dialog box will click OK automatically + +3.2.2 +-The selected line information now properly moves when the form is resized. + +3.2.1 +-You can now load files (except effects files) through the command line (do "Open With" in Explorer) + +3.2.0 +-Karaoke effects generator can now allow you to edit the actual text for each syllable by setting "don't add the syllable text itself" in Layer Conditions+Options and using %text%. +-Length-based \k / \K fixed again + +3.1.0 +-Select/Deselect Line Range now accept the last line number (IE if you have a 10 line file, 1-10 works now) +-Slight optimization to how effects are created +-Blur now only has two types: true blur and glow. However, it is more powerful than before. See the readme for more. +-Blur no longer adds an empty line at the end +-Exponential blur no longer disregards BlurStart for the center line. +-Gradient now accepts a parameter called mirror. See the readme, but know that leaving it at 100 (%) will act the same as it used to. +-Added $listindex, $listindexwrap, $listindexlast functions + +3.0.3 (3.0.2019.28843) +-Adding the same effect multiple times no longer mixes up the options between them. +-Fixed length-based \k / \K + +3.0.2 (3.0.2017.31380) +-Offset in gradient maker now only affects the second X,Y pair in \clip + +3.0.1 (3.0.2017.27737) +-Detecting unclosed parenthesis/brackets at the end of the line now works. + +3.0 (3.0.2017.5108) +-Added $len, $left, $mid, $right +-Slight optimizations in $iif +-Added select/deselect line range to list menu. If you don't know the line numbers, click on the lines and use the go to line option and it'll show the current line. +-Made go to line show the selected line number by default and added a label to show this as well +-Optimizations to shifting and length based \k-\K +-Fixed strip SSA +-Fixed linear glow type blur accuracy +-Error checker will now report unclosed ampersands in \alpha, \2c, \2a, \3c, \3a, \4c, \4a +-Error checker will now report lowercase hex markers in \alpha + +3.0 beta 6 (3.0.1975.5261) +-Fixed shifting if your file is 10 hours or more +-Fixed font check sometimes adding fonts more than once +-Workaround for looking for vertical fonts (@fonts). It will just omit the @. It doesn't check if the font is actually capable of being vertical. +-Added ability to search for fonts that aren't installed in a directory +-Saving as UTF-8 fixed + +3.0 beta 5 (3.0.1958.3274) +-Fixed shifting cutting off part of the line in many cases. + +3.0 beta 4 +-Made form resizable +-Made default (and minimum) form width 1024 for those people using 1024x768 +-Fixed logarithmic glow blur alpha values +-Fixed logarithmic and exponential gradient values when using a start color > 0 +-Added font checker. Make good use of it. I know I will. + +3.0 beta 3 +-Fixed some menu options that weren't doing anything +-Double clicking on a line in error checking now takes you to the line in question. Also added a couple of checks for style lines. +-Added a layered blur option. +-Added option to do logarithmic and exponential gradients. +-Removed messagebox popping up with $iif +-Added some more error checks for various functions (not talking about the error checker, but when you enter invalid parameters to functions) + +3.0 beta 2 (3.0.1948.40271) +-Also check for colors/alpha with lowercase hex codes (including the H) and also where there is not a trailing ampersand +-Scale PlayResX and PlayResY too +-Fixed eval +-Added the "list" menu with some useful list functions +-Performance increases in scripting/eval/evallogic. Thanks to DeathWolf for helping with this. +-Fixed effect conditions + +3.0 beta 1 (3.0.1948.26940) +-Complete rewrite of application using C# 1.1, so you now need .NET to run it. Speed increases and GUI improvements result. +-Variables have changed formats. See readme. +-Scripting language is much different. See readme. +-Project files and effects list files both use XML now. They are not backwards compatible. +-Program supports basically all normal encodings, including UTF-16 (Unicode) that previous versions didn't. +-Gradient maker can do \1c, \2c, \3c, \4c (user selectable) and can handle RGBA (in ARGB order) and decimal input +-Resolution scaling now scales a lot more stuff. See readme. + + + + +--Old versions-- + + +2.0.161 +-Even bigger speedup +-Completely rewrote effects procedure, kept the old one as it may be buggy, as usual +-Made after 3.0 for those looking to avoid .Net (bad choice though) + +2.0.158 +-HUGE speedup +-Will no longer affect non-karaoke dialog lines +-Probably buggy +-Made after 3.0 for those looking to avoid .Net (bad choice though) + +2.0.157 +-More bugfixes and speedups + +2.0.154 +-More bugfixes +-Layer-per-syllable and fixed layer modes may be combined +-New variables dealing with layers: $layernumtot$, $layernumlps$, $layernumlpstot$. If you have a "legacy" layer-per-syllable file, open the PSSA in Notepad and add PerSyllable=True. When using $layernum$ for layer-per-syllable, you must now use $layernumlps$. + +1.6.153 +-Fixed several bugs introduced in the last release +-More speedups +-Added $style$ variable (see readme) +-Added ability to resize the program + +1.5.152 +-Fixed $iif with more than one comparison +-Some other random bugfixes +-There should be a minor speedup all around, but I don't know if it'll be noticeable + +1.5.151 +-Added ability to insert a gradient into a file without replacing a line + +1.5.150 +-A small bugfix in the gradient maker. Not sure if it even affected anything. + +1.5.149 +-Added some more to gradient maker +-New HTML readme + +1.5.146 +-Added a bunch of stuff to gradient maker, such as copying to/from the SSA file and automatically adding text before and after the line. +-Gradient maker no longer adds 1 extra line + +1.4.145 +-Another fix + +1.4.144 +-Fixed a gradient maker problem having to do with some parts of it being unfinished and disabled. + +1.4.143 +-More gradient maker work +-Added $randlist + +1.3.142 +-Started to implement a gradient maker. It's not done and what is done is experimental. + +1.2.141 +-New version scheme, actually using minor (and eventually major) version numbers instead of just build numbers. +-Added ability to change font in Listbox, including encoding. + +1.1.140 +-Fixed strip SSA, it should no longer strip numbers after \kf. + +1.1.139 +-Added: \k or \K depending on the length of the syllable +-Fixed a little big with scaling where it would try to work on lines it shouldn't be (though it shouldn't have messed anything up) + +1.1.138 +-Added: SSA Resolution Scaling. Use at your own risk. +-Removed: Old load/save projects +-Removed: Old add effects procedure. + +1.1.137 +-Fixed: Shifting now correctly abides the lines being checked/unchecked + +1.1.136 +-Some minor interface tweaks +-Added 'Move Down' for effects + +1.1.135 +-Restructured/cleaned up the code for adding karaoke effects. The old code will be left in for a little while until I can be sure there are no bugs in the new code. Please try the new code, but make sure you save before doing so. + +1.1.134 +-Fixed: Reparsing styles (made typo last build) + +1.1.133 +-Fixed: Read ASS Styles reparsing (also made slightly faster) + +1.1.132 +-Fixed: Read ASS Styles ([v4+ styles]) correctly. + +1.1.131 +-Fixed: Layer conditions and effect count were, in certain conditions, obtained from the wrong layer. This has been (hopefully) corrected. + +1.1.130 +-Fixed shifting... + +1.1.129 +-Fixed (I don't know): Shifting............. last time? Nah... + +1.1.128 +-Fixed (probably): Shifting... again. Should be accurate and not crash. + +1.1.127 +-Fixed (maybe): Shifting should be more accurate. + +1.1.126 +-Fixed: Effect condition checkboxes now correctly show as checked/unchecked when the condition is active/inactive as opposed to always being checked. +-Fixed: Layer condition checkboxes now correctly show as checked/unchecked when the condition is active/inactive as opposed to always being checked. +-Fixed: Effect conditions should no longer crash when loading a project. +-Fixed: Layer conditions should now correctly load as layer conditions instead of effect conditions when loading a project. + +1.1.125 +-Added: $lastkaranzkstart$ +-Fixed: Trying to move/copy an effect when there are no effects no longer creates a blank effect. + +1.1.124 +-Fixed effects list not being correctly loaded if you open a SSA/ASS/PSSA from the command line. + +1.1.123 +-Added ability to load SSA/ASS and PSSA (project files) from command line. You can now associate SSATool with SSA, ASS and/or PSSA files and it will open them. + +1.1.122 +-Effects can now use variables in the code line and not just the options lines. If you don't know what this means, don't worry about it. + +1.1.121 +-Forgot to comment out some code before hitting compile in last version that made load project crash. Fixed. +-Added script tracing in the help tab... Every call to the script parser adds a line to the listbox. It will be at least 2 lines per script call. + +1.1.120 +-Fixed bug in $calc where a negative as the first number would not be recognized. +-Fixed: Trying to delete a layer when there are no layers no longer crashes. +-Fixed: Trying to delete an effect condition when there are no effect conditions no longer crashes. +-Fixes to load project + +1.1.119 +-Fixed: Shifting by difference now works in both directions. +-Fixed: Shifting bug introduced last version for times w/o decimals hopefully fixed. +-Improvement: Times are now stored as double precision instead of single precision. + +1.1.118 +-Fixed: Trying to save in various situations as opposed to save as no longer results in a crash +-Fixed: $rand no longer returns 0 or gives type mismatch crashes +-Fixed: Trying to move an effect up when there is no effect to move up no longer results in a crash +-Fixed: Copying or moving an effect to another layer now includes the conditons. +-Fixed: Shifting times should no longer mess up if a time has a decimal >= .995 (which was rounded as 1.0 before, screwing things up) + +1.1.117 +-Fixed: Scripting should now properly support recursion. + +1.1.116 +-Fixed bug where closing the program did not unload it from memory. +-Fixed select/deselect all styles. + +1.1.115 +-Added script functions: and, nand, or, nor, not, xor +-Added operator info to readme +-Added script testing/debugging in the help tab. This is mostly for me, but you may test your own logic on it if you like. + +1.1.114 +-Fix stupid typo in new load project. Effects should correctly load now... + +1.1.113 +-Fixed new project format to actually attempt to load the SSA file itself +-Added a progress popup w/ cancel option for karaoke effects +-Added list of variables to readme + +1.1.112 +-New project format. Please only use the old format if you find bugs in the new one. +-Added time shifting by difference. + +1.1.111 +-Make multicharacter comparisons (!=, <>, etc) work correctly +-Fixed saving a ssa file without the extension causing a crash. Really this time. + +1.1.110 +-Changed to common dialog for open/save +-Added version number to form title +-Minor code cleanup, slightly smaller file + +1.1.109 +-Removed preview in the open box because it was causing problems for some computers. +-Fixed saving a ssa file without the extension causing a crash. +-Added remove duplicate dialog lines option-Useful for when stripping a multilayer SSA leaves you with duplicate lines. +-Added tooltips for a few things. + +1.1.108 +-Minor tweaks in open/save windows +-Fixed major multilayering bug introduced in build 105. + +1.1.107 +-Fix (allow) removal of effect conditions. + +1.1.106 +-Fix checkmarks in layer conditions tab. + +1.1.105 +-Remove limit of 100 layers +-Fixed condition checking +-Saving/loading project now also saves conditions. +-Added "layer per syllable" mode +-Added ability to not add layers to the output if the conditions are not met (as opposed to adding the line unchanged) +-Added "Invert Line Selection" for the SSA list. + +1.1.104 +-Changed name to SSATool. +-Changed the UI around. +-Fixed: $iif should now work correctly when comparing numbers, as opposed to comparing them as strings +-Added ability to define custom conditions specifying when each layer and each filter are used. +-Added variable $karanumtot$ to tell how many syllables are on the line. + +1.0.103 +-Added ability to effect only certain lines. +-Added option to shift only start/end times. + +1.0.102 +-Changed format of effects file and project files to get around some delimiting issues and to make more readable if you open them in a text editor. +-Changed extension of project file to .pssa to get around a VB quirk (*.aas would also return .aasp files) +-Added scripting functions: bound, round, int, sin, cos, tan, log, exp, abs +-Calc now supports parenthesis and uses the order of operations instead of left-to-right processing. +-Fixed floor behavior + +1.0.101 +-Made copy/move to layer work again. +-Added scripting functions: ceil, floor. math is now a synonym for calc. + +1.0.100 +-Implemented simple inline scripting. Supported functions: iif, rand, randf (floating), calc (math) +-Added variable $layernum$ + +1.0.99 +-Fixed bug with enabling/disabling filters +-Implemented save/load project, does not save layer conditions yet +-Fixed saving effects list +-Speedups + +1.0.98 +-Finished implementing the effects editor. + +1.0.97 +-The default style may now be effected. SSA by default calls Default *Default in your lines, which was screwing up the comparison. +-Time shifting now correctly rounds decimals insdtead of giving you several numbers as an exponential. +-Stripping a SSA will now copy lines which have unselected styles instead of leaving them out. \ No newline at end of file diff --git a/SSATool/Extras/effects.exml b/SSATool/Extras/effects.exml new file mode 100644 index 000000000..82db35a28 --- /dev/null +++ b/SSATool/Extras/effects.exml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SSATool/Extras/notebox.xml b/SSATool/Extras/notebox.xml new file mode 100644 index 000000000..02cfd8c45 --- /dev/null +++ b/SSATool/Extras/notebox.xml @@ -0,0 +1,67 @@ + + + + + + + + + + {\pos(174,-99)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy70\t(0,500,\1a&Haa&\3a&H00&\4a&H00&)\t(3500,4000,,\alpha&HFF&)\bord3}{\p1}m 0 0 l 690 0 690 80 0 80{\p0} + {\pos(254,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy144\fscx200\t(0,500,\alpha&H00&)\t(3500,4000,,\alpha&HFF&)\bord1.5}{\p1}m 0 0 l 1 0 1 47 0 47{\p0} + {\pos(255,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy146\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 1 0 1 48 0 48{\p0} + {\pos(170,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy100\t(0,500,\alpha&H40&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 700 0 700 3 0 3{\p0} + {\pos(170,-35)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy150\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 699 0 699 3 0 3{\p0} + {\pos(170,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy77\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 1 0 1 93 0 93{\p0} + {\pos(868,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy77\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 1 0 1 93 0 93{\p0} + {\pos(170,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy77\t(0,500,\1a&HCA&\3a&H00&\4a&H00&)\t(3500,4000,,\alpha&HFF&)\bord3}{\p1}m 0 0 l 699 0 699 93 0 93{\p0} + {\pos(184,-86)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)\1c&HFFFFFF&\3c&H000000&\bord0.5\shad1.5\b1\i1}NOTE + {\pos(264,-92)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)\fs40}%line1% + + + {\pos(174,-99)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy150\t(0,500,\1a&Haa&\3a&H00&\4a&H00&)\t(3500,4000,,\alpha&HFF&)\bord3}{\p1}m 0 0 l 690 0 690 80 0 80{\p0} + {\pos(254,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy142\fscx200\t(0,500,\alpha&H00&)\t(3500,4000,,\alpha&HFF&)\bord1.5}{\p1}m 0 0 l 1 0 1 47 0 47{\p0} + {\pos(173,-41)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy150\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)\bord1.5}{\p1}m 0 0 l 82 0 82 1 0 1{\p0} + {\pos(255,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy130\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 1 0 1 48 0 48{\p0} + {\pos(170,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy150\t(0,500,\alpha&H50&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 700 0 700 3 0 3{\p0} + {\pos(170,28)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy150\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 699 0 699 3 0 3{\p0} + {\pos(170,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy150\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 2 0 2 93 0 93{\p0} + {\pos(868,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy150\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)}{\p1}m 0 0 l 1 0 1 93 0 93{\p0} + {\pos(170,-105)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\fscy145\t(0,500,\1a&HCA&\3a&H00&\4a&H00&)\t(3500,4000,,\alpha&HFF&)\bord3}{\p1}m 0 0 l 699 0 699 93 0 93{\p0} + {\pos(184,-87)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)\1c&HFFFFFF&\3c&H000000&\bord0.5\shad1.5\b1\i1}NOTE + {\pos(264,-85)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)\fs40}%line1% + {\pos(180,-28)\fscy0\t(0,500,\fscy320)\t(3500,4000,\fscy0)\alpha&HFF&}0\N{\r\t(0,500,\alpha&H00&)\t(3500,4000,\alpha&HFF&)\fs40}%line2% + + + + + + \ No newline at end of file diff --git a/SSATool/Filter.cs b/SSATool/Filter.cs new file mode 100644 index 000000000..2f70caa5f --- /dev/null +++ b/SSATool/Filter.cs @@ -0,0 +1,194 @@ +/* +SSATool - A collection of utilities for Advanced Substation Alpha +Copyright (C) 2007 Dan Donovan + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; ONLY under version 2 + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + +using System; +using System.Collections; +using System.Collections.Generic; //.Net 2.0 + + +namespace SSATool { + + public class Filter : ConditionColl, System.Collections.Generic.IEnumerable, IEquatable { + private Filter template; + protected List fOptions; + public string Name, Code; + public bool Enabled; + + public Filter() : base() { + fOptions = new List(); + Enabled = true; + } + public Filter(List optionsList) : base() { + fOptions = optionsList; + Code = String.Empty; + } + + public Filter(string name) : this() { + Name = name; + Code = String.Empty; + } + + public Filter(string name, string code) : this() { + Name = name; + Code = code; + } + + public Filter(string name, List optionsList) + : this(optionsList) { + Name = name; + Enabled = true; + } + + bool System.IEquatable.Equals(Filter f) { + return (String.CompareOrdinal(this.Name, f.Name) == 0); + } + + public override string ToString() { + return Name; + } + + public int NumOptions { + get { return fOptions.Count; } + } + + public Filter Template { + get { return template; } + } + + public void AddOption(string Name,string Val) { + fOptions.Add(new FilterOption(Name,Val)); + } + + public void AddOption(FilterOption fo) { + fOptions.Add(fo); + } + public void SetOptionValueByIndex(int index, string val) { + if (fOptions.Count > index) fOptions[index].Value = val; + } + public void SetOptionValueByName(string name, string val) { + for (int index=0;index index) fOptions[index].Name = name; + } + public void SetOptionByIndex(int index, string name, string val) { + if (fOptions.Count > index) { + fOptions[index].Name = name; + fOptions[index].Value = val; + } + } + + public FilterOption GetOptionByIndex(int index) { + return fOptions[index]; + } + public string GetOptionValueByIndex(int index) { + return fOptions[index].Value; + } + public FilterOption GetOptionByName(string name) { + for(int index=0;index CloneOptions() { + List nl = new List(); + for(int index=0;index!=fOptions.Count;index+=1) + nl.Add((FilterOption)fOptions[index].Clone()); + return nl; + } + + public object Clone() { + Filter nf = new Filter(Name, CloneOptions()); + nf.conditionColl = CloneConditions(); + nf.template = (this.template==null)?this:this.template; + return nf; + } + + #region IEnumerable Members + IEnumerator IEnumerable.GetEnumerator() { + return new FilterEnumerator(this); + } + public System.Collections.IEnumerator GetEnumerator() { + return new FilterEnumerator(this); + } + #endregion + } + + public class FilterEnumerator : IEnumerator, IDisposable { + Filter f; + int index; + + public void Dispose() { + + } + public FilterEnumerator(Filter f) { + this.f = f; + Reset(); + } + public void Reset() { + index=-1; + } + object IEnumerator.Current { + get { return f.GetOptionByIndex(index); } + } + public FilterOption Current { + get { return f.GetOptionByIndex(index); } + } + public bool MoveNext() { + if (++index >= f.NumOptions) return false; + else return true; + } + } + + public class FilterOption : ICloneable { + public string Name; + public string Value; + + public FilterOption() { } + + public FilterOption(string name, string val) { + Name = name; + Value = val; + } + + public object Clone() { + return new FilterOption(Name,Value); + } + } + +} diff --git a/SSATool/Form1.cs b/SSATool/Form1.cs new file mode 100644 index 000000000..577a21ea2 --- /dev/null +++ b/SSATool/Form1.cs @@ -0,0 +1,6485 @@ +/* +SSATool - A collection of utilities for Advanced Substation Alpha +Copyright (C) 2007 Dan Donovan + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; ONLY under version 2 + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + + +using System; +using System.Collections; +using System.ComponentModel; +using System.Windows.Forms; +using System.Data; +using System.Drawing; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Xml; +using System.Collections.Generic; + +namespace SSATool { + /// + /// Summary description for Form1. + /// + public class Form1 : System.Windows.Forms.Form { + public static Form1 FormMain; + + + #region Form Info + public System.Windows.Forms.MainMenu mainMenu1; + public System.Windows.Forms.MenuItem menuItem1; + public System.Windows.Forms.MenuItem menuItem5; + public System.Windows.Forms.MenuItem menuItem8; + public System.Windows.Forms.MenuItem menuItem10; + public System.Windows.Forms.MenuItem menuItem13; + public System.Windows.Forms.MenuItem menuItem15; + public System.Windows.Forms.MenuItem menuItem16; + public System.Windows.Forms.OpenFileDialog openFileDialog1; + public System.Windows.Forms.CheckedListBox lstEffectOpts; + public System.Windows.Forms.MenuItem menuOpen; + public System.Windows.Forms.MenuItem menuOpenSJIS; + public System.Windows.Forms.MenuItem menuSave; + public System.Windows.Forms.MenuItem menuSaveAs; + public System.Windows.Forms.MenuItem menuLoadProj; + public System.Windows.Forms.MenuItem menuSaveProj; + public System.Windows.Forms.MenuItem menuExit; + public System.Windows.Forms.MenuItem menuLoadEffects; + public System.Windows.Forms.MenuItem menuItem3; + public System.Windows.Forms.MenuItem menuShowEffectEditor; + public System.Windows.Forms.FontDialog fontDialog1; + public System.Windows.Forms.MenuItem menuFont; + public System.Windows.Forms.MenuItem menuItem2; + public System.Windows.Forms.MenuItem menuGoTo; + public System.Windows.Forms.MenuItem menuNewLineBeginning; + public System.Windows.Forms.MenuItem menuNewLineEnd; + public System.Windows.Forms.MenuItem menuNewLineAbove; + public System.Windows.Forms.MenuItem menuNewLineBelow; + public System.Windows.Forms.MenuItem menuMoveLineUp; + public System.Windows.Forms.MenuItem menuMoveLineDown; + public System.Windows.Forms.MenuItem menuChangeLine; + public System.Windows.Forms.MenuItem menuRemoveLine; + public System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; + public System.Windows.Forms.ColumnHeader columnHeader11; + private IContainer components; + public MenuItem menuItem4; + public MenuItem menuItem6; + public MenuItem menuPrecisioncs; + public MenuItem menuPrecisionms; + public MenuItem menuItem7; + public MenuItem menuItem9; + public TabPage tabPage6; + public Button button2; + public Button button1; + public TextBox textBox2; + public Button button4; + public Button button3; + public CheckBox checkBox1; + public ComboBox comboBox1; + public Label label55; + public Button button6; + public MaskedTextBox maskedTextBox1; + public CheckBox checkBox2; + public TreeView treeView1; + public MenuItem menuItem11; + public MenuItem menuUndo; + public MenuItem menuRedo; + public MenuItem menuOpenEUCJP; + public SplitContainer splitContainer1; + public ListViewES listSSA; + public ColumnHeader columnHeader14; + public TabControl tabMain; + public TabPage tabPage1; + public GroupBox groupBox12; + public ComboBox cmbFR; + public Label label54; + public GroupBox groupBox4; + public Button cmdSearchReplace; + public TextBox txtSearchReplaceWith; + public TextBox txtSearchFor; + public Label label12; + public Label label11; + public GroupBox groupBox3; + public Button cmdChangeLastKLen; + public Button cmdRemoveDups; + public Button cmdStrip; + public GroupBox groupBox2; + public Button cmdShift; + public CheckBox chkShiftNoNeg; + public CheckBox chkShiftEnd; + public CheckBox chkShiftStart; + public TabControl tabShiftType; + public TabPage tabPage9; + public MaskedTextBox maskedTextShiftTime; + public RadioButton radTShiftBack; + public RadioButton radTShiftForward; + public Label label3; + public TabPage tabPage10; + public RadioButton radFShiftBackward; + public RadioButton radFShiftForward; + public TextBox txtShiftFrames; + public Label label4; + public TabPage tabPage11; + public MaskedTextBox maskedTextTDShiftNew; + public MaskedTextBox maskedTextTDShiftOld; + public Label label7; + public Label label6; + public TabPage tabPage12; + public Label label9; + public Label label8; + public TextBox txtFDShiftNew; + public TextBox txtFDShiftOld; + public TabPage tabPage2; + public GroupBox groupBox11; + public Button cmdTimecodesDeapply; + public Button cmdTimecodesApply; + public Button cmdTimecodesBrowse; + public TextBox textTimecodeFile; + public GroupBox groupBox10; + public MaskedTextBox txtLeadOut; + public MaskedTextBox txtLeadIn; + public CheckBox chkLeadOut; + public CheckBox chkLeadIn; + public Button cmdLead; + public CheckBox chkLeadKaraEmptyK; + public CheckBox chkLeadKaraOnly; + public GroupBox groupBox6; + public CheckBox chkScalePlayRes; + public TextBox txtScaleYDenominator; + public Label label50; + public TextBox txtScaleYNumerator; + public Label label51; + public Button cmdScale; + public TextBox txtScaleXDenominator; + public Label label26; + public TextBox txtScaleXNumerator; + public Label label25; + public GroupBox groupBox5; + public Button cmdLenBasedK; + public TextBox txtLenBasedKThreshold; + public Label label13; + public TabPage tabPage3; + public Button cmdAddEffect; + public TreeView treeKaraoke; + public Button cmdNewLayer; + public Button cmdKaraDel; + public Button cmdDoEffects; + public Button cmdKaraDup; + public Panel panelLayer; + public CheckBox chkSyllablePerLine; + public GroupBox groupBox16; + public CheckBox chkKaraAddText; + public CheckBox chkKaraAddClosingBracket; + public CheckBox chkKaraAddASSA; + public CheckBox chkKaraAddK; + public TextBox textLayerRepetitions; + public Label label49; + public CheckBox chkAddOnce; + public CheckBox chkAddAnyway; + public CheckBox chkLayerPerSyllable; + public Button cmdDelLayerCondition; + public Button cmdNewLayerCondition; + public ListViewES lstLayerConditions; + public ColumnHeader columnHeader4; + public ColumnHeader columnHeader5; + public ColumnHeader columnHeader6; + public Panel panelEffect; + public TabControl tabControl1; + public TabPage tabPage7; + public ListView lstEffectOptions; + public ColumnHeader lstoOptionName; + public ColumnHeader lstoOptionValue; + public Label label2; + public TabPage tabPage8; + public ListViewES lstEffectConditions; + public ColumnHeader columnHeader1; + public ColumnHeader columnHeader2; + public ColumnHeader columnHeader3; + public Button cmdDelEffectCondition; + public Button cmdAddEffectCondition; + public TabPage tabPage4; + public Label label16; + public Label label18; + public Label label15; + public Label label14; + public Button cmdGradMoveBefore; + public TextBox txtGradOut; + public TextBox txtGradIn; + public TextBox txtGradBefore; + public TabPage tabPage14; + public Label label42; + public TextBox txtBlurRadV; + public GroupBox groupBlurAffect; + public CheckBox chkBlur4a; + public CheckBox chkBlur3a; + public CheckBox chkBlur2a; + public CheckBox chkBlur1a; + public GroupBox groupBox9; + public RadioButton radBlurExp; + public RadioButton radBlurLog; + public RadioButton radBlurPoly; + public GroupBox groupBlurSub; + public CheckBox chkBlur2aSub; + public CheckBox chkBlur4aSub; + public CheckBox chkBlur3aSub; + public CheckBox chkBlur1aSub; + public Label label38; + public TextBox txtBlurBase; + public TextBox txtBlurPos; + public Label label36; + public Button cmdBlurListToInput; + public Button cmdBlurInsertBefore; + public Button cmdBlurInsertAfter; + public Button cmdBlurReplaceLine; + public Button cmdBlurMoveBefore; + public Label label35; + public TextBox txtBlurBefore; + public TextBox txtBlurRadH; + public Label label34; + public Label label32; + public Label label31; + public TextBox txtBlurOut; + public TextBox txtBlurIn; + public GroupBox groupBox8; + public RadioButton radBlurGlow; + public RadioButton radBlurHV; + public Button cmdDoBlur; + public TextBox txtBlurEndAlpha; + public TextBox txtBlurStartAlpha; + public Label label30; + public Label label29; + public TextBox txtBlurLines; + public Label label28; + public TabPage tabPage16; + public MaskedTextBox maskedTextTransformTime; + public Button cmdTransformListToInput; + public Button cmdTransformInsertBefore; + public Button cmdTransformInsertAfter; + public Button cmdTransformReplaceLine; + public Label label45; + public TextBox txtTransformPrecision; + public Label label1; + public ListViewES listTransformVars; + public ColumnHeader columnHeader13; + public TextBox txtTransformCode; + public Label label47; + public Label label46; + public Button cmdTransformDelVar; + public Button cmdTransformNewVar; + public Button cmdDoTransform; + public Label label44; + public Button cmdTransformDelTime; + public Button cmdTransformAddTime; + public ListBox listTransformTimes; + public Label label43; + public TextBox txtTransformOut; + public TabPage tabPage13; + public ListBox lstErrors; + public Label label27; + public Button cmdCheckErrors; + public TabPage tabPage15; + public Label labelFontNum; + public Button cmdFontSearchFolder; + public Label label40; + public Button cmdFindFonts; + public Label label39; + public ListView lstFonts; + public ColumnHeader columnHeader7; + public ColumnHeader columnHeader8; + public ColumnHeader columnHeader9; + public TabPage tabPage5; + public GroupBox groupBox19; + public TextBox textBox1; + public GroupBox groupBox18; + public Label lblRegroupDestIndex; + public Label label10; + public Label lblRegroupSourceIndex; + public Label label5; + public GroupBox groupBox17; + public ListView listRegroupPairs; + public ColumnHeader columnHeader10; + public ColumnHeader columnHeader12; + public GroupBox groupBox15; + public Button cmdRegroupStart; + public Button cmdRegroupAcceptLine; + public Button cmdRegroupUnlinkLast; + public Button cmdRegroupGoBack; + public Button cmdRegroupSkipDestLine; + public Button cmdRegroupSkipSourceLine; + public Button cmdRegroupLink; + public GroupBox groupBox14; + public TextBox txtRegroupSource; + public TextBox txtRegroupDest; + public GroupBox groupBox13; + public ComboBox cmbRegroupDest; + public ComboBox cmbRegroupSource; + public Label label53; + public Label label52; + public TabPage tabPage17; + public GroupBox groupBox22; + public ComboBox cmbNBStyle; + public Label label59; + public Button cmdNBCopyStyles; + public Button cmdNBInsertBefore; + public Button cmdNBInsertAfter; + public Button cmdNBReplaceLine; + public Button cmdNoteBox; + public GroupBox groupBox21; + public TextBox textNBStyles; + public TextBox textNBOut; + public GroupBox groupBox20; + public Button cmdNBGetTimes; + public MaskedTextBox maskedTextNBEnd; + public Label label58; + public MaskedTextBox maskedTextNBStart; + public Label label57; + public TextBox textNotebox2; + public TextBox textNotebox1; + public Label label56; + public Label label48; + public GroupBox groupBox1; + public Label labelSelLine; + public Label label41; + public Button cmdReloadFile; + public CheckedListBox lstStyles; + public Button cmdSSAInvertSel; + public Button cmdSSADeselall; + public Button cmdSSASelall; + public Button cmdDeselAll; + public Button cmdSelAll; + public Button cmdNBReparse; + private CheckBox chkSRCaseSensitive; + private TextBox textNBDesc; + public Label label17; + private Panel panelGradient; + public GroupBox groupBox7; + public RadioButton radGradExp; + public RadioButton radGradLog; + public RadioButton radGradPoly; + public TextBox txtGradMirror; + public Label label33; + public Label label37; + public TextBox txtGradBase; + public CheckBox chkGrad4c; + public CheckBox chkGrad3c; + public CheckBox chkGrad2c; + public CheckBox chkGrad1c; + public Button cmdGradListToInput; + public TextBox txtGradEndBGR; + public TextBox txtGradStartBGR; + public TextBox txtGradOffset; + public TextBox txtGradEndPos; + public TextBox txtGradStartPos; + public TextBox txtGradCLines; + public Label label24; + public Label label23; + public Label label22; + public Label label21; + public Label label20; + public Label label19; + public Button cmdGradInsertBefore; + public Button cmdGradInsertAfter; + public Button cmdGradReplaceLine; + public Button cmdGradDoGrad; + private Panel panelBlur; + public MenuItem menuClearUndoRedo; + + #endregion + protected override void Dispose(bool disposing) { + base.Dispose(disposing); + } + #region Windows Form Designer generated code + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + this.mainMenu1 = new System.Windows.Forms.MainMenu(this.components); + this.menuItem1 = new System.Windows.Forms.MenuItem(); + this.menuOpen = new System.Windows.Forms.MenuItem(); + this.menuOpenSJIS = new System.Windows.Forms.MenuItem(); + this.menuOpenEUCJP = new System.Windows.Forms.MenuItem(); + this.menuSave = new System.Windows.Forms.MenuItem(); + this.menuSaveAs = new System.Windows.Forms.MenuItem(); + this.menuItem5 = new System.Windows.Forms.MenuItem(); + this.menuLoadProj = new System.Windows.Forms.MenuItem(); + this.menuSaveProj = new System.Windows.Forms.MenuItem(); + this.menuItem8 = new System.Windows.Forms.MenuItem(); + this.menuExit = new System.Windows.Forms.MenuItem(); + this.menuItem11 = new System.Windows.Forms.MenuItem(); + this.menuUndo = new System.Windows.Forms.MenuItem(); + this.menuRedo = new System.Windows.Forms.MenuItem(); + this.menuClearUndoRedo = new System.Windows.Forms.MenuItem(); + this.menuItem2 = new System.Windows.Forms.MenuItem(); + this.menuItem7 = new System.Windows.Forms.MenuItem(); + this.menuNewLineBeginning = new System.Windows.Forms.MenuItem(); + this.menuNewLineEnd = new System.Windows.Forms.MenuItem(); + this.menuNewLineAbove = new System.Windows.Forms.MenuItem(); + this.menuNewLineBelow = new System.Windows.Forms.MenuItem(); + this.menuItem9 = new System.Windows.Forms.MenuItem(); + this.menuMoveLineUp = new System.Windows.Forms.MenuItem(); + this.menuMoveLineDown = new System.Windows.Forms.MenuItem(); + this.menuGoTo = new System.Windows.Forms.MenuItem(); + this.menuChangeLine = new System.Windows.Forms.MenuItem(); + this.menuRemoveLine = new System.Windows.Forms.MenuItem(); + this.menuItem10 = new System.Windows.Forms.MenuItem(); + this.menuFont = new System.Windows.Forms.MenuItem(); + this.menuItem4 = new System.Windows.Forms.MenuItem(); + this.menuItem6 = new System.Windows.Forms.MenuItem(); + this.menuPrecisioncs = new System.Windows.Forms.MenuItem(); + this.menuPrecisionms = new System.Windows.Forms.MenuItem(); + this.menuItem13 = new System.Windows.Forms.MenuItem(); + this.menuShowEffectEditor = new System.Windows.Forms.MenuItem(); + this.menuItem15 = new System.Windows.Forms.MenuItem(); + this.menuItem16 = new System.Windows.Forms.MenuItem(); + this.menuItem3 = new System.Windows.Forms.MenuItem(); + this.menuLoadEffects = new System.Windows.Forms.MenuItem(); + this.tabPage6 = new System.Windows.Forms.TabPage(); + this.treeView1 = new System.Windows.Forms.TreeView(); + this.maskedTextBox1 = new System.Windows.Forms.MaskedTextBox(); + this.checkBox2 = new System.Windows.Forms.CheckBox(); + this.button6 = new System.Windows.Forms.Button(); + this.comboBox1 = new System.Windows.Forms.ComboBox(); + this.label55 = new System.Windows.Forms.Label(); + this.checkBox1 = new System.Windows.Forms.CheckBox(); + this.button4 = new System.Windows.Forms.Button(); + this.button3 = new System.Windows.Forms.Button(); + this.button2 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.textBox2 = new System.Windows.Forms.TextBox(); + this.columnHeader11 = new System.Windows.Forms.ColumnHeader(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.lstEffectOpts = new System.Windows.Forms.CheckedListBox(); + this.fontDialog1 = new System.Windows.Forms.FontDialog(); + this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.labelSelLine = new System.Windows.Forms.Label(); + this.label41 = new System.Windows.Forms.Label(); + this.cmdReloadFile = new System.Windows.Forms.Button(); + this.lstStyles = new System.Windows.Forms.CheckedListBox(); + this.cmdSSAInvertSel = new System.Windows.Forms.Button(); + this.cmdSSADeselall = new System.Windows.Forms.Button(); + this.cmdSSASelall = new System.Windows.Forms.Button(); + this.cmdDeselAll = new System.Windows.Forms.Button(); + this.cmdSelAll = new System.Windows.Forms.Button(); + this.listSSA = new SSATool.ListViewES(); + this.columnHeader14 = new System.Windows.Forms.ColumnHeader(); + this.tabMain = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.groupBox12 = new System.Windows.Forms.GroupBox(); + this.cmbFR = new System.Windows.Forms.ComboBox(); + this.label54 = new System.Windows.Forms.Label(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.chkSRCaseSensitive = new System.Windows.Forms.CheckBox(); + this.cmdSearchReplace = new System.Windows.Forms.Button(); + this.txtSearchReplaceWith = new System.Windows.Forms.TextBox(); + this.txtSearchFor = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.cmdChangeLastKLen = new System.Windows.Forms.Button(); + this.cmdRemoveDups = new System.Windows.Forms.Button(); + this.cmdStrip = new System.Windows.Forms.Button(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.cmdShift = new System.Windows.Forms.Button(); + this.chkShiftNoNeg = new System.Windows.Forms.CheckBox(); + this.chkShiftEnd = new System.Windows.Forms.CheckBox(); + this.chkShiftStart = new System.Windows.Forms.CheckBox(); + this.tabShiftType = new System.Windows.Forms.TabControl(); + this.tabPage9 = new System.Windows.Forms.TabPage(); + this.maskedTextShiftTime = new System.Windows.Forms.MaskedTextBox(); + this.radTShiftBack = new System.Windows.Forms.RadioButton(); + this.radTShiftForward = new System.Windows.Forms.RadioButton(); + this.label3 = new System.Windows.Forms.Label(); + this.tabPage10 = new System.Windows.Forms.TabPage(); + this.radFShiftBackward = new System.Windows.Forms.RadioButton(); + this.radFShiftForward = new System.Windows.Forms.RadioButton(); + this.txtShiftFrames = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.tabPage11 = new System.Windows.Forms.TabPage(); + this.maskedTextTDShiftNew = new System.Windows.Forms.MaskedTextBox(); + this.maskedTextTDShiftOld = new System.Windows.Forms.MaskedTextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.tabPage12 = new System.Windows.Forms.TabPage(); + this.label9 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.txtFDShiftNew = new System.Windows.Forms.TextBox(); + this.txtFDShiftOld = new System.Windows.Forms.TextBox(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.groupBox11 = new System.Windows.Forms.GroupBox(); + this.cmdTimecodesDeapply = new System.Windows.Forms.Button(); + this.cmdTimecodesApply = new System.Windows.Forms.Button(); + this.cmdTimecodesBrowse = new System.Windows.Forms.Button(); + this.textTimecodeFile = new System.Windows.Forms.TextBox(); + this.groupBox10 = new System.Windows.Forms.GroupBox(); + this.txtLeadOut = new System.Windows.Forms.MaskedTextBox(); + this.txtLeadIn = new System.Windows.Forms.MaskedTextBox(); + this.chkLeadOut = new System.Windows.Forms.CheckBox(); + this.chkLeadIn = new System.Windows.Forms.CheckBox(); + this.cmdLead = new System.Windows.Forms.Button(); + this.chkLeadKaraEmptyK = new System.Windows.Forms.CheckBox(); + this.chkLeadKaraOnly = new System.Windows.Forms.CheckBox(); + this.groupBox6 = new System.Windows.Forms.GroupBox(); + this.chkScalePlayRes = new System.Windows.Forms.CheckBox(); + this.txtScaleYDenominator = new System.Windows.Forms.TextBox(); + this.label50 = new System.Windows.Forms.Label(); + this.txtScaleYNumerator = new System.Windows.Forms.TextBox(); + this.label51 = new System.Windows.Forms.Label(); + this.cmdScale = new System.Windows.Forms.Button(); + this.txtScaleXDenominator = new System.Windows.Forms.TextBox(); + this.label26 = new System.Windows.Forms.Label(); + this.txtScaleXNumerator = new System.Windows.Forms.TextBox(); + this.label25 = new System.Windows.Forms.Label(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.cmdLenBasedK = new System.Windows.Forms.Button(); + this.txtLenBasedKThreshold = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.tabPage3 = new System.Windows.Forms.TabPage(); + this.cmdAddEffect = new System.Windows.Forms.Button(); + this.treeKaraoke = new System.Windows.Forms.TreeView(); + this.cmdNewLayer = new System.Windows.Forms.Button(); + this.cmdKaraDel = new System.Windows.Forms.Button(); + this.cmdDoEffects = new System.Windows.Forms.Button(); + this.cmdKaraDup = new System.Windows.Forms.Button(); + this.panelEffect = new System.Windows.Forms.Panel(); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage7 = new System.Windows.Forms.TabPage(); + this.lstEffectOptions = new System.Windows.Forms.ListView(); + this.lstoOptionName = new System.Windows.Forms.ColumnHeader(); + this.lstoOptionValue = new System.Windows.Forms.ColumnHeader(); + this.label2 = new System.Windows.Forms.Label(); + this.tabPage8 = new System.Windows.Forms.TabPage(); + this.lstEffectConditions = new SSATool.ListViewES(); + this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); + this.cmdDelEffectCondition = new System.Windows.Forms.Button(); + this.cmdAddEffectCondition = new System.Windows.Forms.Button(); + this.panelLayer = new System.Windows.Forms.Panel(); + this.chkSyllablePerLine = new System.Windows.Forms.CheckBox(); + this.groupBox16 = new System.Windows.Forms.GroupBox(); + this.chkKaraAddText = new System.Windows.Forms.CheckBox(); + this.chkKaraAddClosingBracket = new System.Windows.Forms.CheckBox(); + this.chkKaraAddASSA = new System.Windows.Forms.CheckBox(); + this.chkKaraAddK = new System.Windows.Forms.CheckBox(); + this.textLayerRepetitions = new System.Windows.Forms.TextBox(); + this.label49 = new System.Windows.Forms.Label(); + this.chkAddOnce = new System.Windows.Forms.CheckBox(); + this.chkAddAnyway = new System.Windows.Forms.CheckBox(); + this.chkLayerPerSyllable = new System.Windows.Forms.CheckBox(); + this.cmdDelLayerCondition = new System.Windows.Forms.Button(); + this.cmdNewLayerCondition = new System.Windows.Forms.Button(); + this.lstLayerConditions = new SSATool.ListViewES(); + this.columnHeader4 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader5 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader6 = new System.Windows.Forms.ColumnHeader(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.label17 = new System.Windows.Forms.Label(); + this.panelGradient = new System.Windows.Forms.Panel(); + this.txtGradCLines = new System.Windows.Forms.TextBox(); + this.cmdGradDoGrad = new System.Windows.Forms.Button(); + this.groupBox7 = new System.Windows.Forms.GroupBox(); + this.radGradExp = new System.Windows.Forms.RadioButton(); + this.radGradLog = new System.Windows.Forms.RadioButton(); + this.radGradPoly = new System.Windows.Forms.RadioButton(); + this.cmdGradReplaceLine = new System.Windows.Forms.Button(); + this.txtGradMirror = new System.Windows.Forms.TextBox(); + this.cmdGradInsertAfter = new System.Windows.Forms.Button(); + this.label33 = new System.Windows.Forms.Label(); + this.cmdGradInsertBefore = new System.Windows.Forms.Button(); + this.label37 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.txtGradBase = new System.Windows.Forms.TextBox(); + this.label20 = new System.Windows.Forms.Label(); + this.chkGrad4c = new System.Windows.Forms.CheckBox(); + this.label21 = new System.Windows.Forms.Label(); + this.chkGrad3c = new System.Windows.Forms.CheckBox(); + this.label22 = new System.Windows.Forms.Label(); + this.chkGrad2c = new System.Windows.Forms.CheckBox(); + this.label23 = new System.Windows.Forms.Label(); + this.chkGrad1c = new System.Windows.Forms.CheckBox(); + this.label24 = new System.Windows.Forms.Label(); + this.txtGradStartPos = new System.Windows.Forms.TextBox(); + this.cmdGradListToInput = new System.Windows.Forms.Button(); + this.txtGradEndPos = new System.Windows.Forms.TextBox(); + this.txtGradEndBGR = new System.Windows.Forms.TextBox(); + this.txtGradOffset = new System.Windows.Forms.TextBox(); + this.txtGradStartBGR = new System.Windows.Forms.TextBox(); + this.label16 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.label15 = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.cmdGradMoveBefore = new System.Windows.Forms.Button(); + this.txtGradOut = new System.Windows.Forms.TextBox(); + this.txtGradIn = new System.Windows.Forms.TextBox(); + this.txtGradBefore = new System.Windows.Forms.TextBox(); + this.tabPage14 = new System.Windows.Forms.TabPage(); + this.panelBlur = new System.Windows.Forms.Panel(); + this.groupBlurAffect = new System.Windows.Forms.GroupBox(); + this.chkBlur4a = new System.Windows.Forms.CheckBox(); + this.chkBlur3a = new System.Windows.Forms.CheckBox(); + this.chkBlur2a = new System.Windows.Forms.CheckBox(); + this.chkBlur1a = new System.Windows.Forms.CheckBox(); + this.label42 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.txtBlurRadV = new System.Windows.Forms.TextBox(); + this.txtBlurLines = new System.Windows.Forms.TextBox(); + this.label29 = new System.Windows.Forms.Label(); + this.groupBox9 = new System.Windows.Forms.GroupBox(); + this.radBlurExp = new System.Windows.Forms.RadioButton(); + this.radBlurLog = new System.Windows.Forms.RadioButton(); + this.radBlurPoly = new System.Windows.Forms.RadioButton(); + this.label30 = new System.Windows.Forms.Label(); + this.groupBlurSub = new System.Windows.Forms.GroupBox(); + this.chkBlur2aSub = new System.Windows.Forms.CheckBox(); + this.chkBlur4aSub = new System.Windows.Forms.CheckBox(); + this.chkBlur3aSub = new System.Windows.Forms.CheckBox(); + this.chkBlur1aSub = new System.Windows.Forms.CheckBox(); + this.txtBlurStartAlpha = new System.Windows.Forms.TextBox(); + this.label38 = new System.Windows.Forms.Label(); + this.txtBlurEndAlpha = new System.Windows.Forms.TextBox(); + this.txtBlurBase = new System.Windows.Forms.TextBox(); + this.cmdDoBlur = new System.Windows.Forms.Button(); + this.txtBlurPos = new System.Windows.Forms.TextBox(); + this.groupBox8 = new System.Windows.Forms.GroupBox(); + this.radBlurGlow = new System.Windows.Forms.RadioButton(); + this.radBlurHV = new System.Windows.Forms.RadioButton(); + this.label36 = new System.Windows.Forms.Label(); + this.label34 = new System.Windows.Forms.Label(); + this.cmdBlurListToInput = new System.Windows.Forms.Button(); + this.txtBlurRadH = new System.Windows.Forms.TextBox(); + this.cmdBlurInsertBefore = new System.Windows.Forms.Button(); + this.cmdBlurReplaceLine = new System.Windows.Forms.Button(); + this.cmdBlurInsertAfter = new System.Windows.Forms.Button(); + this.cmdBlurMoveBefore = new System.Windows.Forms.Button(); + this.label35 = new System.Windows.Forms.Label(); + this.txtBlurBefore = new System.Windows.Forms.TextBox(); + this.label32 = new System.Windows.Forms.Label(); + this.label31 = new System.Windows.Forms.Label(); + this.txtBlurOut = new System.Windows.Forms.TextBox(); + this.txtBlurIn = new System.Windows.Forms.TextBox(); + this.tabPage16 = new System.Windows.Forms.TabPage(); + this.maskedTextTransformTime = new System.Windows.Forms.MaskedTextBox(); + this.cmdTransformListToInput = new System.Windows.Forms.Button(); + this.cmdTransformInsertBefore = new System.Windows.Forms.Button(); + this.cmdTransformInsertAfter = new System.Windows.Forms.Button(); + this.cmdTransformReplaceLine = new System.Windows.Forms.Button(); + this.label45 = new System.Windows.Forms.Label(); + this.txtTransformPrecision = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.listTransformVars = new SSATool.ListViewES(); + this.columnHeader13 = new System.Windows.Forms.ColumnHeader(); + this.txtTransformCode = new System.Windows.Forms.TextBox(); + this.label47 = new System.Windows.Forms.Label(); + this.label46 = new System.Windows.Forms.Label(); + this.cmdTransformDelVar = new System.Windows.Forms.Button(); + this.cmdTransformNewVar = new System.Windows.Forms.Button(); + this.cmdDoTransform = new System.Windows.Forms.Button(); + this.label44 = new System.Windows.Forms.Label(); + this.cmdTransformDelTime = new System.Windows.Forms.Button(); + this.cmdTransformAddTime = new System.Windows.Forms.Button(); + this.listTransformTimes = new System.Windows.Forms.ListBox(); + this.label43 = new System.Windows.Forms.Label(); + this.txtTransformOut = new System.Windows.Forms.TextBox(); + this.tabPage13 = new System.Windows.Forms.TabPage(); + this.lstErrors = new System.Windows.Forms.ListBox(); + this.label27 = new System.Windows.Forms.Label(); + this.cmdCheckErrors = new System.Windows.Forms.Button(); + this.tabPage15 = new System.Windows.Forms.TabPage(); + this.labelFontNum = new System.Windows.Forms.Label(); + this.cmdFontSearchFolder = new System.Windows.Forms.Button(); + this.label40 = new System.Windows.Forms.Label(); + this.cmdFindFonts = new System.Windows.Forms.Button(); + this.label39 = new System.Windows.Forms.Label(); + this.lstFonts = new System.Windows.Forms.ListView(); + this.columnHeader7 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader8 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader9 = new System.Windows.Forms.ColumnHeader(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.groupBox19 = new System.Windows.Forms.GroupBox(); + this.textBox1 = new System.Windows.Forms.TextBox(); + this.groupBox18 = new System.Windows.Forms.GroupBox(); + this.lblRegroupDestIndex = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.lblRegroupSourceIndex = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.groupBox17 = new System.Windows.Forms.GroupBox(); + this.listRegroupPairs = new System.Windows.Forms.ListView(); + this.columnHeader10 = new System.Windows.Forms.ColumnHeader(); + this.columnHeader12 = new System.Windows.Forms.ColumnHeader(); + this.groupBox15 = new System.Windows.Forms.GroupBox(); + this.cmdRegroupStart = new System.Windows.Forms.Button(); + this.cmdRegroupAcceptLine = new System.Windows.Forms.Button(); + this.cmdRegroupUnlinkLast = new System.Windows.Forms.Button(); + this.cmdRegroupGoBack = new System.Windows.Forms.Button(); + this.cmdRegroupSkipDestLine = new System.Windows.Forms.Button(); + this.cmdRegroupSkipSourceLine = new System.Windows.Forms.Button(); + this.cmdRegroupLink = new System.Windows.Forms.Button(); + this.groupBox14 = new System.Windows.Forms.GroupBox(); + this.txtRegroupSource = new System.Windows.Forms.TextBox(); + this.txtRegroupDest = new System.Windows.Forms.TextBox(); + this.groupBox13 = new System.Windows.Forms.GroupBox(); + this.cmbRegroupDest = new System.Windows.Forms.ComboBox(); + this.cmbRegroupSource = new System.Windows.Forms.ComboBox(); + this.label53 = new System.Windows.Forms.Label(); + this.label52 = new System.Windows.Forms.Label(); + this.tabPage17 = new System.Windows.Forms.TabPage(); + this.cmdNBReparse = new System.Windows.Forms.Button(); + this.groupBox22 = new System.Windows.Forms.GroupBox(); + this.textNBDesc = new System.Windows.Forms.TextBox(); + this.cmbNBStyle = new System.Windows.Forms.ComboBox(); + this.label59 = new System.Windows.Forms.Label(); + this.cmdNBCopyStyles = new System.Windows.Forms.Button(); + this.cmdNBInsertBefore = new System.Windows.Forms.Button(); + this.cmdNBInsertAfter = new System.Windows.Forms.Button(); + this.cmdNBReplaceLine = new System.Windows.Forms.Button(); + this.cmdNoteBox = new System.Windows.Forms.Button(); + this.groupBox21 = new System.Windows.Forms.GroupBox(); + this.textNBStyles = new System.Windows.Forms.TextBox(); + this.textNBOut = new System.Windows.Forms.TextBox(); + this.groupBox20 = new System.Windows.Forms.GroupBox(); + this.cmdNBGetTimes = new System.Windows.Forms.Button(); + this.maskedTextNBEnd = new System.Windows.Forms.MaskedTextBox(); + this.label58 = new System.Windows.Forms.Label(); + this.maskedTextNBStart = new System.Windows.Forms.MaskedTextBox(); + this.label57 = new System.Windows.Forms.Label(); + this.textNotebox2 = new System.Windows.Forms.TextBox(); + this.textNotebox1 = new System.Windows.Forms.TextBox(); + this.label56 = new System.Windows.Forms.Label(); + this.label48 = new System.Windows.Forms.Label(); + this.tabPage6.SuspendLayout(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.tabMain.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.groupBox12.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.tabShiftType.SuspendLayout(); + this.tabPage9.SuspendLayout(); + this.tabPage10.SuspendLayout(); + this.tabPage11.SuspendLayout(); + this.tabPage12.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.groupBox11.SuspendLayout(); + this.groupBox10.SuspendLayout(); + this.groupBox6.SuspendLayout(); + this.groupBox5.SuspendLayout(); + this.tabPage3.SuspendLayout(); + this.panelEffect.SuspendLayout(); + this.tabControl1.SuspendLayout(); + this.tabPage7.SuspendLayout(); + this.tabPage8.SuspendLayout(); + this.panelLayer.SuspendLayout(); + this.groupBox16.SuspendLayout(); + this.tabPage4.SuspendLayout(); + this.panelGradient.SuspendLayout(); + this.groupBox7.SuspendLayout(); + this.tabPage14.SuspendLayout(); + this.panelBlur.SuspendLayout(); + this.groupBlurAffect.SuspendLayout(); + this.groupBox9.SuspendLayout(); + this.groupBlurSub.SuspendLayout(); + this.groupBox8.SuspendLayout(); + this.tabPage16.SuspendLayout(); + this.tabPage13.SuspendLayout(); + this.tabPage15.SuspendLayout(); + this.tabPage5.SuspendLayout(); + this.groupBox19.SuspendLayout(); + this.groupBox18.SuspendLayout(); + this.groupBox17.SuspendLayout(); + this.groupBox15.SuspendLayout(); + this.groupBox14.SuspendLayout(); + this.groupBox13.SuspendLayout(); + this.tabPage17.SuspendLayout(); + this.groupBox22.SuspendLayout(); + this.groupBox21.SuspendLayout(); + this.groupBox20.SuspendLayout(); + this.SuspendLayout(); + // + // mainMenu1 + // + this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItem1, + this.menuItem11, + this.menuItem2, + this.menuItem10, + this.menuItem13}); + // + // menuItem1 + // + this.menuItem1.Index = 0; + this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuOpen, + this.menuOpenSJIS, + this.menuOpenEUCJP, + this.menuSave, + this.menuSaveAs, + this.menuItem5, + this.menuLoadProj, + this.menuSaveProj, + this.menuItem8, + this.menuExit}); + resources.ApplyResources(this.menuItem1, "menuItem1"); + // + // menuOpen + // + this.menuOpen.Index = 0; + resources.ApplyResources(this.menuOpen, "menuOpen"); + this.menuOpen.Click += new System.EventHandler(this.menuOpen_Click); + // + // menuOpenSJIS + // + this.menuOpenSJIS.Index = 1; + resources.ApplyResources(this.menuOpenSJIS, "menuOpenSJIS"); + this.menuOpenSJIS.Click += new System.EventHandler(this.menuOpenSJIS_Click); + // + // menuOpenEUCJP + // + this.menuOpenEUCJP.Index = 2; + resources.ApplyResources(this.menuOpenEUCJP, "menuOpenEUCJP"); + this.menuOpenEUCJP.Click += new System.EventHandler(this.menuOpenEUCJP_Click); + // + // menuSave + // + this.menuSave.Index = 3; + resources.ApplyResources(this.menuSave, "menuSave"); + this.menuSave.Click += new System.EventHandler(this.menuSave_Click); + // + // menuSaveAs + // + this.menuSaveAs.Index = 4; + resources.ApplyResources(this.menuSaveAs, "menuSaveAs"); + this.menuSaveAs.Click += new System.EventHandler(this.menuSaveAs_Click); + // + // menuItem5 + // + this.menuItem5.Index = 5; + resources.ApplyResources(this.menuItem5, "menuItem5"); + // + // menuLoadProj + // + this.menuLoadProj.Index = 6; + resources.ApplyResources(this.menuLoadProj, "menuLoadProj"); + this.menuLoadProj.Click += new System.EventHandler(this.menuLoadProj_Click); + // + // menuSaveProj + // + this.menuSaveProj.Index = 7; + resources.ApplyResources(this.menuSaveProj, "menuSaveProj"); + this.menuSaveProj.Click += new System.EventHandler(this.menuSaveProj_Click); + // + // menuItem8 + // + this.menuItem8.Index = 8; + resources.ApplyResources(this.menuItem8, "menuItem8"); + // + // menuExit + // + this.menuExit.Index = 9; + resources.ApplyResources(this.menuExit, "menuExit"); + this.menuExit.Click += new System.EventHandler(this.menuExit_Click); + // + // menuItem11 + // + this.menuItem11.Index = 1; + this.menuItem11.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuUndo, + this.menuRedo, + this.menuClearUndoRedo}); + resources.ApplyResources(this.menuItem11, "menuItem11"); + // + // menuUndo + // + resources.ApplyResources(this.menuUndo, "menuUndo"); + this.menuUndo.Index = 0; + this.menuUndo.Click += new System.EventHandler(this.menuUndo_Click); + // + // menuRedo + // + resources.ApplyResources(this.menuRedo, "menuRedo"); + this.menuRedo.Index = 1; + this.menuRedo.Click += new System.EventHandler(this.menuRedo_Click); + // + // menuClearUndoRedo + // + this.menuClearUndoRedo.Index = 2; + resources.ApplyResources(this.menuClearUndoRedo, "menuClearUndoRedo"); + this.menuClearUndoRedo.Click += new System.EventHandler(this.menuClearUndoRedo_Click); + // + // menuItem2 + // + this.menuItem2.Index = 2; + this.menuItem2.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItem7, + this.menuItem9, + this.menuGoTo, + this.menuChangeLine, + this.menuRemoveLine}); + resources.ApplyResources(this.menuItem2, "menuItem2"); + // + // menuItem7 + // + this.menuItem7.Index = 0; + this.menuItem7.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuNewLineBeginning, + this.menuNewLineEnd, + this.menuNewLineAbove, + this.menuNewLineBelow}); + resources.ApplyResources(this.menuItem7, "menuItem7"); + // + // menuNewLineBeginning + // + this.menuNewLineBeginning.Index = 0; + resources.ApplyResources(this.menuNewLineBeginning, "menuNewLineBeginning"); + this.menuNewLineBeginning.Click += new System.EventHandler(this.menuNewLineBeginning_Click); + // + // menuNewLineEnd + // + this.menuNewLineEnd.Index = 1; + resources.ApplyResources(this.menuNewLineEnd, "menuNewLineEnd"); + this.menuNewLineEnd.Click += new System.EventHandler(this.menuNewLineEnd_Click); + // + // menuNewLineAbove + // + this.menuNewLineAbove.Index = 2; + resources.ApplyResources(this.menuNewLineAbove, "menuNewLineAbove"); + this.menuNewLineAbove.Click += new System.EventHandler(this.menuNewLineAbove_Click); + // + // menuNewLineBelow + // + this.menuNewLineBelow.Index = 3; + resources.ApplyResources(this.menuNewLineBelow, "menuNewLineBelow"); + this.menuNewLineBelow.Click += new System.EventHandler(this.menuNewLineBelow_Click); + // + // menuItem9 + // + this.menuItem9.Index = 1; + this.menuItem9.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuMoveLineUp, + this.menuMoveLineDown}); + resources.ApplyResources(this.menuItem9, "menuItem9"); + // + // menuMoveLineUp + // + this.menuMoveLineUp.Index = 0; + resources.ApplyResources(this.menuMoveLineUp, "menuMoveLineUp"); + this.menuMoveLineUp.Click += new System.EventHandler(this.menuMoveLineUp_Click); + // + // menuMoveLineDown + // + this.menuMoveLineDown.Index = 1; + resources.ApplyResources(this.menuMoveLineDown, "menuMoveLineDown"); + this.menuMoveLineDown.Click += new System.EventHandler(this.menuMoveLineDown_Click); + // + // menuGoTo + // + this.menuGoTo.Index = 2; + resources.ApplyResources(this.menuGoTo, "menuGoTo"); + this.menuGoTo.Click += new System.EventHandler(this.menuGoTo_Click); + // + // menuChangeLine + // + this.menuChangeLine.Index = 3; + resources.ApplyResources(this.menuChangeLine, "menuChangeLine"); + this.menuChangeLine.Click += new System.EventHandler(this.menuChangeLine_Click); + // + // menuRemoveLine + // + this.menuRemoveLine.Index = 4; + resources.ApplyResources(this.menuRemoveLine, "menuRemoveLine"); + this.menuRemoveLine.Click += new System.EventHandler(this.menuRemoveLine_Click); + // + // menuItem10 + // + this.menuItem10.Index = 3; + this.menuItem10.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuFont, + this.menuItem4, + this.menuItem6}); + resources.ApplyResources(this.menuItem10, "menuItem10"); + // + // menuFont + // + this.menuFont.Index = 0; + resources.ApplyResources(this.menuFont, "menuFont"); + this.menuFont.Click += new System.EventHandler(this.menuFont_Click); + // + // menuItem4 + // + this.menuItem4.Index = 1; + resources.ApplyResources(this.menuItem4, "menuItem4"); + // + // menuItem6 + // + this.menuItem6.Index = 2; + this.menuItem6.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuPrecisioncs, + this.menuPrecisionms}); + resources.ApplyResources(this.menuItem6, "menuItem6"); + // + // menuPrecisioncs + // + this.menuPrecisioncs.Checked = true; + this.menuPrecisioncs.Index = 0; + resources.ApplyResources(this.menuPrecisioncs, "menuPrecisioncs"); + this.menuPrecisioncs.Click += new System.EventHandler(this.menuPrecisioncs_Click); + // + // menuPrecisionms + // + this.menuPrecisionms.Index = 1; + resources.ApplyResources(this.menuPrecisionms, "menuPrecisionms"); + this.menuPrecisionms.Click += new System.EventHandler(this.menuPrecisionms_Click); + // + // menuItem13 + // + this.menuItem13.Index = 4; + this.menuItem13.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuShowEffectEditor, + this.menuItem15, + this.menuItem3, + this.menuLoadEffects}); + resources.ApplyResources(this.menuItem13, "menuItem13"); + // + // menuShowEffectEditor + // + this.menuShowEffectEditor.Index = 0; + resources.ApplyResources(this.menuShowEffectEditor, "menuShowEffectEditor"); + this.menuShowEffectEditor.Click += new System.EventHandler(this.menuShowEffectsEditor_Click); + // + // menuItem15 + // + this.menuItem15.Index = 1; + this.menuItem15.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { + this.menuItem16}); + resources.ApplyResources(this.menuItem15, "menuItem15"); + // + // menuItem16 + // + this.menuItem16.Index = 0; + resources.ApplyResources(this.menuItem16, "menuItem16"); + this.menuItem16.Click += new System.EventHandler(this.menuFilter_Click); + // + // menuItem3 + // + this.menuItem3.Index = 2; + resources.ApplyResources(this.menuItem3, "menuItem3"); + // + // menuLoadEffects + // + this.menuLoadEffects.Index = 3; + resources.ApplyResources(this.menuLoadEffects, "menuLoadEffects"); + this.menuLoadEffects.Click += new System.EventHandler(this.menuLoadEffects_Click); + // + // tabPage6 + // + this.tabPage6.Controls.Add(this.treeView1); + this.tabPage6.Controls.Add(this.maskedTextBox1); + this.tabPage6.Controls.Add(this.checkBox2); + this.tabPage6.Controls.Add(this.button6); + this.tabPage6.Controls.Add(this.comboBox1); + this.tabPage6.Controls.Add(this.label55); + this.tabPage6.Controls.Add(this.checkBox1); + this.tabPage6.Controls.Add(this.button4); + this.tabPage6.Controls.Add(this.button3); + this.tabPage6.Controls.Add(this.button2); + this.tabPage6.Controls.Add(this.button1); + this.tabPage6.Controls.Add(this.textBox2); + resources.ApplyResources(this.tabPage6, "tabPage6"); + this.tabPage6.Name = "tabPage6"; + this.tabPage6.UseVisualStyleBackColor = true; + // + // treeView1 + // + this.treeView1.LineColor = System.Drawing.Color.Empty; + resources.ApplyResources(this.treeView1, "treeView1"); + this.treeView1.Name = "treeView1"; + // + // maskedTextBox1 + // + resources.ApplyResources(this.maskedTextBox1, "maskedTextBox1"); + this.maskedTextBox1.Name = "maskedTextBox1"; + // + // checkBox2 + // + resources.ApplyResources(this.checkBox2, "checkBox2"); + this.checkBox2.Name = "checkBox2"; + this.checkBox2.UseVisualStyleBackColor = true; + // + // button6 + // + resources.ApplyResources(this.button6, "button6"); + this.button6.Name = "button6"; + this.button6.UseVisualStyleBackColor = true; + // + // comboBox1 + // + this.comboBox1.FormattingEnabled = true; + resources.ApplyResources(this.comboBox1, "comboBox1"); + this.comboBox1.Name = "comboBox1"; + // + // label55 + // + resources.ApplyResources(this.label55, "label55"); + this.label55.Name = "label55"; + // + // checkBox1 + // + resources.ApplyResources(this.checkBox1, "checkBox1"); + this.checkBox1.Checked = true; + this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked; + this.checkBox1.Name = "checkBox1"; + this.checkBox1.UseVisualStyleBackColor = true; + // + // button4 + // + resources.ApplyResources(this.button4, "button4"); + this.button4.Name = "button4"; + this.button4.UseVisualStyleBackColor = true; + // + // button3 + // + resources.ApplyResources(this.button3, "button3"); + this.button3.Name = "button3"; + this.button3.UseVisualStyleBackColor = true; + // + // button2 + // + resources.ApplyResources(this.button2, "button2"); + this.button2.Name = "button2"; + this.button2.UseCompatibleTextRendering = true; + this.button2.UseVisualStyleBackColor = true; + // + // button1 + // + resources.ApplyResources(this.button1, "button1"); + this.button1.Name = "button1"; + this.button1.UseCompatibleTextRendering = true; + this.button1.UseVisualStyleBackColor = true; + // + // textBox2 + // + resources.ApplyResources(this.textBox2, "textBox2"); + this.textBox2.Name = "textBox2"; + // + // columnHeader11 + // + resources.ApplyResources(this.columnHeader11, "columnHeader11"); + // + // lstEffectOpts + // + resources.ApplyResources(this.lstEffectOpts, "lstEffectOpts"); + this.lstEffectOpts.MultiColumn = true; + this.lstEffectOpts.Name = "lstEffectOpts"; + // + // fontDialog1 + // + this.fontDialog1.AllowVerticalFonts = false; + this.fontDialog1.ShowEffects = false; + // + // folderBrowserDialog1 + // + this.folderBrowserDialog1.ShowNewFolderButton = false; + // + // splitContainer1 + // + resources.ApplyResources(this.splitContainer1, "splitContainer1"); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.groupBox1); + this.splitContainer1.Panel1.Controls.Add(this.listSSA); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.tabMain); + this.splitContainer1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.splitContainer1_MouseDown); + this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitterMoved); + this.splitContainer1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.splitContainer1_MouseUp); + this.splitContainer1.SizeChanged += new System.EventHandler(this.Resize_Handler); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelSelLine); + this.groupBox1.Controls.Add(this.label41); + this.groupBox1.Controls.Add(this.cmdReloadFile); + this.groupBox1.Controls.Add(this.lstStyles); + this.groupBox1.Controls.Add(this.cmdSSAInvertSel); + this.groupBox1.Controls.Add(this.cmdSSADeselall); + this.groupBox1.Controls.Add(this.cmdSSASelall); + this.groupBox1.Controls.Add(this.cmdDeselAll); + this.groupBox1.Controls.Add(this.cmdSelAll); + resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.TabStop = false; + // + // labelSelLine + // + resources.ApplyResources(this.labelSelLine, "labelSelLine"); + this.labelSelLine.Name = "labelSelLine"; + // + // label41 + // + resources.ApplyResources(this.label41, "label41"); + this.label41.Name = "label41"; + // + // cmdReloadFile + // + resources.ApplyResources(this.cmdReloadFile, "cmdReloadFile"); + this.cmdReloadFile.Name = "cmdReloadFile"; + this.cmdReloadFile.UseCompatibleTextRendering = true; + this.cmdReloadFile.Click += new System.EventHandler(this.cmdReloadFile_Click); + // + // lstStyles + // + resources.ApplyResources(this.lstStyles, "lstStyles"); + this.lstStyles.Name = "lstStyles"; + this.lstStyles.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.lstStyles_ItemCheck); + // + // cmdSSAInvertSel + // + resources.ApplyResources(this.cmdSSAInvertSel, "cmdSSAInvertSel"); + this.cmdSSAInvertSel.Name = "cmdSSAInvertSel"; + this.cmdSSAInvertSel.UseCompatibleTextRendering = true; + // + // cmdSSADeselall + // + resources.ApplyResources(this.cmdSSADeselall, "cmdSSADeselall"); + this.cmdSSADeselall.Name = "cmdSSADeselall"; + this.cmdSSADeselall.UseCompatibleTextRendering = true; + this.cmdSSADeselall.Click += new System.EventHandler(this.cmdSSADeselall_Click); + // + // cmdSSASelall + // + resources.ApplyResources(this.cmdSSASelall, "cmdSSASelall"); + this.cmdSSASelall.Name = "cmdSSASelall"; + this.cmdSSASelall.UseCompatibleTextRendering = true; + this.cmdSSASelall.Click += new System.EventHandler(this.cmdSSASelall_Click); + // + // cmdDeselAll + // + resources.ApplyResources(this.cmdDeselAll, "cmdDeselAll"); + this.cmdDeselAll.Name = "cmdDeselAll"; + this.cmdDeselAll.UseCompatibleTextRendering = true; + this.cmdDeselAll.Click += new System.EventHandler(this.cmdDeselAll_Click); + // + // cmdSelAll + // + resources.ApplyResources(this.cmdSelAll, "cmdSelAll"); + this.cmdSelAll.Name = "cmdSelAll"; + this.cmdSelAll.UseCompatibleTextRendering = true; + this.cmdSelAll.Click += new System.EventHandler(this.cmdSelAll_Click); + // + // listSSA + // + this.listSSA.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader14}); + this.listSSA.FullRowSelect = true; + this.listSSA.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.listSSA.HideSelection = false; + this.listSSA.LabelEdit = true; + resources.ApplyResources(this.listSSA, "listSSA"); + this.listSSA.Name = "listSSA"; + this.listSSA.OwnerDraw = true; + this.listSSA.UseCompatibleStateImageBehavior = false; + this.listSSA.View = System.Windows.Forms.View.Details; + this.listSSA.VirtualMode = true; + this.listSSA.DrawItem += new System.Windows.Forms.DrawListViewItemEventHandler(this.listSSA_DrawItem); + this.listSSA.DoubleClick += new System.EventHandler(this.listSSA_DoubleClick); + this.listSSA.VirtualItemsSelectionRangeChanged += new System.Windows.Forms.ListViewVirtualItemsSelectionRangeChangedEventHandler(this.listSSA_VirtualItemsSelectionRangeChanged); + this.listSSA.OnScroll += new System.Windows.Forms.ScrollEventHandler(this.listSSA_OnScroll); + this.listSSA.SelectedIndexChanged += new System.EventHandler(this.listSSA_SelectedIndexChanged); + this.listSSA.MouseUp += new System.Windows.Forms.MouseEventHandler(this.listSSA_MouseUp); + this.listSSA.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.listSSA_ItemCheck); + this.listSSA.RetrieveVirtualItem += new System.Windows.Forms.RetrieveVirtualItemEventHandler(this.listSSA_RetrieveVirtualItem); + this.listSSA.ItemSelectionChanged += new System.Windows.Forms.ListViewItemSelectionChangedEventHandler(this.listSSA_ItemSelectionChanged); + this.listSSA.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.listSSA_KeyPress); + this.listSSA.KeyUp += new System.Windows.Forms.KeyEventHandler(this.listSSA_KeyUp); + // + // columnHeader14 + // + resources.ApplyResources(this.columnHeader14, "columnHeader14"); + // + // tabMain + // + this.tabMain.Controls.Add(this.tabPage1); + this.tabMain.Controls.Add(this.tabPage2); + this.tabMain.Controls.Add(this.tabPage3); + this.tabMain.Controls.Add(this.tabPage4); + this.tabMain.Controls.Add(this.tabPage14); + this.tabMain.Controls.Add(this.tabPage16); + this.tabMain.Controls.Add(this.tabPage13); + this.tabMain.Controls.Add(this.tabPage15); + this.tabMain.Controls.Add(this.tabPage5); + this.tabMain.Controls.Add(this.tabPage17); + resources.ApplyResources(this.tabMain, "tabMain"); + this.tabMain.Name = "tabMain"; + this.tabMain.SelectedIndex = 0; + this.tabMain.Resize += new System.EventHandler(this.tabMain_Resize); + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.groupBox12); + this.tabPage1.Controls.Add(this.groupBox4); + this.tabPage1.Controls.Add(this.groupBox3); + this.tabPage1.Controls.Add(this.groupBox2); + resources.ApplyResources(this.tabPage1, "tabPage1"); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // groupBox12 + // + this.groupBox12.Controls.Add(this.cmbFR); + this.groupBox12.Controls.Add(this.label54); + resources.ApplyResources(this.groupBox12, "groupBox12"); + this.groupBox12.Name = "groupBox12"; + this.groupBox12.TabStop = false; + // + // cmbFR + // + this.cmbFR.FormattingEnabled = true; + this.cmbFR.Items.AddRange(new object[] { + resources.GetString("cmbFR.Items"), + resources.GetString("cmbFR.Items1"), + resources.GetString("cmbFR.Items2"), + resources.GetString("cmbFR.Items3"), + resources.GetString("cmbFR.Items4"), + resources.GetString("cmbFR.Items5"), + resources.GetString("cmbFR.Items6"), + resources.GetString("cmbFR.Items7")}); + resources.ApplyResources(this.cmbFR, "cmbFR"); + this.cmbFR.Name = "cmbFR"; + // + // label54 + // + resources.ApplyResources(this.label54, "label54"); + this.label54.Name = "label54"; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.chkSRCaseSensitive); + this.groupBox4.Controls.Add(this.cmdSearchReplace); + this.groupBox4.Controls.Add(this.txtSearchReplaceWith); + this.groupBox4.Controls.Add(this.txtSearchFor); + this.groupBox4.Controls.Add(this.label12); + this.groupBox4.Controls.Add(this.label11); + resources.ApplyResources(this.groupBox4, "groupBox4"); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.TabStop = false; + // + // chkSRCaseSensitive + // + resources.ApplyResources(this.chkSRCaseSensitive, "chkSRCaseSensitive"); + this.chkSRCaseSensitive.Name = "chkSRCaseSensitive"; + this.chkSRCaseSensitive.UseVisualStyleBackColor = true; + // + // cmdSearchReplace + // + resources.ApplyResources(this.cmdSearchReplace, "cmdSearchReplace"); + this.cmdSearchReplace.Name = "cmdSearchReplace"; + this.cmdSearchReplace.Click += new System.EventHandler(this.cmdSearchReplace_Click); + // + // txtSearchReplaceWith + // + resources.ApplyResources(this.txtSearchReplaceWith, "txtSearchReplaceWith"); + this.txtSearchReplaceWith.Name = "txtSearchReplaceWith"; + // + // txtSearchFor + // + resources.ApplyResources(this.txtSearchFor, "txtSearchFor"); + this.txtSearchFor.Name = "txtSearchFor"; + // + // label12 + // + resources.ApplyResources(this.label12, "label12"); + this.label12.Name = "label12"; + // + // label11 + // + resources.ApplyResources(this.label11, "label11"); + this.label11.Name = "label11"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.cmdChangeLastKLen); + this.groupBox3.Controls.Add(this.cmdRemoveDups); + this.groupBox3.Controls.Add(this.cmdStrip); + resources.ApplyResources(this.groupBox3, "groupBox3"); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.TabStop = false; + // + // cmdChangeLastKLen + // + resources.ApplyResources(this.cmdChangeLastKLen, "cmdChangeLastKLen"); + this.cmdChangeLastKLen.Name = "cmdChangeLastKLen"; + this.cmdChangeLastKLen.Click += new System.EventHandler(this.cmdChangeLastKLen_Click); + // + // cmdRemoveDups + // + resources.ApplyResources(this.cmdRemoveDups, "cmdRemoveDups"); + this.cmdRemoveDups.Name = "cmdRemoveDups"; + this.cmdRemoveDups.Click += new System.EventHandler(this.cmdRemoveDups_Click); + // + // cmdStrip + // + resources.ApplyResources(this.cmdStrip, "cmdStrip"); + this.cmdStrip.Name = "cmdStrip"; + this.cmdStrip.Click += new System.EventHandler(this.cmdStrip_Click); + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.cmdShift); + this.groupBox2.Controls.Add(this.chkShiftNoNeg); + this.groupBox2.Controls.Add(this.chkShiftEnd); + this.groupBox2.Controls.Add(this.chkShiftStart); + this.groupBox2.Controls.Add(this.tabShiftType); + resources.ApplyResources(this.groupBox2, "groupBox2"); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.TabStop = false; + // + // cmdShift + // + resources.ApplyResources(this.cmdShift, "cmdShift"); + this.cmdShift.Name = "cmdShift"; + this.cmdShift.Click += new System.EventHandler(this.cmdShift_Click); + // + // chkShiftNoNeg + // + this.chkShiftNoNeg.Checked = true; + this.chkShiftNoNeg.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkShiftNoNeg, "chkShiftNoNeg"); + this.chkShiftNoNeg.Name = "chkShiftNoNeg"; + // + // chkShiftEnd + // + this.chkShiftEnd.Checked = true; + this.chkShiftEnd.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkShiftEnd, "chkShiftEnd"); + this.chkShiftEnd.Name = "chkShiftEnd"; + // + // chkShiftStart + // + this.chkShiftStart.Checked = true; + this.chkShiftStart.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkShiftStart, "chkShiftStart"); + this.chkShiftStart.Name = "chkShiftStart"; + // + // tabShiftType + // + resources.ApplyResources(this.tabShiftType, "tabShiftType"); + this.tabShiftType.Controls.Add(this.tabPage9); + this.tabShiftType.Controls.Add(this.tabPage10); + this.tabShiftType.Controls.Add(this.tabPage11); + this.tabShiftType.Controls.Add(this.tabPage12); + this.tabShiftType.Name = "tabShiftType"; + this.tabShiftType.SelectedIndex = 0; + // + // tabPage9 + // + this.tabPage9.Controls.Add(this.maskedTextShiftTime); + this.tabPage9.Controls.Add(this.radTShiftBack); + this.tabPage9.Controls.Add(this.radTShiftForward); + this.tabPage9.Controls.Add(this.label3); + resources.ApplyResources(this.tabPage9, "tabPage9"); + this.tabPage9.Name = "tabPage9"; + // + // maskedTextShiftTime + // + resources.ApplyResources(this.maskedTextShiftTime, "maskedTextShiftTime"); + this.maskedTextShiftTime.Name = "maskedTextShiftTime"; + this.maskedTextShiftTime.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // radTShiftBack + // + resources.ApplyResources(this.radTShiftBack, "radTShiftBack"); + this.radTShiftBack.Name = "radTShiftBack"; + // + // radTShiftForward + // + this.radTShiftForward.Checked = true; + resources.ApplyResources(this.radTShiftForward, "radTShiftForward"); + this.radTShiftForward.Name = "radTShiftForward"; + this.radTShiftForward.TabStop = true; + // + // label3 + // + resources.ApplyResources(this.label3, "label3"); + this.label3.Name = "label3"; + // + // tabPage10 + // + this.tabPage10.Controls.Add(this.radFShiftBackward); + this.tabPage10.Controls.Add(this.radFShiftForward); + this.tabPage10.Controls.Add(this.txtShiftFrames); + this.tabPage10.Controls.Add(this.label4); + resources.ApplyResources(this.tabPage10, "tabPage10"); + this.tabPage10.Name = "tabPage10"; + // + // radFShiftBackward + // + resources.ApplyResources(this.radFShiftBackward, "radFShiftBackward"); + this.radFShiftBackward.Name = "radFShiftBackward"; + // + // radFShiftForward + // + this.radFShiftForward.Checked = true; + resources.ApplyResources(this.radFShiftForward, "radFShiftForward"); + this.radFShiftForward.Name = "radFShiftForward"; + this.radFShiftForward.TabStop = true; + // + // txtShiftFrames + // + resources.ApplyResources(this.txtShiftFrames, "txtShiftFrames"); + this.txtShiftFrames.Name = "txtShiftFrames"; + // + // label4 + // + resources.ApplyResources(this.label4, "label4"); + this.label4.Name = "label4"; + // + // tabPage11 + // + this.tabPage11.Controls.Add(this.maskedTextTDShiftNew); + this.tabPage11.Controls.Add(this.maskedTextTDShiftOld); + this.tabPage11.Controls.Add(this.label7); + this.tabPage11.Controls.Add(this.label6); + resources.ApplyResources(this.tabPage11, "tabPage11"); + this.tabPage11.Name = "tabPage11"; + // + // maskedTextTDShiftNew + // + resources.ApplyResources(this.maskedTextTDShiftNew, "maskedTextTDShiftNew"); + this.maskedTextTDShiftNew.Name = "maskedTextTDShiftNew"; + this.maskedTextTDShiftNew.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // maskedTextTDShiftOld + // + resources.ApplyResources(this.maskedTextTDShiftOld, "maskedTextTDShiftOld"); + this.maskedTextTDShiftOld.Name = "maskedTextTDShiftOld"; + this.maskedTextTDShiftOld.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // label7 + // + resources.ApplyResources(this.label7, "label7"); + this.label7.Name = "label7"; + // + // label6 + // + resources.ApplyResources(this.label6, "label6"); + this.label6.Name = "label6"; + // + // tabPage12 + // + this.tabPage12.Controls.Add(this.label9); + this.tabPage12.Controls.Add(this.label8); + this.tabPage12.Controls.Add(this.txtFDShiftNew); + this.tabPage12.Controls.Add(this.txtFDShiftOld); + resources.ApplyResources(this.tabPage12, "tabPage12"); + this.tabPage12.Name = "tabPage12"; + // + // label9 + // + resources.ApplyResources(this.label9, "label9"); + this.label9.Name = "label9"; + // + // label8 + // + resources.ApplyResources(this.label8, "label8"); + this.label8.Name = "label8"; + // + // txtFDShiftNew + // + resources.ApplyResources(this.txtFDShiftNew, "txtFDShiftNew"); + this.txtFDShiftNew.Name = "txtFDShiftNew"; + // + // txtFDShiftOld + // + resources.ApplyResources(this.txtFDShiftOld, "txtFDShiftOld"); + this.txtFDShiftOld.Name = "txtFDShiftOld"; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.groupBox11); + this.tabPage2.Controls.Add(this.groupBox10); + this.tabPage2.Controls.Add(this.groupBox6); + this.tabPage2.Controls.Add(this.groupBox5); + resources.ApplyResources(this.tabPage2, "tabPage2"); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // groupBox11 + // + this.groupBox11.Controls.Add(this.cmdTimecodesDeapply); + this.groupBox11.Controls.Add(this.cmdTimecodesApply); + this.groupBox11.Controls.Add(this.cmdTimecodesBrowse); + this.groupBox11.Controls.Add(this.textTimecodeFile); + resources.ApplyResources(this.groupBox11, "groupBox11"); + this.groupBox11.Name = "groupBox11"; + this.groupBox11.TabStop = false; + // + // cmdTimecodesDeapply + // + resources.ApplyResources(this.cmdTimecodesDeapply, "cmdTimecodesDeapply"); + this.cmdTimecodesDeapply.Name = "cmdTimecodesDeapply"; + this.cmdTimecodesDeapply.UseVisualStyleBackColor = true; + this.cmdTimecodesDeapply.Click += new System.EventHandler(this.cmdTimecodesDeapply_Click); + // + // cmdTimecodesApply + // + resources.ApplyResources(this.cmdTimecodesApply, "cmdTimecodesApply"); + this.cmdTimecodesApply.Name = "cmdTimecodesApply"; + this.cmdTimecodesApply.UseVisualStyleBackColor = true; + this.cmdTimecodesApply.Click += new System.EventHandler(this.cmdTimecodesApply_Click); + // + // cmdTimecodesBrowse + // + resources.ApplyResources(this.cmdTimecodesBrowse, "cmdTimecodesBrowse"); + this.cmdTimecodesBrowse.Name = "cmdTimecodesBrowse"; + this.cmdTimecodesBrowse.UseCompatibleTextRendering = true; + this.cmdTimecodesBrowse.UseVisualStyleBackColor = true; + this.cmdTimecodesBrowse.Click += new System.EventHandler(this.cmdTimecodesBrowse_Click); + // + // textTimecodeFile + // + resources.ApplyResources(this.textTimecodeFile, "textTimecodeFile"); + this.textTimecodeFile.Name = "textTimecodeFile"; + // + // groupBox10 + // + this.groupBox10.Controls.Add(this.txtLeadOut); + this.groupBox10.Controls.Add(this.txtLeadIn); + this.groupBox10.Controls.Add(this.chkLeadOut); + this.groupBox10.Controls.Add(this.chkLeadIn); + this.groupBox10.Controls.Add(this.cmdLead); + this.groupBox10.Controls.Add(this.chkLeadKaraEmptyK); + this.groupBox10.Controls.Add(this.chkLeadKaraOnly); + resources.ApplyResources(this.groupBox10, "groupBox10"); + this.groupBox10.Name = "groupBox10"; + this.groupBox10.TabStop = false; + // + // txtLeadOut + // + resources.ApplyResources(this.txtLeadOut, "txtLeadOut"); + this.txtLeadOut.Name = "txtLeadOut"; + this.txtLeadOut.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // txtLeadIn + // + resources.ApplyResources(this.txtLeadIn, "txtLeadIn"); + this.txtLeadIn.Name = "txtLeadIn"; + this.txtLeadIn.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // chkLeadOut + // + resources.ApplyResources(this.chkLeadOut, "chkLeadOut"); + this.chkLeadOut.Name = "chkLeadOut"; + this.chkLeadOut.UseCompatibleTextRendering = true; + this.chkLeadOut.UseVisualStyleBackColor = true; + // + // chkLeadIn + // + resources.ApplyResources(this.chkLeadIn, "chkLeadIn"); + this.chkLeadIn.Name = "chkLeadIn"; + this.chkLeadIn.UseCompatibleTextRendering = true; + this.chkLeadIn.UseVisualStyleBackColor = true; + // + // cmdLead + // + resources.ApplyResources(this.cmdLead, "cmdLead"); + this.cmdLead.Name = "cmdLead"; + this.cmdLead.UseVisualStyleBackColor = true; + this.cmdLead.Click += new System.EventHandler(this.cmdLead_Click); + // + // chkLeadKaraEmptyK + // + resources.ApplyResources(this.chkLeadKaraEmptyK, "chkLeadKaraEmptyK"); + this.chkLeadKaraEmptyK.Name = "chkLeadKaraEmptyK"; + this.chkLeadKaraEmptyK.UseVisualStyleBackColor = true; + // + // chkLeadKaraOnly + // + resources.ApplyResources(this.chkLeadKaraOnly, "chkLeadKaraOnly"); + this.chkLeadKaraOnly.Name = "chkLeadKaraOnly"; + this.chkLeadKaraOnly.UseVisualStyleBackColor = true; + // + // groupBox6 + // + this.groupBox6.Controls.Add(this.chkScalePlayRes); + this.groupBox6.Controls.Add(this.txtScaleYDenominator); + this.groupBox6.Controls.Add(this.label50); + this.groupBox6.Controls.Add(this.txtScaleYNumerator); + this.groupBox6.Controls.Add(this.label51); + this.groupBox6.Controls.Add(this.cmdScale); + this.groupBox6.Controls.Add(this.txtScaleXDenominator); + this.groupBox6.Controls.Add(this.label26); + this.groupBox6.Controls.Add(this.txtScaleXNumerator); + this.groupBox6.Controls.Add(this.label25); + resources.ApplyResources(this.groupBox6, "groupBox6"); + this.groupBox6.Name = "groupBox6"; + this.groupBox6.TabStop = false; + // + // chkScalePlayRes + // + resources.ApplyResources(this.chkScalePlayRes, "chkScalePlayRes"); + this.chkScalePlayRes.Name = "chkScalePlayRes"; + this.chkScalePlayRes.UseVisualStyleBackColor = true; + // + // txtScaleYDenominator + // + resources.ApplyResources(this.txtScaleYDenominator, "txtScaleYDenominator"); + this.txtScaleYDenominator.Name = "txtScaleYDenominator"; + // + // label50 + // + resources.ApplyResources(this.label50, "label50"); + this.label50.Name = "label50"; + // + // txtScaleYNumerator + // + resources.ApplyResources(this.txtScaleYNumerator, "txtScaleYNumerator"); + this.txtScaleYNumerator.Name = "txtScaleYNumerator"; + // + // label51 + // + resources.ApplyResources(this.label51, "label51"); + this.label51.Name = "label51"; + // + // cmdScale + // + resources.ApplyResources(this.cmdScale, "cmdScale"); + this.cmdScale.Name = "cmdScale"; + this.cmdScale.Click += new System.EventHandler(this.cmdScale_Click); + // + // txtScaleXDenominator + // + resources.ApplyResources(this.txtScaleXDenominator, "txtScaleXDenominator"); + this.txtScaleXDenominator.Name = "txtScaleXDenominator"; + // + // label26 + // + resources.ApplyResources(this.label26, "label26"); + this.label26.Name = "label26"; + // + // txtScaleXNumerator + // + resources.ApplyResources(this.txtScaleXNumerator, "txtScaleXNumerator"); + this.txtScaleXNumerator.Name = "txtScaleXNumerator"; + // + // label25 + // + resources.ApplyResources(this.label25, "label25"); + this.label25.Name = "label25"; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.cmdLenBasedK); + this.groupBox5.Controls.Add(this.txtLenBasedKThreshold); + this.groupBox5.Controls.Add(this.label13); + resources.ApplyResources(this.groupBox5, "groupBox5"); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.TabStop = false; + // + // cmdLenBasedK + // + resources.ApplyResources(this.cmdLenBasedK, "cmdLenBasedK"); + this.cmdLenBasedK.Name = "cmdLenBasedK"; + this.cmdLenBasedK.Click += new System.EventHandler(this.cmdLenBasedK_Click); + // + // txtLenBasedKThreshold + // + resources.ApplyResources(this.txtLenBasedKThreshold, "txtLenBasedKThreshold"); + this.txtLenBasedKThreshold.Name = "txtLenBasedKThreshold"; + // + // label13 + // + resources.ApplyResources(this.label13, "label13"); + this.label13.Name = "label13"; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.cmdAddEffect); + this.tabPage3.Controls.Add(this.treeKaraoke); + this.tabPage3.Controls.Add(this.cmdNewLayer); + this.tabPage3.Controls.Add(this.cmdKaraDel); + this.tabPage3.Controls.Add(this.cmdDoEffects); + this.tabPage3.Controls.Add(this.cmdKaraDup); + this.tabPage3.Controls.Add(this.panelEffect); + this.tabPage3.Controls.Add(this.panelLayer); + resources.ApplyResources(this.tabPage3, "tabPage3"); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // cmdAddEffect + // + resources.ApplyResources(this.cmdAddEffect, "cmdAddEffect"); + this.cmdAddEffect.Name = "cmdAddEffect"; + this.cmdAddEffect.Click += new System.EventHandler(this.cmdAddEffect_Click); + // + // treeKaraoke + // + this.treeKaraoke.AllowDrop = true; + this.treeKaraoke.CheckBoxes = true; + this.treeKaraoke.HideSelection = false; + resources.ApplyResources(this.treeKaraoke, "treeKaraoke"); + this.treeKaraoke.ItemHeight = 18; + this.treeKaraoke.LabelEdit = true; + this.treeKaraoke.Name = "treeKaraoke"; + this.treeKaraoke.ShowPlusMinus = false; + this.treeKaraoke.ShowRootLines = false; + this.treeKaraoke.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeKaraoke_AfterCheck); + this.treeKaraoke.DragDrop += new System.Windows.Forms.DragEventHandler(this.treeKaraoke_DragDrop); + this.treeKaraoke.AfterLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeKaraoke_AfterLabelEdit); + this.treeKaraoke.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeKaraoke_AfterSelect); + this.treeKaraoke.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeKaraoke_DragEnter); + this.treeKaraoke.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.treeKaraoke_ItemDrag); + // + // cmdNewLayer + // + resources.ApplyResources(this.cmdNewLayer, "cmdNewLayer"); + this.cmdNewLayer.Name = "cmdNewLayer"; + this.cmdNewLayer.Click += new System.EventHandler(this.cmdNewLayer_Click); + // + // cmdKaraDel + // + resources.ApplyResources(this.cmdKaraDel, "cmdKaraDel"); + this.cmdKaraDel.Name = "cmdKaraDel"; + this.cmdKaraDel.Click += new System.EventHandler(this.cmdKaraDel_Click); + // + // cmdDoEffects + // + resources.ApplyResources(this.cmdDoEffects, "cmdDoEffects"); + this.cmdDoEffects.Name = "cmdDoEffects"; + this.cmdDoEffects.Click += new System.EventHandler(this.cmdDoEffects_Click); + // + // cmdKaraDup + // + resources.ApplyResources(this.cmdKaraDup, "cmdKaraDup"); + this.cmdKaraDup.Name = "cmdKaraDup"; + this.cmdKaraDup.Click += new System.EventHandler(this.cmdKaraDup_Click); + // + // panelEffect + // + this.panelEffect.Controls.Add(this.tabControl1); + resources.ApplyResources(this.panelEffect, "panelEffect"); + this.panelEffect.Name = "panelEffect"; + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage7); + this.tabControl1.Controls.Add(this.tabPage8); + resources.ApplyResources(this.tabControl1, "tabControl1"); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + // + // tabPage7 + // + this.tabPage7.Controls.Add(this.lstEffectOptions); + this.tabPage7.Controls.Add(this.label2); + resources.ApplyResources(this.tabPage7, "tabPage7"); + this.tabPage7.Name = "tabPage7"; + // + // lstEffectOptions + // + resources.ApplyResources(this.lstEffectOptions, "lstEffectOptions"); + this.lstEffectOptions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.lstoOptionName, + this.lstoOptionValue}); + this.lstEffectOptions.FullRowSelect = true; + this.lstEffectOptions.GridLines = true; + this.lstEffectOptions.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.lstEffectOptions.MultiSelect = false; + this.lstEffectOptions.Name = "lstEffectOptions"; + this.lstEffectOptions.UseCompatibleStateImageBehavior = false; + this.lstEffectOptions.View = System.Windows.Forms.View.Details; + this.lstEffectOptions.Click += new System.EventHandler(this.lstEffectOptions_Click); + // + // lstoOptionName + // + resources.ApplyResources(this.lstoOptionName, "lstoOptionName"); + // + // lstoOptionValue + // + resources.ApplyResources(this.lstoOptionValue, "lstoOptionValue"); + // + // label2 + // + resources.ApplyResources(this.label2, "label2"); + this.label2.Name = "label2"; + // + // tabPage8 + // + this.tabPage8.Controls.Add(this.lstEffectConditions); + this.tabPage8.Controls.Add(this.cmdDelEffectCondition); + this.tabPage8.Controls.Add(this.cmdAddEffectCondition); + resources.ApplyResources(this.tabPage8, "tabPage8"); + this.tabPage8.Name = "tabPage8"; + // + // lstEffectConditions + // + this.lstEffectConditions.AutoArrange = false; + this.lstEffectConditions.CheckBoxes = true; + this.lstEffectConditions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader1, + this.columnHeader2, + this.columnHeader3}); + this.lstEffectConditions.FullRowSelect = true; + this.lstEffectConditions.GridLines = true; + this.lstEffectConditions.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.lstEffectConditions.HideSelection = false; + this.lstEffectConditions.LabelEdit = true; + resources.ApplyResources(this.lstEffectConditions, "lstEffectConditions"); + this.lstEffectConditions.MultiSelect = false; + this.lstEffectConditions.Name = "lstEffectConditions"; + this.lstEffectConditions.UseCompatibleStateImageBehavior = false; + this.lstEffectConditions.View = System.Windows.Forms.View.Details; + this.lstEffectConditions.SubItemClicked += new SSATool.ListViewES.LabelSubEditEventHandler(this.lstEffectConditions_SubItemClicked); + this.lstEffectConditions.SubItemEndEditing += new SSATool.ListViewES.LabelSubEditEndEventHandler(this.lstEffectConditions_SubItemEndEditing); + // + // columnHeader1 + // + resources.ApplyResources(this.columnHeader1, "columnHeader1"); + // + // columnHeader2 + // + resources.ApplyResources(this.columnHeader2, "columnHeader2"); + // + // columnHeader3 + // + resources.ApplyResources(this.columnHeader3, "columnHeader3"); + // + // cmdDelEffectCondition + // + resources.ApplyResources(this.cmdDelEffectCondition, "cmdDelEffectCondition"); + this.cmdDelEffectCondition.Name = "cmdDelEffectCondition"; + this.cmdDelEffectCondition.Click += new System.EventHandler(this.cmdDelEffectCondition_Click); + // + // cmdAddEffectCondition + // + resources.ApplyResources(this.cmdAddEffectCondition, "cmdAddEffectCondition"); + this.cmdAddEffectCondition.Name = "cmdAddEffectCondition"; + this.cmdAddEffectCondition.Click += new System.EventHandler(this.cmdAddEffectCondition_Click); + // + // panelLayer + // + this.panelLayer.Controls.Add(this.chkSyllablePerLine); + this.panelLayer.Controls.Add(this.groupBox16); + this.panelLayer.Controls.Add(this.textLayerRepetitions); + this.panelLayer.Controls.Add(this.label49); + this.panelLayer.Controls.Add(this.chkAddOnce); + this.panelLayer.Controls.Add(this.chkAddAnyway); + this.panelLayer.Controls.Add(this.chkLayerPerSyllable); + this.panelLayer.Controls.Add(this.cmdDelLayerCondition); + this.panelLayer.Controls.Add(this.cmdNewLayerCondition); + this.panelLayer.Controls.Add(this.lstLayerConditions); + resources.ApplyResources(this.panelLayer, "panelLayer"); + this.panelLayer.Name = "panelLayer"; + // + // chkSyllablePerLine + // + resources.ApplyResources(this.chkSyllablePerLine, "chkSyllablePerLine"); + this.chkSyllablePerLine.Name = "chkSyllablePerLine"; + this.chkSyllablePerLine.UseVisualStyleBackColor = true; + this.chkSyllablePerLine.CheckedChanged += new System.EventHandler(this.chkSyllablePerLine_CheckedChanged); + // + // groupBox16 + // + this.groupBox16.Controls.Add(this.chkKaraAddText); + this.groupBox16.Controls.Add(this.chkKaraAddClosingBracket); + this.groupBox16.Controls.Add(this.chkKaraAddASSA); + this.groupBox16.Controls.Add(this.chkKaraAddK); + resources.ApplyResources(this.groupBox16, "groupBox16"); + this.groupBox16.Name = "groupBox16"; + this.groupBox16.TabStop = false; + // + // chkKaraAddText + // + resources.ApplyResources(this.chkKaraAddText, "chkKaraAddText"); + this.chkKaraAddText.Checked = true; + this.chkKaraAddText.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkKaraAddText.Name = "chkKaraAddText"; + this.chkKaraAddText.UseVisualStyleBackColor = true; + this.chkKaraAddText.CheckedChanged += new System.EventHandler(this.chkKaraAddText_CheckedChanged); + // + // chkKaraAddClosingBracket + // + resources.ApplyResources(this.chkKaraAddClosingBracket, "chkKaraAddClosingBracket"); + this.chkKaraAddClosingBracket.Checked = true; + this.chkKaraAddClosingBracket.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkKaraAddClosingBracket.Name = "chkKaraAddClosingBracket"; + this.chkKaraAddClosingBracket.UseVisualStyleBackColor = true; + this.chkKaraAddClosingBracket.CheckedChanged += new System.EventHandler(this.chkKaraAddClosingBracket_CheckedChanged); + // + // chkKaraAddASSA + // + resources.ApplyResources(this.chkKaraAddASSA, "chkKaraAddASSA"); + this.chkKaraAddASSA.Checked = true; + this.chkKaraAddASSA.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkKaraAddASSA.Name = "chkKaraAddASSA"; + this.chkKaraAddASSA.UseVisualStyleBackColor = true; + this.chkKaraAddASSA.CheckedChanged += new System.EventHandler(this.chkKaraAddASSA_CheckedChanged); + // + // chkKaraAddK + // + resources.ApplyResources(this.chkKaraAddK, "chkKaraAddK"); + this.chkKaraAddK.Checked = true; + this.chkKaraAddK.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkKaraAddK.Name = "chkKaraAddK"; + this.chkKaraAddK.UseVisualStyleBackColor = true; + this.chkKaraAddK.CheckedChanged += new System.EventHandler(this.chkKaraAddK_CheckedChanged); + // + // textLayerRepetitions + // + resources.ApplyResources(this.textLayerRepetitions, "textLayerRepetitions"); + this.textLayerRepetitions.Name = "textLayerRepetitions"; + this.textLayerRepetitions.Leave += new System.EventHandler(this.textLayerRepetitions_Leave); + this.textLayerRepetitions.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textLayerRepetitions_KeyPress); + // + // label49 + // + resources.ApplyResources(this.label49, "label49"); + this.label49.Name = "label49"; + this.label49.UseCompatibleTextRendering = true; + // + // chkAddOnce + // + resources.ApplyResources(this.chkAddOnce, "chkAddOnce"); + this.chkAddOnce.Name = "chkAddOnce"; + this.chkAddOnce.UseCompatibleTextRendering = true; + this.chkAddOnce.CheckedChanged += new System.EventHandler(this.chkAddOnce_CheckedChanged); + // + // chkAddAnyway + // + resources.ApplyResources(this.chkAddAnyway, "chkAddAnyway"); + this.chkAddAnyway.Name = "chkAddAnyway"; + this.chkAddAnyway.UseCompatibleTextRendering = true; + this.chkAddAnyway.CheckedChanged += new System.EventHandler(this.chkAddAnyway_CheckedChanged); + // + // chkLayerPerSyllable + // + resources.ApplyResources(this.chkLayerPerSyllable, "chkLayerPerSyllable"); + this.chkLayerPerSyllable.Name = "chkLayerPerSyllable"; + this.chkLayerPerSyllable.UseCompatibleTextRendering = true; + this.chkLayerPerSyllable.CheckedChanged += new System.EventHandler(this.chkLayerPerSyllable_CheckedChanged); + // + // cmdDelLayerCondition + // + resources.ApplyResources(this.cmdDelLayerCondition, "cmdDelLayerCondition"); + this.cmdDelLayerCondition.Name = "cmdDelLayerCondition"; + this.cmdDelLayerCondition.Click += new System.EventHandler(this.cmdDelLayerCondition_Click); + // + // cmdNewLayerCondition + // + resources.ApplyResources(this.cmdNewLayerCondition, "cmdNewLayerCondition"); + this.cmdNewLayerCondition.Name = "cmdNewLayerCondition"; + this.cmdNewLayerCondition.Click += new System.EventHandler(this.cmdNewLayerCondition_Click); + // + // lstLayerConditions + // + this.lstLayerConditions.AutoArrange = false; + this.lstLayerConditions.CheckBoxes = true; + this.lstLayerConditions.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader4, + this.columnHeader5, + this.columnHeader6}); + resources.ApplyResources(this.lstLayerConditions, "lstLayerConditions"); + this.lstLayerConditions.FullRowSelect = true; + this.lstLayerConditions.GridLines = true; + this.lstLayerConditions.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.lstLayerConditions.HideSelection = false; + this.lstLayerConditions.LabelEdit = true; + this.lstLayerConditions.MultiSelect = false; + this.lstLayerConditions.Name = "lstLayerConditions"; + this.lstLayerConditions.UseCompatibleStateImageBehavior = false; + this.lstLayerConditions.View = System.Windows.Forms.View.Details; + this.lstLayerConditions.SubItemClicked += new SSATool.ListViewES.LabelSubEditEventHandler(this.lstLayerConditions_SubItemClicked); + this.lstLayerConditions.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.lstLayerConditions_ItemCheck); + this.lstLayerConditions.SubItemEndEditing += new SSATool.ListViewES.LabelSubEditEndEventHandler(this.lstLayerConditions_SubItemEndEditing); + // + // columnHeader4 + // + resources.ApplyResources(this.columnHeader4, "columnHeader4"); + // + // columnHeader5 + // + resources.ApplyResources(this.columnHeader5, "columnHeader5"); + // + // columnHeader6 + // + resources.ApplyResources(this.columnHeader6, "columnHeader6"); + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.label17); + this.tabPage4.Controls.Add(this.panelGradient); + this.tabPage4.Controls.Add(this.label16); + this.tabPage4.Controls.Add(this.label18); + this.tabPage4.Controls.Add(this.label15); + this.tabPage4.Controls.Add(this.label14); + this.tabPage4.Controls.Add(this.cmdGradMoveBefore); + this.tabPage4.Controls.Add(this.txtGradOut); + this.tabPage4.Controls.Add(this.txtGradIn); + this.tabPage4.Controls.Add(this.txtGradBefore); + resources.ApplyResources(this.tabPage4, "tabPage4"); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // label17 + // + resources.ApplyResources(this.label17, "label17"); + this.label17.Name = "label17"; + // + // panelGradient + // + this.panelGradient.Controls.Add(this.txtGradCLines); + this.panelGradient.Controls.Add(this.cmdGradDoGrad); + this.panelGradient.Controls.Add(this.groupBox7); + this.panelGradient.Controls.Add(this.cmdGradReplaceLine); + this.panelGradient.Controls.Add(this.txtGradMirror); + this.panelGradient.Controls.Add(this.cmdGradInsertAfter); + this.panelGradient.Controls.Add(this.label33); + this.panelGradient.Controls.Add(this.cmdGradInsertBefore); + this.panelGradient.Controls.Add(this.label37); + this.panelGradient.Controls.Add(this.label19); + this.panelGradient.Controls.Add(this.txtGradBase); + this.panelGradient.Controls.Add(this.label20); + this.panelGradient.Controls.Add(this.chkGrad4c); + this.panelGradient.Controls.Add(this.label21); + this.panelGradient.Controls.Add(this.chkGrad3c); + this.panelGradient.Controls.Add(this.label22); + this.panelGradient.Controls.Add(this.chkGrad2c); + this.panelGradient.Controls.Add(this.label23); + this.panelGradient.Controls.Add(this.chkGrad1c); + this.panelGradient.Controls.Add(this.label24); + this.panelGradient.Controls.Add(this.txtGradStartPos); + this.panelGradient.Controls.Add(this.cmdGradListToInput); + this.panelGradient.Controls.Add(this.txtGradEndPos); + this.panelGradient.Controls.Add(this.txtGradEndBGR); + this.panelGradient.Controls.Add(this.txtGradOffset); + this.panelGradient.Controls.Add(this.txtGradStartBGR); + resources.ApplyResources(this.panelGradient, "panelGradient"); + this.panelGradient.Name = "panelGradient"; + // + // txtGradCLines + // + resources.ApplyResources(this.txtGradCLines, "txtGradCLines"); + this.txtGradCLines.Name = "txtGradCLines"; + // + // cmdGradDoGrad + // + resources.ApplyResources(this.cmdGradDoGrad, "cmdGradDoGrad"); + this.cmdGradDoGrad.Name = "cmdGradDoGrad"; + this.cmdGradDoGrad.Click += new System.EventHandler(this.cmdGradDoGrad_Click); + // + // groupBox7 + // + this.groupBox7.Controls.Add(this.radGradExp); + this.groupBox7.Controls.Add(this.radGradLog); + this.groupBox7.Controls.Add(this.radGradPoly); + resources.ApplyResources(this.groupBox7, "groupBox7"); + this.groupBox7.Name = "groupBox7"; + this.groupBox7.TabStop = false; + // + // radGradExp + // + resources.ApplyResources(this.radGradExp, "radGradExp"); + this.radGradExp.Name = "radGradExp"; + this.radGradExp.UseCompatibleTextRendering = true; + // + // radGradLog + // + resources.ApplyResources(this.radGradLog, "radGradLog"); + this.radGradLog.Name = "radGradLog"; + this.radGradLog.UseCompatibleTextRendering = true; + // + // radGradPoly + // + this.radGradPoly.Checked = true; + resources.ApplyResources(this.radGradPoly, "radGradPoly"); + this.radGradPoly.Name = "radGradPoly"; + this.radGradPoly.TabStop = true; + this.radGradPoly.UseCompatibleTextRendering = true; + // + // cmdGradReplaceLine + // + resources.ApplyResources(this.cmdGradReplaceLine, "cmdGradReplaceLine"); + this.cmdGradReplaceLine.Name = "cmdGradReplaceLine"; + this.cmdGradReplaceLine.UseCompatibleTextRendering = true; + this.cmdGradReplaceLine.Click += new System.EventHandler(this.cmdGradReplaceLine_Click); + // + // txtGradMirror + // + resources.ApplyResources(this.txtGradMirror, "txtGradMirror"); + this.txtGradMirror.Name = "txtGradMirror"; + // + // cmdGradInsertAfter + // + resources.ApplyResources(this.cmdGradInsertAfter, "cmdGradInsertAfter"); + this.cmdGradInsertAfter.Name = "cmdGradInsertAfter"; + this.cmdGradInsertAfter.UseCompatibleTextRendering = true; + this.cmdGradInsertAfter.Click += new System.EventHandler(this.cmdGradInsertAfter_Click); + // + // label33 + // + resources.ApplyResources(this.label33, "label33"); + this.label33.Name = "label33"; + // + // cmdGradInsertBefore + // + resources.ApplyResources(this.cmdGradInsertBefore, "cmdGradInsertBefore"); + this.cmdGradInsertBefore.Name = "cmdGradInsertBefore"; + this.cmdGradInsertBefore.UseCompatibleTextRendering = true; + this.cmdGradInsertBefore.Click += new System.EventHandler(this.cmdGradInsertBefore_Click); + // + // label37 + // + resources.ApplyResources(this.label37, "label37"); + this.label37.Name = "label37"; + // + // label19 + // + resources.ApplyResources(this.label19, "label19"); + this.label19.Name = "label19"; + // + // txtGradBase + // + resources.ApplyResources(this.txtGradBase, "txtGradBase"); + this.txtGradBase.Name = "txtGradBase"; + // + // label20 + // + resources.ApplyResources(this.label20, "label20"); + this.label20.Name = "label20"; + // + // chkGrad4c + // + resources.ApplyResources(this.chkGrad4c, "chkGrad4c"); + this.chkGrad4c.Name = "chkGrad4c"; + // + // label21 + // + resources.ApplyResources(this.label21, "label21"); + this.label21.Name = "label21"; + // + // chkGrad3c + // + resources.ApplyResources(this.chkGrad3c, "chkGrad3c"); + this.chkGrad3c.Name = "chkGrad3c"; + // + // label22 + // + resources.ApplyResources(this.label22, "label22"); + this.label22.Name = "label22"; + // + // chkGrad2c + // + resources.ApplyResources(this.chkGrad2c, "chkGrad2c"); + this.chkGrad2c.Name = "chkGrad2c"; + // + // label23 + // + resources.ApplyResources(this.label23, "label23"); + this.label23.Name = "label23"; + // + // chkGrad1c + // + this.chkGrad1c.Checked = true; + this.chkGrad1c.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkGrad1c, "chkGrad1c"); + this.chkGrad1c.Name = "chkGrad1c"; + // + // label24 + // + resources.ApplyResources(this.label24, "label24"); + this.label24.Name = "label24"; + // + // txtGradStartPos + // + resources.ApplyResources(this.txtGradStartPos, "txtGradStartPos"); + this.txtGradStartPos.Name = "txtGradStartPos"; + // + // cmdGradListToInput + // + resources.ApplyResources(this.cmdGradListToInput, "cmdGradListToInput"); + this.cmdGradListToInput.Name = "cmdGradListToInput"; + this.cmdGradListToInput.UseCompatibleTextRendering = true; + this.cmdGradListToInput.Click += new System.EventHandler(this.cmdGradListToInput_Click); + // + // txtGradEndPos + // + resources.ApplyResources(this.txtGradEndPos, "txtGradEndPos"); + this.txtGradEndPos.Name = "txtGradEndPos"; + // + // txtGradEndBGR + // + resources.ApplyResources(this.txtGradEndBGR, "txtGradEndBGR"); + this.txtGradEndBGR.Name = "txtGradEndBGR"; + // + // txtGradOffset + // + resources.ApplyResources(this.txtGradOffset, "txtGradOffset"); + this.txtGradOffset.Name = "txtGradOffset"; + // + // txtGradStartBGR + // + resources.ApplyResources(this.txtGradStartBGR, "txtGradStartBGR"); + this.txtGradStartBGR.Name = "txtGradStartBGR"; + // + // label16 + // + resources.ApplyResources(this.label16, "label16"); + this.label16.Name = "label16"; + // + // label18 + // + resources.ApplyResources(this.label18, "label18"); + this.label18.Name = "label18"; + // + // label15 + // + resources.ApplyResources(this.label15, "label15"); + this.label15.Name = "label15"; + // + // label14 + // + resources.ApplyResources(this.label14, "label14"); + this.label14.Name = "label14"; + // + // cmdGradMoveBefore + // + resources.ApplyResources(this.cmdGradMoveBefore, "cmdGradMoveBefore"); + this.cmdGradMoveBefore.Name = "cmdGradMoveBefore"; + this.cmdGradMoveBefore.UseCompatibleTextRendering = true; + this.cmdGradMoveBefore.UseMnemonic = false; + this.cmdGradMoveBefore.Click += new System.EventHandler(this.cmdGradMoveBefore_Click); + // + // txtGradOut + // + this.txtGradOut.AcceptsReturn = true; + resources.ApplyResources(this.txtGradOut, "txtGradOut"); + this.txtGradOut.Name = "txtGradOut"; + // + // txtGradIn + // + resources.ApplyResources(this.txtGradIn, "txtGradIn"); + this.txtGradIn.Name = "txtGradIn"; + // + // txtGradBefore + // + resources.ApplyResources(this.txtGradBefore, "txtGradBefore"); + this.txtGradBefore.Name = "txtGradBefore"; + // + // tabPage14 + // + this.tabPage14.Controls.Add(this.panelBlur); + this.tabPage14.Controls.Add(this.cmdBlurMoveBefore); + this.tabPage14.Controls.Add(this.label35); + this.tabPage14.Controls.Add(this.txtBlurBefore); + this.tabPage14.Controls.Add(this.label32); + this.tabPage14.Controls.Add(this.label31); + this.tabPage14.Controls.Add(this.txtBlurOut); + this.tabPage14.Controls.Add(this.txtBlurIn); + resources.ApplyResources(this.tabPage14, "tabPage14"); + this.tabPage14.Name = "tabPage14"; + this.tabPage14.UseVisualStyleBackColor = true; + // + // panelBlur + // + this.panelBlur.Controls.Add(this.groupBlurAffect); + this.panelBlur.Controls.Add(this.label42); + this.panelBlur.Controls.Add(this.label28); + this.panelBlur.Controls.Add(this.txtBlurRadV); + this.panelBlur.Controls.Add(this.txtBlurLines); + this.panelBlur.Controls.Add(this.label29); + this.panelBlur.Controls.Add(this.groupBox9); + this.panelBlur.Controls.Add(this.label30); + this.panelBlur.Controls.Add(this.groupBlurSub); + this.panelBlur.Controls.Add(this.txtBlurStartAlpha); + this.panelBlur.Controls.Add(this.label38); + this.panelBlur.Controls.Add(this.txtBlurEndAlpha); + this.panelBlur.Controls.Add(this.txtBlurBase); + this.panelBlur.Controls.Add(this.cmdDoBlur); + this.panelBlur.Controls.Add(this.txtBlurPos); + this.panelBlur.Controls.Add(this.groupBox8); + this.panelBlur.Controls.Add(this.label36); + this.panelBlur.Controls.Add(this.label34); + this.panelBlur.Controls.Add(this.cmdBlurListToInput); + this.panelBlur.Controls.Add(this.txtBlurRadH); + this.panelBlur.Controls.Add(this.cmdBlurInsertBefore); + this.panelBlur.Controls.Add(this.cmdBlurReplaceLine); + this.panelBlur.Controls.Add(this.cmdBlurInsertAfter); + resources.ApplyResources(this.panelBlur, "panelBlur"); + this.panelBlur.Name = "panelBlur"; + // + // groupBlurAffect + // + this.groupBlurAffect.Controls.Add(this.chkBlur4a); + this.groupBlurAffect.Controls.Add(this.chkBlur3a); + this.groupBlurAffect.Controls.Add(this.chkBlur2a); + this.groupBlurAffect.Controls.Add(this.chkBlur1a); + resources.ApplyResources(this.groupBlurAffect, "groupBlurAffect"); + this.groupBlurAffect.Name = "groupBlurAffect"; + this.groupBlurAffect.TabStop = false; + // + // chkBlur4a + // + resources.ApplyResources(this.chkBlur4a, "chkBlur4a"); + this.chkBlur4a.Name = "chkBlur4a"; + this.chkBlur4a.UseCompatibleTextRendering = true; + // + // chkBlur3a + // + this.chkBlur3a.Checked = true; + this.chkBlur3a.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkBlur3a, "chkBlur3a"); + this.chkBlur3a.Name = "chkBlur3a"; + this.chkBlur3a.UseCompatibleTextRendering = true; + // + // chkBlur2a + // + resources.ApplyResources(this.chkBlur2a, "chkBlur2a"); + this.chkBlur2a.Name = "chkBlur2a"; + this.chkBlur2a.UseCompatibleTextRendering = true; + // + // chkBlur1a + // + resources.ApplyResources(this.chkBlur1a, "chkBlur1a"); + this.chkBlur1a.Name = "chkBlur1a"; + this.chkBlur1a.UseCompatibleTextRendering = true; + // + // label42 + // + resources.ApplyResources(this.label42, "label42"); + this.label42.Name = "label42"; + // + // label28 + // + resources.ApplyResources(this.label28, "label28"); + this.label28.Name = "label28"; + // + // txtBlurRadV + // + resources.ApplyResources(this.txtBlurRadV, "txtBlurRadV"); + this.txtBlurRadV.Name = "txtBlurRadV"; + // + // txtBlurLines + // + resources.ApplyResources(this.txtBlurLines, "txtBlurLines"); + this.txtBlurLines.Name = "txtBlurLines"; + // + // label29 + // + resources.ApplyResources(this.label29, "label29"); + this.label29.Name = "label29"; + // + // groupBox9 + // + this.groupBox9.Controls.Add(this.radBlurExp); + this.groupBox9.Controls.Add(this.radBlurLog); + this.groupBox9.Controls.Add(this.radBlurPoly); + resources.ApplyResources(this.groupBox9, "groupBox9"); + this.groupBox9.Name = "groupBox9"; + this.groupBox9.TabStop = false; + // + // radBlurExp + // + resources.ApplyResources(this.radBlurExp, "radBlurExp"); + this.radBlurExp.Name = "radBlurExp"; + this.radBlurExp.UseCompatibleTextRendering = true; + // + // radBlurLog + // + resources.ApplyResources(this.radBlurLog, "radBlurLog"); + this.radBlurLog.Name = "radBlurLog"; + this.radBlurLog.UseCompatibleTextRendering = true; + // + // radBlurPoly + // + this.radBlurPoly.Checked = true; + resources.ApplyResources(this.radBlurPoly, "radBlurPoly"); + this.radBlurPoly.Name = "radBlurPoly"; + this.radBlurPoly.TabStop = true; + this.radBlurPoly.UseCompatibleTextRendering = true; + // + // label30 + // + resources.ApplyResources(this.label30, "label30"); + this.label30.Name = "label30"; + // + // groupBlurSub + // + this.groupBlurSub.Controls.Add(this.chkBlur2aSub); + this.groupBlurSub.Controls.Add(this.chkBlur4aSub); + this.groupBlurSub.Controls.Add(this.chkBlur3aSub); + this.groupBlurSub.Controls.Add(this.chkBlur1aSub); + resources.ApplyResources(this.groupBlurSub, "groupBlurSub"); + this.groupBlurSub.Name = "groupBlurSub"; + this.groupBlurSub.TabStop = false; + // + // chkBlur2aSub + // + this.chkBlur2aSub.Checked = true; + this.chkBlur2aSub.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkBlur2aSub, "chkBlur2aSub"); + this.chkBlur2aSub.Name = "chkBlur2aSub"; + this.chkBlur2aSub.UseCompatibleTextRendering = true; + // + // chkBlur4aSub + // + this.chkBlur4aSub.Checked = true; + this.chkBlur4aSub.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkBlur4aSub, "chkBlur4aSub"); + this.chkBlur4aSub.Name = "chkBlur4aSub"; + this.chkBlur4aSub.UseCompatibleTextRendering = true; + // + // chkBlur3aSub + // + resources.ApplyResources(this.chkBlur3aSub, "chkBlur3aSub"); + this.chkBlur3aSub.Name = "chkBlur3aSub"; + this.chkBlur3aSub.UseCompatibleTextRendering = true; + // + // chkBlur1aSub + // + this.chkBlur1aSub.Checked = true; + this.chkBlur1aSub.CheckState = System.Windows.Forms.CheckState.Checked; + resources.ApplyResources(this.chkBlur1aSub, "chkBlur1aSub"); + this.chkBlur1aSub.Name = "chkBlur1aSub"; + this.chkBlur1aSub.UseCompatibleTextRendering = true; + // + // txtBlurStartAlpha + // + resources.ApplyResources(this.txtBlurStartAlpha, "txtBlurStartAlpha"); + this.txtBlurStartAlpha.Name = "txtBlurStartAlpha"; + // + // label38 + // + resources.ApplyResources(this.label38, "label38"); + this.label38.Name = "label38"; + // + // txtBlurEndAlpha + // + resources.ApplyResources(this.txtBlurEndAlpha, "txtBlurEndAlpha"); + this.txtBlurEndAlpha.Name = "txtBlurEndAlpha"; + // + // txtBlurBase + // + resources.ApplyResources(this.txtBlurBase, "txtBlurBase"); + this.txtBlurBase.Name = "txtBlurBase"; + // + // cmdDoBlur + // + resources.ApplyResources(this.cmdDoBlur, "cmdDoBlur"); + this.cmdDoBlur.Name = "cmdDoBlur"; + this.cmdDoBlur.Click += new System.EventHandler(this.cmdDoBlur_Click); + // + // txtBlurPos + // + resources.ApplyResources(this.txtBlurPos, "txtBlurPos"); + this.txtBlurPos.Name = "txtBlurPos"; + // + // groupBox8 + // + this.groupBox8.Controls.Add(this.radBlurGlow); + this.groupBox8.Controls.Add(this.radBlurHV); + resources.ApplyResources(this.groupBox8, "groupBox8"); + this.groupBox8.Name = "groupBox8"; + this.groupBox8.TabStop = false; + // + // radBlurGlow + // + resources.ApplyResources(this.radBlurGlow, "radBlurGlow"); + this.radBlurGlow.Name = "radBlurGlow"; + this.radBlurGlow.UseCompatibleTextRendering = true; + this.radBlurGlow.CheckedChanged += new System.EventHandler(this.radBlurGlow_CheckedChanged); + // + // radBlurHV + // + this.radBlurHV.Checked = true; + resources.ApplyResources(this.radBlurHV, "radBlurHV"); + this.radBlurHV.Name = "radBlurHV"; + this.radBlurHV.TabStop = true; + this.radBlurHV.UseCompatibleTextRendering = true; + this.radBlurHV.CheckedChanged += new System.EventHandler(this.radBlurHV_CheckedChanged); + // + // label36 + // + resources.ApplyResources(this.label36, "label36"); + this.label36.Name = "label36"; + // + // label34 + // + resources.ApplyResources(this.label34, "label34"); + this.label34.Name = "label34"; + // + // cmdBlurListToInput + // + resources.ApplyResources(this.cmdBlurListToInput, "cmdBlurListToInput"); + this.cmdBlurListToInput.Name = "cmdBlurListToInput"; + this.cmdBlurListToInput.Click += new System.EventHandler(this.cmdBlurListToInput_Click); + // + // txtBlurRadH + // + resources.ApplyResources(this.txtBlurRadH, "txtBlurRadH"); + this.txtBlurRadH.Name = "txtBlurRadH"; + // + // cmdBlurInsertBefore + // + resources.ApplyResources(this.cmdBlurInsertBefore, "cmdBlurInsertBefore"); + this.cmdBlurInsertBefore.Name = "cmdBlurInsertBefore"; + this.cmdBlurInsertBefore.Click += new System.EventHandler(this.cmdBlurInsertBefore_Click); + // + // cmdBlurReplaceLine + // + resources.ApplyResources(this.cmdBlurReplaceLine, "cmdBlurReplaceLine"); + this.cmdBlurReplaceLine.Name = "cmdBlurReplaceLine"; + this.cmdBlurReplaceLine.Click += new System.EventHandler(this.cmdBlurReplaceLine_Click); + // + // cmdBlurInsertAfter + // + resources.ApplyResources(this.cmdBlurInsertAfter, "cmdBlurInsertAfter"); + this.cmdBlurInsertAfter.Name = "cmdBlurInsertAfter"; + this.cmdBlurInsertAfter.Click += new System.EventHandler(this.cmdBlurInsertAfter_Click); + // + // cmdBlurMoveBefore + // + resources.ApplyResources(this.cmdBlurMoveBefore, "cmdBlurMoveBefore"); + this.cmdBlurMoveBefore.Name = "cmdBlurMoveBefore"; + this.cmdBlurMoveBefore.UseCompatibleTextRendering = true; + this.cmdBlurMoveBefore.Click += new System.EventHandler(this.cmdBlurMoveBefore_Click); + // + // label35 + // + resources.ApplyResources(this.label35, "label35"); + this.label35.Name = "label35"; + // + // txtBlurBefore + // + resources.ApplyResources(this.txtBlurBefore, "txtBlurBefore"); + this.txtBlurBefore.Name = "txtBlurBefore"; + // + // label32 + // + resources.ApplyResources(this.label32, "label32"); + this.label32.Name = "label32"; + // + // label31 + // + resources.ApplyResources(this.label31, "label31"); + this.label31.Name = "label31"; + // + // txtBlurOut + // + resources.ApplyResources(this.txtBlurOut, "txtBlurOut"); + this.txtBlurOut.Name = "txtBlurOut"; + // + // txtBlurIn + // + resources.ApplyResources(this.txtBlurIn, "txtBlurIn"); + this.txtBlurIn.Name = "txtBlurIn"; + // + // tabPage16 + // + this.tabPage16.Controls.Add(this.maskedTextTransformTime); + this.tabPage16.Controls.Add(this.cmdTransformListToInput); + this.tabPage16.Controls.Add(this.cmdTransformInsertBefore); + this.tabPage16.Controls.Add(this.cmdTransformInsertAfter); + this.tabPage16.Controls.Add(this.cmdTransformReplaceLine); + this.tabPage16.Controls.Add(this.label45); + this.tabPage16.Controls.Add(this.txtTransformPrecision); + this.tabPage16.Controls.Add(this.label1); + this.tabPage16.Controls.Add(this.listTransformVars); + this.tabPage16.Controls.Add(this.txtTransformCode); + this.tabPage16.Controls.Add(this.label47); + this.tabPage16.Controls.Add(this.label46); + this.tabPage16.Controls.Add(this.cmdTransformDelVar); + this.tabPage16.Controls.Add(this.cmdTransformNewVar); + this.tabPage16.Controls.Add(this.cmdDoTransform); + this.tabPage16.Controls.Add(this.label44); + this.tabPage16.Controls.Add(this.cmdTransformDelTime); + this.tabPage16.Controls.Add(this.cmdTransformAddTime); + this.tabPage16.Controls.Add(this.listTransformTimes); + this.tabPage16.Controls.Add(this.label43); + this.tabPage16.Controls.Add(this.txtTransformOut); + resources.ApplyResources(this.tabPage16, "tabPage16"); + this.tabPage16.Name = "tabPage16"; + this.tabPage16.UseVisualStyleBackColor = true; + // + // maskedTextTransformTime + // + resources.ApplyResources(this.maskedTextTransformTime, "maskedTextTransformTime"); + this.maskedTextTransformTime.Name = "maskedTextTransformTime"; + this.maskedTextTransformTime.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // cmdTransformListToInput + // + resources.ApplyResources(this.cmdTransformListToInput, "cmdTransformListToInput"); + this.cmdTransformListToInput.Name = "cmdTransformListToInput"; + this.cmdTransformListToInput.Click += new System.EventHandler(this.cmdTransformListToInput_Click); + // + // cmdTransformInsertBefore + // + resources.ApplyResources(this.cmdTransformInsertBefore, "cmdTransformInsertBefore"); + this.cmdTransformInsertBefore.Name = "cmdTransformInsertBefore"; + this.cmdTransformInsertBefore.Click += new System.EventHandler(this.cmdTransformInsertBefore_Click); + // + // cmdTransformInsertAfter + // + resources.ApplyResources(this.cmdTransformInsertAfter, "cmdTransformInsertAfter"); + this.cmdTransformInsertAfter.Name = "cmdTransformInsertAfter"; + this.cmdTransformInsertAfter.Click += new System.EventHandler(this.cmdTransformInsertAfter_Click); + // + // cmdTransformReplaceLine + // + resources.ApplyResources(this.cmdTransformReplaceLine, "cmdTransformReplaceLine"); + this.cmdTransformReplaceLine.Name = "cmdTransformReplaceLine"; + this.cmdTransformReplaceLine.Click += new System.EventHandler(this.cmdTransformReplaceLine_Click); + // + // label45 + // + resources.ApplyResources(this.label45, "label45"); + this.label45.Name = "label45"; + // + // txtTransformPrecision + // + resources.ApplyResources(this.txtTransformPrecision, "txtTransformPrecision"); + this.txtTransformPrecision.Name = "txtTransformPrecision"; + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // listTransformVars + // + this.listTransformVars.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader13}); + this.listTransformVars.GridLines = true; + this.listTransformVars.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + this.listTransformVars.LabelEdit = true; + resources.ApplyResources(this.listTransformVars, "listTransformVars"); + this.listTransformVars.Name = "listTransformVars"; + this.listTransformVars.UseCompatibleStateImageBehavior = false; + this.listTransformVars.View = System.Windows.Forms.View.Details; + // + // columnHeader13 + // + resources.ApplyResources(this.columnHeader13, "columnHeader13"); + // + // txtTransformCode + // + resources.ApplyResources(this.txtTransformCode, "txtTransformCode"); + this.txtTransformCode.Name = "txtTransformCode"; + // + // label47 + // + resources.ApplyResources(this.label47, "label47"); + this.label47.Name = "label47"; + // + // label46 + // + resources.ApplyResources(this.label46, "label46"); + this.label46.Name = "label46"; + // + // cmdTransformDelVar + // + resources.ApplyResources(this.cmdTransformDelVar, "cmdTransformDelVar"); + this.cmdTransformDelVar.Name = "cmdTransformDelVar"; + this.cmdTransformDelVar.UseCompatibleTextRendering = true; + this.cmdTransformDelVar.Click += new System.EventHandler(this.cmdTransformDelVar_Click); + // + // cmdTransformNewVar + // + resources.ApplyResources(this.cmdTransformNewVar, "cmdTransformNewVar"); + this.cmdTransformNewVar.Name = "cmdTransformNewVar"; + this.cmdTransformNewVar.UseCompatibleTextRendering = true; + this.cmdTransformNewVar.Click += new System.EventHandler(this.cmdTransformNewVar_Click); + // + // cmdDoTransform + // + resources.ApplyResources(this.cmdDoTransform, "cmdDoTransform"); + this.cmdDoTransform.Name = "cmdDoTransform"; + this.cmdDoTransform.Click += new System.EventHandler(this.cmdDoTransform_Click); + // + // label44 + // + resources.ApplyResources(this.label44, "label44"); + this.label44.Name = "label44"; + // + // cmdTransformDelTime + // + resources.ApplyResources(this.cmdTransformDelTime, "cmdTransformDelTime"); + this.cmdTransformDelTime.Name = "cmdTransformDelTime"; + this.cmdTransformDelTime.UseCompatibleTextRendering = true; + this.cmdTransformDelTime.Click += new System.EventHandler(this.cmdTransformDelTime_Click); + // + // cmdTransformAddTime + // + resources.ApplyResources(this.cmdTransformAddTime, "cmdTransformAddTime"); + this.cmdTransformAddTime.Name = "cmdTransformAddTime"; + this.cmdTransformAddTime.UseCompatibleTextRendering = true; + this.cmdTransformAddTime.Click += new System.EventHandler(this.cmdTransformAddTime_Click); + // + // listTransformTimes + // + resources.ApplyResources(this.listTransformTimes, "listTransformTimes"); + this.listTransformTimes.Name = "listTransformTimes"; + // + // label43 + // + resources.ApplyResources(this.label43, "label43"); + this.label43.Name = "label43"; + // + // txtTransformOut + // + resources.ApplyResources(this.txtTransformOut, "txtTransformOut"); + this.txtTransformOut.Name = "txtTransformOut"; + // + // tabPage13 + // + this.tabPage13.Controls.Add(this.lstErrors); + this.tabPage13.Controls.Add(this.label27); + this.tabPage13.Controls.Add(this.cmdCheckErrors); + resources.ApplyResources(this.tabPage13, "tabPage13"); + this.tabPage13.Name = "tabPage13"; + this.tabPage13.UseVisualStyleBackColor = true; + // + // lstErrors + // + resources.ApplyResources(this.lstErrors, "lstErrors"); + this.lstErrors.Name = "lstErrors"; + this.lstErrors.DoubleClick += new System.EventHandler(this.lstErrors_DoubleClick); + // + // label27 + // + resources.ApplyResources(this.label27, "label27"); + this.label27.Name = "label27"; + // + // cmdCheckErrors + // + resources.ApplyResources(this.cmdCheckErrors, "cmdCheckErrors"); + this.cmdCheckErrors.Name = "cmdCheckErrors"; + this.cmdCheckErrors.Click += new System.EventHandler(this.cmdCheckErrors_Click); + // + // tabPage15 + // + this.tabPage15.Controls.Add(this.labelFontNum); + this.tabPage15.Controls.Add(this.cmdFontSearchFolder); + this.tabPage15.Controls.Add(this.label40); + this.tabPage15.Controls.Add(this.cmdFindFonts); + this.tabPage15.Controls.Add(this.label39); + this.tabPage15.Controls.Add(this.lstFonts); + resources.ApplyResources(this.tabPage15, "tabPage15"); + this.tabPage15.Name = "tabPage15"; + this.tabPage15.UseVisualStyleBackColor = true; + // + // labelFontNum + // + resources.ApplyResources(this.labelFontNum, "labelFontNum"); + this.labelFontNum.Name = "labelFontNum"; + // + // cmdFontSearchFolder + // + resources.ApplyResources(this.cmdFontSearchFolder, "cmdFontSearchFolder"); + this.cmdFontSearchFolder.Name = "cmdFontSearchFolder"; + this.cmdFontSearchFolder.Click += new System.EventHandler(this.cmdFontSearchFolder_Click); + // + // label40 + // + resources.ApplyResources(this.label40, "label40"); + this.label40.Name = "label40"; + // + // cmdFindFonts + // + resources.ApplyResources(this.cmdFindFonts, "cmdFindFonts"); + this.cmdFindFonts.Name = "cmdFindFonts"; + this.cmdFindFonts.Click += new System.EventHandler(this.cmdFindFonts_Click); + // + // label39 + // + resources.ApplyResources(this.label39, "label39"); + this.label39.Name = "label39"; + // + // lstFonts + // + this.lstFonts.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader7, + this.columnHeader8, + this.columnHeader9}); + this.lstFonts.FullRowSelect = true; + this.lstFonts.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable; + resources.ApplyResources(this.lstFonts, "lstFonts"); + this.lstFonts.Name = "lstFonts"; + this.lstFonts.Sorting = System.Windows.Forms.SortOrder.Ascending; + this.lstFonts.UseCompatibleStateImageBehavior = false; + this.lstFonts.View = System.Windows.Forms.View.Details; + // + // columnHeader7 + // + resources.ApplyResources(this.columnHeader7, "columnHeader7"); + // + // columnHeader8 + // + resources.ApplyResources(this.columnHeader8, "columnHeader8"); + // + // columnHeader9 + // + resources.ApplyResources(this.columnHeader9, "columnHeader9"); + // + // tabPage5 + // + this.tabPage5.Controls.Add(this.groupBox19); + this.tabPage5.Controls.Add(this.groupBox18); + this.tabPage5.Controls.Add(this.groupBox17); + this.tabPage5.Controls.Add(this.groupBox15); + this.tabPage5.Controls.Add(this.groupBox14); + this.tabPage5.Controls.Add(this.groupBox13); + resources.ApplyResources(this.tabPage5, "tabPage5"); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.UseVisualStyleBackColor = true; + // + // groupBox19 + // + this.groupBox19.Controls.Add(this.textBox1); + resources.ApplyResources(this.groupBox19, "groupBox19"); + this.groupBox19.Name = "groupBox19"; + this.groupBox19.TabStop = false; + // + // textBox1 + // + this.textBox1.BackColor = System.Drawing.SystemColors.Control; + this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.textBox1, "textBox1"); + this.textBox1.Name = "textBox1"; + this.textBox1.ReadOnly = true; + // + // groupBox18 + // + this.groupBox18.Controls.Add(this.lblRegroupDestIndex); + this.groupBox18.Controls.Add(this.label10); + this.groupBox18.Controls.Add(this.lblRegroupSourceIndex); + this.groupBox18.Controls.Add(this.label5); + resources.ApplyResources(this.groupBox18, "groupBox18"); + this.groupBox18.Name = "groupBox18"; + this.groupBox18.TabStop = false; + // + // lblRegroupDestIndex + // + resources.ApplyResources(this.lblRegroupDestIndex, "lblRegroupDestIndex"); + this.lblRegroupDestIndex.Name = "lblRegroupDestIndex"; + // + // label10 + // + resources.ApplyResources(this.label10, "label10"); + this.label10.Name = "label10"; + // + // lblRegroupSourceIndex + // + resources.ApplyResources(this.lblRegroupSourceIndex, "lblRegroupSourceIndex"); + this.lblRegroupSourceIndex.Name = "lblRegroupSourceIndex"; + // + // label5 + // + resources.ApplyResources(this.label5, "label5"); + this.label5.Name = "label5"; + // + // groupBox17 + // + this.groupBox17.Controls.Add(this.listRegroupPairs); + resources.ApplyResources(this.groupBox17, "groupBox17"); + this.groupBox17.Name = "groupBox17"; + this.groupBox17.TabStop = false; + // + // listRegroupPairs + // + this.listRegroupPairs.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.columnHeader10, + this.columnHeader12}); + this.listRegroupPairs.FullRowSelect = true; + this.listRegroupPairs.GridLines = true; + this.listRegroupPairs.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + resources.ApplyResources(this.listRegroupPairs, "listRegroupPairs"); + this.listRegroupPairs.MultiSelect = false; + this.listRegroupPairs.Name = "listRegroupPairs"; + this.listRegroupPairs.UseCompatibleStateImageBehavior = false; + this.listRegroupPairs.View = System.Windows.Forms.View.Details; + // + // columnHeader10 + // + resources.ApplyResources(this.columnHeader10, "columnHeader10"); + // + // columnHeader12 + // + resources.ApplyResources(this.columnHeader12, "columnHeader12"); + // + // groupBox15 + // + this.groupBox15.Controls.Add(this.cmdRegroupStart); + this.groupBox15.Controls.Add(this.cmdRegroupAcceptLine); + this.groupBox15.Controls.Add(this.cmdRegroupUnlinkLast); + this.groupBox15.Controls.Add(this.cmdRegroupGoBack); + this.groupBox15.Controls.Add(this.cmdRegroupSkipDestLine); + this.groupBox15.Controls.Add(this.cmdRegroupSkipSourceLine); + this.groupBox15.Controls.Add(this.cmdRegroupLink); + resources.ApplyResources(this.groupBox15, "groupBox15"); + this.groupBox15.Name = "groupBox15"; + this.groupBox15.TabStop = false; + // + // cmdRegroupStart + // + resources.ApplyResources(this.cmdRegroupStart, "cmdRegroupStart"); + this.cmdRegroupStart.Name = "cmdRegroupStart"; + this.cmdRegroupStart.UseVisualStyleBackColor = true; + this.cmdRegroupStart.Click += new System.EventHandler(this.cmdRegroupStart_Click); + // + // cmdRegroupAcceptLine + // + resources.ApplyResources(this.cmdRegroupAcceptLine, "cmdRegroupAcceptLine"); + this.cmdRegroupAcceptLine.Name = "cmdRegroupAcceptLine"; + this.cmdRegroupAcceptLine.UseCompatibleTextRendering = true; + this.cmdRegroupAcceptLine.UseVisualStyleBackColor = true; + this.cmdRegroupAcceptLine.Click += new System.EventHandler(this.cmdRegroupAcceptLine_Click); + // + // cmdRegroupUnlinkLast + // + resources.ApplyResources(this.cmdRegroupUnlinkLast, "cmdRegroupUnlinkLast"); + this.cmdRegroupUnlinkLast.Name = "cmdRegroupUnlinkLast"; + this.cmdRegroupUnlinkLast.UseCompatibleTextRendering = true; + this.cmdRegroupUnlinkLast.UseVisualStyleBackColor = true; + this.cmdRegroupUnlinkLast.Click += new System.EventHandler(this.cmdRegroupUnlinkLast_Click); + // + // cmdRegroupGoBack + // + resources.ApplyResources(this.cmdRegroupGoBack, "cmdRegroupGoBack"); + this.cmdRegroupGoBack.Name = "cmdRegroupGoBack"; + this.cmdRegroupGoBack.UseCompatibleTextRendering = true; + this.cmdRegroupGoBack.UseVisualStyleBackColor = true; + this.cmdRegroupGoBack.Click += new System.EventHandler(this.cmdRegroupGoBack_Click); + // + // cmdRegroupSkipDestLine + // + resources.ApplyResources(this.cmdRegroupSkipDestLine, "cmdRegroupSkipDestLine"); + this.cmdRegroupSkipDestLine.Name = "cmdRegroupSkipDestLine"; + this.cmdRegroupSkipDestLine.UseCompatibleTextRendering = true; + this.cmdRegroupSkipDestLine.UseVisualStyleBackColor = true; + this.cmdRegroupSkipDestLine.Click += new System.EventHandler(this.cmdRegroupSkipDestLine_Click); + // + // cmdRegroupSkipSourceLine + // + resources.ApplyResources(this.cmdRegroupSkipSourceLine, "cmdRegroupSkipSourceLine"); + this.cmdRegroupSkipSourceLine.Name = "cmdRegroupSkipSourceLine"; + this.cmdRegroupSkipSourceLine.UseCompatibleTextRendering = true; + this.cmdRegroupSkipSourceLine.UseVisualStyleBackColor = true; + this.cmdRegroupSkipSourceLine.Click += new System.EventHandler(this.cmdRegroupSkipSourceLine_Click); + // + // cmdRegroupLink + // + resources.ApplyResources(this.cmdRegroupLink, "cmdRegroupLink"); + this.cmdRegroupLink.Name = "cmdRegroupLink"; + this.cmdRegroupLink.UseCompatibleTextRendering = true; + this.cmdRegroupLink.UseVisualStyleBackColor = true; + this.cmdRegroupLink.Click += new System.EventHandler(this.cmdRegroupLink_Click); + // + // groupBox14 + // + this.groupBox14.Controls.Add(this.txtRegroupSource); + this.groupBox14.Controls.Add(this.txtRegroupDest); + resources.ApplyResources(this.groupBox14, "groupBox14"); + this.groupBox14.Name = "groupBox14"; + this.groupBox14.TabStop = false; + // + // txtRegroupSource + // + this.txtRegroupSource.BackColor = System.Drawing.SystemColors.Control; + this.txtRegroupSource.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + resources.ApplyResources(this.txtRegroupSource, "txtRegroupSource"); + this.txtRegroupSource.HideSelection = false; + this.txtRegroupSource.Name = "txtRegroupSource"; + this.txtRegroupSource.ReadOnly = true; + this.txtRegroupSource.ShortcutsEnabled = false; + // + // txtRegroupDest + // + this.txtRegroupDest.BackColor = System.Drawing.SystemColors.Control; + this.txtRegroupDest.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + resources.ApplyResources(this.txtRegroupDest, "txtRegroupDest"); + this.txtRegroupDest.HideSelection = false; + this.txtRegroupDest.Name = "txtRegroupDest"; + this.txtRegroupDest.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtRegroupDest_KeyPress); + this.txtRegroupDest.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtRegroupDest_KeyDown); + // + // groupBox13 + // + this.groupBox13.Controls.Add(this.cmbRegroupDest); + this.groupBox13.Controls.Add(this.cmbRegroupSource); + this.groupBox13.Controls.Add(this.label53); + this.groupBox13.Controls.Add(this.label52); + resources.ApplyResources(this.groupBox13, "groupBox13"); + this.groupBox13.Name = "groupBox13"; + this.groupBox13.TabStop = false; + // + // cmbRegroupDest + // + this.cmbRegroupDest.FormattingEnabled = true; + resources.ApplyResources(this.cmbRegroupDest, "cmbRegroupDest"); + this.cmbRegroupDest.Name = "cmbRegroupDest"; + // + // cmbRegroupSource + // + this.cmbRegroupSource.FormattingEnabled = true; + resources.ApplyResources(this.cmbRegroupSource, "cmbRegroupSource"); + this.cmbRegroupSource.Name = "cmbRegroupSource"; + // + // label53 + // + resources.ApplyResources(this.label53, "label53"); + this.label53.Name = "label53"; + // + // label52 + // + resources.ApplyResources(this.label52, "label52"); + this.label52.Name = "label52"; + // + // tabPage17 + // + this.tabPage17.Controls.Add(this.cmdNBReparse); + this.tabPage17.Controls.Add(this.groupBox22); + this.tabPage17.Controls.Add(this.cmdNBCopyStyles); + this.tabPage17.Controls.Add(this.cmdNBInsertBefore); + this.tabPage17.Controls.Add(this.cmdNBInsertAfter); + this.tabPage17.Controls.Add(this.cmdNBReplaceLine); + this.tabPage17.Controls.Add(this.cmdNoteBox); + this.tabPage17.Controls.Add(this.groupBox21); + this.tabPage17.Controls.Add(this.groupBox20); + resources.ApplyResources(this.tabPage17, "tabPage17"); + this.tabPage17.Name = "tabPage17"; + this.tabPage17.UseVisualStyleBackColor = true; + // + // cmdNBReparse + // + resources.ApplyResources(this.cmdNBReparse, "cmdNBReparse"); + this.cmdNBReparse.Name = "cmdNBReparse"; + this.cmdNBReparse.Click += new System.EventHandler(this.cmdNBReparse_Click); + // + // groupBox22 + // + this.groupBox22.Controls.Add(this.textNBDesc); + this.groupBox22.Controls.Add(this.cmbNBStyle); + this.groupBox22.Controls.Add(this.label59); + resources.ApplyResources(this.groupBox22, "groupBox22"); + this.groupBox22.Name = "groupBox22"; + this.groupBox22.TabStop = false; + // + // textNBDesc + // + this.textNBDesc.BackColor = System.Drawing.SystemColors.Control; + this.textNBDesc.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.textNBDesc, "textNBDesc"); + this.textNBDesc.Name = "textNBDesc"; + // + // cmbNBStyle + // + this.cmbNBStyle.FormattingEnabled = true; + resources.ApplyResources(this.cmbNBStyle, "cmbNBStyle"); + this.cmbNBStyle.Name = "cmbNBStyle"; + this.cmbNBStyle.SelectedIndexChanged += new System.EventHandler(this.cmbNBStyle_SelectedIndexChanged); + // + // label59 + // + resources.ApplyResources(this.label59, "label59"); + this.label59.Name = "label59"; + // + // cmdNBCopyStyles + // + resources.ApplyResources(this.cmdNBCopyStyles, "cmdNBCopyStyles"); + this.cmdNBCopyStyles.Name = "cmdNBCopyStyles"; + this.cmdNBCopyStyles.Click += new System.EventHandler(this.cmdNBCopyStyles_Click); + // + // cmdNBInsertBefore + // + resources.ApplyResources(this.cmdNBInsertBefore, "cmdNBInsertBefore"); + this.cmdNBInsertBefore.Name = "cmdNBInsertBefore"; + this.cmdNBInsertBefore.Click += new System.EventHandler(this.cmdNBInsertBefore_Click); + // + // cmdNBInsertAfter + // + resources.ApplyResources(this.cmdNBInsertAfter, "cmdNBInsertAfter"); + this.cmdNBInsertAfter.Name = "cmdNBInsertAfter"; + this.cmdNBInsertAfter.Click += new System.EventHandler(this.cmdNBInsertAfter_Click); + // + // cmdNBReplaceLine + // + resources.ApplyResources(this.cmdNBReplaceLine, "cmdNBReplaceLine"); + this.cmdNBReplaceLine.Name = "cmdNBReplaceLine"; + this.cmdNBReplaceLine.Click += new System.EventHandler(this.cmdNBReplaceLine_Click); + // + // cmdNoteBox + // + resources.ApplyResources(this.cmdNoteBox, "cmdNoteBox"); + this.cmdNoteBox.Name = "cmdNoteBox"; + this.cmdNoteBox.Click += new System.EventHandler(this.cmdNoteBox_Click); + // + // groupBox21 + // + this.groupBox21.Controls.Add(this.textNBStyles); + this.groupBox21.Controls.Add(this.textNBOut); + resources.ApplyResources(this.groupBox21, "groupBox21"); + this.groupBox21.Name = "groupBox21"; + this.groupBox21.TabStop = false; + // + // textNBStyles + // + resources.ApplyResources(this.textNBStyles, "textNBStyles"); + this.textNBStyles.Name = "textNBStyles"; + // + // textNBOut + // + resources.ApplyResources(this.textNBOut, "textNBOut"); + this.textNBOut.Name = "textNBOut"; + // + // groupBox20 + // + this.groupBox20.Controls.Add(this.cmdNBGetTimes); + this.groupBox20.Controls.Add(this.maskedTextNBEnd); + this.groupBox20.Controls.Add(this.label58); + this.groupBox20.Controls.Add(this.maskedTextNBStart); + this.groupBox20.Controls.Add(this.label57); + this.groupBox20.Controls.Add(this.textNotebox2); + this.groupBox20.Controls.Add(this.textNotebox1); + this.groupBox20.Controls.Add(this.label56); + this.groupBox20.Controls.Add(this.label48); + resources.ApplyResources(this.groupBox20, "groupBox20"); + this.groupBox20.Name = "groupBox20"; + this.groupBox20.TabStop = false; + // + // cmdNBGetTimes + // + resources.ApplyResources(this.cmdNBGetTimes, "cmdNBGetTimes"); + this.cmdNBGetTimes.Name = "cmdNBGetTimes"; + this.cmdNBGetTimes.UseCompatibleTextRendering = true; + this.cmdNBGetTimes.UseVisualStyleBackColor = true; + this.cmdNBGetTimes.Click += new System.EventHandler(this.cmdNBGetTimes_Click); + // + // maskedTextNBEnd + // + resources.ApplyResources(this.maskedTextNBEnd, "maskedTextNBEnd"); + this.maskedTextNBEnd.Name = "maskedTextNBEnd"; + this.maskedTextNBEnd.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // label58 + // + resources.ApplyResources(this.label58, "label58"); + this.label58.Name = "label58"; + // + // maskedTextNBStart + // + this.maskedTextNBStart.InsertKeyMode = System.Windows.Forms.InsertKeyMode.Overwrite; + resources.ApplyResources(this.maskedTextNBStart, "maskedTextNBStart"); + this.maskedTextNBStart.Name = "maskedTextNBStart"; + this.maskedTextNBStart.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals; + // + // label57 + // + resources.ApplyResources(this.label57, "label57"); + this.label57.Name = "label57"; + // + // textNotebox2 + // + resources.ApplyResources(this.textNotebox2, "textNotebox2"); + this.textNotebox2.Name = "textNotebox2"; + // + // textNotebox1 + // + resources.ApplyResources(this.textNotebox1, "textNotebox1"); + this.textNotebox1.Name = "textNotebox1"; + // + // label56 + // + resources.ApplyResources(this.label56, "label56"); + this.label56.Name = "label56"; + // + // label48 + // + resources.ApplyResources(this.label48, "label48"); + this.label48.Name = "label48"; + // + // Form1 + // + resources.ApplyResources(this, "$this"); + this.Controls.Add(this.splitContainer1); + this.DoubleBuffered = true; + this.Menu = this.mainMenu1; + this.Name = "Form1"; + this.Resize += new System.EventHandler(this.Resize_Handler); + this.Load += new System.EventHandler(this.Form1_Load); + this.tabPage6.ResumeLayout(false); + this.tabPage6.PerformLayout(); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + this.splitContainer1.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.tabMain.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.groupBox12.ResumeLayout(false); + this.groupBox12.PerformLayout(); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.tabShiftType.ResumeLayout(false); + this.tabPage9.ResumeLayout(false); + this.tabPage9.PerformLayout(); + this.tabPage10.ResumeLayout(false); + this.tabPage10.PerformLayout(); + this.tabPage11.ResumeLayout(false); + this.tabPage11.PerformLayout(); + this.tabPage12.ResumeLayout(false); + this.tabPage12.PerformLayout(); + this.tabPage2.ResumeLayout(false); + this.groupBox11.ResumeLayout(false); + this.groupBox11.PerformLayout(); + this.groupBox10.ResumeLayout(false); + this.groupBox10.PerformLayout(); + this.groupBox6.ResumeLayout(false); + this.groupBox6.PerformLayout(); + this.groupBox5.ResumeLayout(false); + this.groupBox5.PerformLayout(); + this.tabPage3.ResumeLayout(false); + this.panelEffect.ResumeLayout(false); + this.tabControl1.ResumeLayout(false); + this.tabPage7.ResumeLayout(false); + this.tabPage8.ResumeLayout(false); + this.panelLayer.ResumeLayout(false); + this.panelLayer.PerformLayout(); + this.groupBox16.ResumeLayout(false); + this.groupBox16.PerformLayout(); + this.tabPage4.ResumeLayout(false); + this.tabPage4.PerformLayout(); + this.panelGradient.ResumeLayout(false); + this.panelGradient.PerformLayout(); + this.groupBox7.ResumeLayout(false); + this.tabPage14.ResumeLayout(false); + this.tabPage14.PerformLayout(); + this.panelBlur.ResumeLayout(false); + this.panelBlur.PerformLayout(); + this.groupBlurAffect.ResumeLayout(false); + this.groupBox9.ResumeLayout(false); + this.groupBlurSub.ResumeLayout(false); + this.groupBox8.ResumeLayout(false); + this.tabPage16.ResumeLayout(false); + this.tabPage16.PerformLayout(); + this.tabPage13.ResumeLayout(false); + this.tabPage15.ResumeLayout(false); + this.tabPage5.ResumeLayout(false); + this.groupBox19.ResumeLayout(false); + this.groupBox19.PerformLayout(); + this.groupBox18.ResumeLayout(false); + this.groupBox17.ResumeLayout(false); + this.groupBox15.ResumeLayout(false); + this.groupBox14.ResumeLayout(false); + this.groupBox14.PerformLayout(); + this.groupBox13.ResumeLayout(false); + this.groupBox13.PerformLayout(); + this.tabPage17.ResumeLayout(false); + this.groupBox22.ResumeLayout(false); + this.groupBox22.PerformLayout(); + this.groupBox21.ResumeLayout(false); + this.groupBox21.PerformLayout(); + this.groupBox20.ResumeLayout(false); + this.groupBox20.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + [STAThread] + + static void Main(string[] args) { + Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException); + Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); + //Application.EnableVisualStyles(); + Application.Run(new Form1(args)); + + } + + static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e) { + DialogResult result = DialogResult.Ignore; + try { + result = MessageBox.Show(e.Exception.Message + " Abort operation?", "Windows Forms Error", MessageBoxButtons.YesNo); + } catch { + + } + + // Exits the program when the user clicks Abort. + if (result == DialogResult.No) + Application.Exit(); + } + + public Form1(string[] args) { + // + // Required for Windows Form Designer support + // + FormMain = this; + InitializeComponent(); + Evaluate.FillOpsList(); + listSSAg = Graphics.FromHwnd(listSSA.Handle); + lineColl = new List(); + layerColl = new System.Collections.Generic.List(); + templateFilterColl = new System.Collections.Generic.List(); + undoStack = new Stack(); + redoStack = new Stack(); + //CurFile = String.Empty; + + // Add the "raw code" filter as a default filter + Filter raw = new Filter("Raw code", "$Code$"); + FilterOption rawfo = new FilterOption("Code", ""); + raw.AddOption(rawfo); + templateFilterColl.Add(raw); + + string path = "effects.exml"; + if (File.Exists(path)) LoadEffectsFile(path); + enc = new System.Text.UnicodeEncoding(); + Notebox.readNoteBoxes(); + + string arglower; + foreach (string arg in args) { + if (File.Exists(arg)) { + arglower = arg.ToLower(Util.cfi); + if (arglower.EndsWith(".xml")) + LoadProject(arg); + else if (arglower.EndsWith(".ass") || arglower.EndsWith(".ssa") || arglower.EndsWith(".assa")) + LoadFile(args[0], null); + } + } + listSSA.LabelEdit = false; + } + + #region user-defined variables + //Note: Some function-specific variables are defined in their own section instead of here + Regex r = new Regex(@"(\\[kK][of]?)(\d+)([^\}]*)(\}?)([^\{]*)", RegexOptions.Compiled | RegexOptions.Singleline); + public static List layerColl; + public static List templateFilterColl; + public static List