rework to have only 1 exe!

This commit is contained in:
Alex Bezdieniezhnykh
2024-12-04 20:51:26 +02:00
parent 3944df8efe
commit 60519461a1
25 changed files with 194 additions and 198 deletions
+1 -1
View File
@@ -80,7 +80,7 @@ public partial class Annotator
Loaded += OnLoaded;
Closed += OnFormClosed;
Activated += (_, _) => _formState.ActiveWindow = WindowEnum.Annotator;
Editor.GetTimeFunc = () => TimeSpan.FromMilliseconds(_mediaPlayer.Time);
}
-41
View File
@@ -1,41 +0,0 @@
using System.Windows.Media;
using Azaion.Common.DTO;
using Newtonsoft.Json;
namespace Azaion.Annotator.DTO;
public class AnnotationResult
{
[JsonProperty(PropertyName = "f")]
public string Image { get; set; } = null!;
[JsonProperty(PropertyName = "t")]
public TimeSpan Time { get; set; }
public double Lat { get; set; }
public double Lon { get; set; }
public List<Detection> Detections { get; set; } = new();
#region For XAML Form
[JsonIgnore]
public string TimeStr => $"{Time:h\\:mm\\:ss}";
[JsonIgnore]
public string ClassName { get; set; } = null!;
[JsonIgnore]
public Color ClassColor0 { get; set; }
[JsonIgnore]
public Color ClassColor1 { get; set; }
[JsonIgnore]
public Color ClassColor2 { get; set; }
[JsonIgnore]
public Color ClassColor3 { get; set; }
#endregion
}
-23
View File
@@ -1,23 +0,0 @@
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<AnnotationResult> AnnotationResults { get; set; } = [];
public string GetTimeName(TimeSpan? ts) => $"{VideoName}_{ts:hmmssf}";
}
-11
View File
@@ -1,11 +0,0 @@
namespace Azaion.Annotator.DTO;
public class MediaFileInfo
{
public string Name { get; set; } = null!;
public string Path { get; set; } = null!;
public TimeSpan Duration { get; set; }
public string DurationStr => $"{Duration:h\\:mm\\:ss}";
public bool HasAnnotations { get; set; }
public MediaTypes MediaType { get; set; }
}
-8
View File
@@ -1,8 +0,0 @@
namespace Azaion.Annotator.DTO;
public enum MediaTypes
{
None = 0,
Video = 1,
Image = 2
}
@@ -4,11 +4,12 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Azaion.Common.DTO.Config;
using LibVLCSharp.Shared;
using Microsoft.Extensions.Options;
using SkiaSharp;
namespace Azaion.Annotator.Extensions;
public class VLCFrameExtractor(LibVLC libVLC, AIRecognitionConfig config)
public class VLCFrameExtractor(LibVLC libVLC, IOptions<AIRecognitionConfig> config)
{
private const uint RGBA_BYTES = 4;
private const int PLAYBACK_RATE = 4;
@@ -105,7 +106,7 @@ public class VLCFrameExtractor(LibVLC libVLC, AIRecognitionConfig config)
_lastFrameTimestamp = playerTime;
}
if (_frameCounter > 20 && _frameCounter % config.FramePeriodRecognition == 0)
if (_frameCounter > 20 && _frameCounter % config.Value.FramePeriodRecognition == 0)
{
var msToAdd = (_frameCounter - _lastFrame) * (_lastFrame == 0 ? 0 : _lastFrameTimestamp.TotalMilliseconds / _lastFrame);
var time = _lastFrameTimestamp.Add(TimeSpan.FromMilliseconds(msToAdd));