-
-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Source List Organization / Metadata #690
Comments
I can see you've put a decent amount of thought into how this could function - I really like where you're going with this. As I understand it, Snapcast doesn't provide metadata of the source audio which would make this somewhat difficult to achieve. It looks like there is an existing PR for Snapcast to pull this data: badaix/snapcast#749 In theory Iris could lean on the Settings > Servers section and maintain simultaneous connections to all of those servers to get the meta from Mopidy directly, however I wouldn't expect it to be reliable in matching Mopidy servers to Snapcast streams. |
@jaedb Yes, currently Snapcast does support metadata for certain stream types. The only one I'm aware of is AirPlay/shairport-sync but there could be others. Iris sees track, artist, cover art, etc. in a debug request to Snapcast. And it looks like they plan to add support for MPD soon, too. For streams that don't have metadata, there would always need to be some sort of fallback in Iris. |
This is the response to {
"server": {
[removed for brevity]
"streams": [
[removed for brevity]
{
"id": "AirPlay",
"meta": {
"ALBUM": "All That - Single",
"ARTIST": "Emotional Oranges & Channel Tres",
"COVER": "[removed for brevity]",
"STREAM": "AirPlay",
"TITLE": "All That"
},
"status": "playing",
"uri": {
"fragment": "",
"host": "",
"path": "/home/pi/shairplay-sync",
"query": {
"chunk_ms": "20",
"codec": "flac",
"name": "AirPlay",
"sampleformat": "44100:16:2"
},
"raw": "airplay:////home/pi/shairplay-sync?chunk_ms=20&codec=flac&name=AirPlay&sampleformat=44100:16:2",
"scheme": "airplay"
}
}
]
}
} |
Ah, that is interesting. The examples and (at the time) recommended implementation of Mopidy + Snapcast was to use I feel that when Snapcast provides support for MPD, then this would be a lot more straightforward. Have you managed any other simple method of getting audio between docker containers? Check out |
Yeah, until Snapcast provides support for MPD metadata, I don't think it's possible. The existing support for metatags is very specific to AirPlay. This WIP branch is adding support for MPD: https://github.com/badaix/snapcast/compare/metatags#diff-dff401eacf0622e6c71058ab8bc65e87bb19470fe5801fc0a086cdffbfc55f20R39 From what I can tell, it is using the same So perhaps that docker example would need to inform the |
+1 for that, snapcast is getting metadata from shairport sync already. |
@jaedb 3.60 looks and works pretty well so far. I had some issues with snapcast metadata not refreshing for a few minutes, but it started working again afterwards. The only thing missing I could find was the group volume control as shown in the previous comment here. That would be useful to have, especially the mute toggle :) |
@Chaphasilor at the moment the meta data is sent to Snapcast only when the current track changes. So on new connections or streams, you'll need to add a trak and start playing for Snapcast meta to be updated. After that point though, you should be golden. |
Ah okay that makes sense, I was playing around with two instances of Iris so that might have been the cause then :) |
@RoggerFabri can you please convert your request to a new Feature Request with a reference back to this one? I'm closing this issue as the original feature specification has now been released 😁 |
Is your feature request related to a problem? Please describe.
Snapcast integration in Iris is really great, but the source list doesn't convey as much information as it could. It isn't easy to see which rooms are currently synchronized and what they're listening to. (Just the name of the source)
Describe the solution you'd like
This is just an idea of potential UX to start a conversation:
Describe alternatives you've considered
N/A
Additional context
N/A
The text was updated successfully, but these errors were encountered: