gillesdemey / Cumulus

☁️ A SoundCloud player that lives in your menubar.
http://gillesdemey.github.io/Cumulus
MIT License
1.44k stars 122 forks source link

Playback rate limits #89

Open mediaformat opened 7 years ago

mediaformat commented 7 years ago

Cumulus v0.10.0 on macOS 10.11.6

After login I can see my feed.

As soon as I try to play anything from my list, the player just skips through everything, loading all track data into the player (image, artist, track, time remaining).

Hum4n01d commented 7 years ago

I'm getting a similar issue

On Mar 11, 2017, at 10:04 AM, Django Doucet notifications@github.com wrote:

Cumulus v0.10.0 on macOS 10.11.6

After login I can see my feed.

As soon as I try to play anything, the player just skips through everything, loading all track metadata into the player (.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

mediaformat commented 7 years ago

tried v.0.9.0, same deal

Hum4n01d commented 7 years ago

I’m using v0.9.0 and it’s skipping through, how should I fix this? /cc @gillesdemey

Hum4n01d commented 7 years ago

This might be helpful @gillesdemey:

I ran with NODE_ENV=development and got a whole bunch errors in the console that said:

https://api.soundcloud.com/tracks/224674551/stream?client_id=f17c1d67b83c86194fad2b1948061c9e 429 (Unknown)

I checked one of the error pages and I saw this:

{"errors":[{"meta":{"rate_limit":{"bucket":"by-client","max_nr_of_requests":15000,"time_window":"PT24H","name":"plays"},"remaining_requests":0,"reset_time":"2017/03/12 12:22:59 +0000"}}]}

It looks like there’s rate limiting stopping Cumulus from working. :(

gillesdemey commented 7 years ago

I think it's pretty obvious at this point that Cumulus' application credentials are exceeding the 15.000 plays / 24h rate limit.

https://developers.soundcloud.com/docs/api/rate-limits

I'm not quite sure if we can increase the rate limit, so at this point all we can do is show some sort of exception to the user 😔

Hum4n01d commented 7 years ago

ok :)

mirshko commented 7 years ago

@gillesdemey I too am having this issue. I would escalate this issue to critical bug.

I hope SoundCloud doesn't give you guys the Twitter dev treatment.

ghost commented 7 years ago

Having the same issue, making Cumulus unusable.

MichielDeMey commented 7 years ago

@dougos Everyone is having the same issue, it appears that Soundcloud introduced rate limits on their API making it unusable in case a lot of users are using the same app.

There is not much we can do at this point except reach out to them asking to increase the limit for our API key.

benjaminclarkco commented 7 years ago

I used to use soundnode and then I switched to cumulus because it ran into the same rate-limiting problem. Back on the hunt. Thank you to the devs for making such an insanely beautiful and minimal app. I will miss it. My productivity will miss it. Purple heart :purple_heart: much love, respect :v:

gillesdemey commented 7 years ago

Thanks for the kind words @benjaminclark.

I've requested to have the API rate limit increased, waiting to hear back from them 🤞

mediaformat commented 7 years ago

otherwise a few api keys could be used, and switch between them on rate-limit error

MichielDeMey commented 7 years ago

@mediaformat We've discussed this approach internally and we're not going to go down this road since this goes against their Terms of Use. See: https://developers.soundcloud.com/docs/api/terms-of-use#quotas

As much as we'd like to, as an open-source community we have the obligation to play by the rules. 😉

mediaformat commented 7 years ago

ok, I hadn't seen that page!

Fairplay to you guys :1st_place_medal:

Hum4n01d commented 7 years ago

Dang

FoxxMD commented 7 years ago

😢

seppestas commented 7 years ago

Should we start some sort of petition? I'm thinking some kind of link to retweet a tweet to Soundcloud or something?

afischer commented 7 years ago

Would someone with the know-how be interested in writing a how-to build from source with your own API key?

Also—would it be possible to add an "API Key" field somewhere in settings so users could use their own without having to build from source? Or would that also be a TOS violation?

gillesdemey commented 7 years ago

Also - would it be possible to add an "API Key" field somewhere in settings so users could use their own without having to build from source?

Seems like quite the hassle, SoundCloud now requires users to request API credentials through a form (and it might take up to a month for them to get back to you).

araphiel commented 7 years ago

@afischer

If you have Yarn & Grunt installed:

  1. git clone https://github.com/gillesdemey/Cumulus.git && cd Cumulus
  2. open app/js/app.js & replace the client_id on line 47 with your API key.
  3. yarn outdated
  4. yarn upgrade [insert all listed dependencies from above.]
  5. yarn
  6. grunt build

It took me about 3 weeks to get API access.

edit: I'll submit a PR when I get time if this no longer works for you.

afischer commented 7 years ago

@araphiel — Thanks. Guess I need to apply and wait a month for credentials 🙄

Not to get off topic but SC really needs to find a way to make some money... It would really be a shame to see them go under.

jsphpl commented 7 years ago

In the mean time, just copy the client_id from your browser's dev tools (visiting soundcloud.com) and apply it using the approach described by @araphiel.

screen shot
Zarlex commented 7 years ago

In the meantime you can give this alternative SoundCloud player a try :) https://cloud-player.io It also ships a native desktop app for Windows and Mac Code is open source available here and build with Angular2

