Browse Source

Be more verbose, create output directory if not exists

master
Rikux3 4 years ago
parent
commit
bbed863a87
  1. 31
      UsmToolkit/Program.cs

31
UsmToolkit/Program.cs

@ -89,6 +89,7 @@ namespace UsmToolkit
Console.WriteLine($"File: {fileName}"); Console.WriteLine($"File: {fileName}");
var usmStream = new CriUsmStream(fileName); var usmStream = new CriUsmStream(fileName);
Console.WriteLine("Demuxing...");
usmStream.DemultiplexStreams(new MpegStream.DemuxOptionsStruct() usmStream.DemultiplexStreams(new MpegStream.DemuxOptionsStruct()
{ {
AddHeader = false, AddHeader = false,
@ -100,12 +101,21 @@ namespace UsmToolkit
if (Join) if (Join)
{ {
if (!string.IsNullOrEmpty(OutputDir) && !Directory.Exists(OutputDir))
Directory.CreateDirectory(OutputDir);
JoinOutputFile(usmStream); JoinOutputFile(usmStream);
} }
} }
private void JoinOutputFile(CriUsmStream usmStream) private void JoinOutputFile(CriUsmStream usmStream)
{ {
if (!File.Exists("config.json"))
{
Console.WriteLine("ERROR: config.json not found!");
return;
}
var audioFormat = usmStream.FinalAudioExtension; var audioFormat = usmStream.FinalAudioExtension;
var pureFileName = Path.GetFileNameWithoutExtension(usmStream.FilePath); var pureFileName = Path.GetFileNameWithoutExtension(usmStream.FilePath);
@ -115,24 +125,23 @@ namespace UsmToolkit
//need vgmstream to format that to wav //need vgmstream to format that to wav
if (!Directory.Exists("vgmstream")) if (!Directory.Exists("vgmstream"))
{ {
Console.WriteLine("WARNING: vgmstream folder not found!"); Console.WriteLine("ERROR: vgmstream folder not found!");
return;
} }
Console.WriteLine("adx audio detected, convert to wav...");
Helpers.ExecuteProcess("vgmstream/test.exe", $"\"{Path.ChangeExtension(usmStream.FilePath, usmStream.FinalAudioExtension)}\" -o \"{Path.ChangeExtension(usmStream.FilePath, "wav")}\""); Helpers.ExecuteProcess("vgmstream/test.exe", $"\"{Path.ChangeExtension(usmStream.FilePath, usmStream.FinalAudioExtension)}\" -o \"{Path.ChangeExtension(usmStream.FilePath, "wav")}\"");
usmStream.FinalAudioExtension = ".wav"; usmStream.FinalAudioExtension = ".wav";
} }
if (!File.Exists("config.json"))
{
Console.WriteLine("ERROR: config.json not found!");
return;
}
Helpers.ExecuteProcess("ffmpeg", CreateFFmpegParameters(usmStream, pureFileName)); Helpers.ExecuteProcess("ffmpeg", CreateFFmpegParameters(usmStream, pureFileName));
if (CleanTempFiles) if (CleanTempFiles)
{ {
Console.WriteLine($"Cleaning up temporary files from {pureFileName}");
File.Delete(Path.ChangeExtension(usmStream.FilePath, "wav")); File.Delete(Path.ChangeExtension(usmStream.FilePath, "wav"));
File.Delete(Path.ChangeExtension(usmStream.FilePath, "adx")); File.Delete(Path.ChangeExtension(usmStream.FilePath, "adx"));
File.Delete(Path.ChangeExtension(usmStream.FilePath, "hca")); File.Delete(Path.ChangeExtension(usmStream.FilePath, "hca"));
@ -174,9 +183,10 @@ namespace UsmToolkit
DepsConfig conf = JsonConvert.DeserializeObject<DepsConfig>(File.ReadAllText("deps.json")); DepsConfig conf = JsonConvert.DeserializeObject<DepsConfig>(File.ReadAllText("deps.json"));
WebClient client = new WebClient(); WebClient client = new WebClient();
//ffmpeg Console.WriteLine($"Downloading ffmpeg from {conf.FFmpeg}");
client.DownloadFile(conf.FFmpeg, "ffmpeg.zip"); client.DownloadFile(conf.FFmpeg, "ffmpeg.zip");
Console.WriteLine($"Extracting ffmpeg...");
using (ZipArchive archive = ZipFile.OpenRead("ffmpeg.zip")) using (ZipArchive archive = ZipFile.OpenRead("ffmpeg.zip"))
{ {
var ent = archive.Entries.FirstOrDefault(x => x.Name == "ffmpeg.exe"); var ent = archive.Entries.FirstOrDefault(x => x.Name == "ffmpeg.exe");
@ -185,12 +195,13 @@ namespace UsmToolkit
ent.ExtractToFile("ffmpeg.exe", true); ent.ExtractToFile("ffmpeg.exe", true);
} }
} }
File.Delete("ffmpeg.zip"); File.Delete("ffmpeg.zip");
//vgmstream Console.WriteLine($"Downloading vgmstream from {conf.Vgmstream}");
client.DownloadFile(conf.Vgmstream, "vgmstream.zip"); client.DownloadFile(conf.Vgmstream, "vgmstream.zip");
ZipFile.ExtractToDirectory("vgmstream.zip", "vgmstream");
Console.WriteLine("Extracting vgmstream...");
ZipFile.ExtractToDirectory("vgmstream.zip", "vgmstream", true);
File.Delete("vgmstream.zip"); File.Delete("vgmstream.zip");
return 0; return 0;

Loading…
Cancel
Save