using System.Collections.ObjectModel; using System.IO; using System.Windows; namespace Azaion.Annotator.DTO; public class FormState { public MediaFileInfo? CurrentMedia { get; set; } public string VideoName => string.IsNullOrEmpty(CurrentMedia?.Name) ? "" : Path.GetFileNameWithoutExtension(CurrentMedia.Name).Replace(" ", ""); public string CurrentMrl { get; set; } = null!; public Size CurrentVideoSize { get; set; } public TimeSpan CurrentVideoLength { get; set; } public TimeSpan? BackgroundTime { get; set; } public int CurrentVolume { get; set; } = 100; public ObservableCollection AnnotationResults { get; set; } = []; public string GetTimeName(TimeSpan? ts) => $"{VideoName}_{ts:hmmssf}"; }