Files
harmonia/Harmonia.Core/Models/Song.cs
2025-02-16 15:27:21 -05:00

26 lines
1.0 KiB
C#

namespace Harmonia.Core.Models;
public class Song
{
public required string FileName { get; set; }
public ulong Size { get; set; }
public DateTime? LastModified { get; set; }
public string? Title { get; set; }
public string? Album { get; set; }
public string? ImageName { get; set; }
public string? ImageHash { get; set; }
public List<string> Artists { get; set; } = [];
public List<string> AlbumArtists { get; set; } = [];
public byte? TrackNumber { get; set; }
public byte? DiscNumber { get; set; }
public TimeSpan Length { get; set; }
public ushort? Year { get; set; }
public string? Genre { get; set; }
public uint BitRate { get; set; }
public uint SampleRate { get; set; }
public string? FilePath => Path.GetDirectoryName(FileName);
public string? FileDirectory => Directory.GetParent(FileName)?.Name;
public string? FileType => Path.GetExtension(FileName)?.Replace(".", "").ToUpper();
public string ShortFileName => Path.GetFileNameWithoutExtension(FileName);
}