1.2.0
The big stuff:
- The sfizz engine now handles multiple stereo outputs, through the
output
opcode. The VST3 and LV2 plugins both have a 16-out version (as 8 stereo outs) (#1002) - The
emscripten
branch allows to run sfizz through WASM for your web-oriented needs. An example with WebMidi is available at https://sfz.tools/sfizz-webaudio/ (requires a Chromium-based browser), with source code at https://github.com/sfztools/sfizz-webaudio. - sfizz can now parse embedded samples in base64 data (#1041)
Smaller things:
- Added support in the plugin GUI/parameters for the "sustain cancels release" behavior of LinuxSampler.
- The internal midi state is not reset when loading/reloading. This means in particular that controls changed on an instrument will be kept if you edit the underlying SFZ file (#1002)
- Updated dependent libraries (#1018)
- Support extended CCs 140 and 141 for "keydelta" (#1003)
- Negative values for lokey will not disable the region anymore (#1019)
- Updated the GUI option panel for the plugins (#1022) and some hints on the tab buttons (#1057)
- Choke groups now act through CC switches (#1024)
- Corrected a bug when reloading some files (#1028)
- Added better support for files that are fully loaded in memory and not simply preloaded (#1031)
- Corrected mistakes in the shelving filters (#1027)
- Corrected a crash in some VST3 hosts (#1035)
- Properly read exponential notation in floats (#1036)
- sfizz is now clamping flex EG levels (#1037)
sw_last
is now properly affected byoctave_offset
andnote_offset
(#1039)- Corrected a bug where long-tailed effects would be cut off (#1050)
- Corrected a bug in the band rejection filters (#1052). The
apf_1p
filter still misbehaves and is disabled for now. - Numpad input is now properly handled (#1053)
- In the LV2 plugin, plugin-side automation is now enabled by default (which means all SFZ control changes are naturally bound to incoming MIDI control changes and not controlled by a plugin parameter). You can disable this at build time and show the relevant parameters using
SFIZZ_LV2_PSA
. Too many hosts expect their plugins to respond to midi messages for things like pedal and volume. (#1054) - Added support for
loprog/hiprog
(#1058) - The LV2 plugin now has a string output parameter with the CC used by the instrument (#1060)
API changes:
sfizz_enable_logging
andsfizz_disable_logging
(and their C++ counterparts) are deprecated, replaced bysfizz_get_callback_breakdown
which needs to be called at the end of a callback by the host (#1034). All file writing is handled by the host for logging.- Added
sfizz_send_program_change
and its C++ counterpart. - Added
sfizz_set_sustain_cancels_release
and its C++ counterpart.