Skip to content

jpcima/sfizz

 
 

Repository files navigation

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++.

About

SFZ library and LV2 plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 96.6%
  • C 2.2%
  • Other 1.2%