-
Notifications
You must be signed in to change notification settings - Fork 6
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
Add loop, volume, and title editing to BGM editor #52
Merged
Conversation
This file contains 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
This reverts commit 74b787f.
WiIIiam278
approved these changes
Mar 28, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work. Moving the Dialogs to their own folder is a dumbfoundingly excellent decision that we should have made approximately forever ago. Just a few ui nits
Co-authored-by: William <[email protected]>
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.
This PR significantly expands the feature set of the BGM editor, allowing for full editing of BGM files.
The main interface has changed the title to a text box and will update the extra file on change. The extra file is stored as part of the project and only saved once on save to prevent changes from colliding.
When replacing a file or opening either the loop or volume dialogs, the BGM is cached as a wav file and stored in the Serial Loops cache directory. This directory is cleared on project load to prevent bad caching.
Upon clicking the "Manage Loop" button, the following preceding dialog is opened. This dialog contains a checkbox for turning on/off looping functionality and two sliders/numerical steppers for adjusting the loop in and out sections. Internally, the sliders are locked to the sample count of the cached wave file, which is also what is used to generate the waveform image. The numerical steppers use the sample rate to calculate their value in seconds. The sliders and numerical steppers both update each other and it is impossible to set the start time beyond the end time and vice versa. The play button provides a preview of the last five seconds of the loop followed by the first five seconds of it.
Finally, there is the volume dialog. This dialog has a single slider that allows the volume to be adjusted up and down. The waveform changes as the slider is moved to show the output volume in real time.
The sound player also changes as the volume is adjusted so the sample can be previewed appropriately.
WAV, FLAC, MP3, and Vorbis (OGG) files are all supported. Additionally, this automatically downsamples high samplerate audio files to the max NDS samplerate and, for mono-only AHX files, automatically downmixes to mono audio.
Adjusted BGM and voice line tests to account for some of the new functionality.