Merge branch 'master' into feature/beautify-timecodes-2023
# Conflicts: # src/ui/Forms/Options/Settings.Designer.cs
BIN
Icons/Black/AssaAttachments.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
Icons/Black/AssaDraw.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
Icons/Black/AssaProperties.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
Icons/Black/AssaStyle.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
Icons/Black/BeautifyTimeCodes.png
Normal file
After Width: | Height: | Size: 447 B |
BIN
Icons/Black/BurnIn.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
Icons/Black/EbuProperties.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
Icons/Black/Find.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
Icons/Black/FixCommonErrors.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
Icons/Black/Help.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
Icons/Black/IttProperties.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
Icons/Black/Netflix.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
Icons/Black/New.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
Icons/Black/Open.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
Icons/Black/RemoveTextForHi.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
Icons/Black/Replace.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
Icons/Black/Save.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
Icons/Black/SaveAs.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
Icons/Black/Settings.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
Icons/Black/SourceView.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
Icons/Black/SpellCheck.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
Icons/Black/VideoToggle.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
Icons/Black/VisualSync.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
Icons/Black/WaveformToggle.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
Icons/Black/WebVttProperties.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.4 KiB |
BIN
Icons/DarkTheme/AssaDraw.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.4 KiB |
BIN
Icons/DefaultTheme/AssaDraw.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 654 B After Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1021 B After Width: | Height: | Size: 1021 B |
Before Width: | Height: | Size: 406 B After Width: | Height: | Size: 406 B |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 892 B After Width: | Height: | Size: 892 B |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 836 B After Width: | Height: | Size: 836 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -264,8 +264,10 @@ Source: ..\Icons\vtt.ico; DestDir: {app}\Icons;
|
||||
Source: ..\Icons\smi.ico; DestDir: {app}\Icons; Flags: ignoreversion onlyifdoesntexist; Components: main
|
||||
Source: ..\Icons\itt.ico; DestDir: {app}\Icons; Flags: ignoreversion onlyifdoesntexist; Components: main
|
||||
|
||||
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\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;
|
||||
|
||||
|
||||
|
@ -647,11 +647,20 @@ namespace Nikse.SubtitleEdit.Controls
|
||||
{
|
||||
_panelControls.Visible = true;
|
||||
_panelControls.BringToFront();
|
||||
_panelSubtitle.Height -= ControlsHeight;
|
||||
|
||||
if (PanelPlayer.Dock == DockStyle.Fill)
|
||||
var useCompleteFullscreen = VideoPlayer is LibMpvDynamic && Configuration.Settings.General.MpvHandlesPreviewText;
|
||||
if (useCompleteFullscreen && PanelPlayer.Dock == DockStyle.Fill)
|
||||
{
|
||||
PanelPlayer.Dock = DockStyle.None;
|
||||
// keep fullscreen
|
||||
}
|
||||
else
|
||||
{
|
||||
_panelSubtitle.Height -= ControlsHeight;
|
||||
|
||||
if (PanelPlayer.Dock == DockStyle.Fill)
|
||||
{
|
||||
PanelPlayer.Dock = DockStyle.None;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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");
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
22
src/ui/Forms/Options/Settings.Designer.cs
generated
@ -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;
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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",
|
||||
|
@ -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;
|
||||
|
@ -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; }
|
||||
|
@ -104,7 +104,46 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
var presetSettings = string.Empty;
|
||||
if (!string.IsNullOrEmpty(preset))
|
||||
{
|
||||
presetSettings = $" -preset {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;
|
||||
|