Update README.md
This commit is contained in:
parent
73a47a076b
commit
071a53bfa6
1 changed files with 41 additions and 17 deletions
58
README.md
58
README.md
|
|
@ -1,42 +1,66 @@
|
||||||
# sfizz
|
# sfizz
|
||||||
|
|
||||||
[](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
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue