twitch vod downloading done

ffmpeg essentials

fix

Project reorganized

git lfs

ffmpeg removed

ffmpeg added
This commit is contained in:
2024-02-14 02:07:22 +01:00
Unverified
parent 91f9b645bd
commit e3ec5c3a48
264 changed files with 6239 additions and 4014 deletions

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VDownload.Services.UI.Dialogs
{
public enum DialogResult
{
Primary,
Secondary,
Cancelled
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VDownload.Services.UI.Dialogs
{
public enum DialogResultOkCancel
{
Ok,
Cancel
}
}

View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VDownload.Services.UI.Dialogs
{
public enum DialogResultYesNo
{
Yes,
No
}
}

View File

@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace VDownload.Services.UI.Dialogs
{
public enum DialogResultYesNoCancel
{
Yes,
No,
Cancelled
}
}

View File

@@ -0,0 +1,121 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace VDownload.Services.UI.Dialogs
{
public interface IDialogsService
{
#region PROPERTIES
XamlRoot DefaultRoot { get; set; }
#endregion
#region METHODS
Task ShowClose(string title, string message);
Task<DialogResult> ShowDouble(string title, string message, string primaryButtonText, string secondaryButtonText);
Task ShowOk(string title, string message);
Task<DialogResultOkCancel> ShowOkCancel(string title, string message);
Task ShowSingle(string title, string message, string buttonText);
Task<DialogResult> ShowTriple(string title, string message, string primaryButtonText, string secondaryButtonText, string cancelButtonText);
Task<DialogResultYesNo> ShowYesNo(string title, string message);
Task<DialogResultYesNoCancel> ShowYesNoCancel(string title, string message);
#endregion
}
public class DialogsService : IDialogsService
{
#region PROPERTIES
public XamlRoot DefaultRoot { get; set; }
#endregion
#region PUBLIC METHODS
public async Task ShowOk(string title, string message) => await ShowSingle(title, message, "OK");
public async Task ShowClose(string title, string message) => await ShowSingle(title, message, "Close");
public async Task ShowSingle(string title, string message, string buttonText)
{
ContentDialog contentDialog = BuildDialog(title, message);
contentDialog.CloseButtonText = buttonText;
await ShowDialog(contentDialog);
}
public async Task<DialogResultOkCancel> ShowOkCancel(string title, string message) => await ShowDouble(title, message, "OK", "Cancel") switch
{
DialogResult.Primary => DialogResultOkCancel.Ok,
_ => DialogResultOkCancel.Cancel
};
public async Task<DialogResultYesNo> ShowYesNo(string title, string message) => await ShowDouble(title, message, "Yes", "No") switch
{
DialogResult.Primary => DialogResultYesNo.Yes,
_ => DialogResultYesNo.No
};
public async Task<DialogResult> ShowDouble(string title, string message, string primaryButtonText, string secondaryButtonText)
{
ContentDialog contentDialog = BuildDialog(title, message);
contentDialog.PrimaryButtonText = primaryButtonText;
contentDialog.SecondaryButtonText = secondaryButtonText;
return await ShowDialog(contentDialog);
}
public async Task<DialogResultYesNoCancel> ShowYesNoCancel(string title, string message) => await ShowTriple(title, message, "Yes", "No", "Cancel") switch
{
DialogResult.Primary => DialogResultYesNoCancel.Yes,
DialogResult.Secondary => DialogResultYesNoCancel.Yes,
_ => DialogResultYesNoCancel.Cancelled
};
public async Task<DialogResult> ShowTriple(string title, string message, string primaryButtonText, string secondaryButtonText, string cancelButtonText)
{
ContentDialog contentDialog = BuildDialog(title, message);
contentDialog.PrimaryButtonText = primaryButtonText;
contentDialog.SecondaryButtonText = secondaryButtonText;
contentDialog.CloseButtonText = cancelButtonText;
return await ShowDialog(contentDialog);
}
#endregion
#region PRIVATE METHODS
private ContentDialog BuildDialog(string title, string message)
{
return new ContentDialog()
{
Title = title,
Content = message,
XamlRoot = DefaultRoot
};
}
private async Task<DialogResult> ShowDialog(ContentDialog dialog)
{
ContentDialogResult result = await dialog.ShowAsync();
return result switch
{
ContentDialogResult.Primary => DialogResult.Primary,
ContentDialogResult.Secondary => DialogResult.Secondary,
_ => DialogResult.Cancelled
}; ;
}
#endregion
}
}

View File

@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<RootNamespace>VDownload.Services.UI.Dialogs</RootNamespace>
<RuntimeIdentifiers>win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
<UseWinUI>true</UseWinUI>
<UseRidGraph>true</UseRidGraph>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.4.240211001" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.2428" />
</ItemGroup>
</Project>