mirror of
https://github.com/librespot-org/librespot.git
synced 2024-12-18 17:11:53 +00:00
Update README.md
This commit is contained in:
parent
608e8249a2
commit
1442e9a1a1
1 changed files with 3 additions and 73 deletions
76
README.md
76
README.md
|
@ -11,6 +11,8 @@ Note: librespot only works with Spotify Premium
|
||||||
# This fork
|
# 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.
|
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
|
# Credits
|
||||||
I've done nothing more than make this pretty so big thanks to:
|
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.
|
A sample program implementing a headless Spotify Connect receiver is provided.
|
||||||
Once you've built *librespot*, run it using :
|
Once you've built *librespot*, run it using :
|
||||||
```shell
|
```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
|
## Disclaimer
|
||||||
Using this code to connect to Spotify's API is probably forbidden by them.
|
Using this code to connect to Spotify's API is probably forbidden by them.
|
||||||
Use at your own risk.
|
Use at your own risk.
|
||||||
|
|
Loading…
Reference in a new issue