Working on Ebu save options + some cleanup

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@532 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2011-07-02 10:11:13 +00:00
parent 66f55a79f5
commit d871092aa9
18 changed files with 383 additions and 147 deletions

View File

@ -28,11 +28,26 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container();
this.buttonOK = new System.Windows.Forms.Button(); this.buttonOK = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button(); this.buttonCancel = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPageHeader = new System.Windows.Forms.TabPage(); this.tabPageHeader = new System.Windows.Forms.TabPage();
this.textBoxCodePageNumber = new System.Windows.Forms.TextBox();
this.contextMenuStripCodeTable = new System.Windows.Forms.ContextMenuStrip(this.components);
this.unitedStatesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.multilingualToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.portugalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.canadaFrenchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.nordicToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.numericUpDownMaxRows = new System.Windows.Forms.NumericUpDown();
this.labelMaxRows = new System.Windows.Forms.Label();
this.comboBoxDiscFormatCode = new System.Windows.Forms.ComboBox();
this.labelDiskFormatCode = new System.Windows.Forms.Label();
this.labelCodePageNumber = new System.Windows.Forms.Label();
this.textBoxLanguageCode = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.numericUpDownMaxCharacters = new System.Windows.Forms.NumericUpDown(); this.numericUpDownMaxCharacters = new System.Windows.Forms.NumericUpDown();
this.label12 = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label();
this.numericUpDownDiskSequenceNumber = new System.Windows.Forms.NumericUpDown(); this.numericUpDownDiskSequenceNumber = new System.Windows.Forms.NumericUpDown();
@ -62,10 +77,12 @@
this.tabPageErrors = new System.Windows.Forms.TabPage(); this.tabPageErrors = new System.Windows.Forms.TabPage();
this.textBoxErrors = new System.Windows.Forms.TextBox(); this.textBoxErrors = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label();
this.textBoxLanguageCode = new System.Windows.Forms.TextBox(); this.textBoxCountryOfOrigin = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label(); this.labelCountryOfOrigin = new System.Windows.Forms.Label();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPageHeader.SuspendLayout(); this.tabPageHeader.SuspendLayout();
this.contextMenuStripCodeTable.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxRows)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxCharacters)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxCharacters)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownDiskSequenceNumber)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownDiskSequenceNumber)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTotalNumberOfDiscs)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownTotalNumberOfDiscs)).BeginInit();
@ -78,7 +95,7 @@
// //
this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonOK.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.buttonOK.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonOK.Location = new System.Drawing.Point(513, 428); this.buttonOK.Location = new System.Drawing.Point(607, 445);
this.buttonOK.Name = "buttonOK"; this.buttonOK.Name = "buttonOK";
this.buttonOK.Size = new System.Drawing.Size(75, 21); this.buttonOK.Size = new System.Drawing.Size(75, 21);
this.buttonOK.TabIndex = 0; this.buttonOK.TabIndex = 0;
@ -91,7 +108,7 @@
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.buttonCancel.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonCancel.Location = new System.Drawing.Point(594, 428); this.buttonCancel.Location = new System.Drawing.Point(688, 445);
this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 21); this.buttonCancel.Size = new System.Drawing.Size(75, 21);
this.buttonCancel.TabIndex = 1; this.buttonCancel.TabIndex = 1;
@ -114,11 +131,19 @@
this.tabControl1.Location = new System.Drawing.Point(12, 12); this.tabControl1.Location = new System.Drawing.Point(12, 12);
this.tabControl1.Name = "tabControl1"; this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(664, 405); this.tabControl1.Size = new System.Drawing.Size(758, 422);
this.tabControl1.TabIndex = 32; this.tabControl1.TabIndex = 32;
// //
// tabPageHeader // tabPageHeader
// //
this.tabPageHeader.Controls.Add(this.textBoxCountryOfOrigin);
this.tabPageHeader.Controls.Add(this.labelCountryOfOrigin);
this.tabPageHeader.Controls.Add(this.textBoxCodePageNumber);
this.tabPageHeader.Controls.Add(this.numericUpDownMaxRows);
this.tabPageHeader.Controls.Add(this.labelMaxRows);
this.tabPageHeader.Controls.Add(this.comboBoxDiscFormatCode);
this.tabPageHeader.Controls.Add(this.labelDiskFormatCode);
this.tabPageHeader.Controls.Add(this.labelCodePageNumber);
this.tabPageHeader.Controls.Add(this.textBoxLanguageCode); this.tabPageHeader.Controls.Add(this.textBoxLanguageCode);
this.tabPageHeader.Controls.Add(this.label14); this.tabPageHeader.Controls.Add(this.label14);
this.tabPageHeader.Controls.Add(this.numericUpDownMaxCharacters); this.tabPageHeader.Controls.Add(this.numericUpDownMaxCharacters);
@ -147,14 +172,137 @@
this.tabPageHeader.Location = new System.Drawing.Point(4, 22); this.tabPageHeader.Location = new System.Drawing.Point(4, 22);
this.tabPageHeader.Name = "tabPageHeader"; this.tabPageHeader.Name = "tabPageHeader";
this.tabPageHeader.Padding = new System.Windows.Forms.Padding(3); this.tabPageHeader.Padding = new System.Windows.Forms.Padding(3);
this.tabPageHeader.Size = new System.Drawing.Size(656, 379); this.tabPageHeader.Size = new System.Drawing.Size(750, 396);
this.tabPageHeader.TabIndex = 0; this.tabPageHeader.TabIndex = 0;
this.tabPageHeader.Text = "General subtitle information"; this.tabPageHeader.Text = "General subtitle information";
this.tabPageHeader.UseVisualStyleBackColor = true; this.tabPageHeader.UseVisualStyleBackColor = true;
// //
// textBoxCodePageNumber
//
this.textBoxCodePageNumber.ContextMenuStrip = this.contextMenuStripCodeTable;
this.textBoxCodePageNumber.Location = new System.Drawing.Point(147, 12);
this.textBoxCodePageNumber.MaxLength = 3;
this.textBoxCodePageNumber.Name = "textBoxCodePageNumber";
this.textBoxCodePageNumber.Size = new System.Drawing.Size(219, 20);
this.textBoxCodePageNumber.TabIndex = 61;
//
// contextMenuStripCodeTable
//
this.contextMenuStripCodeTable.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.unitedStatesToolStripMenuItem,
this.multilingualToolStripMenuItem,
this.portugalToolStripMenuItem,
this.canadaFrenchToolStripMenuItem,
this.nordicToolStripMenuItem});
this.contextMenuStripCodeTable.Name = "contextMenuStripCodeTable";
this.contextMenuStripCodeTable.Size = new System.Drawing.Size(185, 114);
//
// unitedStatesToolStripMenuItem
//
this.unitedStatesToolStripMenuItem.Name = "unitedStatesToolStripMenuItem";
this.unitedStatesToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.unitedStatesToolStripMenuItem.Text = "United States (437)";
this.unitedStatesToolStripMenuItem.Click += new System.EventHandler(this.unitedStatesToolStripMenuItem_Click);
//
// multilingualToolStripMenuItem
//
this.multilingualToolStripMenuItem.Name = "multilingualToolStripMenuItem";
this.multilingualToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.multilingualToolStripMenuItem.Text = "Multilingual (850)";
this.multilingualToolStripMenuItem.Click += new System.EventHandler(this.multilingualToolStripMenuItem_Click);
//
// portugalToolStripMenuItem
//
this.portugalToolStripMenuItem.Name = "portugalToolStripMenuItem";
this.portugalToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.portugalToolStripMenuItem.Text = "Portugal (860)";
this.portugalToolStripMenuItem.Click += new System.EventHandler(this.portugalToolStripMenuItem_Click);
//
// canadaFrenchToolStripMenuItem
//
this.canadaFrenchToolStripMenuItem.Name = "canadaFrenchToolStripMenuItem";
this.canadaFrenchToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.canadaFrenchToolStripMenuItem.Text = "Canada-French (863)";
this.canadaFrenchToolStripMenuItem.Click += new System.EventHandler(this.canadaFrenchToolStripMenuItem_Click);
//
// nordicToolStripMenuItem
//
this.nordicToolStripMenuItem.Name = "nordicToolStripMenuItem";
this.nordicToolStripMenuItem.Size = new System.Drawing.Size(184, 22);
this.nordicToolStripMenuItem.Text = "Nordic (865)";
this.nordicToolStripMenuItem.Click += new System.EventHandler(this.nordicToolStripMenuItem_Click);
//
// numericUpDownMaxRows
//
this.numericUpDownMaxRows.Location = new System.Drawing.Point(613, 224);
this.numericUpDownMaxRows.Maximum = new decimal(new int[] {
99,
0,
0,
0});
this.numericUpDownMaxRows.Name = "numericUpDownMaxRows";
this.numericUpDownMaxRows.Size = new System.Drawing.Size(120, 20);
this.numericUpDownMaxRows.TabIndex = 12;
//
// labelMaxRows
//
this.labelMaxRows.AutoSize = true;
this.labelMaxRows.Location = new System.Drawing.Point(473, 226);
this.labelMaxRows.Name = "labelMaxRows";
this.labelMaxRows.Size = new System.Drawing.Size(126, 13);
this.labelMaxRows.TabIndex = 60;
this.labelMaxRows.Text = "Max# of displayable rows";
//
// comboBoxDiscFormatCode
//
this.comboBoxDiscFormatCode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxDiscFormatCode.FormattingEnabled = true;
this.comboBoxDiscFormatCode.Items.AddRange(new object[] {
"STL25.01",
"STL30.01"});
this.comboBoxDiscFormatCode.Location = new System.Drawing.Point(147, 39);
this.comboBoxDiscFormatCode.Name = "comboBoxDiscFormatCode";
this.comboBoxDiscFormatCode.Size = new System.Drawing.Size(219, 21);
this.comboBoxDiscFormatCode.TabIndex = 1;
//
// labelDiskFormatCode
//
this.labelDiskFormatCode.AutoSize = true;
this.labelDiskFormatCode.Location = new System.Drawing.Point(6, 42);
this.labelDiskFormatCode.Name = "labelDiskFormatCode";
this.labelDiskFormatCode.Size = new System.Drawing.Size(87, 13);
this.labelDiskFormatCode.TabIndex = 58;
this.labelDiskFormatCode.Text = "Disc format code";
//
// labelCodePageNumber
//
this.labelCodePageNumber.AutoSize = true;
this.labelCodePageNumber.Location = new System.Drawing.Point(6, 15);
this.labelCodePageNumber.Name = "labelCodePageNumber";
this.labelCodePageNumber.Size = new System.Drawing.Size(97, 13);
this.labelCodePageNumber.TabIndex = 56;
this.labelCodePageNumber.Text = "Code page number";
//
// textBoxLanguageCode
//
this.textBoxLanguageCode.Location = new System.Drawing.Point(147, 94);
this.textBoxLanguageCode.MaxLength = 32;
this.textBoxLanguageCode.Name = "textBoxLanguageCode";
this.textBoxLanguageCode.Size = new System.Drawing.Size(219, 20);
this.textBoxLanguageCode.TabIndex = 3;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(6, 97);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(82, 13);
this.label14.TabIndex = 54;
this.label14.Text = "Language code";
//
// numericUpDownMaxCharacters // numericUpDownMaxCharacters
// //
this.numericUpDownMaxCharacters.Location = new System.Drawing.Point(147, 252); this.numericUpDownMaxCharacters.Location = new System.Drawing.Point(613, 198);
this.numericUpDownMaxCharacters.Maximum = new decimal(new int[] { this.numericUpDownMaxCharacters.Maximum = new decimal(new int[] {
99, 99,
0, 0,
@ -162,13 +310,13 @@
0}); 0});
this.numericUpDownMaxCharacters.Name = "numericUpDownMaxCharacters"; this.numericUpDownMaxCharacters.Name = "numericUpDownMaxCharacters";
this.numericUpDownMaxCharacters.Size = new System.Drawing.Size(120, 20); this.numericUpDownMaxCharacters.Size = new System.Drawing.Size(120, 20);
this.numericUpDownMaxCharacters.TabIndex = 9; this.numericUpDownMaxCharacters.TabIndex = 11;
this.numericUpDownMaxCharacters.ValueChanged += new System.EventHandler(this.numericUpDownMaxCharacters_ValueChanged); this.numericUpDownMaxCharacters.ValueChanged += new System.EventHandler(this.numericUpDownMaxCharacters_ValueChanged);
// //
// label12 // label12
// //
this.label12.AutoSize = true; this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(7, 254); this.label12.Location = new System.Drawing.Point(473, 200);
this.label12.Name = "label12"; this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(133, 13); this.label12.Size = new System.Drawing.Size(133, 13);
this.label12.TabIndex = 51; this.label12.TabIndex = 51;
@ -176,7 +324,7 @@
// //
// numericUpDownDiskSequenceNumber // numericUpDownDiskSequenceNumber
// //
this.numericUpDownDiskSequenceNumber.Location = new System.Drawing.Point(147, 278); this.numericUpDownDiskSequenceNumber.Location = new System.Drawing.Point(613, 250);
this.numericUpDownDiskSequenceNumber.Maximum = new decimal(new int[] { this.numericUpDownDiskSequenceNumber.Maximum = new decimal(new int[] {
9, 9,
0, 0,
@ -184,11 +332,11 @@
0}); 0});
this.numericUpDownDiskSequenceNumber.Name = "numericUpDownDiskSequenceNumber"; this.numericUpDownDiskSequenceNumber.Name = "numericUpDownDiskSequenceNumber";
this.numericUpDownDiskSequenceNumber.Size = new System.Drawing.Size(120, 20); this.numericUpDownDiskSequenceNumber.Size = new System.Drawing.Size(120, 20);
this.numericUpDownDiskSequenceNumber.TabIndex = 10; this.numericUpDownDiskSequenceNumber.TabIndex = 13;
// //
// numericUpDownTotalNumberOfDiscs // numericUpDownTotalNumberOfDiscs
// //
this.numericUpDownTotalNumberOfDiscs.Location = new System.Drawing.Point(147, 304); this.numericUpDownTotalNumberOfDiscs.Location = new System.Drawing.Point(613, 276);
this.numericUpDownTotalNumberOfDiscs.Maximum = new decimal(new int[] { this.numericUpDownTotalNumberOfDiscs.Maximum = new decimal(new int[] {
9, 9,
0, 0,
@ -196,11 +344,11 @@
0}); 0});
this.numericUpDownTotalNumberOfDiscs.Name = "numericUpDownTotalNumberOfDiscs"; this.numericUpDownTotalNumberOfDiscs.Name = "numericUpDownTotalNumberOfDiscs";
this.numericUpDownTotalNumberOfDiscs.Size = new System.Drawing.Size(120, 20); this.numericUpDownTotalNumberOfDiscs.Size = new System.Drawing.Size(120, 20);
this.numericUpDownTotalNumberOfDiscs.TabIndex = 11; this.numericUpDownTotalNumberOfDiscs.TabIndex = 14;
// //
// numericUpDownRevisionNumber // numericUpDownRevisionNumber
// //
this.numericUpDownRevisionNumber.Location = new System.Drawing.Point(147, 226); this.numericUpDownRevisionNumber.Location = new System.Drawing.Point(613, 172);
this.numericUpDownRevisionNumber.Maximum = new decimal(new int[] { this.numericUpDownRevisionNumber.Maximum = new decimal(new int[] {
99, 99,
0, 0,
@ -208,12 +356,12 @@
0}); 0});
this.numericUpDownRevisionNumber.Name = "numericUpDownRevisionNumber"; this.numericUpDownRevisionNumber.Name = "numericUpDownRevisionNumber";
this.numericUpDownRevisionNumber.Size = new System.Drawing.Size(120, 20); this.numericUpDownRevisionNumber.Size = new System.Drawing.Size(120, 20);
this.numericUpDownRevisionNumber.TabIndex = 8; this.numericUpDownRevisionNumber.TabIndex = 10;
// //
// label11 // label11
// //
this.label11.AutoSize = true; this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(7, 280); this.label11.Location = new System.Drawing.Point(473, 252);
this.label11.Name = "label11"; this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(116, 13); this.label11.Size = new System.Drawing.Size(116, 13);
this.label11.TabIndex = 49; this.label11.TabIndex = 49;
@ -222,7 +370,7 @@
// label10 // label10
// //
this.label10.AutoSize = true; this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(7, 306); this.label10.Location = new System.Drawing.Point(473, 278);
this.label10.Name = "label10"; this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(108, 13); this.label10.Size = new System.Drawing.Size(108, 13);
this.label10.TabIndex = 48; this.label10.TabIndex = 48;
@ -231,7 +379,7 @@
// label9 // label9
// //
this.label9.AutoSize = true; this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(7, 228); this.label9.Location = new System.Drawing.Point(473, 174);
this.label9.Name = "label9"; this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(86, 13); this.label9.Size = new System.Drawing.Size(86, 13);
this.label9.TabIndex = 47; this.label9.TabIndex = 47;
@ -239,16 +387,16 @@
// //
// textBoxTranslatorsName // textBoxTranslatorsName
// //
this.textBoxTranslatorsName.Location = new System.Drawing.Point(147, 170); this.textBoxTranslatorsName.Location = new System.Drawing.Point(147, 224);
this.textBoxTranslatorsName.MaxLength = 32; this.textBoxTranslatorsName.MaxLength = 32;
this.textBoxTranslatorsName.Name = "textBoxTranslatorsName"; this.textBoxTranslatorsName.Name = "textBoxTranslatorsName";
this.textBoxTranslatorsName.Size = new System.Drawing.Size(219, 20); this.textBoxTranslatorsName.Size = new System.Drawing.Size(219, 20);
this.textBoxTranslatorsName.TabIndex = 6; this.textBoxTranslatorsName.TabIndex = 8;
// //
// label8 // label8
// //
this.label8.AutoSize = true; this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(6, 173); this.label8.Location = new System.Drawing.Point(6, 227);
this.label8.Name = "label8"; this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(90, 13); this.label8.Size = new System.Drawing.Size(90, 13);
this.label8.TabIndex = 45; this.label8.TabIndex = 45;
@ -256,16 +404,16 @@
// //
// textBoxSubtitleListReferenceCode // textBoxSubtitleListReferenceCode
// //
this.textBoxSubtitleListReferenceCode.Location = new System.Drawing.Point(147, 200); this.textBoxSubtitleListReferenceCode.Location = new System.Drawing.Point(147, 254);
this.textBoxSubtitleListReferenceCode.MaxLength = 16; this.textBoxSubtitleListReferenceCode.MaxLength = 16;
this.textBoxSubtitleListReferenceCode.Name = "textBoxSubtitleListReferenceCode"; this.textBoxSubtitleListReferenceCode.Name = "textBoxSubtitleListReferenceCode";
this.textBoxSubtitleListReferenceCode.Size = new System.Drawing.Size(219, 20); this.textBoxSubtitleListReferenceCode.Size = new System.Drawing.Size(219, 20);
this.textBoxSubtitleListReferenceCode.TabIndex = 7; this.textBoxSubtitleListReferenceCode.TabIndex = 9;
// //
// label7 // label7
// //
this.label7.AutoSize = true; this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(6, 203); this.label7.Location = new System.Drawing.Point(6, 257);
this.label7.Name = "label7"; this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(132, 13); this.label7.Size = new System.Drawing.Size(132, 13);
this.label7.TabIndex = 43; this.label7.TabIndex = 43;
@ -281,18 +429,19 @@
"Latin/Arabic", "Latin/Arabic",
"Latin/Greek", "Latin/Greek",
"Latin/Hebrew"}); "Latin/Hebrew"});
this.comboBoxCharacterCodeTable.Location = new System.Drawing.Point(147, 12); this.comboBoxCharacterCodeTable.Location = new System.Drawing.Point(147, 66);
this.comboBoxCharacterCodeTable.Name = "comboBoxCharacterCodeTable"; this.comboBoxCharacterCodeTable.Name = "comboBoxCharacterCodeTable";
this.comboBoxCharacterCodeTable.Size = new System.Drawing.Size(219, 21); this.comboBoxCharacterCodeTable.Size = new System.Drawing.Size(219, 21);
this.comboBoxCharacterCodeTable.TabIndex = 0; this.comboBoxCharacterCodeTable.TabIndex = 2;
// //
// buttonImport // buttonImport
// //
this.buttonImport.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonImport.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.buttonImport.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonImport.Location = new System.Drawing.Point(411, 14); this.buttonImport.Location = new System.Drawing.Point(613, 6);
this.buttonImport.Name = "buttonImport"; this.buttonImport.Name = "buttonImport";
this.buttonImport.Size = new System.Drawing.Size(134, 21); this.buttonImport.Size = new System.Drawing.Size(134, 21);
this.buttonImport.TabIndex = 12; this.buttonImport.TabIndex = 15;
this.buttonImport.Text = "Import..."; this.buttonImport.Text = "Import...";
this.buttonImport.UseVisualStyleBackColor = true; this.buttonImport.UseVisualStyleBackColor = true;
this.buttonImport.Click += new System.EventHandler(this.buttonImport_Click); this.buttonImport.Click += new System.EventHandler(this.buttonImport_Click);
@ -300,7 +449,7 @@
// label5 // label5
// //
this.label5.AutoSize = true; this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(6, 15); this.label5.Location = new System.Drawing.Point(6, 69);
this.label5.Name = "label5"; this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(106, 13); this.label5.Size = new System.Drawing.Size(106, 13);
this.label5.TabIndex = 40; this.label5.TabIndex = 40;
@ -308,32 +457,32 @@
// //
// textBoxTranslatedProgramTitle // textBoxTranslatedProgramTitle
// //
this.textBoxTranslatedProgramTitle.Location = new System.Drawing.Point(147, 118); this.textBoxTranslatedProgramTitle.Location = new System.Drawing.Point(147, 172);
this.textBoxTranslatedProgramTitle.MaxLength = 32; this.textBoxTranslatedProgramTitle.MaxLength = 32;
this.textBoxTranslatedProgramTitle.Name = "textBoxTranslatedProgramTitle"; this.textBoxTranslatedProgramTitle.Name = "textBoxTranslatedProgramTitle";
this.textBoxTranslatedProgramTitle.Size = new System.Drawing.Size(219, 20); this.textBoxTranslatedProgramTitle.Size = new System.Drawing.Size(219, 20);
this.textBoxTranslatedProgramTitle.TabIndex = 4; this.textBoxTranslatedProgramTitle.TabIndex = 6;
// //
// textBoxTranslatedEpisodeTitle // textBoxTranslatedEpisodeTitle
// //
this.textBoxTranslatedEpisodeTitle.Location = new System.Drawing.Point(147, 144); this.textBoxTranslatedEpisodeTitle.Location = new System.Drawing.Point(147, 198);
this.textBoxTranslatedEpisodeTitle.MaxLength = 32; this.textBoxTranslatedEpisodeTitle.MaxLength = 32;
this.textBoxTranslatedEpisodeTitle.Name = "textBoxTranslatedEpisodeTitle"; this.textBoxTranslatedEpisodeTitle.Name = "textBoxTranslatedEpisodeTitle";
this.textBoxTranslatedEpisodeTitle.Size = new System.Drawing.Size(219, 20); this.textBoxTranslatedEpisodeTitle.Size = new System.Drawing.Size(219, 20);
this.textBoxTranslatedEpisodeTitle.TabIndex = 5; this.textBoxTranslatedEpisodeTitle.TabIndex = 7;
// //
// textBoxOriginalEpisodeTitle // textBoxOriginalEpisodeTitle
// //
this.textBoxOriginalEpisodeTitle.Location = new System.Drawing.Point(147, 92); this.textBoxOriginalEpisodeTitle.Location = new System.Drawing.Point(147, 146);
this.textBoxOriginalEpisodeTitle.MaxLength = 32; this.textBoxOriginalEpisodeTitle.MaxLength = 32;
this.textBoxOriginalEpisodeTitle.Name = "textBoxOriginalEpisodeTitle"; this.textBoxOriginalEpisodeTitle.Name = "textBoxOriginalEpisodeTitle";
this.textBoxOriginalEpisodeTitle.Size = new System.Drawing.Size(219, 20); this.textBoxOriginalEpisodeTitle.Size = new System.Drawing.Size(219, 20);
this.textBoxOriginalEpisodeTitle.TabIndex = 3; this.textBoxOriginalEpisodeTitle.TabIndex = 5;
// //
// label4 // label4
// //
this.label4.AutoSize = true; this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(6, 147); this.label4.Location = new System.Drawing.Point(6, 201);
this.label4.Name = "label4"; this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(116, 13); this.label4.Size = new System.Drawing.Size(116, 13);
this.label4.TabIndex = 36; this.label4.TabIndex = 36;
@ -342,7 +491,7 @@
// label3 // label3
// //
this.label3.AutoSize = true; this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(6, 121); this.label3.Location = new System.Drawing.Point(6, 175);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(117, 13); this.label3.Size = new System.Drawing.Size(117, 13);
this.label3.TabIndex = 35; this.label3.TabIndex = 35;
@ -351,7 +500,7 @@
// label2 // label2
// //
this.label2.AutoSize = true; this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(6, 95); this.label2.Location = new System.Drawing.Point(6, 149);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(101, 13); this.label2.Size = new System.Drawing.Size(101, 13);
this.label2.TabIndex = 34; this.label2.TabIndex = 34;
@ -359,16 +508,16 @@
// //
// textBoxOriginalProgramTitle // textBoxOriginalProgramTitle
// //
this.textBoxOriginalProgramTitle.Location = new System.Drawing.Point(147, 66); this.textBoxOriginalProgramTitle.Location = new System.Drawing.Point(147, 120);
this.textBoxOriginalProgramTitle.MaxLength = 32; this.textBoxOriginalProgramTitle.MaxLength = 32;
this.textBoxOriginalProgramTitle.Name = "textBoxOriginalProgramTitle"; this.textBoxOriginalProgramTitle.Name = "textBoxOriginalProgramTitle";
this.textBoxOriginalProgramTitle.Size = new System.Drawing.Size(219, 20); this.textBoxOriginalProgramTitle.Size = new System.Drawing.Size(219, 20);
this.textBoxOriginalProgramTitle.TabIndex = 2; this.textBoxOriginalProgramTitle.TabIndex = 4;
// //
// label1 // label1
// //
this.label1.AutoSize = true; this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(6, 69); this.label1.Location = new System.Drawing.Point(6, 123);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(102, 13); this.label1.Size = new System.Drawing.Size(102, 13);
this.label1.TabIndex = 32; this.label1.TabIndex = 32;
@ -380,7 +529,7 @@
this.tabPageTextAndTiming.Controls.Add(this.label13); this.tabPageTextAndTiming.Controls.Add(this.label13);
this.tabPageTextAndTiming.Location = new System.Drawing.Point(4, 22); this.tabPageTextAndTiming.Location = new System.Drawing.Point(4, 22);
this.tabPageTextAndTiming.Name = "tabPageTextAndTiming"; this.tabPageTextAndTiming.Name = "tabPageTextAndTiming";
this.tabPageTextAndTiming.Size = new System.Drawing.Size(656, 379); this.tabPageTextAndTiming.Size = new System.Drawing.Size(750, 396);
this.tabPageTextAndTiming.TabIndex = 2; this.tabPageTextAndTiming.TabIndex = 2;
this.tabPageTextAndTiming.Text = "Text and timing information"; this.tabPageTextAndTiming.Text = "Text and timing information";
this.tabPageTextAndTiming.UseVisualStyleBackColor = true; this.tabPageTextAndTiming.UseVisualStyleBackColor = true;
@ -415,7 +564,7 @@
this.tabPageErrors.Location = new System.Drawing.Point(4, 22); this.tabPageErrors.Location = new System.Drawing.Point(4, 22);
this.tabPageErrors.Name = "tabPageErrors"; this.tabPageErrors.Name = "tabPageErrors";
this.tabPageErrors.Padding = new System.Windows.Forms.Padding(3); this.tabPageErrors.Padding = new System.Windows.Forms.Padding(3);
this.tabPageErrors.Size = new System.Drawing.Size(656, 379); this.tabPageErrors.Size = new System.Drawing.Size(750, 396);
this.tabPageErrors.TabIndex = 1; this.tabPageErrors.TabIndex = 1;
this.tabPageErrors.Text = "Errors"; this.tabPageErrors.Text = "Errors";
this.tabPageErrors.UseVisualStyleBackColor = true; this.tabPageErrors.UseVisualStyleBackColor = true;
@ -429,7 +578,7 @@
this.textBoxErrors.Multiline = true; this.textBoxErrors.Multiline = true;
this.textBoxErrors.Name = "textBoxErrors"; this.textBoxErrors.Name = "textBoxErrors";
this.textBoxErrors.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; this.textBoxErrors.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBoxErrors.Size = new System.Drawing.Size(815, 373); this.textBoxErrors.Size = new System.Drawing.Size(909, 344);
this.textBoxErrors.TabIndex = 13; this.textBoxErrors.TabIndex = 13;
// //
// label6 // label6
@ -441,28 +590,28 @@
this.label6.TabIndex = 12; this.label6.TabIndex = 12;
this.label6.Text = "Errors"; this.label6.Text = "Errors";
// //
// textBoxLanguageCode // textBoxCountryOfOrigin
// //
this.textBoxLanguageCode.Location = new System.Drawing.Point(147, 40); this.textBoxCountryOfOrigin.Location = new System.Drawing.Point(147, 280);
this.textBoxLanguageCode.MaxLength = 32; this.textBoxCountryOfOrigin.MaxLength = 3;
this.textBoxLanguageCode.Name = "textBoxLanguageCode"; this.textBoxCountryOfOrigin.Name = "textBoxCountryOfOrigin";
this.textBoxLanguageCode.Size = new System.Drawing.Size(219, 20); this.textBoxCountryOfOrigin.Size = new System.Drawing.Size(219, 20);
this.textBoxLanguageCode.TabIndex = 1; this.textBoxCountryOfOrigin.TabIndex = 62;
// //
// label14 // labelCountryOfOrigin
// //
this.label14.AutoSize = true; this.labelCountryOfOrigin.AutoSize = true;
this.label14.Location = new System.Drawing.Point(6, 43); this.labelCountryOfOrigin.Location = new System.Drawing.Point(6, 283);
this.label14.Name = "label14"; this.labelCountryOfOrigin.Name = "labelCountryOfOrigin";
this.label14.Size = new System.Drawing.Size(82, 13); this.labelCountryOfOrigin.Size = new System.Drawing.Size(83, 13);
this.label14.TabIndex = 54; this.labelCountryOfOrigin.TabIndex = 63;
this.label14.Text = "Language code"; this.labelCountryOfOrigin.Text = "Country of origin";
// //
// EbuSaveOptions // EbuSaveOptions
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(681, 460); this.ClientSize = new System.Drawing.Size(775, 477);
this.Controls.Add(this.tabControl1); this.Controls.Add(this.tabControl1);
this.Controls.Add(this.buttonOK); this.Controls.Add(this.buttonOK);
this.Controls.Add(this.buttonCancel); this.Controls.Add(this.buttonCancel);
@ -472,6 +621,8 @@
this.tabControl1.ResumeLayout(false); this.tabControl1.ResumeLayout(false);
this.tabPageHeader.ResumeLayout(false); this.tabPageHeader.ResumeLayout(false);
this.tabPageHeader.PerformLayout(); this.tabPageHeader.PerformLayout();
this.contextMenuStripCodeTable.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxRows)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxCharacters)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxCharacters)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownDiskSequenceNumber)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownDiskSequenceNumber)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTotalNumberOfDiscs)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownTotalNumberOfDiscs)).EndInit();
@ -522,5 +673,19 @@
private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBoxLanguageCode; private System.Windows.Forms.TextBox textBoxLanguageCode;
private System.Windows.Forms.Label label14; private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label labelCodePageNumber;
private System.Windows.Forms.ComboBox comboBoxDiscFormatCode;
private System.Windows.Forms.Label labelDiskFormatCode;
private System.Windows.Forms.NumericUpDown numericUpDownMaxRows;
private System.Windows.Forms.Label labelMaxRows;
private System.Windows.Forms.TextBox textBoxCodePageNumber;
private System.Windows.Forms.ContextMenuStrip contextMenuStripCodeTable;
private System.Windows.Forms.ToolStripMenuItem unitedStatesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem multilingualToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem portugalToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem canadaFrenchToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem nordicToolStripMenuItem;
private System.Windows.Forms.TextBox textBoxCountryOfOrigin;
private System.Windows.Forms.Label labelCountryOfOrigin;
} }
} }

