diff --git a/README.md b/README.md index be46aebf..25c80d0d 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ Note: librespot only works with Spotify Premium # This fork As the origin is no longer maintained I wanted to have a place for a version of librespot with other peoples forks and features merged. +# Wiki +More information can befound in the [wiki](https://github.com/ComlOnline/librespot/wiki) # Credits I've done nothing more than make this pretty so big thanks to: @@ -51,80 +53,8 @@ cargo build --release A sample program implementing a headless Spotify Connect receiver is provided. Once you've built *librespot*, run it using : ```shell -target/release/librespot --username USERNAME --cache CACHEDIR --name DEVICENAME [--initial-volume 20] +target/release/librespot --name DEVICENAME ``` - -### All options - -| Type | Short | Long | Description | Hint | -|----------|-------|---------------------|-------------------------------------------------|-------------| -| Option | c | cache | Path to a directory where files will be cached. | CACHE | -| Flag | | disable-audio-cache | Disable caching of the audio data. | | -| Required | n | name | Device name | NAME | -| Option | | device-type | Displayed device type | DEVICE_TYPE | -| Option | b | bitrate | Bitrate (96, 160 or 320). Defaults to 160 | BITRATE | -| Option | | onstart | Run PROGRAM when playback is about to begin. | | -| Option | | onstop | Run PROGRAM when playback has ended. | PROGRAM | -| Flag | v | verbose | Enable verbose output | PROGRAM | -| Option | u | username | Username to sign in with | USERNAME | -| Option | p | password | Password | PASSWORD | -| Flag | | disable-discovery | Disable discovery mode | | -| Option | | backend | Audio backend to use. Use '?' to list options | BACKEND | -| Option | | device | Audio device to use. Use '?' to list options | DEVICE | -| Option | | mixer | Mixer to use | MIXER | -| Option | | initial-volume | Initial volume in %, once connected [0-100] | VOLUME | - -Taken from here: -https://github.com/ComlOnline/librespot/blob/master/src/main.rs#L88 - -## Audio Backends -*librespot* supports various audio backends. Multiple backends can be enabled at compile time by enabling the -corresponding cargo feature. By default, only PortAudio is enabled. - -A specific backend can selected at runtime using the `--backend` switch. - -```shell -cargo build --features portaudio-backend -target/release/librespot [...] --backend portaudio -``` - -The following backends are currently available : -- ALSA -- PortAudio -- PulseAudio - -## Cross-compiling -A cross compilation environment is provided as a docker image. -Build the image from the root of the project with the following command : - -``` -$ docker build -t librespot-cross -f contrib/Dockerfile . -``` - -The resulting image can be used to build librespot for linux x86_64, armhf (compatible e. g. with Raspberry Pi 2 or 3, but not with Raspberry Pi 1 or Zero) and armel. -The compiled binaries will be located in /tmp/librespot-build - -``` -docker run -v /tmp/librespot-build:/build librespot-cross -``` - -If only one architecture is desired, cargo can be invoked directly with the appropriate options : -```shell -docker run -v /tmp/librespot-build:/build librespot-cross cargo build --release --no-default-features --features alsa-backend -docker run -v /tmp/librespot-build:/build librespot-cross cargo build --release --target arm-unknown-linux-gnueabihf --no-default-features --features alsa-backend -docker run -v /tmp/librespot-build:/build librespot-cross cargo build --release --target arm-unknown-linux-gnueabi --no-default-features --features alsa-backend -``` - -Don't forget to set the `with-tremor` feature flag if your target device does not have floating-point capabilities. - -## Development -When developing *librespot*, it is preferable to use Rust nightly, and build it using the following : -```shell -cargo build --no-default-features --features "nightly portaudio-backend" -``` - -This produces better compilation error messages than with the default configuration. - ## Disclaimer Using this code to connect to Spotify's API is probably forbidden by them. Use at your own risk.