-
Notifications
You must be signed in to change notification settings - Fork 19
General bug fixes and improvements and Audio updates #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
donkeyProgramming
merged 57 commits into
donkeyProgramming:master
from
Pear-231:AudioEditor
Nov 1, 2025
Merged
General bug fixes and improvements and Audio updates #266
donkeyProgramming
merged 57 commits into
donkeyProgramming:master
from
Pear-231:AudioEditor
Nov 1, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Fixed a bug where actions were only processing single sound targets rather than containers where necessary. - Fixed a bug where OverrideBusID was set unnecessarily.
- Added interfaces for dialogue event arguments and decision tree properties.
- Fixed a bug where BrowseDialogResultFolder was only returning the selected folder rather than the path to the folder. - Fixed bug where V136 'Data_BNK' sounds did not play in the Audio Explorer. - Fixed a bug where states weren't being saved properly into the AudioRepository. - Fixed niche dialogue event reading error thanks to bnnm behind Wwiser. - Fixed a bug where the Pack File Explorer Import Directory button was causing a crash.
- Refactored DataGrids to use a DataTable instead of a Dictionary - way better! - Added support for dragging Audio Files as a way of setting them. - Added functionality to set the name of the event based on an audio file if only a single audio file is set. - Added refreshing to the audio files when files / folders in a pack are added or removed. - Fixed a bug where state paths that were out of date due to CA state group changes were unable to be edited. - Fixed bug where show edited items only was showing dialogue events that weren't edited if others in its SoundBank were. - Renaming WwiseHash.cs to get around git's file renaming capitalisation issue.
- Implemented IDGenerator. - Added Audio Project Converter to convert SoundBank Dialogue Events into the Audio Project format.
- Changed instances of ID to Id as it's an abbreviation not a 2 letter acronym.
- Fixed several issues with MultiSelectTreeView.
- Added commands for audio project mutation and removed old system. - Added storage of selected explorer node, audio settings, audio files to AudioEditorService as part of the storage of cross-view single state stuff.
- Refactored inserting rows into the Viewer to use AddRowEvent. - Some cleanup of RemoveRowEvent.
- Refactored the DataGrid services into one service which now uses events and commands rather than relying on the audio editor service stored view model states. - Fixed a bug where setting audio files via dropping wasn't triggering the relevant event.
- Reorganisation.
- Removed view models from AudioEditorService. - Cleanup.
- Separated AudioProject into its own files. - Renamed AudioSettings into Settings.
- Refactored creation into models, commands and factories.
- Untangled DataGrid services into separate Table services and reorganised accordingly. - Added proper separation between UI and mutation in commands so that commands handle the UI side and export mutation to services which use factories. - Added a behaviour for DataGrid Columns binding so it can be handled via events. - Renamed some commands to better reflect their intent. - Renamed events to properly reflect that they are responses to changes and removed some unnecessary and unused events. - Renamed View TreeNode and NodeType classes to prevent ambiguous references. - Cleaned some View Models. - Improved dependency injection.
- Cleaned View Models. - Added some more commands and events, and renamed some events.
- Separated AudioEditorService into a state service, a file service, and a compiler service. - Improved AudioProject initialisation. - Fixed some dependency injection issues.
- Added double click to play audio files in Audio Files Explorer and Settings Views. - Temporarily changed the name of wrongly capitalised ID folder to Idd so that Git's case sensitivity picks it up when it's changed back to Id.
- Changed the temporary name of Idd back to Id due to the wrongly capitalised ID folder that wasn't changing to Id due to Git's case sensitivity.
- Improved game information and therefore the structure of an audio project in the explorer and explorer filtering.
- Fixed issue where pack file compression wasn't working with files not yet a PackedFileSource, sped up file saving, and improved compression format determination. - Made broken files show as a warning regardless of whether the debugger is attached as before it would show the message either way, but as an error in the release build, and warning in the debug build.
- Made the Content folder be included in the publish directory.
- Reduced AudioRepository memory consumption.
- Updated Audio Project compilation and added Dialogue Event merging and related improvements to Wwise read / write / generation. - Moved target from ActionEvent to Action.
- Fixed bug where unedited Dialogue Event nodes were not being made invisible. - Fixed a bug where editor combo box text boxes were deleting the first character typed. - Fixed a bug where show modded states only wasn't working. - Improvements to the AudioRepository and improved memory optimisation substantially.
- Changed default audio project save location. - Switched .wem generation to batch saving a huge amount of time. - Fixed a bug where .dat files weren't generating for all types of Action Events.
- Added storage functions to AudioProjectStateService. - Fixed bug where Add to Audio Project button wasn't updating when having not set any audio files before and then editing and item from the viewer.
- Added wav file integrity check.
- Added debouncing Audio Project Explorer text search to facilitate restoration to node state prior to search. - Added ctrl+v pasting into the Event textbox.
- Removed AudioProjectHircItem to use AudioProjectItem and constructors instead.
- Added an Add to Audio Files button. - Added ability to delete audio files from the Audio Files Viewer .
- Updated AudioFilesExplorer search filtering to work the same way as AudioProjectExplorer.
- Added enablement to Add to Audio Files button. - Fixed bug where Show Settings from Audio Project Viewer checkbox kept resetting each time.
- Fixed bug where Random Sequence Container settings weren't storing looping info. - Fixed bug where Audio Settings were not displaying correctly when editing an item while Show Settings from Audio Project Viewer was seleted. - Fixed a bug where opening an Audio Project with ShowEditedItemsOnly set to True was causing items to be hidden at the start. - Fixed a bug where bIsLanguageSpecific was not setting correctly in AkMediaInformation generation. - Fixed error around getting soundbanks where DialogueEvents / ActionEvents are null. - Fixed a bug where columns would persist when opening a new Audio Project - Separated out generators.
- Added support for Pause and Resume Action Event generation.
- Switched to assigning as much AudioProject metadata as possible on AudioProjectItem creation. This greatly improves compiler speed. - Replaced most of the text-based ID system with GUIDs which simplifies ID generation. - Added ID integrity check.
- Fixed bugs where the supplied SoundBank name was wrong. - Fixed bug where the condition for showing Pause, Resume and Stop Action Events was wrong resulting in them showing. - Fixed an issue where all modded States were showing in all State Groups. - Fixed an issue where "Any" were being given the wrong ID by the integrity checker. - Fixed an issue where rows weren't being inserted into the table alphabetically.
- Added SoundBank Merger and an integrity check for ID clashes on merging. - Fixed an issue with names of SoundBanks.
- Fixed an issue with SoundBank naming. - Fixed a compiler issue where it wasn't processing sounds in the right sounds. - Fixed an Audio Project integrity issue where it wasn't renaming bnks correctly if the Audio Project name had changed. - Fixed a sorting issue with Sounds where they are weirdly not in the order they appear to be in in the .aproj. - Fixed an issue with the Dialogue Event Merger where the selected modded SoundBanks wasn't storing. - Added bnk name to Audio Explorer list items. - Fixed an issue where IdExt wasn't being passed to Actions. - Small reorganisation of models. - Removed unused stuff.
- Added the initial WaveformViewer (hidden for now).
- Refactored AudioProject flattening its structure a bit so objects are not reused. - Removed AudioProjectItem IComparable stuff as it was causing issues when wanting to check by reference rather than name and instead implemented directly where needed.
- Made AudioRepository load on command rather than automatically to facilitate loading languages needed in the scope.
- Fixed a bug where state paths weren't loading correctly when a Dialogue Event contains 2 or more State Groups of the same name. - Modified Load to work with new AudioRepository functionality.
- Fixed a bug where editing Action Events was resetting the name when the Action Event only had a single sound. - Changed WavToWemWwiseProject to Wh3WavToWemWwiseProject as the Wwise project settings vary per game and use different versions of Wwise so each game needs its own Wwise project. - Made Dialogue Events sorted by Name in the Audio Project Explorer.
- Refactored Audio Explorer notification and command system to ObservableProperty and RelayCommand. - Added Audio Repository language setting to Audio Explorer and removed unused / unused stuff. - Normalised the Audio Explorer' UI with the Audio Editor's UI.
- Reorganisation and renaming. That was a lot of fun!
- Added Audio Project Merger. - Added AudioProjectFileService. - Improvements to model list extensions.
- Fixed a bug where pasting wasn't working right in Editor ComboBoxs and as part of this removed some unnecessary locating of key previews and associated events. - Fixed some bugs with list extension comparisons.
- Improved functionality of the Audio Explorer adding, among other things, the ability to browse by VO Actor and double clicking to play a sound.
- Added logic to prevent the generation of existing wems. - Fixed a bug where instances of columns were duplicating.
- Resolved some TODOs. - Fixed a bug where cancelling audio project load dialog caused an error. - Made audio files refresh on editable pack set.
- Updated settings to better reflect Wwise.
- Fixed an issue where Audio Explorer wasn't retaining the selected item in the ComboBox. - Fixed multiple issues with states dat generation. - Fixed an issue with RandomSequenceContainer children being in the wrong order. - Fixed a bug where columns would be duplicated in the AudioProjectEditor if clicked out of the AudioEditor window and back in again.
- Moved states info into the event dat as we didn't need them as separate dats.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please don't fire me for the huge PR, I can explain! It covers three main areas which some Audio Editor stuff was contingent on (bug fixes for pack file importing and compression), and as there's been no updates to the master branch for a while and development of this Audio Editor branch been over a long period of time I've ended up treating it as the master for the meantime so hopefully you can forgive me hah
Change Notes
General Bug Fixes and Improvements:
Audio Editor
Audio Explorer