diff --git a/README.md b/README.md index ea752de0..00491979 100644 --- a/README.md +++ b/README.md @@ -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. -