mirror of
https://github.com/imrayya/SRTto3Dsubtitles.git
synced 2026-09-21 10:17:27 +02:00
Add resolution-aware subtitle scaling and configurable layout defaults
- replace fixed RG subtitle bottom positioning with resolution-scaled Y offset - add centralized ScaleX, ScaleY, and ScaleFont helpers - scale RG horizontal eye offset based on output width - scale font size, SBS margins, and OU margins based on output/base resolution - change default baseline behavior from legacy 384x288 to tunable base resolution - add BaseResX/BaseResY options with 1280x720 defaults - add CLI options for: - --baseresx - --baseresy - --bottomoffset - --sbssidemargin - --outopmargin - --verticalmargin - replace remaining layout magic numbers with configurable options: - BottomOffset - SbsSideMargin - OuTopMargin - VerticalMargin - FontSize - OffsetX - preserve original numeric defaults for layout settings when not specified (based off of my personal experiences and preferences. - update WinForms designer to expose new converter settings - update WinForms code-behind to pass new options to Converter.Main - prefill GUI controls with converter-aligned default values - improve mode-based UI enable/disable behavior for SBS, OU, and RG settings - prepare shared-defaults approach via ConverterDefaults for keeping GUI and converter defaults in sync
This commit is contained in:
Generated
+232
-11
@@ -24,12 +24,30 @@
|
||||
private System.Windows.Forms.Label lblResY;
|
||||
private System.Windows.Forms.NumericUpDown nudResY;
|
||||
|
||||
private System.Windows.Forms.Label lblBaseResX;
|
||||
private System.Windows.Forms.NumericUpDown nudBaseResX;
|
||||
|
||||
private System.Windows.Forms.Label lblBaseResY;
|
||||
private System.Windows.Forms.NumericUpDown nudBaseResY;
|
||||
|
||||
private System.Windows.Forms.Label lblFontSize;
|
||||
private System.Windows.Forms.NumericUpDown nudFontSize;
|
||||
|
||||
private System.Windows.Forms.Label lblOffsetX;
|
||||
private System.Windows.Forms.NumericUpDown nudOffsetX;
|
||||
|
||||
private System.Windows.Forms.Label lblBottomOffset;
|
||||
private System.Windows.Forms.NumericUpDown nudBottomOffset;
|
||||
|
||||
private System.Windows.Forms.Label lblSbsSideMargin;
|
||||
private System.Windows.Forms.NumericUpDown nudSbsSideMargin;
|
||||
|
||||
private System.Windows.Forms.Label lblOuTopMargin;
|
||||
private System.Windows.Forms.NumericUpDown nudOuTopMargin;
|
||||
|
||||
private System.Windows.Forms.Label lblVerticalMargin;
|
||||
private System.Windows.Forms.NumericUpDown nudVerticalMargin;
|
||||
|
||||
private System.Windows.Forms.Button btnConvert;
|
||||
private System.Windows.Forms.TextBox txtStatus;
|
||||
|
||||
@@ -66,16 +84,34 @@
|
||||
this.nudResX = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblResY = new System.Windows.Forms.Label();
|
||||
this.nudResY = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblBaseResX = new System.Windows.Forms.Label();
|
||||
this.nudBaseResX = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblBaseResY = new System.Windows.Forms.Label();
|
||||
this.nudBaseResY = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblFontSize = new System.Windows.Forms.Label();
|
||||
this.nudFontSize = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblOffsetX = new System.Windows.Forms.Label();
|
||||
this.nudOffsetX = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblBottomOffset = new System.Windows.Forms.Label();
|
||||
this.nudBottomOffset = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblSbsSideMargin = new System.Windows.Forms.Label();
|
||||
this.nudSbsSideMargin = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblOuTopMargin = new System.Windows.Forms.Label();
|
||||
this.nudOuTopMargin = new System.Windows.Forms.NumericUpDown();
|
||||
this.lblVerticalMargin = new System.Windows.Forms.Label();
|
||||
this.nudVerticalMargin = new System.Windows.Forms.NumericUpDown();
|
||||
this.btnConvert = new System.Windows.Forms.Button();
|
||||
this.txtStatus = new System.Windows.Forms.TextBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudResX)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudResY)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudBaseResX)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudBaseResY)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudFontSize)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudOffsetX)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudBottomOffset)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudSbsSideMargin)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudOuTopMargin)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudVerticalMargin)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// lblInputFile
|
||||
@@ -179,7 +215,7 @@
|
||||
this.nudResX.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudResX.TabIndex = 9;
|
||||
this.nudResX.Value = new decimal(new int[] {
|
||||
384,
|
||||
1280,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -210,7 +246,69 @@
|
||||
this.nudResY.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudResY.TabIndex = 11;
|
||||
this.nudResY.Value = new decimal(new int[] {
|
||||
288,
|
||||
720,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblBaseResX
|
||||
//
|
||||
this.lblBaseResX.AutoSize = true;
|
||||
this.lblBaseResX.Location = new System.Drawing.Point(520, 178);
|
||||
this.lblBaseResX.Name = "lblBaseResX";
|
||||
this.lblBaseResX.Size = new System.Drawing.Size(81, 16);
|
||||
this.lblBaseResX.TabIndex = 12;
|
||||
this.lblBaseResX.Text = "Base Res X:";
|
||||
//
|
||||
// nudBaseResX
|
||||
//
|
||||
this.nudBaseResX.Location = new System.Drawing.Point(620, 176);
|
||||
this.nudBaseResX.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudBaseResX.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudBaseResX.Name = "nudBaseResX";
|
||||
this.nudBaseResX.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudBaseResX.TabIndex = 13;
|
||||
this.nudBaseResX.Value = new decimal(new int[] {
|
||||
1280,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblBaseResY
|
||||
//
|
||||
this.lblBaseResY.AutoSize = true;
|
||||
this.lblBaseResY.Location = new System.Drawing.Point(760, 178);
|
||||
this.lblBaseResY.Name = "lblBaseResY";
|
||||
this.lblBaseResY.Size = new System.Drawing.Size(82, 16);
|
||||
this.lblBaseResY.TabIndex = 14;
|
||||
this.lblBaseResY.Text = "Base Res Y:";
|
||||
//
|
||||
// nudBaseResY
|
||||
//
|
||||
this.nudBaseResY.Location = new System.Drawing.Point(860, 176);
|
||||
this.nudBaseResY.Maximum = new decimal(new int[] {
|
||||
10000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudBaseResY.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudBaseResY.Name = "nudBaseResY";
|
||||
this.nudBaseResY.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudBaseResY.TabIndex = 15;
|
||||
this.nudBaseResY.Value = new decimal(new int[] {
|
||||
720,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
@@ -221,7 +319,7 @@
|
||||
this.lblFontSize.Location = new System.Drawing.Point(24, 228);
|
||||
this.lblFontSize.Name = "lblFontSize";
|
||||
this.lblFontSize.Size = new System.Drawing.Size(65, 16);
|
||||
this.lblFontSize.TabIndex = 12;
|
||||
this.lblFontSize.TabIndex = 16;
|
||||
this.lblFontSize.Text = "Font Size:";
|
||||
//
|
||||
// nudFontSize
|
||||
@@ -239,7 +337,7 @@
|
||||
0});
|
||||
this.nudFontSize.Name = "nudFontSize";
|
||||
this.nudFontSize.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudFontSize.TabIndex = 13;
|
||||
this.nudFontSize.TabIndex = 17;
|
||||
this.nudFontSize.Value = new decimal(new int[] {
|
||||
16,
|
||||
0,
|
||||
@@ -252,7 +350,7 @@
|
||||
this.lblOffsetX.Location = new System.Drawing.Point(300, 228);
|
||||
this.lblOffsetX.Name = "lblOffsetX";
|
||||
this.lblOffsetX.Size = new System.Drawing.Size(55, 16);
|
||||
this.lblOffsetX.TabIndex = 14;
|
||||
this.lblOffsetX.TabIndex = 18;
|
||||
this.lblOffsetX.Text = "Offset X:";
|
||||
//
|
||||
// nudOffsetX
|
||||
@@ -265,43 +363,159 @@
|
||||
0});
|
||||
this.nudOffsetX.Name = "nudOffsetX";
|
||||
this.nudOffsetX.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudOffsetX.TabIndex = 15;
|
||||
this.nudOffsetX.TabIndex = 19;
|
||||
this.nudOffsetX.Value = new decimal(new int[] {
|
||||
4,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblBottomOffset
|
||||
//
|
||||
this.lblBottomOffset.AutoSize = true;
|
||||
this.lblBottomOffset.Location = new System.Drawing.Point(520, 228);
|
||||
this.lblBottomOffset.Name = "lblBottomOffset";
|
||||
this.lblBottomOffset.Size = new System.Drawing.Size(89, 16);
|
||||
this.lblBottomOffset.TabIndex = 20;
|
||||
this.lblBottomOffset.Text = "Bottom Offset:";
|
||||
//
|
||||
// nudBottomOffset
|
||||
//
|
||||
this.nudBottomOffset.Location = new System.Drawing.Point(620, 226);
|
||||
this.nudBottomOffset.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudBottomOffset.Name = "nudBottomOffset";
|
||||
this.nudBottomOffset.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudBottomOffset.TabIndex = 21;
|
||||
this.nudBottomOffset.Value = new decimal(new int[] {
|
||||
18,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblSbsSideMargin
|
||||
//
|
||||
this.lblSbsSideMargin.AutoSize = true;
|
||||
this.lblSbsSideMargin.Location = new System.Drawing.Point(24, 278);
|
||||
this.lblSbsSideMargin.Name = "lblSbsSideMargin";
|
||||
this.lblSbsSideMargin.Size = new System.Drawing.Size(112, 16);
|
||||
this.lblSbsSideMargin.TabIndex = 22;
|
||||
this.lblSbsSideMargin.Text = "SBS Side Margin:";
|
||||
//
|
||||
// nudSbsSideMargin
|
||||
//
|
||||
this.nudSbsSideMargin.Location = new System.Drawing.Point(140, 276);
|
||||
this.nudSbsSideMargin.Maximum = new decimal(new int[] {
|
||||
5000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudSbsSideMargin.Name = "nudSbsSideMargin";
|
||||
this.nudSbsSideMargin.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudSbsSideMargin.TabIndex = 23;
|
||||
this.nudSbsSideMargin.Value = new decimal(new int[] {
|
||||
192,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblOuTopMargin
|
||||
//
|
||||
this.lblOuTopMargin.AutoSize = true;
|
||||
this.lblOuTopMargin.Location = new System.Drawing.Point(300, 278);
|
||||
this.lblOuTopMargin.Name = "lblOuTopMargin";
|
||||
this.lblOuTopMargin.Size = new System.Drawing.Size(102, 16);
|
||||
this.lblOuTopMargin.TabIndex = 24;
|
||||
this.lblOuTopMargin.Text = "OU Top Margin:";
|
||||
//
|
||||
// nudOuTopMargin
|
||||
//
|
||||
this.nudOuTopMargin.Location = new System.Drawing.Point(410, 276);
|
||||
this.nudOuTopMargin.Maximum = new decimal(new int[] {
|
||||
5000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudOuTopMargin.Name = "nudOuTopMargin";
|
||||
this.nudOuTopMargin.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudOuTopMargin.TabIndex = 25;
|
||||
this.nudOuTopMargin.Value = new decimal(new int[] {
|
||||
154,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// lblVerticalMargin
|
||||
//
|
||||
this.lblVerticalMargin.AutoSize = true;
|
||||
this.lblVerticalMargin.Location = new System.Drawing.Point(560, 278);
|
||||
this.lblVerticalMargin.Name = "lblVerticalMargin";
|
||||
this.lblVerticalMargin.Size = new System.Drawing.Size(99, 16);
|
||||
this.lblVerticalMargin.TabIndex = 26;
|
||||
this.lblVerticalMargin.Text = "Vertical Margin:";
|
||||
//
|
||||
// nudVerticalMargin
|
||||
//
|
||||
this.nudVerticalMargin.Location = new System.Drawing.Point(670, 276);
|
||||
this.nudVerticalMargin.Maximum = new decimal(new int[] {
|
||||
5000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nudVerticalMargin.Name = "nudVerticalMargin";
|
||||
this.nudVerticalMargin.Size = new System.Drawing.Size(120, 22);
|
||||
this.nudVerticalMargin.TabIndex = 27;
|
||||
this.nudVerticalMargin.Value = new decimal(new int[] {
|
||||
10,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// btnConvert
|
||||
//
|
||||
this.btnConvert.Location = new System.Drawing.Point(27, 283);
|
||||
this.btnConvert.Location = new System.Drawing.Point(27, 329);
|
||||
this.btnConvert.Name = "btnConvert";
|
||||
this.btnConvert.Size = new System.Drawing.Size(145, 40);
|
||||
this.btnConvert.TabIndex = 16;
|
||||
this.btnConvert.TabIndex = 28;
|
||||
this.btnConvert.Text = "Convert";
|
||||
this.btnConvert.UseVisualStyleBackColor = true;
|
||||
this.btnConvert.Click += new System.EventHandler(this.btnConvert_Click);
|
||||
//
|
||||
// txtStatus
|
||||
//
|
||||
this.txtStatus.Location = new System.Drawing.Point(27, 349);
|
||||
this.txtStatus.Location = new System.Drawing.Point(27, 392);
|
||||
this.txtStatus.Multiline = true;
|
||||
this.txtStatus.Name = "txtStatus";
|
||||
this.txtStatus.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.txtStatus.Size = new System.Drawing.Size(1033, 225);
|
||||
this.txtStatus.TabIndex = 17;
|
||||
this.txtStatus.TabIndex = 29;
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1088, 609);
|
||||
this.ClientSize = new System.Drawing.Size(1088, 640);
|
||||
this.Controls.Add(this.txtStatus);
|
||||
this.Controls.Add(this.btnConvert);
|
||||
this.Controls.Add(this.nudVerticalMargin);
|
||||
this.Controls.Add(this.lblVerticalMargin);
|
||||
this.Controls.Add(this.nudOuTopMargin);
|
||||
this.Controls.Add(this.lblOuTopMargin);
|
||||
this.Controls.Add(this.nudSbsSideMargin);
|
||||
this.Controls.Add(this.lblSbsSideMargin);
|
||||
this.Controls.Add(this.nudBottomOffset);
|
||||
this.Controls.Add(this.lblBottomOffset);
|
||||
this.Controls.Add(this.nudOffsetX);
|
||||
this.Controls.Add(this.lblOffsetX);
|
||||
this.Controls.Add(this.nudFontSize);
|
||||
this.Controls.Add(this.lblFontSize);
|
||||
this.Controls.Add(this.nudBaseResY);
|
||||
this.Controls.Add(this.lblBaseResY);
|
||||
this.Controls.Add(this.nudBaseResX);
|
||||
this.Controls.Add(this.lblBaseResX);
|
||||
this.Controls.Add(this.nudResY);
|
||||
this.Controls.Add(this.lblResY);
|
||||
this.Controls.Add(this.nudResX);
|
||||
@@ -316,10 +530,17 @@
|
||||
this.Controls.Add(this.lblInputFile);
|
||||
this.Name = "Form1";
|
||||
this.Text = "Convert SRT to 3D ASS";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudResX)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudResY)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudBaseResX)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudBaseResY)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudFontSize)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudOffsetX)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudBottomOffset)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudSbsSideMargin)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudOuTopMargin)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nudVerticalMargin)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
||||
@@ -1,15 +1,29 @@
|
||||
using System;
|
||||
using ConvertSRTto3DASS;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using ConvertSRTto3DASS;
|
||||
using static ConvertSRTto3DASS.Converter;
|
||||
|
||||
namespace ConvertSRTto3DASSGUI
|
||||
{
|
||||
public partial class Form1 : Form
|
||||
{
|
||||
// Keep these in sync with Converter.cs defaults
|
||||
private const int DefaultResX = Converter.ConverterDefaults.ResX;//1280
|
||||
private const int DefaultResY = 720;
|
||||
private const int DefaultBaseResX = 1280;
|
||||
private const int DefaultBaseResY = 720;
|
||||
private const int DefaultFontSize = 16;
|
||||
private const int DefaultOffsetX = 4;
|
||||
private const int DefaultBottomOffset = 18;
|
||||
private const int DefaultSbsSideMargin = 192;
|
||||
private const int DefaultOuTopMargin = 154;
|
||||
private const int DefaultVerticalMargin = 10;
|
||||
|
||||
public Form1()
|
||||
{
|
||||
InitializeComponent();
|
||||
InitializeDefaults();
|
||||
|
||||
if (cmbMode.Items.Count > 0)
|
||||
cmbMode.SelectedIndex = 0;
|
||||
@@ -17,6 +31,39 @@ namespace ConvertSRTto3DASSGUI
|
||||
UpdateModeUI();
|
||||
}
|
||||
|
||||
private void InitializeDefaults()
|
||||
{
|
||||
txtInputFile.Text = string.Empty;
|
||||
txtOutputFile.Text = string.Empty;
|
||||
|
||||
nudResX.Value = ConverterDefaults.ResX;
|
||||
nudResY.Value = ConverterDefaults.ResY;
|
||||
nudBaseResX.Value = ConverterDefaults.BaseResX;
|
||||
nudBaseResY.Value = ConverterDefaults.BaseResY;
|
||||
nudFontSize.Value = ConverterDefaults.FontSize;
|
||||
nudOffsetX.Value = ConverterDefaults.OffsetX;
|
||||
nudBottomOffset.Value = ConverterDefaults.BottomOffset;
|
||||
nudSbsSideMargin.Value = ConverterDefaults.SbsSideMargin;
|
||||
nudOuTopMargin.Value = ConverterDefaults.OuTopMargin;
|
||||
nudVerticalMargin.Value = ConverterDefaults.VerticalMargin;
|
||||
|
||||
switch (ConverterDefaults.DefaultMode.ToLowerInvariant())
|
||||
{
|
||||
case "sbs":
|
||||
cmbMode.SelectedIndex = 0;
|
||||
break;
|
||||
case "ou":
|
||||
cmbMode.SelectedIndex = 1;
|
||||
break;
|
||||
case "rg":
|
||||
cmbMode.SelectedIndex = 2;
|
||||
break;
|
||||
default:
|
||||
cmbMode.SelectedIndex = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnBrowseInput_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (var ofd = new OpenFileDialog())
|
||||
@@ -84,7 +131,7 @@ namespace ConvertSRTto3DASSGUI
|
||||
|
||||
string inputPath = txtInputFile.Text.Trim();
|
||||
string outputPath = txtOutputFile.Text.Trim();
|
||||
string mode = cmbMode.SelectedItem?.ToString() ?? "sbs";
|
||||
string mode = GetSelectedModeValue();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(inputPath))
|
||||
{
|
||||
@@ -106,26 +153,43 @@ namespace ConvertSRTto3DASSGUI
|
||||
|
||||
int resX = (int)nudResX.Value;
|
||||
int resY = (int)nudResY.Value;
|
||||
int baseResX = (int)nudBaseResX.Value;
|
||||
int baseResY = (int)nudBaseResY.Value;
|
||||
int fontSize = (int)nudFontSize.Value;
|
||||
int offsetX = (int)nudOffsetX.Value;
|
||||
int bottomOffset = (int)nudBottomOffset.Value;
|
||||
int sbsSideMargin = (int)nudSbsSideMargin.Value;
|
||||
int ouTopMargin = (int)nudOuTopMargin.Value;
|
||||
int verticalMargin = (int)nudVerticalMargin.Value;
|
||||
|
||||
AppendStatus("Starting conversion...");
|
||||
AppendStatus("Input: " + inputPath);
|
||||
AppendStatus("Output: " + outputPath);
|
||||
AppendStatus("Mode: " + mode);
|
||||
AppendStatus("Resolution: " + resX + "x" + resY);
|
||||
AppendStatus("Base Resolution: " + baseResX + "x" + baseResY);
|
||||
AppendStatus("Font Size: " + fontSize);
|
||||
AppendStatus("OffsetX: " + offsetX);
|
||||
AppendStatus("BottomOffset: " + bottomOffset);
|
||||
AppendStatus("SbsSideMargin: " + sbsSideMargin);
|
||||
AppendStatus("OuTopMargin: " + ouTopMargin);
|
||||
AppendStatus("VerticalMargin: " + verticalMargin);
|
||||
|
||||
ConvertSRTto3DASS.Converter.Main(new[]
|
||||
Converter.Main(new[]
|
||||
{
|
||||
txtInputFile.Text,
|
||||
"--mode", GetSelectedModeValue(),
|
||||
"--resx", nudResX.Value.ToString(),
|
||||
"--resy", nudResY.Value.ToString(),
|
||||
"--fontsize", nudFontSize.Value.ToString(),
|
||||
"--offsetx", nudOffsetX.Value.ToString(),
|
||||
"--output", txtOutputFile.Text
|
||||
inputPath,
|
||||
"--mode", mode,
|
||||
"--resx", resX.ToString(),
|
||||
"--resy", resY.ToString(),
|
||||
"--baseresx", baseResX.ToString(),
|
||||
"--baseresy", baseResY.ToString(),
|
||||
"--fontsize", fontSize.ToString(),
|
||||
"--offsetx", offsetX.ToString(),
|
||||
"--bottomoffset", bottomOffset.ToString(),
|
||||
"--sbssidemargin", sbsSideMargin.ToString(),
|
||||
"--outopmargin", ouTopMargin.ToString(),
|
||||
"--verticalmargin", verticalMargin.ToString(),
|
||||
"--output", outputPath
|
||||
});
|
||||
|
||||
AppendStatus("Conversion complete.");
|
||||
@@ -140,11 +204,26 @@ namespace ConvertSRTto3DASSGUI
|
||||
|
||||
private void UpdateModeUI()
|
||||
{
|
||||
string mode = cmbMode.SelectedItem?.ToString() ?? "sbs";
|
||||
bool isRg = mode.Equals("rg", StringComparison.OrdinalIgnoreCase);
|
||||
string mode = GetSelectedModeValue();
|
||||
|
||||
bool isSbs = mode == "sbs";
|
||||
bool isOu = mode == "ou";
|
||||
bool isRg = mode == "rg";
|
||||
|
||||
nudOffsetX.Enabled = isRg;
|
||||
lblOffsetX.Enabled = isRg;
|
||||
|
||||
nudBottomOffset.Enabled = isRg;
|
||||
lblBottomOffset.Enabled = isRg;
|
||||
|
||||
nudSbsSideMargin.Enabled = isSbs;
|
||||
lblSbsSideMargin.Enabled = isSbs;
|
||||
|
||||
nudOuTopMargin.Enabled = isOu;
|
||||
lblOuTopMargin.Enabled = isOu;
|
||||
|
||||
nudVerticalMargin.Enabled = true;
|
||||
lblVerticalMargin.Enabled = true;
|
||||
}
|
||||
|
||||
private void AppendStatus(string message)
|
||||
@@ -154,5 +233,9 @@ namespace ConvertSRTto3DASSGUI
|
||||
|
||||
txtStatus.AppendText(message);
|
||||
}
|
||||
|
||||
private void Form1_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user