v3.21.0 - The Sound Engine Update
Full Changelog: v3.20.22...9366f3d
This update fixes a bunch of bugs with the synthesis engine. Huge shoutout to @mrbumpy409 for finding and reporting most of these!
Additions
- Added the DMOD chunk support according to my proposal
- Added the ability to drop files into the app
- Added the Brightness controller to the synthesizer controller window.
- Added Cubic Interpolation (enabled by default)
- Added a brand new preset selector with a search function
- Added more DLS INFO defaults
- Added a new DLS to SF2 conversion website
Changes
- Updated GeneralUserGS to v2.0.0 (shoutout to @mrbumpy409 for creating it too!)
- "Disable and lock vibrato" now disables all GS NRPN parameters
- The default chorus and reverb modulators now use transform of 750 rather than 200
- The DLS pop-up now shows up only once
- Reformatted and cleaned up the codebase
- Sequencer now recognizes the "program name" meta message
- GS reset now actually resets the synthesizer
- Added support for more system exclusives
- Volume envelope is now separate from the initial attenuation generator
- Sample offsets can now be modulated (reported by @mrbumpy409)
- Lowered the default voice cap from 450 to 350
- Added a new default modulator: CC 71 to filter reasonance (documented in the MIDI implementation)
- Some controllers now have new reset values (documented in the MIDI implementation)
Bugfixes
- Fixed WAV export normalization not working
- Fixed sample fine-tune being ignored during DLS conversion
- Fixed DLS presets not being sorted internally
- Fixed duplicate preset names in soundfonts being handled incorrectly
- Fixed modulation envelope release time usingvolume envelope's release time
- Fixed sustained looped voices never ending
- Fixed Sequencer playing back via Web MIDI API not sending the correct messages
- Fixed DLS file type in HTML input
- Fixed multiline copyright detection
- Fixed clicking in volume envelope attack phase
- Fixed generators not being limited at the modulator level
- Fixed voices ending too early (reported by @mrbumpy409)
- Fixed looping mode 3 starting playback too early (reported by @mrbumpy409)
- Fixed DLS loop point offsets