jsphpl commented 7 years ago

@Zarlex how do you tackle the rate limit problem?

Zarlex commented 7 years ago

So far the app is not used by many people so i'm not exceeding the 15000 requests/day :)

ghost commented 7 years ago

Having same issue. 😞

philippe-git commented 7 years ago

I had a similar experience as @araphiel: it took SoundCloud a couple weeks to process the form and issue API keys for me to use in a custom build – looking forward to using Cumulus again!

shyam-habarakada commented 7 years ago

Combining suggestions from @araphiel and @jsphpl we have an easy workaround. To re-cap,

  1. git clone https://github.com/gillesdemey/Cumulus.git && cd Cumulus
  2. Navigate to soundcloud.com in your browser and grab your client_id from the developer tools network panel. You can see it in API calls like https://api.soundcloud.com/e1/me/track_likes/ids?limit=5000&linked_partitioning=1&client_id=YOUR-CLIENT-ID-SHOULD-BE-SHOWN-HERE&app_version=1495114752
  3. open app/js/app.js & replace the client_id on line 47 with your soundcloud client_id
  4. yarn upgrade
  5. yarn
  6. grunt build
  7. Run your locally built app

🎵

markhughes commented 7 years ago

@shyam-habarakada is there a build step missing? I'm getting Error: Cannot find module 'electron-settings'

Uncaught Exception:
Error: Cannot find module 'electron-settings'
    at Module._resolveFilename (module.js:470:15)
    at Function.Module._resolveFilename (/Users/markhughes/src/Cumulus/dist/Cumulus-darwin-x64/Cumulus.app/Contents/Resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/markhughes/src/Cumulus/dist/Cumulus-darwin-x64/Cumulus.app/Contents/Resources/app/index.js:12:22)
    at Object.<anonymous> (/Users/markhughes/src/Cumulus/dist/Cumulus-darwin-x64/Cumulus.app/Contents/Resources/app/index.js:135:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
zachmoody commented 7 years ago

@MarkehMe I'm on OSX and got around that by downgrading NPM to 4.6.1. No idea why that works or if it's good practice.

star114 commented 6 years ago

@markhughes Did you fix it? I’m in the same problem.

anitricks commented 6 years ago

I had the same problem as @markhughes

So I did mine with npm because yarn was giving me issues

install everything with npm install but install electron-settings module version 2.2.2 so do npm install electron-settings@2.2.2 and then build with grunt build it should work

I used the latest npm and grunt and every other module was the latest as well.

FoxxMD commented 6 years ago

For anyone coming across this thread @anitricks steps still work but there's no need for the electron settings anymore. @gillesdemey bumped the settings version and it just works now.

star114 commented 6 years ago

There is still something wrong with "yarn", not "npm".

The dependency of this project is managed by "yarn" officially, but if you install the dependencies with yarn and grunt build, you get the same electron-settings error as @markhughes commented.

npm install is ok.

Radu-Raicea commented 6 years ago

Might be worth putting @shyam-habarakada's solution in the README for now.

colinfran commented 6 years ago

is there an updated temporary solution to this? none of the previous temporary solutions are no longer working for me

markhughes commented 6 years ago

@colinfran all we can do is use our own keys - not the one that are provided

gguman commented 2 years ago

Can anyone help with installation pls. I got a lot of errors while trying to install it

seppestas commented 2 years ago

Can anyone help with installation pls. I got a lot of errors while trying to install it

No-one will be able to help you with that description. This issue is about the app being rate limited by the Soundcloud APIs. Do you suspect your issue is something similar?

If not, I suggest creating a new issue with a more detailed description and error log, but even then I don't know if anyone is still actively supporting this app.

gguman commented 2 years ago

Can anyone help with installation pls. I got a lot of errors while trying to install it

No-one will be able to help you with that description. This issue is about the app being rate limited by the Soundcloud APIs. Do you suspect your issue is something similar?

If not, I suggest creating a new issue with a more detailed description and error log, but even then I don't know if anyone is still actively supporting this app.

Thanks for the answer. I went through the above installation process but there are dependency issues - fs-xattr. Both npm and yarn have the same problems for me if I use the latest version of them. What version of software should I use to successfully build the app? Can someone make a video of the process that will help people? This app is perfect among others and I still haven't found any alternatives. It is very frustrating that it is not supported

gguman commented 2 years ago

The application with node#11.15.0 was successfully built, but changing the client_id inside the file does not help - "Sorry, something went wrong" appears on any tabs. Also I noticed that now soundcloud works with api_v2. Maybe this is the problem? Is anyone using this app now?