Project

cloudruby

0.03
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
== A soundcloud player written in Ruby with Ncurses for user interface and mpg123 for playback. Requires the mpg123 executable to be present in the PATH. == Usage * lists recently uploaded tracks from soundcloud cloudruby * lists all tracks that matches the keyword (here 'wearecastor') cloudruby wearecastor * also works with the direct soundcloud URL cloudruby http://soundcloud.com/crassmix/feint-clockwork-hearts-crass
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

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:

Key Description
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.