From 071a53bfa6db56a91f28c7906a58c815959f7a8a Mon Sep 17 00:00:00 2001 From: redtide Date: Tue, 24 Dec 2019 21:46:21 +0100 Subject: [PATCH] Update README.md --- README.md | 58 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 01f8b8da..fca0b425 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,66 @@ # 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. In Debian-based distributions, this translates into -``` + +```bash 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. Prep the Makefiles with the `SFIZZ_CLIENTS` option -4. Build -5. Enjoy :) +3. Build +4. Enjoy :) In the shell world, this means -```sh + +```bash git clone --recursive https://github.com/sfztools/sfizz.git cd sfizz mkdir build && cd build -cmake -D CMAKE_BUILD_TYPE=Release -D SFIZZ_CLIENTS=ON .. +cmake -DCMAKE_BUILD_TYPE=Release .. 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. -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. -### 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 ``` -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 +