Merge branch 'master' into feature/beautify-timecodes-2023

# Conflicts:
#	src/ui/Forms/Options/Settings.Designer.cs
This commit is contained in:
Martijn van Berkel (Flitskikker) 2023-06-06 21:37:03 +02:00
commit 96de5df18c
76 changed files with 181 additions and 43 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
Icons/Black/AssaDraw.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
Icons/Black/AssaStyle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 B

BIN
Icons/Black/BurnIn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
Icons/Black/Find.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
Icons/Black/Help.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
Icons/Black/Netflix.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
Icons/Black/New.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
Icons/Black/Open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
Icons/Black/Replace.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
Icons/Black/Save.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
Icons/Black/SaveAs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
Icons/Black/Settings.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
Icons/Black/SourceView.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
Icons/Black/SpellCheck.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
Icons/Black/VideoToggle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
Icons/Black/VisualSync.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 654 B

After

Width:  |  Height:  |  Size: 654 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1021 B

After

Width:  |  Height:  |  Size: 1021 B

View File

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 406 B

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 892 B

After

Width:  |  Height:  |  Size: 892 B

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 836 B

After

Width:  |  Height:  |  Size: 836 B

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -2498,6 +2498,8 @@ can edit in same subtitle file (collaboration)</Information>
<UseSyntaxColoring>Use syntax coloring</UseSyntaxColoring>
<HtmlColor>Html color</HtmlColor>
<AssaColor>ASSA color</AssaColor>
<Theme>Theme</Theme>
<Automatic>Automatic</Automatic>
<DarkTheme>Dark theme</DarkTheme>
<DarkThemeEnabled>Use dark theme</DarkThemeEnabled>
<DarkThemeShowGridViewLines>Show list view grid lines</DarkThemeShowGridViewLines>

View File

@ -191,6 +191,7 @@ IF NOT EXIST "temp_zip\Icons" MD "temp_zip\Icons"
IF NOT EXIST "temp_zip\Icons\DefaultTheme" MD "temp_zip\Icons\DefaultTheme"
IF NOT EXIST "temp_zip\Icons\DarkTheme" MD "temp_zip\Icons\DarkTheme"
IF NOT EXIST "temp_zip\Icons\Legacy" MD "temp_zip\Icons\Legacy"
IF NOT EXIST "temp_zip\Icons\Black" MD "temp_zip\Icons\Black"
ECHO.
COPY /Y /V "..\..\..\..\LICENSE.txt" "temp_zip\"
@ -220,6 +221,7 @@ COPY /Y /V "..\..\..\..\Icons\*.ico" "temp_zip\Icons\"
COPY /Y /V "..\..\..\..\Icons\DefaultTheme\*.png" "temp_zip\Icons\DefaultTheme"
COPY /Y /V "..\..\..\..\Icons\DarkTheme\*.png" "temp_zip\Icons\DarkTheme"
COPY /Y /V "..\..\..\..\Icons\Legacy\*.png" "temp_zip\Icons\Legacy"
COPY /Y /V "..\..\..\..\Icons\Black\*.png" "temp_zip\Icons\Black"
PUSHD "temp_zip"
START "" /B /WAIT "%SEVENZIP%" a -tzip -mx=9 "SubtitleEdit-%VERSION%.zip" * >NUL

View File

@ -165,6 +165,7 @@ IF NOT EXIST "temp_zip\Icons" MD "temp_zip\Icons"
IF NOT EXIST "temp_zip\Icons\DefaultTheme" MD "temp_zip\Icons\DefaultTheme"
IF NOT EXIST "temp_zip\Icons\DarkTheme" MD "temp_zip\Icons\DarkTheme"
IF NOT EXIST "temp_zip\Icons\Legacy" MD "temp_zip\Icons\Legacy"
IF NOT EXIST "temp_zip\Icons\Black" MD "temp_zip\Icons\Black"
ECHO.
COPY /Y /V "..\..\..\..\LICENSE.txt" "temp_zip\"
@ -194,6 +195,7 @@ COPY /Y /V "..\..\..\..\Icons\*.ico" "temp_zip\Icons\"
COPY /Y /V "..\..\..\..\Icons\DefaultTheme\*.png" "temp_zip\Icons\DefaultTheme"
COPY /Y /V "..\..\..\..\Icons\DarkTheme\*.png" "temp_zip\Icons\DarkTheme"
COPY /Y /V "..\..\..\..\Icons\Legacy\*.png" "temp_zip\Icons\Legacy"
COPY /Y /V "..\..\..\..\Icons\Black\*.png" "temp_zip\Icons\Black"
PUSHD "temp_zip"
START "" /B /WAIT "%SEVENZIP%" a -tzip -mx=9 "SubtitleEditBeta.zip" * >NUL

