Skip to content

Latest commit

 

History

History
105 lines (70 loc) · 3.84 KB

README.md

File metadata and controls

105 lines (70 loc) · 3.84 KB

soundcloud9000

Codacy Badge Gem Version Build Status

The next generation SoundCloud client. Without all these stupid CSS files. Runs on macOS and Linux.

Screen Shot 2019-04-28 at 20 42 40

Screen Shot 2019-08-02 at 12 31 53

This hack was originally built at the Music Hack Day Stockholm 2013.

The Difference Between soundcloud2000 and soundcloud9000

The original software, soundcloud2000, is no longer maintained, and so I've picked it back up so I can add new features.

Requirements

  • Ruby
    • ruby 2.5.3 on Ubuntu 18.04 (bionic), Ubuntu 16.04 (xenial), Ubuntu 14.04 (trusty), and macOS 10.13.6
    • ruby 2.6.6 on Ubuntu 18.04 (bionic), Ubuntu 16.04 (xenial), Ubuntu 14.04 (trusty), and macOS 10.13.6
    • ruby 2.6.3p62 on macOS 10.15.5 Beta
  • Portaudio (19)
  • Mpg123 (1.14)

Legal

See this comment.

[The] stream needs to be downloaded, which is already against the ToS of SoundCloud. So just by using [this], you are breaking the law.

Installation

Assuming you have Ruby/RubyGems installed, you need portaudio and mpg123 installed as libraries to compile the native extensions.

macOS

xcode-select --install
brew install portaudio
brew install mpg123
gem install soundcloud9000

If you ever encounter a problem with audite being required, run:

gem uninstall audite
gem install --user audite -- --with-ldflags="-lmpg123"

See this comment for more information.

Debian / Ubuntu

apt-get install portaudio19-dev libmpg123-dev libncurses-dev ruby-dev
gem install soundcloud9000

Usage

In order to use soundcloud9000, you need to acquire a client credential for your application. soundcloud9000 expects a valid client id to be set in the SC_CLIENT_ID environment variable.

You can either set this up in your .bashrc or equivalent or you can specify it on the command line:

SC_CLIENT_ID=YOUR_CLIENT_ID soundcloud9000

Features

  • stream SoundCloud tracks in your terminal (enter)
  • scroll through sound lists (down / up)
  • play / pause support (space)
  • forward / rewind support (right / left)
  • play tracks of different users (u)
  • play favorites from a user (f)
  • play sets/playlists from a user (s)
  • level meter
  • play songs in random order (m)
  • no advertisements
  • live help (h)

Planned

  • sorting tracks
  • custom configuration file
  • live lyrics (don't get your hopes up for this one)

Authors

Contributors

Current Maintainer