Update README.md

This commit is contained in:
redtide 2019-12-24 21:46:21 +01:00 committed by GitHub
parent 73a47a076b
commit 071a53bfa6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,42 +1,66 @@
# sfizz # sfizz
[![Travis Build Status](https://img.shields.io/travis/com/sfztools/sfizz.svg?label=Linux-macOS&style=popout&logo=travis)](https://travis-ci.com/sfztools/sfizz) [![Travis Build Status]](https://travis-ci.com/sfztools/sfizz)
## Building Sfizz depends on the [sndfile] library.
The [JACK] client that you will probably build depends on the `jack` library.
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. To build `sfizz` you need to install both as shared libraries on the system.
In Debian-based distributions, this translates into In Debian-based distributions, this translates into
```
```bash
sudo apt install libjack-jackd2-dev libsndfile1-dev sudo apt install libjack-jackd2-dev libsndfile1-dev
``` ```
The process is as follows: The process is as follows:
1. Clone the repository with all the submodules 1. Clone the repository with all the submodules
2. Create a build directory for CMake and `cd` into it 2. Create a build directory for CMake and `cd` into it
3. Prep the Makefiles with the `SFIZZ_CLIENTS` option 3. Build
4. Build 4. Enjoy :)
5. Enjoy :)
In the shell world, this means In the shell world, this means
```sh
```bash
git clone --recursive https://github.com/sfztools/sfizz.git git clone --recursive https://github.com/sfztools/sfizz.git
cd sfizz cd sfizz
mkdir build && cd build mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D SFIZZ_CLIENTS=ON .. cmake -DCMAKE_BUILD_TYPE=Release ..
make make
``` ```
You can then find the Jack client in `clients/sfizz_jack`.
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. 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`). 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. If no Jack server is already started it will start one with basic options.
### Possible pitfalls and alternatives ## Possible pitfalls and alternatives
If you already cloned the repository without the `--recursive` option, update the submodules manually with If you already cloned the repository without the `--recursive` option,
``` update the submodules manually with
```bash
git submodule update --init --recursive git submodule update --init --recursive
``` ```
You can build with `clang`, although in that case the CMakeFile defaults to using `libc++` instead of `libstdc++`. 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