-
Notifications
You must be signed in to change notification settings - Fork 99
add support for SoundCloud #144
Comments
This would be awesome! @theli-ua you seem to have quite a lot of knowledge about locating relevant intents etc. I remember you mentioning From using this I noticed things like:
|
@inverse After you got your intents names you could build a version like this: And see logcat for the contents of the intents |
@theli-ua thanks for the heads up. I'll be interested in trying this out. This kinda stuff should go into the Wiki 👍 |
I was able to get SoundCloud track data from the notifications it posts by using the new notifications API introduced in Android 4.3 by pulling the extras android.title for the song and android.text for the artist. This also works with Pandora as another user reported but not iHeartRadio for some reason. |
I've managed to figure out that the SoundCloud application actually uses
|
Is there any ongoing development here? I'd like to pitch in if nobody built something so far. |
I started working a little bit on a branch (see https://github.com/inverse/sls/tree/soundcloud).
I'm really unsure as to if anything will ever get merged here @tgwizard has been pretty absent this past year. Although looking back that sounds a bit harsh which it's not meant to be. |
@vedit feel free to contribute or take the work what I've done to bring SC integration into the app:) |
@inverse thanks, I'll take a look at it today |
Any update on Soundcloud support? Thank you. |
Sorry for lack of an update. I took a stab at it and turns out correct names are the main problem with soundcloud. Couldn't reliably find and use track names for lastfm submissions, especially from record label pages. |
There is no way you will ever be able to automatically correct every single song on Soundcloud. It's better to just scrobble is as-is because then everybody will be scrobbling the same thing, even if it's technically "wrong." If 3000 people scrobble a song with incorrect info, last.fm will be much more likely to file a correction than 20 scrobbles on a "fixed" track title from this specific app. |
Perhaps looking at how the web-scrobbler handles Soundcloud for some ideas of how the track scrobbling could be done. |
@inverse I found another resource for you on parsing. |
@HumbleBeeBumbleBee Thanks for the heads up. I think It'll be good to look at how these other web-scrobblers handle such cases because It's not going to be an absolute solution but def an improvement over not scrobbling. Also we could add some validation against last.fm to only scrobble known tracks. But I am not sure what people's take on that would be. |
I've already said my take on the issue, but just to reiterate...I think we Everybody that uses soundcloud knows how weird some of the track names can
|
I have a working prototype of SoundCloud running on my phone now.
I don't think this is an SLS problem but a SoundCloud problem. |
Thanks for all of your work on that, I'm happy to see it finally
|
I second the motion because SoundCloud doesn't send the full track information anyways. |
@bhb192 The data source of the track is |
When I use SoundCloud with Bluetooth it sends the artist and the track name
separately, so maybe there is a way to get more characters if that can be
accessed.
|
@bhb192 I fired out and email to [email protected] |
If there isn't going to be any parsing involved I guess we can at least try to get all the information to last.fm or libre.fm so they can fix track information. |
https://github.com/tgwizard/sls/blob/SoundCloud/src/com/adam/aslfms/receiver/SoundCloud.java |
The cut of in intent track info seems a little strange. Let us know what SoundCloud say :) Is it worth porting some of the logic from web-scrobbler to clean up the track information? I guess that could be useful to have built into the core and enabled on a per-player basis. Perhaps for now just bundling it with SoundCloud would be sufficient for now. Opinions? Why do you say scrobbler after 4 minutes? |
I don't think we can port the logic of the webscrobbler, if our track information is not full. A track should only be scrobbled when the following conditions have been met:
http://www.last.fm/api/scrobbling Some SoundCloud tracks are a couple hours long. |
Makes sens 👍 I'd say it'll be worth raising a separate issue to discuss how this should be handled. |
If you ever scrobbled hour-long DJ mixes you'll notice that they scrobble
way before the half way point, hence the four minutes.
The reason I am so adamant about not doing a track cleanup is because it
will never be a catch-all and you actually end up scrobbling unique tracks
which are still incorrect, instead of ones that we know are wrong but still
have thousands of scrobbles already. Just look at the artist page for
octobersveryown.
Thanks again for all of your efforts, they are very much appreciated!
|
@bhb192 - If you're saying that 8tracks and others indiscriminately scrobble soundcloud username as artist name, that does complicate things. I see evidence of that here: http://www.last.fm/music/TriAngleRecords In that case, it might be better to split the track name first on "-" and see if last.fm's api's artist autocorrection feature returns an artist name for either side of that split. And look at souncloud username second. |
Most of the time making the SoundCloud username second priority will work,
|
Right. The splitting could be a bit more robust. Search the string for: whitespace + some assortment of delimeters + whitespace. |
Their email support told me to try StackExchange.
https://stackoverflow.com/questions/30083644/what-causes-soundcloud-track-strings-character-limits |
I have a new issue with SoundCloud becoming the default receiver instead of the built in music player. I think this could be the problem affecting 8tracks and VLC and my stock player not scrobbling properly. |
It's 100% caused by SoundCloudReceiver.java When "SoundCloud" is enabled in "Enabled Apps" VLC, Stock Samsung Music Player & 8tracks (& I assume others) DO NOT scrobble to last.fm, they only scrobble to libre.fm. When "SoundCloud" is disabled in "Enabled Apps" everything works normally. I believe the conflict is here with I think this is going to require asking SoundCloud Android developers to make their application Scrobbler compatible. Also, since SoundCloud does not even provide full track information (~40 character limit) I think it's a good idea to ask SoundCloud to make their app Scrobbler compatible and pull SoundCloud support until they make their app compatible. |
Not a solution to the problem, but 8tracks will scrobble server-side. I
|
@HumbleBeeBumbleBee It's been a while since I've worked with Android and my phone's USB is dodgy. But just discovered this though: https://play.google.com/store/apps/details?id=com.ttxapps.wifiadb&hl=en Had a play around and we need a way to distinguish which application sent the intent so we can filter this out in each.Getting the Soundcloud application to provide unique actions would solve this. However is there a way to get the application sending the intent from the onRecieve method? Could this be used to limit? https://chris.orr.me.uk/android-ssp-data-intent-filter/ Although only API 19+ supported. |
I left a branch OldSC with the current SoundCloud support as it is for people who want to build their own and manually enable/disable SoundCloud as they need it, but it seems like there are too many issues.
I can't cut off (potentially) half our user base for bad SoundCloud support.
We should just have a bunch of people demanding Scrobble support [email protected] |
I've given up on SoundCloud and decided to just get the SoundLoader app
from the Amazon store. This way, I don't have to rely on caching and can
play/scrobble everything from the stock Music app. Problem solved!
|
@bhb192 Great!!! |
The 40 character limit could be over come by using their API since we have the track ID. But the other issues will cause a problem. Having this on the backlog is a good idea in the mean time though :) |
https://meta.stackexchange.com/questions/257547/scrobble-support-in-soundcloud-official-app |
@inverse Any idea how we could implement some code to grab detailed track information from the SoundCloud API? |
That seems promising! |
It sure does! Also I forgot to mention that since I've been using the stock
Music app, I've been having this problem where if I've opened SoundCloud at
all since the last reboot, it will automatically launch and start playing
upon Bluetooth Audio connection.
Even if I have already force stopped it and cleared the cache. I can even
have the stock Music app open and playing, and SoundCloud will open itself,
stop the stock app, and start playing I guess the last song I was listening
to.
Could this be part of the problem that you're having with the receiver for
SoundCloud also interfering with other apps?
|
@bhb192 not sure what could be causing that. Maybe it's SoundCloud. I have the same problem with Chrome and Google Play Music opening sometimes. |
SLS accepts broadcasts for SoundCloud now. |
Why is this closed? I don't see SC on the apps list. I noticed the official Last.fm scrobbles SC now...though it looks like they're also restricted by the char limit. I've switched over to the official app just for this reason. I support parsing of differently-formatted titles...provided we can work around the char limit. The way web-scrobbler parses SC titles works really well almost all the time. It really sucks to scrobble something like [Artist:{"Elysian Records"}, Title:{"Artist - Title"}]. |
For android devices running 21 aka Lollipop or higher this should resolve any app issues. |
Support for SoundCloud scrobble.
The text was updated successfully, but these errors were encountered: