Updated AudioEditor to use functions from Bink class

This commit is contained in:
MattNL
2022-10-03 01:52:26 -04:00
parent 4e3a5ede0f
commit f19ed527f2
3 changed files with 123 additions and 148 deletions

View File

@@ -58,6 +58,7 @@ namespace PckStudio.Forms.Editor
this.playOverworldInCreative = new MetroFramework.Controls.MetroCheckBox();
this.compressionUpDown = new System.Windows.Forms.NumericUpDown();
this.metroLabel1 = new MetroFramework.Controls.MetroLabel();
this.convertToWAVToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip1.SuspendLayout();
this.menuStrip.SuspendLayout();
this.contextMenuStrip2.SuspendLayout();
@@ -228,7 +229,8 @@ namespace PckStudio.Forms.Editor
this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addEntryMenuItem,
this.removeEntryMenuItem,
this.verifyFileLocationToolStripMenuItem});
this.verifyFileLocationToolStripMenuItem,
this.convertToWAVToolStripMenuItem});
this.contextMenuStrip2.Name = "contextMenuStrip1";
resources.ApplyResources(this.contextMenuStrip2, "contextMenuStrip2");
//
@@ -289,6 +291,12 @@ namespace PckStudio.Forms.Editor
this.metroLabel1.Name = "metroLabel1";
this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark;
//
// convertToWAVToolStripMenuItem
//
this.convertToWAVToolStripMenuItem.Name = "convertToWAVToolStripMenuItem";
resources.ApplyResources(this.convertToWAVToolStripMenuItem, "convertToWAVToolStripMenuItem");
this.convertToWAVToolStripMenuItem.Click += new System.EventHandler(this.convertToWAVToolStripMenuItem_Click);
//
// AudioEditor
//
resources.ApplyResources(this, "$this");
@@ -343,5 +351,6 @@ namespace PckStudio.Forms.Editor
private MetroFramework.Controls.MetroLabel metroLabel1;
private System.Windows.Forms.ToolStripMenuItem openDataFolderToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem bulkReplaceExistingTracksToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem convertToWAVToolStripMenuItem;
}
}

View File

