private static void RunMultiDumper(ref Settings settings) { if (settings.MultidumperPath == null || settings.VgmFile == null || settings.InputFiles != null) { return; } // We normalize the VGM path here because we need to know its directory... settings.VgmFile = Path.GetFullPath(settings.VgmFile); // Check if we have WAVs. Note that we use "natural" sorting to make sure 10 comes after 9. settings.InputFiles = Directory.EnumerateFiles( Path.GetDirectoryName(settings.VgmFile) ?? throw new Exception($"Can't get path from VGM \"{settings.VgmFile}\""), Path.GetFileNameWithoutExtension(settings.VgmFile) + " - *.wav") .OrderByAlphaNumeric(s => s) .ToList(); if (!settings.InputFiles.Any()) { Console.WriteLine("Running MultiDumper..."); // Let's run it var wrapper = new MultiDumperWrapper(settings.MultidumperPath); var song = wrapper.GetSongs(settings.VgmFile).First(); var filenames = wrapper.Dump(song, d => Console.Write($"\r{d:P0}")); settings.InputFiles = filenames.OrderByAlphaNumeric(s => s).ToList(); Console.WriteLine($" done. {settings.InputFiles.Count} files found."); } else { Console.WriteLine($"Skipping MultiDumper as {settings.InputFiles.Count} files were already present."); } }
public MultiDumperForm(string filename, string multiDumperPath) { _filename = filename; _wrapper = new MultiDumperWrapper(multiDumperPath); InitializeComponent(); }
public MultiDumperForm(string filename, string multiDumperPath, int samplingRate, int loopCount, int fadeMs, int gapMs) { _filename = filename; _wrapper = new MultiDumperWrapper(multiDumperPath, samplingRate, loopCount, fadeMs, gapMs); InitializeComponent(); }