Hi development team,
Maybe it’s a weird question, but in the light of integrating services I was wondering if a service could ‘push’ a state as opposed to retrieving it from Volumio?
For example, we have the librespot (and spotify-connect-web) integrations; at this moment it’s impossible to have the UI show that the plugin is actually playing. I mean in the plugin you can have Volumio (or just MPD) stop playback, but the metadata of the playing items can never be propagated to the UI.
Same goes for LMS for that matter, I can image someone wanting to run LMS from their server/PC, because indexing on a stronger machine is way more convenient, but using software like that means you are unable to see what is playing in the UI. Also, next order of business would then be to map the buttons to functionality within the plugin.
Being able to push to Volumio makes Volumio the main point of entry, this makes development for e.g. LastFM or LCD plugins easier, since you only need to subscribe to pushState. Just thinking out loud here, if there’s anything I haven’t thought of that makes this impossible, then please let me know.
Or of course, if this does not fit the vision of the Volumio team. As said, I’m just thinking out loud here, not complaining or forcing anything.
We do need to establish ground rules regarding the pushing of information to Volumio, for example only when Volumio itself is not playing, and maybe more.
The metadata of Spotify-Web-Connect is:
{
"album_name": "Brothers In Arms (Remastered)",
"album_uri": "spotify:album:1NF8WUbdC632SIwixiWrLh",
"artist_name": "Dire Straits",
"artist_uri": "spotify:artist:0WwSkZ7LtFUFjGjMZBMt6T",
"context_uri": "spotify:internal:search:tracklist:bt-4",
"cover_uri": "spotify:image:78ace3900b14d836c3d45603872dd63300cb89f5",
"data0": "",
"duration": 424000,
"track_name": "Brothers In Arms",
"track_uri": "spotify:track:7EmSPZ9f1AiLR9eVHNSI62",
"volume": 59636
}
Logitech Media Server (LMS) supports a little more information (for tracks from the library a little less is available).
WEBRADIO:
{
"method": "slim.request",
"id": 1,
"params": [
"b8:27:eb:20:27:4b",
[
"status",
"-",
"1000",
"tags:adKl"
]
],
"result": {
"playlist shuffle": 0,
"rate": 1,
"playlist_tracks": 1,
"remoteMeta": {
"id": "-124451144",
"title": "Under The Bridge S.S.",
"artist": "Red Hot Chili Peppers",
"duration": "0",
"artwork_url": "http://cdn-albums.tunein.com/gn/Z3NGZG36GRg.jpg"
},
"sync_slaves": "b8:27:eb:72:2d:69",
"sync_master": "b8:27:eb:20:27:4b",
"playlist mode": "off",
"playlist_timestamp": 1506338088.35735,
"power": 1,
"time": 126.52452082634,
"digital_volume_control": 1,
"mixer volume": 35,
"playlist_cur_index": "0",
"playlist repeat": 0,
"playlist_loop": [
{
"title": "Under The Bridge S.S.",
"artist": "Red Hot Chili Peppers",
"duration": "0",
"playlist index": 0,
"artwork_url": "http://cdn-albums.tunein.com/gn/Z3NGZG36GRg.jpg",
"id": "-124451144"
}
],
"signalstrength": 0,
"current_title": "Veronica 90s Hits",
"player_name": "max2play",
"seq_no": 0,
"player_ip": "192.168.178.182:57972",
"remote": 1,
"mode": "play",
"player_connected": 1
}
}
LIBRARY:
{
"result": {
"can_seek": 1,
"mode": "play",
"player_connected": 1,
"player_name": "max2play",
"duration": 420.92,
"player_ip": "192.168.178.182:58524",
"seq_no": 0,
"power": 1,
"time": 16.129,
"digital_volume_control": 1,
"mixer volume": 35,
"playlist_cur_index": "8",
"playlist repeat": 0,
"playlist_loop": [
{
"id": 19,
"album": "Brothers In Arms",
"playlist index": 8,
"duration": 420.92,
"artist": "Dire Straits",
"title": "Brothers In Arms"
}
],
"signalstrength": 0,
"playlist shuffle": 0,
"rate": 1,
"playlist_tracks": 9,
"sync_slaves": "b8:27:eb:72:2d:69",
"sync_master": "b8:27:eb:20:27:4b",
"waitingToPlay": 1,
"playlist mode": "off",
"playlist_timestamp": 1506338864.21653
},
"params": [
"b8:27:eb:20:27:4b",
[
"status",
"-",
"1000",
"tags:adKl"
]
],
"id": 1,
"method": "slim.request"
}