View File

@ -266,6 +266,8 @@ Source: ..\Icons\itt.ico; DestDir: {app}\Icons;
Source: ..\Icons\DarkTheme\*.png; DestDir: {userappdata}\Subtitle Edit\Icons\DarkTheme; Flags: ignoreversion onlyifdoesntexist; Components: main
Source: ..\Icons\DefaultTheme\*.png; DestDir: {userappdata}\Subtitle Edit\Icons\DefaultTheme; Flags: ignoreversion onlyifdoesntexist; Components: main
Source: ..\Icons\Legacy\*.png; DestDir: {userappdata}\Subtitle Edit\Icons\Legacy; Flags: ignoreversion onlyifdoesntexist; Components: main
Source: ..\Icons\Black\*.png; DestDir: {userappdata}\Subtitle Edit\Icons\Black; Flags: ignoreversion onlyifdoesntexist; Components: main
#ifdef localize
Source: {#bindir}\Languages\ar-EG.xml; DestDir: {app}\Languages; Flags: ignoreversion; Components: translations
@ -728,6 +730,7 @@ begin
DelTree(ExpandConstant('{userappdata}\Subtitle Edit\Plugins\*.*'), False, True, False);
RemoveDir(ExpandConstant('{userappdata}\Subtitle Edit\Plugins'));
DelTree(ExpandConstant('{userappdata}\Subtitle Edit\Icons\*.*'), False, True, False);
RemoveDir(ExpandConstant('{userappdata}\Subtitle Edit\Icons'));
end;

View File

@ -647,6 +647,14 @@ namespace Nikse.SubtitleEdit.Controls
{
_panelControls.Visible = true;
_panelControls.BringToFront();
var useCompleteFullscreen = VideoPlayer is LibMpvDynamic && Configuration.Settings.General.MpvHandlesPreviewText;
if (useCompleteFullscreen && PanelPlayer.Dock == DockStyle.Fill)
{
// keep fullscreen
}
else
{
_panelSubtitle.Height -= ControlsHeight;
if (PanelPlayer.Dock == DockStyle.Fill)
@ -654,6 +662,7 @@ namespace Nikse.SubtitleEdit.Controls
PanelPlayer.Dock = DockStyle.None;
}
}
}
ShowCursor();
}
@ -1272,6 +1281,16 @@ namespace Nikse.SubtitleEdit.Controls
_pictureBoxFullscreen.Visible = false;
}
public void SetFullFixed()
{
var useCompleteFullscreen = VideoPlayer is LibMpvDynamic && Configuration.Settings.General.MpvHandlesPreviewText;
if (useCompleteFullscreen)
{
PanelPlayer.Dock = DockStyle.Fill;
_panelControls.BringToFront();
}
}
public void ShowFullScreenControls()
{
_pictureBoxFullscreen.Image = (Image)_resources.GetObject("pictureBoxNoFS.Image");

View File

@ -822,6 +822,13 @@ namespace Nikse.SubtitleEdit.Forms
_newLog.Clear();
Subtitle = new Subtitle(FixedSubtitle, false);
if (listView1.Items[IndexFixDoubleDash].Checked)
{
var fixItem = (FixItem)listView1.Items[IndexFixDoubleDash].Tag;
fixItem.Action.Invoke();
}
if (listView1.Items[IndexFixOcrErrorsViaReplaceList].Checked)
{
var fixItem = (FixItem)listView1.Items[IndexFixOcrErrorsViaReplaceList].Tag;

View File

@ -153,7 +153,7 @@ namespace Nikse.SubtitleEdit.Forms
this.contextMenuStripGenerate.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.promptParameterBeforeGenerateToolStripMenuItem});
this.contextMenuStripGenerate.Name = "contextMenuStripGenerate";
this.contextMenuStripGenerate.Size = new System.Drawing.Size(290, 48);
this.contextMenuStripGenerate.Size = new System.Drawing.Size(290, 26);
//
// promptParameterBeforeGenerateToolStripMenuItem
//
@ -670,7 +670,8 @@ namespace Nikse.SubtitleEdit.Forms
"h264_nvenc",
"hevc_nvenc",
"h264_amf",
"hevc_amf"});
"hevc_amf",
"prores_ks"});
this.comboBoxVideoEncoding.Location = new System.Drawing.Point(95, 58);
this.comboBoxVideoEncoding.Name = "comboBoxVideoEncoding";
this.comboBoxVideoEncoding.Size = new System.Drawing.Size(121, 21);

