Please head over to the announcement thread for continued discussion.
Here's Spotty, my not fully fleshed out potential next generation Spotify implementation for Squeezebox.
Spotty is using the open-source librespot library (https://github.com/plietar/librespot). That library is implemented in a programming language I didn't even know before (Rust). So please prepare for failure and longish bugfix cycles :-). If you're ready to take the risk, here you go:
- Add http://www.herger.net/slim-plugins/test.xml to the plugins repository list
- Install Spotty
- Uninstall the official Spotify, Spotify Protocol Handler and Triode's Spotify plugins (if installed)
- Head over to mysqueezebox.com to remove Spotify from your apps
- Restart LMS
- Go to Settings/Advanced/Spotty and follow the instructions
- Use Spotty as you used to use Spotify on SB before.
On platforms other than Windows you should be able to authorize the plugin using your mobile or desktop Spotify application. On Windows unfortunately you'll have to enter username/password (which are NOT stored in LMS).
My kids have been using this plugin for a few weeks now, for hours a day. It sometimes takes a tad longer to buffer the first track. But after that playback seems to be pretty gapless. It does seeking. Doesn't crash when skipping tracks. Isn't limited to a single device. Let's keep fingers crossed it continues to work post Fall '17...
Technically this implementation follows a pretty different approach than the old implementations. Rather than having a daemon run in the background, Spotty is running the helper app for every track. It uses the transcoding framework to pipe the audio data back in to LMS, very much like any file format would do which required transcoding. By default Spotty would stream audio as FLAC. But this can be changed in the file formats settings (PCM or mp3). My office LMS is running on a piCorePlayer based Pi3 installation. CPU load is well below 10% during playback.
There are binaries for MacOS, Windows (needs MS VC 2015 runtime), and some Linux flavors (i686, x86_64, ARM HF & SF). I would be surprised if they worked all, though :-/. In particular the arm build has seen little to no testing. It fails on my ReadyNAS Duo v2 lack of some dependencies. The list continues... Please report back your "uname -a" if you fail on Linux. Thanks!
Results 1 to 10 of 464
-
2017-05-17, 22:18 #1
The Spotty Spotify implementation
Last edited by mherger; 2017-07-05 at 22:03.
Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)
-
2017-05-18, 00:01 #2
- Join Date
- Feb 2010
- Posts
- 342
Michael sounds great and I will try and set up a standalone player to do some tests...time permitting of course ;-)
-
2017-05-18, 00:01 #3
- Join Date
- Feb 2010
- Posts
- 342
And a huge thank you too!!
-
2017-05-18, 00:32 #4
- Join Date
- Aug 2014
- Location
- UK
- Posts
- 266
Many thanks for this Michael.
For your information, it doesn't work on my raspberry pi B running squeezeplug. :
Code:There has been a problem running the Spotty helper application. Most likely your operating system and/or platform is not supported. Please report the following details to me: Debian / armv7l-linux
-
2017-05-18, 00:52 #5
For the brave only: the Spotty Spotifyimplementation
> For your information, it doesn't work on my raspberry pi B running
> squeezeplug. :
This is the Pi 1 (not 2 or 3) B?
What would "ldd --version" tell you? Could you run the spotty executable
from the two arm-linux sub-folders of the plugin?
--
Michael
-
2017-05-18, 02:03 #6
- Join Date
- Apr 2010
- Posts
- 772
-
2017-05-18, 02:25 #7Michael
"It doesn't work - what shall I do?" - "Please check your server.log and/or scanner.log file!"
(LMS: Settings/Information)
-
2017-05-18, 02:57 #8
Thanks for all your efforts Michael, I will give it a go over the weekend and report back.
Eternally grateful to all the techies here working in their spare time, particularly you with the updated Spotify app and BPA with BBC iPlayer. This has kept my Squeezebox kit running much longer than I ever anticipated - saving me buckets of cash on less capable replacements - so it is the least I can do to help beta (alpha?) test.Matt
SqueezeBoxes: 3 x piCorePlayers with two Duets, one no longer in active service.
Server: Synology DS214 (2TB) NAS running LMS 7.9.1
Network: TP-Link Archer VR200 router, 3 x Netgear Orbi WiFi mesh access points (amazing!).
Livingroom: Duet, Linn LP12, Naim 72/Hi-cap/110/Headline amp, B&W CM2 speakers
Kitchen: piCorePlayer, Tibo powered speakers.
Dining: piCorePlayer, second hand Cambridge amp and speakers.
Portable: piCorePlayer with LMS and copy music library.
-
2017-05-18, 03:45 #9
- Join Date
- Apr 2008
- Location
- Paris, France
- Posts
- 2,246
Excellent name
2 SB 3 • 1 PCP 6 • Libratone Loop, Zipp, Zipp Mini • iPeng (iPhone + iPad) • LMS 7.9 (linux) with plugins: CD Player, WaveInput, Triode's BBC iPlayer by bpa • IRBlaster by Gwendesign (Felix) • Smart Mix, Music Walk With Me, What Was That Tune? by Michael Herger • PowerSave by Jason Holtzapple • Song Info, Song Lyrics by Erland Isaksson • AirPlay Bridge by philippe_44 • WeatherTime by Martin Rehfeld • Auto Dim Display, SaverSwitcher, ContextMenu by Peter Watkins.
-
2017-05-18, 05:06 #10
- Join Date
- Aug 2014
- Location
- UK
- Posts
- 266
This is the Pi 1 B
Running ldd --version produces this :
Code:root@squeezeplug:~# ldd --version ldd (Debian EGLIBC 2.13-38+rpi2+deb7u3) 2.13 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper.
Code:root@squeezeplug:/var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/Spotty/Bin/arm-linux# ./spotty ./spotty: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.18' not found (required by ./spotty) ./spotty: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.17' not found (required by ./spotty)
Code:root@squeezeplug:/var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/Spotty/Bin/armhf-linux# ./spotty ./spotty: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.18' not found (required by ./spotty) ./spotty: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.17' not found (required by ./spotty)
------
uname -a :
Code:root@squeezeplug:~# uname -a Linux squeezeplug 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux
Last edited by expectingtofly; 2017-05-18 at 05:24.