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