add data reading & selection table population

This commit is contained in:
Alex
2025-08-18 00:32:10 -07:00
parent 7c407a7a84
commit f4a091dfa4
10 changed files with 249 additions and 191 deletions
+18 -11
View File
@@ -1,22 +1,29 @@
using System;
using System.Collections.Generic;
using Avalonia.Media;
using SaturnData.Notation.Core;
namespace MercuryConverter.Data;
/// <summary>
/// Combining SaturnData's Entry & Chart.
/// </summary>
public class Song
{
/// <summary>
/// Format: `Snn-nnn` where `n` is a digit.
/// </summary>
public required string Id { get; set;}
public required string Id { get; set; } // Snn-nnn
public required string Name { get; set; }
public required string Artist { get; set; }
public required string Source { get; set; }
public string rubi;
public string copyright;
public string tempo;
public int genreId;
public string jacket;
public Chart?[] charts = { null, null, null, null };
public required uint Source { get; set; }
public required string Rubi { get; set; }
public string? Copyright { get; set; } // May have never been used?
public required int Genre { get; set; }
public required string? Jacket { get; set; }
public required float PreviewTime { get; set; }
public required float PreviewLen { get; set; }
public string SourceName => Consts.NUM_SOURCE[Source];
// TODO: For SaturnData.Entry instances, use this Guid format:
// MERCURY_[SONGID]_[DIFF] (each var is int)
public List<(Difficulty, Entry, Chart)> charts = new();
}