From b1165ff2cdc326e8145c8d2991c898de995a544f Mon Sep 17 00:00:00 2001 From: pizzaboy75 <34249331+pizzaboy75@users.noreply.github.com> Date: Wed, 28 Feb 2018 13:27:40 +0100 Subject: [PATCH 1/3] Add volume parameter to Librespot integration Make use of the new "--initial-volume" parameter in librespot --- server/streamreader/spotifyStream.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/streamreader/spotifyStream.cpp b/server/streamreader/spotifyStream.cpp index aa7dc3f3..dc5a9150 100644 --- a/server/streamreader/spotifyStream.cpp +++ b/server/streamreader/spotifyStream.cpp @@ -36,6 +36,7 @@ SpotifyStream::SpotifyStream(PcmListener* pcmListener, const StreamUri& uri) : P string username = uri_.getQuery("username", ""); string password = uri_.getQuery("password", ""); string cache = uri_.getQuery("cache", ""); + string volume = uri_.getQuery("volume", ""); string bitrate = uri_.getQuery("bitrate", "320"); string devicename = uri_.getQuery("devicename", "Snapcast"); string onstart = uri_.getQuery("onstart", ""); @@ -50,6 +51,8 @@ SpotifyStream::SpotifyStream(PcmListener* pcmListener, const StreamUri& uri) : P params_ += " --bitrate " + bitrate + " --backend pipe"; if (!cache.empty()) params_ += " --cache \"" + cache + "\""; + if (!volume.empty()) + params_ += " --initial-volume \"" + volume + "\""; if (!onstart.empty()) params_ += " --onstart \"" + onstart + "\""; if (!onstop.empty()) From 324a799e203156824cd616743cb3fcb65ad09a92 Mon Sep 17 00:00:00 2001 From: pizzaboy75 <34249331+pizzaboy75@users.noreply.github.com> Date: Wed, 28 Feb 2018 13:30:08 +0100 Subject: [PATCH 2/3] Add volume parameter to Librespot integration --- server/streamreader/spotifyStream.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/streamreader/spotifyStream.h b/server/streamreader/spotifyStream.h index a80bed4e..5ea6a087 100644 --- a/server/streamreader/spotifyStream.h +++ b/server/streamreader/spotifyStream.h @@ -28,7 +28,7 @@ * Implements EncoderListener to get the encoded data. * Data is passed to the PcmListener * usage: - * snapserver -s "spotify:///librespot?name=Spotify&username=&password=[&devicename=Snapcast][&bitrate=320][&cache=]" + * snapserver -s "spotify:///librespot?name=Spotify&username=&password=[&devicename=Snapcast][&bitrate=320][&volume=][&cache=]" */ class SpotifyStream : public ProcessStream, WatchdogListener { From a826f22ee0decf96ad1953243dd92b0c21f1fe48 Mon Sep 17 00:00:00 2001 From: pizzaboy75 <34249331+pizzaboy75@users.noreply.github.com> Date: Wed, 28 Feb 2018 13:31:36 +0100 Subject: [PATCH 3/3] Add volume parameter to Librespot integration --- doc/player_setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/player_setup.md b/doc/player_setup.md index 35fd6f61..1e3394de 100644 --- a/doc/player_setup.md +++ b/doc/player_setup.md @@ -133,7 +133,7 @@ Snapserver supports [shairport-sync](https://github.com/mikebrady/shairport-sync ### Spotify Snapserver supports [librespot](https://github.com/plietar/librespot) with `pipe` backend. 1. Build and copy the `librespot` binary somewhere to your `PATH`, e.g. `/usr/local/bin/` - 2. Configure snapserver with `-s "spotify:///librespot?name=Spotify[&username=&password=][&devicename=Snapcast][&bitrate=320][&onstart=][&onstop=][&cache=]"` + 2. Configure snapserver with `-s "spotify:///librespot?name=Spotify[&username=&password=][&devicename=Snapcast][&bitrate=320][&onstart=][&onstop=][&volume=][&cache=]"` * Valid bitrates are 96, 160, 320 * `start command` and `stop command` are executed by Librespot at start/stop * For example: `onstart=/usr/bin/logger -t Snapcast Starting spotify...`