[GH-ISSUE #117] "Now playing" metadata info for TuneIn radio streams #61

Closed
opened 2026-02-27 19:28:11 +03:00 by kerem · 5 comments
Owner

Originally created by @martinsefcik on GitHub (Jan 12, 2026).
Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/117

I’m not sure if the original Loxone Audio Server supports displaying information about the currently playing song on TuneIn radio streams (similar to what, for example, Music Assistant does). If it does, would it be possible to implement the same feature in lox-audioserver?

Originally created by @martinsefcik on GitHub (Jan 12, 2026). Original GitHub issue: https://github.com/lox-audioserver/lox-audioserver/issues/117 I’m not sure if the original Loxone Audio Server supports displaying information about the currently playing song on TuneIn radio streams (similar to what, for example, Music Assistant does). If it does, would it be possible to implement the same feature in lox-audioserver?
kerem closed this issue 2026-02-27 19:28:11 +03:00
Author
Owner

@rudyberends commented on GitHub (Jan 13, 2026):

I’ve now implemented Now Playing metadata (artist and track) for TuneIn. This is available in the 4.x branch.
I’ve also committed the changes you provided for TuneIn. Thanks for that.

<!-- gh-comment-id:3746913614 --> @rudyberends commented on GitHub (Jan 13, 2026): I’ve now implemented Now Playing metadata (artist and track) for TuneIn. This is available in the 4.x branch. I’ve also committed the changes you provided for TuneIn. Thanks for that.
Author
Owner

@martinsefcik commented on GitHub (Jan 14, 2026):

Wow, that was fast 🙂 I spent a few hours just finding the right place in the code where this should be implemented.

I have just a few notes regarding your implementation.

I haven’t fully understood all the code changes yet, but is there a specific reason for setting the station field to an empty value when title and artist are present? At least from what I understand so far, that’s what the current logic does.

Based on some small changes I made, it looks like the Loxone app has no problem displaying all three attributes (station, artist, and title) when they are present:

Image Image

Specifically, I commented out the line // patch.station = ''; in the ZoneManager.patchState method, and in ZoneManager.updateRadioMetadata I replaced the same line with patch.station = ctx.state.station;

<!-- gh-comment-id:3750622519 --> @martinsefcik commented on GitHub (Jan 14, 2026): Wow, that was fast 🙂 I spent a few hours just finding the right place in the code where this should be implemented. I have just a few notes regarding your implementation. I haven’t fully understood all the code changes yet, but is there a specific reason for setting the `station` field to an empty value when `title` and `artist` are present? At least from what I understand so far, that’s what the current logic does. Based on some small changes I made, it looks like the Loxone app has no problem displaying all three attributes (`station`, `artist`, and `title`) when they are present: <img width="796" height="483" alt="Image" src="https://github.com/user-attachments/assets/c52b67ac-a6fd-4737-8bb1-4f005a5fea82" /> <img width="646" height="480" alt="Image" src="https://github.com/user-attachments/assets/f5b17e12-57c8-4c17-8c65-05f6043f7e82" /> Specifically, I commented out the line `// patch.station = '';` in the `ZoneManager.patchState` method, and in `ZoneManager.updateRadioMetadata` I replaced the same line with `patch.station = ctx.state.station;`
Author
Owner

@simon2207 commented on GitHub (Jan 14, 2026):

@rudyberends Could not confirm - TuneIn META Data is still missing:
v4.0.0-20260111152632

Switched to old presets and newly discovered music stations... no meta data to see....

Image Image

2026-01-14T18:53:32.632Z][INFO][Zones|Manager] [hasParentContext=false normalizedTarget=https://stream.rcs.revma.com/mallorcasunshineradioclassics resolvedTarget=https://stream.rcs.revma.com/mallorcasunshineradioclassics station="" type=favorite uri=tunein🚉b64_aHR0cHM6Ly9zdHJlYW0ucmNzLnJldm1hLmNvbS9tYWxsb3JjYXN1bnNoaW5lcmFkaW9jbGFzc2ljcw== zoneId=14] playContent
[2026-01-14T18:53:32.633Z][INFO][Audio|Manager] [hasStream=false label=tunein🚉b64_aHR0cHM6Ly9zdHJlYW0ucmNzLnJldm1hLmNvbS9tYWxsb3JjYXN1bnNoaW5lcmFkaW9jbGFzc2ljcw== sourceKind=url zoneId=14] startWithResolvedSource
[2026-01-14T18:53:32.633Z][INFO][Audio|Engine] [zoneId=14] audio session stopped
[2026-01-14T18:53:32.633Z][INFO][Audio|Manager] [handoff=false kind=url profiles=["aac"] zoneId=14] starting audio engine
[2026-01-14T18:53:32.634Z][INFO][Audio|Session] [maxBufferBytes=8192 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=aac targetLeadMs=1000 zoneId=14] audio session buffer config
[2026-01-14T18:53:33.392Z][INFO][Audio|Engine] [profile=aac source=url zoneId=14] audio session started
[2026-01-14T18:53:33.392Z][INFO][Audio|Manager] [source=tunein🚉b64_aHR0cHM6Ly9zdHJlYW0ucmNzLnJldm1hLmNvbS9tYWxsb3JjYXN1bnNoaW5lcmFkaW9jbGFzc2ljcw== stream=14-28fc827e-ab32-49f0-986d-5c8ed2732284 title="Mallorca Sunshine Radio - Classics (Funk)" zoneId=14] playback started
[2026-01-14T18:53:33.408Z][INFO][Audio|Session] [bufferedBytes=8192 code=255 earlyExit=false runMs=109936 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=3700105 zoneId=14] ffmpeg exited
[2026-01-14T18:53:33.560Z][INFO][Transport|Sonos] [uri=http://192.168.1.13:7090/streams/14/current.aac zoneId=14] sending playback command
[2026-01-14T18:53:33.581Z][INFO][Audio|Session] [bytes=28 profile=aac zoneId=14] ffmpeg first chunk
[2026-01-14T18:53:33.603Z][INFO][Transport|Sonos] [action=Stop service=AVTransport zoneId=14] Sonos action succeeded
[2026-01-14T18:53:33.676Z][INFO][Transport|Sonos] [action=SetVolume service=RenderingControl zoneId=14] Sonos action succeeded
[2026-01-14T18:53:33.676Z][INFO][Transport|Sonos] [volume=30 zoneId=14] Sonos volume set
[2026-01-14T18:53:33.681Z][INFO][Transport|Sonos] [action=SetAVTransportURI service=AVTransport zoneId=14] Sonos action succeeded
[2026-01-14T18:53:33.942Z][INFO][Transport|Sonos] [action=Play service=AVTransport zoneId=14] Sonos action succeeded
[2026-01-14T18:53:33.943Z][INFO][Transport|Sonos] [uri=http://192.168.1.13:7090/streams/14/current.aac zoneId=14] Sonos playback started

<!-- gh-comment-id:3751103920 --> @simon2207 commented on GitHub (Jan 14, 2026): @rudyberends Could not confirm - TuneIn META Data is still missing: v4.0.0-20260111152632 Switched to old presets and newly discovered music stations... no meta data to see.... <img width="635" height="816" alt="Image" src="https://github.com/user-attachments/assets/33f50874-8b87-469e-9d7b-15597ebcce29" /> <img width="630" height="807" alt="Image" src="https://github.com/user-attachments/assets/ca52c130-5e64-4239-992d-cd927ed82632" /> 2026-01-14T18:53:32.632Z][INFO][Zones|Manager] [hasParentContext=false normalizedTarget=https://stream.rcs.revma.com/mallorcasunshineradioclassics resolvedTarget=https://stream.rcs.revma.com/mallorcasunshineradioclassics station="" type=favorite uri=tunein:station:b64_aHR0cHM6Ly9zdHJlYW0ucmNzLnJldm1hLmNvbS9tYWxsb3JjYXN1bnNoaW5lcmFkaW9jbGFzc2ljcw== zoneId=14] playContent [2026-01-14T18:53:32.633Z][INFO][Audio|Manager] [hasStream=false label=tunein:station:b64_aHR0cHM6Ly9zdHJlYW0ucmNzLnJldm1hLmNvbS9tYWxsb3JjYXN1bnNoaW5lcmFkaW9jbGFzc2ljcw== sourceKind=url zoneId=14] startWithResolvedSource [2026-01-14T18:53:32.633Z][INFO][Audio|Engine] [zoneId=14] audio session stopped [2026-01-14T18:53:32.633Z][INFO][Audio|Manager] [handoff=false kind=url profiles=["aac"] zoneId=14] starting audio engine [2026-01-14T18:53:32.634Z][INFO][Audio|Session] [maxBufferBytes=8192 outputBitDepth=16 outputChannels=2 outputSampleRate=44100 profile=aac targetLeadMs=1000 zoneId=14] audio session buffer config [2026-01-14T18:53:33.392Z][INFO][Audio|Engine] [profile=aac source=url zoneId=14] audio session started [2026-01-14T18:53:33.392Z][INFO][Audio|Manager] [source=tunein:station:b64_aHR0cHM6Ly9zdHJlYW0ucmNzLnJldm1hLmNvbS9tYWxsb3JjYXN1bnNoaW5lcmFkaW9jbGFzc2ljcw== stream=14-28fc827e-ab32-49f0-986d-5c8ed2732284 title="Mallorca Sunshine Radio - Classics (Funk)" zoneId=14] playback started [2026-01-14T18:53:33.408Z][INFO][Audio|Session] [bufferedBytes=8192 code=255 earlyExit=false runMs=109936 signal=null stderr=undefined stderrAt=undefined subscribers=1 totalBytes=3700105 zoneId=14] ffmpeg exited [2026-01-14T18:53:33.560Z][INFO][Transport|Sonos] [uri=http://192.168.1.13:7090/streams/14/current.aac zoneId=14] sending playback command [2026-01-14T18:53:33.581Z][INFO][Audio|Session] [bytes=28 profile=aac zoneId=14] ffmpeg first chunk [2026-01-14T18:53:33.603Z][INFO][Transport|Sonos] [action=Stop service=AVTransport zoneId=14] Sonos action succeeded [2026-01-14T18:53:33.676Z][INFO][Transport|Sonos] [action=SetVolume service=RenderingControl zoneId=14] Sonos action succeeded [2026-01-14T18:53:33.676Z][INFO][Transport|Sonos] [volume=30 zoneId=14] Sonos volume set [2026-01-14T18:53:33.681Z][INFO][Transport|Sonos] [action=SetAVTransportURI service=AVTransport zoneId=14] Sonos action succeeded [2026-01-14T18:53:33.942Z][INFO][Transport|Sonos] [action=Play service=AVTransport zoneId=14] Sonos action succeeded [2026-01-14T18:53:33.943Z][INFO][Transport|Sonos] [uri=http://192.168.1.13:7090/streams/14/current.aac zoneId=14] Sonos playback started
Author
Owner

@rudyberends commented on GitHub (Jan 14, 2026):

@simon2207 its in 1f1965b and that is not pushed to testing yet. So if you are running the testing docker image you will not have these changes. I will push them tonight or tomorrow.

@martinsefcik I have had a lot of issues where if the station is set the loxone client will ignore the other meta. But you might be right, it might work on radio (audiotype 1). I will try this and if it does not prevent the other meta I will remove the check.

<!-- gh-comment-id:3751146691 --> @rudyberends commented on GitHub (Jan 14, 2026): @simon2207 its in 1f1965b and that is not pushed to testing yet. So if you are running the testing docker image you will not have these changes. I will push them tonight or tomorrow. @martinsefcik I have had a lot of issues where if the station is set the loxone client will ignore the other meta. But you might be right, it might work on radio (audiotype 1). I will try this and if it does not prevent the other meta I will remove the check.
Author
Owner

@rudyberends commented on GitHub (Jan 17, 2026):

You were right about the radio metadata. I have changed it to include the station. Will push the changes today

<!-- gh-comment-id:3762980541 --> @rudyberends commented on GitHub (Jan 17, 2026): You were right about the radio metadata. I have changed it to include the station. Will push the changes today
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/lox-audioserver#61
No description provided.