Skip to content

Commit bb4013e

Browse files
committed
Merge branch 'beta'
2 parents 8d239ce + 16a9329 commit bb4013e

File tree

153 files changed

+1221
-496
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+1221
-496
lines changed

.github/workflows/crowdin.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@ name: Crowdin Action
33
on:
44
push:
55
branches: [ beta ]
6+
workflow_dispatch:
67

78
jobs:
89
synchronize-with-crowdin:
910
runs-on: ubuntu-latest
11+
12+
concurrency:
13+
group: crowdin
14+
cancel-in-progress: true
1015

1116
steps:
1217
- name: Checkout

Directory.Packages.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<PackageVersion Include="System.Data.SQLite.Core" Version="1.0.118" />
1919
<PackageVersion Include="System.Management" Version="5.0.0" />
2020
<PackageVersion Include="System.Runtime.InteropServices" Version="4.3.0" />
21-
<PackageVersion Include="System.Text.Json" Version="8.0.3" />
21+
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
2222
<PackageVersion Include="UTF.Unknown" Version="2.3.0" />
2323
<PackageVersion Include="valueinjecter" Version="3.2.0" />
2424
<PackageVersion Include="Velopack" Version="0.0.359" />

Lib/HandBrake.Interop.dll

1 KB
Binary file not shown.

Lib/HandBrake.Interop.pdb

216 Bytes
Binary file not shown.

Lib/hb.dll

955 KB
Binary file not shown.

VidCoder/App.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ protected override void OnStartup(StartupEventArgs e)
5757
}
5858

5959
OperatingSystem OS = Environment.OSVersion;
60-
if (OS.Version.Major <= 5)
60+
if (OS.Version.Major < 10)
6161
{
6262
MessageBox.Show(MiscRes.UnsupportedOSError, MiscRes.NoticeMessageTitle, MessageBoxButton.OK, MessageBoxImage.Warning);
6363
this.Shutdown();

VidCoder/Controls/EnhancedListView.cs

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
using System;
1+
using Microsoft.AnyContainer;
2+
using System;
23
using System.Collections.Generic;
34
using System.Linq;
45
using System.Text;
56
using System.Threading.Tasks;
67
using System.Windows.Controls;
8+
using VidCoder.Services;
79

810
namespace VidCoder.Controls;
911

@@ -15,25 +17,32 @@ protected override void OnSelectionChanged(SelectionChangedEventArgs e)
1517
{
1618
base.OnSelectionChanged(e);
1719

18-
bool isVirtualizing = VirtualizingPanel.GetIsVirtualizing(this);
19-
bool isMultiSelect = this.SelectionMode != SelectionMode.Single;
20-
21-
if (isVirtualizing && isMultiSelect)
20+
try
2221
{
23-
var newSelectedItems = this.SelectedItems.Cast<IListItemViewModel>().ToList();
22+
bool isVirtualizing = VirtualizingPanel.GetIsVirtualizing(this);
23+
bool isMultiSelect = this.SelectionMode != SelectionMode.Single;
2424

25-
foreach (var deselectedItem in this.selectedItems.Except(newSelectedItems))
25+
if (isVirtualizing && isMultiSelect)
2626
{
27-
deselectedItem.IsSelected = false;
28-
}
27+
var newSelectedItems = this.SelectedItems.Cast<IListItemViewModel>().ToList();
2928

30-
this.selectedItems.Clear();
31-
this.selectedItems.AddRange(newSelectedItems);
29+
foreach (var deselectedItem in this.selectedItems.Except(newSelectedItems).ToList())
30+
{
31+
deselectedItem.IsSelected = false;
32+
}
3233

33-
foreach (var newlySelectedItem in this.selectedItems)
34-
{
35-
newlySelectedItem.IsSelected = true;
34+
this.selectedItems.Clear();
35+
this.selectedItems.AddRange(newSelectedItems);
36+
37+
foreach (var newlySelectedItem in this.selectedItems)
38+
{
39+
newlySelectedItem.IsSelected = true;
40+
}
3641
}
3742
}
43+
catch (Exception exception)
44+
{
45+
StaticResolver.Resolve<IAppLogger>().Log("Could not select item: " + exception.ToString());
46+
}
3847
}
3948
}

