sfizz 1.2.0 release
Published by redtide at 2022-01-15 22:59:19
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 by octave_offset
and note_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
and sfizz_disable_logging
(and their C++ counterparts) are deprecated, replaced by sfizz_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.
See: GitHub release page