@@ -21,6 +21,7 @@ namespace PckStudio.Forms.Editor
{
public string defaultType = "yes";
string tempDir = "";
Classes.Bink BINK = new Classes.Bink();
PCKAudioFile audioFile = null;
PCKFile.FileData audioPCK;
LOCFile loc;
@@ -54,21 +55,10 @@ namespace PckStudio.Forms.Editor
public AudioEditor(PCKFile.FileData file, LOCFile locFile, bool isLittleEndian)
{
InitializeComponent();
// so the Creative songs aren't combined until after the forms are closed.
// this will prevent potential problems with editing the categories after merging.
loc = locFile;
tempDir = Path.Combine(Directory.GetCurrentDirectory(), "temp");
_isLittleEndian = isLittleEndian;
try
{
handleUtilFiles();
//library = LoadLibrary(Path.Combine(tempDir, "mss32.dll"));
}
catch (IOException ex)
{
MessageBox.Show("Failed to get Binka conversion files", "Exception thrown");
Close();
}
BINK.SetUpBinka();
audioPCK = file;
using (var stream = new MemoryStream(file.data))
@@ -111,31 +101,10 @@ namespace PckStudio.Forms.Editor
}
}
private void handleUtilFiles(bool extractFiles = true)
{
string asiPath = Path.Combine(tempDir, "binkawin.asi");
string mssPath = Path.Combine(tempDir, "mss32.dll");
string encoderPath = Path.Combine(tempDir, "binka_encode.exe");
// Deletes files so that System.IO exceptions are avoided
if (File.Exists(asiPath)) File.Delete(asiPath);
if (File.Exists(mssPath)) File.Delete(mssPath);
if (File.Exists(encoderPath)) File.Delete(encoderPath);
if (Directory.Exists(tempDir)) Directory.Delete(tempDir);
if (extractFiles)
{
Directory.CreateDirectory(tempDir);
ExtractResource("binka_encode", encoderPath);
ExtractResource("mss32", mssPath);
ExtractResource("binkawin", asiPath);
}
}
private void AudioEditor_FormClosed(object sender, FormClosedEventArgs e)
{
//FreeLibrary(library);
handleUtilFiles(false);
BINK.CleanUpBinka();
}
private void verifyFileLocationToolStripMenuItem_Click(object sender, EventArgs e)
@@ -253,33 +222,23 @@ namespace PckStudio.Forms.Editor
else if (user_prompt == DialogResult.No) continue;
}
}
if (Path.GetExtension(file) == ".wav") // Convert Wave to BINKA
{
Cursor.Current = Cursors.WaitCursor;
pleaseWait waitDiag = new pleaseWait();
waitDiag.Show(this);
int error_code = 0;
await Task.Run(() =>
{
var process = Process.Start(new ProcessStartInfo
{
FileName = Path.Combine(tempDir, "binka_encode.exe"),
Arguments = $"\"{file}\" \"{new_loc}\" -s -b" + compressionUpDown.Value.ToString(),
UseShellExecute = true,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden
});
process.Start();
process.WaitForExit();
BINK.WavToBinka(file, new_loc, (int)compressionUpDown.Value);
});
waitDiag.Close();
waitDiag.Dispose();
Cursor.Current = Cursors.Default;
if (error_code != 0) continue;
if (BINK.temp_error_code != 0) continue;
}
else if (!duplicate_song)
{
@@ -492,29 +451,24 @@ namespace PckStudio.Forms.Editor
pleaseWait waitDiag = new pleaseWait();
waitDiag.Show(this);
int error_code = 0;
await Task.Run(() =>
{
var process = Process.Start(new ProcessStartInfo
{
FileName = Path.Combine(tempDir, "binka_encode.exe"),
Arguments = $"\"{file}\" \"{new_loc}\" -s -b" + compressionUpDown.Value.ToString(),
UseShellExecute = true,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden
});
process.Start();
process.WaitForExit();
BINK.WavToBinka(file, new_loc, (int)compressionUpDown.Value);
});
waitDiag.Close();
waitDiag.Dispose();
Cursor.Current = Cursors.Default;
if (error_code != 0) continue;
if (BINK.temp_error_code != 0) continue;
}
else if(file_ext == ".binka") File.Copy(file, Path.Combine(parent.GetDataPath(), Path.GetFileName(file)));
}
}
private void convertToWAVToolStripMenuItem_Click(object sender, EventArgs e)
{
}
}
}

View File