View File

@ -25,6 +25,8 @@ namespace Nikse.SubtitleEdit.Forms
_subtitle = subtitle; _subtitle = subtitle;
FillFromHeader(header); FillFromHeader(header);
if (!string.IsNullOrEmpty(fileName))
{
try try
{ {
FillHeaderFromFile(fileName); FillHeaderFromFile(fileName);
@ -33,9 +35,10 @@ namespace Nikse.SubtitleEdit.Forms
{ {
System.Diagnostics.Debug.WriteLine("EbuOptions unable to read existing file: " + fileName + " - " + ex.Message); System.Diagnostics.Debug.WriteLine("EbuOptions unable to read existing file: " + fileName + " - " + ex.Message);
} }
string title = Path.GetFileNameWithoutExtension(fileName); string title = Path.GetFileNameWithoutExtension(fileName);
textBoxOriginalProgramTitle.Text = title; textBoxOriginalProgramTitle.Text = title;
}
comboBoxJustificationCode.SelectedIndex = justificationCode; comboBoxJustificationCode.SelectedIndex = justificationCode;
this.Text = Configuration.Settings.Language.EbuSaveOtpions.Title; this.Text = Configuration.Settings.Language.EbuSaveOtpions.Title;
@ -68,6 +71,13 @@ namespace Nikse.SubtitleEdit.Forms
private void FillFromHeader(Ebu.EbuGeneralSubtitleInformation header) private void FillFromHeader(Ebu.EbuGeneralSubtitleInformation header)
{ {
textBoxCodePageNumber.Text = header.CodePageNumber;
if (header.DiskFormatCode == "STL30.01")
comboBoxDiscFormatCode.SelectedIndex = 1;
else
comboBoxDiscFormatCode.SelectedIndex = 0;
comboBoxCharacterCodeTable.SelectedIndex = int.Parse(header.CharacterCodeTableNumber); comboBoxCharacterCodeTable.SelectedIndex = int.Parse(header.CharacterCodeTableNumber);
textBoxLanguageCode.Text = header.LanguageCode; textBoxLanguageCode.Text = header.LanguageCode;
textBoxOriginalProgramTitle.Text = header.OriginalProgrammeTitle.TrimEnd(); textBoxOriginalProgramTitle.Text = header.OriginalProgrammeTitle.TrimEnd();
@ -76,6 +86,7 @@ namespace Nikse.SubtitleEdit.Forms
textBoxTranslatedEpisodeTitle.Text = header.TranslatedEpisodeTitle.TrimEnd(); textBoxTranslatedEpisodeTitle.Text = header.TranslatedEpisodeTitle.TrimEnd();
textBoxTranslatorsName.Text = header.TranslatorsName.TrimEnd(); textBoxTranslatorsName.Text = header.TranslatorsName.TrimEnd();
textBoxSubtitleListReferenceCode.Text = header.SubtitleListReferenceCode.TrimEnd(); textBoxSubtitleListReferenceCode.Text = header.SubtitleListReferenceCode.TrimEnd();
textBoxCountryOfOrigin.Text = header.CountryOfOrigin;
int number; int number;
if (int.TryParse(header.RevisionNumber, out number)) if (int.TryParse(header.RevisionNumber, out number))
@ -86,6 +97,10 @@ namespace Nikse.SubtitleEdit.Forms
if (int.TryParse(header.MaximumNumberOfDisplayableCharactersInAnyTextRow, out number)) if (int.TryParse(header.MaximumNumberOfDisplayableCharactersInAnyTextRow, out number))
numericUpDownMaxCharacters.Value = number; numericUpDownMaxCharacters.Value = number;
numericUpDownMaxRows.Value = 23;
if (int.TryParse(header.MaximumNumberOfDisplayableRows, out number))
numericUpDownMaxRows.Value = number;
if (int.TryParse(header.DiskSequenceNumber, out number)) if (int.TryParse(header.DiskSequenceNumber, out number))
numericUpDownDiskSequenceNumber.Value = number; numericUpDownDiskSequenceNumber.Value = number;
else else
@ -98,6 +113,13 @@ namespace Nikse.SubtitleEdit.Forms
private void buttonOK_Click(object sender, EventArgs e) private void buttonOK_Click(object sender, EventArgs e)
{ {
_header.CodePageNumber = textBoxCodePageNumber.Text;
if (comboBoxDiscFormatCode.SelectedIndex == 1)
_header.DiskFormatCode = "STL30.01";
else
_header.DiskFormatCode = "STL25.01";
_header.CharacterCodeTableNumber = "0" + comboBoxCharacterCodeTable.SelectedIndex.ToString(); _header.CharacterCodeTableNumber = "0" + comboBoxCharacterCodeTable.SelectedIndex.ToString();
_header.OriginalProgrammeTitle = textBoxOriginalProgramTitle.Text.PadRight(32, ' '); _header.OriginalProgrammeTitle = textBoxOriginalProgramTitle.Text.PadRight(32, ' ');
_header.OriginalEpisodeTitle = textBoxOriginalEpisodeTitle.Text.PadRight(32, ' '); _header.OriginalEpisodeTitle = textBoxOriginalEpisodeTitle.Text.PadRight(32, ' ');
@ -105,8 +127,12 @@ namespace Nikse.SubtitleEdit.Forms
_header.TranslatedEpisodeTitle = textBoxTranslatedEpisodeTitle.Text.PadRight(32, ' '); _header.TranslatedEpisodeTitle = textBoxTranslatedEpisodeTitle.Text.PadRight(32, ' ');
_header.TranslatorsName = textBoxTranslatorsName.Text.PadRight(32, ' '); _header.TranslatorsName = textBoxTranslatorsName.Text.PadRight(32, ' ');
_header.SubtitleListReferenceCode = textBoxSubtitleListReferenceCode.Text.PadRight(16, ' '); _header.SubtitleListReferenceCode = textBoxSubtitleListReferenceCode.Text.PadRight(16, ' ');
_header.CountryOfOrigin = textBoxCountryOfOrigin.Text;
if (_header.CountryOfOrigin.Length != 3)
_header.CountryOfOrigin = "USA";
_header.RevisionNumber = numericUpDownRevisionNumber.Value.ToString().PadLeft(2, '0'); _header.RevisionNumber = numericUpDownRevisionNumber.Value.ToString().PadLeft(2, '0');
_header.MaximumNumberOfDisplayableCharactersInAnyTextRow = numericUpDownMaxCharacters.Value.ToString().PadLeft(2, '0'); _header.MaximumNumberOfDisplayableCharactersInAnyTextRow = numericUpDownMaxCharacters.Value.ToString().PadLeft(2, '0');
_header.MaximumNumberOfDisplayableRows = numericUpDownMaxRows.Value.ToString().PadLeft(2, '0');
_header.DiskSequenceNumber = numericUpDownDiskSequenceNumber.Value.ToString(); _header.DiskSequenceNumber = numericUpDownDiskSequenceNumber.Value.ToString();
_header.TotalNumberOfDisks = numericUpDownTotalNumberOfDiscs.Value.ToString(); _header.TotalNumberOfDisks = numericUpDownTotalNumberOfDiscs.Value.ToString();
JustificationCode = (byte)comboBoxJustificationCode.SelectedIndex; JustificationCode = (byte)comboBoxJustificationCode.SelectedIndex;
@ -121,6 +147,7 @@ namespace Nikse.SubtitleEdit.Forms
private void buttonImport_Click(object sender, EventArgs e) private void buttonImport_Click(object sender, EventArgs e)
{ {
openFileDialog1.Filter = "Ebu stl files (*.stl)|*.stl"; openFileDialog1.Filter = "Ebu stl files (*.stl)|*.stl";
openFileDialog1.FileName = string.Empty;
if (openFileDialog1.ShowDialog() == DialogResult.OK) if (openFileDialog1.ShowDialog() == DialogResult.OK)
{ {
FillHeaderFromFile(openFileDialog1.FileName); FillHeaderFromFile(openFileDialog1.FileName);
@ -142,5 +169,30 @@ namespace Nikse.SubtitleEdit.Forms
{ {
CheckErrors(_subtitle); CheckErrors(_subtitle);
} }
private void unitedStatesToolStripMenuItem_Click(object sender, EventArgs e)
{
textBoxCodePageNumber.Text = "437";
}
private void multilingualToolStripMenuItem_Click(object sender, EventArgs e)
{
textBoxCodePageNumber.Text = "850";
}
private void portugalToolStripMenuItem_Click(object sender, EventArgs e)
{
textBoxCodePageNumber.Text = "860";
}
private void canadaFrenchToolStripMenuItem_Click(object sender, EventArgs e)
{
textBoxCodePageNumber.Text = "863";
}
private void nordicToolStripMenuItem_Click(object sender, EventArgs e)
{
textBoxCodePageNumber.Text = "865";
}
} }
} }

View File

@ -120,4 +120,7 @@
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="contextMenuStripCodeTable.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>157, 17</value>
</metadata>
</root> </root>

View File

@ -80,7 +80,7 @@
// radioButtonCaseSensitive // radioButtonCaseSensitive
// //
this.radioButtonCaseSensitive.AutoSize = true; this.radioButtonCaseSensitive.AutoSize = true;
this.radioButtonCaseSensitive.Location = new System.Drawing.Point(86, 63); this.radioButtonCaseSensitive.Location = new System.Drawing.Point(12, 86);
this.radioButtonCaseSensitive.Name = "radioButtonCaseSensitive"; this.radioButtonCaseSensitive.Name = "radioButtonCaseSensitive";
this.radioButtonCaseSensitive.Size = new System.Drawing.Size(94, 17); this.radioButtonCaseSensitive.Size = new System.Drawing.Size(94, 17);
this.radioButtonCaseSensitive.TabIndex = 7; this.radioButtonCaseSensitive.TabIndex = 7;
@ -91,7 +91,7 @@
// radioButtonRegEx // radioButtonRegEx
// //
this.radioButtonRegEx.AutoSize = true; this.radioButtonRegEx.AutoSize = true;
this.radioButtonRegEx.Location = new System.Drawing.Point(196, 63); this.radioButtonRegEx.Location = new System.Drawing.Point(14, 109);
this.radioButtonRegEx.Name = "radioButtonRegEx"; this.radioButtonRegEx.Name = "radioButtonRegEx";
this.radioButtonRegEx.Size = new System.Drawing.Size(56, 17); this.radioButtonRegEx.Size = new System.Drawing.Size(56, 17);
this.radioButtonRegEx.TabIndex = 9; this.radioButtonRegEx.TabIndex = 9;
@ -103,7 +103,7 @@
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(298, 89); this.ClientSize = new System.Drawing.Size(298, 135);
this.Controls.Add(this.radioButtonRegEx); this.Controls.Add(this.radioButtonRegEx);
this.Controls.Add(this.radioButtonCaseSensitive); this.Controls.Add(this.radioButtonCaseSensitive);
this.Controls.Add(this.radioButtonNormal); this.Controls.Add(this.radioButtonNormal);

View File

@ -712,7 +712,7 @@ namespace Nikse.SubtitleEdit.Forms
splitContainer1.SplitterDistance = Configuration.Settings.General.StartListViewWidth; splitContainer1.SplitterDistance = Configuration.Settings.General.StartListViewWidth;
} }
if (Environment.OSVersion.Version.Major < 6) // 6 == Vista/Win2008Server/Win7 if (Environment.OSVersion.Version.Major < 6 && Configuration.Settings.General.SubtitleFontName == Utilities.WinXp2kUnicodeFontName) // 6 == Vista/Win2008Server/Win7
{ {
string unicodeFontName = Utilities.WinXp2kUnicodeFontName; string unicodeFontName = Utilities.WinXp2kUnicodeFontName;
Configuration.Settings.General.SubtitleFontName = unicodeFontName; Configuration.Settings.General.SubtitleFontName = unicodeFontName;
@ -814,6 +814,7 @@ namespace Nikse.SubtitleEdit.Forms
toolStripMenuItemSpellCheckMain.Text = _language.Menu.SpellCheck.Title; toolStripMenuItemSpellCheckMain.Text = _language.Menu.SpellCheck.Title;
spellCheckToolStripMenuItem.Text = _language.Menu.SpellCheck.SpellCheck; spellCheckToolStripMenuItem.Text = _language.Menu.SpellCheck.SpellCheck;
findDoubleWordsToolStripMenuItem.Text = _language.Menu.SpellCheck.FindDoubleWords; findDoubleWordsToolStripMenuItem.Text = _language.Menu.SpellCheck.FindDoubleWords;
FindDoubleLinesToolStripMenuItem.Text = _language.Menu.SpellCheck.FindDoubleLines;
GetDictionariesToolStripMenuItem.Text = _language.Menu.SpellCheck.GetDictionaries; GetDictionariesToolStripMenuItem.Text = _language.Menu.SpellCheck.GetDictionaries;
addWordToNamesetcListToolStripMenuItem.Text = _language.Menu.SpellCheck.AddToNamesEtcList; addWordToNamesetcListToolStripMenuItem.Text = _language.Menu.SpellCheck.AddToNamesEtcList;
@ -5308,6 +5309,8 @@ namespace Nikse.SubtitleEdit.Forms
Cursor.Current = Cursors.WaitCursor; Cursor.Current = Cursors.WaitCursor;
List<SubtitleSequence> sub = matroska.GetMatroskaSubtitle(fileName, (int)matroskaSubtitleInfo.TrackNumber, out isValid); List<SubtitleSequence> sub = matroska.GetMatroskaSubtitle(fileName, (int)matroskaSubtitleInfo.TrackNumber, out isValid);
Cursor.Current = Cursors.Default; Cursor.Current = Cursors.Default;
int noOfErrors = 0;
string lastError = string.Empty;
if (isValid) if (isValid)
{ {
@ -5318,7 +5321,7 @@ namespace Nikse.SubtitleEdit.Forms
StringBuilder log = new StringBuilder(); StringBuilder log = new StringBuilder();
foreach (SubtitleSequence p in sub) foreach (SubtitleSequence p in sub)
{ {
byte[] buffer; byte[] buffer = null;
if (matroskaSubtitleInfo.ContentEncodingType == 0) // compressed with zlib if (matroskaSubtitleInfo.ContentEncodingType == 0) // compressed with zlib
{ {
MemoryStream outStream = new MemoryStream(); MemoryStream outStream = new MemoryStream();
@ -5331,6 +5334,12 @@ namespace Nikse.SubtitleEdit.Forms
outStream.Position = 0; outStream.Position = 0;
outStream.Read(buffer, 0, buffer.Length); outStream.Read(buffer, 0, buffer.Length);
} }
catch (Exception exception)
{
TimeCode tc = new TimeCode(TimeSpan.FromMilliseconds(p.StartMilliseconds));
lastError = tc.ToString() + ": " + exception.Message + ": " + exception.StackTrace;
noOfErrors++;
}
finally finally
{ {
outStream.Close(); outStream.Close();
@ -5342,7 +5351,7 @@ namespace Nikse.SubtitleEdit.Forms
{ {
buffer = p.BinaryData; buffer = p.BinaryData;
} }
if (buffer.Length > 100) if (buffer != null && buffer.Length > 100)
{ {
MemoryStream ms = new MemoryStream(buffer); MemoryStream ms = new MemoryStream(buffer);
var list = BluRaySupParser.ParseBluRaySup(ms, log, true); var list = BluRaySupParser.ParseBluRaySup(ms, log, true);
@ -5360,6 +5369,11 @@ namespace Nikse.SubtitleEdit.Forms
} }
} }
if (noOfErrors > 0)
{
MessageBox.Show(string.Format("{0} errror(s) occured during extraction of bdsup\r\n\r\n{1}", noOfErrors, lastError));
}
var formSubOcr = new VobSubOcr(); var formSubOcr = new VobSubOcr();
formSubOcr.Initialize(subtitles, Configuration.Settings.VobSubOcr); formSubOcr.Initialize(subtitles, Configuration.Settings.VobSubOcr);
if (formSubOcr.ShowDialog(this) == DialogResult.OK) if (formSubOcr.ShowDialog(this) == DialogResult.OK)

View File

@ -681,7 +681,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAD2
CAAAAk1TRnQBSQFMAgEBAgEAAfABCAHwAQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CAAAAk1TRnQBSQFMAgEBAgEAAfgBCAH4AQgBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -43,7 +43,7 @@
// radioButtonRegEx // radioButtonRegEx
// //
this.radioButtonRegEx.AutoSize = true; this.radioButtonRegEx.AutoSize = true;
this.radioButtonRegEx.Location = new System.Drawing.Point(201, 51); this.radioButtonRegEx.Location = new System.Drawing.Point(17, 97);
this.radioButtonRegEx.Name = "radioButtonRegEx"; this.radioButtonRegEx.Name = "radioButtonRegEx";
this.radioButtonRegEx.Size = new System.Drawing.Size(56, 17); this.radioButtonRegEx.Size = new System.Drawing.Size(56, 17);
this.radioButtonRegEx.TabIndex = 3; this.radioButtonRegEx.TabIndex = 3;
@ -54,7 +54,7 @@
// radioButtonCaseSensitive // radioButtonCaseSensitive
// //
this.radioButtonCaseSensitive.AutoSize = true; this.radioButtonCaseSensitive.AutoSize = true;
this.radioButtonCaseSensitive.Location = new System.Drawing.Point(88, 51); this.radioButtonCaseSensitive.Location = new System.Drawing.Point(17, 74);
this.radioButtonCaseSensitive.Name = "radioButtonCaseSensitive"; this.radioButtonCaseSensitive.Name = "radioButtonCaseSensitive";
this.radioButtonCaseSensitive.Size = new System.Drawing.Size(94, 17); this.radioButtonCaseSensitive.Size = new System.Drawing.Size(94, 17);
this.radioButtonCaseSensitive.TabIndex = 2; this.radioButtonCaseSensitive.TabIndex = 2;
@ -77,7 +77,7 @@
// //
// buttonReplace // buttonReplace
// //
this.buttonReplace.Location = new System.Drawing.Point(124, 140); this.buttonReplace.Location = new System.Drawing.Point(124, 180);
this.buttonReplace.Name = "buttonReplace"; this.buttonReplace.Name = "buttonReplace";
this.buttonReplace.Size = new System.Drawing.Size(75, 21); this.buttonReplace.Size = new System.Drawing.Size(75, 21);
this.buttonReplace.TabIndex = 6; this.buttonReplace.TabIndex = 6;
@ -95,7 +95,7 @@
// //
// buttonReplaceAll // buttonReplaceAll
// //
this.buttonReplaceAll.Location = new System.Drawing.Point(205, 140); this.buttonReplaceAll.Location = new System.Drawing.Point(205, 180);
this.buttonReplaceAll.Name = "buttonReplaceAll"; this.buttonReplaceAll.Name = "buttonReplaceAll";
this.buttonReplaceAll.Size = new System.Drawing.Size(75, 21); this.buttonReplaceAll.Size = new System.Drawing.Size(75, 21);
this.buttonReplaceAll.TabIndex = 7; this.buttonReplaceAll.TabIndex = 7;
@ -105,7 +105,7 @@
// //
// textBoxReplace // textBoxReplace
// //
this.textBoxReplace.Location = new System.Drawing.Point(15, 104); this.textBoxReplace.Location = new System.Drawing.Point(15, 144);
this.textBoxReplace.Name = "textBoxReplace"; this.textBoxReplace.Name = "textBoxReplace";
this.textBoxReplace.Size = new System.Drawing.Size(265, 21); this.textBoxReplace.Size = new System.Drawing.Size(265, 21);
this.textBoxReplace.TabIndex = 4; this.textBoxReplace.TabIndex = 4;
@ -114,7 +114,7 @@
// labelReplaceWith // labelReplaceWith
// //
this.labelReplaceWith.AutoSize = true; this.labelReplaceWith.AutoSize = true;
this.labelReplaceWith.Location = new System.Drawing.Point(12, 87); this.labelReplaceWith.Location = new System.Drawing.Point(12, 127);
this.labelReplaceWith.Name = "labelReplaceWith"; this.labelReplaceWith.Name = "labelReplaceWith";
this.labelReplaceWith.Size = new System.Drawing.Size(72, 13); this.labelReplaceWith.Size = new System.Drawing.Size(72, 13);
this.labelReplaceWith.TabIndex = 14; this.labelReplaceWith.TabIndex = 14;
@ -131,7 +131,7 @@
// //
// buttonFind // buttonFind
// //
this.buttonFind.Location = new System.Drawing.Point(43, 140); this.buttonFind.Location = new System.Drawing.Point(43, 180);
this.buttonFind.Name = "buttonFind"; this.buttonFind.Name = "buttonFind";
this.buttonFind.Size = new System.Drawing.Size(75, 21); this.buttonFind.Size = new System.Drawing.Size(75, 21);
this.buttonFind.TabIndex = 5; this.buttonFind.TabIndex = 5;
@ -143,7 +143,7 @@
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(330, 170); this.ClientSize = new System.Drawing.Size(330, 208);
this.Controls.Add(this.buttonFind); this.Controls.Add(this.buttonFind);
this.Controls.Add(this.labelFindWhat); this.Controls.Add(this.labelFindWhat);
this.Controls.Add(this.labelReplaceWith); this.Controls.Add(this.labelReplaceWith);

View File

@ -36,10 +36,11 @@ namespace Nikse.SubtitleEdit.Forms
this.normalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.normalToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.italicToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.italicToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.importTextWithMatchingTimeCodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.saveImageAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveImageAsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveAllImagesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveAllImagesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.saveAllImagesWithHtmlIndexViewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.importTextWithMatchingTimeCodesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.labelSubtitleText = new System.Windows.Forms.Label(); this.labelSubtitleText = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar(); this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.labelStatus = new System.Windows.Forms.Label(); this.labelStatus = new System.Windows.Forms.Label();
@ -101,7 +102,6 @@ namespace Nikse.SubtitleEdit.Forms
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.subtitleListView1 = new Nikse.SubtitleEdit.Controls.SubtitleListView(); this.subtitleListView1 = new Nikse.SubtitleEdit.Controls.SubtitleListView();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.saveAllImagesWithHtmlIndexViewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxSubtitleImage)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSubtitleImage)).BeginInit();
this.contextMenuStripListview.SuspendLayout(); this.contextMenuStripListview.SuspendLayout();
this.groupBoxOcrMethod.SuspendLayout(); this.groupBoxOcrMethod.SuspendLayout();
@ -171,6 +171,18 @@ namespace Nikse.SubtitleEdit.Forms
this.toolStripSeparator1.Name = "toolStripSeparator1"; this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(279, 6); this.toolStripSeparator1.Size = new System.Drawing.Size(279, 6);
// //
// importTextWithMatchingTimeCodesToolStripMenuItem
//
this.importTextWithMatchingTimeCodesToolStripMenuItem.Name = "importTextWithMatchingTimeCodesToolStripMenuItem";
this.importTextWithMatchingTimeCodesToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
this.importTextWithMatchingTimeCodesToolStripMenuItem.Text = "Import text with matching time codes...";
this.importTextWithMatchingTimeCodesToolStripMenuItem.Click += new System.EventHandler(this.importTextWithMatchingTimeCodesToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(279, 6);
//
// saveImageAsToolStripMenuItem // saveImageAsToolStripMenuItem
// //
this.saveImageAsToolStripMenuItem.Name = "saveImageAsToolStripMenuItem"; this.saveImageAsToolStripMenuItem.Name = "saveImageAsToolStripMenuItem";
@ -185,17 +197,12 @@ namespace Nikse.SubtitleEdit.Forms
this.saveAllImagesToolStripMenuItem.Text = "Save all images (png/bdn xml)..."; this.saveAllImagesToolStripMenuItem.Text = "Save all images (png/bdn xml)...";
this.saveAllImagesToolStripMenuItem.Click += new System.EventHandler(this.saveAllImagesToolStripMenuItem_Click); this.saveAllImagesToolStripMenuItem.Click += new System.EventHandler(this.saveAllImagesToolStripMenuItem_Click);
// //
// toolStripSeparator2 // saveAllImagesWithHtmlIndexViewToolStripMenuItem
// //
this.toolStripSeparator2.Name = "toolStripSeparator2"; this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Name = "saveAllImagesWithHtmlIndexViewToolStripMenuItem";
this.toolStripSeparator2.Size = new System.Drawing.Size(279, 6); this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
// this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Text = "Save all images with html index view...";
// importTextWithMatchingTimeCodesToolStripMenuItem this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Click += new System.EventHandler(this.saveAllImagesWithHtmlIndexViewToolStripMenuItem_Click);
//
this.importTextWithMatchingTimeCodesToolStripMenuItem.Name = "importTextWithMatchingTimeCodesToolStripMenuItem";
this.importTextWithMatchingTimeCodesToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
this.importTextWithMatchingTimeCodesToolStripMenuItem.Text = "Import text with matching time codes...";
this.importTextWithMatchingTimeCodesToolStripMenuItem.Click += new System.EventHandler(this.importTextWithMatchingTimeCodesToolStripMenuItem_Click);
// //
// labelSubtitleText // labelSubtitleText
// //
@ -474,7 +481,7 @@ namespace Nikse.SubtitleEdit.Forms
// labelStartFrom // labelStartFrom
// //
this.labelStartFrom.AutoSize = true; this.labelStartFrom.AutoSize = true;
this.labelStartFrom.Location = new System.Drawing.Point(122, 28); this.labelStartFrom.Location = new System.Drawing.Point(120, 26);
this.labelStartFrom.Name = "labelStartFrom"; this.labelStartFrom.Name = "labelStartFrom";
this.labelStartFrom.Size = new System.Drawing.Size(127, 13); this.labelStartFrom.Size = new System.Drawing.Size(127, 13);
this.labelStartFrom.TabIndex = 31; this.labelStartFrom.TabIndex = 31;
@ -482,7 +489,7 @@ namespace Nikse.SubtitleEdit.Forms
// //
// numericUpDownStartNumber // numericUpDownStartNumber
// //
this.numericUpDownStartNumber.Location = new System.Drawing.Point(125, 49); this.numericUpDownStartNumber.Location = new System.Drawing.Point(123, 47);
this.numericUpDownStartNumber.Maximum = new decimal(new int[] { this.numericUpDownStartNumber.Maximum = new decimal(new int[] {
99999, 99999,
0, 0,
@ -505,7 +512,7 @@ namespace Nikse.SubtitleEdit.Forms
// buttonStop // buttonStop
// //
this.buttonStop.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.buttonStop.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonStop.Location = new System.Drawing.Point(13, 54); this.buttonStop.Location = new System.Drawing.Point(11, 52);
this.buttonStop.Name = "buttonStop"; this.buttonStop.Name = "buttonStop";
this.buttonStop.Size = new System.Drawing.Size(105, 22); this.buttonStop.Size = new System.Drawing.Size(105, 22);
this.buttonStop.TabIndex = 29; this.buttonStop.TabIndex = 29;
@ -517,7 +524,7 @@ namespace Nikse.SubtitleEdit.Forms
// //
this.buttonStartOcr.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.buttonStartOcr.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonStartOcr.ImeMode = System.Windows.Forms.ImeMode.NoControl; this.buttonStartOcr.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.buttonStartOcr.Location = new System.Drawing.Point(13, 26); this.buttonStartOcr.Location = new System.Drawing.Point(11, 24);
this.buttonStartOcr.Name = "buttonStartOcr"; this.buttonStartOcr.Name = "buttonStartOcr";
this.buttonStartOcr.Size = new System.Drawing.Size(105, 22); this.buttonStartOcr.Size = new System.Drawing.Size(105, 22);
this.buttonStartOcr.TabIndex = 28; this.buttonStartOcr.TabIndex = 28;
@ -882,13 +889,6 @@ namespace Nikse.SubtitleEdit.Forms
// //
this.openFileDialog1.FileName = "openFileDialog1"; this.openFileDialog1.FileName = "openFileDialog1";
// //
// saveAllImagesWithHtmlIndexViewToolStripMenuItem
//
this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Name = "saveAllImagesWithHtmlIndexViewToolStripMenuItem";
this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Size = new System.Drawing.Size(282, 22);
this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Text = "Save all images with html index view...";
this.saveAllImagesWithHtmlIndexViewToolStripMenuItem.Click += new System.EventHandler(this.saveAllImagesWithHtmlIndexViewToolStripMenuItem_Click);
//
// VobSubOcr // VobSubOcr
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

View File

@ -61,6 +61,7 @@ namespace Nikse.SubtitleEdit.Forms
Text = text; Text = text;
Image = image; Image = image;
Text = text; Text = text;
Italic = italic;
Index = index; Index = index;
} }
} }
@ -1376,6 +1377,7 @@ namespace Nikse.SubtitleEdit.Forms
StringBuilder word = new StringBuilder(); StringBuilder word = new StringBuilder();
int lettersItalics = 0; int lettersItalics = 0;
int lettersNonItalics = 0; int lettersNonItalics = 0;
int lineLettersNonItalics = 0;
int wordItalics = 0; int wordItalics = 0;
int wordNonItalics = 0; int wordNonItalics = 0;
bool isItalic = false; bool isItalic = false;
@ -1389,12 +1391,14 @@ namespace Nikse.SubtitleEdit.Forms
else if (matches[i].Text == Environment.NewLine) else if (matches[i].Text == Environment.NewLine)
{ {
ItalicsWord(line, ref word, ref lettersItalics, ref lettersNonItalics, ref wordItalics, ref wordNonItalics, ref isItalic, ""); ItalicsWord(line, ref word, ref lettersItalics, ref lettersNonItalics, ref wordItalics, ref wordNonItalics, ref isItalic, "");
ItalianLine(paragraph, ref line, ref allItalic, ref wordItalics, ref wordNonItalics, ref isItalic, Environment.NewLine); ItalianLine(paragraph, ref line, ref allItalic, ref wordItalics, ref wordNonItalics, ref isItalic, Environment.NewLine, lineLettersNonItalics);
lineLettersNonItalics = 0;
} }
else if (matches[i].Italic) else if (matches[i].Italic)
{ {
word.Append(matches[i].Text); word.Append(matches[i].Text);
lettersItalics += matches[i].Text.Length; lettersItalics += matches[i].Text.Length;
lineLettersNonItalics += matches[i].Text.Length;
} }
else else
{ {
@ -1406,7 +1410,7 @@ namespace Nikse.SubtitleEdit.Forms
if (word.Length > 0) if (word.Length > 0)
ItalicsWord(line, ref word, ref lettersItalics, ref lettersNonItalics, ref wordItalics, ref wordNonItalics, ref isItalic, ""); ItalicsWord(line, ref word, ref lettersItalics, ref lettersNonItalics, ref wordItalics, ref wordNonItalics, ref isItalic, "");
if (line.Length > 0) if (line.Length > 0)
ItalianLine(paragraph, ref line, ref allItalic, ref wordItalics, ref wordNonItalics, ref isItalic, ""); ItalianLine(paragraph, ref line, ref allItalic, ref wordItalics, ref wordNonItalics, ref isItalic, "", lineLettersNonItalics);
if (allItalic) if (allItalic)
{ {
@ -1419,7 +1423,7 @@ namespace Nikse.SubtitleEdit.Forms
return paragraph.ToString(); return paragraph.ToString();
} }
private static void ItalianLine(StringBuilder paragraph, ref StringBuilder line, ref bool allItalic, ref int wordItalics, ref int wordNonItalics, ref bool isItalic, string appendString) private static void ItalianLine(StringBuilder paragraph, ref StringBuilder line, ref bool allItalic, ref int wordItalics, ref int wordNonItalics, ref bool isItalic, string appendString, int lineLettersNonItalics)
{ {
if (isItalic) if (isItalic)
{ {
@ -1433,7 +1437,7 @@ namespace Nikse.SubtitleEdit.Forms
paragraph.Append("<i>" + temp + "</i>"); paragraph.Append("<i>" + temp + "</i>");
paragraph.Append(appendString); paragraph.Append(appendString);
} }
else if (wordItalics > 0 && wordNonItalics == 1 && line.ToString().Trim().StartsWith("-")) else if (wordItalics > 0 && wordNonItalics < 2 && lineLettersNonItalics < 3 && line.ToString().Trim().StartsWith("-"))
{ {
string temp = line.ToString().Replace("<i>", "").Replace("</i>", ""); string temp = line.ToString().Replace("<i>", "").Replace("</i>", "");
paragraph.Append("<i>" + temp + "</i>"); paragraph.Append("<i>" + temp + "</i>");
@ -1470,12 +1474,12 @@ namespace Nikse.SubtitleEdit.Forms
} }
else else
{ {
line.Append(word.ToString());
if (isItalic) if (isItalic)
{ {
line.Append("</i>"); line.Append("</i>");
isItalic = false; isItalic = false;
} }
line.Append(word.ToString());
line.Append(appendString); line.Append(appendString);
wordNonItalics++; wordNonItalics++;
} }

View File

@ -1,8 +1,6 @@
namespace MultiLanguage namespace MultiLanguage
{ {
using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Security;
[StructLayout(LayoutKind.Sequential, Pack=2)] [StructLayout(LayoutKind.Sequential, Pack=2)]
public struct tagUNICODERANGE public struct tagUNICODERANGE

View File

@ -360,7 +360,7 @@ namespace Nikse.SubtitleEdit.Logic
int addY; int addY;
part = CropTopAndBottom(part, out addY); part = CropTopAndBottom(part, out addY);
parts.Add(new ImageSplitterItem(startX, verticalItem.Y + addY, part)); parts.Add(new ImageSplitterItem(startX, verticalItem.Y + addY, part));
part.Save(@"d:\temp\cursive.bmp"); // just for debugging //part.Save(@"d:\temp\cursive.bmp"); // just for debugging
} }
return parts; return parts;
} }

View File

@ -811,6 +811,7 @@ namespace Nikse.SubtitleEdit.Logic
{ {
Title = "Spell check", Title = "Spell check",
FindDoubleWords = "Find double words", FindDoubleWords = "Find double words",
FindDoubleLines = "Find double lines",
SpellCheck = "&Spell check...", SpellCheck = "&Spell check...",
GetDictionaries = "Get dictionaries...", GetDictionaries = "Get dictionaries...",
AddToNamesEtcList = "Add word to names/ect list", AddToNamesEtcList = "Add word to names/ect list",

View File

@ -735,6 +735,7 @@
public string Title { get; set; } public string Title { get; set; }
public string SpellCheck { get; set; } public string SpellCheck { get; set; }
public string FindDoubleWords { get; set; } public string FindDoubleWords { get; set; }
public string FindDoubleLines { get; set; }
public string GetDictionaries { get; set; } public string GetDictionaries { get; set; }
public string AddToNamesEtcList { get; set; } public string AddToNamesEtcList { get; set; }
} }

View File

@ -250,8 +250,8 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
Paragraph p = new Paragraph(); Paragraph p = new Paragraph();
p.Text = (line1 + Environment.NewLine + line2).Trim(); p.Text = (line1 + Environment.NewLine + line2).Trim();
p.StartTime.TotalMilliseconds = (double)((1000.0 / Configuration.Settings.General.CurrentFrameRate) * startFrame); p.StartTime.TotalMilliseconds = ((1000.0 / Configuration.Settings.General.CurrentFrameRate) * startFrame);
p.EndTime.TotalMilliseconds = (double)((1000.0 / Configuration.Settings.General.CurrentFrameRate) * endFrame); p.EndTime.TotalMilliseconds = ((1000.0 / Configuration.Settings.General.CurrentFrameRate) * endFrame);
subtitle.Paragraphs.Add(p); subtitle.Paragraphs.Add(p);
i += TextLength * 2; i += TextLength * 2;

View File

@ -164,7 +164,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
public EbuTextTimingInformation() public EbuTextTimingInformation()
{ {
SubtitleGroupNumber = 1; SubtitleGroupNumber = 0;
ExtensionBlockNumber = 255; ExtensionBlockNumber = 255;
CumulativeStatus = 0; CumulativeStatus = 0;
VerticalPosition = 0x16; VerticalPosition = 0x16;
@ -186,12 +186,12 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
buffer[5] = (byte)TimeCodeInHours; buffer[5] = (byte)TimeCodeInHours;
buffer[6] = (byte)TimeCodeInMinutes; buffer[6] = (byte)TimeCodeInMinutes;
buffer[7] = (byte)TimeCodeInSeconds; buffer[7] = (byte)TimeCodeInSeconds;
buffer[8] = GetFrameFromMilliseconds(TimeCodeInMilliseconds); buffer[8] = GetFrameFromMilliseconds(TimeCodeInMilliseconds, header.FrameRate);
buffer[9] = (byte)TimeCodeOutHours; buffer[9] = (byte)TimeCodeOutHours;
buffer[10] = (byte)TimeCodeOutMinutes; buffer[10] = (byte)TimeCodeOutMinutes;
buffer[11] = (byte)TimeCodeOutSeconds; buffer[11] = (byte)TimeCodeOutSeconds;
buffer[12] = GetFrameFromMilliseconds(TimeCodeOutMilliseconds); buffer[12] = GetFrameFromMilliseconds(TimeCodeOutMilliseconds, header.FrameRate);
buffer[13] = VerticalPosition; buffer[13] = VerticalPosition;
buffer[14] = JustificationCode; buffer[14] = JustificationCode;
@ -315,8 +315,8 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{ {
if (i < bytes.Length) if (i < bytes.Length)
buffer[16 + i] = bytes[i]; buffer[16 + i] = bytes[i];
else if (i == bytes.Length) //else if (i == bytes.Length)
buffer[16 + i] = 0x8f; // buffer[16 + i] = 0x8f;
else else
buffer[16 + i] = 0x8f; buffer[16 + i] = 0x8f;
} }
@ -382,10 +382,10 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
return text; return text;
} }
public static byte GetFrameFromMilliseconds(int milliseconds) public static byte GetFrameFromMilliseconds(int milliseconds, double frameRate)
{ {
int frame = milliseconds / 41; int frame = (int)(milliseconds / (1000.0 / frameRate));
return (byte)frame; return (byte)(frame);
} }
} }
@ -412,11 +412,17 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
public void Save(string fileName, Subtitle subtitle) public void Save(string fileName, Subtitle subtitle)
{ {
EbuGeneralSubtitleInformation header = new EbuGeneralSubtitleInformation(); EbuGeneralSubtitleInformation header = new EbuGeneralSubtitleInformation();
if (subtitle.Header != null && subtitle.Header.Length > 1024 && (subtitle.Header.Contains("STL25") || subtitle.Header.Contains("STL30")))
header = ReadHeader(Encoding.UTF8.GetBytes(subtitle.Header));
EbuSaveOptions saveOptions = new EbuSaveOptions(); EbuSaveOptions saveOptions = new EbuSaveOptions();
if (subtitle.Header != null && subtitle.Header.Length > 1024 && (subtitle.Header.Contains("STL25") || subtitle.Header.Contains("STL30")))
{
header = ReadHeader(Encoding.UTF8.GetBytes(subtitle.Header));
saveOptions.Initialize(header, 0, null, subtitle);
}
else
{
saveOptions.Initialize(header, 0, fileName, subtitle); saveOptions.Initialize(header, 0, fileName, subtitle);
}
if (saveOptions.ShowDialog() != DialogResult.OK) if (saveOptions.ShowDialog() != DialogResult.OK)
return; return;
@ -435,7 +441,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
if (firstParagraph != null) if (firstParagraph != null)
{ {
TimeCode tc = firstParagraph.StartTime; TimeCode tc = firstParagraph.StartTime;
string firstTimeCode = string.Format("{0:00}{1:00}{2:00}{3:00}", tc.Hours, tc.Minutes, tc.Seconds, EbuTextTimingInformation.GetFrameFromMilliseconds(tc.Milliseconds)); string firstTimeCode = string.Format("{0:00}{1:00}{2:00}{3:00}", tc.Hours, tc.Minutes, tc.Seconds, EbuTextTimingInformation.GetFrameFromMilliseconds(tc.Milliseconds, header.FrameRate));
if (firstTimeCode.Length == 8) if (firstTimeCode.Length == 8)
header.TimeCodeFirstInCue = firstTimeCode; header.TimeCodeFirstInCue = firstTimeCode;
} }
@ -443,6 +449,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
byte[] buffer = ASCIIEncoding.ASCII.GetBytes(header.ToString()); byte[] buffer = ASCIIEncoding.ASCII.GetBytes(header.ToString());
fs.Write(buffer, 0, buffer.Length); fs.Write(buffer, 0, buffer.Length);
int subtitleNumber = 0;
foreach (Paragraph p in subtitle.Paragraphs) foreach (Paragraph p in subtitle.Paragraphs)
{ {
EbuTextTimingInformation tti = new EbuTextTimingInformation(); EbuTextTimingInformation tti = new EbuTextTimingInformation();
@ -451,7 +458,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
else else
tti.VerticalPosition = 0x16; tti.VerticalPosition = 0x16;
tti.JustificationCode = saveOptions.JustificationCode; tti.JustificationCode = saveOptions.JustificationCode;
tti.SubtitleNumber = (ushort)p.Number; tti.SubtitleNumber = (ushort)subtitleNumber;
tti.TextField = p.Text; tti.TextField = p.Text;
tti.TimeCodeInHours = p.StartTime.Hours; tti.TimeCodeInHours = p.StartTime.Hours;
tti.TimeCodeInMinutes = p.StartTime.Minutes; tti.TimeCodeInMinutes = p.StartTime.Minutes;
@ -463,6 +470,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
tti.TimeCodeOutMilliseconds = p.EndTime.Milliseconds; tti.TimeCodeOutMilliseconds = p.EndTime.Milliseconds;
buffer = tti.GetBytes(header); buffer = tti.GetBytes(header);
fs.Write(buffer, 0, buffer.Length); fs.Write(buffer, 0, buffer.Length);
subtitleNumber++;
} }
fs.Close(); fs.Close();
} }
@ -534,6 +542,9 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
header.MaximumNumberOfDisplayableRows = Encoding.ASCII.GetString(buffer, 253, 2); header.MaximumNumberOfDisplayableRows = Encoding.ASCII.GetString(buffer, 253, 2);
header.TimeCodeStatus = Encoding.ASCII.GetString(buffer, 255, 1); header.TimeCodeStatus = Encoding.ASCII.GetString(buffer, 255, 1);
header.TimeCodeStartOfProgramme = Encoding.ASCII.GetString(buffer, 256, 8); header.TimeCodeStartOfProgramme = Encoding.ASCII.GetString(buffer, 256, 8);
header.CountryOfOrigin = Encoding.ASCII.GetString(buffer, 274, 3);
header.SpareBytes = Encoding.ASCII.GetString(buffer, 373, 75);
header.UserDefinedArea = Encoding.ASCII.GetString(buffer, 448, 576);
return header; return header;
} }
@ -831,7 +842,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
List<EbuTextTimingInformation> list = new List<EbuTextTimingInformation>(); List<EbuTextTimingInformation> list = new List<EbuTextTimingInformation>();
int index = StartOfTTI; int index = StartOfTTI;
while (index + TTISize < buffer.Length) while (index + TTISize <= buffer.Length)
{ {
var tti = new EbuTextTimingInformation(); var tti = new EbuTextTimingInformation();

View File

@ -1,7 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
{ {

View File

@ -226,12 +226,6 @@ namespace Nikse.SubtitleEdit.Logic.VideoPlayers
} }
} }
private static byte[] StringToCharPointer(string s)
{
return Encoding.UTF8.GetBytes(s + "\0");
}
public override string PlayerName public override string PlayerName
{ {
get { return "VLC Lib Dynamic"; } get { return "VLC Lib Dynamic"; }

View File

@ -161,18 +161,12 @@ namespace Nikse.SubtitleEdit.Logic.VobSub
private Bitmap GenerateBitmap(Rectangle imageDisplayArea, int imageTopFieldDataAddress, int imageBottomFieldDataAddress, List<Color> fourColors) private Bitmap GenerateBitmap(Rectangle imageDisplayArea, int imageTopFieldDataAddress, int imageBottomFieldDataAddress, List<Color> fourColors)
{ {
var bmp = new Bitmap(imageDisplayArea.Width + 1, imageDisplayArea.Height + 1); var bmp = new Bitmap(imageDisplayArea.Width + 1, imageDisplayArea.Height + 1);
// Fill with background color
Graphics gr = Graphics.FromImage(bmp);
gr.FillRectangle(new SolidBrush(fourColors[0]), new Rectangle(0, 0, bmp.Width, bmp.Height));
var fastBmp = new FastBitmap(bmp); var fastBmp = new FastBitmap(bmp);
fastBmp.LockImage(); fastBmp.LockImage();
GenerateBitmap(_data, fastBmp, 0, imageTopFieldDataAddress, fourColors); GenerateBitmap(_data, fastBmp, 0, imageTopFieldDataAddress, fourColors);
GenerateBitmap(_data, fastBmp, 1, imageBottomFieldDataAddress, fourColors); GenerateBitmap(_data, fastBmp, 1, imageBottomFieldDataAddress, fourColors);
Bitmap cropped = CropBitmapAndUnlok(fastBmp, fourColors[0]); Bitmap cropped = CropBitmapAndUnlok(fastBmp, Color.Transparent);
bmp.Dispose(); bmp.Dispose();
gr.Dispose();
return cropped; return cropped;
} }
@ -264,7 +258,7 @@ namespace Nikse.SubtitleEdit.Logic.VobSub
private static bool IsBackgroundColor(Color c, Color backgroundColor) private static bool IsBackgroundColor(Color c, Color backgroundColor)
{ {
return c.ToArgb() == backgroundColor.ToArgb() || c.ToArgb() == Color.FromArgb(0,0,0,0).ToArgb(); return c.ToArgb() == backgroundColor.ToArgb() || c.A == 0;
} }
private static void GenerateBitmap(byte[] data, FastBitmap bmp, int startY, int dataAddress, List<Color> fourColors) private static void GenerateBitmap(byte[] data, FastBitmap bmp, int startY, int dataAddress, List<Color> fourColors)