While Roon emulate LMS (working very well) i’m curious if someone use these “bridges” to stream from Roon (with SqueezeBox support enabled) to UPNP renderers, even if the UX is not as good as with true native RoonReady devices ?
We’ve thought about it…it’s very difficult to get that right.
Many of the other apps that “support” UPnP as a backend do it by simply shipping media files over to the renderer (meaning: only files supported by the renderer can play). This approach violates some of our basic principles like “all media should be playable on all endpoints”, so we’ve never treated it as a real option.
That would leave us doing hacks like generating an infinite length .wav file on the fly, sticking our audio stream in there, playing the fake file on the device, then trying to push the “play” and “stop” and “pause” buttons at the right times to make everything work.
I call this “transport on top of transport”–since you have two sets of transport buttons in the system, and one is sort of slaved to the other.
We went through a similar exercise with HQPlayer. In that case, we had the help of the developer, and we only had to make Roon work with one implementation. Getting it all to work reliably was an extended and frustrating process, and we ended up needing to make modifications to both Roon and HQPlayer before we were done.
Squeezebox was somewhat complicated too (for different reasons), but you can buy enough hardware to test all of the cases for about $300 on eBay, and it’s a relatively stale ecosystem, so we don’t have to worry about stuff changing out from under us. And that’s why we did it, and why we are not having a huge problem supporting it.
I expect UPnP to be much worse–it’s an old and inconsistently implemented standard. We know that devices behave differently from one to the next. And we don’t have a way to obtain the huge variety of UPnP devices out there–so our ability to support that product would be near-zero.
So on the whole, even if we expended the technical effort, I have my doubts that we could ever get to a place where we confidently say “We support UPnP” and our users can confidently buy UPnP stuff and know that it will work. And lots and lots of time will go down to toilet getting from where we are to that (disappointing) final outcome.
I never say never…but I don’t want to push out bad product, or product we can’t support well. And I haven’t seen a way around these issues yet.