PINE64
Spotify clients - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: PinePhone (https://forum.pine64.org/forumdisplay.php?fid=120)
+--- Forum: PinePhone Software (https://forum.pine64.org/forumdisplay.php?fid=121)
+---- Forum: Mobian on PinePhone (https://forum.pine64.org/forumdisplay.php?fid=139)
+---- Thread: Spotify clients (/showthread.php?tid=10455)



Spotify clients - vicky - 06-27-2020

I successfully build librespot. (https://github.com/librespot-org/librespot) I just followed the normal building process but I also had to install cargo. I am using a UBtouch Edition. (You will need a Spotify Premium account in order to use it)

Edit: I tried installing it just using cargo install but I got an error that way. So I recommend building it like I did.

My experience with building it:

I used ssh and built everything on my phone. Remember that building takes much time, so make sure that your phone receives at least 0.5A during the whole process and has at least a third of the battery capacity left. With 0.5A your battery will only drain slowly. The device will get very hot so I recommend not using a case, opening the back plate, keeping it inside in the shade by room temperature and on a flat surface.

After building I was able to start playback by selecting it as a speaker using Spotify Connect on my desktop. (I guess it should be able from any other normal spotify client. I didn't have any problem with the playback when I plugged in headphones and when I unplugged them again. But if you accept a call while using librespot all audio playblack will stop and your audio won't work. I was just able to make calls again and use everything normally again after I had rebooted my PinePhone.

Librespot needs to run the whole time in the terminal. While playing music it uses ~18% CPU according to top. Just being idle uses about 7% CPU. But while librespot is not playing music the speakers will be on with a high pitched noise.

Here's how I built it:

Code:
sudo apt update
sudo apt install build-essential libasound2-dev git cargo
mkdir build
cd build
git clone https://github.com/librespot-org/librespot.git
cd librespot
cargo build --release

The built files will be in ~/build/librespot/target/release

So in order to run it you need to start librespot from there, move it to where you want to use it or create a symbolic link to it.

Here are the options for running it: https://github.com/librespot-org/librespot/wiki/Options

If you want to update you need to build it again.


RE: Spotify client (Spotify Connect) - vicky - 06-29-2020

Today I build ncspot. (https://github.com/hrkfdn/ncspot) It worked. I was able to listen to music without needing another device while I was on the bus today. Though I sometimes experienced crashes when I wanted to play music by artist. I didn't look into the causes of the error. Sometimes you will see errors showing but they didn't cause any problems for me. Since I was on the bus I didn't care to look into it. Ncspot is still usable I just had to press an arrow key to get into another menu and everything looked fine again.

As far as I know you need Spotify Premium for this client as well.

Building ncspot worked like building librespot just with one change. Just downloading all dependencies first, then getting the source using git and building it with cargo. I noticed that building on the PinePhone took forever and I couldnt really use it anymore. When I looked into it there was no memory left. So I recommend building it using cargo build -j 1 --release (if you are too lazy setting up cross compiling like I am).



Code:
sudo apt update && sudo apt dist-upgrade
sudo apt-get install rustc libpulse-dev libssl-dev libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libncurses-dev libssl-dev libdbus-1-dev pkg-config
mkdir build
cd build
git clone https://github.com/hrkfdn/ncspot
cd ncspot
cargo build -j 1 --release


The built files will be in ~/build/ncspot/target/release

So in order to run it go there and start ncspot.

You look up the key bindings on the ncspot git page.

Code:
cd /home/mobian/build/ncspot/target/release
./ncspot



I also tried building Tizonia but failed at it. For now I didn't feel looking further into it since ncspot works for me.


RE: Spotify clients - Tristan42 - 08-05-2020

Hi! Thank you for sharing this.

On my side, I tried to install spotifyd, and spotify-tui. I am on Archlinux, so the compilation process is just to install the package from AUR (spotifyd-full-git and spotify-tui, do not use the -bin packages)

Spotify-tui is a terminal ui, so it is not the most optimized for a phone, but it was surprisingly usable. I only have two issues right now:
  • The "Daily mix" playlists are not available
  • A disconnection bug when I use my VPN (probably linked to this issue ?)
Also, the music is obviously stopping when the phone enter sleep mode, when crust is enabled. Is there any way to disable crust when pulseaudio has an active output?