VidCoder/Controls/PresetTreeViewContainer.xaml.cs

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -186,28 +186,34 @@ private void OnPresetTreeItemMouseDown(object sender, MouseButtonEventArgs e)
186186

187187
private void OnPresetTreeItemMouseMove(object sender, MouseEventArgs e)
188188
{
189-
if (e.LeftButton == MouseButtonState.Pressed)
190-
{
191-
Point currentPosition = e.GetPosition(this.presetTreeView);
192-
var timeSinceLastResize = DateTimeOffset.UtcNow - this.windowManager.LastEncodingWindowReize;
193-
var timeSinceLastMove = DateTimeOffset.UtcNow - this.windowManager.LastEncodingWindowMove;
194-
195-
// For some reason there is a hang on DoDragDrop if we are resizing or moving the encode settings window on top of another window.
196-
// Suppress drag drop in this case.
197-
if (timeSinceLastResize > TimeSpan.FromMilliseconds(500)
198-
&& timeSinceLastMove > TimeSpan.FromMilliseconds(500)
199-
&& DragDropUtilities.IsMovementBigEnough(this.lastPresetTreeViewMouseDown, currentPosition))
200-
{
201-
this.draggedPreset = this.presetTreeView.SelectedItem as PresetViewModel;
202-
203-
if (this.draggedPreset != null)
204-
{
205-
this.windowManager.SuspendDropOnWindows();
206-
DragDrop.DoDragDrop((DependencyObject)sender, this.presetTreeView.SelectedItem, DragDropEffects.Move);
207-
this.windowManager.ResumeDropOnWindows();
208-
}
209-
}
210-
}
189+
try
190+
{
191+
if (e.LeftButton == MouseButtonState.Pressed)
192+
{
193+
Point currentPosition = e.GetPosition(this.presetTreeView);
194+
var timeSinceLastResize = DateTimeOffset.UtcNow - this.windowManager.LastEncodingWindowReize;
195+
var timeSinceLastMove = DateTimeOffset.UtcNow - this.windowManager.LastEncodingWindowMove;
196+
197+
// For some reason there is a hang on DoDragDrop if we are resizing or moving the encode settings window on top of another window.
198+
// Suppress drag drop in this case.
199+
if (timeSinceLastResize > TimeSpan.FromMilliseconds(500)
200+
&& timeSinceLastMove > TimeSpan.FromMilliseconds(500)
201+
&& DragDropUtilities.IsMovementBigEnough(this.lastPresetTreeViewMouseDown, currentPosition))
202+
{
203+
this.draggedPreset = this.presetTreeView.SelectedItem as PresetViewModel;
204+
205+
if (this.draggedPreset != null)
206+
{
207+
this.windowManager.SuspendDropOnWindows();
208+
DragDrop.DoDragDrop((DependencyObject)sender, this.presetTreeView.SelectedItem, DragDropEffects.Move);
209+
this.windowManager.ResumeDropOnWindows();
210+
}
211+
}
212+
}
213+
} catch (Exception exception)
214+
{
215+
StaticResolver.Resolve<IAppLogger>().LogError("Error processing mouse move on preset tree:" + Environment.NewLine + exception);
216+
}
211217
}
212218

213219
private void ShowFolderMoveAdorner(TreeViewItem item)

VidCoder/Model/Database.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -407,9 +407,7 @@ private static void UpgradePickers(int databaseVersion)
407407

