From fc34203d1caa5aba7c12d4f7c1e37481f1240d5a Mon Sep 17 00:00:00 2001 From: MayNL Date: Tue, 30 Jun 2026 11:57:28 -0400 Subject: [PATCH] Added bulk edit tool to Audio Editor --- .../Forms/Editor/AudioEditor.Designer.cs | 9 ++++ PCK-Studio/Forms/Editor/AudioEditor.cs | 48 ++++++++++++++----- PCK-Studio/Forms/Editor/AudioEditor.resx | 22 +++++++-- 3 files changed, 61 insertions(+), 18 deletions(-) diff --git a/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs b/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs index 7118e326..4d5416a8 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.Designer.cs @@ -48,6 +48,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.bulkEditTracksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.trackListContextMenuStrip.SuspendLayout(); this.menuStrip.SuspendLayout(); this.trackContextMenuStrip.SuspendLayout(); @@ -147,6 +148,7 @@ namespace PckStudio.Forms.Editor this.trackContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addEntryMenuItem, this.editEntryToolStripMenuItem, + this.bulkEditTracksToolStripMenuItem, this.removeEntryMenuItem}); this.trackContextMenuStrip.Name = "contextMenuStrip1"; resources.ApplyResources(this.trackContextMenuStrip, "trackContextMenuStrip"); @@ -208,6 +210,12 @@ namespace PckStudio.Forms.Editor this.metroLabel1.Name = "metroLabel1"; this.metroLabel1.Theme = MetroFramework.MetroThemeStyle.Dark; // + // bulkEditTracksToolStripMenuItem + // + this.bulkEditTracksToolStripMenuItem.Name = "bulkEditTracksToolStripMenuItem"; + resources.ApplyResources(this.bulkEditTracksToolStripMenuItem, "bulkEditTracksToolStripMenuItem"); + this.bulkEditTracksToolStripMenuItem.Click += new System.EventHandler(this.bulkEditTracksToolStripMenuItem_Click); + // // AudioEditor // resources.ApplyResources(this, "$this"); @@ -253,5 +261,6 @@ namespace PckStudio.Forms.Editor private MetroFramework.Controls.MetroLabel metroLabel1; private System.Windows.Forms.ToolStripMenuItem changeCategoryToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem editEntryToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bulkEditTracksToolStripMenuItem; } } \ No newline at end of file diff --git a/PCK-Studio/Forms/Editor/AudioEditor.cs b/PCK-Studio/Forms/Editor/AudioEditor.cs index ecd6cfcd..0b35570b 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.cs +++ b/PCK-Studio/Forms/Editor/AudioEditor.cs @@ -1,21 +1,23 @@ -using System; +using DiscordRPC; +using NAudio.Wave; +using OMI.Formats.Pck; +using PckStudio.Controls; +using PckStudio.Core.Extensions; +using PckStudio.Core.FileFormats; +using PckStudio.External.API.Miles; +using PckStudio.Forms.Additional_Popups; +using PckStudio.Interfaces; +using PckStudio.Internal.App; +using PckStudio.Properties; +using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; -using System.Threading.Tasks; -using System.Windows.Forms; using System.Security.Cryptography; using System.Text.RegularExpressions; -using System.Diagnostics; -using NAudio.Wave; -using PckStudio.Forms.Additional_Popups; -using PckStudio.Properties; -using PckStudio.External.API.Miles; -using PckStudio.Core.Extensions; -using PckStudio.Internal.App; -using PckStudio.Controls; -using PckStudio.Interfaces; -using PckStudio.Core.FileFormats; +using System.Threading.Tasks; +using System.Windows.Forms; // Audio Editor by MayNL and Miku-666 @@ -308,5 +310,25 @@ namespace PckStudio.Forms.Editor } private void trackTreeView_DoubleClick(object sender, EventArgs e) => editEntryToolStripMenuItem_Click(sender, e); + + private void bulkEditTracksToolStripMenuItem_Click(object sender, EventArgs e) + { + if (trackListTreeView.SelectedNode is TreeNode t && t.Tag is PckAudioFile.AudioTrackList trackList) + { + using (var input = new MultiTextPrompt(trackList.TrackNames)) + { + if (input.ShowDialog(this) == DialogResult.OK) + { + trackTreeView.Nodes.Clear(); + trackList.TrackNames.Clear(); + + foreach (String trackName in input.TextOutput) + { + addTrack(trackList, trackName); + } + } + } + } + } } } diff --git a/PCK-Studio/Forms/Editor/AudioEditor.resx b/PCK-Studio/Forms/Editor/AudioEditor.resx index ffdbc9f2..a9e7be25 100644 --- a/PCK-Studio/Forms/Editor/AudioEditor.resx +++ b/PCK-Studio/Forms/Editor/AudioEditor.resx @@ -164,7 +164,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACK - NAAAAk1TRnQBSQFMAgEBCQEAARgBAQEYAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA + NAAAAk1TRnQBSQFMAgEBCQEAASABAQEgAQEBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA AwABMAMAAQEBAAEgBgABMBIAATkBXgFzAf8BOQFeAXMB/wE5AV4BcwH/AT4BYgF8Af8BMwFUAWkB/wEz AVQBaQH/AT4BYgF8Af8BMwFUAWkB/wE5AV4BcwH/ATkBXgFzAf8BOQFeAXMB/wEzAVQBaQH/ASYBPQFM Af8BMwFUAWkB/wEzAVQBaQH/ATkBXgFzAf/AAAFiAZgBvAH/AWIBmAG8Af8BTQGEAZ8B/wFNAYQBnwH/ @@ -477,25 +477,31 @@ 282, 8 - 148, 22 + 180, 22 Add Track - 148, 22 + 180, 22 Edit Track + + 180, 22 + + + Bulk Edit Tracks + - 148, 22 + 180, 22 Remove Track - 149, 70 + 181, 114 trackContextMenuStrip @@ -3186,6 +3192,12 @@ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + bulkEditTracksToolStripMenuItem + + + System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + AudioEditor