Music Assistant 2.8 - huge release

Maybe deserving of a blog post ?!?

Also, there doesn’t seem to be an appropriate category or any existing tags for music-assistant.


2.8.0

Latest

@github-actions github-actions released this 8 hours ago

2.8.0

20d368a

:warning: Important Notes

Attention! This release contains a big change in the way we let you interact with players that support multiple protocols. These will be merged into one single player, greatly improving the UX. If you are using Home Assistant, this could result in entities being renamed that will break automations and/or dashboards.


:package: Stable Release

Changes since 2.7.11

:warning: Breaking Changes

:rocket: New Providers

:rocket: Features and enhancements


and more too long to fit here

1 Like

"Attention! This release contains a big change in the way we let you interact with players that support multiple protocols. "

Can we switch this back to individual players as, the Airplay or DLNA Sources for example for an Yamaha Receiver which is triggered by YNCA Scene’s with different Inputs. e.g how do I in MA if I select the protocol for player for RX-A/V device (Airplay/DLNA Server/MusicCast) etc if they are the one listed Player ? Or can I break one player into 2/3 for different protocols ? Or turn this single player approach off ?

Can someone confirm what the new Music Assistant player configuration settings is “claiming”?

I just added an ESP32 board with Squeezelite firmware to my network

HA player settings gives me a configuration option to select or prioritize the streaming protocols it uses.

In addition to Squeezelite, it lists SendSpin as an option !

Is this true?
We can use SendSpin on Squeezelite firmware clients ?
(e.g. it does not require ESPHome firmware)?

I’ll just briefly add, Music Assistant is definitely selecting the music protocol to play.

TL;DR
It chose AirPlay with all 3 options enabled (config screen above)
It chose Squeezelite with AirPlay disabled
client refused to play with only SendSpin enabled (AirPlay and Squeezelite disabled)

With the configuration shown in the screen above (all 3 options available and none set as preferred), MA selected (prioritized??) AirPlay to stream


my ESP32 log confirming use of AirPlay:

[00:06:54.486] register_external:469 Initializing AirPlay sink

[00:06:56.754] raop_sink_start:178 starting Airplay for ip 192.168.1.11 with servicename HouseWaves
[00:06:56.757] raop_create:201 starting mDNS with 0483085C4340@HouseWaves

[00:08:46.155] rtsp_thread:397 got RTSP connection 53
[00:08:46.391] handle_rtsp:444 [0x3fac7174]: received ANNOUNCE

[00:08:46.811] rtp_thread_func:740: 1st sync packet received
[00:08:47.281] rtp_thread_func:697: 1st audio packet received
[00:08:47.283] buffer_put_packet:459: 1st accepted packet:17768, now playing
[00:08:47.294] raop_sink_cmd_handler:319 Play


my ESP32 log (minus time stamps) confirming use of Squeezelite (AirPlay starts but not used)

register_external:469 Initializing AirPlay sink
raop_sink_start:178 starting Airplay for ip 192.168.1.73

slimproto:964 connecting to 192.168.1.166:3483
slimproto:1011 connected
sendHELO:153 mac: 04:83:08:5d:0e:60

stream_sock:660 connecting to 192.168.1.166:8097

codec_open:283 codec open: ‘m’
codec_open:283 codec open: ‘f’

{ MP3 codec opens then switches to FLAC for Squeezelite}

output_frames:150 track start sample rate: 48000
output_thread_i2s:537 Output state is 2

Really nice release — the new features look excellent and love the party mode / QR code for guests. For my particular workflow I still need access to Plex rating keys/playcount behaviour that older MA versions exposed, so I’ll stick with my current version for now. Happy to upgrade once that data is available again.

Thank you. This has fixed the TTS announcements over snapcast issue I had with v2.7 that led me to stay on 2.6. Snapcast sync seems to be working well and fingers crossed I don’t have the random pausing issue that led to my wife threatening to buyl an analogue radio! BBC Sounds is a great addition. Thank you!

Finally updated today. Lots of issues.

The main problem is that the upgrade combines, Airplay/DLNA/MusicCast and SendSpin under one Player entry and removes the other entries. e.g RX-V1073 player or RV-A1060 player their Airplay/DLNA and MusicCast entries are gone, this therefore requires some automation to change the playback protocol. TBC…Edit: I have not found any obvious way to say for example

If Player turns on (with Airplay/DLNA) set AirPlay or DLNA then…on/off/idle etc is not enough…if multi-protocol ?

Further an Lyrion LMS Plugin for DLNA has generated over time, several other players named RXV1073, and more etc which remain as MA DLNA players before the upgrade, but were functionally dead, and this adds even more confusion as to what players you have remaining that work.

DLNA…the crux of the issues are : -

  1. Clean Up your players before this upgrade. Work out in your MA Integration what players you have and are which integration they are coming from, are they dead/alive, do you Devices from example Lyrion Music Server that clutter MA Player list. Any other DLNA software e.g Volumio / Moode / Navidrome etc. or even

  2. The upgrade removed the DLNA players for the both AV receivers and left behind a combined play named Airplay and Yam1060 players. I Would have preferred some method to delete/readd them all myself correctly with different names and protocols. I think a clean slate would have been better on first run after the upgrade. Ideally I want to clone this Airplay player then rename and select the protocol to use. So I can have 3 named players 1 for each protocol and perform actions based on that. If you can only have a single player… per device, this is very limiting.

  3. Protocols Airplay/DLNA etc for a Receiver are switched inputs. Therefore now there isnt a way to use the Player status be it Airplay/DLNA to trigger automations I think maybe ? TBD/TBC

The combined player will work if there are options to change the players operation from outside of Music Assistant, otherwise in my view its a backward step ?

Update: I rolled back, See how it goes and will revisit the update another day

Moved forward again. 2.8.4 … still not happy but happier.

Worked out that I needed a DLNA renderer for Home Assistant and the Home Assistant Plugin for MA to add local HA MediaPlayers for example RX-V1073 DNLA and Squeezebox DLNA to make the this visible in MA, they work Hurrah!

However the downside is the output quality is 320kbps Mp3 only, even for HQ Sources aka Flac DSD files

Good but not great…

Tried using the Squeezebox LMS DLNA Plugin again… yep I can see these devices also, but they don’t stream, press play, Tries and stops. Even briefly shows the cover art on the Squeezebox but no joy…

Rolling back again…due to these player limitations.

Just to confirm : MA 2.7 Using Direct DLNA to the RX-V1073 Receiver for FLAC / DSD sources files, playback Output is FLAC 48/16 HQ - 96/24 HR
Using Home Assistant Provider DLNA to the same Receiver for the same files is 48/16 Mp3 LQ no matter what you select

I found it… format/bitrate…oh you do like hiding things…advanced was down…now up the page! :slight_smile:

Now I can hear the HQ/HireRes