A curses-based client for the SoundCloud music sharing platform.
Please note that this application is incomplete, pre-alpha, and still under development. Tracks are not yet playable. Many things are incomplete, suboptimal, and in need of revision.
cd /path/to/clone/dir
pip install -r requirements.txt
To access the SoundCloud API and play tracks, you need to have a SoundCloud account and register a new SoundCloud "app."
- Sign up or log in. https://soundcloud.com
- Register a new app. https://developers.soundcloud.com
- Copy the Client ID of your new app. https://soundcloud.com/you/apps
- Paste the Client ID into soundcurses.py, replacing the existing, fake Client ID near line 53.
I'm aware that the necessity to edit a source file is quite bad. In the near future, I will use a config file in the OS user's config directory and will likely implement an input mechanism for the Client ID in the UI itself.
cd /path/to/clone/dir
python soundcurses.py
A modal prompt will be presented on startup into which one must enter a soundcloud.com username. The username of a soundcloud.com user is found in the URL path. For example, to access the SoundCloud assets of an artist called Edamame:
- Navigate to the artist's soundcloud.com page.
- Example: https://soundcloud.com/edamame
- Extract the first URL path segment following the domain name.
- Example: https//soundcloud.com/edamame
- Extract only the first segment. Incorrect: https//soundcloud.com/edamame/tracks
- Type or paste the username into the modal prompt and press Enter.
A "subresource" is a SoundCloud user's tracks, favorite tracks, followers, etc.
Key | Action |
---|---|
c | Close modal window |
q | Quit |
u | Enter a soundcloud.com username |
ArrowDown | Select next subresource in list |
ArrowUp | Select previous subresource in list |
PageDown | Scroll to next page of subresources in list |
PageUp | Scroll to previous page of subresources in list |
Tab | Cycle subresource categories of the current SoundCloud user |
F1 | Show help |