wire up even more export UI

This commit is contained in:
Alex
2025-08-27 16:11:06 -07:00
parent bf6b1b647e
commit 54ea7f09a0
10 changed files with 504 additions and 19 deletions
+16 -3
View File
@@ -3,9 +3,21 @@ using System.Diagnostics.Contracts;
using System.IO;
using MercuryConverter.Data;
using MercuryConverter.UI.Views;
using SaturnData.Notation.Serialization;
namespace MercuryConverter.ExportOperation;
public enum AudioFormat { WAV, MP3, OGG }
public class ExportOptions
{
public required FormatVersion ChartFormat;
public required AudioFormat AudioFormat;
public required bool ExcludeVideo;
public required bool SourceSubdir;
}
public class ExportResult
{
public enum Status
@@ -21,10 +33,11 @@ public class ExportResult
public class Exporter
{
public static ExportResult Run(string outputPath, Song song)
public static ExportResult Run(string outputPath, Song song, ExportOptions options)
{
var exportPath = Path.Combine(outputPath, song.FolderName);
Console.WriteLine($"Exporting to {exportPath}...");
var exportPath = Path.Combine(outputPath, options.SourceSubdir ? song.SourceName : "", song.FolderName);
Console.WriteLine($"Exporting {song.Id} to {exportPath}");
return new ExportResult { status = ExportResult.Status.Failed, message = "Unimplemented" };
}
}