soundcloud-m3u
soundcloud-m3u is a command line tool that generates .m3u playlists, where the entries point to Soundcloud http streams. The idea is to let you stream your favourite Soundcloud artists and playlists from any client you want (as long as they play http streams).
Usage
soundcloud-m3u can handle three kinds of Soundcloud URLs: tracks, users, playlists/sets.
Example
$ soundcloud-m3u -u https://soundcloud.com/addivt -d ~/Music
Options
| Option |
Explanation |
| -u, -url (Required) |
The Soundcloud URL to generate the .m3u files from |
| -d, -dir |
The directory to save the .m3u files to. Default: working directory |
| -s, -sets |
If this flag is set, .m3u playlists will be generated for for all sets (albums and playlists) on the given user's profile. This only applies when a profile URL is given |
| -f, -favourites |
If this flag is set, a .m3u playlist will be created from the given user's liked/favourited tracks. This only applies when a profile URL is given |
| -v, -verbose |
Verbose logging |
| -id |
See the client_id section below |
client_id
In order to use the Soundcloud API (including using the http stream), one needs a client_id. A key is provided in the source code, however if you run into issues with this program, you will probably need to know more details about the client_id.
Any user can apply for their own key, however the process is slow. Additionally, Soundcloud artists can choose to block the API from accessing their tracks. To get around this, we can find the Soundcloud master key in their app.js file. This is the key from their web player, and has no limitations. This key does change from time to time, so be prepared to find it or look for an update to this repository. Of course, if you don't want to break to API ToS get your own key. Using the provided key is your own choice.
Building
soundclound-m3u is written in Go. This means you must have the Go compiler, and have your GOPATH set. To build simply run
$ go get github.com/dangodai/soundcloud-m3u
$ cd $GOPATH/src/github.com/dangodai/soundcloud-m3u
$ go install
The go install command installs the binary to $GOPATH/bin.
Todo
- Look into generating .m3u files from Bandcamp links
- Provide binaries/AUR and apt packages