Self-owned backup fork of sfztools/sfizz (archived upstream 2025). Buildable snapshot in R2/archive.
Find a file
Paul Ferrand 2f2de8c677
Merge pull request #142 from paulfd/midi-state-block-processing
The midi state now tracks time through block duration; you need to call advanceTime(numSamples) at each callback.
The midi state now stores all CC and pitch events that happened during the block.
Added group polyphony and note_polyphony support, as well as note_selfmask support.
Multiple CCs can modulate pan, amplitude, width, position rather than one.
The voices do not store CC history for the modulation targets and rely on the midi state to provide the events that happened during the last block.
Removed the EventEnvelopes; they're replaced by generic free functions that take as input an EventVector from the midi state; old tests migrated.
Added support for tune_cc and pitch_cc related opcodes.

In all this process, I also removed most of the per-voice temporary buffers and preallocation to replace everything by a BufferPool that distributes buffers around, and can track the maximum buffer usage in debug mode. The number of concurrent buffers are set at compile-time, so it must be adapted to the current processing needs.
2020-03-31 23:22:25 +02:00
.travis Put CXX standard to 17 on non-MOD targets 2020-03-14 18:02:54 +01:00
benchmarks Formatting step 2020-03-31 10:46:12 +02:00
clients Adapt the newer parser to Sfizz 2020-03-28 00:29:36 +01:00
cmake Merge pull request #120 from paulfd/make-uninstall 2020-03-16 09:46:23 +01:00
doxygen Partial fix for footer and header doxygen documentation pages 2020-03-09 16:22:20 +01:00
external Updated abseil to LTS branch of 2020-02 2020-03-15 22:25:42 +01:00
lv2 Add the panic to the LV2 for good measure 2020-03-16 09:44:48 +01:00
scripts Merge pull request #142 from paulfd/midi-state-block-processing 2020-03-31 23:22:25 +02:00
src Merge pull request #142 from paulfd/midi-state-block-processing 2020-03-31 23:22:25 +02:00
tests Formatting step 2020-03-31 10:46:12 +02:00
vst Merge pull request #140 from jpcima/vst-realtime 2020-03-29 23:58:56 +02:00
.clang-format clang-format: do not sort includes [ci skip] 2020-03-01 09:06:26 +01:00
.clang-tidy Added the clang-tidy job in the Test stage 2020-03-08 17:03:09 +01:00
.editorconfig Minor changes 2019-12-30 05:39:39 +01:00
.gitignore Generate versioned Doxyfile 2020-03-08 16:28:16 +01:00
.gitmodules Updated abseil to LTS branch of 2020-02 2020-03-15 22:25:42 +01:00
.travis.yml Travis build for MOD devices 2020-03-14 18:02:54 +01:00
appveyor.yml Try specifying the platform as indicated in cmake-generators(7) 2020-03-07 22:34:38 +01:00
AUTHORS.md Added authors file from readme [ci skip] 2020-02-27 14:56:36 +01:00
CMakeLists.txt Move the uninstall definition at the end 2020-03-14 18:05:07 +01:00
LICENSE.md Updated README 2020-01-25 13:53:04 +01:00
README.md Added authors file from readme [ci skip] 2020-02-27 14:56:36 +01:00
screenshot.png Clean up readme, quick additional info will follow 2020-02-18 13:38:53 +01:00

sfizz

Travis Build Status AppVeyor Build Status

SFZ library and LV2 plugin, please check our website for more details.

Screenshot

Dependencies and licenses

The sfizz library makes primary use of:

  • libsndfile, licensed under the GNU Lesser General Public License v2.1
  • Abseil, licensed under the Apache License 2.0
  • atomic_queue by Maxim Egorushkin, licensed under the MIT license
  • filesystem by Steffen Schümann, licensed under the BSD 3-Clause license
  • hiir by Laurent de Soras, licensed under the WTFPL v2 license

The sfizz library also uses in some subprojects:

  • Catch2, licensed under the Boost Software License 1.0
  • benchmark, licensed under the Apache License 2.0
  • LV2, licensed under the ISC license
  • JACK, licensed under the GNU Lesser General Public License v2.1
  • neon_mathfun.h and sse_mathfun.h by Julien Pommier, licensed under the zlib license