View File

@ -296,6 +296,11 @@ namespace Nikse.SubtitleEdit.Forms
using (var saveDialog = new SaveFileDialog { FileName = SuggestNewVideoFileName(), Filter = "MP4|*.mp4|Matroska|*.mkv|WebM|*.webm", AddExtension = true })
{
if (comboBoxVideoEncoding.Text == "prores_ks")
{
saveDialog.Filter = "mov|*.mov|Matroska|*.mkv|Material eXchange Format|*.mxf";
}
if (saveDialog.ShowDialog(this) != DialogResult.OK)
{
buttonGenerate.Enabled = true;
@ -475,6 +480,10 @@ namespace Nikse.SubtitleEdit.Forms
{
fileName += ".vp9";
}
else if (comboBoxVideoEncoding.Text == "prores_ks")
{
fileName += ".ProRes";
}
else
{
fileName += ".x264";
@ -485,6 +494,11 @@ namespace Nikse.SubtitleEdit.Forms
fileName += $".{numericUpDownCutFromHours.Text}-{numericUpDownCutFromMinutes.Text}-{numericUpDownCutFromSeconds.Text}_{numericUpDownCutToHours.Text}-{numericUpDownCutToMinutes.Text}-{numericUpDownCutToSeconds.Text}";
}
if (comboBoxVideoEncoding.Text == "prores_ks")
{
return fileName.Replace(".", "_") + ".mov";
}
return fileName.Replace(".", "_") + ".mp4";
}
@ -830,6 +844,10 @@ namespace Nikse.SubtitleEdit.Forms
{
UiUtil.OpenUrl("https://trac.ffmpeg.org/wiki/HWAccelIntro");
}
else if (comboBoxVideoEncoding.Text == "prores_ks")
{
UiUtil.OpenUrl("https://ottverse.com/ffmpeg-convert-to-apple-prores-422-4444-hq");
}
else
{
UiUtil.OpenUrl("http://trac.ffmpeg.org/wiki/Encode/H.264");
@ -869,7 +887,10 @@ namespace Nikse.SubtitleEdit.Forms
comboBoxCrf.Items.Add(string.Empty);
labelTune.Visible = true;
comboBoxTune.Visible = true;
labelCRF.Text = "CRF";
labelCRF.Visible = true;
comboBoxCrf.Visible = true;
labelPreset.Text = LanguageSettings.Current.GenerateVideoWithBurnedInSubs.Preset;
labelCRF.Text = LanguageSettings.Current.GenerateVideoWithBurnedInSubs.Crf;
labelCrfHint.Text = string.Empty;
FillPresets(comboBoxVideoEncoding.Text);
@ -921,6 +942,19 @@ namespace Nikse.SubtitleEdit.Forms
labelCrfHint.Text = "0=best quality, 10=best speed";
comboBoxCrf.Text = string.Empty;
}
else if (comboBoxVideoEncoding.Text == "prores_ks")
{
labelPreset.Text = "Profile";
comboBoxPreset.SelectedItem = 2;
// https://ottverse.com/ffmpeg-convert-to-apple-prores-422-4444-hq/
labelCRF.Visible = false;
comboBoxCrf.Visible = false;
labelTune.Visible = false;
comboBoxTune.Visible = false;
}
else
{
for (var i = 17; i <= 28; i++)
@ -931,7 +965,6 @@ namespace Nikse.SubtitleEdit.Forms
comboBoxCrf.Text = "23";
}
comboBoxCrf.EndUpdate();
}
private void FillTuneIn(string videoCodec)
@ -1006,10 +1039,7 @@ namespace Nikse.SubtitleEdit.Forms
}
else if (videoCodec == "hevc_amf")
{
items = new List<string>
{
string.Empty,
};
items = new List<string> { string.Empty };
}
else if (videoCodec == "libvpx-vp9")
{
@ -1018,6 +1048,13 @@ namespace Nikse.SubtitleEdit.Forms
comboBoxTune.Visible = false;
comboBoxTune.Text = string.Empty;
}
else if (videoCodec == "prores_ks")
{
items = new List<string> { string.Empty };
labelTune.Visible = false;
comboBoxTune.Visible = false;
comboBoxTune.Text = string.Empty;
}
comboBoxTune.Items.Clear();
foreach (var item in items)
@ -1111,6 +1148,18 @@ namespace Nikse.SubtitleEdit.Forms
{
items = new List<string> { string.Empty };
}
else if (videoCodec == "prores_ks")
{
items = new List<string>
{
"proxy",
"lt",
"standard",
"hq",
"4444",
"4444xq",
};
}
comboBoxPreset.Items.Clear();
foreach (var item in items)

