Giter VIP home page Giter VIP logo

sconsify's Introduction

A spotify console app

Join the chat at https://gitter.im/fabiofalci/sconsify

A very early stage of a spotify console application.

Requirements: Libspotify SDK & PortAudio.

Installation

  • Download current version 0.2.1

  • Install dependencies:

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
  • Run ./sconsify

alt tag

Modes

There are 2 modes:

  • Console user interface mode: it presents a text user interface with playlists and tracks.

  • No user interface mode: it doesn't present user interface and just suffle tracks.

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:

  • h j k l for navigation.

  • Nj and Nk where N is a number: repeat the command N times.

  • gg: go to first element.

  • G: go to last element.

  • Ngg and NG where N is a number: go to element at position N.

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}
  • osx only: brew install pkgconfig

  • make build

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.

sconsify's People

Contributors

fabiofalci avatar estebanmonge avatar gitter-badger avatar

Watchers

James Cloos avatar Oleg Shevelev avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.