[feature request] Show metadata on target player
See original GitHub issueThank you for this wonderful integration.
I’m the maintainer of the linkplay media player component.
One thing I notice is that the target media player (the one really playing out the media) doesn’t show any metadata (from Spotify). So for example:
- go to lovelace, where you have a (physical) media player entity (eg.
media_player.hang_up2stream
) - go to media browser selection
- choose Music Assistant
- choose Playlists: you can see all metadata appears at this level, tracks info and coverart etc
- select a playlist, press play
- playback starts on the media player, but no metadata is being shown
- also metadata is missing on the auxiliary
media_player.mass_hang_up2stream
Usually linkplay devices provide some metadata via UPnP so when such information is available I parse it and import it. From Media Browser local files I just parse for “Artist - Title.ext” and if that matches I also grab cover from Last.FM. For Icecast radio streams, I look for ICY-Meta in the headers of the stream.
Is there a way I could fetch rich metadata from music assistant? Or should I provide a service for you to push metadata in (would be more accurate and less stressful)?
Issue Analytics
- State:
- Created a year ago
- Comments:10 (9 by maintainers)
Top Results From Across the Web
Provide a property that reports the mastering display metadata ...
Provide a new property video-params/mastering-display-metadata that reports the mastering display metadata used by current video track, or null ...
Read more >Excellant suggestion. Feature Request will be file... - Adobe Support ...
I'd like to see video length in Bridge metadata. Windows Explorer shows this. Why can't Bridge? All those metadata fields, and not one...
Read more >Features On Demand | Microsoft Learn
DISM requires additional metadata in the repository. See Available Features on demand for more information about which FODs have satellites.
Read more >Feature Requests - Audacity Wiki
This is our Feature Requests page where suggestions from users to enhance or ... Real time plot when playing audio: (13 votes 07Mar17)...
Read more >MediaMetadata - Android Developers
Returns a simple description of this metadata for display purposes. ... It does not compare Bitmaps and Ratings as the media player can...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
I’m going to have a look at embedding ICY metadata into the stream if the player requests that in the header as a first step. Besides that I’ll provide some sort of hook and event to send the now playing info too.
It’s not visible here at all: Top: the real media player entity Bottom: spit-out media player prefixed with mass
Webradios are actually nothing more than audio streams. Icecast is a reputable server type which standardized the way audio streams can be optimally transported over http, and ICY-Meta is a good way implemented by Icecast to show real time metadata within the data flow. Webradios use this historically and the good part of it that it requires no extra service, textual metadata is embedded in the data flow and hardware players can easily display it too.
Actually TuneIn service is nothing more than just a directory, a collection of Icecast/Shoutcast streams, which in reality are all operated by the radio station owners themselves. So any player supporting TuneIn is in reality able to play Icecast.
Icecast supports FLAC by design and I don’t think there’s any reason why you couldn’t feed it with uncompressed PCM. I don’t mean by creating a full-blown icecast server just for this, but I think ICY-Meta can be embedded by various other means regardless of the stream compression algorythm. https://icecast.org/faq/
I’d be happy to test this, and add it as extra functionality to my component. For example if the stream URL itself would follow a uniquely recognizable pattern (currently it’s
http://ha.ip:8096/media_player.hang_up2stream.flac
as I’ve noticed, say, if we agree that the8096/media_player
+ something unique to this component substring will allways be there) I could know that the source of metadata information is on the event bus.But I have zero experience with any sort of event bus programming so I’m all ears… What I’d like to get is:
And it would be super great if I could push back to you a “Next”, “Prev” and “Seek” commands from the real player towards the “Spit out” player (or event bus?), as that’s the one exposed to the user.