Updated README
This commit is contained in:
parent
3abb63639b
commit
e917a9abed
2 changed files with 59 additions and 2 deletions
|
|
@ -7,6 +7,8 @@ Contributors include:
|
|||
- Paul Ferrand (2019-) paul at ferrand dot cc
|
||||
- Andrea Zanellato (2019-)
|
||||
- Jean-Pierre Cimalando (2020-)
|
||||
- Michael Willis (2020-)
|
||||
- Alexander Mitchell (2020-)
|
||||
|
||||
All rights reserved.
|
||||
|
||||
|
|
|
|||
59
README.md
59
README.md
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
## Building
|
||||
|
||||
`sfizz` depends on the `libsndfile` library.
|
||||
`sfizz` depends mainly 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
|
||||
|
|
@ -34,7 +34,7 @@ sudo make install
|
|||
By default this builds and installs:
|
||||
- The shared library version of sfizz
|
||||
- The JACK client
|
||||
- The LV2 plugin
|
||||
- The LV2 plugin with system libraries dynamically loaded
|
||||
|
||||
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`).
|
||||
|
||||
|
|
@ -83,3 +83,58 @@ 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.
|
||||
|
||||
### Building the LV2 plugin with static linkage to `libsndfile` on Linux
|
||||
|
||||
This uses Docker and `vcpkg` on Linux.
|
||||
Install a Docker version and use the `Dockerfile` located in `scripts/`.
|
||||
The `scripts/` directory also contains a `docker_lv2_release.sh` file that automates downloading the current `develop` branch and building an LV2 release plugin.
|
||||
Note that the statically linked LV2 plugin is to be distributed under the LGPL license, as per the terms of the `libsndfile` library.
|
||||
|
||||
## Case issues in SFZ libraries
|
||||
|
||||
Most SFZ libraries are built for Windows or macOS and both systems use case-insensitive file systems by default.
|
||||
This means that SFZ library developers may miss that the sample names used in their file does not have the same case as the ones in their filesystems.
|
||||
This will be painful for Linux folks.
|
||||
If you see that this is the case for a library you want to use, you can apply the `sfz_sample_checks.py` script located in the `scripts` directory of this repo to the `.sfz` file.
|
||||
The usage is as follows:
|
||||
|
||||
```sh
|
||||
usage: sfz_sample_checks.py [-h] [--output OUTPUT] [--test] file
|
||||
|
||||
Simple script to update the sample names in an existing SFZ files
|
||||
|
||||
positional arguments:
|
||||
file SFZ input file
|
||||
|
||||
optional arguments:
|
||||
-h, --help show this help message and exit
|
||||
--output OUTPUT Output file name; if not specified, _corrected will be
|
||||
appended to the input
|
||||
--test Test run
|
||||
```
|
||||
|
||||
Don't hesitate to propose to the sfz library maker to give him the updated file or use the script by himself or herself; this will be transparent for Windows or macOS users and make life of Linux users much easier.
|
||||
|
||||
## License and contribution information
|
||||
|
||||
Contributors to `sfizz` include:
|
||||
- Paul Ferrand (2019-) (maintainer)
|
||||
- Andrea Zanellato (2019-) (devops, documentation and distribution)
|
||||
- Jean-Pierre Cimalando (2020-)
|
||||
- Michael Willis (2020-)
|
||||
- Alexander Mitchell (2020-)
|
||||
|
||||
The sfizz library makes primary use of:
|
||||
- [libsndfile](https://github.com/erikd/libsndfile/) (licensed under the GNU Lesser General Public License v2.1)
|
||||
- [Abseil](https://github.com/abseil/abseil-cpp) (licensed under the Apache License 2.0)
|
||||
- [atomic_queue](https://github.com/max0x7ba/atomic_queue) by Maxim Egorushkin (licensed under the MIT license)
|
||||
- [filesystem](https://github.com/gulrak/filesystem) by Steffen Schümann (licensed under the BSD 3-Clause license)
|
||||
- [hiir](http://ldesoras.free.fr/prod.html#src_hiir) by Laurent de Soras (licensed under the Do What The Fuck You Want To Public License v2 license)
|
||||
|
||||
The sfizz library also uses in some subprojects:
|
||||
- [Catch2](https://github.com/catchorg/Catch2) (licensed under the Boost Software License 1.0)
|
||||
- [benchmark](https://github.com/google/benchmark) (licensed under the Apache License 2.0)
|
||||
- [LV2](https://lv2plug.in/) (licensed under the ISC license)
|
||||
- [JACK](https://github.com/jackaudio/jack2) (licensed under the GNU Lesser General Public License v2.1)
|
||||
- `neon_mathfun.h` and `sse_mathfun.h` by Julien Pommier (licensed under the zlib license)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue