Lyrics - better granularity

I’ve been using Python on my Linux desktop machine to develop a small frame-less, menu-less web view window which Roon sees as a Chrome Browser display. This gives me a small square display that lives on the top right of my desktop showing the track currently playing via the computer’s Roon Zone. It also has a simple extension using Roon API to allow clicking on it to pause/play the music to save me having to find my Android phone which I use to select the music, start it, connect to the display etc. I am finding this a much nicer way to have a local display, it is small, unobtrusive, always on top and provides a simple but easy way to pause/play the music when needed.

All works well but after I connect the zone to the display the display always starts with lyrics enabled (which I almost never want). Surely it ought be a simple extension to allow browser displays to be started by some command such as http://rooncoreaddress:9330/display&lyrics=off

It would be nice (but I’m not holding my breath) for the RoonAPI to allow zones to discover available displays and then to connect with them.

Did you know that in Roon GUI if you go to Settings/Display you can customize if lyrics will be displayed or not?

Best DrCWO

Thanks - yes I knew that Setting/Displays allows me to toggle lyrics on/off for an individual display. Don’t know if this is persistent for fixed displays, but web browser displays (and my code is simply a special instance of one such) are created when the URL is invoked and the creation always has lyrics enabled by default.

The issue is really one of usability.:

I start Roon playing on my computer via my Android Phone.

I bring up my little screen display (or start a normal Roon webbrowser display on 9330 - both are really the same thing - just my code is small, frameless, always on top and has the convenience of simple play/pause control),

Then I have to go back to my phone and go to the now playing screen, select the speaker icon option/screen icon option and “display” now on the webbrowser display.

Then I have to go to a total different part of Roon, the Menu option, find settings, scroll along to displays, click on the settings cog for the display I want and finally, finally I get to toggle “enable lyrics” off.

It wouldn’t be a huge challenge (surely?) to allow the webbrowser display to be invoked with a “lyrics=off” option which would save the last step of the above. Or even have a more global toggle in Settings/Displays which allows for lyrics to be enable or disabled globally for all displays by default (today lyrics are globally enabled by default) and then allow individual displays to turn lyrics on if the global option is disabled or turn lyrics off if the global option is enabled (which is today’s scenario)

BTW I really appreciate Roon’s work on providing lyrics and occasionally I want to see them, but the default for me is to use the display purely as a pretty visual and a nice way of noticing the track/artist, especially from playlists by Roon or Qobuz etc. where I may be experiencing new music.

I think it is. You also can select “Start on playback”.

I meet the new Roon sales representative at Feb. 16 and I hope I also can talk about improvements of the API. I also would appreciate getting some additional features like creating radio stations with the Roon API or always getting the same sort order in the Settings/Extensions dialog and a nicer formatting…

For me the API seems to be a bit abandoned by Roon at the moment :sleepy:

Best DrCWO

1 Like

All I can offer is a dirty hack, so here you are …

Seems you have enough knowledge to be able to edit the files responsible for the contents and layout of the web display, which live in your core’s user folders - not sure, where that may be on a Linux machine, though

You could edit out the lines, responsible for displaying lyrics and be done, if you’re using just that one web display or never want to see lyrics on other web display devices.

See here.

Great to know you are working to extend the API. I was both pleasantly surprised by how easy the Python implementation was to use, and disappointed by the fact that functionality was limited to fairly basic playback and control options.

I don’t want to spend time writing a complete Linux desktop client, I’m more than happy using my Android phone to select the music stream to play on my Linux desktop - in fact I use my phone to control Roon on all my devices (2 RPi based systems, a Sonos speaker, a Chromecast Audio and ARC or course) but it would be nice to have a slick Linux desktop display. What I have coded works but how much neater would it be if my webview code could use an extended Roon API to tell the Linux zone to connect to it as a display without lyrics…

So it would be a matter of using the Android phone to start some music and then starting the Linux Room webviewer which would automatically create the connection and immediately start showing the track artwork - no more needing to go back to the Android phone to connect and then turn off lyrics.

And I’m sure API access to the DSP could have some very interesting applications too!

Hope your discussions go well…

Hey, thanks for that! Yes, my Roon Core is on a Linux machine, a different one to my desktop, Core runs on my Synology NAS.

As you say it should be simple to make whatever changes I might need.

Thanks for a good idea for a kludge solution which should work well.

But Roon developer folks, it would still be nice to have ephemeral Displays such as web browsers to have a simpler lyrics on/off option