title = queue.current_item.name
artist = ""
album = ""
- if queue.current_item.streamdetails and queue.current_item.streamdetails.stream_title:
- # stream title from radio station
- stream_title = queue.current_item.streamdetails.stream_title
- if " - " in stream_title:
- artist, title = stream_title.split(" - ", 1)
- else:
- title = stream_title
+ if queue.current_item.streamdetails and queue.current_item.streamdetails.stream_metadata:
+ # stream title/metadata from radio/live stream
+ title = queue.current_item.streamdetails.stream_metadata.title or ""
+ artist = queue.current_item.streamdetails.stream_metadata.artist or ""
# set album to radio station name
album = queue.current_item.name
elif media_item := queue.current_item.media_item:
ProviderMapping,
Radio,
)
-from music_assistant_models.streamdetails import StreamDetails
+from music_assistant_models.streamdetails import LivestreamMetadata, StreamDetails
from tenacity import RetryError
from music_assistant.helpers.util import select_free_port
if latest_cut_marker:
latest_cut = latest_cut_marker.cut
title = latest_cut.title
- artists = ", ".join([a.name for a in latest_cut.artists])
-
- self._current_stream_details.stream_title = f"{title} - {artists}"
+ self._current_stream_details.stream_metadata = LivestreamMetadata(
+ title=title,
+ artist=", ".join([a.name for a in latest_cut.artists]),
+ )
async def _refresh_channels(self) -> bool:
self._channels = await self._client.channels
"mashumaro==3.14",
"memory-tempfile==2.2.3",
"music-assistant-frontend==2.10.4",
- "music-assistant-models==1.1.12",
+ "music-assistant-models==1.1.15",
"orjson==3.10.12",
"pillow==11.0.0",
"podcastparser==0.6.10",
mashumaro==3.14
memory-tempfile==2.2.3
music-assistant-frontend==2.10.4
-music-assistant-models==1.1.12
+music-assistant-models==1.1.15
orjson==3.10.12
pillow==11.0.0
pkce==1.0.3