Self-owned backup fork of sfztools/sfizz (archived upstream 2025). Buildable snapshot in R2/archive.
Find a file
Paul Ferrand 9c669c3fe0
Merge pull request #20 from jpcima/include-parser
Make the parser include absl headers publicly
2019-12-30 00:38:38 +01:00
.travis Switch Travis builds to debug mode. 2019-09-22 15:35:10 +02:00
benchmarks Moved everyone into the sfz namespace to avoid clashing when importing the lib 2019-09-25 23:51:53 +02:00
clients Fix Travis build: client build temporarily disabled. 2019-09-21 20:47:29 -06:00
external updated submodules 2019-09-21 14:23:31 +02:00
scripts Added a script to change the sample names in an existing file that assumes case-insensitivity. 2019-09-22 02:12:52 +02:00
sfizz Make the parser include absl headers publicly 2019-12-29 21:37:14 +01:00
tests Range was not in the namespace sfz 2019-09-28 14:17:34 +02:00
.editorconfig Added EditorConfig support. 2019-09-21 10:34:37 +02:00
.gitignore Moved documentation to gh-pages. 2019-10-10 00:18:42 +02:00
.gitmodules Tracking Abseil's LTS 2019-09-21 15:13:59 +02:00
.travis.yml Disabling Travis OSX builds temporarily. 2019-09-22 19:11:48 +02:00
CMakeLists.txt Revert "Trying a terser way to express the minimum version" 2019-09-22 19:05:06 +02:00
LICENSE.md Create LICENSE.md 2019-08-30 00:53:38 +02:00
README.md Fix for previous commit 2019-12-24 21:50:59 +01:00

sfizz

Building

Travis Build Status

Sfizz depends on the sndfile library. The JACK client that you will probably build depends on the jack library. To build sfizz you need to install both as shared libraries on the system. In Debian-based distributions, this translates into

sudo apt install libjack-jackd2-dev libsndfile1-dev

The process is as follows:

  1. Clone the repository with all the submodules
  2. Create a build directory for CMake and cd into it
  3. Build
  4. Enjoy :)

In the shell world, this means

git clone --recursive https://github.com/sfztools/sfizz.git
cd sfizz
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make

Current configuration switches for CMake are:

ENABLE_LTO       Enable Link Time Optimization [default: ON]
SFIZZ_JACK       Enable JACK stand-alone build [default: ON]
SFIZZ_LV2        Enable LV2 plug-in build      [default: ON]
SFIZZ_BENCHMARKS Enable benchmarks build       [default: OFF]
SFIZZ_TESTS      Enable tests build            [default: OFF]
SFIZZ_SHARED     Enable shared library build   [default: ON]

For details about building under macOS, see here.

You can then find the JACK client in clients/sfizz_jack. Just specify an .sfz file as a parameter and you are good to go. The client will forcefully connect to the system output, and open an event input in JACK for you to connect a midi capable software or hardware (e.g. jack-keyboard). If no Jack server is already started it will start one with basic options.

Possible pitfalls and alternatives

If you already cloned the repository without the --recursive option, update the submodules manually with

git submodule update --init --recursive

You can build with clang, although in that case the CMakeFile defaults to using libc++ instead of libstdc++.