2019-09-08 18:19:43 +02:00
|
|
|
# sfizz
|
2019-09-09 12:18:01 +02:00
|
|
|
|
2019-12-24 21:46:21 +01:00
|
|
|
[![Travis Build Status]](https://travis-ci.com/sfztools/sfizz)
|
2019-09-18 09:13:36 +02:00
|
|
|
|
2019-12-24 21:46:21 +01:00
|
|
|
Sfizz depends on the [sndfile] library.
|
|
|
|
|
The [JACK] client that you will probably build depends on the `jack` library.
|
2019-09-09 12:18:01 +02:00
|
|
|
To build `sfizz` you need to install both as shared libraries on the system.
|
|
|
|
|
In Debian-based distributions, this translates into
|
2019-12-24 21:46:21 +01:00
|
|
|
|
|
|
|
|
```bash
|
2019-09-09 12:18:01 +02:00
|
|
|
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
|
2019-12-24 21:46:21 +01:00
|
|
|
3. Build
|
|
|
|
|
4. Enjoy :)
|
2019-09-09 12:18:01 +02:00
|
|
|
|
|
|
|
|
In the shell world, this means
|
2019-12-24 21:46:21 +01:00
|
|
|
|
|
|
|
|
```bash
|
2019-09-26 01:27:07 +02:00
|
|
|
git clone --recursive https://github.com/sfztools/sfizz.git
|
2019-09-09 12:18:01 +02:00
|
|
|
cd sfizz
|
|
|
|
|
mkdir build && cd build
|
2019-12-24 21:46:21 +01:00
|
|
|
cmake -DCMAKE_BUILD_TYPE=Release ..
|
2019-09-09 12:18:01 +02:00
|
|
|
make
|
|
|
|
|
```
|
2019-12-24 21:46:21 +01:00
|
|
|
|
|
|
|
|
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`.
|
2019-09-09 12:18:01 +02:00
|
|
|
Just specify an `.sfz` file as a parameter and you are good to go.
|
2019-12-24 21:46:21 +01:00
|
|
|
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`).
|
2019-09-09 12:18:01 +02:00
|
|
|
If no Jack server is already started it will start one with basic options.
|
|
|
|
|
|
2019-12-24 21:46:21 +01:00
|
|
|
## Possible pitfalls and alternatives
|
2019-09-09 12:18:01 +02:00
|
|
|
|
2019-12-24 21:46:21 +01:00
|
|
|
If you already cloned the repository without the `--recursive` option,
|
|
|
|
|
update the submodules manually with
|
|
|
|
|
|
|
|
|
|
```bash
|
2019-09-09 12:18:01 +02:00
|
|
|
git submodule update --init --recursive
|
|
|
|
|
```
|
|
|
|
|
|
2019-12-24 21:46:21 +01:00
|
|
|
You can build with `clang`, although in that case the CMakeFile
|
|
|
|
|
defaults to using `libc++` instead of `libstdc++`.
|
|
|
|
|
|
|
|
|
|
[Travis Build Status]: https://img.shields.io/travis/com/sfztools/sfizz.svg?label=Linux-macOS&style=popout&logo=travis
|
|
|
|
|
[JACK]: https://jackaudio.org/
|
|
|
|
|
[sndfile]: http://mega-nerd.com/libsndfile/
|
|
|
|
|
[here]: https://sfztools.github.io/sfizz/macos
|
|
|
|
|
|