408408
private static void HandleCriticalFileError(Exception exception)
409409
{
410-
var messageService = StaticResolver.Resolve<IMessageBoxService>();
411-
412-
messageService.Show(CommonRes.FileFailureErrorMessage + Environment.NewLine + Environment.NewLine + exception.ToString(), CommonRes.FileFailureErrorTitle, MessageBoxButton.OK);
410+
MessageBox.Show(CommonRes.FileFailureErrorMessage + Environment.NewLine + Environment.NewLine + exception.ToString(), CommonRes.FileFailureErrorTitle, MessageBoxButton.OK);
413411
Environment.Exit(1);
414412
}
415413

VidCoder/Model/WhenFileExists.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@ public enum WhenFileExists
99
{
1010
Prompt,
1111
Overwrite,
12-
AutoRename
12+
AutoRename,
13+
Skip
1314
}

VidCoder/Resources/EnumsRes.Designer.cs

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VidCoder/Resources/EnumsRes.resx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,4 +405,7 @@
405405
<data name="EncodeCompleteActionType_Restart" xml:space="preserve">
406406
<value>Restart</value>
407407
</data>
408+
<data name="WhenFileExists_Skip" xml:space="preserve">
409+
<value>Skip</value>
410+
</data>
408411
</root>

VidCoder/Resources/MiscRes.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VidCoder/Resources/MiscRes.resx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@
213213
<value>Notice</value>
214214
</data>
215215
<data name="UnsupportedOSError" xml:space="preserve">
216-
<value>VidCoder is not supported on your operating system. Windows XP and Server 2003 no longer work. Please install VidCoder 1.4 or upgrade your operating system.</value>
216+
<value>VidCoder is not supported on your operating system. Windows 10 or later is required for this version. Please upgrade your OS or install an earlier version of VidCoder. The latest compatible version for Windows XP is VidCoder 1.4. The latest compatible version for Windows 7 is 5.21.</value>
217217
</data>
218218
<data name="EncodeCompleteWarning_SleepTitle" xml:space="preserve">
219219
<value>System sleep imminent</value>

VidCoder/Resources/PickerRes.Designer.cs

Lines changed: 27 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

VidCoder/Resources/PickerRes.resx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,9 +386,6 @@ All - Include all subtitles.</value>
386386
<data name="ExternalSubtitleImportCheckBox" xml:space="preserve">
387387
<value>Add external subtitle files ({0}) with same name as input video file</value>
388388
</data>
389-
<data name="LanguageLabel" xml:space="preserve">
390-
<value>Language:</value>
391-
</data>
392389
<data name="SourceFileRemovalConfirmationCheckBox" xml:space="preserve">
393390
<value>Confirm before removing</value>
394391
</data>
@@ -420,4 +417,14 @@ All - Include all subtitles.</value>
420417
<value>Width filter value</value>
421418
<comment>Screen reader text for the width filter value</comment>
422419
</data>
420+
<data name="ExternalSubtitleImportToolTip" xml:space="preserve">
421+
<value>Also recognizes fileName.lng.ext, where lng is the ISO language name and ext is the subtitle file extension.</value>
422+
</data>
423+
<data name="FallbackLanguageLabel" xml:space="preserve">
424+
<value>Fallback language:</value>
425+
<comment>Label for an option of what language to mark a subtitle track as when it doesn't have the language identified in the file name. For example, if you have myVideo.mp4 and myVideo.srt, what language should we mark that as when we pick it up?</comment>
426+
</data>
427+
<data name="FallbackLanguageToolTip" xml:space="preserve">
428+
<value>If the language is not identified in the subtitle file name, like myVideo.srt, assume it is this language.</value>
429+
</data>
423430
</root>

VidCoder/Resources/Translations/CommonRes.fi.resx

Lines changed: 49 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -281,22 +281,58 @@ A full copy of the GNU General Public License has been included along with this
281281
<value>Ensimmäinen</value>
282282
<comment>Choice to pick the first item in a list, like audio or subtitle tracks.</comment>
283283
</data>
284+
<data name="DuplicateTrack" xml:space="preserve">
285+
<value>Monista tämä raita</value>
286+
<comment>Tip to duplicate the audio or subtitle track.</comment>
287+
</data>
288+
<data name="RemoveTrack" xml:space="preserve">
289+
<value>Poista tämä raita</value>
290+
<comment>Tip for button to remove the audio or subtitle track.</comment>
291+
</data>
292+
<data name="SelectedOverTotalAudioTracksFormat" xml:space="preserve">
293+
<value>{0}/{1} ääniraita(a)</value>
294+
<comment>{0} is the number of selected audio tracks and {1} is the number of total tracks on the source.</comment>
295+
</data>
296+
<data name="SelectedOverTotalSubtitleTracksFormat" xml:space="preserve">
297+
<value>{0}/{1} tekstitysraita(a)</value>
298+
<comment>{0} is the number of selected subtitle tracks and {1} is the number of total tracks on the source.</comment>
299+
</data>
300+
<data name="NumberBoxIncreaseButtonAutomationTextFormat" xml:space="preserve">
301+
<value>Kasvata {0}</value>
302+
<comment>Automation text for the increase button on the number box.
303+
{0} - The name of the value the control is changing, for example "width"</comment>
304+
</data>
305+
<data name="NumberBoxDecreaseButtonAutomationTextFormat" xml:space="preserve">
306+
<value>Pienennä {0}</value>
307+
<comment>Automation text for the decrease button on the number box.
308+
{0} - The name of the value the control is changing, for example "width"</comment>
309+
</data>
284310

311+
<data name="Unknown" xml:space="preserve">
312+
<value>Tuntematon</value>
313+
<comment>Used when a value is not known.</comment>
314+
</data>
315+
<data name="DefaultLabel" xml:space="preserve">
316+
<value>Oletus</value>
317+
</data>
318+
<data name="QueueColumnNameAudioTracks" xml:space="preserve">
319+
<value>Ääniraidat</value>
320+
</data>
321+
<data name="QueueColumnNameCropping" xml:space="preserve">
322+
<value>Rajaus</value>
323+
</data>
285324

286325

287326

327+
<data name="FileNoLongerExists" xml:space="preserve">
328+
<value>Tiedostoa ei enää ole olemassa.</value>
329+
</data>
288330

289-
290-
291-
292-
293-
294-
295-
296-
297-
298-
299-
300-
301-
331+
<data name="Enabled" xml:space="preserve">
332+
<value>Käytössä</value>
333+
</data>
334+
<data name="Close" xml:space="preserve">
335+
<value>Sulje</value>
336+
<comment>Label to close a window or item.</comment>
337+
</data>
302338
</root>

VidCoder/Resources/Translations/EncodingRes.fi.resx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,9 @@ vataajuus, sitä käytetään. Huomaa, että jotkin toistimet eivät tue vaihtel
377377

378378

379379

380-
380+
<data name="Bitrate" xml:space="preserve">
381+
<value>Bittinopeus</value>
382+
</data>
381383

382384

383385

VidCoder/Resources/Translations/EncodingRes.tr.resx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,5 +857,7 @@ Keskinleştir (Lapsharp), Laplacian kenar filtrelerine yakın olan kıvrım tane
857857
<data name="CroppingType_Conservative" xml:space="preserve">
858858
<value>Ölçülü</value>
859859
</data>
860-
860+
<data name="MultiPassEncodingCheckBox" xml:space="preserve">
861+
<value>Çok geçişli kodlama</value>
862+
</data>
861863
</root>

VidCoder/Resources/Translations/EnumsRes.ar.resx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@
325325

326326

327327

328+
328329

329330

330331
</root>

VidCoder/Resources/Translations/EnumsRes.bn.resx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@
245245

246246

247247

248+
248249

249250

250251
</root>

0 commit comments

Comments
 (0)