private void packAudioGroup_Click(object sender, EventArgs e) { AudioGroup newAudioGroup = new AudioGroup(); CommonOpenFileDialog folderDialog = new CommonOpenFileDialog(); folderDialog.IsFolderPicker = true; if (folderDialog.ShowDialog() == CommonFileDialogResult.Ok) { if (!Directory.Exists(folderDialog.FileName)) { Directory.CreateDirectory(folderDialog.FileName); } for (int i = 0; true; i++) { if (File.Exists(Path.Combine(folderDialog.FileName, $"{i}.wav"))) { newAudioGroup.files.Add(File.ReadAllBytes(Path.Combine(folderDialog.FileName, $"{i}.wav"))); } else if (File.Exists(Path.Combine(folderDialog.FileName, $"{i}.ogg"))) { newAudioGroup.files.Add(File.ReadAllBytes(Path.Combine(folderDialog.FileName, $"{i}.ogg"))); } else if (File.Exists(Path.Combine(folderDialog.FileName, $"{i}"))) { newAudioGroup.files.Add(File.ReadAllBytes(Path.Combine(folderDialog.FileName, $"{i}"))); } else { break; } } SaveFileDialog fileDialog = new SaveFileDialog(); fileDialog.Filter = "dat files (*.dat)|*.dat|All files (*.*)|*.*"; fileDialog.Title = "Save Audio Group File"; if (fileDialog.ShowDialog() == DialogResult.OK) { newAudioGroup.Write(fileDialog.FileName); } } }