pdaddyo / soundbounce

Social listening for Spotify - music sounds better together.
MIT License
252 stars 28 forks source link

Looking to write HTTP API #282

Open jbodah opened 8 years ago

jbodah commented 8 years ago

Hey, a coworker showed my soundbounce today and I'd be interested in helping out a bit. One thing I'm particularly interested in is being able to integrate with soundbounce via HTTP (e.g. enqueue tracks, pause/play, skip). The main motivation behind this is to integrate soundbounce with our chat (we have a chat bot which parses messages and forwards the HTTP requests to the player)

Right now we have one soundbounce client playing the queue continuously, but I'd like to control what that client plays through HTTP. Previously we just used the osascript bindings to control the spotify player directly, but we've moved our player to a Windows box so that's out of the question.

My question is do you think I need to create an adapter for the client (e.g. the Windows client spins up an HTTP adapter and listens for commands)?

Or is there another more central API I can communicate with (e.g. is there some server that already exists that I can send commands to directly which will bubble back to the Windows client via some sync'ing that's happening)

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27772012-looking-to-write-http-api?utm_campaign=plugin&utm_content=tracker%2F9578624&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F9578624&utm_medium=issues&utm_source=github).
pdaddyo commented 8 years ago

Hey there. Soundbounce dev is currently in a bit of limbo as Spotify are deprecating the SDK we're using (libspotify), but they haven't yet announced/released the new replacement SDK. Once the new one does land, I'm planning on re-writing the entire app using a more service-based architecture (to make it easier to build mobile clients), so this will be pretty easy to do then. In the meantime you could in theory update the client to run a little http server to accept commands (this is actually pretty much how the spotify desktop client works) - I can point you in the right direction if you are still interested.

PB