Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call external API when Track changes #13

Closed
kellertobias opened this issue Feb 17, 2021 · 11 comments
Closed

Call external API when Track changes #13

kellertobias opened this issue Feb 17, 2021 · 11 comments

Comments

@kellertobias
Copy link

I have an automated streaming Setup, with Macros and so on, all running as a NodeJS server. Part of this setup is to display lower thirds with song information. I wanted to write something like this myself and almost got it to work when I found your project.

Would it be possible to send out the currently Playing Tracks (tracks where the player would have the white border in Rekordbox) via a REST API to some server? Might probably be extremely easy, would also do a PR if appreciated.

@erikrichardlarson
Copy link
Owner

Yeah that's definitely possible, could just add a line to this method to make the callout to a defined server:

persistHistory() {

If you don't want to run your own API server, I'm also planning to push an update for Patreon subscribers somewhat soon that will allow them to send / get data from a server with a key provided in the app.

Just let me know what works best for you and I can set you up.

@kellertobias
Copy link
Author

kellertobias commented Mar 11, 2021

@erikrichardlarson seems like the place to do it, however I am working on a Kuvo-Proxy right now, you you have any insights into that topic?

Found out something.

The API endpoint that is called, when a track changes, is:
POST https://kuvo.com/liveplaylist/1.00/regist-play
it gets all the relevant information such as Title, Artist, Album.

I will check what else endpoints it will query and how to fake these queries/ query responses

@erikrichardlarson
Copy link
Owner

Oh nice work, I haven't looked into this much, but I definitely want to explore this further. And I'd also like to do this for Serato. What are you using to inspect the requests here?

@kellertobias
Copy link
Author

@erikrichardlarson check out this tool: https://docs.mitmproxy.org/stable/ it generates a proxy. You can also install an SSL Certificate generated by this proxy to allow HTTPS packet inspection. This is how I figured out which endpoints KUVO uses.
Later this can also be used to do the actual scripting, however I am woring on this part right now.

As soon as I have a working example, I'll post the repo here.

@kellertobias
Copy link
Author

@erikrichardlarson check out https://github.com/kellertobias/kuvo-proxy

@erikrichardlarson
Copy link
Owner

awesome work! I'll give this a try and see if I can extend to Serato as well.

@kellertobias
Copy link
Author

@erikrichardlarson I have migrated my app to node/electron, checkout my repo. also you can check out a little demo: https://www.dropbox.com/s/7g4tj39p6rylwe7/kuvo-proxy.mp4?dl=0

@erikrichardlarson
Copy link
Owner

Dude this looks great, does your proxy work with Beatport link?

@kellertobias
Copy link
Author

kellertobias commented Apr 5, 2021 via email

@kellertobias
Copy link
Author

@erikrichardlarson if you want, you can contact me (my mail is on my webpage: kellertobi.de)

@kellertobias
Copy link
Author

@erikrichardlarson I would add serato to the features of my app. do you have a running license and could gather some data?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants