A spotify console app
A very early stage of a spotify console application.
Requirements: Libspotify SDK & PortAudio.
Installation
Archlinux
$ sudo pacman -S portaudio
$ sudo yaourt -S libspotify
Ubuntu
& debian
$ curl http://apt.mopidy.com/mopidy.gpg | sudo apt-key add - && sudo curl -o /etc/apt/sources.list.d/mopidy.list http://apt.mopidy.com/mopidy.list
$ sudo apt-get update && sudo apt-get install -y libportaudio2 libspotify12 --no-install-recommends
OSX
Install brew, the missing package manager for OS X and
$ brew tap homebrew/binary
$ brew install portaudio
$ brew install libspotify
$ cd /usr/local/opt/libspotify/lib/
$ ln -s libspotify.dylib libspotify
Modes
There are 2 modes:
Parameters
-
-username=""
: Spotify username. If not present username will be asked.
-
Password will be asked. To not be asked you can set an environment variable with your password export SCONSIFY_PASSWORD=password
. Be aware your password will be exposed as plain text.
-
-ui=true/false
: Run Sconsify with Console User Interface. If false then no User Interface will be presented and it'll only shuffle tracks.
-
-playlists=""
: Select just some playlists to play. Comma separated list.
No UI Parameters
-
-noui-repeat-on=true/false
: Play your playlist and repeat it after the last track.
-
-noui-silent=true/false
: Silent mode when no UI is used.
-
-noui-shuffle=true/false
: Shuffle tracks or follow playlist order.
UI mode keyboard
-
← ↓ ↑ → for navigation.
-
space
or enter
: play selected track.
-
>
: play next track.
-
p
: pause.
-
/
: open a search field.
-
s
: shuffle tracks from current playlist. Press again to go back to normal mode.
-
S
: shuffle tracks from all playlists. Press again to go back to normal mode.
-
u
: queue selected track to play next.
-
d
: delete selected track from the queue or delete selected search.
-
D
: delete all tracks from the queue if the focus is on the queue.
-
PageUp
PageDown
Home
End
.
-
Control C
or q
: exit.
Vi navigation style:
No UI mode keyboard
-
>
: play next track.
-
Control C
: exit.
sconsifyrc
Similar to .ackrc you can define default parameters in ~/.sconsify/sconsifyrc
:
-username=your-username
-noui-silent=true
-noui-repeat-on=false
How to build
Install go 1.5 (1.6 doesn't work because of new gco pointer rules), glide and get a Spotify application key and copy as a byte array to /sconsify/spotify/spotify_key_array.key
.
var key = []byte{
0x02, 0xA2, ...
...
0xA1}
When building for OSX you may face an issue where it doesn't get your application key. Just retry the build that eventually it will get the key.