While outside it’s 39 degrees, let’s stay inside and do another beta release.
This is a pretty big one:
Plexamp is gone. It was already a huge pain point, but now that’s its no longer supported it’s time to kill it.
Snapcast is gone as well. Orignally added to support Music Assistant, but it’s also not the most sophisticated. It’s also deprecrated by Music Assistant.
So, how can RoPieee then support Music Asisstant if you kill Snapcast? Simple, build your own audio player that uses the native Sendspin protocol
But on a more serious note: RoPieee has always been about integrating existing audio players, not building one ourselves. But I really like the Sendspin protocol, which is completely developed in the open, and I also wanted to play with it. So with thei beta release you’ll find the first release of ‘RoPieee Spinner’: a simple, lightweight Sendspin audio player. And yes, it works fantastically with Music Assistant!
It supports our new ‘convenience switching’: which means that now all RoPieee audio services support it. Furthermore, it supports high res audio up to 384k.
There are limitations (for now) at least: the biggest one being that Music Assistant upsamples everything to the highest available bitrate. For the next release I’ll add an option to set a maximum samplerate, but still it’s not possible to just use the same sample rate as the source. The reason is technical and complex, but for now this is it. But the nice thing about the Sendspin protocol being open, and very well documented, that you can suggest changes. So working on that to address the ‘I don’t want you to upsample’ thingie
Furthermore some refinements to the convenience switching in general, but it’s shaping up to be rather reliable.
I’ve only just started testing, but I’ve noticed that the new Sendspin player name defaults to “%h [RoPieee]” while all the other services default to “%h [RoPieeeXL]”. Not a big issue, but it means Music Assistant isn’t realising that my Airplay player is the same device as my Sendspin player.
Will keep testing and report back.
**EDIT: Ah, I see you’ve changed the defaults for all of them… but when it’s already enabled it doesn’t change the current name (so my Airplay hadn’t changed its name)
Hey Harry, I suspect I’m doing something wrong, but when I have Airplay enabled, the endpoint shows both Airplay and Sendspin in Music Assistant and the player works fine (but always uses Airplay according to the Ropieee Audio tab.
When I enable only Ropieee Spinner (and not Airplay) it only shows Sendspin, but never actually plays (no audio comes out of the device, and Music Assistant immediately stops again.
You’re not doing anything wrong. I can reproduce this myself. First, the detection of Airplay capable endpoints in MA is still a little bit … flaky. I’ve managed to improve it by using some tricks.
But furthermore, if it sees an endpoint that supports 2 protocols, it has a default order what is chooses. You can bypass this in the player settings. And yes, the default order is Airplay over Sendspin (I really, really don’t get this, but I’m not a particular Airplay fan).
Anyways, the next beta has some improvements on this area.
Ok, I’ve stopped testing on the Study (which only has a HAT and no USB1) and switched to the Bedroom. Same behaviour. Ropieee feedback 2c538ce2ba7c783e and Music Assistant log below.
2026-06-29 08:23:05.571 INFO (MainThread) [music_assistant.streams.audio] Start Queue Flow stream for Queue Bedroom [RoPieee] - crossfade: disabled
2026-06-29 08:23:05.793 WARNING (MainThread) [aiosendspin.server.connection.254d092b-5687-47e0-9e22-46aaa89bbd9e] WebSocket closed, close_code=1006
2026-06-29 08:23:05.925 INFO (MainThread) [music_assistant.players] Player unavailable: Bedroom [RoPieee]
2026-06-29 08:23:06.793 INFO (MainThread) [music_assistant.players] Player (type protocol) registered: 254d092b-5687-47e0-9e22-46aaa89bbd9e/Bedroom [RoPieee]