Roon-web-stack, a stack to drive roon from a web browser (current version: 0.0.7)

Thanks for the feedback.
I’ve been able to find the cause, and a solution.
Might have time to implement a fix and release a new version tomorrow.

1 Like

Thank you for this! Just what I had been waiting for. Installation was a breeze with the extension manager. Testing in use now.

1 Like

Jan is that not a wrong advise? if you have a rpi 2 model b v1.1, then you cannot install the armv8 version - i think

I think you are correct. On the Rpi2 b v1.1 you will not be able to install the armv8 image.

From the Dietpi download page for the armv8 image (Raspberry Pi 2/3/4):

These images are compatible with all Raspberry Pi 3 and 4 models, as well as Raspberry Pi 2 PCB v1.2 and Zero 2.
The Raspberry Pi 2 comes in two vehttps://community.roonlabs.com/t/roon-web-stack-a-stack-to-drive-roon-from-a-web-browser-current-version-0-0-2/266104/23rsions, which is printed onto the PCB. PCB v1.1 has an ARMv7 chip, hence needs to use the ARMv7 image, PCB v1.2 can use this ARMv8 image, which we then generally recommend.

Kudos!

My test roon core runs on a low power headless Quieter3C pc running ubuntu. It took about 10 minutes to

  • install docker
  • install the Roon Extension manager
  • install this extension
  • play music and control roon from a browser

The functionality looks excellent, display is great on a desktop. Perhaps add the transfer zone feature that’s in roon if possible?

Thanks,
- Eric

1 Like

I believe that what you’re saying is what the DietPi installation pictures are trying to illustrate.

The picture on the left is for Pi 2 v1.1.x. The picture on the right is for other Pi 2/3/4 variants.

It is definitely confusing. @Jan_Koudijs didn’t create these pictures, though. They are from this page with “Raspberry Pi” selected:

This displays a blank page in the native browser on my 6-year-old LG TV, which is easily accepted as it probably doesn’t support newer web features. The title shown in the browser tab is correct.

On the nvidia shield, I upgraded to a newer browser, BrowseHere, to get it working, which it does flawlessly.

However, on a 10 foot UI, most of the fonts are almost too small to be read at a reasonable and comfortable distance. I’d suggest that the track names are at the minimum font size viewed from about 11’ from a 65" TV.

Thanks,
- Eric

1 Like

This wasn’t an advice, it was a follow-up on pinpointing an issue and showing what could have caused it. Previous posts are indicating that for the reported cases a RPi 3 or 4 is used.

1 Like

Hi @nihil not sure if this is a big or not, but it looks like it suffers from some of the same issues as Roon web page or page with Chromecast does where it is picking up the wrong queue and playing information.

I just put it on my living room TV using BrowsHere (thanks @ezman )
The album playing artwork is correct but the track name is completely different to what is shown and the queue is also different (something I was listening to yesterday and this morning).
The correct queue is what is showing on the bottom screenshot from my phone

Oohhhhh… this is very interesting. looking forward to trying it out!

1 Like

Hi everyone, a new version has just been released.

On top of two bug fixes (the one reported by @Simon_Arnold3 and the fact that Live Radio info were not displayed while playing), there’s only one added feature: the app will reload itself on new version.

For this to work, you need… this new version.

So don’t forget to reload the page displaying the app in every browser you use (that will be the last time, hopefully).

There’s a good way to check you’ve correctly updated the app: the version id now displayed in Settings:

The version displayed there should always match the one displayed in roon extension settings.

With these two fixes and this small feature (that should avoid cumbersome situation with future updates), I’ve burst the time I want to spend on this project for the week.

I’ll continue to read this thread and will try to prioritize the next step/feature regarding what you’d like the most to see coming.

Regards,

1 Like

It seems the issue is on roon side.
Especially because you have the same problem with the integrated display functionality (I’ve quickly checked, they use the same node api).
There’s not much I can do on my side: this app displays what’s the roon node api sends.
My two cents to trace the root cause:

  • Does this issue happen with every device? (like does another device, via the same app displays correct info while your tv is not).
  • Does this issue happen after some time?

Regarding the answers, that could be related to a network issue, that breaks the connection after some time.
Otherwise, that might be something in your setup that confuses roon api.
:person_shrugging:
But once again, I won’t be able to do much: all the data come from Roon API.

1 Like

Thanks for the feedback!

I’ve mostly developed (and tested) on my desktop.

The responsive part as been quickly done, but not really polished.
For instance, display on phones could also be improved.

The app is thought to implement different display mode, 10ft could be one of them.
It could be a simple way to force bigger texts.

Two things to keep in mind:

  • I have to prioritize things, regarding both the expectation of the community and the time I want/can give for this project
  • I don’t have a TV… so I can’t test :person_shrugging:

Thanks for the feed back!

That’s on the roadmap.

There’s two part in this subject:

  • A simple zone transfer (with, for example, the destination zone displayed once the transfer completed): kind of cheap to implement, could be done quickly
  • A full implementation of zone management with grouping etc: more complicated, and more complicated to test

A stated, I’ll look at the thread to prioritize the next feature I’ll pick.

As I was typing it out I remembered that this was an issue that has been reported a long time ago and also effects RooExtend and Chromecast.

Doesn’t look like Roon has ever tired to get to the bottom of it either.

Thanks for the good work you are doing though :+1:

As often happens restarting a Roon Component fixes it.

1 Like

Hey all. This is going to sound quite insulting, and I’m really sorry - that’s not my intent.

This looks really smart. I’m just wondering what is the use case for it, seeing as how Roon already has apps that cover desktops and mobiles? Where and how are folks typically using it?

Actually it’s not :slight_smile:

I can’t speak for everyone, but I can explain why I’ve done it.

There are two sides to this coin:

  • the development part
  • the user part

Let’s start with the development part:

  • I hadn’t done web development for years, I needed a motivation to get back to it. Challenging but not unfeasible.
  • I’ve worked on big projects with big teams. It was an occasion to do everything from scratch, from coding to CI/CD, from architecture to design, on my own.
  • I knew there was a user base (with the existing but not maintained web client), so people would use it. It was a guarantee to have a feedback loop. So my little exercice would have real usage (some could argue a niche usage, still, real users, as real persons, are using it).
  • I love building software, but for some reason, maybe also because it’s my job, I had lost the fun in it. It’s a mindset (planning, architecting, iterating, troubleshooting, learning constantly, making mistake, finding solution) I really enjoy. It was a good way to remember the fun.
  • I’ve mostly worked recently on things you don’t really see, way behind the user interface. With this project, doing quick iterations, I had tangible results.
  • It’s a complicated API, so it was nice to try to find a backend and a frontend design that would streamline it, making the user experience as smooth as possible.
  • The roon user I am was missing some features.

Which is a not so subtile transition to the user side:

  • I almost never cut a track (that’s why there’s no seek in the app, I just don’t do that), so I’m an intensive user of Queue Bot, an extension to pause music when a specific track is found in the queue. I got tired of this pattern search => find this track => Add Next and thought, what if I had a button to do that
  • I wanted to have a Add after current Album feature, sadly, there’s nothing, for now, in the api to do so
  • Rince and repeat the two last one with any custom action that you could imagine (like a button to play your favorite radio, etc.)
  • I’d love to have a display, the size of a vinyl LP (or even bigger, but a square), that displays the currently played cover full screen, and, with a touch, an overlay with controls and track info… you can adapt this use case with any kind of touch screen, driven by a raspberry pi or any other SBC.
  • Sometimes launching the roon app on my phone or my tablet is slow (ok, it’s a few seconds or dozen of seconds, still in 2024, it feels slow), with a correctly build web client it could be almost instant (and I’m quite happy with the result, but I’m not the one to judge)

From what I’ve seen, the main use cases seem connected to custom screen (TV, touch screen with Raspberry Pis) and linux.
As an example: an oldish or not so powerful computer as a remote, running a light linux distro in kiosk mode…

4 Likes

Quick question regarding your implementation:
How did you find the Roon Core? Use the Roon discovery protocol or just the IP?

Best DrCWO

  • I’d love to have a display, the size of a vinyl LP (or even bigger, but a square) , that displays the currently played cover full screen, and, with a touch, an overlay with controls and track info… you can adapt this use case with any kind of touch screen, driven by a raspberry pi or any other SBC.
  • Sometimes launching the roon app on my phone or my tablet is slow (ok, it’s a few seconds or dozen of seconds, still in 2024, it feels slow), with a correctly build web client it could be almost instant (and I’m quite happy with the result, but I’m not the one to judge)

Exactly my use case, albeit that I was looking for a lightweight gui to control Roon on a touchscreen Windows 11 desktop running Roon Bridge.

Oh I so want this feature as well. As someone who is an old school album listener it is annoying to either have to delete your queue or wait for the last track on the album before pressing add next only to find you added it to the end of the queue :man_facepalming: