Updated the README

This commit is contained in:
Paul Ferrand 2020-01-05 16:40:36 +01:00
parent d9dfbaf06f
commit 33a581fa58

View file

@ -4,8 +4,8 @@
## Building
Sfizz depends on the `sndfile` library.
The Jack client that you will probably build depends on the `jack` library.
`sfizz` depends on the `libsndfile` library.
The JACK client 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
```
@ -15,21 +15,32 @@ 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
3. Build as release
4. Enjoy :)
In the shell world, this means
```sh
git clone --recursive https://github.com/sfztools/sfizz.git
git checkout develop
cd sfizz
mkdir build && cd build
cmake ..
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
```
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.
By default this builds and installs:
- The shared library version of sfizz
- The JACK client
- The LV2 plugin
The JACK client 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`).
Note that you can disable all targets but the LV2 plugin using
```sh
cmake -DCMAKE_BUILD_TYPE=Release -DSFIZZ_JACK=OFF -DSFIZZ_SHARED=OFF ..
```
and process as before.
### Possible pitfalls and alternatives
@ -70,4 +81,3 @@ This builds the lv2 plugin in `build\lv2\Release` and the Turtle files in `build
In particular, having the required DLLs along with `sfizz.dll` is actually not helpful because the system cannot find dlls from another dll's root directory.
You thus need to add all of `FLAC.dll`, `libsndfile-1.dll`, `vorbis.dll`, `ogg.dll`, `vorbisenc.dll` in some directory in your `PATH` variable, and manually add `sfizz.dll` to the `sfizz.lv2` directory, and the the `sfizz.lv2` directory to `%APPDATA%\Roaming\LV2`.
Ardour should then find the plugin correctly and load it without issues.