Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kulpae/cloudruby

Ncurses player for Soundcloud tracks in Ruby
https://github.com/kulpae/cloudruby

Last synced: 3 months ago
JSON representation

Ncurses player for Soundcloud tracks in Ruby

Awesome Lists containing this 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:

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](https://www.dropbox.com/s/j6uuqf56sgb53tw/cloudruby-default.png?raw=1)
![Screenshot showing customized curses user interface](https://www.dropbox.com/s/3re0xiqkd2403to/cloudruby-custom.png?raw=1)
![Screenshot showing customized curses user interface](https://www.dropbox.com/s/kfiu4ve85jsxh04/cloudruby-styling.png?raw=1)

## Config

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

### Example
```json
{
"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](doc/colors.md)

## Maintainer
* [Paul Koch [kulpae]](http://www.uraniumlane.net/users/kulpae)

## Contributors
* [magnific0](http://www.github.com/magnific0)

## License
see LICENSE.