mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-22 03:02:35 +01:00
parent
443d88d195
commit
0c28e8a0ec
@ -29,7 +29,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
private long _totalFrames;
|
private long _totalFrames;
|
||||||
private StringBuilder _log;
|
private StringBuilder _log;
|
||||||
private readonly bool _isAssa;
|
private readonly bool _isAssa;
|
||||||
private readonly FfmpegMediaInfo _mediaInfo;
|
private FfmpegMediaInfo _mediaInfo;
|
||||||
private bool _promptFFmpegParameters;
|
private bool _promptFFmpegParameters;
|
||||||
private readonly bool _mpvOn;
|
private readonly bool _mpvOn;
|
||||||
private readonly string _mpvSubtitleFileName;
|
private readonly string _mpvSubtitleFileName;
|
||||||
@ -248,7 +248,6 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
UiUtil.FixLargeFonts(this, buttonGenerate);
|
UiUtil.FixLargeFonts(this, buttonGenerate);
|
||||||
UiUtil.FixFonts(this, 2000);
|
UiUtil.FixFonts(this, 2000);
|
||||||
|
|
||||||
|
|
||||||
_mediaInfo = FfmpegMediaInfo.Parse(inputVideoFileName);
|
_mediaInfo = FfmpegMediaInfo.Parse(inputVideoFileName);
|
||||||
|
|
||||||
if (_videoInfo != null && _videoInfo.TotalSeconds > 0)
|
if (_videoInfo != null && _videoInfo.TotalSeconds > 0)
|
||||||
@ -459,6 +458,8 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
labelPleaseWait.Text = $"{index + 1}/{_batchVideoAndSubList.Count} - {LanguageSettings.Current.General.PleaseWait}";
|
labelPleaseWait.Text = $"{index + 1}/{_batchVideoAndSubList.Count} - {LanguageSettings.Current.General.PleaseWait}";
|
||||||
var videoAndSub = _batchVideoAndSubList[index];
|
var videoAndSub = _batchVideoAndSubList[index];
|
||||||
|
|
||||||
|
_mediaInfo = FfmpegMediaInfo.Parse(videoAndSub.VideoFileName);
|
||||||
_videoInfo = UiUtil.GetVideoInfo(videoAndSub.VideoFileName);
|
_videoInfo = UiUtil.GetVideoInfo(videoAndSub.VideoFileName);
|
||||||
if (useSourceResolution)
|
if (useSourceResolution)
|
||||||
{
|
{
|
||||||
@ -2162,25 +2163,38 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
item.SubtitleFileFileSizeInBytes = new FileInfo(subFileName).Length;
|
item.SubtitleFileFileSizeInBytes = new FileInfo(subFileName).Length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var width = 0;
|
||||||
var vInfo = new VideoInfo { Success = false };
|
var height = 0;
|
||||||
if (fileName.EndsWith(".mp4", StringComparison.OrdinalIgnoreCase))
|
var mediaInfo = FfmpegMediaInfo.Parse(fileName);
|
||||||
|
if (mediaInfo.VideoWidth > 0 && mediaInfo.VideoHeight > 0)
|
||||||
{
|
{
|
||||||
vInfo = QuartsPlayer.GetVideoInfo(fileName);
|
width = mediaInfo.VideoWidth;
|
||||||
|
height = mediaInfo.VideoHeight;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var vInfo = new VideoInfo { Success = false };
|
||||||
|
if (fileName.EndsWith(".mp4", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
vInfo = QuartsPlayer.GetVideoInfo(fileName);
|
||||||
|
if (!vInfo.Success)
|
||||||
|
{
|
||||||
|
vInfo = LibMpvDynamic.GetVideoInfo(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!vInfo.Success)
|
if (!vInfo.Success)
|
||||||
{
|
{
|
||||||
vInfo = LibMpvDynamic.GetVideoInfo(fileName);
|
vInfo = UiUtil.GetVideoInfo(fileName);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (!vInfo.Success)
|
width = vInfo.Width;
|
||||||
{
|
height = vInfo.Height;
|
||||||
vInfo = UiUtil.GetVideoInfo(fileName);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var listViewItem = new ListViewItem(fileName);
|
var listViewItem = new ListViewItem(fileName);
|
||||||
listViewItem.Tag = item;
|
listViewItem.Tag = item;
|
||||||
listViewItem.SubItems.Add($"{vInfo.Width}x{vInfo.Height}");
|
listViewItem.SubItems.Add($"{width}x{height}");
|
||||||
var s = Utilities.FormatBytesToDisplayFileSize(item.VideoFileSizeInBytes);
|
var s = Utilities.FormatBytesToDisplayFileSize(item.VideoFileSizeInBytes);
|
||||||
listViewItem.SubItems.Add(s);
|
listViewItem.SubItems.Add(s);
|
||||||
listViewItem.SubItems.Add(Path.GetFileName(item.SubtitleFileName));
|
listViewItem.SubItems.Add(Path.GetFileName(item.SubtitleFileName));
|
||||||
|
@ -3,6 +3,7 @@ using Nikse.SubtitleEdit.Core.SubtitleFormats;
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -443,6 +444,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
numericUpDownAddMs.Enabled = radioButtonJoinAddTime.Checked;
|
numericUpDownAddMs.Enabled = radioButtonJoinAddTime.Checked;
|
||||||
labelAddTime.Enabled = radioButtonJoinAddTime.Checked;
|
labelAddTime.Enabled = radioButtonJoinAddTime.Checked;
|
||||||
SortAndLoad();
|
SortAndLoad();
|
||||||
|
SetSortArrow(listViewParts.Columns[3], SortOrder.None);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void contextMenuStripParts_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
private void contextMenuStripParts_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
||||||
@ -581,6 +583,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetSortArrow(listViewParts.Columns[3], SortOrder.None);
|
||||||
MoveUp(listViewParts);
|
MoveUp(listViewParts);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -591,6 +594,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetSortArrow(listViewParts.Columns[3], SortOrder.None);
|
||||||
MoveDown(listViewParts);
|
MoveDown(listViewParts);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -601,6 +605,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetSortArrow(listViewParts.Columns[3], SortOrder.None);
|
||||||
MoveToTop(listViewParts);
|
MoveToTop(listViewParts);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -611,6 +616,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetSortArrow(listViewParts.Columns[3], SortOrder.None);
|
||||||
MoveToBottom(listViewParts);
|
MoveToBottom(listViewParts);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -641,6 +647,25 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
lv.Sort();
|
lv.Sort();
|
||||||
|
|
||||||
|
SetSortArrow(listViewParts.Columns[e.Column], sorter.Descending ? SortOrder.Descending : SortOrder.Ascending);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void SetSortArrow(ColumnHeader head, SortOrder order)
|
||||||
|
{
|
||||||
|
const string ascArrow = " ▲";
|
||||||
|
const string descArrow = " ▼";
|
||||||
|
|
||||||
|
// remove arrow
|
||||||
|
if (head.Text.EndsWith(ascArrow) || head.Text.EndsWith(descArrow))
|
||||||
|
head.Text = head.Text.Substring(0, head.Text.Length - 2);
|
||||||
|
|
||||||
|
// add arrow
|
||||||
|
switch (order)
|
||||||
|
{
|
||||||
|
case SortOrder.Ascending: head.Text += ascArrow; break;
|
||||||
|
case SortOrder.Descending: head.Text += descArrow; break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user