@@ -125,6 +125,26 @@
<value>127, 8</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="addCategoryStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="addCategoryStripMenuItem.Text" xml:space="preserve">
<value>Add Category</value>
</data>
<data name="removeCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="removeCategoryStripMenuItem.Text" xml:space="preserve">
<value>Remove Category</value>
</data>
<data name="contextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>169, 48</value>
</data>
@@ -146,7 +166,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADk
MAAAAk1TRnQBSQFMAgEBCQEAAWgBAAFoAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
MAAAAk1TRnQBSQFMAgEBCQEAAXABAAFwAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABMAMAAQEBAAEgBgABMBIAAzgB/wM1Af8DNQH/AzMB/wMwAf8DLwH/Ay0B/wMtAf8DJAH/AzsB/wM4
Af8DNQH/Ay0B/wMnAf8DNgH/AzIB/8AAAzgB/wN/Af8DeQH/A3kB/wN5Af8DcQH/A3EB/wN5Af8DeQH/
A3EB/wNxAf8DcQH/A3kB/wN5Af8DfwH/AzIB/8AAAzIB/wN2Af8DsAH/A7AB/wOvAf8DrwH/A68B/wOo
@@ -384,62 +404,12 @@
<data name="&gt;&gt;treeView1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="addCategoryStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="addCategoryStripMenuItem.Text" xml:space="preserve">
<value>Add Category</value>
</data>
<data name="removeCategoryStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>168, 22</value>
</data>
<data name="removeCategoryStripMenuItem.Text" xml:space="preserve">
<value>Remove Category</value>
</data>
<metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>19, 8</value>
</metadata>
<data name="menuStrip.AutoSize" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>410, 24</value>
</data>
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="menuStrip.Text" xml:space="preserve">
<value>menuStrip1</value>
</data>
<data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
<value>menuStrip</value>
</data>
<data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="saveToolStripMenuItem1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -451,16 +421,16 @@
</value>
</data>
<data name="saveToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 22</value>
<value>180, 22</value>
</data>
<data name="saveToolStripMenuItem1.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="toolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 20</value>
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 20</value>
</data>
<data name="toolsToolStripMenuItem.Text" xml:space="preserve">
<value>Tools</value>
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
<value>File</value>
</data>
<data name="creditsEditorToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>220, 22</value>
@@ -486,11 +456,11 @@
<data name="bulkReplaceExistingTracksToolStripMenuItem.Text" xml:space="preserve">
<value>Bulk Replace Existing Tracks</value>
</data>
<data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 20</value>
<data name="toolsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>46, 20</value>
</data>
<data name="helpToolStripMenuItem.Text" xml:space="preserve">
<value>Help</value>
<data name="toolsToolStripMenuItem.Text" xml:space="preserve">
<value>Tools</value>
</data>
<data name="howToAddSongsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>243, 22</value>
@@ -522,14 +492,76 @@
<data name="bINKACompressionToolStripMenuItem.Text" xml:space="preserve">
<value>BINKA Compression</value>
</data>
<data name="helpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 20</value>
</data>
<data name="helpToolStripMenuItem.Text" xml:space="preserve">
<value>Help</value>
</data>
<data name="menuStrip.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 60</value>
</data>
<data name="menuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>410, 24</value>
</data>
<data name="menuStrip.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="menuStrip.Text" xml:space="preserve">
<value>menuStrip1</value>
</data>
<data name="&gt;&gt;menuStrip.Name" xml:space="preserve">
<value>menuStrip</value>
</data>
<data name="&gt;&gt;menuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;menuStrip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;menuStrip.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="treeView2.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<metadata name="contextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>282, 8</value>
</metadata>
<data name="addEntryMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="addEntryMenuItem.Text" xml:space="preserve">
<value>Add Entry</value>
</data>
<data name="removeEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="removeEntryMenuItem.Text" xml:space="preserve">
<value>Remove Entry</value>
</data>
<data name="verifyFileLocationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="verifyFileLocationToolStripMenuItem.Text" xml:space="preserve">
<value>Verify File Location</value>
</data>
<data name="convertToWAVToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="convertToWAVToolStripMenuItem.Text" xml:space="preserve">
<value>Convert to WAV</value>
</data>
<data name="contextMenuStrip2.Size" type="System.Drawing.Size, System.Drawing">
<value>174, 70</value>
<value>181, 114</value>
</data>
<data name="&gt;&gt;contextMenuStrip2.Name" xml:space="preserve">
<value>contextMenuStrip2</value>
@@ -558,32 +590,6 @@
<data name="&gt;&gt;treeView2.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="addEntryMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xMkMEa+wAAABSSURBVDhP5c0x
DsAgDENRxt7/wmkNSpRGf0CCCZAegxNMM7MlGMp3dIU6dxhKf/QMNxRogeQC8ivw5Vn7C0heJlFA+kL5
jWAohxRkde4wnGftBS90axNmphIGAAAAAElFTkSuQmCC
</value>
</data>
<data name="addEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>173, 22</value>
</data>
<data name="addEntryMenuItem.Text" xml:space="preserve">
<value>Add Entry</value>
</data>
<data name="removeEntryMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>173, 22</value>
</data>
<data name="removeEntryMenuItem.Text" xml:space="preserve">
<value>Remove Entry</value>
</data>
<data name="verifyFileLocationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>173, 22</value>
</data>
<data name="verifyFileLocationToolStripMenuItem.Text" xml:space="preserve">
<value>Verify File Location</value>
</data>
<data name="playOverworldInCreative.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -791,6 +797,12 @@
<data name="&gt;&gt;verifyFileLocationToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;convertToWAVToolStripMenuItem.Name" xml:space="preserve">
<value>convertToWAVToolStripMenuItem</value>
</data>
<data name="&gt;&gt;convertToWAVToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>AudioEditor</value>
</data>