emby-toolbox/EmbyToolbox/Models/TrackSnapshotMatching.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

41 lines
1.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace EmbyToolbox.Models;
/// <summary>Как сопоставлена дорожка текущего файла со snapshot.</summary>
public enum MatchingStrategy
{
None,
/// <summary>Type + Source + язык + порядковый номер внутри этой группы (как в текущем файле).</summary>
OrdinalByTypeSourceLanguage
}
/// <summary>Результат сопоставления одной дорожки текущего файла.</summary>
public sealed class TrackMatchResult
{
public int CurrentOrder { get; init; }
public bool IsMatched { get; init; }
public MatchingStrategy Strategy { get; init; }
public bool HadAmbiguousCandidates { get; init; }
public TrackSettingsSnapshotItem? SourceItem { get; init; }
public TrackActionKind ResolvedAction { get; init; }
}
public enum SnapshotApplyDegree
{
None,
Partial,
Full
}
public enum SnapshotApplyReason
{
NoSnapshot,
ScopeMismatch,
Success
}
public readonly record struct SnapshotApplyResult(
bool AppliedAny,
SnapshotApplyDegree Degree,
SnapshotApplyReason Reason,
IReadOnlyList<TrackMatchResult>? TrackResults);