Esempio n. 1
0
 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.");
     }
 }
Esempio n. 2
0
 public MultiDumperForm(string filename, string multiDumperPath)
 {
     _filename = filename;
     _wrapper  = new MultiDumperWrapper(multiDumperPath);
     InitializeComponent();
 }
Esempio n. 3
0
 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();
 }