View File

@ -4112,7 +4112,7 @@
//
// pictureBoxEbuProperties
//
this.pictureBoxEbuProperties.Location = new System.Drawing.Point(323, 398);
this.pictureBoxEbuProperties.Location = new System.Drawing.Point(323, 400);
this.pictureBoxEbuProperties.Name = "pictureBoxEbuProperties";
this.pictureBoxEbuProperties.Size = new System.Drawing.Size(32, 32);
this.pictureBoxEbuProperties.TabIndex = 59;
@ -4120,7 +4120,7 @@
//
// pictureBoxWebVttProperties
//
this.pictureBoxWebVttProperties.Location = new System.Drawing.Point(285, 398);
this.pictureBoxWebVttProperties.Location = new System.Drawing.Point(285, 400);
this.pictureBoxWebVttProperties.Name = "pictureBoxWebVttProperties";
this.pictureBoxWebVttProperties.Size = new System.Drawing.Size(32, 32);
this.pictureBoxWebVttProperties.TabIndex = 58;
@ -4128,7 +4128,7 @@
//
// pictureBoxIttProperties
//
this.pictureBoxIttProperties.Location = new System.Drawing.Point(247, 398);
this.pictureBoxIttProperties.Location = new System.Drawing.Point(247, 400);
this.pictureBoxIttProperties.Name = "pictureBoxIttProperties";
this.pictureBoxIttProperties.Size = new System.Drawing.Size(32, 32);
this.pictureBoxIttProperties.TabIndex = 57;
@ -4136,7 +4136,7 @@
//
// pictureBoxToggleVideo
//
this.pictureBoxToggleVideo.Location = new System.Drawing.Point(209, 398);
this.pictureBoxToggleVideo.Location = new System.Drawing.Point(209, 400);
this.pictureBoxToggleVideo.Name = "pictureBoxToggleVideo";
this.pictureBoxToggleVideo.Size = new System.Drawing.Size(32, 32);
this.pictureBoxToggleVideo.TabIndex = 56;
@ -4144,7 +4144,7 @@
//
// pictureBoxToggleWaveform
//
this.pictureBoxToggleWaveform.Location = new System.Drawing.Point(171, 398);
this.pictureBoxToggleWaveform.Location = new System.Drawing.Point(171, 400);
this.pictureBoxToggleWaveform.Name = "pictureBoxToggleWaveform";
this.pictureBoxToggleWaveform.Size = new System.Drawing.Size(32, 32);
this.pictureBoxToggleWaveform.TabIndex = 55;
@ -4152,7 +4152,7 @@
//
// pictureBoxAssaDraw
//
this.pictureBoxAssaDraw.Location = new System.Drawing.Point(133, 399);
this.pictureBoxAssaDraw.Location = new System.Drawing.Point(133, 400);
this.pictureBoxAssaDraw.Name = "pictureBoxAssaDraw";
this.pictureBoxAssaDraw.Size = new System.Drawing.Size(32, 32);
this.pictureBoxAssaDraw.TabIndex = 54;
@ -4160,7 +4160,7 @@
//
// pictureBoxAssAttachments
//
this.pictureBoxAssAttachments.Location = new System.Drawing.Point(95, 399);
this.pictureBoxAssAttachments.Location = new System.Drawing.Point(95, 400);
this.pictureBoxAssAttachments.Name = "pictureBoxAssAttachments";
this.pictureBoxAssAttachments.Size = new System.Drawing.Size(32, 32);
this.pictureBoxAssAttachments.TabIndex = 53;
@ -4168,7 +4168,7 @@
//
// pictureBoxAssProperties
//
this.pictureBoxAssProperties.Location = new System.Drawing.Point(57, 399);
this.pictureBoxAssProperties.Location = new System.Drawing.Point(57, 400);
this.pictureBoxAssProperties.Name = "pictureBoxAssProperties";
this.pictureBoxAssProperties.Size = new System.Drawing.Size(32, 32);
this.pictureBoxAssProperties.TabIndex = 52;
@ -4176,7 +4176,7 @@
//
// pictureBoxAssStyleManager
//
this.pictureBoxAssStyleManager.Location = new System.Drawing.Point(19, 399);
this.pictureBoxAssStyleManager.Location = new System.Drawing.Point(19, 400);
this.pictureBoxAssStyleManager.Name = "pictureBoxAssStyleManager";
this.pictureBoxAssStyleManager.Size = new System.Drawing.Size(32, 32);
this.pictureBoxAssStyleManager.TabIndex = 51;
@ -4185,7 +4185,7 @@
// labelToolbarIconTheme
//
this.labelToolbarIconTheme.AutoSize = true;
this.labelToolbarIconTheme.Location = new System.Drawing.Point(487, 276);
this.labelToolbarIconTheme.Location = new System.Drawing.Point(15, 346);
this.labelToolbarIconTheme.Name = "labelToolbarIconTheme";
this.labelToolbarIconTheme.Size = new System.Drawing.Size(39, 13);
this.labelToolbarIconTheme.TabIndex = 50;
@ -4195,7 +4195,7 @@
//
this.comboBoxToolbarIconTheme.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxToolbarIconTheme.FormattingEnabled = true;
this.comboBoxToolbarIconTheme.Location = new System.Drawing.Point(487, 291);
this.comboBoxToolbarIconTheme.Location = new System.Drawing.Point(15, 361);
this.comboBoxToolbarIconTheme.Name = "comboBoxToolbarIconTheme";
this.comboBoxToolbarIconTheme.Size = new System.Drawing.Size(202, 21);
this.comboBoxToolbarIconTheme.TabIndex = 49;

