liquidsfz-0.4.1
Stefan Westerfeld <[email protected]> Tue, 7 Apr 2026 17:26:37 +0200
| Newsgroups | gmane.linux.audio.announce |
|---|---|
| Message-ID | <a756c023-a9ec-40b9-9d6a-82dda2cf6d1d__23515.8140234248$1775725118$gmane$org@space.twc.de> |
liquidsfz-0.4.1 has been released
The main goal of liquidsfz is to provide an SFZ sampler implementation
library that is easy to integrate into other projects. A standalone jack
client and a LV2 plugin is also available.
liquidsfz is implemented in C++ and licensed under MPL-2.0. The release
tarball can be downloaded here:
https://github.com/swesterfeld/liquidsfz#releases
Overview of Changes in liquidsfz-0.4.1:
* New robust low level SFZ parser:
- do not fail on parse error, only emit warning and continue
=> improve compatibility while loading broken sfzs
- improved performance compared to regex parser
* LV2 plugin:
- display number of warnings / errors / cache status
- default to kdialog on KDE, zenity otherwise
- support yad as alternative to kdialog / zenity
- use LV2 logger interface for warnings / errors generated by Synth
- don't access Synth in run during load (thread safety)
- compute necessary window height / width before showing the window
- show error message if dialog helpers are missing (#51)
* New opcodes:
- gain_onccN, loop_count
* Fixes:
- fix cache misses triggered when first playing a looped note
- fix off-by-one error interpreting wav file loop points
- change ampeg_release default to 30ms to avoid clicks
- ignore invalid loop modes
- loop range sanity checks while loading
- smaller performance optimizations
- move pugixml to LiquidSFZInternal namespace to avoid name clashes
- convert #include paths to native filenames
- support $VARIABLE expansion in #include filenames
- merge <control> section contents if more than one section is defined
- only emit one single warning for each undefined opcode
--
Stefan Westerfeld, http://space.twc.de/~stefan