Amazzzzing
Thanks very much for this @MusicD - just successfully installed on a Synology NAS with a little help from Gemini (I’m only used Docker on the NAS a couple of times before).
Looks really helpful for surfacing content and very polished. Quick question - is there any way for Smart Picks to be added to Listen Later rather than the library (or have this as an option)? Not sure if the API supports that.
Looking forward to taking it for a proper spin.
Thank you @dhusky , glad you managed to get it installed and up and running ![]()
Unfortunately the official Roon API I’m working with won’t allow me to add the Smart Picks to Roon’s own Listen Later.
What would be possible is to add a Listen Later feature to the extension and add the option to add to library or Listen Later.
I’ll look in to what’s possible, with a view to add a Listen Later feature and add a few additional settings for Smart Picks.
Many thanks - I realise this is a slippery slope to duplicating too much Roon functionality if you’re not careful, but will leave to your judgement!
Lol, yes, slippery.
When I used Roon as my main playback solution, I used my extension to play music. Roon Remote was only used to setup etc.
Options and choices are not bad thing and maybe Team Room may add features/ideas from my extension into Roon to be native.
I have to say, this is unbelievable. I’d given up on the idea of having a remote simple enough to have guests/family use, and good enough to have me psyched to use it. The combination of wall mode and the remote make this utterly a ridiculously sick use of an old iPad. It’s responsive as hell too. This is utter wizardry.
I do not know how to best promote this, because this project should be getting a lot of attention. Now that Roon is on docker, there’s a lot more people who’ve created at least one container. What’s one more???
Ahem!
Your wish is my command ![]()
That is undoubtedly the quickest anyone has ever responded to a feature request that I’ve made - thank you
Just given it a whirl and looks perfect ![]()
I’ll make a few changes to the layout of the side menu to mirror another project. The same with the settings page. It’ll smarten things up as well.
Now, just think what I could do if I had the source code for Roon ![]()
So, since you’re on a roll, I figure there’s no harm in asking
…is there any chance of being able to integrate profiles? Or more specifically being able to select the profile in which the playing happens? This would potentially solve several irritations in our household. Thanks!
Profiles, interesting and also possible.
I’ll need to plan this out thoroughly.
Username and password?
Well, for me, I’d just be happy with a drop down to select the Roon profile against which all play actions on that browser instance are logged. Basically, I don’t want the kids’ music on my profile.
I don’t see a strong use case for a password, other than to avoid accidentally selecting the wrong Roon profile.
The great thing is that this then allows the kids to have something other than full Roon for playing music, which cuts down on the scope for breaking/deleting things.
Ok, this gives me something to go on ![]()
Hi all
Again, thank you to anyone who has tried my extension. All my projects are free to all to use. I’ll never move to charging for them. It’s a hobby, alongside music and I wish to share with others.
I use Claude.ai for my projects and whilst I will never state I’m a coder, I am a designer & project manager of my projects.
If you like my Roon extension and would like to buy me a coffee, please feel free to do so.
Here’s the guilt trip - I have 3 daughters, a wife and a dog. I need to put food on the table and all that ![]()
Joking aside, I’m only looking to cover Claude.ai costs. I usually only pay for the £20/month tier, but on occasion I stump up and pay for the £120/month tier.
Again, thank you ![]()
With thanks to @gTunes who gave me a fabulous critique, of which several items were already on my list, I worked through them all. A few more to do, but the main ones have been done. I’ll focus on Desktop and landscape table screens next. Done
v1.8.75 - grab a coffee, beer or anything to drink and eat, here you go.
Tweaks, changes and a new name.
Changed — the extension is now called Rouen
- A Rouen (Roo-ahn) is a breed of duck (MusicD is short for Music Duck), and the name is
a play on Roon. It shows in Roon’s Extensions list, the app’s title, the side
menu, Settings → System, the installed app’s name and the wall display. - Nothing that would break an install changed: the Roon
extension_id
(so no re-authorising), the Docker image, container and volume names
(musicd-remote,musicd-remote-data), the log file names, the GitHub
repository and the update path are all exactly as they were. An existing
home-screen shortcut keeps its old name until it is re-added.
Changed — Album of the day, the same everywhere
- One album for every device from 00:01 until it is played — on any
device, any zone or from Roon’s own apps — then gone everywhere until the
next 00:01. It used to turn over at midnight. - Chosen once and kept. It was worked out afresh on every ask as
hash(date) % album count, so a scan that added or removed one album put a
different album there mid-day, and one already played came back as a “new”
one. The pick is now stored (as the album’s identity, not its position) and
only a new day, or the album leaving the library, chooses again. - A new
aotdlive revision turns the Home row over at 00:01 on every open
device, and a play anywhere takes it off every other device within a poll.
A saved Home copy from another day no longer paints yesterday’s album.
Changed — Random Album
- “Play something unheard / Surprise me” is now Random Album, with no
subtitle. Its glyph is Mandarin’s disc: it turns slowly all the time and
speeds up — from where it is, without a jump — while the album is chosen.
Fixed — “Not played in 6 months” waits for six months
- The row filled from the first day, so every album the extension had not
YET seen played — including ones played every week before it was installed
— read as “not played in 6 months”. It now offers nothing until the first
recorded play is six months old; the full wall says when it will start.
Random Album keeps working throughout. Class of error: a window measured
against history that did not exist yet.
Fixed — Back from an artist page
- Tapping an artist in the album view and then Back went to Home. Back is now
the brass ‹ beside the menu, like every other screen (the old “← Back”
button in the count line is gone), and it returns to the album you came
from, over the screen that album was on.
Added — API key boxes say whether the key works
- The Discogs and FanArt.tv boxes are checked against the service (Discogs’
identity call, one FanArt.tv lookup) and show a ✓ with “Checked and
working” once accepted, or ✕ if the service refused the key. No answer
from the service shows neither — a key is not wrong because a network was.
Changed — a more polished look
- Two themes: *Graphite and Brass and
Brass light. Dark, Light and Copper dark are gone; a device that chose one
of them opens in Graphite and Brass. - my MusicD typography and layout, not only its colours: Manrope and Young
Serif (bundled — the share card no longer fetches Manrope from Google
Fonts), a greeting and the date at the top of Home, section titles in small
brass capitals, rounder covers, genre cards, and a mini player
with the zone in brass above the track and a segmented level meter along its
bottom. - Toasts sit above the mini player, never over it — measured from the
pill, so it holds on every screen size. - The wall display’s ‹ Remote button, its active mode chip and its
Play now button are brass.
Fixed — found along the way
- The Now-playing waveform was drawn at the canvas width it had when drawn,
and nothing redrew it while a track was paused — so any reflow after the
draw (a web font arriving, a rotation) left the shape stretched a couple of
pixels off the playhead. It is redrawn whenever the canvas changes size. - The share card’s font wait is bounded at two seconds.
Changed — tooltips and ⓘ notes
- Corrected: Waveform and its note and toast (it said “local files only”;
Qobuz and TIDAL have worked since v1.8.20), Qobuz waveforms (4,000 values,
not a thousand), TIDAL (it does stream, for waveforms), Record labels and
Force rescan (the real source list), Discogs and FanArt.tv (what each key is
for — FanArt.tv also supplies the wall display’s photos), the wall display
(off by default; photos need the FanArt key), Smart Picks, the Share Card
services note (Qobuz links ARE looked up), the tile source badge (“Local
files” / “In your Qobuz library”), the logo picker. - Long visible notes moved behind ⓘ; each ⓘ is announced as “About ”
rather than “Info”, and stays up long enough to read.
Changed — the album view on desktop and landscape tablets
- It closes with an ×. From 720px up the album view is a card hovering
over the page, so its corner button is an × rather than the back chevron
of the full-screen phone layout. Same button and same job — only the glyph
and its label (“Close”) follow the layout. Phones held upright keep the ‹. - The artwork starts below the corner buttons. It started 28px down the
card, so the × sat on the cover’s corner. The prev/next chevrons are placed
inside the cover and stay on its centre line.
Fixed — a way back from Now playing
- Now playing is the same panel as the album view, so tapping the mini player
with an album open REPLACED that album — and the only way out was the Home
button, which went Home. It now returns to the album that was open, or
simply closes Now playing when nothing was. Different screens, different
mind sets: on a desktop (a large screen driven by a mouse) the button
is an ×, full size or reduced, because you are closing the screen; on
phones and tablets, landscape iPads included, it is a ‹, because
you are going back. Width alone cannot tell a landscape tablet from a
laptop, so the pointer decides. Escape, and a click outside the reduced card, do the
same. The album comes back as it was: scrolled where it was, and still
stepping to its neighbours with the chevrons, a swipe or the arrow keys.
Class of error: one panel serving two screens, with nothing remembering
which one it had been.
Added — Now playing, reduced (large screens)
- On a screen 1200×700 or larger, a button beside Back shrinks Now playing to
the album view’s card size (960px wide), and turns into a Full size
button. The reduced card is dragged by its top strip (marked with a grip)
and kept wholly on screen. The choice is remembered on the device; each
opening starts centred.
Changed — Random Album and Album of the day under the greeting
- Both now sit directly under the greeting, in a row of their own with no
heading, on every screen. They are no longer part of “Not played in 6
months”. - “Not played in 6 months” is hidden until it has albums. For its first
six months it has nothing to show, so it does not show; it appears by
itself once unplayed albums do (unless it is switched off under Settings →
Home Screen). It holds unplayed albums and nothing else. - Album of the day keeps its own live updates (00:01, and gone everywhere
once played) whether or not that row is switched on.
Changed — the share card’s ×
- A brass disc, like every other corner button.
Docs site
- “Rouen” appears once: the logo (a duck in headphones beside four bars, in
graphite, cream and brass) replaces the large wordmark, which was standing
in for an external logo image that could fail, and a small one replaces the
name in the top bar. The site’s copper palette moved to the app’s graphite
and brass.
Looking good @MusicD. Is there a small bug with the homepage customising? Reordering the panels doesn’t seem to work for me?
Also a cool city in France. You are shipping, shipping, shipping!
There might be, and a small workaround is to tap the handle you tap to drag after you drop the carousel in the place you want it. Not ideal, and I’ll put this at the top of the list of things to look at. ![]()
This was what first came to my mind.
I’m a big fan of Rouen (the app, haven’t been to the city but I’m sure it is lovely
)
