emby-toolbox/EmbyToolbox/ViewModels/ConversionProfilePresetRow.cs
Emby Toolbox 6264b487fe Initial commit: Emby Toolbox (conversion scroll fix, bulk Del for tracks).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 21:33:47 +05:00

73 lines
2.2 KiB
C#

using System.ComponentModel;
using System.Runtime.CompilerServices;
using EmbyToolbox.Services;
namespace EmbyToolbox.ViewModels;
public sealed class ConversionProfilePresetRow : INotifyPropertyChanged
{
private string _profile = string.Empty;
public bool IsBuiltIn { get; set; }
public string Profile
{
get => _profile;
set
{
if (_profile == value)
{
return;
}
if (!IsBuiltIn && ConversionProfileNames.IsBuiltIn(value))
{
return;
}
_profile = value;
OnPropertyChanged();
}
}
public string Container { get; set; } = string.Empty;
public string Video { get; set; } = string.Empty;
public string PixelFormat { get; set; } = string.Empty;
public string Resolution { get; set; } = string.Empty;
public string Fps { get; set; } = string.Empty;
public string Audio { get; set; } = string.Empty;
public string Bitrate { get; set; } = string.Empty;
public string VideoBitrateMode { get; set; } = VideoBitratePolicy.Auto;
public double? VideoBitrateMbps { get; set; }
public string Subtitles { get; set; } = string.Empty;
public string ExternalTracks { get; set; } = string.Empty;
public string ExternalSubtitles { get; set; } = string.Empty;
public string Fonts { get; set; } = string.Empty;
public ConversionProfileSettingsEntry ToSettingsEntry() =>
new()
{
Profile = Profile,
Container = Container,
Video = Video,
PixelFormat = PixelFormat,
Resolution = Resolution,
Fps = Fps,
Audio = Audio,
Bitrate = Bitrate,
VideoBitrateMode = VideoBitrateMode,
VideoBitrateMbps = VideoBitrateMbps,
Subtitles = Subtitles,
ExternalTracks = ExternalTracks,
ExternalSubtitles = ExternalSubtitles,
Fonts = Fonts
};
public event PropertyChangedEventHandler? PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string? propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}