Soundcloud playlists

What URL do I use for a SoundCloud playlist?

mpc add soundcloud+https://soundcloud.com/the-new-stand/sets/tbt-mix-o-nov-10

Yields Failed to lookup ...: SoundCloud track not found.

For that matter how do you even play a single track? E.g.

mpc add soundcloud+https://soundcloud.com/soares-joao/the-xx-intro-jumbo-p-bootleg-remix

Yields the same error.

Note that my authentication token is obtained, active, and set in mopidy.conf.

So for single tracks you have to use sc: and not soundcloud:.

For sets: Mopidy-SoundCloud doesn’t support SoundCloud set URLs, so I added support for it.

Use the sc: scheme, e.g.:

mpc add sc:https://soundcloud.com/someuser/sets/someset

Hello, i am facing the same issue and already created a issue in github:

At the Moment i installed the following soundcloud Extension:

but here my Playlist does not Show up. Even with mpc add mpc command
add sc:https://soundcloud.com/user/sets/soundcloud
it is not working:

DEBUG 2016-12-24 17:20:02,818 [3682:MpdSession-12] mopidy.mpd.session
Request from [::ffff:127.0.0.1]:58158: add “sc:SoundCloud - Hear the world’s sounds”
DEBUG 2016-12-24 17:20:02,818 [3682:MpdSession-12] mopidy.mpd.session
Request from [::ffff:127.0.0.1]:58158: command_list_end
DEBUG 2016-12-24 17:20:02,827 [3682:SoundCloudBackend-3] mopidy_soundcloud.soundcloud
Requesting https://api.soundcloud.com/resolve.json?url=https://soundcloud.com/user-234640846/sets/soundcloud&client_id=93e33e327fd8a9b77becd179652272e2
DEBUG 2016-12-24 17:20:02,895 [3682:SoundCloudBackend-3] requests.packages.urllib3.connectionpool
“GET /resolve.json?url=https://soundcloud.com/user-234640846/sets/soundcloud&client_id=93e33e327fd8a9b77becd179652272e2 HTTP/1.1” 302 142
DEBUG 2016-12-24 17:20:02,992 [3682:SoundCloudBackend-3] requests.packages.urllib3.connectionpool
“GET /playlists/285776468.json?client_id=93e33e327fd8a9b77becd179652272e2 HTTP/1.1” 200 557
DEBUG 2016-12-24 17:20:02,996 [3682:SoundCloudBackend-3] mopidy_soundcloud.soundcloud
Parsing item playlist in results…
DEBUG 2016-12-24 17:20:03,005 [3682:MpdSession-12] mopidy.mpd.session
Response to [::ffff:127.0.0.1]:58158: ACK [50@0] {add} directory or file not found
DEBUG 2016-12-24 17:20:03,008 [3682:MpdSession-12] mopidy.internal.network
Client most likely disconnected.

can you assists here please?

UPDATE:

the Problem seems to be the JSON Response:
https://api.soundcloud.com/resolve.json?url=https://soundcloud.com/user-234640846/sets/soundcloud&client_id=93e33e327fd8a9b77becd179652272e2

it does not contain ANY Songs:

,“track_count”:4 …
“tracks”:[

],

why :frowning:

UPDATE 2:

thatt seems to be the issue :-/

@chises Sorry it took so long to reply.

Yeah I’m not sure, I’ll look into it though. I found the same issue reports you just did, and a few other issue reports in the SoundCloud extension that seem to imply that it has problems with empty lists and stuff. I don’t fully understand the issues yet because I actually just now found those while looking for something else.

So as soon as I solve my current problems I’ll see if there’s something that can be done to make this clearer or improve it a little.

Btw, I added the SoundCloud sets support to the backend (that’s my fork), but I only made sure it worked when adding and playing e.g. via MPC. I didn’t do any tests against the web interface because I don’t use it, so I’m actually not really sure if my set support will extend over to the web UI or if there’s something else that also needs to be done (the backend API is pretty much completely undocumented – a somewhat surprising move for a library that touts itself as extendable – so it’s hard to guess what all has to happen).

The only bits I added to get set support working are visible in the patch at https://github.com/JC3/mopidy-soundcloud/commit/5d546a584da3eb7292e9ccc915f73e5df94149d0, where I added the ability for it to see a “playlist” response then simply iterate through the tracks and add them like it would add a normal track, and that’s the highest-level spot I found to do it. So I think it should work in the web interface, too, assuming calling self.parse_track and self.sanitize_tracks is all that needs to happen.

Did you not find the documentation at https://docs.mopidy.com/en/latest/api/backend/ ? If it needs work then please do make a contribution. Or just suggest specifically what you found to be lacking.

1 Like

@kingosticks I did not. For whatever reason I missed the entire “Reference” section all this time until I explicitly tried to find a path from the top level docs page to the link you just gave and found it at the bottom of the nav pane. At a quick read, it looks great, and is what I’ve been missing. I’ll go through the set support fork as soon as I can alongside these docs and make sure I didn’t leave anything out. Thanks.