soundcloud9000
The next generation SoundCloud client. Without all these stupid CSS files. Runs on macOS and Linux.
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 require
d, 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)