New Roon Kit API for Node.JS

I just posted a new roon-kit package to NPM. Roon Kit is a wrapper around the existing Node JS that modernizes it to support things like TypeScript, Promises, async/await, and events. It’s mainly a collection of type definitions for all of the existing API’s and services, plus a new RoonExtension class that lets you get your extension up and running in a few less lines of code:

More details and a couple of samples can be found on github:

11 Likes

Hi @Steven_Ickman
First of all, thanks for this great lib!
I’m starting to integrate roon-kit in a little project of mine.
I’ve found some issues in the mappings available in roon-kit and the actual payloads returned by the underlying Roon API.
I’ve opened an issue on github and associated a PR with my proposal fixes.
Let me know what would work for you.
Regards.

Hi! Did you by chàce have a feedback? I want to work on a small project to and would love to use this kit.

Hi @Maxime_Ealet, no, never had any feedback (which is totally fine in the open source world).
I’ve first forked the repo, made some corrections and made my PR.
I’ve even published an alternate version on npm (with proper credit, as requested by MIT license).
I’m building a roon web client. I didn’t want to use the roon API as is, so I’ve first built a node application to proxy the api and a client module to ease interaction with my proxied API.
On the top of everything, I’ve an Angular app as web client.
For now the code is still private, as I want to reach a 0.0.1 version state before releasing both code and Docker image to the community.
This should happen in a month at max.
All that to say that all these corrections are now directly in the mono-repo I use for this project.

Nice! Thanks for the feedback. I actually only want to setup a customized display, roonkit could be enough for my needs.

You might face some dead ends with some mappings.
I’m gonna try to extract my corrections in a repo you could fork, publish and use.
Should not have time for that before next weekend though.

Hey, I’ve had a look last week-end, and there are two many changes for me to easily merge things in a repo.
Sorry about that.

On the other hand, I’m pretty closed to release my project on Github.
It’s built in a way that you could reuse the backend part and build your own client and pack everything easily (the backend is ready to server a javascript SPA).
There are just enough features to launch, I still have to write some doc.

If you can be patient a little more, that should launch in the next coming weeks.

Hey everyone!
@Steven_Ickman I let you a comment on GitHub, I"m gonna let another one here too.
My project is live on GitHub.
I’ll make a post in roon forums in the week-end.
As my project includes your code, you can check if you think I’ve respected my obligations regarding the MIT license your code has been published under.

@Maxime_Ealet If you want to have a look: the repo is organized to let you code your own client while reusing the backend part. Just have to fork it.
On the other hand, if you want to help adding the features you’d like in this project, you’re welcome too!

Here’s the link to the repo:

Wish you the very best

Ever thought to make it available for the Extension manager. It would be much easier to use for dummies :wink:

The documentation you need for this is here: https://github.com/TheAppgineer/roon-extension-generator/blob/master/README.md

Hi @DrCWO,
Yes, integrating this tool in the Extension Manager has always been the plan, to make it easier to use for non tech roon users, like my father :wink:
I’m in a conversation with @Jan_Koudijs, he’s done the job and remove my preoccupation about the non support of armv7 for now (there’s a known bug somewhere between Qemu and node:alpine-lts that breaks building these images in GitHub actions right now and I didn’t want to implement a workaround in the meantime).
I’m gonna start a dedicated thread to this subject, to avoid polluting this one.
But as my project, for practical reasons, inlined (copied) the code of @Steven_Ickman’s roon-kit, I wanted, on top of giving him credits as stated in the MIT license, to inform him and to, once again, say thanks.
So this has been the first place this project’s been announced.

2 Likes

Hey thank you for your fantastic work. I gonna see how I can use the backend and api part of your project as I only want to do a now playing screen without search/music controls.I’ll get back to you through github when I’ll have to dig that subject

I’m gonna release a v0.0.2 with a compact mode tonight, and finally make an official post about in roon’s forum.
Have fun with the repo, it’s shared for this reason :slight_smile: