Ncurses player for Soundcloud tracks in Ruby
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
doc
lib Regression in color parsing, Fixes #18 Apr 18, 2016
LICENSE
README.md Remove open-uri from install command Mar 23, 2016
cloudruby.gemspec Color update & bugfixes Nov 4, 2015

README.md

CloudRuby

A soundcloud player written in Ruby with Ncurses for graphical interface and mpg123 for playback.

Installation

Install mpg123, ruby 1.9.2+, curses and json_pure with a package manager of your distribution.

Then install the required gems.

If you are using RVM:

  gem install curses json_pure httpclient

Without RVM you need to obtain write permissions with sudo:

  sudo gem install curses json_pure httpclient open-uri

Usage

From the terminal start with:

  cloudruby          # query the latest 100 tracks from soundcloud
  cloudruby $search  # query the latest 100 tracks that match the $search keyword

  # play a soundcloud url directly
  cloudruby http://soundcloud.com/crassmix/feint-clockwork-hearts-crass

Shortcuts:

KeyDescription
ESC | q | Q Quit
+ | = Increase volume
- | _ Decrease volume
n | N | Up Next track
p | P | Down Previous track
m | M Toggle mute
d | D Download file
v | V Info dialog
Spacebar Toggle playback

More detailed information can be found in the doc folder.

Download

With 'd' or 'D' you can download a downloadable file from soundcloud. The file will be placed inside your download directory specified with --download_dir argument or inside your ~/.cloudruby.json. If none of these are given, the current working directory is used.

A track is indicated by a [D] in the playlist if it's downloadable.

Screenshots

Screenshot showing curses user interface Screenshot showing customized curses user interface Screenshot showing customized curses user interface

Config

Cloudruby can be customized through ~/.cloudruby.json file.

Example

{
  "download_dir": "~/music",
  "audio-backend": "mpg123",
  "curses": {
    "colors": {
      "default": ["white", "black"],
      "playlist": ["green", "black"],
      "playlist_active": ["red", "black"],
      "progress": ["cyan", "black"],
      "progress_bar": ["blue", "white"],
      "title": ["cyan"],
      "artist": ["magenta"],
      "status": ["red"]
    }
  }
}

Read more about styling here

Maintainer

Contributors

License

see LICENSE.