View File

@ -393,6 +393,7 @@ namespace Nikse.SubtitleEdit.Forms.Options
labelToggleSourceView.Text = language.ToggleView;
labelTBSettings.Text = language.SettingsName;
labelTBHelp.Text = language.Help;
labelToolbarIconTheme.Text = language.Theme;
checkBoxToolbarNew.Text = LanguageSettings.Current.General.Visible;
checkBoxToolbarOpen.Text = LanguageSettings.Current.General.Visible;
checkBoxToolbarSave.Text = LanguageSettings.Current.General.Visible;
@ -1218,7 +1219,7 @@ namespace Nikse.SubtitleEdit.Forms.Options
comboBoxToolbarIconTheme.SelectedIndexChanged -= comboBoxToolbarIconTheme_SelectedIndexChanged;
var directories = Directory.GetDirectories(Configuration.IconsDirectory);
comboBoxToolbarIconTheme.Items.Clear();
comboBoxToolbarIconTheme.Items.Add("Auto");
comboBoxToolbarIconTheme.Items.Add($"- {LanguageSettings.Current.Settings.Automatic} -");
comboBoxToolbarIconTheme.SelectedIndex = 0;
foreach (var dir in directories)
{
@ -3690,23 +3691,23 @@ namespace Nikse.SubtitleEdit.Forms.Options
TryLoadIcon(pictureBoxEbuProperties, "EbuProperties");
}
private void TryLoadIcon(PictureBox button, string iconName)
private void TryLoadIcon(PictureBox pictureBox, string iconName)
{
pictureBoxEbuProperties.Image?.Dispose();
pictureBoxEbuProperties.Image = null;
pictureBox.Image?.Dispose();
pictureBox.Image = null;
var theme = comboBoxToolbarIconTheme.Text;
var themeFullPath = Path.Combine(Configuration.IconsDirectory, theme, iconName + ".png");
if (comboBoxToolbarIconTheme.SelectedIndex > 0 && File.Exists(themeFullPath))
{
button.Image = new Bitmap(themeFullPath);
pictureBox.Image = new Bitmap(themeFullPath);
return;
}
var fullPath = Path.Combine(Configuration.IconsDirectory, "DefaultTheme", iconName + ".png");
if (File.Exists(fullPath))
{
button.Image = new Bitmap(fullPath);
pictureBox.Image = new Bitmap(fullPath);
}
}
}

