I have been tinkering with the node-roon-api for a bit and I think I am happy with the results. So I am ready to share it.
It is a web app that shows “Now Playing” information, including playback controls, the ability to switch zones, and even has a few themes. The volume control is not yet implemented - mainly because both of my zones have a fixed volume. But I will figure that out soon enough and update this app.
It is written to be touch friendly and the page resizes to your browser window. It looks and works great on a Raspberry Pi touchscreen as well as in a browser window. For long song/artist/album names, the text scrolls (as seen below in the “Cover Art - Light Theme” screenshot).
This is posted to GitHub so that you can try it out yourself. Installation and usage instructions are in the README.md file. Please let me know what you think.
But without further adieu, here are some screenshots: Light Theme
At the moment this app just shows Now Playing info. There isn’t any way to add music using it. There are a lot of other things that need to be done first - notably a browser section.
But yes, long term, I would like to do it. My primary desktop is a Linux system that does not have an official control app. The long term goal is a complete remote for Roon that I can use on my main desktop or a Raspberry Pi touch screen.
I just checked it out with Safari on my Sierra system and it is not doing that. It is weird because the code that populates that section intentionally blanks out the previous HTML to prevent that from happening…
Can you try stopping the extension, restarting your Roon server, then starting the extension to see if that resolves it?
I’m just trying to say that for extensions to used it’s not a doddle to get it running for the average joe. This is where it needs to get to for the API to bo of use to the general basic users…the geeks among us can all cope with it I think, but it’s not something I could expect many of my friends to cope with.
@wizardofoz - that is a fair statement. You are absolutely right. And I think that the Roon Labs folks acknowledge this fact. In the “About the Roon API Category” thread, they mention that it lacks packaging. So as the API solidifies, that should get addressed as well.
I have been tracking another thread which discusses extension distribution and when things solidify or there is an official documented way to work with the distribution of extensions, I will work to make this extension compliant.
If you are curious, you can track my development more closely with the “dev” branch. This evening, I have moved the theme setting into a new menu (top right) and have a place holder page for the upcoming work on the library. I am looking into the volume controls, repeat and shuffle controls, and enabling/disabling auto-radio mode. I will start diving into the browser API soon.
I have a new theme in mind too - but I will keep that under wraps for now!
You can get the “dev” branch by running: git clone -b dev https://github.com/pluggemi/roon-web-controller.git roon-web-controller-dev
This will create a new directory for the dev version. Note that since the main version and the dev version listen on the same port, you will have to stop one to run the other.
I too will get this plugged into my setup…the best thing about this is that it might give a new lease on life for some old iPad’s that can run roon or control it but can perhaps at least manage a web based interface and thats a good thing.
You are in luck there, then. The code to make it a native web app on an IOS device is already there!
Open the site in IOS Safari, click the share icon, then click “Add to Home Screen”. This app has all the header information to have a nice icon and to allow it to run full screen.