View File

@ -19,7 +19,7 @@ namespace Nikse.SubtitleEdit.Forms
private readonly Keys _mainGeneralGoToPrevSubtitlePlayTranslate = UiUtil.GetKeys(Configuration.Settings.Shortcuts.GeneralGoToPrevSubtitlePlayTranslate);
private bool _autoSized;
private Dictionary<DateTime, int> _mouseMoveDiff;
private readonly Dictionary<DateTime, int> _mouseMoveDiff;
private int _mouseLastX = -1;
private int _mouseLastY = -1;
@ -240,6 +240,7 @@ namespace Nikse.SubtitleEdit.Forms
_videoPlayerContainer.SetSubtitleFont();
_videoPlayerContainer.SubtitleText = string.Empty;
_videoPlayerContainer.ShowFullScreenControls();
_videoPlayerContainer.SetFullFixed();
timer1.Start();
}

View File

@ -3,7 +3,7 @@
<General>
<Title>Subtitle Edit</Title>
<Version>3.6.13</Version>
<TranslatedBy>Последен превод на български 10.05.2023: KalinM</TranslatedBy>
<TranslatedBy>Последен превод на български 15.05.2023: KalinM</TranslatedBy>
<CultureName>bg-BG</CultureName>
<HelpFile />
<Ok>OK</Ok>
@ -1296,7 +1296,7 @@ https://github.com/SubtitleEdit/subtitleedit
<CloseVideo>Затвори видео файла</CloseVideo>
<OpenSecondSubtitle>Отваряне на втори файл със субтитри...</OpenSecondSubtitle>
<SetVideoOffset>Задаване на видео отместване...</SetVideoOffset>
<SmptTimeMode>SMPTE тайминг (избиране на не цяло число кадрова честота)</SmptTimeMode>
<SmptTimeMode>SMPTE синхронизация (не цяло число честота на кадрите)</SmptTimeMode>
<GenerateTextFromVideo>Генериране на текст от видео...</GenerateTextFromVideo>
<GenerateBlankVideo>Генериране на празно видео...</GenerateBlankVideo>
<GenerateVideoWithBurnedInSub>Генериране на видео със записани субтитри...</GenerateVideoWithBurnedInSub>
@ -1314,7 +1314,7 @@ https://github.com/SubtitleEdit/subtitleedit
</Video>
<SpellCheck>
<Title>Правопис</Title>
<SpellCheck>Проверка на правопис...</SpellCheck>
<SpellCheck>Проверка на правописа...</SpellCheck>
<SpellCheckFromCurrentLine>Правописна проверка от този ред</SpellCheckFromCurrentLine>
<FindDoubleWords>Търси дублиращи се думи</FindDoubleWords>
<FindDoubleLines>Търси дублиращи се редове</FindDoubleLines>
@ -1632,7 +1632,7 @@ https://github.com/SubtitleEdit/subtitleedit
<NumberOfNameHits>Брой съвпадащи думи: {0}</NumberOfNameHits>
<SpellCheck>Проверка на правопис</SpellCheck>
<BeforeSpellCheck>Преди проверката на правопис</BeforeSpellCheck>
<SpellCheckChangedXToY>Проверка на правопис: Променени '{0}' на '{1}'</SpellCheckChangedXToY>
<SpellCheckChangedXToY>Проверка на правописа: Променени '{0}' на '{1}'</SpellCheckChangedXToY>
<BeforeAddingTagX>Преди добавянето на тага '{0}'</BeforeAddingTagX>
<TagXAdded>'{0}' добавени тагове</TagXAdded>
<LineXOfY>ред {0} на {1}</LineXOfY>
@ -1730,7 +1730,7 @@ https://github.com/SubtitleEdit/subtitleedit
<BeforeSetStartTimeAndOffsetTheRest>Преди задаване на изместване на началното време и коригиране на останалото</BeforeSetStartTimeAndOffsetTheRest>
<BeforeSetEndTimeAndOffsetTheRest>Преди задаване на изместване на крайното време и коригиране на останалото</BeforeSetEndTimeAndOffsetTheRest>
<BeforeSetEndAndVideoPosition>Преди задаване на крайното време на видеото и авт. изчисляване на началното</BeforeSetEndAndVideoPosition>
<ContinueWithCurrentSpellCheck>Искате ли да продължите с текущата проверка на правопис?</ContinueWithCurrentSpellCheck>
<ContinueWithCurrentSpellCheck>Ще продължите ли с текущата проверка на правописа?</ContinueWithCurrentSpellCheck>
<CharactersPerSecond>Симв./сек.: {0:0.00}</CharactersPerSecond>
<GetFrameRateFromVideoFile>Вземете честотата на кадри от видео файла</GetFrameRateFromVideoFile>
<NetworkMessage>Ново съобщение: {0} ({1}): {2}</NetworkMessage>
@ -2211,7 +2211,7 @@ https://github.com/SubtitleEdit/subtitleedit
<SubtitleCenter>По средата</SubtitleCenter>
<SubtitleFontColor>Цвят на шрифта на субтитрите</SubtitleFontColor>
<SubtitleBackgroundColor>Цвят на фона на субтитрите</SubtitleBackgroundColor>
<SpellChecker>Проверка на правопис</SpellChecker>
<SpellChecker>Проверка на правописа</SpellChecker>
<RememberRecentFiles>Запомняне на предишните файлове (за повторно отваряне)</RememberRecentFiles>
<StartWithLastFileLoaded>Стартиране с последния зареден файл</StartWithLastFileLoaded>
<RememberSelectedLine>Запомняне на избрания ред</RememberSelectedLine>
@ -2403,6 +2403,8 @@ https://github.com/SubtitleEdit/subtitleedit
<UseSyntaxColoring>Оцветяване на синтаксиса</UseSyntaxColoring>
<HtmlColor>Html цвят</HtmlColor>
<AssaColor>ASSA цвят</AssaColor>
<Theme>Тема</Theme>
<Automatic>Автоматично</Automatic>
<DarkTheme>Тъмна тема</DarkTheme>
<DarkThemeEnabled>Използване на тъмна тема</DarkThemeEnabled>
<DarkThemeShowGridViewLines>Показване на решетка в изгледа на списъка</DarkThemeShowGridViewLines>
@ -2480,7 +2482,7 @@ https://github.com/SubtitleEdit/subtitleedit
<ToggleDialogDashes>Размяна на диалоговите тирета</ToggleDialogDashes>
<ToggleQuotes>Превключване на кавички</ToggleQuotes>
<ToggleHiTags>Превключване на HI тагове</ToggleHiTags>
<ToggleCustomTags>Превключване на персонализирани тагове</ToggleCustomTags>
<ToggleCustomTags>Превключване на персонализирани тагове (обграждане с)</ToggleCustomTags>
<ToggleMusicSymbols>Превключване на музикални символи</ToggleMusicSymbols>
<Alignment>Подравняване (редовете в момента)</Alignment>
<AlignmentN1>Подравняване Долу-Ляво - {\an1}</AlignmentN1>
@ -2723,7 +2725,7 @@ https://github.com/SubtitleEdit/subtitleedit
<Rollback>Върни назад</Rollback>
</ShowHistory>
<SpellCheck>
<Title>Проверка на правопис</Title>
<Title>Проверка на правописа</Title>
<FullText>Пълен текст</FullText>
<WordNotFound>Думата не е намерена</WordNotFound>
<Language>Език</Language>
@ -2736,14 +2738,14 @@ https://github.com/SubtitleEdit/subtitleedit
<AddToOcrReplaceList>Доб.няколко в OCR списъкаЗАзамяна</AddToOcrReplaceList>
<Abort>Прекрати</Abort>
<Use>Използвай</Use>
<UseAlways>Изпол. винаги</UseAlways>
<UseAlways>Използвай винаги</UseAlways>
<Suggestions>Предложения</Suggestions>
<SpellCheckProgress>Проверка на правопис [{0}] - {1}</SpellCheckProgress>
<SpellCheckProgress>Проверка на правописа [{0}] - {1}</SpellCheckProgress>
<EditWholeText>Редактирай текста</EditWholeText>
<EditWordOnly>Редактирай думата</EditWordOnly>
<AddXToNames>Добави "{0}" към списъка с думи</AddXToNames>
<AddXToUserDictionary>Добави '{0}' към потреб. речник</AddXToUserDictionary>
<AutoFixNames>Поправяне на думи с различна големина на буквите</AutoFixNames>
<AutoFixNames>Поправяне на думи с разл. големина на буквите</AutoFixNames>
<AutoFixNamesViaSuggestions>Корекция на имената чрез «Предложение за проверка на правописа»</AutoFixNamesViaSuggestions>
<CheckOneLetterWords>Питане за непозната буква</CheckOneLetterWords>
<TreatINQuoteAsING>Промяна опред. член на думи, завършващи на «in», «ing»(Само за англ.)</TreatINQuoteAsING>

View File

@ -2852,6 +2852,8 @@ can edit in same subtitle file (collaboration)",
UseSyntaxColoring = "Use syntax coloring",
HtmlColor = "Html color",
AssaColor = "ASSA color",
Automatic = "Automatic",
Theme = "Theme",
DarkTheme = "Dark theme",
DarkThemeEnabled = "Use dark theme",
DarkThemeShowGridViewLines = "Show list view grid lines",

View File

@ -6784,6 +6784,12 @@ namespace Nikse.SubtitleEdit.Logic
case "Settings/AssaColor":
language.Settings.AssaColor = reader.Value;
break;
case "Settings/Theme":
language.Settings.Theme = reader.Value;
break;
case "Settings/Automatic":
language.Settings.Automatic = reader.Value;
break;
case "Settings/DarkTheme":
language.Settings.DarkTheme = reader.Value;
break;

View File

@ -2676,6 +2676,8 @@ namespace Nikse.SubtitleEdit.Logic
public string UseSyntaxColoring { get; set; }
public string HtmlColor { get; set; }
public string AssaColor { get; set; }
public string Theme { get; set; }
public string Automatic { get; set; }
public string DarkTheme { get; set; }
public string DarkThemeEnabled { get; set; }
public string DarkThemeShowGridViewLines { get; set; }

View File

@ -103,9 +103,48 @@ namespace Nikse.SubtitleEdit.Logic
var presetSettings = string.Empty;
if (!string.IsNullOrEmpty(preset))
{
if (videoEncoding == "prores_ks")
{
if (preset == "proxy")
{
preset = "0";
}
else if (preset == "lt")
{
preset = "1";
}
else if (preset == "standard")
{
preset = "2";
}
else if (preset == "hq")
{
preset = "3";
}
else if (preset == "4444")
{
preset = "4";
}
else if (preset == "4444xq")
{
preset = "5";
}
else
{
preset = string.Empty;
}
if (!string.IsNullOrEmpty(preset))
{
presetSettings = $" -profile:v {preset}";
}
}
else
{
presetSettings = $" -preset {preset}";
}
}
var crfSettings = string.Empty;
if (!string.IsNullOrEmpty(crf) && string.IsNullOrEmpty(pass))